From 16bae337448e23484dc10262d9a6be845eb1818a Mon Sep 17 00:00:00 2001 From: Geoff Baskwill Date: Thu, 10 Sep 2020 10:54:13 -0400 Subject: [PATCH] fix: Support `Condition` attribute in `resources.extensions` (#8217) --- docs/providers/aws/guide/resources.md | 1 + lib/plugins/aws/package/lib/mergeCustomProviderResources.js | 1 + .../aws/package/lib/mergeCustomProviderResources.test.js | 3 +++ 3 files changed, 5 insertions(+) diff --git a/docs/providers/aws/guide/resources.md b/docs/providers/aws/guide/resources.md index f82eaafbf78..7bee313ab62 100644 --- a/docs/providers/aws/guide/resources.md +++ b/docs/providers/aws/guide/resources.md @@ -127,6 +127,7 @@ Here's how the extension logic is defined: | Resource attribute | Operation | | --------------------- | -------------------------------------------------------------------------------------------------------------------------- | +| `Condition` | Set to extension value if present. | | `CreationPolicy` | Set to extension value if present. | | `DeletionPolicy` | Set to extension value if present. | | `DependsOn` | Merge. The extension value will be added to the resource's `DependsOn` list. | diff --git a/lib/plugins/aws/package/lib/mergeCustomProviderResources.js b/lib/plugins/aws/package/lib/mergeCustomProviderResources.js index 61d1bc10f52..464b2a21b62 100644 --- a/lib/plugins/aws/package/lib/mergeCustomProviderResources.js +++ b/lib/plugins/aws/package/lib/mergeCustomProviderResources.js @@ -34,6 +34,7 @@ module.exports = { } switch (extensionAttributeName) { + case 'Condition': case 'CreationPolicy': case 'DeletionPolicy': case 'UpdatePolicy': diff --git a/lib/plugins/aws/package/lib/mergeCustomProviderResources.test.js b/lib/plugins/aws/package/lib/mergeCustomProviderResources.test.js index 1ebd3a1a756..61ec69a0498 100644 --- a/lib/plugins/aws/package/lib/mergeCustomProviderResources.test.js +++ b/lib/plugins/aws/package/lib/mergeCustomProviderResources.test.js @@ -217,6 +217,7 @@ describe('mergeCustomProviderResources', () => { it('should overwrite for resources.extensions.*.{CreationPolicy,DeletionPolicy,UpdatePolicy,UpdateReplacePolicy}', () => { awsPackage.serverless.service.provider.compiledCloudFormationTemplate.Resources = { SampleResource: { + Condition: 'Condition', CreationPolicy: { AutoScalingCreationPolicy: { MinSuccessfulInstancesPercent: 10, @@ -242,6 +243,7 @@ describe('mergeCustomProviderResources', () => { awsPackage.serverless.service.resources = { extensions: { SampleResource: { + Condition: 'New', CreationPolicy: { ResourceSignal: { Count: 3, @@ -260,6 +262,7 @@ describe('mergeCustomProviderResources', () => { awsPackage.serverless.service.provider.compiledCloudFormationTemplate.Resources .SampleResource ).to.deep.equal({ + Condition: 'New', CreationPolicy: { ResourceSignal: { Count: 3,