AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
Description: >
    demo

    Sample SAM Template for demo

# More info about Globals: https://github.com/awslabs/serverless-application-model/blob/master/docs/globals.rst
Globals:
    Function:
        Timeout: 3

Resources:
    SecurityHubEvidenceCollector:
        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: src/
            Handler: App.lambdaHandler
            Runtime: nodejs12.x
            Events:
                HelloWorldGet:
                    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: /hello
                        Method: get
                HelloWorldPost:
                    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: /hello
                        Method: post

Outputs:
    # ServerlessRestApi is an implicit API created out of Events key under Serverless::Function
    # 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
    SecurityHubEvidenceCollectorApi:
        Description: 'API Gateway endpoint URL for Prod stage for Hello World function'
        Value: !Sub 'https://${ServerlessRestApi}.execute-api.${AWS::Region}.amazonaws.com/Prod/hello/'
    SecurityHubEvidenceCollector:
        Description: 'Hello World Lambda Function ARN'
        Value: !GetAtt HelloWorldFunction.Arn
    SecurityHubEvidenceCollectorIamRole:
        Description: 'Implicit IAM Role created for Hello World function'
        Value: !GetAtt HelloWorldFunctionRole.Arn