I have the following Cloudformation template I am trying to deploy via SAM. This template correctly creates the DynamoDB table, an API Key, a Lambda function and the API Gateway, but I cannot figure out what I need to specify in the template to associate the API KEY with the API Gateway.
I have found plenty of snippets showing partial examples, but I am struggling to piece it all together.
Thank you in advance,
Denny
AWSTemplateFormatVersion: 2010-09-09 Transform: AWS::Serverless-2016-10-31 Parameters:   TableName:     Type: String     Default: 'influencetabletest'     Description: (Required) The name of the new DynamoDB table Minimum 3   characters     MinLength: 3     MaxLength: 50     AllowedPattern: ^[A-Za-z-]+$     ConstraintDescription: 'Required parameter. Must be characters only. No numbers allowed.'   CorsOrigin:     Type: String     Default: '*'     Description: (Optional) Cross-origin resource sharing (CORS) Origin. You can specify a single origin, all "*" or leave empty and no CORS will be applied.     MaxLength: 250 Conditions:   IsCorsDefined: !Not [!Equals [!Ref CorsOrigin, '']] Resources:   ApiKey:     Type: AWS::ApiGateway::ApiKey     DependsOn:       - ApiGetter     Properties:       Name: "TestApiKey"       Description: "CloudFormation API Key V1"       Enabled: "true"   ApiGetter:     Type: AWS::Serverless::Api     Properties:       StageName: prd       DefinitionBody:         swagger: 2.0         info:           title:             Ref: AWS::StackName         paths:           /getdynamicprice:             post:               responses: {}               x-amazon-apigateway-integration:                 httpMethod: POST                 type: aws_proxy                 uri:                   Fn::Sub: arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/${LambdaGetter.Arn}/invocations   LambdaGetter:     Type: AWS::Serverless::Function     Properties:       CodeUri: ./index.js       Handler: index.handler       Runtime: nodejs8.10       Environment:         Variables:           TABLE_NAME: !Ref TableName           IS_CORS: IsCorsDefined           CORS_ORIGIN: !Ref CorsOrigin           PRIMARY_KEY: !Sub ${TableName}Id       Policies:         - DynamoDBCrudPolicy:             TableName: !Ref TableName       Events:         Api:           Type: Api           Properties:             Path: /getdynamicprice             Method: POST             RestApiId: !Ref ApiGetter   DynamoDBTable:     Type: AWS::DynamoDB::Table     Properties:       TableName: !Ref TableName       AttributeDefinitions:         -           AttributeName: !Sub "${TableName}Id"           AttributeType: "S"       KeySchema:         -           AttributeName: !Sub "${TableName}Id"           KeyType: "HASH"       ProvisionedThroughput:         ReadCapacityUnits: 1         WriteCapacityUnits: 1       StreamSpecification:         StreamViewType: NEW_AND_OLD_IMAGES Outputs:   ApiKeyID:     Value: !Ref ApiKey   ApiUrl:     Value: !Sub https://${ApiGetter}.execute-api.${AWS::Region}.amazonaws.com/prod/getdynamicprice     Description: The URL of the API Gateway you invoke to get your dynamic pricing result.   DynamoDBTableArn:     Value: !GetAtt DynamoDBTable.Arn     Description: The ARN of your DynamoDB Table   DynamoDBTableStreamArn:     Value: !GetAtt DynamoDBTable.StreamArn     Description: The ARN of your DynamoDB Table Stream