From 7070b4b4c4476abedf8e292ef8c7ee979d1a84e2 Mon Sep 17 00:00:00 2001 From: Josh Usiskin <56369778+jusiskin@users.noreply.github.com> Date: Wed, 14 Apr 2021 11:52:21 -0500 Subject: [PATCH 1/7] test(integ): add test for RCS process owner (#389) --- .../bastion/testing/RQ-query-rcs-user.sh | 20 ++++++++++++++ .../test/deadline_02_renderQueue.test.ts | 27 +++++++++++++++++++ 2 files changed, 47 insertions(+) create mode 100644 integ/components/deadline/deadline_02_renderQueue/scripts/bastion/testing/RQ-query-rcs-user.sh diff --git a/integ/components/deadline/deadline_02_renderQueue/scripts/bastion/testing/RQ-query-rcs-user.sh b/integ/components/deadline/deadline_02_renderQueue/scripts/bastion/testing/RQ-query-rcs-user.sh new file mode 100644 index 000000000..15f86eae9 --- /dev/null +++ b/integ/components/deadline/deadline_02_renderQueue/scripts/bastion/testing/RQ-query-rcs-user.sh @@ -0,0 +1,20 @@ +#!/bin/bash +# +# Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. +# SPDX-License-Identifier: Apache-2.0 +# +# Script to return the username for the process running the RCS as reported by Deadline +# +# Input: +# None +# Output: +# Non-zero return code on failure. +# Outputs the username of the process that the Deadline RCS is running as + + +set -euo pipefail + +DEADLINE="/opt/Thinkbox/Deadline10/bin" + +# Fetch repository.ini from the Deadline repo +$DEADLINE/deadlinecommand -json GetProxyServerInfos | jq -e -r '.result[]|select(.Stat == 1 and .Type == "Remote")|.User' diff --git a/integ/components/deadline/deadline_02_renderQueue/test/deadline_02_renderQueue.test.ts b/integ/components/deadline/deadline_02_renderQueue/test/deadline_02_renderQueue.test.ts index 69e924ea3..d1558b2e1 100644 --- a/integ/components/deadline/deadline_02_renderQueue/test/deadline_02_renderQueue.test.ts +++ b/integ/components/deadline/deadline_02_renderQueue/test/deadline_02_renderQueue.test.ts @@ -230,5 +230,32 @@ describe.each(testCases)('Deadline RenderQueue tests (%s)', (_, id) => { expect(responseCode).toEqual(0); }); }); + + test(`RQ-${id}-5: RCS not running as root`, async () => { + /********************************************************************************************************** + * TestID: RQ-5 + * Description: Confirm that RCS process is not running as the root user + * Input: The user owning the RCS process as reported by deadlinecommand + * Expected result: Response code 0, i.e. the script execution was successful and Deadline accepted the job + **********************************************************************************************************/ + var params = { + DocumentName: 'AWS-RunShellScript', + Comment: 'Execute Test Script RQ-query-rcs-user.sh', + InstanceIds: [bastionId], + Parameters: { + commands: [ + 'sudo -i', + 'su - ec2-user >/dev/null', + 'cd ~ec2-user', + './testScripts/RQ-query-rcs-user.sh', + ], + }, + }; + return awaitSsmCommand(bastionId, params).then( response => { + const user = response.output; + expect(user).not.toHaveLength(0); + expect(user).not.toEqual('root'); + }); + }); }); }); From cf44a1364e8c732700b4d24e322b34a3c6444b7c Mon Sep 17 00:00:00 2001 From: David Horsman <56004724+horsmand@users.noreply.github.com> Date: Mon, 19 Apr 2021 13:05:22 -0500 Subject: [PATCH 2/7] feat(deadline): add security group property to ubl (#396) Fixes #396 --- .../aws-rfdk/lib/deadline/lib/render-queue.ts | 2 ++ .../lib/deadline/lib/usage-based-licensing.ts | 11 +++++++++++ .../test/usage-based-licensing.test.ts | 19 +++++++++++++++++++ 3 files changed, 32 insertions(+) diff --git a/packages/aws-rfdk/lib/deadline/lib/render-queue.ts b/packages/aws-rfdk/lib/deadline/lib/render-queue.ts index cd925618f..b1ff28960 100644 --- a/packages/aws-rfdk/lib/deadline/lib/render-queue.ts +++ b/packages/aws-rfdk/lib/deadline/lib/render-queue.ts @@ -329,6 +329,8 @@ export class RenderQueue extends RenderQueueBase implements IGrantable { }], updateType: undefined, // Workaround -- See: https://github.com/aws/aws-cdk/issues/11581 updatePolicy: UpdatePolicy.rollingUpdate(), + // addCapacity doesn't specifically take a securityGroup, but it passes on its properties to the ASG it creates, + // so this security group will get applied there // @ts-ignore securityGroup: props.securityGroups?.backend, }); diff --git a/packages/aws-rfdk/lib/deadline/lib/usage-based-licensing.ts b/packages/aws-rfdk/lib/deadline/lib/usage-based-licensing.ts index 6a0a509e9..ab81ebb56 100644 --- a/packages/aws-rfdk/lib/deadline/lib/usage-based-licensing.ts +++ b/packages/aws-rfdk/lib/deadline/lib/usage-based-licensing.ts @@ -12,6 +12,7 @@ import { InstanceClass, InstanceSize, InstanceType, + ISecurityGroup, IVpc, Port, SubnetSelection, @@ -418,6 +419,12 @@ export interface UsageBasedLicensingProps { * @default - LogGroup will be created with all properties' default values to the LogGroup: /renderfarm/ */ readonly logGroupProps?: LogGroupFactoryProps; + + /** + * The security group to use for the License Forwarder + * @default - A new security group will be created + */ + readonly securityGroup?: ISecurityGroup; } /** @@ -511,6 +518,10 @@ export class UsageBasedLicensing extends Construct implements IGrantable { deviceName: '/dev/xvda', volume: BlockDeviceVolume.ebs( 30, {encrypted: true}), }], + // addCapacity doesn't specifically take a securityGroup, but it passes on its properties to the ASG it creates, + // so this security group will get applied there + // @ts-ignore + securityGroup: props.securityGroup, }); const taskDefinition = new TaskDefinition(this, 'TaskDefinition', { diff --git a/packages/aws-rfdk/lib/deadline/test/usage-based-licensing.test.ts b/packages/aws-rfdk/lib/deadline/test/usage-based-licensing.test.ts index 46ee001dd..5f5692b8e 100644 --- a/packages/aws-rfdk/lib/deadline/test/usage-based-licensing.test.ts +++ b/packages/aws-rfdk/lib/deadline/test/usage-based-licensing.test.ts @@ -192,6 +192,25 @@ describe('UsageBasedLicensing', () => { ), })); }); + + test('uses the supplied security group', () => { + const securityGroup = new SecurityGroup(stack, 'UblSecurityGroup', { + vpc, + }); + // WHEN + new UsageBasedLicensing(stack, 'UBL', { + certificateSecret, + images, + licenses, + renderQueue, + vpc, + securityGroup, + }); + // THEN + expectCDK(stack).to(haveResourceLike('AWS::AutoScaling::LaunchConfiguration', { + SecurityGroups: arrayWith(stack.resolve(securityGroup.securityGroupId)), + })); + }); }); describe('creates an ECS service', () => { From c55c078f02b4b43c115abc09b77b8cd469ac9ccd Mon Sep 17 00:00:00 2001 From: Jericho Tolentino <68654047+jericht@users.noreply.github.com> Date: Mon, 19 Apr 2021 14:13:01 -0500 Subject: [PATCH 3/7] feat(deadline): add ability to import repository settings (#395) --- .../aws-rfdk/lib/deadline/lib/repository.ts | 36 +++++++++++++++---- .../scripts/bash/installDeadlineRepository.sh | 15 +++++++- .../lib/deadline/test/repository.test.ts | 19 ++++++++++ 3 files changed, 63 insertions(+), 7 deletions(-) diff --git a/packages/aws-rfdk/lib/deadline/lib/repository.ts b/packages/aws-rfdk/lib/deadline/lib/repository.ts index f6acdd732..2ddc7d1c6 100644 --- a/packages/aws-rfdk/lib/deadline/lib/repository.ts +++ b/packages/aws-rfdk/lib/deadline/lib/repository.ts @@ -42,6 +42,9 @@ import { import { PolicyStatement, } from '@aws-cdk/aws-iam'; +import { + Asset, +} from '@aws-cdk/aws-s3-assets'; import { Annotations, Construct, @@ -376,6 +379,14 @@ export interface RepositoryProps { * Options to add additional security groups to the Repository. */ readonly securityGroupsOptions?: RepositorySecurityGroupsOptions; + + /** + * The Deadline Repository settings file to import. + * @see https://docs.thinkboxsoftware.com/products/deadline/10.1/1_User%20Manual/manual/repository-settings-importer-exporter.html + * + * @default Repository settings are not imported. + */ + readonly repositorySettings?: Asset; } /** @@ -657,6 +668,7 @@ export class Repository extends Construct implements IRepository { this.installerGroup, repositoryInstallationPath, props.version, + props.repositorySettings, ); this.configureSelfTermination(); @@ -887,7 +899,9 @@ export class Repository extends Construct implements IRepository { private configureRepositoryInstallerScript( installerGroup: AutoScalingGroup, installPath: string, - version: IVersion) { + version: IVersion, + settings?: Asset, + ) { const installerScriptAsset = ScriptAsset.fromPathConvention(this, 'DeadlineRepositoryInstallerScript', { osType: installerGroup.osType, baseName: 'installDeadlineRepository', @@ -902,13 +916,23 @@ export class Repository extends Construct implements IRepository { version.linuxInstallers.repository.s3Bucket.grantRead(installerGroup, version.linuxInstallers.repository.objectKey); + const installerArgs = [ + `"s3://${version.linuxInstallers.repository.s3Bucket.bucketName}/${version.linuxInstallers.repository.objectKey}"`, + `"${installPath}"`, + version.linuxFullVersionString(), + ]; + + if (settings) { + const repositorySettingsFilePath = installerGroup.userData.addS3DownloadCommand({ + bucket: settings.bucket, + bucketKey: settings.s3ObjectKey, + }); + installerArgs.push(repositorySettingsFilePath); + } + installerScriptAsset.executeOn({ host: installerGroup, - args: [ - `"s3://${version.linuxInstallers.repository.s3Bucket.bucketName}/${version.linuxInstallers.repository.objectKey}"`, - `"${installPath}"`, - version.linuxFullVersionString(), - ], + args: installerArgs, }); } } diff --git a/packages/aws-rfdk/lib/deadline/scripts/bash/installDeadlineRepository.sh b/packages/aws-rfdk/lib/deadline/scripts/bash/installDeadlineRepository.sh index fdff63d11..e6d0491fa 100644 --- a/packages/aws-rfdk/lib/deadline/scripts/bash/installDeadlineRepository.sh +++ b/packages/aws-rfdk/lib/deadline/scripts/bash/installDeadlineRepository.sh @@ -8,6 +8,7 @@ # $1: s3 path for the deadline repository installer. # $2: Path where deadline repository needs to be installed. # $3: Deadline Repository Version being installed. +# $4: (Optional) Deadline Repository settings file to import. # exit when any command fails set -xeuo pipefail @@ -15,6 +16,7 @@ set -xeuo pipefail S3PATH=$1 PREFIX=$2 DEADLINE_REPOSITORY_VERSION=$3 +DEADLINE_REPOSITORY_SETTINGS_FILE=${4:-} shift;shift; # check if repository is already installed at the given path @@ -69,7 +71,18 @@ set +x INSTALLER_DB_ARGS_STRING='' for key in "${!INSTALLER_DB_ARGS[@]}"; do INSTALLER_DB_ARGS_STRING=$INSTALLER_DB_ARGS_STRING"${key} ${INSTALLER_DB_ARGS[$key]} "; done -$REPO_INSTALLER --mode unattended --setpermissions false --prefix "$PREFIX" --installmongodb false --backuprepo false ${INSTALLER_DB_ARGS_STRING} + +REPOSITORY_SETTINGS_ARG_STRING='' +if [ ! -z "$DEADLINE_REPOSITORY_SETTINGS_FILE" ]; then + if [ ! -f "$DEADLINE_REPOSITORY_SETTINGS_FILE" ]; then + echo "ERROR: Repository settings file was specified but is not a file: $DEADLINE_REPOSITORY_SETTINGS_FILE." + exit 1 + else + REPOSITORY_SETTINGS_ARG_STRING="--importrepositorysettings true --repositorysettingsimportoperation append --repositorysettingsimportfile \"$DEADLINE_REPOSITORY_SETTINGS_FILE\"" + fi +fi + +$REPO_INSTALLER --mode unattended --setpermissions false --prefix "$PREFIX" --installmongodb false --backuprepo false ${INSTALLER_DB_ARGS_STRING} $REPOSITORY_SETTINGS_ARG_STRING set -x diff --git a/packages/aws-rfdk/lib/deadline/test/repository.test.ts b/packages/aws-rfdk/lib/deadline/test/repository.test.ts index 1300a60da..4114e7218 100644 --- a/packages/aws-rfdk/lib/deadline/test/repository.test.ts +++ b/packages/aws-rfdk/lib/deadline/test/repository.test.ts @@ -35,6 +35,7 @@ import { FileSystem as EfsFileSystem, } from '@aws-cdk/aws-efs'; import { Bucket } from '@aws-cdk/aws-s3'; +import { Asset } from '@aws-cdk/aws-s3-assets'; import { App, CfnElement, @@ -1205,3 +1206,21 @@ test('throws an error if supplied a MountableEfs with no Access Point', () => { // THEN expect(when).toThrow('When using EFS with the Repository, you must provide an EFS Access Point'); }); + +test('imports repository settings', () => { + // GIVEN + const repositorySettings = new Asset(stack, 'RepositorySettingsAsset', { + path: __filename, + }); + + // WHEN + const repository = new Repository(stack, 'Repository', { + vpc, + version, + repositorySettings, + }); + + // THEN + const installerGroup = repository.node.tryFindChild('Installer') as AutoScalingGroup; + expect(installerGroup.userData.render()).toContain(`aws s3 cp '${repositorySettings.s3ObjectUrl}'`); +}); From c76e4ee3f1248e766eebeb90215f787d9175f1dd Mon Sep 17 00:00:00 2001 From: Jericho Tolentino <68654047+jericht@users.noreply.github.com> Date: Mon, 19 Apr 2021 17:02:32 -0500 Subject: [PATCH 4/7] chore(deps): bumping cdk from 1.96.0 to 1.99.0 (#398) --- .../python/setup.py | 2 +- .../ts/package.json | 8 +- .../python/setup.py | 2 +- .../ts/package.json | 8 +- .../EC2-Image-Builder/python/setup.py | 10 +- .../EC2-Image-Builder/ts/package.json | 16 +- integ/package.json | 70 +- package.json | 141 +- packages/aws-rfdk/package.json | 256 ++- tools/cdk-build-tools/package.json | 22 +- tools/pkglint/package.json | 4 +- yarn.lock | 1646 +++++++++-------- 12 files changed, 1095 insertions(+), 1090 deletions(-) diff --git a/examples/deadline/All-In-AWS-Infrastructure-Basic/python/setup.py b/examples/deadline/All-In-AWS-Infrastructure-Basic/python/setup.py index 8d79848ef..d99003ff1 100644 --- a/examples/deadline/All-In-AWS-Infrastructure-Basic/python/setup.py +++ b/examples/deadline/All-In-AWS-Infrastructure-Basic/python/setup.py @@ -17,7 +17,7 @@ packages=setuptools.find_packages(where="package"), install_requires=[ - "aws-cdk.core==1.96.0", + "aws-cdk.core==1.99.0", "aws-rfdk==0.29.0" ], diff --git a/examples/deadline/All-In-AWS-Infrastructure-Basic/ts/package.json b/examples/deadline/All-In-AWS-Infrastructure-Basic/ts/package.json index af1eed8af..8e40c37d5 100644 --- a/examples/deadline/All-In-AWS-Infrastructure-Basic/ts/package.json +++ b/examples/deadline/All-In-AWS-Infrastructure-Basic/ts/package.json @@ -13,13 +13,13 @@ "watch": "tsc -w" }, "devDependencies": { - "@types/node": "^14.14.35", - "aws-cdk": "1.96.0", + "@types/node": "^14.14.41", + "aws-cdk": "1.99.0", "ts-node": "^9.1.1", - "typescript": "~4.2.3" + "typescript": "~4.2.4" }, "dependencies": { - "@aws-cdk/core": "1.96.0", + "@aws-cdk/core": "1.99.0", "aws-rfdk": "0.29.0", "source-map-support": "^0.5.19" } diff --git a/examples/deadline/All-In-AWS-Infrastructure-SEP/python/setup.py b/examples/deadline/All-In-AWS-Infrastructure-SEP/python/setup.py index ee2bff0d2..e2c70ed9d 100644 --- a/examples/deadline/All-In-AWS-Infrastructure-SEP/python/setup.py +++ b/examples/deadline/All-In-AWS-Infrastructure-SEP/python/setup.py @@ -17,7 +17,7 @@ packages=setuptools.find_packages(where="package"), install_requires=[ - "aws-cdk.core==1.96.0", + "aws-cdk.core==1.99.0", "aws-rfdk==0.29.0" ], diff --git a/examples/deadline/All-In-AWS-Infrastructure-SEP/ts/package.json b/examples/deadline/All-In-AWS-Infrastructure-SEP/ts/package.json index deda05264..8c29af76f 100644 --- a/examples/deadline/All-In-AWS-Infrastructure-SEP/ts/package.json +++ b/examples/deadline/All-In-AWS-Infrastructure-SEP/ts/package.json @@ -18,13 +18,13 @@ "watch": "tsc -w" }, "devDependencies": { - "@types/node": "^14.14.35", - "aws-cdk": "1.96.0", + "@types/node": "^14.14.41", + "aws-cdk": "1.99.0", "ts-node": "^9.1.1", - "typescript": "~4.2.3" + "typescript": "~4.2.4" }, "dependencies": { - "@aws-cdk/core": "1.96.0", + "@aws-cdk/core": "1.99.0", "aws-rfdk": "0.29.0", "source-map-support": "^0.5.19" } diff --git a/examples/deadline/EC2-Image-Builder/python/setup.py b/examples/deadline/EC2-Image-Builder/python/setup.py index ad4d43980..79c5f4b06 100644 --- a/examples/deadline/EC2-Image-Builder/python/setup.py +++ b/examples/deadline/EC2-Image-Builder/python/setup.py @@ -17,11 +17,11 @@ packages=setuptools.find_packages(where="package"), install_requires=[ - "aws-cdk.aws-iam==1.96.0", - "aws-cdk.aws-imagebuilder==1.96.0", - "aws-cdk.aws-ec2==1.96.0", - "aws-cdk.aws-s3-assets==1.96.0", - "aws-cdk.core==1.96.0", + "aws-cdk.aws-iam==1.99.0", + "aws-cdk.aws-imagebuilder==1.99.0", + "aws-cdk.aws-ec2==1.99.0", + "aws-cdk.aws-s3-assets==1.99.0", + "aws-cdk.core==1.99.0", "aws-rfdk==0.29.0", ], diff --git a/examples/deadline/EC2-Image-Builder/ts/package.json b/examples/deadline/EC2-Image-Builder/ts/package.json index e964018cd..a2bbdaf2b 100644 --- a/examples/deadline/EC2-Image-Builder/ts/package.json +++ b/examples/deadline/EC2-Image-Builder/ts/package.json @@ -14,17 +14,17 @@ "watch": "tsc -w" }, "devDependencies": { - "@types/node": "^14.14.35", - "aws-cdk": "1.96.0", + "@types/node": "^14.14.41", + "aws-cdk": "1.99.0", "ts-node": "^9.1.1", - "typescript": "~4.2.3" + "typescript": "~4.2.4" }, "dependencies": { - "@aws-cdk/aws-ec2": "1.96.0", - "@aws-cdk/aws-iam": "1.96.0", - "@aws-cdk/aws-imagebuilder": "1.96.0", - "@aws-cdk/aws-s3-assets": "1.96.0", - "@aws-cdk/core": "1.96.0", + "@aws-cdk/aws-ec2": "1.99.0", + "@aws-cdk/aws-iam": "1.99.0", + "@aws-cdk/aws-imagebuilder": "1.99.0", + "@aws-cdk/aws-s3-assets": "1.99.0", + "@aws-cdk/core": "1.99.0", "aws-rfdk": "0.29.0" } } diff --git a/integ/package.json b/integ/package.json index 3fa9fa3fe..ab8dcdaef 100644 --- a/integ/package.json +++ b/integ/package.json @@ -55,13 +55,13 @@ "pkglint": "pkglint -f" }, "devDependencies": { - "@aws-cdk/assert": "1.96.0", - "@types/jest": "^26.0.21", - "@types/node": "^14.14.35", - "@typescript-eslint/eslint-plugin": "^4.19.0", - "@typescript-eslint/parser": "^4.19.0", - "aws-cdk": "1.96.0", - "eslint": "^7.22.0", + "@aws-cdk/assert": "1.99.0", + "@types/jest": "^26.0.22", + "@types/node": "^14.14.41", + "@typescript-eslint/eslint-plugin": "^4.22.0", + "@typescript-eslint/parser": "^4.22.0", + "aws-cdk": "1.99.0", + "eslint": "^7.24.0", "eslint-import-resolver-node": "^0.3.4", "eslint-import-resolver-typescript": "^2.4.0", "eslint-plugin-import": "^2.22.1", @@ -71,38 +71,38 @@ "ts-jest": "^26.5.4" }, "dependencies": { - "@aws-cdk/aws-docdb": "1.96.0", - "@aws-cdk/aws-ec2": "1.96.0", - "@aws-cdk/aws-ecr": "1.96.0", - "@aws-cdk/aws-ecs": "1.96.0", - "@aws-cdk/aws-efs": "1.96.0", - "@aws-cdk/aws-elasticloadbalancingv2": "1.96.0", - "@aws-cdk/aws-iam": "1.96.0", - "@aws-cdk/aws-logs": "1.96.0", - "@aws-cdk/aws-route53": "1.96.0", - "@aws-cdk/aws-s3": "1.96.0", - "@aws-cdk/aws-s3-assets": "1.96.0", - "@aws-cdk/aws-secretsmanager": "1.96.0", - "@aws-cdk/core": "1.96.0", + "@aws-cdk/aws-docdb": "1.99.0", + "@aws-cdk/aws-ec2": "1.99.0", + "@aws-cdk/aws-ecr": "1.99.0", + "@aws-cdk/aws-ecs": "1.99.0", + "@aws-cdk/aws-efs": "1.99.0", + "@aws-cdk/aws-elasticloadbalancingv2": "1.99.0", + "@aws-cdk/aws-iam": "1.99.0", + "@aws-cdk/aws-logs": "1.99.0", + "@aws-cdk/aws-route53": "1.99.0", + "@aws-cdk/aws-s3": "1.99.0", + "@aws-cdk/aws-s3-assets": "1.99.0", + "@aws-cdk/aws-secretsmanager": "1.99.0", + "@aws-cdk/core": "1.99.0", "aws-rfdk": "0.29.0", - "aws-sdk": "^2.869.0" + "aws-sdk": "^2.889.0" }, "peerDependencies": { - "@aws-cdk/aws-docdb": "1.96.0", - "@aws-cdk/aws-ec2": "1.96.0", - "@aws-cdk/aws-ecr": "1.96.0", - "@aws-cdk/aws-ecs": "1.96.0", - "@aws-cdk/aws-efs": "1.96.0", - "@aws-cdk/aws-elasticloadbalancingv2": "1.96.0", - "@aws-cdk/aws-iam": "1.96.0", - "@aws-cdk/aws-logs": "1.96.0", - "@aws-cdk/aws-route53": "1.96.0", - "@aws-cdk/aws-s3": "1.96.0", - "@aws-cdk/aws-s3-assets": "1.96.0", - "@aws-cdk/aws-secretsmanager": "1.96.0", - "@aws-cdk/core": "1.96.0", + "@aws-cdk/aws-docdb": "1.99.0", + "@aws-cdk/aws-ec2": "1.99.0", + "@aws-cdk/aws-ecr": "1.99.0", + "@aws-cdk/aws-ecs": "1.99.0", + "@aws-cdk/aws-efs": "1.99.0", + "@aws-cdk/aws-elasticloadbalancingv2": "1.99.0", + "@aws-cdk/aws-iam": "1.99.0", + "@aws-cdk/aws-logs": "1.99.0", + "@aws-cdk/aws-route53": "1.99.0", + "@aws-cdk/aws-s3": "1.99.0", + "@aws-cdk/aws-s3-assets": "1.99.0", + "@aws-cdk/aws-secretsmanager": "1.99.0", + "@aws-cdk/core": "1.99.0", "aws-rfdk": "0.29.0", - "aws-sdk": "^2.869.0" + "aws-sdk": "^2.889.0" }, "engines": { "node": ">= 10.13.0 <13 || >=13.7.0" diff --git a/package.json b/package.json index e3a18025b..12a3e2ec4 100644 --- a/package.json +++ b/package.json @@ -26,87 +26,86 @@ } }, "devDependencies": { - "@aws-cdk/assets": "1.96.0", - "@aws-cdk/aws-apigateway": "1.96.0", - "@aws-cdk/aws-apigatewayv2": "1.96.0", - "@aws-cdk/aws-apigatewayv2-integrations": "1.96.0", - "@aws-cdk/aws-applicationautoscaling": "1.96.0", - "@aws-cdk/aws-autoscaling": "1.96.0", - "@aws-cdk/aws-autoscaling-common": "1.96.0", - "@aws-cdk/aws-autoscaling-hooktargets": "1.96.0", - "@aws-cdk/aws-batch": "1.96.0", - "@aws-cdk/aws-certificatemanager": "1.96.0", - "@aws-cdk/aws-cloudformation": "1.96.0", - "@aws-cdk/aws-cloudfront": "1.96.0", - "@aws-cdk/aws-cloudwatch": "1.96.0", - "@aws-cdk/aws-cloudwatch-actions": "1.96.0", - "@aws-cdk/aws-codebuild": "1.96.0", - "@aws-cdk/aws-codecommit": "1.96.0", - "@aws-cdk/aws-codeguruprofiler": "1.96.0", - "@aws-cdk/aws-codepipeline": "1.96.0", - "@aws-cdk/aws-cognito": "1.96.0", - "@aws-cdk/aws-databrew": "1.96.0", - "@aws-cdk/aws-docdb": "1.96.0", - "@aws-cdk/aws-dynamodb": "1.96.0", - "@aws-cdk/aws-ec2": "1.96.0", - "@aws-cdk/aws-ecr": "1.96.0", - "@aws-cdk/aws-ecr-assets": "1.96.0", - "@aws-cdk/aws-ecs": "1.96.0", - "@aws-cdk/aws-ecs-patterns": "1.96.0", - "@aws-cdk/aws-efs": "1.96.0", - "@aws-cdk/aws-eks": "1.96.0", - "@aws-cdk/aws-elasticloadbalancing": "1.96.0", - "@aws-cdk/aws-elasticloadbalancingv2": "1.96.0", - "@aws-cdk/aws-events": "1.96.0", - "@aws-cdk/aws-events-targets": "1.96.0", - "@aws-cdk/aws-globalaccelerator": "1.96.0", - "@aws-cdk/aws-glue": "1.96.0", - "@aws-cdk/aws-iam": "1.96.0", - "@aws-cdk/aws-kinesis": "1.96.0", - "@aws-cdk/aws-kinesisfirehose": "1.96.0", - "@aws-cdk/aws-kms": "1.96.0", - "@aws-cdk/aws-lambda": "1.96.0", - "@aws-cdk/aws-logs": "1.96.0", - "@aws-cdk/aws-route53": "1.96.0", - "@aws-cdk/aws-route53-targets": "1.96.0", - "@aws-cdk/aws-s3": "1.96.0", - "@aws-cdk/aws-s3-assets": "1.96.0", - "@aws-cdk/aws-sam": "1.96.0", - "@aws-cdk/aws-secretsmanager": "1.96.0", - "@aws-cdk/aws-servicediscovery": "1.96.0", - "@aws-cdk/aws-signer": "1.96.0", - "@aws-cdk/aws-sns": "1.96.0", - "@aws-cdk/aws-sns-subscriptions": "1.96.0", - "@aws-cdk/aws-sqs": "1.96.0", - "@aws-cdk/aws-ssm": "1.96.0", - "@aws-cdk/aws-stepfunctions": "1.96.0", - "@aws-cdk/aws-stepfunctions-tasks": "1.96.0", - "@aws-cdk/cloud-assembly-schema": "1.96.0", - "@aws-cdk/core": "1.96.0", - "@aws-cdk/custom-resources": "1.96.0", - "@aws-cdk/cx-api": "1.96.0", - "@aws-cdk/lambda-layer-awscli": "1.96.0", - "@aws-cdk/lambda-layer-kubectl": "1.96.0", - "@aws-cdk/region-info": "1.96.0", - "@aws-cdk/yaml-cfn": "1.96.0", - "@types/jest": "^26.0.21", - "@types/node": "^14.14.35", + "@aws-cdk/assets": "1.99.0", + "@aws-cdk/aws-apigateway": "1.99.0", + "@aws-cdk/aws-apigatewayv2": "1.99.0", + "@aws-cdk/aws-apigatewayv2-integrations": "1.99.0", + "@aws-cdk/aws-applicationautoscaling": "1.99.0", + "@aws-cdk/aws-autoscaling": "1.99.0", + "@aws-cdk/aws-autoscaling-common": "1.99.0", + "@aws-cdk/aws-autoscaling-hooktargets": "1.99.0", + "@aws-cdk/aws-batch": "1.99.0", + "@aws-cdk/aws-certificatemanager": "1.99.0", + "@aws-cdk/aws-cloudformation": "1.99.0", + "@aws-cdk/aws-cloudfront": "1.99.0", + "@aws-cdk/aws-cloudwatch": "1.99.0", + "@aws-cdk/aws-cloudwatch-actions": "1.99.0", + "@aws-cdk/aws-codebuild": "1.99.0", + "@aws-cdk/aws-codecommit": "1.99.0", + "@aws-cdk/aws-codeguruprofiler": "1.99.0", + "@aws-cdk/aws-codepipeline": "1.99.0", + "@aws-cdk/aws-cognito": "1.99.0", + "@aws-cdk/aws-databrew": "1.99.0", + "@aws-cdk/aws-docdb": "1.99.0", + "@aws-cdk/aws-dynamodb": "1.99.0", + "@aws-cdk/aws-ec2": "1.99.0", + "@aws-cdk/aws-ecr": "1.99.0", + "@aws-cdk/aws-ecr-assets": "1.99.0", + "@aws-cdk/aws-ecs": "1.99.0", + "@aws-cdk/aws-ecs-patterns": "1.99.0", + "@aws-cdk/aws-efs": "1.99.0", + "@aws-cdk/aws-eks": "1.99.0", + "@aws-cdk/aws-elasticloadbalancing": "1.99.0", + "@aws-cdk/aws-elasticloadbalancingv2": "1.99.0", + "@aws-cdk/aws-events": "1.99.0", + "@aws-cdk/aws-events-targets": "1.99.0", + "@aws-cdk/aws-globalaccelerator": "1.99.0", + "@aws-cdk/aws-glue": "1.99.0", + "@aws-cdk/aws-iam": "1.99.0", + "@aws-cdk/aws-kinesis": "1.99.0", + "@aws-cdk/aws-kinesisfirehose": "1.99.0", + "@aws-cdk/aws-kms": "1.99.0", + "@aws-cdk/aws-lambda": "1.99.0", + "@aws-cdk/aws-logs": "1.99.0", + "@aws-cdk/aws-route53": "1.99.0", + "@aws-cdk/aws-route53-targets": "1.99.0", + "@aws-cdk/aws-s3": "1.99.0", + "@aws-cdk/aws-s3-assets": "1.99.0", + "@aws-cdk/aws-sam": "1.99.0", + "@aws-cdk/aws-secretsmanager": "1.99.0", + "@aws-cdk/aws-servicediscovery": "1.99.0", + "@aws-cdk/aws-signer": "1.99.0", + "@aws-cdk/aws-sns": "1.99.0", + "@aws-cdk/aws-sns-subscriptions": "1.99.0", + "@aws-cdk/aws-sqs": "1.99.0", + "@aws-cdk/aws-ssm": "1.99.0", + "@aws-cdk/aws-stepfunctions": "1.99.0", + "@aws-cdk/aws-stepfunctions-tasks": "1.99.0", + "@aws-cdk/cloud-assembly-schema": "1.99.0", + "@aws-cdk/core": "1.99.0", + "@aws-cdk/custom-resources": "1.99.0", + "@aws-cdk/cx-api": "1.99.0", + "@aws-cdk/lambda-layer-awscli": "1.99.0", + "@aws-cdk/lambda-layer-kubectl": "1.99.0", + "@aws-cdk/region-info": "1.99.0", + "@types/jest": "^26.0.22", + "@types/node": "^14.14.41", "@types/nodeunit": "^0.0.31", - "aws-cdk": "1.96.0", - "aws-sdk": "^2.869.0", + "aws-cdk": "1.99.0", + "aws-sdk": "^2.889.0", "constructs": "^3.3.69", "conventional-changelog-cli": "^2.1.1", "fs-extra": "^9.1.0", "jest": "^26.6.3", "jest-junit": "^12.0.0", - "jsii-diff": "^1.26.0", - "jsii-pacmak": "^1.26.0", + "jsii-diff": "^1.28.0", + "jsii-pacmak": "^1.28.0", "lerna": "^4.0.0", "nodeunit": "^0.11.3", "nyc": "^15.1.0", - "standard-version": "^9.1.1", + "standard-version": "^9.2.0", "ts-jest": "^26.5.4", - "typescript": "~4.2.3" + "typescript": "~4.2.4" }, "resolutions-netmask-comment": "transitive dep from proxy-agent 4.0.1 & pac-resolver 4.1.0, which are transitive deps from CDK. Remove the forced resolution when able.", "resolutions": { diff --git a/packages/aws-rfdk/package.json b/packages/aws-rfdk/package.json index 991e5790e..700dbeb81 100644 --- a/packages/aws-rfdk/package.json +++ b/packages/aws-rfdk/package.json @@ -65,10 +65,10 @@ "jest": true }, "devDependencies": { - "@aws-cdk/assert": "1.96.0", - "@types/aws-lambda": "^8.10.73", + "@aws-cdk/assert": "1.99.0", + "@types/aws-lambda": "^8.10.75", "@types/sinon": "^9.0.11", - "aws-sdk": "^2.869.0", + "aws-sdk": "^2.889.0", "aws-sdk-mock": "^5.1.0", "cdk-build-tools": "0.29.0", "dynalite": "^3.2.1", @@ -76,135 +76,133 @@ "sinon": "^10.0.0" }, "dependencies": { - "@aws-cdk/assets": "1.96.0", - "@aws-cdk/aws-apigateway": "1.96.0", - "@aws-cdk/aws-apigatewayv2": "1.96.0", - "@aws-cdk/aws-apigatewayv2-integrations": "1.96.0", - "@aws-cdk/aws-applicationautoscaling": "1.96.0", - "@aws-cdk/aws-autoscaling": "1.96.0", - "@aws-cdk/aws-autoscaling-common": "1.96.0", - "@aws-cdk/aws-autoscaling-hooktargets": "1.96.0", - "@aws-cdk/aws-batch": "1.96.0", - "@aws-cdk/aws-certificatemanager": "1.96.0", - "@aws-cdk/aws-cloudformation": "1.96.0", - "@aws-cdk/aws-cloudfront": "1.96.0", - "@aws-cdk/aws-cloudwatch": "1.96.0", - "@aws-cdk/aws-cloudwatch-actions": "1.96.0", - "@aws-cdk/aws-codebuild": "1.96.0", - "@aws-cdk/aws-codecommit": "1.96.0", - "@aws-cdk/aws-codeguruprofiler": "1.96.0", - "@aws-cdk/aws-codepipeline": "1.96.0", - "@aws-cdk/aws-cognito": "1.96.0", - "@aws-cdk/aws-databrew": "1.96.0", - "@aws-cdk/aws-docdb": "1.96.0", - "@aws-cdk/aws-dynamodb": "1.96.0", - "@aws-cdk/aws-ec2": "1.96.0", - "@aws-cdk/aws-ecr": "1.96.0", - "@aws-cdk/aws-ecr-assets": "1.96.0", - "@aws-cdk/aws-ecs": "1.96.0", - "@aws-cdk/aws-ecs-patterns": "1.96.0", - "@aws-cdk/aws-efs": "1.96.0", - "@aws-cdk/aws-eks": "1.96.0", - "@aws-cdk/aws-elasticloadbalancing": "1.96.0", - "@aws-cdk/aws-elasticloadbalancingv2": "1.96.0", - "@aws-cdk/aws-events": "1.96.0", - "@aws-cdk/aws-events-targets": "1.96.0", - "@aws-cdk/aws-globalaccelerator": "1.96.0", - "@aws-cdk/aws-glue": "1.96.0", - "@aws-cdk/aws-iam": "1.96.0", - "@aws-cdk/aws-kinesis": "1.96.0", - "@aws-cdk/aws-kinesisfirehose": "1.96.0", - "@aws-cdk/aws-kms": "1.96.0", - "@aws-cdk/aws-lambda": "1.96.0", - "@aws-cdk/aws-logs": "1.96.0", - "@aws-cdk/aws-route53": "1.96.0", - "@aws-cdk/aws-route53-targets": "1.96.0", - "@aws-cdk/aws-s3": "1.96.0", - "@aws-cdk/aws-s3-assets": "1.96.0", - "@aws-cdk/aws-sam": "1.96.0", - "@aws-cdk/aws-secretsmanager": "1.96.0", - "@aws-cdk/aws-servicediscovery": "1.96.0", - "@aws-cdk/aws-signer": "1.96.0", - "@aws-cdk/aws-sns": "1.96.0", - "@aws-cdk/aws-sns-subscriptions": "1.96.0", - "@aws-cdk/aws-sqs": "1.96.0", - "@aws-cdk/aws-ssm": "1.96.0", - "@aws-cdk/aws-stepfunctions": "1.96.0", - "@aws-cdk/aws-stepfunctions-tasks": "1.96.0", - "@aws-cdk/cloud-assembly-schema": "1.96.0", - "@aws-cdk/core": "1.96.0", - "@aws-cdk/custom-resources": "1.96.0", - "@aws-cdk/cx-api": "1.96.0", - "@aws-cdk/lambda-layer-awscli": "1.96.0", - "@aws-cdk/lambda-layer-kubectl": "1.96.0", - "@aws-cdk/region-info": "1.96.0", - "@aws-cdk/yaml-cfn": "1.96.0", + "@aws-cdk/assets": "1.99.0", + "@aws-cdk/aws-apigateway": "1.99.0", + "@aws-cdk/aws-apigatewayv2": "1.99.0", + "@aws-cdk/aws-apigatewayv2-integrations": "1.99.0", + "@aws-cdk/aws-applicationautoscaling": "1.99.0", + "@aws-cdk/aws-autoscaling": "1.99.0", + "@aws-cdk/aws-autoscaling-common": "1.99.0", + "@aws-cdk/aws-autoscaling-hooktargets": "1.99.0", + "@aws-cdk/aws-batch": "1.99.0", + "@aws-cdk/aws-certificatemanager": "1.99.0", + "@aws-cdk/aws-cloudformation": "1.99.0", + "@aws-cdk/aws-cloudfront": "1.99.0", + "@aws-cdk/aws-cloudwatch": "1.99.0", + "@aws-cdk/aws-cloudwatch-actions": "1.99.0", + "@aws-cdk/aws-codebuild": "1.99.0", + "@aws-cdk/aws-codecommit": "1.99.0", + "@aws-cdk/aws-codeguruprofiler": "1.99.0", + "@aws-cdk/aws-codepipeline": "1.99.0", + "@aws-cdk/aws-cognito": "1.99.0", + "@aws-cdk/aws-databrew": "1.99.0", + "@aws-cdk/aws-docdb": "1.99.0", + "@aws-cdk/aws-dynamodb": "1.99.0", + "@aws-cdk/aws-ec2": "1.99.0", + "@aws-cdk/aws-ecr": "1.99.0", + "@aws-cdk/aws-ecr-assets": "1.99.0", + "@aws-cdk/aws-ecs": "1.99.0", + "@aws-cdk/aws-ecs-patterns": "1.99.0", + "@aws-cdk/aws-efs": "1.99.0", + "@aws-cdk/aws-eks": "1.99.0", + "@aws-cdk/aws-elasticloadbalancing": "1.99.0", + "@aws-cdk/aws-elasticloadbalancingv2": "1.99.0", + "@aws-cdk/aws-events": "1.99.0", + "@aws-cdk/aws-events-targets": "1.99.0", + "@aws-cdk/aws-globalaccelerator": "1.99.0", + "@aws-cdk/aws-glue": "1.99.0", + "@aws-cdk/aws-iam": "1.99.0", + "@aws-cdk/aws-kinesis": "1.99.0", + "@aws-cdk/aws-kinesisfirehose": "1.99.0", + "@aws-cdk/aws-kms": "1.99.0", + "@aws-cdk/aws-lambda": "1.99.0", + "@aws-cdk/aws-logs": "1.99.0", + "@aws-cdk/aws-route53": "1.99.0", + "@aws-cdk/aws-route53-targets": "1.99.0", + "@aws-cdk/aws-s3": "1.99.0", + "@aws-cdk/aws-s3-assets": "1.99.0", + "@aws-cdk/aws-sam": "1.99.0", + "@aws-cdk/aws-secretsmanager": "1.99.0", + "@aws-cdk/aws-servicediscovery": "1.99.0", + "@aws-cdk/aws-signer": "1.99.0", + "@aws-cdk/aws-sns": "1.99.0", + "@aws-cdk/aws-sns-subscriptions": "1.99.0", + "@aws-cdk/aws-sqs": "1.99.0", + "@aws-cdk/aws-ssm": "1.99.0", + "@aws-cdk/aws-stepfunctions": "1.99.0", + "@aws-cdk/aws-stepfunctions-tasks": "1.99.0", + "@aws-cdk/cloud-assembly-schema": "1.99.0", + "@aws-cdk/core": "1.99.0", + "@aws-cdk/custom-resources": "1.99.0", + "@aws-cdk/cx-api": "1.99.0", + "@aws-cdk/lambda-layer-awscli": "1.99.0", + "@aws-cdk/lambda-layer-kubectl": "1.99.0", + "@aws-cdk/region-info": "1.99.0", "constructs": "^3.3.69" }, "peerDependencies": { - "@aws-cdk/assets": "1.96.0", - "@aws-cdk/aws-apigateway": "1.96.0", - "@aws-cdk/aws-apigatewayv2": "1.96.0", - "@aws-cdk/aws-apigatewayv2-integrations": "1.96.0", - "@aws-cdk/aws-applicationautoscaling": "1.96.0", - "@aws-cdk/aws-autoscaling": "1.96.0", - "@aws-cdk/aws-autoscaling-common": "1.96.0", - "@aws-cdk/aws-autoscaling-hooktargets": "1.96.0", - "@aws-cdk/aws-batch": "1.96.0", - "@aws-cdk/aws-certificatemanager": "1.96.0", - "@aws-cdk/aws-cloudformation": "1.96.0", - "@aws-cdk/aws-cloudfront": "1.96.0", - "@aws-cdk/aws-cloudwatch": "1.96.0", - "@aws-cdk/aws-cloudwatch-actions": "1.96.0", - "@aws-cdk/aws-codebuild": "1.96.0", - "@aws-cdk/aws-codecommit": "1.96.0", - "@aws-cdk/aws-codeguruprofiler": "1.96.0", - "@aws-cdk/aws-codepipeline": "1.96.0", - "@aws-cdk/aws-cognito": "1.96.0", - "@aws-cdk/aws-databrew": "1.96.0", - "@aws-cdk/aws-docdb": "1.96.0", - "@aws-cdk/aws-dynamodb": "1.96.0", - "@aws-cdk/aws-ec2": "1.96.0", - "@aws-cdk/aws-ecr": "1.96.0", - "@aws-cdk/aws-ecr-assets": "1.96.0", - "@aws-cdk/aws-ecs": "1.96.0", - "@aws-cdk/aws-ecs-patterns": "1.96.0", - "@aws-cdk/aws-efs": "1.96.0", - "@aws-cdk/aws-eks": "1.96.0", - "@aws-cdk/aws-elasticloadbalancing": "1.96.0", - "@aws-cdk/aws-elasticloadbalancingv2": "1.96.0", - "@aws-cdk/aws-events": "1.96.0", - "@aws-cdk/aws-events-targets": "1.96.0", - "@aws-cdk/aws-globalaccelerator": "1.96.0", - "@aws-cdk/aws-glue": "1.96.0", - "@aws-cdk/aws-iam": "1.96.0", - "@aws-cdk/aws-kinesis": "1.96.0", - "@aws-cdk/aws-kinesisfirehose": "1.96.0", - "@aws-cdk/aws-kms": "1.96.0", - "@aws-cdk/aws-lambda": "1.96.0", - "@aws-cdk/aws-logs": "1.96.0", - "@aws-cdk/aws-route53": "1.96.0", - "@aws-cdk/aws-route53-targets": "1.96.0", - "@aws-cdk/aws-s3": "1.96.0", - "@aws-cdk/aws-s3-assets": "1.96.0", - "@aws-cdk/aws-sam": "1.96.0", - "@aws-cdk/aws-secretsmanager": "1.96.0", - "@aws-cdk/aws-servicediscovery": "1.96.0", - "@aws-cdk/aws-signer": "1.96.0", - "@aws-cdk/aws-sns": "1.96.0", - "@aws-cdk/aws-sns-subscriptions": "1.96.0", - "@aws-cdk/aws-sqs": "1.96.0", - "@aws-cdk/aws-ssm": "1.96.0", - "@aws-cdk/aws-stepfunctions": "1.96.0", - "@aws-cdk/aws-stepfunctions-tasks": "1.96.0", - "@aws-cdk/cloud-assembly-schema": "1.96.0", - "@aws-cdk/core": "1.96.0", - "@aws-cdk/custom-resources": "1.96.0", - "@aws-cdk/cx-api": "1.96.0", - "@aws-cdk/lambda-layer-awscli": "1.96.0", - "@aws-cdk/lambda-layer-kubectl": "1.96.0", - "@aws-cdk/region-info": "1.96.0", - "@aws-cdk/yaml-cfn": "1.96.0", + "@aws-cdk/assets": "1.99.0", + "@aws-cdk/aws-apigateway": "1.99.0", + "@aws-cdk/aws-apigatewayv2": "1.99.0", + "@aws-cdk/aws-apigatewayv2-integrations": "1.99.0", + "@aws-cdk/aws-applicationautoscaling": "1.99.0", + "@aws-cdk/aws-autoscaling": "1.99.0", + "@aws-cdk/aws-autoscaling-common": "1.99.0", + "@aws-cdk/aws-autoscaling-hooktargets": "1.99.0", + "@aws-cdk/aws-batch": "1.99.0", + "@aws-cdk/aws-certificatemanager": "1.99.0", + "@aws-cdk/aws-cloudformation": "1.99.0", + "@aws-cdk/aws-cloudfront": "1.99.0", + "@aws-cdk/aws-cloudwatch": "1.99.0", + "@aws-cdk/aws-cloudwatch-actions": "1.99.0", + "@aws-cdk/aws-codebuild": "1.99.0", + "@aws-cdk/aws-codecommit": "1.99.0", + "@aws-cdk/aws-codeguruprofiler": "1.99.0", + "@aws-cdk/aws-codepipeline": "1.99.0", + "@aws-cdk/aws-cognito": "1.99.0", + "@aws-cdk/aws-databrew": "1.99.0", + "@aws-cdk/aws-docdb": "1.99.0", + "@aws-cdk/aws-dynamodb": "1.99.0", + "@aws-cdk/aws-ec2": "1.99.0", + "@aws-cdk/aws-ecr": "1.99.0", + "@aws-cdk/aws-ecr-assets": "1.99.0", + "@aws-cdk/aws-ecs": "1.99.0", + "@aws-cdk/aws-ecs-patterns": "1.99.0", + "@aws-cdk/aws-efs": "1.99.0", + "@aws-cdk/aws-eks": "1.99.0", + "@aws-cdk/aws-elasticloadbalancing": "1.99.0", + "@aws-cdk/aws-elasticloadbalancingv2": "1.99.0", + "@aws-cdk/aws-events": "1.99.0", + "@aws-cdk/aws-events-targets": "1.99.0", + "@aws-cdk/aws-globalaccelerator": "1.99.0", + "@aws-cdk/aws-glue": "1.99.0", + "@aws-cdk/aws-iam": "1.99.0", + "@aws-cdk/aws-kinesis": "1.99.0", + "@aws-cdk/aws-kinesisfirehose": "1.99.0", + "@aws-cdk/aws-kms": "1.99.0", + "@aws-cdk/aws-lambda": "1.99.0", + "@aws-cdk/aws-logs": "1.99.0", + "@aws-cdk/aws-route53": "1.99.0", + "@aws-cdk/aws-route53-targets": "1.99.0", + "@aws-cdk/aws-s3": "1.99.0", + "@aws-cdk/aws-s3-assets": "1.99.0", + "@aws-cdk/aws-sam": "1.99.0", + "@aws-cdk/aws-secretsmanager": "1.99.0", + "@aws-cdk/aws-servicediscovery": "1.99.0", + "@aws-cdk/aws-signer": "1.99.0", + "@aws-cdk/aws-sns": "1.99.0", + "@aws-cdk/aws-sns-subscriptions": "1.99.0", + "@aws-cdk/aws-sqs": "1.99.0", + "@aws-cdk/aws-ssm": "1.99.0", + "@aws-cdk/aws-stepfunctions": "1.99.0", + "@aws-cdk/aws-stepfunctions-tasks": "1.99.0", + "@aws-cdk/cloud-assembly-schema": "1.99.0", + "@aws-cdk/core": "1.99.0", + "@aws-cdk/custom-resources": "1.99.0", + "@aws-cdk/cx-api": "1.99.0", + "@aws-cdk/lambda-layer-awscli": "1.99.0", + "@aws-cdk/lambda-layer-kubectl": "1.99.0", + "@aws-cdk/region-info": "1.99.0", "constructs": "^3.3.69" }, "engines": { diff --git a/tools/cdk-build-tools/package.json b/tools/cdk-build-tools/package.json index c9c7edb3e..31ce176e6 100644 --- a/tools/cdk-build-tools/package.json +++ b/tools/cdk-build-tools/package.json @@ -34,31 +34,31 @@ }, "license": "Apache-2.0", "devDependencies": { - "@types/fs-extra": "^9.0.9", - "@types/jest": "^26.0.20", + "@types/fs-extra": "^9.0.11", + "@types/jest": "^26.0.22", "@types/yargs": "^16.0.1", "eslint-plugin-license-header": "^0.2.0", "pkglint": "0.29.0" }, "dependencies": { - "@typescript-eslint/eslint-plugin": "^4.16.1", - "@typescript-eslint/parser": "^4.16.1", - "awslint": "1.96.0", + "@typescript-eslint/eslint-plugin": "^4.22.0", + "@typescript-eslint/parser": "^4.22.0", + "awslint": "1.99.0", "colors": "^1.4.0", - "eslint": "^7.21.0", + "eslint": "^7.24.0", "eslint-import-resolver-node": "^0.3.4", "eslint-import-resolver-typescript": "^2.4.0", "eslint-plugin-import": "^2.22.1", - "eslint-plugin-jest": "^24.3.2", + "eslint-plugin-jest": "^24.3.5", "fs-extra": "^9.1.0", "jest": "^26.6.3", - "jsii": "^1.25.0", - "jsii-pacmak": "^1.25.0", + "jsii": "^1.28.0", + "jsii-pacmak": "^1.28.0", "nodeunit": "^0.11.3", "nyc": "^15.1.0", "semver": "^7.3.5", - "ts-jest": "^26.5.3", - "typescript": "~4.2.3", + "ts-jest": "^26.5.4", + "typescript": "~4.2.4", "yargs": "^16.2.0" }, "keywords": [ diff --git a/tools/pkglint/package.json b/tools/pkglint/package.json index 4154ed57a..ecdffe562 100644 --- a/tools/pkglint/package.json +++ b/tools/pkglint/package.json @@ -35,10 +35,10 @@ }, "license": "Apache-2.0", "devDependencies": { - "@types/fs-extra": "^9.0.9", + "@types/fs-extra": "^9.0.11", "@types/semver": "^7.3.4", "@types/yargs": "^16.0.1", - "typescript": "~4.2.3" + "typescript": "~4.2.4" }, "dependencies": { "case": "^1.6.3", diff --git a/yarn.lock b/yarn.lock index 159df6f39..2659b11c5 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,863 +2,854 @@ # yarn lockfile v1 -"@aws-cdk/assert@1.96.0": - version "1.96.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/assert/-/assert-1.96.0.tgz#cf5abaf04a6004dd8f1e1ed33cc7c1994c199345" - integrity sha512-IcnV35/g1L8BlceMS5h/aAYXR/pecR8ltbRGxMK/f9nArjrg2Nn7fowM7B1PxdrSFpbBzcEL4Lm8G+hXFmxfcg== - dependencies: - "@aws-cdk/cloud-assembly-schema" "1.96.0" - "@aws-cdk/cloudformation-diff" "1.96.0" - "@aws-cdk/core" "1.96.0" - "@aws-cdk/cx-api" "1.96.0" +"@aws-cdk/assert@1.99.0": + version "1.99.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/assert/-/assert-1.99.0.tgz#0bddfafc25322d516d5cd37fb7030f13b714ee53" + integrity sha512-0PP0h2vkCbRDG0f3+j9r+ctwrM5ICwg3WvJSZq0IN/6yZkyxwpmWRHmdjNZNRchyKIKM1Su50R4o2ypT7pJHfw== + dependencies: + "@aws-cdk/cloudformation-diff" "1.99.0" + "@aws-cdk/core" "1.99.0" + "@aws-cdk/cx-api" "1.99.0" constructs "^3.3.69" -"@aws-cdk/assets@1.96.0": - version "1.96.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/assets/-/assets-1.96.0.tgz#451b7619e30af4bb1f6df0c5dc01162998189adc" - integrity sha512-gt+BNsFCUs/SCvwKhifZhEtsZNBFvzbUFrNaheCbNvbhs+k04/tBTEnOeoNLaCdD3yWXMnbxaxah1H76QADx9A== +"@aws-cdk/assets@1.99.0": + version "1.99.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/assets/-/assets-1.99.0.tgz#b4f787dbcc2cc43f68a36eb4cc7c705ccd780af6" + integrity sha512-potfY11kTspy/RTqKSKZW2QTB5Hj5cl31vYJqIjmGI17Z3wB4D+OZTDLjykSzyRh1HZsYZfYe+j5uKiJ41WOMQ== dependencies: - "@aws-cdk/core" "1.96.0" - "@aws-cdk/cx-api" "1.96.0" + "@aws-cdk/core" "1.99.0" + "@aws-cdk/cx-api" "1.99.0" constructs "^3.3.69" -"@aws-cdk/aws-apigateway@1.96.0": - version "1.96.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-apigateway/-/aws-apigateway-1.96.0.tgz#d6a8644b8864c34efe9fc3539cb7485e46c40fa4" - integrity sha512-XP5BZbA+tt2MAKACwDC31aW/X4UYBBvNEYXNxXjrbiL3xhe6Rnsi/ols9WsRRoflLLlimPhu3/YHiiUsQ5LzDw== - dependencies: - "@aws-cdk/aws-certificatemanager" "1.96.0" - "@aws-cdk/aws-cloudwatch" "1.96.0" - "@aws-cdk/aws-cognito" "1.96.0" - "@aws-cdk/aws-ec2" "1.96.0" - "@aws-cdk/aws-elasticloadbalancingv2" "1.96.0" - "@aws-cdk/aws-iam" "1.96.0" - "@aws-cdk/aws-lambda" "1.96.0" - "@aws-cdk/aws-logs" "1.96.0" - "@aws-cdk/aws-s3" "1.96.0" - "@aws-cdk/aws-s3-assets" "1.96.0" - "@aws-cdk/core" "1.96.0" - "@aws-cdk/cx-api" "1.96.0" +"@aws-cdk/aws-apigateway@1.99.0": + version "1.99.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-apigateway/-/aws-apigateway-1.99.0.tgz#2e0d6a5a1083406390cf2f0395d99a2c74b3a1a3" + integrity sha512-3jq1x60v9gNs7nnHRCDBFD/HF2IqkYSI6RErl2UVufQ8DSx9KNCy1KCGKt2MK4e5z47yMZgdIP8bgfAQsNSSnQ== + dependencies: + "@aws-cdk/aws-certificatemanager" "1.99.0" + "@aws-cdk/aws-cloudwatch" "1.99.0" + "@aws-cdk/aws-cognito" "1.99.0" + "@aws-cdk/aws-ec2" "1.99.0" + "@aws-cdk/aws-elasticloadbalancingv2" "1.99.0" + "@aws-cdk/aws-iam" "1.99.0" + "@aws-cdk/aws-lambda" "1.99.0" + "@aws-cdk/aws-logs" "1.99.0" + "@aws-cdk/aws-s3" "1.99.0" + "@aws-cdk/aws-s3-assets" "1.99.0" + "@aws-cdk/core" "1.99.0" + "@aws-cdk/cx-api" "1.99.0" constructs "^3.3.69" -"@aws-cdk/aws-apigatewayv2-integrations@1.96.0": - version "1.96.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-apigatewayv2-integrations/-/aws-apigatewayv2-integrations-1.96.0.tgz#d7bf43fe07fb7d1b8b28f508198dad1acb4b67ff" - integrity sha512-SffGJaOd8uriPf7sGwN6Ll/+nn1gMq7l/ZqVru1KWkwG0BZnJrdBgrBWa4HQ7ZVlzKtfa4cftwE7hmxZZdQl/g== - dependencies: - "@aws-cdk/aws-apigatewayv2" "1.96.0" - "@aws-cdk/aws-ec2" "1.96.0" - "@aws-cdk/aws-elasticloadbalancingv2" "1.96.0" - "@aws-cdk/aws-iam" "1.96.0" - "@aws-cdk/aws-lambda" "1.96.0" - "@aws-cdk/aws-servicediscovery" "1.96.0" - "@aws-cdk/core" "1.96.0" +"@aws-cdk/aws-apigatewayv2-integrations@1.99.0": + version "1.99.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-apigatewayv2-integrations/-/aws-apigatewayv2-integrations-1.99.0.tgz#76c3fef2db8a3065376964fbf7ef5111dc30eea4" + integrity sha512-Wo1kY7LiNS7ArewWqObjUvnIWDR+Nh6p/5P6gq2NtFF8asAIaLOiPhGnoshQlnLvdLdLjFnVXGSO4/dDTClneQ== + dependencies: + "@aws-cdk/aws-apigatewayv2" "1.99.0" + "@aws-cdk/aws-ec2" "1.99.0" + "@aws-cdk/aws-elasticloadbalancingv2" "1.99.0" + "@aws-cdk/aws-iam" "1.99.0" + "@aws-cdk/aws-lambda" "1.99.0" + "@aws-cdk/aws-servicediscovery" "1.99.0" + "@aws-cdk/core" "1.99.0" constructs "^3.3.69" -"@aws-cdk/aws-apigatewayv2@1.96.0": - version "1.96.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-apigatewayv2/-/aws-apigatewayv2-1.96.0.tgz#89b8498409dd7de74e63eb421fc8ed1ffb4a65be" - integrity sha512-qZVCHcJUXAV42h/ZiNa2eANW7+5kPYwFeJCLT82L/HUZKprkOzWazb90JIfpTYs9jjMI/pPtSEoAftd/2uwvcQ== +"@aws-cdk/aws-apigatewayv2@1.99.0": + version "1.99.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-apigatewayv2/-/aws-apigatewayv2-1.99.0.tgz#a911b75accb7b8fae20f9ef186cde8e0d2c6635c" + integrity sha512-M+5YA/MAGz7u4uPpM4Yqi/iiCqRTNgEfNC+qmx60/otSVC2kuZG9bRcrq+DbHUu+w9bKcYHivOk24tTQVqHncA== dependencies: - "@aws-cdk/aws-certificatemanager" "1.96.0" - "@aws-cdk/aws-cloudwatch" "1.96.0" - "@aws-cdk/aws-ec2" "1.96.0" - "@aws-cdk/aws-iam" "1.96.0" - "@aws-cdk/core" "1.96.0" + "@aws-cdk/aws-certificatemanager" "1.99.0" + "@aws-cdk/aws-cloudwatch" "1.99.0" + "@aws-cdk/aws-ec2" "1.99.0" + "@aws-cdk/aws-iam" "1.99.0" + "@aws-cdk/core" "1.99.0" constructs "^3.3.69" -"@aws-cdk/aws-applicationautoscaling@1.96.0": - version "1.96.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-applicationautoscaling/-/aws-applicationautoscaling-1.96.0.tgz#bd068cec7e6ea1a33bb46fc9ca440815a1587afb" - integrity sha512-NxW709a4ioLHLK9/yi+mlBzjOMlXaXnXfpzwIu17AUcFQBitKyQ3vo/PAIZYFupI5BhidlgjFtD67CZlPZXZHg== +"@aws-cdk/aws-applicationautoscaling@1.99.0": + version "1.99.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-applicationautoscaling/-/aws-applicationautoscaling-1.99.0.tgz#336f303b463c58fc36901f7cb69a7df3dce8235d" + integrity sha512-4JpZdw2K29W/Bt6Sw2hP23CZzzbsF+HUVrSl8yGNLx5DIwvrNZKOdHuyp02Q45LQwmcE4G9NVQ5QkWkqVukKHQ== dependencies: - "@aws-cdk/aws-autoscaling-common" "1.96.0" - "@aws-cdk/aws-cloudwatch" "1.96.0" - "@aws-cdk/aws-iam" "1.96.0" - "@aws-cdk/core" "1.96.0" + "@aws-cdk/aws-autoscaling-common" "1.99.0" + "@aws-cdk/aws-cloudwatch" "1.99.0" + "@aws-cdk/aws-iam" "1.99.0" + "@aws-cdk/core" "1.99.0" constructs "^3.3.69" -"@aws-cdk/aws-autoscaling-common@1.96.0": - version "1.96.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-autoscaling-common/-/aws-autoscaling-common-1.96.0.tgz#5cb03efa8b4c93382fa236f2fd525a1220d76fda" - integrity sha512-i3lBOLNW4dvGDYLVdvnnFOmV5JmpsHg6tSKDMHdtfsYqR3lswfAg+qAuAmazYIz2JlG+UVIJRmcSmZVEQKKpIA== +"@aws-cdk/aws-autoscaling-common@1.99.0": + version "1.99.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-autoscaling-common/-/aws-autoscaling-common-1.99.0.tgz#fdd1f0287e957fa69aa0da8379e2398670b17780" + integrity sha512-Cg+/OMSnilIkdqJAXI6/43figwZLpjsowK2bsoJc7GgHJt0MPGTj603KQjiPMxhk2yi4gFBK1Zgm8zQTHRkTDQ== dependencies: - "@aws-cdk/aws-iam" "1.96.0" - "@aws-cdk/core" "1.96.0" + "@aws-cdk/aws-iam" "1.99.0" + "@aws-cdk/core" "1.99.0" constructs "^3.3.69" -"@aws-cdk/aws-autoscaling-hooktargets@1.96.0": - version "1.96.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-autoscaling-hooktargets/-/aws-autoscaling-hooktargets-1.96.0.tgz#f931f0adfdf59a576ca7dbbe681a342cac3a9f9d" - integrity sha512-a8KKkjpHjv++5Vz2waQWisv+Hs3lN7/iUOTNadCEMECjdrQe0tX5qCh/8FsxGv/EQXMhMOGYCY3S+uW3SYJIuA== - dependencies: - "@aws-cdk/aws-autoscaling" "1.96.0" - "@aws-cdk/aws-iam" "1.96.0" - "@aws-cdk/aws-kms" "1.96.0" - "@aws-cdk/aws-lambda" "1.96.0" - "@aws-cdk/aws-sns" "1.96.0" - "@aws-cdk/aws-sns-subscriptions" "1.96.0" - "@aws-cdk/aws-sqs" "1.96.0" - "@aws-cdk/core" "1.96.0" +"@aws-cdk/aws-autoscaling-hooktargets@1.99.0": + version "1.99.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-autoscaling-hooktargets/-/aws-autoscaling-hooktargets-1.99.0.tgz#f232a8b313950d545a4120da3563df46af46030f" + integrity sha512-Fm44p6sAM1Vj0MZDiISvPB5fh8U6V7Jd/PfUvyXFCIENGSTznCZFogZbgctf6tIlPvsq06qCTMk1TjgcXMVYaA== + dependencies: + "@aws-cdk/aws-autoscaling" "1.99.0" + "@aws-cdk/aws-iam" "1.99.0" + "@aws-cdk/aws-kms" "1.99.0" + "@aws-cdk/aws-lambda" "1.99.0" + "@aws-cdk/aws-sns" "1.99.0" + "@aws-cdk/aws-sns-subscriptions" "1.99.0" + "@aws-cdk/aws-sqs" "1.99.0" + "@aws-cdk/core" "1.99.0" constructs "^3.3.69" -"@aws-cdk/aws-autoscaling@1.96.0": - version "1.96.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-autoscaling/-/aws-autoscaling-1.96.0.tgz#e9225a0e39444d552e7f2571f9202c3fda90d365" - integrity sha512-AUX0Fg+sduris7u0xGLUoO8Vf4NtKEm9zM3mZzlMk2tanZ7tUrnp2M54fFXxcFiwF37r2KE2ioosG9n+7jLb1w== - dependencies: - "@aws-cdk/aws-autoscaling-common" "1.96.0" - "@aws-cdk/aws-cloudwatch" "1.96.0" - "@aws-cdk/aws-ec2" "1.96.0" - "@aws-cdk/aws-elasticloadbalancing" "1.96.0" - "@aws-cdk/aws-elasticloadbalancingv2" "1.96.0" - "@aws-cdk/aws-iam" "1.96.0" - "@aws-cdk/aws-sns" "1.96.0" - "@aws-cdk/core" "1.96.0" +"@aws-cdk/aws-autoscaling@1.99.0": + version "1.99.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-autoscaling/-/aws-autoscaling-1.99.0.tgz#0cde5c0f28af580c4f31df86a9e45f9305a9855f" + integrity sha512-4RysFhsp48/fLcf3j2AQyitFl05OJDyHeYsKjNpw+kKaVLN6NqzMQ2/RuipOzbme/bApGp9RjccV/6iPZ0kPJg== + dependencies: + "@aws-cdk/aws-autoscaling-common" "1.99.0" + "@aws-cdk/aws-cloudwatch" "1.99.0" + "@aws-cdk/aws-ec2" "1.99.0" + "@aws-cdk/aws-elasticloadbalancing" "1.99.0" + "@aws-cdk/aws-elasticloadbalancingv2" "1.99.0" + "@aws-cdk/aws-iam" "1.99.0" + "@aws-cdk/aws-sns" "1.99.0" + "@aws-cdk/core" "1.99.0" constructs "^3.3.69" -"@aws-cdk/aws-batch@1.96.0": - version "1.96.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-batch/-/aws-batch-1.96.0.tgz#e092cb1dfae6c4a33b3773da08cfda58f5028623" - integrity sha512-QKMKRwoG9FBWq8INUQCfuj6M+DQ8SvRHdRe3ZWFJQ8FL5bEvWltgLLwd0ixCzJojj3wrfJoEroCB2KaEYa/6CQ== - dependencies: - "@aws-cdk/aws-ec2" "1.96.0" - "@aws-cdk/aws-ecr" "1.96.0" - "@aws-cdk/aws-ecs" "1.96.0" - "@aws-cdk/aws-iam" "1.96.0" - "@aws-cdk/aws-secretsmanager" "1.96.0" - "@aws-cdk/aws-ssm" "1.96.0" - "@aws-cdk/core" "1.96.0" +"@aws-cdk/aws-batch@1.99.0": + version "1.99.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-batch/-/aws-batch-1.99.0.tgz#f5e9bb04590f33f706501fdb88be538d20fd3992" + integrity sha512-gPWjwhQozufOFjBI+i05yR9vBYsnZX618MEaliMoEdaQ3f9zZ74QvLRSMZgz+saYJPcIQlXXu2TuiEXdS3iOnQ== + dependencies: + "@aws-cdk/aws-ec2" "1.99.0" + "@aws-cdk/aws-ecr" "1.99.0" + "@aws-cdk/aws-ecs" "1.99.0" + "@aws-cdk/aws-iam" "1.99.0" + "@aws-cdk/aws-secretsmanager" "1.99.0" + "@aws-cdk/aws-ssm" "1.99.0" + "@aws-cdk/core" "1.99.0" constructs "^3.3.69" -"@aws-cdk/aws-certificatemanager@1.96.0": - version "1.96.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-certificatemanager/-/aws-certificatemanager-1.96.0.tgz#3b815e713322cf5c4817e19c5e25b2e2e596fcdc" - integrity sha512-eCuSAj0gAbugVsbud28fhR2tS7LzhIzJTE2qLgqMb3kn1f/osToXgg8oJ7+qXiLcLpDquL8TuJW3GVFMKMkjEw== +"@aws-cdk/aws-certificatemanager@1.99.0": + version "1.99.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-certificatemanager/-/aws-certificatemanager-1.99.0.tgz#75331916313cc39de28d828091381623e039f024" + integrity sha512-XD5CkvMNnq2ihJxqNGQfr0DPiwjdXNfHLHQL14U6Cbps+D4j9wB5CsNNHdCoUKBM/u4X+nHOYpZMtDv8wDU7iA== dependencies: - "@aws-cdk/aws-iam" "1.96.0" - "@aws-cdk/aws-lambda" "1.96.0" - "@aws-cdk/aws-route53" "1.96.0" - "@aws-cdk/core" "1.96.0" + "@aws-cdk/aws-iam" "1.99.0" + "@aws-cdk/aws-lambda" "1.99.0" + "@aws-cdk/aws-route53" "1.99.0" + "@aws-cdk/core" "1.99.0" constructs "^3.3.69" -"@aws-cdk/aws-cloudformation@1.96.0": - version "1.96.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-cloudformation/-/aws-cloudformation-1.96.0.tgz#29796f3eaee354a9f5f683fcbcb9605d011b4c67" - integrity sha512-wLcIfjxPU+mS0ys0O7TBQ0Ju7KdS83q6eS0qBlBelGpZQjjEi2RULOej2EpVMBAHXd3vEgGKrOUCEPbMP2jI/A== - dependencies: - "@aws-cdk/aws-iam" "1.96.0" - "@aws-cdk/aws-lambda" "1.96.0" - "@aws-cdk/aws-s3" "1.96.0" - "@aws-cdk/aws-sns" "1.96.0" - "@aws-cdk/core" "1.96.0" - "@aws-cdk/cx-api" "1.96.0" +"@aws-cdk/aws-cloudformation@1.99.0": + version "1.99.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-cloudformation/-/aws-cloudformation-1.99.0.tgz#125565eaefd52bba96cda19c3e8990c21315354e" + integrity sha512-aFAtOeDk95dYLzMLYd6ZcAVJ92L30ow1pv4nkaDKeCOGP69sMP1ximlVLY+83/AchvD3cFtgBpIR1nx1vECKmQ== + dependencies: + "@aws-cdk/aws-iam" "1.99.0" + "@aws-cdk/aws-lambda" "1.99.0" + "@aws-cdk/aws-s3" "1.99.0" + "@aws-cdk/aws-sns" "1.99.0" + "@aws-cdk/core" "1.99.0" + "@aws-cdk/cx-api" "1.99.0" constructs "^3.3.69" -"@aws-cdk/aws-cloudfront@1.96.0": - version "1.96.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-cloudfront/-/aws-cloudfront-1.96.0.tgz#d69c6c2fd50ad78125ef281228681104a05824cb" - integrity sha512-P4fA72zbyXc2XRl5dlfmlSNVVm3EJUYQ4YKrTrqkT1l0pqPEIzc1Ad1o8zMBlEuyJ2EjLYASMv2Ik9Emc3ySgw== - dependencies: - "@aws-cdk/aws-certificatemanager" "1.96.0" - "@aws-cdk/aws-cloudwatch" "1.96.0" - "@aws-cdk/aws-ec2" "1.96.0" - "@aws-cdk/aws-iam" "1.96.0" - "@aws-cdk/aws-kms" "1.96.0" - "@aws-cdk/aws-lambda" "1.96.0" - "@aws-cdk/aws-s3" "1.96.0" - "@aws-cdk/aws-ssm" "1.96.0" - "@aws-cdk/core" "1.96.0" +"@aws-cdk/aws-cloudfront@1.99.0": + version "1.99.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-cloudfront/-/aws-cloudfront-1.99.0.tgz#27a4845791e1c6b069b9696d6edda493544824d0" + integrity sha512-pi/O8zFprd/T2DKcv0bDRS7mTZBTtpN2N2kj9p3oQCf1ygM1b7oB0YXXNNx+q1f+XYW3YK6UXk20awc+KKSnqA== + dependencies: + "@aws-cdk/aws-certificatemanager" "1.99.0" + "@aws-cdk/aws-cloudwatch" "1.99.0" + "@aws-cdk/aws-ec2" "1.99.0" + "@aws-cdk/aws-iam" "1.99.0" + "@aws-cdk/aws-kms" "1.99.0" + "@aws-cdk/aws-lambda" "1.99.0" + "@aws-cdk/aws-s3" "1.99.0" + "@aws-cdk/aws-ssm" "1.99.0" + "@aws-cdk/core" "1.99.0" constructs "^3.3.69" -"@aws-cdk/aws-cloudwatch-actions@1.96.0": - version "1.96.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-cloudwatch-actions/-/aws-cloudwatch-actions-1.96.0.tgz#4e427ab9be7aa05d6986c324ef8727609ab49200" - integrity sha512-iXBWVMSiCSyUUzBDvX+JV5HS8bcMh4viDtS7Wiu+PblztanhAGM1deKLRREhFT9/xxcR5b1jj43N8wPR9PnJIg== - dependencies: - "@aws-cdk/aws-applicationautoscaling" "1.96.0" - "@aws-cdk/aws-autoscaling" "1.96.0" - "@aws-cdk/aws-cloudwatch" "1.96.0" - "@aws-cdk/aws-iam" "1.96.0" - "@aws-cdk/aws-sns" "1.96.0" - "@aws-cdk/core" "1.96.0" +"@aws-cdk/aws-cloudwatch-actions@1.99.0": + version "1.99.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-cloudwatch-actions/-/aws-cloudwatch-actions-1.99.0.tgz#a010bb045a3baab3d100e2b50720c2d8ccbe7f38" + integrity sha512-Ovaz/sobFOb6bT0oUJ5E5fwvMOWpDISQDqDPczA539hsN/Iuze7N5bSFEh9SXf+2kINk2LtUA411V55Hu4JoSw== + dependencies: + "@aws-cdk/aws-applicationautoscaling" "1.99.0" + "@aws-cdk/aws-autoscaling" "1.99.0" + "@aws-cdk/aws-cloudwatch" "1.99.0" + "@aws-cdk/aws-iam" "1.99.0" + "@aws-cdk/aws-sns" "1.99.0" + "@aws-cdk/core" "1.99.0" constructs "^3.3.69" -"@aws-cdk/aws-cloudwatch@1.96.0": - version "1.96.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-cloudwatch/-/aws-cloudwatch-1.96.0.tgz#3721c2dacaeb8db5b5e77c78a798dd0533075dd3" - integrity sha512-vlYf3Jay+srt1A6SOX5/fcFWQmXcouTzDWQovvg36DWPNknH2dF9nHpf7YrEesj7Nwxlo9aA0MrFBYqThlsy3w== +"@aws-cdk/aws-cloudwatch@1.99.0": + version "1.99.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-cloudwatch/-/aws-cloudwatch-1.99.0.tgz#b7fc59623289ef7c056289d430f7a411b633d790" + integrity sha512-/rmeqT7WIDQk03KFuiuuBAPIv+doWgNQ8qdMs7wkaWZqDaXVZgV3yqDSHHsueGbQPGPSlSKhah4DntxlIdiXeg== dependencies: - "@aws-cdk/aws-iam" "1.96.0" - "@aws-cdk/core" "1.96.0" + "@aws-cdk/aws-iam" "1.99.0" + "@aws-cdk/core" "1.99.0" constructs "^3.3.69" -"@aws-cdk/aws-codebuild@1.96.0": - version "1.96.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-codebuild/-/aws-codebuild-1.96.0.tgz#69b00c117d4289dddc32212048a1d3b5d68492f5" - integrity sha512-aEswphnappGAsnMXXNPEEVgUv0kx56+AJyTYE5OjctpIPWov6/RmpKhzqpFudGX16FmVDeXOo3m2U7kKYW/pXw== - dependencies: - "@aws-cdk/aws-cloudwatch" "1.96.0" - "@aws-cdk/aws-codecommit" "1.96.0" - "@aws-cdk/aws-ec2" "1.96.0" - "@aws-cdk/aws-ecr" "1.96.0" - "@aws-cdk/aws-ecr-assets" "1.96.0" - "@aws-cdk/aws-events" "1.96.0" - "@aws-cdk/aws-iam" "1.96.0" - "@aws-cdk/aws-kms" "1.96.0" - "@aws-cdk/aws-logs" "1.96.0" - "@aws-cdk/aws-s3" "1.96.0" - "@aws-cdk/aws-s3-assets" "1.96.0" - "@aws-cdk/aws-secretsmanager" "1.96.0" - "@aws-cdk/core" "1.96.0" - "@aws-cdk/region-info" "1.96.0" - "@aws-cdk/yaml-cfn" "1.96.0" +"@aws-cdk/aws-codebuild@1.99.0": + version "1.99.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-codebuild/-/aws-codebuild-1.99.0.tgz#dc6e2f84cce8b661ed35fb16b4de8d405497a216" + integrity sha512-apM3B2eFYyw9r1qjk1UrkGXoqX4KJaJbFv1tpnew2eYuNz1+upV+8/9WBV0LnnyoFXRTUOeDjF4jM0N/8KiqNw== + dependencies: + "@aws-cdk/aws-cloudwatch" "1.99.0" + "@aws-cdk/aws-codecommit" "1.99.0" + "@aws-cdk/aws-ec2" "1.99.0" + "@aws-cdk/aws-ecr" "1.99.0" + "@aws-cdk/aws-ecr-assets" "1.99.0" + "@aws-cdk/aws-events" "1.99.0" + "@aws-cdk/aws-iam" "1.99.0" + "@aws-cdk/aws-kms" "1.99.0" + "@aws-cdk/aws-logs" "1.99.0" + "@aws-cdk/aws-s3" "1.99.0" + "@aws-cdk/aws-s3-assets" "1.99.0" + "@aws-cdk/aws-secretsmanager" "1.99.0" + "@aws-cdk/core" "1.99.0" + "@aws-cdk/region-info" "1.99.0" constructs "^3.3.69" + yaml "1.10.2" -"@aws-cdk/aws-codecommit@1.96.0": - version "1.96.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-codecommit/-/aws-codecommit-1.96.0.tgz#f1efd0d90a581076ac202ff9bd31ae5b51179de8" - integrity sha512-sJb6K5U/9B55nmPuV6cer0FBWl8+IWYd7wJs+5jofXSEQ/PghiNGd0KAg+TSEbMTB3A/BxBTW0dnwXb076caQg== +"@aws-cdk/aws-codecommit@1.99.0": + version "1.99.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-codecommit/-/aws-codecommit-1.99.0.tgz#7afa0fa4380d0e7113264aa9e17632591e33c678" + integrity sha512-OtZx2dM1CC3h5JyycN30vAv8bMHNewEQom4l9JKLqf6nOAlioG7S+pR5CfpzT4l6ObnBs1tcuRvO9m5ZkrWdZw== dependencies: - "@aws-cdk/aws-events" "1.96.0" - "@aws-cdk/aws-iam" "1.96.0" - "@aws-cdk/core" "1.96.0" + "@aws-cdk/aws-events" "1.99.0" + "@aws-cdk/aws-iam" "1.99.0" + "@aws-cdk/core" "1.99.0" constructs "^3.3.69" -"@aws-cdk/aws-codeguruprofiler@1.96.0": - version "1.96.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-codeguruprofiler/-/aws-codeguruprofiler-1.96.0.tgz#fa6bde85d23e90c5dcbff0646691a682232b8b2d" - integrity sha512-P+7U76bKLB0MDKCer6w1JqfnzmN05Ezi4SfqXMjURj89DB8sHs0SxUvkfGd2oN4VgeWa3S9Ko4KUmihNS59ILA== +"@aws-cdk/aws-codeguruprofiler@1.99.0": + version "1.99.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-codeguruprofiler/-/aws-codeguruprofiler-1.99.0.tgz#631fd2b366e2969c8b8fc375b97fc6a823d7c1e8" + integrity sha512-Z6KVvhIawIw36kKaEB27u9QOO+cCbhA+EsBHVT2slFrMCxHw46iAzqP6vxiW39GBZbsas5ZpHczDDiNJEsFQBQ== dependencies: - "@aws-cdk/aws-iam" "1.96.0" - "@aws-cdk/core" "1.96.0" + "@aws-cdk/aws-iam" "1.99.0" + "@aws-cdk/core" "1.99.0" constructs "^3.3.69" -"@aws-cdk/aws-codepipeline@1.96.0": - version "1.96.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-codepipeline/-/aws-codepipeline-1.96.0.tgz#b0b9321b801554d573c5478e6b4c652f50b0f331" - integrity sha512-2t5fagyGIFuKKuvzCLmip+fTEujfBeLyStjlqTUyC6t5MHFAqqX5oxtjccUJpiMQqAmJzK7WYTHAdY1FKFKiWw== +"@aws-cdk/aws-codepipeline@1.99.0": + version "1.99.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-codepipeline/-/aws-codepipeline-1.99.0.tgz#3fc64eb273349cdcbed6fdf6dc8ba3bde9e353b0" + integrity sha512-6h/YYLri+q+wbS0dYjgYeUteMSlQPMYbDLfVwrFKdaO3whOY120u8mWgFggcF3xDmYlcdXp5bpz8N1sISREZpQ== dependencies: - "@aws-cdk/aws-events" "1.96.0" - "@aws-cdk/aws-iam" "1.96.0" - "@aws-cdk/aws-kms" "1.96.0" - "@aws-cdk/aws-s3" "1.96.0" - "@aws-cdk/core" "1.96.0" + "@aws-cdk/aws-events" "1.99.0" + "@aws-cdk/aws-iam" "1.99.0" + "@aws-cdk/aws-kms" "1.99.0" + "@aws-cdk/aws-s3" "1.99.0" + "@aws-cdk/core" "1.99.0" constructs "^3.3.69" -"@aws-cdk/aws-cognito@1.96.0": - version "1.96.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-cognito/-/aws-cognito-1.96.0.tgz#3bb68dabe178a50e21419990e4561574b70acc63" - integrity sha512-TSo/jmGv9mWvj8MgBH0LMQ+IatP54sKqywBuREEy0qnNma/Uuii7JYZ4/YYXqc7hNtWyUNNXr+jzj89elI6w4w== +"@aws-cdk/aws-cognito@1.99.0": + version "1.99.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-cognito/-/aws-cognito-1.99.0.tgz#6abe9b8788b8b515854d73e570486d9b4648d6aa" + integrity sha512-uHZ8HCaGh+gOpSKludz7bFCHxzGaS1nmt1Yy5VqGYWUEu7z7EfTybw3zAi4w0Is+pgdesdKsl2LU8Q5wzqREcw== dependencies: - "@aws-cdk/aws-certificatemanager" "1.96.0" - "@aws-cdk/aws-iam" "1.96.0" - "@aws-cdk/aws-lambda" "1.96.0" - "@aws-cdk/core" "1.96.0" - "@aws-cdk/custom-resources" "1.96.0" + "@aws-cdk/aws-certificatemanager" "1.99.0" + "@aws-cdk/aws-iam" "1.99.0" + "@aws-cdk/aws-lambda" "1.99.0" + "@aws-cdk/core" "1.99.0" + "@aws-cdk/custom-resources" "1.99.0" constructs "^3.3.69" punycode "^2.1.1" -"@aws-cdk/aws-databrew@1.96.0": - version "1.96.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-databrew/-/aws-databrew-1.96.0.tgz#5936364e5962f6b22783d79b501a448a01e4add1" - integrity sha512-qoE4IHZ8Ps2iw6EVCwNV3VdN2jVcpEIAhxjht/98WMNI1k81yFzYngLqzJj7e3QPnSWslT4jLi52IVXwi1+tgQ== +"@aws-cdk/aws-databrew@1.99.0": + version "1.99.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-databrew/-/aws-databrew-1.99.0.tgz#17285131856a504dd75a8a630deab38a42ddcd41" + integrity sha512-qVUGisTfCWOgfNauQJQQ1zFJ3HZ5s5NpP1SZmqBI77EQY0bU3l+9FOxnXPVJaFyVwmfEVILmgmCuzffS8NrYhw== dependencies: - "@aws-cdk/core" "1.96.0" + "@aws-cdk/core" "1.99.0" -"@aws-cdk/aws-docdb@1.96.0": - version "1.96.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-docdb/-/aws-docdb-1.96.0.tgz#dca7ca544e8dd4db206b9bc04ad0dd14fd1535c7" - integrity sha512-SGuyMuNrQBkk7gb8OcOy/OFLrF42DSaJVCMWmgTLkX6YozaDTKHCZO3i8+ZB2uz61iWxRF8kfpfdXptWGmleQw== +"@aws-cdk/aws-docdb@1.99.0": + version "1.99.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-docdb/-/aws-docdb-1.99.0.tgz#028fbf6be24a4910901dfe7c24a343b937e3fee9" + integrity sha512-qCel6xwgNrO+yYnj+WwtyrpTufQ3uWePNxfNJVkKQL+TTWf0bIuA0/aBjJi+N05KmlvnKgxwLGouaTOJZYdq8A== dependencies: - "@aws-cdk/aws-ec2" "1.96.0" - "@aws-cdk/aws-efs" "1.96.0" - "@aws-cdk/aws-kms" "1.96.0" - "@aws-cdk/aws-secretsmanager" "1.96.0" - "@aws-cdk/core" "1.96.0" + "@aws-cdk/aws-ec2" "1.99.0" + "@aws-cdk/aws-efs" "1.99.0" + "@aws-cdk/aws-kms" "1.99.0" + "@aws-cdk/aws-secretsmanager" "1.99.0" + "@aws-cdk/core" "1.99.0" constructs "^3.3.69" -"@aws-cdk/aws-dynamodb@1.96.0": - version "1.96.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-dynamodb/-/aws-dynamodb-1.96.0.tgz#25d0b23dd843ab7cf1e14fcb87ffe792877fc942" - integrity sha512-Q8cpBG6RBR8YTKVqJ/L5WuHRHe2aJXaQhrGvFb7nxeamxsakH2MtumUFJX8DHV+zyYN1KHOaWonPYHC4UVjusw== - dependencies: - "@aws-cdk/aws-applicationautoscaling" "1.96.0" - "@aws-cdk/aws-cloudwatch" "1.96.0" - "@aws-cdk/aws-iam" "1.96.0" - "@aws-cdk/aws-kms" "1.96.0" - "@aws-cdk/aws-lambda" "1.96.0" - "@aws-cdk/core" "1.96.0" - "@aws-cdk/custom-resources" "1.96.0" +"@aws-cdk/aws-dynamodb@1.99.0": + version "1.99.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-dynamodb/-/aws-dynamodb-1.99.0.tgz#42b86a6b05f947298592039e4ebae4a18eaf7037" + integrity sha512-fH8iS6HoFxp7NhamY3A5f8C9NlBYQFNCEI5Jk6BCMqbg/v20m2JZMpXai0txdzV82ipjQb1grQ/0XXjMadWl1w== + dependencies: + "@aws-cdk/aws-applicationautoscaling" "1.99.0" + "@aws-cdk/aws-cloudwatch" "1.99.0" + "@aws-cdk/aws-iam" "1.99.0" + "@aws-cdk/aws-kms" "1.99.0" + "@aws-cdk/aws-lambda" "1.99.0" + "@aws-cdk/core" "1.99.0" + "@aws-cdk/custom-resources" "1.99.0" constructs "^3.3.69" -"@aws-cdk/aws-ec2@1.96.0": - version "1.96.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-ec2/-/aws-ec2-1.96.0.tgz#4799911fe4a4f67678996d3a0c2c9720107faaae" - integrity sha512-jU5gpfFm5ZKVznHgHk7TD9luthg2lcsBhQJC7K3ZkRqKf0UZiAyhy5qQs1SYYPIl5DikYAWHOjJRKtUbsXDT/w== - dependencies: - "@aws-cdk/aws-cloudwatch" "1.96.0" - "@aws-cdk/aws-iam" "1.96.0" - "@aws-cdk/aws-kms" "1.96.0" - "@aws-cdk/aws-logs" "1.96.0" - "@aws-cdk/aws-s3" "1.96.0" - "@aws-cdk/aws-s3-assets" "1.96.0" - "@aws-cdk/aws-ssm" "1.96.0" - "@aws-cdk/cloud-assembly-schema" "1.96.0" - "@aws-cdk/core" "1.96.0" - "@aws-cdk/cx-api" "1.96.0" - "@aws-cdk/region-info" "1.96.0" +"@aws-cdk/aws-ec2@1.99.0": + version "1.99.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-ec2/-/aws-ec2-1.99.0.tgz#8589c3ea8769d9e41ed99bcf6b820f12500e07f3" + integrity sha512-8hbr+kq1rTGsscTmcQ4DRLmn2pWuKiw4Of0YKGi888+TCohZ4+0LxEQOhb4zWNWwAI+wb60btnylO5S76DpnBA== + dependencies: + "@aws-cdk/aws-cloudwatch" "1.99.0" + "@aws-cdk/aws-iam" "1.99.0" + "@aws-cdk/aws-kms" "1.99.0" + "@aws-cdk/aws-logs" "1.99.0" + "@aws-cdk/aws-s3" "1.99.0" + "@aws-cdk/aws-s3-assets" "1.99.0" + "@aws-cdk/aws-ssm" "1.99.0" + "@aws-cdk/cloud-assembly-schema" "1.99.0" + "@aws-cdk/core" "1.99.0" + "@aws-cdk/cx-api" "1.99.0" + "@aws-cdk/region-info" "1.99.0" constructs "^3.3.69" -"@aws-cdk/aws-ecr-assets@1.96.0": - version "1.96.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-ecr-assets/-/aws-ecr-assets-1.96.0.tgz#9c50b0dbe03c96dd6f5210c0bed859785e648404" - integrity sha512-3jbVxgeTaZ+D+rjqG71xxjWT6qggI7txhDanQjhmHEC4ND6Ac/dKwzhNwtsU/lKA825GTNinihY2RH5lF43RsA== - dependencies: - "@aws-cdk/assets" "1.96.0" - "@aws-cdk/aws-ecr" "1.96.0" - "@aws-cdk/aws-iam" "1.96.0" - "@aws-cdk/aws-s3" "1.96.0" - "@aws-cdk/core" "1.96.0" - "@aws-cdk/cx-api" "1.96.0" +"@aws-cdk/aws-ecr-assets@1.99.0": + version "1.99.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-ecr-assets/-/aws-ecr-assets-1.99.0.tgz#bd242783e945002026f9c627d9bb2e63cb6796bc" + integrity sha512-gteMIaQZtXKJssTT3PFD4TOiP5nZXPIEXt2TXfakafNu9kkOhM/XLTbjJgs9mhbJDoqiVrjttLCjtpZ8uYDgaw== + dependencies: + "@aws-cdk/assets" "1.99.0" + "@aws-cdk/aws-ecr" "1.99.0" + "@aws-cdk/aws-iam" "1.99.0" + "@aws-cdk/aws-s3" "1.99.0" + "@aws-cdk/core" "1.99.0" + "@aws-cdk/cx-api" "1.99.0" constructs "^3.3.69" minimatch "^3.0.4" -"@aws-cdk/aws-ecr@1.96.0": - version "1.96.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-ecr/-/aws-ecr-1.96.0.tgz#1b7d3b2da1ef29f9a2cbf9d9bb887c9f94a77f83" - integrity sha512-URY1abET2RxDTzm67jU/D7kM8xqV3wMu2W6lxwvIabO8x9K9EqTFZ5ZSaC3bO+4OKZ0L+1RGAHRoUY4mOUpe/g== +"@aws-cdk/aws-ecr@1.99.0": + version "1.99.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-ecr/-/aws-ecr-1.99.0.tgz#0d09f8e59e9bbb49ad9ad1edc973576fdd4e045f" + integrity sha512-lCj2p1cLzkBohLUJHrN1B3T21LD1druyMQFL961tl81ssYUaIDALvHjjPVfCbX9cmHgBgnrxk9HT8UI+u7+51A== dependencies: - "@aws-cdk/aws-events" "1.96.0" - "@aws-cdk/aws-iam" "1.96.0" - "@aws-cdk/core" "1.96.0" + "@aws-cdk/aws-events" "1.99.0" + "@aws-cdk/aws-iam" "1.99.0" + "@aws-cdk/core" "1.99.0" constructs "^3.3.69" -"@aws-cdk/aws-ecs-patterns@1.96.0": - version "1.96.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-ecs-patterns/-/aws-ecs-patterns-1.96.0.tgz#e62b2315e7d609eb322ec7267a0d7149aa2e7e9c" - integrity sha512-8qr2D4oqJPOE7mK3T5DMplZH9wu8CJXzojK39jRTTN7eGrR+FXPMGYg17mFOTs603E+VEw2c3aOMxnI3h37MGA== - dependencies: - "@aws-cdk/aws-applicationautoscaling" "1.96.0" - "@aws-cdk/aws-certificatemanager" "1.96.0" - "@aws-cdk/aws-ec2" "1.96.0" - "@aws-cdk/aws-ecs" "1.96.0" - "@aws-cdk/aws-elasticloadbalancingv2" "1.96.0" - "@aws-cdk/aws-events" "1.96.0" - "@aws-cdk/aws-events-targets" "1.96.0" - "@aws-cdk/aws-iam" "1.96.0" - "@aws-cdk/aws-route53" "1.96.0" - "@aws-cdk/aws-route53-targets" "1.96.0" - "@aws-cdk/aws-servicediscovery" "1.96.0" - "@aws-cdk/aws-sqs" "1.96.0" - "@aws-cdk/core" "1.96.0" - "@aws-cdk/cx-api" "1.96.0" +"@aws-cdk/aws-ecs-patterns@1.99.0": + version "1.99.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-ecs-patterns/-/aws-ecs-patterns-1.99.0.tgz#74c6a518f3197b39d9366073f263c429339040a7" + integrity sha512-j7MQst1Eoif40RlYoxA/TNBC1oHaqtbfg/UP9R+Zacyb/zg5oHLFV3GY3oZ9/aTRaESI7W1vWvXX0JFfv4FKfQ== + dependencies: + "@aws-cdk/aws-applicationautoscaling" "1.99.0" + "@aws-cdk/aws-certificatemanager" "1.99.0" + "@aws-cdk/aws-ec2" "1.99.0" + "@aws-cdk/aws-ecs" "1.99.0" + "@aws-cdk/aws-elasticloadbalancingv2" "1.99.0" + "@aws-cdk/aws-events" "1.99.0" + "@aws-cdk/aws-events-targets" "1.99.0" + "@aws-cdk/aws-iam" "1.99.0" + "@aws-cdk/aws-route53" "1.99.0" + "@aws-cdk/aws-route53-targets" "1.99.0" + "@aws-cdk/aws-servicediscovery" "1.99.0" + "@aws-cdk/aws-sqs" "1.99.0" + "@aws-cdk/core" "1.99.0" + "@aws-cdk/cx-api" "1.99.0" constructs "^3.3.69" -"@aws-cdk/aws-ecs@1.96.0": - version "1.96.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-ecs/-/aws-ecs-1.96.0.tgz#6d814ce3e9a1489736082c9cf294f0e123808af3" - integrity sha512-FrXJYfT8iUUeVlTk90NE43vZ6klMNNIU/yVM/TNtiyUm+cFeQOHybHor6R47auQ/fffihia+ZxAjK77UXNrqqA== - dependencies: - "@aws-cdk/aws-applicationautoscaling" "1.96.0" - "@aws-cdk/aws-autoscaling" "1.96.0" - "@aws-cdk/aws-autoscaling-hooktargets" "1.96.0" - "@aws-cdk/aws-certificatemanager" "1.96.0" - "@aws-cdk/aws-cloudwatch" "1.96.0" - "@aws-cdk/aws-ec2" "1.96.0" - "@aws-cdk/aws-ecr" "1.96.0" - "@aws-cdk/aws-ecr-assets" "1.96.0" - "@aws-cdk/aws-elasticloadbalancing" "1.96.0" - "@aws-cdk/aws-elasticloadbalancingv2" "1.96.0" - "@aws-cdk/aws-iam" "1.96.0" - "@aws-cdk/aws-kms" "1.96.0" - "@aws-cdk/aws-lambda" "1.96.0" - "@aws-cdk/aws-logs" "1.96.0" - "@aws-cdk/aws-route53" "1.96.0" - "@aws-cdk/aws-route53-targets" "1.96.0" - "@aws-cdk/aws-s3" "1.96.0" - "@aws-cdk/aws-s3-assets" "1.96.0" - "@aws-cdk/aws-secretsmanager" "1.96.0" - "@aws-cdk/aws-servicediscovery" "1.96.0" - "@aws-cdk/aws-sns" "1.96.0" - "@aws-cdk/aws-sqs" "1.96.0" - "@aws-cdk/aws-ssm" "1.96.0" - "@aws-cdk/core" "1.96.0" - "@aws-cdk/cx-api" "1.96.0" +"@aws-cdk/aws-ecs@1.99.0": + version "1.99.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-ecs/-/aws-ecs-1.99.0.tgz#fd0c49db10f2c43bc1e0be579c5efefc7fed9c60" + integrity sha512-fLlme51YA2dFKRKRPPoxer4n81e9PEGJ1US7/z0NyBaB1EAmcEbV8tjl81EkeJH8gVetmlnL1kF8TzjTnLAHlw== + dependencies: + "@aws-cdk/aws-applicationautoscaling" "1.99.0" + "@aws-cdk/aws-autoscaling" "1.99.0" + "@aws-cdk/aws-autoscaling-hooktargets" "1.99.0" + "@aws-cdk/aws-certificatemanager" "1.99.0" + "@aws-cdk/aws-cloudwatch" "1.99.0" + "@aws-cdk/aws-ec2" "1.99.0" + "@aws-cdk/aws-ecr" "1.99.0" + "@aws-cdk/aws-ecr-assets" "1.99.0" + "@aws-cdk/aws-elasticloadbalancing" "1.99.0" + "@aws-cdk/aws-elasticloadbalancingv2" "1.99.0" + "@aws-cdk/aws-iam" "1.99.0" + "@aws-cdk/aws-kms" "1.99.0" + "@aws-cdk/aws-lambda" "1.99.0" + "@aws-cdk/aws-logs" "1.99.0" + "@aws-cdk/aws-route53" "1.99.0" + "@aws-cdk/aws-route53-targets" "1.99.0" + "@aws-cdk/aws-s3" "1.99.0" + "@aws-cdk/aws-s3-assets" "1.99.0" + "@aws-cdk/aws-secretsmanager" "1.99.0" + "@aws-cdk/aws-servicediscovery" "1.99.0" + "@aws-cdk/aws-sns" "1.99.0" + "@aws-cdk/aws-sqs" "1.99.0" + "@aws-cdk/aws-ssm" "1.99.0" + "@aws-cdk/core" "1.99.0" + "@aws-cdk/cx-api" "1.99.0" constructs "^3.3.69" -"@aws-cdk/aws-efs@1.96.0": - version "1.96.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-efs/-/aws-efs-1.96.0.tgz#f0b0971b014159d7f72113f7baf837219902b26c" - integrity sha512-oxAzIitrA82J0jFPAz/qvOL+d6YpxwArXJFDrNAPHZ64UgFMMv6lPTgaOMhe+MNN7S6DJMJ6EPmyRJnRg77Xgw== +"@aws-cdk/aws-efs@1.99.0": + version "1.99.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-efs/-/aws-efs-1.99.0.tgz#edf8a4190eca9b427af96fe2caa0098562c2b0d1" + integrity sha512-b8h991ATOTjiB3oLGHdgsNMwR/dfHehNlL/98K4lA+bXjU3fhMGR1Llgg2jgxXa0VuXhf6tK2f+8oXIByU1VRQ== dependencies: - "@aws-cdk/aws-ec2" "1.96.0" - "@aws-cdk/aws-kms" "1.96.0" - "@aws-cdk/cloud-assembly-schema" "1.96.0" - "@aws-cdk/core" "1.96.0" - "@aws-cdk/cx-api" "1.96.0" + "@aws-cdk/aws-ec2" "1.99.0" + "@aws-cdk/aws-kms" "1.99.0" + "@aws-cdk/cloud-assembly-schema" "1.99.0" + "@aws-cdk/core" "1.99.0" + "@aws-cdk/cx-api" "1.99.0" constructs "^3.3.69" -"@aws-cdk/aws-eks@1.96.0": - version "1.96.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-eks/-/aws-eks-1.96.0.tgz#7636d678a1396eee9fd6cb7f2c372fe91f15ac42" - integrity sha512-ejU7JuPj/0iIiXKOv9et/vfWorjIbmo58rE4CASjjeaxNWcfQ1WMK95TO5RWbwiFURB74V2cVmRM60he+rpyRA== - dependencies: - "@aws-cdk/aws-autoscaling" "1.96.0" - "@aws-cdk/aws-ec2" "1.96.0" - "@aws-cdk/aws-iam" "1.96.0" - "@aws-cdk/aws-kms" "1.96.0" - "@aws-cdk/aws-lambda" "1.96.0" - "@aws-cdk/aws-ssm" "1.96.0" - "@aws-cdk/core" "1.96.0" - "@aws-cdk/custom-resources" "1.96.0" - "@aws-cdk/lambda-layer-awscli" "1.96.0" - "@aws-cdk/lambda-layer-kubectl" "1.96.0" +"@aws-cdk/aws-eks@1.99.0": + version "1.99.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-eks/-/aws-eks-1.99.0.tgz#3faeebf2a10b0fccee2b4bddd4493401d63ad87c" + integrity sha512-KjNX1jqCX4axqFz95t0BVOOpGgRxrNEfU+VtpCLBVQxKzOqHS+hRaMdY6ZeaKmFy+mq0AgF1GrdN6kWPJFunuw== + dependencies: + "@aws-cdk/aws-autoscaling" "1.99.0" + "@aws-cdk/aws-ec2" "1.99.0" + "@aws-cdk/aws-iam" "1.99.0" + "@aws-cdk/aws-kms" "1.99.0" + "@aws-cdk/aws-lambda" "1.99.0" + "@aws-cdk/aws-ssm" "1.99.0" + "@aws-cdk/core" "1.99.0" + "@aws-cdk/custom-resources" "1.99.0" + "@aws-cdk/lambda-layer-awscli" "1.99.0" + "@aws-cdk/lambda-layer-kubectl" "1.99.0" constructs "^3.3.69" yaml "1.10.2" -"@aws-cdk/aws-elasticloadbalancing@1.96.0": - version "1.96.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-elasticloadbalancing/-/aws-elasticloadbalancing-1.96.0.tgz#07f4a9d32a92c6f475fa54afdf94c405f028a5f6" - integrity sha512-hesfjjB69kWiQW+4Mwye7cnnNJN758CNH6Kekbbkm92IKDa37w/da2RZJzwvOQ1NZ8GWJuSH22/PqGuwEplKOw== +"@aws-cdk/aws-elasticloadbalancing@1.99.0": + version "1.99.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-elasticloadbalancing/-/aws-elasticloadbalancing-1.99.0.tgz#59e097c1f1b88453f51c2108cc18906e9ec8e035" + integrity sha512-835AvgbybQQQCXugH3Tx4MCIrFsIDFqWxwP/XCZv9I+LDqyDqu7KaXOvSFUtSwDmVa2TEBx1EInkK0SEzxVsNg== dependencies: - "@aws-cdk/aws-ec2" "1.96.0" - "@aws-cdk/core" "1.96.0" + "@aws-cdk/aws-ec2" "1.99.0" + "@aws-cdk/core" "1.99.0" constructs "^3.3.69" -"@aws-cdk/aws-elasticloadbalancingv2@1.96.0": - version "1.96.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-elasticloadbalancingv2/-/aws-elasticloadbalancingv2-1.96.0.tgz#fc4f5b1a24857e6a94af38ffdcd2eed81cc2f969" - integrity sha512-hb03P0x6ISZlX96AkPRHJ4dkNnWcGbR+qmXv1vhr8erBoBDEzYDxuBn8D2POiNGPD+/nWzmYNZyOr9P2ptq05A== - dependencies: - "@aws-cdk/aws-certificatemanager" "1.96.0" - "@aws-cdk/aws-cloudwatch" "1.96.0" - "@aws-cdk/aws-ec2" "1.96.0" - "@aws-cdk/aws-iam" "1.96.0" - "@aws-cdk/aws-lambda" "1.96.0" - "@aws-cdk/aws-s3" "1.96.0" - "@aws-cdk/cloud-assembly-schema" "1.96.0" - "@aws-cdk/core" "1.96.0" - "@aws-cdk/cx-api" "1.96.0" - "@aws-cdk/region-info" "1.96.0" +"@aws-cdk/aws-elasticloadbalancingv2@1.99.0": + version "1.99.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-elasticloadbalancingv2/-/aws-elasticloadbalancingv2-1.99.0.tgz#a61ecb4a8c22e9f6a504eb505fd2abfbce10c43d" + integrity sha512-LrsCZJHq8YmAJLi6sFXsjgWqE9e+alJb43vW3XmbcErlmZCCsru76d3YHPhllE4P6E5J1geU6rZwlCbQZy7apw== + dependencies: + "@aws-cdk/aws-certificatemanager" "1.99.0" + "@aws-cdk/aws-cloudwatch" "1.99.0" + "@aws-cdk/aws-ec2" "1.99.0" + "@aws-cdk/aws-iam" "1.99.0" + "@aws-cdk/aws-lambda" "1.99.0" + "@aws-cdk/aws-s3" "1.99.0" + "@aws-cdk/cloud-assembly-schema" "1.99.0" + "@aws-cdk/core" "1.99.0" + "@aws-cdk/cx-api" "1.99.0" + "@aws-cdk/region-info" "1.99.0" constructs "^3.3.69" -"@aws-cdk/aws-events-targets@1.96.0": - version "1.96.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-events-targets/-/aws-events-targets-1.96.0.tgz#21c840881b8543591b2c709d336a1ae7614f5101" - integrity sha512-3vbhpCxJdbM+rQtqM3OaeQ8PvFgMwBwZXjpE7P3R9QrbwGJ667/tp0WIqV8SoJoQTYammfKd5bkCVP3fAkZJVg== - dependencies: - "@aws-cdk/aws-batch" "1.96.0" - "@aws-cdk/aws-codebuild" "1.96.0" - "@aws-cdk/aws-codepipeline" "1.96.0" - "@aws-cdk/aws-ec2" "1.96.0" - "@aws-cdk/aws-ecs" "1.96.0" - "@aws-cdk/aws-events" "1.96.0" - "@aws-cdk/aws-iam" "1.96.0" - "@aws-cdk/aws-kinesis" "1.96.0" - "@aws-cdk/aws-kinesisfirehose" "1.96.0" - "@aws-cdk/aws-lambda" "1.96.0" - "@aws-cdk/aws-logs" "1.96.0" - "@aws-cdk/aws-sns" "1.96.0" - "@aws-cdk/aws-sns-subscriptions" "1.96.0" - "@aws-cdk/aws-sqs" "1.96.0" - "@aws-cdk/aws-stepfunctions" "1.96.0" - "@aws-cdk/core" "1.96.0" - "@aws-cdk/custom-resources" "1.96.0" +"@aws-cdk/aws-events-targets@1.99.0": + version "1.99.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-events-targets/-/aws-events-targets-1.99.0.tgz#a6cedcc146d05457fdde6f5c91c21914ef03b7e1" + integrity sha512-px0swfxUcz5KqIjV9baiy9heUvq7f392Ge0iUtwGlBRn3twVX86Lsw/RMwAjacT4tRiMKeO8VgAa3DMgv3AaJA== + dependencies: + "@aws-cdk/aws-batch" "1.99.0" + "@aws-cdk/aws-codebuild" "1.99.0" + "@aws-cdk/aws-codepipeline" "1.99.0" + "@aws-cdk/aws-ec2" "1.99.0" + "@aws-cdk/aws-ecs" "1.99.0" + "@aws-cdk/aws-events" "1.99.0" + "@aws-cdk/aws-iam" "1.99.0" + "@aws-cdk/aws-kinesis" "1.99.0" + "@aws-cdk/aws-kinesisfirehose" "1.99.0" + "@aws-cdk/aws-lambda" "1.99.0" + "@aws-cdk/aws-logs" "1.99.0" + "@aws-cdk/aws-sns" "1.99.0" + "@aws-cdk/aws-sns-subscriptions" "1.99.0" + "@aws-cdk/aws-sqs" "1.99.0" + "@aws-cdk/aws-stepfunctions" "1.99.0" + "@aws-cdk/core" "1.99.0" + "@aws-cdk/custom-resources" "1.99.0" constructs "^3.3.69" -"@aws-cdk/aws-events@1.96.0": - version "1.96.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-events/-/aws-events-1.96.0.tgz#0992fa7a77cf17a6eb577808ba8e8c5153763704" - integrity sha512-sbfwjyvpRiDIKnJ9T4wDyv9e1783bzHPBalZqoUCmITXEDzETM1JR6lvsEbnIdzLlutx2MALIL4fKc9lWmeMVA== +"@aws-cdk/aws-events@1.99.0": + version "1.99.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-events/-/aws-events-1.99.0.tgz#f4a041b16893b1a19b935f58a68e7afd741bd01c" + integrity sha512-TzGfdgRNYMVtep74GJgzraLDyhAcj/y8O34svusKJCIrIIqMMbFt4f0hUHZf+2Xe+oLw1qnjBlsQlnBaLohusw== dependencies: - "@aws-cdk/aws-iam" "1.96.0" - "@aws-cdk/core" "1.96.0" + "@aws-cdk/aws-iam" "1.99.0" + "@aws-cdk/core" "1.99.0" constructs "^3.3.69" -"@aws-cdk/aws-globalaccelerator@1.96.0": - version "1.96.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-globalaccelerator/-/aws-globalaccelerator-1.96.0.tgz#e7c6a90fe2d9f9caf1b21405bd95b2b4fed8092a" - integrity sha512-QmyoEyhQn1DeQ+BvRwbqsRgf4HrIhfDbsKnrQptGvjtdqhBkcixSFupkpp34AfyOuNAv1pXFn8F4itTC8/chnQ== +"@aws-cdk/aws-globalaccelerator@1.99.0": + version "1.99.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-globalaccelerator/-/aws-globalaccelerator-1.99.0.tgz#ceefa5f34c23116378601ef1addb8e4324850811" + integrity sha512-8en+Q0W6HXyKEoHjIV5YoCrV4OIBsC1LlvOHE2y0w4E2yjvXRzfTGMiEm6rdkha+DZU47ptYlRTs4bemY0AJhQ== dependencies: - "@aws-cdk/aws-ec2" "1.96.0" - "@aws-cdk/core" "1.96.0" - "@aws-cdk/custom-resources" "1.96.0" + "@aws-cdk/aws-ec2" "1.99.0" + "@aws-cdk/core" "1.99.0" + "@aws-cdk/custom-resources" "1.99.0" constructs "^3.3.69" -"@aws-cdk/aws-glue@1.96.0": - version "1.96.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-glue/-/aws-glue-1.96.0.tgz#4402dee15c5513d7e758d4c5b1e5ed41bd166222" - integrity sha512-Ne6QrAhFoayp0qtPYGwnjEY8/XOTUlzHOMy8pTm3BACFXiYwOYSb1oDyqyTQtpMixr0CuoVSc0dhYXNzuyteQg== +"@aws-cdk/aws-glue@1.99.0": + version "1.99.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-glue/-/aws-glue-1.99.0.tgz#615c0ee5105e75f66734114bffc4839485067764" + integrity sha512-GaRMzjEdFFS+3G2Lb5oB46aPzObK5fFkq1pmUjkKV82l0Oj7AXv9ZjPQvDg5baae8G/YOw41p/LCQCIzJzVMnw== dependencies: - "@aws-cdk/aws-ec2" "1.96.0" - "@aws-cdk/aws-iam" "1.96.0" - "@aws-cdk/aws-kms" "1.96.0" - "@aws-cdk/aws-s3" "1.96.0" - "@aws-cdk/core" "1.96.0" + "@aws-cdk/aws-ec2" "1.99.0" + "@aws-cdk/aws-iam" "1.99.0" + "@aws-cdk/aws-kms" "1.99.0" + "@aws-cdk/aws-s3" "1.99.0" + "@aws-cdk/core" "1.99.0" constructs "^3.3.69" -"@aws-cdk/aws-iam@1.96.0": - version "1.96.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-iam/-/aws-iam-1.96.0.tgz#6c179296e4d9d16ac596fadab6410ddc03ca4d34" - integrity sha512-ikpmhDFgmhZmvU89aVon0BVtJS85ez/VqlE9Xvo3UBEKjoCt5ptvIX9tqbqlBp3FwKWvOEXVgKE81kn5OWvDWg== +"@aws-cdk/aws-iam@1.99.0": + version "1.99.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-iam/-/aws-iam-1.99.0.tgz#06ff60e44f2a46cb3458abb041c4b37efb2de5a1" + integrity sha512-h3r8Af1dq/TU+MvVC1AAA+RM7qcvkzRBaWRPbOdmlpVfPMxX+QTcoJTCL284EJpcM7P8KbgYKSOBn/8IuuVs5Q== dependencies: - "@aws-cdk/core" "1.96.0" - "@aws-cdk/region-info" "1.96.0" + "@aws-cdk/core" "1.99.0" + "@aws-cdk/region-info" "1.99.0" constructs "^3.3.69" -"@aws-cdk/aws-imagebuilder@1.96.0": - version "1.96.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-imagebuilder/-/aws-imagebuilder-1.96.0.tgz#5b3f3b74b2a8422e6189638187b77c9678c45da7" - integrity sha512-BPLiaVQ+kMld6KhFdeKizASr24TzI3kXx2iICD6oXTySIgB/XvgmMXsgo2dBcyqe8d1TSRiBE8y3qymxl1E9mw== +"@aws-cdk/aws-imagebuilder@1.99.0": + version "1.99.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-imagebuilder/-/aws-imagebuilder-1.99.0.tgz#d0fa0dd2ca5b4df547cea9910e914640733b81d8" + integrity sha512-oAcUz5C/4ujM6FX7bPWyLT9EmOFpNkUQ/SRVoAS2V3F+lvM/CnxMkLe/zqklzjOEIWFTQERa4VwVXcqpZ5otBg== dependencies: - "@aws-cdk/core" "1.96.0" + "@aws-cdk/core" "1.99.0" -"@aws-cdk/aws-kinesis@1.96.0": - version "1.96.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-kinesis/-/aws-kinesis-1.96.0.tgz#4631efcdeb319940e3b43b3d0505273c2659f5b7" - integrity sha512-OicTtzSBh1Ww+72ILiZJ8yVLIzxvO8C977Gv1DNYhKdvsEw5TgNf+nwzIGJsIwL1JjjgYNPt03LMb+96kK9Qcw== +"@aws-cdk/aws-kinesis@1.99.0": + version "1.99.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-kinesis/-/aws-kinesis-1.99.0.tgz#13e7a285ac79c83d9c2fdc0e1c9a5916e381b5a9" + integrity sha512-jywheqiYHS/ZAzb3ahxByQadbM+X6Lbw++gOXqIAfVbgiLl3nI0FXh4xstYrdNXkDE4g40N7ei/SkbG4JgWflA== dependencies: - "@aws-cdk/aws-iam" "1.96.0" - "@aws-cdk/aws-kms" "1.96.0" - "@aws-cdk/aws-logs" "1.96.0" - "@aws-cdk/core" "1.96.0" + "@aws-cdk/aws-iam" "1.99.0" + "@aws-cdk/aws-kms" "1.99.0" + "@aws-cdk/aws-logs" "1.99.0" + "@aws-cdk/core" "1.99.0" constructs "^3.3.69" -"@aws-cdk/aws-kinesisfirehose@1.96.0": - version "1.96.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-kinesisfirehose/-/aws-kinesisfirehose-1.96.0.tgz#4d337960926598a05124445397186df97faaf4ac" - integrity sha512-GsLWeZ8Tb0Ig7ZAoFe91dYt54sYC24kFOT6wJMXkNOlK3uCZR5LVEAv9PbmJq4ts01MNqz6eoIFRGnz60ptcmw== +"@aws-cdk/aws-kinesisfirehose@1.99.0": + version "1.99.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-kinesisfirehose/-/aws-kinesisfirehose-1.99.0.tgz#6fea533522b9237c7a059673b7799a1c8b91474d" + integrity sha512-VBYobA8Ijd+B0reTUZX8tSs6NC3HowL3MnjtU5KXrJN8ypyAIP9njIZrcrYYfaHUrVQVQnBLSPaWCzKWMy5DdA== dependencies: - "@aws-cdk/core" "1.96.0" + "@aws-cdk/core" "1.99.0" constructs "^3.3.69" -"@aws-cdk/aws-kms@1.96.0": - version "1.96.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-kms/-/aws-kms-1.96.0.tgz#38be78453e42a98260c31aba58135fa2d6f332a7" - integrity sha512-yNtEsekR188JEFbS0AD5kDXUD2kQnzJd69GV+mNUcJtmwbJQVzs8m/wnZaVcx+Q8+qLEXPro2H0evCfyExJR5w== +"@aws-cdk/aws-kms@1.99.0": + version "1.99.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-kms/-/aws-kms-1.99.0.tgz#47aa9c45a606da8db8e40e27ea2fed7906c32e94" + integrity sha512-MyENmdg7KW3tjZeGu8vpUzkILlbY1MLzl+25q4J0DMkujy1CkSGFZUg/Uzjg71uV5BWrHxnkKxuCrOPzfM1EqA== dependencies: - "@aws-cdk/aws-iam" "1.96.0" - "@aws-cdk/core" "1.96.0" - "@aws-cdk/cx-api" "1.96.0" + "@aws-cdk/aws-iam" "1.99.0" + "@aws-cdk/core" "1.99.0" + "@aws-cdk/cx-api" "1.99.0" constructs "^3.3.69" -"@aws-cdk/aws-lambda@1.96.0": - version "1.96.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-lambda/-/aws-lambda-1.96.0.tgz#f1288ebfb50ab23082a8996c67309dcdc310ee93" - integrity sha512-U3j6ipy9gIrQEysE3jvSfBeBalkjxp6ZPNr3mOCECtgNcWhoHaoSmwwvGCvhbnsL6ZxjwwGH2Bm5raoWyeu9YQ== - dependencies: - "@aws-cdk/aws-applicationautoscaling" "1.96.0" - "@aws-cdk/aws-cloudwatch" "1.96.0" - "@aws-cdk/aws-codeguruprofiler" "1.96.0" - "@aws-cdk/aws-ec2" "1.96.0" - "@aws-cdk/aws-ecr" "1.96.0" - "@aws-cdk/aws-ecr-assets" "1.96.0" - "@aws-cdk/aws-efs" "1.96.0" - "@aws-cdk/aws-events" "1.96.0" - "@aws-cdk/aws-iam" "1.96.0" - "@aws-cdk/aws-kms" "1.96.0" - "@aws-cdk/aws-logs" "1.96.0" - "@aws-cdk/aws-s3" "1.96.0" - "@aws-cdk/aws-s3-assets" "1.96.0" - "@aws-cdk/aws-signer" "1.96.0" - "@aws-cdk/aws-sqs" "1.96.0" - "@aws-cdk/core" "1.96.0" - "@aws-cdk/cx-api" "1.96.0" +"@aws-cdk/aws-lambda@1.99.0": + version "1.99.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-lambda/-/aws-lambda-1.99.0.tgz#1ddcc60244020b4a3406fdffafeef4a7debac5e6" + integrity sha512-FKUtWx6nlkhWRDnq23elGNIvMphY+m7PPJgPn950x4mLGfl5n86F/5xHgqR+7Bt2tDzvoA5bUnOn+IDyt3ULTg== + dependencies: + "@aws-cdk/aws-applicationautoscaling" "1.99.0" + "@aws-cdk/aws-cloudwatch" "1.99.0" + "@aws-cdk/aws-codeguruprofiler" "1.99.0" + "@aws-cdk/aws-ec2" "1.99.0" + "@aws-cdk/aws-ecr" "1.99.0" + "@aws-cdk/aws-ecr-assets" "1.99.0" + "@aws-cdk/aws-efs" "1.99.0" + "@aws-cdk/aws-events" "1.99.0" + "@aws-cdk/aws-iam" "1.99.0" + "@aws-cdk/aws-kms" "1.99.0" + "@aws-cdk/aws-logs" "1.99.0" + "@aws-cdk/aws-s3" "1.99.0" + "@aws-cdk/aws-s3-assets" "1.99.0" + "@aws-cdk/aws-signer" "1.99.0" + "@aws-cdk/aws-sqs" "1.99.0" + "@aws-cdk/core" "1.99.0" + "@aws-cdk/cx-api" "1.99.0" constructs "^3.3.69" -"@aws-cdk/aws-logs@1.96.0": - version "1.96.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-logs/-/aws-logs-1.96.0.tgz#0f260b693fbc70e4440f47a9555b7dab8382ca58" - integrity sha512-LflFQ1Tz8VhiG4XHLqMmNw+AIM8chrnTjGoDulsOKASMcX254amLQYl137LLXpUI5eyr+P520o4XUh/AyRBy5Q== +"@aws-cdk/aws-logs@1.99.0": + version "1.99.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-logs/-/aws-logs-1.99.0.tgz#ccfc70bba65b294a4844bbeffb8b7333ef04416d" + integrity sha512-Cm1fio4le4kALF8zxs/98Bteqf/WAMIxTjydRb3wC9471lQXpSYpPehSNdm8Xj1hYnQ1rk8ZmLXeXRo1GWrwqw== dependencies: - "@aws-cdk/aws-cloudwatch" "1.96.0" - "@aws-cdk/aws-iam" "1.96.0" - "@aws-cdk/aws-kms" "1.96.0" - "@aws-cdk/aws-s3-assets" "1.96.0" - "@aws-cdk/core" "1.96.0" + "@aws-cdk/aws-cloudwatch" "1.99.0" + "@aws-cdk/aws-iam" "1.99.0" + "@aws-cdk/aws-kms" "1.99.0" + "@aws-cdk/aws-s3-assets" "1.99.0" + "@aws-cdk/core" "1.99.0" constructs "^3.3.69" -"@aws-cdk/aws-route53-targets@1.96.0": - version "1.96.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-route53-targets/-/aws-route53-targets-1.96.0.tgz#517c3143739f2a304ca3fe897f90e33d594e99f3" - integrity sha512-ygP8mZx+tqveQ6oCWvIIu8laAbwINzRcV6YDg4D38sN2V+tjUkr+6hGsHkpVqdc1hcT4EwBum/Ul9lIkp53Ypg== - dependencies: - "@aws-cdk/aws-apigateway" "1.96.0" - "@aws-cdk/aws-apigatewayv2" "1.96.0" - "@aws-cdk/aws-cloudfront" "1.96.0" - "@aws-cdk/aws-cognito" "1.96.0" - "@aws-cdk/aws-ec2" "1.96.0" - "@aws-cdk/aws-elasticloadbalancing" "1.96.0" - "@aws-cdk/aws-elasticloadbalancingv2" "1.96.0" - "@aws-cdk/aws-globalaccelerator" "1.96.0" - "@aws-cdk/aws-iam" "1.96.0" - "@aws-cdk/aws-route53" "1.96.0" - "@aws-cdk/aws-s3" "1.96.0" - "@aws-cdk/core" "1.96.0" - "@aws-cdk/region-info" "1.96.0" +"@aws-cdk/aws-route53-targets@1.99.0": + version "1.99.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-route53-targets/-/aws-route53-targets-1.99.0.tgz#914b41f2140195ba01e3241357c9f7bc847b991d" + integrity sha512-vH9r8GAPcrWBwgJv8YA0jRNhpTUrhwEPDd0TJFL1WY2Tr1FxvKQ5iHA8JLCIJu7IJeTPUpSVtpF7nNEIsCnFPQ== + dependencies: + "@aws-cdk/aws-apigateway" "1.99.0" + "@aws-cdk/aws-apigatewayv2" "1.99.0" + "@aws-cdk/aws-cloudfront" "1.99.0" + "@aws-cdk/aws-cognito" "1.99.0" + "@aws-cdk/aws-ec2" "1.99.0" + "@aws-cdk/aws-elasticloadbalancing" "1.99.0" + "@aws-cdk/aws-elasticloadbalancingv2" "1.99.0" + "@aws-cdk/aws-globalaccelerator" "1.99.0" + "@aws-cdk/aws-iam" "1.99.0" + "@aws-cdk/aws-route53" "1.99.0" + "@aws-cdk/aws-s3" "1.99.0" + "@aws-cdk/core" "1.99.0" + "@aws-cdk/region-info" "1.99.0" constructs "^3.3.69" -"@aws-cdk/aws-route53@1.96.0": - version "1.96.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-route53/-/aws-route53-1.96.0.tgz#966f6dfb3fd9572ad5cfadb76a7f73cbfc1d30e3" - integrity sha512-9fLrM+cP9hKPbhH1SGKuqSs0p4uYIg4KHjkB9JMUMc/DJ0jE9r+uOA5Hx3YLUCBf70AfTdjzaiUpnwaNWQdDkQ== - dependencies: - "@aws-cdk/aws-ec2" "1.96.0" - "@aws-cdk/aws-iam" "1.96.0" - "@aws-cdk/aws-logs" "1.96.0" - "@aws-cdk/cloud-assembly-schema" "1.96.0" - "@aws-cdk/core" "1.96.0" - "@aws-cdk/custom-resources" "1.96.0" +"@aws-cdk/aws-route53@1.99.0": + version "1.99.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-route53/-/aws-route53-1.99.0.tgz#80e9cdb4f8cc318cd75a4abfebb687847bae2129" + integrity sha512-W7V9QM7DRwqFlI3A5BSNHmQ3ztZrADGYdmg6nfCT0AuN5l20YKFYacwPt2DmKvNd2FHW3AnchkaxD00RjrY6fQ== + dependencies: + "@aws-cdk/aws-ec2" "1.99.0" + "@aws-cdk/aws-iam" "1.99.0" + "@aws-cdk/aws-logs" "1.99.0" + "@aws-cdk/cloud-assembly-schema" "1.99.0" + "@aws-cdk/core" "1.99.0" + "@aws-cdk/custom-resources" "1.99.0" constructs "^3.3.69" -"@aws-cdk/aws-s3-assets@1.96.0": - version "1.96.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-s3-assets/-/aws-s3-assets-1.96.0.tgz#1d786363fb6efd8b7903421603e14b898a9ce476" - integrity sha512-NK9jD4+2BSSw3RKIWlzxDFZkinwtyWlMf1uxzbUKw8KuxpmuMhkx8OwWwKxM50BaNOKVAbBfXh8uhQTyCsQ4Zg== - dependencies: - "@aws-cdk/assets" "1.96.0" - "@aws-cdk/aws-iam" "1.96.0" - "@aws-cdk/aws-kms" "1.96.0" - "@aws-cdk/aws-s3" "1.96.0" - "@aws-cdk/core" "1.96.0" - "@aws-cdk/cx-api" "1.96.0" +"@aws-cdk/aws-s3-assets@1.99.0": + version "1.99.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-s3-assets/-/aws-s3-assets-1.99.0.tgz#9456b27cddf271ea4a1ff1190fcb44c7413289d4" + integrity sha512-WKkzeCOie1IzEzfYZVeKtHNzTy9j0GUEdKXHooEyrAlvGVMLqHS1eVi3ysKlhxCugcVUDTVNJTwOJT/G3Mxw/A== + dependencies: + "@aws-cdk/assets" "1.99.0" + "@aws-cdk/aws-iam" "1.99.0" + "@aws-cdk/aws-kms" "1.99.0" + "@aws-cdk/aws-s3" "1.99.0" + "@aws-cdk/core" "1.99.0" + "@aws-cdk/cx-api" "1.99.0" constructs "^3.3.69" -"@aws-cdk/aws-s3@1.96.0": - version "1.96.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-s3/-/aws-s3-1.96.0.tgz#a6c79e83482c20cbd0c810dbf66030ae7cbaa567" - integrity sha512-dqsjXJRaUK3u3Ij9RvR0N+xmfvQkiUHTL3Wxgg9WUqgG2Q0fO2lEcsKLvkc4B1isWMlBg3Dy9vY3fFZUke4gBg== +"@aws-cdk/aws-s3@1.99.0": + version "1.99.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-s3/-/aws-s3-1.99.0.tgz#29f2ac811d5c681a13a21ec256583feb0a294534" + integrity sha512-pL/dYf5MBE390u6LszKv/dP7axpmahSMYJ/U+s45ZEp7gISFFAClpFNdYVj2IZX7i6DzoE5PTDPhPN6vloRuuQ== dependencies: - "@aws-cdk/aws-events" "1.96.0" - "@aws-cdk/aws-iam" "1.96.0" - "@aws-cdk/aws-kms" "1.96.0" - "@aws-cdk/core" "1.96.0" - "@aws-cdk/cx-api" "1.96.0" + "@aws-cdk/aws-events" "1.99.0" + "@aws-cdk/aws-iam" "1.99.0" + "@aws-cdk/aws-kms" "1.99.0" + "@aws-cdk/core" "1.99.0" + "@aws-cdk/cx-api" "1.99.0" constructs "^3.3.69" -"@aws-cdk/aws-sam@1.96.0": - version "1.96.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-sam/-/aws-sam-1.96.0.tgz#47371ea6fc704fc8e41a8d2d694f6892c9144894" - integrity sha512-Lv3JqBzvm+MdAeAw3VqH9+/Ia2GLP3ebZuTC5NKXBqyAih7Gh4kUI2Yoxc31la02aUz7aDhXwaev+3ujw9niJg== +"@aws-cdk/aws-sam@1.99.0": + version "1.99.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-sam/-/aws-sam-1.99.0.tgz#f804eff7393e7f77c1b297101b0642979a885570" + integrity sha512-ofZ8/ucpj86uxG5gde9Np61hgYV4hO+fc8ndu6mBXJTpygFdQ3PpysqZ3eLvJTc9BS52dQylDmzWkYiMffeXHw== dependencies: - "@aws-cdk/core" "1.96.0" + "@aws-cdk/core" "1.99.0" constructs "^3.3.69" -"@aws-cdk/aws-secretsmanager@1.96.0": - version "1.96.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-secretsmanager/-/aws-secretsmanager-1.96.0.tgz#7030d8498a63a7819fe8b79b87aaf990188619a3" - integrity sha512-CVk9UeBv92qwUjGiQ4IfkcINqS4jDg6p87i94GkrBt2xx+1NiGuIhGPkbgCbCiwLevZB2THJZDlUmVmQbip/cg== - dependencies: - "@aws-cdk/aws-ec2" "1.96.0" - "@aws-cdk/aws-iam" "1.96.0" - "@aws-cdk/aws-kms" "1.96.0" - "@aws-cdk/aws-lambda" "1.96.0" - "@aws-cdk/aws-sam" "1.96.0" - "@aws-cdk/core" "1.96.0" - "@aws-cdk/cx-api" "1.96.0" +"@aws-cdk/aws-secretsmanager@1.99.0": + version "1.99.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-secretsmanager/-/aws-secretsmanager-1.99.0.tgz#54dbf5d077262a8a9096646d8894d6bf3bc23a72" + integrity sha512-mm+FnEzvRKETXiZ7ZyPTSfjpKg730LdECKUHwO10Y5acSsWFn3ioc8XLozv2LmQf4hoPJiogdNYCsWU2rohpzA== + dependencies: + "@aws-cdk/aws-ec2" "1.99.0" + "@aws-cdk/aws-iam" "1.99.0" + "@aws-cdk/aws-kms" "1.99.0" + "@aws-cdk/aws-lambda" "1.99.0" + "@aws-cdk/aws-sam" "1.99.0" + "@aws-cdk/core" "1.99.0" + "@aws-cdk/cx-api" "1.99.0" constructs "^3.3.69" -"@aws-cdk/aws-servicediscovery@1.96.0": - version "1.96.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-servicediscovery/-/aws-servicediscovery-1.96.0.tgz#b4493acd5586e27b049b723e8f54b25aa8f9e2f2" - integrity sha512-aNhXfc1SekD4ZJDVtu45OdSkn+NnzBJlGEB8FrVL2hEK1QpX1xpsxljcc8b7nZ3ld3cVmd6ntuUvBjAYE9mTjA== +"@aws-cdk/aws-servicediscovery@1.99.0": + version "1.99.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-servicediscovery/-/aws-servicediscovery-1.99.0.tgz#09b5e1bec1ec769f7a373a156277e6c9f1f589f8" + integrity sha512-GVUerZU3cU3U9MaegkBf7vPzA8rEHnueH/EYbDjtZD/ARk31cV7lysiuhGxUJ2IZI6W0/LKK393saSFgGyDIWw== dependencies: - "@aws-cdk/aws-ec2" "1.96.0" - "@aws-cdk/aws-elasticloadbalancingv2" "1.96.0" - "@aws-cdk/aws-route53" "1.96.0" - "@aws-cdk/core" "1.96.0" + "@aws-cdk/aws-ec2" "1.99.0" + "@aws-cdk/aws-elasticloadbalancingv2" "1.99.0" + "@aws-cdk/aws-route53" "1.99.0" + "@aws-cdk/core" "1.99.0" constructs "^3.3.69" -"@aws-cdk/aws-signer@1.96.0": - version "1.96.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-signer/-/aws-signer-1.96.0.tgz#38a143191a5e83d8292213be59b9797111924d3d" - integrity sha512-UkdcpL4e/NJ6POdgKS/575uyvPHx8fV8XQSF34m3If5Xoq3GLoZhzskWg0ayzM5ogxaisiDb4JMta64sud+SOQ== +"@aws-cdk/aws-signer@1.99.0": + version "1.99.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-signer/-/aws-signer-1.99.0.tgz#d0e70c38dd6f8dcb7322da76183b12c08eea268a" + integrity sha512-x20Hj6k2ajVgvYDbI/wbp8AB6jz1JJOUS6sNyVpJLgiwW8A0DDOj3o0el2bihmpSRXSSwWu1O/4EWxYO9aqHfA== dependencies: - "@aws-cdk/core" "1.96.0" + "@aws-cdk/core" "1.99.0" constructs "^3.3.69" -"@aws-cdk/aws-sns-subscriptions@1.96.0": - version "1.96.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-sns-subscriptions/-/aws-sns-subscriptions-1.96.0.tgz#269d6107325be0154029c5680642c2c19df71336" - integrity sha512-QeYXAC9aF8l7wpe4cUUouomPZSJZnOXJY3REkaYLHMJoQoNn16VU/HzqUT9hVwuuC8YlMQ6nCr30HqCdFieK0A== +"@aws-cdk/aws-sns-subscriptions@1.99.0": + version "1.99.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-sns-subscriptions/-/aws-sns-subscriptions-1.99.0.tgz#59e39aac976cf6b2843b23946865733bc60ad73c" + integrity sha512-+kPLL332Bqhvru+yuzH6gN7uXOQ72L/cXKW8c/2tnVrWYvwDolbIJWWDDbe+hKE+YO0CUkvJDLbM5AXTuYwO5g== dependencies: - "@aws-cdk/aws-iam" "1.96.0" - "@aws-cdk/aws-lambda" "1.96.0" - "@aws-cdk/aws-sns" "1.96.0" - "@aws-cdk/aws-sqs" "1.96.0" - "@aws-cdk/core" "1.96.0" + "@aws-cdk/aws-iam" "1.99.0" + "@aws-cdk/aws-lambda" "1.99.0" + "@aws-cdk/aws-sns" "1.99.0" + "@aws-cdk/aws-sqs" "1.99.0" + "@aws-cdk/core" "1.99.0" constructs "^3.3.69" -"@aws-cdk/aws-sns@1.96.0": - version "1.96.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-sns/-/aws-sns-1.96.0.tgz#eaf848e1c6c1b172d98b6dd52dd766e59a590c00" - integrity sha512-r7IfRHkVnqmEgoU10QdJQwMy8fqfmtPoRfPqFHDUWSdsSR361UW2O36mOn4m69UJv2L08EjjPn2ZdltqwQAHIg== - dependencies: - "@aws-cdk/aws-cloudwatch" "1.96.0" - "@aws-cdk/aws-events" "1.96.0" - "@aws-cdk/aws-iam" "1.96.0" - "@aws-cdk/aws-kms" "1.96.0" - "@aws-cdk/aws-sqs" "1.96.0" - "@aws-cdk/core" "1.96.0" +"@aws-cdk/aws-sns@1.99.0": + version "1.99.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-sns/-/aws-sns-1.99.0.tgz#7ae2d2eaec915c9da91ac8790c6a330cb33d9bf8" + integrity sha512-hdO5VYKlibgowfIU41miDqLdLhNPSl+dJLS/wdClyCqP+6kqEhMZBURlMkz689t4Wv39pCAM3/utcZeGR9JBVw== + dependencies: + "@aws-cdk/aws-cloudwatch" "1.99.0" + "@aws-cdk/aws-events" "1.99.0" + "@aws-cdk/aws-iam" "1.99.0" + "@aws-cdk/aws-kms" "1.99.0" + "@aws-cdk/aws-sqs" "1.99.0" + "@aws-cdk/core" "1.99.0" constructs "^3.3.69" -"@aws-cdk/aws-sqs@1.96.0": - version "1.96.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-sqs/-/aws-sqs-1.96.0.tgz#3503a19de876e03a662f9ef606ec0533e3c9283c" - integrity sha512-d5IbcqqxP3ZVB25WEYVKhpXg0LVXphply+yyMIxoF7wWh6oGxXJUGOXLErYxJtz4vzlV+2wKwv2zBaIrzhXeFw== +"@aws-cdk/aws-sqs@1.99.0": + version "1.99.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-sqs/-/aws-sqs-1.99.0.tgz#10e84af998ee94ec232bc21bdf74a6eec644dfbe" + integrity sha512-LOxPTTbuL6LrVFmKpj/kifOy9QHiMsw5jZQLvDNJRS1tLh55jpwEAG2IH3dCLF4PGdmrDFNIe9JZuWyL8QlITw== dependencies: - "@aws-cdk/aws-cloudwatch" "1.96.0" - "@aws-cdk/aws-iam" "1.96.0" - "@aws-cdk/aws-kms" "1.96.0" - "@aws-cdk/core" "1.96.0" + "@aws-cdk/aws-cloudwatch" "1.99.0" + "@aws-cdk/aws-iam" "1.99.0" + "@aws-cdk/aws-kms" "1.99.0" + "@aws-cdk/core" "1.99.0" constructs "^3.3.69" -"@aws-cdk/aws-ssm@1.96.0": - version "1.96.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-ssm/-/aws-ssm-1.96.0.tgz#ed76c4d8d31547e33075f003906bc3d06d601ebd" - integrity sha512-Z8uFIaT3ZNpONnuSlY5JQTxk5rZ2nfCLBJXy9Ka1EcqWvuNAmnGaXcatYgzsgAfWj31OT0IUpzn49pak1aLeVQ== +"@aws-cdk/aws-ssm@1.99.0": + version "1.99.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-ssm/-/aws-ssm-1.99.0.tgz#5f339bdbe53d52a7ee347d2d918d5869a034c180" + integrity sha512-6gP7MeLJwUzzW4WBHf9J4bNQsp4/7VHHNi2EETLhe7mCTKZwZpSD6gdXLKafmpzrGTSkrWl2xhU43/eZyK1GBQ== dependencies: - "@aws-cdk/aws-iam" "1.96.0" - "@aws-cdk/aws-kms" "1.96.0" - "@aws-cdk/cloud-assembly-schema" "1.96.0" - "@aws-cdk/core" "1.96.0" + "@aws-cdk/aws-iam" "1.99.0" + "@aws-cdk/aws-kms" "1.99.0" + "@aws-cdk/cloud-assembly-schema" "1.99.0" + "@aws-cdk/core" "1.99.0" constructs "^3.3.69" -"@aws-cdk/aws-stepfunctions-tasks@1.96.0": - version "1.96.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-stepfunctions-tasks/-/aws-stepfunctions-tasks-1.96.0.tgz#2eb105315879f5c001103c0e08809bfcd4c8e421" - integrity sha512-SWojkFsloDem8lQF96beVNMmSscf8qrduV3nBxjTA/UD5ySvWS+EpifEqjn3FCmATJw1h7qOXc/FUALGyMe6Fg== - dependencies: - "@aws-cdk/aws-apigateway" "1.96.0" - "@aws-cdk/aws-apigatewayv2" "1.96.0" - "@aws-cdk/aws-apigatewayv2-integrations" "1.96.0" - "@aws-cdk/aws-batch" "1.96.0" - "@aws-cdk/aws-cloudwatch" "1.96.0" - "@aws-cdk/aws-codebuild" "1.96.0" - "@aws-cdk/aws-databrew" "1.96.0" - "@aws-cdk/aws-dynamodb" "1.96.0" - "@aws-cdk/aws-ec2" "1.96.0" - "@aws-cdk/aws-ecr" "1.96.0" - "@aws-cdk/aws-ecr-assets" "1.96.0" - "@aws-cdk/aws-ecs" "1.96.0" - "@aws-cdk/aws-eks" "1.96.0" - "@aws-cdk/aws-glue" "1.96.0" - "@aws-cdk/aws-iam" "1.96.0" - "@aws-cdk/aws-kms" "1.96.0" - "@aws-cdk/aws-lambda" "1.96.0" - "@aws-cdk/aws-s3" "1.96.0" - "@aws-cdk/aws-sns" "1.96.0" - "@aws-cdk/aws-sqs" "1.96.0" - "@aws-cdk/aws-stepfunctions" "1.96.0" - "@aws-cdk/core" "1.96.0" +"@aws-cdk/aws-stepfunctions-tasks@1.99.0": + version "1.99.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-stepfunctions-tasks/-/aws-stepfunctions-tasks-1.99.0.tgz#fca1e74a92e7d31ae2313531fe8151141458d907" + integrity sha512-50wErn5fuPzUlMR7ca5jxxAbEvM54vJ9nIsPV/j1UTxJl650KLiHthLc3IlkkFXoAP2dBm4HGWDXT+llBASQdQ== + dependencies: + "@aws-cdk/aws-apigateway" "1.99.0" + "@aws-cdk/aws-apigatewayv2" "1.99.0" + "@aws-cdk/aws-apigatewayv2-integrations" "1.99.0" + "@aws-cdk/aws-batch" "1.99.0" + "@aws-cdk/aws-cloudwatch" "1.99.0" + "@aws-cdk/aws-codebuild" "1.99.0" + "@aws-cdk/aws-databrew" "1.99.0" + "@aws-cdk/aws-dynamodb" "1.99.0" + "@aws-cdk/aws-ec2" "1.99.0" + "@aws-cdk/aws-ecr" "1.99.0" + "@aws-cdk/aws-ecr-assets" "1.99.0" + "@aws-cdk/aws-ecs" "1.99.0" + "@aws-cdk/aws-eks" "1.99.0" + "@aws-cdk/aws-iam" "1.99.0" + "@aws-cdk/aws-kms" "1.99.0" + "@aws-cdk/aws-lambda" "1.99.0" + "@aws-cdk/aws-s3" "1.99.0" + "@aws-cdk/aws-sns" "1.99.0" + "@aws-cdk/aws-sqs" "1.99.0" + "@aws-cdk/aws-stepfunctions" "1.99.0" + "@aws-cdk/core" "1.99.0" constructs "^3.3.69" -"@aws-cdk/aws-stepfunctions@1.96.0": - version "1.96.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-stepfunctions/-/aws-stepfunctions-1.96.0.tgz#6dffc740d4af5f208b56bdf8901c81d92f887b87" - integrity sha512-57F2pQrTT4jShsZR5KRhlatuiztzYtHq3OXg7fRkCKw/bgFbXPgImt9Qp0ksRPEA+JvV1mHWhYh4lYHOTqa+Og== - dependencies: - "@aws-cdk/aws-cloudwatch" "1.96.0" - "@aws-cdk/aws-events" "1.96.0" - "@aws-cdk/aws-iam" "1.96.0" - "@aws-cdk/aws-logs" "1.96.0" - "@aws-cdk/aws-s3" "1.96.0" - "@aws-cdk/core" "1.96.0" +"@aws-cdk/aws-stepfunctions@1.99.0": + version "1.99.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-stepfunctions/-/aws-stepfunctions-1.99.0.tgz#5f97ca2a9aa3a2c705883fafca82f6ff12b29936" + integrity sha512-RcXZnxSevSU/vm+QSanpR8rRoTU+49VHPFfLbBj0gzmUJBHBuWOudgyUHvgm6blm4CALL6Pig0h9ivM06J79Wg== + dependencies: + "@aws-cdk/aws-cloudwatch" "1.99.0" + "@aws-cdk/aws-events" "1.99.0" + "@aws-cdk/aws-iam" "1.99.0" + "@aws-cdk/aws-logs" "1.99.0" + "@aws-cdk/aws-s3" "1.99.0" + "@aws-cdk/core" "1.99.0" constructs "^3.3.69" -"@aws-cdk/cfnspec@1.96.0": - version "1.96.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/cfnspec/-/cfnspec-1.96.0.tgz#40bd6f4205458cd1a13ea6d8258fe493b58ad179" - integrity sha512-icJHNGbYQIFgpQarXWEdTxJ1EpXB2yzkN94bxEow+1HR8LtCBr9KIX/+82dT6UvLfz24ThBtwdNuw9zJkA3Otw== +"@aws-cdk/cfnspec@1.99.0": + version "1.99.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/cfnspec/-/cfnspec-1.99.0.tgz#779ba5efe52e4c19490491b95962044a609170ea" + integrity sha512-DH9kTOZ5rjKvZ7HUjFT2yLXF2kHxgaCwnnXjCOYxp+xND6zZq/S7Gby05tmcP67Q3ryMTNFRmaXFmIgXkmKBqQ== dependencies: md5 "^2.3.0" -"@aws-cdk/cloud-assembly-schema@1.96.0": - version "1.96.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/cloud-assembly-schema/-/cloud-assembly-schema-1.96.0.tgz#cf8127468a726f065344b1c4566ed63186fdcd35" - integrity sha512-2Fypls2LkWDuc2BRaKmK9eBPknG0Gis+FoCrpn/r3l7xWvqTHfDaC/gpJqIdGpHKVEbFvRewh92WGm4zdbob9A== +"@aws-cdk/cloud-assembly-schema@1.99.0": + version "1.99.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/cloud-assembly-schema/-/cloud-assembly-schema-1.99.0.tgz#87a6864cd6d3cd103b6d1560e60b9ba6d72e0434" + integrity sha512-4wfPYbeI22TBYMIHHeBwn93fnK2RZi0IFoxD50vDXycOgvc4OqPu+jFoXntJXz0dgaZqvzQAEGQAj8kRC3rLOg== dependencies: jsonschema "^1.4.0" semver "^7.3.5" -"@aws-cdk/cloudformation-diff@1.96.0": - version "1.96.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/cloudformation-diff/-/cloudformation-diff-1.96.0.tgz#e402a1860852ccdfca047deedf4e85f8f31da3b0" - integrity sha512-l85qhLx0g3RLaDHvEFh3dVAgjeJWttvhQDNnFmXagfArNhhjprz8T2Degy6tBCAjmxJ1W+vr+GZjgq6ACh6VCQ== +"@aws-cdk/cloudformation-diff@1.99.0": + version "1.99.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/cloudformation-diff/-/cloudformation-diff-1.99.0.tgz#3ef1728ef1d5dd1cb9aefdd2635e0864262a010b" + integrity sha512-PxgrDYIwGa6487Fdd2s+szmOuxDKWdC8/GSUGvwtaQ506vVL9ZXh+Vu2Cvgq1o3RrmUmYLzwLRO/P4WL0UbC3Q== dependencies: - "@aws-cdk/cfnspec" "1.96.0" + "@aws-cdk/cfnspec" "1.99.0" colors "^1.4.0" diff "^5.0.0" fast-deep-equal "^3.1.3" string-width "^4.2.2" table "^6.0.9" -"@aws-cdk/core@1.96.0": - version "1.96.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/core/-/core-1.96.0.tgz#7a3984c28bce6ff8e2b6d9d732b556b3edd7bfc6" - integrity sha512-W8pAE2n9WgBDi0uHe0rUb95sVUe+rIe8pWZuHq60HhD5Omjb7qVxV5D95Z8TOkOrbLbCYJEUjsLV/ka0iqMOnQ== +"@aws-cdk/core@1.99.0": + version "1.99.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/core/-/core-1.99.0.tgz#330f6dab0c33975be21fe7d62065d754002f1e57" + integrity sha512-ePmP44wSpvDywp4joVkxa1UdO/VHo3XqFtP2Mq9W1u8rm1MfDnNAhE9FXRpYdmb5DkQ8dg0D6eeleiBADBnYsg== dependencies: - "@aws-cdk/cloud-assembly-schema" "1.96.0" - "@aws-cdk/cx-api" "1.96.0" - "@aws-cdk/region-info" "1.96.0" + "@aws-cdk/cloud-assembly-schema" "1.99.0" + "@aws-cdk/cx-api" "1.99.0" + "@aws-cdk/region-info" "1.99.0" "@balena/dockerignore" "^1.0.2" constructs "^3.3.69" fs-extra "^9.1.0" ignore "^5.1.8" minimatch "^3.0.4" -"@aws-cdk/custom-resources@1.96.0": - version "1.96.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/custom-resources/-/custom-resources-1.96.0.tgz#905dcb76ff10af9d12e93be886d774cfccb51964" - integrity sha512-zQ6bVX+5kTeDs1Jw1viSC5s62sGiok1/ZGlvJ5lyFXtg6NCX+hKPmt+eZYJAAmFSRwMPWw+kD4+OWXFfSNJ2Lg== - dependencies: - "@aws-cdk/aws-cloudformation" "1.96.0" - "@aws-cdk/aws-ec2" "1.96.0" - "@aws-cdk/aws-iam" "1.96.0" - "@aws-cdk/aws-lambda" "1.96.0" - "@aws-cdk/aws-logs" "1.96.0" - "@aws-cdk/aws-sns" "1.96.0" - "@aws-cdk/core" "1.96.0" +"@aws-cdk/custom-resources@1.99.0": + version "1.99.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/custom-resources/-/custom-resources-1.99.0.tgz#cf722383f87867a05b129dc119276329bcadf303" + integrity sha512-CZIMiGaiDA78YfdgN3i234CvNL0OeldTvey9lVpFVPlnTf5uo6zZMv/uQaX557SvUOHv5D/YvwxRUC5pI3EQUA== + dependencies: + "@aws-cdk/aws-cloudformation" "1.99.0" + "@aws-cdk/aws-ec2" "1.99.0" + "@aws-cdk/aws-iam" "1.99.0" + "@aws-cdk/aws-lambda" "1.99.0" + "@aws-cdk/aws-logs" "1.99.0" + "@aws-cdk/aws-sns" "1.99.0" + "@aws-cdk/core" "1.99.0" constructs "^3.3.69" -"@aws-cdk/cx-api@1.96.0": - version "1.96.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/cx-api/-/cx-api-1.96.0.tgz#5e62c5e9f862236d01fc6d8fc3966b08714b47f3" - integrity sha512-LiPWV1ALunni72XU6BywqyCxHDIMUsDQ0HYfRak37hAstAOhdqeUOlnG3goB9MTkMF7FOcU61a/izGDlVwPXQg== +"@aws-cdk/cx-api@1.99.0": + version "1.99.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/cx-api/-/cx-api-1.99.0.tgz#a0573121125b276aa443b5cc9d519bc518fc21f3" + integrity sha512-mf9QSU2VgY1J+nZ26C6YqGWPCmO/KKMOAydl8biryqWefp5zYOnIOWFVxouGBHX5DZGqTdKZNnmPrTt0dcIWqg== dependencies: - "@aws-cdk/cloud-assembly-schema" "1.96.0" + "@aws-cdk/cloud-assembly-schema" "1.99.0" semver "^7.3.5" -"@aws-cdk/lambda-layer-awscli@1.96.0": - version "1.96.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/lambda-layer-awscli/-/lambda-layer-awscli-1.96.0.tgz#74212669305a79cc077236e6ce252b69e1146ae1" - integrity sha512-V2OAc4Zndop2fz+58xxDQ8EBnaK59ZQ910ze/2BKUBly47m9iCc6zgDn9JfYmv/CSq13ei9/iXveUrN5g1eAew== +"@aws-cdk/lambda-layer-awscli@1.99.0": + version "1.99.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/lambda-layer-awscli/-/lambda-layer-awscli-1.99.0.tgz#93fdd0017dee95cb2bd2d7b424aba1efc54856b2" + integrity sha512-bPlmTJMwgv6Sp+87Wd1YRiKQ2cMNGBQpciDADWJZxWSZD2ma6t1S8qFvYsG9VeVhOcaWV1JC72MVimOOga7LBg== dependencies: - "@aws-cdk/aws-lambda" "1.96.0" - "@aws-cdk/core" "1.96.0" + "@aws-cdk/aws-lambda" "1.99.0" + "@aws-cdk/core" "1.99.0" constructs "^3.3.69" -"@aws-cdk/lambda-layer-kubectl@1.96.0": - version "1.96.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/lambda-layer-kubectl/-/lambda-layer-kubectl-1.96.0.tgz#e49ff438d7434190a85a87d99343aaf87ebf9d15" - integrity sha512-jO2LLIlhBwPaDEDmKP+k7EbQ76czD8N4QAVCnpR1x/PhK0JFDF3qfr2kvrNfIkJkN8pQJT5oP7imh8+d2j9hJw== +"@aws-cdk/lambda-layer-kubectl@1.99.0": + version "1.99.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/lambda-layer-kubectl/-/lambda-layer-kubectl-1.99.0.tgz#b5bfd711784a05d1497b134d1cb34d7f2f478941" + integrity sha512-BOFEGtvqiIHXBTLLsUFrzvmnGpVU9NDH8Melg77azy5ejxng5dhvCpxbC2LGeSZIZ/w11ee/v6DcLhWfCfeLJg== dependencies: - "@aws-cdk/aws-lambda" "1.96.0" - "@aws-cdk/core" "1.96.0" + "@aws-cdk/aws-lambda" "1.99.0" + "@aws-cdk/core" "1.99.0" constructs "^3.3.69" -"@aws-cdk/region-info@1.96.0": - version "1.96.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/region-info/-/region-info-1.96.0.tgz#cbc7cd0a932c4856ccfe1b341ee5ee8f20494b9d" - integrity sha512-esmTSLHD/OMf2YLPfB5rULgDi07xbpErD7Y3nqXxgR/M7zmd8AaT45qaDwIz17Tw+CrwL4KHud9HOT2xvdq3sQ== - -"@aws-cdk/yaml-cfn@1.96.0": - version "1.96.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/yaml-cfn/-/yaml-cfn-1.96.0.tgz#e20dc8b77c379db24f1f9ee3294231b42b8a53cc" - integrity sha512-+1FCGcBaAK9OPYiLwSsSLzmgNlewdwsvN/1A8zceMSaOcsPgnKzpZCR4H6Ct/GA7Xu5Lg9h3Y823icN+0+NJ7A== - dependencies: - yaml "1.10.2" +"@aws-cdk/region-info@1.99.0": + version "1.99.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/region-info/-/region-info-1.99.0.tgz#66d0be5b1d58a03571d785c18807c5489d37398b" + integrity sha512-sKHIRAminwCBQn6IWRhDAlaQNku42xuGk/G3NxCUzL2v4LqBC7xJZfyYoxBEfera6yDv6rg5Jv+/L/tS+T2xLw== "@babel/code-frame@7.12.11": version "7.12.11" @@ -1372,10 +1363,10 @@ "@types/yargs" "^15.0.0" chalk "^4.0.0" -"@jsii/spec@^1.26.0": - version "1.26.0" - resolved "https://registry.yarnpkg.com/@jsii/spec/-/spec-1.26.0.tgz#fcf0ceae1eaa486c504fdb6d2d02897870e43ab4" - integrity sha512-wh9Z/wfQYcWE5IgUfKNBYQ9Lhye9Xh/lsRsxMQluqEsgObNqb/8JreenWviqzHzBBcvTcHHyl+G30mpmyO1PWQ== +"@jsii/spec@^1.28.0": + version "1.28.0" + resolved "https://registry.yarnpkg.com/@jsii/spec/-/spec-1.28.0.tgz#47db1102fc0291dbffffb3adb7f8ee0671e15ef3" + integrity sha512-5mcupuCCXyhZwNmX/RDBn3WUYtd0oPXEDa3E+qOSjT30vaO8u9ZQ+mxwl4qsecx3m51LhXKnR1C9U9t4VlAmqA== dependencies: jsonschema "^1.4.0" @@ -2295,10 +2286,10 @@ resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-1.1.2.tgz#ccb91445360179a04e7fe6aff78c00ffc1eeaf82" integrity sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw== -"@types/aws-lambda@^8.10.73": - version "8.10.73" - resolved "https://registry.yarnpkg.com/@types/aws-lambda/-/aws-lambda-8.10.73.tgz#77773c9accb2cec26fcb7c6b510a555805604a53" - integrity sha512-P+a6TRQbRnVQOIjWkmw6F23wiJcF+4Uniasbzx7NAXjLQCVGx/Z4VoMfit81/pxlmcXNxAMGuYPugn6CrJLilQ== +"@types/aws-lambda@^8.10.75": + version "8.10.75" + resolved "https://registry.yarnpkg.com/@types/aws-lambda/-/aws-lambda-8.10.75.tgz#93b4e688db8a45755018561a3212e7766c0fef57" + integrity sha512-orOKSsIVUMsAbKgbSX2ST3FwQt9pxinHVCAIAVl4SmmTxmki2Gu+cGqobMD3eYwDV5FV0YNtaXyxnvE9pLrKTw== "@types/babel__core@^7.0.0", "@types/babel__core@^7.1.7": version "7.1.10" @@ -2333,10 +2324,10 @@ dependencies: "@babel/types" "^7.3.0" -"@types/fs-extra@^9.0.9": - version "9.0.9" - resolved "https://registry.yarnpkg.com/@types/fs-extra/-/fs-extra-9.0.9.tgz#11ed43b3f3c6b3490f1ef9bd17f58da896e2d861" - integrity sha512-5TqDycCl0oMzwzd1cIjSJWMKMvLCDVErle4ZTjU4EmHDURR/+yZghe6GDHMCpHtcVfq0x0gMoOM546/5TbYHrg== +"@types/fs-extra@^9.0.11": + version "9.0.11" + resolved "https://registry.yarnpkg.com/@types/fs-extra/-/fs-extra-9.0.11.tgz#8cc99e103499eab9f347dbc6ca4e99fb8d2c2b87" + integrity sha512-mZsifGG4QeQ7hlkhO56u7zt/ycBgGxSVsFI/6lGTU34VtwkiqrrSDgw0+ygs8kFGWcXnFQWMrzF2h7TtDFNixA== dependencies: "@types/node" "*" @@ -2366,18 +2357,10 @@ dependencies: "@types/istanbul-lib-report" "*" -"@types/jest@^26.0.20": - version "26.0.20" - resolved "https://registry.yarnpkg.com/@types/jest/-/jest-26.0.20.tgz#cd2f2702ecf69e86b586e1f5223a60e454056307" - integrity sha512-9zi2Y+5USJRxd0FsahERhBwlcvFh6D2GLQnY2FH2BzK8J9s9omvNHIbvABwIluXa0fD8XVKMLTO0aOEuUfACAA== - dependencies: - jest-diff "^26.0.0" - pretty-format "^26.0.0" - -"@types/jest@^26.0.21": - version "26.0.21" - resolved "https://registry.yarnpkg.com/@types/jest/-/jest-26.0.21.tgz#3a73c2731e7e4f0fbaea56ce7ff8c79cf812bd24" - integrity sha512-ab9TyM/69yg7eew9eOwKMUmvIZAKEGZYlq/dhe5/0IMUd/QLJv5ldRMdddSn+u22N13FP3s5jYyktxuBwY0kDA== +"@types/jest@^26.0.22": + version "26.0.22" + resolved "https://registry.yarnpkg.com/@types/jest/-/jest-26.0.22.tgz#8308a1debdf1b807aa47be2838acdcd91e88fbe6" + integrity sha512-eeWwWjlqxvBxc4oQdkueW5OF/gtfSceKk4OnOAGlUSwS/liBRtZppbJuz1YkgbrbfGOoeBHun9fOvXnjNwrSOw== dependencies: jest-diff "^26.0.0" pretty-format "^26.0.0" @@ -2407,6 +2390,11 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.35.tgz#42c953a4e2b18ab931f72477e7012172f4ffa313" integrity sha512-Lt+wj8NVPx0zUmUwumiVXapmaLUcAk3yPuHCFVXras9k5VT9TdhJqKqGVUQCD60OTMCl0qxJ57OiTL0Mic3Iag== +"@types/node@^14.14.41": + version "14.14.41" + resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.41.tgz#d0b939d94c1d7bd53d04824af45f1139b8c45615" + integrity sha512-dueRKfaJL4RTtSa7bWeTK1M+VH+Gns73oCgzvYfHZywRCoPSd8EkXBL0mZ9unPTveBn+D9phZBaxuzpwjWkW0g== + "@types/nodeunit@^0.0.31": version "0.0.31" resolved "https://registry.yarnpkg.com/@types/nodeunit/-/nodeunit-0.0.31.tgz#67eb52ad22326c7d1d9febe99d553f33b166126d" @@ -2468,13 +2456,13 @@ dependencies: "@types/yargs-parser" "*" -"@typescript-eslint/eslint-plugin@^4.16.1", "@typescript-eslint/eslint-plugin@^4.19.0": - version "4.19.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.19.0.tgz#56f8da9ee118fe9763af34d6a526967234f6a7f0" - integrity sha512-CRQNQ0mC2Pa7VLwKFbrGVTArfdVDdefS+gTw0oC98vSI98IX5A8EVH4BzJ2FOB0YlCmm8Im36Elad/Jgtvveaw== +"@typescript-eslint/eslint-plugin@^4.22.0": + version "4.22.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.22.0.tgz#3d5f29bb59e61a9dba1513d491b059e536e16dbc" + integrity sha512-U8SP9VOs275iDXaL08Ln1Fa/wLXfj5aTr/1c0t0j6CdbOnxh+TruXu1p4I0NAvdPBQgoPjHsgKn28mOi0FzfoA== dependencies: - "@typescript-eslint/experimental-utils" "4.19.0" - "@typescript-eslint/scope-manager" "4.19.0" + "@typescript-eslint/experimental-utils" "4.22.0" + "@typescript-eslint/scope-manager" "4.22.0" debug "^4.1.1" functional-red-black-tree "^1.0.1" lodash "^4.17.15" @@ -2482,15 +2470,15 @@ semver "^7.3.2" tsutils "^3.17.1" -"@typescript-eslint/experimental-utils@4.19.0": - version "4.19.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-4.19.0.tgz#9ca379919906dc72cb0fcd817d6cb5aa2d2054c6" - integrity sha512-9/23F1nnyzbHKuoTqFN1iXwN3bvOm/PRIXSBR3qFAYotK/0LveEOHr5JT1WZSzcD6BESl8kPOG3OoDRKO84bHA== +"@typescript-eslint/experimental-utils@4.22.0": + version "4.22.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-4.22.0.tgz#68765167cca531178e7b650a53456e6e0bef3b1f" + integrity sha512-xJXHHl6TuAxB5AWiVrGhvbGL8/hbiCQ8FiWwObO3r0fnvBdrbWEDy1hlvGQOAWc6qsCWuWMKdVWlLAEMpxnddg== dependencies: "@types/json-schema" "^7.0.3" - "@typescript-eslint/scope-manager" "4.19.0" - "@typescript-eslint/types" "4.19.0" - "@typescript-eslint/typescript-estree" "4.19.0" + "@typescript-eslint/scope-manager" "4.22.0" + "@typescript-eslint/types" "4.22.0" + "@typescript-eslint/typescript-estree" "4.22.0" eslint-scope "^5.0.0" eslint-utils "^2.0.0" @@ -2506,14 +2494,14 @@ eslint-scope "^5.0.0" eslint-utils "^2.0.0" -"@typescript-eslint/parser@^4.16.1", "@typescript-eslint/parser@^4.19.0": - version "4.19.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-4.19.0.tgz#4ae77513b39f164f1751f21f348d2e6cb2d11128" - integrity sha512-/uabZjo2ZZhm66rdAu21HA8nQebl3lAIDcybUoOxoI7VbZBYavLIwtOOmykKCJy+Xq6Vw6ugkiwn8Js7D6wieA== +"@typescript-eslint/parser@^4.22.0": + version "4.22.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-4.22.0.tgz#e1637327fcf796c641fe55f73530e90b16ac8fe8" + integrity sha512-z/bGdBJJZJN76nvAY9DkJANYgK3nlRstRRi74WHm3jjgf2I8AglrSY+6l7ogxOmn55YJ6oKZCLLy+6PW70z15Q== dependencies: - "@typescript-eslint/scope-manager" "4.19.0" - "@typescript-eslint/types" "4.19.0" - "@typescript-eslint/typescript-estree" "4.19.0" + "@typescript-eslint/scope-manager" "4.22.0" + "@typescript-eslint/types" "4.22.0" + "@typescript-eslint/typescript-estree" "4.22.0" debug "^4.1.1" "@typescript-eslint/scope-manager@4.15.2": @@ -2524,23 +2512,23 @@ "@typescript-eslint/types" "4.15.2" "@typescript-eslint/visitor-keys" "4.15.2" -"@typescript-eslint/scope-manager@4.19.0": - version "4.19.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-4.19.0.tgz#5e0b49eca4df7684205d957c9856f4e720717a4f" - integrity sha512-GGy4Ba/hLXwJXygkXqMzduqOMc+Na6LrJTZXJWVhRrSuZeXmu8TAnniQVKgj8uTRKe4igO2ysYzH+Np879G75g== +"@typescript-eslint/scope-manager@4.22.0": + version "4.22.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-4.22.0.tgz#ed411545e61161a8d702e703a4b7d96ec065b09a" + integrity sha512-OcCO7LTdk6ukawUM40wo61WdeoA7NM/zaoq1/2cs13M7GyiF+T4rxuA4xM+6LeHWjWbss7hkGXjFDRcKD4O04Q== dependencies: - "@typescript-eslint/types" "4.19.0" - "@typescript-eslint/visitor-keys" "4.19.0" + "@typescript-eslint/types" "4.22.0" + "@typescript-eslint/visitor-keys" "4.22.0" "@typescript-eslint/types@4.15.2": version "4.15.2" resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.15.2.tgz#04acf3a2dc8001a88985291744241e732ef22c60" integrity sha512-r7lW7HFkAarfUylJ2tKndyO9njwSyoy6cpfDKWPX6/ctZA+QyaYscAHXVAfJqtnY6aaTwDYrOhp+ginlbc7HfQ== -"@typescript-eslint/types@4.19.0": - version "4.19.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.19.0.tgz#5181d5d2afd02e5b8f149ebb37ffc8bd7b07a568" - integrity sha512-A4iAlexVvd4IBsSTNxdvdepW0D4uR/fwxDrKUa+iEY9UWvGREu2ZyB8ylTENM1SH8F7bVC9ac9+si3LWNxcBuA== +"@typescript-eslint/types@4.22.0": + version "4.22.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.22.0.tgz#0ca6fde5b68daf6dba133f30959cc0688c8dd0b6" + integrity sha512-sW/BiXmmyMqDPO2kpOhSy2Py5w6KvRRsKZnV0c4+0nr4GIcedJwXAq+RHNK4lLVEZAJYFltnnk1tJSlbeS9lYA== "@typescript-eslint/typescript-estree@4.15.2": version "4.15.2" @@ -2555,13 +2543,13 @@ semver "^7.3.2" tsutils "^3.17.1" -"@typescript-eslint/typescript-estree@4.19.0": - version "4.19.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-4.19.0.tgz#8a709ffa400284ab72df33376df085e2e2f61147" - integrity sha512-3xqArJ/A62smaQYRv2ZFyTA+XxGGWmlDYrsfZG68zJeNbeqRScnhf81rUVa6QG4UgzHnXw5VnMT5cg75dQGDkA== +"@typescript-eslint/typescript-estree@4.22.0": + version "4.22.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-4.22.0.tgz#b5d95d6d366ff3b72f5168c75775a3e46250d05c" + integrity sha512-TkIFeu5JEeSs5ze/4NID+PIcVjgoU3cUQUIZnH3Sb1cEn1lBo7StSV5bwPuJQuoxKXlzAObjYTilOEKRuhR5yg== dependencies: - "@typescript-eslint/types" "4.19.0" - "@typescript-eslint/visitor-keys" "4.19.0" + "@typescript-eslint/types" "4.22.0" + "@typescript-eslint/visitor-keys" "4.22.0" debug "^4.1.1" globby "^11.0.1" is-glob "^4.0.1" @@ -2576,12 +2564,12 @@ "@typescript-eslint/types" "4.15.2" eslint-visitor-keys "^2.0.0" -"@typescript-eslint/visitor-keys@4.19.0": - version "4.19.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-4.19.0.tgz#cbea35109cbd9b26e597644556be4546465d8f7f" - integrity sha512-aGPS6kz//j7XLSlgpzU2SeTqHPsmRYxFztj2vPuMMFJXZudpRSehE3WCV+BaxwZFvfAqMoSd86TEuM0PQ59E/A== +"@typescript-eslint/visitor-keys@4.22.0": + version "4.22.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-4.22.0.tgz#169dae26d3c122935da7528c839f42a8a42f6e47" + integrity sha512-nnMu4F+s4o0sll6cBSsTeVsT4cwxB7zECK3dFxzEjPBii9xLpq4yqqsy/FU5zMfan6G60DKZSCXAa3sHJZrcYw== dependencies: - "@typescript-eslint/types" "4.19.0" + "@typescript-eslint/types" "4.22.0" eslint-visitor-keys "^2.0.0" JSONStream@^1.0.4: @@ -2986,20 +2974,19 @@ available-typed-arrays@^1.0.0, available-typed-arrays@^1.0.2: dependencies: array-filter "^1.0.0" -aws-cdk@1.96.0: - version "1.96.0" - resolved "https://registry.yarnpkg.com/aws-cdk/-/aws-cdk-1.96.0.tgz#bde5b22f93fa0b0aaa9e1636bcfb45979d509ab6" - integrity sha512-u4T+jbMuaID1Q7eytAvzaAYxVAGiWWmMYVundowqOfkTBIATaBntFf6T0pB5PxrAcJyW3vKm1hDtETcZlDVIow== +aws-cdk@1.99.0: + version "1.99.0" + resolved "https://registry.yarnpkg.com/aws-cdk/-/aws-cdk-1.99.0.tgz#e23c63bc530605fa827ec18f05bf709eb491b2e0" + integrity sha512-ZAxZnRVFFBmUQjjUxBbaUQ0Zu14QsXNNHx1gzTNiPHQWryjGSIIrBgYXIHMMR+yB9Fmg35eqbdQ6xQN/xbERmw== dependencies: - "@aws-cdk/cloud-assembly-schema" "1.96.0" - "@aws-cdk/cloudformation-diff" "1.96.0" - "@aws-cdk/cx-api" "1.96.0" - "@aws-cdk/region-info" "1.96.0" - "@aws-cdk/yaml-cfn" "1.96.0" + "@aws-cdk/cloud-assembly-schema" "1.99.0" + "@aws-cdk/cloudformation-diff" "1.99.0" + "@aws-cdk/cx-api" "1.99.0" + "@aws-cdk/region-info" "1.99.0" archiver "^5.3.0" aws-sdk "^2.848.0" camelcase "^6.2.0" - cdk-assets "1.96.0" + cdk-assets "1.99.0" colors "^1.4.0" decamelize "^5.0.0" fs-extra "^9.1.0" @@ -3013,6 +3000,7 @@ aws-cdk@1.96.0: table "^6.0.9" uuid "^8.3.2" wrap-ansi "^7.0.0" + yaml "1.10.2" yargs "^16.2.0" aws-sdk-mock@^5.1.0: @@ -3069,6 +3057,21 @@ aws-sdk@^2.869.0: uuid "3.3.2" xml2js "0.4.19" +aws-sdk@^2.889.0: + version "2.889.0" + resolved "https://registry.yarnpkg.com/aws-sdk/-/aws-sdk-2.889.0.tgz#513457f488305a8ff5593747741b67e7b874bdf7" + integrity sha512-+v77GmIJKXT3GMDg/HF9x8c7RSVU8Imfp/0n0Tuzf5AAE6eavpD3xzHABiK9zO9f+T8XzJDytl66UQ33YXavng== + dependencies: + buffer "4.9.2" + events "1.1.1" + ieee754 "1.1.13" + jmespath "0.15.0" + querystring "0.2.0" + sax "1.2.1" + url "0.10.3" + uuid "3.3.2" + xml2js "0.4.19" + aws-sign2@~0.7.0: version "0.7.0" resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" @@ -3079,16 +3082,16 @@ aws4@^1.8.0: resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.10.1.tgz#e1e82e4f3e999e2cfd61b161280d16a111f86428" integrity sha512-zg7Hz2k5lI8kb7U32998pRRFin7zJlkfezGJjUc2heaD4Pw2wObakCDVzkKztTm/Ln7eiVvYsjqak0Ed4LkMDA== -awslint@1.96.0: - version "1.96.0" - resolved "https://registry.yarnpkg.com/awslint/-/awslint-1.96.0.tgz#b9d369396866dd312e6335fc48b7b9e0461937a3" - integrity sha512-PgRTV7i1dUZV+vy5fwKnAVu7pxiLfeksTTl04ThTPh1GsYnuvU2zleQ1TR5N4fnOU//kv+kMmhxVYub+LF92KA== +awslint@1.99.0: + version "1.99.0" + resolved "https://registry.yarnpkg.com/awslint/-/awslint-1.99.0.tgz#a6e282449470c322b34f0ba4ed13868b9f62c380" + integrity sha512-ye6sEUeyyj/cT72FKFrqN+BClqY6la9mMe7kR+ku7fWGPMwwkBULiFh7CLtnWsM+D/+4/pmQQxuA8pyj/HIzRg== dependencies: - "@jsii/spec" "^1.26.0" + "@jsii/spec" "^1.28.0" camelcase "^6.2.0" colors "^1.4.0" fs-extra "^9.1.0" - jsii-reflect "^1.26.0" + jsii-reflect "^1.28.0" yargs "^16.2.0" babel-jest@^26.6.3: @@ -3447,13 +3450,13 @@ caseless@~0.12.0: resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= -cdk-assets@1.96.0: - version "1.96.0" - resolved "https://registry.yarnpkg.com/cdk-assets/-/cdk-assets-1.96.0.tgz#3f7e70425e4001b21fe1dde6fd24efade012d08c" - integrity sha512-hjOdlUPNCh9BOih0ALRzCy7w/VouZDYq5B84gMPNGvsFTmUBi4rlsa964fyZlu3sDB5rNgOXOkTjQuZ9L4BGQg== +cdk-assets@1.99.0: + version "1.99.0" + resolved "https://registry.yarnpkg.com/cdk-assets/-/cdk-assets-1.99.0.tgz#249375f8a9ac08be27abbb5a3c8e46e1576e6b59" + integrity sha512-gH8C8YT0F1cZh+ce6zILbfTwPpCwO2Q07VrZqXuqDffYXKC/SQOi/gkj6UGpjqov4/qNXBNmihDtxsJXT18pTA== dependencies: - "@aws-cdk/cloud-assembly-schema" "1.96.0" - "@aws-cdk/cx-api" "1.96.0" + "@aws-cdk/cloud-assembly-schema" "1.99.0" + "@aws-cdk/cx-api" "1.99.0" archiver "^5.3.0" aws-sdk "^2.848.0" glob "^7.1.6" @@ -3613,10 +3616,10 @@ code-point-at@^1.0.0: resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c= -codemaker@^1.26.0: - version "1.26.0" - resolved "https://registry.yarnpkg.com/codemaker/-/codemaker-1.26.0.tgz#31560f44d597afbb366c015267327394e18efbdf" - integrity sha512-oK0SdWi3CUHL7hVcDpXVBQc2xm31RCJSqg7I1wviMifD89zbvu3boAz/s5aoXbcVDKKxLOZn2w55WlGCih9HOw== +codemaker@^1.28.0: + version "1.28.0" + resolved "https://registry.yarnpkg.com/codemaker/-/codemaker-1.28.0.tgz#21237f9240ab05ecca6c65da48141b8b752539b8" + integrity sha512-TlpvV3q/68cZk7aljYW6b/5EvyB4uw523xJISTATrCrQu/UTA79/mxpA2ug8uhPcJoGYcfWXH4BHVVLNIuEtrg== dependencies: camelcase "^6.2.0" decamelize "^5.0.0" @@ -4694,10 +4697,10 @@ eslint-plugin-import@^2.22.1: resolve "^1.17.0" tsconfig-paths "^3.9.0" -eslint-plugin-jest@^24.3.2: - version "24.3.2" - resolved "https://registry.yarnpkg.com/eslint-plugin-jest/-/eslint-plugin-jest-24.3.2.tgz#30a8b2dea6278d0da1d6fb9d6cd530aaf58050a1" - integrity sha512-cicWDr+RvTAOKS3Q/k03+Z3odt3VCiWamNUHWd6QWbVQWcYJyYgUTu8x0mx9GfeDEimawU5kQC+nQ3MFxIM6bw== +eslint-plugin-jest@^24.3.5: + version "24.3.5" + resolved "https://registry.yarnpkg.com/eslint-plugin-jest/-/eslint-plugin-jest-24.3.5.tgz#71f0b580f87915695c286c3f0eb88cf23664d044" + integrity sha512-XG4rtxYDuJykuqhsOqokYIR84/C8pRihRtEpVskYLbIIKGwPNW2ySxdctuVzETZE+MbF/e7wmsnbNVpzM0rDug== dependencies: "@typescript-eslint/experimental-utils" "^4.0.1" @@ -4733,10 +4736,10 @@ eslint-visitor-keys@^2.0.0: resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz#21fdc8fbcd9c795cc0321f0563702095751511a8" integrity sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ== -eslint@^7.21.0, eslint@^7.22.0: - version "7.22.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.22.0.tgz#07ecc61052fec63661a2cab6bd507127c07adc6f" - integrity sha512-3VawOtjSJUQiiqac8MQc+w457iGLfuNGLFn8JmF051tTKbh5/x/0vlcEj8OgDCaw7Ysa2Jn8paGshV7x2abKXg== +eslint@^7.24.0: + version "7.24.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.24.0.tgz#2e44fa62d93892bfdb100521f17345ba54b8513a" + integrity sha512-k9gaHeHiFmGCDQ2rEfvULlSLruz6tgfA8DEn+rY9/oYPFFTlz55mM/Q/Rij1b2Y42jwZiK3lXvNTw6w6TXzcKQ== dependencies: "@babel/code-frame" "7.12.11" "@eslint/eslintrc" "^0.4.0" @@ -6782,71 +6785,71 @@ jsesc@^2.5.1: resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== -jsii-diff@^1.26.0: - version "1.26.0" - resolved "https://registry.yarnpkg.com/jsii-diff/-/jsii-diff-1.26.0.tgz#41ba434b298771b7542a3a2eb18241ba6cf82a73" - integrity sha512-RWu1AFYE8+U+75yZMSKrn5JFj6G21yiKR2Won+XbggD+DveHDGNbopWi9lDHuB5ec04kfiUB7og0yXkanIO4wg== +jsii-diff@^1.28.0: + version "1.28.0" + resolved "https://registry.yarnpkg.com/jsii-diff/-/jsii-diff-1.28.0.tgz#16f889559f3d2679154f93eae004704db1e6c62d" + integrity sha512-SJUzVY7sXg3esBeuvj3tQGzeRYEkpmrqbC1lIHd8VdXpPybYWU958z3hlJJkvaM1AomQpiMyXK6Ev+2XOp741g== dependencies: - "@jsii/spec" "^1.26.0" + "@jsii/spec" "^1.28.0" fs-extra "^9.1.0" - jsii-reflect "^1.26.0" + jsii-reflect "^1.28.0" log4js "^6.3.0" typescript "~3.9.9" yargs "^16.2.0" -jsii-pacmak@^1.25.0, jsii-pacmak@^1.26.0: - version "1.26.0" - resolved "https://registry.yarnpkg.com/jsii-pacmak/-/jsii-pacmak-1.26.0.tgz#c600cb190255e080944c906d885e9b436edd2cd9" - integrity sha512-KOKOIazxddh8CuyuLMoBURW2bj3prhzyT0qF5ojUhHrbZeuH3eulF/Sn5PaIAadmQdmCiu69DYJe2JIwY/zwjw== +jsii-pacmak@^1.28.0: + version "1.28.0" + resolved "https://registry.yarnpkg.com/jsii-pacmak/-/jsii-pacmak-1.28.0.tgz#3d20c27a91266cf740a1ff229b29270785d2bcfc" + integrity sha512-QAW8rq7M9rA/QSXwaJKMVpttkNW/BJgE9GT6i9UahobQMkmp+zsXCJUENeRg2mndLqX0DDyxO1in/fuIeCeR3A== dependencies: - "@jsii/spec" "^1.26.0" + "@jsii/spec" "^1.28.0" clone "^2.1.2" - codemaker "^1.26.0" + codemaker "^1.28.0" commonmark "^0.29.3" escape-string-regexp "^4.0.0" fs-extra "^9.1.0" - jsii-reflect "^1.26.0" - jsii-rosetta "^1.26.0" - semver "^7.3.4" + jsii-reflect "^1.28.0" + jsii-rosetta "^1.28.0" + semver "^7.3.5" spdx-license-list "^6.4.0" xmlbuilder "^15.1.1" yargs "^16.2.0" -jsii-reflect@^1.26.0: - version "1.26.0" - resolved "https://registry.yarnpkg.com/jsii-reflect/-/jsii-reflect-1.26.0.tgz#6efa0e8058ff8547b02b3b688263ad933feb646b" - integrity sha512-mlu97Xs2M+YCq3Z8z2vzLYOe3XVC3T0YBabvJjkKoNYdH6F/S5zQMVdGwfHEXv1asFv7PrrVu46Zf/dKnqULcw== +jsii-reflect@^1.28.0: + version "1.28.0" + resolved "https://registry.yarnpkg.com/jsii-reflect/-/jsii-reflect-1.28.0.tgz#d03276499702115ff0582f82ede7bd40f1a4b6b9" + integrity sha512-jFu9dUy5D0PrxVnaDilb50agbSr0wZRya6StwHyw8Wly3ruzS8uuSB1aWmEwN371m5ewDD4m9nPEQ9zMmKFvMQ== dependencies: - "@jsii/spec" "^1.26.0" + "@jsii/spec" "^1.28.0" colors "^1.4.0" fs-extra "^9.1.0" - oo-ascii-tree "^1.26.0" + oo-ascii-tree "^1.28.0" yargs "^16.2.0" -jsii-rosetta@^1.26.0: - version "1.26.0" - resolved "https://registry.yarnpkg.com/jsii-rosetta/-/jsii-rosetta-1.26.0.tgz#f2107981b769f10f0b2ebf497702c3e6d9d3a2c1" - integrity sha512-J/VQR8j/mD4Q5qGF0JmfvOJeNWIx0I158nvo6FsnC8aYmHyIpBPmlpKWZzUGC8fHxoD3mC8oeiFLp2Yv8BNtvQ== +jsii-rosetta@^1.28.0: + version "1.28.0" + resolved "https://registry.yarnpkg.com/jsii-rosetta/-/jsii-rosetta-1.28.0.tgz#89625e817d4bf50fe51924177eb78bcb08908193" + integrity sha512-lttDhXiBuWaN0DwsWakD5o7GxyVP8yMCRvpmpXOqz1eK+MMlZp654R6o39M7RksXhhxipCNwfbIY3T7Y7N85qQ== dependencies: - "@jsii/spec" "^1.26.0" + "@jsii/spec" "^1.28.0" commonmark "^0.29.3" fs-extra "^9.1.0" typescript "~3.9.9" xmldom "^0.5.0" yargs "^16.2.0" -jsii@^1.25.0: - version "1.26.0" - resolved "https://registry.yarnpkg.com/jsii/-/jsii-1.26.0.tgz#8994498b69a616be7c255285dc6d8142b5032b61" - integrity sha512-ZUu5N8+u12VyNkPgSgvVzIhZ+aEAd531zDZK4qkth7UsGNhSy4zBz9BJMSSKnaVV0oR6Pvehhg5DJ3dCu8qJrw== +jsii@^1.28.0: + version "1.28.0" + resolved "https://registry.yarnpkg.com/jsii/-/jsii-1.28.0.tgz#c453f2a81d001dd2c3c3991e6e36d4bbb1d03f42" + integrity sha512-B6CbHi60fabeQZJYNea8wSUsrILJzN7ng+yx69GmMJ4C6NtCVt7Oc/CITfhY/cYTwdhN3FAJf01e5/v8qj6bUA== dependencies: - "@jsii/spec" "^1.26.0" + "@jsii/spec" "^1.28.0" case "^1.6.3" colors "^1.4.0" deep-equal "^2.0.5" fs-extra "^9.1.0" log4js "^6.3.0" - semver "^7.3.4" + semver "^7.3.5" semver-intersect "^1.4.0" sort-json "^2.0.0" spdx-license-list "^6.4.0" @@ -8206,10 +8209,10 @@ onetime@^5.1.0, onetime@^5.1.2: dependencies: mimic-fn "^2.1.0" -oo-ascii-tree@^1.26.0: - version "1.26.0" - resolved "https://registry.yarnpkg.com/oo-ascii-tree/-/oo-ascii-tree-1.26.0.tgz#c282175f2e620615d385e613ef451e9ffb6ad9a5" - integrity sha512-JcRUxvHG+QAheXnxx9cwtgDJY6aXc70UAvgoFxKtRz+KfWEU47z/X2HHb81O/aZ3mN4fRnnnnwQhaTUuQRw2Ag== +oo-ascii-tree@^1.28.0: + version "1.28.0" + resolved "https://registry.yarnpkg.com/oo-ascii-tree/-/oo-ascii-tree-1.28.0.tgz#2bafc084f7725b118b5a8511944a8dd4ebef14df" + integrity sha512-lCeBgtQutG2+K7BOJDurYNfCepvckj7jWtq2VVP1kseLry/VbLzE/oLiXEeK6iWUXJbBE2IzmxwGuUwee293yw== opener@^1.5.1: version "1.5.2" @@ -9736,10 +9739,10 @@ stack-utils@^2.0.2: dependencies: escape-string-regexp "^2.0.0" -standard-version@^9.1.1: - version "9.1.1" - resolved "https://registry.yarnpkg.com/standard-version/-/standard-version-9.1.1.tgz#7561df6351b075a44544ce3d3ebcffcb9582ba5a" - integrity sha512-PF9JnRauBwH7DAkmefYu1mB2Kx0MVG13udqDTFmDUiogbyikBAHBdMrVuauxtAb2YIkyZ3FMYCNv0hqUKMOPww== +standard-version@^9.2.0: + version "9.2.0" + resolved "https://registry.yarnpkg.com/standard-version/-/standard-version-9.2.0.tgz#d4e64b201ec1abb8a677b265d8755e5e8b9e33a3" + integrity sha512-utJcqjk/wR4sePSwDoRcc5CzJ6S+kec5Hd0+1TJI+j1TRYuuptweAnEUdkkjGf2vYoGab2ezefyVtW065HZ1Uw== dependencies: chalk "^2.4.2" conventional-changelog "3.1.24" @@ -10355,7 +10358,7 @@ trivial-deferred@^1.0.1: resolved "https://registry.yarnpkg.com/trivial-deferred/-/trivial-deferred-1.0.1.tgz#376d4d29d951d6368a6f7a0ae85c2f4d5e0658f3" integrity sha1-N21NKdlR1jaKb3oK6FwvTV4GWPM= -ts-jest@^26.5.3, ts-jest@^26.5.4: +ts-jest@^26.5.4: version "26.5.4" resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-26.5.4.tgz#207f4c114812a9c6d5746dd4d1cdf899eafc9686" integrity sha512-I5Qsddo+VTm94SukBJ4cPimOoFZsYTeElR2xy6H2TOVs+NsvgYglW8KuQgKoApOKuaU/Ix/vrF9ebFZlb5D2Pg== @@ -10514,6 +10517,11 @@ typescript@~4.2.3: resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.2.3.tgz#39062d8019912d43726298f09493d598048c1ce3" integrity sha512-qOcYwxaByStAWrBf4x0fibwZvMRG+r4cQoTjbPtUlrWjBHbmCAww1i448U0GJ+3cNNEtebDteo/cHOR3xJ4wEw== +typescript@~4.2.4: + version "4.2.4" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.2.4.tgz#8610b59747de028fda898a8aef0e103f156d0961" + integrity sha512-V+evlYHZnQkaz8TRBuxTA92yZBPotr5H+WhQ7bD3hZUndx5tGOa1fuCgeSjxAzM1RiN5IzvadIXTVefuuwZCRg== + uglify-js@^3.1.4: version "3.11.1" resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.11.1.tgz#32d274fea8aac333293044afd7f81409d5040d38" From 70e0cf95c1a8df7fa53b26dadfa3fd7280357915 Mon Sep 17 00:00:00 2001 From: Roman Yakobenchuk Date: Mon, 19 Apr 2021 17:13:11 -0500 Subject: [PATCH 5/7] chore(deadline): adding retries for http requests and timeouts for custom resources (#393) * chore(deadline): adding retries for DeadlineClient requests and timeouts for custom resources * chore(deadline): making getRemainingTimeInMillis() * chore(deadline): using environment variable for timeout and retrying all 5xx errors * chore(deadline): adding explanation for reserve time --- .../lib/configure-spot-event-plugin.ts | 4 +- .../configure-spot-event-plugin/handler.ts | 10 ++ .../lambdas/nodejs/lib/aws-lambda/types.ts | 1 + .../lib/custom-resource/simple-resource.ts | 79 +++++++++---- .../lib/deadline-client/deadline-client.ts | 108 +++++++++++++----- .../test/deadline-client.test.ts | 44 ++++++- .../pad-efs-storage/test/handlers.test.ts | 14 +++ 7 files changed, 206 insertions(+), 54 deletions(-) diff --git a/packages/aws-rfdk/lib/deadline/lib/configure-spot-event-plugin.ts b/packages/aws-rfdk/lib/deadline/lib/configure-spot-event-plugin.ts index 96acf7563..37da04da4 100644 --- a/packages/aws-rfdk/lib/deadline/lib/configure-spot-event-plugin.ts +++ b/packages/aws-rfdk/lib/deadline/lib/configure-spot-event-plugin.ts @@ -424,6 +424,7 @@ export class ConfigureSpotEventPlugin extends Construct { const region = Construct.isConstruct(props.renderQueue) ? Stack.of(props.renderQueue).region : Stack.of(this).region; + const timeoutMins = 15; const configurator = new LambdaFunction(this, 'Configurator', { vpc: props.vpc, vpcSubnets: props.vpcSubnets ?? { subnetType: SubnetType.PRIVATE }, @@ -432,10 +433,11 @@ export class ConfigureSpotEventPlugin extends Construct { }), environment: { DEBUG: 'false', + LAMBDA_TIMEOUT_MINS: timeoutMins.toString(), }, runtime: Runtime.NODEJS_12_X, handler: 'configure-spot-event-plugin.configureSEP', - timeout: Duration.minutes(2), + timeout: Duration.minutes(timeoutMins), logRetention: RetentionDays.ONE_WEEK, }); diff --git a/packages/aws-rfdk/lib/lambdas/nodejs/configure-spot-event-plugin/handler.ts b/packages/aws-rfdk/lib/lambdas/nodejs/configure-spot-event-plugin/handler.ts index 2a1dd7eeb..f504af242 100644 --- a/packages/aws-rfdk/lib/lambdas/nodejs/configure-spot-event-plugin/handler.ts +++ b/packages/aws-rfdk/lib/lambdas/nodejs/configure-spot-event-plugin/handler.ts @@ -101,6 +101,14 @@ export class SEPConfiguratorResource extends SimpleCustomResource { } private async spotEventPluginClient(connection: ConnectionOptions): Promise { + // The calculation of retries is approximate. The real number of retries will be smaller, + // because we quit Lambda before the timeout (see SimpleCustomResource implementation). + const lambdaTimeoutMins = parseInt(process.env.LAMBDA_TIMEOUT_MINS || '15'); // The maximum Lambda execution time is 15 mins. + const MS_IN_A_MINUTE = 60000; + const timeRemaining = lambdaTimeoutMins * MS_IN_A_MINUTE; + const retryWaitMs = 10000; + const retries = Math.floor(timeRemaining / retryWaitMs); + return new SpotEventPluginClient(new DeadlineClient({ host: connection.hostname, port: Number.parseInt(connection.port, 10), @@ -108,6 +116,8 @@ export class SEPConfiguratorResource extends SimpleCustomResource { tls: { ca: connection.caCertificateArn ? await readCertificateData(connection.caCertificateArn, this.secretsManagerClient) : undefined, }, + retries, + retryWaitMs, })); } diff --git a/packages/aws-rfdk/lib/lambdas/nodejs/lib/aws-lambda/types.ts b/packages/aws-rfdk/lib/lambdas/nodejs/lib/aws-lambda/types.ts index ac7814ddf..90efc11c9 100644 --- a/packages/aws-rfdk/lib/lambdas/nodejs/lib/aws-lambda/types.ts +++ b/packages/aws-rfdk/lib/lambdas/nodejs/lib/aws-lambda/types.ts @@ -13,4 +13,5 @@ export interface LambdaContext { readonly logGroupName: string; readonly logStreamName: string; + getRemainingTimeInMillis(): number; } diff --git a/packages/aws-rfdk/lib/lambdas/nodejs/lib/custom-resource/simple-resource.ts b/packages/aws-rfdk/lib/lambdas/nodejs/lib/custom-resource/simple-resource.ts index 027fbdc25..035eb7197 100644 --- a/packages/aws-rfdk/lib/lambdas/nodejs/lib/custom-resource/simple-resource.ts +++ b/packages/aws-rfdk/lib/lambdas/nodejs/lib/custom-resource/simple-resource.ts @@ -78,32 +78,40 @@ export abstract class SimpleCustomResource { let cfnData: object | undefined; console.log(`Handling event: ${JSON.stringify(event)}`); - const requestType: string = event.RequestType; const resourceProperties: object = event.ResourceProperties ?? {}; const physicalId: string = calculateSha256Hash(resourceProperties); try { - if (requestType === 'Create') { - if (!this.validateInput(resourceProperties)) { - throw Error(`Input did not pass validation check. Check log group "${context.logGroupName}" ` + - `for log stream ${context.logStreamName} for additional information.`); - } - cfnData = await this.doCreate(physicalId, resourceProperties); - console.debug(`Create data: ${JSON.stringify(cfnData)}`); - } else if (requestType === 'Update') { - if (!this.validateInput(resourceProperties)) { - throw Error('Input did not pass validation check'); - } - const oldResourceProperties: object = event.OldResourceProperties ?? {}; - const oldPhysicalId: string = calculateSha256Hash(oldResourceProperties); - if (oldPhysicalId !== physicalId) { - console.log('Doing Create -- ResourceProperties differ.'); - cfnData = await this.doCreate(physicalId, resourceProperties); - console.debug(`Update data: ${JSON.stringify(cfnData)}`); - } - } else { - await this.doDelete(physicalId, resourceProperties); + const timeout = (prom: any, time: number, exception: any) => { + let timer: any; + return Promise.race([ + prom, + new Promise((_r, rej) => timer = setTimeout(rej, time, exception)), + ]).finally(() => clearTimeout(timer)); + }; + + // We want to always notify CloudFormation about the success/failure of the Lambda at all times. + // If function execution time is longer than Lambda's timeout, then the function is just stopped + // and CloudFormation is not notified at all. This would result in a hang-up during deployment. + // Thus, we want to stop the execution by ourselves before the Lambda timeout and reserve some time + // for notifying a CloudFormation about a failed deployment because of the timeout. + // 3 seconds should be enough to resolve the request that signals success/failure of the custom resource, + // but if Lambda timeout is too small, we would reserve 20% of the remaining time and still try to notify the CF. + // Check the logs during the development to see if you allocated enough time for your Lambda. + const defaultReserveTimeMs = 3000; + const remainingTimeMs = context.getRemainingTimeInMillis(); + let reserveTimeMs = Math.min(0.2 * remainingTimeMs, defaultReserveTimeMs); + if (reserveTimeMs < defaultReserveTimeMs) { + console.debug(`The remaining Lambda execution time of ${reserveTimeMs} ` + + `ms might not be sufficient to send a CloudFormation response. At least ${defaultReserveTimeMs} ms is required. ` + + 'Please increase the Lambda timeout.'); } + + cfnData = await timeout( + this.handleEvent(event, context, resourceProperties, physicalId), + remainingTimeMs - reserveTimeMs, + new Error('Timeout error'), + ); } catch (e) { // We want to always catch the exception for a CfnCustomResource CloudFormation // must be notified about the success/failure of the lambda at all times; @@ -128,4 +136,33 @@ export abstract class SimpleCustomResource { console.log(`Result: ${response}`); return response; } + + private async handleEvent(event: CfnRequestEvent, context: LambdaContext, props: object, physicalId: string): Promise { + const requestType: string = event.RequestType; + let cfnData: object | undefined; + + if (requestType === 'Create') { + if (!this.validateInput(props)) { + throw Error(`Input did not pass validation check. Check log group "${context.logGroupName}" ` + + `for log stream ${context.logStreamName} for additional information.`); + } + cfnData = await this.doCreate(physicalId, props); + console.debug(`Create data: ${JSON.stringify(cfnData)}`); + } else if (requestType === 'Update') { + if (!this.validateInput(props)) { + throw Error('Input did not pass validation check'); + } + const oldResourceProperties: object = event.OldResourceProperties ?? {}; + const oldPhysicalId: string = calculateSha256Hash(oldResourceProperties); + if (oldPhysicalId !== physicalId) { + console.log('Doing Create -- ResourceProperties differ.'); + cfnData = await this.doCreate(physicalId, props); + console.debug(`Update data: ${JSON.stringify(cfnData)}`); + } + } else { + await this.doDelete(physicalId, props); + } + + return cfnData; + } } diff --git a/packages/aws-rfdk/lib/lambdas/nodejs/lib/deadline-client/deadline-client.ts b/packages/aws-rfdk/lib/lambdas/nodejs/lib/deadline-client/deadline-client.ts index 7725b7185..a2f37b204 100644 --- a/packages/aws-rfdk/lib/lambdas/nodejs/lib/deadline-client/deadline-client.ts +++ b/packages/aws-rfdk/lib/lambdas/nodejs/lib/deadline-client/deadline-client.ts @@ -6,6 +6,8 @@ import * as http from 'http'; import * as https from 'https'; +/* eslint-disable no-console */ + /** * Properties for setting up an {@link TLSProps}. */ @@ -50,6 +52,18 @@ export interface DeadlineClientProps { * The certificate, private key, and root CA certificate if SSL/TLS is used. */ readonly tls?: TLSProps; + + /** + * The number of retries if received status code 500 or higher. + * @default 3 + */ + readonly retries?: number; + + /** + * The amount of time in milliseconds to wait between the retries. + * @default 10000 milliseconds + */ + readonly retryWaitMs?: number; } /** @@ -91,8 +105,20 @@ export interface Response { * It is intended to be used within Custom Resources that need to send the requests to the Render Queue. */ export class DeadlineClient { + /** + * The default number of retry attempts. + */ + private static readonly DEFAULT_RETRY_COUNT = 3; + + /** + * Specifies the default waiting period between two requests. + */ + private static readonly DEFAULT_RETRY_PERIOD_MS = 10000; + public readonly requestOptions: RequestOptions; private protocol: typeof http | typeof https; + private readonly retries: number; + private readonly retryWaitMs: number; public constructor(props: DeadlineClientProps) { this.requestOptions = { @@ -112,6 +138,9 @@ export class DeadlineClient { else { this.protocol = http; } + + this.retries = props.retries ?? DeadlineClient.DEFAULT_RETRY_COUNT; + this.retryWaitMs = props.retryWaitMs ?? DeadlineClient.DEFAULT_RETRY_PERIOD_MS; } /** @@ -122,7 +151,7 @@ export class DeadlineClient { */ public async GetRequest(path: string, requestOptions?: https.RequestOptions): Promise { const options = this.FillRequestOptions(path, 'GET', requestOptions); - return this.performRequest(options); + return this.performRequestWithRetry(options, this.retries, this.retryWaitMs); } /** @@ -134,7 +163,7 @@ export class DeadlineClient { */ public async PostRequest(path: string, data?: any, requestOptions?: https.RequestOptions): Promise { const options = this.FillRequestOptions(path, 'POST', requestOptions); - return this.performRequest(options, data ? JSON.stringify(data) : undefined); + return this.performRequestWithRetry(options, this.retries, this.retryWaitMs, data ? JSON.stringify(data) : undefined); } private FillRequestOptions(path: string, method: string, requestOptions?: https.RequestOptions): https.RequestOptions { @@ -150,38 +179,57 @@ export class DeadlineClient { return options; } + private async performRequestWithRetry(options: https.RequestOptions, retriesLeft: number, retryDelayMs: number, data?: string): Promise { + try { + return await this.performRequest(options, data); + } catch(exception) { + const { statusCode, statusMessage } = exception; + if (statusCode !== undefined && statusMessage !== undefined) { + if (statusCode >= 500 && retriesLeft > 0) { + console.log(`Request failed with ${statusCode}: ${statusMessage}. Will retry after ${retryDelayMs} ms.`); + console.log(`Retries left: ${retriesLeft}`); + const delay = (ms: number) => new Promise(res => setTimeout(res, ms)); + await delay(retryDelayMs); + return await this.performRequestWithRetry(options, retriesLeft - 1, retryDelayMs, data); + } + else { + return await Promise.reject(statusMessage); + } + } + else { + throw(exception); + } + } + } + private async performRequest(options: https.RequestOptions, data?: string): Promise { return new Promise((resolve, reject) => { - try { - const req = this.protocol.request(options, response => { - const { statusCode } = response; - if (!statusCode || statusCode >= 300) { - return reject(response.statusMessage); - } - else { - const chunks: any = []; - response.on('data', (chunk) => { - chunks.push(chunk); - }); - response.on('end', () => { - const stringData = Buffer.concat(chunks).toString(); - const result: Response = { - data: JSON.parse(stringData), - fullResponse: response, - }; - return resolve(result); - }); - } - }); - - req.on('error', reject); - if (data) { - req.write(data); + const req = this.protocol.request(options, response => { + const { statusCode } = response; + if (!statusCode || statusCode >= 300) { + return reject(response); } - req.end(); - } catch (e) { - reject(e); + else { + const chunks: any = []; + response.on('data', (chunk) => { + chunks.push(chunk); + }); + response.on('end', () => { + const stringData = Buffer.concat(chunks).toString(); + const result: Response = { + data: JSON.parse(stringData), + fullResponse: response, + }; + return resolve(result); + }); + } + }); + + req.on('error', reject); + if (data) { + req.write(data); } + req.end(); }); } } diff --git a/packages/aws-rfdk/lib/lambdas/nodejs/lib/deadline-client/test/deadline-client.test.ts b/packages/aws-rfdk/lib/lambdas/nodejs/lib/deadline-client/test/deadline-client.test.ts index 2bda04be8..55b52aa59 100644 --- a/packages/aws-rfdk/lib/lambdas/nodejs/lib/deadline-client/test/deadline-client.test.ts +++ b/packages/aws-rfdk/lib/lambdas/nodejs/lib/deadline-client/test/deadline-client.test.ts @@ -28,6 +28,8 @@ describe('DeadlineClient', () => { public end() {} public write(_data: string) {} } + + let consoleLogMock: jest.SpyInstance; let request: MockRequest; let response: MockResponse; @@ -46,6 +48,7 @@ describe('DeadlineClient', () => { describe('successful responses', () => { beforeEach(() => { + consoleLogMock = jest.spyOn(console, 'log').mockReturnValue(undefined); request = new MockRequest(); jest.requireMock('http').request.mockReset(); jest.requireMock('https').request.mockReset(); @@ -363,14 +366,14 @@ describe('DeadlineClient', () => { describe('failed responses', () => { beforeEach(() => { + consoleLogMock = jest.spyOn(console, 'log').mockReturnValue(undefined); request = new MockRequest(); jest.requireMock('http').request.mockImplementation(httpRequestMock); jest.requireMock('https').request.mockImplementation(httpRequestMock); - - response = new MockResponse(400); }); afterEach(() => { + jest.clearAllMocks(); jest.requireMock('http').request.mockReset(); jest.requireMock('https').request.mockReset(); }); @@ -382,10 +385,43 @@ describe('DeadlineClient', () => { ['HTTPS', 'POST'], ])('with %p %p', async (protocol: string, requestType: string) => { // GIVEN + response = new MockResponse(400); + deadlineClient = new DeadlineClient({ + host: 'hostname', + port: 0, + protocol: protocol, + }); + + // WHEN + function performRequest() { + if (requestType === 'GET') { return deadlineClient.GetRequest('anypath'); } + return deadlineClient.PostRequest('anypath', 'anydata'); + } + const promise = performRequest(); + + // THEN + await expect(promise) + .rejects + .toEqual(response.statusMessage); + + expect(consoleLogMock.mock.calls.length).toBe(0); + }); + + test.each([ + ['HTTP', 'GET'], + ['HTTP', 'POST'], + ['HTTPS', 'GET'], + ['HTTPS', 'POST'], + ])('with %p %p', async (protocol: string, requestType: string) => { + // GIVEN + response = new MockResponse(503); + const retries = 3; deadlineClient = new DeadlineClient({ host: 'hostname', port: 0, protocol: protocol, + retries, + retryWaitMs: 0, }); // WHEN @@ -399,6 +435,10 @@ describe('DeadlineClient', () => { await expect(promise) .rejects .toEqual(response.statusMessage); + + expect(consoleLogMock.mock.calls.length).toBe(retries * 2); + expect(consoleLogMock.mock.calls[0][0]).toMatch(/Request failed with/); + expect(consoleLogMock.mock.calls[1][0]).toMatch(/Retries left:/); }); }); }); diff --git a/packages/aws-rfdk/lib/lambdas/nodejs/pad-efs-storage/test/handlers.test.ts b/packages/aws-rfdk/lib/lambdas/nodejs/pad-efs-storage/test/handlers.test.ts index ccafde78b..6e2c3fe23 100644 --- a/packages/aws-rfdk/lib/lambdas/nodejs/pad-efs-storage/test/handlers.test.ts +++ b/packages/aws-rfdk/lib/lambdas/nodejs/pad-efs-storage/test/handlers.test.ts @@ -128,6 +128,7 @@ describe('Testing getDiskUsage behavior', () => { { logGroupName: '', logStreamName: '', + getRemainingTimeInMillis: () => 1000, })).rejects.toThrow(); }); @@ -138,6 +139,7 @@ describe('Testing getDiskUsage behavior', () => { { logGroupName: '', logStreamName: '', + getRemainingTimeInMillis: () => 1000, })).rejects.toThrow(); }); @@ -153,6 +155,7 @@ describe('Testing getDiskUsage behavior', () => { { logGroupName: '', logStreamName: '', + getRemainingTimeInMillis: () => 1000, })).rejects.toThrow(); }); @@ -176,6 +179,7 @@ describe('Testing getDiskUsage behavior', () => { { logGroupName: '', logStreamName: '', + getRemainingTimeInMillis: () => 1000, }); // THEN @@ -203,6 +207,7 @@ describe('Testing padFilesystem macro behavior', () => { }, { logGroupName: '', logStreamName: '', + getRemainingTimeInMillis: () => 1000, })).rejects.toThrow(); }); @@ -213,6 +218,7 @@ describe('Testing padFilesystem macro behavior', () => { }, { logGroupName: '', logStreamName: '', + getRemainingTimeInMillis: () => 1000, })).rejects.toThrow(); }); @@ -222,6 +228,7 @@ describe('Testing padFilesystem macro behavior', () => { }, { logGroupName: '', logStreamName: '', + getRemainingTimeInMillis: () => 1000, })).rejects.toThrow(); }); @@ -232,6 +239,7 @@ describe('Testing padFilesystem macro behavior', () => { }, { logGroupName: '', logStreamName: '', + getRemainingTimeInMillis: () => 1000, })).rejects.toThrow(); }); @@ -247,6 +255,7 @@ describe('Testing padFilesystem macro behavior', () => { }, { logGroupName: '', logStreamName: '', + getRemainingTimeInMillis: () => 1000, })).rejects.toThrow(); }); @@ -266,6 +275,7 @@ describe('Testing padFilesystem macro behavior', () => { }, { logGroupName: '', logStreamName: '', + getRemainingTimeInMillis: () => 1000, }); // THEN @@ -291,6 +301,7 @@ describe('Testing padFilesystem macro behavior', () => { }, { logGroupName: '', logStreamName: '', + getRemainingTimeInMillis: () => 1000, }); // WHEN @@ -302,6 +313,7 @@ describe('Testing padFilesystem macro behavior', () => { }, { logGroupName: '', logStreamName: '', + getRemainingTimeInMillis: () => 1000, }); // THEN @@ -328,6 +340,7 @@ describe('Testing padFilesystem macro behavior', () => { }, { logGroupName: '', logStreamName: '', + getRemainingTimeInMillis: () => 1000, }); // WHEN @@ -339,6 +352,7 @@ describe('Testing padFilesystem macro behavior', () => { }, { logGroupName: '', logStreamName: '', + getRemainingTimeInMillis: () => 1000, }); // THEN From 726fa848b6362b226e78aff9eec2c2544bc2aa74 Mon Sep 17 00:00:00 2001 From: Josh Usiskin <56369778+jusiskin@users.noreply.github.com> Date: Tue, 20 Apr 2021 11:36:46 -0500 Subject: [PATCH 6/7] feat(core): add ability to resolve mount targets using EFS API (#392) --- .../aws-rfdk/lib/core/lib/mountable-efs.ts | 29 +++- .../core/scripts/bash/metadataUtilities.sh | 7 + .../lib/core/scripts/bash/mountEfs.sh | 125 ++++++++++++++++-- .../aws-rfdk/lib/core/test/asset-constants.ts | 2 +- .../lib/core/test/mountable-efs.test.ts | 64 ++++++++- .../lib/deadline/test/repository.test.ts | 4 +- 6 files changed, 212 insertions(+), 19 deletions(-) diff --git a/packages/aws-rfdk/lib/core/lib/mountable-efs.ts b/packages/aws-rfdk/lib/core/lib/mountable-efs.ts index 9c50bf748..006f118a3 100644 --- a/packages/aws-rfdk/lib/core/lib/mountable-efs.ts +++ b/packages/aws-rfdk/lib/core/lib/mountable-efs.ts @@ -66,6 +66,18 @@ export interface MountableEfsProps { * @default No extra options. */ readonly extraMountOptions?: string[]; + + /** + * If enabled, RFDK will add user-data to the instances mounting this EFS file-system that obtains the mount target + * IP address using AWS APIs and writes them to the system's `/etc/hosts` file to not require DNS lookups. + * + * If mounting EFS from instances in a VPC configured to not use the Amazon-provided DNS Route 53 Resolver server, + * then the EFS mount targets will not be resolvable using DNS (see + * https://docs.aws.amazon.com/vpc/latest/userguide/vpc-dns.html) and enabling this will work around that issue. + * + * @default false + */ + readonly resolveMountTargetDnsWithApi?: boolean; } /** @@ -157,11 +169,26 @@ export class MountableEfs implements IMountableLinuxFilesystem { } const mountOptionsStr: string = mountOptions.join(','); + const resolveMountTargetDnsWithApi = this.props.resolveMountTargetDnsWithApi ?? false; + if (resolveMountTargetDnsWithApi) { + const describeMountTargetResources = [ + (this.props.filesystem.node.defaultChild as efs.CfnFileSystem).attrArn, + ]; + if (this.props.accessPoint) { + describeMountTargetResources.push(this.props.accessPoint.accessPointArn); + } + + target.grantPrincipal.addToPrincipalPolicy(new PolicyStatement({ + resources: describeMountTargetResources, + actions: ['elasticfilesystem:DescribeMountTargets'], + })); + } + target.userData.addCommands( 'TMPDIR=$(mktemp -d)', 'pushd "$TMPDIR"', `unzip ${mountScript}`, - `bash ./mountEfs.sh ${this.props.filesystem.fileSystemId} ${mountDir} ${mountOptionsStr}`, + `bash ./mountEfs.sh ${this.props.filesystem.fileSystemId} ${mountDir} ${resolveMountTargetDnsWithApi} ${mountOptionsStr}`, 'popd', `rm -f ${mountScript}`, ); diff --git a/packages/aws-rfdk/lib/core/scripts/bash/metadataUtilities.sh b/packages/aws-rfdk/lib/core/scripts/bash/metadataUtilities.sh index 7fc9590be..c1e680a47 100644 --- a/packages/aws-rfdk/lib/core/scripts/bash/metadataUtilities.sh +++ b/packages/aws-rfdk/lib/core/scripts/bash/metadataUtilities.sh @@ -68,3 +68,10 @@ function get_region() { # into: us-west-2 echo $IDENTITY_DOC | tr ',' '\n' | tr -d '[",{}]' | grep 'region' | awk '{print $3}' } + +function get_availability_zone() { + # Get the availability zone that this instance is running within (ex: us-west-2b) + # Usage: $0 + TOKEN=$1 + curl -H "X-aws-ec2-metadata-token: $TOKEN" -v 'http://169.254.169.254/latest/meta-data/placement/availability-zone' 2> /dev/null +} diff --git a/packages/aws-rfdk/lib/core/scripts/bash/mountEfs.sh b/packages/aws-rfdk/lib/core/scripts/bash/mountEfs.sh index 8c0cb6196..c9ae0bc99 100644 --- a/packages/aws-rfdk/lib/core/scripts/bash/mountEfs.sh +++ b/packages/aws-rfdk/lib/core/scripts/bash/mountEfs.sh @@ -12,13 +12,17 @@ # Script arguments: # $1 -- EFS Identifier (ex: efs-00000000000) # $2 -- Mount path; directory that we mount the EFS to. -# $3 -- (optional) NFSv4 mount options for the EFS. +# $3 -- whether to obtain the EFS mount target's IP address using the EFS API and persist this to +# the /etc/hosts file on the system. This allows the script to work when the mounting instance cannot resolve the +# mount target using DNS. A value of "true" (case sensitive) will enable this feature. Any other value will +# is treated as being disabled. +# $4 -- (optional) NFSv4 mount options for the EFS. set -xeu -if test $# -lt 2 +if test $# -lt 3 then - echo "Usage: $0 []" + echo "Usage: $0 FILE_SYSTEM_ID MOUNT_PATH RESOLVE_MOUNT_POINT_USING_API [MOUNT_OPTIONS]" exit 1 fi @@ -31,12 +35,14 @@ authenticate_identity_document METADATA_TOKEN=$(get_metadata_token) AWS_REGION=$(get_region "${METADATA_TOKEN}") +AVAILABILITY_ZONE_NAME=$(get_availability_zone "${METADATA_TOKEN}") FILESYSTEM_ID=$1 MOUNT_PATH=$2 -MOUNT_OPTIONS="${3:-}" +RESOLVE_MOUNTPOINT_IP_VIA_API=$3 +MOUNT_OPTIONS="${4:-}" -sudo mkdir -p "${MOUNT_PATH}" +mkdir -p "${MOUNT_PATH}" AMAZON_EFS_PACKAGE="amazon-efs-utils" if which yum @@ -49,31 +55,128 @@ else fi function use_amazon_efs_mount() { - test -f "/sbin/mount.efs" || sudo "${PACKAGE_MANAGER}" install -y "${AMAZON_EFS_PACKAGE}" + test -f "/sbin/mount.efs" || "${PACKAGE_MANAGER}" install -y "${AMAZON_EFS_PACKAGE}" return $? } function use_nfs_mount() { - test -f "/sbin/mount.nfs4" || sudo "${PACKAGE_MANAGER}" install -y "${NFS_UTILS_PACKAGE}" + test -f "/sbin/mount.nfs4" || "${PACKAGE_MANAGER}" install -y "${NFS_UTILS_PACKAGE}" return $? } +function resolve_mount_target_ip_via_api() { + local EFS_FS_ID=$1 + local MNT_TARGET_RESOURCE_ID=$2 + local AVAILABILITY_ZONE_NAME=$3 + local AWS_REGION=$4 + local MOUNT_POINT_IP="" + + local FILTER_ARGUMENT="" + if [[ $MNT_TARGET_RESOURCE_ID == fs-* ]] + then + # Mounting without an access point + FILTER_ARGUMENT="--file-system-id ${MNT_TARGET_RESOURCE_ID}" + elif [[ $MNT_TARGET_RESOURCE_ID == fsap-* ]] + then + # Mounting with an access point + FILTER_ARGUMENT="--access-point-id ${MNT_TARGET_RESOURCE_ID}" + else + echo "Unsupported mount target resource: ${MNT_TARGET_RESOURCE_ID}" + return 1 + fi + + # We prioritize the mount target in the same availability zone as the mounting instance + # jq sorts with false first then true (https://stedolan.github.io/jq/manual/#sort,sort_by(path_expression), so we + # negate the condition in the sort_by(...) expression + MOUNT_POINT_JSON=$(aws efs describe-mount-targets \ + --region "${AWS_REGION}" \ + ${FILTER_ARGUMENT} \ + | jq ".MountTargets | sort_by( .AvailabilityZoneName != \"${AVAILABILITY_ZONE_NAME}\" ) | .[0]" + ) + + if [[ -z "${MOUNT_POINT_JSON}" ]] + then + echo "Could not find mount target for ${MNT_TARGET_RESOURCE_ID}" + return 1 + fi + + MOUNT_POINT_IP=$(echo "${MOUNT_POINT_JSON}" | jq -r .IpAddress) + MOUNT_POINT_AZ=$(echo "${MOUNT_POINT_JSON}" | jq -r .AvailabilityZoneName ) + + if [[ "${MOUNT_POINT_AZ}" != "${AVAILABILITY_ZONE_NAME}" ]] + then + set +x + echo "------------------------------------------ WARNING ------------------------------------------" + echo "Could not find mount target for ${MNT_TARGET_RESOURCE_ID} matching the current availability" + echo "zone (${AVAILABILITY_ZONE_NAME}). Cross-AZ data charges will be applied. To reduce costs," + echo "add a mount target for ${MNT_TARGET_RESOURCE_ID} in ${AVAILABILITY_ZONE_NAME}." + echo "------------------------------------------ WARNING ------------------------------------------" + set -x + fi + + DNS_NAME="${EFS_FS_ID}.efs.${AWS_REGION}.amazonaws.com" + + # Backup the old hosts file + cp /etc/hosts "/etc/hosts.rfdk-backup-$(date +%Y-%m-%dT%H:%M:%S)" + # Remove any existing entries for the target DNS name + sed -i -e "/${DNS_NAME}/d" /etc/hosts + # Write the resolved entry for the target DNS name + cat >> /etc/hosts < /dev/null 2>&1 + then + "${PACKAGE_MANAGER}" install -y jq + fi + + # Get access point ID if available, otherwise file system ID + MNT_TARGET_RESOURCE_ID=$FILESYSTEM_ID + # The access point is supplied as in the MOUNT_OPTIONS argument, which is a list of comma-separated fstab options. + # Here is a sample opts string containing an access point: + # + # rw,iam,accesspoint=fsap-1234567890,fsc + # + # See https://docs.aws.amazon.com/efs/latest/ug/efs-mount-helper.html#mounting-access-points + # + # We extract that value from MOUNT_OPTIONS here: + ACCESS_POINT_MOUNT_OPT=$(echo "${MOUNT_OPTIONS}" | sed -e 's#,#\n#g' | grep 'accesspoint=') || true + if [[ ! -z "${ACCESS_POINT_MOUNT_OPT}" ]]; then + ACCESS_POINT_ID=$(echo "${ACCESS_POINT_MOUNT_OPT}" | cut -d= -f2) + MNT_TARGET_RESOURCE_ID="${ACCESS_POINT_ID}" + fi + + # This feature is treated as a best-effort first choice but falls-back to a regular DNS lookup with a warning emitted + resolve_mount_target_ip_via_api \ + "${FILESYSTEM_ID}" \ + "${MNT_TARGET_RESOURCE_ID}" \ + "${AVAILABILITY_ZONE_NAME}" \ + "${AWS_REGION}" \ + || echo "WARNING: Couldn't resolve EFS IP address using the EFS service API endpoint" +fi + # Attempt to mount the EFS file system # fstab may be missing a newline at end of file. if test $(tail -c 1 /etc/fstab | wc -l) -eq 0 then # Newline was missing, so add one. - echo "" | sudo tee -a /etc/fstab + echo "" | tee -a /etc/fstab fi if use_amazon_efs_mount then - echo "${FILESYSTEM_ID}:/ ${MOUNT_PATH} efs defaults,tls,_netdev,${MOUNT_OPTIONS}" | sudo tee -a /etc/fstab + echo "${FILESYSTEM_ID}:/ ${MOUNT_PATH} efs defaults,tls,_netdev,${MOUNT_OPTIONS}" | tee -a /etc/fstab MOUNT_TYPE=efs elif use_nfs_mount then - echo "${FILESYSTEM_ID}.efs.${AWS_REGION}.amazonaws.com:/ ${MOUNT_PATH} nfs4 nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport,_netdev,${MOUNT_OPTIONS} 0 0" | sudo tee -a /etc/fstab + echo "${FILESYSTEM_ID}.efs.${AWS_REGION}.amazonaws.com:/ ${MOUNT_PATH} nfs4 nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport,_netdev,${MOUNT_OPTIONS} 0 0" | tee -a /etc/fstab MOUNT_TYPE=nfs4 else echo "Could not find suitable mount helper to mount the Elastic File System: ${FILESYSTEM_ID}" @@ -85,7 +188,7 @@ fi # only if unable to mount it after that. TRIES=0 MAX_TRIES=20 -while test ${TRIES} -lt ${MAX_TRIES} && ! sudo mount -a -t ${MOUNT_TYPE} +while test ${TRIES} -lt ${MAX_TRIES} && ! mount -a -t ${MOUNT_TYPE} do let TRIES=TRIES+1 sleep 2 diff --git a/packages/aws-rfdk/lib/core/test/asset-constants.ts b/packages/aws-rfdk/lib/core/test/asset-constants.ts index d633a2400..a49c89e7a 100644 --- a/packages/aws-rfdk/lib/core/test/asset-constants.ts +++ b/packages/aws-rfdk/lib/core/test/asset-constants.ts @@ -19,7 +19,7 @@ export const CWA_ASSET_WINDOWS = { // mountEbsBlockVolume.sh + metadataUtilities.sh + ec2-certificates.crt export const MOUNT_EBS_SCRIPT_LINUX = { - Bucket: stringLike('AssetParameters*S3BucketD23CD539'), + Bucket: stringLike('AssetParameters*S3BucketD3D2B3C1'), }; export const INSTALL_MONGODB_3_6_SCRIPT_LINUX = { diff --git a/packages/aws-rfdk/lib/core/test/mountable-efs.test.ts b/packages/aws-rfdk/lib/core/test/mountable-efs.test.ts index 3da0e1ddc..fae6cc5d4 100644 --- a/packages/aws-rfdk/lib/core/test/mountable-efs.test.ts +++ b/packages/aws-rfdk/lib/core/test/mountable-efs.test.ts @@ -92,7 +92,7 @@ describe('Test MountableEFS', () => { expect(userData).toMatch(new RegExp(escapeTokenRegex(s3Copy))); expect(userData).toMatch(new RegExp(escapeTokenRegex('unzip /tmp/${Token[TOKEN.\\d+]}${Token[TOKEN.\\d+]}'))); // Make sure we execute the script with the correct args - expect(userData).toMatch(new RegExp(escapeTokenRegex('bash ./mountEfs.sh ${Token[TOKEN.\\d+]} /mnt/efs/fs1 rw'))); + expect(userData).toMatch(new RegExp(escapeTokenRegex('bash ./mountEfs.sh ${Token[TOKEN.\\d+]} /mnt/efs/fs1 false rw'))); }); test('assert Linux-only', () => { @@ -129,7 +129,7 @@ describe('Test MountableEFS', () => { const userData = instance.userData.render(); // THEN - expect(userData).toMatch(new RegExp(escapeTokenRegex('mountEfs.sh ${Token[TOKEN.\\d+]} /mnt/efs/fs1 r'))); + expect(userData).toMatch(new RegExp(escapeTokenRegex('mountEfs.sh ${Token[TOKEN.\\d+]} /mnt/efs/fs1 false r'))); }); describe.each<[MountPermissions | undefined]>([ @@ -206,7 +206,7 @@ describe('Test MountableEFS', () => { expect.arrayContaining([ expect.stringMatching(new RegExp('(\\n|^)bash \\./mountEfs.sh $')), stack.resolve(efsFS.fileSystemId), - ` ${mountPath} ${expectedMountMode},iam,accesspoint=`, + ` ${mountPath} false ${expectedMountMode},iam,accesspoint=`, stack.resolve(accessPoint.accessPointId), expect.stringMatching(/^\n/), ]), @@ -257,7 +257,7 @@ describe('Test MountableEFS', () => { const userData = instance.userData.render(); // THEN - expect(userData).toMatch(new RegExp(escapeTokenRegex('mountEfs.sh ${Token[TOKEN.\\d+]} /mnt/efs/fs1 rw,option1,option2'))); + expect(userData).toMatch(new RegExp(escapeTokenRegex('mountEfs.sh ${Token[TOKEN.\\d+]} /mnt/efs/fs1 false rw,option1,option2'))); }); test('asset is singleton', () => { @@ -286,4 +286,60 @@ describe('Test MountableEFS', () => { expect(matches).toHaveLength(2); expect(matches[0]).toBe(matches[1]); }); + + describe('resolves mount target using API', () => { + describe.each<[string, () => efs.AccessPoint | undefined]>([ + ['with access point', () => { + + return new efs.AccessPoint(stack, 'AccessPoint', { + fileSystem: efsFS, + posixUser: { + gid: '1', + uid: '1', + }, + }); + }], + ['without access point', () => undefined], + ])('%s', (_, getAccessPoint) => { + let accessPoint: efs.AccessPoint | undefined; + + beforeEach(() => { + // GIVEN + accessPoint = getAccessPoint(); + const mountable = new MountableEfs(efsFS, { + filesystem: efsFS, + accessPoint, + resolveMountTargetDnsWithApi: true, + }); + + // WHEN + mountable.mountToLinuxInstance(instance, { + location: '/mnt/efs', + }); + }); + + test('grants DescribeMountTargets permission', () => { + const expectedResources = [ + stack.resolve((efsFS.node.defaultChild as efs.CfnFileSystem).attrArn), + ]; + if (accessPoint) { + expectedResources.push(stack.resolve(accessPoint?.accessPointArn)); + } + cdkExpect(stack).to(haveResourceLike('AWS::IAM::Policy', { + PolicyDocument: objectLike({ + Statement: arrayWith( + { + Action: 'elasticfilesystem:DescribeMountTargets', + Effect: 'Allow', + Resource: expectedResources.length == 1 ? expectedResources[0] : expectedResources, + }, + ), + }), + Roles: arrayWith( + stack.resolve((instance.role.node.defaultChild as CfnResource).ref), + ), + })); + }); + }); + }); }); diff --git a/packages/aws-rfdk/lib/deadline/test/repository.test.ts b/packages/aws-rfdk/lib/deadline/test/repository.test.ts index 4114e7218..f656cde83 100644 --- a/packages/aws-rfdk/lib/deadline/test/repository.test.ts +++ b/packages/aws-rfdk/lib/deadline/test/repository.test.ts @@ -433,7 +433,7 @@ test('repository mounts repository filesystem', () => { const userData = (repo.node.defaultChild as AutoScalingGroup).userData.render(); // THEN - expect(userData).toMatch(new RegExp(escapeTokenRegex('mountEfs.sh ${Token[TOKEN.\\d+]} /mnt/efs/fs1 rw'))); + expect(userData).toMatch(new RegExp(escapeTokenRegex('mountEfs.sh ${Token[TOKEN.\\d+]} /mnt/efs/fs1 false rw'))); }); test.each([ @@ -940,7 +940,7 @@ test('repository configure client instance', () => { // THEN // white-box testing. If we mount the filesystem, then we've called: setupDirectConnect() - expect(userData).toMatch(new RegExp(escapeTokenRegex('mountEfs.sh ${Token[TOKEN.\\d+]} /mnt/repository rw'))); + expect(userData).toMatch(new RegExp(escapeTokenRegex('mountEfs.sh ${Token[TOKEN.\\d+]} /mnt/repository false rw'))); // Make sure we added the DB connection args expect(userData).toMatch(/.*export -f configure_deadline_database.*/); From 5cc9560eed6cb3f579634f583764e085fbbdcc03 Mon Sep 17 00:00:00 2001 From: RFDK Team Date: Tue, 20 Apr 2021 21:51:07 +0000 Subject: [PATCH 7/7] chore(release): 0.30.0 --- CHANGELOG.md | 19 +++++++++++++++++++ .../python/setup.py | 2 +- .../ts/package.json | 4 ++-- .../python/setup.py | 2 +- .../ts/package.json | 4 ++-- .../EC2-Image-Builder/python/setup.py | 2 +- .../EC2-Image-Builder/ts/package.json | 4 ++-- integ/package.json | 8 ++++---- lambda-layers/package.json | 2 +- lerna.json | 2 +- package.json | 2 +- packages/aws-rfdk/package.json | 6 +++--- tools/cdk-build-tools/package.json | 4 ++-- tools/pkglint/package.json | 2 +- 14 files changed, 41 insertions(+), 22 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 051bf9f7a..75d595e31 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,25 @@ All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. +## [0.30.0](https://github.com/aws/aws-rfdk/compare/v0.29.0...v0.30.0) (2021-04-21) + + +### Supported CDK Version + +* [1.99.0](https://github.com/aws/aws-cdk/releases/tag/v1.99.0) + + +### Officially Supported Deadline Versions + +* [10.1.9.2 to 10.1.14.5](https://docs.thinkboxsoftware.com/products/deadline/10.1/1_User%20Manual/manual/release-notes.html) + + +### Features + +* **core:** add ability to resolve mount targets using EFS API ([#392](https://github.com/aws/aws-rfdk/issues/392)) ([726fa84](https://github.com/aws/aws-rfdk/commit/726fa848b6362b226e78aff9eec2c2544bc2aa74)) +* **deadline:** add ability to import repository settings ([#395](https://github.com/aws/aws-rfdk/issues/395)) ([c55c078](https://github.com/aws/aws-rfdk/commit/c55c078f02b4b43c115abc09b77b8cd469ac9ccd)) +* **deadline:** add security group property to ubl ([#396](https://github.com/aws/aws-rfdk/issues/396)) ([cf44a13](https://github.com/aws/aws-rfdk/commit/cf44a1364e8c732700b4d24e322b34a3c6444b7c)) + ## [0.29.0](https://github.com/aws/aws-rfdk/compare/v0.28.0...v0.29.0) (2021-04-06) diff --git a/examples/deadline/All-In-AWS-Infrastructure-Basic/python/setup.py b/examples/deadline/All-In-AWS-Infrastructure-Basic/python/setup.py index d99003ff1..62c889291 100644 --- a/examples/deadline/All-In-AWS-Infrastructure-Basic/python/setup.py +++ b/examples/deadline/All-In-AWS-Infrastructure-Basic/python/setup.py @@ -18,7 +18,7 @@ install_requires=[ "aws-cdk.core==1.99.0", - "aws-rfdk==0.29.0" + "aws-rfdk==0.30.0" ], python_requires=">=3.7", diff --git a/examples/deadline/All-In-AWS-Infrastructure-Basic/ts/package.json b/examples/deadline/All-In-AWS-Infrastructure-Basic/ts/package.json index 8e40c37d5..adafaafcd 100644 --- a/examples/deadline/All-In-AWS-Infrastructure-Basic/ts/package.json +++ b/examples/deadline/All-In-AWS-Infrastructure-Basic/ts/package.json @@ -1,6 +1,6 @@ { "name": "all-in-farm-basic", - "version": "0.29.0", + "version": "0.30.0", "bin": { "app": "bin/app.js" }, @@ -20,7 +20,7 @@ }, "dependencies": { "@aws-cdk/core": "1.99.0", - "aws-rfdk": "0.29.0", + "aws-rfdk": "0.30.0", "source-map-support": "^0.5.19" } } diff --git a/examples/deadline/All-In-AWS-Infrastructure-SEP/python/setup.py b/examples/deadline/All-In-AWS-Infrastructure-SEP/python/setup.py index e2c70ed9d..5abafb861 100644 --- a/examples/deadline/All-In-AWS-Infrastructure-SEP/python/setup.py +++ b/examples/deadline/All-In-AWS-Infrastructure-SEP/python/setup.py @@ -18,7 +18,7 @@ install_requires=[ "aws-cdk.core==1.99.0", - "aws-rfdk==0.29.0" + "aws-rfdk==0.30.0" ], python_requires=">=3.7", diff --git a/examples/deadline/All-In-AWS-Infrastructure-SEP/ts/package.json b/examples/deadline/All-In-AWS-Infrastructure-SEP/ts/package.json index 8c29af76f..65a27724a 100644 --- a/examples/deadline/All-In-AWS-Infrastructure-SEP/ts/package.json +++ b/examples/deadline/All-In-AWS-Infrastructure-SEP/ts/package.json @@ -1,6 +1,6 @@ { "name": "all-in-farm-sep", - "version": "0.29.0", + "version": "0.30.0", "bin": { "app": "bin/app.js" }, @@ -25,7 +25,7 @@ }, "dependencies": { "@aws-cdk/core": "1.99.0", - "aws-rfdk": "0.29.0", + "aws-rfdk": "0.30.0", "source-map-support": "^0.5.19" } } diff --git a/examples/deadline/EC2-Image-Builder/python/setup.py b/examples/deadline/EC2-Image-Builder/python/setup.py index 79c5f4b06..aa4193145 100644 --- a/examples/deadline/EC2-Image-Builder/python/setup.py +++ b/examples/deadline/EC2-Image-Builder/python/setup.py @@ -22,7 +22,7 @@ "aws-cdk.aws-ec2==1.99.0", "aws-cdk.aws-s3-assets==1.99.0", "aws-cdk.core==1.99.0", - "aws-rfdk==0.29.0", + "aws-rfdk==0.30.0", ], python_requires=">=3.7", diff --git a/examples/deadline/EC2-Image-Builder/ts/package.json b/examples/deadline/EC2-Image-Builder/ts/package.json index a2bbdaf2b..916586cb4 100644 --- a/examples/deadline/EC2-Image-Builder/ts/package.json +++ b/examples/deadline/EC2-Image-Builder/ts/package.json @@ -1,6 +1,6 @@ { "name": "all-in-farm-image-builder", - "version": "0.29.0", + "version": "0.30.0", "bin": { "app": "bin/app.js" }, @@ -25,6 +25,6 @@ "@aws-cdk/aws-imagebuilder": "1.99.0", "@aws-cdk/aws-s3-assets": "1.99.0", "@aws-cdk/core": "1.99.0", - "aws-rfdk": "0.29.0" + "aws-rfdk": "0.30.0" } } diff --git a/integ/package.json b/integ/package.json index ab8dcdaef..1fdb9b1b1 100644 --- a/integ/package.json +++ b/integ/package.json @@ -1,6 +1,6 @@ { "name": "integ", - "version": "0.29.0", + "version": "0.30.0", "private": false, "description": "Integration tests for RFDK constructs", "bin": { @@ -67,7 +67,7 @@ "eslint-plugin-import": "^2.22.1", "eslint-plugin-license-header": "^0.2.0", "jest": "^26.6.3", - "pkglint": "0.29.0", + "pkglint": "0.30.0", "ts-jest": "^26.5.4" }, "dependencies": { @@ -84,7 +84,7 @@ "@aws-cdk/aws-s3-assets": "1.99.0", "@aws-cdk/aws-secretsmanager": "1.99.0", "@aws-cdk/core": "1.99.0", - "aws-rfdk": "0.29.0", + "aws-rfdk": "0.30.0", "aws-sdk": "^2.889.0" }, "peerDependencies": { @@ -101,7 +101,7 @@ "@aws-cdk/aws-s3-assets": "1.99.0", "@aws-cdk/aws-secretsmanager": "1.99.0", "@aws-cdk/core": "1.99.0", - "aws-rfdk": "0.29.0", + "aws-rfdk": "0.30.0", "aws-sdk": "^2.889.0" }, "engines": { diff --git a/lambda-layers/package.json b/lambda-layers/package.json index fbbbeda26..48724dde4 100644 --- a/lambda-layers/package.json +++ b/lambda-layers/package.json @@ -1,6 +1,6 @@ { "name": "lambda-layers", - "version": "0.29.0", + "version": "0.30.0", "private": false, "description": "Package containing scripts for building and publishing Lambda Layers", "main": "lib/index.js", diff --git a/lerna.json b/lerna.json index 2eb88039f..38dec403d 100644 --- a/lerna.json +++ b/lerna.json @@ -2,5 +2,5 @@ "npmClient": "yarn", "useWorkspaces": true, "rejectCycles": "true", - "version": "0.29.0" + "version": "0.30.0" } diff --git a/package.json b/package.json index 12a3e2ec4..f8f038015 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "aws-rfdk-project", - "version": "0.29.0", + "version": "0.30.0", "license": "Apache-2.0", "author": { "name": "Amazon Web Services", diff --git a/packages/aws-rfdk/package.json b/packages/aws-rfdk/package.json index 700dbeb81..e6ddb0a28 100644 --- a/packages/aws-rfdk/package.json +++ b/packages/aws-rfdk/package.json @@ -1,6 +1,6 @@ { "name": "aws-rfdk", - "version": "0.29.0", + "version": "0.30.0", "private": false, "description": "Package for core render farm constructs", "main": "lib/index.js", @@ -70,9 +70,9 @@ "@types/sinon": "^9.0.11", "aws-sdk": "^2.889.0", "aws-sdk-mock": "^5.1.0", - "cdk-build-tools": "0.29.0", + "cdk-build-tools": "0.30.0", "dynalite": "^3.2.1", - "pkglint": "0.29.0", + "pkglint": "0.30.0", "sinon": "^10.0.0" }, "dependencies": { diff --git a/tools/cdk-build-tools/package.json b/tools/cdk-build-tools/package.json index 31ce176e6..60b20d603 100644 --- a/tools/cdk-build-tools/package.json +++ b/tools/cdk-build-tools/package.json @@ -1,7 +1,7 @@ { "name": "cdk-build-tools", "private": true, - "version": "0.29.0", + "version": "0.30.0", "description": "Tools package with shared build scripts for CDK packages", "main": "lib/index.js", "repository": { @@ -38,7 +38,7 @@ "@types/jest": "^26.0.22", "@types/yargs": "^16.0.1", "eslint-plugin-license-header": "^0.2.0", - "pkglint": "0.29.0" + "pkglint": "0.30.0" }, "dependencies": { "@typescript-eslint/eslint-plugin": "^4.22.0", diff --git a/tools/pkglint/package.json b/tools/pkglint/package.json index ecdffe562..a0a8d9695 100644 --- a/tools/pkglint/package.json +++ b/tools/pkglint/package.json @@ -1,6 +1,6 @@ { "name": "pkglint", - "version": "0.29.0", + "version": "0.30.0", "private": true, "description": "Validate and fix package.json files", "main": "lib/index.js",