AWSTemplateFormatVersion: '2010-09-09' Transform: AWS::Serverless-2016-10-31 Description: > lambda-pc-test Sample SAM Template for lambda-pc-test # More info about Globals: https://github.com/awslabs/serverless-application-model/blob/master/docs/globals.rst Globals: Function: Timeout: 20 Resources: PCTestFunction: 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: PCTestFunction Handler: pctest.App::handleRequest Runtime: java8 MemorySize: 512 Environment: # More info about Env Vars: https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#environment-object Variables: ENVIRONMENT: test Events: PCTest: 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: /pctest Method: get AutoPublishAlias: live DeploymentPreference: Type: AllAtOnce # Or Canary10Percent5Minutes, Linear10PercentEvery1Minute, ... ProvisionedConcurrencyConfig: ProvisionedConcurrentExecutions: 1 MyScalableTarget: Type: AWS::ApplicationAutoScaling::ScalableTarget Properties: MaxCapacity: 100 MinCapacity: 1 ResourceId: !Sub function:${PCTestFunction}:live # You need to specify an alis or version here RoleARN: !Sub arn:aws:iam::${AWS::AccountId}:role/aws-service-role/lambda.application-autoscaling.amazonaws.com/AWSServiceRoleForApplicationAutoScaling_LambdaConcurrency ScalableDimension: lambda:function:ProvisionedConcurrency ServiceNamespace: lambda DependsOn: PCTestFunctionAliaslive # This is your function logical ID + "Alias" + what you use for AutoPublishAlias MyTargetTrackingScalingPolicy: Type: AWS::ApplicationAutoScaling::ScalingPolicy Properties: PolicyName: utilization PolicyType: TargetTrackingScaling ScalingTargetId: !Ref MyScalableTarget TargetTrackingScalingPolicyConfiguration: TargetValue: 0.70 # Any value between 0.1 and 0.9 can be used here PredefinedMetricSpecification: PredefinedMetricType: LambdaProvisionedConcurrencyUtilization 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 PCTestApi: Description: "API Gateway endpoint URL for Prod stage for Hello World function" Value: !Sub "https://${ServerlessRestApi}.execute-api.${AWS::Region}.amazonaws.com/Prod/hello/" PCTestFunction: Description: "Hello World Lambda Function ARN" Value: !GetAtt PCTestFunction.Arn PCTestFunctionIamRole: Description: "Implicit IAM Role created for Hello World function" Value: !GetAtt PCTestFunction.Arn