AWS CloudFormation resources generated when AWS::Serverless::Function is specified
When an AWS::Serverless::Function
is specified, AWS Serverless Application Model (AWS SAM) creates the
AWS::Lambda::Function
AWS CloudFormation resource.
AWS::Lambda::Function
-
LogicalId
:<function‑LogicalId>
Referenceable property: N/A (you must use the
LogicalId
to reference this AWS CloudFormation resource)
In addition to this AWS CloudFormation resource, when AWS::Serverless::Function
is
specified, AWS SAM also generates AWS CloudFormation resources for the following scenarios.
Scenarios
AutoPublishAlias property is specified
When the AutoPublishAlias
property of an
AWS::Serverless::Function
is specified, AWS SAM generates the following
AWS CloudFormation resources: AWS::Lambda::Alias
and
AWS::Lambda::Version
.
AWS::Lambda::Alias
-
LogicalId
:<function‑LogicalId>
Alias<alias‑name>
is the string that<alias‑name>
AutoPublishAlias
is set to. For example, if you setAutoPublishAlias
tolive
, theLogicalId
is:MyFunction
Aliaslive
.Referenceable property:
<function‑LogicalId>
.Alias AWS::Lambda::Version
-
LogicalId
:<function‑LogicalId>
Version<sha>
is a unique hash value that is generated when the stack is created. For example,<sha>
MyFunction
Version926eeb5ff1
.Referenceable property:
<function‑LogicalId>
.Version
Role property is not specified
When the Role
property of an AWS::Serverless::Function
is
not specified, AWS SAM generates the AWS::IAM::Role
AWS CloudFormation resource.
AWS::IAM::Role
-
LogicalId
:<function‑LogicalId>
RoleReferenceable property: N/A (you must use the
LogicalId
to reference this AWS CloudFormation resource)
OnSuccess (or OnFailure) property is specified for Amazon SNS events
When the OnSuccess
(or OnFailure
) property of the
DestinationConfig
property of the EventInvokeConfig
property of an AWS::Serverless::Function
is specified, and the destination
type is SNS
but the destination ARN is not specified,
AWS SAM generates the following AWS CloudFormation resources:
AWS::Lambda::EventInvokeConfig
and AWS::SNS::Topic
.
AWS::Lambda::EventInvokeConfig
-
LogicalId
:<function‑LogicalId>
EventInvokeConfigReferenceable property: N/A (you must use the
LogicalId
to reference this AWS CloudFormation resource) AWS::SNS::Topic
-
LogicalId
:
(or<function‑LogicalId>
OnSuccessTopic
)<function‑LogicalId>
OnFailureTopicReferenceable property:
<function‑LogicalId>
.DestinationTopicIf both
OnSuccess
andOnFailure
are specified for an Amazon SNS event, to distinguish between the generated resources, you must use theLogicalId
.
OnSuccess (or OnFailure) property is specified for Amazon SQS events
When the OnSuccess
(or OnFailure
) property of the
DestinationConfig
property of the EventInvokeConfig
property of an AWS::Serverless::Function
is specified, and the destination
type is SQS
but the destination ARN is not specified,
AWS SAM generates the following AWS CloudFormation resources:
AWS::Lambda::EventInvokeConfig
and AWS::SQS::Queue
.
AWS::Lambda::EventInvokeConfig
-
LogicalId
:<function‑LogicalId>
EventInvokeConfigReferenceable property: N/A (you must use the
LogicalId
to reference this AWS CloudFormation resource) AWS::SQS::Queue
-
LogicalId
:
(or<function‑LogicalId>
OnSuccessQueue
)<function‑LogicalId>
OnFailureQueueReferenceable property:
<function‑LogicalId>
.DestinationQueueIf both
OnSuccess
andOnFailure
are specified for an Amazon SQS event, to distinguish between the generated resources, you must use theLogicalId
.