From 6a86ed77f8f9702f033b043f47d781d60ab76d4e Mon Sep 17 00:00:00 2001 From: ALOHACREPES345 <51868219+ALOHACREPES345@users.noreply.github.com> Date: Mon, 21 Mar 2022 18:40:48 +0900 Subject: [PATCH] =?UTF-8?q?feat(AWS=20Lambda):=20Recognize=C2=A0`Fn::If`?= =?UTF-8?q?=20for=C2=A0properties=20of=20`vpc`=20(#10877)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/plugins/aws/provider.js | 14 ++++++++++++-- .../plugins/aws/package/compile/functions.test.js | 4 ++-- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/lib/plugins/aws/provider.js b/lib/plugins/aws/provider.js index 29803283d..bd1a5b329 100644 --- a/lib/plugins/aws/provider.js +++ b/lib/plugins/aws/provider.js @@ -578,7 +578,12 @@ class AwsProvider { anyOf: [ { type: 'array', - items: { $ref: '#/definitions/awsCfInstruction' }, + items: { + anyOf: [ + { $ref: '#/definitions/awsCfInstruction' }, + { $ref: '#/definitions/awsCfIf' }, + ], + }, maxItems: 5, }, { $ref: '#/definitions/awsCfSplit' }, @@ -589,7 +594,12 @@ class AwsProvider { anyOf: [ { type: 'array', - items: { $ref: '#/definitions/awsCfInstruction' }, + items: { + anyOf: [ + { $ref: '#/definitions/awsCfInstruction' }, + { $ref: '#/definitions/awsCfIf' }, + ], + }, maxItems: 16, }, { $ref: '#/definitions/awsCfSplit' }, diff --git a/test/unit/lib/plugins/aws/package/compile/functions.test.js b/test/unit/lib/plugins/aws/package/compile/functions.test.js index 1377df9c6..f2065bba7 100644 --- a/test/unit/lib/plugins/aws/package/compile/functions.test.js +++ b/test/unit/lib/plugins/aws/package/compile/functions.test.js @@ -1126,8 +1126,8 @@ describe('lib/plugins/aws/package/compile/functions/index.test.js', () => { fnImage: { image: imageWithSha }, foo: { vpc: { - subnetIds: ['subnet-02020202'], - securityGroupIds: ['sg-1b1b1b1b'], + subnetIds: ['subnet-02020202', { 'Fn::If': ['cond', 'first', 'second'] }], + securityGroupIds: ['sg-1b1b1b1b', { 'Fn::If': ['cond', 'first', 'second'] }], }, kmsKeyArn: 'arn:aws:kms:region:accountid:fun/ction', tracing: 'PassThrough',