AWSTemplateFormatVersion: '2010-09-09' Transform: AWS::Serverless-2016-10-31 Description: > typescript-test-intro Sample SAM Template for typescript-test-intro. # More info about Globals: https://github.com/awslabs/serverless-application-model/blob/master/docs/globals.rst Globals: Function: Timeout: 3 Tracing: Active Api: TracingEnabled: True Resources: ListBucketsFunction: Type: AWS::Serverless::Function # More info about Function Resource: https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction Properties: CodeUri: list-buckets/ Handler: app.listBucketsLambdaHandler Runtime: nodejs16.x Architectures: - x86_64 Events: ListBuckets: Type: Api # More info about API Event Source: https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#api Properties: Path: /buckets Method: get Policies: - Version: '2012-10-17' Statement: - Effect: Allow Action: - s3:ListAllMyBuckets Resource: 'arn:aws:s3:::*' Metadata: # Manage esbuild properties BuildMethod: esbuild BuildProperties: Minify: true Target: "es2020" Sourcemap: true # Enabling source maps will create the required NODE_OPTIONS environment variables on your lambda function during sam build EntryPoints: - app.ts Outputs: # Find out more about other implicit resources you can reference within SAM # https://github.com/awslabs/serverless-application-model/blob/master/docs/internals/generated_resources.rst#api ApiBaseUrl: Description: "API Gateway endpoint URL for Prod stage" Value: !Sub "https://${ServerlessRestApi}.execute-api.${AWS::Region}.amazonaws.com/Prod" ListBucketsFunction: Description: "List Buckets Lambda Function ARN" Value: !GetAtt ListBucketsFunction.Arn ListBucketsFunctionIamRole: Description: "Implicit IAM Role created for List Buckets function" Value: !GetAtt ListBucketsFunctionRole.Arn