diff --git a/examples/2016-10-31/lambda_edge/README.md b/examples/2016-10-31/lambda_edge/README.md index b0f9521932..5938416dbd 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 25cd68aa0d..6cd9f02247 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 92f1d07c7e..62d8b9b46a 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 c0d4e44c1c..d3d5f47d25 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 6fc0718462..830ecaa182 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 6815a90e2d..3b6868a1ed 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 2f3de9f66b..e428000afa 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" }