diff --git a/examples/2016-10-31/lambda_edge/README.md b/examples/2016-10-31/lambda_edge/README.md index b0f952193..5938416db 100644 --- a/examples/2016-10-31/lambda_edge/README.md +++ b/examples/2016-10-31/lambda_edge/README.md @@ -30,8 +30,10 @@ LambdaEdgeFunctionSample: Timeout: 5 # More info at https://github.com/awslabs/serverless-application-model/blob/master/docs/safe_lambda_deployments.rst AutoPublishAlias: live - ProvisionedConcurrencyConfig: - ProvisionedConcurrentExecutions: !If [AliasProvisionedConcurrencyEnabled, !Ref ProvisionedConcurrency, !Ref 'AWS::NoValue'] + ProvisionedConcurrencyConfig: !If + - AliasProvisionedConcurrencyEnabled + - ProvisionedConcurrentExecutions: !Ref ProvisionedConcurrency + - !Ref 'AWS::NoValue' ``` We must also create a custom IAM Role which allows `lambda.amazonaws.com` and `edgelambda.amazonaws.com` services to assume the role and execute the function. diff --git a/examples/2016-10-31/lambda_edge/template.yaml b/examples/2016-10-31/lambda_edge/template.yaml index 25cd68aa0..6cd9f0224 100644 --- a/examples/2016-10-31/lambda_edge/template.yaml +++ b/examples/2016-10-31/lambda_edge/template.yaml @@ -12,12 +12,15 @@ Parameters: - true - false Default: true - +Conditions: + AliasProvisionedConcurrencyEnabled: !Equals [!Ref EnableAliasProvisionedConcurrency, true] Globals: Function: - ProvisionedConcurrencyConfig: - ProvisionedConcurrentExecutions: !If [AliasProvisionedConcurrencyEnabled, !Ref ProvisionedConcurrency, !Ref 'AWS::NoValue'] + ProvisionedConcurrencyConfig: !If + - AliasProvisionedConcurrencyEnabled + - ProvisionedConcurrentExecutions: !Ref ProvisionedConcurrency + - !Ref 'AWS::NoValue' Resources: diff --git a/tests/translator/input/error_function_with_no_alias_provisioned_concurrency.yaml b/tests/translator/input/error_function_with_no_alias_provisioned_concurrency.yaml index 92f1d07c7..62d8b9b46 100644 --- a/tests/translator/input/error_function_with_no_alias_provisioned_concurrency.yaml +++ b/tests/translator/input/error_function_with_no_alias_provisioned_concurrency.yaml @@ -21,5 +21,7 @@ Resources: Runtime: python2.7 DeploymentPreference: Type: Linear10PercentEvery3Minutes - ProvisionedConcurrencyConfig: - ProvisionedConcurrentExecutions: !If [AliasProvisionedConcurrencyEnabled, ProvisionedConcurrentExecutions: !Ref ProvisionedConcurrency, !Ref 'AWS::NoValue'] + ProvisionedConcurrencyConfig: !If + - AliasProvisionedConcurrencyEnabled + - ProvisionedConcurrentExecutions: !Ref ProvisionedConcurrency + - !Ref 'AWS::NoValue' diff --git a/tests/translator/input/function_with_deployment_preference.yaml b/tests/translator/input/function_with_deployment_preference.yaml index c0d4e44c1..d3d5f47d2 100644 --- a/tests/translator/input/function_with_deployment_preference.yaml +++ b/tests/translator/input/function_with_deployment_preference.yaml @@ -22,5 +22,7 @@ Resources: AutoPublishAlias: live DeploymentPreference: Type: Linear10PercentEvery3Minutes - ProvisionedConcurrencyConfig: - ProvisionedConcurrentExecutions: !If [AliasProvisionedConcurrencyEnabled, !Ref ProvisionedConcurrency, !Ref 'AWS::NoValue'] + ProvisionedConcurrencyConfig: !If + - AliasProvisionedConcurrencyEnabled + - ProvisionedConcurrentExecutions: !Ref ProvisionedConcurrency + - !Ref 'AWS::NoValue' diff --git a/tests/translator/output/aws-cn/function_with_deployment_preference.json b/tests/translator/output/aws-cn/function_with_deployment_preference.json index 6fc071846..830ecaa18 100644 --- a/tests/translator/output/aws-cn/function_with_deployment_preference.json +++ b/tests/translator/output/aws-cn/function_with_deployment_preference.json @@ -174,18 +174,18 @@ ] }, "ProvisionedConcurrencyConfig": { - "ProvisionedConcurrentExecutions": { - "Fn::If": [ - "AliasProvisionedConcurrencyEnabled", - { + "Fn::If": [ + "AliasProvisionedConcurrencyEnabled", + { + "ProvisionedConcurrentExecutions": { "Ref": "ProvisionedConcurrency" - }, - { - "Ref": "AWS::NoValue" } - ] - } - }, + }, + { + "Ref": "AWS::NoValue" + } + ] + }, "FunctionName": { "Ref": "MinimalFunction" } diff --git a/tests/translator/output/aws-us-gov/function_with_deployment_preference.json b/tests/translator/output/aws-us-gov/function_with_deployment_preference.json index 6815a90e2..3b6868a1e 100644 --- a/tests/translator/output/aws-us-gov/function_with_deployment_preference.json +++ b/tests/translator/output/aws-us-gov/function_with_deployment_preference.json @@ -174,18 +174,18 @@ ] }, "ProvisionedConcurrencyConfig": { - "ProvisionedConcurrentExecutions": { - "Fn::If": [ - "AliasProvisionedConcurrencyEnabled", - { + "Fn::If": [ + "AliasProvisionedConcurrencyEnabled", + { + "ProvisionedConcurrentExecutions": { "Ref": "ProvisionedConcurrency" - }, - { - "Ref": "AWS::NoValue" } - ] - } - }, + }, + { + "Ref": "AWS::NoValue" + } + ] + }, "FunctionName": { "Ref": "MinimalFunction" } diff --git a/tests/translator/output/function_with_deployment_preference.json b/tests/translator/output/function_with_deployment_preference.json index 2f3de9f66..e428000af 100644 --- a/tests/translator/output/function_with_deployment_preference.json +++ b/tests/translator/output/function_with_deployment_preference.json @@ -174,18 +174,18 @@ ] }, "ProvisionedConcurrencyConfig": { - "ProvisionedConcurrentExecutions": { - "Fn::If": [ - "AliasProvisionedConcurrencyEnabled", - { + "Fn::If": [ + "AliasProvisionedConcurrencyEnabled", + { + "ProvisionedConcurrentExecutions": { "Ref": "ProvisionedConcurrency" - }, - { - "Ref": "AWS::NoValue" } - ] - } - }, + }, + { + "Ref": "AWS::NoValue" + } + ] + }, "FunctionName": { "Ref": "MinimalFunction" }