Define application resources in your AWS SAM template - AWS Serverless Application Model

Define application resources in your AWS SAM template

You define the AWS resources your serverless application uses in the Resources section of your AWS SAM template. When you define a resource, you identify what the resource is, how it interacts with other resources, and how it can be accessed (that is, the permissions of the resource).

The Resources section of your AWS SAM template can contain a combination of AWS CloudFormation resources and AWS SAM resources. Additionally, you can use AWS SAM's short-hand syntax for the following resources:

AWS SAM short-hand syntax

What it does with a related AWS resource

AWS::Serverless::Api

Creates a collection of API Gateway resources and methods that can be invoked through HTTPS endpoints.

AWS::Serverless::Application

Embeds a serverless application from the AWS Serverless Application Repository or from an Amazon S3 bucket as a nested application.

AWS::Serverless::Connector

Configures permissions between two resources. For an introduction to connectors, see Managing resource permissions with AWS SAM connectors.

AWS::Serverless::Function

Creates an AWS Lambda function, an AWS Identity and Access Management (IAM) execution role, and event source mappings that trigger the function.

AWS::Serverless::GraphQLApi

creates and configures an AWS AppSync GraphQL API for your serverless application.

AWS::Serverless::HttpApi

Creates an Amazon API Gateway HTTP API, which enables you to create RESTful APIs with lower latency and lower costs than REST APIs.

AWS::Serverless::LayerVersion

Creates a Lambda LayerVersion that contains library or runtime code needed by a Lambda Function.

AWS::Serverless::SimpleTable

Creates a DynamoDB table with a single attribute primary key.

AWS::Serverless::StateMachine

Creates an AWS Step Functions state machine, which you can use to orchestrate AWS Lambda functions and other AWS resources to form complex and robust workflows.

The above resources are also listed in AWS SAM resources and properties.

For reference information for all the AWS resource and property types AWS CloudFormation and AWS SAM support, see AWS resource and property types reference in the AWS CloudFormation User Guide.