diff --git a/.gitignore b/.gitignore
index 8fdfbec5..7a369fad 100644
--- a/.gitignore
+++ b/.gitignore
@@ -54,6 +54,14 @@ tsconfig.json
!/API.md
/assets/
!/src/core/flows/flow-time-updater/flow-time-updater-function.ts
+test/integ/ondemand-asana-to-s3.integ.snapshot/asset.*
+test/integ/ondemand-asana-to-s3.integ.snapshot/**/asset.*
+test/integ/ondemand-asana-to-s3.integ.snapshot/cdk.out
+test/integ/ondemand-asana-to-s3.integ.snapshot/**/cdk.out
+test/integ/ondemand-asana-to-s3.integ.snapshot/manifest.json
+test/integ/ondemand-asana-to-s3.integ.snapshot/**/manifest.json
+test/integ/ondemand-asana-to-s3.integ.snapshot/tree.json
+test/integ/ondemand-asana-to-s3.integ.snapshot/**/tree.json
test/integ/ondemand-googleanalytics4-to-s3.integ.snapshot/asset.*
test/integ/ondemand-googleanalytics4-to-s3.integ.snapshot/**/asset.*
test/integ/ondemand-googleanalytics4-to-s3.integ.snapshot/cdk.out
diff --git a/.npmignore b/.npmignore
index cde3197c..076283bb 100644
--- a/.npmignore
+++ b/.npmignore
@@ -23,6 +23,7 @@ tsconfig.tsbuildinfo
/.eslintrc.json
!.jsii
!/assets/
+test/integ/ondemand-asana-to-s3.integ.snapshot
test/integ/ondemand-googleanalytics4-to-s3.integ.snapshot
test/integ/ondemand-jdbcsmalldatascale-to-amazonrdsforpostgresql.integ.snapshot
test/integ/ondemand-jdbcsmalldatascale-to-s3.integ.snapshot
diff --git a/.projen/deps.json b/.projen/deps.json
index ec71d942..a4d4a369 100644
--- a/.projen/deps.json
+++ b/.projen/deps.json
@@ -1,5 +1,9 @@
{
"dependencies": [
+ {
+ "name": "@types/aws-lambda",
+ "type": "build"
+ },
{
"name": "@types/jest",
"type": "build"
@@ -72,7 +76,7 @@
},
{
"name": "jsii",
- "version": "~5.2",
+ "version": "~5.4.30",
"type": "build"
},
{
@@ -96,10 +100,6 @@
"name": "typescript",
"type": "build"
},
- {
- "name": "@types/aws-lambda",
- "type": "bundled"
- },
{
"name": "@aws-cdk/integ-runner",
"version": "latest",
@@ -112,17 +112,17 @@
},
{
"name": "@aws-cdk/aws-glue-alpha",
- "version": "2.121.1-alpha.0",
+ "version": "2.151.0-alpha.0",
"type": "peer"
},
{
"name": "@aws-cdk/aws-redshift-alpha",
- "version": "2.121.1-alpha.0",
+ "version": "2.151.0-alpha.0",
"type": "peer"
},
{
"name": "aws-cdk-lib",
- "version": "^2.121.1",
+ "version": "^2.151.0",
"type": "peer"
},
{
diff --git a/.projen/tasks.json b/.projen/tasks.json
index c7d8025d..f5f2ccac 100644
--- a/.projen/tasks.json
+++ b/.projen/tasks.json
@@ -187,6 +187,69 @@
}
]
},
+ "integ:ondemand-asana-to-s3:assert": {
+ "name": "integ:ondemand-asana-to-s3:assert",
+ "description": "assert the snapshot of integration test 'ondemand-asana-to-s3'",
+ "steps": [
+ {
+ "exec": "[ -d \"test/integ/ondemand-asana-to-s3.integ.snapshot\" ] || (echo \"No snapshot available for integration test 'ondemand-asana-to-s3'. Run 'projen integ:ondemand-asana-to-s3:deploy' to capture.\" && exit 1)"
+ },
+ {
+ "exec": "cdk synth --app \"ts-node -P tsconfig.dev.json test/integ/ondemand-asana-to-s3.integ.ts\" --no-notices --no-version-reporting --no-asset-metadata --no-path-metadata -o test/integ/.tmp/ondemand-asana-to-s3.integ/assert.cdk.out > /dev/null"
+ },
+ {
+ "exec": "diff -r -x asset.* -x cdk.out -x manifest.json -x tree.json test/integ/ondemand-asana-to-s3.integ.snapshot/ test/integ/.tmp/ondemand-asana-to-s3.integ/assert.cdk.out/"
+ }
+ ]
+ },
+ "integ:ondemand-asana-to-s3:deploy": {
+ "name": "integ:ondemand-asana-to-s3:deploy",
+ "description": "deploy integration test 'ondemand-asana-to-s3' and capture snapshot",
+ "steps": [
+ {
+ "exec": "rm -fr test/integ/.tmp/ondemand-asana-to-s3.integ/deploy.cdk.out"
+ },
+ {
+ "exec": "cdk deploy --app \"ts-node -P tsconfig.dev.json test/integ/ondemand-asana-to-s3.integ.ts\" --no-notices --no-version-reporting --no-asset-metadata --no-path-metadata '**' --require-approval=never -o test/integ/.tmp/ondemand-asana-to-s3.integ/deploy.cdk.out"
+ },
+ {
+ "exec": "rm -fr test/integ/ondemand-asana-to-s3.integ.snapshot"
+ },
+ {
+ "exec": "mv test/integ/.tmp/ondemand-asana-to-s3.integ/deploy.cdk.out test/integ/ondemand-asana-to-s3.integ.snapshot"
+ },
+ {
+ "spawn": "integ:ondemand-asana-to-s3:destroy"
+ }
+ ]
+ },
+ "integ:ondemand-asana-to-s3:destroy": {
+ "name": "integ:ondemand-asana-to-s3:destroy",
+ "description": "destroy integration test 'ondemand-asana-to-s3'",
+ "steps": [
+ {
+ "exec": "cdk destroy --app test/integ/ondemand-asana-to-s3.integ.snapshot '**' --no-version-reporting"
+ }
+ ]
+ },
+ "integ:ondemand-asana-to-s3:snapshot": {
+ "name": "integ:ondemand-asana-to-s3:snapshot",
+ "description": "update snapshot for integration test \"ondemand-asana-to-s3\"",
+ "steps": [
+ {
+ "exec": "cdk synth --app \"ts-node -P tsconfig.dev.json test/integ/ondemand-asana-to-s3.integ.ts\" --no-notices --no-version-reporting --no-asset-metadata --no-path-metadata -o test/integ/ondemand-asana-to-s3.integ.snapshot > /dev/null"
+ }
+ ]
+ },
+ "integ:ondemand-asana-to-s3:watch": {
+ "name": "integ:ondemand-asana-to-s3:watch",
+ "description": "watch integration test 'ondemand-asana-to-s3' (without updating snapshots)",
+ "steps": [
+ {
+ "exec": "cdk watch --app \"ts-node -P tsconfig.dev.json test/integ/ondemand-asana-to-s3.integ.ts\" --no-notices --no-version-reporting --no-asset-metadata --no-path-metadata '**' -o test/integ/.tmp/ondemand-asana-to-s3.integ/deploy.cdk.out"
+ }
+ ]
+ },
"integ:ondemand-googleanalytics4-to-s3:assert": {
"name": "integ:ondemand-googleanalytics4-to-s3:assert",
"description": "assert the snapshot of integration test 'ondemand-googleanalytics4-to-s3'",
@@ -1073,6 +1136,9 @@
"name": "integ:snapshot-all",
"description": "update snapshot for all integration tests",
"steps": [
+ {
+ "spawn": "integ:ondemand-asana-to-s3:snapshot"
+ },
{
"spawn": "integ:ondemand-googleanalytics4-to-s3:snapshot"
},
@@ -1276,6 +1342,9 @@
{
"spawn": "eslint"
},
+ {
+ "spawn": "integ:ondemand-asana-to-s3:assert"
+ },
{
"spawn": "integ:ondemand-googleanalytics4-to-s3:assert"
},
@@ -1357,19 +1426,7 @@
},
"steps": [
{
- "exec": "npx npm-check-updates@16 --upgrade --target=minor --peer --dep=prod --filter=@types/aws-lambda"
- },
- {
- "exec": "yarn install --check-files"
- },
- {
- "exec": "yarn upgrade @types/aws-lambda"
- },
- {
- "exec": "npx projen"
- },
- {
- "spawn": "post-upgrade"
+ "exec": "echo No dependencies to upgrade."
}
]
},
@@ -1405,13 +1462,13 @@
},
"steps": [
{
- "exec": "npx npm-check-updates@16 --upgrade --target=minor --peer --dep=dev --filter=@types/jest,cdklabs-projen-project-types,esbuild,eslint-import-resolver-typescript,eslint-plugin-import,jest,jsii-diff,jsii-docgen,jsii-pacmak,jsii-rosetta,projen,ts-jest,ts-node,typescript"
+ "exec": "npx npm-check-updates@16 --upgrade --target=minor --peer --dep=dev --filter=@types/aws-lambda,@types/jest,cdklabs-projen-project-types,esbuild,eslint-import-resolver-typescript,eslint-plugin-import,jest,jsii-diff,jsii-docgen,jsii-pacmak,jsii-rosetta,projen,ts-jest,ts-node,typescript"
},
{
"exec": "yarn install --check-files"
},
{
- "exec": "yarn upgrade @types/jest @types/node @typescript-eslint/eslint-plugin @typescript-eslint/parser aws-cdk cdklabs-projen-project-types esbuild eslint-import-resolver-typescript eslint-plugin-import eslint jest jest-junit jsii-diff jsii-docgen jsii-pacmak jsii-rosetta jsii projen standard-version ts-jest ts-node typescript @aws-cdk/integ-runner @aws-cdk/integ-tests-alpha"
+ "exec": "yarn upgrade @types/aws-lambda @types/jest @types/node @typescript-eslint/eslint-plugin @typescript-eslint/parser aws-cdk cdklabs-projen-project-types esbuild eslint-import-resolver-typescript eslint-plugin-import eslint jest jest-junit jsii-diff jsii-docgen jsii-pacmak jsii-rosetta jsii projen standard-version ts-jest ts-node typescript @aws-cdk/integ-runner @aws-cdk/integ-tests-alpha"
},
{
"exec": "npx projen"
diff --git a/.projenrc.ts b/.projenrc.ts
index 9b54eb97..02e2269d 100644
--- a/.projenrc.ts
+++ b/.projenrc.ts
@@ -5,7 +5,8 @@ SPDX-License-Identifier: Apache-2.0
import { CdklabsConstructLibrary } from 'cdklabs-projen-project-types';
import { Stability } from 'projen/lib/cdk';
-const cdkVersion = '2.121.1';
+const cdkVersion = '2.151.0';
+
const project = new CdklabsConstructLibrary({
name: '@cdklabs/cdk-appflow',
author: 'Amazon Web Services',
@@ -17,12 +18,16 @@ const project = new CdklabsConstructLibrary({
repositoryUrl: 'https://github.com/cdklabs/cdk-appflow.git',
stability: Stability.EXPERIMENTAL,
docgen: true,
- bundledDeps: ['@types/aws-lambda'],
- devDeps: ['esbuild'],
+ bundledDeps: [],
+ devDeps: [
+ '@types/aws-lambda',
+ 'esbuild',
+ ],
peerDeps: [
`@aws-cdk/aws-redshift-alpha@${cdkVersion}-alpha.0`,
`@aws-cdk/aws-glue-alpha@${cdkVersion}-alpha.0`,
],
+ jsiiVersion: '~5.4.30',
keywords: [
'aws',
'appflow',
diff --git a/API.md b/API.md
index ee69ff7d..5624bb9f 100644
--- a/API.md
+++ b/API.md
@@ -559,6 +559,284 @@ public readonly credentials: ISecret;
---
+### AsanaConnectorProfile
+
+A class that represents a Asana Connector Profile.
+
+#### Initializers
+
+```typescript
+import { AsanaConnectorProfile } from '@cdklabs/cdk-appflow'
+
+new AsanaConnectorProfile(scope: Construct, id: string, props: AsanaConnectorProfileProps)
+```
+
+| **Name** | **Type** | **Description** |
+| --- | --- | --- |
+| scope
| constructs.Construct
| *No description.* |
+| id
| string
| *No description.* |
+| props
| AsanaConnectorProfileProps
| *No description.* |
+
+---
+
+##### `scope`Required
+
+- *Type:* constructs.Construct
+
+---
+
+##### `id`Required
+
+- *Type:* string
+
+---
+
+##### `props`Required
+
+- *Type:* AsanaConnectorProfileProps
+
+---
+
+#### Methods
+
+| **Name** | **Description** |
+| --- | --- |
+| toString
| Returns a string representation of this construct. |
+| applyRemovalPolicy
| Apply the given removal policy to this resource. |
+
+---
+
+##### `toString`
+
+```typescript
+public toString(): string
+```
+
+Returns a string representation of this construct.
+
+##### `applyRemovalPolicy`
+
+```typescript
+public applyRemovalPolicy(policy: RemovalPolicy): void
+```
+
+Apply the given removal policy to this resource.
+
+The Removal Policy controls what happens to this resource when it stops
+being managed by CloudFormation, either because you've removed it from the
+CDK application or because you've made a change that requires the resource
+to be replaced.
+
+The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS
+account for data recovery and cleanup later (`RemovalPolicy.RETAIN`).
+
+###### `policy`Required
+
+- *Type:* aws-cdk-lib.RemovalPolicy
+
+---
+
+#### Static Functions
+
+| **Name** | **Description** |
+| --- | --- |
+| isConstruct
| Checks if `x` is a construct. |
+| isOwnedResource
| Returns true if the construct was created by CDK, and false otherwise. |
+| isResource
| Check whether the given construct is a Resource. |
+| fromConnectionProfileArn
| *No description.* |
+| fromConnectionProfileName
| *No description.* |
+
+---
+
+##### ~~`isConstruct`~~
+
+```typescript
+import { AsanaConnectorProfile } from '@cdklabs/cdk-appflow'
+
+AsanaConnectorProfile.isConstruct(x: any)
+```
+
+Checks if `x` is a construct.
+
+###### `x`Required
+
+- *Type:* any
+
+Any object.
+
+---
+
+##### `isOwnedResource`
+
+```typescript
+import { AsanaConnectorProfile } from '@cdklabs/cdk-appflow'
+
+AsanaConnectorProfile.isOwnedResource(construct: IConstruct)
+```
+
+Returns true if the construct was created by CDK, and false otherwise.
+
+###### `construct`Required
+
+- *Type:* constructs.IConstruct
+
+---
+
+##### `isResource`
+
+```typescript
+import { AsanaConnectorProfile } from '@cdklabs/cdk-appflow'
+
+AsanaConnectorProfile.isResource(construct: IConstruct)
+```
+
+Check whether the given construct is a Resource.
+
+###### `construct`Required
+
+- *Type:* constructs.IConstruct
+
+---
+
+##### `fromConnectionProfileArn`
+
+```typescript
+import { AsanaConnectorProfile } from '@cdklabs/cdk-appflow'
+
+AsanaConnectorProfile.fromConnectionProfileArn(scope: Construct, id: string, arn: string)
+```
+
+###### `scope`Required
+
+- *Type:* constructs.Construct
+
+---
+
+###### `id`Required
+
+- *Type:* string
+
+---
+
+###### `arn`Required
+
+- *Type:* string
+
+---
+
+##### `fromConnectionProfileName`
+
+```typescript
+import { AsanaConnectorProfile } from '@cdklabs/cdk-appflow'
+
+AsanaConnectorProfile.fromConnectionProfileName(scope: Construct, id: string, name: string)
+```
+
+###### `scope`Required
+
+- *Type:* constructs.Construct
+
+---
+
+###### `id`Required
+
+- *Type:* string
+
+---
+
+###### `name`Required
+
+- *Type:* string
+
+---
+
+#### Properties
+
+| **Name** | **Type** | **Description** |
+| --- | --- | --- |
+| node
| constructs.Node
| The tree node. |
+| env
| aws-cdk-lib.ResourceEnvironment
| The environment this resource belongs to. |
+| stack
| aws-cdk-lib.Stack
| The stack in which this resource is defined. |
+| arn
| string
| *No description.* |
+| name
| string
| *No description.* |
+| credentials
| aws-cdk-lib.aws_secretsmanager.ISecret
| *No description.* |
+
+---
+
+##### `node`Required
+
+```typescript
+public readonly node: Node;
+```
+
+- *Type:* constructs.Node
+
+The tree node.
+
+---
+
+##### `env`Required
+
+```typescript
+public readonly env: ResourceEnvironment;
+```
+
+- *Type:* aws-cdk-lib.ResourceEnvironment
+
+The environment this resource belongs to.
+
+For resources that are created and managed by the CDK
+(generally, those created by creating new class instances like Role, Bucket, etc.),
+this is always the same as the environment of the stack they belong to;
+however, for imported resources
+(those obtained from static methods like fromRoleArn, fromBucketName, etc.),
+that might be different than the stack they were imported into.
+
+---
+
+##### `stack`Required
+
+```typescript
+public readonly stack: Stack;
+```
+
+- *Type:* aws-cdk-lib.Stack
+
+The stack in which this resource is defined.
+
+---
+
+##### `arn`Required
+
+```typescript
+public readonly arn: string;
+```
+
+- *Type:* string
+
+---
+
+##### `name`Required
+
+```typescript
+public readonly name: string;
+```
+
+- *Type:* string
+
+---
+
+##### `credentials`Optional
+
+```typescript
+public readonly credentials: ISecret;
+```
+
+- *Type:* aws-cdk-lib.aws_secretsmanager.ISecret
+
+---
+
+
### ConnectorProfileBase
- *Implements:* IConnectorProfile
@@ -7500,6 +7778,108 @@ PostgreSQL table name.
---
+### AsanaConnectorProfileProps
+
+#### Initializer
+
+```typescript
+import { AsanaConnectorProfileProps } from '@cdklabs/cdk-appflow'
+
+const asanaConnectorProfileProps: AsanaConnectorProfileProps = { ... }
+```
+
+#### Properties
+
+| **Name** | **Type** | **Description** |
+| --- | --- | --- |
+| key
| aws-cdk-lib.aws_kms.IKey
| TODO: think if this should be here as not all connector profiles have that. |
+| name
| string
| *No description.* |
+| patToken
| aws-cdk-lib.SecretValue
| *No description.* |
+
+---
+
+##### `key`Optional
+
+```typescript
+public readonly key: IKey;
+```
+
+- *Type:* aws-cdk-lib.aws_kms.IKey
+
+TODO: think if this should be here as not all connector profiles have that.
+
+---
+
+##### `name`Optional
+
+```typescript
+public readonly name: string;
+```
+
+- *Type:* string
+
+---
+
+##### `patToken`Required
+
+```typescript
+public readonly patToken: SecretValue;
+```
+
+- *Type:* aws-cdk-lib.SecretValue
+
+---
+
+### AsanaSourceProps
+
+#### Initializer
+
+```typescript
+import { AsanaSourceProps } from '@cdklabs/cdk-appflow'
+
+const asanaSourceProps: AsanaSourceProps = { ... }
+```
+
+#### Properties
+
+| **Name** | **Type** | **Description** |
+| --- | --- | --- |
+| object
| string
| *No description.* |
+| profile
| AsanaConnectorProfile
| *No description.* |
+| apiVersion
| string
| *No description.* |
+
+---
+
+##### `object`Required
+
+```typescript
+public readonly object: string;
+```
+
+- *Type:* string
+
+---
+
+##### `profile`Required
+
+```typescript
+public readonly profile: AsanaConnectorProfile;
+```
+
+- *Type:* AsanaConnectorProfile
+
+---
+
+##### `apiVersion`Optional
+
+```typescript
+public readonly apiVersion: string;
+```
+
+- *Type:* string
+
+---
+
### ConnectorProfileProps
#### Initializer
@@ -13542,6 +13922,74 @@ The AppFlow type of the connector that this source is implemented for.
---
+### AsanaSource
+
+- *Implements:* ISource
+
+A class that represents a Asana v3 Source.
+
+#### Initializers
+
+```typescript
+import { AsanaSource } from '@cdklabs/cdk-appflow'
+
+new AsanaSource(props: AsanaSourceProps)
+```
+
+| **Name** | **Type** | **Description** |
+| --- | --- | --- |
+| props
| AsanaSourceProps
| *No description.* |
+
+---
+
+##### `props`Required
+
+- *Type:* AsanaSourceProps
+
+---
+
+#### Methods
+
+| **Name** | **Description** |
+| --- | --- |
+| bind
| *No description.* |
+
+---
+
+##### `bind`
+
+```typescript
+public bind(flow: IFlow): SourceFlowConfigProperty
+```
+
+###### `flow`Required
+
+- *Type:* IFlow
+
+---
+
+
+#### Properties
+
+| **Name** | **Type** | **Description** |
+| --- | --- | --- |
+| connectorType
| ConnectorType
| The AppFlow type of the connector that this source is implemented for. |
+
+---
+
+##### `connectorType`Required
+
+```typescript
+public readonly connectorType: ConnectorType;
+```
+
+- *Type:* ConnectorType
+
+The AppFlow type of the connector that this source is implemented for.
+
+---
+
+
### ConnectorType
#### Initializers
@@ -17012,7 +17460,7 @@ The AppFlow type of the connector that this source is implemented for.
- *Extends:* aws-cdk-lib.IResource
-- *Implemented By:* AmazonRdsForPostgreSqlConnectorProfile, ConnectorProfileBase, GoogleAdsConnectorProfile, GoogleAnalytics4ConnectorProfile, GoogleBigQueryConnectorProfile, JdbcSmallDataScaleConnectorProfile, MailchimpConnectorProfile, MarketoConnectorProfile, MicrosoftDynamics365ConnectorProfile, MicrosoftSharepointOnlineConnectorProfile, RedshiftConnectorProfile, SAPOdataConnectorProfile, SalesforceConnectorProfile, SalesforceMarketingCloudConnectorProfile, ServiceNowConnectorProfile, SlackConnectorProfile, SnowflakeConnectorProfile, ZendeskConnectorProfile, IConnectorProfile
+- *Implemented By:* AmazonRdsForPostgreSqlConnectorProfile, AsanaConnectorProfile, ConnectorProfileBase, GoogleAdsConnectorProfile, GoogleAnalytics4ConnectorProfile, GoogleBigQueryConnectorProfile, JdbcSmallDataScaleConnectorProfile, MailchimpConnectorProfile, MarketoConnectorProfile, MicrosoftDynamics365ConnectorProfile, MicrosoftSharepointOnlineConnectorProfile, RedshiftConnectorProfile, SAPOdataConnectorProfile, SalesforceConnectorProfile, SalesforceMarketingCloudConnectorProfile, ServiceNowConnectorProfile, SlackConnectorProfile, SnowflakeConnectorProfile, ZendeskConnectorProfile, IConnectorProfile
#### Properties
@@ -17424,7 +17872,7 @@ public bind(flow: IFlow, source: ISource): TaskProperty[]
- *Extends:* IVertex
-- *Implemented By:* GoogleAdsSource, GoogleAnalytics4Source, GoogleBigQuerySource, JdbcSmallDataScaleSource, MailchimpSource, MarketoSource, MicrosoftDynamics365Source, MicrosoftSharepointOnlineSource, S3Source, SAPOdataSource, SalesforceMarketingCloudSource, SalesforceSource, ServiceNowSource, SlackSource, ZendeskSource, ISource
+- *Implemented By:* AsanaSource, GoogleAdsSource, GoogleAnalytics4Source, GoogleBigQuerySource, JdbcSmallDataScaleSource, MailchimpSource, MarketoSource, MicrosoftDynamics365Source, MicrosoftSharepointOnlineSource, S3Source, SAPOdataSource, SalesforceMarketingCloudSource, SalesforceSource, ServiceNowSource, SlackSource, ZendeskSource, ISource
A source of an AppFlow flow.
@@ -17523,7 +17971,7 @@ A representation of a validation operation, that is an operation testing records
### IVertex
-- *Implemented By:* AmazonRdsForPostgreSqlDestination, EventBridgeDestination, GoogleAdsSource, GoogleAnalytics4Source, GoogleBigQuerySource, JdbcSmallDataScaleSource, MailchimpSource, MarketoSource, MicrosoftDynamics365Source, MicrosoftSharepointOnlineSource, RedshiftDestination, S3Destination, S3Source, SAPOdataDestination, SAPOdataSource, SalesforceDestination, SalesforceMarketingCloudSource, SalesforceSource, ServiceNowSource, SlackSource, SnowflakeDestination, ZendeskSource, IDestination, ISource, IVertex
+- *Implemented By:* AmazonRdsForPostgreSqlDestination, AsanaSource, EventBridgeDestination, GoogleAdsSource, GoogleAnalytics4Source, GoogleBigQuerySource, JdbcSmallDataScaleSource, MailchimpSource, MarketoSource, MicrosoftDynamics365Source, MicrosoftSharepointOnlineSource, RedshiftDestination, S3Destination, S3Source, SAPOdataDestination, SAPOdataSource, SalesforceDestination, SalesforceMarketingCloudSource, SalesforceSource, ServiceNowSource, SlackSource, SnowflakeDestination, ZendeskSource, IDestination, ISource, IVertex
An interface representing a vertex, i.e. a source or a destination of an AppFlow flow.
diff --git a/package.json b/package.json
index e04b5f5d..cb42e199 100644
--- a/package.json
+++ b/package.json
@@ -18,6 +18,11 @@
"eject": "npx projen eject",
"eslint": "npx projen eslint",
"integ": "npx projen integ",
+ "integ:ondemand-asana-to-s3:assert": "npx projen integ:ondemand-asana-to-s3:assert",
+ "integ:ondemand-asana-to-s3:deploy": "npx projen integ:ondemand-asana-to-s3:deploy",
+ "integ:ondemand-asana-to-s3:destroy": "npx projen integ:ondemand-asana-to-s3:destroy",
+ "integ:ondemand-asana-to-s3:snapshot": "npx projen integ:ondemand-asana-to-s3:snapshot",
+ "integ:ondemand-asana-to-s3:watch": "npx projen integ:ondemand-asana-to-s3:watch",
"integ:ondemand-googleanalytics4-to-s3:assert": "npx projen integ:ondemand-googleanalytics4-to-s3:assert",
"integ:ondemand-googleanalytics4-to-s3:deploy": "npx projen integ:ondemand-googleanalytics4-to-s3:deploy",
"integ:ondemand-googleanalytics4-to-s3:destroy": "npx projen integ:ondemand-googleanalytics4-to-s3:destroy",
@@ -117,16 +122,17 @@
"organization": true
},
"devDependencies": {
- "@aws-cdk/aws-glue-alpha": "2.121.1-alpha.0",
- "@aws-cdk/aws-redshift-alpha": "2.121.1-alpha.0",
+ "@aws-cdk/aws-glue-alpha": "2.151.0-alpha.0",
+ "@aws-cdk/aws-redshift-alpha": "2.151.0-alpha.0",
"@aws-cdk/integ-runner": "latest",
"@aws-cdk/integ-tests-alpha": "latest",
+ "@types/aws-lambda": "^8.10.143",
"@types/jest": "^27",
"@types/node": "^18",
"@typescript-eslint/eslint-plugin": "^7",
"@typescript-eslint/parser": "^7",
"aws-cdk": "^2",
- "aws-cdk-lib": "2.121.1",
+ "aws-cdk-lib": "2.151.0",
"cdklabs-projen-project-types": "^0.1.200",
"constructs": "10.0.5",
"esbuild": "^0.23.0",
@@ -135,7 +141,7 @@
"eslint-plugin-import": "^2.29.1",
"jest": "^27",
"jest-junit": "^15",
- "jsii": "~5.2",
+ "jsii": "~5.4.30",
"jsii-diff": "^1.102.0",
"jsii-docgen": "^8.0.56",
"jsii-pacmak": "^1.102.0",
@@ -147,17 +153,11 @@
"typescript": "^5.2.2"
},
"peerDependencies": {
- "@aws-cdk/aws-glue-alpha": "2.121.1-alpha.0",
- "@aws-cdk/aws-redshift-alpha": "2.121.1-alpha.0",
- "aws-cdk-lib": "^2.121.1",
+ "@aws-cdk/aws-glue-alpha": "2.151.0-alpha.0",
+ "@aws-cdk/aws-redshift-alpha": "2.151.0-alpha.0",
+ "aws-cdk-lib": "^2.151.0",
"constructs": "^10.0.5"
},
- "dependencies": {
- "@types/aws-lambda": "^8.10.143"
- },
- "bundledDependencies": [
- "@types/aws-lambda"
- ],
"keywords": [
"appflow",
"aws",
diff --git a/src/asana/index.ts b/src/asana/index.ts
new file mode 100644
index 00000000..e8112703
--- /dev/null
+++ b/src/asana/index.ts
@@ -0,0 +1,7 @@
+/*
+Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
+SPDX-License-Identifier: Apache-2.0
+*/
+export * from './type';
+export * from './profile';
+export * from './source';
\ No newline at end of file
diff --git a/src/asana/profile.ts b/src/asana/profile.ts
new file mode 100644
index 00000000..f913b3a8
--- /dev/null
+++ b/src/asana/profile.ts
@@ -0,0 +1,57 @@
+/*
+Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
+SPDX-License-Identifier: Apache-2.0
+*/
+import { SecretValue } from 'aws-cdk-lib';
+import { CfnConnectorProfile } from 'aws-cdk-lib/aws-appflow';
+import { Construct } from 'constructs';
+import { AsanaConnectorType } from './type';
+import { ConnectorAuthenticationType } from '../core/connectors/connector-authentication-type';
+import { ConnectorProfileBase, ConnectorProfileProps } from '../core/connectors/connector-profile';
+
+export interface AsanaConnectorProfileProps extends ConnectorProfileProps {
+ readonly patToken: SecretValue;
+}
+
+/**
+ * A class that represents a Asana Connector Profile.
+ *
+ */
+export class AsanaConnectorProfile extends ConnectorProfileBase {
+
+ public static fromConnectionProfileArn(scope: Construct, id: string, arn: string) {
+ return this._fromConnectorProfileAttributes(scope, id, { arn }) as AsanaConnectorProfile;
+ }
+
+ public static fromConnectionProfileName(scope: Construct, id: string, name: string) {
+ return this._fromConnectorProfileAttributes(scope, id, { name }) as AsanaConnectorProfile;
+ }
+
+ constructor(scope: Construct, id: string, props: AsanaConnectorProfileProps) {
+ super(scope, id, props, AsanaConnectorType.instance);
+ }
+
+ protected buildConnectorProfileProperties(_props: ConnectorProfileProps): CfnConnectorProfile.ConnectorProfilePropertiesProperty {
+ return {
+ customConnector: {
+ profileProperties: { },
+ },
+ };
+ }
+
+ protected buildConnectorProfileCredentials(props: ConnectorProfileProps): CfnConnectorProfile.ConnectorProfileCredentialsProperty {
+ const properties = (props as AsanaConnectorProfileProps);
+
+ return {
+ customConnector: {
+ authenticationType: ConnectorAuthenticationType.CUSTOM,
+ custom: {
+ credentialsMap: {
+ patToken: properties.patToken.unsafeUnwrap(),
+ },
+ customAuthenticationType: 'PAT',
+ },
+ },
+ };
+ }
+}
\ No newline at end of file
diff --git a/src/asana/source.ts b/src/asana/source.ts
new file mode 100644
index 00000000..0d7b7e71
--- /dev/null
+++ b/src/asana/source.ts
@@ -0,0 +1,59 @@
+/*
+Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
+SPDX-License-Identifier: Apache-2.0
+*/
+import { CfnFlow } from 'aws-cdk-lib/aws-appflow';
+import { IConstruct } from 'constructs';
+import { AsanaConnectorProfile } from './profile';
+import { AsanaConnectorType } from './type';
+import { ConnectorType } from '../core/connectors/connector-type';
+import { IFlow } from '../core/flows';
+import { ISource } from '../core/vertices';
+
+export interface AsanaSourceProps {
+ readonly profile: AsanaConnectorProfile;
+ readonly object: string;
+ readonly apiVersion?: string;
+}
+
+/**
+ * A class that represents a Asana v3 Source
+ */
+export class AsanaSource implements ISource {
+ private static readonly apiVersion: string = '1.0';
+
+ /**
+ * The AppFlow type of the connector that this source is implemented for
+ */
+ public readonly connectorType: ConnectorType = AsanaConnectorType.instance;
+
+ constructor(private readonly props: AsanaSourceProps) {}
+
+ bind(flow: IFlow): CfnFlow.SourceFlowConfigProperty {
+ this.tryAddNodeDependency(flow, this.props.profile);
+
+ return {
+ apiVersion: this.props.apiVersion ?? AsanaSource.apiVersion,
+ connectorType: this.connectorType.asProfileConnectorType,
+ connectorProfileName: this.props.profile.name,
+ sourceConnectorProperties: this.buildSourceConnectorProperties(),
+ };
+ }
+
+ private buildSourceConnectorProperties(): CfnFlow.SourceConnectorPropertiesProperty {
+ return {
+ customConnector: {
+ entityName: this.props.object,
+ },
+ };
+ }
+
+ private tryAddNodeDependency(
+ scope: IConstruct,
+ resource?: IConstruct | string,
+ ) {
+ if (resource && typeof resource !== 'string') {
+ scope.node.addDependency(resource);
+ }
+ }
+}
diff --git a/src/asana/type.ts b/src/asana/type.ts
new file mode 100644
index 00000000..0914b70e
--- /dev/null
+++ b/src/asana/type.ts
@@ -0,0 +1,24 @@
+/*
+Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
+SPDX-License-Identifier: Apache-2.0
+*/
+import { ConnectorType } from '../core/connectors/connector-type';
+
+/**
+ * @internal
+ */
+export class AsanaConnectorType extends ConnectorType {
+
+ public static get instance(): ConnectorType {
+ if (!AsanaConnectorType.actualInstance) {
+ AsanaConnectorType.actualInstance = new AsanaConnectorType();
+ }
+ return AsanaConnectorType.actualInstance;
+ }
+
+ private static actualInstance: ConnectorType;
+
+ constructor() {
+ super('Asana', true);
+ }
+}
\ No newline at end of file
diff --git a/src/index.ts b/src/index.ts
index 9389fa9b..b8af1846 100644
--- a/src/index.ts
+++ b/src/index.ts
@@ -5,6 +5,7 @@ SPDX-License-Identifier: Apache-2.0
export * from './core';
export * from './amazonrdsforpostgresql';
+export * from './asana';
export * from './eventbridge';
export * from './googleanalytics4';
export * from './googlebigquery';
diff --git a/test/asana/profile.test.ts b/test/asana/profile.test.ts
new file mode 100644
index 00000000..b3883a7e
--- /dev/null
+++ b/test/asana/profile.test.ts
@@ -0,0 +1,43 @@
+/*
+Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
+SPDX-License-Identifier: Apache-2.0
+*/
+import { SecretValue, Stack } from 'aws-cdk-lib';
+import { Template } from 'aws-cdk-lib/assertions';
+import { AsanaConnectorProfile } from '../../src';
+
+describe('AsanaConnectorProfileProps', () => {
+
+ test('API Key profile with credentials exists in the stack', () => {
+ const stack = new Stack(undefined, 'TestStack', { env: { account: '12345678', region: 'dummy' } });
+
+ new AsanaConnectorProfile(stack, 'TestProfile', {
+ patToken: SecretValue.unsafePlainText('patToken'),
+ });
+
+ Template.fromStack(stack).hasResourceProperties('AWS::AppFlow::ConnectorProfile', {
+ ConnectionMode: 'Public',
+ ConnectorLabel: 'Asana',
+ ConnectorProfileName: 'TestProfile',
+ ConnectorType: 'CustomConnector',
+ ConnectorProfileConfig: {
+ ConnectorProfileCredentials: {
+ CustomConnector: {
+ AuthenticationType: 'CUSTOM',
+ Custom: {
+ CredentialsMap: {
+ patToken: 'patToken',
+ },
+ CustomAuthenticationType: 'PAT',
+ },
+ },
+ },
+ ConnectorProfileProperties: {
+ CustomConnector: {
+ ProfileProperties: { },
+ },
+ },
+ },
+ });
+ });
+});
diff --git a/test/asana/source.test.ts b/test/asana/source.test.ts
new file mode 100644
index 00000000..fbdb554e
--- /dev/null
+++ b/test/asana/source.test.ts
@@ -0,0 +1,67 @@
+/*
+Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
+SPDX-License-Identifier: Apache-2.0
+*/
+import { Stack } from 'aws-cdk-lib';
+import { Bucket } from 'aws-cdk-lib/aws-s3';
+import {
+ AsanaConnectorProfile,
+ AsanaSource,
+ AsanaConnectorType,
+ OnDemandFlow,
+ S3Destination,
+ Mapping,
+} from '../../src';
+
+describe('AsanaSource', () => {
+
+ test('Source with connector name', () => {
+ const stack = new Stack(undefined, 'TestStack');
+ const source = new AsanaSource({
+ profile: AsanaConnectorProfile.fromConnectionProfileName(stack, 'TestProfile', 'dummy-profile'),
+ object: 'workspace',
+ });
+
+ const destination = new S3Destination({
+ location: { bucket: new Bucket(stack, 'TestBucket') },
+ });
+
+ new OnDemandFlow(stack, 'TestFlow', {
+ source: source,
+ destination: destination,
+ mappings: [Mapping.mapAll()],
+ });
+
+ const expectedConnectorType = AsanaConnectorType.instance;
+ expect(source.connectorType.asProfileConnectorLabel).toEqual(expectedConnectorType.asProfileConnectorLabel);
+ expect(source.connectorType.asProfileConnectorType).toEqual(expectedConnectorType.asProfileConnectorType);
+ expect(source.connectorType.asTaskConnectorOperatorOrigin).toEqual(expectedConnectorType.asTaskConnectorOperatorOrigin);
+ expect(source.connectorType.isCustom).toEqual(expectedConnectorType.isCustom);
+ });
+
+ test('Source with connector Arn', () => {
+ const stack = new Stack(undefined, 'TestStack');
+ const source = new AsanaSource({
+ profile: AsanaConnectorProfile.fromConnectionProfileArn(stack, 'TestProfile', 'arn:aws:appflow:region:account-id:connectorprofile/TestProfile'),
+ object: 'workspace',
+ });
+
+ const destination = new S3Destination({
+ location: { bucket: new Bucket(stack, 'TestBucket') },
+ });
+
+ new OnDemandFlow(stack, 'TestFlow', {
+ source: source,
+ destination: destination,
+ mappings: [Mapping.mapAll()],
+ });
+
+ const expectedConnectorType = AsanaConnectorType.instance;
+ expect(source.connectorType.asProfileConnectorLabel).toEqual(expectedConnectorType.asProfileConnectorLabel);
+ expect(source.connectorType.asProfileConnectorType).toEqual(expectedConnectorType.asProfileConnectorType);
+ expect(source.connectorType.asTaskConnectorOperatorOrigin).toEqual(expectedConnectorType.asTaskConnectorOperatorOrigin);
+ expect(source.connectorType.isCustom).toEqual(expectedConnectorType.isCustom);
+ });
+
+
+});
diff --git a/test/integ/ondemand-asana-to-s3.integ.snapshot/TestStack.assets.json b/test/integ/ondemand-asana-to-s3.integ.snapshot/TestStack.assets.json
new file mode 100644
index 00000000..59aa77ef
--- /dev/null
+++ b/test/integ/ondemand-asana-to-s3.integ.snapshot/TestStack.assets.json
@@ -0,0 +1,32 @@
+{
+ "version": "36.0.0",
+ "files": {
+ "faa95a81ae7d7373f3e1f242268f904eb748d8d0fdd306e8a6fe515a1905a7d6": {
+ "source": {
+ "path": "asset.faa95a81ae7d7373f3e1f242268f904eb748d8d0fdd306e8a6fe515a1905a7d6",
+ "packaging": "zip"
+ },
+ "destinations": {
+ "current_account-current_region": {
+ "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}",
+ "objectKey": "faa95a81ae7d7373f3e1f242268f904eb748d8d0fdd306e8a6fe515a1905a7d6.zip",
+ "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}"
+ }
+ }
+ },
+ "99b90d8d72bc84463ed65323f4e755875ece33ca0ffa2826f29e21ca8ecbca4b": {
+ "source": {
+ "path": "TestStack.template.json",
+ "packaging": "file"
+ },
+ "destinations": {
+ "current_account-current_region": {
+ "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}",
+ "objectKey": "99b90d8d72bc84463ed65323f4e755875ece33ca0ffa2826f29e21ca8ecbca4b.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/ondemand-asana-to-s3.integ.snapshot/TestStack.template.json b/test/integ/ondemand-asana-to-s3.integ.snapshot/TestStack.template.json
new file mode 100644
index 00000000..ae7eae0d
--- /dev/null
+++ b/test/integ/ondemand-asana-to-s3.integ.snapshot/TestStack.template.json
@@ -0,0 +1,472 @@
+{
+ "Resources": {
+ "TestConnectorProfileD7470107": {
+ "Type": "AWS::AppFlow::ConnectorProfile",
+ "Properties": {
+ "ConnectionMode": "Public",
+ "ConnectorLabel": "Asana",
+ "ConnectorProfileConfig": {
+ "ConnectorProfileCredentials": {
+ "CustomConnector": {
+ "AuthenticationType": "CUSTOM",
+ "Custom": {
+ "CredentialsMap": {
+ "patToken": {
+ "Fn::Join": [
+ "",
+ [
+ "{{resolve:secretsmanager:arn:",
+ {
+ "Ref": "AWS::Partition"
+ },
+ ":secretsmanager:",
+ {
+ "Ref": "AWS::Region"
+ },
+ ":",
+ {
+ "Ref": "AWS::AccountId"
+ },
+ ":secret:appflow/asana:SecretString:patToken::}}"
+ ]
+ ]
+ }
+ },
+ "CustomAuthenticationType": "PAT"
+ }
+ }
+ },
+ "ConnectorProfileProperties": {
+ "CustomConnector": {
+ "ProfileProperties": {}
+ }
+ }
+ },
+ "ConnectorProfileName": "TestConnectorProfile",
+ "ConnectorType": "CustomConnector"
+ }
+ },
+ "TestBucket560B80BC": {
+ "Type": "AWS::S3::Bucket",
+ "Properties": {
+ "Tags": [
+ {
+ "Key": "aws-cdk:auto-delete-objects",
+ "Value": "true"
+ }
+ ]
+ },
+ "UpdateReplacePolicy": "Delete",
+ "DeletionPolicy": "Delete"
+ },
+ "TestBucketPolicyBA12ED38": {
+ "Type": "AWS::S3::BucketPolicy",
+ "Properties": {
+ "Bucket": {
+ "Ref": "TestBucket560B80BC"
+ },
+ "PolicyDocument": {
+ "Statement": [
+ {
+ "Action": [
+ "s3:PutBucketPolicy",
+ "s3:GetBucket*",
+ "s3:List*",
+ "s3:DeleteObject*"
+ ],
+ "Effect": "Allow",
+ "Principal": {
+ "AWS": {
+ "Fn::GetAtt": [
+ "CustomS3AutoDeleteObjectsCustomResourceProviderRole3B1BD092",
+ "Arn"
+ ]
+ }
+ },
+ "Resource": [
+ {
+ "Fn::GetAtt": [
+ "TestBucket560B80BC",
+ "Arn"
+ ]
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ {
+ "Fn::GetAtt": [
+ "TestBucket560B80BC",
+ "Arn"
+ ]
+ },
+ "/*"
+ ]
+ ]
+ }
+ ]
+ },
+ {
+ "Action": [
+ "s3:PutObject",
+ "s3:AbortMultipartUpload",
+ "s3:ListMultipartUploadParts",
+ "s3:ListBucketMultipartUploads",
+ "s3:GetBucketAcl",
+ "s3:PutObjectAcl"
+ ],
+ "Condition": {
+ "StringEquals": {
+ "aws:SourceAccount": {
+ "Ref": "AWS::AccountId"
+ }
+ }
+ },
+ "Effect": "Allow",
+ "Principal": {
+ "Service": "appflow.amazonaws.com"
+ },
+ "Resource": [
+ {
+ "Fn::GetAtt": [
+ "TestBucket560B80BC",
+ "Arn"
+ ]
+ },
+ {
+ "Fn::Join": [
+ "",
+ [
+ {
+ "Fn::GetAtt": [
+ "TestBucket560B80BC",
+ "Arn"
+ ]
+ },
+ "/*"
+ ]
+ ]
+ }
+ ]
+ }
+ ],
+ "Version": "2012-10-17"
+ }
+ }
+ },
+ "TestBucketAutoDeleteObjectsCustomResource8FEAABD5": {
+ "Type": "Custom::S3AutoDeleteObjects",
+ "Properties": {
+ "ServiceToken": {
+ "Fn::GetAtt": [
+ "CustomS3AutoDeleteObjectsCustomResourceProviderHandler9D90184F",
+ "Arn"
+ ]
+ },
+ "BucketName": {
+ "Ref": "TestBucket560B80BC"
+ }
+ },
+ "DependsOn": [
+ "TestBucketPolicyBA12ED38"
+ ],
+ "UpdateReplacePolicy": "Delete",
+ "DeletionPolicy": "Delete"
+ },
+ "CustomS3AutoDeleteObjectsCustomResourceProviderRole3B1BD092": {
+ "Type": "AWS::IAM::Role",
+ "Properties": {
+ "AssumeRolePolicyDocument": {
+ "Version": "2012-10-17",
+ "Statement": [
+ {
+ "Action": "sts:AssumeRole",
+ "Effect": "Allow",
+ "Principal": {
+ "Service": "lambda.amazonaws.com"
+ }
+ }
+ ]
+ },
+ "ManagedPolicyArns": [
+ {
+ "Fn::Sub": "arn:${AWS::Partition}:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole"
+ }
+ ]
+ }
+ },
+ "CustomS3AutoDeleteObjectsCustomResourceProviderHandler9D90184F": {
+ "Type": "AWS::Lambda::Function",
+ "Properties": {
+ "Code": {
+ "S3Bucket": {
+ "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}"
+ },
+ "S3Key": "faa95a81ae7d7373f3e1f242268f904eb748d8d0fdd306e8a6fe515a1905a7d6.zip"
+ },
+ "Timeout": 900,
+ "MemorySize": 128,
+ "Handler": "index.handler",
+ "Role": {
+ "Fn::GetAtt": [
+ "CustomS3AutoDeleteObjectsCustomResourceProviderRole3B1BD092",
+ "Arn"
+ ]
+ },
+ "Runtime": {
+ "Fn::FindInMap": [
+ "LatestNodeRuntimeMap",
+ {
+ "Ref": "AWS::Region"
+ },
+ "value"
+ ]
+ },
+ "Description": {
+ "Fn::Join": [
+ "",
+ [
+ "Lambda function for auto-deleting objects in ",
+ {
+ "Ref": "TestBucket560B80BC"
+ },
+ " S3 bucket."
+ ]
+ ]
+ }
+ },
+ "DependsOn": [
+ "CustomS3AutoDeleteObjectsCustomResourceProviderRole3B1BD092"
+ ]
+ },
+ "OnDemandFlow4ECA54C5": {
+ "Type": "AWS::AppFlow::Flow",
+ "Properties": {
+ "DestinationFlowConfigList": [
+ {
+ "ConnectorType": "S3",
+ "DestinationConnectorProperties": {
+ "S3": {
+ "BucketName": {
+ "Ref": "TestBucket560B80BC"
+ }
+ }
+ }
+ }
+ ],
+ "FlowName": "OnDemandFlow",
+ "SourceFlowConfig": {
+ "ApiVersion": "1.0",
+ "ConnectorProfileName": "TestConnectorProfile",
+ "ConnectorType": "CustomConnector",
+ "SourceConnectorProperties": {
+ "CustomConnector": {
+ "EntityName": {
+ "Fn::Join": [
+ "",
+ [
+ "{{resolve:secretsmanager:arn:",
+ {
+ "Ref": "AWS::Partition"
+ },
+ ":secretsmanager:",
+ {
+ "Ref": "AWS::Region"
+ },
+ ":",
+ {
+ "Ref": "AWS::AccountId"
+ },
+ ":secret:appflow/asana:SecretString:object::}}"
+ ]
+ ]
+ }
+ }
+ }
+ },
+ "Tasks": [
+ {
+ "ConnectorOperator": {
+ "CustomConnector": "NO_OP"
+ },
+ "SourceFields": [],
+ "TaskProperties": [
+ {
+ "Key": "EXCLUDE_SOURCE_FIELDS_LIST",
+ "Value": "[]"
+ }
+ ],
+ "TaskType": "Map_all"
+ }
+ ],
+ "TriggerConfig": {
+ "TriggerType": "OnDemand"
+ }
+ },
+ "DependsOn": [
+ "TestBucketAutoDeleteObjectsCustomResource8FEAABD5",
+ "TestBucketPolicyBA12ED38",
+ "TestBucket560B80BC",
+ "TestConnectorProfileD7470107"
+ ]
+ }
+ },
+ "Mappings": {
+ "LatestNodeRuntimeMap": {
+ "af-south-1": {
+ "value": "nodejs20.x"
+ },
+ "ap-east-1": {
+ "value": "nodejs20.x"
+ },
+ "ap-northeast-1": {
+ "value": "nodejs20.x"
+ },
+ "ap-northeast-2": {
+ "value": "nodejs20.x"
+ },
+ "ap-northeast-3": {
+ "value": "nodejs20.x"
+ },
+ "ap-south-1": {
+ "value": "nodejs20.x"
+ },
+ "ap-south-2": {
+ "value": "nodejs20.x"
+ },
+ "ap-southeast-1": {
+ "value": "nodejs20.x"
+ },
+ "ap-southeast-2": {
+ "value": "nodejs20.x"
+ },
+ "ap-southeast-3": {
+ "value": "nodejs20.x"
+ },
+ "ap-southeast-4": {
+ "value": "nodejs20.x"
+ },
+ "ap-southeast-5": {
+ "value": "nodejs20.x"
+ },
+ "ap-southeast-7": {
+ "value": "nodejs20.x"
+ },
+ "ca-central-1": {
+ "value": "nodejs20.x"
+ },
+ "ca-west-1": {
+ "value": "nodejs20.x"
+ },
+ "cn-north-1": {
+ "value": "nodejs18.x"
+ },
+ "cn-northwest-1": {
+ "value": "nodejs18.x"
+ },
+ "eu-central-1": {
+ "value": "nodejs20.x"
+ },
+ "eu-central-2": {
+ "value": "nodejs20.x"
+ },
+ "eu-isoe-west-1": {
+ "value": "nodejs18.x"
+ },
+ "eu-north-1": {
+ "value": "nodejs20.x"
+ },
+ "eu-south-1": {
+ "value": "nodejs20.x"
+ },
+ "eu-south-2": {
+ "value": "nodejs20.x"
+ },
+ "eu-west-1": {
+ "value": "nodejs20.x"
+ },
+ "eu-west-2": {
+ "value": "nodejs20.x"
+ },
+ "eu-west-3": {
+ "value": "nodejs20.x"
+ },
+ "il-central-1": {
+ "value": "nodejs20.x"
+ },
+ "me-central-1": {
+ "value": "nodejs20.x"
+ },
+ "me-south-1": {
+ "value": "nodejs20.x"
+ },
+ "mx-central-1": {
+ "value": "nodejs20.x"
+ },
+ "sa-east-1": {
+ "value": "nodejs20.x"
+ },
+ "us-east-1": {
+ "value": "nodejs20.x"
+ },
+ "us-east-2": {
+ "value": "nodejs20.x"
+ },
+ "us-gov-east-1": {
+ "value": "nodejs18.x"
+ },
+ "us-gov-west-1": {
+ "value": "nodejs18.x"
+ },
+ "us-iso-east-1": {
+ "value": "nodejs18.x"
+ },
+ "us-iso-west-1": {
+ "value": "nodejs18.x"
+ },
+ "us-isob-east-1": {
+ "value": "nodejs18.x"
+ },
+ "us-west-1": {
+ "value": "nodejs20.x"
+ },
+ "us-west-2": {
+ "value": "nodejs20.x"
+ }
+ }
+ },
+ "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/ondemand-asana-to-s3.integ.ts b/test/integ/ondemand-asana-to-s3.integ.ts
new file mode 100644
index 00000000..e903a673
--- /dev/null
+++ b/test/integ/ondemand-asana-to-s3.integ.ts
@@ -0,0 +1,48 @@
+/*
+Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
+SPDX-License-Identifier: Apache-2.0
+*/
+import { App, RemovalPolicy, Stack } from 'aws-cdk-lib';
+import { Bucket } from 'aws-cdk-lib/aws-s3';
+import { Secret } from 'aws-cdk-lib/aws-secretsmanager';
+import {
+ Mapping,
+ OnDemandFlow,
+ S3Destination,
+ AsanaConnectorProfile,
+ AsanaSource,
+} from '../../src';
+
+const app = new App({
+ treeMetadata: false,
+});
+
+const stack = new Stack(app, 'TestStack');
+
+const secret = Secret.fromSecretNameV2(stack, 'TestSecret', 'appflow/asana');
+
+const profile = new AsanaConnectorProfile(stack, 'TestConnectorProfile', {
+ patToken: secret.secretValueFromJson('patToken'),
+});
+
+const source = new AsanaSource({
+ profile: profile,
+ object: secret.secretValueFromJson('object').toString(),
+});
+
+const bucket = new Bucket(stack, 'TestBucket', {
+ autoDeleteObjects: true,
+ removalPolicy: RemovalPolicy.DESTROY,
+});
+
+const destination = new S3Destination({
+ location: { bucket },
+});
+
+new OnDemandFlow(stack, 'OnDemandFlow', {
+ source: source,
+ destination: destination,
+ mappings: [Mapping.mapAll()],
+});
+
+app.synth();
\ No newline at end of file
diff --git a/test/integ/ondemand-googleanalytics4-to-s3.integ.snapshot/TestStack.assets.json b/test/integ/ondemand-googleanalytics4-to-s3.integ.snapshot/TestStack.assets.json
index e8760ee8..565ccc1b 100644
--- a/test/integ/ondemand-googleanalytics4-to-s3.integ.snapshot/TestStack.assets.json
+++ b/test/integ/ondemand-googleanalytics4-to-s3.integ.snapshot/TestStack.assets.json
@@ -1,20 +1,20 @@
{
"version": "36.0.0",
"files": {
- "b7f33614a69548d6bafe224d751a7ef238cde19097415e553fe8b63a4c8fd8a6": {
+ "faa95a81ae7d7373f3e1f242268f904eb748d8d0fdd306e8a6fe515a1905a7d6": {
"source": {
- "path": "asset.b7f33614a69548d6bafe224d751a7ef238cde19097415e553fe8b63a4c8fd8a6",
+ "path": "asset.faa95a81ae7d7373f3e1f242268f904eb748d8d0fdd306e8a6fe515a1905a7d6",
"packaging": "zip"
},
"destinations": {
"current_account-current_region": {
"bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}",
- "objectKey": "b7f33614a69548d6bafe224d751a7ef238cde19097415e553fe8b63a4c8fd8a6.zip",
+ "objectKey": "faa95a81ae7d7373f3e1f242268f904eb748d8d0fdd306e8a6fe515a1905a7d6.zip",
"assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}"
}
}
},
- "ee9761a5e2a7233f6e6315d676d7f9ec38288571346d71bd986f8c7c875c7e14": {
+ "2ea312c67e9de1ffc6cc7a7242d9c0dc8a2f13f03308d829b5334435120fa7f0": {
"source": {
"path": "TestStack.template.json",
"packaging": "file"
@@ -22,7 +22,7 @@
"destinations": {
"current_account-current_region": {
"bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}",
- "objectKey": "ee9761a5e2a7233f6e6315d676d7f9ec38288571346d71bd986f8c7c875c7e14.json",
+ "objectKey": "2ea312c67e9de1ffc6cc7a7242d9c0dc8a2f13f03308d829b5334435120fa7f0.json",
"assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}"
}
}
diff --git a/test/integ/ondemand-googleanalytics4-to-s3.integ.snapshot/TestStack.template.json b/test/integ/ondemand-googleanalytics4-to-s3.integ.snapshot/TestStack.template.json
index c9c6ced2..6302aa17 100644
--- a/test/integ/ondemand-googleanalytics4-to-s3.integ.snapshot/TestStack.template.json
+++ b/test/integ/ondemand-googleanalytics4-to-s3.integ.snapshot/TestStack.template.json
@@ -243,7 +243,7 @@
"S3Bucket": {
"Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}"
},
- "S3Key": "b7f33614a69548d6bafe224d751a7ef238cde19097415e553fe8b63a4c8fd8a6.zip"
+ "S3Key": "faa95a81ae7d7373f3e1f242268f904eb748d8d0fdd306e8a6fe515a1905a7d6.zip"
},
"Timeout": 900,
"MemorySize": 128,
@@ -254,7 +254,15 @@
"Arn"
]
},
- "Runtime": "nodejs18.x",
+ "Runtime": {
+ "Fn::FindInMap": [
+ "LatestNodeRuntimeMap",
+ {
+ "Ref": "AWS::Region"
+ },
+ "value"
+ ]
+ },
"Description": {
"Fn::Join": [
"",
@@ -402,6 +410,130 @@
]
}
},
+ "Mappings": {
+ "LatestNodeRuntimeMap": {
+ "af-south-1": {
+ "value": "nodejs20.x"
+ },
+ "ap-east-1": {
+ "value": "nodejs20.x"
+ },
+ "ap-northeast-1": {
+ "value": "nodejs20.x"
+ },
+ "ap-northeast-2": {
+ "value": "nodejs20.x"
+ },
+ "ap-northeast-3": {
+ "value": "nodejs20.x"
+ },
+ "ap-south-1": {
+ "value": "nodejs20.x"
+ },
+ "ap-south-2": {
+ "value": "nodejs20.x"
+ },
+ "ap-southeast-1": {
+ "value": "nodejs20.x"
+ },
+ "ap-southeast-2": {
+ "value": "nodejs20.x"
+ },
+ "ap-southeast-3": {
+ "value": "nodejs20.x"
+ },
+ "ap-southeast-4": {
+ "value": "nodejs20.x"
+ },
+ "ap-southeast-5": {
+ "value": "nodejs20.x"
+ },
+ "ap-southeast-7": {
+ "value": "nodejs20.x"
+ },
+ "ca-central-1": {
+ "value": "nodejs20.x"
+ },
+ "ca-west-1": {
+ "value": "nodejs20.x"
+ },
+ "cn-north-1": {
+ "value": "nodejs18.x"
+ },
+ "cn-northwest-1": {
+ "value": "nodejs18.x"
+ },
+ "eu-central-1": {
+ "value": "nodejs20.x"
+ },
+ "eu-central-2": {
+ "value": "nodejs20.x"
+ },
+ "eu-isoe-west-1": {
+ "value": "nodejs18.x"
+ },
+ "eu-north-1": {
+ "value": "nodejs20.x"
+ },
+ "eu-south-1": {
+ "value": "nodejs20.x"
+ },
+ "eu-south-2": {
+ "value": "nodejs20.x"
+ },
+ "eu-west-1": {
+ "value": "nodejs20.x"
+ },
+ "eu-west-2": {
+ "value": "nodejs20.x"
+ },
+ "eu-west-3": {
+ "value": "nodejs20.x"
+ },
+ "il-central-1": {
+ "value": "nodejs20.x"
+ },
+ "me-central-1": {
+ "value": "nodejs20.x"
+ },
+ "me-south-1": {
+ "value": "nodejs20.x"
+ },
+ "mx-central-1": {
+ "value": "nodejs20.x"
+ },
+ "sa-east-1": {
+ "value": "nodejs20.x"
+ },
+ "us-east-1": {
+ "value": "nodejs20.x"
+ },
+ "us-east-2": {
+ "value": "nodejs20.x"
+ },
+ "us-gov-east-1": {
+ "value": "nodejs18.x"
+ },
+ "us-gov-west-1": {
+ "value": "nodejs18.x"
+ },
+ "us-iso-east-1": {
+ "value": "nodejs18.x"
+ },
+ "us-iso-west-1": {
+ "value": "nodejs18.x"
+ },
+ "us-isob-east-1": {
+ "value": "nodejs18.x"
+ },
+ "us-west-1": {
+ "value": "nodejs20.x"
+ },
+ "us-west-2": {
+ "value": "nodejs20.x"
+ }
+ }
+ },
"Parameters": {
"BootstrapVersion": {
"Type": "AWS::SSM::Parameter::Value",
diff --git a/test/integ/ondemand-jdbcsmalldatascale-to-s3.integ.snapshot/TestStack.assets.json b/test/integ/ondemand-jdbcsmalldatascale-to-s3.integ.snapshot/TestStack.assets.json
index 764b8c7d..4b65c2d9 100644
--- a/test/integ/ondemand-jdbcsmalldatascale-to-s3.integ.snapshot/TestStack.assets.json
+++ b/test/integ/ondemand-jdbcsmalldatascale-to-s3.integ.snapshot/TestStack.assets.json
@@ -1,20 +1,20 @@
{
"version": "36.0.0",
"files": {
- "b7f33614a69548d6bafe224d751a7ef238cde19097415e553fe8b63a4c8fd8a6": {
+ "faa95a81ae7d7373f3e1f242268f904eb748d8d0fdd306e8a6fe515a1905a7d6": {
"source": {
- "path": "asset.b7f33614a69548d6bafe224d751a7ef238cde19097415e553fe8b63a4c8fd8a6",
+ "path": "asset.faa95a81ae7d7373f3e1f242268f904eb748d8d0fdd306e8a6fe515a1905a7d6",
"packaging": "zip"
},
"destinations": {
"current_account-current_region": {
"bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}",
- "objectKey": "b7f33614a69548d6bafe224d751a7ef238cde19097415e553fe8b63a4c8fd8a6.zip",
+ "objectKey": "faa95a81ae7d7373f3e1f242268f904eb748d8d0fdd306e8a6fe515a1905a7d6.zip",
"assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}"
}
}
},
- "85e6c489b6ba6b249b35b568479083f37b5159ea1c2713c1812dfda7f164f585": {
+ "532819537ceb30d89ceb283dc40f262ad262d89482a0756490279fea67d480e2": {
"source": {
"path": "TestStack.template.json",
"packaging": "file"
@@ -22,7 +22,7 @@
"destinations": {
"current_account-current_region": {
"bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}",
- "objectKey": "85e6c489b6ba6b249b35b568479083f37b5159ea1c2713c1812dfda7f164f585.json",
+ "objectKey": "532819537ceb30d89ceb283dc40f262ad262d89482a0756490279fea67d480e2.json",
"assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}"
}
}
diff --git a/test/integ/ondemand-jdbcsmalldatascale-to-s3.integ.snapshot/TestStack.template.json b/test/integ/ondemand-jdbcsmalldatascale-to-s3.integ.snapshot/TestStack.template.json
index 3fc06986..fb819646 100644
--- a/test/integ/ondemand-jdbcsmalldatascale-to-s3.integ.snapshot/TestStack.template.json
+++ b/test/integ/ondemand-jdbcsmalldatascale-to-s3.integ.snapshot/TestStack.template.json
@@ -302,7 +302,7 @@
"S3Bucket": {
"Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}"
},
- "S3Key": "b7f33614a69548d6bafe224d751a7ef238cde19097415e553fe8b63a4c8fd8a6.zip"
+ "S3Key": "faa95a81ae7d7373f3e1f242268f904eb748d8d0fdd306e8a6fe515a1905a7d6.zip"
},
"Timeout": 900,
"MemorySize": 128,
@@ -313,7 +313,15 @@
"Arn"
]
},
- "Runtime": "nodejs18.x",
+ "Runtime": {
+ "Fn::FindInMap": [
+ "LatestNodeRuntimeMap",
+ {
+ "Ref": "AWS::Region"
+ },
+ "value"
+ ]
+ },
"Description": {
"Fn::Join": [
"",
@@ -415,6 +423,130 @@
]
}
},
+ "Mappings": {
+ "LatestNodeRuntimeMap": {
+ "af-south-1": {
+ "value": "nodejs20.x"
+ },
+ "ap-east-1": {
+ "value": "nodejs20.x"
+ },
+ "ap-northeast-1": {
+ "value": "nodejs20.x"
+ },
+ "ap-northeast-2": {
+ "value": "nodejs20.x"
+ },
+ "ap-northeast-3": {
+ "value": "nodejs20.x"
+ },
+ "ap-south-1": {
+ "value": "nodejs20.x"
+ },
+ "ap-south-2": {
+ "value": "nodejs20.x"
+ },
+ "ap-southeast-1": {
+ "value": "nodejs20.x"
+ },
+ "ap-southeast-2": {
+ "value": "nodejs20.x"
+ },
+ "ap-southeast-3": {
+ "value": "nodejs20.x"
+ },
+ "ap-southeast-4": {
+ "value": "nodejs20.x"
+ },
+ "ap-southeast-5": {
+ "value": "nodejs20.x"
+ },
+ "ap-southeast-7": {
+ "value": "nodejs20.x"
+ },
+ "ca-central-1": {
+ "value": "nodejs20.x"
+ },
+ "ca-west-1": {
+ "value": "nodejs20.x"
+ },
+ "cn-north-1": {
+ "value": "nodejs18.x"
+ },
+ "cn-northwest-1": {
+ "value": "nodejs18.x"
+ },
+ "eu-central-1": {
+ "value": "nodejs20.x"
+ },
+ "eu-central-2": {
+ "value": "nodejs20.x"
+ },
+ "eu-isoe-west-1": {
+ "value": "nodejs18.x"
+ },
+ "eu-north-1": {
+ "value": "nodejs20.x"
+ },
+ "eu-south-1": {
+ "value": "nodejs20.x"
+ },
+ "eu-south-2": {
+ "value": "nodejs20.x"
+ },
+ "eu-west-1": {
+ "value": "nodejs20.x"
+ },
+ "eu-west-2": {
+ "value": "nodejs20.x"
+ },
+ "eu-west-3": {
+ "value": "nodejs20.x"
+ },
+ "il-central-1": {
+ "value": "nodejs20.x"
+ },
+ "me-central-1": {
+ "value": "nodejs20.x"
+ },
+ "me-south-1": {
+ "value": "nodejs20.x"
+ },
+ "mx-central-1": {
+ "value": "nodejs20.x"
+ },
+ "sa-east-1": {
+ "value": "nodejs20.x"
+ },
+ "us-east-1": {
+ "value": "nodejs20.x"
+ },
+ "us-east-2": {
+ "value": "nodejs20.x"
+ },
+ "us-gov-east-1": {
+ "value": "nodejs18.x"
+ },
+ "us-gov-west-1": {
+ "value": "nodejs18.x"
+ },
+ "us-iso-east-1": {
+ "value": "nodejs18.x"
+ },
+ "us-iso-west-1": {
+ "value": "nodejs18.x"
+ },
+ "us-isob-east-1": {
+ "value": "nodejs18.x"
+ },
+ "us-west-1": {
+ "value": "nodejs20.x"
+ },
+ "us-west-2": {
+ "value": "nodejs20.x"
+ }
+ }
+ },
"Parameters": {
"BootstrapVersion": {
"Type": "AWS::SSM::Parameter::Value",
diff --git a/test/integ/ondemand-jdbcsmalldatascale-to-s3.integ.snapshot/manifest.json b/test/integ/ondemand-jdbcsmalldatascale-to-s3.integ.snapshot/manifest.json
index 0ee3782f..b66123ea 100644
--- a/test/integ/ondemand-jdbcsmalldatascale-to-s3.integ.snapshot/manifest.json
+++ b/test/integ/ondemand-jdbcsmalldatascale-to-s3.integ.snapshot/manifest.json
@@ -18,7 +18,7 @@
"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}/85e6c489b6ba6b249b35b568479083f37b5159ea1c2713c1812dfda7f164f585.json",
+ "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/532819537ceb30d89ceb283dc40f262ad262d89482a0756490279fea67d480e2.json",
"requiresBootstrapStackVersion": 6,
"bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version",
"additionalDependencies": [
@@ -58,6 +58,12 @@
"data": "TestBucketAutoDeleteObjectsCustomResource8FEAABD5"
}
],
+ "/TestStack/LatestNodeRuntimeMap": [
+ {
+ "type": "aws:cdk:logicalId",
+ "data": "LatestNodeRuntimeMap"
+ }
+ ],
"/TestStack/Custom::S3AutoDeleteObjectsCustomResourceProvider/Role": [
{
"type": "aws:cdk:logicalId",
diff --git a/test/integ/ondemand-mailchimp-to-s3.integ.snapshot/TestStack.assets.json b/test/integ/ondemand-mailchimp-to-s3.integ.snapshot/TestStack.assets.json
index e83f0f06..93276e8c 100644
--- a/test/integ/ondemand-mailchimp-to-s3.integ.snapshot/TestStack.assets.json
+++ b/test/integ/ondemand-mailchimp-to-s3.integ.snapshot/TestStack.assets.json
@@ -1,20 +1,20 @@
{
"version": "36.0.0",
"files": {
- "b7f33614a69548d6bafe224d751a7ef238cde19097415e553fe8b63a4c8fd8a6": {
+ "faa95a81ae7d7373f3e1f242268f904eb748d8d0fdd306e8a6fe515a1905a7d6": {
"source": {
- "path": "asset.b7f33614a69548d6bafe224d751a7ef238cde19097415e553fe8b63a4c8fd8a6",
+ "path": "asset.faa95a81ae7d7373f3e1f242268f904eb748d8d0fdd306e8a6fe515a1905a7d6",
"packaging": "zip"
},
"destinations": {
"current_account-current_region": {
"bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}",
- "objectKey": "b7f33614a69548d6bafe224d751a7ef238cde19097415e553fe8b63a4c8fd8a6.zip",
+ "objectKey": "faa95a81ae7d7373f3e1f242268f904eb748d8d0fdd306e8a6fe515a1905a7d6.zip",
"assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}"
}
}
},
- "64ba6764fdb9ee3b0ec9dd13c4647232d7f266b5a78766fb889bfe9c30747721": {
+ "d221bc6829242f33fb824716a6a9e09db02f0c425682ea8ff164aaf6eeabe707": {
"source": {
"path": "TestStack.template.json",
"packaging": "file"
@@ -22,7 +22,7 @@
"destinations": {
"current_account-current_region": {
"bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}",
- "objectKey": "64ba6764fdb9ee3b0ec9dd13c4647232d7f266b5a78766fb889bfe9c30747721.json",
+ "objectKey": "d221bc6829242f33fb824716a6a9e09db02f0c425682ea8ff164aaf6eeabe707.json",
"assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}"
}
}
diff --git a/test/integ/ondemand-mailchimp-to-s3.integ.snapshot/TestStack.template.json b/test/integ/ondemand-mailchimp-to-s3.integ.snapshot/TestStack.template.json
index 230a9b36..fcf4db95 100644
--- a/test/integ/ondemand-mailchimp-to-s3.integ.snapshot/TestStack.template.json
+++ b/test/integ/ondemand-mailchimp-to-s3.integ.snapshot/TestStack.template.json
@@ -223,7 +223,7 @@
"S3Bucket": {
"Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}"
},
- "S3Key": "b7f33614a69548d6bafe224d751a7ef238cde19097415e553fe8b63a4c8fd8a6.zip"
+ "S3Key": "faa95a81ae7d7373f3e1f242268f904eb748d8d0fdd306e8a6fe515a1905a7d6.zip"
},
"Timeout": 900,
"MemorySize": 128,
@@ -234,7 +234,15 @@
"Arn"
]
},
- "Runtime": "nodejs18.x",
+ "Runtime": {
+ "Fn::FindInMap": [
+ "LatestNodeRuntimeMap",
+ {
+ "Ref": "AWS::Region"
+ },
+ "value"
+ ]
+ },
"Description": {
"Fn::Join": [
"",
@@ -305,6 +313,130 @@
]
}
},
+ "Mappings": {
+ "LatestNodeRuntimeMap": {
+ "af-south-1": {
+ "value": "nodejs20.x"
+ },
+ "ap-east-1": {
+ "value": "nodejs20.x"
+ },
+ "ap-northeast-1": {
+ "value": "nodejs20.x"
+ },
+ "ap-northeast-2": {
+ "value": "nodejs20.x"
+ },
+ "ap-northeast-3": {
+ "value": "nodejs20.x"
+ },
+ "ap-south-1": {
+ "value": "nodejs20.x"
+ },
+ "ap-south-2": {
+ "value": "nodejs20.x"
+ },
+ "ap-southeast-1": {
+ "value": "nodejs20.x"
+ },
+ "ap-southeast-2": {
+ "value": "nodejs20.x"
+ },
+ "ap-southeast-3": {
+ "value": "nodejs20.x"
+ },
+ "ap-southeast-4": {
+ "value": "nodejs20.x"
+ },
+ "ap-southeast-5": {
+ "value": "nodejs20.x"
+ },
+ "ap-southeast-7": {
+ "value": "nodejs20.x"
+ },
+ "ca-central-1": {
+ "value": "nodejs20.x"
+ },
+ "ca-west-1": {
+ "value": "nodejs20.x"
+ },
+ "cn-north-1": {
+ "value": "nodejs18.x"
+ },
+ "cn-northwest-1": {
+ "value": "nodejs18.x"
+ },
+ "eu-central-1": {
+ "value": "nodejs20.x"
+ },
+ "eu-central-2": {
+ "value": "nodejs20.x"
+ },
+ "eu-isoe-west-1": {
+ "value": "nodejs18.x"
+ },
+ "eu-north-1": {
+ "value": "nodejs20.x"
+ },
+ "eu-south-1": {
+ "value": "nodejs20.x"
+ },
+ "eu-south-2": {
+ "value": "nodejs20.x"
+ },
+ "eu-west-1": {
+ "value": "nodejs20.x"
+ },
+ "eu-west-2": {
+ "value": "nodejs20.x"
+ },
+ "eu-west-3": {
+ "value": "nodejs20.x"
+ },
+ "il-central-1": {
+ "value": "nodejs20.x"
+ },
+ "me-central-1": {
+ "value": "nodejs20.x"
+ },
+ "me-south-1": {
+ "value": "nodejs20.x"
+ },
+ "mx-central-1": {
+ "value": "nodejs20.x"
+ },
+ "sa-east-1": {
+ "value": "nodejs20.x"
+ },
+ "us-east-1": {
+ "value": "nodejs20.x"
+ },
+ "us-east-2": {
+ "value": "nodejs20.x"
+ },
+ "us-gov-east-1": {
+ "value": "nodejs18.x"
+ },
+ "us-gov-west-1": {
+ "value": "nodejs18.x"
+ },
+ "us-iso-east-1": {
+ "value": "nodejs18.x"
+ },
+ "us-iso-west-1": {
+ "value": "nodejs18.x"
+ },
+ "us-isob-east-1": {
+ "value": "nodejs18.x"
+ },
+ "us-west-1": {
+ "value": "nodejs20.x"
+ },
+ "us-west-2": {
+ "value": "nodejs20.x"
+ }
+ }
+ },
"Parameters": {
"BootstrapVersion": {
"Type": "AWS::SSM::Parameter::Value",
diff --git a/test/integ/ondemand-microsoftdynamics365-to-s3.integ.snapshot/TestStack.assets.json b/test/integ/ondemand-microsoftdynamics365-to-s3.integ.snapshot/TestStack.assets.json
index bb96311c..176a3e74 100644
--- a/test/integ/ondemand-microsoftdynamics365-to-s3.integ.snapshot/TestStack.assets.json
+++ b/test/integ/ondemand-microsoftdynamics365-to-s3.integ.snapshot/TestStack.assets.json
@@ -1,21 +1,21 @@
{
"version": "36.0.0",
"files": {
- "b7f33614a69548d6bafe224d751a7ef238cde19097415e553fe8b63a4c8fd8a6": {
+ "faa95a81ae7d7373f3e1f242268f904eb748d8d0fdd306e8a6fe515a1905a7d6": {
"source": {
- "path": "asset.b7f33614a69548d6bafe224d751a7ef238cde19097415e553fe8b63a4c8fd8a6",
+ "path": "asset.faa95a81ae7d7373f3e1f242268f904eb748d8d0fdd306e8a6fe515a1905a7d6",
"packaging": "zip"
},
"destinations": {
"current_account-us-east-1": {
"bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-us-east-1",
- "objectKey": "b7f33614a69548d6bafe224d751a7ef238cde19097415e553fe8b63a4c8fd8a6.zip",
+ "objectKey": "faa95a81ae7d7373f3e1f242268f904eb748d8d0fdd306e8a6fe515a1905a7d6.zip",
"region": "us-east-1",
"assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-us-east-1"
}
}
},
- "2c0e6f8d668b207ae36fefe56aefb498b434801e17454f6dbe84cdaf18c5bc6a": {
+ "71a287a54e5f2c6d27d3c67dbaa6a5a45bdb20ff32f2cb3f63bed9b1bb964956": {
"source": {
"path": "TestStack.template.json",
"packaging": "file"
@@ -23,7 +23,7 @@
"destinations": {
"current_account-us-east-1": {
"bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-us-east-1",
- "objectKey": "2c0e6f8d668b207ae36fefe56aefb498b434801e17454f6dbe84cdaf18c5bc6a.json",
+ "objectKey": "71a287a54e5f2c6d27d3c67dbaa6a5a45bdb20ff32f2cb3f63bed9b1bb964956.json",
"region": "us-east-1",
"assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-us-east-1"
}
diff --git a/test/integ/ondemand-microsoftdynamics365-to-s3.integ.snapshot/TestStack.template.json b/test/integ/ondemand-microsoftdynamics365-to-s3.integ.snapshot/TestStack.template.json
index 001cc06a..b158cf7d 100644
--- a/test/integ/ondemand-microsoftdynamics365-to-s3.integ.snapshot/TestStack.template.json
+++ b/test/integ/ondemand-microsoftdynamics365-to-s3.integ.snapshot/TestStack.template.json
@@ -264,7 +264,7 @@
"S3Bucket": {
"Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-us-east-1"
},
- "S3Key": "b7f33614a69548d6bafe224d751a7ef238cde19097415e553fe8b63a4c8fd8a6.zip"
+ "S3Key": "faa95a81ae7d7373f3e1f242268f904eb748d8d0fdd306e8a6fe515a1905a7d6.zip"
},
"Timeout": 900,
"MemorySize": 128,
@@ -275,7 +275,7 @@
"Arn"
]
},
- "Runtime": "nodejs18.x",
+ "Runtime": "nodejs20.x",
"Description": {
"Fn::Join": [
"",
diff --git a/test/integ/ondemand-microsoftdynamics365-to-s3.integ.snapshot/manifest.json b/test/integ/ondemand-microsoftdynamics365-to-s3.integ.snapshot/manifest.json
index 29df2dab..fcf7e9b1 100644
--- a/test/integ/ondemand-microsoftdynamics365-to-s3.integ.snapshot/manifest.json
+++ b/test/integ/ondemand-microsoftdynamics365-to-s3.integ.snapshot/manifest.json
@@ -18,7 +18,7 @@
"validateOnSynth": false,
"assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-deploy-role-${AWS::AccountId}-us-east-1",
"cloudFormationExecutionRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-us-east-1",
- "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-us-east-1/2c0e6f8d668b207ae36fefe56aefb498b434801e17454f6dbe84cdaf18c5bc6a.json",
+ "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-us-east-1/71a287a54e5f2c6d27d3c67dbaa6a5a45bdb20ff32f2cb3f63bed9b1bb964956.json",
"requiresBootstrapStackVersion": 6,
"bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version",
"additionalDependencies": [
diff --git a/test/integ/ondemand-microsoftsharepointonline-to-s3.integ.snapshot/TestStack.assets.json b/test/integ/ondemand-microsoftsharepointonline-to-s3.integ.snapshot/TestStack.assets.json
index 8e557ee6..88ca9d4e 100644
--- a/test/integ/ondemand-microsoftsharepointonline-to-s3.integ.snapshot/TestStack.assets.json
+++ b/test/integ/ondemand-microsoftsharepointonline-to-s3.integ.snapshot/TestStack.assets.json
@@ -1,20 +1,20 @@
{
"version": "36.0.0",
"files": {
- "b7f33614a69548d6bafe224d751a7ef238cde19097415e553fe8b63a4c8fd8a6": {
+ "faa95a81ae7d7373f3e1f242268f904eb748d8d0fdd306e8a6fe515a1905a7d6": {
"source": {
- "path": "asset.b7f33614a69548d6bafe224d751a7ef238cde19097415e553fe8b63a4c8fd8a6",
+ "path": "asset.faa95a81ae7d7373f3e1f242268f904eb748d8d0fdd306e8a6fe515a1905a7d6",
"packaging": "zip"
},
"destinations": {
"current_account-current_region": {
"bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}",
- "objectKey": "b7f33614a69548d6bafe224d751a7ef238cde19097415e553fe8b63a4c8fd8a6.zip",
+ "objectKey": "faa95a81ae7d7373f3e1f242268f904eb748d8d0fdd306e8a6fe515a1905a7d6.zip",
"assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}"
}
}
},
- "f75ed7000b3fc5212768e1703cb08000c56265ae42736a4ae63d7ce978b67374": {
+ "8eede5efa341871e439a6c48121a592749d86283fce3c03cab0b12d3c4580a9f": {
"source": {
"path": "TestStack.template.json",
"packaging": "file"
@@ -22,7 +22,7 @@
"destinations": {
"current_account-current_region": {
"bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}",
- "objectKey": "f75ed7000b3fc5212768e1703cb08000c56265ae42736a4ae63d7ce978b67374.json",
+ "objectKey": "8eede5efa341871e439a6c48121a592749d86283fce3c03cab0b12d3c4580a9f.json",
"assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}"
}
}
diff --git a/test/integ/ondemand-microsoftsharepointonline-to-s3.integ.snapshot/TestStack.template.json b/test/integ/ondemand-microsoftsharepointonline-to-s3.integ.snapshot/TestStack.template.json
index 78f46804..b0ec42bd 100644
--- a/test/integ/ondemand-microsoftsharepointonline-to-s3.integ.snapshot/TestStack.template.json
+++ b/test/integ/ondemand-microsoftsharepointonline-to-s3.integ.snapshot/TestStack.template.json
@@ -241,7 +241,7 @@
"S3Bucket": {
"Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}"
},
- "S3Key": "b7f33614a69548d6bafe224d751a7ef238cde19097415e553fe8b63a4c8fd8a6.zip"
+ "S3Key": "faa95a81ae7d7373f3e1f242268f904eb748d8d0fdd306e8a6fe515a1905a7d6.zip"
},
"Timeout": 900,
"MemorySize": 128,
@@ -252,7 +252,15 @@
"Arn"
]
},
- "Runtime": "nodejs18.x",
+ "Runtime": {
+ "Fn::FindInMap": [
+ "LatestNodeRuntimeMap",
+ {
+ "Ref": "AWS::Region"
+ },
+ "value"
+ ]
+ },
"Description": {
"Fn::Join": [
"",
@@ -370,6 +378,130 @@
]
}
},
+ "Mappings": {
+ "LatestNodeRuntimeMap": {
+ "af-south-1": {
+ "value": "nodejs20.x"
+ },
+ "ap-east-1": {
+ "value": "nodejs20.x"
+ },
+ "ap-northeast-1": {
+ "value": "nodejs20.x"
+ },
+ "ap-northeast-2": {
+ "value": "nodejs20.x"
+ },
+ "ap-northeast-3": {
+ "value": "nodejs20.x"
+ },
+ "ap-south-1": {
+ "value": "nodejs20.x"
+ },
+ "ap-south-2": {
+ "value": "nodejs20.x"
+ },
+ "ap-southeast-1": {
+ "value": "nodejs20.x"
+ },
+ "ap-southeast-2": {
+ "value": "nodejs20.x"
+ },
+ "ap-southeast-3": {
+ "value": "nodejs20.x"
+ },
+ "ap-southeast-4": {
+ "value": "nodejs20.x"
+ },
+ "ap-southeast-5": {
+ "value": "nodejs20.x"
+ },
+ "ap-southeast-7": {
+ "value": "nodejs20.x"
+ },
+ "ca-central-1": {
+ "value": "nodejs20.x"
+ },
+ "ca-west-1": {
+ "value": "nodejs20.x"
+ },
+ "cn-north-1": {
+ "value": "nodejs18.x"
+ },
+ "cn-northwest-1": {
+ "value": "nodejs18.x"
+ },
+ "eu-central-1": {
+ "value": "nodejs20.x"
+ },
+ "eu-central-2": {
+ "value": "nodejs20.x"
+ },
+ "eu-isoe-west-1": {
+ "value": "nodejs18.x"
+ },
+ "eu-north-1": {
+ "value": "nodejs20.x"
+ },
+ "eu-south-1": {
+ "value": "nodejs20.x"
+ },
+ "eu-south-2": {
+ "value": "nodejs20.x"
+ },
+ "eu-west-1": {
+ "value": "nodejs20.x"
+ },
+ "eu-west-2": {
+ "value": "nodejs20.x"
+ },
+ "eu-west-3": {
+ "value": "nodejs20.x"
+ },
+ "il-central-1": {
+ "value": "nodejs20.x"
+ },
+ "me-central-1": {
+ "value": "nodejs20.x"
+ },
+ "me-south-1": {
+ "value": "nodejs20.x"
+ },
+ "mx-central-1": {
+ "value": "nodejs20.x"
+ },
+ "sa-east-1": {
+ "value": "nodejs20.x"
+ },
+ "us-east-1": {
+ "value": "nodejs20.x"
+ },
+ "us-east-2": {
+ "value": "nodejs20.x"
+ },
+ "us-gov-east-1": {
+ "value": "nodejs18.x"
+ },
+ "us-gov-west-1": {
+ "value": "nodejs18.x"
+ },
+ "us-iso-east-1": {
+ "value": "nodejs18.x"
+ },
+ "us-iso-west-1": {
+ "value": "nodejs18.x"
+ },
+ "us-isob-east-1": {
+ "value": "nodejs18.x"
+ },
+ "us-west-1": {
+ "value": "nodejs20.x"
+ },
+ "us-west-2": {
+ "value": "nodejs20.x"
+ }
+ }
+ },
"Parameters": {
"BootstrapVersion": {
"Type": "AWS::SSM::Parameter::Value",
diff --git a/test/integ/ondemand-s3-to-snowflake.integ.snapshot/TestStack.assets.json b/test/integ/ondemand-s3-to-snowflake.integ.snapshot/TestStack.assets.json
index 0e8fc6e2..36aeec6d 100644
--- a/test/integ/ondemand-s3-to-snowflake.integ.snapshot/TestStack.assets.json
+++ b/test/integ/ondemand-s3-to-snowflake.integ.snapshot/TestStack.assets.json
@@ -1,41 +1,41 @@
{
"version": "36.0.0",
"files": {
- "b7f33614a69548d6bafe224d751a7ef238cde19097415e553fe8b63a4c8fd8a6": {
+ "faa95a81ae7d7373f3e1f242268f904eb748d8d0fdd306e8a6fe515a1905a7d6": {
"source": {
- "path": "asset.b7f33614a69548d6bafe224d751a7ef238cde19097415e553fe8b63a4c8fd8a6",
+ "path": "asset.faa95a81ae7d7373f3e1f242268f904eb748d8d0fdd306e8a6fe515a1905a7d6",
"packaging": "zip"
},
"destinations": {
"current_account-current_region": {
"bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}",
- "objectKey": "b7f33614a69548d6bafe224d751a7ef238cde19097415e553fe8b63a4c8fd8a6.zip",
+ "objectKey": "faa95a81ae7d7373f3e1f242268f904eb748d8d0fdd306e8a6fe515a1905a7d6.zip",
"assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}"
}
}
},
- "3fb6287214999ddeafa7cd0e3e58bc5144c8678bb720f3b5e45e8fd32f333eb3": {
+ "3322b7049fb0ed2b7cbb644a2ada8d1116ff80c32dca89e6ada846b5de26f961": {
"source": {
- "path": "asset.3fb6287214999ddeafa7cd0e3e58bc5144c8678bb720f3b5e45e8fd32f333eb3.zip",
+ "path": "asset.3322b7049fb0ed2b7cbb644a2ada8d1116ff80c32dca89e6ada846b5de26f961.zip",
"packaging": "file"
},
"destinations": {
"current_account-current_region": {
"bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}",
- "objectKey": "3fb6287214999ddeafa7cd0e3e58bc5144c8678bb720f3b5e45e8fd32f333eb3.zip",
+ "objectKey": "3322b7049fb0ed2b7cbb644a2ada8d1116ff80c32dca89e6ada846b5de26f961.zip",
"assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}"
}
}
},
- "e976a796f036a5efbf44b99e44cfb5a961df08d8dbf7cd37e60bf216fb982a00": {
+ "0158f40002a8c211635388a87874fd4dcc3d68f525fe08a0fe0f014069ae539c": {
"source": {
- "path": "asset.e976a796f036a5efbf44b99e44cfb5a961df08d8dbf7cd37e60bf216fb982a00",
+ "path": "asset.0158f40002a8c211635388a87874fd4dcc3d68f525fe08a0fe0f014069ae539c",
"packaging": "zip"
},
"destinations": {
"current_account-current_region": {
"bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}",
- "objectKey": "e976a796f036a5efbf44b99e44cfb5a961df08d8dbf7cd37e60bf216fb982a00.zip",
+ "objectKey": "0158f40002a8c211635388a87874fd4dcc3d68f525fe08a0fe0f014069ae539c.zip",
"assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}"
}
}
@@ -53,7 +53,7 @@
}
}
},
- "95e8ce4a546f3d6512ae5d9ecbad91a3b733ee750d900cd891ecb02c5fb39bc2": {
+ "28c3461d55f1a4ad4ce0bb3a3e878a84420bffd5145ad14207446c34c8684cbc": {
"source": {
"path": "TestStack.template.json",
"packaging": "file"
@@ -61,7 +61,7 @@
"destinations": {
"current_account-current_region": {
"bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}",
- "objectKey": "95e8ce4a546f3d6512ae5d9ecbad91a3b733ee750d900cd891ecb02c5fb39bc2.json",
+ "objectKey": "28c3461d55f1a4ad4ce0bb3a3e878a84420bffd5145ad14207446c34c8684cbc.json",
"assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}"
}
}
diff --git a/test/integ/ondemand-s3-to-snowflake.integ.snapshot/TestStack.template.json b/test/integ/ondemand-s3-to-snowflake.integ.snapshot/TestStack.template.json
index f64bde59..feeca69e 100644
--- a/test/integ/ondemand-s3-to-snowflake.integ.snapshot/TestStack.template.json
+++ b/test/integ/ondemand-s3-to-snowflake.integ.snapshot/TestStack.template.json
@@ -156,7 +156,7 @@
"S3Bucket": {
"Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}"
},
- "S3Key": "b7f33614a69548d6bafe224d751a7ef238cde19097415e553fe8b63a4c8fd8a6.zip"
+ "S3Key": "faa95a81ae7d7373f3e1f242268f904eb748d8d0fdd306e8a6fe515a1905a7d6.zip"
},
"Timeout": 900,
"MemorySize": 128,
@@ -167,7 +167,15 @@
"Arn"
]
},
- "Runtime": "nodejs18.x",
+ "Runtime": {
+ "Fn::FindInMap": [
+ "LatestNodeRuntimeMap",
+ {
+ "Ref": "AWS::Region"
+ },
+ "value"
+ ]
+ },
"Description": {
"Fn::Join": [
"",
@@ -192,7 +200,7 @@
"S3Bucket": {
"Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}"
},
- "S3Key": "3fb6287214999ddeafa7cd0e3e58bc5144c8678bb720f3b5e45e8fd32f333eb3.zip"
+ "S3Key": "3322b7049fb0ed2b7cbb644a2ada8d1116ff80c32dca89e6ada846b5de26f961.zip"
},
"Description": "/opt/awscli/aws"
}
@@ -358,7 +366,7 @@
"S3Bucket": {
"Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}"
},
- "S3Key": "e976a796f036a5efbf44b99e44cfb5a961df08d8dbf7cd37e60bf216fb982a00.zip"
+ "S3Key": "0158f40002a8c211635388a87874fd4dcc3d68f525fe08a0fe0f014069ae539c.zip"
},
"Environment": {
"Variables": {
@@ -711,6 +719,130 @@
]
}
},
+ "Mappings": {
+ "LatestNodeRuntimeMap": {
+ "af-south-1": {
+ "value": "nodejs20.x"
+ },
+ "ap-east-1": {
+ "value": "nodejs20.x"
+ },
+ "ap-northeast-1": {
+ "value": "nodejs20.x"
+ },
+ "ap-northeast-2": {
+ "value": "nodejs20.x"
+ },
+ "ap-northeast-3": {
+ "value": "nodejs20.x"
+ },
+ "ap-south-1": {
+ "value": "nodejs20.x"
+ },
+ "ap-south-2": {
+ "value": "nodejs20.x"
+ },
+ "ap-southeast-1": {
+ "value": "nodejs20.x"
+ },
+ "ap-southeast-2": {
+ "value": "nodejs20.x"
+ },
+ "ap-southeast-3": {
+ "value": "nodejs20.x"
+ },
+ "ap-southeast-4": {
+ "value": "nodejs20.x"
+ },
+ "ap-southeast-5": {
+ "value": "nodejs20.x"
+ },
+ "ap-southeast-7": {
+ "value": "nodejs20.x"
+ },
+ "ca-central-1": {
+ "value": "nodejs20.x"
+ },
+ "ca-west-1": {
+ "value": "nodejs20.x"
+ },
+ "cn-north-1": {
+ "value": "nodejs18.x"
+ },
+ "cn-northwest-1": {
+ "value": "nodejs18.x"
+ },
+ "eu-central-1": {
+ "value": "nodejs20.x"
+ },
+ "eu-central-2": {
+ "value": "nodejs20.x"
+ },
+ "eu-isoe-west-1": {
+ "value": "nodejs18.x"
+ },
+ "eu-north-1": {
+ "value": "nodejs20.x"
+ },
+ "eu-south-1": {
+ "value": "nodejs20.x"
+ },
+ "eu-south-2": {
+ "value": "nodejs20.x"
+ },
+ "eu-west-1": {
+ "value": "nodejs20.x"
+ },
+ "eu-west-2": {
+ "value": "nodejs20.x"
+ },
+ "eu-west-3": {
+ "value": "nodejs20.x"
+ },
+ "il-central-1": {
+ "value": "nodejs20.x"
+ },
+ "me-central-1": {
+ "value": "nodejs20.x"
+ },
+ "me-south-1": {
+ "value": "nodejs20.x"
+ },
+ "mx-central-1": {
+ "value": "nodejs20.x"
+ },
+ "sa-east-1": {
+ "value": "nodejs20.x"
+ },
+ "us-east-1": {
+ "value": "nodejs20.x"
+ },
+ "us-east-2": {
+ "value": "nodejs20.x"
+ },
+ "us-gov-east-1": {
+ "value": "nodejs18.x"
+ },
+ "us-gov-west-1": {
+ "value": "nodejs18.x"
+ },
+ "us-iso-east-1": {
+ "value": "nodejs18.x"
+ },
+ "us-iso-west-1": {
+ "value": "nodejs18.x"
+ },
+ "us-isob-east-1": {
+ "value": "nodejs18.x"
+ },
+ "us-west-1": {
+ "value": "nodejs20.x"
+ },
+ "us-west-2": {
+ "value": "nodejs20.x"
+ }
+ }
+ },
"Parameters": {
"BootstrapVersion": {
"Type": "AWS::SSM::Parameter::Value",
diff --git a/test/integ/ondemand-salesforce-to-redshift.integ.snapshot/TestStack.assets.json b/test/integ/ondemand-salesforce-to-redshift.integ.snapshot/TestStack.assets.json
index 4811a185..995f4a8a 100644
--- a/test/integ/ondemand-salesforce-to-redshift.integ.snapshot/TestStack.assets.json
+++ b/test/integ/ondemand-salesforce-to-redshift.integ.snapshot/TestStack.assets.json
@@ -1,15 +1,15 @@
{
"version": "36.0.0",
"files": {
- "b7f33614a69548d6bafe224d751a7ef238cde19097415e553fe8b63a4c8fd8a6": {
+ "faa95a81ae7d7373f3e1f242268f904eb748d8d0fdd306e8a6fe515a1905a7d6": {
"source": {
- "path": "asset.b7f33614a69548d6bafe224d751a7ef238cde19097415e553fe8b63a4c8fd8a6",
+ "path": "asset.faa95a81ae7d7373f3e1f242268f904eb748d8d0fdd306e8a6fe515a1905a7d6",
"packaging": "zip"
},
"destinations": {
"current_account-current_region": {
"bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}",
- "objectKey": "b7f33614a69548d6bafe224d751a7ef238cde19097415e553fe8b63a4c8fd8a6.zip",
+ "objectKey": "faa95a81ae7d7373f3e1f242268f904eb748d8d0fdd306e8a6fe515a1905a7d6.zip",
"assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}"
}
}
@@ -27,33 +27,33 @@
}
}
},
- "7382a0addb9f34974a1ea6c6c9b063882af874828f366f5c93b2b7b64db15c94": {
+ "d9861ea7a45affd23e47a614acb2fddc6e45c20a891284c958187dafbf9ee36b": {
"source": {
- "path": "asset.7382a0addb9f34974a1ea6c6c9b063882af874828f366f5c93b2b7b64db15c94",
+ "path": "asset.d9861ea7a45affd23e47a614acb2fddc6e45c20a891284c958187dafbf9ee36b",
"packaging": "zip"
},
"destinations": {
"current_account-current_region": {
"bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}",
- "objectKey": "7382a0addb9f34974a1ea6c6c9b063882af874828f366f5c93b2b7b64db15c94.zip",
+ "objectKey": "d9861ea7a45affd23e47a614acb2fddc6e45c20a891284c958187dafbf9ee36b.zip",
"assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}"
}
}
},
- "ed6cd104ff5f101d06dae8cb2b87cc6e6d69b9a22055b467ea6cae10ff023023": {
+ "97f30e67419a1676a2215492723e5add1aa491caf0cbe2dd878fc4fab0468cd4": {
"source": {
- "path": "asset.ed6cd104ff5f101d06dae8cb2b87cc6e6d69b9a22055b467ea6cae10ff023023",
+ "path": "asset.97f30e67419a1676a2215492723e5add1aa491caf0cbe2dd878fc4fab0468cd4",
"packaging": "zip"
},
"destinations": {
"current_account-current_region": {
"bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}",
- "objectKey": "ed6cd104ff5f101d06dae8cb2b87cc6e6d69b9a22055b467ea6cae10ff023023.zip",
+ "objectKey": "97f30e67419a1676a2215492723e5add1aa491caf0cbe2dd878fc4fab0468cd4.zip",
"assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}"
}
}
},
- "ad6641ba06a646432fa289b98f36bbe1f87c1aec7d517520d44ab10cb2fd7c30": {
+ "66b90eeb28fb0c4218074216b8bcba8b94052904355a41821980bd1747a31b07": {
"source": {
"path": "TestStack.template.json",
"packaging": "file"
@@ -61,7 +61,7 @@
"destinations": {
"current_account-current_region": {
"bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}",
- "objectKey": "ad6641ba06a646432fa289b98f36bbe1f87c1aec7d517520d44ab10cb2fd7c30.json",
+ "objectKey": "66b90eeb28fb0c4218074216b8bcba8b94052904355a41821980bd1747a31b07.json",
"assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}"
}
}
diff --git a/test/integ/ondemand-salesforce-to-redshift.integ.snapshot/TestStack.template.json b/test/integ/ondemand-salesforce-to-redshift.integ.snapshot/TestStack.template.json
index b75ce5c3..2a169a81 100644
--- a/test/integ/ondemand-salesforce-to-redshift.integ.snapshot/TestStack.template.json
+++ b/test/integ/ondemand-salesforce-to-redshift.integ.snapshot/TestStack.template.json
@@ -218,7 +218,7 @@
"S3Bucket": {
"Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}"
},
- "S3Key": "b7f33614a69548d6bafe224d751a7ef238cde19097415e553fe8b63a4c8fd8a6.zip"
+ "S3Key": "faa95a81ae7d7373f3e1f242268f904eb748d8d0fdd306e8a6fe515a1905a7d6.zip"
},
"Timeout": 900,
"MemorySize": 128,
@@ -229,7 +229,15 @@
"Arn"
]
},
- "Runtime": "nodejs18.x",
+ "Runtime": {
+ "Fn::FindInMap": [
+ "LatestNodeRuntimeMap",
+ {
+ "Ref": "AWS::Region"
+ },
+ "value"
+ ]
+ },
"Description": {
"Fn::Join": [
"",
@@ -825,7 +833,7 @@
"S3Bucket": {
"Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}"
},
- "S3Key": "7382a0addb9f34974a1ea6c6c9b063882af874828f366f5c93b2b7b64db15c94.zip"
+ "S3Key": "d9861ea7a45affd23e47a614acb2fddc6e45c20a891284c958187dafbf9ee36b.zip"
},
"Description": "AWS CDK resource provider framework - onEvent (TestStack/TestTable/Resource/Provider)",
"Environment": {
@@ -845,7 +853,15 @@
"Arn"
]
},
- "Runtime": "nodejs18.x",
+ "Runtime": {
+ "Fn::FindInMap": [
+ "LatestNodeRuntimeMap",
+ {
+ "Ref": "AWS::Region"
+ },
+ "value"
+ ]
+ },
"Timeout": 900
},
"DependsOn": [
@@ -968,7 +984,15 @@
"Arn"
]
},
- "Runtime": "nodejs18.x",
+ "Runtime": {
+ "Fn::FindInMap": [
+ "LatestNodeRuntimeMap",
+ {
+ "Ref": "AWS::Region"
+ },
+ "value"
+ ]
+ },
"Timeout": 60
},
"DependsOn": [
@@ -1237,7 +1261,7 @@
"S3Bucket": {
"Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}"
},
- "S3Key": "ed6cd104ff5f101d06dae8cb2b87cc6e6d69b9a22055b467ea6cae10ff023023.zip"
+ "S3Key": "97f30e67419a1676a2215492723e5add1aa491caf0cbe2dd878fc4fab0468cd4.zip"
},
"Handler": "index.handler",
"Role": {
@@ -1246,7 +1270,15 @@
"Arn"
]
},
- "Runtime": "nodejs18.x",
+ "Runtime": {
+ "Fn::FindInMap": [
+ "LatestNodeRuntimeMap",
+ {
+ "Ref": "AWS::Region"
+ },
+ "value"
+ ]
+ },
"Timeout": 120
},
"DependsOn": [
@@ -1473,6 +1505,130 @@
]
}
},
+ "Mappings": {
+ "LatestNodeRuntimeMap": {
+ "af-south-1": {
+ "value": "nodejs20.x"
+ },
+ "ap-east-1": {
+ "value": "nodejs20.x"
+ },
+ "ap-northeast-1": {
+ "value": "nodejs20.x"
+ },
+ "ap-northeast-2": {
+ "value": "nodejs20.x"
+ },
+ "ap-northeast-3": {
+ "value": "nodejs20.x"
+ },
+ "ap-south-1": {
+ "value": "nodejs20.x"
+ },
+ "ap-south-2": {
+ "value": "nodejs20.x"
+ },
+ "ap-southeast-1": {
+ "value": "nodejs20.x"
+ },
+ "ap-southeast-2": {
+ "value": "nodejs20.x"
+ },
+ "ap-southeast-3": {
+ "value": "nodejs20.x"
+ },
+ "ap-southeast-4": {
+ "value": "nodejs20.x"
+ },
+ "ap-southeast-5": {
+ "value": "nodejs20.x"
+ },
+ "ap-southeast-7": {
+ "value": "nodejs20.x"
+ },
+ "ca-central-1": {
+ "value": "nodejs20.x"
+ },
+ "ca-west-1": {
+ "value": "nodejs20.x"
+ },
+ "cn-north-1": {
+ "value": "nodejs18.x"
+ },
+ "cn-northwest-1": {
+ "value": "nodejs18.x"
+ },
+ "eu-central-1": {
+ "value": "nodejs20.x"
+ },
+ "eu-central-2": {
+ "value": "nodejs20.x"
+ },
+ "eu-isoe-west-1": {
+ "value": "nodejs18.x"
+ },
+ "eu-north-1": {
+ "value": "nodejs20.x"
+ },
+ "eu-south-1": {
+ "value": "nodejs20.x"
+ },
+ "eu-south-2": {
+ "value": "nodejs20.x"
+ },
+ "eu-west-1": {
+ "value": "nodejs20.x"
+ },
+ "eu-west-2": {
+ "value": "nodejs20.x"
+ },
+ "eu-west-3": {
+ "value": "nodejs20.x"
+ },
+ "il-central-1": {
+ "value": "nodejs20.x"
+ },
+ "me-central-1": {
+ "value": "nodejs20.x"
+ },
+ "me-south-1": {
+ "value": "nodejs20.x"
+ },
+ "mx-central-1": {
+ "value": "nodejs20.x"
+ },
+ "sa-east-1": {
+ "value": "nodejs20.x"
+ },
+ "us-east-1": {
+ "value": "nodejs20.x"
+ },
+ "us-east-2": {
+ "value": "nodejs20.x"
+ },
+ "us-gov-east-1": {
+ "value": "nodejs18.x"
+ },
+ "us-gov-west-1": {
+ "value": "nodejs18.x"
+ },
+ "us-iso-east-1": {
+ "value": "nodejs18.x"
+ },
+ "us-iso-west-1": {
+ "value": "nodejs18.x"
+ },
+ "us-isob-east-1": {
+ "value": "nodejs18.x"
+ },
+ "us-west-1": {
+ "value": "nodejs20.x"
+ },
+ "us-west-2": {
+ "value": "nodejs20.x"
+ }
+ }
+ },
"Parameters": {
"BootstrapVersion": {
"Type": "AWS::SSM::Parameter::Value",
diff --git a/test/integ/ondemand-salesforce-to-s3.integ.snapshot/TestStack.assets.json b/test/integ/ondemand-salesforce-to-s3.integ.snapshot/TestStack.assets.json
index 205f1cf7..170ba1c8 100644
--- a/test/integ/ondemand-salesforce-to-s3.integ.snapshot/TestStack.assets.json
+++ b/test/integ/ondemand-salesforce-to-s3.integ.snapshot/TestStack.assets.json
@@ -1,20 +1,20 @@
{
"version": "36.0.0",
"files": {
- "b7f33614a69548d6bafe224d751a7ef238cde19097415e553fe8b63a4c8fd8a6": {
+ "faa95a81ae7d7373f3e1f242268f904eb748d8d0fdd306e8a6fe515a1905a7d6": {
"source": {
- "path": "asset.b7f33614a69548d6bafe224d751a7ef238cde19097415e553fe8b63a4c8fd8a6",
+ "path": "asset.faa95a81ae7d7373f3e1f242268f904eb748d8d0fdd306e8a6fe515a1905a7d6",
"packaging": "zip"
},
"destinations": {
"current_account-current_region": {
"bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}",
- "objectKey": "b7f33614a69548d6bafe224d751a7ef238cde19097415e553fe8b63a4c8fd8a6.zip",
+ "objectKey": "faa95a81ae7d7373f3e1f242268f904eb748d8d0fdd306e8a6fe515a1905a7d6.zip",
"assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}"
}
}
},
- "748cc2c3d57a4902c33bb1f3352cdc31a77c9dc4124fc89225d0e8632aee6779": {
+ "d7dd40c8f35d1faa379c9b865827bc504b760f92640ac78c67acbb4c6e5db6b7": {
"source": {
"path": "TestStack.template.json",
"packaging": "file"
@@ -22,7 +22,7 @@
"destinations": {
"current_account-current_region": {
"bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}",
- "objectKey": "748cc2c3d57a4902c33bb1f3352cdc31a77c9dc4124fc89225d0e8632aee6779.json",
+ "objectKey": "d7dd40c8f35d1faa379c9b865827bc504b760f92640ac78c67acbb4c6e5db6b7.json",
"assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}"
}
}
diff --git a/test/integ/ondemand-salesforce-to-s3.integ.snapshot/TestStack.template.json b/test/integ/ondemand-salesforce-to-s3.integ.snapshot/TestStack.template.json
index bf46ada7..94d81060 100644
--- a/test/integ/ondemand-salesforce-to-s3.integ.snapshot/TestStack.template.json
+++ b/test/integ/ondemand-salesforce-to-s3.integ.snapshot/TestStack.template.json
@@ -236,7 +236,7 @@
"S3Bucket": {
"Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}"
},
- "S3Key": "b7f33614a69548d6bafe224d751a7ef238cde19097415e553fe8b63a4c8fd8a6.zip"
+ "S3Key": "faa95a81ae7d7373f3e1f242268f904eb748d8d0fdd306e8a6fe515a1905a7d6.zip"
},
"Timeout": 900,
"MemorySize": 128,
@@ -247,7 +247,15 @@
"Arn"
]
},
- "Runtime": "nodejs18.x",
+ "Runtime": {
+ "Fn::FindInMap": [
+ "LatestNodeRuntimeMap",
+ {
+ "Ref": "AWS::Region"
+ },
+ "value"
+ ]
+ },
"Description": {
"Fn::Join": [
"",
@@ -450,6 +458,130 @@
}
}
},
+ "Mappings": {
+ "LatestNodeRuntimeMap": {
+ "af-south-1": {
+ "value": "nodejs20.x"
+ },
+ "ap-east-1": {
+ "value": "nodejs20.x"
+ },
+ "ap-northeast-1": {
+ "value": "nodejs20.x"
+ },
+ "ap-northeast-2": {
+ "value": "nodejs20.x"
+ },
+ "ap-northeast-3": {
+ "value": "nodejs20.x"
+ },
+ "ap-south-1": {
+ "value": "nodejs20.x"
+ },
+ "ap-south-2": {
+ "value": "nodejs20.x"
+ },
+ "ap-southeast-1": {
+ "value": "nodejs20.x"
+ },
+ "ap-southeast-2": {
+ "value": "nodejs20.x"
+ },
+ "ap-southeast-3": {
+ "value": "nodejs20.x"
+ },
+ "ap-southeast-4": {
+ "value": "nodejs20.x"
+ },
+ "ap-southeast-5": {
+ "value": "nodejs20.x"
+ },
+ "ap-southeast-7": {
+ "value": "nodejs20.x"
+ },
+ "ca-central-1": {
+ "value": "nodejs20.x"
+ },
+ "ca-west-1": {
+ "value": "nodejs20.x"
+ },
+ "cn-north-1": {
+ "value": "nodejs18.x"
+ },
+ "cn-northwest-1": {
+ "value": "nodejs18.x"
+ },
+ "eu-central-1": {
+ "value": "nodejs20.x"
+ },
+ "eu-central-2": {
+ "value": "nodejs20.x"
+ },
+ "eu-isoe-west-1": {
+ "value": "nodejs18.x"
+ },
+ "eu-north-1": {
+ "value": "nodejs20.x"
+ },
+ "eu-south-1": {
+ "value": "nodejs20.x"
+ },
+ "eu-south-2": {
+ "value": "nodejs20.x"
+ },
+ "eu-west-1": {
+ "value": "nodejs20.x"
+ },
+ "eu-west-2": {
+ "value": "nodejs20.x"
+ },
+ "eu-west-3": {
+ "value": "nodejs20.x"
+ },
+ "il-central-1": {
+ "value": "nodejs20.x"
+ },
+ "me-central-1": {
+ "value": "nodejs20.x"
+ },
+ "me-south-1": {
+ "value": "nodejs20.x"
+ },
+ "mx-central-1": {
+ "value": "nodejs20.x"
+ },
+ "sa-east-1": {
+ "value": "nodejs20.x"
+ },
+ "us-east-1": {
+ "value": "nodejs20.x"
+ },
+ "us-east-2": {
+ "value": "nodejs20.x"
+ },
+ "us-gov-east-1": {
+ "value": "nodejs18.x"
+ },
+ "us-gov-west-1": {
+ "value": "nodejs18.x"
+ },
+ "us-iso-east-1": {
+ "value": "nodejs18.x"
+ },
+ "us-iso-west-1": {
+ "value": "nodejs18.x"
+ },
+ "us-isob-east-1": {
+ "value": "nodejs18.x"
+ },
+ "us-west-1": {
+ "value": "nodejs20.x"
+ },
+ "us-west-2": {
+ "value": "nodejs20.x"
+ }
+ }
+ },
"Parameters": {
"BootstrapVersion": {
"Type": "AWS::SSM::Parameter::Value",
diff --git a/test/integ/ondemand-sapodata-to-s3.integ.snapshot/TestStack.assets.json b/test/integ/ondemand-sapodata-to-s3.integ.snapshot/TestStack.assets.json
index 9b73ea5e..6beba03f 100644
--- a/test/integ/ondemand-sapodata-to-s3.integ.snapshot/TestStack.assets.json
+++ b/test/integ/ondemand-sapodata-to-s3.integ.snapshot/TestStack.assets.json
@@ -1,20 +1,20 @@
{
"version": "36.0.0",
"files": {
- "b7f33614a69548d6bafe224d751a7ef238cde19097415e553fe8b63a4c8fd8a6": {
+ "faa95a81ae7d7373f3e1f242268f904eb748d8d0fdd306e8a6fe515a1905a7d6": {
"source": {
- "path": "asset.b7f33614a69548d6bafe224d751a7ef238cde19097415e553fe8b63a4c8fd8a6",
+ "path": "asset.faa95a81ae7d7373f3e1f242268f904eb748d8d0fdd306e8a6fe515a1905a7d6",
"packaging": "zip"
},
"destinations": {
"current_account-current_region": {
"bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}",
- "objectKey": "b7f33614a69548d6bafe224d751a7ef238cde19097415e553fe8b63a4c8fd8a6.zip",
+ "objectKey": "faa95a81ae7d7373f3e1f242268f904eb748d8d0fdd306e8a6fe515a1905a7d6.zip",
"assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}"
}
}
},
- "c4821d8564fc871b9aaaf002f65f53d8a120316b55096ae3c0efde62a02853e2": {
+ "451c09a79a7447bfd2abfb39793cae3d7fa286610e4ebadfc8d0ab3f30f9cecf": {
"source": {
"path": "TestStack.template.json",
"packaging": "file"
@@ -22,7 +22,7 @@
"destinations": {
"current_account-current_region": {
"bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}",
- "objectKey": "c4821d8564fc871b9aaaf002f65f53d8a120316b55096ae3c0efde62a02853e2.json",
+ "objectKey": "451c09a79a7447bfd2abfb39793cae3d7fa286610e4ebadfc8d0ab3f30f9cecf.json",
"assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}"
}
}
diff --git a/test/integ/ondemand-sapodata-to-s3.integ.snapshot/TestStack.template.json b/test/integ/ondemand-sapodata-to-s3.integ.snapshot/TestStack.template.json
index 1958f4d1..ef3a0165 100644
--- a/test/integ/ondemand-sapodata-to-s3.integ.snapshot/TestStack.template.json
+++ b/test/integ/ondemand-sapodata-to-s3.integ.snapshot/TestStack.template.json
@@ -316,7 +316,7 @@
"S3Bucket": {
"Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}"
},
- "S3Key": "b7f33614a69548d6bafe224d751a7ef238cde19097415e553fe8b63a4c8fd8a6.zip"
+ "S3Key": "faa95a81ae7d7373f3e1f242268f904eb748d8d0fdd306e8a6fe515a1905a7d6.zip"
},
"Timeout": 900,
"MemorySize": 128,
@@ -327,7 +327,15 @@
"Arn"
]
},
- "Runtime": "nodejs18.x",
+ "Runtime": {
+ "Fn::FindInMap": [
+ "LatestNodeRuntimeMap",
+ {
+ "Ref": "AWS::Region"
+ },
+ "value"
+ ]
+ },
"Description": {
"Fn::Join": [
"",
@@ -416,6 +424,130 @@
]
}
},
+ "Mappings": {
+ "LatestNodeRuntimeMap": {
+ "af-south-1": {
+ "value": "nodejs20.x"
+ },
+ "ap-east-1": {
+ "value": "nodejs20.x"
+ },
+ "ap-northeast-1": {
+ "value": "nodejs20.x"
+ },
+ "ap-northeast-2": {
+ "value": "nodejs20.x"
+ },
+ "ap-northeast-3": {
+ "value": "nodejs20.x"
+ },
+ "ap-south-1": {
+ "value": "nodejs20.x"
+ },
+ "ap-south-2": {
+ "value": "nodejs20.x"
+ },
+ "ap-southeast-1": {
+ "value": "nodejs20.x"
+ },
+ "ap-southeast-2": {
+ "value": "nodejs20.x"
+ },
+ "ap-southeast-3": {
+ "value": "nodejs20.x"
+ },
+ "ap-southeast-4": {
+ "value": "nodejs20.x"
+ },
+ "ap-southeast-5": {
+ "value": "nodejs20.x"
+ },
+ "ap-southeast-7": {
+ "value": "nodejs20.x"
+ },
+ "ca-central-1": {
+ "value": "nodejs20.x"
+ },
+ "ca-west-1": {
+ "value": "nodejs20.x"
+ },
+ "cn-north-1": {
+ "value": "nodejs18.x"
+ },
+ "cn-northwest-1": {
+ "value": "nodejs18.x"
+ },
+ "eu-central-1": {
+ "value": "nodejs20.x"
+ },
+ "eu-central-2": {
+ "value": "nodejs20.x"
+ },
+ "eu-isoe-west-1": {
+ "value": "nodejs18.x"
+ },
+ "eu-north-1": {
+ "value": "nodejs20.x"
+ },
+ "eu-south-1": {
+ "value": "nodejs20.x"
+ },
+ "eu-south-2": {
+ "value": "nodejs20.x"
+ },
+ "eu-west-1": {
+ "value": "nodejs20.x"
+ },
+ "eu-west-2": {
+ "value": "nodejs20.x"
+ },
+ "eu-west-3": {
+ "value": "nodejs20.x"
+ },
+ "il-central-1": {
+ "value": "nodejs20.x"
+ },
+ "me-central-1": {
+ "value": "nodejs20.x"
+ },
+ "me-south-1": {
+ "value": "nodejs20.x"
+ },
+ "mx-central-1": {
+ "value": "nodejs20.x"
+ },
+ "sa-east-1": {
+ "value": "nodejs20.x"
+ },
+ "us-east-1": {
+ "value": "nodejs20.x"
+ },
+ "us-east-2": {
+ "value": "nodejs20.x"
+ },
+ "us-gov-east-1": {
+ "value": "nodejs18.x"
+ },
+ "us-gov-west-1": {
+ "value": "nodejs18.x"
+ },
+ "us-iso-east-1": {
+ "value": "nodejs18.x"
+ },
+ "us-iso-west-1": {
+ "value": "nodejs18.x"
+ },
+ "us-isob-east-1": {
+ "value": "nodejs18.x"
+ },
+ "us-west-1": {
+ "value": "nodejs20.x"
+ },
+ "us-west-2": {
+ "value": "nodejs20.x"
+ }
+ }
+ },
"Parameters": {
"BootstrapVersion": {
"Type": "AWS::SSM::Parameter::Value",
diff --git a/test/integ/ondemand-slack-to-s3.integ.snapshot/TestStack.assets.json b/test/integ/ondemand-slack-to-s3.integ.snapshot/TestStack.assets.json
index c6d3fb37..07f36ece 100644
--- a/test/integ/ondemand-slack-to-s3.integ.snapshot/TestStack.assets.json
+++ b/test/integ/ondemand-slack-to-s3.integ.snapshot/TestStack.assets.json
@@ -1,20 +1,20 @@
{
"version": "36.0.0",
"files": {
- "b7f33614a69548d6bafe224d751a7ef238cde19097415e553fe8b63a4c8fd8a6": {
+ "faa95a81ae7d7373f3e1f242268f904eb748d8d0fdd306e8a6fe515a1905a7d6": {
"source": {
- "path": "asset.b7f33614a69548d6bafe224d751a7ef238cde19097415e553fe8b63a4c8fd8a6",
+ "path": "asset.faa95a81ae7d7373f3e1f242268f904eb748d8d0fdd306e8a6fe515a1905a7d6",
"packaging": "zip"
},
"destinations": {
"current_account-current_region": {
"bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}",
- "objectKey": "b7f33614a69548d6bafe224d751a7ef238cde19097415e553fe8b63a4c8fd8a6.zip",
+ "objectKey": "faa95a81ae7d7373f3e1f242268f904eb748d8d0fdd306e8a6fe515a1905a7d6.zip",
"assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}"
}
}
},
- "a4eb809da1c2bd505a450f6717f859993a6c3baa5b5013b0b9c61d6e169b64de": {
+ "b102a1c737a4f30648645a4b0d8713c824fdb507298da5e4ad3ee7b3e9681320": {
"source": {
"path": "TestStack.template.json",
"packaging": "file"
@@ -22,7 +22,7 @@
"destinations": {
"current_account-current_region": {
"bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}",
- "objectKey": "a4eb809da1c2bd505a450f6717f859993a6c3baa5b5013b0b9c61d6e169b64de.json",
+ "objectKey": "b102a1c737a4f30648645a4b0d8713c824fdb507298da5e4ad3ee7b3e9681320.json",
"assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}"
}
}
diff --git a/test/integ/ondemand-slack-to-s3.integ.snapshot/TestStack.template.json b/test/integ/ondemand-slack-to-s3.integ.snapshot/TestStack.template.json
index 9185456b..4e336482 100644
--- a/test/integ/ondemand-slack-to-s3.integ.snapshot/TestStack.template.json
+++ b/test/integ/ondemand-slack-to-s3.integ.snapshot/TestStack.template.json
@@ -216,7 +216,7 @@
"S3Bucket": {
"Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}"
},
- "S3Key": "b7f33614a69548d6bafe224d751a7ef238cde19097415e553fe8b63a4c8fd8a6.zip"
+ "S3Key": "faa95a81ae7d7373f3e1f242268f904eb748d8d0fdd306e8a6fe515a1905a7d6.zip"
},
"Timeout": 900,
"MemorySize": 128,
@@ -227,7 +227,15 @@
"Arn"
]
},
- "Runtime": "nodejs18.x",
+ "Runtime": {
+ "Fn::FindInMap": [
+ "LatestNodeRuntimeMap",
+ {
+ "Ref": "AWS::Region"
+ },
+ "value"
+ ]
+ },
"Description": {
"Fn::Join": [
"",
@@ -316,6 +324,130 @@
]
}
},
+ "Mappings": {
+ "LatestNodeRuntimeMap": {
+ "af-south-1": {
+ "value": "nodejs20.x"
+ },
+ "ap-east-1": {
+ "value": "nodejs20.x"
+ },
+ "ap-northeast-1": {
+ "value": "nodejs20.x"
+ },
+ "ap-northeast-2": {
+ "value": "nodejs20.x"
+ },
+ "ap-northeast-3": {
+ "value": "nodejs20.x"
+ },
+ "ap-south-1": {
+ "value": "nodejs20.x"
+ },
+ "ap-south-2": {
+ "value": "nodejs20.x"
+ },
+ "ap-southeast-1": {
+ "value": "nodejs20.x"
+ },
+ "ap-southeast-2": {
+ "value": "nodejs20.x"
+ },
+ "ap-southeast-3": {
+ "value": "nodejs20.x"
+ },
+ "ap-southeast-4": {
+ "value": "nodejs20.x"
+ },
+ "ap-southeast-5": {
+ "value": "nodejs20.x"
+ },
+ "ap-southeast-7": {
+ "value": "nodejs20.x"
+ },
+ "ca-central-1": {
+ "value": "nodejs20.x"
+ },
+ "ca-west-1": {
+ "value": "nodejs20.x"
+ },
+ "cn-north-1": {
+ "value": "nodejs18.x"
+ },
+ "cn-northwest-1": {
+ "value": "nodejs18.x"
+ },
+ "eu-central-1": {
+ "value": "nodejs20.x"
+ },
+ "eu-central-2": {
+ "value": "nodejs20.x"
+ },
+ "eu-isoe-west-1": {
+ "value": "nodejs18.x"
+ },
+ "eu-north-1": {
+ "value": "nodejs20.x"
+ },
+ "eu-south-1": {
+ "value": "nodejs20.x"
+ },
+ "eu-south-2": {
+ "value": "nodejs20.x"
+ },
+ "eu-west-1": {
+ "value": "nodejs20.x"
+ },
+ "eu-west-2": {
+ "value": "nodejs20.x"
+ },
+ "eu-west-3": {
+ "value": "nodejs20.x"
+ },
+ "il-central-1": {
+ "value": "nodejs20.x"
+ },
+ "me-central-1": {
+ "value": "nodejs20.x"
+ },
+ "me-south-1": {
+ "value": "nodejs20.x"
+ },
+ "mx-central-1": {
+ "value": "nodejs20.x"
+ },
+ "sa-east-1": {
+ "value": "nodejs20.x"
+ },
+ "us-east-1": {
+ "value": "nodejs20.x"
+ },
+ "us-east-2": {
+ "value": "nodejs20.x"
+ },
+ "us-gov-east-1": {
+ "value": "nodejs18.x"
+ },
+ "us-gov-west-1": {
+ "value": "nodejs18.x"
+ },
+ "us-iso-east-1": {
+ "value": "nodejs18.x"
+ },
+ "us-iso-west-1": {
+ "value": "nodejs18.x"
+ },
+ "us-isob-east-1": {
+ "value": "nodejs18.x"
+ },
+ "us-west-1": {
+ "value": "nodejs20.x"
+ },
+ "us-west-2": {
+ "value": "nodejs20.x"
+ }
+ }
+ },
"Parameters": {
"BootstrapVersion": {
"Type": "AWS::SSM::Parameter::Value",
diff --git a/test/integ/onevent-salesforce-to-eventbridge.integ.snapshot/TestStack.assets.json b/test/integ/onevent-salesforce-to-eventbridge.integ.snapshot/TestStack.assets.json
index a662d522..985e7ff8 100644
--- a/test/integ/onevent-salesforce-to-eventbridge.integ.snapshot/TestStack.assets.json
+++ b/test/integ/onevent-salesforce-to-eventbridge.integ.snapshot/TestStack.assets.json
@@ -1,20 +1,20 @@
{
"version": "36.0.0",
"files": {
- "b7f33614a69548d6bafe224d751a7ef238cde19097415e553fe8b63a4c8fd8a6": {
+ "faa95a81ae7d7373f3e1f242268f904eb748d8d0fdd306e8a6fe515a1905a7d6": {
"source": {
- "path": "asset.b7f33614a69548d6bafe224d751a7ef238cde19097415e553fe8b63a4c8fd8a6",
+ "path": "asset.faa95a81ae7d7373f3e1f242268f904eb748d8d0fdd306e8a6fe515a1905a7d6",
"packaging": "zip"
},
"destinations": {
"current_account-current_region": {
"bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}",
- "objectKey": "b7f33614a69548d6bafe224d751a7ef238cde19097415e553fe8b63a4c8fd8a6.zip",
+ "objectKey": "faa95a81ae7d7373f3e1f242268f904eb748d8d0fdd306e8a6fe515a1905a7d6.zip",
"assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}"
}
}
},
- "f2f3f4e331388c278eb61f8769664264ff8cd03b4d9efadabc7b1715e2ec1933": {
+ "90975efa167a1d190e887698a5721b8dc65836c21f81f5831d728c668fba2f03": {
"source": {
"path": "TestStack.template.json",
"packaging": "file"
@@ -22,7 +22,7 @@
"destinations": {
"current_account-current_region": {
"bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}",
- "objectKey": "f2f3f4e331388c278eb61f8769664264ff8cd03b4d9efadabc7b1715e2ec1933.json",
+ "objectKey": "90975efa167a1d190e887698a5721b8dc65836c21f81f5831d728c668fba2f03.json",
"assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}"
}
}
diff --git a/test/integ/onevent-salesforce-to-eventbridge.integ.snapshot/TestStack.template.json b/test/integ/onevent-salesforce-to-eventbridge.integ.snapshot/TestStack.template.json
index fbd747c2..de9ca984 100644
--- a/test/integ/onevent-salesforce-to-eventbridge.integ.snapshot/TestStack.template.json
+++ b/test/integ/onevent-salesforce-to-eventbridge.integ.snapshot/TestStack.template.json
@@ -236,7 +236,7 @@
"S3Bucket": {
"Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}"
},
- "S3Key": "b7f33614a69548d6bafe224d751a7ef238cde19097415e553fe8b63a4c8fd8a6.zip"
+ "S3Key": "faa95a81ae7d7373f3e1f242268f904eb748d8d0fdd306e8a6fe515a1905a7d6.zip"
},
"Timeout": 900,
"MemorySize": 128,
@@ -247,7 +247,15 @@
"Arn"
]
},
- "Runtime": "nodejs18.x",
+ "Runtime": {
+ "Fn::FindInMap": [
+ "LatestNodeRuntimeMap",
+ {
+ "Ref": "AWS::Region"
+ },
+ "value"
+ ]
+ },
"Description": {
"Fn::Join": [
"",
@@ -359,6 +367,130 @@
]
}
},
+ "Mappings": {
+ "LatestNodeRuntimeMap": {
+ "af-south-1": {
+ "value": "nodejs20.x"
+ },
+ "ap-east-1": {
+ "value": "nodejs20.x"
+ },
+ "ap-northeast-1": {
+ "value": "nodejs20.x"
+ },
+ "ap-northeast-2": {
+ "value": "nodejs20.x"
+ },
+ "ap-northeast-3": {
+ "value": "nodejs20.x"
+ },
+ "ap-south-1": {
+ "value": "nodejs20.x"
+ },
+ "ap-south-2": {
+ "value": "nodejs20.x"
+ },
+ "ap-southeast-1": {
+ "value": "nodejs20.x"
+ },
+ "ap-southeast-2": {
+ "value": "nodejs20.x"
+ },
+ "ap-southeast-3": {
+ "value": "nodejs20.x"
+ },
+ "ap-southeast-4": {
+ "value": "nodejs20.x"
+ },
+ "ap-southeast-5": {
+ "value": "nodejs20.x"
+ },
+ "ap-southeast-7": {
+ "value": "nodejs20.x"
+ },
+ "ca-central-1": {
+ "value": "nodejs20.x"
+ },
+ "ca-west-1": {
+ "value": "nodejs20.x"
+ },
+ "cn-north-1": {
+ "value": "nodejs18.x"
+ },
+ "cn-northwest-1": {
+ "value": "nodejs18.x"
+ },
+ "eu-central-1": {
+ "value": "nodejs20.x"
+ },
+ "eu-central-2": {
+ "value": "nodejs20.x"
+ },
+ "eu-isoe-west-1": {
+ "value": "nodejs18.x"
+ },
+ "eu-north-1": {
+ "value": "nodejs20.x"
+ },
+ "eu-south-1": {
+ "value": "nodejs20.x"
+ },
+ "eu-south-2": {
+ "value": "nodejs20.x"
+ },
+ "eu-west-1": {
+ "value": "nodejs20.x"
+ },
+ "eu-west-2": {
+ "value": "nodejs20.x"
+ },
+ "eu-west-3": {
+ "value": "nodejs20.x"
+ },
+ "il-central-1": {
+ "value": "nodejs20.x"
+ },
+ "me-central-1": {
+ "value": "nodejs20.x"
+ },
+ "me-south-1": {
+ "value": "nodejs20.x"
+ },
+ "mx-central-1": {
+ "value": "nodejs20.x"
+ },
+ "sa-east-1": {
+ "value": "nodejs20.x"
+ },
+ "us-east-1": {
+ "value": "nodejs20.x"
+ },
+ "us-east-2": {
+ "value": "nodejs20.x"
+ },
+ "us-gov-east-1": {
+ "value": "nodejs18.x"
+ },
+ "us-gov-west-1": {
+ "value": "nodejs18.x"
+ },
+ "us-iso-east-1": {
+ "value": "nodejs18.x"
+ },
+ "us-iso-west-1": {
+ "value": "nodejs18.x"
+ },
+ "us-isob-east-1": {
+ "value": "nodejs18.x"
+ },
+ "us-west-1": {
+ "value": "nodejs20.x"
+ },
+ "us-west-2": {
+ "value": "nodejs20.x"
+ }
+ }
+ },
"Parameters": {
"BootstrapVersion": {
"Type": "AWS::SSM::Parameter::Value",
diff --git a/test/integ/onschedule-s3-to-salesforce.integ.snapshot/TestStack.assets.json b/test/integ/onschedule-s3-to-salesforce.integ.snapshot/TestStack.assets.json
index 10af13c6..fdf2cea0 100644
--- a/test/integ/onschedule-s3-to-salesforce.integ.snapshot/TestStack.assets.json
+++ b/test/integ/onschedule-s3-to-salesforce.integ.snapshot/TestStack.assets.json
@@ -1,41 +1,41 @@
{
"version": "36.0.0",
"files": {
- "b7f33614a69548d6bafe224d751a7ef238cde19097415e553fe8b63a4c8fd8a6": {
+ "faa95a81ae7d7373f3e1f242268f904eb748d8d0fdd306e8a6fe515a1905a7d6": {
"source": {
- "path": "asset.b7f33614a69548d6bafe224d751a7ef238cde19097415e553fe8b63a4c8fd8a6",
+ "path": "asset.faa95a81ae7d7373f3e1f242268f904eb748d8d0fdd306e8a6fe515a1905a7d6",
"packaging": "zip"
},
"destinations": {
"current_account-current_region": {
"bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}",
- "objectKey": "b7f33614a69548d6bafe224d751a7ef238cde19097415e553fe8b63a4c8fd8a6.zip",
+ "objectKey": "faa95a81ae7d7373f3e1f242268f904eb748d8d0fdd306e8a6fe515a1905a7d6.zip",
"assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}"
}
}
},
- "3fb6287214999ddeafa7cd0e3e58bc5144c8678bb720f3b5e45e8fd32f333eb3": {
+ "3322b7049fb0ed2b7cbb644a2ada8d1116ff80c32dca89e6ada846b5de26f961": {
"source": {
- "path": "asset.3fb6287214999ddeafa7cd0e3e58bc5144c8678bb720f3b5e45e8fd32f333eb3.zip",
+ "path": "asset.3322b7049fb0ed2b7cbb644a2ada8d1116ff80c32dca89e6ada846b5de26f961.zip",
"packaging": "file"
},
"destinations": {
"current_account-current_region": {
"bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}",
- "objectKey": "3fb6287214999ddeafa7cd0e3e58bc5144c8678bb720f3b5e45e8fd32f333eb3.zip",
+ "objectKey": "3322b7049fb0ed2b7cbb644a2ada8d1116ff80c32dca89e6ada846b5de26f961.zip",
"assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}"
}
}
},
- "e976a796f036a5efbf44b99e44cfb5a961df08d8dbf7cd37e60bf216fb982a00": {
+ "0158f40002a8c211635388a87874fd4dcc3d68f525fe08a0fe0f014069ae539c": {
"source": {
- "path": "asset.e976a796f036a5efbf44b99e44cfb5a961df08d8dbf7cd37e60bf216fb982a00",
+ "path": "asset.0158f40002a8c211635388a87874fd4dcc3d68f525fe08a0fe0f014069ae539c",
"packaging": "zip"
},
"destinations": {
"current_account-current_region": {
"bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}",
- "objectKey": "e976a796f036a5efbf44b99e44cfb5a961df08d8dbf7cd37e60bf216fb982a00.zip",
+ "objectKey": "0158f40002a8c211635388a87874fd4dcc3d68f525fe08a0fe0f014069ae539c.zip",
"assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}"
}
}
@@ -66,20 +66,20 @@
}
}
},
- "7382a0addb9f34974a1ea6c6c9b063882af874828f366f5c93b2b7b64db15c94": {
+ "d9861ea7a45affd23e47a614acb2fddc6e45c20a891284c958187dafbf9ee36b": {
"source": {
- "path": "asset.7382a0addb9f34974a1ea6c6c9b063882af874828f366f5c93b2b7b64db15c94",
+ "path": "asset.d9861ea7a45affd23e47a614acb2fddc6e45c20a891284c958187dafbf9ee36b",
"packaging": "zip"
},
"destinations": {
"current_account-current_region": {
"bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}",
- "objectKey": "7382a0addb9f34974a1ea6c6c9b063882af874828f366f5c93b2b7b64db15c94.zip",
+ "objectKey": "d9861ea7a45affd23e47a614acb2fddc6e45c20a891284c958187dafbf9ee36b.zip",
"assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}"
}
}
},
- "0c137355a8cc43952221ec33107bd9a4227440a32cb15451bc70a1bc0da92e3e": {
+ "c9f6e81561215d9eae6c8e6f0395f27db16bb2ce93637900589fdc9aa1dc25ba": {
"source": {
"path": "TestStack.template.json",
"packaging": "file"
@@ -87,7 +87,7 @@
"destinations": {
"current_account-current_region": {
"bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}",
- "objectKey": "0c137355a8cc43952221ec33107bd9a4227440a32cb15451bc70a1bc0da92e3e.json",
+ "objectKey": "c9f6e81561215d9eae6c8e6f0395f27db16bb2ce93637900589fdc9aa1dc25ba.json",
"assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}"
}
}
diff --git a/test/integ/onschedule-s3-to-salesforce.integ.snapshot/TestStack.template.json b/test/integ/onschedule-s3-to-salesforce.integ.snapshot/TestStack.template.json
index 4fad729e..c3d4e8e3 100644
--- a/test/integ/onschedule-s3-to-salesforce.integ.snapshot/TestStack.template.json
+++ b/test/integ/onschedule-s3-to-salesforce.integ.snapshot/TestStack.template.json
@@ -156,7 +156,7 @@
"S3Bucket": {
"Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}"
},
- "S3Key": "b7f33614a69548d6bafe224d751a7ef238cde19097415e553fe8b63a4c8fd8a6.zip"
+ "S3Key": "faa95a81ae7d7373f3e1f242268f904eb748d8d0fdd306e8a6fe515a1905a7d6.zip"
},
"Timeout": 900,
"MemorySize": 128,
@@ -167,7 +167,15 @@
"Arn"
]
},
- "Runtime": "nodejs18.x",
+ "Runtime": {
+ "Fn::FindInMap": [
+ "LatestNodeRuntimeMap",
+ {
+ "Ref": "AWS::Region"
+ },
+ "value"
+ ]
+ },
"Description": {
"Fn::Join": [
"",
@@ -192,7 +200,7 @@
"S3Bucket": {
"Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}"
},
- "S3Key": "3fb6287214999ddeafa7cd0e3e58bc5144c8678bb720f3b5e45e8fd32f333eb3.zip"
+ "S3Key": "3322b7049fb0ed2b7cbb644a2ada8d1116ff80c32dca89e6ada846b5de26f961.zip"
},
"Description": "/opt/awscli/aws"
}
@@ -358,7 +366,7 @@
"S3Bucket": {
"Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}"
},
- "S3Key": "e976a796f036a5efbf44b99e44cfb5a961df08d8dbf7cd37e60bf216fb982a00.zip"
+ "S3Key": "0158f40002a8c211635388a87874fd4dcc3d68f525fe08a0fe0f014069ae539c.zip"
},
"Environment": {
"Variables": {
@@ -806,7 +814,7 @@
"S3Bucket": {
"Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}"
},
- "S3Key": "7382a0addb9f34974a1ea6c6c9b063882af874828f366f5c93b2b7b64db15c94.zip"
+ "S3Key": "d9861ea7a45affd23e47a614acb2fddc6e45c20a891284c958187dafbf9ee36b.zip"
},
"Description": "AWS CDK resource provider framework - onEvent (TestStack/com.amazonaws.cdk.custom-resources.flow-time-provider/flow-time-provider)",
"Environment": {
@@ -826,7 +834,15 @@
"Arn"
]
},
- "Runtime": "nodejs18.x",
+ "Runtime": {
+ "Fn::FindInMap": [
+ "LatestNodeRuntimeMap",
+ {
+ "Ref": "AWS::Region"
+ },
+ "value"
+ ]
+ },
"Timeout": 900
},
"DependsOn": [
@@ -835,6 +851,130 @@
]
}
},
+ "Mappings": {
+ "LatestNodeRuntimeMap": {
+ "af-south-1": {
+ "value": "nodejs20.x"
+ },
+ "ap-east-1": {
+ "value": "nodejs20.x"
+ },
+ "ap-northeast-1": {
+ "value": "nodejs20.x"
+ },
+ "ap-northeast-2": {
+ "value": "nodejs20.x"
+ },
+ "ap-northeast-3": {
+ "value": "nodejs20.x"
+ },
+ "ap-south-1": {
+ "value": "nodejs20.x"
+ },
+ "ap-south-2": {
+ "value": "nodejs20.x"
+ },
+ "ap-southeast-1": {
+ "value": "nodejs20.x"
+ },
+ "ap-southeast-2": {
+ "value": "nodejs20.x"
+ },
+ "ap-southeast-3": {
+ "value": "nodejs20.x"
+ },
+ "ap-southeast-4": {
+ "value": "nodejs20.x"
+ },
+ "ap-southeast-5": {
+ "value": "nodejs20.x"
+ },
+ "ap-southeast-7": {
+ "value": "nodejs20.x"
+ },
+ "ca-central-1": {
+ "value": "nodejs20.x"
+ },
+ "ca-west-1": {
+ "value": "nodejs20.x"
+ },
+ "cn-north-1": {
+ "value": "nodejs18.x"
+ },
+ "cn-northwest-1": {
+ "value": "nodejs18.x"
+ },
+ "eu-central-1": {
+ "value": "nodejs20.x"
+ },
+ "eu-central-2": {
+ "value": "nodejs20.x"
+ },
+ "eu-isoe-west-1": {
+ "value": "nodejs18.x"
+ },
+ "eu-north-1": {
+ "value": "nodejs20.x"
+ },
+ "eu-south-1": {
+ "value": "nodejs20.x"
+ },
+ "eu-south-2": {
+ "value": "nodejs20.x"
+ },
+ "eu-west-1": {
+ "value": "nodejs20.x"
+ },
+ "eu-west-2": {
+ "value": "nodejs20.x"
+ },
+ "eu-west-3": {
+ "value": "nodejs20.x"
+ },
+ "il-central-1": {
+ "value": "nodejs20.x"
+ },
+ "me-central-1": {
+ "value": "nodejs20.x"
+ },
+ "me-south-1": {
+ "value": "nodejs20.x"
+ },
+ "mx-central-1": {
+ "value": "nodejs20.x"
+ },
+ "sa-east-1": {
+ "value": "nodejs20.x"
+ },
+ "us-east-1": {
+ "value": "nodejs20.x"
+ },
+ "us-east-2": {
+ "value": "nodejs20.x"
+ },
+ "us-gov-east-1": {
+ "value": "nodejs18.x"
+ },
+ "us-gov-west-1": {
+ "value": "nodejs18.x"
+ },
+ "us-iso-east-1": {
+ "value": "nodejs18.x"
+ },
+ "us-iso-west-1": {
+ "value": "nodejs18.x"
+ },
+ "us-isob-east-1": {
+ "value": "nodejs18.x"
+ },
+ "us-west-1": {
+ "value": "nodejs20.x"
+ },
+ "us-west-2": {
+ "value": "nodejs20.x"
+ }
+ }
+ },
"Parameters": {
"BootstrapVersion": {
"Type": "AWS::SSM::Parameter::Value",
diff --git a/test/integ/onschedule-salesforce-marketing-cloud-to-s3.integ.snapshot/TestStack.assets.json b/test/integ/onschedule-salesforce-marketing-cloud-to-s3.integ.snapshot/TestStack.assets.json
index c6ff351e..1383e117 100644
--- a/test/integ/onschedule-salesforce-marketing-cloud-to-s3.integ.snapshot/TestStack.assets.json
+++ b/test/integ/onschedule-salesforce-marketing-cloud-to-s3.integ.snapshot/TestStack.assets.json
@@ -1,15 +1,15 @@
{
"version": "36.0.0",
"files": {
- "b7f33614a69548d6bafe224d751a7ef238cde19097415e553fe8b63a4c8fd8a6": {
+ "faa95a81ae7d7373f3e1f242268f904eb748d8d0fdd306e8a6fe515a1905a7d6": {
"source": {
- "path": "asset.b7f33614a69548d6bafe224d751a7ef238cde19097415e553fe8b63a4c8fd8a6",
+ "path": "asset.faa95a81ae7d7373f3e1f242268f904eb748d8d0fdd306e8a6fe515a1905a7d6",
"packaging": "zip"
},
"destinations": {
"current_account-eu-west-2": {
"bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-eu-west-2",
- "objectKey": "b7f33614a69548d6bafe224d751a7ef238cde19097415e553fe8b63a4c8fd8a6.zip",
+ "objectKey": "faa95a81ae7d7373f3e1f242268f904eb748d8d0fdd306e8a6fe515a1905a7d6.zip",
"region": "eu-west-2",
"assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-eu-west-2"
}
@@ -29,21 +29,21 @@
}
}
},
- "7382a0addb9f34974a1ea6c6c9b063882af874828f366f5c93b2b7b64db15c94": {
+ "d9861ea7a45affd23e47a614acb2fddc6e45c20a891284c958187dafbf9ee36b": {
"source": {
- "path": "asset.7382a0addb9f34974a1ea6c6c9b063882af874828f366f5c93b2b7b64db15c94",
+ "path": "asset.d9861ea7a45affd23e47a614acb2fddc6e45c20a891284c958187dafbf9ee36b",
"packaging": "zip"
},
"destinations": {
"current_account-eu-west-2": {
"bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-eu-west-2",
- "objectKey": "7382a0addb9f34974a1ea6c6c9b063882af874828f366f5c93b2b7b64db15c94.zip",
+ "objectKey": "d9861ea7a45affd23e47a614acb2fddc6e45c20a891284c958187dafbf9ee36b.zip",
"region": "eu-west-2",
"assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-eu-west-2"
}
}
},
- "c95ba0f8682b2a6172b7888ca2d491e6ea0aba7a6f38b883e6093866d828c749": {
+ "bf6903a09f3278ff905d88d52498e309ffb7510413d3d65db04645fc919ac576": {
"source": {
"path": "TestStack.template.json",
"packaging": "file"
@@ -51,7 +51,7 @@
"destinations": {
"current_account-eu-west-2": {
"bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-eu-west-2",
- "objectKey": "c95ba0f8682b2a6172b7888ca2d491e6ea0aba7a6f38b883e6093866d828c749.json",
+ "objectKey": "bf6903a09f3278ff905d88d52498e309ffb7510413d3d65db04645fc919ac576.json",
"region": "eu-west-2",
"assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-eu-west-2"
}
diff --git a/test/integ/onschedule-salesforce-marketing-cloud-to-s3.integ.snapshot/TestStack.template.json b/test/integ/onschedule-salesforce-marketing-cloud-to-s3.integ.snapshot/TestStack.template.json
index 1d9f357c..57d11d9c 100644
--- a/test/integ/onschedule-salesforce-marketing-cloud-to-s3.integ.snapshot/TestStack.template.json
+++ b/test/integ/onschedule-salesforce-marketing-cloud-to-s3.integ.snapshot/TestStack.template.json
@@ -247,7 +247,7 @@
"S3Bucket": {
"Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-eu-west-2"
},
- "S3Key": "b7f33614a69548d6bafe224d751a7ef238cde19097415e553fe8b63a4c8fd8a6.zip"
+ "S3Key": "faa95a81ae7d7373f3e1f242268f904eb748d8d0fdd306e8a6fe515a1905a7d6.zip"
},
"Timeout": 900,
"MemorySize": 128,
@@ -258,7 +258,7 @@
"Arn"
]
},
- "Runtime": "nodejs18.x",
+ "Runtime": "nodejs20.x",
"Description": {
"Fn::Join": [
"",
@@ -577,7 +577,7 @@
"S3Bucket": {
"Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-eu-west-2"
},
- "S3Key": "7382a0addb9f34974a1ea6c6c9b063882af874828f366f5c93b2b7b64db15c94.zip"
+ "S3Key": "d9861ea7a45affd23e47a614acb2fddc6e45c20a891284c958187dafbf9ee36b.zip"
},
"Description": "AWS CDK resource provider framework - onEvent (TestStack/com.amazonaws.cdk.custom-resources.flow-time-provider/flow-time-provider)",
"Environment": {
@@ -597,7 +597,7 @@
"Arn"
]
},
- "Runtime": "nodejs18.x",
+ "Runtime": "nodejs20.x",
"Timeout": 900
},
"DependsOn": [
diff --git a/yarn.lock b/yarn.lock
index 359d2a30..401200ec 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -10,30 +10,30 @@
"@jridgewell/gen-mapping" "^0.3.5"
"@jridgewell/trace-mapping" "^0.3.24"
-"@aws-cdk/asset-awscli-v1@^2.2.201":
- version "2.2.201"
- resolved "https://registry.yarnpkg.com/@aws-cdk/asset-awscli-v1/-/asset-awscli-v1-2.2.201.tgz#a7b51d3ecc8ff3ca9798269eda3a1db2400b506a"
- integrity sha512-INZqcwDinNaIdb5CtW3ez5s943nX5stGBQS6VOP2JDlOFP81hM3fds/9NDknipqfUkZM43dx+HgVvkXYXXARCQ==
+"@aws-cdk/asset-awscli-v1@^2.2.202":
+ version "2.2.202"
+ resolved "https://registry.yarnpkg.com/@aws-cdk/asset-awscli-v1/-/asset-awscli-v1-2.2.202.tgz#4627201d71f6a5c60db36385ce09cb81005f4b32"
+ integrity sha512-JqlF0D4+EVugnG5dAsNZMqhu3HW7ehOXm5SDMxMbXNDMdsF0pxtQKNHRl52z1U9igsHmaFpUgSGjbhAJ+0JONg==
"@aws-cdk/asset-kubectl-v20@^2.1.2":
version "2.1.2"
resolved "https://registry.yarnpkg.com/@aws-cdk/asset-kubectl-v20/-/asset-kubectl-v20-2.1.2.tgz#d8e20b5f5dc20128ea2000dc479ca3c7ddc27248"
integrity sha512-3M2tELJOxQv0apCIiuKQ4pAbncz9GuLwnKFqxifWfe77wuMxyTRPmxssYHs42ePqzap1LT6GDcPygGs+hHstLg==
-"@aws-cdk/asset-node-proxy-agent-v6@^2.0.1":
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/@aws-cdk/asset-node-proxy-agent-v6/-/asset-node-proxy-agent-v6-2.0.1.tgz#6dc9b7cdb22ff622a7176141197962360c33e9ac"
- integrity sha512-DDt4SLdLOwWCjGtltH4VCST7hpOI5DzieuhGZsBpZ+AgJdSI2GCjklCXm0GCTwJG/SolkL5dtQXyUKgg9luBDg==
+"@aws-cdk/asset-node-proxy-agent-v6@^2.0.3":
+ version "2.0.3"
+ resolved "https://registry.yarnpkg.com/@aws-cdk/asset-node-proxy-agent-v6/-/asset-node-proxy-agent-v6-2.0.3.tgz#9b5d213b5ce5ad4461f6a4720195ff8de72e6523"
+ integrity sha512-twhuEG+JPOYCYPx/xy5uH2+VUsIEhPTzDY0F1KuB+ocjWWB/KEDiOVL19nHvbPCB6fhWnkykXEMJ4HHcKvjtvg==
-"@aws-cdk/aws-glue-alpha@2.121.1-alpha.0":
- version "2.121.1-alpha.0"
- resolved "https://registry.yarnpkg.com/@aws-cdk/aws-glue-alpha/-/aws-glue-alpha-2.121.1-alpha.0.tgz#8c5e6b34ccfd35b7512e84c2e6176e88a1482a80"
- integrity sha512-ovZeXXCNBCkRdHEfBCbDYOZ1tTbwlV1Njc1iPwP7aMo4BIMSrRzLF5ir+InwKbnRA1FWACyDGXRakue/fuT4aA==
+"@aws-cdk/aws-glue-alpha@2.151.0-alpha.0":
+ version "2.151.0-alpha.0"
+ resolved "https://registry.yarnpkg.com/@aws-cdk/aws-glue-alpha/-/aws-glue-alpha-2.151.0-alpha.0.tgz#baa92927d046f13aa81bb24bcc8556f887c31979"
+ integrity sha512-H+OM/AjqxyJFpJcTFZ0qvDXNU4foVb1sk8xGR29kMIHcostusFKGnrk1IkQ8SZEkOKmYuQ3SKl2G2X/NJu4U1g==
-"@aws-cdk/aws-redshift-alpha@2.121.1-alpha.0":
- version "2.121.1-alpha.0"
- resolved "https://registry.yarnpkg.com/@aws-cdk/aws-redshift-alpha/-/aws-redshift-alpha-2.121.1-alpha.0.tgz#21eae9ef3843290919f1e637822b3ab8a74bf1d7"
- integrity sha512-PsCtr+IuWoyJgi40iVLCB65kiWOpzI6iG/jlOl9lQkQvDO5Dh19OOtRSTVIoFga6AbcVAVDmhQ/GyEHBWoELZg==
+"@aws-cdk/aws-redshift-alpha@2.151.0-alpha.0":
+ version "2.151.0-alpha.0"
+ resolved "https://registry.yarnpkg.com/@aws-cdk/aws-redshift-alpha/-/aws-redshift-alpha-2.151.0-alpha.0.tgz#4093c14db56339a7203fe31ac07a842b405aae3a"
+ integrity sha512-ZEv0k5bo17YPiNhg2sQjgssw6ffO7JrvQ+sY4WQ8Cwi9doJRvRgCcGbxIeGjwzWxf9/lKQGOvAR547udZlryUg==
"@aws-cdk/aws-service-spec@0.1.13":
version "0.1.13"
@@ -741,14 +741,6 @@
"@jridgewell/resolve-uri" "^3.1.0"
"@jridgewell/sourcemap-codec" "^1.4.14"
-"@jsii/check-node@1.101.0":
- version "1.101.0"
- resolved "https://registry.yarnpkg.com/@jsii/check-node/-/check-node-1.101.0.tgz#175e5a2b9b31f232fd5df2942dacc4b20820aa93"
- integrity sha512-io8u1GAF9XGp2crx0C/WGiJeUnHGw5X0du4fisbrNJHmVVFwcJbBMjbfXKWq+JSzl8fo/JV3F1LqtjsnawKA2A==
- dependencies:
- chalk "^4.1.2"
- semver "^7.6.0"
-
"@jsii/check-node@1.102.0":
version "1.102.0"
resolved "https://registry.yarnpkg.com/@jsii/check-node/-/check-node-1.102.0.tgz#d5dce81b60411b35d4890e69eee2b86d606c8672"
@@ -757,7 +749,7 @@
chalk "^4.1.2"
semver "^7.6.3"
-"@jsii/spec@1.102.0", "@jsii/spec@^1.101.0", "@jsii/spec@^1.102.0", "@jsii/spec@^1.84.0":
+"@jsii/spec@1.102.0", "@jsii/spec@^1.102.0", "@jsii/spec@^1.84.0":
version "1.102.0"
resolved "https://registry.yarnpkg.com/@jsii/spec/-/spec-1.102.0.tgz#3f9cfcd44e4358ba7259730452e89b2111918524"
integrity sha512-/VcmoEyp7HR0xoFz47/fiyZjAv+0gHG4ZwTbgB+umbB88bTbLZadnqBL7T9OIKQbK4w8HNOaRnHwjNBIYIPxWQ==
@@ -1316,23 +1308,24 @@ available-typed-arrays@^1.0.7:
dependencies:
possible-typed-array-names "^1.0.0"
-aws-cdk-lib@2.121.1:
- version "2.121.1"
- resolved "https://registry.yarnpkg.com/aws-cdk-lib/-/aws-cdk-lib-2.121.1.tgz#c4c5029a916fdbc9ae8ed4fd39264143d6326322"
- integrity sha512-wrOHDDQqVuH2tRTH7p2LaMPVI3V2bqr8X//Qrhy+hOFA04u2MVetQYev+NgMXPjNzU9IGX2wy1Fs9Y/ntq2sQA==
+aws-cdk-lib@2.151.0:
+ version "2.151.0"
+ resolved "https://registry.yarnpkg.com/aws-cdk-lib/-/aws-cdk-lib-2.151.0.tgz#44559660430c10da6697320b81c496118ba3ce93"
+ integrity sha512-SIzzOGSYO+s1f+y2zyGKK8wH5JmN+nkrGOL28iHzmx9lXK0NaT0+d5sjTbzLo2C8iogzbR91yGnIKze0GzZXHg==
dependencies:
- "@aws-cdk/asset-awscli-v1" "^2.2.201"
+ "@aws-cdk/asset-awscli-v1" "^2.2.202"
"@aws-cdk/asset-kubectl-v20" "^2.1.2"
- "@aws-cdk/asset-node-proxy-agent-v6" "^2.0.1"
+ "@aws-cdk/asset-node-proxy-agent-v6" "^2.0.3"
"@balena/dockerignore" "^1.0.2"
case "1.6.3"
fs-extra "^11.2.0"
- ignore "^5.3.0"
+ ignore "^5.3.1"
jsonschema "^1.4.1"
+ mime-types "^2.1.35"
minimatch "^3.1.2"
punycode "^2.3.1"
- semver "^7.5.4"
- table "^6.8.1"
+ semver "^7.6.2"
+ table "^6.8.2"
yaml "1.10.2"
aws-cdk@2.151.0, aws-cdk@^2:
@@ -2961,11 +2954,6 @@ ignore@^5.2.0, ignore@^5.3.1:
resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.1.tgz#5073e554cd42c5b33b394375f538b8593e34d4ef"
integrity sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==
-ignore@^5.3.0:
- version "5.3.0"
- resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.0.tgz#67418ae40d34d6999c95ff56016759c718c82f78"
- integrity sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==
-
import-fresh@^3.2.1:
version "3.3.0"
resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b"
@@ -3845,26 +3833,7 @@ jsii@1.102.0:
typescript "~3.9.10"
yargs "^16.2.0"
-jsii@~5.2:
- version "5.2.51"
- resolved "https://registry.yarnpkg.com/jsii/-/jsii-5.2.51.tgz#280853b48e4470eb7aad694f4e4f4bd5d4984992"
- integrity sha512-F0tt1K+TaRCtp8tUl5IjlNQkRzqILAOP/amSvh1mVCvdO0RHHPpoLn3mg4l/NL7FU9kl7GzIZuhdpitAUK+73w==
- dependencies:
- "@jsii/check-node" "1.101.0"
- "@jsii/spec" "^1.101.0"
- case "^1.6.3"
- chalk "^4"
- downlevel-dts "^0.11.0"
- fast-deep-equal "^3.1.3"
- log4js "^6.9.1"
- semver "^7.6.2"
- semver-intersect "^1.5.0"
- sort-json "^2.0.1"
- spdx-license-list "^6.9.0"
- typescript "~5.2"
- yargs "^17.7.2"
-
-jsii@~5.4.0:
+jsii@~5.4.0, jsii@~5.4.30:
version "5.4.31"
resolved "https://registry.yarnpkg.com/jsii/-/jsii-5.4.31.tgz#afe7ff63182421965cab53f055904b559e47e842"
integrity sha512-qxiV/NMucgvHHupZJ36QACejcgZ3qY1FzjVHMOBmDHm+dISZ39p7dH7Hiq2ErMEwCDzdvQgR1OwCsUnrBH6oVQ==
@@ -4155,7 +4124,7 @@ mime-db@1.52.0:
resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70"
integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==
-mime-types@^2.1.12:
+mime-types@^2.1.12, mime-types@^2.1.35:
version "2.1.35"
resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a"
integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==
@@ -4834,11 +4803,6 @@ semver@^6.0.0, 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.5.4:
- version "7.6.2"
- resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.2.tgz#1e3b34759f896e8f14d6134732ce798aeb0c6e13"
- integrity sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==
-
set-function-length@^1.2.1:
version "1.2.2"
resolved "https://registry.yarnpkg.com/set-function-length/-/set-function-length-1.2.2.tgz#aac72314198eaed975cf77b2c3b6b880695e5449"
@@ -5186,10 +5150,10 @@ symbol-tree@^3.2.4:
resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2"
integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==
-table@^6.8.1:
- version "6.8.1"
- resolved "https://registry.yarnpkg.com/table/-/table-6.8.1.tgz#ea2b71359fe03b017a5fbc296204471158080bdf"
- integrity sha512-Y4X9zqrCftUhMeH2EptSSERdVKt/nEdijTOacGD/97EKjhQ/Qs8RTlEGABSJNNN8lac9kheH+af7yAkEWlgneA==
+table@^6.8.2:
+ version "6.8.2"
+ resolved "https://registry.yarnpkg.com/table/-/table-6.8.2.tgz#c5504ccf201213fa227248bdc8c5569716ac6c58"
+ integrity sha512-w2sfv80nrAh2VCbqR5AK27wswXhqcck2AhfnNW76beQXskGZ1V12GwS//yYVa3d3fcvAip2OUnbDAjW2k3v9fA==
dependencies:
ajv "^8.0.1"
lodash.truncate "^4.4.2"
@@ -5449,11 +5413,6 @@ typescript@~3.9.10:
resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.9.10.tgz#70f3910ac7a51ed6bef79da7800690b19bf778b8"
integrity sha512-w6fIxVE/H1PkLKcCPsFqKE7Kv7QUwhU8qQY2MueZXWx5cPZdwFupLgKK3vntcK98BtNHZtAF4LA/yl2a7k8R6Q==
-typescript@~5.2:
- version "5.2.2"
- resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.2.2.tgz#5ebb5e5a5b75f085f22bc3f8460fba308310fa78"
- integrity sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==
-
typescript@~5.4:
version "5.4.5"
resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.4.5.tgz#42ccef2c571fdbd0f6718b1d1f5e6e5ef006f611"