AWSTemplateFormatVersion: '2010-09-09' Transform: 'AWS::Serverless-2016-10-31' Description: >- Greeting Amazon API Gateway. Parameters: LambdaAlias: Type: String Default: prod Resources: GreetingFunction: Type: 'AWS::Serverless::Function' Properties: Handler: greeting_handler.name_handler Runtime: python3.7 CodeUri: ./microservices-greeting/ MemorySize: 256 Timeout: 20 Tracing: Active AutoPublishAlias: !Ref LambdaAlias Policies: - AWSLambdaBasicExecutionRole - AWSXrayWriteOnlyAccess - Version: "2012-10-17" Statement: - Effect: "Allow" Action: - "ssm:PutParameter" Resource: !Sub "arn:aws:ssm:${AWS::Region}:${AWS::AccountId}:parameter/GreetingApiEndpoint" Events: greet: Type: Api Properties: Path: /resources/greeting Method: GET RestApiId: !Ref GreetingApi GreetingApi: Type: AWS::Serverless::Api Properties: StageName: prod DefinitionBody: swagger: "2.0" paths: "/resources/greeting": get: responses: "200": content: text/plain: scheme: type: string x-amazon-apigateway-integration: httpMethod: POST type: aws_proxy uri: !Sub "arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/${GreetingFunction.Arn}:${LambdaAlias}/invocations" Parameter: Type: "AWS::SSM::Parameter" Properties: Name: GreetingApiEndpoint Description: Greeting API Endpoint Type: String Value: !Sub '${GreetingApi}.execute-api.${AWS::Region}.amazonaws.com' Outputs: greetingApiEndpoint: Description: Greeting API URL for application Value: !Sub 'https://${GreetingApi}.execute-api.${AWS::Region}.amazonaws.com/${LambdaAlias}/resources/greeting'