diff --git a/.projen/deps.json b/.projen/deps.json
index 017ed0f..0f5210c 100644
--- a/.projen/deps.json
+++ b/.projen/deps.json
@@ -2,12 +2,12 @@
"dependencies": [
{
"name": "@aws-cdk/integ-runner",
- "version": "2.80.0-alpha.0",
+ "version": "2.100.0-alpha.0",
"type": "build"
},
{
"name": "@aws-cdk/integ-tests-alpha",
- "version": "2.80.0-alpha.0",
+ "version": "2.100.0-alpha.0",
"type": "build"
},
{
@@ -94,9 +94,25 @@
"name": "typescript",
"type": "build"
},
+ {
+ "name": "@aws-sdk/client-iot",
+ "type": "bundled"
+ },
+ {
+ "name": "@smithy/smithy-client",
+ "type": "bundled"
+ },
+ {
+ "name": "@types/aws-lambda",
+ "type": "bundled"
+ },
+ {
+ "name": "aws-lambda",
+ "type": "bundled"
+ },
{
"name": "aws-cdk-lib",
- "version": "^2.80.0",
+ "version": "^2.100.0",
"type": "peer"
},
{
diff --git a/.projen/tasks.json b/.projen/tasks.json
index 6606141..8a73bff 100644
--- a/.projen/tasks.json
+++ b/.projen/tasks.json
@@ -285,13 +285,13 @@
},
"steps": [
{
- "exec": "npx npm-check-updates@16 --upgrade --target=minor --peer --dep=dev,peer,prod,optional --filter=@types/jest,@types/node,eslint-import-resolver-typescript,eslint-plugin-import,jest,jsii-diff,jsii-pacmak,projen,ts-jest,ts-node,typescript,@aws-sdk/client-iot,aws-lambda"
+ "exec": "npx npm-check-updates@16 --upgrade --target=minor --peer --dep=dev,peer,prod,optional --filter=@types/jest,@types/node,eslint-import-resolver-typescript,eslint-plugin-import,jest,jsii-diff,jsii-pacmak,projen,ts-jest,ts-node,typescript,@aws-sdk/client-iot,@smithy/smithy-client,@types/aws-lambda,aws-lambda"
},
{
"exec": "yarn install --check-files"
},
{
- "exec": "yarn upgrade @aws-cdk/integ-runner @aws-cdk/integ-tests-alpha @types/jest @types/node @typescript-eslint/eslint-plugin @typescript-eslint/parser commit-and-tag-version eslint-import-resolver-typescript eslint-plugin-import eslint jest jest-junit jsii-diff jsii-docgen jsii-pacmak jsii-rosetta jsii projen ts-jest ts-node typescript aws-cdk-lib constructs @aws-sdk/client-iot aws-lambda"
+ "exec": "yarn upgrade @aws-cdk/integ-runner @aws-cdk/integ-tests-alpha @types/jest @types/node @typescript-eslint/eslint-plugin @typescript-eslint/parser commit-and-tag-version eslint-import-resolver-typescript eslint-plugin-import eslint jest jest-junit jsii-diff jsii-docgen jsii-pacmak jsii-rosetta jsii projen ts-jest ts-node typescript @aws-sdk/client-iot @smithy/smithy-client @types/aws-lambda aws-lambda aws-cdk-lib constructs"
},
{
"exec": "npx projen"
diff --git a/.projenrc.ts b/.projenrc.ts
index 82a4e3e..0916940 100644
--- a/.projenrc.ts
+++ b/.projenrc.ts
@@ -2,7 +2,7 @@ import { awscdk } from 'projen';
const project = new awscdk.AwsCdkConstructLibrary({
author: 'Kazuho CryerShinozuka',
authorAddress: 'malaysia.cryer@gmail.com',
- cdkVersion: '2.80.0',
+ cdkVersion: '2.100.0',
defaultReleaseBranch: 'main',
jsiiVersion: '~5.5.0',
name: 'cdk-iot-core-certificates-v3',
@@ -14,8 +14,8 @@ const project = new awscdk.AwsCdkConstructLibrary({
deps: ['aws-lambda', '@aws-sdk/client-iot'],
description: 'CDK Construct for AWS IoT Core certificates and things',
devDeps: [
- '@aws-cdk/integ-runner@2.80.0-alpha.0',
- '@aws-cdk/integ-tests-alpha@2.80.0-alpha.0',
+ '@aws-cdk/integ-runner@2.100.0-alpha.0',
+ '@aws-cdk/integ-tests-alpha@2.100.0-alpha.0',
],
releaseToNpm: true,
packageName: 'cdk-iot-core-certificates-v3',
@@ -23,6 +23,7 @@ const project = new awscdk.AwsCdkConstructLibrary({
distName: 'cdk-iot-core-certificates-v3',
module: 'cdk-iot-core-certificates-v3',
},
+ bundledDeps: ['@aws-sdk/client-iot', 'aws-lambda', '@smithy/smithy-client', '@types/aws-lambda'],
});
project.projectBuild.testTask.exec(
'yarn tsc -p tsconfig.dev.json && yarn integ-runner',
diff --git a/API.md b/API.md
new file mode 100644
index 0000000..f068f25
--- /dev/null
+++ b/API.md
@@ -0,0 +1,268 @@
+# API Reference
+
+## Constructs
+
+### ThingWithCert
+
+#### Initializers
+
+```typescript
+import { ThingWithCert } from 'cdk-iot-core-certificates-v3'
+
+new ThingWithCert(scope: Construct, id: string, props: ThingWithCertProps)
+```
+
+| **Name** | **Type** | **Description** |
+| --- | --- | --- |
+| scope
| constructs.Construct
| *No description.* |
+| id
| string
| *No description.* |
+| props
| ThingWithCertProps
| *No description.* |
+
+---
+
+##### `scope`Required
+
+- *Type:* constructs.Construct
+
+---
+
+##### `id`Required
+
+- *Type:* string
+
+---
+
+##### `props`Required
+
+- *Type:* ThingWithCertProps
+
+---
+
+#### Methods
+
+| **Name** | **Description** |
+| --- | --- |
+| toString
| Returns a string representation of this construct. |
+
+---
+
+##### `toString`
+
+```typescript
+public toString(): string
+```
+
+Returns a string representation of this construct.
+
+#### Static Functions
+
+| **Name** | **Description** |
+| --- | --- |
+| isConstruct
| Checks if `x` is a construct. |
+
+---
+
+##### ~~`isConstruct`~~
+
+```typescript
+import { ThingWithCert } from 'cdk-iot-core-certificates-v3'
+
+ThingWithCert.isConstruct(x: any)
+```
+
+Checks if `x` is a construct.
+
+###### `x`Required
+
+- *Type:* any
+
+Any object.
+
+---
+
+#### Properties
+
+| **Name** | **Type** | **Description** |
+| --- | --- | --- |
+| node
| constructs.Node
| The tree node. |
+| certId
| string
| *No description.* |
+| certPem
| string
| *No description.* |
+| privKey
| string
| *No description.* |
+| thingArn
| string
| *No description.* |
+
+---
+
+##### `node`Required
+
+```typescript
+public readonly node: Node;
+```
+
+- *Type:* constructs.Node
+
+The tree node.
+
+---
+
+##### `certId`Required
+
+```typescript
+public readonly certId: string;
+```
+
+- *Type:* string
+
+---
+
+##### `certPem`Required
+
+```typescript
+public readonly certPem: string;
+```
+
+- *Type:* string
+
+---
+
+##### `privKey`Required
+
+```typescript
+public readonly privKey: string;
+```
+
+- *Type:* string
+
+---
+
+##### `thingArn`Required
+
+```typescript
+public readonly thingArn: string;
+```
+
+- *Type:* string
+
+---
+
+
+## Structs
+
+### ThingWithCertProps
+
+#### Initializer
+
+```typescript
+import { ThingWithCertProps } from 'cdk-iot-core-certificates-v3'
+
+const thingWithCertProps: ThingWithCertProps = { ... }
+```
+
+#### Properties
+
+| **Name** | **Type** | **Description** |
+| --- | --- | --- |
+| account
| string
| The AWS account ID this resource belongs to. |
+| environmentFromArn
| string
| ARN to deduce region and account from. |
+| physicalName
| string
| The value passed in by users to the physical name prop of the resource. |
+| region
| string
| The AWS region this resource belongs to. |
+| thingName
| string
| *No description.* |
+| paramPrefix
| string
| *No description.* |
+| saveToParamStore
| boolean
| *No description.* |
+
+---
+
+##### `account`Optional
+
+```typescript
+public readonly account: string;
+```
+
+- *Type:* string
+- *Default:* the resource is in the same account as the stack it belongs to
+
+The AWS account ID this resource belongs to.
+
+---
+
+##### `environmentFromArn`Optional
+
+```typescript
+public readonly environmentFromArn: string;
+```
+
+- *Type:* string
+- *Default:* take environment from `account`, `region` parameters, or use Stack environment.
+
+ARN to deduce region and account from.
+
+The ARN is parsed and the account and region are taken from the ARN.
+This should be used for imported resources.
+
+Cannot be supplied together with either `account` or `region`.
+
+---
+
+##### `physicalName`Optional
+
+```typescript
+public readonly physicalName: string;
+```
+
+- *Type:* string
+- *Default:* The physical name will be allocated by CloudFormation at deployment time
+
+The value passed in by users to the physical name prop of the resource.
+
+`undefined` implies that a physical name will be allocated by
+ CloudFormation during deployment.
+- a concrete value implies a specific physical name
+- `PhysicalName.GENERATE_IF_NEEDED` is a marker that indicates that a physical will only be generated
+ by the CDK if it is needed for cross-environment references. Otherwise, it will be allocated by CloudFormation.
+
+---
+
+##### `region`Optional
+
+```typescript
+public readonly region: string;
+```
+
+- *Type:* string
+- *Default:* the resource is in the same region as the stack it belongs to
+
+The AWS region this resource belongs to.
+
+---
+
+##### `thingName`Required
+
+```typescript
+public readonly thingName: string;
+```
+
+- *Type:* string
+
+---
+
+##### `paramPrefix`Optional
+
+```typescript
+public readonly paramPrefix: string;
+```
+
+- *Type:* string
+
+---
+
+##### `saveToParamStore`Optional
+
+```typescript
+public readonly saveToParamStore: boolean;
+```
+
+- *Type:* boolean
+
+---
+
+
+
diff --git a/package.json b/package.json
index f2c505c..6cf4851 100644
--- a/package.json
+++ b/package.json
@@ -36,13 +36,13 @@
"organization": false
},
"devDependencies": {
- "@aws-cdk/integ-runner": "2.80.0-alpha.0",
- "@aws-cdk/integ-tests-alpha": "2.80.0-alpha.0",
+ "@aws-cdk/integ-runner": "2.100.0-alpha.0",
+ "@aws-cdk/integ-tests-alpha": "2.100.0-alpha.0",
"@types/jest": "^29.5.13",
"@types/node": "^22.7.8",
"@typescript-eslint/eslint-plugin": "^7",
"@typescript-eslint/parser": "^7",
- "aws-cdk-lib": "2.80.0",
+ "aws-cdk-lib": "2.100.0",
"commit-and-tag-version": "^12",
"constructs": "10.0.5",
"eslint": "^8",
@@ -61,13 +61,21 @@
"typescript": "^5.6.3"
},
"peerDependencies": {
- "aws-cdk-lib": "^2.80.0",
+ "aws-cdk-lib": "^2.100.0",
"constructs": "^10.0.5"
},
"dependencies": {
"@aws-sdk/client-iot": "^3.675.0",
+ "@smithy/smithy-client": "^3.4.2",
+ "@types/aws-lambda": "^8.10.145",
"aws-lambda": "^1.0.7"
},
+ "bundledDependencies": [
+ "@aws-sdk/client-iot",
+ "@smithy/smithy-client",
+ "@types/aws-lambda",
+ "aws-lambda"
+ ],
"keywords": [
"aws",
"aws-cdk",
diff --git a/src/lambda/adapters/thing.ts b/src/lambda/adapters/thing.ts
index 9feae51..99a50d8 100644
--- a/src/lambda/adapters/thing.ts
+++ b/src/lambda/adapters/thing.ts
@@ -2,57 +2,57 @@ import { IotPort } from '../ports/iot';
import { ThingPort } from '../ports/thing';
export const thingAdaptor = (iotAdaptor: IotPort): ThingPort => {
- return {
- create: async (thingName) => {
- const { thingArn } = await iotAdaptor.createThing({
- thingName: thingName,
- });
- console.info(`Thing created with ARN: ${thingArn}`);
- const { certificateId, certificateArn, certificatePem, keyPair } =
+ return {
+ create: async (thingName) => {
+ const { thingArn } = await iotAdaptor.createThing({
+ thingName: thingName,
+ });
+ console.info(`Thing created with ARN: ${thingArn}`);
+ const { certificateId, certificateArn, certificatePem, keyPair } =
await iotAdaptor.createKeysAndCertificates();
- const { PrivateKey } = keyPair!;
- const { policyArn } = await iotAdaptor.createPolicy(thingName);
- console.info(`Policy created with ARN: ${policyArn}`);
- await iotAdaptor.attachPrincipalPolicy({
- policyName: thingName,
- principal: certificateArn!,
- });
- console.info('Policy attached to certificate');
- await iotAdaptor.attachThingPrincipal({
- principal: certificateArn!,
- thingName: thingName,
- });
- console.info('Certificate attached to thing');
- return {
- certId: certificateId!,
- certPem: certificatePem!,
- privKey: PrivateKey!,
- thingArn: thingArn!,
- };
- },
- delete: async (thingName) => {
- const { principals } = await iotAdaptor.listThingPrincipals(thingName);
- for await (const certificateArn of principals!) {
- await iotAdaptor.detachPrincipalPolicy({
- policyName: thingName,
- principal: certificateArn,
- });
- console.info(`Policy detached from certificate for ${thingName}`);
- await iotAdaptor.detachThingPrincipal({
- principal: certificateArn,
- thingName: thingName,
- });
- console.info(`Certificate detached from thing for ${certificateArn}`);
- await iotAdaptor.updateCertificateToInactive(certificateArn);
- console.info(`Certificate marked as inactive for ${certificateArn}`);
+ const { PrivateKey } = keyPair!;
+ const { policyArn } = await iotAdaptor.createPolicy(thingName);
+ console.info(`Policy created with ARN: ${policyArn}`);
+ await iotAdaptor.attachPrincipalPolicy({
+ policyName: thingName,
+ principal: certificateArn!,
+ });
+ console.info('Policy attached to certificate');
+ await iotAdaptor.attachThingPrincipal({
+ principal: certificateArn!,
+ thingName: thingName,
+ });
+ console.info('Certificate attached to thing');
+ return {
+ certId: certificateId!,
+ certPem: certificatePem!,
+ privKey: PrivateKey!,
+ thingArn: thingArn!,
+ };
+ },
+ delete: async (thingName) => {
+ const { principals } = await iotAdaptor.listThingPrincipals(thingName);
+ for await (const certificateArn of principals!) {
+ await iotAdaptor.detachPrincipalPolicy({
+ policyName: thingName,
+ principal: certificateArn,
+ });
+ console.info(`Policy detached from certificate for ${thingName}`);
+ await iotAdaptor.detachThingPrincipal({
+ principal: certificateArn,
+ thingName: thingName,
+ });
+ console.info(`Certificate detached from thing for ${certificateArn}`);
+ await iotAdaptor.updateCertificateToInactive(certificateArn);
+ console.info(`Certificate marked as inactive for ${certificateArn}`);
- await iotAdaptor.deleteCertificate(certificateArn);
- console.info(`Certificate deleted from thing for ${certificateArn}`);
- await iotAdaptor.deleteThing(thingName);
- console.info(`Thing deleted with name: ${thingName}`);
- }
- await iotAdaptor.deletePolicy(thingName);
- console.info(`Policy deleted: ${thingName}`);
- },
- };
+ await iotAdaptor.deleteCertificate(certificateArn);
+ console.info(`Certificate deleted from thing for ${certificateArn}`);
+ await iotAdaptor.deleteThing(thingName);
+ console.info(`Thing deleted with name: ${thingName}`);
+ }
+ await iotAdaptor.deletePolicy(thingName);
+ console.info(`Policy deleted: ${thingName}`);
+ },
+ };
};
diff --git a/src/lambda/index.ts b/src/lambda/index.ts
index 9c73c45..16d88f8 100644
--- a/src/lambda/index.ts
+++ b/src/lambda/index.ts
@@ -1,10 +1,10 @@
+import { IoT } from '@aws-sdk/client-iot';
+import { ServiceException } from '@smithy/smithy-client';
import {
CloudFormationCustomResourceSuccessResponse as Success,
CloudFormationCustomResourceFailedResponse as Failure,
CloudFormationCustomResourceEvent as Event,
} from 'aws-lambda';
-import { ServiceException } from '@smithy/smithy-client';
-import { IoT } from '@aws-sdk/client-iot';
import { iotAdaptor } from './adapters/iot';
import { thingAdaptor } from './adapters/thing';
diff --git a/test/hello.test.ts b/test/hello.test.ts
deleted file mode 100644
index acbacd4..0000000
--- a/test/hello.test.ts
+++ /dev/null
@@ -1,5 +0,0 @@
-import { Hello } from '../src';
-
-test('hello', () => {
- expect(new Hello().sayHello()).toBe('hello, world!');
-});
\ No newline at end of file
diff --git a/test/integ.thing-with-cert.js.snapshot/IntegTestDefaultTestDeployAssertE3E7D2A4.assets.json b/test/integ.thing-with-cert.js.snapshot/IntegTestDefaultTestDeployAssertE3E7D2A4.assets.json
new file mode 100644
index 0000000..2220abb
--- /dev/null
+++ b/test/integ.thing-with-cert.js.snapshot/IntegTestDefaultTestDeployAssertE3E7D2A4.assets.json
@@ -0,0 +1,19 @@
+{
+ "version": "34.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/test/integ.thing-with-cert.js.snapshot/IntegTestDefaultTestDeployAssertE3E7D2A4.template.json b/test/integ.thing-with-cert.js.snapshot/IntegTestDefaultTestDeployAssertE3E7D2A4.template.json
new file mode 100644
index 0000000..ad9d0fb
--- /dev/null
+++ b/test/integ.thing-with-cert.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/test/integ.thing-with-cert.js.snapshot/IntegTestStack.assets.json b/test/integ.thing-with-cert.js.snapshot/IntegTestStack.assets.json
new file mode 100644
index 0000000..d3ab4cb
--- /dev/null
+++ b/test/integ.thing-with-cert.js.snapshot/IntegTestStack.assets.json
@@ -0,0 +1,58 @@
+{
+ "version": "34.0.0",
+ "files": {
+ "c085a111f0703709f9a84f9951bb669e8c32751397cabdd07608cfa852497e3e": {
+ "source": {
+ "path": "asset.c085a111f0703709f9a84f9951bb669e8c32751397cabdd07608cfa852497e3e",
+ "packaging": "zip"
+ },
+ "destinations": {
+ "current_account-current_region": {
+ "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}",
+ "objectKey": "c085a111f0703709f9a84f9951bb669e8c32751397cabdd07608cfa852497e3e.zip",
+ "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}"
+ }
+ }
+ },
+ "5bc602ecde93c947efe5899ae355f999986a1acbe610b1c0b9c468d738857555": {
+ "source": {
+ "path": "asset.5bc602ecde93c947efe5899ae355f999986a1acbe610b1c0b9c468d738857555",
+ "packaging": "zip"
+ },
+ "destinations": {
+ "current_account-current_region": {
+ "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}",
+ "objectKey": "5bc602ecde93c947efe5899ae355f999986a1acbe610b1c0b9c468d738857555.zip",
+ "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}"
+ }
+ }
+ },
+ "7382a0addb9f34974a1ea6c6c9b063882af874828f366f5c93b2b7b64db15c94": {
+ "source": {
+ "path": "asset.7382a0addb9f34974a1ea6c6c9b063882af874828f366f5c93b2b7b64db15c94",
+ "packaging": "zip"
+ },
+ "destinations": {
+ "current_account-current_region": {
+ "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}",
+ "objectKey": "7382a0addb9f34974a1ea6c6c9b063882af874828f366f5c93b2b7b64db15c94.zip",
+ "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}"
+ }
+ }
+ },
+ "73a5e3a3079eff2bf1f8bf480400acdd68959c01408fbfbd8ac7542d28b34b22": {
+ "source": {
+ "path": "IntegTestStack.template.json",
+ "packaging": "file"
+ },
+ "destinations": {
+ "current_account-current_region": {
+ "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}",
+ "objectKey": "73a5e3a3079eff2bf1f8bf480400acdd68959c01408fbfbd8ac7542d28b34b22.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/test/integ.thing-with-cert.js.snapshot/IntegTestStack.template.json b/test/integ.thing-with-cert.js.snapshot/IntegTestStack.template.json
new file mode 100644
index 0000000..c7ed248
--- /dev/null
+++ b/test/integ.thing-with-cert.js.snapshot/IntegTestStack.template.json
@@ -0,0 +1,396 @@
+{
+ "Resources": {
+ "ThingWithCertLambdaExecutionRole25FAB8F4": {
+ "Type": "AWS::IAM::Role",
+ "Properties": {
+ "AssumeRolePolicyDocument": {
+ "Statement": [
+ {
+ "Action": "sts:AssumeRole",
+ "Effect": "Allow",
+ "Principal": {
+ "Service": "lambda.amazonaws.com"
+ }
+ }
+ ],
+ "Version": "2012-10-17"
+ }
+ }
+ },
+ "ThingWithCertLambdaExecutionRoleDefaultPolicy9FF9FB4B": {
+ "Type": "AWS::IAM::Policy",
+ "Properties": {
+ "PolicyDocument": {
+ "Statement": [
+ {
+ "Action": [
+ "logs:CreateLogGroup",
+ "logs:CreateLogStream",
+ "logs:PutLogEvents"
+ ],
+ "Effect": "Allow",
+ "Resource": "arn:aws:logs:*:*:*"
+ },
+ {
+ "Action": "iot:*",
+ "Effect": "Allow",
+ "Resource": "*"
+ }
+ ],
+ "Version": "2012-10-17"
+ },
+ "PolicyName": "ThingWithCertLambdaExecutionRoleDefaultPolicy9FF9FB4B",
+ "Roles": [
+ {
+ "Ref": "ThingWithCertLambdaExecutionRole25FAB8F4"
+ }
+ ]
+ }
+ },
+ "ThingWithCertlambdaFunction9E90C8BA": {
+ "Type": "AWS::Lambda::Function",
+ "Properties": {
+ "Code": {
+ "S3Bucket": {
+ "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}"
+ },
+ "S3Key": "c085a111f0703709f9a84f9951bb669e8c32751397cabdd07608cfa852497e3e.zip"
+ },
+ "Environment": {
+ "Variables": {
+ "AWS_NODEJS_CONNECTION_REUSE_ENABLED": "1"
+ }
+ },
+ "Handler": "index.handler",
+ "Role": {
+ "Fn::GetAtt": [
+ "ThingWithCertLambdaExecutionRole25FAB8F4",
+ "Arn"
+ ]
+ },
+ "Runtime": "nodejs18.x",
+ "Timeout": 10
+ },
+ "DependsOn": [
+ "ThingWithCertLambdaExecutionRoleDefaultPolicy9FF9FB4B",
+ "ThingWithCertLambdaExecutionRole25FAB8F4"
+ ]
+ },
+ "ThingWithCertlambdaFunctionLogRetention1BE9E451": {
+ "Type": "Custom::LogRetention",
+ "Properties": {
+ "ServiceToken": {
+ "Fn::GetAtt": [
+ "LogRetentionaae0aa3c5b4d4f87b02d85b201efdd8aFD4BFC8A",
+ "Arn"
+ ]
+ },
+ "LogGroupName": {
+ "Fn::Join": [
+ "",
+ [
+ "/aws/lambda/",
+ {
+ "Ref": "ThingWithCertlambdaFunction9E90C8BA"
+ }
+ ]
+ ]
+ },
+ "RetentionInDays": 1
+ }
+ },
+ "ThingWithCertlambdaProviderframeworkonEventServiceRole95EF1588": {
+ "Type": "AWS::IAM::Role",
+ "Properties": {
+ "AssumeRolePolicyDocument": {
+ "Statement": [
+ {
+ "Action": "sts:AssumeRole",
+ "Effect": "Allow",
+ "Principal": {
+ "Service": "lambda.amazonaws.com"
+ }
+ }
+ ],
+ "Version": "2012-10-17"
+ },
+ "ManagedPolicyArns": [
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition"
+ },
+ ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole"
+ ]
+ ]
+ }
+ ]
+ }
+ },
+ "ThingWithCertlambdaProviderframeworkonEventServiceRoleDefaultPolicyC133ABFF": {
+ "Type": "AWS::IAM::Policy",
+ "Properties": {
+ "PolicyDocument": {
+ "Statement": [
+ {
+ "Action": "lambda:InvokeFunction",
+ "Effect": "Allow",
+ "Resource": [
+ {
+ "Fn::GetAtt": [
+ "ThingWithCertlambdaFunction9E90C8BA",
+ "Arn"
+ ]
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ {
+ "Fn::GetAtt": [
+ "ThingWithCertlambdaFunction9E90C8BA",
+ "Arn"
+ ]
+ },
+ ":*"
+ ]
+ ]
+ }
+ ]
+ }
+ ],
+ "Version": "2012-10-17"
+ },
+ "PolicyName": "ThingWithCertlambdaProviderframeworkonEventServiceRoleDefaultPolicyC133ABFF",
+ "Roles": [
+ {
+ "Ref": "ThingWithCertlambdaProviderframeworkonEventServiceRole95EF1588"
+ }
+ ]
+ }
+ },
+ "ThingWithCertlambdaProviderframeworkonEvent497EC884": {
+ "Type": "AWS::Lambda::Function",
+ "Properties": {
+ "Code": {
+ "S3Bucket": {
+ "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}"
+ },
+ "S3Key": "7382a0addb9f34974a1ea6c6c9b063882af874828f366f5c93b2b7b64db15c94.zip"
+ },
+ "Description": "AWS CDK resource provider framework - onEvent (IntegTestStack/ThingWithCert/lambdaProvider)",
+ "Environment": {
+ "Variables": {
+ "USER_ON_EVENT_FUNCTION_ARN": {
+ "Fn::GetAtt": [
+ "ThingWithCertlambdaFunction9E90C8BA",
+ "Arn"
+ ]
+ }
+ }
+ },
+ "Handler": "framework.onEvent",
+ "Role": {
+ "Fn::GetAtt": [
+ "ThingWithCertlambdaProviderframeworkonEventServiceRole95EF1588",
+ "Arn"
+ ]
+ },
+ "Runtime": "nodejs18.x",
+ "Timeout": 900
+ },
+ "DependsOn": [
+ "ThingWithCertlambdaProviderframeworkonEventServiceRoleDefaultPolicyC133ABFF",
+ "ThingWithCertlambdaProviderframeworkonEventServiceRole95EF1588"
+ ]
+ },
+ "ThingWithCertlambdaCustomResource28E12CE8": {
+ "Type": "AWS::CloudFormation::CustomResource",
+ "Properties": {
+ "ServiceToken": {
+ "Fn::GetAtt": [
+ "ThingWithCertlambdaProviderframeworkonEvent497EC884",
+ "Arn"
+ ]
+ },
+ "ThingName": "testThing"
+ }
+ },
+ "ThingWithCertparamStoreCertPem15876E53": {
+ "Type": "AWS::SSM::Parameter",
+ "Properties": {
+ "Name": "/test/testThing/certPem",
+ "Type": "String",
+ "Value": {
+ "Fn::GetAtt": [
+ "ThingWithCertlambdaCustomResource28E12CE8",
+ "certPem"
+ ]
+ }
+ }
+ },
+ "ThingWithCertparamStorePrivKey2E5E90A6": {
+ "Type": "AWS::SSM::Parameter",
+ "Properties": {
+ "Name": "/test/testThing/privKey",
+ "Type": "String",
+ "Value": {
+ "Fn::GetAtt": [
+ "ThingWithCertlambdaCustomResource28E12CE8",
+ "privKey"
+ ]
+ }
+ }
+ },
+ "LogRetentionaae0aa3c5b4d4f87b02d85b201efdd8aServiceRole9741ECFB": {
+ "Type": "AWS::IAM::Role",
+ "Properties": {
+ "AssumeRolePolicyDocument": {
+ "Statement": [
+ {
+ "Action": "sts:AssumeRole",
+ "Effect": "Allow",
+ "Principal": {
+ "Service": "lambda.amazonaws.com"
+ }
+ }
+ ],
+ "Version": "2012-10-17"
+ },
+ "ManagedPolicyArns": [
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition"
+ },
+ ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole"
+ ]
+ ]
+ }
+ ]
+ }
+ },
+ "LogRetentionaae0aa3c5b4d4f87b02d85b201efdd8aServiceRoleDefaultPolicyADDA7DEB": {
+ "Type": "AWS::IAM::Policy",
+ "Properties": {
+ "PolicyDocument": {
+ "Statement": [
+ {
+ "Action": [
+ "logs:DeleteRetentionPolicy",
+ "logs:PutRetentionPolicy"
+ ],
+ "Effect": "Allow",
+ "Resource": "*"
+ }
+ ],
+ "Version": "2012-10-17"
+ },
+ "PolicyName": "LogRetentionaae0aa3c5b4d4f87b02d85b201efdd8aServiceRoleDefaultPolicyADDA7DEB",
+ "Roles": [
+ {
+ "Ref": "LogRetentionaae0aa3c5b4d4f87b02d85b201efdd8aServiceRole9741ECFB"
+ }
+ ]
+ }
+ },
+ "LogRetentionaae0aa3c5b4d4f87b02d85b201efdd8aFD4BFC8A": {
+ "Type": "AWS::Lambda::Function",
+ "Properties": {
+ "Handler": "index.handler",
+ "Runtime": "nodejs18.x",
+ "Timeout": 900,
+ "Code": {
+ "S3Bucket": {
+ "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}"
+ },
+ "S3Key": "5bc602ecde93c947efe5899ae355f999986a1acbe610b1c0b9c468d738857555.zip"
+ },
+ "Role": {
+ "Fn::GetAtt": [
+ "LogRetentionaae0aa3c5b4d4f87b02d85b201efdd8aServiceRole9741ECFB",
+ "Arn"
+ ]
+ }
+ },
+ "DependsOn": [
+ "LogRetentionaae0aa3c5b4d4f87b02d85b201efdd8aServiceRoleDefaultPolicyADDA7DEB",
+ "LogRetentionaae0aa3c5b4d4f87b02d85b201efdd8aServiceRole9741ECFB"
+ ]
+ }
+ },
+ "Outputs": {
+ "ThingArn": {
+ "Value": {
+ "Fn::GetAtt": [
+ "ThingWithCertlambdaCustomResource28E12CE8",
+ "thingArn"
+ ]
+ }
+ },
+ "CertId": {
+ "Value": {
+ "Fn::GetAtt": [
+ "ThingWithCertlambdaCustomResource28E12CE8",
+ "certId"
+ ]
+ }
+ },
+ "CertPem": {
+ "Value": {
+ "Fn::GetAtt": [
+ "ThingWithCertlambdaCustomResource28E12CE8",
+ "certPem"
+ ]
+ }
+ },
+ "PrivKey": {
+ "Value": {
+ "Fn::GetAtt": [
+ "ThingWithCertlambdaCustomResource28E12CE8",
+ "privKey"
+ ]
+ }
+ }
+ },
+ "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/test/integ.thing-with-cert.js.snapshot/cdk.out b/test/integ.thing-with-cert.js.snapshot/cdk.out
new file mode 100644
index 0000000..2313ab5
--- /dev/null
+++ b/test/integ.thing-with-cert.js.snapshot/cdk.out
@@ -0,0 +1 @@
+{"version":"34.0.0"}
\ No newline at end of file
diff --git a/test/integ.thing-with-cert.js.snapshot/integ.json b/test/integ.thing-with-cert.js.snapshot/integ.json
new file mode 100644
index 0000000..b80c57a
--- /dev/null
+++ b/test/integ.thing-with-cert.js.snapshot/integ.json
@@ -0,0 +1,12 @@
+{
+ "version": "34.0.0",
+ "testCases": {
+ "IntegTest/DefaultTest": {
+ "stacks": [
+ "IntegTestStack"
+ ],
+ "assertionStack": "IntegTest/DefaultTest/DeployAssert",
+ "assertionStackName": "IntegTestDefaultTestDeployAssertE3E7D2A4"
+ }
+ }
+}
\ No newline at end of file
diff --git a/test/integ.thing-with-cert.js.snapshot/manifest.json b/test/integ.thing-with-cert.js.snapshot/manifest.json
new file mode 100644
index 0000000..3a01cd7
--- /dev/null
+++ b/test/integ.thing-with-cert.js.snapshot/manifest.json
@@ -0,0 +1,209 @@
+{
+ "version": "34.0.0",
+ "artifacts": {
+ "IntegTestStack.assets": {
+ "type": "cdk:asset-manifest",
+ "properties": {
+ "file": "IntegTestStack.assets.json",
+ "requiresBootstrapStackVersion": 6,
+ "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version"
+ }
+ },
+ "IntegTestStack": {
+ "type": "aws:cloudformation:stack",
+ "environment": "aws://unknown-account/unknown-region",
+ "properties": {
+ "templateFile": "IntegTestStack.template.json",
+ "terminationProtection": false,
+ "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}/73a5e3a3079eff2bf1f8bf480400acdd68959c01408fbfbd8ac7542d28b34b22.json",
+ "requiresBootstrapStackVersion": 6,
+ "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version",
+ "additionalDependencies": [
+ "IntegTestStack.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": [
+ "IntegTestStack.assets"
+ ],
+ "metadata": {
+ "/IntegTestStack/ThingWithCert/LambdaExecutionRole/Resource": [
+ {
+ "type": "aws:cdk:logicalId",
+ "data": "ThingWithCertLambdaExecutionRole25FAB8F4"
+ }
+ ],
+ "/IntegTestStack/ThingWithCert/LambdaExecutionRole/DefaultPolicy/Resource": [
+ {
+ "type": "aws:cdk:logicalId",
+ "data": "ThingWithCertLambdaExecutionRoleDefaultPolicy9FF9FB4B"
+ }
+ ],
+ "/IntegTestStack/ThingWithCert/lambdaFunction/Resource": [
+ {
+ "type": "aws:cdk:logicalId",
+ "data": "ThingWithCertlambdaFunction9E90C8BA"
+ }
+ ],
+ "/IntegTestStack/ThingWithCert/lambdaFunction/LogRetention/Resource": [
+ {
+ "type": "aws:cdk:logicalId",
+ "data": "ThingWithCertlambdaFunctionLogRetention1BE9E451"
+ }
+ ],
+ "/IntegTestStack/ThingWithCert/lambdaProvider/framework-onEvent/ServiceRole/Resource": [
+ {
+ "type": "aws:cdk:logicalId",
+ "data": "ThingWithCertlambdaProviderframeworkonEventServiceRole95EF1588"
+ }
+ ],
+ "/IntegTestStack/ThingWithCert/lambdaProvider/framework-onEvent/ServiceRole/DefaultPolicy/Resource": [
+ {
+ "type": "aws:cdk:logicalId",
+ "data": "ThingWithCertlambdaProviderframeworkonEventServiceRoleDefaultPolicyC133ABFF"
+ }
+ ],
+ "/IntegTestStack/ThingWithCert/lambdaProvider/framework-onEvent/Resource": [
+ {
+ "type": "aws:cdk:logicalId",
+ "data": "ThingWithCertlambdaProviderframeworkonEvent497EC884"
+ }
+ ],
+ "/IntegTestStack/ThingWithCert/lambdaCustomResource": [
+ {
+ "type": "aws:cdk:logicalId",
+ "data": "ThingWithCertlambdaCustomResource28E12CE8"
+ }
+ ],
+ "/IntegTestStack/ThingWithCert/paramStoreCertPem": [
+ {
+ "type": "aws:cdk:logicalId",
+ "data": "ThingWithCertparamStoreCertPem15876E53"
+ }
+ ],
+ "/IntegTestStack/ThingWithCert/paramStorePrivKey": [
+ {
+ "type": "aws:cdk:logicalId",
+ "data": "ThingWithCertparamStorePrivKey2E5E90A6"
+ }
+ ],
+ "/IntegTestStack/LogRetentionaae0aa3c5b4d4f87b02d85b201efdd8a/ServiceRole/Resource": [
+ {
+ "type": "aws:cdk:logicalId",
+ "data": "LogRetentionaae0aa3c5b4d4f87b02d85b201efdd8aServiceRole9741ECFB"
+ }
+ ],
+ "/IntegTestStack/LogRetentionaae0aa3c5b4d4f87b02d85b201efdd8a/ServiceRole/DefaultPolicy/Resource": [
+ {
+ "type": "aws:cdk:logicalId",
+ "data": "LogRetentionaae0aa3c5b4d4f87b02d85b201efdd8aServiceRoleDefaultPolicyADDA7DEB"
+ }
+ ],
+ "/IntegTestStack/LogRetentionaae0aa3c5b4d4f87b02d85b201efdd8a/Resource": [
+ {
+ "type": "aws:cdk:logicalId",
+ "data": "LogRetentionaae0aa3c5b4d4f87b02d85b201efdd8aFD4BFC8A"
+ }
+ ],
+ "/IntegTestStack/ThingArn": [
+ {
+ "type": "aws:cdk:logicalId",
+ "data": "ThingArn"
+ }
+ ],
+ "/IntegTestStack/CertId": [
+ {
+ "type": "aws:cdk:logicalId",
+ "data": "CertId"
+ }
+ ],
+ "/IntegTestStack/CertPem": [
+ {
+ "type": "aws:cdk:logicalId",
+ "data": "CertPem"
+ }
+ ],
+ "/IntegTestStack/PrivKey": [
+ {
+ "type": "aws:cdk:logicalId",
+ "data": "PrivKey"
+ }
+ ],
+ "/IntegTestStack/BootstrapVersion": [
+ {
+ "type": "aws:cdk:logicalId",
+ "data": "BootstrapVersion"
+ }
+ ],
+ "/IntegTestStack/CheckBootstrapVersion": [
+ {
+ "type": "aws:cdk:logicalId",
+ "data": "CheckBootstrapVersion"
+ }
+ ]
+ },
+ "displayName": "IntegTestStack"
+ },
+ "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",
+ "terminationProtection": false,
+ "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/test/integ.thing-with-cert.js.snapshot/tree.json b/test/integ.thing-with-cert.js.snapshot/tree.json
new file mode 100644
index 0000000..44333ae
--- /dev/null
+++ b/test/integ.thing-with-cert.js.snapshot/tree.json
@@ -0,0 +1,735 @@
+{
+ "version": "tree-0.1",
+ "tree": {
+ "id": "App",
+ "path": "",
+ "children": {
+ "IntegTestStack": {
+ "id": "IntegTestStack",
+ "path": "IntegTestStack",
+ "children": {
+ "ThingWithCert": {
+ "id": "ThingWithCert",
+ "path": "IntegTestStack/ThingWithCert",
+ "children": {
+ "LambdaExecutionRole": {
+ "id": "LambdaExecutionRole",
+ "path": "IntegTestStack/ThingWithCert/LambdaExecutionRole",
+ "children": {
+ "ImportLambdaExecutionRole": {
+ "id": "ImportLambdaExecutionRole",
+ "path": "IntegTestStack/ThingWithCert/LambdaExecutionRole/ImportLambdaExecutionRole",
+ "constructInfo": {
+ "fqn": "aws-cdk-lib.Resource",
+ "version": "2.100.0"
+ }
+ },
+ "Resource": {
+ "id": "Resource",
+ "path": "IntegTestStack/ThingWithCert/LambdaExecutionRole/Resource",
+ "attributes": {
+ "aws:cdk:cloudformation:type": "AWS::IAM::Role",
+ "aws:cdk:cloudformation:props": {
+ "assumeRolePolicyDocument": {
+ "Statement": [
+ {
+ "Action": "sts:AssumeRole",
+ "Effect": "Allow",
+ "Principal": {
+ "Service": "lambda.amazonaws.com"
+ }
+ }
+ ],
+ "Version": "2012-10-17"
+ }
+ }
+ },
+ "constructInfo": {
+ "fqn": "aws-cdk-lib.aws_iam.CfnRole",
+ "version": "2.100.0"
+ }
+ },
+ "DefaultPolicy": {
+ "id": "DefaultPolicy",
+ "path": "IntegTestStack/ThingWithCert/LambdaExecutionRole/DefaultPolicy",
+ "children": {
+ "Resource": {
+ "id": "Resource",
+ "path": "IntegTestStack/ThingWithCert/LambdaExecutionRole/DefaultPolicy/Resource",
+ "attributes": {
+ "aws:cdk:cloudformation:type": "AWS::IAM::Policy",
+ "aws:cdk:cloudformation:props": {
+ "policyDocument": {
+ "Statement": [
+ {
+ "Action": [
+ "logs:CreateLogGroup",
+ "logs:CreateLogStream",
+ "logs:PutLogEvents"
+ ],
+ "Effect": "Allow",
+ "Resource": "arn:aws:logs:*:*:*"
+ },
+ {
+ "Action": "iot:*",
+ "Effect": "Allow",
+ "Resource": "*"
+ }
+ ],
+ "Version": "2012-10-17"
+ },
+ "policyName": "ThingWithCertLambdaExecutionRoleDefaultPolicy9FF9FB4B",
+ "roles": [
+ {
+ "Ref": "ThingWithCertLambdaExecutionRole25FAB8F4"
+ }
+ ]
+ }
+ },
+ "constructInfo": {
+ "fqn": "aws-cdk-lib.aws_iam.CfnPolicy",
+ "version": "2.100.0"
+ }
+ }
+ },
+ "constructInfo": {
+ "fqn": "aws-cdk-lib.aws_iam.Policy",
+ "version": "2.100.0"
+ }
+ }
+ },
+ "constructInfo": {
+ "fqn": "aws-cdk-lib.aws_iam.Role",
+ "version": "2.100.0"
+ }
+ },
+ "lambdaFunction": {
+ "id": "lambdaFunction",
+ "path": "IntegTestStack/ThingWithCert/lambdaFunction",
+ "children": {
+ "Code": {
+ "id": "Code",
+ "path": "IntegTestStack/ThingWithCert/lambdaFunction/Code",
+ "children": {
+ "Stage": {
+ "id": "Stage",
+ "path": "IntegTestStack/ThingWithCert/lambdaFunction/Code/Stage",
+ "constructInfo": {
+ "fqn": "aws-cdk-lib.AssetStaging",
+ "version": "2.100.0"
+ }
+ },
+ "AssetBucket": {
+ "id": "AssetBucket",
+ "path": "IntegTestStack/ThingWithCert/lambdaFunction/Code/AssetBucket",
+ "constructInfo": {
+ "fqn": "aws-cdk-lib.aws_s3.BucketBase",
+ "version": "2.100.0"
+ }
+ }
+ },
+ "constructInfo": {
+ "fqn": "aws-cdk-lib.aws_s3_assets.Asset",
+ "version": "2.100.0"
+ }
+ },
+ "Resource": {
+ "id": "Resource",
+ "path": "IntegTestStack/ThingWithCert/lambdaFunction/Resource",
+ "attributes": {
+ "aws:cdk:cloudformation:type": "AWS::Lambda::Function",
+ "aws:cdk:cloudformation:props": {
+ "code": {
+ "s3Bucket": {
+ "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}"
+ },
+ "s3Key": "c085a111f0703709f9a84f9951bb669e8c32751397cabdd07608cfa852497e3e.zip"
+ },
+ "environment": {
+ "variables": {
+ "AWS_NODEJS_CONNECTION_REUSE_ENABLED": "1"
+ }
+ },
+ "handler": "index.handler",
+ "role": {
+ "Fn::GetAtt": [
+ "ThingWithCertLambdaExecutionRole25FAB8F4",
+ "Arn"
+ ]
+ },
+ "runtime": "nodejs18.x",
+ "timeout": 10
+ }
+ },
+ "constructInfo": {
+ "fqn": "aws-cdk-lib.aws_lambda.CfnFunction",
+ "version": "2.100.0"
+ }
+ },
+ "LogRetention": {
+ "id": "LogRetention",
+ "path": "IntegTestStack/ThingWithCert/lambdaFunction/LogRetention",
+ "children": {
+ "Resource": {
+ "id": "Resource",
+ "path": "IntegTestStack/ThingWithCert/lambdaFunction/LogRetention/Resource",
+ "constructInfo": {
+ "fqn": "aws-cdk-lib.CfnResource",
+ "version": "2.100.0"
+ }
+ }
+ },
+ "constructInfo": {
+ "fqn": "aws-cdk-lib.aws_logs.LogRetention",
+ "version": "2.100.0"
+ }
+ },
+ "LogGroup": {
+ "id": "LogGroup",
+ "path": "IntegTestStack/ThingWithCert/lambdaFunction/LogGroup",
+ "constructInfo": {
+ "fqn": "aws-cdk-lib.Resource",
+ "version": "2.100.0"
+ }
+ }
+ },
+ "constructInfo": {
+ "fqn": "aws-cdk-lib.aws_lambda_nodejs.NodejsFunction",
+ "version": "2.100.0"
+ }
+ },
+ "lambdaProvider": {
+ "id": "lambdaProvider",
+ "path": "IntegTestStack/ThingWithCert/lambdaProvider",
+ "children": {
+ "framework-onEvent": {
+ "id": "framework-onEvent",
+ "path": "IntegTestStack/ThingWithCert/lambdaProvider/framework-onEvent",
+ "children": {
+ "ServiceRole": {
+ "id": "ServiceRole",
+ "path": "IntegTestStack/ThingWithCert/lambdaProvider/framework-onEvent/ServiceRole",
+ "children": {
+ "ImportServiceRole": {
+ "id": "ImportServiceRole",
+ "path": "IntegTestStack/ThingWithCert/lambdaProvider/framework-onEvent/ServiceRole/ImportServiceRole",
+ "constructInfo": {
+ "fqn": "aws-cdk-lib.Resource",
+ "version": "2.100.0"
+ }
+ },
+ "Resource": {
+ "id": "Resource",
+ "path": "IntegTestStack/ThingWithCert/lambdaProvider/framework-onEvent/ServiceRole/Resource",
+ "attributes": {
+ "aws:cdk:cloudformation:type": "AWS::IAM::Role",
+ "aws:cdk:cloudformation:props": {
+ "assumeRolePolicyDocument": {
+ "Statement": [
+ {
+ "Action": "sts:AssumeRole",
+ "Effect": "Allow",
+ "Principal": {
+ "Service": "lambda.amazonaws.com"
+ }
+ }
+ ],
+ "Version": "2012-10-17"
+ },
+ "managedPolicyArns": [
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition"
+ },
+ ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole"
+ ]
+ ]
+ }
+ ]
+ }
+ },
+ "constructInfo": {
+ "fqn": "aws-cdk-lib.aws_iam.CfnRole",
+ "version": "2.100.0"
+ }
+ },
+ "DefaultPolicy": {
+ "id": "DefaultPolicy",
+ "path": "IntegTestStack/ThingWithCert/lambdaProvider/framework-onEvent/ServiceRole/DefaultPolicy",
+ "children": {
+ "Resource": {
+ "id": "Resource",
+ "path": "IntegTestStack/ThingWithCert/lambdaProvider/framework-onEvent/ServiceRole/DefaultPolicy/Resource",
+ "attributes": {
+ "aws:cdk:cloudformation:type": "AWS::IAM::Policy",
+ "aws:cdk:cloudformation:props": {
+ "policyDocument": {
+ "Statement": [
+ {
+ "Action": "lambda:InvokeFunction",
+ "Effect": "Allow",
+ "Resource": [
+ {
+ "Fn::GetAtt": [
+ "ThingWithCertlambdaFunction9E90C8BA",
+ "Arn"
+ ]
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ {
+ "Fn::GetAtt": [
+ "ThingWithCertlambdaFunction9E90C8BA",
+ "Arn"
+ ]
+ },
+ ":*"
+ ]
+ ]
+ }
+ ]
+ }
+ ],
+ "Version": "2012-10-17"
+ },
+ "policyName": "ThingWithCertlambdaProviderframeworkonEventServiceRoleDefaultPolicyC133ABFF",
+ "roles": [
+ {
+ "Ref": "ThingWithCertlambdaProviderframeworkonEventServiceRole95EF1588"
+ }
+ ]
+ }
+ },
+ "constructInfo": {
+ "fqn": "aws-cdk-lib.aws_iam.CfnPolicy",
+ "version": "2.100.0"
+ }
+ }
+ },
+ "constructInfo": {
+ "fqn": "aws-cdk-lib.aws_iam.Policy",
+ "version": "2.100.0"
+ }
+ }
+ },
+ "constructInfo": {
+ "fqn": "aws-cdk-lib.aws_iam.Role",
+ "version": "2.100.0"
+ }
+ },
+ "Code": {
+ "id": "Code",
+ "path": "IntegTestStack/ThingWithCert/lambdaProvider/framework-onEvent/Code",
+ "children": {
+ "Stage": {
+ "id": "Stage",
+ "path": "IntegTestStack/ThingWithCert/lambdaProvider/framework-onEvent/Code/Stage",
+ "constructInfo": {
+ "fqn": "aws-cdk-lib.AssetStaging",
+ "version": "2.100.0"
+ }
+ },
+ "AssetBucket": {
+ "id": "AssetBucket",
+ "path": "IntegTestStack/ThingWithCert/lambdaProvider/framework-onEvent/Code/AssetBucket",
+ "constructInfo": {
+ "fqn": "aws-cdk-lib.aws_s3.BucketBase",
+ "version": "2.100.0"
+ }
+ }
+ },
+ "constructInfo": {
+ "fqn": "aws-cdk-lib.aws_s3_assets.Asset",
+ "version": "2.100.0"
+ }
+ },
+ "Resource": {
+ "id": "Resource",
+ "path": "IntegTestStack/ThingWithCert/lambdaProvider/framework-onEvent/Resource",
+ "attributes": {
+ "aws:cdk:cloudformation:type": "AWS::Lambda::Function",
+ "aws:cdk:cloudformation:props": {
+ "code": {
+ "s3Bucket": {
+ "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}"
+ },
+ "s3Key": "7382a0addb9f34974a1ea6c6c9b063882af874828f366f5c93b2b7b64db15c94.zip"
+ },
+ "description": "AWS CDK resource provider framework - onEvent (IntegTestStack/ThingWithCert/lambdaProvider)",
+ "environment": {
+ "variables": {
+ "USER_ON_EVENT_FUNCTION_ARN": {
+ "Fn::GetAtt": [
+ "ThingWithCertlambdaFunction9E90C8BA",
+ "Arn"
+ ]
+ }
+ }
+ },
+ "handler": "framework.onEvent",
+ "role": {
+ "Fn::GetAtt": [
+ "ThingWithCertlambdaProviderframeworkonEventServiceRole95EF1588",
+ "Arn"
+ ]
+ },
+ "runtime": "nodejs18.x",
+ "timeout": 900
+ }
+ },
+ "constructInfo": {
+ "fqn": "aws-cdk-lib.aws_lambda.CfnFunction",
+ "version": "2.100.0"
+ }
+ }
+ },
+ "constructInfo": {
+ "fqn": "aws-cdk-lib.aws_lambda.Function",
+ "version": "2.100.0"
+ }
+ }
+ },
+ "constructInfo": {
+ "fqn": "aws-cdk-lib.custom_resources.Provider",
+ "version": "2.100.0"
+ }
+ },
+ "lambdaCustomResource": {
+ "id": "lambdaCustomResource",
+ "path": "IntegTestStack/ThingWithCert/lambdaCustomResource",
+ "attributes": {
+ "aws:cdk:cloudformation:type": "AWS::CloudFormation::CustomResource",
+ "aws:cdk:cloudformation:props": {
+ "serviceToken": {
+ "Fn::GetAtt": [
+ "ThingWithCertlambdaProviderframeworkonEvent497EC884",
+ "Arn"
+ ]
+ }
+ }
+ },
+ "constructInfo": {
+ "fqn": "aws-cdk-lib.aws_cloudformation.CfnCustomResource",
+ "version": "2.100.0"
+ }
+ },
+ "paramStoreCertPem": {
+ "id": "paramStoreCertPem",
+ "path": "IntegTestStack/ThingWithCert/paramStoreCertPem",
+ "attributes": {
+ "aws:cdk:cloudformation:type": "AWS::SSM::Parameter",
+ "aws:cdk:cloudformation:props": {
+ "name": "/test/testThing/certPem",
+ "type": "String",
+ "value": {
+ "Fn::GetAtt": [
+ "ThingWithCertlambdaCustomResource28E12CE8",
+ "certPem"
+ ]
+ }
+ }
+ },
+ "constructInfo": {
+ "fqn": "aws-cdk-lib.aws_ssm.CfnParameter",
+ "version": "2.100.0"
+ }
+ },
+ "paramStorePrivKey": {
+ "id": "paramStorePrivKey",
+ "path": "IntegTestStack/ThingWithCert/paramStorePrivKey",
+ "attributes": {
+ "aws:cdk:cloudformation:type": "AWS::SSM::Parameter",
+ "aws:cdk:cloudformation:props": {
+ "name": "/test/testThing/privKey",
+ "type": "String",
+ "value": {
+ "Fn::GetAtt": [
+ "ThingWithCertlambdaCustomResource28E12CE8",
+ "privKey"
+ ]
+ }
+ }
+ },
+ "constructInfo": {
+ "fqn": "aws-cdk-lib.aws_ssm.CfnParameter",
+ "version": "2.100.0"
+ }
+ }
+ },
+ "constructInfo": {
+ "fqn": "constructs.Construct",
+ "version": "10.0.5"
+ }
+ },
+ "LogRetentionaae0aa3c5b4d4f87b02d85b201efdd8a": {
+ "id": "LogRetentionaae0aa3c5b4d4f87b02d85b201efdd8a",
+ "path": "IntegTestStack/LogRetentionaae0aa3c5b4d4f87b02d85b201efdd8a",
+ "children": {
+ "Code": {
+ "id": "Code",
+ "path": "IntegTestStack/LogRetentionaae0aa3c5b4d4f87b02d85b201efdd8a/Code",
+ "children": {
+ "Stage": {
+ "id": "Stage",
+ "path": "IntegTestStack/LogRetentionaae0aa3c5b4d4f87b02d85b201efdd8a/Code/Stage",
+ "constructInfo": {
+ "fqn": "aws-cdk-lib.AssetStaging",
+ "version": "2.100.0"
+ }
+ },
+ "AssetBucket": {
+ "id": "AssetBucket",
+ "path": "IntegTestStack/LogRetentionaae0aa3c5b4d4f87b02d85b201efdd8a/Code/AssetBucket",
+ "constructInfo": {
+ "fqn": "aws-cdk-lib.aws_s3.BucketBase",
+ "version": "2.100.0"
+ }
+ }
+ },
+ "constructInfo": {
+ "fqn": "aws-cdk-lib.aws_s3_assets.Asset",
+ "version": "2.100.0"
+ }
+ },
+ "ServiceRole": {
+ "id": "ServiceRole",
+ "path": "IntegTestStack/LogRetentionaae0aa3c5b4d4f87b02d85b201efdd8a/ServiceRole",
+ "children": {
+ "ImportServiceRole": {
+ "id": "ImportServiceRole",
+ "path": "IntegTestStack/LogRetentionaae0aa3c5b4d4f87b02d85b201efdd8a/ServiceRole/ImportServiceRole",
+ "constructInfo": {
+ "fqn": "aws-cdk-lib.Resource",
+ "version": "2.100.0"
+ }
+ },
+ "Resource": {
+ "id": "Resource",
+ "path": "IntegTestStack/LogRetentionaae0aa3c5b4d4f87b02d85b201efdd8a/ServiceRole/Resource",
+ "attributes": {
+ "aws:cdk:cloudformation:type": "AWS::IAM::Role",
+ "aws:cdk:cloudformation:props": {
+ "assumeRolePolicyDocument": {
+ "Statement": [
+ {
+ "Action": "sts:AssumeRole",
+ "Effect": "Allow",
+ "Principal": {
+ "Service": "lambda.amazonaws.com"
+ }
+ }
+ ],
+ "Version": "2012-10-17"
+ },
+ "managedPolicyArns": [
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition"
+ },
+ ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole"
+ ]
+ ]
+ }
+ ]
+ }
+ },
+ "constructInfo": {
+ "fqn": "aws-cdk-lib.aws_iam.CfnRole",
+ "version": "2.100.0"
+ }
+ },
+ "DefaultPolicy": {
+ "id": "DefaultPolicy",
+ "path": "IntegTestStack/LogRetentionaae0aa3c5b4d4f87b02d85b201efdd8a/ServiceRole/DefaultPolicy",
+ "children": {
+ "Resource": {
+ "id": "Resource",
+ "path": "IntegTestStack/LogRetentionaae0aa3c5b4d4f87b02d85b201efdd8a/ServiceRole/DefaultPolicy/Resource",
+ "attributes": {
+ "aws:cdk:cloudformation:type": "AWS::IAM::Policy",
+ "aws:cdk:cloudformation:props": {
+ "policyDocument": {
+ "Statement": [
+ {
+ "Action": [
+ "logs:DeleteRetentionPolicy",
+ "logs:PutRetentionPolicy"
+ ],
+ "Effect": "Allow",
+ "Resource": "*"
+ }
+ ],
+ "Version": "2012-10-17"
+ },
+ "policyName": "LogRetentionaae0aa3c5b4d4f87b02d85b201efdd8aServiceRoleDefaultPolicyADDA7DEB",
+ "roles": [
+ {
+ "Ref": "LogRetentionaae0aa3c5b4d4f87b02d85b201efdd8aServiceRole9741ECFB"
+ }
+ ]
+ }
+ },
+ "constructInfo": {
+ "fqn": "aws-cdk-lib.aws_iam.CfnPolicy",
+ "version": "2.100.0"
+ }
+ }
+ },
+ "constructInfo": {
+ "fqn": "aws-cdk-lib.aws_iam.Policy",
+ "version": "2.100.0"
+ }
+ }
+ },
+ "constructInfo": {
+ "fqn": "aws-cdk-lib.aws_iam.Role",
+ "version": "2.100.0"
+ }
+ },
+ "Resource": {
+ "id": "Resource",
+ "path": "IntegTestStack/LogRetentionaae0aa3c5b4d4f87b02d85b201efdd8a/Resource",
+ "constructInfo": {
+ "fqn": "aws-cdk-lib.CfnResource",
+ "version": "2.100.0"
+ }
+ }
+ },
+ "constructInfo": {
+ "fqn": "constructs.Construct",
+ "version": "10.0.5"
+ }
+ },
+ "ThingArn": {
+ "id": "ThingArn",
+ "path": "IntegTestStack/ThingArn",
+ "constructInfo": {
+ "fqn": "aws-cdk-lib.CfnOutput",
+ "version": "2.100.0"
+ }
+ },
+ "CertId": {
+ "id": "CertId",
+ "path": "IntegTestStack/CertId",
+ "constructInfo": {
+ "fqn": "aws-cdk-lib.CfnOutput",
+ "version": "2.100.0"
+ }
+ },
+ "CertPem": {
+ "id": "CertPem",
+ "path": "IntegTestStack/CertPem",
+ "constructInfo": {
+ "fqn": "aws-cdk-lib.CfnOutput",
+ "version": "2.100.0"
+ }
+ },
+ "PrivKey": {
+ "id": "PrivKey",
+ "path": "IntegTestStack/PrivKey",
+ "constructInfo": {
+ "fqn": "aws-cdk-lib.CfnOutput",
+ "version": "2.100.0"
+ }
+ },
+ "BootstrapVersion": {
+ "id": "BootstrapVersion",
+ "path": "IntegTestStack/BootstrapVersion",
+ "constructInfo": {
+ "fqn": "aws-cdk-lib.CfnParameter",
+ "version": "2.100.0"
+ }
+ },
+ "CheckBootstrapVersion": {
+ "id": "CheckBootstrapVersion",
+ "path": "IntegTestStack/CheckBootstrapVersion",
+ "constructInfo": {
+ "fqn": "aws-cdk-lib.CfnRule",
+ "version": "2.100.0"
+ }
+ }
+ },
+ "constructInfo": {
+ "fqn": "aws-cdk-lib.Stack",
+ "version": "2.100.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.0.5"
+ }
+ },
+ "DeployAssert": {
+ "id": "DeployAssert",
+ "path": "IntegTest/DefaultTest/DeployAssert",
+ "children": {
+ "BootstrapVersion": {
+ "id": "BootstrapVersion",
+ "path": "IntegTest/DefaultTest/DeployAssert/BootstrapVersion",
+ "constructInfo": {
+ "fqn": "aws-cdk-lib.CfnParameter",
+ "version": "2.100.0"
+ }
+ },
+ "CheckBootstrapVersion": {
+ "id": "CheckBootstrapVersion",
+ "path": "IntegTest/DefaultTest/DeployAssert/CheckBootstrapVersion",
+ "constructInfo": {
+ "fqn": "aws-cdk-lib.CfnRule",
+ "version": "2.100.0"
+ }
+ }
+ },
+ "constructInfo": {
+ "fqn": "aws-cdk-lib.Stack",
+ "version": "2.100.0"
+ }
+ }
+ },
+ "constructInfo": {
+ "fqn": "@aws-cdk/integ-tests-alpha.IntegTestCase",
+ "version": "2.100.0-alpha.0"
+ }
+ }
+ },
+ "constructInfo": {
+ "fqn": "@aws-cdk/integ-tests-alpha.IntegTest",
+ "version": "2.100.0-alpha.0"
+ }
+ },
+ "Tree": {
+ "id": "Tree",
+ "path": "Tree",
+ "constructInfo": {
+ "fqn": "constructs.Construct",
+ "version": "10.0.5"
+ }
+ }
+ },
+ "constructInfo": {
+ "fqn": "aws-cdk-lib.App",
+ "version": "2.100.0"
+ }
+ }
+}
\ No newline at end of file
diff --git a/test/integ.thing-with-cert.ts b/test/integ.thing-with-cert.ts
new file mode 100644
index 0000000..8d4174d
--- /dev/null
+++ b/test/integ.thing-with-cert.ts
@@ -0,0 +1,32 @@
+import { IntegTest } from '@aws-cdk/integ-tests-alpha';
+import { App, CfnOutput, Stack } from 'aws-cdk-lib';
+import { ThingWithCert } from '../src';
+
+const app = new App();
+const stack = new Stack(app, 'IntegTestStack');
+
+const thingWithCert = new ThingWithCert(stack, 'ThingWithCert', {
+ thingName: 'testThing',
+ saveToParamStore: true,
+ paramPrefix: 'test',
+});
+
+new CfnOutput(stack, 'ThingArn', {
+ value: thingWithCert.thingArn,
+});
+
+new CfnOutput(stack, 'CertId', {
+ value: thingWithCert.certId,
+});
+
+new CfnOutput(stack, 'CertPem', {
+ value: thingWithCert.certPem,
+});
+
+new CfnOutput(stack, 'PrivKey', {
+ value: thingWithCert.privKey,
+});
+
+new IntegTest(app, 'IntegTest', {
+ testCases: [stack],
+});
diff --git a/yarn.lock b/yarn.lock
index d3b389c..ba1a6f6 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -10,32 +10,34 @@
"@jridgewell/gen-mapping" "^0.3.5"
"@jridgewell/trace-mapping" "^0.3.24"
-"@aws-cdk/asset-awscli-v1@^2.2.177":
+"@aws-cdk/asset-awscli-v1@^2.2.200":
version "2.2.208"
resolved "https://registry.yarnpkg.com/@aws-cdk/asset-awscli-v1/-/asset-awscli-v1-2.2.208.tgz#1675c6ba6061c0541ad0d258b42f0101d5ee10cf"
integrity sha512-r4CuHZaiBioU6waWhCNdEL4MO1+rfbcYVS/Ndz1XNGB5cxIRZwAS0Si6qD2D6nsgpPojiruFl67T1t5M9Va8kQ==
-"@aws-cdk/asset-kubectl-v20@^2.1.1":
+"@aws-cdk/asset-kubectl-v20@^2.1.2":
version "2.1.3"
resolved "https://registry.yarnpkg.com/@aws-cdk/asset-kubectl-v20/-/asset-kubectl-v20-2.1.3.tgz#80e09004be173995e91614e34d947da11dd9ff4d"
integrity sha512-cDG1w3ieM6eOT9mTefRuTypk95+oyD7P5X/wRltwmYxU7nZc3+076YEVS6vrjDKr3ADYbfn0lDKpfB1FBtO9CQ==
-"@aws-cdk/asset-node-proxy-agent-v5@^2.0.148":
- version "2.0.166"
- resolved "https://registry.yarnpkg.com/@aws-cdk/asset-node-proxy-agent-v5/-/asset-node-proxy-agent-v5-2.0.166.tgz#467507db141cd829ff8aa9d6ea5519310a4276b8"
- integrity sha512-j0xnccpUQHXJKPgCwQcGGNu4lRiC1PptYfdxBIH1L4dRK91iBxtSQHESRQX+yB47oGLaF/WfNN/aF3WXwlhikg==
+"@aws-cdk/asset-node-proxy-agent-v6@^2.0.1":
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/@aws-cdk/asset-node-proxy-agent-v6/-/asset-node-proxy-agent-v6-2.1.0.tgz#6d3c7860354d4856a7e75375f2f0ecab313b4989"
+ integrity sha512-7bY3J8GCVxLupn/kNmpPc5VJz8grx+4RKfnnJiO1LG+uxkZfANZG3RMHhE+qQxxwkyQ9/MfPtTpf748UhR425A==
-"@aws-cdk/integ-runner@2.80.0-alpha.0":
- version "2.80.0-alpha.0"
- resolved "https://registry.yarnpkg.com/@aws-cdk/integ-runner/-/integ-runner-2.80.0-alpha.0.tgz#1e6738c6b2793faae292d08edae5344c8fede40c"
- integrity sha512-J8JPmntIzZxljM5eqEbZfAfYPiWaYrSFbwK+CT6mTbw4XTPDZCrGU0n5BGZHLsp/3PIvE7MeK4X92ZxxYiEv6w==
+"@aws-cdk/integ-runner@2.100.0-alpha.0":
+ version "2.100.0-alpha.0"
+ resolved "https://registry.yarnpkg.com/@aws-cdk/integ-runner/-/integ-runner-2.100.0-alpha.0.tgz#36d69daea9235a8a2758c223747d300813a7bf06"
+ integrity sha512-NTgJCrrFT1rDBFPzutcFeqg5byl650NPGk18FJmm2rFu0KRWGOqbXOfIgEDYlQQunm4Of2i4pKvl+lHqN3tTkw==
dependencies:
- aws-cdk "2.80.0"
+ aws-cdk "2.100.0"
+ optionalDependencies:
+ fsevents "2.3.2"
-"@aws-cdk/integ-tests-alpha@2.80.0-alpha.0":
- version "2.80.0-alpha.0"
- resolved "https://registry.yarnpkg.com/@aws-cdk/integ-tests-alpha/-/integ-tests-alpha-2.80.0-alpha.0.tgz#d232c3885347336b9da0289c180675482c5d2a9f"
- integrity sha512-XU5+8pqd2sUvxfyz6zluskydX1pY+NGL5jtZf2sUukkqN1PNQ/zZrQwyY6An8mCGggSwj0uMGrzItiuDKaiGuA==
+"@aws-cdk/integ-tests-alpha@2.100.0-alpha.0":
+ version "2.100.0-alpha.0"
+ resolved "https://registry.yarnpkg.com/@aws-cdk/integ-tests-alpha/-/integ-tests-alpha-2.100.0-alpha.0.tgz#67211ad140d7060d355d9bc73af30663ebcf1017"
+ integrity sha512-u5E9hPk0LEHhPJpBPWLlKiAWVZNkl2ryw4kG4As/R5Ees01VeyTfdRhpDdwofSfN9NFFqqdkxyMMjwD2l5r9uw==
"@aws-crypto/sha256-browser@5.2.0":
version "5.2.0"
@@ -76,25 +78,25 @@
tslib "^2.6.2"
"@aws-sdk/client-iot@^3.675.0":
- version "3.675.0"
- resolved "https://registry.yarnpkg.com/@aws-sdk/client-iot/-/client-iot-3.675.0.tgz#0938293310e86f3bdd24212c7c0c7b943e2851a0"
- integrity sha512-C+i1336vPtPMbwqqioiE+/3kb1uBieWOsEiIBFFtyswO3tFItlIDI/22BrhMY53rZdyYCEeYoneLeQofezIjCA==
+ version "3.677.0"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/client-iot/-/client-iot-3.677.0.tgz#9394665d49f51e1654754b0da7c72c04283a8ea8"
+ integrity sha512-7SOcS1oWw+HkmkYvYNUJpEtu9bEPDJPWo1Ayc6owKC1INPZ/0Ou9VebW/HCjwZedN5UDyzqq7RoI/JxF2MssBQ==
dependencies:
"@aws-crypto/sha256-browser" "5.2.0"
"@aws-crypto/sha256-js" "5.2.0"
- "@aws-sdk/client-sso-oidc" "3.675.0"
- "@aws-sdk/client-sts" "3.675.0"
- "@aws-sdk/core" "3.667.0"
- "@aws-sdk/credential-provider-node" "3.675.0"
+ "@aws-sdk/client-sso-oidc" "3.677.0"
+ "@aws-sdk/client-sts" "3.677.0"
+ "@aws-sdk/core" "3.677.0"
+ "@aws-sdk/credential-provider-node" "3.677.0"
"@aws-sdk/middleware-host-header" "3.667.0"
"@aws-sdk/middleware-logger" "3.667.0"
"@aws-sdk/middleware-recursion-detection" "3.667.0"
- "@aws-sdk/middleware-user-agent" "3.669.0"
+ "@aws-sdk/middleware-user-agent" "3.677.0"
"@aws-sdk/region-config-resolver" "3.667.0"
"@aws-sdk/types" "3.667.0"
"@aws-sdk/util-endpoints" "3.667.0"
"@aws-sdk/util-user-agent-browser" "3.675.0"
- "@aws-sdk/util-user-agent-node" "3.669.0"
+ "@aws-sdk/util-user-agent-node" "3.677.0"
"@smithy/config-resolver" "^3.0.9"
"@smithy/core" "^2.4.8"
"@smithy/fetch-http-handler" "^3.2.9"
@@ -124,24 +126,24 @@
tslib "^2.6.2"
uuid "^9.0.1"
-"@aws-sdk/client-sso-oidc@3.675.0":
- version "3.675.0"
- resolved "https://registry.yarnpkg.com/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.675.0.tgz#a30650a462afcf0386adb26e99283d4989b9bbf4"
- integrity sha512-4kEcaa2P/BFz+xy5tagbtzM08gbjHXyYqW+n6SJuUFK7N6bZNnA4cu1hVgHcqOqk8Dbwv7fiseGT0x3Hhqjwqg==
+"@aws-sdk/client-sso-oidc@3.677.0":
+ version "3.677.0"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.677.0.tgz#5557cb45ded0ebe0d25cf62611507f36d4b45afd"
+ integrity sha512-2zgZkRIU7DsnUVOy+9bjfJ0IYMzi9ONWXQt/WqMa7HOnj4RfenfpipyhHYxGZR5kmehgv53EI79yvUu+SAfGNg==
dependencies:
"@aws-crypto/sha256-browser" "5.2.0"
"@aws-crypto/sha256-js" "5.2.0"
- "@aws-sdk/core" "3.667.0"
- "@aws-sdk/credential-provider-node" "3.675.0"
+ "@aws-sdk/core" "3.677.0"
+ "@aws-sdk/credential-provider-node" "3.677.0"
"@aws-sdk/middleware-host-header" "3.667.0"
"@aws-sdk/middleware-logger" "3.667.0"
"@aws-sdk/middleware-recursion-detection" "3.667.0"
- "@aws-sdk/middleware-user-agent" "3.669.0"
+ "@aws-sdk/middleware-user-agent" "3.677.0"
"@aws-sdk/region-config-resolver" "3.667.0"
"@aws-sdk/types" "3.667.0"
"@aws-sdk/util-endpoints" "3.667.0"
"@aws-sdk/util-user-agent-browser" "3.675.0"
- "@aws-sdk/util-user-agent-node" "3.669.0"
+ "@aws-sdk/util-user-agent-node" "3.677.0"
"@smithy/config-resolver" "^3.0.9"
"@smithy/core" "^2.4.8"
"@smithy/fetch-http-handler" "^3.2.9"
@@ -169,23 +171,23 @@
"@smithy/util-utf8" "^3.0.0"
tslib "^2.6.2"
-"@aws-sdk/client-sso@3.675.0":
- version "3.675.0"
- resolved "https://registry.yarnpkg.com/@aws-sdk/client-sso/-/client-sso-3.675.0.tgz#4e400ef0141ee2e19b64c9948af7a27697a3f0cc"
- integrity sha512-2goBCEr4acZJ1YJ69eWPTsIfZUbO7enog+lBA5kZShDiwovqzwYSHSlf6OGz4ETs2xT1n7n+QfKY0p+TluTfEw==
+"@aws-sdk/client-sso@3.677.0":
+ version "3.677.0"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/client-sso/-/client-sso-3.677.0.tgz#a099a0e39b807cd93f3ead5ddf52bcd27a6f6338"
+ integrity sha512-/y6EskFhOa2w9VwXaXoyOrGeBjnOj/72wsxDOslS908qH+nf7m40pBK6e/iBelg04vlx0gqhlbfK8hLbaT6KHA==
dependencies:
"@aws-crypto/sha256-browser" "5.2.0"
"@aws-crypto/sha256-js" "5.2.0"
- "@aws-sdk/core" "3.667.0"
+ "@aws-sdk/core" "3.677.0"
"@aws-sdk/middleware-host-header" "3.667.0"
"@aws-sdk/middleware-logger" "3.667.0"
"@aws-sdk/middleware-recursion-detection" "3.667.0"
- "@aws-sdk/middleware-user-agent" "3.669.0"
+ "@aws-sdk/middleware-user-agent" "3.677.0"
"@aws-sdk/region-config-resolver" "3.667.0"
"@aws-sdk/types" "3.667.0"
"@aws-sdk/util-endpoints" "3.667.0"
"@aws-sdk/util-user-agent-browser" "3.675.0"
- "@aws-sdk/util-user-agent-node" "3.669.0"
+ "@aws-sdk/util-user-agent-node" "3.677.0"
"@smithy/config-resolver" "^3.0.9"
"@smithy/core" "^2.4.8"
"@smithy/fetch-http-handler" "^3.2.9"
@@ -213,25 +215,25 @@
"@smithy/util-utf8" "^3.0.0"
tslib "^2.6.2"
-"@aws-sdk/client-sts@3.675.0":
- version "3.675.0"
- resolved "https://registry.yarnpkg.com/@aws-sdk/client-sts/-/client-sts-3.675.0.tgz#8efcff1270d1f10e7dafa469f88fb71dcfd70178"
- integrity sha512-zgjyR4GyuONeDGJBKNt9lFJ8HfDX7rpxZZVR7LSXr9lUkjf6vUGgD2k/K4UAoOTWCKKCor6TA562ezGlA8su6Q==
+"@aws-sdk/client-sts@3.677.0":
+ version "3.677.0"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/client-sts/-/client-sts-3.677.0.tgz#70f57f2fc6bb709b854d384e825e408109af589d"
+ integrity sha512-N5fs1GLSthnwrs44b4IJI//dcShuIT42g4pM8FCUJZwbrWn9Sp9F876R1mvb8A9TAy2S4qCXi7TkHS0REnuicQ==
dependencies:
"@aws-crypto/sha256-browser" "5.2.0"
"@aws-crypto/sha256-js" "5.2.0"
- "@aws-sdk/client-sso-oidc" "3.675.0"
- "@aws-sdk/core" "3.667.0"
- "@aws-sdk/credential-provider-node" "3.675.0"
+ "@aws-sdk/client-sso-oidc" "3.677.0"
+ "@aws-sdk/core" "3.677.0"
+ "@aws-sdk/credential-provider-node" "3.677.0"
"@aws-sdk/middleware-host-header" "3.667.0"
"@aws-sdk/middleware-logger" "3.667.0"
"@aws-sdk/middleware-recursion-detection" "3.667.0"
- "@aws-sdk/middleware-user-agent" "3.669.0"
+ "@aws-sdk/middleware-user-agent" "3.677.0"
"@aws-sdk/region-config-resolver" "3.667.0"
"@aws-sdk/types" "3.667.0"
"@aws-sdk/util-endpoints" "3.667.0"
"@aws-sdk/util-user-agent-browser" "3.675.0"
- "@aws-sdk/util-user-agent-node" "3.669.0"
+ "@aws-sdk/util-user-agent-node" "3.677.0"
"@smithy/config-resolver" "^3.0.9"
"@smithy/core" "^2.4.8"
"@smithy/fetch-http-handler" "^3.2.9"
@@ -259,10 +261,10 @@
"@smithy/util-utf8" "^3.0.0"
tslib "^2.6.2"
-"@aws-sdk/core@3.667.0":
- version "3.667.0"
- resolved "https://registry.yarnpkg.com/@aws-sdk/core/-/core-3.667.0.tgz#ecf93bf8e3ebea3bd972576a67b87dd291d7a90a"
- integrity sha512-pMcDVI7Tmdsc8R3sDv0Omj/4iRParGY+uJtAfF669WnZfDfaBQaix2Mq7+Mu08vdjqO9K3gicFvjk9S1VLmOKA==
+"@aws-sdk/core@3.677.0":
+ version "3.677.0"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/core/-/core-3.677.0.tgz#4782cc573b28407e892db111cd730a5183a207ec"
+ integrity sha512-5auvc1wmXmd7u9Y9nM95Ia+VX7J2FiZLuADitHqE4mHPH9riDgOY+uK/yM+UKr+lfq4zKiZQG7i8cfabZlCY8g==
dependencies:
"@aws-sdk/types" "3.667.0"
"@smithy/core" "^2.4.8"
@@ -276,23 +278,23 @@
fast-xml-parser "4.4.1"
tslib "^2.6.2"
-"@aws-sdk/credential-provider-env@3.667.0":
- version "3.667.0"
- resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-env/-/credential-provider-env-3.667.0.tgz#1b3a4b049fc164a3a3eb3617f7448fed3cb3a2db"
- integrity sha512-zZbrkkaPc54WXm+QAnpuv0LPNfsts0HPPd+oCECGs7IQRaFsGj187cwvPg9RMWDFZqpm64MdBDoA8OQHsqzYCw==
+"@aws-sdk/credential-provider-env@3.677.0":
+ version "3.677.0"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-env/-/credential-provider-env-3.677.0.tgz#ee5b6a7fb30fad6363f57d9df88779cda5981930"
+ integrity sha512-0ctcqKzclr9TiNIkB8I+YRogjWH/4mLWQGv/bgb8ElHqph+rPy4pOubj1Ax01sbs7XdwDaImjBYV5xXE+BEsYw==
dependencies:
- "@aws-sdk/core" "3.667.0"
+ "@aws-sdk/core" "3.677.0"
"@aws-sdk/types" "3.667.0"
"@smithy/property-provider" "^3.1.7"
"@smithy/types" "^3.5.0"
tslib "^2.6.2"
-"@aws-sdk/credential-provider-http@3.667.0":
- version "3.667.0"
- resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-http/-/credential-provider-http-3.667.0.tgz#ff78b7f76715a7456976930bff6221dfac70afbc"
- integrity sha512-sjtybFfERZWiqTY7fswBxKQLvUkiCucOWyqh3IaPo/4nE1PXRnaZCVG0+kRBPrYIxWqiVwytvZzMJy8sVZcG0A==
+"@aws-sdk/credential-provider-http@3.677.0":
+ version "3.677.0"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-http/-/credential-provider-http-3.677.0.tgz#d0b3ad71409f8ac80d70c19cd2d96d5f22d760c2"
+ integrity sha512-c4TnShdzk37dhL1HGGzZ2PDKIIEmo1IbT/4y5hSRdNc8Z8fu6spE5GoeVsv6p/HdSGPS7XTy6aOFCMCk4AeIzQ==
dependencies:
- "@aws-sdk/core" "3.667.0"
+ "@aws-sdk/core" "3.677.0"
"@aws-sdk/types" "3.667.0"
"@smithy/fetch-http-handler" "^3.2.9"
"@smithy/node-http-handler" "^3.2.4"
@@ -303,17 +305,17 @@
"@smithy/util-stream" "^3.1.9"
tslib "^2.6.2"
-"@aws-sdk/credential-provider-ini@3.675.0":
- version "3.675.0"
- resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.675.0.tgz#031b75d26ab8e2921c8945a905f6ca7c2005e15e"
- integrity sha512-kCBlC6grpbpCvgowk9T4JHZxJ88VfN0r77bDZClcadFRAKQ8UHyO02zhgFCfUdnU1lNv1mr3ngEcGN7XzJlYWA==
- dependencies:
- "@aws-sdk/core" "3.667.0"
- "@aws-sdk/credential-provider-env" "3.667.0"
- "@aws-sdk/credential-provider-http" "3.667.0"
- "@aws-sdk/credential-provider-process" "3.667.0"
- "@aws-sdk/credential-provider-sso" "3.675.0"
- "@aws-sdk/credential-provider-web-identity" "3.667.0"
+"@aws-sdk/credential-provider-ini@3.677.0":
+ version "3.677.0"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.677.0.tgz#0010b22444d2ed69c9dc55283dbd4e73c4fff83d"
+ integrity sha512-hW+oHj5zplPLzTk74LG+gZVOKQnmBPyRIbwg3uZWr23xfOxh/Osu9Wq8qwgu2+UyFHr+6/DRFjZJ6avNA2jpKw==
+ dependencies:
+ "@aws-sdk/core" "3.677.0"
+ "@aws-sdk/credential-provider-env" "3.677.0"
+ "@aws-sdk/credential-provider-http" "3.677.0"
+ "@aws-sdk/credential-provider-process" "3.677.0"
+ "@aws-sdk/credential-provider-sso" "3.677.0"
+ "@aws-sdk/credential-provider-web-identity" "3.677.0"
"@aws-sdk/types" "3.667.0"
"@smithy/credential-provider-imds" "^3.2.4"
"@smithy/property-provider" "^3.1.7"
@@ -321,17 +323,17 @@
"@smithy/types" "^3.5.0"
tslib "^2.6.2"
-"@aws-sdk/credential-provider-node@3.675.0":
- version "3.675.0"
- resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-node/-/credential-provider-node-3.675.0.tgz#25ebe731279dbc1f165e2fb5f7648bae43b7c693"
- integrity sha512-VO1WVZCDmAYu4sY/6qIBzdm5vJTxLhWKJWvL5kVFfSe8WiNNoHlTqYYUK9vAm/JYpIgFLTefPbIc5W4MK7o6Pg==
- dependencies:
- "@aws-sdk/credential-provider-env" "3.667.0"
- "@aws-sdk/credential-provider-http" "3.667.0"
- "@aws-sdk/credential-provider-ini" "3.675.0"
- "@aws-sdk/credential-provider-process" "3.667.0"
- "@aws-sdk/credential-provider-sso" "3.675.0"
- "@aws-sdk/credential-provider-web-identity" "3.667.0"
+"@aws-sdk/credential-provider-node@3.677.0":
+ version "3.677.0"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-node/-/credential-provider-node-3.677.0.tgz#9a0fbe5846cc6088576b7a682128e9b8979754e1"
+ integrity sha512-DwFriiDx2SSdj7VhRv/0fm8UIK7isy+WZAlqUdZ9xDsX4x1AD5KwMv9AwGhJrMuTjnPSxRSwjt23S7ZXwUfhdw==
+ dependencies:
+ "@aws-sdk/credential-provider-env" "3.677.0"
+ "@aws-sdk/credential-provider-http" "3.677.0"
+ "@aws-sdk/credential-provider-ini" "3.677.0"
+ "@aws-sdk/credential-provider-process" "3.677.0"
+ "@aws-sdk/credential-provider-sso" "3.677.0"
+ "@aws-sdk/credential-provider-web-identity" "3.677.0"
"@aws-sdk/types" "3.667.0"
"@smithy/credential-provider-imds" "^3.2.4"
"@smithy/property-provider" "^3.1.7"
@@ -339,25 +341,25 @@
"@smithy/types" "^3.5.0"
tslib "^2.6.2"
-"@aws-sdk/credential-provider-process@3.667.0":
- version "3.667.0"
- resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-process/-/credential-provider-process-3.667.0.tgz#fa721b1b5b0024156c3852a9fc92c0ed9935959f"
- integrity sha512-HZHnvop32fKgsNHkdhVaul7UzQ25sEc0j9yqA4bjhtbk0ECl42kj3f1pJ+ZU/YD9ut8lMJs/vVqiOdNThVdeBw==
+"@aws-sdk/credential-provider-process@3.677.0":
+ version "3.677.0"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-process/-/credential-provider-process-3.677.0.tgz#38b29c89355fb22a1417573832a1684e5b3c6f19"
+ integrity sha512-pBqHjIFvHBJb2NOsVqdIHWcOzXDoNXBokxTvMggb3WYML6ixwrH7kpd1CAzegeQlvZD4SCcRoy3ahv5rbuR+og==
dependencies:
- "@aws-sdk/core" "3.667.0"
+ "@aws-sdk/core" "3.677.0"
"@aws-sdk/types" "3.667.0"
"@smithy/property-provider" "^3.1.7"
"@smithy/shared-ini-file-loader" "^3.1.8"
"@smithy/types" "^3.5.0"
tslib "^2.6.2"
-"@aws-sdk/credential-provider-sso@3.675.0":
- version "3.675.0"
- resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.675.0.tgz#d9bf80e25cd7756e959747804484340071ac3e83"
- integrity sha512-p/EE2c0ebSgRhg1Fe1OH2+xNl7j1P4DTc7kZy1mX1NJ72fkqnGgBuf1vk5J9RmiRpbauPNMlm+xohjkGS7iodA==
+"@aws-sdk/credential-provider-sso@3.677.0":
+ version "3.677.0"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.677.0.tgz#9f57dd4067cd5d321c8977197f67f878e368c805"
+ integrity sha512-OkRP3z8yI22t9LS9At5fYr6RN7zKSDiGgeyjEnrqiGHOWGPMJN2GKa8IAFC4dgXt4Nm/EfmEW7UweiqzEKJKOA==
dependencies:
- "@aws-sdk/client-sso" "3.675.0"
- "@aws-sdk/core" "3.667.0"
+ "@aws-sdk/client-sso" "3.677.0"
+ "@aws-sdk/core" "3.677.0"
"@aws-sdk/token-providers" "3.667.0"
"@aws-sdk/types" "3.667.0"
"@smithy/property-provider" "^3.1.7"
@@ -365,12 +367,12 @@
"@smithy/types" "^3.5.0"
tslib "^2.6.2"
-"@aws-sdk/credential-provider-web-identity@3.667.0":
- version "3.667.0"
- resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.667.0.tgz#439e3aa2fc9a081de53186f6d8aa78a8a6913769"
- integrity sha512-t8CFlZMD/1p/8Cli3rvRiTJpjr/8BO64gw166AHgFZYSN2h95L2l1tcW0jpsc3PprA32nLg1iQVKYt4WGM4ugw==
+"@aws-sdk/credential-provider-web-identity@3.677.0":
+ version "3.677.0"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.677.0.tgz#dcc66ee9a9e1bb09a38c5a52b4dff4bc84f77d8f"
+ integrity sha512-yjuI6hSt1rLFqBQiNKx/nF75Ao72xR8ybqKztzebtFNCrYl8oXVkRiigg5XKNCDmelsx1lcU9IcSiuPHzlGtUQ==
dependencies:
- "@aws-sdk/core" "3.667.0"
+ "@aws-sdk/core" "3.677.0"
"@aws-sdk/types" "3.667.0"
"@smithy/property-provider" "^3.1.7"
"@smithy/types" "^3.5.0"
@@ -405,12 +407,12 @@
"@smithy/types" "^3.5.0"
tslib "^2.6.2"
-"@aws-sdk/middleware-user-agent@3.669.0":
- version "3.669.0"
- resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.669.0.tgz#a313a4f1fcc9cc77eef3e04573ce0edade931a26"
- integrity sha512-K8ScPi45zjJrj5Y2gRqVsvKKQCQbvQBfYGcBw9ZOx9TTavH80bOCBjWg/GFnvs4f37tqVc1wMN2oGvcTF6HveQ==
+"@aws-sdk/middleware-user-agent@3.677.0":
+ version "3.677.0"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.677.0.tgz#0fcc6a0d17fa6338729c8c527e53844c2ae199fc"
+ integrity sha512-A3gzUsTsvyv/JCmD0p2fkbiOyp+tpAiAADDwzi+eYeyzH4xzqnrzSkGk5KSb58uUQo27eeBzRXHd46d0u+sMrQ==
dependencies:
- "@aws-sdk/core" "3.667.0"
+ "@aws-sdk/core" "3.677.0"
"@aws-sdk/types" "3.667.0"
"@aws-sdk/util-endpoints" "3.667.0"
"@smithy/core" "^2.4.8"
@@ -484,142 +486,142 @@
bowser "^2.11.0"
tslib "^2.6.2"
-"@aws-sdk/util-user-agent-node@3.669.0":
- version "3.669.0"
- resolved "https://registry.yarnpkg.com/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.669.0.tgz#e83e17d04c65fa2bec942c239b5ad9b02c22ebc1"
- integrity sha512-9jxCYrgggy2xd44ZASqI7AMiRVaSiFp+06Kg8BQSU0ijKpBJlwcsqIS8pDT/n6LxuOw2eV5ipvM2C0r1iKzrGA==
+"@aws-sdk/util-user-agent-node@3.677.0":
+ version "3.677.0"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.677.0.tgz#260f0418bc8a5b542a82beb6bd67091b544ef86f"
+ integrity sha512-gFhL0zVY/um0Eu2aWil82pjWaZL4yBmOnjz0+RDz18okFBHaz1Om8o/H+1Vvj+xsnuDYV4ezVMyAaXVtTcYOnw==
dependencies:
- "@aws-sdk/middleware-user-agent" "3.669.0"
+ "@aws-sdk/middleware-user-agent" "3.677.0"
"@aws-sdk/types" "3.667.0"
"@smithy/node-config-provider" "^3.1.8"
"@smithy/types" "^3.5.0"
tslib "^2.6.2"
-"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.25.7":
- version "7.25.7"
- resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.25.7.tgz#438f2c524071531d643c6f0188e1e28f130cebc7"
- integrity sha512-0xZJFNE5XMpENsgfHYTw8FbX4kv53mFLn2i3XPoq69LyhYSCBJtitaHx9QnsVTrsogI4Z3+HtEfZ2/GFPOtf5g==
+"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.25.9":
+ version "7.25.9"
+ resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.25.9.tgz#895b6c7e04a7271a0cbfd575d2e8131751914cc7"
+ integrity sha512-z88xeGxnzehn2sqZ8UdGQEvYErF1odv2CftxInpSYJt6uHuPe9YjahKZITGs3l5LeI9d2ROG+obuDAoSlqbNfQ==
dependencies:
- "@babel/highlight" "^7.25.7"
+ "@babel/highlight" "^7.25.9"
picocolors "^1.0.0"
-"@babel/compat-data@^7.25.7":
- version "7.25.8"
- resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.25.8.tgz#0376e83df5ab0eb0da18885c0140041f0747a402"
- integrity sha512-ZsysZyXY4Tlx+Q53XdnOFmqwfB9QDTHYxaZYajWRoBLuLEAwI2UIbtxOjWh/cFaa9IKUlcB+DDuoskLuKu56JA==
+"@babel/compat-data@^7.25.9":
+ version "7.25.9"
+ resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.25.9.tgz#24b01c5db6a3ebf85661b4fb4a946a9bccc72ac8"
+ integrity sha512-yD+hEuJ/+wAJ4Ox2/rpNv5HIuPG82x3ZlQvYVn8iYCprdxzE7P1udpGF1jyjQVBU4dgznN+k2h103vxZ7NdPyw==
"@babel/core@^7.11.6", "@babel/core@^7.12.3", "@babel/core@^7.23.9":
- version "7.25.8"
- resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.25.8.tgz#a57137d2a51bbcffcfaeba43cb4dd33ae3e0e1c6"
- integrity sha512-Oixnb+DzmRT30qu9d3tJSQkxuygWm32DFykT4bRoORPa9hZ/L4KhVB/XiRm6KG+roIEM7DBQlmg27kw2HZkdZg==
+ version "7.25.9"
+ resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.25.9.tgz#855a4cddcec4158f3f7afadacdab2a7de8af7434"
+ integrity sha512-WYvQviPw+Qyib0v92AwNIrdLISTp7RfDkM7bPqBvpbnhY4wq8HvHBZREVdYDXk98C8BkOIVnHAY3yvj7AVISxQ==
dependencies:
"@ampproject/remapping" "^2.2.0"
- "@babel/code-frame" "^7.25.7"
- "@babel/generator" "^7.25.7"
- "@babel/helper-compilation-targets" "^7.25.7"
- "@babel/helper-module-transforms" "^7.25.7"
- "@babel/helpers" "^7.25.7"
- "@babel/parser" "^7.25.8"
- "@babel/template" "^7.25.7"
- "@babel/traverse" "^7.25.7"
- "@babel/types" "^7.25.8"
+ "@babel/code-frame" "^7.25.9"
+ "@babel/generator" "^7.25.9"
+ "@babel/helper-compilation-targets" "^7.25.9"
+ "@babel/helper-module-transforms" "^7.25.9"
+ "@babel/helpers" "^7.25.9"
+ "@babel/parser" "^7.25.9"
+ "@babel/template" "^7.25.9"
+ "@babel/traverse" "^7.25.9"
+ "@babel/types" "^7.25.9"
convert-source-map "^2.0.0"
debug "^4.1.0"
gensync "^1.0.0-beta.2"
json5 "^2.2.3"
semver "^6.3.1"
-"@babel/generator@^7.25.7", "@babel/generator@^7.7.2":
- version "7.25.7"
- resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.25.7.tgz#de86acbeb975a3e11ee92dd52223e6b03b479c56"
- integrity sha512-5Dqpl5fyV9pIAD62yK9P7fcA768uVPUyrQmqpqstHWgMma4feF1x/oFysBCVZLY5wJ2GkMUCdsNDnGZrPoR6rA==
+"@babel/generator@^7.25.9", "@babel/generator@^7.7.2":
+ version "7.25.9"
+ resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.25.9.tgz#c7e828ebe0c2baba103b712924699c9e8a6e32f0"
+ integrity sha512-omlUGkr5EaoIJrhLf9CJ0TvjBRpd9+AXRG//0GEQ9THSo8wPiTlbpy1/Ow8ZTrbXpjd9FHXfbFQx32I04ht0FA==
dependencies:
- "@babel/types" "^7.25.7"
+ "@babel/types" "^7.25.9"
"@jridgewell/gen-mapping" "^0.3.5"
"@jridgewell/trace-mapping" "^0.3.25"
jsesc "^3.0.2"
-"@babel/helper-compilation-targets@^7.25.7":
- version "7.25.7"
- resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.7.tgz#11260ac3322dda0ef53edfae6e97b961449f5fa4"
- integrity sha512-DniTEax0sv6isaw6qSQSfV4gVRNtw2rte8HHM45t9ZR0xILaufBRNkpMifCRiAPyvL4ACD6v0gfCwCmtOQaV4A==
+"@babel/helper-compilation-targets@^7.25.9":
+ version "7.25.9"
+ resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.9.tgz#55af025ce365be3cdc0c1c1e56c6af617ce88875"
+ integrity sha512-j9Db8Suy6yV/VHa4qzrj9yZfZxhLWQdVnRlXxmKLYlhWUVB1sB2G5sxuWYXk/whHD9iW76PmNzxZ4UCnTQTVEQ==
dependencies:
- "@babel/compat-data" "^7.25.7"
- "@babel/helper-validator-option" "^7.25.7"
+ "@babel/compat-data" "^7.25.9"
+ "@babel/helper-validator-option" "^7.25.9"
browserslist "^4.24.0"
lru-cache "^5.1.1"
semver "^6.3.1"
-"@babel/helper-module-imports@^7.25.7":
- version "7.25.7"
- resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.25.7.tgz#dba00d9523539152906ba49263e36d7261040472"
- integrity sha512-o0xCgpNmRohmnoWKQ0Ij8IdddjyBFE4T2kagL/x6M3+4zUgc+4qTOUBoNe4XxDskt1HPKO007ZPiMgLDq2s7Kw==
- dependencies:
- "@babel/traverse" "^7.25.7"
- "@babel/types" "^7.25.7"
-
-"@babel/helper-module-transforms@^7.25.7":
- version "7.25.7"
- resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.25.7.tgz#2ac9372c5e001b19bc62f1fe7d96a18cb0901d1a"
- integrity sha512-k/6f8dKG3yDz/qCwSM+RKovjMix563SLxQFo0UhRNo239SP6n9u5/eLtKD6EAjwta2JHJ49CsD8pms2HdNiMMQ==
- dependencies:
- "@babel/helper-module-imports" "^7.25.7"
- "@babel/helper-simple-access" "^7.25.7"
- "@babel/helper-validator-identifier" "^7.25.7"
- "@babel/traverse" "^7.25.7"
-
-"@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.25.7", "@babel/helper-plugin-utils@^7.8.0":
- version "7.25.7"
- resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.25.7.tgz#8ec5b21812d992e1ef88a9b068260537b6f0e36c"
- integrity sha512-eaPZai0PiqCi09pPs3pAFfl/zYgGaE6IdXtYvmf0qlcDTd3WCtO7JWCcRd64e0EQrcYgiHibEZnOGsSY4QSgaw==
-
-"@babel/helper-simple-access@^7.25.7":
- version "7.25.7"
- resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.25.7.tgz#5eb9f6a60c5d6b2e0f76057004f8dacbddfae1c0"
- integrity sha512-FPGAkJmyoChQeM+ruBGIDyrT2tKfZJO8NcxdC+CWNJi7N8/rZpSxK7yvBJ5O/nF1gfu5KzN7VKG3YVSLFfRSxQ==
- dependencies:
- "@babel/traverse" "^7.25.7"
- "@babel/types" "^7.25.7"
-
-"@babel/helper-string-parser@^7.25.7":
- version "7.25.7"
- resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.25.7.tgz#d50e8d37b1176207b4fe9acedec386c565a44a54"
- integrity sha512-CbkjYdsJNHFk8uqpEkpCvRs3YRp9tY6FmFY7wLMSYuGYkrdUi7r2lc4/wqsvlHoMznX3WJ9IP8giGPq68T/Y6g==
-
-"@babel/helper-validator-identifier@^7.25.7":
- version "7.25.7"
- resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.7.tgz#77b7f60c40b15c97df735b38a66ba1d7c3e93da5"
- integrity sha512-AM6TzwYqGChO45oiuPqwL2t20/HdMC1rTPAesnBCgPCSF1x3oN9MVUwQV2iyz4xqWrctwK5RNC8LV22kaQCNYg==
-
-"@babel/helper-validator-option@^7.25.7":
- version "7.25.7"
- resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.25.7.tgz#97d1d684448228b30b506d90cace495d6f492729"
- integrity sha512-ytbPLsm+GjArDYXJ8Ydr1c/KJuutjF2besPNbIZnZ6MKUxi/uTA22t2ymmA4WFjZFpjiAMO0xuuJPqK2nvDVfQ==
-
-"@babel/helpers@^7.25.7":
- version "7.25.7"
- resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.25.7.tgz#091b52cb697a171fe0136ab62e54e407211f09c2"
- integrity sha512-Sv6pASx7Esm38KQpF/U/OXLwPPrdGHNKoeblRxgZRLXnAtnkEe4ptJPDtAZM7fBLadbc1Q07kQpSiGQ0Jg6tRA==
- dependencies:
- "@babel/template" "^7.25.7"
- "@babel/types" "^7.25.7"
-
-"@babel/highlight@^7.25.7":
- version "7.25.7"
- resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.25.7.tgz#20383b5f442aa606e7b5e3043b0b1aafe9f37de5"
- integrity sha512-iYyACpW3iW8Fw+ZybQK+drQre+ns/tKpXbNESfrhNnPLIklLbXr7MYJ6gPEd0iETGLOK+SxMjVvKb/ffmk+FEw==
- dependencies:
- "@babel/helper-validator-identifier" "^7.25.7"
+"@babel/helper-module-imports@^7.25.9":
+ version "7.25.9"
+ resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.25.9.tgz#e7f8d20602ebdbf9ebbea0a0751fb0f2a4141715"
+ integrity sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==
+ dependencies:
+ "@babel/traverse" "^7.25.9"
+ "@babel/types" "^7.25.9"
+
+"@babel/helper-module-transforms@^7.25.9":
+ version "7.25.9"
+ resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.25.9.tgz#12e4fb2969197ef6d78ea8a2f24375ce85b425fb"
+ integrity sha512-TvLZY/F3+GvdRYFZFyxMvnsKi+4oJdgZzU3BoGN9Uc2d9C6zfNwJcKKhjqLAhK8i46mv93jsO74fDh3ih6rpHA==
+ dependencies:
+ "@babel/helper-module-imports" "^7.25.9"
+ "@babel/helper-simple-access" "^7.25.9"
+ "@babel/helper-validator-identifier" "^7.25.9"
+ "@babel/traverse" "^7.25.9"
+
+"@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.25.9", "@babel/helper-plugin-utils@^7.8.0":
+ version "7.25.9"
+ resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.25.9.tgz#9cbdd63a9443a2c92a725cca7ebca12cc8dd9f46"
+ integrity sha512-kSMlyUVdWe25rEsRGviIgOWnoT/nfABVWlqt9N19/dIPWViAOW2s9wznP5tURbs/IDuNk4gPy3YdYRgH3uxhBw==
+
+"@babel/helper-simple-access@^7.25.9":
+ version "7.25.9"
+ resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.25.9.tgz#6d51783299884a2c74618d6ef0f86820ec2e7739"
+ integrity sha512-c6WHXuiaRsJTyHYLJV75t9IqsmTbItYfdj99PnzYGQZkYKvan5/2jKJ7gu31J3/BJ/A18grImSPModuyG/Eo0Q==
+ dependencies:
+ "@babel/traverse" "^7.25.9"
+ "@babel/types" "^7.25.9"
+
+"@babel/helper-string-parser@^7.25.9":
+ version "7.25.9"
+ resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz#1aabb72ee72ed35789b4bbcad3ca2862ce614e8c"
+ integrity sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==
+
+"@babel/helper-validator-identifier@^7.25.9":
+ version "7.25.9"
+ resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz#24b64e2c3ec7cd3b3c547729b8d16871f22cbdc7"
+ integrity sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==
+
+"@babel/helper-validator-option@^7.25.9":
+ version "7.25.9"
+ resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.25.9.tgz#86e45bd8a49ab7e03f276577f96179653d41da72"
+ integrity sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==
+
+"@babel/helpers@^7.25.9":
+ version "7.25.9"
+ resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.25.9.tgz#9e26aa6fbefdbca4f8c8a1d66dc6f1c00ddadb0a"
+ integrity sha512-oKWp3+usOJSzDZOucZUAMayhPz/xVjzymyDzUN8dk0Wd3RWMlGLXi07UCQ/CgQVb8LvXx3XBajJH4XGgkt7H7g==
+ dependencies:
+ "@babel/template" "^7.25.9"
+ "@babel/types" "^7.25.9"
+
+"@babel/highlight@^7.25.9":
+ version "7.25.9"
+ resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.25.9.tgz#8141ce68fc73757946f983b343f1231f4691acc6"
+ integrity sha512-llL88JShoCsth8fF8R4SJnIn+WLvR6ccFxu1H3FlMhDontdcmZWf2HgIZ7AIqV3Xcck1idlohrN4EUBQz6klbw==
+ dependencies:
+ "@babel/helper-validator-identifier" "^7.25.9"
chalk "^2.4.2"
js-tokens "^4.0.0"
picocolors "^1.0.0"
-"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7", "@babel/parser@^7.23.9", "@babel/parser@^7.25.7", "@babel/parser@^7.25.8":
- version "7.25.8"
- resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.25.8.tgz#f6aaf38e80c36129460c1657c0762db584c9d5e2"
- integrity sha512-HcttkxzdPucv3nNFmfOOMfFf64KgdJVqm1KaCm25dPGMLElo9nsLvXeJECQg8UzPuBGLyTSA0ZzqCtDSzKTEoQ==
+"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7", "@babel/parser@^7.23.9", "@babel/parser@^7.25.9":
+ version "7.25.9"
+ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.25.9.tgz#8fcaa079ac7458facfddc5cd705cc8005e4d3817"
+ integrity sha512-aI3jjAAO1fh7vY/pBGsn1i9LDbRP43+asrRlkPuTXW5yHXtd1NgTEMudbBoDDxrf1daEEfPJqR+JBMakzrR4Dg==
dependencies:
- "@babel/types" "^7.25.8"
+ "@babel/types" "^7.25.9"
"@babel/plugin-syntax-async-generators@^7.8.4":
version "7.8.4"
@@ -650,11 +652,11 @@
"@babel/helper-plugin-utils" "^7.14.5"
"@babel/plugin-syntax-import-attributes@^7.24.7":
- version "7.25.7"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.25.7.tgz#d78dd0499d30df19a598e63ab895e21b909bc43f"
- integrity sha512-AqVo+dguCgmpi/3mYBdu9lkngOBlQ2w2vnNpa6gfiCxQZLzV4ZbhsXitJ2Yblkoe1VQwtHSaNmIaGll/26YWRw==
+ version "7.25.9"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.25.9.tgz#29c9643445deea4533c05e6ac6c39d15424bbe78"
+ integrity sha512-u3EN9ub8LyYvgTnrgp8gboElouayiwPdnM7x5tcnW3iSt09/lQYPwMNK40I9IUxo7QOZhAsPHCmmuO7EPdruqg==
dependencies:
- "@babel/helper-plugin-utils" "^7.25.7"
+ "@babel/helper-plugin-utils" "^7.25.9"
"@babel/plugin-syntax-import-meta@^7.10.4":
version "7.10.4"
@@ -671,11 +673,11 @@
"@babel/helper-plugin-utils" "^7.8.0"
"@babel/plugin-syntax-jsx@^7.7.2":
- version "7.25.7"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.25.7.tgz#5352d398d11ea5e7ef330c854dea1dae0bf18165"
- integrity sha512-ruZOnKO+ajVL/MVx+PwNBPOkrnXTXoWMtte1MBpegfCArhqOe3Bj52avVj1huLLxNKYKXYaSxZ2F+woK1ekXfw==
+ version "7.25.9"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.25.9.tgz#a34313a178ea56f1951599b929c1ceacee719290"
+ integrity sha512-ld6oezHQMZsZfp6pWtbjaNDF2tiiCYYDqQszHt5VV437lewP9aSi2Of99CK0D0XB21k7FLgnLcmQKyKzynfeAA==
dependencies:
- "@babel/helper-plugin-utils" "^7.25.7"
+ "@babel/helper-plugin-utils" "^7.25.9"
"@babel/plugin-syntax-logical-assignment-operators@^7.10.4":
version "7.10.4"
@@ -734,42 +736,41 @@
"@babel/helper-plugin-utils" "^7.14.5"
"@babel/plugin-syntax-typescript@^7.7.2":
- version "7.25.7"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.25.7.tgz#bfc05b0cc31ebd8af09964650cee723bb228108b"
- integrity sha512-rR+5FDjpCHqqZN2bzZm18bVYGaejGq5ZkpVCJLXor/+zlSrSoc4KWcHI0URVWjl/68Dyr1uwZUz/1njycEAv9g==
- dependencies:
- "@babel/helper-plugin-utils" "^7.25.7"
-
-"@babel/template@^7.25.7", "@babel/template@^7.3.3":
- version "7.25.7"
- resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.25.7.tgz#27f69ce382855d915b14ab0fe5fb4cbf88fa0769"
- integrity sha512-wRwtAgI3bAS+JGU2upWNL9lSlDcRCqD05BZ1n3X2ONLH1WilFP6O1otQjeMK/1g0pvYcXC7b/qVUB1keofjtZA==
- dependencies:
- "@babel/code-frame" "^7.25.7"
- "@babel/parser" "^7.25.7"
- "@babel/types" "^7.25.7"
-
-"@babel/traverse@^7.25.7":
- version "7.25.7"
- resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.25.7.tgz#83e367619be1cab8e4f2892ef30ba04c26a40fa8"
- integrity sha512-jatJPT1Zjqvh/1FyJs6qAHL+Dzb7sTb+xr7Q+gM1b+1oBsMsQQ4FkVKb6dFlJvLlVssqkRzV05Jzervt9yhnzg==
- dependencies:
- "@babel/code-frame" "^7.25.7"
- "@babel/generator" "^7.25.7"
- "@babel/parser" "^7.25.7"
- "@babel/template" "^7.25.7"
- "@babel/types" "^7.25.7"
+ version "7.25.9"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.25.9.tgz#67dda2b74da43727cf21d46cf9afef23f4365399"
+ integrity sha512-hjMgRy5hb8uJJjUcdWunWVcoi9bGpJp8p5Ol1229PoN6aytsLwNMgmdftO23wnCLMfVmTwZDWMPNq/D1SY60JQ==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.25.9"
+
+"@babel/template@^7.25.9", "@babel/template@^7.3.3":
+ version "7.25.9"
+ resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.25.9.tgz#ecb62d81a8a6f5dc5fe8abfc3901fc52ddf15016"
+ integrity sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg==
+ dependencies:
+ "@babel/code-frame" "^7.25.9"
+ "@babel/parser" "^7.25.9"
+ "@babel/types" "^7.25.9"
+
+"@babel/traverse@^7.25.9":
+ version "7.25.9"
+ resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.25.9.tgz#a50f8fe49e7f69f53de5bea7e413cd35c5e13c84"
+ integrity sha512-ZCuvfwOwlz/bawvAuvcj8rrithP2/N55Tzz342AkTvq4qaWbGfmCk/tKhNaV2cthijKrPAA8SRJV5WWe7IBMJw==
+ dependencies:
+ "@babel/code-frame" "^7.25.9"
+ "@babel/generator" "^7.25.9"
+ "@babel/parser" "^7.25.9"
+ "@babel/template" "^7.25.9"
+ "@babel/types" "^7.25.9"
debug "^4.3.1"
globals "^11.1.0"
-"@babel/types@^7.0.0", "@babel/types@^7.20.7", "@babel/types@^7.25.7", "@babel/types@^7.25.8", "@babel/types@^7.3.3":
- version "7.25.8"
- resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.25.8.tgz#5cf6037258e8a9bcad533f4979025140cb9993e1"
- integrity sha512-JWtuCu8VQsMladxVz/P4HzHUGCAwpuqacmowgXFs5XjxIgKuNjnLokQzuVjlTvIzODaDmpjT3oxcC48vyk9EWg==
+"@babel/types@^7.0.0", "@babel/types@^7.20.7", "@babel/types@^7.25.9", "@babel/types@^7.3.3":
+ version "7.25.9"
+ resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.25.9.tgz#620f35ea1f4233df529ec9a2668d2db26574deee"
+ integrity sha512-OwS2CM5KocvQ/k7dFJa8i5bNGJP0hXWfVCfDkqRFP1IreH1JDC7wG6eCYCi0+McbfT8OR/kNqsI0UU0xP9H6PQ==
dependencies:
- "@babel/helper-string-parser" "^7.25.7"
- "@babel/helper-validator-identifier" "^7.25.7"
- to-fast-properties "^2.0.0"
+ "@babel/helper-string-parser" "^7.25.9"
+ "@babel/helper-validator-identifier" "^7.25.9"
"@balena/dockerignore@^1.0.2":
version "1.0.2"
@@ -1623,6 +1624,11 @@
resolved "https://registry.yarnpkg.com/@tsconfig/node16/-/node16-1.0.4.tgz#0b92dcc0cc1c81f6f306a381f28e31b1a56536e9"
integrity sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==
+"@types/aws-lambda@^8.10.145":
+ version "8.10.145"
+ resolved "https://registry.yarnpkg.com/@types/aws-lambda/-/aws-lambda-8.10.145.tgz#b2d31a987f4888e5553ff1819f57cafa475594d9"
+ integrity sha512-dtByW6WiFk5W5Jfgz1VM+YPA21xMXTuSFoLYIDY0L44jDLLflVPtZkYuu3/YxpGcvjzKFBZLU+GyKjR0HOYtyw==
+
"@types/babel__core@^7.1.14":
version "7.20.5"
resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.20.5.tgz#3df15f27ba85319caa07ba08d0721889bb39c017"
@@ -2046,14 +2052,14 @@ available-typed-arrays@^1.0.7:
dependencies:
possible-typed-array-names "^1.0.0"
-aws-cdk-lib@2.80.0:
- version "2.80.0"
- resolved "https://registry.yarnpkg.com/aws-cdk-lib/-/aws-cdk-lib-2.80.0.tgz#1118860637d33fab8f646551c29a75728404b64e"
- integrity sha512-PoqD3Yms5I0ajuTi071nTW/hpkH3XsdyZzn5gYsPv0qD7mqP3h6Qr+6RiGx+yQ1KcVFyxWdX15uK+DsC0KwvcQ==
+aws-cdk-lib@2.100.0:
+ version "2.100.0"
+ resolved "https://registry.yarnpkg.com/aws-cdk-lib/-/aws-cdk-lib-2.100.0.tgz#1f7706871064c41397f2533129f4489ea48058c3"
+ integrity sha512-oWDPcbdqD69wDIUvcGdbDxmKcDfkCg515wf8JkiQLnhAI/AFyKAVTEWhbSUi00lvJQNUjX8Mal2lbKlCRA4hjQ==
dependencies:
- "@aws-cdk/asset-awscli-v1" "^2.2.177"
- "@aws-cdk/asset-kubectl-v20" "^2.1.1"
- "@aws-cdk/asset-node-proxy-agent-v5" "^2.0.148"
+ "@aws-cdk/asset-awscli-v1" "^2.2.200"
+ "@aws-cdk/asset-kubectl-v20" "^2.1.2"
+ "@aws-cdk/asset-node-proxy-agent-v6" "^2.0.1"
"@balena/dockerignore" "^1.0.2"
case "1.6.3"
fs-extra "^11.1.1"
@@ -2061,14 +2067,14 @@ aws-cdk-lib@2.80.0:
jsonschema "^1.4.1"
minimatch "^3.1.2"
punycode "^2.3.0"
- semver "^7.5.1"
+ semver "^7.5.4"
table "^6.8.1"
yaml "1.10.2"
-aws-cdk@2.80.0:
- version "2.80.0"
- resolved "https://registry.yarnpkg.com/aws-cdk/-/aws-cdk-2.80.0.tgz#fef040f2b01df6551fba828a9df350c4c792baba"
- integrity sha512-SKMZ/sGlNmFV37Lk40HHe4QJ2hJZmD0PrkScBmkr33xzEqjyKhN3jIHC4PYqTUeUK/qYemq3Y5OpXKQuWTCoKA==
+aws-cdk@2.100.0:
+ version "2.100.0"
+ resolved "https://registry.yarnpkg.com/aws-cdk/-/aws-cdk-2.100.0.tgz#d87b87796c08e620bc5f615aeebb00dda620884c"
+ integrity sha512-Gt/4wPuEiBYw2tl0+cN0EbLxxJEvltcJxSQAcVHgNbqvDj49KUJ/oCbZ335dF0gK/hrVVb70xfNiYbBSPOsmvg==
optionalDependencies:
fsevents "2.3.2"
@@ -5523,7 +5529,7 @@ semver@^6.3.0, semver@^6.3.1:
resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4"
integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==
-semver@^7.0.0, semver@^7.3.2, semver@^7.3.4, semver@^7.5.1, semver@^7.5.3, semver@^7.5.4, semver@^7.6.0, semver@^7.6.3:
+semver@^7.0.0, semver@^7.3.2, semver@^7.3.4, semver@^7.5.3, semver@^7.5.4, semver@^7.6.0, semver@^7.6.3:
version "7.6.3"
resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.3.tgz#980f7b5550bc175fb4dc09403085627f9eb33143"
integrity sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==
@@ -5890,28 +5896,23 @@ through@2, "through@>=2.2.7 <3":
resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5"
integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==
-tldts-core@^6.1.53:
- version "6.1.53"
- resolved "https://registry.yarnpkg.com/tldts-core/-/tldts-core-6.1.53.tgz#841a93a7d0ec6d13bb0cba0933e24b55c349d0ff"
- integrity sha512-IleS872aGdTB/UtocD2dSZBnQi/nqMIZxxezVgfcKKjw6+G2hJGzFw9buIDJO2MVJyEJe3rCAdyMTl2yvGMMrQ==
+tldts-core@^6.1.54:
+ version "6.1.54"
+ resolved "https://registry.yarnpkg.com/tldts-core/-/tldts-core-6.1.54.tgz#a3c3b5f45a64a1f9ea4bb32a94642218c7b7baa5"
+ integrity sha512-5cc42+0G0EjYRDfIJHKraaT3I5kPm7j6or3Zh1T9sF+Ftj1T+isT4thicUyQQ1bwN7/xjHQIuY2fXCoXP8Haqg==
tldts@^6.1.32:
- version "6.1.53"
- resolved "https://registry.yarnpkg.com/tldts/-/tldts-6.1.53.tgz#50542056156198f28ba14736a3a2d797117fabd4"
- integrity sha512-4uCStuOjPFaY2/LUjTSwdnJTC82W/gvSFL6FoTC9ehNOHboA9cyO3wX1erh2yGofVls37OdXr5sQLEfL5hS1TA==
+ version "6.1.54"
+ resolved "https://registry.yarnpkg.com/tldts/-/tldts-6.1.54.tgz#782594001a7b95e577b4cc391c0f0ed7c8307d37"
+ integrity sha512-rDaL1t59gb/Lg0HPMUGdV1vAKLQcXwU74D26aMaYV4QW7mnMvShd1Vmkg3HYAPWx2JCTUmsrXt/Yl9eJ5UFBQw==
dependencies:
- tldts-core "^6.1.53"
+ tldts-core "^6.1.54"
tmpl@1.0.5:
version "1.0.5"
resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.5.tgz#8683e0b902bb9c20c4f726e3c0b69f36518c07cc"
integrity sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==
-to-fast-properties@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e"
- integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==
-
to-regex-range@^5.0.1:
version "5.0.1"
resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4"