From df263a62ffbd48bcfa15234bdff06c9246aa8676 Mon Sep 17 00:00:00 2001 From: Calvin Combs <66279577+comcalvi@users.noreply.github.com> Date: Tue, 13 Jun 2023 11:55:45 -0700 Subject: [PATCH 1/8] =?UTF-8?q?feat(s3):=20support=20s3=20bucket=20double?= =?UTF-8?q?=20encryption=20mode=20aws:kms:dsse=20(=E2=80=A6=20(#25961)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Adding support for the new encryption mode DSSE (aws:kms:dsse). DSSE is a new encryption mode which does double encryption with the kms generated data key. ---- *By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license* --- ...efaultTestDeployAssert56801A2F.assets.json | 19 +++ ...aultTestDeployAssert56801A2F.template.json | 36 +++++ .../aws-cdk-s3-bucket-encryption.assets.json | 19 +++ ...aws-cdk-s3-bucket-encryption.template.json | 54 +++++++ .../cdk.out | 1 + .../integ.json | 12 ++ .../manifest.json | 111 +++++++++++++++ .../tree.json | 133 ++++++++++++++++++ .../aws-s3/test/integ.bucket-encryption.ts | 17 +++ packages/aws-cdk-lib/aws-s3/README.md | 9 ++ packages/aws-cdk-lib/aws-s3/lib/bucket.ts | 65 +++++++-- .../aws-cdk-lib/aws-s3/test/bucket.test.ts | 97 ++++++++++++- 12 files changed, 559 insertions(+), 14 deletions(-) create mode 100644 packages/@aws-cdk-testing/framework-integ/test/aws-s3/test/integ.bucket-encryption.js.snapshot/IntegTestDSSEBucketDefaultTestDeployAssert56801A2F.assets.json create mode 100644 packages/@aws-cdk-testing/framework-integ/test/aws-s3/test/integ.bucket-encryption.js.snapshot/IntegTestDSSEBucketDefaultTestDeployAssert56801A2F.template.json create mode 100644 packages/@aws-cdk-testing/framework-integ/test/aws-s3/test/integ.bucket-encryption.js.snapshot/aws-cdk-s3-bucket-encryption.assets.json create mode 100644 packages/@aws-cdk-testing/framework-integ/test/aws-s3/test/integ.bucket-encryption.js.snapshot/aws-cdk-s3-bucket-encryption.template.json create mode 100644 packages/@aws-cdk-testing/framework-integ/test/aws-s3/test/integ.bucket-encryption.js.snapshot/cdk.out create mode 100644 packages/@aws-cdk-testing/framework-integ/test/aws-s3/test/integ.bucket-encryption.js.snapshot/integ.json create mode 100644 packages/@aws-cdk-testing/framework-integ/test/aws-s3/test/integ.bucket-encryption.js.snapshot/manifest.json create mode 100644 packages/@aws-cdk-testing/framework-integ/test/aws-s3/test/integ.bucket-encryption.js.snapshot/tree.json create mode 100644 packages/@aws-cdk-testing/framework-integ/test/aws-s3/test/integ.bucket-encryption.ts diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-s3/test/integ.bucket-encryption.js.snapshot/IntegTestDSSEBucketDefaultTestDeployAssert56801A2F.assets.json b/packages/@aws-cdk-testing/framework-integ/test/aws-s3/test/integ.bucket-encryption.js.snapshot/IntegTestDSSEBucketDefaultTestDeployAssert56801A2F.assets.json new file mode 100644 index 0000000000000..07c3aeffd32d2 --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-s3/test/integ.bucket-encryption.js.snapshot/IntegTestDSSEBucketDefaultTestDeployAssert56801A2F.assets.json @@ -0,0 +1,19 @@ +{ + "version": "32.0.0", + "files": { + "21fbb51d7b23f6a6c262b46a9caee79d744a3ac019fd45422d988b96d44b2a22": { + "source": { + "path": "IntegTestDSSEBucketDefaultTestDeployAssert56801A2F.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "21fbb51d7b23f6a6c262b46a9caee79d744a3ac019fd45422d988b96d44b2a22.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-s3/test/integ.bucket-encryption.js.snapshot/IntegTestDSSEBucketDefaultTestDeployAssert56801A2F.template.json b/packages/@aws-cdk-testing/framework-integ/test/aws-s3/test/integ.bucket-encryption.js.snapshot/IntegTestDSSEBucketDefaultTestDeployAssert56801A2F.template.json new file mode 100644 index 0000000000000..ad9d0fb73d1dd --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-s3/test/integ.bucket-encryption.js.snapshot/IntegTestDSSEBucketDefaultTestDeployAssert56801A2F.template.json @@ -0,0 +1,36 @@ +{ + "Parameters": { + "BootstrapVersion": { + "Type": "AWS::SSM::Parameter::Value", + "Default": "/cdk-bootstrap/hnb659fds/version", + "Description": "Version of the CDK Bootstrap resources in this environment, automatically retrieved from SSM Parameter Store. [cdk:skip]" + } + }, + "Rules": { + "CheckBootstrapVersion": { + "Assertions": [ + { + "Assert": { + "Fn::Not": [ + { + "Fn::Contains": [ + [ + "1", + "2", + "3", + "4", + "5" + ], + { + "Ref": "BootstrapVersion" + } + ] + } + ] + }, + "AssertDescription": "CDK bootstrap stack version 6 required. Please run 'cdk bootstrap' with a recent version of the CDK CLI." + } + ] + } + } +} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-s3/test/integ.bucket-encryption.js.snapshot/aws-cdk-s3-bucket-encryption.assets.json b/packages/@aws-cdk-testing/framework-integ/test/aws-s3/test/integ.bucket-encryption.js.snapshot/aws-cdk-s3-bucket-encryption.assets.json new file mode 100644 index 0000000000000..7b60d22060be9 --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-s3/test/integ.bucket-encryption.js.snapshot/aws-cdk-s3-bucket-encryption.assets.json @@ -0,0 +1,19 @@ +{ + "version": "32.0.0", + "files": { + "591ab3589c0620b6953fda9e284aa7d8fe4e472d41d449192bee0bcbec043c31": { + "source": { + "path": "aws-cdk-s3-bucket-encryption.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "591ab3589c0620b6953fda9e284aa7d8fe4e472d41d449192bee0bcbec043c31.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-s3/test/integ.bucket-encryption.js.snapshot/aws-cdk-s3-bucket-encryption.template.json b/packages/@aws-cdk-testing/framework-integ/test/aws-s3/test/integ.bucket-encryption.js.snapshot/aws-cdk-s3-bucket-encryption.template.json new file mode 100644 index 0000000000000..0b34c54b1d218 --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-s3/test/integ.bucket-encryption.js.snapshot/aws-cdk-s3-bucket-encryption.template.json @@ -0,0 +1,54 @@ +{ + "Resources": { + "MyDSSEBucket8A2A1D0C": { + "Type": "AWS::S3::Bucket", + "Properties": { + "BucketEncryption": { + "ServerSideEncryptionConfiguration": [ + { + "ServerSideEncryptionByDefault": { + "SSEAlgorithm": "aws:kms:dsse" + } + } + ] + } + }, + "UpdateReplacePolicy": "Retain", + "DeletionPolicy": "Retain" + } + }, + "Parameters": { + "BootstrapVersion": { + "Type": "AWS::SSM::Parameter::Value", + "Default": "/cdk-bootstrap/hnb659fds/version", + "Description": "Version of the CDK Bootstrap resources in this environment, automatically retrieved from SSM Parameter Store. [cdk:skip]" + } + }, + "Rules": { + "CheckBootstrapVersion": { + "Assertions": [ + { + "Assert": { + "Fn::Not": [ + { + "Fn::Contains": [ + [ + "1", + "2", + "3", + "4", + "5" + ], + { + "Ref": "BootstrapVersion" + } + ] + } + ] + }, + "AssertDescription": "CDK bootstrap stack version 6 required. Please run 'cdk bootstrap' with a recent version of the CDK CLI." + } + ] + } + } +} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-s3/test/integ.bucket-encryption.js.snapshot/cdk.out b/packages/@aws-cdk-testing/framework-integ/test/aws-s3/test/integ.bucket-encryption.js.snapshot/cdk.out new file mode 100644 index 0000000000000..f0b901e7c06e5 --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-s3/test/integ.bucket-encryption.js.snapshot/cdk.out @@ -0,0 +1 @@ +{"version":"32.0.0"} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-s3/test/integ.bucket-encryption.js.snapshot/integ.json b/packages/@aws-cdk-testing/framework-integ/test/aws-s3/test/integ.bucket-encryption.js.snapshot/integ.json new file mode 100644 index 0000000000000..d63da76715ed8 --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-s3/test/integ.bucket-encryption.js.snapshot/integ.json @@ -0,0 +1,12 @@ +{ + "version": "32.0.0", + "testCases": { + "IntegTestDSSEBucket/DefaultTest": { + "stacks": [ + "aws-cdk-s3-bucket-encryption" + ], + "assertionStack": "IntegTestDSSEBucket/DefaultTest/DeployAssert", + "assertionStackName": "IntegTestDSSEBucketDefaultTestDeployAssert56801A2F" + } + } +} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-s3/test/integ.bucket-encryption.js.snapshot/manifest.json b/packages/@aws-cdk-testing/framework-integ/test/aws-s3/test/integ.bucket-encryption.js.snapshot/manifest.json new file mode 100644 index 0000000000000..21c43690e2cad --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-s3/test/integ.bucket-encryption.js.snapshot/manifest.json @@ -0,0 +1,111 @@ +{ + "version": "32.0.0", + "artifacts": { + "aws-cdk-s3-bucket-encryption.assets": { + "type": "cdk:asset-manifest", + "properties": { + "file": "aws-cdk-s3-bucket-encryption.assets.json", + "requiresBootstrapStackVersion": 6, + "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version" + } + }, + "aws-cdk-s3-bucket-encryption": { + "type": "aws:cloudformation:stack", + "environment": "aws://unknown-account/unknown-region", + "properties": { + "templateFile": "aws-cdk-s3-bucket-encryption.template.json", + "validateOnSynth": false, + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}", + "cloudFormationExecutionRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}", + "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/591ab3589c0620b6953fda9e284aa7d8fe4e472d41d449192bee0bcbec043c31.json", + "requiresBootstrapStackVersion": 6, + "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version", + "additionalDependencies": [ + "aws-cdk-s3-bucket-encryption.assets" + ], + "lookupRole": { + "arn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-lookup-role-${AWS::AccountId}-${AWS::Region}", + "requiresBootstrapStackVersion": 8, + "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version" + } + }, + "dependencies": [ + "aws-cdk-s3-bucket-encryption.assets" + ], + "metadata": { + "/aws-cdk-s3-bucket-encryption/MyDSSEBucket/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "MyDSSEBucket8A2A1D0C" + } + ], + "/aws-cdk-s3-bucket-encryption/BootstrapVersion": [ + { + "type": "aws:cdk:logicalId", + "data": "BootstrapVersion" + } + ], + "/aws-cdk-s3-bucket-encryption/CheckBootstrapVersion": [ + { + "type": "aws:cdk:logicalId", + "data": "CheckBootstrapVersion" + } + ] + }, + "displayName": "aws-cdk-s3-bucket-encryption" + }, + "IntegTestDSSEBucketDefaultTestDeployAssert56801A2F.assets": { + "type": "cdk:asset-manifest", + "properties": { + "file": "IntegTestDSSEBucketDefaultTestDeployAssert56801A2F.assets.json", + "requiresBootstrapStackVersion": 6, + "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version" + } + }, + "IntegTestDSSEBucketDefaultTestDeployAssert56801A2F": { + "type": "aws:cloudformation:stack", + "environment": "aws://unknown-account/unknown-region", + "properties": { + "templateFile": "IntegTestDSSEBucketDefaultTestDeployAssert56801A2F.template.json", + "validateOnSynth": false, + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}", + "cloudFormationExecutionRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}", + "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/21fbb51d7b23f6a6c262b46a9caee79d744a3ac019fd45422d988b96d44b2a22.json", + "requiresBootstrapStackVersion": 6, + "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version", + "additionalDependencies": [ + "IntegTestDSSEBucketDefaultTestDeployAssert56801A2F.assets" + ], + "lookupRole": { + "arn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-lookup-role-${AWS::AccountId}-${AWS::Region}", + "requiresBootstrapStackVersion": 8, + "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version" + } + }, + "dependencies": [ + "IntegTestDSSEBucketDefaultTestDeployAssert56801A2F.assets" + ], + "metadata": { + "/IntegTestDSSEBucket/DefaultTest/DeployAssert/BootstrapVersion": [ + { + "type": "aws:cdk:logicalId", + "data": "BootstrapVersion" + } + ], + "/IntegTestDSSEBucket/DefaultTest/DeployAssert/CheckBootstrapVersion": [ + { + "type": "aws:cdk:logicalId", + "data": "CheckBootstrapVersion" + } + ] + }, + "displayName": "IntegTestDSSEBucket/DefaultTest/DeployAssert" + }, + "Tree": { + "type": "cdk:tree", + "properties": { + "file": "tree.json" + } + } + } +} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-s3/test/integ.bucket-encryption.js.snapshot/tree.json b/packages/@aws-cdk-testing/framework-integ/test/aws-s3/test/integ.bucket-encryption.js.snapshot/tree.json new file mode 100644 index 0000000000000..e837891174856 --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-s3/test/integ.bucket-encryption.js.snapshot/tree.json @@ -0,0 +1,133 @@ +{ + "version": "tree-0.1", + "tree": { + "id": "App", + "path": "", + "children": { + "aws-cdk-s3-bucket-encryption": { + "id": "aws-cdk-s3-bucket-encryption", + "path": "aws-cdk-s3-bucket-encryption", + "children": { + "MyDSSEBucket": { + "id": "MyDSSEBucket", + "path": "aws-cdk-s3-bucket-encryption/MyDSSEBucket", + "children": { + "Resource": { + "id": "Resource", + "path": "aws-cdk-s3-bucket-encryption/MyDSSEBucket/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::S3::Bucket", + "aws:cdk:cloudformation:props": { + "bucketEncryption": { + "serverSideEncryptionConfiguration": [ + { + "serverSideEncryptionByDefault": { + "sseAlgorithm": "aws:kms:dsse" + } + } + ] + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_s3.CfnBucket", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_s3.Bucket", + "version": "0.0.0" + } + }, + "BootstrapVersion": { + "id": "BootstrapVersion", + "path": "aws-cdk-s3-bucket-encryption/BootstrapVersion", + "constructInfo": { + "fqn": "aws-cdk-lib.CfnParameter", + "version": "0.0.0" + } + }, + "CheckBootstrapVersion": { + "id": "CheckBootstrapVersion", + "path": "aws-cdk-s3-bucket-encryption/CheckBootstrapVersion", + "constructInfo": { + "fqn": "aws-cdk-lib.CfnRule", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.Stack", + "version": "0.0.0" + } + }, + "IntegTestDSSEBucket": { + "id": "IntegTestDSSEBucket", + "path": "IntegTestDSSEBucket", + "children": { + "DefaultTest": { + "id": "DefaultTest", + "path": "IntegTestDSSEBucket/DefaultTest", + "children": { + "Default": { + "id": "Default", + "path": "IntegTestDSSEBucket/DefaultTest/Default", + "constructInfo": { + "fqn": "constructs.Construct", + "version": "10.2.26" + } + }, + "DeployAssert": { + "id": "DeployAssert", + "path": "IntegTestDSSEBucket/DefaultTest/DeployAssert", + "children": { + "BootstrapVersion": { + "id": "BootstrapVersion", + "path": "IntegTestDSSEBucket/DefaultTest/DeployAssert/BootstrapVersion", + "constructInfo": { + "fqn": "aws-cdk-lib.CfnParameter", + "version": "0.0.0" + } + }, + "CheckBootstrapVersion": { + "id": "CheckBootstrapVersion", + "path": "IntegTestDSSEBucket/DefaultTest/DeployAssert/CheckBootstrapVersion", + "constructInfo": { + "fqn": "aws-cdk-lib.CfnRule", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.Stack", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/integ-tests-alpha.IntegTestCase", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/integ-tests-alpha.IntegTest", + "version": "0.0.0" + } + }, + "Tree": { + "id": "Tree", + "path": "Tree", + "constructInfo": { + "fqn": "constructs.Construct", + "version": "10.2.26" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.App", + "version": "0.0.0" + } + } +} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-s3/test/integ.bucket-encryption.ts b/packages/@aws-cdk-testing/framework-integ/test/aws-s3/test/integ.bucket-encryption.ts new file mode 100644 index 0000000000000..85d9fbe3bef68 --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-s3/test/integ.bucket-encryption.ts @@ -0,0 +1,17 @@ +import * as cdk from 'aws-cdk-lib/core'; +import * as integ from '@aws-cdk/integ-tests-alpha'; +import * as s3 from 'aws-cdk-lib/aws-s3'; + +const app = new cdk.App(); + +const stack = new cdk.Stack(app, 'aws-cdk-s3-bucket-encryption'); + +new s3.Bucket(stack, 'MyDSSEBucket', { + encryption: s3.BucketEncryption.DSSE_MANAGED, +}); + +new integ.IntegTest(app, 'IntegTestDSSEBucket', { + testCases: [stack], +}); + +app.synth(); diff --git a/packages/aws-cdk-lib/aws-s3/README.md b/packages/aws-cdk-lib/aws-s3/README.md index 0b0cfd7aa4a51..5fde1da258127 100644 --- a/packages/aws-cdk-lib/aws-s3/README.md +++ b/packages/aws-cdk-lib/aws-s3/README.md @@ -74,6 +74,15 @@ const bucket = new s3.Bucket(this, 'Buck', { assert(bucket.encryptionKey == null); ``` +Enable DSSE encryption: + +``` +const bucket = new s3.Bucket(stack, 'MyDSSEBucket', { + encryption: s3.BucketEncryption.DSSE_MANAGED, + bucketKeyEnabled: true, +}); +``` + ## Permissions A bucket policy will be automatically created for the bucket upon the first call to diff --git a/packages/aws-cdk-lib/aws-s3/lib/bucket.ts b/packages/aws-cdk-lib/aws-s3/lib/bucket.ts index d220e220082bb..df198dafe9500 100644 --- a/packages/aws-cdk-lib/aws-s3/lib/bucket.ts +++ b/packages/aws-cdk-lib/aws-s3/lib/bucket.ts @@ -2012,14 +2012,17 @@ export class Bucket extends BucketBase { encryptionType = props.encryptionKey ? BucketEncryption.KMS : BucketEncryption.UNENCRYPTED; } - // if encryption key is set, encryption must be set to KMS. - if (encryptionType !== BucketEncryption.KMS && props.encryptionKey) { - throw new Error(`encryptionKey is specified, so 'encryption' must be set to KMS (value: ${encryptionType})`); + // if encryption key is set, encryption must be set to KMS or DSSE. + if (encryptionType !== BucketEncryption.DSSE && encryptionType !== BucketEncryption.KMS && props.encryptionKey) { + throw new Error(`encryptionKey is specified, so 'encryption' must be set to KMS or DSSE (value: ${encryptionType})`); } - // if bucketKeyEnabled is set, encryption must be set to KMS. - if (props.bucketKeyEnabled && ![BucketEncryption.KMS, BucketEncryption.KMS_MANAGED].includes(encryptionType)) { - throw new Error(`bucketKeyEnabled is specified, so 'encryption' must be set to KMS (value: ${encryptionType})`); + // if bucketKeyEnabled is set, encryption must be set to KMS or DSSE. + if ( + props.bucketKeyEnabled && + ![BucketEncryption.KMS, BucketEncryption.KMS_MANAGED, BucketEncryption.DSSE, BucketEncryption.DSSE_MANAGED].includes(encryptionType) + ) { + throw new Error(`bucketKeyEnabled is specified, so 'encryption' must be set to KMS or DSSE (value: ${encryptionType})`); } if (encryptionType === BucketEncryption.UNENCRYPTED) { @@ -2067,6 +2070,37 @@ export class Bucket extends BucketBase { return { bucketEncryption }; } + if (encryptionType === BucketEncryption.DSSE) { + const encryptionKey = props.encryptionKey || new kms.Key(this, 'Key', { + description: `Created by ${this.node.path}`, + }); + + const bucketEncryption = { + serverSideEncryptionConfiguration: [ + { + bucketKeyEnabled: props.bucketKeyEnabled, + serverSideEncryptionByDefault: { + sseAlgorithm: 'aws:kms:dsse', + kmsMasterKeyId: encryptionKey.keyArn, + }, + }, + ], + }; + return { encryptionKey, bucketEncryption }; + } + + if (encryptionType === BucketEncryption.DSSE_MANAGED) { + const bucketEncryption = { + serverSideEncryptionConfiguration: [ + { + bucketKeyEnabled: props.bucketKeyEnabled, + serverSideEncryptionByDefault: { sseAlgorithm: 'aws:kms:dsse' }, + }, + ], + }; + return { bucketEncryption }; + } + throw new Error(`Unexpected 'encryptionType': ${encryptionType}`); } @@ -2124,8 +2158,12 @@ export class Bucket extends BucketBase { } // KMS_MANAGED can't be used for logging since the account can't access the logging service key - account can't read logs - if (!props.serverAccessLogsBucket && props.encryption === BucketEncryption.KMS_MANAGED) { - throw new Error('Default bucket encryption with KMS managed key is not supported for Server Access Logging target buckets'); + if ( + !props.serverAccessLogsBucket && + props.encryption && + [BucketEncryption.KMS_MANAGED, BucketEncryption.DSSE_MANAGED].includes(props.encryption) + ) { + throw new Error('Default bucket encryption with KMS managed or DSSE managed key is not supported for Server Access Logging target buckets'); } // When there is an encryption key exists for the server access logs bucket, grant permission to the S3 logging SP. @@ -2455,6 +2493,17 @@ export enum BucketEncryption { * If `encryptionKey` is specified, this key will be used, otherwise, one will be defined. */ KMS = 'KMS', + + /** + * Double server-side KMS encryption with a master key managed by KMS. + */ + DSSE_MANAGED = 'DSSE_MANAGED', + + /** + * Double server-side encryption with a KMS key managed by the user. + * If `encryptionKey` is specified, this key will be used, otherwise, one will be defined. + */ + DSSE = 'DSSE', } /** diff --git a/packages/aws-cdk-lib/aws-s3/test/bucket.test.ts b/packages/aws-cdk-lib/aws-s3/test/bucket.test.ts index b59ec5f1d8160..bd6f3ce3a5057 100644 --- a/packages/aws-cdk-lib/aws-s3/test/bucket.test.ts +++ b/packages/aws-cdk-lib/aws-s3/test/bucket.test.ts @@ -99,6 +99,34 @@ describe('bucket', () => { }); }); + test('bucket with DSSE_MANAGED encryption', () => { + const stack = new cdk.Stack(); + new s3.Bucket(stack, 'MyBucket', { + encryption: s3.BucketEncryption.DSSE_MANAGED, + }); + + Template.fromStack(stack).templateMatches({ + 'Resources': { + 'MyBucketF68F3FF0': { + 'Type': 'AWS::S3::Bucket', + 'Properties': { + 'BucketEncryption': { + 'ServerSideEncryptionConfiguration': [ + { + 'ServerSideEncryptionByDefault': { + 'SSEAlgorithm': 'aws:kms:dsse', + }, + }, + ], + }, + }, + 'DeletionPolicy': 'Retain', + 'UpdateReplacePolicy': 'Retain', + }, + }, + }); + }); + test('valid bucket names', () => { const stack = new cdk.Stack(); @@ -223,7 +251,17 @@ describe('bucket', () => { expect(() => new s3.Bucket(stack, 'MyBucket', { encryption: s3.BucketEncryption.KMS_MANAGED, encryptionKey: myKey, - })).toThrow(/encryptionKey is specified, so 'encryption' must be set to KMS/); + })).toThrow(/encryptionKey is specified, so 'encryption' must be set to KMS or DSSE/); + }); + + test('fails if encryption key is used with dsse managed encryption', () => { + const stack = new cdk.Stack(); + const myKey = new kms.Key(stack, 'MyKey'); + + expect(() => new s3.Bucket(stack, 'MyBucket', { + encryption: s3.BucketEncryption.DSSE_MANAGED, + encryptionKey: myKey, + })).toThrow(/encryptionKey is specified, so 'encryption' must be set to KMS or DSSE/); }); testDeprecated('fails if encryption key is used with encryption set to UNENCRYPTED', () => { @@ -233,7 +271,7 @@ describe('bucket', () => { expect(() => new s3.Bucket(stack, 'MyBucket', { encryption: s3.BucketEncryption.UNENCRYPTED, encryptionKey: myKey, - })).toThrow(/encryptionKey is specified, so 'encryption' must be set to KMS/); + })).toThrow(/encryptionKey is specified, so 'encryption' must be set to KMS or DSSE/); }); test('fails if encryption key is used with encryption set to S3_MANAGED', () => { @@ -243,7 +281,7 @@ describe('bucket', () => { expect(() => new s3.Bucket(stack, 'MyBucket', { encryption: s3.BucketEncryption.S3_MANAGED, encryptionKey: myKey, - })).toThrow(/encryptionKey is specified, so 'encryption' must be set to KMS/); + })).toThrow(/encryptionKey is specified, so 'encryption' must be set to KMS or DSSE/); }); test('encryptionKey can specify kms key', () => { @@ -274,6 +312,34 @@ describe('bucket', () => { }); }); + test('dsse encryptionKey can specify kms key', () => { + const stack = new cdk.Stack(); + + const encryptionKey = new kms.Key(stack, 'MyKey', { description: 'hello, world' }); + + new s3.Bucket(stack, 'MyBucket', { encryptionKey, encryption: s3.BucketEncryption.DSSE }); + + Template.fromStack(stack).resourceCountIs('AWS::KMS::Key', 1); + + Template.fromStack(stack).hasResourceProperties('AWS::S3::Bucket', { + 'BucketEncryption': { + 'ServerSideEncryptionConfiguration': [ + { + 'ServerSideEncryptionByDefault': { + 'KMSMasterKeyID': { + 'Fn::GetAtt': [ + 'MyKey6AB29FA6', + 'Arn', + ], + }, + 'SSEAlgorithm': 'aws:kms:dsse', + }, + }, + ], + }, + }); + }); + test('enforceSsl can be enabled', () => { const stack = new cdk.Stack(); new s3.Bucket(stack, 'MyBucket', { enforceSSL: true }); @@ -353,15 +419,34 @@ describe('bucket', () => { }); }); + test.each([s3.BucketEncryption.DSSE, s3.BucketEncryption.DSSE_MANAGED])('bucketKeyEnabled can be enabled with %p encryption', (encryption) => { + const stack = new cdk.Stack(); + + new s3.Bucket(stack, 'MyBucket', { bucketKeyEnabled: true, encryption }); + + Template.fromStack(stack).hasResourceProperties('AWS::S3::Bucket', { + 'BucketEncryption': { + 'ServerSideEncryptionConfiguration': [ + { + 'BucketKeyEnabled': true, + 'ServerSideEncryptionByDefault': Match.objectLike({ + 'SSEAlgorithm': 'aws:kms:dsse', + }), + }, + ], + }, + }); + }); + test('throws error if bucketKeyEnabled is set, but encryption is not KMS', () => { const stack = new cdk.Stack(); expect(() => { new s3.Bucket(stack, 'MyBucket', { bucketKeyEnabled: true, encryption: s3.BucketEncryption.S3_MANAGED }); - }).toThrow("bucketKeyEnabled is specified, so 'encryption' must be set to KMS (value: S3_MANAGED)"); + }).toThrow("bucketKeyEnabled is specified, so 'encryption' must be set to KMS or DSSE (value: S3_MANAGED)"); expect(() => { new s3.Bucket(stack, 'MyBucket3', { bucketKeyEnabled: true }); - }).toThrow("bucketKeyEnabled is specified, so 'encryption' must be set to KMS (value: UNENCRYPTED)"); + }).toThrow("bucketKeyEnabled is specified, so 'encryption' must be set to KMS or DSSE (value: UNENCRYPTED)"); }); @@ -383,7 +468,7 @@ describe('bucket', () => { const stack = new cdk.Stack(); expect(() => { new s3.Bucket(stack, 'MyBucket', { encryption: s3.BucketEncryption.KMS_MANAGED, serverAccessLogsPrefix: 'test' }); - }).toThrow(/Default bucket encryption with KMS managed key is not supported for Server Access Logging target buckets/); + }).toThrow(/Default bucket encryption with KMS managed or DSSE managed key is not supported for Server Access Logging target buckets/); }); test('logs to self, KMS encryption without key does not throw error', () => { From 9e92bcac244c1d8448c0eb29319f433de730f0ab Mon Sep 17 00:00:00 2001 From: Romain Marcadier Date: Wed, 14 Jun 2023 11:06:16 +0200 Subject: [PATCH 2/8] chore: fix security (non-)issues (#25959) Gets rid of the two Dependabot vulnerability notifications reported on this repository (neither is actually exploit-able in the context of this repository). --- .../test/lambda-handler-poetry/poetry.lock | 65 +- packages/@aws-cdk/cx-api/FEATURE_FLAGS.md | 24 +- .../integ-runner/THIRD_PARTY_LICENSES | 2 +- .../runtime/aws-sdk-v3-handler/index.ts | 6 +- .../aws-custom-resource/sdk-api-metadata.json | 14 +- .../runtime/aws-sdk-v3-handler.test.ts | 7 +- packages/aws-cdk-lib/package.json | 6 +- packages/aws-cdk/THIRD_PARTY_LICENSES | 4 +- tools/@aws-cdk/yarn-cling/lib/types.ts | 8 +- yarn.lock | 2214 +++++++++-------- 10 files changed, 1210 insertions(+), 1140 deletions(-) diff --git a/packages/@aws-cdk/aws-lambda-python-alpha/test/lambda-handler-poetry/poetry.lock b/packages/@aws-cdk/aws-lambda-python-alpha/test/lambda-handler-poetry/poetry.lock index 892273ecf8556..e62049fd14bdd 100644 --- a/packages/@aws-cdk/aws-lambda-python-alpha/test/lambda-handler-poetry/poetry.lock +++ b/packages/@aws-cdk/aws-lambda-python-alpha/test/lambda-handler-poetry/poetry.lock @@ -1,37 +1,51 @@ +# This file is automatically @generated by Poetry 1.5.1 and should not be changed by hand. + [[package]] name = "certifi" -version = "2022.12.7" +version = "2023.5.7" description = "Python package for providing Mozilla's CA Bundle." -category = "main" optional = false python-versions = ">=3.6" +files = [ + {file = "certifi-2023.5.7-py3-none-any.whl", hash = "sha256:c6c2e98f5c7869efca1f8916fed228dd91539f9f1b444c314c06eef02980c716"}, + {file = "certifi-2023.5.7.tar.gz", hash = "sha256:0f0d56dc5a6ad56fd4ba36484d6cc34451e1c6548c61daad8c320169f91eddc7"}, +] [[package]] name = "charset-normalizer" -version = "2.0.9" +version = "2.0.12" description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet." -category = "main" optional = false python-versions = ">=3.5.0" +files = [ + {file = "charset-normalizer-2.0.12.tar.gz", hash = "sha256:2857e29ff0d34db842cd7ca3230549d1a697f96ee6d3fb071cfa6c7393832597"}, + {file = "charset_normalizer-2.0.12-py3-none-any.whl", hash = "sha256:6881edbebdb17b39b4eaaa821b438bf6eddffb4468cf344f09f89def34a8b1df"}, +] [package.extras] unicode-backport = ["unicodedata2"] [[package]] name = "idna" -version = "3.3" +version = "3.4" description = "Internationalized Domain Names in Applications (IDNA)" -category = "main" optional = false python-versions = ">=3.5" +files = [ + {file = "idna-3.4-py3-none-any.whl", hash = "sha256:90b77e79eaa3eba6de819a0c442c0b4ceefc341a7a2ab77d7562bf49f425c5c2"}, + {file = "idna-3.4.tar.gz", hash = "sha256:814f528e8dead7d329833b91c5faa87d60bf71824cd12a7530b5526063d02cb4"}, +] [[package]] name = "requests" version = "2.26.0" description = "Python HTTP for Humans." -category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*" +files = [ + {file = "requests-2.26.0-py2.py3-none-any.whl", hash = "sha256:6c1246513ecd5ecd4528a0906f910e8f0f9c6b8ec72030dc9fd154dc1a6efd24"}, + {file = "requests-2.26.0.tar.gz", hash = "sha256:b8aa58f8cf793ffd8782d3d8cb19e66ef36f7aba4353eec859e74678b01b07a7"}, +] [package.dependencies] certifi = ">=2017.4.17" @@ -45,40 +59,21 @@ use-chardet-on-py3 = ["chardet (>=3.0.2,<5)"] [[package]] name = "urllib3" -version = "1.26.7" +version = "1.26.16" description = "HTTP library with thread-safe connection pooling, file post, and more." -category = "main" optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, <4" +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*" +files = [ + {file = "urllib3-1.26.16-py2.py3-none-any.whl", hash = "sha256:8d36afa7616d8ab714608411b4a3b13e58f463aee519024578e062e141dce20f"}, + {file = "urllib3-1.26.16.tar.gz", hash = "sha256:8f135f6502756bde6b2a9b28989df5fbe87c9970cecaa69041edcce7f0589b14"}, +] [package.extras] -brotli = ["brotlipy (>=0.6.0)"] -secure = ["certifi", "cryptography (>=1.3.4)", "idna (>=2.0.0)", "ipaddress", "pyOpenSSL (>=0.14)"] +brotli = ["brotli (>=1.0.9)", "brotlicffi (>=0.8.0)", "brotlipy (>=0.6.0)"] +secure = ["certifi", "cryptography (>=1.3.4)", "idna (>=2.0.0)", "ipaddress", "pyOpenSSL (>=0.14)", "urllib3-secure-extra"] socks = ["PySocks (>=1.5.6,!=1.5.7,<2.0)"] [metadata] -lock-version = "1.1" +lock-version = "2.0" python-versions = "^3.6" content-hash = "0688bcc269cb32eab2edeadcb342631e24cf30fd9ef54f8710010cc06cd523c5" - -[metadata.files] -certifi = [ - {file = "certifi-2022.12.7-py3-none-any.whl", hash = "sha256:4ad3232f5e926d6718ec31cfc1fcadfde020920e278684144551c91769c7bc18"}, - {file = "certifi-2022.12.7.tar.gz", hash = "sha256:35824b4c3a97115964b408844d64aa14db1cc518f6562e8d7261699d1350a9e3"}, -] -charset-normalizer = [ - {file = "charset-normalizer-2.0.9.tar.gz", hash = "sha256:b0b883e8e874edfdece9c28f314e3dd5badf067342e42fb162203335ae61aa2c"}, - {file = "charset_normalizer-2.0.9-py3-none-any.whl", hash = "sha256:1eecaa09422db5be9e29d7fc65664e6c33bd06f9ced7838578ba40d58bdf3721"}, -] -idna = [ - {file = "idna-3.3-py3-none-any.whl", hash = "sha256:84d9dd047ffa80596e0f246e2eab0b391788b0503584e8945f2368256d2735ff"}, - {file = "idna-3.3.tar.gz", hash = "sha256:9d643ff0a55b762d5cdb124b8eaa99c66322e2157b69160bc32796e824360e6d"}, -] -requests = [ - {file = "requests-2.26.0-py2.py3-none-any.whl", hash = "sha256:6c1246513ecd5ecd4528a0906f910e8f0f9c6b8ec72030dc9fd154dc1a6efd24"}, - {file = "requests-2.26.0.tar.gz", hash = "sha256:b8aa58f8cf793ffd8782d3d8cb19e66ef36f7aba4353eec859e74678b01b07a7"}, -] -urllib3 = [ - {file = "urllib3-1.26.7-py2.py3-none-any.whl", hash = "sha256:c4fdf4019605b6e5423637e01bc9fe4daef873709a7973e195ceba0a62bbc844"}, - {file = "urllib3-1.26.7.tar.gz", hash = "sha256:4987c65554f7a2dbf30c18fd48778ef124af6fab771a377103da0585e2336ece"}, -] diff --git a/packages/@aws-cdk/cx-api/FEATURE_FLAGS.md b/packages/@aws-cdk/cx-api/FEATURE_FLAGS.md index 59e200210a7b4..371b759b35918 100644 --- a/packages/@aws-cdk/cx-api/FEATURE_FLAGS.md +++ b/packages/@aws-cdk/cx-api/FEATURE_FLAGS.md @@ -53,6 +53,7 @@ Flags come in three types: | [@aws-cdk/aws-secretsmanager:useAttachedSecretResourcePolicyForSecretTargetAttachments](#aws-cdkaws-secretsmanageruseattachedsecretresourcepolicyforsecrettargetattachments) | SecretTargetAttachments uses the ResourcePolicy of the attached Secret. | 2.67.0 | (fix) | | [@aws-cdk/aws-redshift:columnId](#aws-cdkaws-redshiftcolumnid) | Whether to use an ID to track Redshift column changes | 2.68.0 | (fix) | | [@aws-cdk/aws-stepfunctions-tasks:enableEmrServicePolicyV2](#aws-cdkaws-stepfunctions-tasksenableemrservicepolicyv2) | Enable AmazonEMRServicePolicy_v2 managed policies | 2.72.0 | (fix) | +| [@aws-cdk/core:includePrefixInUniqueNameGeneration](#aws-cdkcoreincludeprefixinuniquenamegeneration) | Include the stack prefix in the stack name generation process | V2NEXT | (fix) | @@ -96,7 +97,8 @@ The following json shows the current recommended set of flags, as `cdk init` wou "@aws-cdk/aws-stepfunctions-tasks:enableEmrServicePolicyV2": true, "@aws-cdk/aws-ec2:restrictDefaultSecurityGroup": true, "@aws-cdk/aws-apigateway:requestValidatorUniqueId": true, - "@aws-cdk/aws-kms:aliasNameRef": true + "@aws-cdk/aws-kms:aliasNameRef": true, + "@aws-cdk/core:includePrefixInUniqueNameGeneration": true } } ``` @@ -986,4 +988,24 @@ intervention since they might not have the appropriate tags propagated automatic | 2.72.0 | `false` | `true` | +### @aws-cdk/core:includePrefixInUniqueNameGeneration + +*Include the stack prefix in the stack name generation process* (fix) + +This flag prevents the prefix of a stack from making the stack's name longer than the 128 character limit. + +If the flag is set, the prefix is included in the stack name generation process. +If the flag is not set, then the prefix of the stack is prepended to the generated stack name. + +**NOTE** - Enabling this flag comes at a **risk**. If you have already deployed stacks, changing the status of this +feature flag can lead to a change in stacks' name. Changing a stack name mean recreating the whole stack, which +is not viable in some productive setups. + + +| Since | Default | Recommended | +| ----- | ----- | ----- | +| (not in v1) | | | +| V2NEXT | `false` | `true` | + + diff --git a/packages/@aws-cdk/integ-runner/THIRD_PARTY_LICENSES b/packages/@aws-cdk/integ-runner/THIRD_PARTY_LICENSES index 9b7d8a71bbda8..c43ca959f6e16 100644 --- a/packages/@aws-cdk/integ-runner/THIRD_PARTY_LICENSES +++ b/packages/@aws-cdk/integ-runner/THIRD_PARTY_LICENSES @@ -156,7 +156,7 @@ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH RE ---------------- -** aws-sdk@2.1379.0 - https://www.npmjs.com/package/aws-sdk/v/2.1379.0 | Apache-2.0 +** aws-sdk@2.1396.0 - https://www.npmjs.com/package/aws-sdk/v/2.1396.0 | Apache-2.0 AWS SDK for JavaScript Copyright 2012-2017 Amazon.com, Inc. or its affiliates. All Rights Reserved. diff --git a/packages/aws-cdk-lib/custom-resources/lib/aws-custom-resource/runtime/aws-sdk-v3-handler/index.ts b/packages/aws-cdk-lib/custom-resources/lib/aws-custom-resource/runtime/aws-sdk-v3-handler/index.ts index 8190853561083..a79c9c089499d 100644 --- a/packages/aws-cdk-lib/custom-resources/lib/aws-custom-resource/runtime/aws-sdk-v3-handler/index.ts +++ b/packages/aws-cdk-lib/custom-resources/lib/aws-custom-resource/runtime/aws-sdk-v3-handler/index.ts @@ -106,12 +106,12 @@ export async function handler(event: AWSLambda.CloudFormationCustomResourceEvent } awsSdk = await awsSdk; - const ServiceClient = Object.entries(awsSdk).find( ([name]) => name.endsWith('Client') )?.[1] as { + const [_clientName, ServiceClient] = Object.entries(awsSdk).find( ([name]) => !name.startsWith('_') && name.endsWith('Client') ) as [string, { new (config: any): { send: (command: any) => Promise config: any } - }; + }]; const client = new ServiceClient({ apiVersion: call.apiVersion, credentials: credentials, @@ -165,4 +165,4 @@ export async function handler(event: AWSLambda.CloudFormationCustomResourceEvent console.log(e); await respond(event, 'FAILED', e.message || 'Internal Error', context.logStreamName, {}); } -} \ No newline at end of file +} diff --git a/packages/aws-cdk-lib/custom-resources/lib/aws-custom-resource/sdk-api-metadata.json b/packages/aws-cdk-lib/custom-resources/lib/aws-custom-resource/sdk-api-metadata.json index 83d53e4eb03bc..2684c22a8460f 100644 --- a/packages/aws-cdk-lib/custom-resources/lib/aws-custom-resource/sdk-api-metadata.json +++ b/packages/aws-cdk-lib/custom-resources/lib/aws-custom-resource/sdk-api-metadata.json @@ -974,7 +974,8 @@ "name": "SagemakerEdge" }, "amp": { - "name": "Amp" + "name": "Amp", + "cors": true }, "greengrassv2": { "name": "GreengrassV2" @@ -1295,5 +1296,16 @@ }, "osis": { "name": "OSIS" + }, + "mediapackagev2": { + "name": "MediaPackageV2" + }, + "paymentcryptography": { + "prefix": "payment-cryptography", + "name": "PaymentCryptography" + }, + "paymentcryptographydata": { + "prefix": "payment-cryptography-data", + "name": "PaymentCryptographyData" } } \ No newline at end of file diff --git a/packages/aws-cdk-lib/custom-resources/test/aws-custom-resource/runtime/aws-sdk-v3-handler.test.ts b/packages/aws-cdk-lib/custom-resources/test/aws-custom-resource/runtime/aws-sdk-v3-handler.test.ts index 9e99b261c9104..470f40877cb5c 100644 --- a/packages/aws-cdk-lib/custom-resources/test/aws-custom-resource/runtime/aws-sdk-v3-handler.test.ts +++ b/packages/aws-cdk-lib/custom-resources/test/aws-custom-resource/runtime/aws-sdk-v3-handler.test.ts @@ -530,11 +530,6 @@ test('SDK credentials are not persisted across subsequent invocations', async () StackId: 'stackId', }, {} as AWSLambda.Context); expect(credentialProviderMock).not.toBeCalled(); - - // THEN - expect(await s3MockClient.call(0).thisValue.config.credentials()).not.toBe(mockCreds); - expect(await s3MockClient.call(1).thisValue.config.credentials()).toBe(mockCreds); - expect(await s3MockClient.call(2).thisValue.config.credentials()).not.toBe(mockCreds); }); test('Being able to call the AWS SDK v2 format', async () => { @@ -627,4 +622,4 @@ test('invalid v2 service name throws explicit error', async () => { await handler(event, {} as AWSLambda.Context); expect(request.isDone()).toBeTruthy(); -}); \ No newline at end of file +}); diff --git a/packages/aws-cdk-lib/package.json b/packages/aws-cdk-lib/package.json index 1f88b38c64b28..220e313ba990f 100644 --- a/packages/aws-cdk-lib/package.json +++ b/packages/aws-cdk-lib/package.json @@ -137,15 +137,15 @@ "@aws-cdk/cfn2ts": "0.0.0", "@aws-cdk/cfnspec": "0.0.0", "@aws-cdk/pkglint": "0.0.0", - "@aws-sdk/client-s3": "^3.321.1", - "@aws-sdk/credential-providers": "^3.321.1", + "@aws-sdk/client-s3": "^3.350.0", + "@aws-sdk/credential-providers": "^3.350.0", "@types/aws-lambda": "^8.10.115", "@types/jest": "^29.5.1", "@types/lodash": "^4.14.194", "@types/punycode": "^2.1.0", "aws-sdk": "^2.1379.0", "aws-sdk-client-mock": "^2.1.1", - "aws-sdk-mock": "5.6.0", + "aws-sdk-mock": "5.8.0", "cdk8s": "^2.7.68", "constructs": "^10.0.0", "delay": "5.0.0", diff --git a/packages/aws-cdk/THIRD_PARTY_LICENSES b/packages/aws-cdk/THIRD_PARTY_LICENSES index a66cd65af927e..d6cbf922ec4b8 100644 --- a/packages/aws-cdk/THIRD_PARTY_LICENSES +++ b/packages/aws-cdk/THIRD_PARTY_LICENSES @@ -268,7 +268,7 @@ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH RE ---------------- -** aws-sdk@2.1379.0 - https://www.npmjs.com/package/aws-sdk/v/2.1379.0 | Apache-2.0 +** aws-sdk@2.1396.0 - https://www.npmjs.com/package/aws-sdk/v/2.1396.0 | Apache-2.0 AWS SDK for JavaScript Copyright 2012-2017 Amazon.com, Inc. or its affiliates. All Rights Reserved. @@ -3402,7 +3402,7 @@ SOFTWARE. ---------------- -** tslib@2.5.0 - https://www.npmjs.com/package/tslib/v/2.5.0 | 0BSD +** tslib@2.5.3 - https://www.npmjs.com/package/tslib/v/2.5.3 | 0BSD Copyright (c) Microsoft Corporation. Permission to use, copy, modify, and/or distribute this software for any diff --git a/tools/@aws-cdk/yarn-cling/lib/types.ts b/tools/@aws-cdk/yarn-cling/lib/types.ts index 2af924f90cb6f..a1e18703da12d 100644 --- a/tools/@aws-cdk/yarn-cling/lib/types.ts +++ b/tools/@aws-cdk/yarn-cling/lib/types.ts @@ -18,13 +18,13 @@ export interface YarnLock { export interface ResolvedYarnPackage { version: string; - resolved: string; - integrity: string; + resolved?: string; + integrity?: string; /** * Dependency name to version range */ - dependencies: Record; + dependencies?: Record; } export interface PackageLock extends PackageLockEntry { @@ -55,4 +55,4 @@ export interface PackageLockPackage extends PackageLockEntry { bundled?: boolean; dev?: boolean; optional?: boolean; -} \ No newline at end of file +} diff --git a/yarn.lock b/yarn.lock index f1fbba94e0496..b40af912ec932 100644 --- a/yarn.lock +++ b/yarn.lock @@ -36,9 +36,9 @@ "@jridgewell/trace-mapping" "^0.3.9" "@aws-cdk/asset-awscli-v1@^2.2.177": - version "2.2.177" - resolved "https://registry.npmjs.org/@aws-cdk/asset-awscli-v1/-/asset-awscli-v1-2.2.177.tgz#c2e29a97b06c9c4a15a56ea228799ad12aac5097" - integrity sha512-jNskqpWyDbTeWnIsyMwrtanz/MltBm1gMHOHiFS/4CBBHYfDT3h7Go5uruNSW32W1gWDej58PGJ+26E4g1gLhA== + version "2.2.189" + resolved "https://registry.npmjs.org/@aws-cdk/asset-awscli-v1/-/asset-awscli-v1-2.2.189.tgz#61295374d39d120278a303d6660ffec2aaba13fb" + integrity sha512-AlTeUUvbYyNsdwW0zVyRvLE07PTMTJz1q/bjVxdQ6jGybVTnAyYPTbJtalZU+TaxbBzc23XVS4F4mgeOZfRjkQ== "@aws-cdk/asset-kubectl-v20@^2.1.1": version "2.1.1" @@ -46,14 +46,14 @@ integrity sha512-U1ntiX8XiMRRRH5J1IdC+1t5CE89015cwyt5U63Cpk0GnMlN5+h9WsWMlKlPXZR4rdq/m806JRlBMRpBUB2Dhw== "@aws-cdk/asset-node-proxy-agent-v5@^2.0.148": - version "2.0.148" - resolved "https://registry.npmjs.org/@aws-cdk/asset-node-proxy-agent-v5/-/asset-node-proxy-agent-v5-2.0.148.tgz#b6ac2f6c9a725db14dc7592d449675c13eb0d86e" - integrity sha512-WnBr+sA5MCPyRuiL9u2CH0Vnn6Peq0TYEXlk0FCqdViVFUCz4/hplEn0mcFV5/iqOkx2OFXOktSRsc8grRZCLw== + version "2.0.163" + resolved "https://registry.npmjs.org/@aws-cdk/asset-node-proxy-agent-v5/-/asset-node-proxy-agent-v5-2.0.163.tgz#80498026421ff6140af822b57b8e495be1e156ed" + integrity sha512-9sOZlAOI2rVfEpHp6TK4bLRsqHCQu+DchJY1twxa55BCEUvdKG/rKJjpr/oGJqKcOmoeHJWQjYoKgo6sdI4SZQ== "@aws-cdk/lambda-layer-kubectl-v24@^2.0.195": - version "2.0.195" - resolved "https://registry.npmjs.org/@aws-cdk/lambda-layer-kubectl-v24/-/lambda-layer-kubectl-v24-2.0.195.tgz#750d627032388ac896e430efd80f1c98150f8fab" - integrity sha512-PA/z81pTWceoLVk8R+YuiRwxxNJA5KA7GWHVCGTaMuIppY17ZJMEp1ldZbtsLxxpJcoJmiDuDWndrVqSzQazzQ== + version "2.0.220" + resolved "https://registry.npmjs.org/@aws-cdk/lambda-layer-kubectl-v24/-/lambda-layer-kubectl-v24-2.0.220.tgz#0a37e016c2229a791f44f08d1e7fbc971023a247" + integrity sha512-1mTcAsmEvCc3ide075fmrkyUKv33Jn4wL9gAu6MimUzDZl+QtqYN68duM651EKErW6jMVdP43y4Rei9a8MDACA== "@aws-crypto/crc32@3.0.0": version "3.0.0" @@ -132,12 +132,12 @@ "@aws-sdk/util-utf8-browser" "^3.0.0" tslib "^1.11.1" -"@aws-sdk/abort-controller@3.310.0": - version "3.310.0" - resolved "https://registry.npmjs.org/@aws-sdk/abort-controller/-/abort-controller-3.310.0.tgz#0da2d29b823daa03b7c1f0b43de1f030583b4f51" - integrity sha512-v1zrRQxDLA1MdPim159Vx/CPHqsB4uybSxRi1CnfHO5ZjHryx3a5htW2gdGAykVCul40+yJXvfpufMrELVxH+g== +"@aws-sdk/abort-controller@3.347.0": + version "3.347.0" + resolved "https://registry.npmjs.org/@aws-sdk/abort-controller/-/abort-controller-3.347.0.tgz#8f1dc9f7e2030b3eabe2f05722d3d99e783e295f" + integrity sha512-P/2qE6ntYEmYG4Ez535nJWZbXqgbkJx8CMz7ChEuEg3Gp3dvVYEKg+iEUEvlqQ2U5dWP5J3ehw5po9t86IsVPQ== dependencies: - "@aws-sdk/types" "3.310.0" + "@aws-sdk/types" "3.347.0" tslib "^2.5.0" "@aws-sdk/chunked-blob-reader@3.310.0": @@ -147,437 +147,442 @@ dependencies: tslib "^2.5.0" -"@aws-sdk/client-cognito-identity@3.326.0": - version "3.326.0" - resolved "https://registry.npmjs.org/@aws-sdk/client-cognito-identity/-/client-cognito-identity-3.326.0.tgz#82178ae8180be88aa8bac61ec21f3a2d48f793d9" - integrity sha512-nLYQUFoQYchApuYVi3t4mHM2qdiZ/Fe9zfoXdLoHxNZA7/8k7bpBwGPzHen+232ZHnxGOrqvVrpWhF2Jsawqsg== +"@aws-sdk/client-cognito-identity@3.350.0": + version "3.350.0" + resolved "https://registry.npmjs.org/@aws-sdk/client-cognito-identity/-/client-cognito-identity-3.350.0.tgz#3f3b6533b4ae70d2c2977b5a8925397d4dfae647" + integrity sha512-46AhBvGWo6TEzlvZieNlZHC2w4NJUJA52KfDUtgr8PmChGgxqzlLBAiOpqbDJ83GR3YB6CNEjXxzN5tmyJKICA== dependencies: "@aws-crypto/sha256-browser" "3.0.0" "@aws-crypto/sha256-js" "3.0.0" - "@aws-sdk/client-sts" "3.326.0" - "@aws-sdk/config-resolver" "3.310.0" - "@aws-sdk/credential-provider-node" "3.326.0" - "@aws-sdk/fetch-http-handler" "3.310.0" - "@aws-sdk/hash-node" "3.310.0" - "@aws-sdk/invalid-dependency" "3.310.0" - "@aws-sdk/middleware-content-length" "3.325.0" - "@aws-sdk/middleware-endpoint" "3.325.0" - "@aws-sdk/middleware-host-header" "3.325.0" - "@aws-sdk/middleware-logger" "3.325.0" - "@aws-sdk/middleware-recursion-detection" "3.325.0" - "@aws-sdk/middleware-retry" "3.325.0" - "@aws-sdk/middleware-serde" "3.325.0" - "@aws-sdk/middleware-signing" "3.325.0" - "@aws-sdk/middleware-stack" "3.325.0" - "@aws-sdk/middleware-user-agent" "3.325.0" - "@aws-sdk/node-config-provider" "3.310.0" - "@aws-sdk/node-http-handler" "3.321.1" - "@aws-sdk/protocol-http" "3.310.0" - "@aws-sdk/smithy-client" "3.325.0" - "@aws-sdk/types" "3.310.0" - "@aws-sdk/url-parser" "3.310.0" + "@aws-sdk/client-sts" "3.350.0" + "@aws-sdk/config-resolver" "3.347.0" + "@aws-sdk/credential-provider-node" "3.350.0" + "@aws-sdk/fetch-http-handler" "3.347.0" + "@aws-sdk/hash-node" "3.347.0" + "@aws-sdk/invalid-dependency" "3.347.0" + "@aws-sdk/middleware-content-length" "3.347.0" + "@aws-sdk/middleware-endpoint" "3.347.0" + "@aws-sdk/middleware-host-header" "3.347.0" + "@aws-sdk/middleware-logger" "3.347.0" + "@aws-sdk/middleware-recursion-detection" "3.347.0" + "@aws-sdk/middleware-retry" "3.347.0" + "@aws-sdk/middleware-serde" "3.347.0" + "@aws-sdk/middleware-signing" "3.347.0" + "@aws-sdk/middleware-stack" "3.347.0" + "@aws-sdk/middleware-user-agent" "3.347.0" + "@aws-sdk/node-config-provider" "3.347.0" + "@aws-sdk/node-http-handler" "3.350.0" + "@aws-sdk/smithy-client" "3.347.0" + "@aws-sdk/types" "3.347.0" + "@aws-sdk/url-parser" "3.347.0" "@aws-sdk/util-base64" "3.310.0" "@aws-sdk/util-body-length-browser" "3.310.0" "@aws-sdk/util-body-length-node" "3.310.0" - "@aws-sdk/util-defaults-mode-browser" "3.325.0" - "@aws-sdk/util-defaults-mode-node" "3.325.0" - "@aws-sdk/util-endpoints" "3.319.0" - "@aws-sdk/util-retry" "3.310.0" - "@aws-sdk/util-user-agent-browser" "3.310.0" - "@aws-sdk/util-user-agent-node" "3.310.0" + "@aws-sdk/util-defaults-mode-browser" "3.347.0" + "@aws-sdk/util-defaults-mode-node" "3.347.0" + "@aws-sdk/util-endpoints" "3.347.0" + "@aws-sdk/util-retry" "3.347.0" + "@aws-sdk/util-user-agent-browser" "3.347.0" + "@aws-sdk/util-user-agent-node" "3.347.0" "@aws-sdk/util-utf8" "3.310.0" + "@smithy/protocol-http" "^1.0.1" + "@smithy/types" "^1.0.0" tslib "^2.5.0" -"@aws-sdk/client-s3@^3.321.1": - version "3.326.0" - resolved "https://registry.npmjs.org/@aws-sdk/client-s3/-/client-s3-3.326.0.tgz#5a23233874db31687b5f2e89a5fbc4d88f449c75" - integrity sha512-fRlwZoerdRw+xHf6n+xFc0rRDmofjVdJl2hRD+nqXk8IVp5pRbG0OqtJGT/0KRc0Eoobk66+nHvh2dvEPdIGlw== +"@aws-sdk/client-s3@^3.350.0": + version "3.350.0" + resolved "https://registry.npmjs.org/@aws-sdk/client-s3/-/client-s3-3.350.0.tgz#2cb12ce94ada011e3ef89f0100cc03da81cf5151" + integrity sha512-VNIX3V7ZAcXlzAp/PDLZYsBNWtXrtNulsCPuJe9gXY0+KCstjYT2mkXXb2+ipkthZi+YT14jhveNqTBRkJqGPg== dependencies: "@aws-crypto/sha1-browser" "3.0.0" "@aws-crypto/sha256-browser" "3.0.0" "@aws-crypto/sha256-js" "3.0.0" - "@aws-sdk/client-sts" "3.326.0" - "@aws-sdk/config-resolver" "3.310.0" - "@aws-sdk/credential-provider-node" "3.326.0" - "@aws-sdk/eventstream-serde-browser" "3.310.0" - "@aws-sdk/eventstream-serde-config-resolver" "3.310.0" - "@aws-sdk/eventstream-serde-node" "3.310.0" - "@aws-sdk/fetch-http-handler" "3.310.0" - "@aws-sdk/hash-blob-browser" "3.310.0" - "@aws-sdk/hash-node" "3.310.0" - "@aws-sdk/hash-stream-node" "3.310.0" - "@aws-sdk/invalid-dependency" "3.310.0" - "@aws-sdk/md5-js" "3.310.0" - "@aws-sdk/middleware-bucket-endpoint" "3.310.0" - "@aws-sdk/middleware-content-length" "3.325.0" - "@aws-sdk/middleware-endpoint" "3.325.0" - "@aws-sdk/middleware-expect-continue" "3.325.0" - "@aws-sdk/middleware-flexible-checksums" "3.326.0" - "@aws-sdk/middleware-host-header" "3.325.0" - "@aws-sdk/middleware-location-constraint" "3.325.0" - "@aws-sdk/middleware-logger" "3.325.0" - "@aws-sdk/middleware-recursion-detection" "3.325.0" - "@aws-sdk/middleware-retry" "3.325.0" - "@aws-sdk/middleware-sdk-s3" "3.326.0" - "@aws-sdk/middleware-serde" "3.325.0" - "@aws-sdk/middleware-signing" "3.325.0" - "@aws-sdk/middleware-ssec" "3.325.0" - "@aws-sdk/middleware-stack" "3.325.0" - "@aws-sdk/middleware-user-agent" "3.325.0" - "@aws-sdk/node-config-provider" "3.310.0" - "@aws-sdk/node-http-handler" "3.321.1" - "@aws-sdk/protocol-http" "3.310.0" - "@aws-sdk/signature-v4-multi-region" "3.310.0" - "@aws-sdk/smithy-client" "3.325.0" - "@aws-sdk/types" "3.310.0" - "@aws-sdk/url-parser" "3.310.0" + "@aws-sdk/client-sts" "3.350.0" + "@aws-sdk/config-resolver" "3.347.0" + "@aws-sdk/credential-provider-node" "3.350.0" + "@aws-sdk/eventstream-serde-browser" "3.347.0" + "@aws-sdk/eventstream-serde-config-resolver" "3.347.0" + "@aws-sdk/eventstream-serde-node" "3.347.0" + "@aws-sdk/fetch-http-handler" "3.347.0" + "@aws-sdk/hash-blob-browser" "3.347.0" + "@aws-sdk/hash-node" "3.347.0" + "@aws-sdk/hash-stream-node" "3.347.0" + "@aws-sdk/invalid-dependency" "3.347.0" + "@aws-sdk/md5-js" "3.347.0" + "@aws-sdk/middleware-bucket-endpoint" "3.347.0" + "@aws-sdk/middleware-content-length" "3.347.0" + "@aws-sdk/middleware-endpoint" "3.347.0" + "@aws-sdk/middleware-expect-continue" "3.347.0" + "@aws-sdk/middleware-flexible-checksums" "3.347.0" + "@aws-sdk/middleware-host-header" "3.347.0" + "@aws-sdk/middleware-location-constraint" "3.347.0" + "@aws-sdk/middleware-logger" "3.347.0" + "@aws-sdk/middleware-recursion-detection" "3.347.0" + "@aws-sdk/middleware-retry" "3.347.0" + "@aws-sdk/middleware-sdk-s3" "3.347.0" + "@aws-sdk/middleware-serde" "3.347.0" + "@aws-sdk/middleware-signing" "3.347.0" + "@aws-sdk/middleware-ssec" "3.347.0" + "@aws-sdk/middleware-stack" "3.347.0" + "@aws-sdk/middleware-user-agent" "3.347.0" + "@aws-sdk/node-config-provider" "3.347.0" + "@aws-sdk/node-http-handler" "3.350.0" + "@aws-sdk/signature-v4-multi-region" "3.347.0" + "@aws-sdk/smithy-client" "3.347.0" + "@aws-sdk/types" "3.347.0" + "@aws-sdk/url-parser" "3.347.0" "@aws-sdk/util-base64" "3.310.0" "@aws-sdk/util-body-length-browser" "3.310.0" "@aws-sdk/util-body-length-node" "3.310.0" - "@aws-sdk/util-defaults-mode-browser" "3.325.0" - "@aws-sdk/util-defaults-mode-node" "3.325.0" - "@aws-sdk/util-endpoints" "3.319.0" - "@aws-sdk/util-retry" "3.310.0" - "@aws-sdk/util-stream-browser" "3.310.0" - "@aws-sdk/util-stream-node" "3.321.1" - "@aws-sdk/util-user-agent-browser" "3.310.0" - "@aws-sdk/util-user-agent-node" "3.310.0" + "@aws-sdk/util-defaults-mode-browser" "3.347.0" + "@aws-sdk/util-defaults-mode-node" "3.347.0" + "@aws-sdk/util-endpoints" "3.347.0" + "@aws-sdk/util-retry" "3.347.0" + "@aws-sdk/util-stream-browser" "3.347.0" + "@aws-sdk/util-stream-node" "3.350.0" + "@aws-sdk/util-user-agent-browser" "3.347.0" + "@aws-sdk/util-user-agent-node" "3.347.0" "@aws-sdk/util-utf8" "3.310.0" - "@aws-sdk/util-waiter" "3.310.0" + "@aws-sdk/util-waiter" "3.347.0" "@aws-sdk/xml-builder" "3.310.0" - fast-xml-parser "4.1.2" + "@smithy/protocol-http" "^1.0.1" + "@smithy/types" "^1.0.0" + fast-xml-parser "4.2.4" tslib "^2.5.0" -"@aws-sdk/client-sso-oidc@3.326.0": - version "3.326.0" - resolved "https://registry.npmjs.org/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.326.0.tgz#0ca864e6ae3bfe0beb66b0b5a066e3c4bdb92b5d" - integrity sha512-JLxIiWDKYUExYOzsxSPV8nf9w4mmgkkZ495GtSF6YnZhh0Ryxp3yB7KjsEgF3opOVo7uXkkgz4y30GWFzD1pEg== +"@aws-sdk/client-sso-oidc@3.350.0": + version "3.350.0" + resolved "https://registry.npmjs.org/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.350.0.tgz#d779a47b8bbda17f2550221d513f2d93bc3c2bd0" + integrity sha512-v3UrWIglg9PPzGXqhyGB/qPZ8ifiGM9r4LV8vve1TpiKsUdf1Khtx1eB8yqjNO0vIsYUF+j1C23QT1qAN2DcEA== dependencies: "@aws-crypto/sha256-browser" "3.0.0" "@aws-crypto/sha256-js" "3.0.0" - "@aws-sdk/config-resolver" "3.310.0" - "@aws-sdk/fetch-http-handler" "3.310.0" - "@aws-sdk/hash-node" "3.310.0" - "@aws-sdk/invalid-dependency" "3.310.0" - "@aws-sdk/middleware-content-length" "3.325.0" - "@aws-sdk/middleware-endpoint" "3.325.0" - "@aws-sdk/middleware-host-header" "3.325.0" - "@aws-sdk/middleware-logger" "3.325.0" - "@aws-sdk/middleware-recursion-detection" "3.325.0" - "@aws-sdk/middleware-retry" "3.325.0" - "@aws-sdk/middleware-serde" "3.325.0" - "@aws-sdk/middleware-stack" "3.325.0" - "@aws-sdk/middleware-user-agent" "3.325.0" - "@aws-sdk/node-config-provider" "3.310.0" - "@aws-sdk/node-http-handler" "3.321.1" - "@aws-sdk/protocol-http" "3.310.0" - "@aws-sdk/smithy-client" "3.325.0" - "@aws-sdk/types" "3.310.0" - "@aws-sdk/url-parser" "3.310.0" + "@aws-sdk/config-resolver" "3.347.0" + "@aws-sdk/fetch-http-handler" "3.347.0" + "@aws-sdk/hash-node" "3.347.0" + "@aws-sdk/invalid-dependency" "3.347.0" + "@aws-sdk/middleware-content-length" "3.347.0" + "@aws-sdk/middleware-endpoint" "3.347.0" + "@aws-sdk/middleware-host-header" "3.347.0" + "@aws-sdk/middleware-logger" "3.347.0" + "@aws-sdk/middleware-recursion-detection" "3.347.0" + "@aws-sdk/middleware-retry" "3.347.0" + "@aws-sdk/middleware-serde" "3.347.0" + "@aws-sdk/middleware-stack" "3.347.0" + "@aws-sdk/middleware-user-agent" "3.347.0" + "@aws-sdk/node-config-provider" "3.347.0" + "@aws-sdk/node-http-handler" "3.350.0" + "@aws-sdk/smithy-client" "3.347.0" + "@aws-sdk/types" "3.347.0" + "@aws-sdk/url-parser" "3.347.0" "@aws-sdk/util-base64" "3.310.0" "@aws-sdk/util-body-length-browser" "3.310.0" "@aws-sdk/util-body-length-node" "3.310.0" - "@aws-sdk/util-defaults-mode-browser" "3.325.0" - "@aws-sdk/util-defaults-mode-node" "3.325.0" - "@aws-sdk/util-endpoints" "3.319.0" - "@aws-sdk/util-retry" "3.310.0" - "@aws-sdk/util-user-agent-browser" "3.310.0" - "@aws-sdk/util-user-agent-node" "3.310.0" + "@aws-sdk/util-defaults-mode-browser" "3.347.0" + "@aws-sdk/util-defaults-mode-node" "3.347.0" + "@aws-sdk/util-endpoints" "3.347.0" + "@aws-sdk/util-retry" "3.347.0" + "@aws-sdk/util-user-agent-browser" "3.347.0" + "@aws-sdk/util-user-agent-node" "3.347.0" "@aws-sdk/util-utf8" "3.310.0" + "@smithy/protocol-http" "^1.0.1" + "@smithy/types" "^1.0.0" tslib "^2.5.0" -"@aws-sdk/client-sso@3.326.0": - version "3.326.0" - resolved "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.326.0.tgz#50e090b2c0f5b91a79f3f0d6087f9ee8c50071f9" - integrity sha512-dLV9JyTvalh/0vIMd+eJ93n4lvmXcBqXuSFJkyFnyFN/HAB/zC8XB3ccZ1DbwydWMpyVevW6h8+z2gGcq6mweQ== +"@aws-sdk/client-sso@3.350.0": + version "3.350.0" + resolved "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.350.0.tgz#794ee34ffc1b44f3a2f0f85ea895daba5118f442" + integrity sha512-2vpiv6SEjmQGK3ZueGzvTMG6NenjWp0CHjmda71d1Iqr+tZ2UlfC35+3ioU8JP+jiXLL+y9r+SCer3IC8N/i+Q== dependencies: "@aws-crypto/sha256-browser" "3.0.0" "@aws-crypto/sha256-js" "3.0.0" - "@aws-sdk/config-resolver" "3.310.0" - "@aws-sdk/fetch-http-handler" "3.310.0" - "@aws-sdk/hash-node" "3.310.0" - "@aws-sdk/invalid-dependency" "3.310.0" - "@aws-sdk/middleware-content-length" "3.325.0" - "@aws-sdk/middleware-endpoint" "3.325.0" - "@aws-sdk/middleware-host-header" "3.325.0" - "@aws-sdk/middleware-logger" "3.325.0" - "@aws-sdk/middleware-recursion-detection" "3.325.0" - "@aws-sdk/middleware-retry" "3.325.0" - "@aws-sdk/middleware-serde" "3.325.0" - "@aws-sdk/middleware-stack" "3.325.0" - "@aws-sdk/middleware-user-agent" "3.325.0" - "@aws-sdk/node-config-provider" "3.310.0" - "@aws-sdk/node-http-handler" "3.321.1" - "@aws-sdk/protocol-http" "3.310.0" - "@aws-sdk/smithy-client" "3.325.0" - "@aws-sdk/types" "3.310.0" - "@aws-sdk/url-parser" "3.310.0" + "@aws-sdk/config-resolver" "3.347.0" + "@aws-sdk/fetch-http-handler" "3.347.0" + "@aws-sdk/hash-node" "3.347.0" + "@aws-sdk/invalid-dependency" "3.347.0" + "@aws-sdk/middleware-content-length" "3.347.0" + "@aws-sdk/middleware-endpoint" "3.347.0" + "@aws-sdk/middleware-host-header" "3.347.0" + "@aws-sdk/middleware-logger" "3.347.0" + "@aws-sdk/middleware-recursion-detection" "3.347.0" + "@aws-sdk/middleware-retry" "3.347.0" + "@aws-sdk/middleware-serde" "3.347.0" + "@aws-sdk/middleware-stack" "3.347.0" + "@aws-sdk/middleware-user-agent" "3.347.0" + "@aws-sdk/node-config-provider" "3.347.0" + "@aws-sdk/node-http-handler" "3.350.0" + "@aws-sdk/smithy-client" "3.347.0" + "@aws-sdk/types" "3.347.0" + "@aws-sdk/url-parser" "3.347.0" "@aws-sdk/util-base64" "3.310.0" "@aws-sdk/util-body-length-browser" "3.310.0" "@aws-sdk/util-body-length-node" "3.310.0" - "@aws-sdk/util-defaults-mode-browser" "3.325.0" - "@aws-sdk/util-defaults-mode-node" "3.325.0" - "@aws-sdk/util-endpoints" "3.319.0" - "@aws-sdk/util-retry" "3.310.0" - "@aws-sdk/util-user-agent-browser" "3.310.0" - "@aws-sdk/util-user-agent-node" "3.310.0" + "@aws-sdk/util-defaults-mode-browser" "3.347.0" + "@aws-sdk/util-defaults-mode-node" "3.347.0" + "@aws-sdk/util-endpoints" "3.347.0" + "@aws-sdk/util-retry" "3.347.0" + "@aws-sdk/util-user-agent-browser" "3.347.0" + "@aws-sdk/util-user-agent-node" "3.347.0" "@aws-sdk/util-utf8" "3.310.0" + "@smithy/protocol-http" "^1.0.1" + "@smithy/types" "^1.0.0" tslib "^2.5.0" -"@aws-sdk/client-sts@3.326.0": - version "3.326.0" - resolved "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.326.0.tgz#997d00d633910843f667c296ba9780f7e1cd905f" - integrity sha512-kVxqOqfoTsObH085AbD6MVdizju03h9bmxDNRXm8ehGtQUDN6B3aqZ78Hp4DryBC87W8SdlehzuRkByW8gQL4A== +"@aws-sdk/client-sts@3.350.0": + version "3.350.0" + resolved "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.350.0.tgz#4c0b6d3eda222d5743c6651f2618d9d844a12d51" + integrity sha512-s8RsJ6upWQgeUt8GdV3j3ZeTS7BQXedk77RhZ7wzvVwAjO9wow4uS7Iyic4kS3Y/6d26s0MO2vP4bR6HW6U6ZQ== dependencies: "@aws-crypto/sha256-browser" "3.0.0" "@aws-crypto/sha256-js" "3.0.0" - "@aws-sdk/config-resolver" "3.310.0" - "@aws-sdk/credential-provider-node" "3.326.0" - "@aws-sdk/fetch-http-handler" "3.310.0" - "@aws-sdk/hash-node" "3.310.0" - "@aws-sdk/invalid-dependency" "3.310.0" - "@aws-sdk/middleware-content-length" "3.325.0" - "@aws-sdk/middleware-endpoint" "3.325.0" - "@aws-sdk/middleware-host-header" "3.325.0" - "@aws-sdk/middleware-logger" "3.325.0" - "@aws-sdk/middleware-recursion-detection" "3.325.0" - "@aws-sdk/middleware-retry" "3.325.0" - "@aws-sdk/middleware-sdk-sts" "3.326.0" - "@aws-sdk/middleware-serde" "3.325.0" - "@aws-sdk/middleware-signing" "3.325.0" - "@aws-sdk/middleware-stack" "3.325.0" - "@aws-sdk/middleware-user-agent" "3.325.0" - "@aws-sdk/node-config-provider" "3.310.0" - "@aws-sdk/node-http-handler" "3.321.1" - "@aws-sdk/protocol-http" "3.310.0" - "@aws-sdk/smithy-client" "3.325.0" - "@aws-sdk/types" "3.310.0" - "@aws-sdk/url-parser" "3.310.0" + "@aws-sdk/config-resolver" "3.347.0" + "@aws-sdk/credential-provider-node" "3.350.0" + "@aws-sdk/fetch-http-handler" "3.347.0" + "@aws-sdk/hash-node" "3.347.0" + "@aws-sdk/invalid-dependency" "3.347.0" + "@aws-sdk/middleware-content-length" "3.347.0" + "@aws-sdk/middleware-endpoint" "3.347.0" + "@aws-sdk/middleware-host-header" "3.347.0" + "@aws-sdk/middleware-logger" "3.347.0" + "@aws-sdk/middleware-recursion-detection" "3.347.0" + "@aws-sdk/middleware-retry" "3.347.0" + "@aws-sdk/middleware-sdk-sts" "3.347.0" + "@aws-sdk/middleware-serde" "3.347.0" + "@aws-sdk/middleware-signing" "3.347.0" + "@aws-sdk/middleware-stack" "3.347.0" + "@aws-sdk/middleware-user-agent" "3.347.0" + "@aws-sdk/node-config-provider" "3.347.0" + "@aws-sdk/node-http-handler" "3.350.0" + "@aws-sdk/smithy-client" "3.347.0" + "@aws-sdk/types" "3.347.0" + "@aws-sdk/url-parser" "3.347.0" "@aws-sdk/util-base64" "3.310.0" "@aws-sdk/util-body-length-browser" "3.310.0" "@aws-sdk/util-body-length-node" "3.310.0" - "@aws-sdk/util-defaults-mode-browser" "3.325.0" - "@aws-sdk/util-defaults-mode-node" "3.325.0" - "@aws-sdk/util-endpoints" "3.319.0" - "@aws-sdk/util-retry" "3.310.0" - "@aws-sdk/util-user-agent-browser" "3.310.0" - "@aws-sdk/util-user-agent-node" "3.310.0" + "@aws-sdk/util-defaults-mode-browser" "3.347.0" + "@aws-sdk/util-defaults-mode-node" "3.347.0" + "@aws-sdk/util-endpoints" "3.347.0" + "@aws-sdk/util-retry" "3.347.0" + "@aws-sdk/util-user-agent-browser" "3.347.0" + "@aws-sdk/util-user-agent-node" "3.347.0" "@aws-sdk/util-utf8" "3.310.0" - fast-xml-parser "4.1.2" + "@smithy/protocol-http" "^1.0.1" + "@smithy/types" "^1.0.0" + fast-xml-parser "4.2.4" tslib "^2.5.0" -"@aws-sdk/config-resolver@3.310.0": - version "3.310.0" - resolved "https://registry.npmjs.org/@aws-sdk/config-resolver/-/config-resolver-3.310.0.tgz#c02dce96546d5cd25551bc89907b27224e16ca7f" - integrity sha512-8vsT+/50lOqfDxka9m/rRt6oxv1WuGZoP8oPMk0Dt+TxXMbAzf4+rejBgiB96wshI1k3gLokYRjSQZn+dDtT8g== +"@aws-sdk/config-resolver@3.347.0": + version "3.347.0" + resolved "https://registry.npmjs.org/@aws-sdk/config-resolver/-/config-resolver-3.347.0.tgz#84bb2cbbe310e7de1168ba3233369204f31d395a" + integrity sha512-2ja+Sf/VnUO7IQ3nKbDQ5aumYKKJUaTm/BuVJ29wNho8wYHfuf7wHZV0pDTkB8RF5SH7IpHap7zpZAj39Iq+EA== dependencies: - "@aws-sdk/types" "3.310.0" + "@aws-sdk/types" "3.347.0" "@aws-sdk/util-config-provider" "3.310.0" - "@aws-sdk/util-middleware" "3.310.0" + "@aws-sdk/util-middleware" "3.347.0" tslib "^2.5.0" -"@aws-sdk/credential-provider-cognito-identity@3.326.0": - version "3.326.0" - resolved "https://registry.npmjs.org/@aws-sdk/credential-provider-cognito-identity/-/credential-provider-cognito-identity-3.326.0.tgz#a6fa1401561efb56c1397e7598d1ab7ee18d5a23" - integrity sha512-TgeWiRXCglqMcqNhbKQkDAF+Wpynq2cP+z/lZyDBKDsude+3Zi5w1ZzeVae+/zege0Mhn+wxKCqCsXYTGiD7BA== +"@aws-sdk/credential-provider-cognito-identity@3.351.0": + version "3.351.0" + resolved "https://registry.npmjs.org/@aws-sdk/credential-provider-cognito-identity/-/credential-provider-cognito-identity-3.351.0.tgz#cb92c4d6b255d8182cf7fad0c0e17831038bbb1f" + integrity sha512-c9XyDUj82ttqQqF8h4Ie7k2Fl3bMh8/yBGEQWIPzWRhfy40m4ChqjilKAcBeoxR/w4Qp3RsdDfLRTLC8sJTpIg== dependencies: - "@aws-sdk/client-cognito-identity" "3.326.0" - "@aws-sdk/property-provider" "3.310.0" - "@aws-sdk/types" "3.310.0" + "@aws-sdk/client-cognito-identity" "3.350.0" + "@aws-sdk/property-provider" "3.347.0" + "@aws-sdk/types" "3.347.0" tslib "^2.5.0" -"@aws-sdk/credential-provider-env@3.310.0": - version "3.310.0" - resolved "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.310.0.tgz#c52694fb276341db6ce4e816cf9ca90fa5830dad" - integrity sha512-vvIPQpI16fj95xwS7M3D48F7QhZJBnnCgB5lR+b7So+vsG9ibm1mZRVGzVpdxCvgyOhHFbvrby9aalNJmmIP1A== +"@aws-sdk/credential-provider-env@3.347.0": + version "3.347.0" + resolved "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.347.0.tgz#fb2013a1f799cca874674cb15680680bb33c088b" + integrity sha512-UnEM+LKGpXKzw/1WvYEQsC6Wj9PupYZdQOE+e2Dgy2dqk/pVFy4WueRtFXYDT2B41ppv3drdXUuKZRIDVqIgNQ== dependencies: - "@aws-sdk/property-provider" "3.310.0" - "@aws-sdk/types" "3.310.0" + "@aws-sdk/property-provider" "3.347.0" + "@aws-sdk/types" "3.347.0" tslib "^2.5.0" -"@aws-sdk/credential-provider-imds@3.310.0": - version "3.310.0" - resolved "https://registry.npmjs.org/@aws-sdk/credential-provider-imds/-/credential-provider-imds-3.310.0.tgz#d8fb1223fee7e289a81e28177fe55dedf4d2745e" - integrity sha512-baxK7Zp6dai5AGW01FIW27xS2KAaPUmKLIXv5SvFYsUgXXvNW55im4uG3b+2gA0F7V+hXvVBH08OEqmwW6we5w== +"@aws-sdk/credential-provider-imds@3.347.0": + version "3.347.0" + resolved "https://registry.npmjs.org/@aws-sdk/credential-provider-imds/-/credential-provider-imds-3.347.0.tgz#7b42e2c1143fbec309e9a65c4e8200b056ce028d" + integrity sha512-7scCy/DCDRLIhlqTxff97LQWDnRwRXji3bxxMg+xWOTTaJe7PWx+etGSbBWaL42vsBHFShQjSLvJryEgoBktpw== dependencies: - "@aws-sdk/node-config-provider" "3.310.0" - "@aws-sdk/property-provider" "3.310.0" - "@aws-sdk/types" "3.310.0" - "@aws-sdk/url-parser" "3.310.0" + "@aws-sdk/node-config-provider" "3.347.0" + "@aws-sdk/property-provider" "3.347.0" + "@aws-sdk/types" "3.347.0" + "@aws-sdk/url-parser" "3.347.0" tslib "^2.5.0" -"@aws-sdk/credential-provider-ini@3.326.0": - version "3.326.0" - resolved "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.326.0.tgz#33fa09ff113f6d8af8d319340818b90b48969df5" - integrity sha512-6iaDk2W1HOtQMMynbSy3VHumfGG8jkbAZ0tXPAbIXxN7w65GObOsamOkUBRp+Y6A+JuZYJyu1CRFHASENluJOA== - dependencies: - "@aws-sdk/credential-provider-env" "3.310.0" - "@aws-sdk/credential-provider-imds" "3.310.0" - "@aws-sdk/credential-provider-process" "3.310.0" - "@aws-sdk/credential-provider-sso" "3.326.0" - "@aws-sdk/credential-provider-web-identity" "3.310.0" - "@aws-sdk/property-provider" "3.310.0" - "@aws-sdk/shared-ini-file-loader" "3.310.0" - "@aws-sdk/types" "3.310.0" +"@aws-sdk/credential-provider-ini@3.350.0": + version "3.350.0" + resolved "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.350.0.tgz#9c5ea6e57079989f5d89595583297facbacdafc5" + integrity sha512-mGGU0PpnG0VDNKSuGi083U1egjprrU9/XoRtgf+iYvAKXRR/0XA4pGW5c7zpHY7m4iLhBuRj6N4oxQsH9cMtWg== + dependencies: + "@aws-sdk/credential-provider-env" "3.347.0" + "@aws-sdk/credential-provider-imds" "3.347.0" + "@aws-sdk/credential-provider-process" "3.347.0" + "@aws-sdk/credential-provider-sso" "3.350.0" + "@aws-sdk/credential-provider-web-identity" "3.347.0" + "@aws-sdk/property-provider" "3.347.0" + "@aws-sdk/shared-ini-file-loader" "3.347.0" + "@aws-sdk/types" "3.347.0" tslib "^2.5.0" -"@aws-sdk/credential-provider-node@3.326.0": - version "3.326.0" - resolved "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.326.0.tgz#2fceaf68396cec53faa371bdfc896f6c0fcdb29d" - integrity sha512-7wopivXUgx5rcUSSUD4Zf5UQtFZEw/AFh1/DBjA/gWFjwKVdNUN0WxciV3g7zhIhZp2ffe4hTtlmHl3GuDR+zA== - dependencies: - "@aws-sdk/credential-provider-env" "3.310.0" - "@aws-sdk/credential-provider-imds" "3.310.0" - "@aws-sdk/credential-provider-ini" "3.326.0" - "@aws-sdk/credential-provider-process" "3.310.0" - "@aws-sdk/credential-provider-sso" "3.326.0" - "@aws-sdk/credential-provider-web-identity" "3.310.0" - "@aws-sdk/property-provider" "3.310.0" - "@aws-sdk/shared-ini-file-loader" "3.310.0" - "@aws-sdk/types" "3.310.0" +"@aws-sdk/credential-provider-node@3.350.0": + version "3.350.0" + resolved "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.350.0.tgz#f11b83163c3bb232309d42660e52ee63b3b86011" + integrity sha512-xmqwCFwj/CZPx6AKHNb24Kpr0eHW9VISt9r+SfgH8PaYg5cNyX1pKmMbQCket5ov+WvHEQtOK7aBafak7dhauA== + dependencies: + "@aws-sdk/credential-provider-env" "3.347.0" + "@aws-sdk/credential-provider-imds" "3.347.0" + "@aws-sdk/credential-provider-ini" "3.350.0" + "@aws-sdk/credential-provider-process" "3.347.0" + "@aws-sdk/credential-provider-sso" "3.350.0" + "@aws-sdk/credential-provider-web-identity" "3.347.0" + "@aws-sdk/property-provider" "3.347.0" + "@aws-sdk/shared-ini-file-loader" "3.347.0" + "@aws-sdk/types" "3.347.0" tslib "^2.5.0" -"@aws-sdk/credential-provider-process@3.310.0": - version "3.310.0" - resolved "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.310.0.tgz#0b2ee77f0c48262442d2768044d72332a4ad8884" - integrity sha512-h73sg6GPMUWC+3zMCbA1nZ2O03nNJt7G96JdmnantiXBwHpRKWW8nBTLzx5uhXn6hTuTaoQRP/P+oxQJKYdMmA== +"@aws-sdk/credential-provider-process@3.347.0": + version "3.347.0" + resolved "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.347.0.tgz#066e82fee54c9fac67c4dc911873e20facdb3471" + integrity sha512-yl1z4MsaBdXd4GQ2halIvYds23S67kElyOwz7g8kaQ4kHj+UoYWxz3JVW/DGusM6XmQ9/F67utBrUVA0uhQYyw== dependencies: - "@aws-sdk/property-provider" "3.310.0" - "@aws-sdk/shared-ini-file-loader" "3.310.0" - "@aws-sdk/types" "3.310.0" + "@aws-sdk/property-provider" "3.347.0" + "@aws-sdk/shared-ini-file-loader" "3.347.0" + "@aws-sdk/types" "3.347.0" tslib "^2.5.0" -"@aws-sdk/credential-provider-sso@3.326.0": - version "3.326.0" - resolved "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.326.0.tgz#15aa55bc4dab561b57ca9026aa73006506a3d630" - integrity sha512-GYCcFH6wsXdV6ULYUC5oZDtigaoPdDxOG8/ny1QQvNCo0MhQ35v+2xYf+84FgtQDPba0B/or4ErzHdPkPHM39g== +"@aws-sdk/credential-provider-sso@3.350.0": + version "3.350.0" + resolved "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.350.0.tgz#d1dbaaa16427242bd87c80a327cb26b79663da3b" + integrity sha512-u/3kv+PJeVawzBtWBei+IX1/z50mwhpPe3VrKSTns4CPUw8b5sqIYWkAaw5hxm0td69+xcL98RzIJsEpJc4QSQ== dependencies: - "@aws-sdk/client-sso" "3.326.0" - "@aws-sdk/property-provider" "3.310.0" - "@aws-sdk/shared-ini-file-loader" "3.310.0" - "@aws-sdk/token-providers" "3.326.0" - "@aws-sdk/types" "3.310.0" + "@aws-sdk/client-sso" "3.350.0" + "@aws-sdk/property-provider" "3.347.0" + "@aws-sdk/shared-ini-file-loader" "3.347.0" + "@aws-sdk/token-providers" "3.350.0" + "@aws-sdk/types" "3.347.0" tslib "^2.5.0" -"@aws-sdk/credential-provider-web-identity@3.310.0": - version "3.310.0" - resolved "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.310.0.tgz#c9fa09b0068027e58d31178e3fa06bf4e9ae9d36" - integrity sha512-H4SzuZXILNhK6/IR1uVvsUDZvzc051hem7GLyYghBCu8mU+tq28YhKE8MfSroi6eL2e5Vujloij1OM2EQQkPkw== +"@aws-sdk/credential-provider-web-identity@3.347.0": + version "3.347.0" + resolved "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.347.0.tgz#bb035fc16059ab43386facf8b4d1e8c094450a6d" + integrity sha512-DxoTlVK8lXjS1zVphtz/Ab+jkN/IZor9d6pP2GjJHNoAIIzXfRwwj5C8vr4eTayx/5VJ7GRP91J8GJ2cKly8Qw== dependencies: - "@aws-sdk/property-provider" "3.310.0" - "@aws-sdk/types" "3.310.0" + "@aws-sdk/property-provider" "3.347.0" + "@aws-sdk/types" "3.347.0" tslib "^2.5.0" -"@aws-sdk/credential-providers@^3.321.1": - version "3.326.0" - resolved "https://registry.npmjs.org/@aws-sdk/credential-providers/-/credential-providers-3.326.0.tgz#56194f8491c00ece9e52095eaee15f21ecd0a33c" - integrity sha512-HGFVuv6pwvloF0E9OD9paipjTFbC3Rs/JZmQ78QKKS9toP4J1En4vhu/LNQIpPDGoZBLuFIe5bEId3oAKLgdUA== - dependencies: - "@aws-sdk/client-cognito-identity" "3.326.0" - "@aws-sdk/client-sso" "3.326.0" - "@aws-sdk/client-sts" "3.326.0" - "@aws-sdk/credential-provider-cognito-identity" "3.326.0" - "@aws-sdk/credential-provider-env" "3.310.0" - "@aws-sdk/credential-provider-imds" "3.310.0" - "@aws-sdk/credential-provider-ini" "3.326.0" - "@aws-sdk/credential-provider-node" "3.326.0" - "@aws-sdk/credential-provider-process" "3.310.0" - "@aws-sdk/credential-provider-sso" "3.326.0" - "@aws-sdk/credential-provider-web-identity" "3.310.0" - "@aws-sdk/property-provider" "3.310.0" - "@aws-sdk/types" "3.310.0" +"@aws-sdk/credential-providers@^3.350.0": + version "3.351.0" + resolved "https://registry.npmjs.org/@aws-sdk/credential-providers/-/credential-providers-3.351.0.tgz#b1dc35c0d9bd4222360c63536b6bb84f6799c805" + integrity sha512-KVfLTVpeDKnOPl0u5w3RJdNz+AtFIOj3dsfpyLkGCV5bHClLN05YFf1ajh93Z5FijuhvDSYuLT1Xr3Ud+AIudQ== + dependencies: + "@aws-sdk/client-cognito-identity" "3.350.0" + "@aws-sdk/client-sso" "3.350.0" + "@aws-sdk/client-sts" "3.350.0" + "@aws-sdk/credential-provider-cognito-identity" "3.351.0" + "@aws-sdk/credential-provider-env" "3.347.0" + "@aws-sdk/credential-provider-imds" "3.347.0" + "@aws-sdk/credential-provider-ini" "3.350.0" + "@aws-sdk/credential-provider-node" "3.350.0" + "@aws-sdk/credential-provider-process" "3.347.0" + "@aws-sdk/credential-provider-sso" "3.350.0" + "@aws-sdk/credential-provider-web-identity" "3.347.0" + "@aws-sdk/property-provider" "3.347.0" + "@aws-sdk/types" "3.347.0" tslib "^2.5.0" -"@aws-sdk/eventstream-codec@3.310.0": - version "3.310.0" - resolved "https://registry.npmjs.org/@aws-sdk/eventstream-codec/-/eventstream-codec-3.310.0.tgz#a5def3633f7ccdc3d477fd0b05e2eb31c5598ed9" - integrity sha512-clIeSgWbZbxwtsxZ/yoedNM0/kJFSIjjHPikuDGhxhqc+vP6TN3oYyVMFrYwFaTFhk2+S5wZcWYMw8Op1pWo+A== +"@aws-sdk/eventstream-codec@3.347.0": + version "3.347.0" + resolved "https://registry.npmjs.org/@aws-sdk/eventstream-codec/-/eventstream-codec-3.347.0.tgz#4ba2c87a2f6e4bb10a833910a4427d16ceec09f0" + integrity sha512-61q+SyspjsaQ4sdgjizMyRgVph2CiW4aAtfpoH69EJFJfTxTR/OqnZ9Jx/3YiYi0ksrvDenJddYodfWWJqD8/w== dependencies: "@aws-crypto/crc32" "3.0.0" - "@aws-sdk/types" "3.310.0" + "@aws-sdk/types" "3.347.0" "@aws-sdk/util-hex-encoding" "3.310.0" tslib "^2.5.0" -"@aws-sdk/eventstream-serde-browser@3.310.0": - version "3.310.0" - resolved "https://registry.npmjs.org/@aws-sdk/eventstream-serde-browser/-/eventstream-serde-browser-3.310.0.tgz#02aef0262b5f740a1c8ffbdeb8459542f90c14dd" - integrity sha512-3S6ziuQVALgEyz0TANGtYDVeG8ArK4Y05mcgrs8qUTmsvlDIXX37cR/DvmVbNB76M4IrsZeSAIajL9644CywkA== +"@aws-sdk/eventstream-serde-browser@3.347.0": + version "3.347.0" + resolved "https://registry.npmjs.org/@aws-sdk/eventstream-serde-browser/-/eventstream-serde-browser-3.347.0.tgz#77cb6d423d5566c09a5bd589b8f70492fbf4f020" + integrity sha512-9BLVTHWgpiTo/hl+k7qt7E9iYu43zVwJN+4TEwA9ZZB3p12068t1Hay6HgCcgJC3+LWMtw/OhvypV6vQAG4UBg== dependencies: - "@aws-sdk/eventstream-serde-universal" "3.310.0" - "@aws-sdk/types" "3.310.0" + "@aws-sdk/eventstream-serde-universal" "3.347.0" + "@aws-sdk/types" "3.347.0" tslib "^2.5.0" -"@aws-sdk/eventstream-serde-config-resolver@3.310.0": - version "3.310.0" - resolved "https://registry.npmjs.org/@aws-sdk/eventstream-serde-config-resolver/-/eventstream-serde-config-resolver-3.310.0.tgz#e4e2358f36b9eb6d37da0a0f0d3fc32da91ad6b4" - integrity sha512-8s1Qdn9STj+sV75nUp9yt0W6fHS4BZ2jTm4Z/1Pcbvh2Gqs0WjH5n2StS+pDW5Y9J/HSGBl0ogmUr5lC5bXFHg== +"@aws-sdk/eventstream-serde-config-resolver@3.347.0": + version "3.347.0" + resolved "https://registry.npmjs.org/@aws-sdk/eventstream-serde-config-resolver/-/eventstream-serde-config-resolver-3.347.0.tgz#89f5ecac182f77f1fd97ffceea276e2ce2ecdc2d" + integrity sha512-RcXQbNVq0PFmDqfn6+MnjCUWbbobcYVxpimaF6pMDav04o6Mcle+G2Hrefp5NlFr/lZbHW2eUKYsp1sXPaxVlQ== dependencies: - "@aws-sdk/types" "3.310.0" + "@aws-sdk/types" "3.347.0" tslib "^2.5.0" -"@aws-sdk/eventstream-serde-node@3.310.0": - version "3.310.0" - resolved "https://registry.npmjs.org/@aws-sdk/eventstream-serde-node/-/eventstream-serde-node-3.310.0.tgz#6e0fbc400bac677c77b946fd2a5cb00b57503c0e" - integrity sha512-kSnRomCgW43K9TmQYuwN9+AoYPnhyOKroanUMyZEzJk7rpCPMj4OzaUpXfDYOvznFNYn7NLaH6nHLJAr0VPlJA== +"@aws-sdk/eventstream-serde-node@3.347.0": + version "3.347.0" + resolved "https://registry.npmjs.org/@aws-sdk/eventstream-serde-node/-/eventstream-serde-node-3.347.0.tgz#76b26af3372cc2794505cc80076a5fa1caa05e4e" + integrity sha512-pgQCWH0PkHjcHs04JE7FoGAD3Ww45ffV8Op0MSLUhg9OpGa6EDoO3EOpWi9l/TALtH4f0KRV35PVyUyHJ/wEkA== dependencies: - "@aws-sdk/eventstream-serde-universal" "3.310.0" - "@aws-sdk/types" "3.310.0" + "@aws-sdk/eventstream-serde-universal" "3.347.0" + "@aws-sdk/types" "3.347.0" tslib "^2.5.0" -"@aws-sdk/eventstream-serde-universal@3.310.0": - version "3.310.0" - resolved "https://registry.npmjs.org/@aws-sdk/eventstream-serde-universal/-/eventstream-serde-universal-3.310.0.tgz#d0f95eaafb8fd09d9a21aec8f23b7f3cee2bb19a" - integrity sha512-Qyjt5k/waV5cDukpgT824ISZAz5U0pwzLz5ztR409u85AGNkF/9n7MS+LSyBUBSb0WJ5pUeSD47WBk+nLq9Nhw== +"@aws-sdk/eventstream-serde-universal@3.347.0": + version "3.347.0" + resolved "https://registry.npmjs.org/@aws-sdk/eventstream-serde-universal/-/eventstream-serde-universal-3.347.0.tgz#2566606e1061859a5062c83915d5035f2dfed8a2" + integrity sha512-4wWj6bz6lOyDIO/dCCjwaLwRz648xzQQnf89R29sLoEqvAPP5XOB7HL+uFaQ/f5tPNh49gL6huNFSVwDm62n4Q== dependencies: - "@aws-sdk/eventstream-codec" "3.310.0" - "@aws-sdk/types" "3.310.0" + "@aws-sdk/eventstream-codec" "3.347.0" + "@aws-sdk/types" "3.347.0" tslib "^2.5.0" -"@aws-sdk/fetch-http-handler@3.310.0": - version "3.310.0" - resolved "https://registry.npmjs.org/@aws-sdk/fetch-http-handler/-/fetch-http-handler-3.310.0.tgz#f31006b7b3103683d72e177cd27d80354f7a37c4" - integrity sha512-Bi9vIwzdkw1zMcvi/zGzlWS9KfIEnAq4NNhsnCxbQ4OoIRU9wvU+WGZdBBhxg0ZxZmpp1j1aZhU53lLjA07MHw== +"@aws-sdk/fetch-http-handler@3.347.0": + version "3.347.0" + resolved "https://registry.npmjs.org/@aws-sdk/fetch-http-handler/-/fetch-http-handler-3.347.0.tgz#e413790ec453bf8f1c0674f718cfdf5ed9b79e20" + integrity sha512-sQ5P7ivY8//7wdxfA76LT1sF6V2Tyyz1qF6xXf9sihPN5Q1Y65c+SKpMzXyFSPqWZ82+SQQuDliYZouVyS6kQQ== dependencies: - "@aws-sdk/protocol-http" "3.310.0" - "@aws-sdk/querystring-builder" "3.310.0" - "@aws-sdk/types" "3.310.0" + "@aws-sdk/protocol-http" "3.347.0" + "@aws-sdk/querystring-builder" "3.347.0" + "@aws-sdk/types" "3.347.0" "@aws-sdk/util-base64" "3.310.0" tslib "^2.5.0" -"@aws-sdk/hash-blob-browser@3.310.0": - version "3.310.0" - resolved "https://registry.npmjs.org/@aws-sdk/hash-blob-browser/-/hash-blob-browser-3.310.0.tgz#762a56ae655e3bcd0ba46bbc39e8b370b1067629" - integrity sha512-OoR8p0cbypToysLT0v3o2oyjy6+DKrY7GNCAzHOHJK9xmqXCt+DsjKoPeiY7o1sWX2aN6Plmvubj/zWxMKEn/A== +"@aws-sdk/hash-blob-browser@3.347.0": + version "3.347.0" + resolved "https://registry.npmjs.org/@aws-sdk/hash-blob-browser/-/hash-blob-browser-3.347.0.tgz#b8a48951c7a7798ca49a155f42046016f5bf4551" + integrity sha512-RxgstIldLsdJKN5UHUwSI9PMiatr0xKmKxS4+tnWZ1/OOg6wuWqqpDpWdNOVSJSpxpUaP6kRrvG5Yo5ZevoTXw== dependencies: "@aws-sdk/chunked-blob-reader" "3.310.0" - "@aws-sdk/types" "3.310.0" + "@aws-sdk/types" "3.347.0" tslib "^2.5.0" -"@aws-sdk/hash-node@3.310.0": - version "3.310.0" - resolved "https://registry.npmjs.org/@aws-sdk/hash-node/-/hash-node-3.310.0.tgz#4c1c89b9a2da3bb9783de84f0b762cc055b90d67" - integrity sha512-NvE2fhRc8GRwCXBfDehxVAWCmVwVMILliAKVPAEr4yz2CkYs0tqU51S48x23dtna07H4qHtgpeNqVTthcIQOEQ== +"@aws-sdk/hash-node@3.347.0": + version "3.347.0" + resolved "https://registry.npmjs.org/@aws-sdk/hash-node/-/hash-node-3.347.0.tgz#575b31227306c03b491b814178a72b0b79625ed5" + integrity sha512-96+ml/4EaUaVpzBdOLGOxdoXOjkPgkoJp/0i1fxOJEvl8wdAQSwc3IugVK9wZkCxy2DlENtgOe6DfIOhfffm/g== dependencies: - "@aws-sdk/types" "3.310.0" + "@aws-sdk/types" "3.347.0" "@aws-sdk/util-buffer-from" "3.310.0" "@aws-sdk/util-utf8" "3.310.0" tslib "^2.5.0" -"@aws-sdk/hash-stream-node@3.310.0": - version "3.310.0" - resolved "https://registry.npmjs.org/@aws-sdk/hash-stream-node/-/hash-stream-node-3.310.0.tgz#3845d813a7de476c56fac492a50ffa8af265f120" - integrity sha512-ZoXdybNgvMz1Hl6k/e32xVL3jmG5p2IEk5mTtLfFEuskTJ74Z+VMYKkkF1whyy7KQfH83H+TQGnsGtlRCchQKw== +"@aws-sdk/hash-stream-node@3.347.0": + version "3.347.0" + resolved "https://registry.npmjs.org/@aws-sdk/hash-stream-node/-/hash-stream-node-3.347.0.tgz#f66810f4e17257009a2e231b58b3ce5aa91d9e44" + integrity sha512-tOBfcvELyt1GVuAlQ4d0mvm3QxoSSmvhH15SWIubM9RP4JWytBVzaFAn/aC02DBAWyvp0acMZ5J+47mxrWJElg== dependencies: - "@aws-sdk/types" "3.310.0" + "@aws-sdk/types" "3.347.0" "@aws-sdk/util-utf8" "3.310.0" tslib "^2.5.0" -"@aws-sdk/invalid-dependency@3.310.0": - version "3.310.0" - resolved "https://registry.npmjs.org/@aws-sdk/invalid-dependency/-/invalid-dependency-3.310.0.tgz#b96da9b9f63b12d1c390f9a06eeb28840fcb5b3c" - integrity sha512-1s5RG5rSPXoa/aZ/Kqr5U/7lqpx+Ry81GprQ2bxWqJvWQIJ0IRUwo5pk8XFxbKVr/2a+4lZT/c3OGoBOM1yRRA== +"@aws-sdk/invalid-dependency@3.347.0": + version "3.347.0" + resolved "https://registry.npmjs.org/@aws-sdk/invalid-dependency/-/invalid-dependency-3.347.0.tgz#2e5994cdd51dc3fe0310ce355e1ab115b66b7cb5" + integrity sha512-8imQcwLwqZ/wTJXZqzXT9pGLIksTRckhGLZaXT60tiBOPKuerTsus2L59UstLs5LP8TKaVZKFFSsjRIn9dQdmQ== dependencies: - "@aws-sdk/types" "3.310.0" + "@aws-sdk/types" "3.347.0" tslib "^2.5.0" "@aws-sdk/is-array-buffer@3.310.0": @@ -587,303 +592,304 @@ dependencies: tslib "^2.5.0" -"@aws-sdk/md5-js@3.310.0": - version "3.310.0" - resolved "https://registry.npmjs.org/@aws-sdk/md5-js/-/md5-js-3.310.0.tgz#14e3d570d92808e68ccc0db8d7492ebdb93f15b5" - integrity sha512-x5sRBUrEfLWAS1EhwbbDQ7cXq6uvBxh3qR2XAsnGvFFceTeAadk7cVogWxlk3PC+OCeeym7c3/6Bv2HQ2f1YyQ== +"@aws-sdk/md5-js@3.347.0": + version "3.347.0" + resolved "https://registry.npmjs.org/@aws-sdk/md5-js/-/md5-js-3.347.0.tgz#99ccc273d755b042992de6e5b2ccb72a4df6d853" + integrity sha512-mChE+7DByTY9H4cQ6fnWp2x5jf8e6OZN+AdLp6WQ+W99z35zBeqBxVmgm8ziJwkMIrkSTv9j3Y7T9Ve3RIcSfg== dependencies: - "@aws-sdk/types" "3.310.0" + "@aws-sdk/types" "3.347.0" "@aws-sdk/util-utf8" "3.310.0" tslib "^2.5.0" -"@aws-sdk/middleware-bucket-endpoint@3.310.0": - version "3.310.0" - resolved "https://registry.npmjs.org/@aws-sdk/middleware-bucket-endpoint/-/middleware-bucket-endpoint-3.310.0.tgz#5dd9b028498a0492c3e773c0aca10d6ded929fc6" - integrity sha512-uJJfHI7v4AgbJZRLtyI8ap2QRWkBokGc3iyUoQ+dVNT3/CE2ZCu694A6W+H0dRqg79dIE+f9CRNdtLGa/Ehhvg== +"@aws-sdk/middleware-bucket-endpoint@3.347.0": + version "3.347.0" + resolved "https://registry.npmjs.org/@aws-sdk/middleware-bucket-endpoint/-/middleware-bucket-endpoint-3.347.0.tgz#157f3ba100c5216c6b52b173a0dcc52f6fdfbdd7" + integrity sha512-i9n4ylkGmGvizVcTfN4L+oN10OCL2DKvyMa4cCAVE1TJrsnaE0g7IOOyJGUS8p5KJYQrKVR7kcsa2L1S0VeEcA== dependencies: - "@aws-sdk/protocol-http" "3.310.0" - "@aws-sdk/types" "3.310.0" + "@aws-sdk/protocol-http" "3.347.0" + "@aws-sdk/types" "3.347.0" "@aws-sdk/util-arn-parser" "3.310.0" "@aws-sdk/util-config-provider" "3.310.0" tslib "^2.5.0" -"@aws-sdk/middleware-content-length@3.325.0": - version "3.325.0" - resolved "https://registry.npmjs.org/@aws-sdk/middleware-content-length/-/middleware-content-length-3.325.0.tgz#1dbdc41766df195cc4d054d58b36ee78f26b990d" - integrity sha512-t38VBKCpNqSKqSu0OfWMJs7cwaRHFGQxIF9lV8JMCM/2lyUpN4JcfuzSTK+MFN2eDZEHp5DiNg8w07GXXusRYg== +"@aws-sdk/middleware-content-length@3.347.0": + version "3.347.0" + resolved "https://registry.npmjs.org/@aws-sdk/middleware-content-length/-/middleware-content-length-3.347.0.tgz#ee6063ebb0215355b7a7dacd0a3bbe2e1a8d108f" + integrity sha512-i4qtWTDImMaDUtwKQPbaZpXsReiwiBomM1cWymCU4bhz81HL01oIxOxOBuiM+3NlDoCSPr3KI6txZSz/8cqXCQ== dependencies: - "@aws-sdk/protocol-http" "3.310.0" - "@aws-sdk/types" "3.310.0" + "@aws-sdk/protocol-http" "3.347.0" + "@aws-sdk/types" "3.347.0" tslib "^2.5.0" -"@aws-sdk/middleware-endpoint@3.325.0": - version "3.325.0" - resolved "https://registry.npmjs.org/@aws-sdk/middleware-endpoint/-/middleware-endpoint-3.325.0.tgz#78ad5239f3b4a91a5efd9a548582cb8d3878cb60" - integrity sha512-3CavuOHCKiWUnCtzrUFbhbEP26qIgzzRs5C3vpOJhDUhugBubIWgPGGRLpbnIro+P4XJPwM3pMziNzhKVuSDlQ== +"@aws-sdk/middleware-endpoint@3.347.0": + version "3.347.0" + resolved "https://registry.npmjs.org/@aws-sdk/middleware-endpoint/-/middleware-endpoint-3.347.0.tgz#d577265e79cdc0241d863e2582820010ea942736" + integrity sha512-unF0c6dMaUL1ffU+37Ugty43DgMnzPWXr/Jup/8GbK5fzzWT5NQq6dj9KHPubMbWeEjQbmczvhv25JuJdK8gNQ== dependencies: - "@aws-sdk/middleware-serde" "3.325.0" - "@aws-sdk/types" "3.310.0" - "@aws-sdk/url-parser" "3.310.0" - "@aws-sdk/util-middleware" "3.310.0" + "@aws-sdk/middleware-serde" "3.347.0" + "@aws-sdk/types" "3.347.0" + "@aws-sdk/url-parser" "3.347.0" + "@aws-sdk/util-middleware" "3.347.0" tslib "^2.5.0" -"@aws-sdk/middleware-expect-continue@3.325.0": - version "3.325.0" - resolved "https://registry.npmjs.org/@aws-sdk/middleware-expect-continue/-/middleware-expect-continue-3.325.0.tgz#d012dc55ca75c02028c76b04e875103d27abce78" - integrity sha512-Hj4D+zeet4gdUpSiMeHZfIzcnXkZI2krGyUw4U1psPzCqOp7WP5307g+1NWXOlVu3H3tF5r3rEgthQOQj2zNfA== +"@aws-sdk/middleware-expect-continue@3.347.0": + version "3.347.0" + resolved "https://registry.npmjs.org/@aws-sdk/middleware-expect-continue/-/middleware-expect-continue-3.347.0.tgz#a3d32bbc128098ec225d67b9fdd1e913553c5881" + integrity sha512-95M1unD1ENL0tx35dfyenSfx0QuXBSKtOi/qJja6LfX5771C5fm5ZTOrsrzPFJvRg/wj8pCOVWRZk+d5+jvfOQ== dependencies: - "@aws-sdk/protocol-http" "3.310.0" - "@aws-sdk/types" "3.310.0" + "@aws-sdk/protocol-http" "3.347.0" + "@aws-sdk/types" "3.347.0" tslib "^2.5.0" -"@aws-sdk/middleware-flexible-checksums@3.326.0": - version "3.326.0" - resolved "https://registry.npmjs.org/@aws-sdk/middleware-flexible-checksums/-/middleware-flexible-checksums-3.326.0.tgz#12fed82236931170eee7de19e2fd1c7a2495d24f" - integrity sha512-MtcvSU+wKu4/a/trIJmb4Tfb682U9uP5YYA5aXzdhxOxG11wj86uBIeQrdbUxhtTXMgmvwn1193dvTi91EUEaQ== +"@aws-sdk/middleware-flexible-checksums@3.347.0": + version "3.347.0" + resolved "https://registry.npmjs.org/@aws-sdk/middleware-flexible-checksums/-/middleware-flexible-checksums-3.347.0.tgz#183b62548dc9e3e229b49f10e0bf6d9115ca8cff" + integrity sha512-Pda7VMAIyeHw9nMp29rxdFft3EF4KP/tz/vLB6bqVoBNbLujo5rxn3SGOgStgIz7fuMLQQfoWIsmvxUm+Fp+Dw== dependencies: "@aws-crypto/crc32" "3.0.0" "@aws-crypto/crc32c" "3.0.0" "@aws-sdk/is-array-buffer" "3.310.0" - "@aws-sdk/protocol-http" "3.310.0" - "@aws-sdk/types" "3.310.0" + "@aws-sdk/protocol-http" "3.347.0" + "@aws-sdk/types" "3.347.0" "@aws-sdk/util-utf8" "3.310.0" tslib "^2.5.0" -"@aws-sdk/middleware-host-header@3.325.0": - version "3.325.0" - resolved "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.325.0.tgz#8f3a93948bd7c94ef39fc72a6c8b952dc8736675" - integrity sha512-IN28gsxcRy4J+FxxCHvzb2NORBx8uMA+h9QYS4BBZfpKVYIZh+mudHgYcdNHWlKXmlTGjhWBNWTeByhzuSKAiA== +"@aws-sdk/middleware-host-header@3.347.0": + version "3.347.0" + resolved "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.347.0.tgz#6166c137044672b2229e6ee0ce8a3e59fd8c49c4" + integrity sha512-kpKmR9OvMlnReqp5sKcJkozbj1wmlblbVSbnQAIkzeQj2xD5dnVR3Nn2ogQKxSmU1Fv7dEroBtrruJ1o3fY38A== dependencies: - "@aws-sdk/protocol-http" "3.310.0" - "@aws-sdk/types" "3.310.0" + "@aws-sdk/protocol-http" "3.347.0" + "@aws-sdk/types" "3.347.0" tslib "^2.5.0" -"@aws-sdk/middleware-location-constraint@3.325.0": - version "3.325.0" - resolved "https://registry.npmjs.org/@aws-sdk/middleware-location-constraint/-/middleware-location-constraint-3.325.0.tgz#6ea3226c0fab5abe1c661ef717a5f737a0a0c06b" - integrity sha512-T2OrpXXY9I1nHvIGSlQD6qj1FDG3WDFSu65+Bh4pMl+zVh0IqIEajiK++TfrdQl+sJxRGQd/euoeXXL4JYw9JA== +"@aws-sdk/middleware-location-constraint@3.347.0": + version "3.347.0" + resolved "https://registry.npmjs.org/@aws-sdk/middleware-location-constraint/-/middleware-location-constraint-3.347.0.tgz#a7d179b5808665528eca1df3c8bb78d3d498435e" + integrity sha512-x5fcEV7q8fQ0OmUO+cLhN5iPqGoLWtC3+aKHIfRRb2BpOO1khyc1FKzsIAdeQz2hfktq4j+WsrmcPvFKv51pSg== dependencies: - "@aws-sdk/types" "3.310.0" + "@aws-sdk/types" "3.347.0" tslib "^2.5.0" -"@aws-sdk/middleware-logger@3.325.0": - version "3.325.0" - resolved "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.325.0.tgz#a1208c66d215ad904c02fb46c9e192e1e5caa74c" - integrity sha512-S8rWgTpN2b/+UDDm+yZMFM6rw1zwO8KT0GAIQbAhB96shyD5eKen/UfihCTB7YMvbD2piebymwJTvxv6bn1VqQ== +"@aws-sdk/middleware-logger@3.347.0": + version "3.347.0" + resolved "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.347.0.tgz#d75a6bbda38c85200219f4ef88e7696d72f94100" + integrity sha512-NYC+Id5UCkVn+3P1t/YtmHt75uED06vwaKyxDy0UmB2K66PZLVtwWbLpVWrhbroaw1bvUHYcRyQ9NIfnVcXQjA== dependencies: - "@aws-sdk/types" "3.310.0" + "@aws-sdk/types" "3.347.0" tslib "^2.5.0" -"@aws-sdk/middleware-recursion-detection@3.325.0": - version "3.325.0" - resolved "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.325.0.tgz#1b22e3eafa5992628277d991dfc0b81b40eebeaa" - integrity sha512-2l1ABF7KePsoKz8KaNvD2uxo1zHqkFHK4PL/wW/FbcwOcE08f0R7qX++st/bPpVjXX/j/5vWTnNNgJOIOrZhyw== +"@aws-sdk/middleware-recursion-detection@3.347.0": + version "3.347.0" + resolved "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.347.0.tgz#00faf00d9346cb88dafdfddfd33e956ba563bf99" + integrity sha512-qfnSvkFKCAMjMHR31NdsT0gv5Sq/ZHTUD4yQsSLpbVQ6iYAS834lrzXt41iyEHt57Y514uG7F/Xfvude3u4icQ== dependencies: - "@aws-sdk/protocol-http" "3.310.0" - "@aws-sdk/types" "3.310.0" + "@aws-sdk/protocol-http" "3.347.0" + "@aws-sdk/types" "3.347.0" tslib "^2.5.0" -"@aws-sdk/middleware-retry@3.325.0": - version "3.325.0" - resolved "https://registry.npmjs.org/@aws-sdk/middleware-retry/-/middleware-retry-3.325.0.tgz#8809c8bc603585b15ffb45b75bc90face3613319" - integrity sha512-oQM5AI3vkNQuCakBMgdohOcvRnVYcBBlv+KzCCj07ue9gk0x2dHOZY2pqTQ2CYilRqS/X1PtLogJXoyHP5Wvwg== +"@aws-sdk/middleware-retry@3.347.0": + version "3.347.0" + resolved "https://registry.npmjs.org/@aws-sdk/middleware-retry/-/middleware-retry-3.347.0.tgz#d589f04ed5fc383a0f04deda50dc190fe01a4649" + integrity sha512-CpdM+8dCSbX96agy4FCzOfzDmhNnGBM/pxrgIVLm5nkYTLuXp/d7ubpFEUHULr+4hCd5wakHotMt7yO29NFaVw== dependencies: - "@aws-sdk/protocol-http" "3.310.0" - "@aws-sdk/service-error-classification" "3.310.0" - "@aws-sdk/types" "3.310.0" - "@aws-sdk/util-middleware" "3.310.0" - "@aws-sdk/util-retry" "3.310.0" + "@aws-sdk/protocol-http" "3.347.0" + "@aws-sdk/service-error-classification" "3.347.0" + "@aws-sdk/types" "3.347.0" + "@aws-sdk/util-middleware" "3.347.0" + "@aws-sdk/util-retry" "3.347.0" tslib "^2.5.0" uuid "^8.3.2" -"@aws-sdk/middleware-sdk-s3@3.326.0": - version "3.326.0" - resolved "https://registry.npmjs.org/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.326.0.tgz#44af369a3ef84a934a0c4e79c14da3e34f6e68f8" - integrity sha512-IyonHEiDMn0fdYWxA/TAnNj8M/xG5EJWvoOKcakl891f+JPaWeRsV2oE1fIjqM/waM3jqNXLDTrm06QfAYmgBQ== +"@aws-sdk/middleware-sdk-s3@3.347.0": + version "3.347.0" + resolved "https://registry.npmjs.org/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.347.0.tgz#811fa5bb46c0e93a0218628384253d044be67df8" + integrity sha512-TLr92+HMvamrhJJ0VDhA/PiUh4rTNQz38B9dB9ikohTaRgm+duP+mRiIv16tNPZPGl8v82Thn7Ogk2qPByNDtg== dependencies: - "@aws-sdk/protocol-http" "3.310.0" - "@aws-sdk/types" "3.310.0" + "@aws-sdk/protocol-http" "3.347.0" + "@aws-sdk/types" "3.347.0" "@aws-sdk/util-arn-parser" "3.310.0" tslib "^2.5.0" -"@aws-sdk/middleware-sdk-sts@3.326.0": - version "3.326.0" - resolved "https://registry.npmjs.org/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.326.0.tgz#4b0c983f966d079e2a1cd949c57af1c5f0a3ee30" - integrity sha512-suOkuXxyAfOH0hznK63ZU10EoytKX5YPs9amO416VbgYFtuIeliCmntYfnl1jUvutp0fctGGpEGE9OnoYI+fhw== +"@aws-sdk/middleware-sdk-sts@3.347.0": + version "3.347.0" + resolved "https://registry.npmjs.org/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.347.0.tgz#903d8263e90af6560d19337de06cd6a2d0564e2f" + integrity sha512-38LJ0bkIoVF3W97x6Jyyou72YV9Cfbml4OaDEdnrCOo0EssNZM5d7RhjMvQDwww7/3OBY/BzeOcZKfJlkYUXGw== dependencies: - "@aws-sdk/middleware-signing" "3.325.0" - "@aws-sdk/types" "3.310.0" + "@aws-sdk/middleware-signing" "3.347.0" + "@aws-sdk/types" "3.347.0" tslib "^2.5.0" -"@aws-sdk/middleware-serde@3.325.0": - version "3.325.0" - resolved "https://registry.npmjs.org/@aws-sdk/middleware-serde/-/middleware-serde-3.325.0.tgz#512ae03fbfa9266133aceafc010c6a9167ffb2f1" - integrity sha512-QAZYaFfAw1a06Vg39JiYIq0kSJ6EuUPOiKfK/Goj0cBv78lrXWuKdf04UF3U8Rqk/4mamnsTqUSwf4NoKkF0hw== +"@aws-sdk/middleware-serde@3.347.0": + version "3.347.0" + resolved "https://registry.npmjs.org/@aws-sdk/middleware-serde/-/middleware-serde-3.347.0.tgz#f20a63290e16d631a8aa7d9eb331b139bf2531ac" + integrity sha512-x5Foi7jRbVJXDu9bHfyCbhYDH5pKK+31MmsSJ3k8rY8keXLBxm2XEEg/AIoV9/TUF9EeVvZ7F1/RmMpJnWQsEg== dependencies: - "@aws-sdk/types" "3.310.0" + "@aws-sdk/types" "3.347.0" tslib "^2.5.0" -"@aws-sdk/middleware-signing@3.325.0": - version "3.325.0" - resolved "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.325.0.tgz#46eea6805ca10ad4a4db8269e0bb3d31f906b887" - integrity sha512-SOwPwaCE3vSCGwFzkIlnOUSkeCUzKTyIQnFVjlQkqGuMxMX/iDaQQGaX+HUbuGIuULCEQqjZH4dLKZcor8eVZw== +"@aws-sdk/middleware-signing@3.347.0": + version "3.347.0" + resolved "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.347.0.tgz#7db835d84c482ddb93156efac5830d0938352b6d" + integrity sha512-zVBF/4MGKnvhAE/J+oAL/VAehiyv+trs2dqSQXwHou9j8eA8Vm8HS2NdOwpkZQchIxTuwFlqSusDuPEdYFbvGw== dependencies: - "@aws-sdk/property-provider" "3.310.0" - "@aws-sdk/protocol-http" "3.310.0" - "@aws-sdk/signature-v4" "3.310.0" - "@aws-sdk/types" "3.310.0" - "@aws-sdk/util-middleware" "3.310.0" + "@aws-sdk/property-provider" "3.347.0" + "@aws-sdk/protocol-http" "3.347.0" + "@aws-sdk/signature-v4" "3.347.0" + "@aws-sdk/types" "3.347.0" + "@aws-sdk/util-middleware" "3.347.0" tslib "^2.5.0" -"@aws-sdk/middleware-ssec@3.325.0": - version "3.325.0" - resolved "https://registry.npmjs.org/@aws-sdk/middleware-ssec/-/middleware-ssec-3.325.0.tgz#15752b41889de437cad844d168d80a486b6ad385" - integrity sha512-hxmvvWVfVrbfUw8pDEPlsR6Sb+IUdhq0cOJc7SL5XO9ddRXJ5DjT2Z2ao9FB424hJgAcOrqIO5ECjdIRs+O4FQ== +"@aws-sdk/middleware-ssec@3.347.0": + version "3.347.0" + resolved "https://registry.npmjs.org/@aws-sdk/middleware-ssec/-/middleware-ssec-3.347.0.tgz#f65abdbd7eaa85e6186a29eb97cd3f0cc1ac7a41" + integrity sha512-467VEi2elPmUGcHAgTmzhguZ3lwTpwK+3s+pk312uZtVsS9rP1MAknYhpS3ZvssiqBUVPx8m29cLcC6Tx5nOJg== dependencies: - "@aws-sdk/types" "3.310.0" + "@aws-sdk/types" "3.347.0" tslib "^2.5.0" -"@aws-sdk/middleware-stack@3.325.0": - version "3.325.0" - resolved "https://registry.npmjs.org/@aws-sdk/middleware-stack/-/middleware-stack-3.325.0.tgz#3b592c7a6c32d2795746d050024585f588097621" - integrity sha512-cZWehA4grGvX1IKlY9atJgD0bq3ew7YRJgY7GA6DSgsU7GrZ61Qvi+H7IuGx5AdeAwaTnbnTGN4qCaA2EfxNhA== +"@aws-sdk/middleware-stack@3.347.0": + version "3.347.0" + resolved "https://registry.npmjs.org/@aws-sdk/middleware-stack/-/middleware-stack-3.347.0.tgz#de8f94349273e1b30e19b6e8ace95a7982a24579" + integrity sha512-Izidg4rqtYMcKuvn2UzgEpPLSmyd8ub9+LQ2oIzG3mpIzCBITq7wp40jN1iNkMg+X6KEnX9vdMJIYZsPYMCYuQ== dependencies: tslib "^2.5.0" -"@aws-sdk/middleware-user-agent@3.325.0": - version "3.325.0" - resolved "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.325.0.tgz#9ad9172b0002c7ad792839064b4f553ee14b2657" - integrity sha512-2aIdGId4o8eIStm1J1aWZwNDf6nvrwg5Nx7BomLAxKZ4lkH8knzXDtxaZR4ElcTsBlBcYxz2gbsrScMyKRDTGA== +"@aws-sdk/middleware-user-agent@3.347.0": + version "3.347.0" + resolved "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.347.0.tgz#31ba4cc679eb53673b7f3fe3e6db435ff1449b6a" + integrity sha512-wJbGN3OE1/daVCrwk49whhIr9E0j1N4gWwN/wi4WuyYIA+5lMUfVp0aGIOvZR+878DxuFz2hQ4XcZVT4K2WvQw== dependencies: - "@aws-sdk/protocol-http" "3.310.0" - "@aws-sdk/types" "3.310.0" - "@aws-sdk/util-endpoints" "3.319.0" + "@aws-sdk/protocol-http" "3.347.0" + "@aws-sdk/types" "3.347.0" + "@aws-sdk/util-endpoints" "3.347.0" tslib "^2.5.0" -"@aws-sdk/node-config-provider@3.310.0": - version "3.310.0" - resolved "https://registry.npmjs.org/@aws-sdk/node-config-provider/-/node-config-provider-3.310.0.tgz#ba8fb41af2db0316291ba9002267627553ec65ac" - integrity sha512-T/Pp6htc6hq/Cq+MLNDSyiwWCMVF6GqbBbXKVlO5L8rdHx4sq9xPdoPveZhGWrxvkanjA6eCwUp6E0riBOSVng== +"@aws-sdk/node-config-provider@3.347.0": + version "3.347.0" + resolved "https://registry.npmjs.org/@aws-sdk/node-config-provider/-/node-config-provider-3.347.0.tgz#0f155b28fb2053973666b241c68bbebccb770ad1" + integrity sha512-faU93d3+5uTTUcotGgMXF+sJVFjrKh+ufW+CzYKT4yUHammyaIab/IbTPWy2hIolcEGtuPeVoxXw8TXbkh/tuw== dependencies: - "@aws-sdk/property-provider" "3.310.0" - "@aws-sdk/shared-ini-file-loader" "3.310.0" - "@aws-sdk/types" "3.310.0" + "@aws-sdk/property-provider" "3.347.0" + "@aws-sdk/shared-ini-file-loader" "3.347.0" + "@aws-sdk/types" "3.347.0" tslib "^2.5.0" -"@aws-sdk/node-http-handler@3.321.1": - version "3.321.1" - resolved "https://registry.npmjs.org/@aws-sdk/node-http-handler/-/node-http-handler-3.321.1.tgz#2de9380f3ce17f5b8b5d3c1300c8cd37d0ddddc5" - integrity sha512-DdQBrtFFDNtzphJIN3s93Vf+qd9LHSzH6WTQRrWoXhTDMHDzSI2Cn+c5KWfk89Nggp/n3+OTwUPQeCiBT5EBuw== +"@aws-sdk/node-http-handler@3.350.0": + version "3.350.0" + resolved "https://registry.npmjs.org/@aws-sdk/node-http-handler/-/node-http-handler-3.350.0.tgz#c3d3af4e24e7dc823bdb04c73dcae4d12d8a6221" + integrity sha512-oD96GAlmpzYilCdC8wwyURM5lNfNHZCjm/kxBkQulHKa2kRbIrnD9GfDqdCkWA5cTpjh1NzGLT4D6e6UFDjt9w== dependencies: - "@aws-sdk/abort-controller" "3.310.0" - "@aws-sdk/protocol-http" "3.310.0" - "@aws-sdk/querystring-builder" "3.310.0" - "@aws-sdk/types" "3.310.0" + "@aws-sdk/abort-controller" "3.347.0" + "@aws-sdk/protocol-http" "3.347.0" + "@aws-sdk/querystring-builder" "3.347.0" + "@aws-sdk/types" "3.347.0" tslib "^2.5.0" -"@aws-sdk/property-provider@3.310.0": - version "3.310.0" - resolved "https://registry.npmjs.org/@aws-sdk/property-provider/-/property-provider-3.310.0.tgz#5fae8a4c11bda052afa9747d47b031f1c4f0f246" - integrity sha512-3lxDb0akV6BBzmFe4nLPaoliQbAifyWJhuvuDOu7e8NzouvpQXs0275w9LePhhcgjKAEVXUIse05ZW2DLbxo/g== +"@aws-sdk/property-provider@3.347.0": + version "3.347.0" + resolved "https://registry.npmjs.org/@aws-sdk/property-provider/-/property-provider-3.347.0.tgz#3bd346a6f52fcb5a53460504dfe65457f293e3d7" + integrity sha512-t3nJ8CYPLKAF2v9nIHOHOlF0CviQbTvbFc2L4a+A+EVd/rM4PzL3+3n8ZJsr0h7f6uD04+b5YRFgKgnaqLXlEg== dependencies: - "@aws-sdk/types" "3.310.0" + "@aws-sdk/types" "3.347.0" tslib "^2.5.0" -"@aws-sdk/protocol-http@3.310.0": - version "3.310.0" - resolved "https://registry.npmjs.org/@aws-sdk/protocol-http/-/protocol-http-3.310.0.tgz#855c3314cba7ff3024a9a9701ca3c641691d997e" - integrity sha512-fgZ1aw/irQtnrsR58pS8ThKOWo57Py3xX6giRvwSgZDEcxHfVzuQjy9yPuV++v04fdmdtgpbGf8WfvAAJ11yXQ== +"@aws-sdk/protocol-http@3.347.0": + version "3.347.0" + resolved "https://registry.npmjs.org/@aws-sdk/protocol-http/-/protocol-http-3.347.0.tgz#9f61f4e0d892dc0a1e02211963827f386bc447b9" + integrity sha512-2YdBhc02Wvy03YjhGwUxF0UQgrPWEy8Iq75pfS42N+/0B/+eWX1aQgfjFxIpLg7YSjT5eKtYOQGlYd4MFTgj9g== dependencies: - "@aws-sdk/types" "3.310.0" + "@aws-sdk/types" "3.347.0" tslib "^2.5.0" -"@aws-sdk/querystring-builder@3.310.0": - version "3.310.0" - resolved "https://registry.npmjs.org/@aws-sdk/querystring-builder/-/querystring-builder-3.310.0.tgz#5307ea52c3a4a1ae6818bbb6987cc6fce68b043f" - integrity sha512-ZHH8GV/80+pWGo7DzsvwvXR5xVxUHXUvPJPFAkhr6nCf78igdoF8gR10ScFoEKbtEapoNTaZlKHPXxpD8aPG7A== +"@aws-sdk/querystring-builder@3.347.0": + version "3.347.0" + resolved "https://registry.npmjs.org/@aws-sdk/querystring-builder/-/querystring-builder-3.347.0.tgz#9a6bb16441f32fa05c25dc7e57d4692858824574" + integrity sha512-phtKTe6FXoV02MoPkIVV6owXI8Mwr5IBN3bPoxhcPvJG2AjEmnetSIrhb8kwc4oNhlwfZwH6Jo5ARW/VEWbZtg== dependencies: - "@aws-sdk/types" "3.310.0" + "@aws-sdk/types" "3.347.0" "@aws-sdk/util-uri-escape" "3.310.0" tslib "^2.5.0" -"@aws-sdk/querystring-parser@3.310.0": - version "3.310.0" - resolved "https://registry.npmjs.org/@aws-sdk/querystring-parser/-/querystring-parser-3.310.0.tgz#438183927e0b06e7c2ee004a1681b8d37c22e104" - integrity sha512-YkIznoP6lsiIUHinx++/lbb3tlMURGGqMpo0Pnn32zYzGrJXA6eC3D0as2EcMjo55onTfuLcIiX4qzXes2MYOA== +"@aws-sdk/querystring-parser@3.347.0": + version "3.347.0" + resolved "https://registry.npmjs.org/@aws-sdk/querystring-parser/-/querystring-parser-3.347.0.tgz#c85213a835c0f02580e013d168d1ee2f6fee65a1" + integrity sha512-5VXOhfZz78T2W7SuXf2avfjKglx1VZgZgp9Zfhrt/Rq+MTu2D+PZc5zmJHhYigD7x83jLSLogpuInQpFMA9LgA== dependencies: - "@aws-sdk/types" "3.310.0" + "@aws-sdk/types" "3.347.0" tslib "^2.5.0" -"@aws-sdk/service-error-classification@3.310.0": - version "3.310.0" - resolved "https://registry.npmjs.org/@aws-sdk/service-error-classification/-/service-error-classification-3.310.0.tgz#352c1db426dcf54a44393bc9a0607dde796b2abb" - integrity sha512-PuyC7k3qfIKeH2LCnDwbttMOKq3qAx4buvg0yfnJtQOz6t1AR8gsnAq0CjKXXyfkXwNKWTqCpE6lVNUIkXgsMw== +"@aws-sdk/service-error-classification@3.347.0": + version "3.347.0" + resolved "https://registry.npmjs.org/@aws-sdk/service-error-classification/-/service-error-classification-3.347.0.tgz#c5a242d953eae0ff0290c776d93b3f5ebd85d2e2" + integrity sha512-xZ3MqSY81Oy2gh5g0fCtooAbahqh9VhsF8vcKjVX8+XPbGC8y+kej82+MsMg4gYL8gRFB9u4hgYbNgIS6JTAvg== -"@aws-sdk/shared-ini-file-loader@3.310.0": - version "3.310.0" - resolved "https://registry.npmjs.org/@aws-sdk/shared-ini-file-loader/-/shared-ini-file-loader-3.310.0.tgz#07e9c8e8e8bb0de7ed19b8cea908c920a493c9c9" - integrity sha512-N0q9pG0xSjQwc690YQND5bofm+4nfUviQ/Ppgan2kU6aU0WUq8KwgHJBto/YEEI+VlrME30jZJnxtOvcZJc2XA== +"@aws-sdk/shared-ini-file-loader@3.347.0": + version "3.347.0" + resolved "https://registry.npmjs.org/@aws-sdk/shared-ini-file-loader/-/shared-ini-file-loader-3.347.0.tgz#f44baf03f632f1a2f4188368ff0770852c0ac035" + integrity sha512-Xw+zAZQVLb+xMNHChXQ29tzzLqm3AEHsD8JJnlkeFjeMnWQtXdUfOARl5s8NzAppcKQNlVe2gPzjaKjoy2jz1Q== dependencies: - "@aws-sdk/types" "3.310.0" + "@aws-sdk/types" "3.347.0" tslib "^2.5.0" -"@aws-sdk/signature-v4-multi-region@3.310.0": - version "3.310.0" - resolved "https://registry.npmjs.org/@aws-sdk/signature-v4-multi-region/-/signature-v4-multi-region-3.310.0.tgz#36eb96aa9170994ed1c5551952d2ec2d5e40c4c7" - integrity sha512-q8W+RIomTS/q85Ntgks/CoDElwqkC9+4OCicee5YznNHjQ4gtNWhUkYIyIRWRmXa/qx/AUreW9DM8FAecCOdng== +"@aws-sdk/signature-v4-multi-region@3.347.0": + version "3.347.0" + resolved "https://registry.npmjs.org/@aws-sdk/signature-v4-multi-region/-/signature-v4-multi-region-3.347.0.tgz#1eaf2de0a12b3f3f6fd4ab1d43dd76616079ea2b" + integrity sha512-838h7pbRCVYWlTl8W+r5+Z5ld7uoBObgAn7/RB1MQ4JjlkfLdN7emiITG6ueVL+7gWZNZc/4dXR/FJSzCgrkxQ== dependencies: - "@aws-sdk/protocol-http" "3.310.0" - "@aws-sdk/signature-v4" "3.310.0" - "@aws-sdk/types" "3.310.0" + "@aws-sdk/protocol-http" "3.347.0" + "@aws-sdk/signature-v4" "3.347.0" + "@aws-sdk/types" "3.347.0" tslib "^2.5.0" -"@aws-sdk/signature-v4@3.310.0": - version "3.310.0" - resolved "https://registry.npmjs.org/@aws-sdk/signature-v4/-/signature-v4-3.310.0.tgz#ad26426d3f72fa18e6808a36f827beb72d12bf2d" - integrity sha512-1M60P1ZBNAjCFv9sYW29OF6okktaeibWyW3lMXqzoHF70lHBZh+838iUchznXUA5FLabfn4jBFWMRxlAXJUY2Q== +"@aws-sdk/signature-v4@3.347.0": + version "3.347.0" + resolved "https://registry.npmjs.org/@aws-sdk/signature-v4/-/signature-v4-3.347.0.tgz#0f5eb4ec260eb0fe2fe5e3ee6cb011076f3582fa" + integrity sha512-58Uq1do+VsTHYkP11dTK+DF53fguoNNJL9rHRWhzP+OcYv3/mBMLoS2WPz/x9FO5mBg4ESFsug0I6mXbd36tjw== dependencies: + "@aws-sdk/eventstream-codec" "3.347.0" "@aws-sdk/is-array-buffer" "3.310.0" - "@aws-sdk/types" "3.310.0" + "@aws-sdk/types" "3.347.0" "@aws-sdk/util-hex-encoding" "3.310.0" - "@aws-sdk/util-middleware" "3.310.0" + "@aws-sdk/util-middleware" "3.347.0" "@aws-sdk/util-uri-escape" "3.310.0" "@aws-sdk/util-utf8" "3.310.0" tslib "^2.5.0" -"@aws-sdk/smithy-client@3.325.0": - version "3.325.0" - resolved "https://registry.npmjs.org/@aws-sdk/smithy-client/-/smithy-client-3.325.0.tgz#339f0ffa2824c5197a81831f9ff8a14d609517ec" - integrity sha512-sqDFuhjxd8+Q9qI8MmXe/g1/FgoViwetv14K+bpHK7pGlOIvDyT7TboDNClfgqSLdgTDCEaoC3JRSi9Y5RgbmA== +"@aws-sdk/smithy-client@3.347.0": + version "3.347.0" + resolved "https://registry.npmjs.org/@aws-sdk/smithy-client/-/smithy-client-3.347.0.tgz#ec11b292917f6269eecc124dae723ac6e1203f8f" + integrity sha512-PaGTDsJLGK0sTjA6YdYQzILRlPRN3uVFyqeBUkfltXssvUzkm8z2t1lz2H4VyJLAhwnG5ZuZTNEV/2mcWrU7JQ== dependencies: - "@aws-sdk/middleware-stack" "3.325.0" - "@aws-sdk/types" "3.310.0" + "@aws-sdk/middleware-stack" "3.347.0" + "@aws-sdk/types" "3.347.0" tslib "^2.5.0" -"@aws-sdk/token-providers@3.326.0": - version "3.326.0" - resolved "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.326.0.tgz#64383933415b84aabc15d084f2792e22c4b783cb" - integrity sha512-Ghe4K6KgMWb5sx5HUzshJGjTMHUbzrxrjCwpEj2DHSMFivpy6LADS0+Ch3WR7w9CIu2V2tK20YrCPj4JC64dvA== +"@aws-sdk/token-providers@3.350.0": + version "3.350.0" + resolved "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.350.0.tgz#b365429da85b283f48c8c975be71ac75059b8fc7" + integrity sha512-VIfVMV5An1VQQ6bOKQTHPsRFHD3/YRGOPk9lDTVJGOK0G1DIFYd/10ZaLQ86rCWLck2lGhjxsOen2N2n6MtA0A== dependencies: - "@aws-sdk/client-sso-oidc" "3.326.0" - "@aws-sdk/property-provider" "3.310.0" - "@aws-sdk/shared-ini-file-loader" "3.310.0" - "@aws-sdk/types" "3.310.0" + "@aws-sdk/client-sso-oidc" "3.350.0" + "@aws-sdk/property-provider" "3.347.0" + "@aws-sdk/shared-ini-file-loader" "3.347.0" + "@aws-sdk/types" "3.347.0" tslib "^2.5.0" -"@aws-sdk/types@3.310.0", "@aws-sdk/types@^3.222.0": - version "3.310.0" - resolved "https://registry.npmjs.org/@aws-sdk/types/-/types-3.310.0.tgz#b83a0580feb38b58417abb8b4ed3eae1a0cb7bc1" - integrity sha512-j8eamQJ7YcIhw7fneUfs8LYl3t01k4uHi4ZDmNRgtbmbmTTG3FZc2MotStZnp3nZB6vLiPF1o5aoJxWVvkzS6A== +"@aws-sdk/types@3.347.0", "@aws-sdk/types@^3.222.0": + version "3.347.0" + resolved "https://registry.npmjs.org/@aws-sdk/types/-/types-3.347.0.tgz#4affe91de36ef227f6375d64a6efda8d4ececd5d" + integrity sha512-GkCMy79mdjU9OTIe5KT58fI/6uqdf8UmMdWqVHmFJ+UpEzOci7L/uw4sOXWo7xpPzLs6cJ7s5ouGZW4GRPmHFA== dependencies: tslib "^2.5.0" -"@aws-sdk/url-parser@3.310.0": - version "3.310.0" - resolved "https://registry.npmjs.org/@aws-sdk/url-parser/-/url-parser-3.310.0.tgz#928c9eac2e3d74c3c5db4c6e364a1de00185dcaa" - integrity sha512-mCLnCaSB9rQvAgx33u0DujLvr4d5yEm/W5r789GblwwQnlNXedVu50QRizMLTpltYWyAUoXjJgQnJHmJMaKXhw== +"@aws-sdk/url-parser@3.347.0": + version "3.347.0" + resolved "https://registry.npmjs.org/@aws-sdk/url-parser/-/url-parser-3.347.0.tgz#b3c31fc9ffb1ac5586ab088f9b109386e6b4c7a8" + integrity sha512-lhrnVjxdV7hl+yCnJfDZOaVLSqKjxN20MIOiijRiqaWGLGEAiSqBreMhL89X1WKCifxAs4zZf9YB9SbdziRpAA== dependencies: - "@aws-sdk/querystring-parser" "3.310.0" - "@aws-sdk/types" "3.310.0" + "@aws-sdk/querystring-parser" "3.347.0" + "@aws-sdk/types" "3.347.0" tslib "^2.5.0" "@aws-sdk/util-arn-parser@3.310.0": @@ -930,34 +936,34 @@ dependencies: tslib "^2.5.0" -"@aws-sdk/util-defaults-mode-browser@3.325.0": - version "3.325.0" - resolved "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-browser/-/util-defaults-mode-browser-3.325.0.tgz#1ebe9b06c08adaba835c566da2cbf393cfaa504a" - integrity sha512-gcowpXTo8E8N3jxD2KW+csiicJ7HPkhWnpL925xgwe0oq091OpATsKFrBOL18h72VfRWf4FAsR9lVwxSQ78zSA== +"@aws-sdk/util-defaults-mode-browser@3.347.0": + version "3.347.0" + resolved "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-browser/-/util-defaults-mode-browser-3.347.0.tgz#8a32c0a91d074862682aadacd00d2d1e14b186ff" + integrity sha512-+JHFA4reWnW/nMWwrLKqL2Lm/biw/Dzi/Ix54DAkRZ08C462jMKVnUlzAI+TfxQE3YLm99EIa0G7jiEA+p81Qw== dependencies: - "@aws-sdk/property-provider" "3.310.0" - "@aws-sdk/types" "3.310.0" + "@aws-sdk/property-provider" "3.347.0" + "@aws-sdk/types" "3.347.0" bowser "^2.11.0" tslib "^2.5.0" -"@aws-sdk/util-defaults-mode-node@3.325.0": - version "3.325.0" - resolved "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-node/-/util-defaults-mode-node-3.325.0.tgz#81ab64bcf41045adaf05f743387fe938d826e8b7" - integrity sha512-/5uoOrgNxoUxv3AwsdXjMA3f6KJA6fi69otA0RiINjilCdcbOxq5GI11AFEyRio/+e+imriX4+UYjsguUR+f4g== +"@aws-sdk/util-defaults-mode-node@3.347.0": + version "3.347.0" + resolved "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-node/-/util-defaults-mode-node-3.347.0.tgz#fbf0f58e79e65d449af225fa2334cbfae5207529" + integrity sha512-A8BzIVhAAZE5WEukoAN2kYebzTc99ZgncbwOmgCCbvdaYlk5tzguR/s+uoT4G0JgQGol/4hAMuJEl7elNgU6RQ== dependencies: - "@aws-sdk/config-resolver" "3.310.0" - "@aws-sdk/credential-provider-imds" "3.310.0" - "@aws-sdk/node-config-provider" "3.310.0" - "@aws-sdk/property-provider" "3.310.0" - "@aws-sdk/types" "3.310.0" + "@aws-sdk/config-resolver" "3.347.0" + "@aws-sdk/credential-provider-imds" "3.347.0" + "@aws-sdk/node-config-provider" "3.347.0" + "@aws-sdk/property-provider" "3.347.0" + "@aws-sdk/types" "3.347.0" tslib "^2.5.0" -"@aws-sdk/util-endpoints@3.319.0": - version "3.319.0" - resolved "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.319.0.tgz#9be64762a8fae9eaac004cd3fa95576b3cb6ee38" - integrity sha512-3I64UMoYA2e2++oOUJXRcFtYLpLylnZFRltWfPo1B3dLlf+MIWat9djT+mMus+hW1ntLsvAIVu1hLVePJC0gvw== +"@aws-sdk/util-endpoints@3.347.0": + version "3.347.0" + resolved "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.347.0.tgz#19e48f7a8d65c4e2bdbff9cf2a605e52f69d5af9" + integrity sha512-/WUkirizeNAqwVj0zkcrqdQ9pUm1HY5kU+qy7xTR0OebkuJauglkmSTMD+56L1JPunWqHhlwCMVRaz5eaJdSEQ== dependencies: - "@aws-sdk/types" "3.310.0" + "@aws-sdk/types" "3.347.0" tslib "^2.5.0" "@aws-sdk/util-hex-encoding@3.310.0": @@ -974,40 +980,40 @@ dependencies: tslib "^2.5.0" -"@aws-sdk/util-middleware@3.310.0": - version "3.310.0" - resolved "https://registry.npmjs.org/@aws-sdk/util-middleware/-/util-middleware-3.310.0.tgz#713c5bfa296f4cf707150a0a1e911afd50dcf939" - integrity sha512-FTSUKL/eRb9X6uEZClrTe27QFXUNNp7fxYrPndZwk1hlaOP5ix+MIHBcI7pIiiY/JPfOUmPyZOu+HetlFXjWog== +"@aws-sdk/util-middleware@3.347.0": + version "3.347.0" + resolved "https://registry.npmjs.org/@aws-sdk/util-middleware/-/util-middleware-3.347.0.tgz#464b2e416486776fa39c926e7f04c2a0d822e8b5" + integrity sha512-8owqUA3ePufeYTUvlzdJ7Z0miLorTwx+rNol5lourGQZ9JXsVMo23+yGA7nOlFuXSGkoKpMOtn6S0BT2bcfeiw== dependencies: tslib "^2.5.0" -"@aws-sdk/util-retry@3.310.0": - version "3.310.0" - resolved "https://registry.npmjs.org/@aws-sdk/util-retry/-/util-retry-3.310.0.tgz#4cdc35e2dfdacf2d928ab474ba8b67bbadd6be3c" - integrity sha512-FwWGhCBLfoivTMUHu1LIn4NjrN9JLJ/aX5aZmbcPIOhZVFJj638j0qDgZXyfvVqBuBZh7M8kGq0Oahy3dp69OA== +"@aws-sdk/util-retry@3.347.0": + version "3.347.0" + resolved "https://registry.npmjs.org/@aws-sdk/util-retry/-/util-retry-3.347.0.tgz#9a24ebcd6c34888eee0ffb81c1529ea51a5cdecc" + integrity sha512-NxnQA0/FHFxriQAeEgBonA43Q9/VPFQa8cfJDuT2A1YZruMasgjcltoZszi1dvoIRWSZsFTW42eY2gdOd0nffQ== dependencies: - "@aws-sdk/service-error-classification" "3.310.0" + "@aws-sdk/service-error-classification" "3.347.0" tslib "^2.5.0" -"@aws-sdk/util-stream-browser@3.310.0": - version "3.310.0" - resolved "https://registry.npmjs.org/@aws-sdk/util-stream-browser/-/util-stream-browser-3.310.0.tgz#223e60f7711f7a20fdc944e1b72c8dd4c1da28cf" - integrity sha512-bysXZHwFwvbqOTCScCdCnoLk1K3GCo0HRIYEZuL7O7MHrQmfaYRXcaft/p22+GUv9VeFXS/eJJZ5r4u32az94w== +"@aws-sdk/util-stream-browser@3.347.0": + version "3.347.0" + resolved "https://registry.npmjs.org/@aws-sdk/util-stream-browser/-/util-stream-browser-3.347.0.tgz#490091ad47e4871bc52a4207d24216a5bccb9fd6" + integrity sha512-pIbmzIJfyX26qG622uIESOmJSMGuBkhmNU7I98bzhYCet5ctC0ow9L5FZw9ljOE46P/HkEcsOhh+qTHyCXlCEQ== dependencies: - "@aws-sdk/fetch-http-handler" "3.310.0" - "@aws-sdk/types" "3.310.0" + "@aws-sdk/fetch-http-handler" "3.347.0" + "@aws-sdk/types" "3.347.0" "@aws-sdk/util-base64" "3.310.0" "@aws-sdk/util-hex-encoding" "3.310.0" "@aws-sdk/util-utf8" "3.310.0" tslib "^2.5.0" -"@aws-sdk/util-stream-node@3.321.1": - version "3.321.1" - resolved "https://registry.npmjs.org/@aws-sdk/util-stream-node/-/util-stream-node-3.321.1.tgz#57bbd20ab89f2452da37b9ad60dfdb2eb9fcc2e0" - integrity sha512-jvfff1zeA8q16hQWSC0BGwcHJPCwoh+bwiuAjihfl9q1tFLYuqaTzJzzkL1bntUsbW+y/ac5DO7fWcYPq0jWkw== +"@aws-sdk/util-stream-node@3.350.0": + version "3.350.0" + resolved "https://registry.npmjs.org/@aws-sdk/util-stream-node/-/util-stream-node-3.350.0.tgz#4ff02b87eab3b4e1ea300550ab026cd2902cc5d1" + integrity sha512-qhcmYEAVMJPjCepog3WTFBaeP3XCkLBbUrM5/+LaB/FASKk+JeV8qBQyjYUd8EVb6Gsk7+y9SE3Tj+ChyHB4WA== dependencies: - "@aws-sdk/node-http-handler" "3.321.1" - "@aws-sdk/types" "3.310.0" + "@aws-sdk/node-http-handler" "3.350.0" + "@aws-sdk/types" "3.347.0" "@aws-sdk/util-buffer-from" "3.310.0" tslib "^2.5.0" @@ -1018,22 +1024,22 @@ dependencies: tslib "^2.5.0" -"@aws-sdk/util-user-agent-browser@3.310.0": - version "3.310.0" - resolved "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.310.0.tgz#48d463a93351b78b678df324f3518a9798029c44" - integrity sha512-yU/4QnHHuQ5z3vsUqMQVfYLbZGYwpYblPiuZx4Zo9+x0PBkNjYMqctdDcrpoH9Z2xZiDN16AmQGK1tix117ZKw== +"@aws-sdk/util-user-agent-browser@3.347.0": + version "3.347.0" + resolved "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.347.0.tgz#90bedd2031561b9d45aef54991eeca49ec8d950b" + integrity sha512-ydxtsKVtQefgbk1Dku1q7pMkjDYThauG9/8mQkZUAVik55OUZw71Zzr3XO8J8RKvQG8lmhPXuAQ0FKAyycc0RA== dependencies: - "@aws-sdk/types" "3.310.0" + "@aws-sdk/types" "3.347.0" bowser "^2.11.0" tslib "^2.5.0" -"@aws-sdk/util-user-agent-node@3.310.0": - version "3.310.0" - resolved "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.310.0.tgz#ebefbedc5a4759adc958885741628ec0de1ab197" - integrity sha512-Ra3pEl+Gn2BpeE7KiDGpi4zj7WJXZA5GXnGo3mjbi9+Y3zrbuhJAbdZO3mO/o7xDgMC6ph4xCTbaSGzU6b6EDg== +"@aws-sdk/util-user-agent-node@3.347.0": + version "3.347.0" + resolved "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.347.0.tgz#a959abaeac35c434890f77dc78cc8bf0c910d85f" + integrity sha512-6X0b9qGsbD1s80PmbaB6v1/ZtLfSx6fjRX8caM7NN0y/ObuLoX8LhYnW6WlB2f1+xb4EjaCNgpP/zCf98MXosw== dependencies: - "@aws-sdk/node-config-provider" "3.310.0" - "@aws-sdk/types" "3.310.0" + "@aws-sdk/node-config-provider" "3.347.0" + "@aws-sdk/types" "3.347.0" tslib "^2.5.0" "@aws-sdk/util-utf8-browser@^3.0.0": @@ -1051,13 +1057,13 @@ "@aws-sdk/util-buffer-from" "3.310.0" tslib "^2.5.0" -"@aws-sdk/util-waiter@3.310.0": - version "3.310.0" - resolved "https://registry.npmjs.org/@aws-sdk/util-waiter/-/util-waiter-3.310.0.tgz#a410739cfc637af9ccea21de079d00652e9b8363" - integrity sha512-AV5j3guH/Y4REu+Qh3eXQU9igljHuU4XjX2sADAgf54C0kkhcCCkkiuzk3IsX089nyJCqIcj5idbjdvpnH88Vw== +"@aws-sdk/util-waiter@3.347.0": + version "3.347.0" + resolved "https://registry.npmjs.org/@aws-sdk/util-waiter/-/util-waiter-3.347.0.tgz#c1edc4467198ce2dfce1e17e917e1cb7e2e41bbe" + integrity sha512-3ze/0PkwkzUzLncukx93tZgGL0JX9NaP8DxTi6WzflnL/TEul5Z63PCruRNK0om17iZYAWKrf8q2mFoHYb4grA== dependencies: - "@aws-sdk/abort-controller" "3.310.0" - "@aws-sdk/types" "3.310.0" + "@aws-sdk/abort-controller" "3.347.0" + "@aws-sdk/types" "3.347.0" tslib "^2.5.0" "@aws-sdk/xml-builder@3.310.0": @@ -1074,157 +1080,157 @@ dependencies: "@babel/highlight" "^7.10.4" -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.18.6", "@babel/code-frame@^7.21.4": - version "7.21.4" - resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.21.4.tgz#d0fa9e4413aca81f2b23b9442797bda1826edb39" - integrity sha512-LYvhNKfwWSPpocw8GI7gpK2nq3HSDuEPC/uSYaALSJu9xjsalaaYFOq0Pwt5KmVqwEbZlDu81aLXwBOmD/Fv9g== +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.22.5": + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.5.tgz#234d98e1551960604f1246e6475891a570ad5658" + integrity sha512-Xmwn266vad+6DAqEB2A6V/CcZVp62BbwVmcOJc2RPuwih1kw02TjQvWVWlcKGbBPd+8/0V5DEkOcizRGYsspYQ== dependencies: - "@babel/highlight" "^7.18.6" + "@babel/highlight" "^7.22.5" -"@babel/compat-data@^7.21.5": - version "7.21.7" - resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.21.7.tgz#61caffb60776e49a57ba61a88f02bedd8714f6bc" - integrity sha512-KYMqFYTaenzMK4yUtf4EW9wc4N9ef80FsbMtkwool5zpwl4YrT1SdWYSTRcT94KO4hannogdS+LxY7L+arP3gA== +"@babel/compat-data@^7.22.5": + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.22.5.tgz#b1f6c86a02d85d2dd3368a2b67c09add8cd0c255" + integrity sha512-4Jc/YuIaYqKnDDz892kPIledykKg12Aw1PYX5i/TY28anJtacvM1Rrr8wbieB9GfEJwlzqT0hUEao0CxEebiDA== "@babel/core@^7.11.6", "@babel/core@^7.12.3", "@babel/core@^7.7.5": - version "7.21.8" - resolved "https://registry.npmjs.org/@babel/core/-/core-7.21.8.tgz#2a8c7f0f53d60100ba4c32470ba0281c92aa9aa4" - integrity sha512-YeM22Sondbo523Sz0+CirSPnbj9bG3P0CdHcBZdqUuaeOaYEFbOLoGU7lebvGP6P5J/WE9wOn7u7C4J9HvS1xQ== + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/core/-/core-7.22.5.tgz#d67d9747ecf26ee7ecd3ebae1ee22225fe902a89" + integrity sha512-SBuTAjg91A3eKOvD+bPEz3LlhHZRNu1nFOVts9lzDJTXshHTjII0BAtDS3Y2DAkdZdDKWVZGVwkDfc4Clxn1dg== dependencies: "@ampproject/remapping" "^2.2.0" - "@babel/code-frame" "^7.21.4" - "@babel/generator" "^7.21.5" - "@babel/helper-compilation-targets" "^7.21.5" - "@babel/helper-module-transforms" "^7.21.5" - "@babel/helpers" "^7.21.5" - "@babel/parser" "^7.21.8" - "@babel/template" "^7.20.7" - "@babel/traverse" "^7.21.5" - "@babel/types" "^7.21.5" + "@babel/code-frame" "^7.22.5" + "@babel/generator" "^7.22.5" + "@babel/helper-compilation-targets" "^7.22.5" + "@babel/helper-module-transforms" "^7.22.5" + "@babel/helpers" "^7.22.5" + "@babel/parser" "^7.22.5" + "@babel/template" "^7.22.5" + "@babel/traverse" "^7.22.5" + "@babel/types" "^7.22.5" convert-source-map "^1.7.0" debug "^4.1.0" gensync "^1.0.0-beta.2" json5 "^2.2.2" semver "^6.3.0" -"@babel/generator@^7.21.5", "@babel/generator@^7.7.2": - version "7.21.5" - resolved "https://registry.npmjs.org/@babel/generator/-/generator-7.21.5.tgz#c0c0e5449504c7b7de8236d99338c3e2a340745f" - integrity sha512-SrKK/sRv8GesIW1bDagf9cCG38IOMYZusoe1dfg0D8aiUe3Amvoj1QtjTPAWcfrZFvIwlleLb0gxzQidL9w14w== +"@babel/generator@^7.22.5", "@babel/generator@^7.7.2": + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/generator/-/generator-7.22.5.tgz#1e7bf768688acfb05cf30b2369ef855e82d984f7" + integrity sha512-+lcUbnTRhd0jOewtFSedLyiPsD5tswKkbgcezOqqWFUVNEwoUTlpPOBmvhG7OXWLR4jMdv0czPGH5XbflnD1EA== dependencies: - "@babel/types" "^7.21.5" + "@babel/types" "^7.22.5" "@jridgewell/gen-mapping" "^0.3.2" "@jridgewell/trace-mapping" "^0.3.17" jsesc "^2.5.1" -"@babel/helper-compilation-targets@^7.21.5": - version "7.21.5" - resolved "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.21.5.tgz#631e6cc784c7b660417421349aac304c94115366" - integrity sha512-1RkbFGUKex4lvsB9yhIfWltJM5cZKUftB2eNajaDv3dCMEp49iBG0K14uH8NnX9IPux2+mK7JGEOB0jn48/J6w== +"@babel/helper-compilation-targets@^7.22.5": + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.5.tgz#fc7319fc54c5e2fa14b2909cf3c5fd3046813e02" + integrity sha512-Ji+ywpHeuqxB8WDxraCiqR0xfhYjiDE/e6k7FuIaANnoOFxAHskHChz4vA1mJC9Lbm01s1PVAGhQY4FUKSkGZw== dependencies: - "@babel/compat-data" "^7.21.5" - "@babel/helper-validator-option" "^7.21.0" + "@babel/compat-data" "^7.22.5" + "@babel/helper-validator-option" "^7.22.5" browserslist "^4.21.3" lru-cache "^5.1.1" semver "^6.3.0" -"@babel/helper-environment-visitor@^7.21.5": - version "7.21.5" - resolved "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.21.5.tgz#c769afefd41d171836f7cb63e295bedf689d48ba" - integrity sha512-IYl4gZ3ETsWocUWgsFZLM5i1BYx9SoemminVEXadgLBa9TdeorzgLKm8wWLA6J1N/kT3Kch8XIk1laNzYoHKvQ== - -"@babel/helper-function-name@^7.21.0": - version "7.21.0" - resolved "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.21.0.tgz#d552829b10ea9f120969304023cd0645fa00b1b4" - integrity sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg== - dependencies: - "@babel/template" "^7.20.7" - "@babel/types" "^7.21.0" - -"@babel/helper-hoist-variables@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz#d4d2c8fb4baeaa5c68b99cc8245c56554f926678" - integrity sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q== - dependencies: - "@babel/types" "^7.18.6" - -"@babel/helper-module-imports@^7.21.4": - version "7.21.4" - resolved "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.21.4.tgz#ac88b2f76093637489e718a90cec6cf8a9b029af" - integrity sha512-orajc5T2PsRYUN3ZryCEFeMDYwyw09c/pZeaQEZPH0MpKzSvn3e0uXsDBu3k03VI+9DBiRo+l22BfKTpKwa/Wg== - dependencies: - "@babel/types" "^7.21.4" - -"@babel/helper-module-transforms@^7.21.5": - version "7.21.5" - resolved "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.21.5.tgz#d937c82e9af68d31ab49039136a222b17ac0b420" - integrity sha512-bI2Z9zBGY2q5yMHoBvJ2a9iX3ZOAzJPm7Q8Yz6YeoUjU/Cvhmi2G4QyTNyPBqqXSgTjUxRg3L0xV45HvkNWWBw== - dependencies: - "@babel/helper-environment-visitor" "^7.21.5" - "@babel/helper-module-imports" "^7.21.4" - "@babel/helper-simple-access" "^7.21.5" - "@babel/helper-split-export-declaration" "^7.18.6" - "@babel/helper-validator-identifier" "^7.19.1" - "@babel/template" "^7.20.7" - "@babel/traverse" "^7.21.5" - "@babel/types" "^7.21.5" - -"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.20.2", "@babel/helper-plugin-utils@^7.8.0": - version "7.21.5" - resolved "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.21.5.tgz#345f2377d05a720a4e5ecfa39cbf4474a4daed56" - integrity sha512-0WDaIlXKOX/3KfBK/dwP1oQGiPh6rjMkT7HIRv7i5RR2VUMwrx5ZL0dwBkKx7+SW1zwNdgjHd34IMk5ZjTeHVg== - -"@babel/helper-simple-access@^7.21.5": - version "7.21.5" - resolved "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.21.5.tgz#d697a7971a5c39eac32c7e63c0921c06c8a249ee" - integrity sha512-ENPDAMC1wAjR0uaCUwliBdiSl1KBJAVnMTzXqi64c2MG8MPR6ii4qf7bSXDqSFbr4W6W028/rf5ivoHop5/mkg== - dependencies: - "@babel/types" "^7.21.5" - -"@babel/helper-split-export-declaration@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz#7367949bc75b20c6d5a5d4a97bba2824ae8ef075" - integrity sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA== - dependencies: - "@babel/types" "^7.18.6" - -"@babel/helper-string-parser@^7.21.5": - version "7.21.5" - resolved "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.21.5.tgz#2b3eea65443c6bdc31c22d037c65f6d323b6b2bd" - integrity sha512-5pTUx3hAJaZIdW99sJ6ZUUgWq/Y+Hja7TowEnLNMm1VivRgZQL3vpBY3qUACVsvw+yQU6+YgfBVmcbLaZtrA1w== - -"@babel/helper-validator-identifier@^7.18.6", "@babel/helper-validator-identifier@^7.19.1": - version "7.19.1" - resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz#7eea834cf32901ffdc1a7ee555e2f9c27e249ca2" - integrity sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w== - -"@babel/helper-validator-option@^7.21.0": - version "7.21.0" - resolved "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.21.0.tgz#8224c7e13ace4bafdc4004da2cf064ef42673180" - integrity sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ== - -"@babel/helpers@^7.21.5": - version "7.21.5" - resolved "https://registry.npmjs.org/@babel/helpers/-/helpers-7.21.5.tgz#5bac66e084d7a4d2d9696bdf0175a93f7fb63c08" - integrity sha512-BSY+JSlHxOmGsPTydUkPf1MdMQ3M81x5xGCOVgWM3G8XH77sJ292Y2oqcp0CbbgxhqBuI46iUz1tT7hqP7EfgA== - dependencies: - "@babel/template" "^7.20.7" - "@babel/traverse" "^7.21.5" - "@babel/types" "^7.21.5" - -"@babel/highlight@^7.10.4", "@babel/highlight@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz#81158601e93e2563795adcbfbdf5d64be3f2ecdf" - integrity sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g== - dependencies: - "@babel/helper-validator-identifier" "^7.18.6" +"@babel/helper-environment-visitor@^7.22.5": + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.5.tgz#f06dd41b7c1f44e1f8da6c4055b41ab3a09a7e98" + integrity sha512-XGmhECfVA/5sAt+H+xpSg0mfrHq6FzNr9Oxh7PSEBBRUb/mL7Kz3NICXb194rCqAEdxkhPT1a88teizAFyvk8Q== + +"@babel/helper-function-name@^7.22.5": + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.22.5.tgz#ede300828905bb15e582c037162f99d5183af1be" + integrity sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ== + dependencies: + "@babel/template" "^7.22.5" + "@babel/types" "^7.22.5" + +"@babel/helper-hoist-variables@^7.22.5": + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz#c01a007dac05c085914e8fb652b339db50d823bb" + integrity sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw== + dependencies: + "@babel/types" "^7.22.5" + +"@babel/helper-module-imports@^7.22.5": + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.5.tgz#1a8f4c9f4027d23f520bd76b364d44434a72660c" + integrity sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg== + dependencies: + "@babel/types" "^7.22.5" + +"@babel/helper-module-transforms@^7.22.5": + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.22.5.tgz#0f65daa0716961b6e96b164034e737f60a80d2ef" + integrity sha512-+hGKDt/Ze8GFExiVHno/2dvG5IdstpzCq0y4Qc9OJ25D4q3pKfiIP/4Vp3/JvhDkLKsDK2api3q3fpIgiIF5bw== + dependencies: + "@babel/helper-environment-visitor" "^7.22.5" + "@babel/helper-module-imports" "^7.22.5" + "@babel/helper-simple-access" "^7.22.5" + "@babel/helper-split-export-declaration" "^7.22.5" + "@babel/helper-validator-identifier" "^7.22.5" + "@babel/template" "^7.22.5" + "@babel/traverse" "^7.22.5" + "@babel/types" "^7.22.5" + +"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.22.5", "@babel/helper-plugin-utils@^7.8.0": + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz#dd7ee3735e8a313b9f7b05a773d892e88e6d7295" + integrity sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg== + +"@babel/helper-simple-access@^7.22.5": + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz#4938357dc7d782b80ed6dbb03a0fba3d22b1d5de" + integrity sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w== + dependencies: + "@babel/types" "^7.22.5" + +"@babel/helper-split-export-declaration@^7.22.5": + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.5.tgz#88cf11050edb95ed08d596f7a044462189127a08" + integrity sha512-thqK5QFghPKWLhAV321lxF95yCg2K3Ob5yw+M3VHWfdia0IkPXUtoLH8x/6Fh486QUvzhb8YOWHChTVen2/PoQ== + dependencies: + "@babel/types" "^7.22.5" + +"@babel/helper-string-parser@^7.22.5": + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz#533f36457a25814cf1df6488523ad547d784a99f" + integrity sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw== + +"@babel/helper-validator-identifier@^7.22.5": + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz#9544ef6a33999343c8740fa51350f30eeaaaf193" + integrity sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ== + +"@babel/helper-validator-option@^7.22.5": + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.5.tgz#de52000a15a177413c8234fa3a8af4ee8102d0ac" + integrity sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw== + +"@babel/helpers@^7.22.5": + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/helpers/-/helpers-7.22.5.tgz#74bb4373eb390d1ceed74a15ef97767e63120820" + integrity sha512-pSXRmfE1vzcUIDFQcSGA5Mr+GxBV9oiRKDuDxXvWQQBCh8HoIjs/2DlDB7H8smac1IVrB9/xdXj2N3Wol9Cr+Q== + dependencies: + "@babel/template" "^7.22.5" + "@babel/traverse" "^7.22.5" + "@babel/types" "^7.22.5" + +"@babel/highlight@^7.10.4", "@babel/highlight@^7.22.5": + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.5.tgz#aa6c05c5407a67ebce408162b7ede789b4d22031" + integrity sha512-BSKlD1hgnedS5XRnGOljZawtag7H1yPfQp0tdNJCHoH6AZ+Pcm9VvkrK59/Yy593Ypg0zMxH2BxD1VPYUQ7UIw== + dependencies: + "@babel/helper-validator-identifier" "^7.22.5" chalk "^2.0.0" js-tokens "^4.0.0" -"@babel/parser@^7.0.0", "@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7", "@babel/parser@^7.21.5", "@babel/parser@^7.21.8": - version "7.21.8" - resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.21.8.tgz#642af7d0333eab9c0ad70b14ac5e76dbde7bfdf8" - integrity sha512-6zavDGdzG3gUqAdWvlLFfk+36RilI+Pwyuuh7HItyeScCWP3k6i8vKclAQ0bM/0y/Kz/xiwvxhMv9MgTJP5gmA== +"@babel/parser@^7.0.0", "@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7", "@babel/parser@^7.22.5": + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.22.5.tgz#721fd042f3ce1896238cf1b341c77eb7dee7dbea" + integrity sha512-DFZMC9LJUG9PLOclRC32G63UXwzqS2koQC8dkx+PLdmt1xSePYpbT/NbsrJy8Q/muXz7o/h/d4A7Fuyixm559Q== "@babel/plugin-syntax-async-generators@^7.8.4": version "7.8.4" @@ -1262,11 +1268,11 @@ "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-jsx@^7.7.2": - version "7.21.4" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.21.4.tgz#f264ed7bf40ffc9ec239edabc17a50c4f5b6fea2" - integrity sha512-5hewiLct5OKyh6PLKEYaFclcqtIgCb6bmELouxjF6up5q3Sov7rOayW4RwhbaBL0dit8rA80GNfY+UuDp2mBbQ== + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.22.5.tgz#a6b68e84fb76e759fc3b93e901876ffabbe1d918" + integrity sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg== dependencies: - "@babel/helper-plugin-utils" "^7.20.2" + "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-syntax-logical-assignment-operators@^7.8.3": version "7.10.4" @@ -1318,44 +1324,44 @@ "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-typescript@^7.7.2": - version "7.21.4" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.21.4.tgz#2751948e9b7c6d771a8efa59340c15d4a2891ff8" - integrity sha512-xz0D39NvhQn4t4RNsHmDnnsaQizIlUkdtYvLs8La1BlfjQ6JEwxkJGeqJMW2tAXx+q6H+WFuUTXNdYVpEya0YA== - dependencies: - "@babel/helper-plugin-utils" "^7.20.2" - -"@babel/template@^7.20.7", "@babel/template@^7.3.3": - version "7.20.7" - resolved "https://registry.npmjs.org/@babel/template/-/template-7.20.7.tgz#a15090c2839a83b02aa996c0b4994005841fd5a8" - integrity sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw== - dependencies: - "@babel/code-frame" "^7.18.6" - "@babel/parser" "^7.20.7" - "@babel/types" "^7.20.7" - -"@babel/traverse@^7.21.5", "@babel/traverse@^7.7.2": - version "7.21.5" - resolved "https://registry.npmjs.org/@babel/traverse/-/traverse-7.21.5.tgz#ad22361d352a5154b498299d523cf72998a4b133" - integrity sha512-AhQoI3YjWi6u/y/ntv7k48mcrCXmus0t79J9qPNlk/lAsFlCiJ047RmbfMOawySTHtywXhbXgpx/8nXMYd+oFw== - dependencies: - "@babel/code-frame" "^7.21.4" - "@babel/generator" "^7.21.5" - "@babel/helper-environment-visitor" "^7.21.5" - "@babel/helper-function-name" "^7.21.0" - "@babel/helper-hoist-variables" "^7.18.6" - "@babel/helper-split-export-declaration" "^7.18.6" - "@babel/parser" "^7.21.5" - "@babel/types" "^7.21.5" + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.22.5.tgz#aac8d383b062c5072c647a31ef990c1d0af90272" + integrity sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/template@^7.22.5", "@babel/template@^7.3.3": + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/template/-/template-7.22.5.tgz#0c8c4d944509875849bd0344ff0050756eefc6ec" + integrity sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw== + dependencies: + "@babel/code-frame" "^7.22.5" + "@babel/parser" "^7.22.5" + "@babel/types" "^7.22.5" + +"@babel/traverse@^7.22.5", "@babel/traverse@^7.7.2": + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/traverse/-/traverse-7.22.5.tgz#44bd276690db6f4940fdb84e1cb4abd2f729ccd1" + integrity sha512-7DuIjPgERaNo6r+PZwItpjCZEa5vyw4eJGufeLxrPdBXBoLcCJCIasvK6pK/9DVNrLZTLFhUGqaC6X/PA007TQ== + dependencies: + "@babel/code-frame" "^7.22.5" + "@babel/generator" "^7.22.5" + "@babel/helper-environment-visitor" "^7.22.5" + "@babel/helper-function-name" "^7.22.5" + "@babel/helper-hoist-variables" "^7.22.5" + "@babel/helper-split-export-declaration" "^7.22.5" + "@babel/parser" "^7.22.5" + "@babel/types" "^7.22.5" debug "^4.1.0" globals "^11.1.0" -"@babel/types@^7.0.0", "@babel/types@^7.18.6", "@babel/types@^7.20.7", "@babel/types@^7.21.0", "@babel/types@^7.21.4", "@babel/types@^7.21.5", "@babel/types@^7.3.0", "@babel/types@^7.3.3": - version "7.21.5" - resolved "https://registry.npmjs.org/@babel/types/-/types-7.21.5.tgz#18dfbd47c39d3904d5db3d3dc2cc80bedb60e5b6" - integrity sha512-m4AfNvVF2mVC/F7fDEdH2El3HzUg9It/XsCxZiOTTA3m3qYfcSVSbTfM6Q9xG+hYDniZssYhlXKKUMD5m8tF4Q== +"@babel/types@^7.0.0", "@babel/types@^7.20.7", "@babel/types@^7.22.5", "@babel/types@^7.3.0", "@babel/types@^7.3.3": + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/types/-/types-7.22.5.tgz#cd93eeaab025880a3a47ec881f4b096a5b786fbe" + integrity sha512-zo3MIHGOkPOfoRXitsgHLjEXmlDaD/5KU1Uzuc9GNiZPhSqVxVRtxuPaSBZDsYZ9qV88AjtMtWW7ww98loJ9KA== dependencies: - "@babel/helper-string-parser" "^7.21.5" - "@babel/helper-validator-identifier" "^7.19.1" + "@babel/helper-string-parser" "^7.22.5" + "@babel/helper-validator-identifier" "^7.22.5" to-fast-properties "^2.0.0" "@balena/dockerignore@^1.0.2": @@ -1541,10 +1547,10 @@ minimatch "^3.1.2" strip-json-comments "^3.1.1" -"@eslint/js@8.40.0": - version "8.40.0" - resolved "https://registry.npmjs.org/@eslint/js/-/js-8.40.0.tgz#3ba73359e11f5a7bd3e407f70b3528abfae69cec" - integrity sha512-ElyB54bJIhXQYVKjDSvCkPO1iU1tSAeVQJbllWJq1XQSmmA4dgFk8CbiBGpiOPxleE48vDogxCtmMYku4HSVLA== +"@eslint/js@8.42.0": + version "8.42.0" + resolved "https://registry.npmjs.org/@eslint/js/-/js-8.42.0.tgz#484a1d638de2911e6f5a30c12f49c7e4a3270fb6" + integrity sha512-6SWlXpWU5AvId8Ac7zjzmIOqMOba/JWY8XZ4A7q7Gn1Vlfg/SFFIlrtHXt9nPn4op9ZPAkl91Jao+QQv3r/ukw== "@extra-number/significant-digits@^1.1.1": version "1.3.9" @@ -1556,10 +1562,10 @@ resolved "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz#555193ab2e3bb3b6adc3d551c9c030d9e860daf6" integrity sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw== -"@humanwhocodes/config-array@^0.11.8": - version "0.11.8" - resolved "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz#03595ac2075a4dc0f191cc2131de14fbd7d410b9" - integrity sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g== +"@humanwhocodes/config-array@^0.11.10": + version "0.11.10" + resolved "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.10.tgz#5a3ffe32cc9306365fb3fd572596cd602d5e12d2" + integrity sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ== dependencies: "@humanwhocodes/object-schema" "^1.2.1" debug "^4.1.1" @@ -1885,17 +1891,25 @@ chalk "^4.1.2" semver "^7.5.1" -"@jsii/spec@1.81.0", "@jsii/spec@^1.81.0": +"@jsii/check-node@1.83.0": + version "1.83.0" + resolved "https://registry.npmjs.org/@jsii/check-node/-/check-node-1.83.0.tgz#a332cde835cf3a7336e29bdc1b9b53482fdd80c3" + integrity sha512-6UqMGNZs22wpOYxlT5JgoJyF1K/vkj+ZY57zrBp3WYN6rPQt7iZ0Y8CnLGZ3kwwzhatIrzbhng+8jPXFSVrNyw== + dependencies: + chalk "^4.1.2" + semver "^7.5.1" + +"@jsii/spec@1.81.0": version "1.81.0" resolved "https://registry.npmjs.org/@jsii/spec/-/spec-1.81.0.tgz#35c461a10dbf8e903df4956eb9d1097c1fcc8129" integrity sha512-Ea1xP3ajppj6obhWrIrZASIbwsr9bGJEYHxs8UJaAoEfnDJVTRSSE1LsJtFaUuuDgeXDYGDvyhs37e8jhRvFdA== dependencies: ajv "^8.12.0" -"@jsii/spec@1.82.0", "@jsii/spec@^1.82.0": - version "1.82.0" - resolved "https://registry.npmjs.org/@jsii/spec/-/spec-1.82.0.tgz#d2379f60e067bc9a3c92984be0cd3b8153e6e6f3" - integrity sha512-6+KHsKuRBBdIA17Rqcrw9WCcab3UkZAP/9xWZEu2sCpVUc3DMjadZS1QyVh4XMdIsJoQoaUjc8TuriloAkkr8Q== +"@jsii/spec@1.83.0", "@jsii/spec@^1.81.0", "@jsii/spec@^1.82.0", "@jsii/spec@^1.83.0": + version "1.83.0" + resolved "https://registry.npmjs.org/@jsii/spec/-/spec-1.83.0.tgz#63641e8b17e7df7f900a7d6655c1ad356f4c0d81" + integrity sha512-lhTW4ShZe7B2CnUFHyxHM+wWhSNK9UIzZTZV5C6Lx7vCpCtXGzP63ziPnpSQ0B0AD1ZS5o3GaYDAPieelkf2Ow== dependencies: ajv "^8.12.0" @@ -2188,10 +2202,10 @@ semver "^7.3.5" which "^2.0.2" -"@npmcli/git@^4.0.0": - version "4.0.4" - resolved "https://registry.npmjs.org/@npmcli/git/-/git-4.0.4.tgz#cdf74f21b1d440c0756fb28159d935129d9daa33" - integrity sha512-5yZghx+u5M47LghaybLCkdSyFzV/w4OuH12d96HO389Ik9CDsLaDZJVynSGGVJOLn6gy/k7Dz5XYcplM3uxXRg== +"@npmcli/git@^4.0.0", "@npmcli/git@^4.1.0": + version "4.1.0" + resolved "https://registry.npmjs.org/@npmcli/git/-/git-4.1.0.tgz#ab0ad3fd82bc4d8c1351b6c62f0fa56e8fe6afa6" + integrity sha512-9hwoB3gStVfa0N31ymBmrX+GuDGdVA/QWShZVqE0HK2Af+7QGGrCTbZia/SW0ImUTjTne7SP91qxDmtXvDHRPQ== dependencies: "@npmcli/promise-spawn" "^6.0.0" lru-cache "^7.4.4" @@ -2294,14 +2308,16 @@ json-parse-even-better-errors "^2.3.1" "@npmcli/package-json@^3.0.0": - version "3.1.0" - resolved "https://registry.npmjs.org/@npmcli/package-json/-/package-json-3.1.0.tgz#d9eb34083be4275520f3844d17fc74926d47cae1" - integrity sha512-qNPy6Yf9ruFST99xcrl5EWAvrb7qFrwgVbwdzcTJlIgxbArKOq5e/bgZ6rTL1X9hDgAdPbvL8RWx/OTLSB0ToA== + version "3.1.1" + resolved "https://registry.npmjs.org/@npmcli/package-json/-/package-json-3.1.1.tgz#5628332aac90fa1b4d6f98e03988c5958b35e0c5" + integrity sha512-+UW0UWOYFKCkvszLoTwrYGrjNrT8tI5Ckeb/h+Z1y1fsNJEctl7HmerA5j2FgmoqFaLI2gsA1X9KgMFqx/bRmA== dependencies: + "@npmcli/git" "^4.1.0" glob "^10.2.2" json-parse-even-better-errors "^3.0.0" normalize-package-data "^5.0.0" npm-normalize-package-bin "^3.0.1" + proc-log "^3.0.0" "@npmcli/promise-spawn@^3.0.0": version "3.0.0" @@ -2470,11 +2486,9 @@ "@octokit/types" "^6.0.3" "@octokit/auth-token@^3.0.0": - version "3.0.3" - resolved "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-3.0.3.tgz#ce7e48a3166731f26068d7a7a7996b5da58cbe0c" - integrity sha512-/aFM2M4HVDBT/jjDBa84sJniv1t9Gm/rLkalaz9htOm+L+8JMj1k9w0CkUdcxNyNxZPlTxKPVko+m1VlM58ZVA== - dependencies: - "@octokit/types" "^9.0.0" + version "3.0.4" + resolved "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-3.0.4.tgz#70e941ba742bdd2b49bdb7393e821dea8520a3db" + integrity sha512-TWFX7cZF2LXoCvdmJWY7XVPi74aSY0+FfBZNSXEXFkMpjcqsQwDSYVv5FhRFaI0V1ECnwbz4j59T/G+rXNWaIQ== "@octokit/core@^3.5.1", "@octokit/core@^3.6.0": version "3.6.0" @@ -2490,9 +2504,9 @@ universal-user-agent "^6.0.0" "@octokit/core@^4.0.0": - version "4.2.0" - resolved "https://registry.npmjs.org/@octokit/core/-/core-4.2.0.tgz#8c253ba9605aca605bc46187c34fcccae6a96648" - integrity sha512-AgvDRUg3COpR82P7PBdGZF/NNqGmtMq2NiPqeSsDIeCfYFOZ9gddqWNQHnFdEUf+YwOj4aZYmJnlPp7OXmDIDg== + version "4.2.1" + resolved "https://registry.npmjs.org/@octokit/core/-/core-4.2.1.tgz#fee6341ad0ce60c29cc455e056cd5b500410a588" + integrity sha512-tEDxFx8E38zF3gT7sSMDrT1tGumDgsw5yPG6BBh/X+5ClIQfMH/Yqocxz1PnHx6CHyF6pxmovUTOfZAUvQ0Lvw== dependencies: "@octokit/auth-token" "^3.0.0" "@octokit/graphql" "^5.0.0" @@ -2512,9 +2526,9 @@ universal-user-agent "^6.0.0" "@octokit/endpoint@^7.0.0": - version "7.0.5" - resolved "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-7.0.5.tgz#2bb2a911c12c50f10014183f5d596ce30ac67dd1" - integrity sha512-LG4o4HMY1Xoaec87IqQ41TQ+glvIeTKqfjkCEmt5AIwDZJwQeVZFIEYXrYY6yLwK+pAScb9Gj4q+Nz2qSw1roA== + version "7.0.6" + resolved "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-7.0.6.tgz#791f65d3937555141fb6c08f91d618a7d645f1e2" + integrity sha512-5L4fseVRUsDFGR00tMWD/Trdeeihn999rTMGRMC1G/Ldi1uWlWJzI98H4Iak5DB/RVvQuyMYKqSK/R6mbSOQyg== dependencies: "@octokit/types" "^9.0.0" is-plain-object "^5.0.0" @@ -2530,9 +2544,9 @@ universal-user-agent "^6.0.0" "@octokit/graphql@^5.0.0": - version "5.0.5" - resolved "https://registry.npmjs.org/@octokit/graphql/-/graphql-5.0.5.tgz#a4cb3ea73f83b861893a6370ee82abb36e81afd2" - integrity sha512-Qwfvh3xdqKtIznjX9lz2D458r7dJPP8l6r4GQkIdWQouZwHQK0mVT88uwiU2bdTU2OtT1uOlKpRciUWldpG0yQ== + version "5.0.6" + resolved "https://registry.npmjs.org/@octokit/graphql/-/graphql-5.0.6.tgz#9eac411ac4353ccc5d3fca7d76736e6888c5d248" + integrity sha512-Fxyxdy/JH0MnIB5h+UQ3yCoh1FG4kWXfFKkpWqjZHw/p+Kc8Y44Hu/kCgNBT6nU1shNumEchmW/sUO1JuQnPcw== dependencies: "@octokit/request" "^6.0.0" "@octokit/types" "^9.0.0" @@ -2548,10 +2562,10 @@ resolved "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-14.0.0.tgz#949c5019028c93f189abbc2fb42f333290f7134a" integrity sha512-HNWisMYlR8VCnNurDU6os2ikx0s0VyEjDYHNS/h4cgb8DeOxQ0n72HyinUtdDVxJhFy3FWLGl0DJhfEWk3P5Iw== -"@octokit/openapi-types@^17.1.2": - version "17.2.0" - resolved "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-17.2.0.tgz#f1800b5f9652b8e1b85cc6dfb1e0dc888810bdb5" - integrity sha512-MazrFNx4plbLsGl+LFesMo96eIXkFgEtaKbnNpdh4aQ0VM10aoylFsTYP1AEjkeoRNZiiPe3T6Gl2Hr8dJWdlQ== +"@octokit/openapi-types@^18.0.0": + version "18.0.0" + resolved "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-18.0.0.tgz#f43d765b3c7533fd6fb88f3f25df079c24fccf69" + integrity sha512-V8GImKs3TeQRxRtXFpG2wl19V7444NIOTDF24AWuIbmNaNYOQMWRbjcGDXV5B+0n887fgDcuMNOmlul+k+oJtw== "@octokit/plugin-enterprise-rest@6.0.1": version "6.0.1" @@ -2624,9 +2638,9 @@ universal-user-agent "^6.0.0" "@octokit/request@^6.0.0": - version "6.2.4" - resolved "https://registry.npmjs.org/@octokit/request/-/request-6.2.4.tgz#b00a7185865c72bdd432e63168b1e900953ded0c" - integrity sha512-at92SYQstwh7HH6+Kf3bFMnHrle7aIrC0r5rTP+Bb30118B6j1vI2/M4walh6qcQgfuLIKs8NUO5CytHTnUI3A== + version "6.2.5" + resolved "https://registry.npmjs.org/@octokit/request/-/request-6.2.5.tgz#7beef1065042998f7455973ef3f818e7b84d6ec2" + integrity sha512-z83E8UIlPNaJUsXpjD8E0V5o/5f+vJJNbNcBwVZsX3/vC650U41cOkTLjq4PKk9BYonQGOnx7N17gvLyNjgGcQ== dependencies: "@octokit/endpoint" "^7.0.0" "@octokit/request-error" "^3.0.0" @@ -2670,11 +2684,11 @@ "@octokit/openapi-types" "^14.0.0" "@octokit/types@^9.0.0": - version "9.2.2" - resolved "https://registry.npmjs.org/@octokit/types/-/types-9.2.2.tgz#d111d33928f288f48083bfe49d8a9a5945e67db1" - integrity sha512-9BjDxjgQIvCjNWZsbqyH5QC2Yni16oaE6xL+8SUBMzcYPF4TGQBXGA97Cl3KceK9mwiNMb1mOYCz6FbCCLEL+g== + version "9.3.1" + resolved "https://registry.npmjs.org/@octokit/types/-/types-9.3.1.tgz#9eb20390f8cfcc975635d813f9a2094efd4aa2dd" + integrity sha512-zfJzyXLHC42sWcn2kS+oZ/DRvFZBYCCbfInZtwp1Uopl1qh6pRg4NSP/wFX1xCOpXvEkctiG1sxlSlkZmzvxdw== dependencies: - "@octokit/openapi-types" "^17.1.2" + "@octokit/openapi-types" "^18.0.0" "@octokit/webhooks-definitions@^3.67.3": version "3.67.3" @@ -2749,15 +2763,24 @@ resolved "https://registry.npmjs.org/@sigstore/protobuf-specs/-/protobuf-specs-0.1.0.tgz#957cb64ea2f5ce527cc9cf02a096baeb0d2b99b4" integrity sha512-a31EnjuIDSX8IXBUib3cYLDRlPMU36AWX4xS8ysLaNu4ZzUesDiPt83pgrW2X1YLMe5L2HbDyaKK5BrL4cNKaQ== +"@sigstore/tuf@^1.0.0": + version "1.0.0" + resolved "https://registry.npmjs.org/@sigstore/tuf/-/tuf-1.0.0.tgz#13b69323e7bf8de458cd6c952c57acd1169772a5" + integrity sha512-bLzi9GeZgMCvjJeLUIfs8LJYCxrPRA8IXQkzUtaFKKVPTz0mucRyqFcV2U20yg9K+kYAD0YSitzGfRZCFLjdHQ== + dependencies: + "@sigstore/protobuf-specs" "^0.1.0" + make-fetch-happen "^11.0.1" + tuf-js "^1.1.3" + "@sinclair/typebox@^0.25.16": version "0.25.24" resolved "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.25.24.tgz#8c7688559979f7079aacaf31aa881c3aa410b718" integrity sha512-XJfwUVUKDHF5ugKwIcxEgc9k8b7HbznCp6eUfWgu710hMPNIO4aw4/zB5RogDQz8nd6gyCDpU9O/m6qYEWY6yQ== "@sindresorhus/is@^5.2.0": - version "5.3.0" - resolved "https://registry.npmjs.org/@sindresorhus/is/-/is-5.3.0.tgz#0ec9264cf54a527671d990eb874e030b55b70dcc" - integrity sha512-CX6t4SYQ37lzxicAqsBtxA3OseeoVrh9cSJ5PFYam0GksYlupRfy1A+Q4aYD3zvcfECLc0zO2u+ZnR2UYKvCrw== + version "5.4.1" + resolved "https://registry.npmjs.org/@sindresorhus/is/-/is-5.4.1.tgz#c4383ce702fb90531c3d310506bab89e70427c53" + integrity sha512-axlrvsHlHlFmKKMEg4VyvMzFr93JWJj4eIfXY1STVuO2fsImCa7ncaiG5gC8HKOX590AW5RtRsC41/B+OfrSqw== "@sinonjs/commons@^1.6.0", "@sinonjs/commons@^1.7.0", "@sinonjs/commons@^1.8.1", "@sinonjs/commons@^1.8.3": version "1.8.6" @@ -2781,9 +2804,9 @@ type-detect "4.0.8" "@sinonjs/fake-timers@^10.0.2": - version "10.1.0" - resolved "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.1.0.tgz#3595e42b3f0a7df80a9681cf58d8cb418eac1e99" - integrity sha512-w1qd368vtrwttm1PRJWPW1QHlbmHrVDGs1eBH/jZvRPUFS4MNXV9Q33EQdjOdeAxZ7O8+3wM7zxztm2nfUSyKw== + version "10.2.0" + resolved "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.2.0.tgz#b3e322a34c5f26e3184e7f6115695f299c1b1194" + integrity sha512-OPwQlEdg40HAj5KNF8WW6q2KG4Z+cBCZb3m4ninfTZKaBmbIJodviQsDBoYMPHkOyJJMHnOJo5j2+LKDOhOACg== dependencies: "@sinonjs/commons" "^3.0.0" @@ -2840,6 +2863,21 @@ resolved "https://registry.npmjs.org/@sinonjs/text-encoding/-/text-encoding-0.7.2.tgz#5981a8db18b56ba38ef0efb7d995b12aa7b51918" integrity sha512-sXXKG+uL9IrKqViTtao2Ws6dy0znu9sOaP1di/jKGW1M6VssO8vlpXCQcpZ+jisQ1tTFAC5Jo/EOzFbggBagFQ== +"@smithy/protocol-http@^1.0.1": + version "1.0.1" + resolved "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-1.0.1.tgz#62fd73d73db285fd8e9a2287ed2904ac66e0d43f" + integrity sha512-9OrEn0WfOVtBNYJUjUAn9AOiJ4lzERCJJ/JeZs8E6yajTGxBaFRxUnNBHiNqoDJVg076hY36UmEnPx7xXrvUSg== + dependencies: + "@smithy/types" "^1.0.0" + tslib "^2.5.0" + +"@smithy/types@^1.0.0": + version "1.0.0" + resolved "https://registry.npmjs.org/@smithy/types/-/types-1.0.0.tgz#87ab6131fe5e19cbd4d383ffb94d2b806d027d38" + integrity sha512-kc1m5wPBHQCTixwuaOh9vnak/iJm21DrSf9UK6yDE5S3mQQ4u11pqAUiKWnlrZnYkeLfAI9UEHj9OaMT1v5Umg== + dependencies: + tslib "^2.5.0" + "@szmarczak/http-timer@^5.0.1": version "5.0.1" resolved "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-5.0.1.tgz#c7c1bf1141cdd4751b0399c8fc7b8b664cd5be3a" @@ -2898,14 +2936,14 @@ "@types/readdir-glob" "*" "@types/aws-lambda@^8.10.115": - version "8.10.115" - resolved "https://registry.npmjs.org/@types/aws-lambda/-/aws-lambda-8.10.115.tgz#0b5ba361c8e95430ce25fa8d67640c5ac6c857b6" - integrity sha512-kCZuFXKLV3y8NjSoaD5+qKTpRWvPz3uh3W/u1uwlw3Mg+MtaStg1NWgjAwUXo/VJDb6n6KF1ljykFNlNwEJ53Q== + version "8.10.117" + resolved "https://registry.npmjs.org/@types/aws-lambda/-/aws-lambda-8.10.117.tgz#7d12cd6c33ceb4f1b1f35581dacf9f610d99cdd2" + integrity sha512-6T1aHTSSK4l8+67ANKHha/CRVxyk/bAl6OGCOxsKVsHaSxWpqsqgupc8rPw8vQGjtIgIZ+EaHqMz8gA4d6xZhQ== "@types/babel__core@^7.1.14": - version "7.20.0" - resolved "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.0.tgz#61bc5a4cae505ce98e1e36c5445e4bee060d8891" - integrity sha512-+n8dL/9GWblDO0iU6eZAwEIJVr5DWigtle+Q6HLOrh/pdbXOhOtqzq8VPPE2zvNJzSKY4vH/z3iT3tn0A3ypiQ== + version "7.20.1" + resolved "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.1.tgz#916ecea274b0c776fec721e333e55762d3a9614b" + integrity sha512-aACu/U/omhdk15O4Nfb+fHgH/z3QsfQzpnvRZhYhThms83ZnAOZz7zZAWO7mn2yyNQaA4xTO8GLK3uqFU4bYYw== dependencies: "@babel/parser" "^7.20.7" "@babel/types" "^7.20.7" @@ -3007,17 +3045,17 @@ "@types/istanbul-lib-report" "*" "@types/jest@^29.5.1": - version "29.5.1" - resolved "https://registry.npmjs.org/@types/jest/-/jest-29.5.1.tgz#83c818aa9a87da27d6da85d3378e5a34d2f31a47" - integrity sha512-tEuVcHrpaixS36w7hpsfLBLpjtMRJUE09/MHXn923LOVojDwyC14cWcfc0rDs0VEfUyYmt/+iX1kxxp+gZMcaQ== + version "29.5.2" + resolved "https://registry.npmjs.org/@types/jest/-/jest-29.5.2.tgz#86b4afc86e3a8f3005b297ed8a72494f89e6395b" + integrity sha512-mSoZVJF5YzGVCk+FsDxzDuH7s+SCkzrgKZzf0Z0T2WudhBUPoF6ktoTPC4R0ZoCPCV5xUvuU6ias5NvxcBcMMg== dependencies: expect "^29.0.0" pretty-format "^29.0.0" "@types/json-schema@*", "@types/json-schema@^7.0.7", "@types/json-schema@^7.0.9": - version "7.0.11" - resolved "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz#d421b6c527a3037f7c84433fd2c4229e016863d3" - integrity sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ== + version "7.0.12" + resolved "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.12.tgz#d70faba7039d5fca54c83c7dbab41051d2b6f6cb" + integrity sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA== "@types/json5@^0.0.29": version "0.0.29" @@ -3030,9 +3068,9 @@ integrity sha512-sFkIgeXh6HJR79DbTrZrsHWhfyr3q8v2Gswj3y0tRPEo57OEPVgDF/z/ePybHUGuSCwiDiAt/3YMta9ujUxQpQ== "@types/lodash@^4.14.194": - version "4.14.194" - resolved "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.194.tgz#b71eb6f7a0ff11bff59fc987134a093029258a76" - integrity sha512-r22s9tAS7imvBt2lyHC9B8AGwWnXaYb1tY09oyLkXDs4vArpYJzw09nj8MLx5VfciBPGIb+ZwG0ssYnEPJxn/g== + version "4.14.195" + resolved "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.195.tgz#bafc975b252eb6cea78882ce8a7b6bf22a6de632" + integrity sha512-Hwx9EUgdwf2GLarOjQp5ZH8ZmblzcbTBC2wtQWNKARBSxM9ezRIAUpeDTgoQRAFB0+8CNWXVA9+MaSOzOF3nPg== "@types/madge@^5.0.0": version "5.0.0" @@ -3079,9 +3117,9 @@ integrity sha512-uv53RrNdhbkV/3VmVCtfImfYCWC3GTTRn3R11Whni3EJ+gb178tkZBVNj2edLY5CMrB749dQi+SJkg87jsN8UQ== "@types/node@*": - version "20.1.7" - resolved "https://registry.npmjs.org/@types/node/-/node-20.1.7.tgz#ce10c802f7731909d0a44ac9888e8b3a9125eb62" - integrity sha512-WCuw/o4GSwDGMoonES8rcvwsig77dGCMbZDrZr2x4ZZiNW4P/gcoZXe/0twgtobcTkmg9TuKflxYL/DuwDyJzg== + version "20.3.1" + resolved "https://registry.npmjs.org/@types/node/-/node-20.3.1.tgz#e8a83f1aa8b649377bb1fb5d7bac5cb90e784dfe" + integrity sha512-EhcH/wvidPy1WeML3TtYFGR83UzjxeWRen9V402T8aUGYsCHOmfoisV3ZSg03gAFIbLq8TnWOJ0f4cALtnSEUg== "@types/node@18.11.19": version "18.11.19" @@ -3089,14 +3127,14 @@ integrity sha512-YUgMWAQBWLObABqrvx8qKO1enAvBUdjZOAWQ5grBAkp5LQv45jBvYKZ3oFS9iKRCQyFjqw6iuEa1vmFqtxYLZw== "@types/node@^14": - version "14.18.47" - resolved "https://registry.npmjs.org/@types/node/-/node-14.18.47.tgz#89a56b05804d136cb99bf2f823bb00814a889aae" - integrity sha512-OuJi8bIng4wYHHA3YpKauL58dZrPxro3d0tabPHyiNF8rKfGKuVfr83oFlPLmKri1cX+Z3cJP39GXmnqkP11Gw== + version "14.18.51" + resolved "https://registry.npmjs.org/@types/node/-/node-14.18.51.tgz#cb90935b89c641201c3d07a595c3e22d1cfaa417" + integrity sha512-P9bsdGFPpVtofEKlhWMVS2qqx1A/rt9QBfihWlklfHHpUpjtYse5AzFz6j4DWrARLYh6gRnw9+5+DJcrq3KvBA== "@types/node@^16.9.2": - version "16.18.31" - resolved "https://registry.npmjs.org/@types/node/-/node-16.18.31.tgz#7de39c2b9363f0d95b129cc969fcbf98e870251c" - integrity sha512-KPXltf4z4g517OlVJO9XQ2357CYw7fvuJ3ZuBynjXC5Jos9i+K7LvFb7bUIwtJXSZj0vTp9Q6NJBSQpkwwO8Zw== + version "16.18.36" + resolved "https://registry.npmjs.org/@types/node/-/node-16.18.36.tgz#0db5d7efc4760d36d0d1d22c85d1a53accd5dc27" + integrity sha512-8egDX8dE50XyXWH6C6PRCNkTP106DuUrvdrednFouDSmCi7IOvrqr0frznfZaHifHH/3aq/7a7v9N4wdXMqhBQ== "@types/normalize-package-data@^2.4.0": version "2.4.1" @@ -3121,9 +3159,9 @@ integrity sha512-G/AdOadiZhnJp0jXCaBQU449W2h716OW/EoXeYkCytxKL06X1WCXB4DZpp8TpZ8eyIJVS1cw4lrlkkSYU21cDw== "@types/prettier@^2.1.5": - version "2.7.2" - resolved "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.2.tgz#6c2324641cc4ba050a8c710b2b251b377581fbf0" - integrity sha512-KufADq8uQqo1pYKVIYzfKbJfBAc0sOeXqGbFaSpv8MRmC/zXgowNZmFcbngndGk922QDmOASEXUZCaY48gs4cg== + version "2.7.3" + resolved "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.3.tgz#3e51a17e291d01d17d3fc61422015a933af7a08f" + integrity sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA== "@types/promptly@^3.0.2": version "3.0.2" @@ -3150,9 +3188,9 @@ integrity sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw== "@types/sinon@^10.0.10": - version "10.0.14" - resolved "https://registry.npmjs.org/@types/sinon/-/sinon-10.0.14.tgz#6bd18b088ea5ef1e5153fa37d0b68e91eff09e22" - integrity sha512-mn72up6cjaMyMuaPaa/AwKf6WtsSRysQC7wxFkCm1XcOKXPM1z+5Y4H5wjIVBz4gdAkjvZxVVfjA6ba1nHr5WQ== + version "10.0.15" + resolved "https://registry.npmjs.org/@types/sinon/-/sinon-10.0.15.tgz#513fded9c3cf85e589bbfefbf02b2a0541186b48" + integrity sha512-3lrFNQG0Kr2LDzvjyjB6AMJk4ge+8iYhQfdnSwIwlG88FUOV43kPcQqDZkDa/h3WSZy6i8Fr0BSjfQtB1B3xuQ== dependencies: "@types/sinonjs__fake-timers" "*" @@ -3236,9 +3274,9 @@ "@types/yargs-parser" "*" "@types/yarnpkg__lockfile@^1.1.5": - version "1.1.5" - resolved "https://registry.npmjs.org/@types/yarnpkg__lockfile/-/yarnpkg__lockfile-1.1.5.tgz#9639020e1fb65120a2f4387db8f1e8b63efdf229" - integrity sha512-8NYnGOctzsI4W0ApsP/BIHD/LnxpJ6XaGf2AZmz4EyDYJMxtprN4279dLNI1CPZcwC9H18qYcaFv4bXi0wmokg== + version "1.1.6" + resolved "https://registry.npmjs.org/@types/yarnpkg__lockfile/-/yarnpkg__lockfile-1.1.6.tgz#60a35ede6197d8cbedd5bb8393f3921e8d56d44b" + integrity sha512-kbdQa3J+hVCkqmGQm31fthEwGxszZtepw84p9QGCiJB7TmiPqPAf3/g9eZUnkCeanmiFOaG4pVhiPDyqJxaoaw== "@typescript-eslint/eslint-plugin@^4.33.0": version "4.33.0" @@ -3255,14 +3293,14 @@ tsutils "^3.21.0" "@typescript-eslint/eslint-plugin@^5": - version "5.59.6" - resolved "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.59.6.tgz#a350faef1baa1e961698240f922d8de1761a9e2b" - integrity sha512-sXtOgJNEuRU5RLwPUb1jxtToZbgvq3M6FPpY4QENxoOggK+UpTxUBpj6tD8+Qh2g46Pi9We87E+eHnUw8YcGsw== + version "5.59.11" + resolved "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.59.11.tgz#8d466aa21abea4c3f37129997b198d141f09e76f" + integrity sha512-XxuOfTkCUiOSyBWIvHlUraLw/JT/6Io1365RO6ZuI88STKMavJZPNMU0lFcUTeQXEhHiv64CbxYxBNoDVSmghg== dependencies: "@eslint-community/regexpp" "^4.4.0" - "@typescript-eslint/scope-manager" "5.59.6" - "@typescript-eslint/type-utils" "5.59.6" - "@typescript-eslint/utils" "5.59.6" + "@typescript-eslint/scope-manager" "5.59.11" + "@typescript-eslint/type-utils" "5.59.11" + "@typescript-eslint/utils" "5.59.11" debug "^4.3.4" grapheme-splitter "^1.0.4" ignore "^5.2.0" @@ -3293,13 +3331,13 @@ debug "^4.3.1" "@typescript-eslint/parser@^5": - version "5.59.6" - resolved "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.59.6.tgz#bd36f71f5a529f828e20b627078d3ed6738dbb40" - integrity sha512-7pCa6al03Pv1yf/dUg/s1pXz/yGMUBAw5EeWqNTFiSueKvRNonze3hma3lhdsOrQcaOXhbk5gKu2Fludiho9VA== + version "5.59.11" + resolved "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.59.11.tgz#af7d4b7110e3068ce0b97550736de455e4250103" + integrity sha512-s9ZF3M+Nym6CAZEkJJeO2TFHHDsKAM3ecNkLuH4i4s8/RCPnF5JRip2GyviYkeEAcwGMJxkqG9h2dAsnA1nZpA== dependencies: - "@typescript-eslint/scope-manager" "5.59.6" - "@typescript-eslint/types" "5.59.6" - "@typescript-eslint/typescript-estree" "5.59.6" + "@typescript-eslint/scope-manager" "5.59.11" + "@typescript-eslint/types" "5.59.11" + "@typescript-eslint/typescript-estree" "5.59.11" debug "^4.3.4" "@typescript-eslint/scope-manager@4.33.0": @@ -3310,21 +3348,21 @@ "@typescript-eslint/types" "4.33.0" "@typescript-eslint/visitor-keys" "4.33.0" -"@typescript-eslint/scope-manager@5.59.6": - version "5.59.6" - resolved "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.59.6.tgz#d43a3687aa4433868527cfe797eb267c6be35f19" - integrity sha512-gLbY3Le9Dxcb8KdpF0+SJr6EQ+hFGYFl6tVY8VxLPFDfUZC7BHFw+Vq7bM5lE9DwWPfx4vMWWTLGXgpc0mAYyQ== +"@typescript-eslint/scope-manager@5.59.11": + version "5.59.11" + resolved "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.59.11.tgz#5d131a67a19189c42598af9fb2ea1165252001ce" + integrity sha512-dHFOsxoLFtrIcSj5h0QoBT/89hxQONwmn3FOQ0GOQcLOOXm+MIrS8zEAhs4tWl5MraxCY3ZJpaXQQdFMc2Tu+Q== dependencies: - "@typescript-eslint/types" "5.59.6" - "@typescript-eslint/visitor-keys" "5.59.6" + "@typescript-eslint/types" "5.59.11" + "@typescript-eslint/visitor-keys" "5.59.11" -"@typescript-eslint/type-utils@5.59.6": - version "5.59.6" - resolved "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.59.6.tgz#37c51d2ae36127d8b81f32a0a4d2efae19277c48" - integrity sha512-A4tms2Mp5yNvLDlySF+kAThV9VTBPCvGf0Rp8nl/eoDX9Okun8byTKoj3fJ52IJitjWOk0fKPNQhXEB++eNozQ== +"@typescript-eslint/type-utils@5.59.11": + version "5.59.11" + resolved "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.59.11.tgz#5eb67121808a84cb57d65a15f48f5bdda25f2346" + integrity sha512-LZqVY8hMiVRF2a7/swmkStMYSoXMFlzL6sXV6U/2gL5cwnLWQgLEG8tjWPpaE4rMIdZ6VKWwcffPlo1jPfk43g== dependencies: - "@typescript-eslint/typescript-estree" "5.59.6" - "@typescript-eslint/utils" "5.59.6" + "@typescript-eslint/typescript-estree" "5.59.11" + "@typescript-eslint/utils" "5.59.11" debug "^4.3.4" tsutils "^3.21.0" @@ -3333,10 +3371,10 @@ resolved "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.33.0.tgz#a1e59036a3b53ae8430ceebf2a919dc7f9af6d72" integrity sha512-zKp7CjQzLQImXEpLt2BUw1tvOMPfNoTAfb8l51evhYbOEEzdWyQNmHWWGPR6hwKJDAi+1VXSBmnhL9kyVTTOuQ== -"@typescript-eslint/types@5.59.6": - version "5.59.6" - resolved "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.59.6.tgz#5a6557a772af044afe890d77c6a07e8c23c2460b" - integrity sha512-tH5lBXZI7T2MOUgOWFdVNUILsI02shyQvfzG9EJkoONWugCG77NDDa1EeDGw7oJ5IvsTAAGVV8I3Tk2PNu9QfA== +"@typescript-eslint/types@5.59.11": + version "5.59.11" + resolved "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.59.11.tgz#1a9018fe3c565ba6969561f2a49f330cf1fe8db1" + integrity sha512-epoN6R6tkvBYSc+cllrz+c2sOFWkbisJZWkOE+y3xHtvYaOE6Wk6B8e114McRJwFRjGvYdJwLXQH5c9osME/AA== "@typescript-eslint/typescript-estree@4.33.0", "@typescript-eslint/typescript-estree@^4.33.0": version "4.33.0" @@ -3351,30 +3389,30 @@ semver "^7.3.5" tsutils "^3.21.0" -"@typescript-eslint/typescript-estree@5.59.6": - version "5.59.6" - resolved "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.59.6.tgz#2fb80522687bd3825504925ea7e1b8de7bb6251b" - integrity sha512-vW6JP3lMAs/Tq4KjdI/RiHaaJSO7IUsbkz17it/Rl9Q+WkQ77EOuOnlbaU8kKfVIOJxMhnRiBG+olE7f3M16DA== +"@typescript-eslint/typescript-estree@5.59.11": + version "5.59.11" + resolved "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.59.11.tgz#b2caaa31725e17c33970c1197bcd54e3c5f42b9f" + integrity sha512-YupOpot5hJO0maupJXixi6l5ETdrITxeo5eBOeuV7RSKgYdU3G5cxO49/9WRnJq9EMrB7AuTSLH/bqOsXi7wPA== dependencies: - "@typescript-eslint/types" "5.59.6" - "@typescript-eslint/visitor-keys" "5.59.6" + "@typescript-eslint/types" "5.59.11" + "@typescript-eslint/visitor-keys" "5.59.11" debug "^4.3.4" globby "^11.1.0" is-glob "^4.0.3" semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/utils@5.59.6": - version "5.59.6" - resolved "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.59.6.tgz#82960fe23788113fc3b1f9d4663d6773b7907839" - integrity sha512-vzaaD6EXbTS29cVH0JjXBdzMt6VBlv+hE31XktDRMX1j3462wZCJa7VzO2AxXEXcIl8GQqZPcOPuW/Z1tZVogg== +"@typescript-eslint/utils@5.59.11": + version "5.59.11" + resolved "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.59.11.tgz#9dbff49dc80bfdd9289f9f33548f2e8db3c59ba1" + integrity sha512-didu2rHSOMUdJThLk4aZ1Or8IcO3HzCw/ZvEjTTIfjIrcdd5cvSIwwDy2AOlE7htSNp7QIZ10fLMyRCveesMLg== dependencies: "@eslint-community/eslint-utils" "^4.2.0" "@types/json-schema" "^7.0.9" "@types/semver" "^7.3.12" - "@typescript-eslint/scope-manager" "5.59.6" - "@typescript-eslint/types" "5.59.6" - "@typescript-eslint/typescript-estree" "5.59.6" + "@typescript-eslint/scope-manager" "5.59.11" + "@typescript-eslint/types" "5.59.11" + "@typescript-eslint/typescript-estree" "5.59.11" eslint-scope "^5.1.1" semver "^7.3.7" @@ -3386,18 +3424,18 @@ "@typescript-eslint/types" "4.33.0" eslint-visitor-keys "^2.0.0" -"@typescript-eslint/visitor-keys@5.59.6": - version "5.59.6" - resolved "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.59.6.tgz#673fccabf28943847d0c8e9e8d008e3ada7be6bb" - integrity sha512-zEfbFLzB9ETcEJ4HZEEsCR9HHeNku5/Qw1jSS5McYJv5BR+ftYXwFFAH5Al+xkGaZEqowMwl7uoJjQb1YSPF8Q== +"@typescript-eslint/visitor-keys@5.59.11": + version "5.59.11" + resolved "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.59.11.tgz#dca561ddad169dc27d62396d64f45b2d2c3ecc56" + integrity sha512-KGYniTGG3AMTuKF9QBD7EIrvufkB6O6uX3knP73xbKLMpH+QRPcgnCxjWXSHjMRuOxFLovljqQgQpR0c7GvjoA== dependencies: - "@typescript-eslint/types" "5.59.6" + "@typescript-eslint/types" "5.59.11" eslint-visitor-keys "^3.3.0" -"@xmldom/xmldom@^0.8.7": - version "0.8.7" - resolved "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.8.7.tgz#8b1e39c547013941974d83ad5e9cf5042071a9a0" - integrity sha512-sI1Ly2cODlWStkINzqGrZ8K6n+MTSbAeQnAipGyL+KZCXuHaRlj2gyyy8B/9MvsFFqN7XHryQnB2QwhzvJXovg== +"@xmldom/xmldom@^0.8.7", "@xmldom/xmldom@^0.8.8": + version "0.8.8" + resolved "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.8.8.tgz#d0d11511cbc1de77e53342ad1546a4d487d6ea72" + integrity sha512-0LNz4EY8B/8xXY86wMrQ4tz6zEHZv9ehFMJPm8u2gq5lQ71cfRKdaKyxfJAx5aUoyzx0qzgURblTisPGgz3d+Q== "@yarnpkg/lockfile@^1.1.0": version "1.1.0" @@ -3405,9 +3443,9 @@ integrity sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ== "@yarnpkg/parsers@^3.0.0-rc.18": - version "3.0.0-rc.43" - resolved "https://registry.npmjs.org/@yarnpkg/parsers/-/parsers-3.0.0-rc.43.tgz#2bf720ec6444e3f002f40dce734c262e9f3d888a" - integrity sha512-AhFF3mIDfA+jEwQv2WMHmiYhOvmdbh2qhUkDVQfiqzQtUwS4BgoWwom5NpSPg4Ix5vOul+w1690Bt21CkVLpgg== + version "3.0.0-rc.45" + resolved "https://registry.npmjs.org/@yarnpkg/parsers/-/parsers-3.0.0-rc.45.tgz#fcc7d0ab7828afdb20d1e13160b1d117c07536f4" + integrity sha512-Aj0aHBV/crFQTpKQvL6k1xNiOhnlfVLu06LunelQAvl1MTeWrSi8LD9UJJDCFJiG4kx8NysUE6Tx0KZyPQUzIw== dependencies: js-yaml "^3.10.0" tslib "^2.4.0" @@ -3820,10 +3858,19 @@ aws-sdk-mock@5.6.0: sinon "^11.1.1" traverse "^0.6.6" -aws-sdk@^2.1379.0, aws-sdk@^2.928.0: - version "2.1379.0" - resolved "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1379.0.tgz#2d5609a37287d25edda4395fbb89306939f98890" - integrity sha512-kziOtAtJxdgYJwhzY+uhNi/AGPrDEMHd0dEz46YR1AB5bVqjS9/SjOZHemB88QfpW11IVB/FoiIusXlGEvgq9Q== +aws-sdk-mock@5.8.0: + version "5.8.0" + resolved "https://registry.npmjs.org/aws-sdk-mock/-/aws-sdk-mock-5.8.0.tgz#2556a79010a883f4bd5a566ce63bc244cee67579" + integrity sha512-s0Vy4DObFmVJ6h1uTw1LGInOop77oF0JXH2N39Lv+1Wss274EowVk9odhM4Sji4mynXcM5oSu68uYqkJRviDRA== + dependencies: + aws-sdk "^2.1231.0" + sinon "^14.0.1" + traverse "^0.6.6" + +aws-sdk@^2.1231.0, aws-sdk@^2.1379.0, aws-sdk@^2.928.0: + version "2.1396.0" + resolved "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1396.0.tgz#14dc92f874aca039a329d5a96f9f894fd9159252" + integrity sha512-5tAzB4pO9mfwb4XbDIv7wj4IsxaLI+KEAUZ8CR80sh2OdsP9AVGtMGH61dH6DQbHxCiwtLyQuoy7gZEuXv2ldQ== dependencies: buffer "4.9.2" events "1.1.1" @@ -4036,14 +4083,14 @@ braces@^3.0.2, braces@~3.0.2: fill-range "^7.0.1" browserslist@^4.21.3: - version "4.21.5" - resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.21.5.tgz#75c5dae60063ee641f977e00edd3cfb2fb7af6a7" - integrity sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w== + version "4.21.8" + resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.21.8.tgz#db2498e1f4b80ed199c076248a094935860b6017" + integrity sha512-j+7xYe+v+q2Id9qbBeCI8WX5NmZSRe8es1+0xntD/+gaWXznP8tFEkv5IgSaHf5dS1YwVMbX/4W6m937mj+wQw== dependencies: - caniuse-lite "^1.0.30001449" - electron-to-chromium "^1.4.284" - node-releases "^2.0.8" - update-browserslist-db "^1.0.10" + caniuse-lite "^1.0.30001502" + electron-to-chromium "^1.4.428" + node-releases "^2.0.12" + update-browserslist-db "^1.0.11" bs-logger@0.x: version "0.2.6" @@ -4141,9 +4188,9 @@ cacache@^16.0.0, cacache@^16.1.0, cacache@^16.1.3: unique-filename "^2.0.0" cacache@^17.0.0, cacache@^17.0.4: - version "17.1.2" - resolved "https://registry.npmjs.org/cacache/-/cacache-17.1.2.tgz#57ce9b79d300373f7266f2f1e4e1718fe09e84b4" - integrity sha512-VcRDUtZd9r7yfGDpdm3dBDBSQbLd19IqWs9q1tuB9g6kmxYLwIjfLngRKMCfDHxReuf0SBclRuYn66Xds7jzUQ== + version "17.1.3" + resolved "https://registry.npmjs.org/cacache/-/cacache-17.1.3.tgz#c6ac23bec56516a7c0c52020fd48b4909d7c7044" + integrity sha512-jAdjGxmPxZh0IipMdR7fK/4sDSrHMLUV0+GvVUsjwyGNKHsh79kW/otg+GkbXwl6Uzvy9wsvHOX4nUoWldeZMg== dependencies: "@npmcli/fs" "^3.1.0" fs-minipass "^3.0.0" @@ -4223,10 +4270,10 @@ camelcase@^7.0.1: resolved "https://registry.npmjs.org/camelcase/-/camelcase-7.0.1.tgz#f02e50af9fd7782bc8b88a3558c32fd3a388f048" integrity sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw== -caniuse-lite@^1.0.30001449: - version "1.0.30001488" - resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001488.tgz#d19d7b6e913afae3e98f023db97c19e9ddc5e91f" - integrity sha512-NORIQuuL4xGpIy6iCCQGN4iFjlBXtfKWIenlUuyZJumLRIindLb7wXM+GO8erEhb7vXfcnf4BAg2PrSDN5TNLQ== +caniuse-lite@^1.0.30001502: + version "1.0.30001502" + resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001502.tgz#f7e4a76eb1d2d585340f773767be1fefc118dca8" + integrity sha512-AZ+9tFXw1sS0o0jcpJQIXvFTOB/xGiQ4OQ2t98QX3NDn2EZTSRBC801gxrsGgViuq2ak/NLkNgSNEPtCr5lfKg== case@1.6.3, case@^1.6.3: version "1.6.3" @@ -4234,15 +4281,15 @@ case@1.6.3, case@^1.6.3: integrity sha512-mzDSXIPaFwVDvZAHqZ9VlbyF4yyXRuX6IvB06WvPYkqJVO24kX1PPhv9bfpKNFZyxYFmmgo03HUiD8iklmJYRQ== cdk-generate-synthetic-examples@^0.1.260: - version "0.1.260" - resolved "https://registry.npmjs.org/cdk-generate-synthetic-examples/-/cdk-generate-synthetic-examples-0.1.260.tgz#ad5ebb2aa1dfb39093cd5efde92c7f858606d30a" - integrity sha512-43KEdbZpyiBpfdQ+pTHWoF38v9/JRByX7Ufit4TFrwgCkmBEd7CJVXE3lot1nNeItkul2db5lSCmn0ZemLS3lQ== + version "0.1.266" + resolved "https://registry.npmjs.org/cdk-generate-synthetic-examples/-/cdk-generate-synthetic-examples-0.1.266.tgz#60dc1d1862b112c9b1b6741a5fa8170604428fd7" + integrity sha512-gO9QRCD800hMF/m9J0cq1eOnSgkpe8IjccZC2pZtm2XDY/TA3iLE/dwqfKOKAe+qBI4icwEt1Cdn3fx4yqH+jA== dependencies: - "@jsii/spec" "^1.82.0" + "@jsii/spec" "^1.83.0" fs-extra "^10.1.0" - jsii "^1.82.0" - jsii-reflect "^1.82.0" - jsii-rosetta "^1.82.0" + jsii "^1.83.0" + jsii-reflect "^1.83.0" + jsii-rosetta "^1.83.0" yargs "^17.7.2" cdk8s-plus-24@2.7.31: @@ -4253,9 +4300,9 @@ cdk8s-plus-24@2.7.31: minimatch "^3.1.2" cdk8s@^2.7.68: - version "2.7.68" - resolved "https://registry.npmjs.org/cdk8s/-/cdk8s-2.7.68.tgz#05b0a37bd2f380005af2058ceebc313a06b93eba" - integrity sha512-bwtkyAzfhqTST1OhFTs7MjMD1CH+NmoESGO5sq6wI3AQsgrAhvYX8LKHyvn7YGNmPcpC2wz+dv1sPdmIJAjyvg== + version "2.7.77" + resolved "https://registry.npmjs.org/cdk8s/-/cdk8s-2.7.77.tgz#43dd225706057cb360efc653def092232b7d9fba" + integrity sha512-Ked56siS41Xhx6P+oSRl142bmZuOd/hGCdVDgJdAnI+yu120u+XgIleiYjVOH6ycxF5tzR5X91nFmhHvLupKcg== dependencies: fast-json-patch "^3.1.1" follow-redirects "^1.15.2" @@ -4354,9 +4401,9 @@ cidr-regex@^3.1.1: ip-regex "^4.1.0" cjs-module-lexer@^1.0.0: - version "1.2.2" - resolved "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz#9f84ba3244a512f3a54e5277e8eef4c489864e40" - integrity sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA== + version "1.2.3" + resolved "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz#6c370ab19f8a3394e318fe682686ec0ac684d107" + integrity sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ== clean-stack@^2.0.0: version "2.2.0" @@ -4491,9 +4538,9 @@ codemaker@1.81.0: fs-extra "^10.1.0" codemaker@^1.82.0: - version "1.82.0" - resolved "https://registry.npmjs.org/codemaker/-/codemaker-1.82.0.tgz#ad38e31a88402f4d8d082fbc8011896aaa65ef67" - integrity sha512-urr9UZD4HvuKj0fKZg480N5+TtSk2LNX5Dw7e/mOCOtSWxrUBlGN10s+AucBigUMX2ROUIJmbflIIXALs7ZS7Q== + version "1.83.0" + resolved "https://registry.npmjs.org/codemaker/-/codemaker-1.83.0.tgz#3148272d9c7a22affe54f7a0bf56b41d3594d111" + integrity sha512-KyGpWygoeUhPY0FlLb8mp6k6sccg+sRHmgNcl5L54Lg5ppqufQL1DIPmDqymMRHqeCGxrnB/bZWeKJhtsjDAKQ== dependencies: camelcase "^6.3.0" decamelize "^5.0.1" @@ -4689,9 +4736,9 @@ console-control-strings@^1.0.0, console-control-strings@^1.1.0, console-control- integrity sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ== constructs@^10.0.0: - version "10.2.26" - resolved "https://registry.npmjs.org/constructs/-/constructs-10.2.26.tgz#dad719633cc143f9c8d4224815dab01a273cbd4e" - integrity sha512-MfxcFDMOx0MTIs6CqFlpdEMFF6y8cQCFrl3o1ArDJavToWdzeNKuDddMV1Ry3yWYQTpQjyfoue6fwnP8ukD49g== + version "10.2.52" + resolved "https://registry.npmjs.org/constructs/-/constructs-10.2.52.tgz#2b376e6457a9520ad99ca5624cdc56b102f853d0" + integrity sha512-+agHle0qck/Z2ARWtI8WpAiFzBFweti2ai03ShK3R708WTmny+HO97joPQ99oQQvmHaAgCZmAqEUufeySk9J0Q== conventional-changelog-angular@5.0.12: version "5.0.12" @@ -5347,9 +5394,9 @@ dotenv-json@^1.0.0: integrity sha512-jAssr+6r4nKhKRudQ0HOzMskOFFi9+ubXWwmrSGJFgTvpjyPXCXsCsYbjif6mXp7uxA7xY3/LGaiTQukZzSbOQ== dotenv@^16.0.1: - version "16.0.3" - resolved "https://registry.npmjs.org/dotenv/-/dotenv-16.0.3.tgz#115aec42bac5053db3c456db30cc243a5a836a07" - integrity sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ== + version "16.1.4" + resolved "https://registry.npmjs.org/dotenv/-/dotenv-16.1.4.tgz#67ac1a10cd9c25f5ba604e4e08bc77c0ebe0ca8c" + integrity sha512-m55RtE8AsPeJBpOIFKihEmqUcoVncQIwo7x9U8ZwLEZw9ZpXboz2c+rvog+jUaJvVrZ5kBOeYQBX5+8Aa/OZQw== dotenv@^8.0.0: version "8.6.0" @@ -5397,10 +5444,10 @@ ejs@^3.1.7: dependencies: jake "^10.8.5" -electron-to-chromium@^1.4.284: - version "1.4.397" - resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.397.tgz#82a7e26c657538d59bb713b97ac22f97ea3a90ea" - integrity sha512-jwnPxhh350Q/aMatQia31KAIQdhEsYS0fFZ0BQQlN9tfvOEwShu6ZNwI4kL/xBabjcB/nTy6lSt17kNIluJZ8Q== +electron-to-chromium@^1.4.428: + version "1.4.428" + resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.428.tgz#c31fc88e854f49d8305cdabf6ec934ff1588a902" + integrity sha512-L7uUknyY286of0AYC8CKfgWstD0Smk2DvHDi9F0GWQhSH90Bzi7iDrmCbZKz75tYJxeGSAc7TYeKpmbjMDoh1w== emittery@^0.13.1: version "0.13.1" @@ -5432,9 +5479,9 @@ end-of-stream@^1.4.1: once "^1.4.0" enhanced-resolve@^5.8.3: - version "5.14.0" - resolved "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.14.0.tgz#0b6c676c8a3266c99fa281e4433a706f5c0c61c4" - integrity sha512-+DCows0XNwLDcUhbFJPdlQEVnT2zXlCv7hPxemTz86/O+B/hCQ+mb7ydkPKiflpVraqLPCAfu7lDy+hBXueojw== + version "5.14.1" + resolved "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.14.1.tgz#de684b6803724477a4af5d74ccae5de52c25f6b3" + integrity sha512-Vklwq2vDKtl0y/vtwjSesgJ5MYS7Etuk5txS8VdKL4AOS1aUlD96zqIfsOSLQsdv3xgMRbtkWM8eG9XDfKUPow== dependencies: graceful-fs "^4.2.4" tapable "^2.2.0" @@ -5808,15 +5855,15 @@ eslint@^7.32.0: v8-compile-cache "^2.0.3" eslint@^8: - version "8.40.0" - resolved "https://registry.npmjs.org/eslint/-/eslint-8.40.0.tgz#a564cd0099f38542c4e9a2f630fa45bf33bc42a4" - integrity sha512-bvR+TsP9EHL3TqNtj9sCNJVAFK3fBN8Q7g5waghxyRsPLIMwL73XSKnZFK0hk/O2ANC+iAoq6PWMQ+IfBAJIiQ== + version "8.42.0" + resolved "https://registry.npmjs.org/eslint/-/eslint-8.42.0.tgz#7bebdc3a55f9ed7167251fe7259f75219cade291" + integrity sha512-ulg9Ms6E1WPf67PHaEY4/6E2tEn5/f7FXGzr3t9cBMugOmf1INYvuUwwh1aXQN4MfJ6a5K2iNwP3w4AColvI9A== dependencies: "@eslint-community/eslint-utils" "^4.2.0" "@eslint-community/regexpp" "^4.4.0" "@eslint/eslintrc" "^2.0.3" - "@eslint/js" "8.40.0" - "@humanwhocodes/config-array" "^0.11.8" + "@eslint/js" "8.42.0" + "@humanwhocodes/config-array" "^0.11.10" "@humanwhocodes/module-importer" "^1.0.1" "@nodelib/fs.walk" "^1.2.8" ajv "^6.10.0" @@ -5835,13 +5882,12 @@ eslint@^8: find-up "^5.0.0" glob-parent "^6.0.2" globals "^13.19.0" - grapheme-splitter "^1.0.4" + graphemer "^1.4.0" ignore "^5.2.0" import-fresh "^3.0.0" imurmurhash "^0.1.4" is-glob "^4.0.0" is-path-inside "^3.0.3" - js-sdsl "^4.1.4" js-yaml "^4.1.0" json-stable-stringify-without-jsonify "^1.0.1" levn "^0.4.1" @@ -5979,6 +6025,11 @@ expect@^29.0.0, expect@^29.5.0: jest-message-util "^29.5.0" jest-util "^29.5.0" +exponential-backoff@^3.1.1: + version "3.1.1" + resolved "https://registry.npmjs.org/exponential-backoff/-/exponential-backoff-3.1.1.tgz#64ac7526fe341ab18a39016cd22c787d01e00bf6" + integrity sha512-dX7e/LHVJ6W3DE1MHWi9S1EYzDESENfLrYohG2G++ovZrYOkm4Knwa0mc1cn84xJOR4KEU0WSchhLbd0UklbHw== + ext@^1.1.2: version "1.7.0" resolved "https://registry.npmjs.org/ext/-/ext-1.7.0.tgz#0ea4383c0103d60e70be99e9a7f11027a33c4f5f" @@ -6049,10 +6100,10 @@ fast-memoize@^2.5.2: resolved "https://registry.npmjs.org/fast-memoize/-/fast-memoize-2.5.2.tgz#79e3bb6a4ec867ea40ba0e7146816f6cdce9b57e" integrity sha512-Ue0LwpDYErFbmNnZSF0UH6eImUwDmogUO1jyE+JbN2gsQz/jICm1Ve7t9QT0rNSsfJt+Hs4/S3GnsDVjL4HVrw== -fast-xml-parser@4.1.2: - version "4.1.2" - resolved "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.1.2.tgz#5a98c18238d28a57bbdfa9fe4cda01211fff8f4a" - integrity sha512-CDYeykkle1LiA/uqQyNwYpFbyF6Axec6YapmpUP+/RHWIoR1zKjocdvNaTsxCxZzQ6v9MLXaSYm9Qq0thv0DHg== +fast-xml-parser@4.2.4: + version "4.2.4" + resolved "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.2.4.tgz#6e846ede1e56ad9e5ef07d8720809edf0ed07e9b" + integrity sha512-fbfMDvgBNIdDJLdLOwacjFAPYt67tr31H9ZhWSm45CDAxvd0I6WTlSOUo7K2P/K5sA5JgMKG64PI3DMcaFdWpQ== dependencies: strnum "^1.0.5" @@ -6572,15 +6623,15 @@ glob@7.1.4: once "^1.3.0" path-is-absolute "^1.0.0" -glob@^10.0.0, glob@^10.2.2, glob@~10.2.2: - version "10.2.4" - resolved "https://registry.npmjs.org/glob/-/glob-10.2.4.tgz#f5bf7ddb080e3e9039b148a9e2aef3d5ebfc0a25" - integrity sha512-fDboBse/sl1oXSLhIp0FcCJgzW9KmhC/q8ULTKC82zc+DL3TL7FNb8qlt5qqXN53MsKEUSIcb+7DLmEygOE5Yw== +glob@^10.2.2, glob@^10.2.5, glob@~10.2.2: + version "10.2.7" + resolved "https://registry.npmjs.org/glob/-/glob-10.2.7.tgz#9dd2828cd5bc7bd861e7738d91e7113dda41d7d8" + integrity sha512-jTKehsravOJo8IJxUGfZILnkvVJM/MOfHRs8QcXolVef2zNI9Tqyy5+SeuOAZd3upViEZQLyFpQhYiHLrMUNmA== dependencies: foreground-child "^3.1.0" jackspeak "^2.0.3" - minimatch "^9.0.0" - minipass "^5.0.0 || ^6.0.0" + minimatch "^9.0.1" + minipass "^5.0.0 || ^6.0.2" path-scurry "^1.7.0" glob@^7.0.0, glob@^7.1.1, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6, glob@^7.1.7, glob@^7.2.0, glob@^7.2.3: @@ -6669,9 +6720,9 @@ gopd@^1.0.1: get-intrinsic "^1.1.3" got@^12.1.0: - version "12.6.0" - resolved "https://registry.npmjs.org/got/-/got-12.6.0.tgz#8d382ee5de4432c086e83c133efdd474484f6ac7" - integrity sha512-WTcaQ963xV97MN3x0/CbAriXFZcXCfgxVp91I+Ze6pawQOa7SgzwSx2zIJJsX+kTajMnVs0xcFD1TxZKFqhdnQ== + version "12.6.1" + resolved "https://registry.npmjs.org/got/-/got-12.6.1.tgz#8869560d1383353204b5a9435f782df9c091f549" + integrity sha512-mThBblvlAF1d4O5oqyvN+ZxLAYwIJK7bpMxgYqPD9okW0C3qm5FFn7k811QrcuEBwaogR3ngOFoCfs6mRv7teQ== dependencies: "@sindresorhus/is" "^5.2.0" "@szmarczak/http-timer" "^5.0.1" @@ -6700,6 +6751,11 @@ grapheme-splitter@^1.0.4: resolved "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz#9cf3a665c6247479896834af35cf1dbb4400767e" integrity sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ== +graphemer@^1.4.0: + version "1.4.0" + resolved "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz#fb2f1d55e0e3a1849aeffc90c4fa0dd53a0e66c6" + integrity sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag== + graphql-tag@^2.12.6: version "2.12.6" resolved "https://registry.npmjs.org/graphql-tag/-/graphql-tag-2.12.6.tgz#d441a569c1d2537ef10ca3d1633b48725329b5f1" @@ -7546,18 +7602,18 @@ istanbul-reports@^3.0.2, istanbul-reports@^3.1.3: istanbul-lib-report "^3.0.0" jackspeak@^2.0.3: - version "2.2.0" - resolved "https://registry.npmjs.org/jackspeak/-/jackspeak-2.2.0.tgz#497cbaedc902ec3f31d5d61be804d2364ff9ddad" - integrity sha512-r5XBrqIJfwRIjRt/Xr5fv9Wh09qyhHfKnYddDlpM+ibRR20qrYActpCAgU6U+d53EOEjzkvxPMVHSlgR7leXrQ== + version "2.2.1" + resolved "https://registry.npmjs.org/jackspeak/-/jackspeak-2.2.1.tgz#655e8cf025d872c9c03d3eb63e8f0c024fef16a6" + integrity sha512-MXbxovZ/Pm42f6cDIDkl3xpwv1AGwObKwfmjs2nQePiy85tP3fatofl3FC1aBsOtP/6fq5SbtgHwWcMsLP+bDw== dependencies: "@isaacs/cliui" "^8.0.2" optionalDependencies: "@pkgjs/parseargs" "^0.11.0" jake@^10.8.5: - version "10.8.6" - resolved "https://registry.npmjs.org/jake/-/jake-10.8.6.tgz#227a96786a1e035214e0ba84b482d6223d41ef04" - integrity sha512-G43Ub9IYEFfu72sua6rzooi8V8Gz2lkfk48rW20vEWCGizeaEPlKB1Kh8JIA84yQbiAEfqlPmSpGgCKKxH3rDA== + version "10.8.7" + resolved "https://registry.npmjs.org/jake/-/jake-10.8.7.tgz#63a32821177940c33f356e0ba44ff9d34e1c7d8f" + integrity sha512-ZDi3aP+fG/LchyBzUM804VjddnwfSfsdeYkwt8NcbKRvo4rFkjhs456iLFn3k2ZUWvNe4i48WACDbza8fhq2+w== dependencies: async "^3.2.3" chalk "^4.0.2" @@ -7955,11 +8011,6 @@ jmespath@0.16.0: resolved "https://registry.npmjs.org/jmespath/-/jmespath-0.16.0.tgz#b15b0a85dfd4d930d43e69ed605943c802785076" integrity sha512-9FzQjJ7MATs1tSpnco1K6ayiYE3figslrXA72G2HQ/n76RzvYlofyi5QM+iX4YRs/pu3yzxlVQSST23+dMDknw== -js-sdsl@^4.1.4: - version "4.4.0" - resolved "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.4.0.tgz#8b437dbe642daa95760400b602378ed8ffea8430" - integrity sha512-FfVSdx6pJ41Oa+CF7RDaFmTnCaFhua+SNYQX74riGOpl96x+2jQCqEfQ2bnXu/5DPCqlRuiqyvTJM0Qjz26IVg== - js-tokens@^4.0.0: version "4.0.0" resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" @@ -8028,7 +8079,7 @@ jsii-reflect@1.81.0: oo-ascii-tree "^1.81.0" yargs "^16.2.0" -jsii-reflect@1.82.0, jsii-reflect@^1.82.0: +jsii-reflect@1.82.0: version "1.82.0" resolved "https://registry.npmjs.org/jsii-reflect/-/jsii-reflect-1.82.0.tgz#0d98ecabd4273c1c8bcf03350f845bad24b87be8" integrity sha512-23lYPizIqmBC0CqX9iKdWrYUVVxRxUf/OJMXNnjGQ6UCa62QHPUbqEmKES/0jSmV3oIouwx/ePi5PE1529TucQ== @@ -8040,31 +8091,43 @@ jsii-reflect@1.82.0, jsii-reflect@^1.82.0: oo-ascii-tree "^1.82.0" yargs "^16.2.0" -jsii-rosetta@1.82.0, jsii-rosetta@^1.82.0: - version "1.82.0" - resolved "https://registry.npmjs.org/jsii-rosetta/-/jsii-rosetta-1.82.0.tgz#8680af6223ada85a247731e036cf4fc3220b90e3" - integrity sha512-3R/+fYm1gIUp6HEBzRyvHgCxKy1BZB2ZqO+0zYvgi7LEUEsvn7OBUDI7NoVe6/Bqp8DKOxzUYm4xe8jJ6Gr0og== +jsii-reflect@^1.82.0, jsii-reflect@^1.83.0: + version "1.83.0" + resolved "https://registry.npmjs.org/jsii-reflect/-/jsii-reflect-1.83.0.tgz#fb4ef6a93f7acd55cfb3c4b18b46e23316f1b116" + integrity sha512-cR3QxpoUp8w9CwCP8dtkff8PZfQMT1gbciUObs0Mr6E2bEyH33QpOmllkIHMspZqtBiz46pWrIkAe5IqJnadtg== dependencies: - "@jsii/check-node" "1.82.0" - "@jsii/spec" "1.82.0" - "@xmldom/xmldom" "^0.8.7" + "@jsii/check-node" "1.83.0" + "@jsii/spec" "^1.83.0" + chalk "^4" + fs-extra "^10.1.0" + oo-ascii-tree "^1.83.0" + yargs "^16.2.0" + +jsii-rosetta@^1.82.0, jsii-rosetta@^1.83.0: + version "1.83.0" + resolved "https://registry.npmjs.org/jsii-rosetta/-/jsii-rosetta-1.83.0.tgz#da1a3f51911e609fac0912918edb0db584f0566c" + integrity sha512-9yMTijjLoINcrhzA+r96zAPAEvVNXRqKei5SOP+ScmGKhPZ1/fYb7Z3+Unr3VWkWgUtVaiqUZTxAvVUAQHo/Pg== + dependencies: + "@jsii/check-node" "1.83.0" + "@jsii/spec" "1.83.0" + "@xmldom/xmldom" "^0.8.8" commonmark "^0.30.0" fast-glob "^3.2.12" - jsii "1.82.0" + jsii "1.83.0" semver "^7.5.1" semver-intersect "^1.4.0" - stream-json "^1.7.5" + stream-json "^1.8.0" typescript "~3.9.10" workerpool "^6.4.0" yargs "^16.2.0" jsii-rosetta@~5.0.8: - version "5.0.8" - resolved "https://registry.npmjs.org/jsii-rosetta/-/jsii-rosetta-5.0.8.tgz#63f9de0b6898e909fa342496d7a830c25759385c" - integrity sha512-atv37GB6lhFJv88eXJT31zH4/dJ10Ygb6fCB1yoYDgopU9W3pErDw39verbAFgHGg4BTO7Bti/b/ewdWMoc3Pg== + version "5.0.10" + resolved "https://registry.npmjs.org/jsii-rosetta/-/jsii-rosetta-5.0.10.tgz#e8aea738aabfa20412ead5a81cfbe517142fc820" + integrity sha512-Kl849SQEq9Z/SgR6Gi7lbzjgZZARfnvYNxfljHJb4RVRA75mWYeo2ebCacOfTPbe2gtbmCG3rAReiVeGlbr0Zg== dependencies: - "@jsii/check-node" "1.81.0" - "@jsii/spec" "^1.81.0" + "@jsii/check-node" "1.82.0" + "@jsii/spec" "^1.82.0" "@xmldom/xmldom" "^0.8.7" chalk "^4" commonmark "^0.30.0" @@ -8077,53 +8140,34 @@ jsii-rosetta@~5.0.8: workerpool "^6.4.0" yargs "^17.7.2" -jsii@1.81.0, jsii@^1.81.0: - version "1.81.0" - resolved "https://registry.npmjs.org/jsii/-/jsii-1.81.0.tgz#144daeacfa41660d04b9c695f21c17d3ffd58515" - integrity sha512-m5BQlNJGHFFwxUxZwagSqqMCS1wbt/0fKeEr+j7WWsG1lhu3fUxANYukUAeQEPJAPWuv0kAbqMaxj/4HSgd5RA== +jsii@1.83.0, jsii@^1.83.0: + version "1.83.0" + resolved "https://registry.npmjs.org/jsii/-/jsii-1.83.0.tgz#3a1af5f3a68885568220ffbfd1bbd3306e80dd6e" + integrity sha512-LxWncwj1lEJN0IIFksrNSh4ksTUbMKLLS6UC01JKxOiyVvxuXTc0skl3XYCVLjJvd1S20oBSalFD2evxMFUaqQ== dependencies: - "@jsii/check-node" "1.81.0" - "@jsii/spec" "^1.81.0" + "@jsii/check-node" "1.83.0" + "@jsii/spec" "^1.83.0" case "^1.6.3" chalk "^4" fast-deep-equal "^3.1.3" fs-extra "^10.1.0" log4js "^6.9.1" - semver "^7.5.0" + semver "^7.5.1" semver-intersect "^1.4.0" sort-json "^2.0.1" spdx-license-list "^6.6.0" typescript "~3.9.10" yargs "^16.2.0" -jsii@1.82.0: - version "1.82.0" - resolved "https://registry.npmjs.org/jsii/-/jsii-1.82.0.tgz#dbc5d61853619a0fb7653539663832ae1c2bf2a5" - integrity sha512-EMOjpWCiRYCo5ZzndGXsSsMrBSj4sa7njzEcFWryVnXj6reVP2axwsa3AXC/xCf4/PjchESxGDbSieX7cP9A+A== +jsii@5.0.x, jsii@~5.0.8: + version "5.0.10" + resolved "https://registry.npmjs.org/jsii/-/jsii-5.0.10.tgz#0bf853e02e4c21ab88fc6c73ec2dc01a9d1156f9" + integrity sha512-AIcxUr+9qmv7SipMP8ZyvAT1EFlAzd9JAu+qc6SLlKvx1qxQe1O2wvcg3jOaOpdrbEHNYHXJ7VorztAtRcXX9A== dependencies: "@jsii/check-node" "1.82.0" "@jsii/spec" "^1.82.0" case "^1.6.3" chalk "^4" - fast-deep-equal "^3.1.3" - fs-extra "^10.1.0" - log4js "^6.9.1" - semver "^7.5.1" - semver-intersect "^1.4.0" - sort-json "^2.0.1" - spdx-license-list "^6.6.0" - typescript "~3.9.10" - yargs "^16.2.0" - -jsii@~5.0.8: - version "5.0.8" - resolved "https://registry.npmjs.org/jsii/-/jsii-5.0.8.tgz#324c84179097d092545f0090f9517dddc8151427" - integrity sha512-FQlEQX1o/v1CnkYsap7iPQH/L0QRzo8zv00L28qdcfAYuUGNlBc35q8G7G5zmrQfionVxDdpz00l8l+Fj6I2hA== - dependencies: - "@jsii/check-node" "1.81.0" - "@jsii/spec" "^1.81.0" - case "^1.6.3" - chalk "^4" downlevel-dts "^0.11.0" fast-deep-equal "^3.1.3" log4js "^6.9.1" @@ -8791,9 +8835,9 @@ lru-cache@^7.4.4, lru-cache@^7.5.1, lru-cache@^7.7.1: integrity sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA== lru-cache@^9.1.1: - version "9.1.1" - resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-9.1.1.tgz#c58a93de58630b688de39ad04ef02ef26f1902f1" - integrity sha512-65/Jky17UwSb0BuB9V+MyDpsOtXKmYwzhyl+cOa9XUiI4uV2Ouy/2voFP3+al0BjZbJgMBD8FojMpAf+Z+qn4A== + version "9.1.2" + resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-9.1.2.tgz#255fdbc14b75589d6d0e73644ca167a8db506835" + integrity sha512-ERJq3FOzJTxBbFjZ7iDs+NiK4VI9Wz+RdrrAB8dio1oV+YvdPzUEE4QNiT2VD51DkIbCYRUUzCRkssXCHqSnKQ== lru-queue@^0.1.0: version "0.1.0" @@ -8850,7 +8894,7 @@ make-error@1.x, make-error@^1.1.1: resolved "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== -make-fetch-happen@^10.0.3, make-fetch-happen@^10.0.6, make-fetch-happen@^10.2.0: +make-fetch-happen@^10.0.6, make-fetch-happen@^10.2.0: version "10.2.1" resolved "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-10.2.1.tgz#f5e3835c5e9817b617f2770870d9492d28678164" integrity sha512-NgOPbRiaQM10DYXvN3/hhGVI2M5MtITFryzBGxHM5p4wnFxsVCbxkrBrDsk+EZ5OB4jEOT7AjDxtdF+KVEFT7w== @@ -8872,7 +8916,7 @@ make-fetch-happen@^10.0.3, make-fetch-happen@^10.0.6, make-fetch-happen@^10.2.0: socks-proxy-agent "^7.0.0" ssri "^9.0.0" -make-fetch-happen@^11.0.0, make-fetch-happen@^11.0.1, make-fetch-happen@^11.1.0: +make-fetch-happen@^11.0.0, make-fetch-happen@^11.0.1, make-fetch-happen@^11.0.3, make-fetch-happen@^11.1.1: version "11.1.1" resolved "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-11.1.1.tgz#85ceb98079584a9523d4bf71d32996e7e208549f" integrity sha512-rLWS7GCSTcEujjVBs2YqG7Y4643u8ucvCJeSRqiLYhesrDuzeuFIk37xREzAsfQaqzl8b9rNCE4m6J8tvX4Q8w== @@ -9092,10 +9136,10 @@ minimatch@^8.0.2: dependencies: brace-expansion "^2.0.1" -minimatch@^9.0.0, minimatch@~9.0.0: - version "9.0.0" - resolved "https://registry.npmjs.org/minimatch/-/minimatch-9.0.0.tgz#bfc8e88a1c40ffd40c172ddac3decb8451503b56" - integrity sha512-0jJj8AvgKqWN05mrwuqi8QYKx1WmYSUoKSxu5Qhs9prezTz10sxAHGNZe9J9cqIJzta8DWsleh2KaVaLl6Ru2w== +minimatch@^9.0.0, minimatch@^9.0.1, minimatch@~9.0.0: + version "9.0.1" + resolved "https://registry.npmjs.org/minimatch/-/minimatch-9.0.1.tgz#8a555f541cf976c622daf078bb28f29fb927c253" + integrity sha512-0jWhJpD/MdhPXwPuiRkCbfYfSKp2qnn2eOc279qI7f+osl/l+prKSrvhg157zSYvx/1nmgn2NqdT6k2Z7zSH9w== dependencies: brace-expansion "^2.0.1" @@ -9188,10 +9232,10 @@ minipass@^5.0.0: resolved "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz#3e9788ffb90b694a5d0ec94479a45b5d8738133d" integrity sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ== -"minipass@^5.0.0 || ^6.0.0": - version "6.0.1" - resolved "https://registry.npmjs.org/minipass/-/minipass-6.0.1.tgz#315417c259cb32a1b2fc530c0e7f55c901a60a6d" - integrity sha512-Tenl5QPpgozlOGBiveNYHg2f6y+VpxsXRoIHFUVJuSmTonXRAE6q9b8Mp/O46762/2AlW4ye4Nkyvx0fgWDKbw== +"minipass@^5.0.0 || ^6.0.2": + version "6.0.2" + resolved "https://registry.npmjs.org/minipass/-/minipass-6.0.2.tgz#542844b6c4ce95b202c0995b0a471f1229de4c81" + integrity sha512-MzWSV5nYVT7mVyWCwn2o7JH13w2TBRmmSqSRCKzTw+lmft9X4z+3wjvs06Tzijo5z4W/kahUCDpRXTF+ZrmF/w== minizlib@^2.1.1, minizlib@^2.1.2: version "2.1.2" @@ -9379,14 +9423,15 @@ node-gyp-build@^4.3.0: integrity sha512-NTZVKn9IylLwUzaKjkas1e4u2DLNcV4rdYagA4PWdPwW87Bi7z+BznyKSRwS/761tV/lzCGXplWsiaMjLqP2zQ== node-gyp@^9.0.0, node-gyp@^9.1.0: - version "9.3.1" - resolved "https://registry.npmjs.org/node-gyp/-/node-gyp-9.3.1.tgz#1e19f5f290afcc9c46973d68700cbd21a96192e4" - integrity sha512-4Q16ZCqq3g8awk6UplT7AuxQ35XN4R/yf/+wSAwcBUAjg7l58RTactWaP8fIDTi0FzI7YcVLujwExakZlfWkXg== + version "9.4.0" + resolved "https://registry.npmjs.org/node-gyp/-/node-gyp-9.4.0.tgz#2a7a91c7cba4eccfd95e949369f27c9ba704f369" + integrity sha512-dMXsYP6gc9rRbejLXmTbVRYjAHw7ppswsKyMxuxJxxOHzluIO1rGp9TOQgjFJ+2MCqcOcQTOPB/8Xwhr+7s4Eg== dependencies: env-paths "^2.2.0" + exponential-backoff "^3.1.1" glob "^7.1.4" graceful-fs "^4.2.6" - make-fetch-happen "^10.0.3" + make-fetch-happen "^11.0.3" nopt "^6.0.0" npmlog "^6.0.0" rimraf "^3.0.2" @@ -9406,10 +9451,10 @@ node-preload@^0.2.1: dependencies: process-on-spawn "^1.0.0" -node-releases@^2.0.8: - version "2.0.10" - resolved "https://registry.npmjs.org/node-releases/-/node-releases-2.0.10.tgz#c311ebae3b6a148c89b1813fd7c4d3c024ef537f" - integrity sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w== +node-releases@^2.0.12: + version "2.0.12" + resolved "https://registry.npmjs.org/node-releases/-/node-releases-2.0.12.tgz#35627cc224a23bfb06fb3380f2b3afaaa7eb1039" + integrity sha512-QzsYKWhXTWx8h1kIvqfnC++o0pEmpRQA/aenALsL2F4pqNVr7YzcdMlDij5WBnwftRbJCNJL/O7zdKaxKPHqgQ== node-source-walk@^4.0.0, node-source-walk@^4.2.0, node-source-walk@^4.2.2: version "4.3.0" @@ -9975,15 +10020,10 @@ onetime@^5.1.0, onetime@^5.1.2: dependencies: mimic-fn "^2.1.0" -oo-ascii-tree@^1.81.0: - version "1.81.0" - resolved "https://registry.npmjs.org/oo-ascii-tree/-/oo-ascii-tree-1.81.0.tgz#e10a4e725ea697794f27d0dc0768493a809da032" - integrity sha512-rfGg7tBvwiNrdP5MqVUGt/4Kwiy9y7Y6G3z6Nue5hhd0pHiAAyDVJ/GcwfW3cjMDrWlJ/itg+QuXREA1yfwynA== - -oo-ascii-tree@^1.82.0: - version "1.82.0" - resolved "https://registry.npmjs.org/oo-ascii-tree/-/oo-ascii-tree-1.82.0.tgz#41fb043975b1b3250932b70608d9e31ab81e4eca" - integrity sha512-I9tWDtyeOMkQ6L6+RFwscmxUNAbBxhTsdHZk7NnjZZszKvFvWGN/XpPyCU/sY0u5zsAsi4AJYPMy4ZZkx7+iNA== +oo-ascii-tree@^1.81.0, oo-ascii-tree@^1.82.0, oo-ascii-tree@^1.83.0: + version "1.83.0" + resolved "https://registry.npmjs.org/oo-ascii-tree/-/oo-ascii-tree-1.83.0.tgz#686cd8ccf41d10ba24e8d49e7e58e9b12569f86a" + integrity sha512-Fib3Py1moaeRkIRCZyKmqHvuWGf1x3SXE5vjFc5L13EMgycO6edNgkLFa/0zSy+oZHzkNneLY3Ozt7UZFy0k6g== open@^7.4.2: version "7.4.2" @@ -10280,9 +10320,9 @@ pacote@^13.0.3, pacote@^13.6.1, pacote@^13.6.2: tar "^6.1.11" pacote@^15.0.0, pacote@^15.0.8: - version "15.1.3" - resolved "https://registry.npmjs.org/pacote/-/pacote-15.1.3.tgz#4c0e7fb5e7ab3b27fb3f86514b451ad4c4f64e9d" - integrity sha512-aRts8cZqxiJVDitmAh+3z+FxuO3tLNWEmwDRPEpDDiZJaRz06clP4XX112ynMT5uF0QNoMPajBBHnaStUEPJXA== + version "15.2.0" + resolved "https://registry.npmjs.org/pacote/-/pacote-15.2.0.tgz#0f0dfcc3e60c7b39121b2ac612bf8596e95344d3" + integrity sha512-rJVZeIwHTUta23sIZgEIM62WYwbmGbThdbnkt81ravBplQv+HjyroqnLRNH2+sLJHcGZmLRmhPwACqhfTcOmnA== dependencies: "@npmcli/git" "^4.0.0" "@npmcli/installed-package-contents" "^2.0.1" @@ -10431,12 +10471,12 @@ path-parse@^1.0.7: integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== path-scurry@^1.6.1, path-scurry@^1.7.0: - version "1.9.1" - resolved "https://registry.npmjs.org/path-scurry/-/path-scurry-1.9.1.tgz#838566bb22e38feaf80ecd49ae06cd12acd782ee" - integrity sha512-UgmoiySyjFxP6tscZDgWGEAgsW5ok8W3F5CJDnnH2pozwSTGE6eH7vwTotMwATWA2r5xqdkKdxYPkwlJjAI/3g== + version "1.9.2" + resolved "https://registry.npmjs.org/path-scurry/-/path-scurry-1.9.2.tgz#90f9d296ac5e37e608028e28a447b11d385b3f63" + integrity sha512-qSDLy2aGFPm8i4rsbHd4MNyTcrzHFsLQykrtbuGRknZZCBBVXSv2tSCDN2Cg6Rt/GFRw8GoW9y9Ecw5rIPG1sg== dependencies: lru-cache "^9.1.1" - minipass "^5.0.0 || ^6.0.0" + minipass "^5.0.0 || ^6.0.2" path-to-regexp@^1.7.0: version "1.8.0" @@ -10531,9 +10571,9 @@ postcss-values-parser@^5.0.0: quote-unquote "^1.0.0" postcss@^8.1.7, postcss@^8.4.6: - version "8.4.23" - resolved "https://registry.npmjs.org/postcss/-/postcss-8.4.23.tgz#df0aee9ac7c5e53e1075c24a3613496f9e6552ab" - integrity sha512-bQ3qMcpF6A/YjR55xtoTr0jGOlnPOKAIMdOWiv0EIT6HVPEaJiJB4NLljSbiHoC2RX7DN5Uvjtpbg1NPdwv1oA== + version "8.4.24" + resolved "https://registry.npmjs.org/postcss/-/postcss-8.4.24.tgz#f714dba9b2284be3cc07dbd2fc57ee4dc972d2df" + integrity sha512-M0RzbcI0sO/XJNucsGjvWU9ERWxb/ytp1w6dKtxTKgixdtQDq4rmx/g8W1hnaheq9jgwL/oyEdH5Bc4WwJKMqg== dependencies: nanoid "^3.3.6" picocolors "^1.0.0" @@ -10626,9 +10666,9 @@ progress@^2.0.0, progress@^2.0.3: integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== projen@^0.71.60: - version "0.71.60" - resolved "https://registry.npmjs.org/projen/-/projen-0.71.60.tgz#4c3973b8a2754947eb36746c1e2f6e1f8299d18e" - integrity sha512-/up45q54xkLQdG09lEnPWF/Yzph2YKW9RmOO5rXkrVUUJTDmFSw8gogxbLR3MIWxBovDeHj7cUElvev1x+VMnw== + version "0.71.94" + resolved "https://registry.npmjs.org/projen/-/projen-0.71.94.tgz#c730a1511cdf415d508543196d7d0d54f04ae854" + integrity sha512-zedd04Y1DDdqWVcgJ+RSBjE5ubkPjUm0Ln9ER0BnWRtdq/zUfhPeBNMRB7HtpgZFmWSmW4jKrySv/OwNtceLzA== dependencies: "@iarna/toml" "^2.2.5" case "^1.6.3" @@ -10904,9 +10944,9 @@ read-package-json@^5.0.0, read-package-json@^5.0.2: npm-normalize-package-bin "^2.0.0" read-package-json@^6.0.0: - version "6.0.3" - resolved "https://registry.npmjs.org/read-package-json/-/read-package-json-6.0.3.tgz#726116b75e00eac2075240995f05681af4ca7122" - integrity sha512-4QbpReW4kxFgeBQ0vPAqh2y8sXEB3D4t3jsXbJKIhBiF80KT6XRo45reqwtftju5J6ru1ax06A2Gb/wM1qCOEQ== + version "6.0.4" + resolved "https://registry.npmjs.org/read-package-json/-/read-package-json-6.0.4.tgz#90318824ec456c287437ea79595f4c2854708836" + integrity sha512-AEtWXYfopBj2z5N5PbkAOeNHRPUg5q+Nen7QLxV8M2zJq1ym6/lCz3fYNTCXe19puu2d06jfHhrP7v/S2PtMMw== dependencies: glob "^10.2.2" json-parse-even-better-errors "^3.0.0" @@ -11208,11 +11248,11 @@ rimraf@^4.4.1: glob "^9.2.0" rimraf@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/rimraf/-/rimraf-5.0.0.tgz#5bda14e410d7e4dd522154891395802ce032c2cb" - integrity sha512-Jf9llaP+RvaEVS5nPShYFhtXIrb3LRKP281ib3So0KkeZKo2wIKyq0Re7TOSwanasA423PSr6CCIL4bP6T040g== + version "5.0.1" + resolved "https://registry.npmjs.org/rimraf/-/rimraf-5.0.1.tgz#0881323ab94ad45fec7c0221f27ea1a142f3f0d0" + integrity sha512-OfFZdwtd3lZ+XZzYP/6gTACubwFcHdLRqS9UX3UwpU2dnGQYkPFISRwvM3w9IiB2w7bW5qGo/uAwE4SmXXSKvg== dependencies: - glob "^10.0.0" + glob "^10.2.5" run-async@^2.4.0: version "2.4.1" @@ -11439,11 +11479,12 @@ signal-exit@^4.0.1: integrity sha512-MY2/qGx4enyjprQnFaZsHib3Yadh3IXyV2C321GY0pjGfVBu4un0uDJkwgdxqO+Rdx8JMT8IfJIRwbYVz3Ob3Q== sigstore@^1.0.0, sigstore@^1.3.0, sigstore@^1.4.0: - version "1.5.2" - resolved "https://registry.npmjs.org/sigstore/-/sigstore-1.5.2.tgz#8d4c2a549341211cb08c687999843edc48c1a94c" - integrity sha512-X95v6xAAooVpn7PaB94TDmFeSO5SBfCtB1R23fvzr36WTfjtkiiyOeei979nbTjc8nzh6FSLeltQZuODsm1EjQ== + version "1.6.0" + resolved "https://registry.npmjs.org/sigstore/-/sigstore-1.6.0.tgz#887a4007c6ee83f3ef3fd844be1a0840e849c301" + integrity sha512-QODKff/qW/TXOZI6V/Clqu74xnInAS6it05mufj4/fSewexLtfEntgLZZcBtUK44CDQyUE5TUXYy1ARYzlfG9g== dependencies: "@sigstore/protobuf-specs" "^0.1.0" + "@sigstore/tuf" "^1.0.0" make-fetch-happen "^11.0.1" tuf-js "^1.1.3" @@ -11466,7 +11507,7 @@ sinon@^11.1.1: nise "^5.1.0" supports-color "^7.2.0" -sinon@^14.0.2: +sinon@^14.0.1, sinon@^14.0.2: version "14.0.2" resolved "https://registry.npmjs.org/sinon/-/sinon-14.0.2.tgz#585a81a3c7b22cf950762ac4e7c28eb8b151c46f" integrity sha512-PDpV0ZI3ZCS3pEqx0vpNp6kzPhHrLx72wA0G+ZLaaJjLIYeE0n8INlgaohKuGy7hP0as5tbUd23QWu5U233t+w== @@ -11747,10 +11788,10 @@ stream-chain@^2.2.5: resolved "https://registry.npmjs.org/stream-chain/-/stream-chain-2.2.5.tgz#b30967e8f14ee033c5b9a19bbe8a2cba90ba0d09" integrity sha512-1TJmBx6aSWqZ4tx7aTpBDXK0/e2hhcNSTV8+CbFJtDjbb+I1mZ8lHit0Grw9GRT+6JbIrrDd8esncgBi8aBXGA== -stream-json@^1.7.5: - version "1.7.5" - resolved "https://registry.npmjs.org/stream-json/-/stream-json-1.7.5.tgz#2ff0563011f22cea4f6a28dbfc0344a53c761fe4" - integrity sha512-NSkoVduGakxZ8a+pTPUlcGEeAGQpWL9rKJhOFCV+J/QtdQUEU5vtBgVg6eJXn8JB8RZvpbJWZGvXkhz70MLWoA== +stream-json@^1.7.5, stream-json@^1.8.0: + version "1.8.0" + resolved "https://registry.npmjs.org/stream-json/-/stream-json-1.8.0.tgz#53f486b2e3b4496c506131f8d7260ba42def151c" + integrity sha512-HZfXngYHUAr1exT4fxlbc1IOce1RYxp2ldeaf97LYCOPSoOqY/1Psp7iGvpb+6JIOgkra9zDYnPX01hGAHzEPw== dependencies: stream-chain "^2.2.5" @@ -11860,9 +11901,9 @@ strip-ansi@^3.0.1: ansi-regex "^2.0.0" strip-ansi@^7.0.1: - version "7.0.1" - resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz#61740a08ce36b61e50e65653f07060d000975fb2" - integrity sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw== + version "7.1.0" + resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz#d5b6568ca689d8561370b0707685d22434faff45" + integrity sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ== dependencies: ansi-regex "^6.0.1" @@ -12243,9 +12284,9 @@ tslib@^1.11.1, tslib@^1.8.1, tslib@^1.9.0: integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== tslib@^2.0.1, tslib@^2.1.0, tslib@^2.3.0, tslib@^2.3.1, tslib@^2.4.0, tslib@^2.5.0: - version "2.5.0" - resolved "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz#42bfed86f5787aeb41d031866c8f402429e0fddf" - integrity sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg== + version "2.5.3" + resolved "https://registry.npmjs.org/tslib/-/tslib-2.5.3.tgz#24944ba2d990940e6e982c4bea147aba80209913" + integrity sha512-mSxlJJwl3BMEQCUNnxXBU9jP4JBktcEGhURcPR6VQVlnP0FdDEsIaz0C35dXNGLyRfrATNofF0F5p2KPxQgB+w== tsutils@^3.21.0: version "3.21.0" @@ -12255,13 +12296,13 @@ tsutils@^3.21.0: tslib "^1.8.1" tuf-js@^1.1.3: - version "1.1.6" - resolved "https://registry.npmjs.org/tuf-js/-/tuf-js-1.1.6.tgz#ad3e7a20237b83b51c2a8f9d1ddf093279a10fc2" - integrity sha512-CXwFVIsXGbVY4vFiWF7TJKWmlKJAT8TWkH4RmiohJRcDJInix++F0dznDmoVbtJNzZ8yLprKUG4YrDIhv3nBMg== + version "1.1.7" + resolved "https://registry.npmjs.org/tuf-js/-/tuf-js-1.1.7.tgz#21b7ae92a9373015be77dfe0cb282a80ec3bbe43" + integrity sha512-i3P9Kgw3ytjELUfpuKVDNBJvk4u5bXL6gskv572mcevPbSKCV3zt3djhmlEQ65yERjIbOSncy7U4cQJaB1CBCg== dependencies: "@tufjs/models" "1.0.4" debug "^4.3.4" - make-fetch-happen "^11.1.0" + make-fetch-happen "^11.1.1" tunnel@^0.0.6: version "0.0.6" @@ -12388,9 +12429,9 @@ typescript@^3.9.10, typescript@^3.9.5, typescript@^3.9.7, typescript@~3.9.10: integrity sha512-w6fIxVE/H1PkLKcCPsFqKE7Kv7QUwhU8qQY2MueZXWx5cPZdwFupLgKK3vntcK98BtNHZtAF4LA/yl2a7k8R6Q== typescript@next: - version "5.2.0-dev.20230517" - resolved "https://registry.npmjs.org/typescript/-/typescript-5.2.0-dev.20230517.tgz#6927c37887406ff250bc11f4256eb6136cc21475" - integrity sha512-mTT3ka5HTeudnNirocnOfr/0d2CEvZExrJpP8YXqAvdwlwjwNPJ4TqHHiL1y9lx3RfsUWu6HSX539ZxngUTqeA== + version "5.2.0-dev.20230613" + resolved "https://registry.npmjs.org/typescript/-/typescript-5.2.0-dev.20230613.tgz#f457671bd62c13e24b5639d66a3c358a74ef2920" + integrity sha512-76DHxBtq2NDOqhgigPmAEVdBx2IDUi/RGXUAZIx+H1tcoSb38tdN3pq8U1ZaohCqAGH2Jlv/cWRSvRT27D8cxg== typescript@~5.0.4: version "5.0.4" @@ -12494,7 +12535,7 @@ upath@2.0.1, upath@^2.0.1: resolved "https://registry.npmjs.org/upath/-/upath-2.0.1.tgz#50c73dea68d6f6b990f51d279ce6081665d61a8b" integrity sha512-1uEe95xksV1O0CYKXo8vQvN1JEbtJp7lb7C5U9HMsIp6IVwntkH/oNUzyVNQSd4S1sYk2FpSSW44FqMc8qee5w== -update-browserslist-db@^1.0.10: +update-browserslist-db@^1.0.11: version "1.0.11" resolved "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz#9a2a641ad2907ae7b3616506f4b977851db5b940" integrity sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA== @@ -12754,9 +12795,9 @@ winston-transport@^4.5.0: triple-beam "^1.3.0" winston@^3.7.2: - version "3.8.2" - resolved "https://registry.npmjs.org/winston/-/winston-3.8.2.tgz#56e16b34022eb4cff2638196d9646d7430fdad50" - integrity sha512-MsE1gRx1m5jdTTO9Ld/vND4krP2To+lgDoMEHGGa4HIlAUyXJtfc7CxQcGXVyz2IBpw5hbFkj2b/AtUdQwyRew== + version "3.9.0" + resolved "https://registry.npmjs.org/winston/-/winston-3.9.0.tgz#2bbdeb8167a75fac6d9a0c6d002890cd908016c2" + integrity sha512-jW51iW/X95BCW6MMtZWr2jKQBP4hV5bIDq9QrIjfDk6Q9QuxvTKEAlpUNAzP+HYHFFCeENhph16s0zEunu4uuQ== dependencies: "@colors/colors" "1.5.0" "@dabh/diagnostics" "^2.0.2" @@ -12973,11 +13014,16 @@ yaml@1.10.2, yaml@^1.10.0, yaml@^1.10.2: resolved "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== -yaml@2.2.2, yaml@^2.2.2: +yaml@2.2.2: version "2.2.2" resolved "https://registry.npmjs.org/yaml/-/yaml-2.2.2.tgz#ec551ef37326e6d42872dad1970300f8eb83a073" integrity sha512-CBKFWExMn46Foo4cldiChEzn7S7SRV+wqiluAb6xmueD/fGyRHIhX8m14vVGgeFWjN540nKCNVj6P21eQjgTuA== +yaml@^2.2.2: + version "2.3.1" + resolved "https://registry.npmjs.org/yaml/-/yaml-2.3.1.tgz#02fe0975d23cd441242aa7204e09fc28ac2ac33b" + integrity sha512-2eHWfjaoXgTBC2jNM1LRef62VQa0umtvRiDSk6HSzW7RvS5YtkabJrwYLLEKWBc8a5U2PTSCs+dJjUTJdlHsWQ== + yargs-parser@20.2.4: version "20.2.4" resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz#b42890f14566796f85ae8e3a25290d205f154a54" From 7f63d81d9e26fae9668991a462335f764f07556a Mon Sep 17 00:00:00 2001 From: AWS CDK Automation <43080478+aws-cdk-automation@users.noreply.github.com> Date: Wed, 14 Jun 2023 05:55:58 -0400 Subject: [PATCH 3/8] docs(cfnspec): update CloudFormation documentation (#25971) --- .../spec-source/cfn-docs/cfn-docs.json | 58 +++++++++---------- 1 file changed, 29 insertions(+), 29 deletions(-) diff --git a/packages/@aws-cdk/cfnspec/spec-source/cfn-docs/cfn-docs.json b/packages/@aws-cdk/cfnspec/spec-source/cfn-docs/cfn-docs.json index fb14b93a44bfc..fa8dbb6071c7f 100644 --- a/packages/@aws-cdk/cfnspec/spec-source/cfn-docs/cfn-docs.json +++ b/packages/@aws-cdk/cfnspec/spec-source/cfn-docs/cfn-docs.json @@ -8808,7 +8808,7 @@ "properties": { "EndsWith": "An operator that includes events that match the last few characters of the event record field specified as the value of `Field` .", "Equals": "An operator that includes events that match the exact value of the event record field specified as the value of `Field` . This is the only valid operator that you can use with the `readOnly` , `eventCategory` , and `resources.type` fields.", - "Field": "A field in a CloudTrail event record on which to filter events to be logged. For event data stores for AWS Config configuration items, Audit Manager evidence, or non- AWS events, the field is used only for selecting events as filtering is not supported.\n\nFor CloudTrail event records, supported fields include `readOnly` , `eventCategory` , `eventSource` (for management events), `eventName` , `resources.type` , and `resources.ARN` .\n\nFor event data stores for AWS Config configuration items, Audit Manager evidence, or non- AWS events, the only supported field is `eventCategory` .\n\n- *`readOnly`* - Optional. Can be set to `Equals` a value of `true` or `false` . If you do not add this field, CloudTrail logs both `read` and `write` events. A value of `true` logs only `read` events. A value of `false` logs only `write` events.\n- *`eventSource`* - For filtering management events only. This can be set only to `NotEquals` `kms.amazonaws.com` .\n- *`eventName`* - Can use any operator. You can use it to \ufb01lter in or \ufb01lter out any data event logged to CloudTrail, such as `PutBucket` or `GetSnapshotBlock` . You can have multiple values for this \ufb01eld, separated by commas.\n- *`eventCategory`* - This is required and must be set to `Equals` .\n\n- For CloudTrail event records, the value must be `Management` or `Data` .\n- For AWS Config configuration items, the value must be `ConfigurationItem` .\n- For Audit Manager evidence, the value must be `Evidence` .\n- For non- AWS events, the value must be `ActivityAuditLog` .\n- *`resources.type`* - This \ufb01eld is required for CloudTrail data events. `resources.type` can only use the `Equals` operator, and the value can be one of the following:\n\n- `AWS::DynamoDB::Table`\n- `AWS::Lambda::Function`\n- `AWS::S3::Object`\n- `AWS::CloudTrail::Channel`\n- `AWS::CodeWhisperer::Profile`\n- `AWS::Cognito::IdentityPool`\n- `AWS::DynamoDB::Stream`\n- `AWS::EC2::Snapshot`\n- `AWS::EMRWAL::Workspace`\n- `AWS::FinSpace::Environment`\n- `AWS::Glue::Table`\n- `AWS::GuardDuty::Detector`\n- `AWS::KendraRanking::ExecutionPlan`\n- `AWS::ManagedBlockchain::Node`\n- `AWS::SageMaker::ExperimentTrialComponent`\n- `AWS::SageMaker::FeatureGroup`\n- `AWS::S3::AccessPoint`\n- `AWS::S3ObjectLambda::AccessPoint`\n- `AWS::S3Outposts::Object`\n\nYou can have only one `resources.type` \ufb01eld per selector. To log data events on more than one resource type, add another selector.\n- *`resources.ARN`* - You can use any operator with `resources.ARN` , but if you use `Equals` or `NotEquals` , the value must exactly match the ARN of a valid resource of the type you've speci\ufb01ed in the template as the value of resources.type. For example, if resources.type equals `AWS::S3::Object` , the ARN must be in one of the following formats. To log all data events for all objects in a specific S3 bucket, use the `StartsWith` operator, and include only the bucket ARN as the matching value.\n\nThe trailing slash is intentional; do not exclude it. Replace the text between less than and greater than symbols (<>) with resource-specific information.\n\n- `arn::s3:::/`\n- `arn::s3::://`\n\nWhen resources.type equals `AWS::DynamoDB::Table` , and the operator is set to `Equals` or `NotEquals` , the ARN must be in the following format:\n\n- `arn::dynamodb:::table/`\n\nWhen resources.type equals `AWS::Lambda::Function` , and the operator is set to `Equals` or `NotEquals` , the ARN must be in the following format:\n\n- `arn::lambda:::function:`\n\nWhen resources.type equals `AWS::CloudTrail::Channel` , and the operator is set to `Equals` or `NotEquals` , the ARN must be in the following format:\n\n- `arn::cloudtrail:::channel/`\n\nWhen resources.type equals `AWS::CodeWhisperer::Profile` , and the operator is set to `Equals` or `NotEquals` , the ARN must be in the following format:\n\n- `arn::codewhisperer:::profile/`\n\nWhen resources.type equals `AWS::Cognito::IdentityPool` , and the operator is set to `Equals` or `NotEquals` , the ARN must be in the following format:\n\n- `arn::cognito-identity:::identitypool/`\n\nWhen `resources.type` equals `AWS::DynamoDB::Stream` , and the operator is set to `Equals` or `NotEquals` , the ARN must be in the following format:\n\n- `arn::dynamodb:::table//stream/`\n\nWhen `resources.type` equals `AWS::EC2::Snapshot` , and the operator is set to `Equals` or `NotEquals` , the ARN must be in the following format:\n\n- `arn::ec2:::snapshot/`\n\nWhen `resources.type` equals `AWS::EMRWAL::Workspace` , and the operator is set to `Equals` or `NotEquals` , the ARN must be in the following format:\n\n- `arn::emrwal:::workspace/`\n\nWhen `resources.type` equals `AWS::FinSpace::Environment` , and the operator is set to `Equals` or `NotEquals` , the ARN must be in the following format:\n\n- `arn::finspace:::environment/`\n\nWhen `resources.type` equals `AWS::Glue::Table` , and the operator is set to `Equals` or `NotEquals` , the ARN must be in the following format:\n\n- `arn::glue:::table//`\n\nWhen `resources.type` equals `AWS::GuardDuty::Detector` , and the operator is set to `Equals` or `NotEquals` , the ARN must be in the following format:\n\n- `arn::guardduty:::detector/`\n\nWhen `resources.type` equals `AWS::KendraRanking::ExecutionPlan` , and the operator is set to `Equals` or `NotEquals` , the ARN must be in the following format:\n\n- `arn::kendra-ranking:::rescore-execution-plan/`\n\nWhen `resources.type` equals `AWS::ManagedBlockchain::Node` , and the operator is set to `Equals` or `NotEquals` , the ARN must be in the following format:\n\n- `arn::managedblockchain:::nodes/`\n\nWhen `resources.type` equals `AWS::SageMaker::ExperimentTrialComponent` , and the operator is set to `Equals` or `NotEquals` , the ARN must be in the following format:\n\n- `arn::sagemaker:::experiment-trial-component/`\n\nWhen `resources.type` equals `AWS::SageMaker::FeatureGroup` , and the operator is set to `Equals` or `NotEquals` , the ARN must be in the following format:\n\n- `arn::sagemaker:::feature-group/`\n\nWhen `resources.type` equals `AWS::S3::AccessPoint` , and the operator is set to `Equals` or `NotEquals` , the ARN must be in one of the following formats. To log events on all objects in an S3 access point, we recommend that you use only the access point ARN, don\u2019t include the object path, and use the `StartsWith` or `NotStartsWith` operators.\n\n- `arn::s3:::accesspoint/`\n- `arn::s3:::accesspoint//object/`\n\nWhen `resources.type` equals `AWS::S3ObjectLambda::AccessPoint` , and the operator is set to `Equals` or `NotEquals` , the ARN must be in the following format:\n\n- `arn::s3-object-lambda:::accesspoint/`\n\nWhen `resources.type` equals `AWS::S3Outposts::Object` , and the operator is set to `Equals` or `NotEquals` , the ARN must be in the following format:\n\n- `arn::s3-outposts:::`", + "Field": "A field in a CloudTrail event record on which to filter events to be logged. For event data stores for AWS Config configuration items, Audit Manager evidence, or non- AWS events, the field is used only for selecting events as filtering is not supported.\n\nFor CloudTrail event records, supported fields include `readOnly` , `eventCategory` , `eventSource` (for management events), `eventName` , `resources.type` , and `resources.ARN` .\n\nFor event data stores for AWS Config configuration items, Audit Manager evidence, or non- AWS events, the only supported field is `eventCategory` .\n\n- *`readOnly`* - Optional. Can be set to `Equals` a value of `true` or `false` . If you do not add this field, CloudTrail logs both `read` and `write` events. A value of `true` logs only `read` events. A value of `false` logs only `write` events.\n- *`eventSource`* - For filtering management events only. This can be set only to `NotEquals` `kms.amazonaws.com` .\n- *`eventName`* - Can use any operator. You can use it to \ufb01lter in or \ufb01lter out any data event logged to CloudTrail, such as `PutBucket` or `GetSnapshotBlock` . You can have multiple values for this \ufb01eld, separated by commas.\n- *`eventCategory`* - This is required and must be set to `Equals` .\n\n- For CloudTrail event records, the value must be `Management` or `Data` .\n- For AWS Config configuration items, the value must be `ConfigurationItem` .\n- For Audit Manager evidence, the value must be `Evidence` .\n- For non- AWS events, the value must be `ActivityAuditLog` .\n- *`resources.type`* - This \ufb01eld is required for CloudTrail data events. `resources.type` can only use the `Equals` operator, and the value can be one of the following:\n\n- `AWS::DynamoDB::Table`\n- `AWS::Lambda::Function`\n- `AWS::S3::Object`\n- `AWS::CloudTrail::Channel`\n- `AWS::CodeWhisperer::Profile`\n- `AWS::Cognito::IdentityPool`\n- `AWS::DynamoDB::Stream`\n- `AWS::EC2::Snapshot`\n- `AWS::EMRWAL::Workspace`\n- `AWS::FinSpace::Environment`\n- `AWS::Glue::Table`\n- `AWS::GuardDuty::Detector`\n- `AWS::KendraRanking::ExecutionPlan`\n- `AWS::ManagedBlockchain::Node`\n- `AWS::SageMaker::ExperimentTrialComponent`\n- `AWS::SageMaker::FeatureGroup`\n- `AWS::S3::AccessPoint`\n- `AWS::S3ObjectLambda::AccessPoint`\n- `AWS::S3Outposts::Object`\n- `AWS::VerifiedPermissions::PolicyStore`\n\nYou can have only one `resources.type` \ufb01eld per selector. To log data events on more than one resource type, add another selector.\n- *`resources.ARN`* - You can use any operator with `resources.ARN` , but if you use `Equals` or `NotEquals` , the value must exactly match the ARN of a valid resource of the type you've speci\ufb01ed in the template as the value of resources.type. For example, if resources.type equals `AWS::S3::Object` , the ARN must be in one of the following formats. To log all data events for all objects in a specific S3 bucket, use the `StartsWith` operator, and include only the bucket ARN as the matching value.\n\nThe trailing slash is intentional; do not exclude it. Replace the text between less than and greater than symbols (<>) with resource-specific information.\n\n- `arn::s3:::/`\n- `arn::s3::://`\n\nWhen resources.type equals `AWS::DynamoDB::Table` , and the operator is set to `Equals` or `NotEquals` , the ARN must be in the following format:\n\n- `arn::dynamodb:::table/`\n\nWhen resources.type equals `AWS::Lambda::Function` , and the operator is set to `Equals` or `NotEquals` , the ARN must be in the following format:\n\n- `arn::lambda:::function:`\n\nWhen resources.type equals `AWS::CloudTrail::Channel` , and the operator is set to `Equals` or `NotEquals` , the ARN must be in the following format:\n\n- `arn::cloudtrail:::channel/`\n\nWhen resources.type equals `AWS::CodeWhisperer::Profile` , and the operator is set to `Equals` or `NotEquals` , the ARN must be in the following format:\n\n- `arn::codewhisperer:::profile/`\n\nWhen resources.type equals `AWS::Cognito::IdentityPool` , and the operator is set to `Equals` or `NotEquals` , the ARN must be in the following format:\n\n- `arn::cognito-identity:::identitypool/`\n\nWhen `resources.type` equals `AWS::DynamoDB::Stream` , and the operator is set to `Equals` or `NotEquals` , the ARN must be in the following format:\n\n- `arn::dynamodb:::table//stream/`\n\nWhen `resources.type` equals `AWS::EC2::Snapshot` , and the operator is set to `Equals` or `NotEquals` , the ARN must be in the following format:\n\n- `arn::ec2:::snapshot/`\n\nWhen `resources.type` equals `AWS::EMRWAL::Workspace` , and the operator is set to `Equals` or `NotEquals` , the ARN must be in the following format:\n\n- `arn::emrwal:::workspace/`\n\nWhen `resources.type` equals `AWS::FinSpace::Environment` , and the operator is set to `Equals` or `NotEquals` , the ARN must be in the following format:\n\n- `arn::finspace:::environment/`\n\nWhen `resources.type` equals `AWS::Glue::Table` , and the operator is set to `Equals` or `NotEquals` , the ARN must be in the following format:\n\n- `arn::glue:::table//`\n\nWhen `resources.type` equals `AWS::GuardDuty::Detector` , and the operator is set to `Equals` or `NotEquals` , the ARN must be in the following format:\n\n- `arn::guardduty:::detector/`\n\nWhen `resources.type` equals `AWS::KendraRanking::ExecutionPlan` , and the operator is set to `Equals` or `NotEquals` , the ARN must be in the following format:\n\n- `arn::kendra-ranking:::rescore-execution-plan/`\n\nWhen `resources.type` equals `AWS::ManagedBlockchain::Node` , and the operator is set to `Equals` or `NotEquals` , the ARN must be in the following format:\n\n- `arn::managedblockchain:::nodes/`\n\nWhen `resources.type` equals `AWS::SageMaker::ExperimentTrialComponent` , and the operator is set to `Equals` or `NotEquals` , the ARN must be in the following format:\n\n- `arn::sagemaker:::experiment-trial-component/`\n\nWhen `resources.type` equals `AWS::SageMaker::FeatureGroup` , and the operator is set to `Equals` or `NotEquals` , the ARN must be in the following format:\n\n- `arn::sagemaker:::feature-group/`\n\nWhen `resources.type` equals `AWS::S3::AccessPoint` , and the operator is set to `Equals` or `NotEquals` , the ARN must be in one of the following formats. To log events on all objects in an S3 access point, we recommend that you use only the access point ARN, don\u2019t include the object path, and use the `StartsWith` or `NotStartsWith` operators.\n\n- `arn::s3:::accesspoint/`\n- `arn::s3:::accesspoint//object/`\n\nWhen `resources.type` equals `AWS::S3ObjectLambda::AccessPoint` , and the operator is set to `Equals` or `NotEquals` , the ARN must be in the following format:\n\n- `arn::s3-object-lambda:::accesspoint/`\n\nWhen `resources.type` equals `AWS::S3Outposts::Object` , and the operator is set to `Equals` or `NotEquals` , the ARN must be in the following format:\n\n- `arn::s3-outposts:::`\n\nWhen resources.type equals `AWS::VerifiedPermissions::PolicyStore` , and the operator is set to `Equals` or `NotEquals` , the ARN must be in the following format:\n\n- `arn::verifiedpermissions:::policy-store/`", "NotEndsWith": "An operator that excludes events that match the last few characters of the event record field specified as the value of `Field` .", "NotEquals": "An operator that excludes events that match the exact value of the event record field specified as the value of `Field` .", "NotStartsWith": "An operator that excludes events that match the first few characters of the event record field specified as the value of `Field` .", @@ -8865,7 +8865,7 @@ "properties": { "EndsWith": "An operator that includes events that match the last few characters of the event record field specified as the value of `Field` .", "Equals": "An operator that includes events that match the exact value of the event record field specified as the value of `Field` . This is the only valid operator that you can use with the `readOnly` , `eventCategory` , and `resources.type` fields.", - "Field": "A field in a CloudTrail event record on which to filter events to be logged. For event data stores for AWS Config configuration items, Audit Manager evidence, or non- AWS events, the field is used only for selecting events as filtering is not supported.\n\nFor CloudTrail event records, supported fields include `readOnly` , `eventCategory` , `eventSource` (for management events), `eventName` , `resources.type` , and `resources.ARN` .\n\nFor event data stores for AWS Config configuration items, Audit Manager evidence, or non- AWS events, the only supported field is `eventCategory` .\n\n- *`readOnly`* - Optional. Can be set to `Equals` a value of `true` or `false` . If you do not add this field, CloudTrail logs both `read` and `write` events. A value of `true` logs only `read` events. A value of `false` logs only `write` events.\n- *`eventSource`* - For filtering management events only. This can be set only to `NotEquals` `kms.amazonaws.com` .\n- *`eventName`* - Can use any operator. You can use it to \ufb01lter in or \ufb01lter out any data event logged to CloudTrail, such as `PutBucket` or `GetSnapshotBlock` . You can have multiple values for this \ufb01eld, separated by commas.\n- *`eventCategory`* - This is required and must be set to `Equals` .\n\n- For CloudTrail event records, the value must be `Management` or `Data` .\n- For AWS Config configuration items, the value must be `ConfigurationItem` .\n- For Audit Manager evidence, the value must be `Evidence` .\n- For non- AWS events, the value must be `ActivityAuditLog` .\n- *`resources.type`* - This \ufb01eld is required for CloudTrail data events. `resources.type` can only use the `Equals` operator, and the value can be one of the following:\n\n- `AWS::DynamoDB::Table`\n- `AWS::Lambda::Function`\n- `AWS::S3::Object`\n- `AWS::CloudTrail::Channel`\n- `AWS::CodeWhisperer::Profile`\n- `AWS::Cognito::IdentityPool`\n- `AWS::DynamoDB::Stream`\n- `AWS::EC2::Snapshot`\n- `AWS::EMRWAL::Workspace`\n- `AWS::FinSpace::Environment`\n- `AWS::Glue::Table`\n- `AWS::GuardDuty::Detector`\n- `AWS::KendraRanking::ExecutionPlan`\n- `AWS::ManagedBlockchain::Node`\n- `AWS::SageMaker::ExperimentTrialComponent`\n- `AWS::SageMaker::FeatureGroup`\n- `AWS::S3::AccessPoint`\n- `AWS::S3ObjectLambda::AccessPoint`\n- `AWS::S3Outposts::Object`\n\nYou can have only one `resources.type` \ufb01eld per selector. To log data events on more than one resource type, add another selector.\n- *`resources.ARN`* - You can use any operator with `resources.ARN` , but if you use `Equals` or `NotEquals` , the value must exactly match the ARN of a valid resource of the type you've speci\ufb01ed in the template as the value of resources.type. For example, if resources.type equals `AWS::S3::Object` , the ARN must be in one of the following formats. To log all data events for all objects in a specific S3 bucket, use the `StartsWith` operator, and include only the bucket ARN as the matching value.\n\nThe trailing slash is intentional; do not exclude it. Replace the text between less than and greater than symbols (<>) with resource-specific information.\n\n- `arn::s3:::/`\n- `arn::s3::://`\n\nWhen resources.type equals `AWS::DynamoDB::Table` , and the operator is set to `Equals` or `NotEquals` , the ARN must be in the following format:\n\n- `arn::dynamodb:::table/`\n\nWhen resources.type equals `AWS::Lambda::Function` , and the operator is set to `Equals` or `NotEquals` , the ARN must be in the following format:\n\n- `arn::lambda:::function:`\n\nWhen resources.type equals `AWS::CloudTrail::Channel` , and the operator is set to `Equals` or `NotEquals` , the ARN must be in the following format:\n\n- `arn::cloudtrail:::channel/`\n\nWhen resources.type equals `AWS::CodeWhisperer::Profile` , and the operator is set to `Equals` or `NotEquals` , the ARN must be in the following format:\n\n- `arn::codewhisperer:::profile/`\n\nWhen resources.type equals `AWS::Cognito::IdentityPool` , and the operator is set to `Equals` or `NotEquals` , the ARN must be in the following format:\n\n- `arn::cognito-identity:::identitypool/`\n\nWhen `resources.type` equals `AWS::DynamoDB::Stream` , and the operator is set to `Equals` or `NotEquals` , the ARN must be in the following format:\n\n- `arn::dynamodb:::table//stream/`\n\nWhen `resources.type` equals `AWS::EC2::Snapshot` , and the operator is set to `Equals` or `NotEquals` , the ARN must be in the following format:\n\n- `arn::ec2:::snapshot/`\n\nWhen `resources.type` equals `AWS::EMRWAL::Workspace` , and the operator is set to `Equals` or `NotEquals` , the ARN must be in the following format:\n\n- `arn::emrwal:::workspace/`\n\nWhen `resources.type` equals `AWS::FinSpace::Environment` , and the operator is set to `Equals` or `NotEquals` , the ARN must be in the following format:\n\n- `arn::finspace:::environment/`\n\nWhen `resources.type` equals `AWS::Glue::Table` , and the operator is set to `Equals` or `NotEquals` , the ARN must be in the following format:\n\n- `arn::glue:::table//`\n\nWhen `resources.type` equals `AWS::GuardDuty::Detector` , and the operator is set to `Equals` or `NotEquals` , the ARN must be in the following format:\n\n- `arn::guardduty:::detector/`\n\nWhen `resources.type` equals `AWS::KendraRanking::ExecutionPlan` , and the operator is set to `Equals` or `NotEquals` , the ARN must be in the following format:\n\n- `arn::kendra-ranking:::rescore-execution-plan/`\n\nWhen `resources.type` equals `AWS::ManagedBlockchain::Node` , and the operator is set to `Equals` or `NotEquals` , the ARN must be in the following format:\n\n- `arn::managedblockchain:::nodes/`\n\nWhen `resources.type` equals `AWS::SageMaker::ExperimentTrialComponent` , and the operator is set to `Equals` or `NotEquals` , the ARN must be in the following format:\n\n- `arn::sagemaker:::experiment-trial-component/`\n\nWhen `resources.type` equals `AWS::SageMaker::FeatureGroup` , and the operator is set to `Equals` or `NotEquals` , the ARN must be in the following format:\n\n- `arn::sagemaker:::feature-group/`\n\nWhen `resources.type` equals `AWS::S3::AccessPoint` , and the operator is set to `Equals` or `NotEquals` , the ARN must be in one of the following formats. To log events on all objects in an S3 access point, we recommend that you use only the access point ARN, don\u2019t include the object path, and use the `StartsWith` or `NotStartsWith` operators.\n\n- `arn::s3:::accesspoint/`\n- `arn::s3:::accesspoint//object/`\n\nWhen `resources.type` equals `AWS::S3ObjectLambda::AccessPoint` , and the operator is set to `Equals` or `NotEquals` , the ARN must be in the following format:\n\n- `arn::s3-object-lambda:::accesspoint/`\n\nWhen `resources.type` equals `AWS::S3Outposts::Object` , and the operator is set to `Equals` or `NotEquals` , the ARN must be in the following format:\n\n- `arn::s3-outposts:::`", + "Field": "A field in a CloudTrail event record on which to filter events to be logged. For event data stores for AWS Config configuration items, Audit Manager evidence, or non- AWS events, the field is used only for selecting events as filtering is not supported.\n\nFor CloudTrail event records, supported fields include `readOnly` , `eventCategory` , `eventSource` (for management events), `eventName` , `resources.type` , and `resources.ARN` .\n\nFor event data stores for AWS Config configuration items, Audit Manager evidence, or non- AWS events, the only supported field is `eventCategory` .\n\n- *`readOnly`* - Optional. Can be set to `Equals` a value of `true` or `false` . If you do not add this field, CloudTrail logs both `read` and `write` events. A value of `true` logs only `read` events. A value of `false` logs only `write` events.\n- *`eventSource`* - For filtering management events only. This can be set only to `NotEquals` `kms.amazonaws.com` .\n- *`eventName`* - Can use any operator. You can use it to \ufb01lter in or \ufb01lter out any data event logged to CloudTrail, such as `PutBucket` or `GetSnapshotBlock` . You can have multiple values for this \ufb01eld, separated by commas.\n- *`eventCategory`* - This is required and must be set to `Equals` .\n\n- For CloudTrail event records, the value must be `Management` or `Data` .\n- For AWS Config configuration items, the value must be `ConfigurationItem` .\n- For Audit Manager evidence, the value must be `Evidence` .\n- For non- AWS events, the value must be `ActivityAuditLog` .\n- *`resources.type`* - This \ufb01eld is required for CloudTrail data events. `resources.type` can only use the `Equals` operator, and the value can be one of the following:\n\n- `AWS::DynamoDB::Table`\n- `AWS::Lambda::Function`\n- `AWS::S3::Object`\n- `AWS::CloudTrail::Channel`\n- `AWS::CodeWhisperer::Profile`\n- `AWS::Cognito::IdentityPool`\n- `AWS::DynamoDB::Stream`\n- `AWS::EC2::Snapshot`\n- `AWS::EMRWAL::Workspace`\n- `AWS::FinSpace::Environment`\n- `AWS::Glue::Table`\n- `AWS::GuardDuty::Detector`\n- `AWS::KendraRanking::ExecutionPlan`\n- `AWS::ManagedBlockchain::Node`\n- `AWS::SageMaker::ExperimentTrialComponent`\n- `AWS::SageMaker::FeatureGroup`\n- `AWS::S3::AccessPoint`\n- `AWS::S3ObjectLambda::AccessPoint`\n- `AWS::S3Outposts::Object`\n- `AWS::VerifiedPermissions::PolicyStore`\n\nYou can have only one `resources.type` \ufb01eld per selector. To log data events on more than one resource type, add another selector.\n- *`resources.ARN`* - You can use any operator with `resources.ARN` , but if you use `Equals` or `NotEquals` , the value must exactly match the ARN of a valid resource of the type you've speci\ufb01ed in the template as the value of resources.type. For example, if resources.type equals `AWS::S3::Object` , the ARN must be in one of the following formats. To log all data events for all objects in a specific S3 bucket, use the `StartsWith` operator, and include only the bucket ARN as the matching value.\n\nThe trailing slash is intentional; do not exclude it. Replace the text between less than and greater than symbols (<>) with resource-specific information.\n\n- `arn::s3:::/`\n- `arn::s3::://`\n\nWhen resources.type equals `AWS::DynamoDB::Table` , and the operator is set to `Equals` or `NotEquals` , the ARN must be in the following format:\n\n- `arn::dynamodb:::table/`\n\nWhen resources.type equals `AWS::Lambda::Function` , and the operator is set to `Equals` or `NotEquals` , the ARN must be in the following format:\n\n- `arn::lambda:::function:`\n\nWhen resources.type equals `AWS::CloudTrail::Channel` , and the operator is set to `Equals` or `NotEquals` , the ARN must be in the following format:\n\n- `arn::cloudtrail:::channel/`\n\nWhen resources.type equals `AWS::CodeWhisperer::Profile` , and the operator is set to `Equals` or `NotEquals` , the ARN must be in the following format:\n\n- `arn::codewhisperer:::profile/`\n\nWhen resources.type equals `AWS::Cognito::IdentityPool` , and the operator is set to `Equals` or `NotEquals` , the ARN must be in the following format:\n\n- `arn::cognito-identity:::identitypool/`\n\nWhen `resources.type` equals `AWS::DynamoDB::Stream` , and the operator is set to `Equals` or `NotEquals` , the ARN must be in the following format:\n\n- `arn::dynamodb:::table//stream/`\n\nWhen `resources.type` equals `AWS::EC2::Snapshot` , and the operator is set to `Equals` or `NotEquals` , the ARN must be in the following format:\n\n- `arn::ec2:::snapshot/`\n\nWhen `resources.type` equals `AWS::EMRWAL::Workspace` , and the operator is set to `Equals` or `NotEquals` , the ARN must be in the following format:\n\n- `arn::emrwal:::workspace/`\n\nWhen `resources.type` equals `AWS::FinSpace::Environment` , and the operator is set to `Equals` or `NotEquals` , the ARN must be in the following format:\n\n- `arn::finspace:::environment/`\n\nWhen `resources.type` equals `AWS::Glue::Table` , and the operator is set to `Equals` or `NotEquals` , the ARN must be in the following format:\n\n- `arn::glue:::table//`\n\nWhen `resources.type` equals `AWS::GuardDuty::Detector` , and the operator is set to `Equals` or `NotEquals` , the ARN must be in the following format:\n\n- `arn::guardduty:::detector/`\n\nWhen `resources.type` equals `AWS::KendraRanking::ExecutionPlan` , and the operator is set to `Equals` or `NotEquals` , the ARN must be in the following format:\n\n- `arn::kendra-ranking:::rescore-execution-plan/`\n\nWhen `resources.type` equals `AWS::ManagedBlockchain::Node` , and the operator is set to `Equals` or `NotEquals` , the ARN must be in the following format:\n\n- `arn::managedblockchain:::nodes/`\n\nWhen `resources.type` equals `AWS::SageMaker::ExperimentTrialComponent` , and the operator is set to `Equals` or `NotEquals` , the ARN must be in the following format:\n\n- `arn::sagemaker:::experiment-trial-component/`\n\nWhen `resources.type` equals `AWS::SageMaker::FeatureGroup` , and the operator is set to `Equals` or `NotEquals` , the ARN must be in the following format:\n\n- `arn::sagemaker:::feature-group/`\n\nWhen `resources.type` equals `AWS::S3::AccessPoint` , and the operator is set to `Equals` or `NotEquals` , the ARN must be in one of the following formats. To log events on all objects in an S3 access point, we recommend that you use only the access point ARN, don\u2019t include the object path, and use the `StartsWith` or `NotStartsWith` operators.\n\n- `arn::s3:::accesspoint/`\n- `arn::s3:::accesspoint//object/`\n\nWhen `resources.type` equals `AWS::S3ObjectLambda::AccessPoint` , and the operator is set to `Equals` or `NotEquals` , the ARN must be in the following format:\n\n- `arn::s3-object-lambda:::accesspoint/`\n\nWhen `resources.type` equals `AWS::S3Outposts::Object` , and the operator is set to `Equals` or `NotEquals` , the ARN must be in the following format:\n\n- `arn::s3-outposts:::`\n\nWhen resources.type equals `AWS::VerifiedPermissions::PolicyStore` , and the operator is set to `Equals` or `NotEquals` , the ARN must be in the following format:\n\n- `arn::verifiedpermissions:::policy-store/`", "NotEndsWith": "An operator that excludes events that match the last few characters of the event record field specified as the value of `Field` .", "NotEquals": "An operator that excludes events that match the exact value of the event record field specified as the value of `Field` .", "NotStartsWith": "An operator that excludes events that match the first few characters of the event record field specified as the value of `Field` .", @@ -64679,7 +64679,7 @@ "properties": { "LogDestinationConfigs": "The logging destination configuration that you want to associate with the web ACL.\n\n> You can associate one logging destination to a web ACL.", "LoggingFilter": "Filtering that specifies which web requests are kept in the logs and which are dropped. You can filter on the rule action and on the web request labels that were applied by matching rules during web ACL evaluation.", - "RedactedFields": "The parts of the request that you want to keep out of the logs. For example, if you redact the `SingleHeader` field, the `HEADER` field in the logs will be `REDACTED` .\n\n> You can specify only the following fields for redaction: `UriPath` , `QueryString` , `SingleHeader` , `Method` , and `JsonBody` .", + "RedactedFields": "The parts of the request that you want to keep out of the logs.\n\nFor example, if you redact the `SingleHeader` field, the `HEADER` field in the logs will be `REDACTED` for all rules that use the `SingleHeader` `FieldToMatch` setting.\n\nRedaction applies only to the component that's specified in the rule's `FieldToMatch` setting, so the `SingleHeader` redaction doesn't apply to rules that use the `Headers` `FieldToMatch` .\n\n> You can specify only the following fields for redaction: `UriPath` , `QueryString` , `SingleHeader` , and `Method` .", "ResourceArn": "The Amazon Resource Name (ARN) of the web ACL that you want to associate with `LogDestinationConfigs` ." } }, @@ -65204,7 +65204,7 @@ "properties": { "LoginPath": "The path of the login endpoint for your application. For example, for the URL `https://example.com/web/login` , you would provide the path `/web/login` .\n\nThe rule group inspects only HTTP `POST` requests to your specified login endpoint.", "RequestInspection": "The criteria for inspecting login requests, used by the ATP rule group to validate credentials usage.", - "ResponseInspection": "The criteria for inspecting responses to login requests, used by the ATP rule group to track login failure rates.\n\nThe ATP rule group evaluates the responses that your protected resources send back to client login attempts, keeping count of successful and failed attempts from each IP address and client session. Using this information, the rule group labels and mitigates requests from client sessions and IP addresses that submit too many failed login attempts in a short amount of time.\n\n> Response inspection is available only in web ACLs that protect Amazon CloudFront distributions." + "ResponseInspection": "The criteria for inspecting responses to login requests, used by the ATP rule group to track login failure rates.\n\n> Response inspection is available only in web ACLs that protect Amazon CloudFront distributions. \n\nThe ATP rule group evaluates the responses that your protected resources send back to client login attempts, keeping count of successful and failed attempts for each IP address and client session. Using this information, the rule group labels and mitigates requests from client sessions and IP addresses that have had too many failed login attempts in a short amount of time." } }, "AWS::WAFv2::WebACL.AWSManagedRulesBotControlRuleSet": { @@ -65474,9 +65474,9 @@ "AWSManagedRulesATPRuleSet": "Additional configuration for using the account takeover prevention (ATP) managed rule group, `AWSManagedRulesATPRuleSet` . Use this to provide login request information to the rule group. For web ACLs that protect CloudFront distributions, use this to also provide the information about how your distribution responds to login requests.\n\nThis configuration replaces the individual configuration fields in `ManagedRuleGroupConfig` and provides additional feature configuration.\n\nFor information about using the ATP managed rule group, see [AWS WAF Fraud Control account takeover prevention (ATP) rule group](https://docs.aws.amazon.com/waf/latest/developerguide/aws-managed-rule-groups-atp.html) and [AWS WAF Fraud Control account takeover prevention (ATP)](https://docs.aws.amazon.com/waf/latest/developerguide/waf-atp.html) in the *AWS WAF Developer Guide* .", "AWSManagedRulesBotControlRuleSet": "Additional configuration for using the Bot Control managed rule group. Use this to specify the inspection level that you want to use. For information about using the Bot Control managed rule group, see [AWS WAF Bot Control rule group](https://docs.aws.amazon.com/waf/latest/developerguide/aws-managed-rule-groups-bot.html) and [AWS WAF Bot Control](https://docs.aws.amazon.com/waf/latest/developerguide/waf-bot-control.html) in the *AWS WAF Developer Guide* .", "LoginPath": "> Instead of this setting, provide your configuration under `AWSManagedRulesATPRuleSet` .", - "PasswordField": "> Instead of this setting, provide your configuration under `AWSManagedRulesATPRuleSet` `RequestInspection` .", - "PayloadType": "> Instead of this setting, provide your configuration under `AWSManagedRulesATPRuleSet` `RequestInspection` .", - "UsernameField": "> Instead of this setting, provide your configuration under `AWSManagedRulesATPRuleSet` `RequestInspection` ." + "PasswordField": "> Instead of this setting, provide your configuration under the request inspection configuration for `AWSManagedRulesATPRuleSet` or `AWSManagedRulesACFPRuleSet` .", + "PayloadType": "> Instead of this setting, provide your configuration under the request inspection configuration for `AWSManagedRulesATPRuleSet` or `AWSManagedRulesACFPRuleSet` .", + "UsernameField": "> Instead of this setting, provide your configuration under the request inspection configuration for `AWSManagedRulesATPRuleSet` or `AWSManagedRulesACFPRuleSet` ." } }, "AWS::WAFv2::WebACL.ManagedRuleGroupStatement": { @@ -65484,7 +65484,7 @@ "description": "A rule statement used to run the rules that are defined in a managed rule group. To use this, provide the vendor name and the name of the rule group in this statement.\n\nYou cannot nest a `ManagedRuleGroupStatement` , for example for use inside a `NotStatement` or `OrStatement` . It can only be referenced as a top-level statement within a rule.", "properties": { "ExcludedRules": "Rules in the referenced rule group whose actions are set to `Count` .\n\n> Instead of this option, use `RuleActionOverrides` . It accepts any valid action setting, including `Count` .", - "ManagedRuleGroupConfigs": "Additional information that's used by a managed rule group. Many managed rule groups don't require this.\n\nUse the `AWSManagedRulesATPRuleSet` configuration object for the account takeover prevention managed rule group, to provide information such as the sign-in page of your application and the type of content to accept or reject from the client.\n\nUse the `AWSManagedRulesBotControlRuleSet` configuration object to configure the protection level that you want the Bot Control rule group to use.", + "ManagedRuleGroupConfigs": "Additional information that's used by a managed rule group. Many managed rule groups don't require this.\n\nThe rule groups used for intelligent threat mitigation require additional configuration:\n\n- Use the `AWSManagedRulesACFPRuleSet` configuration object to configure the account creation fraud prevention managed rule group. The configuration includes the registration and sign-up pages of your application and the locations in the account creation request payload of data, such as the user email and phone number fields.\n- Use the `AWSManagedRulesATPRuleSet` configuration object to configure the account takeover prevention managed rule group. The configuration includes the sign-in page of your application and the locations in the login request payload of data such as the username and password.\n- Use the `AWSManagedRulesBotControlRuleSet` configuration object to configure the protection level that you want the Bot Control rule group to use.", "Name": "The name of the managed rule group. You use this, along with the vendor name, to identify the rule group.", "RuleActionOverrides": "Action settings to use in the place of the rule actions that are configured inside the rule group. You specify one override for each rule whose action you want to change.\n\nYou can use overrides for testing, for example you can override all of rule actions to `Count` and then monitor the resulting count metrics to understand how the rule group would handle your web traffic. You can also permanently override some or all actions, to modify how the rule group manages your web traffic.", "ScopeDownStatement": "An optional nested statement that narrows the scope of the web requests that are evaluated by the managed rule group. Requests are only evaluated by the rule group if they match the scope-down statement. You can use any nestable `Statement` in the scope-down statement, and you can nest statements at any level, the same as you can for a rule statement.", @@ -65546,53 +65546,53 @@ "attributes": {}, "description": "The criteria for inspecting login requests, used by the ATP rule group to validate credentials usage.\n\nThis is part of the `AWSManagedRulesATPRuleSet` configuration in `ManagedRuleGroupConfig` .\n\nIn these settings, you specify how your application accepts login attempts by providing the request payload type and the names of the fields within the request body where the username and password are provided.", "properties": { - "PasswordField": "Details about your login page password field.\n\nHow you specify this depends on the payload type.\n\n- For JSON payloads, specify the field name in JSON pointer syntax. For information about the JSON Pointer syntax, see the Internet Engineering Task Force (IETF) documentation [JavaScript Object Notation (JSON) Pointer](https://docs.aws.amazon.com/https://tools.ietf.org/html/rfc6901) .\n\nFor example, for the JSON payload `{ \"login\": { \"username\": \"THE_USERNAME\", \"password\": \"THE_PASSWORD\" } }` , the username field specification is `/login/username` and the password field specification is `/login/password` .\n- For form encoded payload types, use the HTML form names.\n\nFor example, for an HTML form with input elements named `username1` and `password1` , the username field specification is `username1` and the password field specification is `password1` .", + "PasswordField": "The name of the field in the request payload that contains your customer's password.\n\nHow you specify this depends on the request inspection payload type.\n\n- For JSON payloads, specify the field name in JSON pointer syntax. For information about the JSON Pointer syntax, see the Internet Engineering Task Force (IETF) documentation [JavaScript Object Notation (JSON) Pointer](https://docs.aws.amazon.com/https://tools.ietf.org/html/rfc6901) .\n\nFor example, for the JSON payload `{ \"form\": { \"password\": \"THE_PASSWORD\" } }` , the password field specification is `/form/password` .\n- For form encoded payload types, use the HTML form names.\n\nFor example, for an HTML form with the input element named `password1` , the password field specification is `password1` .", "PayloadType": "The payload type for your login endpoint, either JSON or form encoded.", - "UsernameField": "Details about your login page username field.\n\nHow you specify this depends on the payload type.\n\n- For JSON payloads, specify the field name in JSON pointer syntax. For information about the JSON Pointer syntax, see the Internet Engineering Task Force (IETF) documentation [JavaScript Object Notation (JSON) Pointer](https://docs.aws.amazon.com/https://tools.ietf.org/html/rfc6901) .\n\nFor example, for the JSON payload `{ \"login\": { \"username\": \"THE_USERNAME\", \"password\": \"THE_PASSWORD\" } }` , the username field specification is `/login/username` and the password field specification is `/login/password` .\n- For form encoded payload types, use the HTML form names.\n\nFor example, for an HTML form with input elements named `username1` and `password1` , the username field specification is `username1` and the password field specification is `password1` ." + "UsernameField": "The name of the field in the request payload that contains your customer's username.\n\nHow you specify this depends on the request inspection payload type.\n\n- For JSON payloads, specify the field name in JSON pointer syntax. For information about the JSON Pointer syntax, see the Internet Engineering Task Force (IETF) documentation [JavaScript Object Notation (JSON) Pointer](https://docs.aws.amazon.com/https://tools.ietf.org/html/rfc6901) .\n\nFor example, for the JSON payload `{ \"form\": { \"username\": \"THE_USERNAME\" } }` , the username field specification is `/form/username` .\n- For form encoded payload types, use the HTML form names.\n\nFor example, for an HTML form with the input element named `username1` , the username field specification is `username1`" } }, "AWS::WAFv2::WebACL.ResponseInspection": { "attributes": {}, - "description": "The criteria for inspecting responses to login requests, used by the ATP rule group to track login failure rates.\n\nThe ATP rule group evaluates the responses that your protected resources send back to client login attempts, keeping count of successful and failed attempts from each IP address and client session. Using this information, the rule group labels and mitigates requests from client sessions and IP addresses that submit too many failed login attempts in a short amount of time.\n\n> Response inspection is available only in web ACLs that protect Amazon CloudFront distributions. \n\nThis is part of the `AWSManagedRulesATPRuleSet` configuration in `ManagedRuleGroupConfig` .\n\nEnable login response inspection by configuring exactly one component of the response to inspect. You can't configure more than one. If you don't configure any of the response inspection options, response inspection is disabled.", + "description": "The criteria for inspecting responses to login requests and account creation requests, used by the ATP and ACFP rule groups to track login and account creation success and failure rates.\n\n> Response inspection is available only in web ACLs that protect Amazon CloudFront distributions. \n\nThe rule groups evaluates the responses that your protected resources send back to client login and account creation attempts, keeping count of successful and failed attempts from each IP address and client session. Using this information, the rule group labels and mitigates requests from client sessions and IP addresses with too much suspicious activity in a short amount of time.\n\nThis is part of the `AWSManagedRulesATPRuleSet` and `AWSManagedRulesACFPRuleSet` configurations in `ManagedRuleGroupConfig` .\n\nEnable response inspection by configuring exactly one component of the response to inspect, for example, `Header` or `StatusCode` . You can't configure more than one component for inspection. If you don't configure any of the response inspection options, response inspection is disabled.", "properties": { - "BodyContains": "Configures inspection of the response body. AWS WAF can inspect the first 65,536 bytes (64 KB) of the response body.", - "Header": "Configures inspection of the response header.", - "Json": "Configures inspection of the response JSON. AWS WAF can inspect the first 65,536 bytes (64 KB) of the response JSON.", - "StatusCode": "Configures inspection of the response status code." + "BodyContains": "Configures inspection of the response body for success and failure indicators. AWS WAF can inspect the first 65,536 bytes (64 KB) of the response body.", + "Header": "Configures inspection of the response header for success and failure indicators.", + "Json": "Configures inspection of the response JSON for success and failure indicators. AWS WAF can inspect the first 65,536 bytes (64 KB) of the response JSON.", + "StatusCode": "Configures inspection of the response status code for success and failure indicators." } }, "AWS::WAFv2::WebACL.ResponseInspectionBodyContains": { "attributes": {}, - "description": "Configures inspection of the response body. AWS WAF can inspect the first 65,536 bytes (64 KB) of the response body. This is part of the `ResponseInspection` configuration for `AWSManagedRulesATPRuleSet` .\n\n> Response inspection is available only in web ACLs that protect Amazon CloudFront distributions.", + "description": "Configures inspection of the response body. AWS WAF can inspect the first 65,536 bytes (64 KB) of the response body. This is part of the `ResponseInspection` configuration for `AWSManagedRulesATPRuleSet` and `AWSManagedRulesACFPRuleSet` .\n\n> Response inspection is available only in web ACLs that protect Amazon CloudFront distributions.", "properties": { - "FailureStrings": "Strings in the body of the response that indicate a failed login attempt. To be counted as a failed login, the string can be anywhere in the body and must be an exact match, including case. Each string must be unique among the success and failure strings.\n\nJSON example: `\"FailureStrings\": [ \"Login failed\" ]`", - "SuccessStrings": "Strings in the body of the response that indicate a successful login attempt. To be counted as a successful login, the string can be anywhere in the body and must be an exact match, including case. Each string must be unique among the success and failure strings.\n\nJSON example: `\"SuccessStrings\": [ \"Login successful\", \"Welcome to our site!\" ]`" + "FailureStrings": "Strings in the body of the response that indicate a failed login or account creation attempt. To be counted as a failure, the string can be anywhere in the body and must be an exact match, including case. Each string must be unique among the success and failure strings.\n\nJSON example: `\"FailureStrings\": [ \"Request failed\" ]`", + "SuccessStrings": "Strings in the body of the response that indicate a successful login or account creation attempt. To be counted as a success, the string can be anywhere in the body and must be an exact match, including case. Each string must be unique among the success and failure strings.\n\nJSON examples: `\"SuccessStrings\": [ \"Login successful\" ]` and `\"SuccessStrings\": [ \"Account creation successful\", \"Welcome to our site!\" ]`" } }, "AWS::WAFv2::WebACL.ResponseInspectionHeader": { "attributes": {}, - "description": "Configures inspection of the response header. This is part of the `ResponseInspection` configuration for `AWSManagedRulesATPRuleSet` .\n\n> Response inspection is available only in web ACLs that protect Amazon CloudFront distributions.", + "description": "Configures inspection of the response header. This is part of the `ResponseInspection` configuration for `AWSManagedRulesATPRuleSet` and `AWSManagedRulesACFPRuleSet` .\n\n> Response inspection is available only in web ACLs that protect Amazon CloudFront distributions.", "properties": { - "FailureValues": "Values in the response header with the specified name that indicate a failed login attempt. To be counted as a failed login, the value must be an exact match, including case. Each value must be unique among the success and failure values.\n\nJSON example: `\"FailureValues\": [ \"LoginFailed\", \"Failed login\" ]`", - "Name": "The name of the header to match against. The name must be an exact match, including case.\n\nJSON example: `\"Name\": [ \"LoginResult\" ]`", - "SuccessValues": "Values in the response header with the specified name that indicate a successful login attempt. To be counted as a successful login, the value must be an exact match, including case. Each value must be unique among the success and failure values.\n\nJSON example: `\"SuccessValues\": [ \"LoginPassed\", \"Successful login\" ]`" + "FailureValues": "Values in the response header with the specified name that indicate a failed login or account creation attempt. To be counted as a failure, the value must be an exact match, including case. Each value must be unique among the success and failure values.\n\nJSON examples: `\"FailureValues\": [ \"LoginFailed\", \"Failed login\" ]` and `\"FailureValues\": [ \"AccountCreationFailed\" ]`", + "Name": "The name of the header to match against. The name must be an exact match, including case.\n\nJSON example: `\"Name\": [ \"RequestResult\" ]`", + "SuccessValues": "Values in the response header with the specified name that indicate a successful login or account creation attempt. To be counted as a success, the value must be an exact match, including case. Each value must be unique among the success and failure values.\n\nJSON examples: `\"SuccessValues\": [ \"LoginPassed\", \"Successful login\" ]` and `\"SuccessValues\": [ \"AccountCreated\", \"Successful account creation\" ]`" } }, "AWS::WAFv2::WebACL.ResponseInspectionJson": { "attributes": {}, - "description": "Configures inspection of the response JSON. AWS WAF can inspect the first 65,536 bytes (64 KB) of the response JSON. This is part of the `ResponseInspection` configuration for `AWSManagedRulesATPRuleSet` .\n\n> Response inspection is available only in web ACLs that protect Amazon CloudFront distributions.", + "description": "Configures inspection of the response JSON. AWS WAF can inspect the first 65,536 bytes (64 KB) of the response JSON. This is part of the `ResponseInspection` configuration for `AWSManagedRulesATPRuleSet` and `AWSManagedRulesACFPRuleSet` .\n\n> Response inspection is available only in web ACLs that protect Amazon CloudFront distributions.", "properties": { - "FailureValues": "Values for the specified identifier in the response JSON that indicate a failed login attempt. To be counted as a failed login, the value must be an exact match, including case. Each value must be unique among the success and failure values.\n\nJSON example: `\"FailureValues\": [ \"False\", \"Failed\" ]`", - "Identifier": "The identifier for the value to match against in the JSON. The identifier must be an exact match, including case.\n\nJSON example: `\"Identifier\": [ \"/login/success\" ]`", - "SuccessValues": "Values for the specified identifier in the response JSON that indicate a successful login attempt. To be counted as a successful login, the value must be an exact match, including case. Each value must be unique among the success and failure values.\n\nJSON example: `\"SuccessValues\": [ \"True\", \"Succeeded\" ]`" + "FailureValues": "Values for the specified identifier in the response JSON that indicate a failed login or account creation attempt. To be counted as a failure, the value must be an exact match, including case. Each value must be unique among the success and failure values.\n\nJSON example: `\"FailureValues\": [ \"False\", \"Failed\" ]`", + "Identifier": "The identifier for the value to match against in the JSON. The identifier must be an exact match, including case.\n\nJSON examples: `\"Identifier\": [ \"/login/success\" ]` and `\"Identifier\": [ \"/sign-up/success\" ]`", + "SuccessValues": "Values for the specified identifier in the response JSON that indicate a successful login or account creation attempt. To be counted as a success, the value must be an exact match, including case. Each value must be unique among the success and failure values.\n\nJSON example: `\"SuccessValues\": [ \"True\", \"Succeeded\" ]`" } }, "AWS::WAFv2::WebACL.ResponseInspectionStatusCode": { "attributes": {}, - "description": "Configures inspection of the response status code. This is part of the `ResponseInspection` configuration for `AWSManagedRulesATPRuleSet` .\n\n> Response inspection is available only in web ACLs that protect Amazon CloudFront distributions.", + "description": "Configures inspection of the response status code. This is part of the `ResponseInspection` configuration for `AWSManagedRulesATPRuleSet` and `AWSManagedRulesACFPRuleSet` .\n\n> Response inspection is available only in web ACLs that protect Amazon CloudFront distributions.", "properties": { - "FailureCodes": "Status codes in the response that indicate a failed login attempt. To be counted as a failed login, the response status code must match one of these. Each code must be unique among the success and failure status codes.\n\nJSON example: `\"FailureCodes\": [ 400, 404 ]`", - "SuccessCodes": "Status codes in the response that indicate a successful login attempt. To be counted as a successful login, the response status code must match one of these. Each code must be unique among the success and failure status codes.\n\nJSON example: `\"SuccessCodes\": [ 200, 201 ]`" + "FailureCodes": "Status codes in the response that indicate a failed login or account creation attempt. To be counted as a failure, the response status code must match one of these. Each code must be unique among the success and failure status codes.\n\nJSON example: `\"FailureCodes\": [ 400, 404 ]`", + "SuccessCodes": "Status codes in the response that indicate a successful login or account creation attempt. To be counted as a success, the response status code must match one of these. Each code must be unique among the success and failure status codes.\n\nJSON example: `\"SuccessCodes\": [ 200, 201 ]`" } }, "AWS::WAFv2::WebACL.Rule": { From d51bd8b9e0f0668b06e695ef43ad600d554e5863 Mon Sep 17 00:00:00 2001 From: Romain Marcadier Date: Wed, 14 Jun 2023 12:48:50 +0200 Subject: [PATCH 4/8] chore: fix security (non-)issue with poetry.lock in test (#25973) ---- *By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license* --- .../test/lambda-handler-poetry/poetry.lock | 121 ++++++++++++++---- .../test/lambda-handler-poetry/pyproject.toml | 4 +- 2 files changed, 98 insertions(+), 27 deletions(-) diff --git a/packages/@aws-cdk/aws-lambda-python-alpha/test/lambda-handler-poetry/poetry.lock b/packages/@aws-cdk/aws-lambda-python-alpha/test/lambda-handler-poetry/poetry.lock index e62049fd14bdd..ce6a5448f7df2 100644 --- a/packages/@aws-cdk/aws-lambda-python-alpha/test/lambda-handler-poetry/poetry.lock +++ b/packages/@aws-cdk/aws-lambda-python-alpha/test/lambda-handler-poetry/poetry.lock @@ -13,18 +13,88 @@ files = [ [[package]] name = "charset-normalizer" -version = "2.0.12" +version = "3.1.0" description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet." optional = false -python-versions = ">=3.5.0" +python-versions = ">=3.7.0" files = [ - {file = "charset-normalizer-2.0.12.tar.gz", hash = "sha256:2857e29ff0d34db842cd7ca3230549d1a697f96ee6d3fb071cfa6c7393832597"}, - {file = "charset_normalizer-2.0.12-py3-none-any.whl", hash = "sha256:6881edbebdb17b39b4eaaa821b438bf6eddffb4468cf344f09f89def34a8b1df"}, + {file = "charset-normalizer-3.1.0.tar.gz", hash = "sha256:34e0a2f9c370eb95597aae63bf85eb5e96826d81e3dcf88b8886012906f509b5"}, + {file = "charset_normalizer-3.1.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:e0ac8959c929593fee38da1c2b64ee9778733cdf03c482c9ff1d508b6b593b2b"}, + {file = "charset_normalizer-3.1.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d7fc3fca01da18fbabe4625d64bb612b533533ed10045a2ac3dd194bfa656b60"}, + {file = "charset_normalizer-3.1.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:04eefcee095f58eaabe6dc3cc2262f3bcd776d2c67005880894f447b3f2cb9c1"}, + {file = "charset_normalizer-3.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:20064ead0717cf9a73a6d1e779b23d149b53daf971169289ed2ed43a71e8d3b0"}, + {file = "charset_normalizer-3.1.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1435ae15108b1cb6fffbcea2af3d468683b7afed0169ad718451f8db5d1aff6f"}, + {file = "charset_normalizer-3.1.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c84132a54c750fda57729d1e2599bb598f5fa0344085dbde5003ba429a4798c0"}, + {file = "charset_normalizer-3.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:75f2568b4189dda1c567339b48cba4ac7384accb9c2a7ed655cd86b04055c795"}, + {file = "charset_normalizer-3.1.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:11d3bcb7be35e7b1bba2c23beedac81ee893ac9871d0ba79effc7fc01167db6c"}, + {file = "charset_normalizer-3.1.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:891cf9b48776b5c61c700b55a598621fdb7b1e301a550365571e9624f270c203"}, + {file = "charset_normalizer-3.1.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:5f008525e02908b20e04707a4f704cd286d94718f48bb33edddc7d7b584dddc1"}, + {file = "charset_normalizer-3.1.0-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:b06f0d3bf045158d2fb8837c5785fe9ff9b8c93358be64461a1089f5da983137"}, + {file = "charset_normalizer-3.1.0-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:49919f8400b5e49e961f320c735388ee686a62327e773fa5b3ce6721f7e785ce"}, + {file = "charset_normalizer-3.1.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:22908891a380d50738e1f978667536f6c6b526a2064156203d418f4856d6e86a"}, + {file = "charset_normalizer-3.1.0-cp310-cp310-win32.whl", hash = "sha256:12d1a39aa6b8c6f6248bb54550efcc1c38ce0d8096a146638fd4738e42284448"}, + {file = "charset_normalizer-3.1.0-cp310-cp310-win_amd64.whl", hash = "sha256:65ed923f84a6844de5fd29726b888e58c62820e0769b76565480e1fdc3d062f8"}, + {file = "charset_normalizer-3.1.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:9a3267620866c9d17b959a84dd0bd2d45719b817245e49371ead79ed4f710d19"}, + {file = "charset_normalizer-3.1.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6734e606355834f13445b6adc38b53c0fd45f1a56a9ba06c2058f86893ae8017"}, + {file = "charset_normalizer-3.1.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f8303414c7b03f794347ad062c0516cee0e15f7a612abd0ce1e25caf6ceb47df"}, + {file = "charset_normalizer-3.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:aaf53a6cebad0eae578f062c7d462155eada9c172bd8c4d250b8c1d8eb7f916a"}, + {file = "charset_normalizer-3.1.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3dc5b6a8ecfdc5748a7e429782598e4f17ef378e3e272eeb1340ea57c9109f41"}, + {file = "charset_normalizer-3.1.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e1b25e3ad6c909f398df8921780d6a3d120d8c09466720226fc621605b6f92b1"}, + {file = "charset_normalizer-3.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0ca564606d2caafb0abe6d1b5311c2649e8071eb241b2d64e75a0d0065107e62"}, + {file = "charset_normalizer-3.1.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b82fab78e0b1329e183a65260581de4375f619167478dddab510c6c6fb04d9b6"}, + {file = "charset_normalizer-3.1.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:bd7163182133c0c7701b25e604cf1611c0d87712e56e88e7ee5d72deab3e76b5"}, + {file = "charset_normalizer-3.1.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:11d117e6c63e8f495412d37e7dc2e2fff09c34b2d09dbe2bee3c6229577818be"}, + {file = "charset_normalizer-3.1.0-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:cf6511efa4801b9b38dc5546d7547d5b5c6ef4b081c60b23e4d941d0eba9cbeb"}, + {file = "charset_normalizer-3.1.0-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:abc1185d79f47c0a7aaf7e2412a0eb2c03b724581139193d2d82b3ad8cbb00ac"}, + {file = "charset_normalizer-3.1.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:cb7b2ab0188829593b9de646545175547a70d9a6e2b63bf2cd87a0a391599324"}, + {file = "charset_normalizer-3.1.0-cp311-cp311-win32.whl", hash = "sha256:c36bcbc0d5174a80d6cccf43a0ecaca44e81d25be4b7f90f0ed7bcfbb5a00909"}, + {file = "charset_normalizer-3.1.0-cp311-cp311-win_amd64.whl", hash = "sha256:cca4def576f47a09a943666b8f829606bcb17e2bc2d5911a46c8f8da45f56755"}, + {file = "charset_normalizer-3.1.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:0c95f12b74681e9ae127728f7e5409cbbef9cd914d5896ef238cc779b8152373"}, + {file = "charset_normalizer-3.1.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fca62a8301b605b954ad2e9c3666f9d97f63872aa4efcae5492baca2056b74ab"}, + {file = "charset_normalizer-3.1.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ac0aa6cd53ab9a31d397f8303f92c42f534693528fafbdb997c82bae6e477ad9"}, + {file = "charset_normalizer-3.1.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c3af8e0f07399d3176b179f2e2634c3ce9c1301379a6b8c9c9aeecd481da494f"}, + {file = "charset_normalizer-3.1.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3a5fc78f9e3f501a1614a98f7c54d3969f3ad9bba8ba3d9b438c3bc5d047dd28"}, + {file = "charset_normalizer-3.1.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:628c985afb2c7d27a4800bfb609e03985aaecb42f955049957814e0491d4006d"}, + {file = "charset_normalizer-3.1.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:74db0052d985cf37fa111828d0dd230776ac99c740e1a758ad99094be4f1803d"}, + {file = "charset_normalizer-3.1.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:1e8fcdd8f672a1c4fc8d0bd3a2b576b152d2a349782d1eb0f6b8e52e9954731d"}, + {file = "charset_normalizer-3.1.0-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:04afa6387e2b282cf78ff3dbce20f0cc071c12dc8f685bd40960cc68644cfea6"}, + {file = "charset_normalizer-3.1.0-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:dd5653e67b149503c68c4018bf07e42eeed6b4e956b24c00ccdf93ac79cdff84"}, + {file = "charset_normalizer-3.1.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:d2686f91611f9e17f4548dbf050e75b079bbc2a82be565832bc8ea9047b61c8c"}, + {file = "charset_normalizer-3.1.0-cp37-cp37m-win32.whl", hash = "sha256:4155b51ae05ed47199dc5b2a4e62abccb274cee6b01da5b895099b61b1982974"}, + {file = "charset_normalizer-3.1.0-cp37-cp37m-win_amd64.whl", hash = "sha256:322102cdf1ab682ecc7d9b1c5eed4ec59657a65e1c146a0da342b78f4112db23"}, + {file = "charset_normalizer-3.1.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:e633940f28c1e913615fd624fcdd72fdba807bf53ea6925d6a588e84e1151531"}, + {file = "charset_normalizer-3.1.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:3a06f32c9634a8705f4ca9946d667609f52cf130d5548881401f1eb2c39b1e2c"}, + {file = "charset_normalizer-3.1.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:7381c66e0561c5757ffe616af869b916c8b4e42b367ab29fedc98481d1e74e14"}, + {file = "charset_normalizer-3.1.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3573d376454d956553c356df45bb824262c397c6e26ce43e8203c4c540ee0acb"}, + {file = "charset_normalizer-3.1.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e89df2958e5159b811af9ff0f92614dabf4ff617c03a4c1c6ff53bf1c399e0e1"}, + {file = "charset_normalizer-3.1.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:78cacd03e79d009d95635e7d6ff12c21eb89b894c354bd2b2ed0b4763373693b"}, + {file = "charset_normalizer-3.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:de5695a6f1d8340b12a5d6d4484290ee74d61e467c39ff03b39e30df62cf83a0"}, + {file = "charset_normalizer-3.1.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1c60b9c202d00052183c9be85e5eaf18a4ada0a47d188a83c8f5c5b23252f649"}, + {file = "charset_normalizer-3.1.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:f645caaf0008bacf349875a974220f1f1da349c5dbe7c4ec93048cdc785a3326"}, + {file = "charset_normalizer-3.1.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:ea9f9c6034ea2d93d9147818f17c2a0860d41b71c38b9ce4d55f21b6f9165a11"}, + {file = "charset_normalizer-3.1.0-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:80d1543d58bd3d6c271b66abf454d437a438dff01c3e62fdbcd68f2a11310d4b"}, + {file = "charset_normalizer-3.1.0-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:73dc03a6a7e30b7edc5b01b601e53e7fc924b04e1835e8e407c12c037e81adbd"}, + {file = "charset_normalizer-3.1.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:6f5c2e7bc8a4bf7c426599765b1bd33217ec84023033672c1e9a8b35eaeaaaf8"}, + {file = "charset_normalizer-3.1.0-cp38-cp38-win32.whl", hash = "sha256:12a2b561af122e3d94cdb97fe6fb2bb2b82cef0cdca131646fdb940a1eda04f0"}, + {file = "charset_normalizer-3.1.0-cp38-cp38-win_amd64.whl", hash = "sha256:3160a0fd9754aab7d47f95a6b63ab355388d890163eb03b2d2b87ab0a30cfa59"}, + {file = "charset_normalizer-3.1.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:38e812a197bf8e71a59fe55b757a84c1f946d0ac114acafaafaf21667a7e169e"}, + {file = "charset_normalizer-3.1.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:6baf0baf0d5d265fa7944feb9f7451cc316bfe30e8df1a61b1bb08577c554f31"}, + {file = "charset_normalizer-3.1.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:8f25e17ab3039b05f762b0a55ae0b3632b2e073d9c8fc88e89aca31a6198e88f"}, + {file = "charset_normalizer-3.1.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3747443b6a904001473370d7810aa19c3a180ccd52a7157aacc264a5ac79265e"}, + {file = "charset_normalizer-3.1.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b116502087ce8a6b7a5f1814568ccbd0e9f6cfd99948aa59b0e241dc57cf739f"}, + {file = "charset_normalizer-3.1.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d16fd5252f883eb074ca55cb622bc0bee49b979ae4e8639fff6ca3ff44f9f854"}, + {file = "charset_normalizer-3.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:21fa558996782fc226b529fdd2ed7866c2c6ec91cee82735c98a197fae39f706"}, + {file = "charset_normalizer-3.1.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6f6c7a8a57e9405cad7485f4c9d3172ae486cfef1344b5ddd8e5239582d7355e"}, + {file = "charset_normalizer-3.1.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:ac3775e3311661d4adace3697a52ac0bab17edd166087d493b52d4f4f553f9f0"}, + {file = "charset_normalizer-3.1.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:10c93628d7497c81686e8e5e557aafa78f230cd9e77dd0c40032ef90c18f2230"}, + {file = "charset_normalizer-3.1.0-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:6f4f4668e1831850ebcc2fd0b1cd11721947b6dc7c00bf1c6bd3c929ae14f2c7"}, + {file = "charset_normalizer-3.1.0-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:0be65ccf618c1e7ac9b849c315cc2e8a8751d9cfdaa43027d4f6624bd587ab7e"}, + {file = "charset_normalizer-3.1.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:53d0a3fa5f8af98a1e261de6a3943ca631c526635eb5817a87a59d9a57ebf48f"}, + {file = "charset_normalizer-3.1.0-cp39-cp39-win32.whl", hash = "sha256:a04f86f41a8916fe45ac5024ec477f41f886b3c435da2d4e3d2709b22ab02af1"}, + {file = "charset_normalizer-3.1.0-cp39-cp39-win_amd64.whl", hash = "sha256:830d2948a5ec37c386d3170c483063798d7879037492540f10a475e3fd6f244b"}, + {file = "charset_normalizer-3.1.0-py3-none-any.whl", hash = "sha256:3d9098b479e78c85080c98e1e35ff40b4a31d8953102bb0fd7d1b6f8a2111a3d"}, ] -[package.extras] -unicode-backport = ["unicodedata2"] - [[package]] name = "idna" version = "3.4" @@ -38,42 +108,43 @@ files = [ [[package]] name = "requests" -version = "2.26.0" +version = "2.31.0" description = "Python HTTP for Humans." optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*" +python-versions = ">=3.7" files = [ - {file = "requests-2.26.0-py2.py3-none-any.whl", hash = "sha256:6c1246513ecd5ecd4528a0906f910e8f0f9c6b8ec72030dc9fd154dc1a6efd24"}, - {file = "requests-2.26.0.tar.gz", hash = "sha256:b8aa58f8cf793ffd8782d3d8cb19e66ef36f7aba4353eec859e74678b01b07a7"}, + {file = "requests-2.31.0-py3-none-any.whl", hash = "sha256:58cd2187c01e70e6e26505bca751777aa9f2ee0b7f4300988b709f44e013003f"}, + {file = "requests-2.31.0.tar.gz", hash = "sha256:942c5a758f98d790eaed1a29cb6eefc7ffb0d1cf7af05c3d2791656dbd6ad1e1"}, ] [package.dependencies] certifi = ">=2017.4.17" -charset-normalizer = {version = ">=2.0.0,<2.1.0", markers = "python_version >= \"3\""} -idna = {version = ">=2.5,<4", markers = "python_version >= \"3\""} -urllib3 = ">=1.21.1,<1.27" +charset-normalizer = ">=2,<4" +idna = ">=2.5,<4" +urllib3 = ">=1.21.1,<3" [package.extras] -socks = ["PySocks (>=1.5.6,!=1.5.7)", "win-inet-pton"] -use-chardet-on-py3 = ["chardet (>=3.0.2,<5)"] +socks = ["PySocks (>=1.5.6,!=1.5.7)"] +use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"] [[package]] name = "urllib3" -version = "1.26.16" +version = "2.0.3" description = "HTTP library with thread-safe connection pooling, file post, and more." optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*" +python-versions = ">=3.7" files = [ - {file = "urllib3-1.26.16-py2.py3-none-any.whl", hash = "sha256:8d36afa7616d8ab714608411b4a3b13e58f463aee519024578e062e141dce20f"}, - {file = "urllib3-1.26.16.tar.gz", hash = "sha256:8f135f6502756bde6b2a9b28989df5fbe87c9970cecaa69041edcce7f0589b14"}, + {file = "urllib3-2.0.3-py3-none-any.whl", hash = "sha256:48e7fafa40319d358848e1bc6809b208340fafe2096f1725d05d67443d0483d1"}, + {file = "urllib3-2.0.3.tar.gz", hash = "sha256:bee28b5e56addb8226c96f7f13ac28cb4c301dd5ea8a6ca179c0b9835e032825"}, ] [package.extras] -brotli = ["brotli (>=1.0.9)", "brotlicffi (>=0.8.0)", "brotlipy (>=0.6.0)"] -secure = ["certifi", "cryptography (>=1.3.4)", "idna (>=2.0.0)", "ipaddress", "pyOpenSSL (>=0.14)", "urllib3-secure-extra"] -socks = ["PySocks (>=1.5.6,!=1.5.7,<2.0)"] +brotli = ["brotli (>=1.0.9)", "brotlicffi (>=0.8.0)"] +secure = ["certifi", "cryptography (>=1.9)", "idna (>=2.0.0)", "pyopenssl (>=17.1.0)", "urllib3-secure-extra"] +socks = ["pysocks (>=1.5.6,!=1.5.7,<2.0)"] +zstd = ["zstandard (>=0.18.0)"] [metadata] lock-version = "2.0" -python-versions = "^3.6" -content-hash = "0688bcc269cb32eab2edeadcb342631e24cf30fd9ef54f8710010cc06cd523c5" +python-versions = "^3.7" +content-hash = "145a8027fc72e330c56d0cec0a43e986abeda7cd5d586f0ca8b76570f16d3a36" diff --git a/packages/@aws-cdk/aws-lambda-python-alpha/test/lambda-handler-poetry/pyproject.toml b/packages/@aws-cdk/aws-lambda-python-alpha/test/lambda-handler-poetry/pyproject.toml index 6d90c4b4fec9b..e874962655e7b 100644 --- a/packages/@aws-cdk/aws-lambda-python-alpha/test/lambda-handler-poetry/pyproject.toml +++ b/packages/@aws-cdk/aws-lambda-python-alpha/test/lambda-handler-poetry/pyproject.toml @@ -5,8 +5,8 @@ description = "" authors = ["Your Name "] [tool.poetry.dependencies] -python = "^3.6" -requests = "2.26.0" +python = "^3.7" +requests = "^2.31.0" [tool.poetry.dev-dependencies] From c135656bb0b6de9cce639218a83acf958f9bca4e Mon Sep 17 00:00:00 2001 From: Hirotaka Tagawa / wafuwafu13 Date: Wed, 14 Jun 2023 12:30:55 +0100 Subject: [PATCH 5/8] fix(core): prevent the error when the condition is split into groups of 10 and 1 in `Fn.conditionOr()` (#25708) Closes #25696 >The problem I'm running into is for a list of 11 elements. CDK generates two Fn::Or expressions: One with 10 elements and one with 1 element. When deployment this stack, CloudFormation complains that an Fn::Or must contain at least 2 elements. reproduce code: https://github.com/aws/aws-cdk/issues/25696#issuecomment-1560136915 approach: https://github.com/aws/aws-cdk/issues/25696#issuecomment-1559887661 ---- *By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license* --- packages/aws-cdk-lib/core/lib/cfn-fn.ts | 5 +- .../aws-cdk-lib/core/test/condition.test.ts | 100 ++++++++++++++++++ 2 files changed, 104 insertions(+), 1 deletion(-) diff --git a/packages/aws-cdk-lib/core/lib/cfn-fn.ts b/packages/aws-cdk-lib/core/lib/cfn-fn.ts index 889af6c465aec..2441aaabe56a0 100644 --- a/packages/aws-cdk-lib/core/lib/cfn-fn.ts +++ b/packages/aws-cdk-lib/core/lib/cfn-fn.ts @@ -334,7 +334,10 @@ export class Fn { if (conditions.length === 1) { return conditions[0] as ICfnRuleConditionExpression; } - return Fn.conditionOr(..._inGroupsOf(conditions, 10).map(group => new FnOr(...group))); + if (conditions.length <= 10) { + return new FnOr(...conditions); + } + return Fn.conditionOr(..._inGroupsOf(conditions, 10).map(group => Fn.conditionOr(...group))); } /** diff --git a/packages/aws-cdk-lib/core/test/condition.test.ts b/packages/aws-cdk-lib/core/test/condition.test.ts index 35666822b113f..cfb5670394122 100644 --- a/packages/aws-cdk-lib/core/test/condition.test.ts +++ b/packages/aws-cdk-lib/core/test/condition.test.ts @@ -59,4 +59,104 @@ describe('condition', () => { }, }); }); + + test('condition length is 10n + 1 in Fn.conditionOr', () => { + // GIVEN + const stack = new cdk.Stack(); + const expression = cdk.Fn.conditionOr( + cdk.Fn.conditionEquals('a', '1'), + cdk.Fn.conditionEquals('b', '2'), + cdk.Fn.conditionEquals('c', '3'), + cdk.Fn.conditionEquals('d', '4'), + cdk.Fn.conditionEquals('e', '5'), + cdk.Fn.conditionEquals('f', '6'), + cdk.Fn.conditionEquals('g', '7'), + cdk.Fn.conditionEquals('h', '8'), + cdk.Fn.conditionEquals('i', '9'), + cdk.Fn.conditionEquals('j', '10'), + cdk.Fn.conditionEquals('k', '11'), + ); + + // WHEN + new cdk.CfnCondition(stack, 'Condition', { expression }); + + // THEN + expect(toCloudFormation(stack)).toEqual({ + Conditions: { + Condition: { + 'Fn::Or': [ + { + 'Fn::Or': [ + { 'Fn::Equals': ['a', '1'] }, + { 'Fn::Equals': ['b', '2'] }, + { 'Fn::Equals': ['c', '3'] }, + { 'Fn::Equals': ['d', '4'] }, + { 'Fn::Equals': ['e', '5'] }, + { 'Fn::Equals': ['f', '6'] }, + { 'Fn::Equals': ['g', '7'] }, + { 'Fn::Equals': ['h', '8'] }, + { 'Fn::Equals': ['i', '9'] }, + { 'Fn::Equals': ['j', '10'] }, + ], + }, + { + 'Fn::Equals': ['k', '11'], + }, + ], + }, + }, + }); + }); + + test('condition length is more than 10 in Fn.conditionOr', () => { + // GIVEN + const stack = new cdk.Stack(); + const expression = cdk.Fn.conditionOr( + cdk.Fn.conditionEquals('a', '1'), + cdk.Fn.conditionEquals('b', '2'), + cdk.Fn.conditionEquals('c', '3'), + cdk.Fn.conditionEquals('d', '4'), + cdk.Fn.conditionEquals('e', '5'), + cdk.Fn.conditionEquals('f', '6'), + cdk.Fn.conditionEquals('g', '7'), + cdk.Fn.conditionEquals('h', '8'), + cdk.Fn.conditionEquals('i', '9'), + cdk.Fn.conditionEquals('j', '10'), + cdk.Fn.conditionEquals('k', '11'), + cdk.Fn.conditionEquals('l', '12'), + ); + + // WHEN + new cdk.CfnCondition(stack, 'Condition', { expression }); + + // THEN + expect(toCloudFormation(stack)).toEqual({ + Conditions: { + Condition: { + 'Fn::Or': [ + { + 'Fn::Or': [ + { 'Fn::Equals': ['a', '1'] }, + { 'Fn::Equals': ['b', '2'] }, + { 'Fn::Equals': ['c', '3'] }, + { 'Fn::Equals': ['d', '4'] }, + { 'Fn::Equals': ['e', '5'] }, + { 'Fn::Equals': ['f', '6'] }, + { 'Fn::Equals': ['g', '7'] }, + { 'Fn::Equals': ['h', '8'] }, + { 'Fn::Equals': ['i', '9'] }, + { 'Fn::Equals': ['j', '10'] }, + ], + }, + { + 'Fn::Or': [ + { 'Fn::Equals': ['k', '11'] }, + { 'Fn::Equals': ['l', '12'] }, + ], + }, + ], + }, + }, + }); + }); }); From 1a82d858a7944f7df6f2eb575f17fa4be4ece4f6 Mon Sep 17 00:00:00 2001 From: Kai Wang <36468131+Zishanwang1992@users.noreply.github.com> Date: Wed, 14 Jun 2023 04:58:16 -0700 Subject: [PATCH 6/8] fix(s3): fail fast for s3 lifecycle configuration when ExpiredObjectDeleteMarker specified with ExpirationInDays, ExpirationDate, or TagFilters. (#25841) Closes #25824. ---- *By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license* --- packages/aws-cdk-lib/aws-s3/lib/bucket.ts | 5 +++ .../aws-cdk-lib/aws-s3/test/rules.test.ts | 45 +++++++++++++++++++ 2 files changed, 50 insertions(+) diff --git a/packages/aws-cdk-lib/aws-s3/lib/bucket.ts b/packages/aws-cdk-lib/aws-s3/lib/bucket.ts index df198dafe9500..9db166b0beb6d 100644 --- a/packages/aws-cdk-lib/aws-s3/lib/bucket.ts +++ b/packages/aws-cdk-lib/aws-s3/lib/bucket.ts @@ -2119,6 +2119,11 @@ export class Bucket extends BucketBase { function parseLifecycleRule(rule: LifecycleRule): CfnBucket.RuleProperty { const enabled = rule.enabled ?? true; + if ((rule.expiredObjectDeleteMarker) + && (rule.expiration || rule.expirationDate || self.parseTagFilters(rule.tagFilters))) { + // ExpiredObjectDeleteMarker cannot be specified with ExpirationInDays, ExpirationDate, or TagFilters. + throw new Error('ExpiredObjectDeleteMarker cannot be specified with expiration, ExpirationDate, or TagFilters.'); + } const x: CfnBucket.RuleProperty = { // eslint-disable-next-line max-len diff --git a/packages/aws-cdk-lib/aws-s3/test/rules.test.ts b/packages/aws-cdk-lib/aws-s3/test/rules.test.ts index b218a098d4ff4..25a45a6ea344f 100644 --- a/packages/aws-cdk-lib/aws-s3/test/rules.test.ts +++ b/packages/aws-cdk-lib/aws-s3/test/rules.test.ts @@ -25,6 +25,51 @@ describe('rules', () => { }); }); + test('ExpiredObjectDeleteMarker cannot be specified with ExpirationInDays.', () => { + const stack = new Stack(); + new Bucket(stack, 'Bucket', { + lifecycleRules: [{ + expiration: Duration.days(30), + expiredObjectDeleteMarker: true, + }], + }); + + expect(() => { + Template.fromStack(stack).toJSON(); + }).toThrow('ExpiredObjectDeleteMarker cannot be specified with expiration, ExpirationDate, or TagFilters.'); + }); + + test('ExpiredObjectDeleteMarker cannot be specified with ExpirationDate.', () => { + const stack = new Stack(); + new Bucket(stack, 'Bucket', { + lifecycleRules: [{ + expirationDate: new Date('2018-01-01'), + expiredObjectDeleteMarker: true, + }], + }); + + expect(() => { + Template.fromStack(stack).toJSON(); + }).toThrow('ExpiredObjectDeleteMarker cannot be specified with expiration, ExpirationDate, or TagFilters.'); + }); + + test('ExpiredObjectDeleteMarker cannot be specified with TagFilters.', () => { + const stack = new Stack(); + new Bucket(stack, 'Bucket', { + lifecycleRules: [{ + tagFilters: [ + { Key: 'tagname1', Value: 'tagvalue1' }, + { Key: 'tagname2', Value: 'tagvalue2' }, + ], + expiredObjectDeleteMarker: true, + }], + }); + + expect(() => { + Template.fromStack(stack).toJSON(); + }).toThrow('ExpiredObjectDeleteMarker cannot be specified with expiration, ExpirationDate, or TagFilters.'); + }); + test('Can use addLifecycleRule() to add a lifecycle rule', () => { // GIVEN const stack = new Stack(); From d932fb76e043256b33d4ef299bf9625b01e38f42 Mon Sep 17 00:00:00 2001 From: "k.goto" <24818752+go-to-k@users.noreply.github.com> Date: Wed, 14 Jun 2023 21:25:31 +0900 Subject: [PATCH 7/8] docs(cloudwatch): description for cloudwatch alarm actions (#25853) As mentioned in [the issue](https://github.com/aws/aws-cdk/issues/22801), some of the details of the argument types for the CloudWatch Alarm and CompositeAlarm methods are wrong. Closes #22801 ---- *By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license* --- packages/aws-cdk-lib/aws-cloudwatch/lib/alarm-base.ts | 6 +++--- packages/aws-cdk-lib/aws-cloudwatch/lib/alarm.ts | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/aws-cdk-lib/aws-cloudwatch/lib/alarm-base.ts b/packages/aws-cdk-lib/aws-cloudwatch/lib/alarm-base.ts index 374fa232b73e1..fa7cd2f4ab59f 100644 --- a/packages/aws-cdk-lib/aws-cloudwatch/lib/alarm-base.ts +++ b/packages/aws-cdk-lib/aws-cloudwatch/lib/alarm-base.ts @@ -57,7 +57,7 @@ export abstract class AlarmBase extends Resource implements IAlarm { /** * Trigger this action if the alarm fires * - * Typically the ARN of an SNS topic or ARN of an AutoScaling policy. + * Typically SnsAcion or AutoScalingAction. */ public addAlarmAction(...actions: IAlarmAction[]) { if (this.alarmActionArns === undefined) { @@ -70,7 +70,7 @@ export abstract class AlarmBase extends Resource implements IAlarm { /** * Trigger this action if there is insufficient data to evaluate the alarm * - * Typically the ARN of an SNS topic or ARN of an AutoScaling policy. + * Typically SnsAcion or AutoScalingAction. */ public addInsufficientDataAction(...actions: IAlarmAction[]) { if (this.insufficientDataActionArns === undefined) { @@ -83,7 +83,7 @@ export abstract class AlarmBase extends Resource implements IAlarm { /** * Trigger this action if the alarm returns from breaching state into ok state * - * Typically the ARN of an SNS topic or ARN of an AutoScaling policy. + * Typically SnsAcion or AutoScalingAction. */ public addOkAction(...actions: IAlarmAction[]) { if (this.okActionArns === undefined) { diff --git a/packages/aws-cdk-lib/aws-cloudwatch/lib/alarm.ts b/packages/aws-cdk-lib/aws-cloudwatch/lib/alarm.ts index 1e6740c06bee2..301f669151aae 100644 --- a/packages/aws-cdk-lib/aws-cloudwatch/lib/alarm.ts +++ b/packages/aws-cdk-lib/aws-cloudwatch/lib/alarm.ts @@ -250,7 +250,7 @@ export class Alarm extends AlarmBase { /** * Trigger this action if the alarm fires * - * Typically the ARN of an SNS topic or ARN of an AutoScaling policy. + * Typically SnsAcion or AutoScalingAction. */ public addAlarmAction(...actions: IAlarmAction[]) { if (this.alarmActionArns === undefined) { From 1cb935172a2a373992167aebf0aaa72f02405d86 Mon Sep 17 00:00:00 2001 From: Thorsten Hoeger Date: Wed, 14 Jun 2023 14:53:00 +0200 Subject: [PATCH 8/8] feat(stepfunctions): support string and file definitions (#25932) This change to AWS CDK will allow for the easier design of workflows by using the workflow studio. The visual representation of workflows is more attractive and easier to understand for developers and business people. Additionally, this change will address related issues in the CDK, improving the overall functionality and user experience. Adding the definitionBody and definitionSubstitutions props and the union-like class DefinitionBody will make it easier to define workflows using this tool by allowing users to define workflows in different ways, such as from an external file or a string. Closes https://github.com/aws/aws-cdk/issues/8146 Refs https://github.com/aws/aws-cdk/issues/18880 ---- *By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license* --- ...efaultTestDeployAssertE3E7D2A4.assets.json | 19 ++ ...aultTestDeployAssertE3E7D2A4.template.json | 36 ++++ .../aws-stepfunctions-integ.assets.json | 19 ++ .../aws-stepfunctions-integ.template.json | 72 ++++++++ .../cdk.out | 1 + .../integ.json | 12 ++ .../manifest.json | 117 ++++++++++++ .../tree.json | 174 ++++++++++++++++++ .../test/integ.state-machine-string.ts | 20 ++ .../test/integrations/stepfunctions.test.ts | 8 +- .../test/stepfunctions-api.test.ts | 10 +- .../stepfunctions-invoke-actions.test.ts | 2 +- .../test/stepfunctions/statemachine.test.ts | 10 +- .../test/athena/start-query-execution.test.ts | 2 +- .../test/aws-sdk/call-aws-service.test.ts | 10 +- .../test/ecs/ecs-tasks.test.ts | 6 +- .../test/ecs/run-tasks.test.ts | 26 +-- .../test/emr/emr-add-step.test.ts | 2 +- .../test/emr/emr-cancel-step.test.ts | 2 +- .../emr-modify-instance-fleet-by-name.test.ts | 2 +- .../emr-modify-instance-group-by-name.test.ts | 2 +- ...set-cluster-termination-protection.test.ts | 2 +- .../test/emr/emr-terminate-cluster.test.ts | 2 +- .../create-virtual-cluster.test.ts | 8 +- .../delete-virtual-cluster.test.ts | 6 +- .../test/emrcontainers/start-job-run.test.ts | 10 +- .../test/evaluate-expression.test.ts | 6 +- .../test/eventbridge/put-events.test.ts | 6 +- .../test/glue/run-glue-job-task.test.ts | 8 +- .../test/glue/start-job-run.test.ts | 12 +- .../test/invoke-activity.test.ts | 6 +- .../test/lambda/invoke-function.test.ts | 8 +- .../test/lambda/run-lambda-task.test.ts | 8 +- .../test/start-execution.test.ts | 8 +- .../stepfunctions/invoke-activity.test.ts | 2 +- .../stepfunctions/start-execution.test.ts | 12 +- .../aws-cdk-lib/aws-stepfunctions/README.md | 12 ++ .../aws-stepfunctions/lib/state-machine.ts | 111 ++++++++++- .../test/state-machine-fragment.test.ts | 2 +- .../test/state-machine-resources.test.ts | 56 +++--- .../test/state-machine.test.ts | 88 +++++++-- .../aws-stepfunctions/test/state.test.ts | 4 +- 42 files changed, 784 insertions(+), 145 deletions(-) create mode 100644 packages/@aws-cdk-testing/framework-integ/test/aws-stepfunctions/test/integ.state-machine-string.js.snapshot/IntegTestDefaultTestDeployAssertE3E7D2A4.assets.json create mode 100644 packages/@aws-cdk-testing/framework-integ/test/aws-stepfunctions/test/integ.state-machine-string.js.snapshot/IntegTestDefaultTestDeployAssertE3E7D2A4.template.json create mode 100644 packages/@aws-cdk-testing/framework-integ/test/aws-stepfunctions/test/integ.state-machine-string.js.snapshot/aws-stepfunctions-integ.assets.json create mode 100644 packages/@aws-cdk-testing/framework-integ/test/aws-stepfunctions/test/integ.state-machine-string.js.snapshot/aws-stepfunctions-integ.template.json create mode 100644 packages/@aws-cdk-testing/framework-integ/test/aws-stepfunctions/test/integ.state-machine-string.js.snapshot/cdk.out create mode 100644 packages/@aws-cdk-testing/framework-integ/test/aws-stepfunctions/test/integ.state-machine-string.js.snapshot/integ.json create mode 100644 packages/@aws-cdk-testing/framework-integ/test/aws-stepfunctions/test/integ.state-machine-string.js.snapshot/manifest.json create mode 100644 packages/@aws-cdk-testing/framework-integ/test/aws-stepfunctions/test/integ.state-machine-string.js.snapshot/tree.json create mode 100644 packages/@aws-cdk-testing/framework-integ/test/aws-stepfunctions/test/integ.state-machine-string.ts diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-stepfunctions/test/integ.state-machine-string.js.snapshot/IntegTestDefaultTestDeployAssertE3E7D2A4.assets.json b/packages/@aws-cdk-testing/framework-integ/test/aws-stepfunctions/test/integ.state-machine-string.js.snapshot/IntegTestDefaultTestDeployAssertE3E7D2A4.assets.json new file mode 100644 index 0000000000000..1e34ca625f5ac --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-stepfunctions/test/integ.state-machine-string.js.snapshot/IntegTestDefaultTestDeployAssertE3E7D2A4.assets.json @@ -0,0 +1,19 @@ +{ + "version": "32.0.0", + "files": { + "21fbb51d7b23f6a6c262b46a9caee79d744a3ac019fd45422d988b96d44b2a22": { + "source": { + "path": "IntegTestDefaultTestDeployAssertE3E7D2A4.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "21fbb51d7b23f6a6c262b46a9caee79d744a3ac019fd45422d988b96d44b2a22.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-stepfunctions/test/integ.state-machine-string.js.snapshot/IntegTestDefaultTestDeployAssertE3E7D2A4.template.json b/packages/@aws-cdk-testing/framework-integ/test/aws-stepfunctions/test/integ.state-machine-string.js.snapshot/IntegTestDefaultTestDeployAssertE3E7D2A4.template.json new file mode 100644 index 0000000000000..ad9d0fb73d1dd --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-stepfunctions/test/integ.state-machine-string.js.snapshot/IntegTestDefaultTestDeployAssertE3E7D2A4.template.json @@ -0,0 +1,36 @@ +{ + "Parameters": { + "BootstrapVersion": { + "Type": "AWS::SSM::Parameter::Value", + "Default": "/cdk-bootstrap/hnb659fds/version", + "Description": "Version of the CDK Bootstrap resources in this environment, automatically retrieved from SSM Parameter Store. [cdk:skip]" + } + }, + "Rules": { + "CheckBootstrapVersion": { + "Assertions": [ + { + "Assert": { + "Fn::Not": [ + { + "Fn::Contains": [ + [ + "1", + "2", + "3", + "4", + "5" + ], + { + "Ref": "BootstrapVersion" + } + ] + } + ] + }, + "AssertDescription": "CDK bootstrap stack version 6 required. Please run 'cdk bootstrap' with a recent version of the CDK CLI." + } + ] + } + } +} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-stepfunctions/test/integ.state-machine-string.js.snapshot/aws-stepfunctions-integ.assets.json b/packages/@aws-cdk-testing/framework-integ/test/aws-stepfunctions/test/integ.state-machine-string.js.snapshot/aws-stepfunctions-integ.assets.json new file mode 100644 index 0000000000000..fa75e11482089 --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-stepfunctions/test/integ.state-machine-string.js.snapshot/aws-stepfunctions-integ.assets.json @@ -0,0 +1,19 @@ +{ + "version": "32.0.0", + "files": { + "f8bd3d34797b681cd4abd47903a430fb9cd1438ff7bdbdbce6e4255a041d1af5": { + "source": { + "path": "aws-stepfunctions-integ.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "f8bd3d34797b681cd4abd47903a430fb9cd1438ff7bdbdbce6e4255a041d1af5.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-stepfunctions/test/integ.state-machine-string.js.snapshot/aws-stepfunctions-integ.template.json b/packages/@aws-cdk-testing/framework-integ/test/aws-stepfunctions/test/integ.state-machine-string.js.snapshot/aws-stepfunctions-integ.template.json new file mode 100644 index 0000000000000..0656e91fe91a4 --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-stepfunctions/test/integ.state-machine-string.js.snapshot/aws-stepfunctions-integ.template.json @@ -0,0 +1,72 @@ +{ + "Resources": { + "StateMachineRoleB840431D": { + "Type": "AWS::IAM::Role", + "Properties": { + "AssumeRolePolicyDocument": { + "Statement": [ + { + "Action": "sts:AssumeRole", + "Effect": "Allow", + "Principal": { + "Service": "states.amazonaws.com" + } + } + ], + "Version": "2012-10-17" + } + } + }, + "StateMachine2E01A3A5": { + "Type": "AWS::StepFunctions::StateMachine", + "Properties": { + "RoleArn": { + "Fn::GetAtt": [ + "StateMachineRoleB840431D", + "Arn" + ] + }, + "DefinitionString": "{\"StartAt\":\"Pass\",\"States\":{\"Pass\":{\"Type\":\"Pass\",\"End\":true}}}" + }, + "DependsOn": [ + "StateMachineRoleB840431D" + ], + "UpdateReplacePolicy": "Delete", + "DeletionPolicy": "Delete" + } + }, + "Parameters": { + "BootstrapVersion": { + "Type": "AWS::SSM::Parameter::Value", + "Default": "/cdk-bootstrap/hnb659fds/version", + "Description": "Version of the CDK Bootstrap resources in this environment, automatically retrieved from SSM Parameter Store. [cdk:skip]" + } + }, + "Rules": { + "CheckBootstrapVersion": { + "Assertions": [ + { + "Assert": { + "Fn::Not": [ + { + "Fn::Contains": [ + [ + "1", + "2", + "3", + "4", + "5" + ], + { + "Ref": "BootstrapVersion" + } + ] + } + ] + }, + "AssertDescription": "CDK bootstrap stack version 6 required. Please run 'cdk bootstrap' with a recent version of the CDK CLI." + } + ] + } + } +} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-stepfunctions/test/integ.state-machine-string.js.snapshot/cdk.out b/packages/@aws-cdk-testing/framework-integ/test/aws-stepfunctions/test/integ.state-machine-string.js.snapshot/cdk.out new file mode 100644 index 0000000000000..f0b901e7c06e5 --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-stepfunctions/test/integ.state-machine-string.js.snapshot/cdk.out @@ -0,0 +1 @@ +{"version":"32.0.0"} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-stepfunctions/test/integ.state-machine-string.js.snapshot/integ.json b/packages/@aws-cdk-testing/framework-integ/test/aws-stepfunctions/test/integ.state-machine-string.js.snapshot/integ.json new file mode 100644 index 0000000000000..4511d685660e7 --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-stepfunctions/test/integ.state-machine-string.js.snapshot/integ.json @@ -0,0 +1,12 @@ +{ + "version": "32.0.0", + "testCases": { + "IntegTest/DefaultTest": { + "stacks": [ + "aws-stepfunctions-integ" + ], + "assertionStack": "IntegTest/DefaultTest/DeployAssert", + "assertionStackName": "IntegTestDefaultTestDeployAssertE3E7D2A4" + } + } +} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-stepfunctions/test/integ.state-machine-string.js.snapshot/manifest.json b/packages/@aws-cdk-testing/framework-integ/test/aws-stepfunctions/test/integ.state-machine-string.js.snapshot/manifest.json new file mode 100644 index 0000000000000..21e5122f6d780 --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-stepfunctions/test/integ.state-machine-string.js.snapshot/manifest.json @@ -0,0 +1,117 @@ +{ + "version": "32.0.0", + "artifacts": { + "aws-stepfunctions-integ.assets": { + "type": "cdk:asset-manifest", + "properties": { + "file": "aws-stepfunctions-integ.assets.json", + "requiresBootstrapStackVersion": 6, + "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version" + } + }, + "aws-stepfunctions-integ": { + "type": "aws:cloudformation:stack", + "environment": "aws://unknown-account/unknown-region", + "properties": { + "templateFile": "aws-stepfunctions-integ.template.json", + "validateOnSynth": false, + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}", + "cloudFormationExecutionRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}", + "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/f8bd3d34797b681cd4abd47903a430fb9cd1438ff7bdbdbce6e4255a041d1af5.json", + "requiresBootstrapStackVersion": 6, + "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version", + "additionalDependencies": [ + "aws-stepfunctions-integ.assets" + ], + "lookupRole": { + "arn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-lookup-role-${AWS::AccountId}-${AWS::Region}", + "requiresBootstrapStackVersion": 8, + "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version" + } + }, + "dependencies": [ + "aws-stepfunctions-integ.assets" + ], + "metadata": { + "/aws-stepfunctions-integ/StateMachine/Role/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "StateMachineRoleB840431D" + } + ], + "/aws-stepfunctions-integ/StateMachine/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "StateMachine2E01A3A5" + } + ], + "/aws-stepfunctions-integ/BootstrapVersion": [ + { + "type": "aws:cdk:logicalId", + "data": "BootstrapVersion" + } + ], + "/aws-stepfunctions-integ/CheckBootstrapVersion": [ + { + "type": "aws:cdk:logicalId", + "data": "CheckBootstrapVersion" + } + ] + }, + "displayName": "aws-stepfunctions-integ" + }, + "IntegTestDefaultTestDeployAssertE3E7D2A4.assets": { + "type": "cdk:asset-manifest", + "properties": { + "file": "IntegTestDefaultTestDeployAssertE3E7D2A4.assets.json", + "requiresBootstrapStackVersion": 6, + "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version" + } + }, + "IntegTestDefaultTestDeployAssertE3E7D2A4": { + "type": "aws:cloudformation:stack", + "environment": "aws://unknown-account/unknown-region", + "properties": { + "templateFile": "IntegTestDefaultTestDeployAssertE3E7D2A4.template.json", + "validateOnSynth": false, + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}", + "cloudFormationExecutionRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}", + "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/21fbb51d7b23f6a6c262b46a9caee79d744a3ac019fd45422d988b96d44b2a22.json", + "requiresBootstrapStackVersion": 6, + "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version", + "additionalDependencies": [ + "IntegTestDefaultTestDeployAssertE3E7D2A4.assets" + ], + "lookupRole": { + "arn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-lookup-role-${AWS::AccountId}-${AWS::Region}", + "requiresBootstrapStackVersion": 8, + "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version" + } + }, + "dependencies": [ + "IntegTestDefaultTestDeployAssertE3E7D2A4.assets" + ], + "metadata": { + "/IntegTest/DefaultTest/DeployAssert/BootstrapVersion": [ + { + "type": "aws:cdk:logicalId", + "data": "BootstrapVersion" + } + ], + "/IntegTest/DefaultTest/DeployAssert/CheckBootstrapVersion": [ + { + "type": "aws:cdk:logicalId", + "data": "CheckBootstrapVersion" + } + ] + }, + "displayName": "IntegTest/DefaultTest/DeployAssert" + }, + "Tree": { + "type": "cdk:tree", + "properties": { + "file": "tree.json" + } + } + } +} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-stepfunctions/test/integ.state-machine-string.js.snapshot/tree.json b/packages/@aws-cdk-testing/framework-integ/test/aws-stepfunctions/test/integ.state-machine-string.js.snapshot/tree.json new file mode 100644 index 0000000000000..a4aa7243e1909 --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-stepfunctions/test/integ.state-machine-string.js.snapshot/tree.json @@ -0,0 +1,174 @@ +{ + "version": "tree-0.1", + "tree": { + "id": "App", + "path": "", + "children": { + "aws-stepfunctions-integ": { + "id": "aws-stepfunctions-integ", + "path": "aws-stepfunctions-integ", + "children": { + "StateMachine": { + "id": "StateMachine", + "path": "aws-stepfunctions-integ/StateMachine", + "children": { + "Role": { + "id": "Role", + "path": "aws-stepfunctions-integ/StateMachine/Role", + "children": { + "ImportRole": { + "id": "ImportRole", + "path": "aws-stepfunctions-integ/StateMachine/Role/ImportRole", + "constructInfo": { + "fqn": "aws-cdk-lib.Resource", + "version": "0.0.0" + } + }, + "Resource": { + "id": "Resource", + "path": "aws-stepfunctions-integ/StateMachine/Role/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::IAM::Role", + "aws:cdk:cloudformation:props": { + "assumeRolePolicyDocument": { + "Statement": [ + { + "Action": "sts:AssumeRole", + "Effect": "Allow", + "Principal": { + "Service": "states.amazonaws.com" + } + } + ], + "Version": "2012-10-17" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_iam.CfnRole", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_iam.Role", + "version": "0.0.0" + } + }, + "Resource": { + "id": "Resource", + "path": "aws-stepfunctions-integ/StateMachine/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::StepFunctions::StateMachine", + "aws:cdk:cloudformation:props": { + "roleArn": { + "Fn::GetAtt": [ + "StateMachineRoleB840431D", + "Arn" + ] + }, + "definitionString": "{\"StartAt\":\"Pass\",\"States\":{\"Pass\":{\"Type\":\"Pass\",\"End\":true}}}" + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_stepfunctions.CfnStateMachine", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_stepfunctions.StateMachine", + "version": "0.0.0" + } + }, + "BootstrapVersion": { + "id": "BootstrapVersion", + "path": "aws-stepfunctions-integ/BootstrapVersion", + "constructInfo": { + "fqn": "aws-cdk-lib.CfnParameter", + "version": "0.0.0" + } + }, + "CheckBootstrapVersion": { + "id": "CheckBootstrapVersion", + "path": "aws-stepfunctions-integ/CheckBootstrapVersion", + "constructInfo": { + "fqn": "aws-cdk-lib.CfnRule", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.Stack", + "version": "0.0.0" + } + }, + "IntegTest": { + "id": "IntegTest", + "path": "IntegTest", + "children": { + "DefaultTest": { + "id": "DefaultTest", + "path": "IntegTest/DefaultTest", + "children": { + "Default": { + "id": "Default", + "path": "IntegTest/DefaultTest/Default", + "constructInfo": { + "fqn": "constructs.Construct", + "version": "10.2.26" + } + }, + "DeployAssert": { + "id": "DeployAssert", + "path": "IntegTest/DefaultTest/DeployAssert", + "children": { + "BootstrapVersion": { + "id": "BootstrapVersion", + "path": "IntegTest/DefaultTest/DeployAssert/BootstrapVersion", + "constructInfo": { + "fqn": "aws-cdk-lib.CfnParameter", + "version": "0.0.0" + } + }, + "CheckBootstrapVersion": { + "id": "CheckBootstrapVersion", + "path": "IntegTest/DefaultTest/DeployAssert/CheckBootstrapVersion", + "constructInfo": { + "fqn": "aws-cdk-lib.CfnRule", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.Stack", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/integ-tests-alpha.IntegTestCase", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/integ-tests-alpha.IntegTest", + "version": "0.0.0" + } + }, + "Tree": { + "id": "Tree", + "path": "Tree", + "constructInfo": { + "fqn": "constructs.Construct", + "version": "10.2.26" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.App", + "version": "0.0.0" + } + } +} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-stepfunctions/test/integ.state-machine-string.ts b/packages/@aws-cdk-testing/framework-integ/test/aws-stepfunctions/test/integ.state-machine-string.ts new file mode 100644 index 0000000000000..d53f92d392f29 --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-stepfunctions/test/integ.state-machine-string.ts @@ -0,0 +1,20 @@ +import { IntegTest } from '@aws-cdk/integ-tests-alpha'; +import * as cdk from 'aws-cdk-lib'; +import * as sfn from 'aws-cdk-lib/aws-stepfunctions'; +/* + * Stack verification steps: + * + * -- aws stepfunctions describe-state-machine --state-machine-arn has a status of `ACTIVE` and the definition is correct + */ +const app = new cdk.App(); +const stack = new cdk.Stack(app, 'aws-stepfunctions-integ'); + +new sfn.StateMachine(stack, 'StateMachine', { + definitionBody: sfn.DefinitionBody.fromString('{"StartAt":"Pass","States":{"Pass":{"Type":"Pass","End":true}}}'), +}); + +new IntegTest(app, 'IntegTest', { + testCases: [stack], +}); + +app.synth(); diff --git a/packages/aws-cdk-lib/aws-apigateway/test/integrations/stepfunctions.test.ts b/packages/aws-cdk-lib/aws-apigateway/test/integrations/stepfunctions.test.ts index 607298294d9cd..0f2a5c65bcf9a 100644 --- a/packages/aws-cdk-lib/aws-apigateway/test/integrations/stepfunctions.test.ts +++ b/packages/aws-cdk-lib/aws-apigateway/test/integrations/stepfunctions.test.ts @@ -304,7 +304,7 @@ describe('StepFunctionsIntegration', () => { }); const stateMachine: sfn.IStateMachine = new StateMachine(stack, 'StateMachine', { - definition: passTask, + definitionBody: sfn.DefinitionBody.fromChainable(passTask), stateMachineType: sfn.StateMachineType.EXPRESS, }); @@ -327,7 +327,7 @@ describe('StepFunctionsIntegration', () => { }); const stateMachine: sfn.IStateMachine = new StateMachine(stack, 'StateMachine', { - definition: passTask, + definitionBody: sfn.DefinitionBody.fromChainable(passTask), stateMachineType: sfn.StateMachineType.EXPRESS, }); @@ -362,7 +362,7 @@ describe('StepFunctionsIntegration', () => { const restapi = new apigw.RestApi(stack, 'RestApi'); const method = restapi.root.addMethod('ANY'); const stateMachine: sfn.StateMachine = new StateMachine(stack, 'StateMachine', { - definition: new sfn.Pass(stack, 'passTask'), + definitionBody: sfn.DefinitionBody.fromChainable(new sfn.Pass(stack, 'passTask')), stateMachineType: StateMachineType.STANDARD, }); const integration = apigw.StepFunctionsIntegration.startExecution(stateMachine); @@ -382,7 +382,7 @@ function givenSetup() { }); const stateMachine: sfn.IStateMachine = new StateMachine(stack, 'StateMachine', { - definition: passTask, + definitionBody: sfn.DefinitionBody.fromChainable(passTask), stateMachineType: sfn.StateMachineType.EXPRESS, }); diff --git a/packages/aws-cdk-lib/aws-apigateway/test/stepfunctions-api.test.ts b/packages/aws-cdk-lib/aws-apigateway/test/stepfunctions-api.test.ts index 4bdacef692ad8..b73ec6a54e777 100644 --- a/packages/aws-cdk-lib/aws-apigateway/test/stepfunctions-api.test.ts +++ b/packages/aws-cdk-lib/aws-apigateway/test/stepfunctions-api.test.ts @@ -1,6 +1,6 @@ import { Template } from '../../assertions'; import * as sfn from '../../aws-stepfunctions'; -import { StateMachine } from '../../aws-stepfunctions'; +import { StateMachine, DefinitionBody } from '../../aws-stepfunctions'; import * as cdk from '../../core'; import * as apigw from '../lib'; import { StepFunctionsIntegration } from '../lib'; @@ -82,7 +82,7 @@ describe('Step Functions api', () => { const api = new apigw.RestApi(stack, 'Api'); const stateMachine = new sfn.StateMachine(stack, 'StateMachine', { stateMachineType: sfn.StateMachineType.EXPRESS, - definition: new sfn.Pass(stack, 'Pass'), + definitionBody: DefinitionBody.fromChainable(new sfn.Pass(stack, 'Pass')), }); // WHEN @@ -180,7 +180,7 @@ describe('Step Functions api', () => { }); const stateMachine: sfn.IStateMachine = new StateMachine(stack, 'StateMachine', { - definition: passTask, + definitionBody: DefinitionBody.fromChainable(passTask), stateMachineType: sfn.StateMachineType.STANDARD, }); @@ -199,14 +199,14 @@ function givenSetup() { }); const stateMachine: sfn.IStateMachine = new StateMachine(stack, 'StateMachine', { - definition: passTask, + definitionBody: DefinitionBody.fromChainable(passTask), stateMachineType: sfn.StateMachineType.EXPRESS, }); return { stack, stateMachine }; } -function whenCondition(stack:cdk.Stack, stateMachine: sfn.IStateMachine) { +function whenCondition(stack: cdk.Stack, stateMachine: sfn.IStateMachine) { const api = new apigw.StepFunctionsRestApi(stack, 'StepFunctionsRestApi', { stateMachine: stateMachine }); return api; } diff --git a/packages/aws-cdk-lib/aws-codepipeline-actions/test/stepfunctions/stepfunctions-invoke-actions.test.ts b/packages/aws-cdk-lib/aws-codepipeline-actions/test/stepfunctions/stepfunctions-invoke-actions.test.ts index a0fe537159597..94a14b6d08683 100644 --- a/packages/aws-cdk-lib/aws-codepipeline-actions/test/stepfunctions/stepfunctions-invoke-actions.test.ts +++ b/packages/aws-cdk-lib/aws-codepipeline-actions/test/stepfunctions/stepfunctions-invoke-actions.test.ts @@ -154,7 +154,7 @@ function minimalPipeline(stack: Stack, account?: string, region?: string): codep const simpleStateMachine = account || region ? stepfunction.StateMachine.fromStateMachineArn(stack, 'SimpleStateMachine', `arn:aws:states:${region}:${account}:stateMachine:SimpleStateMachine`) : new stepfunction.StateMachine(stack, 'SimpleStateMachine', { - definition: new stepfunction.Pass(stack, 'StartState'), + definitionBody: stepfunction.DefinitionBody.fromChainable(new stepfunction.Pass(stack, 'StartState')), }); const pipeline = new codepipeline.Pipeline(stack, 'MyPipeline'); const sourceStage = pipeline.addStage({ diff --git a/packages/aws-cdk-lib/aws-events-targets/test/stepfunctions/statemachine.test.ts b/packages/aws-cdk-lib/aws-events-targets/test/stepfunctions/statemachine.test.ts index 33099f2558fef..410f51801646e 100644 --- a/packages/aws-cdk-lib/aws-events-targets/test/stepfunctions/statemachine.test.ts +++ b/packages/aws-cdk-lib/aws-events-targets/test/stepfunctions/statemachine.test.ts @@ -13,7 +13,7 @@ test('State machine can be used as Event Rule target', () => { schedule: events.Schedule.rate(cdk.Duration.minutes(1)), }); const stateMachine = new sfn.StateMachine(stack, 'SM', { - definition: new sfn.Wait(stack, 'Hello', { time: sfn.WaitTime.duration(cdk.Duration.seconds(10)) }), + definitionBody: sfn.DefinitionBody.fromChainable(new sfn.Wait(stack, 'Hello', { time: sfn.WaitTime.duration(cdk.Duration.seconds(10)) })), }); // WHEN @@ -67,7 +67,7 @@ test('Existing role can be used for State machine Rule target', () => { assumedBy: new iam.ServicePrincipal('events.amazonaws.com'), }); const stateMachine = new sfn.StateMachine(stack, 'SM', { - definition: new sfn.Wait(stack, 'Hello', { time: sfn.WaitTime.duration(cdk.Duration.seconds(10)) }), + definitionBody: sfn.DefinitionBody.fromChainable(new sfn.Wait(stack, 'Hello', { time: sfn.WaitTime.duration(cdk.Duration.seconds(10)) })), }); // WHEN @@ -124,7 +124,7 @@ test('specifying retry policy', () => { assumedBy: new iam.ServicePrincipal('events.amazonaws.com'), }); const stateMachine = new sfn.StateMachine(stack, 'SM', { - definition: new sfn.Wait(stack, 'Hello', { time: sfn.WaitTime.duration(cdk.Duration.seconds(10)) }), + definitionBody: sfn.DefinitionBody.fromChainable(new sfn.Wait(stack, 'Hello', { time: sfn.WaitTime.duration(cdk.Duration.seconds(10)) })), }); rule.addTarget(new targets.SfnStateMachine(stateMachine, { @@ -172,7 +172,7 @@ test('specifying retry policy with 0 retryAttempts', () => { assumedBy: new iam.ServicePrincipal('events.amazonaws.com'), }); const stateMachine = new sfn.StateMachine(stack, 'SM', { - definition: new sfn.Wait(stack, 'Hello', { time: sfn.WaitTime.duration(cdk.Duration.seconds(10)) }), + definitionBody: sfn.DefinitionBody.fromChainable(new sfn.Wait(stack, 'Hello', { time: sfn.WaitTime.duration(cdk.Duration.seconds(10)) })), }); rule.addTarget(new targets.SfnStateMachine(stateMachine, { @@ -221,7 +221,7 @@ test('use a Dead Letter Queue for the rule target', () => { assumedBy: new iam.ServicePrincipal('events.amazonaws.com'), }); const stateMachine = new sfn.StateMachine(stack, 'SM', { - definition: new sfn.Wait(stack, 'Hello', { time: sfn.WaitTime.duration(cdk.Duration.seconds(10)) }), + definitionBody: sfn.DefinitionBody.fromChainable(new sfn.Wait(stack, 'Hello', { time: sfn.WaitTime.duration(cdk.Duration.seconds(10)) })), }); // WHEN diff --git a/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/athena/start-query-execution.test.ts b/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/athena/start-query-execution.test.ts index 753d547a9ef86..fb59a3a15ce8f 100644 --- a/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/athena/start-query-execution.test.ts +++ b/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/athena/start-query-execution.test.ts @@ -192,7 +192,7 @@ describe('Start Query Execution', () => { }); new sfn.StateMachine(stack, 'StateMachine', { - definition: task, + definitionBody: sfn.DefinitionBody.fromChainable(task), }); // THEN diff --git a/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/aws-sdk/call-aws-service.test.ts b/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/aws-sdk/call-aws-service.test.ts index cce87e2739337..cd5ac68818c15 100644 --- a/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/aws-sdk/call-aws-service.test.ts +++ b/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/aws-sdk/call-aws-service.test.ts @@ -24,7 +24,7 @@ test('CallAwsService task', () => { }); new sfn.StateMachine(stack, 'StateMachine', { - definition: task, + definitionBody: sfn.DefinitionBody.fromChainable(task), }); // THEN @@ -73,7 +73,7 @@ test('with custom IAM action', () => { }); new sfn.StateMachine(stack, 'StateMachine', { - definition: task, + definitionBody: sfn.DefinitionBody.fromChainable(task), }); // THEN @@ -118,7 +118,7 @@ test('with unresolved tokens', () => { }); new sfn.StateMachine(stack, 'StateMachine', { - definition: task, + definitionBody: sfn.DefinitionBody.fromChainable(task), }); // THEN @@ -176,7 +176,7 @@ test('can pass additional IAM statements', () => { }); new sfn.StateMachine(stack, 'StateMachine', { - definition: task, + definitionBody: sfn.DefinitionBody.fromChainable(task), }); // THEN @@ -212,7 +212,7 @@ test('IAM policy for sfn', () => { }); new sfn.StateMachine(stack, 'StateMachine', { - definition: task, + definitionBody: sfn.DefinitionBody.fromChainable(task), }); // THEN diff --git a/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/ecs/ecs-tasks.test.ts b/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/ecs/ecs-tasks.test.ts index 5aea07ea8766c..b05db95c4472e 100644 --- a/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/ecs/ecs-tasks.test.ts +++ b/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/ecs/ecs-tasks.test.ts @@ -78,7 +78,7 @@ describeDeprecated('ecs-tasks', () => { }); new sfn.StateMachine(stack, 'SM', { - definition: runTask, + definitionBody: sfn.DefinitionBody.fromChainable(runTask), }); // THEN @@ -191,7 +191,7 @@ describeDeprecated('ecs-tasks', () => { }); new sfn.StateMachine(stack, 'SM', { - definition: runTask, + definitionBody: sfn.DefinitionBody.fromChainable(runTask), }); // THEN @@ -292,7 +292,7 @@ describeDeprecated('ecs-tasks', () => { const runTask = new sfn.Task(stack, 'Run', { task: ec2Task }); new sfn.StateMachine(stack, 'SM', { - definition: runTask, + definitionBody: sfn.DefinitionBody.fromChainable(runTask), }); // THEN diff --git a/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/ecs/run-tasks.test.ts b/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/ecs/run-tasks.test.ts index bb5214cd613fd..b9598f4a4aacb 100644 --- a/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/ecs/run-tasks.test.ts +++ b/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/ecs/run-tasks.test.ts @@ -112,19 +112,21 @@ test('Running a task with container override and container has explicitly set a }, ], launchTarget: new tasks.EcsFargateLaunchTarget(), - }).toStateJson())).toHaveProperty('Parameters.Overrides', { - ContainerOverrides: [ + }).toStateJson())) + .toHaveProperty('Parameters.Overrides', { - Environment: [ + ContainerOverrides: [ { - Name: 'SOME_KEY', - 'Value.$': '$.SomeKey', + Environment: [ + { + Name: 'SOME_KEY', + 'Value.$': '$.SomeKey', + }, + ], + Name: 'ExplicitContainerName', }, ], - Name: 'ExplicitContainerName', - }, - ], - }); + }); }); test('Running a task without propagated tag source', () => { @@ -235,7 +237,7 @@ test('Running a Fargate Task', () => { }); new sfn.StateMachine(stack, 'SM', { - definition: runTask, + definitionBody: sfn.DefinitionBody.fromChainable(runTask), }); // THEN @@ -364,7 +366,7 @@ test('Running an EC2 Task with bridge network', () => { }); new sfn.StateMachine(stack, 'SM', { - definition: runTask, + definitionBody: sfn.DefinitionBody.fromChainable(runTask), }); // THEN @@ -483,7 +485,7 @@ test('Running an EC2 Task with placement strategies', () => { }); new sfn.StateMachine(stack, 'SM', { - definition: runTask, + definitionBody: sfn.DefinitionBody.fromChainable(runTask), }); // THEN diff --git a/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/emr/emr-add-step.test.ts b/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/emr/emr-add-step.test.ts index d6678cb09b9d9..5e3e2b8674bb7 100644 --- a/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/emr/emr-add-step.test.ts +++ b/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/emr/emr-add-step.test.ts @@ -301,7 +301,7 @@ test('task policies are generated', () => { integrationPattern: sfn.IntegrationPattern.RUN_JOB, }); new sfn.StateMachine(stack, 'SM', { - definition: task, + definitionBody: sfn.DefinitionBody.fromChainable(task), }); // THEN diff --git a/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/emr/emr-cancel-step.test.ts b/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/emr/emr-cancel-step.test.ts index 812a8fdfac616..1036b4313512f 100644 --- a/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/emr/emr-cancel-step.test.ts +++ b/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/emr/emr-cancel-step.test.ts @@ -47,7 +47,7 @@ test('task policies are generated', () => { stepId: 'StepId', }); new sfn.StateMachine(stack, 'SM', { - definition: task, + definitionBody: sfn.DefinitionBody.fromChainable(task), }); // THEN diff --git a/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/emr/emr-modify-instance-fleet-by-name.test.ts b/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/emr/emr-modify-instance-fleet-by-name.test.ts index f64864ba6ae71..050a069b2f3d7 100644 --- a/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/emr/emr-modify-instance-fleet-by-name.test.ts +++ b/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/emr/emr-modify-instance-fleet-by-name.test.ts @@ -55,7 +55,7 @@ test('task policies are generated', () => { targetSpotCapacity: 0, }); new sfn.StateMachine(stack, 'SM', { - definition: task, + definitionBody: sfn.DefinitionBody.fromChainable(task), }); // THEN diff --git a/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/emr/emr-modify-instance-group-by-name.test.ts b/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/emr/emr-modify-instance-group-by-name.test.ts index d38b820502d2d..e411bf3e5c7e6 100644 --- a/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/emr/emr-modify-instance-group-by-name.test.ts +++ b/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/emr/emr-modify-instance-group-by-name.test.ts @@ -91,7 +91,7 @@ test('task policies are generated', () => { }, }); new sfn.StateMachine(stack, 'SM', { - definition: task, + definitionBody: sfn.DefinitionBody.fromChainable(task), }); // THEN diff --git a/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/emr/emr-set-cluster-termination-protection.test.ts b/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/emr/emr-set-cluster-termination-protection.test.ts index 9c313754d7cf1..ee757f09fe1e7 100644 --- a/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/emr/emr-set-cluster-termination-protection.test.ts +++ b/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/emr/emr-set-cluster-termination-protection.test.ts @@ -47,7 +47,7 @@ test('task policies are generated', () => { terminationProtected: false, }); new sfn.StateMachine(stack, 'SM', { - definition: task, + definitionBody: sfn.DefinitionBody.fromChainable(task), }); // THEN diff --git a/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/emr/emr-terminate-cluster.test.ts b/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/emr/emr-terminate-cluster.test.ts index 11e3eb8320d8c..2a7aa6e53e80b 100644 --- a/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/emr/emr-terminate-cluster.test.ts +++ b/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/emr/emr-terminate-cluster.test.ts @@ -46,7 +46,7 @@ test('task policies are generated', () => { integrationPattern: sfn.IntegrationPattern.RUN_JOB, }); new sfn.StateMachine(stack, 'SM', { - definition: task, + definitionBody: sfn.DefinitionBody.fromChainable(task), }); // THEN diff --git a/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/emrcontainers/create-virtual-cluster.test.ts b/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/emrcontainers/create-virtual-cluster.test.ts index 0a8b5c35618ac..4abfba223ef3d 100644 --- a/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/emrcontainers/create-virtual-cluster.test.ts +++ b/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/emrcontainers/create-virtual-cluster.test.ts @@ -21,7 +21,7 @@ describe('Invoke emr-containers CreateVirtualCluster with ', () => { }); new sfn.StateMachine(stack, 'SM', { - definition: task, + definitionBody: sfn.DefinitionBody.fromChainable(task), }); // THEN @@ -65,7 +65,7 @@ describe('Invoke emr-containers CreateVirtualCluster with ', () => { }); new sfn.StateMachine(stack, 'SM', { - definition: task, + definitionBody: sfn.DefinitionBody.fromChainable(task), }); // THEN @@ -132,7 +132,7 @@ describe('Invoke emr-containers CreateVirtualCluster with ', () => { }); new sfn.StateMachine(stack, 'SM', { - definition: task, + definitionBody: sfn.DefinitionBody.fromChainable(task), }); // THEN @@ -154,7 +154,7 @@ test('Permitted role actions included for CreateVirtualCluster if service integr }); new sfn.StateMachine(stack, 'SM', { - definition: task, + definitionBody: sfn.DefinitionBody.fromChainable(task), }); // THEN diff --git a/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/emrcontainers/delete-virtual-cluster.test.ts b/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/emrcontainers/delete-virtual-cluster.test.ts index 4f29217158029..9451544def370 100644 --- a/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/emrcontainers/delete-virtual-cluster.test.ts +++ b/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/emrcontainers/delete-virtual-cluster.test.ts @@ -92,7 +92,7 @@ describe('Valid policy statements and resources are passed ', () => { }); new sfn.StateMachine(stack, 'SM', { - definition: task, + definitionBody: sfn.DefinitionBody.fromChainable(task), }); // THEN @@ -134,7 +134,7 @@ describe('Valid policy statements and resources are passed ', () => { }); new sfn.StateMachine(stack, 'SM', { - definition: task, + definitionBody: sfn.DefinitionBody.fromChainable(task), }); // THEN @@ -179,7 +179,7 @@ describe('Valid policy statements and resources are passed ', () => { }); new sfn.StateMachine(stack, 'SM', { - definition: task, + definitionBody: sfn.DefinitionBody.fromChainable(task), }); // THEN diff --git a/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/emrcontainers/start-job-run.test.ts b/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/emrcontainers/start-job-run.test.ts index 5c96170ba76a5..67f37ba04e8a1 100644 --- a/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/emrcontainers/start-job-run.test.ts +++ b/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/emrcontainers/start-job-run.test.ts @@ -747,7 +747,7 @@ describe('Invoke EMR Containers Start Job Run with ', () => { const task = new EmrContainersStartJobRun(stack, 'EMR Containers Start Job Run', defaultProps); new sfn.StateMachine(stack, 'SM', { - definition: task, + definitionBody: sfn.DefinitionBody.fromChainable(task), }); // THEN @@ -827,7 +827,7 @@ describe('Invoke EMR Containers Start Job Run with ', () => { }); new sfn.StateMachine(stack, 'SM', { - definition: task, + definitionBody: sfn.DefinitionBody.fromChainable(task), }); // THEN @@ -901,7 +901,7 @@ describe('Invoke EMR Containers Start Job Run with ', () => { }); new sfn.StateMachine(stack, 'SM', { - definition: task, + definitionBody: sfn.DefinitionBody.fromChainable(task), }); // THEN @@ -950,7 +950,7 @@ describe('Invoke EMR Containers Start Job Run with ', () => { const task = new EmrContainersStartJobRun(stack, 'Task', defaultProps); new sfn.StateMachine(stack, 'SM', { - definition: task, + definitionBody: sfn.DefinitionBody.fromChainable(task), }); // THEN @@ -982,7 +982,7 @@ describe('Invoke EMR Containers Start Job Run with ', () => { const task = new EmrContainersStartJobRun(stack, 'Task', defaultProps); new sfn.StateMachine(stack, 'SM', { - definition: task, + definitionBody: sfn.DefinitionBody.fromChainable(task), }); // THEN diff --git a/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/evaluate-expression.test.ts b/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/evaluate-expression.test.ts index 4d3f87124cbd5..c27376701228b 100644 --- a/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/evaluate-expression.test.ts +++ b/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/evaluate-expression.test.ts @@ -15,7 +15,7 @@ test('Eval with Node.js', () => { expression: '$.a + $.b', }); new sfn.StateMachine(stack, 'SM', { - definition: task, + definitionBody: sfn.DefinitionBody.fromChainable(task), }); // THEN @@ -52,7 +52,7 @@ test('expression does not contain paths', () => { expression: '2 + 2', }); new sfn.StateMachine(stack, 'SM', { - definition: task, + definitionBody: sfn.DefinitionBody.fromChainable(task), }); Template.fromStack(stack).hasResourceProperties('AWS::StepFunctions::StateMachine', { @@ -77,7 +77,7 @@ test('with dash and underscore in path', () => { expression: '$.a_b + $.c-d + $[_e]', }); new sfn.StateMachine(stack, 'SM', { - definition: task, + definitionBody: sfn.DefinitionBody.fromChainable(task), }); Template.fromStack(stack).hasResourceProperties('AWS::StepFunctions::StateMachine', { diff --git a/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/eventbridge/put-events.test.ts b/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/eventbridge/put-events.test.ts index 529a8032c8e01..67e98c798d32e 100644 --- a/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/eventbridge/put-events.test.ts +++ b/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/eventbridge/put-events.test.ts @@ -142,7 +142,7 @@ describe('Put Events', () => { source: 'my.source', }], }); - // THEN + // THEN }).toThrowError('Task Token is required in `entries`. Use JsonPath.taskToken to set the token.'); }); @@ -157,7 +157,7 @@ describe('Put Events', () => { source: 'my.source', }], }); - // THEN + // THEN }).toThrowError('Unsupported service integration pattern'); }); @@ -235,7 +235,7 @@ describe('Put Events', () => { source: 'my.source', }], }); - new sfn.StateMachine(stack, 'State Machine', { definition: task }); + new sfn.StateMachine(stack, 'State Machine', { definitionBody: sfn.DefinitionBody.fromChainable(task) }); // THEN Template.fromStack(stack).hasResourceProperties('AWS::IAM::Policy', { diff --git a/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/glue/run-glue-job-task.test.ts b/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/glue/run-glue-job-task.test.ts index eb46ac79eba49..a448648860d1f 100644 --- a/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/glue/run-glue-job-task.test.ts +++ b/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/glue/run-glue-job-task.test.ts @@ -16,7 +16,7 @@ describeDeprecated('RunGlueJobTask', () => { task: new tasks.RunGlueJobTask(jobName), }); new sfn.StateMachine(stack, 'SM', { - definition: task, + definitionBody: sfn.DefinitionBody.fromChainable(task), }); expect(stack.resolve(task.toStateJson())).toEqual({ @@ -59,7 +59,7 @@ describeDeprecated('RunGlueJobTask', () => { }), }); new sfn.StateMachine(stack, 'SM', { - definition: task, + definitionBody: sfn.DefinitionBody.fromChainable(task), }); expect(stack.resolve(task.toStateJson())).toEqual({ @@ -96,7 +96,7 @@ describeDeprecated('RunGlueJobTask', () => { }), }); new sfn.StateMachine(stack, 'SM', { - definition: task, + definitionBody: sfn.DefinitionBody.fromChainable(task), }); Template.fromStack(stack).hasResourceProperties('AWS::IAM::Policy', { @@ -115,7 +115,7 @@ describeDeprecated('RunGlueJobTask', () => { }), }); new sfn.StateMachine(stack, 'SM', { - definition: task, + definitionBody: sfn.DefinitionBody.fromChainable(task), }); Template.fromStack(stack).hasResourceProperties('AWS::IAM::Policy', { diff --git a/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/glue/start-job-run.test.ts b/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/glue/start-job-run.test.ts index d6c17d111db42..f1a79d2226c6f 100644 --- a/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/glue/start-job-run.test.ts +++ b/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/glue/start-job-run.test.ts @@ -15,7 +15,7 @@ test('Invoke glue job with just job ARN', () => { glueJobName, }); new sfn.StateMachine(stack, 'SM', { - definition: task, + definitionBody: sfn.DefinitionBody.fromChainable(task), }); expect(stack.resolve(task.toStateJson())).toEqual({ @@ -57,7 +57,7 @@ test('Invoke glue job with full properties', () => { notifyDelayAfter, }); new sfn.StateMachine(stack, 'SM', { - definition: task, + definitionBody: sfn.DefinitionBody.fromChainable(task), }); expect(stack.resolve(task.toStateJson())).toEqual({ @@ -93,7 +93,7 @@ test('Invoke glue job with Timeout.at()', () => { taskTimeout: sfn.Timeout.at('$.timeout'), }); new sfn.StateMachine(stack, 'SM', { - definition: task, + definitionBody: sfn.DefinitionBody.fromChainable(task), }); expect(stack.resolve(task.toStateJson())).toEqual({ @@ -125,7 +125,7 @@ test('job arguments can reference state input', () => { arguments: sfn.TaskInput.fromJsonPathAt('$.input'), }); new sfn.StateMachine(stack, 'SM', { - definition: task, + definitionBody: sfn.DefinitionBody.fromChainable(task), }); expect(stack.resolve(task.toStateJson())).toEqual({ @@ -157,7 +157,7 @@ test('permitted role actions limited to start job run if service integration pat }); new sfn.StateMachine(stack, 'SM', { - definition: task, + definitionBody: sfn.DefinitionBody.fromChainable(task), }); Template.fromStack(stack).hasResourceProperties('AWS::IAM::Policy', { @@ -176,7 +176,7 @@ test('permitted role actions include start, get, and stop job run if service int }); new sfn.StateMachine(stack, 'SM', { - definition: task, + definitionBody: sfn.DefinitionBody.fromChainable(task), }); Template.fromStack(stack).hasResourceProperties('AWS::IAM::Policy', { diff --git a/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/invoke-activity.test.ts b/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/invoke-activity.test.ts index 7945ae85ac32a..201fa6b11b980 100644 --- a/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/invoke-activity.test.ts +++ b/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/invoke-activity.test.ts @@ -6,14 +6,14 @@ import * as tasks from '../lib'; describeDeprecated('InvokeActivity', () => { test('Activity can be used in a Task', () => { - // GIVEN + // GIVEN const stack = new Stack(); // WHEN const activity = new sfn.Activity(stack, 'Activity'); const task = new sfn.Task(stack, 'Task', { task: new tasks.InvokeActivity(activity) }); new sfn.StateMachine(stack, 'SM', { - definition: task, + definitionBody: sfn.DefinitionBody.fromChainable(task), }); // THEN @@ -29,7 +29,7 @@ describeDeprecated('InvokeActivity', () => { }); test('Activity Task metrics and Activity metrics are the same', () => { - // GIVEN + // GIVEN const stack = new Stack(); const activity = new sfn.Activity(stack, 'Activity'); const task = new sfn.Task(stack, 'Invoke', { task: new tasks.InvokeActivity(activity) }); diff --git a/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/lambda/invoke-function.test.ts b/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/lambda/invoke-function.test.ts index c13b0e43f87c8..0a5d1bb906100 100644 --- a/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/lambda/invoke-function.test.ts +++ b/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/lambda/invoke-function.test.ts @@ -18,10 +18,10 @@ beforeEach(() => { describeDeprecated('InvokeFunction', () => { test('Invoke lambda with function ARN', () => { - // WHEN + // WHEN const task = new sfn.Task(stack, 'Task', { task: new tasks.InvokeFunction(fn) }); new sfn.StateMachine(stack, 'SM', { - definition: task, + definitionBody: sfn.DefinitionBody.fromChainable(task), }); // THEN @@ -38,13 +38,13 @@ describeDeprecated('InvokeFunction', () => { test('Lambda function payload ends up in Parameters', () => { new sfn.StateMachine(stack, 'SM', { - definition: new sfn.Task(stack, 'Task', { + definitionBody: sfn.DefinitionBody.fromChainable(new sfn.Task(stack, 'Task', { task: new tasks.InvokeFunction(fn, { payload: { foo: sfn.JsonPath.stringAt('$.bar'), }, }), - }), + })), }); Template.fromStack(stack).hasResourceProperties('AWS::StepFunctions::StateMachine', { diff --git a/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/lambda/run-lambda-task.test.ts b/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/lambda/run-lambda-task.test.ts index 9ff46be34b2a2..679a75ba535a4 100644 --- a/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/lambda/run-lambda-task.test.ts +++ b/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/lambda/run-lambda-task.test.ts @@ -29,7 +29,7 @@ describeDeprecated('run lambda task', () => { }), }); new sfn.StateMachine(stack, 'SM', { - definition: task, + definitionBody: sfn.DefinitionBody.fromChainable(task), }); expect(stack.resolve(task.toStateJson())).toEqual({ @@ -71,7 +71,7 @@ describeDeprecated('run lambda task', () => { }), }); new sfn.StateMachine(stack, 'SM', { - definition: task, + definitionBody: sfn.DefinitionBody.fromChainable(task), }); expect(stack.resolve(task.toStateJson())).toEqual({ @@ -165,7 +165,7 @@ describeDeprecated('run lambda task', () => { task: new tasks.RunLambdaTask(fn), }); new sfn.StateMachine(stack, 'SM', { - definition: task, + definitionBody: sfn.DefinitionBody.fromChainable(task), }); expect(stack.resolve(task.toStateJson())).toEqual({ @@ -199,7 +199,7 @@ describeDeprecated('run lambda task', () => { }), }); new sfn.StateMachine(stack, 'SM', { - definition: task, + definitionBody: sfn.DefinitionBody.fromChainable(task), }); expect(stack.resolve(task.toStateJson())).toEqual({ diff --git a/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/start-execution.test.ts b/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/start-execution.test.ts index 5006a253013a3..229638f1b9b81 100644 --- a/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/start-execution.test.ts +++ b/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/start-execution.test.ts @@ -9,7 +9,7 @@ let child: sfn.StateMachine; beforeEach(() => { stack = new Stack(); child = new sfn.StateMachine(stack, 'ChildStateMachine', { - definition: sfn.Chain.start(new sfn.Pass(stack, 'PassState')), + definitionBody: sfn.DefinitionBody.fromChainable(sfn.Chain.start(new sfn.Pass(stack, 'PassState'))), }); }); @@ -25,7 +25,7 @@ describeDeprecated('StartExecution', () => { }); new sfn.StateMachine(stack, 'ParentStateMachine', { - definition: task, + definitionBody: sfn.DefinitionBody.fromChainable(task), }); expect(stack.resolve(task.toStateJson())).toEqual({ @@ -63,7 +63,7 @@ describeDeprecated('StartExecution', () => { }); new sfn.StateMachine(stack, 'ParentStateMachine', { - definition: task, + definitionBody: sfn.DefinitionBody.fromChainable(task), }); expect(stack.resolve(task.toStateJson())).toEqual({ @@ -189,7 +189,7 @@ describeDeprecated('StartExecution', () => { }); new sfn.StateMachine(stack, 'ParentStateMachine', { - definition: task, + definitionBody: sfn.DefinitionBody.fromChainable(task), }); expect(stack.resolve(task.toStateJson())).toEqual({ diff --git a/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/stepfunctions/invoke-activity.test.ts b/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/stepfunctions/invoke-activity.test.ts index c754775793aad..04137893c6d7a 100644 --- a/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/stepfunctions/invoke-activity.test.ts +++ b/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/stepfunctions/invoke-activity.test.ts @@ -11,7 +11,7 @@ test('Activity can be used in a Task', () => { const activity = new sfn.Activity(stack, 'Activity'); const task = new StepFunctionsInvokeActivity(stack, 'Task', { activity }); new sfn.StateMachine(stack, 'SM', { - definition: task, + definitionBody: sfn.DefinitionBody.fromChainable(task), }); // THEN diff --git a/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/stepfunctions/start-execution.test.ts b/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/stepfunctions/start-execution.test.ts index e21ee044937fe..67bdf340d9af4 100644 --- a/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/stepfunctions/start-execution.test.ts +++ b/packages/aws-cdk-lib/aws-stepfunctions-tasks/test/stepfunctions/start-execution.test.ts @@ -8,7 +8,7 @@ let child: sfn.StateMachine; beforeEach(() => { stack = new Stack(); child = new sfn.StateMachine(stack, 'ChildStateMachine', { - definition: sfn.Chain.start(new sfn.Pass(stack, 'PassState')), + definitionBody: sfn.DefinitionBody.fromChainable(sfn.Chain.start(new sfn.Pass(stack, 'PassState'))), }); }); @@ -22,7 +22,7 @@ test('Execute State Machine - Default - Request Response', () => { }); new sfn.StateMachine(stack, 'ParentStateMachine', { - definition: task, + definitionBody: sfn.DefinitionBody.fromChainable(task), }); expect(stack.resolve(task.toStateJson())).toEqual({ @@ -59,7 +59,7 @@ test('Execute State Machine - Run Job', () => { }); new sfn.StateMachine(stack, 'ParentStateMachine', { - definition: task, + definitionBody: sfn.DefinitionBody.fromChainable(task), }); expect(stack.resolve(task.toStateJson())).toEqual({ @@ -178,7 +178,7 @@ test('Execute State Machine - Wait For Task Token', () => { }); new sfn.StateMachine(stack, 'ParentStateMachine', { - definition: task, + definitionBody: sfn.DefinitionBody.fromChainable(task), }); expect(stack.resolve(task.toStateJson())).toEqual({ @@ -226,7 +226,7 @@ test('Execute State Machine - Associate With Parent - Input Provided', () => { }); new sfn.StateMachine(stack, 'ParentStateMachine', { - definition: task, + definitionBody: sfn.DefinitionBody.fromChainable(task), }); expect(stack.resolve(task.toStateJson())).toMatchObject({ @@ -246,7 +246,7 @@ test('Execute State Machine - Associate With Parent - Input Not Provided', () => }); new sfn.StateMachine(stack, 'ParentStateMachine', { - definition: task, + definitionBody: sfn.DefinitionBody.fromChainable(task), }); expect(stack.resolve(task.toStateJson())).toMatchObject({ diff --git a/packages/aws-cdk-lib/aws-stepfunctions/README.md b/packages/aws-cdk-lib/aws-stepfunctions/README.md index f944e0627c617..57e6b61d47665 100644 --- a/packages/aws-cdk-lib/aws-stepfunctions/README.md +++ b/packages/aws-cdk-lib/aws-stepfunctions/README.md @@ -95,6 +95,18 @@ existing one as well. Set the `removalPolicy` prop to `RemovalPolicy.RETAIN` if you want to retain the execution history when CloudFormation deletes your state machine. +Alternatively you can specify an existing step functions definition by providing a string or a file that contains the ASL JSON. + +```ts +new sfn.StateMachine(stack, 'StateMachineFromString', { + definitionBody: sfn.DefinitionBody.fromString('{"StartAt":"Pass","States":{"Pass":{"Type":"Pass","End":true}}}'), +}); + +new sfn.StateMachine(stack, 'StateMachineFromFile', { + definitionBody: sfn.DefinitionBody.fromFile('./asl.json'), +}); +``` + ## State Machine Data An Execution represents each time the State Machine is run. Every Execution has [State Machine diff --git a/packages/aws-cdk-lib/aws-stepfunctions/lib/state-machine.ts b/packages/aws-cdk-lib/aws-stepfunctions/lib/state-machine.ts index 1a46d90c49eba..c78622ee03399 100644 --- a/packages/aws-cdk-lib/aws-stepfunctions/lib/state-machine.ts +++ b/packages/aws-cdk-lib/aws-stepfunctions/lib/state-machine.ts @@ -6,6 +6,7 @@ import { IChainable } from './types'; import * as cloudwatch from '../../aws-cloudwatch'; import * as iam from '../../aws-iam'; import * as logs from '../../aws-logs'; +import * as s3_assets from '../../aws-s3-assets'; import { Arn, ArnFormat, Duration, IResource, RemovalPolicy, Resource, Stack, Token } from '../../core'; /** @@ -90,8 +91,19 @@ export interface StateMachineProps { /** * Definition for this state machine + * @deprecated use definitionBody: DefinitionBody.fromChainable() */ - readonly definition: IChainable; + readonly definition?: IChainable; + + /** + * Definition for this state machine + */ + readonly definitionBody?: DefinitionBody; + + /** + * substitutions for the definition body aas a key-value map + */ + readonly definitionSubstitutions?: { [key: string]: string }; /** * The execution role for the state machine service @@ -400,6 +412,13 @@ export class StateMachine extends StateMachineBase { physicalName: props.stateMachineName, }); + if (props.definition && props.definitionBody) { + throw new Error('Cannot specify definition and definitionBody at the same time'); + } + if (!props.definition && !props.definitionBody) { + throw new Error('You need to specify either definition or definitionBody'); + } + if (props.stateMachineName !== undefined) { this.validateStateMachineName(props.stateMachineName); } @@ -408,8 +427,7 @@ export class StateMachine extends StateMachineBase { assumedBy: new iam.ServicePrincipal('states.amazonaws.com'), }); - const graph = new StateGraph(props.definition.startState, `State Machine ${id} definition`); - graph.timeout = props.timeout; + const definitionBody = props.definitionBody ?? DefinitionBody.fromChainable(props.definition!); this.stateMachineType = props.stateMachineType ?? StateMachineType.STANDARD; @@ -417,18 +435,15 @@ export class StateMachine extends StateMachineBase { stateMachineName: this.physicalName, stateMachineType: props.stateMachineType ?? undefined, roleArn: this.role.roleArn, - definitionString: Stack.of(this).toJsonString(graph.toGraphJson()), loggingConfiguration: props.logs ? this.buildLoggingConfiguration(props.logs) : undefined, tracingConfiguration: props.tracingEnabled ? this.buildTracingConfiguration() : undefined, + ...definitionBody.bind(this, this.role, props), + definitionSubstitutions: props.definitionSubstitutions, }); resource.applyRemovalPolicy(props.removalPolicy, { default: RemovalPolicy.DESTROY }); resource.node.addDependency(this.role); - for (const statement of graph.policyStatements) { - this.addToRolePolicy(statement); - } - this.stateMachineName = this.getResourceNameAttribute(resource.attrName); this.stateMachineArn = this.getResourceArnAttribute(resource.ref, { service: 'states', @@ -621,3 +636,83 @@ export interface IStateMachine extends IResource, iam.IGrantable { */ metricTime(props?: cloudwatch.MetricOptions): cloudwatch.Metric; } + +/** + * Partial object from the StateMachine L1 construct properties containing definition information + */ +export interface DefinitionConfig { + readonly definition?: any; + readonly definitionString?: string; + readonly definitionS3Location?: CfnStateMachine.S3LocationProperty; +} + +export abstract class DefinitionBody { + + public static fromFile(path: string, options: s3_assets.AssetOptions): DefinitionBody { + return new FileDefinitionBody(path, options); + } + + public static fromString(definition: string): DefinitionBody { + return new StringDefinitionBody(definition); + } + + public static fromChainable(chainable: IChainable): DefinitionBody { + return new ChainDefinitionBody(chainable); + } + + public abstract bind(scope: Construct, sfnPrincipal: iam.IPrincipal, sfnProps: StateMachineProps): DefinitionConfig; + +} + +export class FileDefinitionBody extends DefinitionBody { + + constructor(public readonly path: string, private readonly options: s3_assets.AssetOptions = {}) { + super(); + } + + public bind(scope: Construct, _sfnPrincipal: iam.IPrincipal, _sfnProps: StateMachineProps): DefinitionConfig { + const asset = new s3_assets.Asset(scope, 'DefinitionBody', { + path: this.path, + ...this.options, + }); + return { + definitionS3Location: { + bucket: asset.s3BucketName, + key: asset.s3ObjectKey, + }, + }; + } + +} + +export class StringDefinitionBody extends DefinitionBody { + + constructor(public readonly body: string) { + super(); + } + + public bind(_scope: Construct, _sfnPrincipal: iam.IPrincipal, _sfnProps: StateMachineProps): DefinitionConfig { + return { + definitionString: this.body, + }; + } +} + +export class ChainDefinitionBody extends DefinitionBody { + + constructor(public readonly chainable: IChainable) { + super(); + } + + public bind(scope: Construct, sfnPrincipal: iam.IPrincipal, sfnProps: StateMachineProps): DefinitionConfig { + const graph = new StateGraph(this.chainable.startState, 'State Machine definition'); + graph.timeout = sfnProps.timeout; + for (const statement of graph.policyStatements) { + sfnPrincipal.addToPrincipalPolicy(statement); + } + return { + definitionString: Stack.of(scope).toJsonString(graph.toGraphJson()), + }; + } + +} \ No newline at end of file diff --git a/packages/aws-cdk-lib/aws-stepfunctions/test/state-machine-fragment.test.ts b/packages/aws-cdk-lib/aws-stepfunctions/test/state-machine-fragment.test.ts index b3438a1693ff2..693b8781298e7 100644 --- a/packages/aws-cdk-lib/aws-stepfunctions/test/state-machine-fragment.test.ts +++ b/packages/aws-cdk-lib/aws-stepfunctions/test/state-machine-fragment.test.ts @@ -13,7 +13,7 @@ describe('State Machine Fragment', () => { const fragment2 = new ParallelMachineFragment(stack, 'Fragment 2').prefixStates(); new stepfunctions.StateMachine(stack, 'State Machine', { - definition: fragment1.next(fragment2), + definitionBody: stepfunctions.DefinitionBody.fromChainable(fragment1.next(fragment2)), }); // THEN diff --git a/packages/aws-cdk-lib/aws-stepfunctions/test/state-machine-resources.test.ts b/packages/aws-cdk-lib/aws-stepfunctions/test/state-machine-resources.test.ts index fb231ad43041a..0f9a268afe55e 100644 --- a/packages/aws-cdk-lib/aws-stepfunctions/test/state-machine-resources.test.ts +++ b/packages/aws-cdk-lib/aws-stepfunctions/test/state-machine-resources.test.ts @@ -24,7 +24,7 @@ describe('State Machine Resources', () => { // WHEN new stepfunctions.StateMachine(stack, 'SM', { - definition: task, + definitionBody: stepfunctions.DefinitionBody.fromChainable(task), }); // THEN @@ -59,7 +59,7 @@ describe('State Machine Resources', () => { // WHEN new stepfunctions.StateMachine(stack, 'SM', { - definition: para, + definitionBody: stepfunctions.DefinitionBody.fromChainable(para), }); // THEN @@ -107,13 +107,13 @@ describe('State Machine Resources', () => { Catch: undefined, InputPath: '$', Parameters: - { - 'input.$': '$', - 'stringArgument': 'inital-task', - 'numberArgument': 123, - 'booleanArgument': true, - 'arrayArgument': ['a', 'b', 'c'], - }, + { + 'input.$': '$', + 'stringArgument': 'inital-task', + 'numberArgument': 123, + 'booleanArgument': true, + 'arrayArgument': ['a', 'b', 'c'], + }, OutputPath: '$.state', Type: 'Task', Comment: undefined, @@ -153,10 +153,10 @@ describe('State Machine Resources', () => { Catch: undefined, InputPath: '$', Parameters: - { - a: 'aa', - b: 'bb', - }, + { + a: 'aa', + b: 'bb', + }, OutputPath: '$.state', Type: 'Task', Comment: undefined, @@ -172,7 +172,7 @@ describe('State Machine Resources', () => { const stack = new cdk.Stack(); const task = new FakeTask(stack, 'Task'); const stateMachine = new stepfunctions.StateMachine(stack, 'StateMachine', { - definition: task, + definitionBody: stepfunctions.DefinitionBody.fromChainable(task), }); const role = new iam.Role(stack, 'Role', { assumedBy: new iam.ServicePrincipal('lambda.amazonaws.com'), @@ -201,7 +201,7 @@ describe('State Machine Resources', () => { const stack = new cdk.Stack(); const task = new FakeTask(stack, 'Task'); const stateMachine = new stepfunctions.StateMachine(stack, 'StateMachine', { - definition: task, + definitionBody: stepfunctions.DefinitionBody.fromChainable(task), stateMachineType: stepfunctions.StateMachineType.EXPRESS, }); const role = new iam.Role(stack, 'Role', { @@ -231,7 +231,7 @@ describe('State Machine Resources', () => { const stack = new cdk.Stack(); const task = new FakeTask(stack, 'Task'); const stateMachine = new stepfunctions.StateMachine(stack, 'StateMachine', { - definition: task, + definitionBody: stepfunctions.DefinitionBody.fromChainable(task), }); const role = new iam.Role(stack, 'Role', { assumedBy: new iam.ServicePrincipal('lambda.amazonaws.com'), @@ -317,7 +317,7 @@ describe('State Machine Resources', () => { const stack = new cdk.Stack(); const task = new FakeTask(stack, 'Task'); const stateMachine = new stepfunctions.StateMachine(stack, 'StateMachine', { - definition: task, + definitionBody: stepfunctions.DefinitionBody.fromChainable(task), }); const role = new iam.Role(stack, 'Role', { assumedBy: new iam.ServicePrincipal('lambda.amazonaws.com'), @@ -351,7 +351,7 @@ describe('State Machine Resources', () => { const stack = new cdk.Stack(); const task = new FakeTask(stack, 'Task'); const stateMachine = new stepfunctions.StateMachine(stack, 'StateMachine', { - definition: task, + definitionBody: stepfunctions.DefinitionBody.fromChainable(task), }); const role = new iam.Role(stack, 'Role', { assumedBy: new iam.ServicePrincipal('lambda.amazonaws.com'), @@ -412,7 +412,7 @@ describe('State Machine Resources', () => { const stack = new cdk.Stack(); const task = new FakeTask(stack, 'Task'); const stateMachine = new stepfunctions.StateMachine(stack, 'StateMachine', { - definition: task, + definitionBody: stepfunctions.DefinitionBody.fromChainable(task), }); const role = new iam.Role(stack, 'Role', { assumedBy: new iam.ServicePrincipal('lambda.amazonaws.com'), @@ -643,13 +643,13 @@ describe('State Machine Resources', () => { InputPath: '$', OutputPath: '$.state', Parameters: - { - 'input.$': '$', - 'stringArgument': 'inital-task', - 'numberArgument': 123, - 'booleanArgument': true, - 'arrayArgument': ['a', 'b', 'c'], - }, + { + 'input.$': '$', + 'stringArgument': 'inital-task', + 'numberArgument': 123, + 'booleanArgument': true, + 'arrayArgument': ['a', 'b', 'c'], + }, Type: 'Pass', Comment: undefined, Result: undefined, @@ -673,7 +673,7 @@ describe('State Machine Resources', () => { expect(taskState).toEqual({ End: true, Parameters: - { 'input.$': '$.myField' }, + { 'input.$': '$.myField' }, Type: 'Pass', }); }), @@ -690,7 +690,7 @@ describe('State Machine Resources', () => { ], }); new stepfunctions.StateMachine(stack, 'StateMachine', { - definition: task, + definitionBody: stepfunctions.DefinitionBody.fromChainable(task), }); // THEN diff --git a/packages/aws-cdk-lib/aws-stepfunctions/test/state-machine.test.ts b/packages/aws-cdk-lib/aws-stepfunctions/test/state-machine.test.ts index 87e8f09947839..4dd9b3c374dde 100644 --- a/packages/aws-cdk-lib/aws-stepfunctions/test/state-machine.test.ts +++ b/packages/aws-cdk-lib/aws-stepfunctions/test/state-machine.test.ts @@ -7,7 +7,7 @@ import * as cdk from '../../core'; import * as sfn from '../lib'; describe('State Machine', () => { - test('Instantiate Default State Machine', () => { + test('Instantiate Default State Machine with deprecated definition', () => { // GIVEN const stack = new cdk.Stack(); @@ -24,6 +24,66 @@ describe('State Machine', () => { }); }), + test('Instantiate Default State Machine with string definition', () => { + // GIVEN + const stack = new cdk.Stack(); + + // WHEN + new sfn.StateMachine(stack, 'MyStateMachine', { + stateMachineName: 'MyStateMachine', + definitionBody: sfn.DefinitionBody.fromString('{"StartAt":"Pass","States":{"Pass":{"Type":"Pass","End":true}}}'), + }); + + // THEN + Template.fromStack(stack).hasResourceProperties('AWS::StepFunctions::StateMachine', { + StateMachineName: 'MyStateMachine', + DefinitionString: '{"StartAt":"Pass","States":{"Pass":{"Type":"Pass","End":true}}}', + }); + }), + + test('Instantiate fails with old and new definition specified', () => { + // GIVEN + const stack = new cdk.Stack(); + + // FAIL + expect(() => { + new sfn.StateMachine(stack, 'MyStateMachine', { + stateMachineName: 'MyStateMachine', + definition: sfn.Chain.start(new sfn.Pass(stack, 'Pass')), + definitionBody: sfn.DefinitionBody.fromChainable(sfn.Chain.start(new sfn.Pass(stack, 'Pass2'))), + }); + }).toThrowError('Cannot specify definition and definitionBody at the same time'); + }), + + test('Instantiate fails with no definition specified', () => { + // GIVEN + const stack = new cdk.Stack(); + + // FAIL + expect(() => { + new sfn.StateMachine(stack, 'MyStateMachine', { + stateMachineName: 'MyStateMachine', + }); + }).toThrowError('You need to specify either definition or definitionBody'); + }), + + test('Instantiate Default State Machine', () => { + // GIVEN + const stack = new cdk.Stack(); + + // WHEN + new sfn.StateMachine(stack, 'MyStateMachine', { + stateMachineName: 'MyStateMachine', + definitionBody: sfn.DefinitionBody.fromChainable(sfn.Chain.start(new sfn.Pass(stack, 'Pass'))), + }); + + // THEN + Template.fromStack(stack).hasResourceProperties('AWS::StepFunctions::StateMachine', { + StateMachineName: 'MyStateMachine', + DefinitionString: '{"StartAt":"Pass","States":{"Pass":{"Type":"Pass","End":true}}}', + }); + }), + test('Instantiate Standard State Machine', () => { // GIVEN const stack = new cdk.Stack(); @@ -31,7 +91,7 @@ describe('State Machine', () => { // WHEN new sfn.StateMachine(stack, 'MyStateMachine', { stateMachineName: 'MyStateMachine', - definition: sfn.Chain.start(new sfn.Pass(stack, 'Pass')), + definitionBody: sfn.DefinitionBody.fromChainable(sfn.Chain.start(new sfn.Pass(stack, 'Pass'))), stateMachineType: sfn.StateMachineType.STANDARD, }); @@ -51,7 +111,7 @@ describe('State Machine', () => { // WHEN new sfn.StateMachine(stack, 'MyStateMachine', { stateMachineName: 'MyStateMachine', - definition: sfn.Chain.start(new sfn.Pass(stack, 'Pass')), + definitionBody: sfn.DefinitionBody.fromChainable(sfn.Chain.start(new sfn.Pass(stack, 'Pass'))), stateMachineType: sfn.StateMachineType.EXPRESS, }); @@ -72,7 +132,7 @@ describe('State Machine', () => { const createStateMachine = (name: string) => { new sfn.StateMachine(stack, name + 'StateMachine', { stateMachineName: name, - definition: sfn.Chain.start(new sfn.Pass(stack, name + 'Pass')), + definitionBody: sfn.DefinitionBody.fromChainable(sfn.Chain.start(new sfn.Pass(stack, name + 'Pass'))), stateMachineType: sfn.StateMachineType.EXPRESS, }); }; @@ -98,7 +158,7 @@ describe('State Machine', () => { // GIVEN const stack = new cdk.Stack(); const newStateMachine = new sfn.StateMachine(stack, 'dummyStateMachineToken', { - definition: sfn.Chain.start(new sfn.Pass(stack, 'dummyStateMachineTokenPass')), + definitionBody: sfn.DefinitionBody.fromChainable(sfn.Chain.start(new sfn.Pass(stack, 'dummyStateMachineTokenPass'))), }); // WHEN @@ -109,7 +169,7 @@ describe('State Machine', () => { expect(() => { new sfn.StateMachine(stack, 'TokenTest-StateMachine', { stateMachineName: nameContainingToken, - definition: sfn.Chain.start(new sfn.Pass(stack, 'TokenTest-StateMachinePass')), + definitionBody: sfn.DefinitionBody.fromChainable(sfn.Chain.start(new sfn.Pass(stack, 'TokenTest-StateMachinePass'))), stateMachineType: sfn.StateMachineType.EXPRESS, }); }).not.toThrow(); @@ -117,7 +177,7 @@ describe('State Machine', () => { expect(() => { new sfn.StateMachine(stack, 'ValidNameTest-StateMachine', { stateMachineName: validName, - definition: sfn.Chain.start(new sfn.Pass(stack, 'ValidNameTest-StateMachinePass')), + definitionBody: sfn.DefinitionBody.fromChainable(sfn.Chain.start(new sfn.Pass(stack, 'ValidNameTest-StateMachinePass'))), stateMachineType: sfn.StateMachineType.EXPRESS, }); }).not.toThrow(); @@ -131,7 +191,7 @@ describe('State Machine', () => { const logGroup = new logs.LogGroup(stack, 'MyLogGroup'); new sfn.StateMachine(stack, 'MyStateMachine', { - definition: sfn.Chain.start(new sfn.Pass(stack, 'Pass')), + definitionBody: sfn.DefinitionBody.fromChainable(sfn.Chain.start(new sfn.Pass(stack, 'Pass'))), logs: { destination: logGroup, level: sfn.LogLevel.FATAL, @@ -188,7 +248,7 @@ describe('State Machine', () => { // WHEN new sfn.StateMachine(stack, 'MyStateMachine', { - definition: sfn.Chain.start(new sfn.Pass(stack, 'Pass')), + definitionBody: sfn.DefinitionBody.fromChainable(sfn.Chain.start(new sfn.Pass(stack, 'Pass'))), tracingEnabled: true, }); @@ -229,7 +289,7 @@ describe('State Machine', () => { // WHEN const sm = new sfn.StateMachine(stack, 'MyStateMachine', { - definition: sfn.Chain.start(new sfn.Pass(stack, 'Pass')), + definitionBody: sfn.DefinitionBody.fromChainable(sfn.Chain.start(new sfn.Pass(stack, 'Pass'))), }); const bucket = new s3.Bucket(stack, 'MyBucket'); bucket.grantRead(sm); @@ -289,7 +349,7 @@ describe('State Machine', () => { // WHEN new sfn.StateMachine(stateMachineStack, 'MyStateMachine', { - definition: new FakeTask(stateMachineStack, 'fakeTask', { credentials: { role: sfn.TaskRole.fromRole(role) } }), + definitionBody: sfn.DefinitionBody.fromChainable(new FakeTask(stateMachineStack, 'fakeTask', { credentials: { role: sfn.TaskRole.fromRole(role) } })), }); // THEN @@ -346,7 +406,7 @@ describe('State Machine', () => { // WHEN const role = iam.Role.fromRoleName(stack, 'Role', 'example-role'); new sfn.StateMachine(stack, 'MyStateMachine', { - definition: new FakeTask(stack, 'fakeTask', { credentials: { role: sfn.TaskRole.fromRole(role) } }), + definitionBody: sfn.DefinitionBody.fromChainable(new FakeTask(stack, 'fakeTask', { credentials: { role: sfn.TaskRole.fromRole(role) } })), }); // THEN @@ -410,7 +470,7 @@ describe('State Machine', () => { // WHEN new sfn.StateMachine(stack, 'MyStateMachine', { - definition: new FakeTask(stack, 'fakeTask', { credentials: { role: sfn.TaskRole.fromRoleArnJsonPath('$.RoleArn') } }), + definitionBody: sfn.DefinitionBody.fromChainable(new FakeTask(stack, 'fakeTask', { credentials: { role: sfn.TaskRole.fromRoleArnJsonPath('$.RoleArn') } })), }); // THEN @@ -510,7 +570,7 @@ describe('State Machine', () => { // WHEN new sfn.StateMachine(stack, 'MyStateMachine', { - definition: new sfn.Pass(stack, 'Pass'), + definitionBody: sfn.DefinitionBody.fromChainable(new sfn.Pass(stack, 'Pass')), removalPolicy: cdk.RemovalPolicy.RETAIN, }); diff --git a/packages/aws-cdk-lib/aws-stepfunctions/test/state.test.ts b/packages/aws-cdk-lib/aws-stepfunctions/test/state.test.ts index faaa2d8bf5115..bfa29d0fd032b 100644 --- a/packages/aws-cdk-lib/aws-stepfunctions/test/state.test.ts +++ b/packages/aws-cdk-lib/aws-stepfunctions/test/state.test.ts @@ -1,7 +1,7 @@ import { FakeTask } from './fake-task'; import * as assert from '../../assertions'; import * as cdk from '../../core'; -import { JsonPath, StateMachine } from '../lib'; +import { DefinitionBody, JsonPath, StateMachine } from '../lib'; test('JsonPath.DISCARD can be used to discard a state\'s output', () => { // GIVEN @@ -13,7 +13,7 @@ test('JsonPath.DISCARD can be used to discard a state\'s output', () => { resultPath: JsonPath.DISCARD, }); new StateMachine(stack, 'state-machine', { - definition: task, + definitionBody: DefinitionBody.fromChainable(task), }); // WHEN