From 68c9367903ac6dc491efec77b6f3bf23c958c435 Mon Sep 17 00:00:00 2001
From: corymhall <43035978+corymhall@users.noreply.github.com>
Date: Fri, 8 Apr 2022 12:50:43 +0000
Subject: [PATCH 1/6] chore: switch to using the new integ-runner
This PR is a follow up to #19802 which added all of the new integ test
snapshots that are used by the new `integ-runner` tool. This PR switches
out the old `cdk-integ` tool for the new `integ-runner`.
Updates made:
1. Update all `package.json` files to install and use the `integ-runner`
2. Update `cdk-test` to use `integ-runner`
---
INTEGRATION_TESTS.md | 6 +-
.../ecs-service-extensions/package.json | 4 +-
packages/@aws-cdk/alexa-ask/package.json | 2 +-
packages/@aws-cdk/app-delivery/package.json | 4 +-
packages/@aws-cdk/assets/package.json | 4 +-
.../@aws-cdk/aws-accessanalyzer/package.json | 2 +-
packages/@aws-cdk/aws-acmpca/package.json | 2 +-
packages/@aws-cdk/aws-amazonmq/package.json | 2 +-
packages/@aws-cdk/aws-amplify/package.json | 4 +-
.../aws-amplifyuibuilder/package.json | 2 +-
packages/@aws-cdk/aws-apigateway/package.json | 4 +-
.../aws-apigatewayv2-authorizers/package.json | 4 +-
.../package.json | 4 +-
.../@aws-cdk/aws-apigatewayv2/package.json | 4 +-
packages/@aws-cdk/aws-appconfig/package.json | 2 +-
packages/@aws-cdk/aws-appflow/package.json | 2 +-
.../@aws-cdk/aws-appintegrations/package.json | 2 +-
.../aws-applicationautoscaling/package.json | 2 +-
.../aws-applicationinsights/package.json | 2 +-
packages/@aws-cdk/aws-appmesh/package.json | 4 +-
packages/@aws-cdk/aws-apprunner/package.json | 4 +-
packages/@aws-cdk/aws-appstream/package.json | 2 +-
packages/@aws-cdk/aws-appsync/package.json | 4 +-
packages/@aws-cdk/aws-aps/package.json | 2 +-
packages/@aws-cdk/aws-athena/package.json | 4 +-
.../@aws-cdk/aws-auditmanager/package.json | 2 +-
.../aws-autoscaling-common/package.json | 4 +-
.../aws-autoscaling-hooktargets/package.json | 4 +-
.../@aws-cdk/aws-autoscaling/package.json | 4 +-
.../aws-autoscalingplans/package.json | 2 +-
packages/@aws-cdk/aws-backup/package.json | 4 +-
packages/@aws-cdk/aws-batch/package.json | 4 +-
.../aws-billingconductor/package.json | 2 +-
packages/@aws-cdk/aws-budgets/package.json | 2 +-
packages/@aws-cdk/aws-cassandra/package.json | 2 +-
packages/@aws-cdk/aws-ce/package.json | 2 +-
.../aws-certificatemanager/package.json | 2 +-
packages/@aws-cdk/aws-chatbot/package.json | 4 +-
packages/@aws-cdk/aws-cloud9/package.json | 4 +-
.../@aws-cdk/aws-cloudformation/package.json | 4 +-
.../aws-cloudfront-origins/package.json | 4 +-
packages/@aws-cdk/aws-cloudfront/package.json | 4 +-
packages/@aws-cdk/aws-cloudtrail/package.json | 4 +-
.../aws-cloudwatch-actions/package.json | 4 +-
packages/@aws-cdk/aws-cloudwatch/package.json | 4 +-
.../@aws-cdk/aws-codeartifact/package.json | 2 +-
packages/@aws-cdk/aws-codebuild/package.json | 4 +-
packages/@aws-cdk/aws-codecommit/package.json | 4 +-
packages/@aws-cdk/aws-codedeploy/package.json | 4 +-
.../aws-codeguruprofiler/package.json | 4 +-
.../aws-codegurureviewer/package.json | 2 +-
.../aws-codepipeline-actions/package.json | 4 +-
.../@aws-cdk/aws-codepipeline/package.json | 4 +-
packages/@aws-cdk/aws-codestar/package.json | 4 +-
.../aws-codestarconnections/package.json | 2 +-
.../aws-codestarnotifications/package.json | 4 +-
.../aws-cognito-identitypool/package.json | 4 +-
packages/@aws-cdk/aws-cognito/package.json | 4 +-
packages/@aws-cdk/aws-config/package.json | 4 +-
packages/@aws-cdk/aws-connect/package.json | 2 +-
packages/@aws-cdk/aws-cur/package.json | 2 +-
.../aws-customerprofiles/package.json | 2 +-
packages/@aws-cdk/aws-databrew/package.json | 2 +-
.../@aws-cdk/aws-datapipeline/package.json | 2 +-
packages/@aws-cdk/aws-datasync/package.json | 2 +-
packages/@aws-cdk/aws-dax/package.json | 2 +-
packages/@aws-cdk/aws-detective/package.json | 2 +-
packages/@aws-cdk/aws-devopsguru/package.json | 2 +-
.../aws-directoryservice/package.json | 2 +-
packages/@aws-cdk/aws-dlm/package.json | 2 +-
packages/@aws-cdk/aws-dms/package.json | 2 +-
packages/@aws-cdk/aws-docdb/package.json | 4 +-
.../@aws-cdk/aws-dynamodb-global/package.json | 4 +-
packages/@aws-cdk/aws-dynamodb/package.json | 4 +-
packages/@aws-cdk/aws-ec2/package.json | 4 +-
packages/@aws-cdk/aws-ecr-assets/package.json | 4 +-
packages/@aws-cdk/aws-ecr/package.json | 4 +-
.../@aws-cdk/aws-ecs-patterns/package.json | 4 +-
packages/@aws-cdk/aws-ecs/package.json | 4 +-
.../aws-ecs-fargate-efs.template.json | 512 ++++++++++
.../fargate-with-efs.integ.snapshot/cdk.out | 1 +
.../manifest.json | 197 ++++
.../fargate-with-efs.integ.snapshot/tree.json | 893 ++++++++++++++++++
packages/@aws-cdk/aws-efs/package.json | 4 +-
packages/@aws-cdk/aws-eks-legacy/package.json | 4 +-
packages/@aws-cdk/aws-eks/package.json | 4 +-
.../aws-cdk-eks-helm-test.template.json | 89 +-
...bectlProvider207F42E4.nested.template.json | 20 +-
.../manifest.json | 92 +-
.../eks-helm-asset.integ.snapshot/tree.json | 122 ++-
.../@aws-cdk/aws-elasticache/package.json | 2 +-
.../aws-elasticbeanstalk/package.json | 2 +-
.../aws-elasticloadbalancing/package.json | 4 +-
.../package.json | 4 +-
.../package.json | 4 +-
.../aws-elasticloadbalancingv2/package.json | 4 +-
.../@aws-cdk/aws-elasticsearch/package.json | 4 +-
packages/@aws-cdk/aws-emr/package.json | 2 +-
.../@aws-cdk/aws-emrcontainers/package.json | 2 +-
.../@aws-cdk/aws-events-targets/package.json | 4 +-
packages/@aws-cdk/aws-events/package.json | 2 +-
.../@aws-cdk/aws-eventschemas/package.json | 2 +-
packages/@aws-cdk/aws-evidently/package.json | 2 +-
packages/@aws-cdk/aws-finspace/package.json | 2 +-
packages/@aws-cdk/aws-fis/package.json | 2 +-
packages/@aws-cdk/aws-fms/package.json | 2 +-
packages/@aws-cdk/aws-forecast/package.json | 2 +-
.../@aws-cdk/aws-frauddetector/package.json | 2 +-
packages/@aws-cdk/aws-fsx/package.json | 4 +-
packages/@aws-cdk/aws-gamelift/package.json | 2 +-
.../package.json | 4 +-
.../aws-globalaccelerator/package.json | 4 +-
packages/@aws-cdk/aws-glue/package.json | 4 +-
packages/@aws-cdk/aws-greengrass/package.json | 2 +-
.../@aws-cdk/aws-greengrassv2/package.json | 2 +-
.../@aws-cdk/aws-groundstation/package.json | 2 +-
packages/@aws-cdk/aws-guardduty/package.json | 2 +-
packages/@aws-cdk/aws-healthlake/package.json | 2 +-
packages/@aws-cdk/aws-iam/package.json | 4 +-
.../@aws-cdk/aws-imagebuilder/package.json | 2 +-
packages/@aws-cdk/aws-inspector/package.json | 2 +-
.../@aws-cdk/aws-inspectorv2/package.json | 2 +-
.../@aws-cdk/aws-iot-actions/package.json | 4 +-
packages/@aws-cdk/aws-iot/package.json | 4 +-
packages/@aws-cdk/aws-iot1click/package.json | 2 +-
.../@aws-cdk/aws-iotanalytics/package.json | 2 +-
.../aws-iotcoredeviceadvisor/package.json | 2 +-
.../aws-iotevents-actions/package.json | 4 +-
packages/@aws-cdk/aws-iotevents/package.json | 4 +-
.../@aws-cdk/aws-iotfleethub/package.json | 2 +-
.../@aws-cdk/aws-iotsitewise/package.json | 2 +-
.../@aws-cdk/aws-iotthingsgraph/package.json | 2 +-
.../@aws-cdk/aws-iotwireless/package.json | 2 +-
packages/@aws-cdk/aws-ivs/package.json | 4 +-
.../@aws-cdk/aws-kafkaconnect/package.json | 2 +-
packages/@aws-cdk/aws-kendra/package.json | 2 +-
packages/@aws-cdk/aws-kinesis/package.json | 4 +-
.../aws-kinesisanalytics-flink/package.json | 4 +-
.../aws-kinesisanalytics/package.json | 2 +-
.../aws-kinesisanalyticsv2/package.json | 2 +-
.../package.json | 4 +-
.../@aws-cdk/aws-kinesisfirehose/package.json | 4 +-
.../@aws-cdk/aws-kinesisvideo/package.json | 2 +-
packages/@aws-cdk/aws-kms/package.json | 4 +-
.../@aws-cdk/aws-lakeformation/package.json | 2 +-
.../aws-lambda-destinations/package.json | 4 +-
.../aws-lambda-event-sources/package.json | 4 +-
packages/@aws-cdk/aws-lambda-go/package.json | 4 +-
.../@aws-cdk/aws-lambda-nodejs/package.json | 4 +-
.../@aws-cdk/aws-lambda-python/package.json | 4 +-
packages/@aws-cdk/aws-lambda/package.json | 4 +-
packages/@aws-cdk/aws-lex/package.json | 2 +-
.../@aws-cdk/aws-licensemanager/package.json | 2 +-
packages/@aws-cdk/aws-lightsail/package.json | 2 +-
packages/@aws-cdk/aws-location/package.json | 2 +-
.../aws-logs-destinations/package.json | 4 +-
packages/@aws-cdk/aws-logs/package.json | 4 +-
.../aws-lookoutequipment/package.json | 2 +-
.../@aws-cdk/aws-lookoutmetrics/package.json | 2 +-
.../@aws-cdk/aws-lookoutvision/package.json | 2 +-
packages/@aws-cdk/aws-macie/package.json | 2 +-
.../aws-managedblockchain/package.json | 2 +-
.../@aws-cdk/aws-mediaconnect/package.json | 2 +-
.../@aws-cdk/aws-mediaconvert/package.json | 2 +-
packages/@aws-cdk/aws-medialive/package.json | 2 +-
.../@aws-cdk/aws-mediapackage/package.json | 2 +-
packages/@aws-cdk/aws-mediastore/package.json | 2 +-
.../@aws-cdk/aws-mediatailor/package.json | 2 +-
packages/@aws-cdk/aws-memorydb/package.json | 2 +-
packages/@aws-cdk/aws-msk/package.json | 4 +-
packages/@aws-cdk/aws-mwaa/package.json | 2 +-
packages/@aws-cdk/aws-neptune/package.json | 4 +-
.../@aws-cdk/aws-networkfirewall/package.json | 2 +-
.../@aws-cdk/aws-networkmanager/package.json | 2 +-
.../@aws-cdk/aws-nimblestudio/package.json | 2 +-
.../aws-opensearchservice/package.json | 4 +-
packages/@aws-cdk/aws-opsworks/package.json | 2 +-
packages/@aws-cdk/aws-opsworkscm/package.json | 2 +-
packages/@aws-cdk/aws-panorama/package.json | 2 +-
.../@aws-cdk/aws-personalize/package.json | 2 +-
packages/@aws-cdk/aws-pinpoint/package.json | 2 +-
.../@aws-cdk/aws-pinpointemail/package.json | 2 +-
packages/@aws-cdk/aws-qldb/package.json | 2 +-
packages/@aws-cdk/aws-quicksight/package.json | 2 +-
packages/@aws-cdk/aws-ram/package.json | 2 +-
packages/@aws-cdk/aws-rds/package.json | 4 +-
packages/@aws-cdk/aws-redshift/package.json | 4 +-
.../@aws-cdk/aws-refactorspaces/package.json | 2 +-
.../@aws-cdk/aws-rekognition/package.json | 2 +-
.../@aws-cdk/aws-resiliencehub/package.json | 2 +-
.../@aws-cdk/aws-resourcegroups/package.json | 2 +-
packages/@aws-cdk/aws-robomaker/package.json | 2 +-
.../aws-route53-patterns/package.json | 4 +-
.../@aws-cdk/aws-route53-targets/package.json | 4 +-
packages/@aws-cdk/aws-route53/package.json | 4 +-
.../aws-route53recoverycontrol/package.json | 2 +-
.../aws-route53recoveryreadiness/package.json | 2 +-
.../@aws-cdk/aws-route53resolver/package.json | 4 +-
packages/@aws-cdk/aws-rum/package.json | 2 +-
packages/@aws-cdk/aws-s3-assets/package.json | 4 +-
.../@aws-cdk/aws-s3-deployment/package.json | 4 +-
.../aws-s3-notifications/package.json | 4 +-
packages/@aws-cdk/aws-s3/package.json | 4 +-
.../@aws-cdk/aws-s3objectlambda/package.json | 6 +-
packages/@aws-cdk/aws-s3outposts/package.json | 2 +-
packages/@aws-cdk/aws-sagemaker/package.json | 2 +-
packages/@aws-cdk/aws-sam/package.json | 2 +-
packages/@aws-cdk/aws-sdb/package.json | 2 +-
.../@aws-cdk/aws-secretsmanager/package.json | 4 +-
.../@aws-cdk/aws-securityhub/package.json | 2 +-
.../@aws-cdk/aws-servicecatalog/package.json | 4 +-
.../package.json | 4 +-
.../aws-servicediscovery/package.json | 4 +-
.../@aws-cdk/aws-ses-actions/package.json | 4 +-
packages/@aws-cdk/aws-ses/package.json | 4 +-
packages/@aws-cdk/aws-signer/package.json | 2 +-
.../aws-sns-subscriptions/package.json | 4 +-
.../FunctionStack.template.json | 2 +-
.../tree.json | 2 +-
packages/@aws-cdk/aws-sns/package.json | 4 +-
packages/@aws-cdk/aws-sqs/package.json | 4 +-
packages/@aws-cdk/aws-ssm/package.json | 4 +-
.../@aws-cdk/aws-ssmcontacts/package.json | 2 +-
.../@aws-cdk/aws-ssmincidents/package.json | 2 +-
packages/@aws-cdk/aws-sso/package.json | 2 +-
.../aws-stepfunctions-tasks/package.json | 4 +-
.../@aws-cdk/aws-stepfunctions/package.json | 4 +-
packages/@aws-cdk/aws-synthetics/package.json | 4 +-
packages/@aws-cdk/aws-timestream/package.json | 2 +-
packages/@aws-cdk/aws-transfer/package.json | 2 +-
packages/@aws-cdk/aws-waf/package.json | 2 +-
.../@aws-cdk/aws-wafregional/package.json | 2 +-
packages/@aws-cdk/aws-wafv2/package.json | 2 +-
packages/@aws-cdk/aws-wisdom/package.json | 2 +-
packages/@aws-cdk/aws-workspaces/package.json | 2 +-
packages/@aws-cdk/aws-xray/package.json | 2 +-
.../cloudformation-include/package.json | 4 +-
.../@aws-cdk/custom-resources/package.json | 4 +-
.../example-construct-library/package.json | 4 +-
packages/@aws-cdk/integ-runner/README.md | 92 +-
.../@aws-cdk/lambda-layer-awscli/package.json | 4 +-
.../lambda-layer-kubectl/package.json | 4 +-
.../package.json | 4 +-
packages/@aws-cdk/pipelines/package.json | 4 +-
packages/@aws-cdk/triggers/package.json | 4 +-
packages/cdk-assets/package.json | 2 +-
packages/cdk-cli-wrapper/package.json | 2 +-
.../@aws-cdk/cdk-build-tools/bin/cdk-test.ts | 2 +-
248 files changed, 2237 insertions(+), 487 deletions(-)
create mode 100644 packages/@aws-cdk/aws-ecs/test/fargate/fargate-with-efs.integ.snapshot/aws-ecs-fargate-efs.template.json
create mode 100644 packages/@aws-cdk/aws-ecs/test/fargate/fargate-with-efs.integ.snapshot/cdk.out
create mode 100644 packages/@aws-cdk/aws-ecs/test/fargate/fargate-with-efs.integ.snapshot/manifest.json
create mode 100644 packages/@aws-cdk/aws-ecs/test/fargate/fargate-with-efs.integ.snapshot/tree.json
diff --git a/INTEGRATION_TESTS.md b/INTEGRATION_TESTS.md
index 3f21037d95aa2..cf6038748e3f5 100644
--- a/INTEGRATION_TESTS.md
+++ b/INTEGRATION_TESTS.md
@@ -16,7 +16,7 @@ on what type of changes require integrations tests and how you should write inte
All Construct libraries in the CDK code base have integration tests that serve to -
1. Acts as a regression detector. It does this by running `cdk synth` on the integration test and comparing it against
- the `*.expected.json` file. This highlights how a change affects the synthesized stacks.
+ the Cloud Assembly stored in the snapshot (`*.integ.snapshot/`) directory. This highlights how a change affects the synthesized stacks.
2. Allows for a way to verify if the stacks are still valid CloudFormation templates, as part of an intrusive change.
This is done by running `yarn integ` which will run `cdk deploy` across all of the integration tests in that package.
If you are developing a new integration test or for some other reason want to work on a single integration test
@@ -102,14 +102,14 @@ To run the test you would run:
*Note - filename must be `*.js`*
```
-npm run cdk-integ integ.lambda.js
+yarn integ --update-on-failed integ.lambda.js
```
This will:
1. Synthesize the CDK app
2. `cdk deploy` to your AWS account
3. `cdk destroy` to delete the stack
-4. Save a snapshot of the synthed CloudFormation template to `integ.lambda.expected.json`
+4. Save a snapshot of the Cloud Assembly to `lambda.integ.snapshot/`
Now when you run `npm test` it will synth the integ app and compare the result with the snapshot.
If the snapshot has changed the same process must be followed to update the snapshot.
diff --git a/packages/@aws-cdk-containers/ecs-service-extensions/package.json b/packages/@aws-cdk-containers/ecs-service-extensions/package.json
index 3587f60c10eda..9ab34110fe6cb 100644
--- a/packages/@aws-cdk-containers/ecs-service-extensions/package.json
+++ b/packages/@aws-cdk-containers/ecs-service-extensions/package.json
@@ -14,7 +14,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
@@ -39,7 +39,7 @@
"devDependencies": {
"@types/jest": "^27.4.1",
"@aws-cdk/cdk-build-tools": "0.0.0",
- "@aws-cdk/cdk-integ-tools": "0.0.0",
+ "@aws-cdk/integ-runner": "0.0.0",
"@aws-cdk/aws-autoscaling": "0.0.0",
"@aws-cdk/cfn2ts": "0.0.0",
"jest": "^27.5.1",
diff --git a/packages/@aws-cdk/alexa-ask/package.json b/packages/@aws-cdk/alexa-ask/package.json
index 2d533773cdc92..bde9d71188fc6 100644
--- a/packages/@aws-cdk/alexa-ask/package.json
+++ b/packages/@aws-cdk/alexa-ask/package.json
@@ -45,7 +45,7 @@
"homepage": "https://github.com/aws/aws-cdk",
"scripts": {
"build": "cdk-build",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"lint": "cdk-lint",
"package": "cdk-package",
"pkglint": "pkglint -f",
diff --git a/packages/@aws-cdk/app-delivery/package.json b/packages/@aws-cdk/app-delivery/package.json
index 89760784513ef..b29ded12d92d4 100644
--- a/packages/@aws-cdk/app-delivery/package.json
+++ b/packages/@aws-cdk/app-delivery/package.json
@@ -45,7 +45,7 @@
"test": "cdk-test",
"watch": "cdk-watch",
"lint": "cdk-lint",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"awslint": "cdk-awslint",
"build+test+package": "yarn build+test && yarn package",
"build+test": "yarn build && yarn test",
@@ -70,7 +70,7 @@
"@aws-cdk/assertions": "0.0.0",
"@aws-cdk/aws-s3": "0.0.0",
"@aws-cdk/cdk-build-tools": "0.0.0",
- "@aws-cdk/cdk-integ-tools": "0.0.0",
+ "@aws-cdk/integ-runner": "0.0.0",
"@aws-cdk/pkglint": "0.0.0",
"@types/jest": "^27.4.1",
"fast-check": "^2.23.2",
diff --git a/packages/@aws-cdk/assets/package.json b/packages/@aws-cdk/assets/package.json
index 30adc5c82cfcb..7dcef9bf75f67 100644
--- a/packages/@aws-cdk/assets/package.json
+++ b/packages/@aws-cdk/assets/package.json
@@ -47,7 +47,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
@@ -78,7 +78,7 @@
"devDependencies": {
"@aws-cdk/assertions": "0.0.0",
"@aws-cdk/cdk-build-tools": "0.0.0",
- "@aws-cdk/cdk-integ-tools": "0.0.0",
+ "@aws-cdk/integ-runner": "0.0.0",
"@aws-cdk/pkglint": "0.0.0",
"@types/jest": "^27.4.1",
"@types/sinon": "^9.0.11",
diff --git a/packages/@aws-cdk/aws-accessanalyzer/package.json b/packages/@aws-cdk/aws-accessanalyzer/package.json
index ed8871901f393..1b9e9e2832515 100644
--- a/packages/@aws-cdk/aws-accessanalyzer/package.json
+++ b/packages/@aws-cdk/aws-accessanalyzer/package.json
@@ -45,7 +45,7 @@
"homepage": "https://github.com/aws/aws-cdk",
"scripts": {
"build": "cdk-build",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"lint": "cdk-lint",
"package": "cdk-package",
"awslint": "cdk-awslint",
diff --git a/packages/@aws-cdk/aws-acmpca/package.json b/packages/@aws-cdk/aws-acmpca/package.json
index 8522c051e20b0..d224dab1c4ae9 100644
--- a/packages/@aws-cdk/aws-acmpca/package.json
+++ b/packages/@aws-cdk/aws-acmpca/package.json
@@ -48,7 +48,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
diff --git a/packages/@aws-cdk/aws-amazonmq/package.json b/packages/@aws-cdk/aws-amazonmq/package.json
index 56d6e296c4ed0..ded5a55cb754d 100644
--- a/packages/@aws-cdk/aws-amazonmq/package.json
+++ b/packages/@aws-cdk/aws-amazonmq/package.json
@@ -45,7 +45,7 @@
"homepage": "https://github.com/aws/aws-cdk",
"scripts": {
"build": "cdk-build",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"lint": "cdk-lint",
"package": "cdk-package",
"pkglint": "pkglint -f",
diff --git a/packages/@aws-cdk/aws-amplify/package.json b/packages/@aws-cdk/aws-amplify/package.json
index 7a221bfd747f5..136d0751da30d 100644
--- a/packages/@aws-cdk/aws-amplify/package.json
+++ b/packages/@aws-cdk/aws-amplify/package.json
@@ -45,7 +45,7 @@
"homepage": "https://github.com/aws/aws-cdk",
"scripts": {
"build": "cdk-build",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"lint": "cdk-lint",
"package": "cdk-package",
"awslint": "cdk-awslint",
@@ -83,7 +83,7 @@
"devDependencies": {
"@aws-cdk/assertions": "0.0.0",
"@aws-cdk/cdk-build-tools": "0.0.0",
- "@aws-cdk/cdk-integ-tools": "0.0.0",
+ "@aws-cdk/integ-runner": "0.0.0",
"@aws-cdk/cfn2ts": "0.0.0",
"@aws-cdk/pkglint": "0.0.0",
"@types/jest": "^27.4.1",
diff --git a/packages/@aws-cdk/aws-amplifyuibuilder/package.json b/packages/@aws-cdk/aws-amplifyuibuilder/package.json
index 443b2308b309f..2993bc2338e68 100644
--- a/packages/@aws-cdk/aws-amplifyuibuilder/package.json
+++ b/packages/@aws-cdk/aws-amplifyuibuilder/package.json
@@ -50,7 +50,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
diff --git a/packages/@aws-cdk/aws-apigateway/package.json b/packages/@aws-cdk/aws-apigateway/package.json
index 3243e168f0919..727111aedea01 100644
--- a/packages/@aws-cdk/aws-apigateway/package.json
+++ b/packages/@aws-cdk/aws-apigateway/package.json
@@ -47,7 +47,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
@@ -81,7 +81,7 @@
"devDependencies": {
"@aws-cdk/assertions": "0.0.0",
"@aws-cdk/cdk-build-tools": "0.0.0",
- "@aws-cdk/cdk-integ-tools": "0.0.0",
+ "@aws-cdk/integ-runner": "0.0.0",
"@aws-cdk/cfn2ts": "0.0.0",
"@aws-cdk/pkglint": "0.0.0",
"@types/jest": "^27.4.1"
diff --git a/packages/@aws-cdk/aws-apigatewayv2-authorizers/package.json b/packages/@aws-cdk/aws-apigatewayv2-authorizers/package.json
index 0f103f65f0baa..dbe4d7caf5687 100644
--- a/packages/@aws-cdk/aws-apigatewayv2-authorizers/package.json
+++ b/packages/@aws-cdk/aws-apigatewayv2-authorizers/package.json
@@ -47,7 +47,7 @@
"homepage": "https://github.com/aws/aws-cdk",
"scripts": {
"build": "cdk-build",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"lint": "cdk-lint",
"package": "cdk-package",
"awslint": "cdk-awslint",
@@ -83,7 +83,7 @@
"@aws-cdk/aws-apigatewayv2-integrations": "0.0.0",
"@aws-cdk/aws-lambda": "0.0.0",
"@aws-cdk/cdk-build-tools": "0.0.0",
- "@aws-cdk/cdk-integ-tools": "0.0.0",
+ "@aws-cdk/integ-runner": "0.0.0",
"@aws-cdk/pkglint": "0.0.0",
"@types/aws-lambda": "^8.10.93",
"@types/jest": "^27.4.1"
diff --git a/packages/@aws-cdk/aws-apigatewayv2-integrations/package.json b/packages/@aws-cdk/aws-apigatewayv2-integrations/package.json
index 749d5fb08b479..5fc257787f250 100644
--- a/packages/@aws-cdk/aws-apigatewayv2-integrations/package.json
+++ b/packages/@aws-cdk/aws-apigatewayv2-integrations/package.json
@@ -45,7 +45,7 @@
"homepage": "https://github.com/aws/aws-cdk",
"scripts": {
"build": "cdk-build",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"lint": "cdk-lint",
"package": "cdk-package",
"awslint": "cdk-awslint",
@@ -79,7 +79,7 @@
"devDependencies": {
"@aws-cdk/assertions": "0.0.0",
"@aws-cdk/cdk-build-tools": "0.0.0",
- "@aws-cdk/cdk-integ-tools": "0.0.0",
+ "@aws-cdk/integ-runner": "0.0.0",
"@aws-cdk/pkglint": "0.0.0",
"@types/jest": "^27.4.1"
},
diff --git a/packages/@aws-cdk/aws-apigatewayv2/package.json b/packages/@aws-cdk/aws-apigatewayv2/package.json
index 088009ce5a483..0280d19f544c7 100644
--- a/packages/@aws-cdk/aws-apigatewayv2/package.json
+++ b/packages/@aws-cdk/aws-apigatewayv2/package.json
@@ -49,7 +49,7 @@
"homepage": "https://github.com/aws/aws-cdk",
"scripts": {
"build": "cdk-build",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"lint": "cdk-lint",
"package": "cdk-package",
"awslint": "cdk-awslint",
@@ -86,7 +86,7 @@
"devDependencies": {
"@aws-cdk/assertions": "0.0.0",
"@aws-cdk/cdk-build-tools": "0.0.0",
- "@aws-cdk/cdk-integ-tools": "0.0.0",
+ "@aws-cdk/integ-runner": "0.0.0",
"@aws-cdk/cfn2ts": "0.0.0",
"@aws-cdk/pkglint": "0.0.0",
"@types/jest": "^27.4.1"
diff --git a/packages/@aws-cdk/aws-appconfig/package.json b/packages/@aws-cdk/aws-appconfig/package.json
index 59a35b9f2f241..da7019ac3b3ed 100644
--- a/packages/@aws-cdk/aws-appconfig/package.json
+++ b/packages/@aws-cdk/aws-appconfig/package.json
@@ -48,7 +48,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
diff --git a/packages/@aws-cdk/aws-appflow/package.json b/packages/@aws-cdk/aws-appflow/package.json
index e401c2c7c98de..a4b3837f703b4 100644
--- a/packages/@aws-cdk/aws-appflow/package.json
+++ b/packages/@aws-cdk/aws-appflow/package.json
@@ -48,7 +48,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
diff --git a/packages/@aws-cdk/aws-appintegrations/package.json b/packages/@aws-cdk/aws-appintegrations/package.json
index d0615ae38682c..31a3aceb8349e 100644
--- a/packages/@aws-cdk/aws-appintegrations/package.json
+++ b/packages/@aws-cdk/aws-appintegrations/package.json
@@ -50,7 +50,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
diff --git a/packages/@aws-cdk/aws-applicationautoscaling/package.json b/packages/@aws-cdk/aws-applicationautoscaling/package.json
index 2f389484affc8..ae332e80e0a21 100644
--- a/packages/@aws-cdk/aws-applicationautoscaling/package.json
+++ b/packages/@aws-cdk/aws-applicationautoscaling/package.json
@@ -47,7 +47,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
diff --git a/packages/@aws-cdk/aws-applicationinsights/package.json b/packages/@aws-cdk/aws-applicationinsights/package.json
index 70ecad632f81f..45d3b9ee62e1b 100644
--- a/packages/@aws-cdk/aws-applicationinsights/package.json
+++ b/packages/@aws-cdk/aws-applicationinsights/package.json
@@ -48,7 +48,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
diff --git a/packages/@aws-cdk/aws-appmesh/package.json b/packages/@aws-cdk/aws-appmesh/package.json
index 81b3eff008d13..ea289b0a5e4a3 100644
--- a/packages/@aws-cdk/aws-appmesh/package.json
+++ b/packages/@aws-cdk/aws-appmesh/package.json
@@ -45,7 +45,7 @@
"homepage": "https://github.com/aws/aws-cdk",
"scripts": {
"build": "cdk-build",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"lint": "cdk-lint",
"package": "cdk-package",
"awslint": "cdk-awslint",
@@ -86,7 +86,7 @@
"devDependencies": {
"@aws-cdk/assertions": "0.0.0",
"@aws-cdk/cdk-build-tools": "0.0.0",
- "@aws-cdk/cdk-integ-tools": "0.0.0",
+ "@aws-cdk/integ-runner": "0.0.0",
"@aws-cdk/cfn2ts": "0.0.0",
"@aws-cdk/pkglint": "0.0.0",
"@types/jest": "^27.4.1",
diff --git a/packages/@aws-cdk/aws-apprunner/package.json b/packages/@aws-cdk/aws-apprunner/package.json
index be5b3afe4c9cc..17f45e4fed62c 100644
--- a/packages/@aws-cdk/aws-apprunner/package.json
+++ b/packages/@aws-cdk/aws-apprunner/package.json
@@ -50,7 +50,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
@@ -85,7 +85,7 @@
"devDependencies": {
"@aws-cdk/assertions": "0.0.0",
"@aws-cdk/cdk-build-tools": "0.0.0",
- "@aws-cdk/cdk-integ-tools": "0.0.0",
+ "@aws-cdk/integ-runner": "0.0.0",
"@aws-cdk/cfn2ts": "0.0.0",
"@aws-cdk/pkglint": "0.0.0",
"@types/jest": "^27.4.1"
diff --git a/packages/@aws-cdk/aws-appstream/package.json b/packages/@aws-cdk/aws-appstream/package.json
index 0069735f46906..7aa13ca79383a 100644
--- a/packages/@aws-cdk/aws-appstream/package.json
+++ b/packages/@aws-cdk/aws-appstream/package.json
@@ -45,7 +45,7 @@
"homepage": "https://github.com/aws/aws-cdk",
"scripts": {
"build": "cdk-build",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"lint": "cdk-lint",
"package": "cdk-package",
"pkglint": "pkglint -f",
diff --git a/packages/@aws-cdk/aws-appsync/package.json b/packages/@aws-cdk/aws-appsync/package.json
index f69c2d957e031..df905bcf64877 100644
--- a/packages/@aws-cdk/aws-appsync/package.json
+++ b/packages/@aws-cdk/aws-appsync/package.json
@@ -47,7 +47,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
@@ -82,7 +82,7 @@
"@aws-cdk/assertions": "0.0.0",
"@aws-cdk/aws-stepfunctions": "0.0.0",
"@aws-cdk/cdk-build-tools": "0.0.0",
- "@aws-cdk/cdk-integ-tools": "0.0.0",
+ "@aws-cdk/integ-runner": "0.0.0",
"@aws-cdk/cfn2ts": "0.0.0",
"@aws-cdk/pkglint": "0.0.0",
"@types/jest": "^27.4.1",
diff --git a/packages/@aws-cdk/aws-aps/package.json b/packages/@aws-cdk/aws-aps/package.json
index 7fbef265f7a3b..dec987db00090 100644
--- a/packages/@aws-cdk/aws-aps/package.json
+++ b/packages/@aws-cdk/aws-aps/package.json
@@ -50,7 +50,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
diff --git a/packages/@aws-cdk/aws-athena/package.json b/packages/@aws-cdk/aws-athena/package.json
index 134a9cdbe2bdf..a19b3186cd6dc 100644
--- a/packages/@aws-cdk/aws-athena/package.json
+++ b/packages/@aws-cdk/aws-athena/package.json
@@ -53,7 +53,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
@@ -81,7 +81,7 @@
"devDependencies": {
"@aws-cdk/assertions": "0.0.0",
"@aws-cdk/cdk-build-tools": "0.0.0",
- "@aws-cdk/cdk-integ-tools": "0.0.0",
+ "@aws-cdk/integ-runner": "0.0.0",
"@aws-cdk/cfn2ts": "0.0.0",
"@aws-cdk/pkglint": "0.0.0",
"@types/jest": "^27.4.1",
diff --git a/packages/@aws-cdk/aws-auditmanager/package.json b/packages/@aws-cdk/aws-auditmanager/package.json
index 16fe6cc71fd69..13f995d6a08a9 100644
--- a/packages/@aws-cdk/aws-auditmanager/package.json
+++ b/packages/@aws-cdk/aws-auditmanager/package.json
@@ -48,7 +48,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
diff --git a/packages/@aws-cdk/aws-autoscaling-common/package.json b/packages/@aws-cdk/aws-autoscaling-common/package.json
index e8107108376f5..a2b30425d8a1c 100644
--- a/packages/@aws-cdk/aws-autoscaling-common/package.json
+++ b/packages/@aws-cdk/aws-autoscaling-common/package.json
@@ -47,7 +47,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
@@ -72,7 +72,7 @@
"license": "Apache-2.0",
"devDependencies": {
"@aws-cdk/cdk-build-tools": "0.0.0",
- "@aws-cdk/cdk-integ-tools": "0.0.0",
+ "@aws-cdk/integ-runner": "0.0.0",
"@aws-cdk/pkglint": "0.0.0",
"@types/jest": "^27.4.1",
"fast-check": "^2.23.2",
diff --git a/packages/@aws-cdk/aws-autoscaling-hooktargets/package.json b/packages/@aws-cdk/aws-autoscaling-hooktargets/package.json
index 164d2d933695c..edeeed55a537f 100644
--- a/packages/@aws-cdk/aws-autoscaling-hooktargets/package.json
+++ b/packages/@aws-cdk/aws-autoscaling-hooktargets/package.json
@@ -47,7 +47,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
@@ -74,7 +74,7 @@
"@aws-cdk/assertions": "0.0.0",
"@aws-cdk/aws-ec2": "0.0.0",
"@aws-cdk/cdk-build-tools": "0.0.0",
- "@aws-cdk/cdk-integ-tools": "0.0.0",
+ "@aws-cdk/integ-runner": "0.0.0",
"@aws-cdk/cfn2ts": "0.0.0",
"@aws-cdk/pkglint": "0.0.0",
"@types/jest": "^27.4.1",
diff --git a/packages/@aws-cdk/aws-autoscaling/package.json b/packages/@aws-cdk/aws-autoscaling/package.json
index 46b688d3ae6ec..20eb5ed6d346f 100644
--- a/packages/@aws-cdk/aws-autoscaling/package.json
+++ b/packages/@aws-cdk/aws-autoscaling/package.json
@@ -47,7 +47,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
@@ -81,7 +81,7 @@
"devDependencies": {
"@aws-cdk/assertions": "0.0.0",
"@aws-cdk/cdk-build-tools": "0.0.0",
- "@aws-cdk/cdk-integ-tools": "0.0.0",
+ "@aws-cdk/integ-runner": "0.0.0",
"@aws-cdk/cfn2ts": "0.0.0",
"@aws-cdk/cloud-assembly-schema": "0.0.0",
"@aws-cdk/cx-api": "0.0.0",
diff --git a/packages/@aws-cdk/aws-autoscalingplans/package.json b/packages/@aws-cdk/aws-autoscalingplans/package.json
index 26c9be8cc368f..e491b41dcd4f0 100644
--- a/packages/@aws-cdk/aws-autoscalingplans/package.json
+++ b/packages/@aws-cdk/aws-autoscalingplans/package.json
@@ -47,7 +47,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
diff --git a/packages/@aws-cdk/aws-backup/package.json b/packages/@aws-cdk/aws-backup/package.json
index 5462be05a3813..981c0c7a9e01c 100644
--- a/packages/@aws-cdk/aws-backup/package.json
+++ b/packages/@aws-cdk/aws-backup/package.json
@@ -45,7 +45,7 @@
"homepage": "https://github.com/aws/aws-cdk",
"scripts": {
"build": "cdk-build",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"lint": "cdk-lint",
"package": "cdk-package",
"awslint": "cdk-awslint",
@@ -83,7 +83,7 @@
"devDependencies": {
"@aws-cdk/assertions": "0.0.0",
"@aws-cdk/cdk-build-tools": "0.0.0",
- "@aws-cdk/cdk-integ-tools": "0.0.0",
+ "@aws-cdk/integ-runner": "0.0.0",
"@aws-cdk/cfn2ts": "0.0.0",
"@aws-cdk/pkglint": "0.0.0",
"@types/jest": "^27.4.1"
diff --git a/packages/@aws-cdk/aws-batch/package.json b/packages/@aws-cdk/aws-batch/package.json
index 0c405c1a720f5..65e6cd7589550 100644
--- a/packages/@aws-cdk/aws-batch/package.json
+++ b/packages/@aws-cdk/aws-batch/package.json
@@ -47,7 +47,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
@@ -81,7 +81,7 @@
"devDependencies": {
"@aws-cdk/assertions": "0.0.0",
"@aws-cdk/cdk-build-tools": "0.0.0",
- "@aws-cdk/cdk-integ-tools": "0.0.0",
+ "@aws-cdk/integ-runner": "0.0.0",
"@aws-cdk/cfn2ts": "0.0.0",
"@aws-cdk/pkglint": "0.0.0",
"@types/jest": "^27.4.1",
diff --git a/packages/@aws-cdk/aws-billingconductor/package.json b/packages/@aws-cdk/aws-billingconductor/package.json
index c3dafc9781d87..783fe54f49312 100644
--- a/packages/@aws-cdk/aws-billingconductor/package.json
+++ b/packages/@aws-cdk/aws-billingconductor/package.json
@@ -50,7 +50,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
diff --git a/packages/@aws-cdk/aws-budgets/package.json b/packages/@aws-cdk/aws-budgets/package.json
index 3da84da4dcca0..bf54f646e39a3 100644
--- a/packages/@aws-cdk/aws-budgets/package.json
+++ b/packages/@aws-cdk/aws-budgets/package.json
@@ -47,7 +47,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
diff --git a/packages/@aws-cdk/aws-cassandra/package.json b/packages/@aws-cdk/aws-cassandra/package.json
index 5325bf8bfe1bf..5320ece3520e3 100644
--- a/packages/@aws-cdk/aws-cassandra/package.json
+++ b/packages/@aws-cdk/aws-cassandra/package.json
@@ -48,7 +48,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
diff --git a/packages/@aws-cdk/aws-ce/package.json b/packages/@aws-cdk/aws-ce/package.json
index ff751b12bb50d..c7734df1f6f75 100644
--- a/packages/@aws-cdk/aws-ce/package.json
+++ b/packages/@aws-cdk/aws-ce/package.json
@@ -48,7 +48,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
diff --git a/packages/@aws-cdk/aws-certificatemanager/package.json b/packages/@aws-cdk/aws-certificatemanager/package.json
index b2dcdedca636d..7a0a17c0cc7bd 100644
--- a/packages/@aws-cdk/aws-certificatemanager/package.json
+++ b/packages/@aws-cdk/aws-certificatemanager/package.json
@@ -47,7 +47,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
diff --git a/packages/@aws-cdk/aws-chatbot/package.json b/packages/@aws-cdk/aws-chatbot/package.json
index 259cf25fb4985..328f55250b1ea 100644
--- a/packages/@aws-cdk/aws-chatbot/package.json
+++ b/packages/@aws-cdk/aws-chatbot/package.json
@@ -48,7 +48,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
@@ -83,7 +83,7 @@
"devDependencies": {
"@aws-cdk/assertions": "0.0.0",
"@aws-cdk/cdk-build-tools": "0.0.0",
- "@aws-cdk/cdk-integ-tools": "0.0.0",
+ "@aws-cdk/integ-runner": "0.0.0",
"@aws-cdk/cfn2ts": "0.0.0",
"@aws-cdk/pkglint": "0.0.0",
"@types/jest": "^27.4.1"
diff --git a/packages/@aws-cdk/aws-cloud9/package.json b/packages/@aws-cdk/aws-cloud9/package.json
index 2fd6aab3799e2..570dd589d0d9d 100644
--- a/packages/@aws-cdk/aws-cloud9/package.json
+++ b/packages/@aws-cdk/aws-cloud9/package.json
@@ -47,7 +47,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
@@ -82,7 +82,7 @@
"@aws-cdk/assertions": "0.0.0",
"@aws-cdk/aws-codecommit": "0.0.0",
"@aws-cdk/cdk-build-tools": "0.0.0",
- "@aws-cdk/cdk-integ-tools": "0.0.0",
+ "@aws-cdk/integ-runner": "0.0.0",
"@aws-cdk/cfn2ts": "0.0.0",
"@aws-cdk/pkglint": "0.0.0",
"@types/jest": "^27.4.1"
diff --git a/packages/@aws-cdk/aws-cloudformation/package.json b/packages/@aws-cdk/aws-cloudformation/package.json
index 3f3b7106f9943..c3fbf4378ffbd 100644
--- a/packages/@aws-cdk/aws-cloudformation/package.json
+++ b/packages/@aws-cdk/aws-cloudformation/package.json
@@ -47,7 +47,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
@@ -83,7 +83,7 @@
"@aws-cdk/aws-sqs": "0.0.0",
"@aws-cdk/aws-ssm": "0.0.0",
"@aws-cdk/cdk-build-tools": "0.0.0",
- "@aws-cdk/cdk-integ-tools": "0.0.0",
+ "@aws-cdk/integ-runner": "0.0.0",
"@aws-cdk/cfn2ts": "0.0.0",
"@aws-cdk/pkglint": "0.0.0",
"@types/aws-lambda": "^8.10.93",
diff --git a/packages/@aws-cdk/aws-cloudfront-origins/package.json b/packages/@aws-cdk/aws-cloudfront-origins/package.json
index d7bea5cd1ecca..3af587193e346 100644
--- a/packages/@aws-cdk/aws-cloudfront-origins/package.json
+++ b/packages/@aws-cdk/aws-cloudfront-origins/package.json
@@ -47,7 +47,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
@@ -80,7 +80,7 @@
"@aws-cdk/assertions": "0.0.0",
"@aws-cdk/aws-ec2": "0.0.0",
"@aws-cdk/cdk-build-tools": "0.0.0",
- "@aws-cdk/cdk-integ-tools": "0.0.0",
+ "@aws-cdk/integ-runner": "0.0.0",
"@aws-cdk/pkglint": "0.0.0",
"@types/jest": "^27.4.1",
"aws-sdk": "^2.848.0"
diff --git a/packages/@aws-cdk/aws-cloudfront/package.json b/packages/@aws-cdk/aws-cloudfront/package.json
index 37ee6edb996a2..aabe53c75317d 100644
--- a/packages/@aws-cdk/aws-cloudfront/package.json
+++ b/packages/@aws-cdk/aws-cloudfront/package.json
@@ -47,7 +47,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
@@ -81,7 +81,7 @@
"devDependencies": {
"@aws-cdk/assertions": "0.0.0",
"@aws-cdk/cdk-build-tools": "0.0.0",
- "@aws-cdk/cdk-integ-tools": "0.0.0",
+ "@aws-cdk/integ-runner": "0.0.0",
"@aws-cdk/cfn2ts": "0.0.0",
"@aws-cdk/pkglint": "0.0.0",
"@types/jest": "^27.4.1",
diff --git a/packages/@aws-cdk/aws-cloudtrail/package.json b/packages/@aws-cdk/aws-cloudtrail/package.json
index d5b30cb2c16c8..b37672fe67bd4 100644
--- a/packages/@aws-cdk/aws-cloudtrail/package.json
+++ b/packages/@aws-cdk/aws-cloudtrail/package.json
@@ -51,7 +51,7 @@
"package": "cdk-package",
"awslint": "cdk-awslint",
"cfn2ts": "cfn2ts",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"build+test+package": "yarn build+test && yarn package",
"build+test": "yarn build && yarn test",
"compat": "cdk-compat",
@@ -81,7 +81,7 @@
"devDependencies": {
"@aws-cdk/assertions": "0.0.0",
"@aws-cdk/cdk-build-tools": "0.0.0",
- "@aws-cdk/cdk-integ-tools": "0.0.0",
+ "@aws-cdk/integ-runner": "0.0.0",
"@aws-cdk/cfn2ts": "0.0.0",
"@aws-cdk/pkglint": "0.0.0",
"@types/jest": "^27.4.1",
diff --git a/packages/@aws-cdk/aws-cloudwatch-actions/package.json b/packages/@aws-cdk/aws-cloudwatch-actions/package.json
index a54a582f66548..4b5af7ab4790b 100644
--- a/packages/@aws-cdk/aws-cloudwatch-actions/package.json
+++ b/packages/@aws-cdk/aws-cloudwatch-actions/package.json
@@ -47,7 +47,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
@@ -74,7 +74,7 @@
"@aws-cdk/assertions": "0.0.0",
"@aws-cdk/aws-ec2": "0.0.0",
"@aws-cdk/cdk-build-tools": "0.0.0",
- "@aws-cdk/cdk-integ-tools": "0.0.0",
+ "@aws-cdk/integ-runner": "0.0.0",
"@aws-cdk/cfn2ts": "0.0.0",
"@aws-cdk/pkglint": "0.0.0",
"@types/jest": "^27.4.1",
diff --git a/packages/@aws-cdk/aws-cloudwatch/package.json b/packages/@aws-cdk/aws-cloudwatch/package.json
index f263def7dfcd2..5d4642aea4e0c 100644
--- a/packages/@aws-cdk/aws-cloudwatch/package.json
+++ b/packages/@aws-cdk/aws-cloudwatch/package.json
@@ -47,7 +47,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
@@ -81,7 +81,7 @@
"devDependencies": {
"@aws-cdk/assertions": "0.0.0",
"@aws-cdk/cdk-build-tools": "0.0.0",
- "@aws-cdk/cdk-integ-tools": "0.0.0",
+ "@aws-cdk/integ-runner": "0.0.0",
"@aws-cdk/cfn2ts": "0.0.0",
"@aws-cdk/pkglint": "0.0.0",
"@types/jest": "^27.4.1",
diff --git a/packages/@aws-cdk/aws-codeartifact/package.json b/packages/@aws-cdk/aws-codeartifact/package.json
index 9303cee955029..f9ce40d1cfc22 100644
--- a/packages/@aws-cdk/aws-codeartifact/package.json
+++ b/packages/@aws-cdk/aws-codeartifact/package.json
@@ -48,7 +48,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
diff --git a/packages/@aws-cdk/aws-codebuild/package.json b/packages/@aws-cdk/aws-codebuild/package.json
index 5f43a603aaa62..0f5352cc03182 100644
--- a/packages/@aws-cdk/aws-codebuild/package.json
+++ b/packages/@aws-cdk/aws-codebuild/package.json
@@ -47,7 +47,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
@@ -87,7 +87,7 @@
"@aws-cdk/aws-sns": "0.0.0",
"@aws-cdk/aws-sqs": "0.0.0",
"@aws-cdk/cdk-build-tools": "0.0.0",
- "@aws-cdk/cdk-integ-tools": "0.0.0",
+ "@aws-cdk/integ-runner": "0.0.0",
"@aws-cdk/cfn2ts": "0.0.0",
"@aws-cdk/pkglint": "0.0.0",
"@types/jest": "^27.4.1",
diff --git a/packages/@aws-cdk/aws-codecommit/package.json b/packages/@aws-cdk/aws-codecommit/package.json
index 108604988db31..661be4e714578 100644
--- a/packages/@aws-cdk/aws-codecommit/package.json
+++ b/packages/@aws-cdk/aws-codecommit/package.json
@@ -47,7 +47,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
@@ -87,7 +87,7 @@
"@aws-cdk/assertions": "0.0.0",
"@aws-cdk/aws-sns": "0.0.0",
"@aws-cdk/cdk-build-tools": "0.0.0",
- "@aws-cdk/cdk-integ-tools": "0.0.0",
+ "@aws-cdk/integ-runner": "0.0.0",
"@aws-cdk/cfn2ts": "0.0.0",
"@aws-cdk/cloud-assembly-schema": "0.0.0",
"@aws-cdk/pkglint": "0.0.0",
diff --git a/packages/@aws-cdk/aws-codedeploy/package.json b/packages/@aws-cdk/aws-codedeploy/package.json
index ff289e51bbe4c..d5cc959cce8e6 100644
--- a/packages/@aws-cdk/aws-codedeploy/package.json
+++ b/packages/@aws-cdk/aws-codedeploy/package.json
@@ -47,7 +47,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
@@ -84,7 +84,7 @@
"devDependencies": {
"@aws-cdk/assertions": "0.0.0",
"@aws-cdk/cdk-build-tools": "0.0.0",
- "@aws-cdk/cdk-integ-tools": "0.0.0",
+ "@aws-cdk/integ-runner": "0.0.0",
"@aws-cdk/cfn2ts": "0.0.0",
"@aws-cdk/pkglint": "0.0.0",
"@types/jest": "^27.4.1",
diff --git a/packages/@aws-cdk/aws-codeguruprofiler/package.json b/packages/@aws-cdk/aws-codeguruprofiler/package.json
index 65ab5a7d206dc..e3afa9a91b4a9 100644
--- a/packages/@aws-cdk/aws-codeguruprofiler/package.json
+++ b/packages/@aws-cdk/aws-codeguruprofiler/package.json
@@ -48,7 +48,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
@@ -83,7 +83,7 @@
"devDependencies": {
"@aws-cdk/assertions": "0.0.0",
"@aws-cdk/cdk-build-tools": "0.0.0",
- "@aws-cdk/cdk-integ-tools": "0.0.0",
+ "@aws-cdk/integ-runner": "0.0.0",
"@aws-cdk/cfn2ts": "0.0.0",
"@aws-cdk/pkglint": "0.0.0",
"@types/jest": "^27.4.1"
diff --git a/packages/@aws-cdk/aws-codegurureviewer/package.json b/packages/@aws-cdk/aws-codegurureviewer/package.json
index e0e2d1748e1ae..737dcabb18a76 100644
--- a/packages/@aws-cdk/aws-codegurureviewer/package.json
+++ b/packages/@aws-cdk/aws-codegurureviewer/package.json
@@ -48,7 +48,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
diff --git a/packages/@aws-cdk/aws-codepipeline-actions/package.json b/packages/@aws-cdk/aws-codepipeline-actions/package.json
index b9d312c04ae38..3bf3d8df55f9f 100644
--- a/packages/@aws-cdk/aws-codepipeline-actions/package.json
+++ b/packages/@aws-cdk/aws-codepipeline-actions/package.json
@@ -47,7 +47,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
@@ -80,7 +80,7 @@
"@aws-cdk/aws-codestarnotifications": "0.0.0",
"@aws-cdk/aws-s3-assets": "0.0.0",
"@aws-cdk/cdk-build-tools": "0.0.0",
- "@aws-cdk/cdk-integ-tools": "0.0.0",
+ "@aws-cdk/integ-runner": "0.0.0",
"@aws-cdk/cx-api": "0.0.0",
"@aws-cdk/pkglint": "0.0.0",
"@types/jest": "^27.4.1",
diff --git a/packages/@aws-cdk/aws-codepipeline/package.json b/packages/@aws-cdk/aws-codepipeline/package.json
index 8d3f6978b445a..6d53a66213e3b 100644
--- a/packages/@aws-cdk/aws-codepipeline/package.json
+++ b/packages/@aws-cdk/aws-codepipeline/package.json
@@ -47,7 +47,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
@@ -86,7 +86,7 @@
"devDependencies": {
"@aws-cdk/assertions": "0.0.0",
"@aws-cdk/cdk-build-tools": "0.0.0",
- "@aws-cdk/cdk-integ-tools": "0.0.0",
+ "@aws-cdk/integ-runner": "0.0.0",
"@aws-cdk/cfn2ts": "0.0.0",
"@aws-cdk/cx-api": "0.0.0",
"@aws-cdk/pkglint": "0.0.0",
diff --git a/packages/@aws-cdk/aws-codestar/package.json b/packages/@aws-cdk/aws-codestar/package.json
index 478f09bef3b9d..cf2c44da54b27 100644
--- a/packages/@aws-cdk/aws-codestar/package.json
+++ b/packages/@aws-cdk/aws-codestar/package.json
@@ -45,7 +45,7 @@
"homepage": "https://github.com/aws/aws-cdk",
"scripts": {
"build": "cdk-build",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"lint": "cdk-lint",
"package": "cdk-package",
"awslint": "cdk-awslint",
@@ -83,7 +83,7 @@
"devDependencies": {
"@aws-cdk/assertions": "0.0.0",
"@aws-cdk/cdk-build-tools": "0.0.0",
- "@aws-cdk/cdk-integ-tools": "0.0.0",
+ "@aws-cdk/integ-runner": "0.0.0",
"@aws-cdk/cfn2ts": "0.0.0",
"@aws-cdk/pkglint": "0.0.0",
"@types/jest": "^27.4.1"
diff --git a/packages/@aws-cdk/aws-codestarconnections/package.json b/packages/@aws-cdk/aws-codestarconnections/package.json
index 2e8cfc5deac99..90e5bb8986cfc 100644
--- a/packages/@aws-cdk/aws-codestarconnections/package.json
+++ b/packages/@aws-cdk/aws-codestarconnections/package.json
@@ -48,7 +48,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
diff --git a/packages/@aws-cdk/aws-codestarnotifications/package.json b/packages/@aws-cdk/aws-codestarnotifications/package.json
index 5e181702720cf..606c671dbf187 100644
--- a/packages/@aws-cdk/aws-codestarnotifications/package.json
+++ b/packages/@aws-cdk/aws-codestarnotifications/package.json
@@ -45,7 +45,7 @@
"homepage": "https://github.com/aws/aws-cdk",
"scripts": {
"build": "cdk-build",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"lint": "cdk-lint",
"package": "cdk-package",
"awslint": "cdk-awslint",
@@ -83,7 +83,7 @@
"devDependencies": {
"@aws-cdk/assertions": "0.0.0",
"@aws-cdk/cdk-build-tools": "0.0.0",
- "@aws-cdk/cdk-integ-tools": "0.0.0",
+ "@aws-cdk/integ-runner": "0.0.0",
"@aws-cdk/cfn2ts": "0.0.0",
"@aws-cdk/pkglint": "0.0.0",
"@types/jest": "^27.4.1"
diff --git a/packages/@aws-cdk/aws-cognito-identitypool/package.json b/packages/@aws-cdk/aws-cognito-identitypool/package.json
index 19171391ad7be..7107f537808a4 100644
--- a/packages/@aws-cdk/aws-cognito-identitypool/package.json
+++ b/packages/@aws-cdk/aws-cognito-identitypool/package.json
@@ -47,7 +47,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
@@ -79,7 +79,7 @@
"devDependencies": {
"@aws-cdk/assertions": "0.0.0",
"@aws-cdk/cdk-build-tools": "0.0.0",
- "@aws-cdk/cdk-integ-tools": "0.0.0",
+ "@aws-cdk/integ-runner": "0.0.0",
"@aws-cdk/pkglint": "0.0.0",
"@types/jest": "^27.4.1",
"jest": "^27.5.1"
diff --git a/packages/@aws-cdk/aws-cognito/package.json b/packages/@aws-cdk/aws-cognito/package.json
index 7f38517f6abae..5eaba8463c93a 100644
--- a/packages/@aws-cdk/aws-cognito/package.json
+++ b/packages/@aws-cdk/aws-cognito/package.json
@@ -47,7 +47,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
@@ -81,7 +81,7 @@
"devDependencies": {
"@aws-cdk/assertions": "0.0.0",
"@aws-cdk/cdk-build-tools": "0.0.0",
- "@aws-cdk/cdk-integ-tools": "0.0.0",
+ "@aws-cdk/integ-runner": "0.0.0",
"@aws-cdk/cfn2ts": "0.0.0",
"@aws-cdk/pkglint": "0.0.0",
"@types/jest": "^27.4.1",
diff --git a/packages/@aws-cdk/aws-config/package.json b/packages/@aws-cdk/aws-config/package.json
index 8a121a8927bd4..d21097e54822b 100644
--- a/packages/@aws-cdk/aws-config/package.json
+++ b/packages/@aws-cdk/aws-config/package.json
@@ -47,7 +47,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
@@ -82,7 +82,7 @@
"@aws-cdk/assertions": "0.0.0",
"@aws-cdk/aws-events-targets": "0.0.0",
"@aws-cdk/cdk-build-tools": "0.0.0",
- "@aws-cdk/cdk-integ-tools": "0.0.0",
+ "@aws-cdk/integ-runner": "0.0.0",
"@aws-cdk/cfn2ts": "0.0.0",
"@aws-cdk/pkglint": "0.0.0",
"@types/jest": "^27.4.1",
diff --git a/packages/@aws-cdk/aws-connect/package.json b/packages/@aws-cdk/aws-connect/package.json
index e9d851b1824a9..932ef3ebed422 100644
--- a/packages/@aws-cdk/aws-connect/package.json
+++ b/packages/@aws-cdk/aws-connect/package.json
@@ -50,7 +50,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
diff --git a/packages/@aws-cdk/aws-cur/package.json b/packages/@aws-cdk/aws-cur/package.json
index 00adc1d4d1602..3f0f814089f13 100644
--- a/packages/@aws-cdk/aws-cur/package.json
+++ b/packages/@aws-cdk/aws-cur/package.json
@@ -50,7 +50,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
diff --git a/packages/@aws-cdk/aws-customerprofiles/package.json b/packages/@aws-cdk/aws-customerprofiles/package.json
index d9a6f1632efab..16391ee038b4d 100644
--- a/packages/@aws-cdk/aws-customerprofiles/package.json
+++ b/packages/@aws-cdk/aws-customerprofiles/package.json
@@ -50,7 +50,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
diff --git a/packages/@aws-cdk/aws-databrew/package.json b/packages/@aws-cdk/aws-databrew/package.json
index 749abf6bab9b7..16c9ba4996511 100644
--- a/packages/@aws-cdk/aws-databrew/package.json
+++ b/packages/@aws-cdk/aws-databrew/package.json
@@ -48,7 +48,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
diff --git a/packages/@aws-cdk/aws-datapipeline/package.json b/packages/@aws-cdk/aws-datapipeline/package.json
index 24d3144f7c33d..68cb7f58ebf11 100644
--- a/packages/@aws-cdk/aws-datapipeline/package.json
+++ b/packages/@aws-cdk/aws-datapipeline/package.json
@@ -47,7 +47,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
diff --git a/packages/@aws-cdk/aws-datasync/package.json b/packages/@aws-cdk/aws-datasync/package.json
index ff9c4cdd4699b..0c9a41aee659d 100644
--- a/packages/@aws-cdk/aws-datasync/package.json
+++ b/packages/@aws-cdk/aws-datasync/package.json
@@ -48,7 +48,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
diff --git a/packages/@aws-cdk/aws-dax/package.json b/packages/@aws-cdk/aws-dax/package.json
index 2901f449cf06e..df2725584a8b9 100644
--- a/packages/@aws-cdk/aws-dax/package.json
+++ b/packages/@aws-cdk/aws-dax/package.json
@@ -47,7 +47,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
diff --git a/packages/@aws-cdk/aws-detective/package.json b/packages/@aws-cdk/aws-detective/package.json
index cc061a9a00648..dd8180c100946 100644
--- a/packages/@aws-cdk/aws-detective/package.json
+++ b/packages/@aws-cdk/aws-detective/package.json
@@ -48,7 +48,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
diff --git a/packages/@aws-cdk/aws-devopsguru/package.json b/packages/@aws-cdk/aws-devopsguru/package.json
index 9937e175014f4..a44df57c45e87 100644
--- a/packages/@aws-cdk/aws-devopsguru/package.json
+++ b/packages/@aws-cdk/aws-devopsguru/package.json
@@ -48,7 +48,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
diff --git a/packages/@aws-cdk/aws-directoryservice/package.json b/packages/@aws-cdk/aws-directoryservice/package.json
index 4d37918cd7b3a..17e6136484970 100644
--- a/packages/@aws-cdk/aws-directoryservice/package.json
+++ b/packages/@aws-cdk/aws-directoryservice/package.json
@@ -47,7 +47,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
diff --git a/packages/@aws-cdk/aws-dlm/package.json b/packages/@aws-cdk/aws-dlm/package.json
index f1601bd7cc135..d948205f0699a 100644
--- a/packages/@aws-cdk/aws-dlm/package.json
+++ b/packages/@aws-cdk/aws-dlm/package.json
@@ -45,7 +45,7 @@
"homepage": "https://github.com/aws/aws-cdk",
"scripts": {
"build": "cdk-build",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"lint": "cdk-lint",
"package": "cdk-package",
"pkglint": "pkglint -f",
diff --git a/packages/@aws-cdk/aws-dms/package.json b/packages/@aws-cdk/aws-dms/package.json
index 3f20999bb1e0a..b921dfc556c09 100644
--- a/packages/@aws-cdk/aws-dms/package.json
+++ b/packages/@aws-cdk/aws-dms/package.json
@@ -47,7 +47,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
diff --git a/packages/@aws-cdk/aws-docdb/package.json b/packages/@aws-cdk/aws-docdb/package.json
index 02721228f2097..dfb4ac2967848 100644
--- a/packages/@aws-cdk/aws-docdb/package.json
+++ b/packages/@aws-cdk/aws-docdb/package.json
@@ -45,7 +45,7 @@
"homepage": "https://github.com/aws/aws-cdk",
"scripts": {
"build": "cdk-build",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"lint": "cdk-lint",
"package": "cdk-package",
"pkglint": "pkglint -f",
@@ -83,7 +83,7 @@
"devDependencies": {
"@aws-cdk/assertions": "0.0.0",
"@aws-cdk/cdk-build-tools": "0.0.0",
- "@aws-cdk/cdk-integ-tools": "0.0.0",
+ "@aws-cdk/integ-runner": "0.0.0",
"@aws-cdk/cfn2ts": "0.0.0",
"@aws-cdk/pkglint": "0.0.0",
"@types/jest": "^27.4.1"
diff --git a/packages/@aws-cdk/aws-dynamodb-global/package.json b/packages/@aws-cdk/aws-dynamodb-global/package.json
index 5618565bc6119..c7d79cff2c452 100644
--- a/packages/@aws-cdk/aws-dynamodb-global/package.json
+++ b/packages/@aws-cdk/aws-dynamodb-global/package.json
@@ -65,7 +65,7 @@
"devDependencies": {
"@aws-cdk/assertions": "0.0.0",
"@aws-cdk/cdk-build-tools": "0.0.0",
- "@aws-cdk/cdk-integ-tools": "0.0.0",
+ "@aws-cdk/integ-runner": "0.0.0",
"@aws-cdk/pkglint": "0.0.0",
"@types/jest": "^27.4.1",
"jest": "^27.5.1"
@@ -82,7 +82,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
diff --git a/packages/@aws-cdk/aws-dynamodb/package.json b/packages/@aws-cdk/aws-dynamodb/package.json
index 1b30eb1a07e6d..cb68215f1a183 100644
--- a/packages/@aws-cdk/aws-dynamodb/package.json
+++ b/packages/@aws-cdk/aws-dynamodb/package.json
@@ -47,7 +47,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
@@ -81,7 +81,7 @@
"devDependencies": {
"@aws-cdk/assertions": "0.0.0",
"@aws-cdk/cdk-build-tools": "0.0.0",
- "@aws-cdk/cdk-integ-tools": "0.0.0",
+ "@aws-cdk/integ-runner": "0.0.0",
"@aws-cdk/cfn2ts": "0.0.0",
"@aws-cdk/pkglint": "0.0.0",
"@types/aws-lambda": "^8.10.93",
diff --git a/packages/@aws-cdk/aws-ec2/package.json b/packages/@aws-cdk/aws-ec2/package.json
index 3c523ea0fdd0a..d4eb79f90f699 100644
--- a/packages/@aws-cdk/aws-ec2/package.json
+++ b/packages/@aws-cdk/aws-ec2/package.json
@@ -47,7 +47,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
@@ -81,7 +81,7 @@
"devDependencies": {
"@aws-cdk/assertions": "0.0.0",
"@aws-cdk/cdk-build-tools": "0.0.0",
- "@aws-cdk/cdk-integ-tools": "0.0.0",
+ "@aws-cdk/integ-runner": "0.0.0",
"@aws-cdk/cfn2ts": "0.0.0",
"@aws-cdk/cloud-assembly-schema": "0.0.0",
"@aws-cdk/cx-api": "0.0.0",
diff --git a/packages/@aws-cdk/aws-ecr-assets/package.json b/packages/@aws-cdk/aws-ecr-assets/package.json
index 75fb178adb95a..def8bfe65f867 100644
--- a/packages/@aws-cdk/aws-ecr-assets/package.json
+++ b/packages/@aws-cdk/aws-ecr-assets/package.json
@@ -47,7 +47,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
@@ -74,7 +74,7 @@
"devDependencies": {
"@aws-cdk/assertions": "0.0.0",
"@aws-cdk/cdk-build-tools": "0.0.0",
- "@aws-cdk/cdk-integ-tools": "0.0.0",
+ "@aws-cdk/integ-runner": "0.0.0",
"@aws-cdk/cloud-assembly-schema": "0.0.0",
"@aws-cdk/pkglint": "0.0.0",
"@types/jest": "^27.4.1",
diff --git a/packages/@aws-cdk/aws-ecr/package.json b/packages/@aws-cdk/aws-ecr/package.json
index ae13302f8642e..9c458232da0c3 100644
--- a/packages/@aws-cdk/aws-ecr/package.json
+++ b/packages/@aws-cdk/aws-ecr/package.json
@@ -47,7 +47,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
@@ -85,7 +85,7 @@
"devDependencies": {
"@aws-cdk/assertions": "0.0.0",
"@aws-cdk/cdk-build-tools": "0.0.0",
- "@aws-cdk/cdk-integ-tools": "0.0.0",
+ "@aws-cdk/integ-runner": "0.0.0",
"@aws-cdk/cfn2ts": "0.0.0",
"@aws-cdk/pkglint": "0.0.0",
"@types/jest": "^27.4.1"
diff --git a/packages/@aws-cdk/aws-ecs-patterns/package.json b/packages/@aws-cdk/aws-ecs-patterns/package.json
index 72d98e55f86d1..a7fe6f96f89a8 100644
--- a/packages/@aws-cdk/aws-ecs-patterns/package.json
+++ b/packages/@aws-cdk/aws-ecs-patterns/package.json
@@ -47,7 +47,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
@@ -74,7 +74,7 @@
"devDependencies": {
"@aws-cdk/assertions": "0.0.0",
"@aws-cdk/cdk-build-tools": "0.0.0",
- "@aws-cdk/cdk-integ-tools": "0.0.0",
+ "@aws-cdk/integ-runner": "0.0.0",
"@aws-cdk/cfn2ts": "0.0.0",
"@aws-cdk/pkglint": "0.0.0",
"@types/jest": "^27.4.1",
diff --git a/packages/@aws-cdk/aws-ecs/package.json b/packages/@aws-cdk/aws-ecs/package.json
index e35bdd03298c7..1d3787c2d2af2 100644
--- a/packages/@aws-cdk/aws-ecs/package.json
+++ b/packages/@aws-cdk/aws-ecs/package.json
@@ -47,7 +47,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
@@ -83,7 +83,7 @@
"@aws-cdk/aws-s3-deployment": "0.0.0",
"@aws-cdk/aws-efs": "0.0.0",
"@aws-cdk/cdk-build-tools": "0.0.0",
- "@aws-cdk/cdk-integ-tools": "0.0.0",
+ "@aws-cdk/integ-runner": "0.0.0",
"@aws-cdk/cfn2ts": "0.0.0",
"@aws-cdk/cx-api": "0.0.0",
"@aws-cdk/pkglint": "0.0.0",
diff --git a/packages/@aws-cdk/aws-ecs/test/fargate/fargate-with-efs.integ.snapshot/aws-ecs-fargate-efs.template.json b/packages/@aws-cdk/aws-ecs/test/fargate/fargate-with-efs.integ.snapshot/aws-ecs-fargate-efs.template.json
new file mode 100644
index 0000000000000..4df1d3bbcce99
--- /dev/null
+++ b/packages/@aws-cdk/aws-ecs/test/fargate/fargate-with-efs.integ.snapshot/aws-ecs-fargate-efs.template.json
@@ -0,0 +1,512 @@
+{
+ "Resources": {
+ "Vpc8378EB38": {
+ "Type": "AWS::EC2::VPC",
+ "Properties": {
+ "CidrBlock": "10.0.0.0/16",
+ "EnableDnsHostnames": true,
+ "EnableDnsSupport": true,
+ "InstanceTenancy": "default",
+ "Tags": [
+ {
+ "Key": "Name",
+ "Value": "aws-ecs-fargate-efs/Vpc"
+ }
+ ]
+ }
+ },
+ "VpcPublicSubnet1Subnet5C2D37C4": {
+ "Type": "AWS::EC2::Subnet",
+ "Properties": {
+ "VpcId": {
+ "Ref": "Vpc8378EB38"
+ },
+ "AvailabilityZone": {
+ "Fn::Select": [
+ 0,
+ {
+ "Fn::GetAZs": ""
+ }
+ ]
+ },
+ "CidrBlock": "10.0.0.0/18",
+ "MapPublicIpOnLaunch": true,
+ "Tags": [
+ {
+ "Key": "aws-cdk:subnet-name",
+ "Value": "Public"
+ },
+ {
+ "Key": "aws-cdk:subnet-type",
+ "Value": "Public"
+ },
+ {
+ "Key": "Name",
+ "Value": "aws-ecs-fargate-efs/Vpc/PublicSubnet1"
+ }
+ ]
+ }
+ },
+ "VpcPublicSubnet1RouteTable6C95E38E": {
+ "Type": "AWS::EC2::RouteTable",
+ "Properties": {
+ "VpcId": {
+ "Ref": "Vpc8378EB38"
+ },
+ "Tags": [
+ {
+ "Key": "Name",
+ "Value": "aws-ecs-fargate-efs/Vpc/PublicSubnet1"
+ }
+ ]
+ }
+ },
+ "VpcPublicSubnet1RouteTableAssociation97140677": {
+ "Type": "AWS::EC2::SubnetRouteTableAssociation",
+ "Properties": {
+ "RouteTableId": {
+ "Ref": "VpcPublicSubnet1RouteTable6C95E38E"
+ },
+ "SubnetId": {
+ "Ref": "VpcPublicSubnet1Subnet5C2D37C4"
+ }
+ }
+ },
+ "VpcPublicSubnet1DefaultRoute3DA9E72A": {
+ "Type": "AWS::EC2::Route",
+ "Properties": {
+ "RouteTableId": {
+ "Ref": "VpcPublicSubnet1RouteTable6C95E38E"
+ },
+ "DestinationCidrBlock": "0.0.0.0/0",
+ "GatewayId": {
+ "Ref": "VpcIGWD7BA715C"
+ }
+ },
+ "DependsOn": [
+ "VpcVPCGWBF912B6E"
+ ]
+ },
+ "VpcPublicSubnet1EIPD7E02669": {
+ "Type": "AWS::EC2::EIP",
+ "Properties": {
+ "Domain": "vpc",
+ "Tags": [
+ {
+ "Key": "Name",
+ "Value": "aws-ecs-fargate-efs/Vpc/PublicSubnet1"
+ }
+ ]
+ }
+ },
+ "VpcPublicSubnet1NATGateway4D7517AA": {
+ "Type": "AWS::EC2::NatGateway",
+ "Properties": {
+ "SubnetId": {
+ "Ref": "VpcPublicSubnet1Subnet5C2D37C4"
+ },
+ "AllocationId": {
+ "Fn::GetAtt": [
+ "VpcPublicSubnet1EIPD7E02669",
+ "AllocationId"
+ ]
+ },
+ "Tags": [
+ {
+ "Key": "Name",
+ "Value": "aws-ecs-fargate-efs/Vpc/PublicSubnet1"
+ }
+ ]
+ }
+ },
+ "VpcPublicSubnet2Subnet691E08A3": {
+ "Type": "AWS::EC2::Subnet",
+ "Properties": {
+ "VpcId": {
+ "Ref": "Vpc8378EB38"
+ },
+ "AvailabilityZone": {
+ "Fn::Select": [
+ 1,
+ {
+ "Fn::GetAZs": ""
+ }
+ ]
+ },
+ "CidrBlock": "10.0.64.0/18",
+ "MapPublicIpOnLaunch": true,
+ "Tags": [
+ {
+ "Key": "aws-cdk:subnet-name",
+ "Value": "Public"
+ },
+ {
+ "Key": "aws-cdk:subnet-type",
+ "Value": "Public"
+ },
+ {
+ "Key": "Name",
+ "Value": "aws-ecs-fargate-efs/Vpc/PublicSubnet2"
+ }
+ ]
+ }
+ },
+ "VpcPublicSubnet2RouteTable94F7E489": {
+ "Type": "AWS::EC2::RouteTable",
+ "Properties": {
+ "VpcId": {
+ "Ref": "Vpc8378EB38"
+ },
+ "Tags": [
+ {
+ "Key": "Name",
+ "Value": "aws-ecs-fargate-efs/Vpc/PublicSubnet2"
+ }
+ ]
+ }
+ },
+ "VpcPublicSubnet2RouteTableAssociationDD5762D8": {
+ "Type": "AWS::EC2::SubnetRouteTableAssociation",
+ "Properties": {
+ "RouteTableId": {
+ "Ref": "VpcPublicSubnet2RouteTable94F7E489"
+ },
+ "SubnetId": {
+ "Ref": "VpcPublicSubnet2Subnet691E08A3"
+ }
+ }
+ },
+ "VpcPublicSubnet2DefaultRoute97F91067": {
+ "Type": "AWS::EC2::Route",
+ "Properties": {
+ "RouteTableId": {
+ "Ref": "VpcPublicSubnet2RouteTable94F7E489"
+ },
+ "DestinationCidrBlock": "0.0.0.0/0",
+ "GatewayId": {
+ "Ref": "VpcIGWD7BA715C"
+ }
+ },
+ "DependsOn": [
+ "VpcVPCGWBF912B6E"
+ ]
+ },
+ "VpcPublicSubnet2EIP3C605A87": {
+ "Type": "AWS::EC2::EIP",
+ "Properties": {
+ "Domain": "vpc",
+ "Tags": [
+ {
+ "Key": "Name",
+ "Value": "aws-ecs-fargate-efs/Vpc/PublicSubnet2"
+ }
+ ]
+ }
+ },
+ "VpcPublicSubnet2NATGateway9182C01D": {
+ "Type": "AWS::EC2::NatGateway",
+ "Properties": {
+ "SubnetId": {
+ "Ref": "VpcPublicSubnet2Subnet691E08A3"
+ },
+ "AllocationId": {
+ "Fn::GetAtt": [
+ "VpcPublicSubnet2EIP3C605A87",
+ "AllocationId"
+ ]
+ },
+ "Tags": [
+ {
+ "Key": "Name",
+ "Value": "aws-ecs-fargate-efs/Vpc/PublicSubnet2"
+ }
+ ]
+ }
+ },
+ "VpcPrivateSubnet1Subnet536B997A": {
+ "Type": "AWS::EC2::Subnet",
+ "Properties": {
+ "VpcId": {
+ "Ref": "Vpc8378EB38"
+ },
+ "AvailabilityZone": {
+ "Fn::Select": [
+ 0,
+ {
+ "Fn::GetAZs": ""
+ }
+ ]
+ },
+ "CidrBlock": "10.0.128.0/18",
+ "MapPublicIpOnLaunch": false,
+ "Tags": [
+ {
+ "Key": "aws-cdk:subnet-name",
+ "Value": "Private"
+ },
+ {
+ "Key": "aws-cdk:subnet-type",
+ "Value": "Private"
+ },
+ {
+ "Key": "Name",
+ "Value": "aws-ecs-fargate-efs/Vpc/PrivateSubnet1"
+ }
+ ]
+ }
+ },
+ "VpcPrivateSubnet1RouteTableB2C5B500": {
+ "Type": "AWS::EC2::RouteTable",
+ "Properties": {
+ "VpcId": {
+ "Ref": "Vpc8378EB38"
+ },
+ "Tags": [
+ {
+ "Key": "Name",
+ "Value": "aws-ecs-fargate-efs/Vpc/PrivateSubnet1"
+ }
+ ]
+ }
+ },
+ "VpcPrivateSubnet1RouteTableAssociation70C59FA6": {
+ "Type": "AWS::EC2::SubnetRouteTableAssociation",
+ "Properties": {
+ "RouteTableId": {
+ "Ref": "VpcPrivateSubnet1RouteTableB2C5B500"
+ },
+ "SubnetId": {
+ "Ref": "VpcPrivateSubnet1Subnet536B997A"
+ }
+ }
+ },
+ "VpcPrivateSubnet1DefaultRouteBE02A9ED": {
+ "Type": "AWS::EC2::Route",
+ "Properties": {
+ "RouteTableId": {
+ "Ref": "VpcPrivateSubnet1RouteTableB2C5B500"
+ },
+ "DestinationCidrBlock": "0.0.0.0/0",
+ "NatGatewayId": {
+ "Ref": "VpcPublicSubnet1NATGateway4D7517AA"
+ }
+ }
+ },
+ "VpcPrivateSubnet2Subnet3788AAA1": {
+ "Type": "AWS::EC2::Subnet",
+ "Properties": {
+ "VpcId": {
+ "Ref": "Vpc8378EB38"
+ },
+ "AvailabilityZone": {
+ "Fn::Select": [
+ 1,
+ {
+ "Fn::GetAZs": ""
+ }
+ ]
+ },
+ "CidrBlock": "10.0.192.0/18",
+ "MapPublicIpOnLaunch": false,
+ "Tags": [
+ {
+ "Key": "aws-cdk:subnet-name",
+ "Value": "Private"
+ },
+ {
+ "Key": "aws-cdk:subnet-type",
+ "Value": "Private"
+ },
+ {
+ "Key": "Name",
+ "Value": "aws-ecs-fargate-efs/Vpc/PrivateSubnet2"
+ }
+ ]
+ }
+ },
+ "VpcPrivateSubnet2RouteTableA678073B": {
+ "Type": "AWS::EC2::RouteTable",
+ "Properties": {
+ "VpcId": {
+ "Ref": "Vpc8378EB38"
+ },
+ "Tags": [
+ {
+ "Key": "Name",
+ "Value": "aws-ecs-fargate-efs/Vpc/PrivateSubnet2"
+ }
+ ]
+ }
+ },
+ "VpcPrivateSubnet2RouteTableAssociationA89CAD56": {
+ "Type": "AWS::EC2::SubnetRouteTableAssociation",
+ "Properties": {
+ "RouteTableId": {
+ "Ref": "VpcPrivateSubnet2RouteTableA678073B"
+ },
+ "SubnetId": {
+ "Ref": "VpcPrivateSubnet2Subnet3788AAA1"
+ }
+ }
+ },
+ "VpcPrivateSubnet2DefaultRoute060D2087": {
+ "Type": "AWS::EC2::Route",
+ "Properties": {
+ "RouteTableId": {
+ "Ref": "VpcPrivateSubnet2RouteTableA678073B"
+ },
+ "DestinationCidrBlock": "0.0.0.0/0",
+ "NatGatewayId": {
+ "Ref": "VpcPublicSubnet2NATGateway9182C01D"
+ }
+ }
+ },
+ "VpcIGWD7BA715C": {
+ "Type": "AWS::EC2::InternetGateway",
+ "Properties": {
+ "Tags": [
+ {
+ "Key": "Name",
+ "Value": "aws-ecs-fargate-efs/Vpc"
+ }
+ ]
+ }
+ },
+ "VpcVPCGWBF912B6E": {
+ "Type": "AWS::EC2::VPCGatewayAttachment",
+ "Properties": {
+ "VpcId": {
+ "Ref": "Vpc8378EB38"
+ },
+ "InternetGatewayId": {
+ "Ref": "VpcIGWD7BA715C"
+ }
+ }
+ },
+ "etcdata80702D7D": {
+ "Type": "AWS::EFS::FileSystem",
+ "Properties": {
+ "FileSystemTags": [
+ {
+ "Key": "Name",
+ "Value": "aws-ecs-fargate-efs/etcdata"
+ }
+ ]
+ },
+ "UpdateReplacePolicy": "Retain",
+ "DeletionPolicy": "Retain"
+ },
+ "etcdataEfsSecurityGroupB0A9B014": {
+ "Type": "AWS::EC2::SecurityGroup",
+ "Properties": {
+ "GroupDescription": "aws-ecs-fargate-efs/etcdata/EfsSecurityGroup",
+ "SecurityGroupEgress": [
+ {
+ "CidrIp": "0.0.0.0/0",
+ "Description": "Allow all outbound traffic by default",
+ "IpProtocol": "-1"
+ }
+ ],
+ "Tags": [
+ {
+ "Key": "Name",
+ "Value": "aws-ecs-fargate-efs/etcdata"
+ }
+ ],
+ "VpcId": {
+ "Ref": "Vpc8378EB38"
+ }
+ }
+ },
+ "etcdataEfsMountTarget1A2665990": {
+ "Type": "AWS::EFS::MountTarget",
+ "Properties": {
+ "FileSystemId": {
+ "Ref": "etcdata80702D7D"
+ },
+ "SecurityGroups": [
+ {
+ "Fn::GetAtt": [
+ "etcdataEfsSecurityGroupB0A9B014",
+ "GroupId"
+ ]
+ }
+ ],
+ "SubnetId": {
+ "Ref": "VpcPrivateSubnet1Subnet536B997A"
+ }
+ }
+ },
+ "etcdataEfsMountTarget280CEA26C": {
+ "Type": "AWS::EFS::MountTarget",
+ "Properties": {
+ "FileSystemId": {
+ "Ref": "etcdata80702D7D"
+ },
+ "SecurityGroups": [
+ {
+ "Fn::GetAtt": [
+ "etcdataEfsSecurityGroupB0A9B014",
+ "GroupId"
+ ]
+ }
+ ],
+ "SubnetId": {
+ "Ref": "VpcPrivateSubnet2Subnet3788AAA1"
+ }
+ }
+ },
+ "TaskDefTaskRole1EDB4A67": {
+ "Type": "AWS::IAM::Role",
+ "Properties": {
+ "AssumeRolePolicyDocument": {
+ "Statement": [
+ {
+ "Action": "sts:AssumeRole",
+ "Effect": "Allow",
+ "Principal": {
+ "Service": "ecs-tasks.amazonaws.com"
+ }
+ }
+ ],
+ "Version": "2012-10-17"
+ }
+ }
+ },
+ "TaskDef54694570": {
+ "Type": "AWS::ECS::TaskDefinition",
+ "Properties": {
+ "ContainerDefinitions": [
+ {
+ "Essential": true,
+ "Image": "amazon/amazon-ecs-sample",
+ "Name": "web"
+ }
+ ],
+ "Cpu": "256",
+ "Family": "awsecsfargateefsTaskDefBFA2D408",
+ "Memory": "512",
+ "NetworkMode": "awsvpc",
+ "RequiresCompatibilities": [
+ "FARGATE"
+ ],
+ "TaskRoleArn": {
+ "Fn::GetAtt": [
+ "TaskDefTaskRole1EDB4A67",
+ "Arn"
+ ]
+ },
+ "Volumes": [
+ {
+ "EFSVolumeConfiguration": {
+ "FilesystemId": {
+ "Ref": "etcdata80702D7D"
+ }
+ },
+ "Name": "somedata"
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/@aws-cdk/aws-ecs/test/fargate/fargate-with-efs.integ.snapshot/cdk.out b/packages/@aws-cdk/aws-ecs/test/fargate/fargate-with-efs.integ.snapshot/cdk.out
new file mode 100644
index 0000000000000..90bef2e09ad39
--- /dev/null
+++ b/packages/@aws-cdk/aws-ecs/test/fargate/fargate-with-efs.integ.snapshot/cdk.out
@@ -0,0 +1 @@
+{"version":"17.0.0"}
\ No newline at end of file
diff --git a/packages/@aws-cdk/aws-ecs/test/fargate/fargate-with-efs.integ.snapshot/manifest.json b/packages/@aws-cdk/aws-ecs/test/fargate/fargate-with-efs.integ.snapshot/manifest.json
new file mode 100644
index 0000000000000..29f5e43939ba5
--- /dev/null
+++ b/packages/@aws-cdk/aws-ecs/test/fargate/fargate-with-efs.integ.snapshot/manifest.json
@@ -0,0 +1,197 @@
+{
+ "version": "17.0.0",
+ "artifacts": {
+ "Tree": {
+ "type": "cdk:tree",
+ "properties": {
+ "file": "tree.json"
+ },
+ "metadata": {}
+ },
+ "aws-ecs-fargate-efs": {
+ "type": "aws:cloudformation:stack",
+ "environment": "aws://unknown-account/unknown-region",
+ "properties": {
+ "templateFile": "aws-ecs-fargate-efs.template.json",
+ "validateOnSynth": false
+ },
+ "metadata": {
+ "/aws-ecs-fargate-efs/Vpc/Resource": [
+ {
+ "type": "aws:cdk:logicalId",
+ "data": "Vpc8378EB38"
+ }
+ ],
+ "/aws-ecs-fargate-efs/Vpc/PublicSubnet1/Subnet": [
+ {
+ "type": "aws:cdk:logicalId",
+ "data": "VpcPublicSubnet1Subnet5C2D37C4"
+ }
+ ],
+ "/aws-ecs-fargate-efs/Vpc/PublicSubnet1/RouteTable": [
+ {
+ "type": "aws:cdk:logicalId",
+ "data": "VpcPublicSubnet1RouteTable6C95E38E"
+ }
+ ],
+ "/aws-ecs-fargate-efs/Vpc/PublicSubnet1/RouteTableAssociation": [
+ {
+ "type": "aws:cdk:logicalId",
+ "data": "VpcPublicSubnet1RouteTableAssociation97140677"
+ }
+ ],
+ "/aws-ecs-fargate-efs/Vpc/PublicSubnet1/DefaultRoute": [
+ {
+ "type": "aws:cdk:logicalId",
+ "data": "VpcPublicSubnet1DefaultRoute3DA9E72A"
+ }
+ ],
+ "/aws-ecs-fargate-efs/Vpc/PublicSubnet1/EIP": [
+ {
+ "type": "aws:cdk:logicalId",
+ "data": "VpcPublicSubnet1EIPD7E02669"
+ }
+ ],
+ "/aws-ecs-fargate-efs/Vpc/PublicSubnet1/NATGateway": [
+ {
+ "type": "aws:cdk:logicalId",
+ "data": "VpcPublicSubnet1NATGateway4D7517AA"
+ }
+ ],
+ "/aws-ecs-fargate-efs/Vpc/PublicSubnet2/Subnet": [
+ {
+ "type": "aws:cdk:logicalId",
+ "data": "VpcPublicSubnet2Subnet691E08A3"
+ }
+ ],
+ "/aws-ecs-fargate-efs/Vpc/PublicSubnet2/RouteTable": [
+ {
+ "type": "aws:cdk:logicalId",
+ "data": "VpcPublicSubnet2RouteTable94F7E489"
+ }
+ ],
+ "/aws-ecs-fargate-efs/Vpc/PublicSubnet2/RouteTableAssociation": [
+ {
+ "type": "aws:cdk:logicalId",
+ "data": "VpcPublicSubnet2RouteTableAssociationDD5762D8"
+ }
+ ],
+ "/aws-ecs-fargate-efs/Vpc/PublicSubnet2/DefaultRoute": [
+ {
+ "type": "aws:cdk:logicalId",
+ "data": "VpcPublicSubnet2DefaultRoute97F91067"
+ }
+ ],
+ "/aws-ecs-fargate-efs/Vpc/PublicSubnet2/EIP": [
+ {
+ "type": "aws:cdk:logicalId",
+ "data": "VpcPublicSubnet2EIP3C605A87"
+ }
+ ],
+ "/aws-ecs-fargate-efs/Vpc/PublicSubnet2/NATGateway": [
+ {
+ "type": "aws:cdk:logicalId",
+ "data": "VpcPublicSubnet2NATGateway9182C01D"
+ }
+ ],
+ "/aws-ecs-fargate-efs/Vpc/PrivateSubnet1/Subnet": [
+ {
+ "type": "aws:cdk:logicalId",
+ "data": "VpcPrivateSubnet1Subnet536B997A"
+ }
+ ],
+ "/aws-ecs-fargate-efs/Vpc/PrivateSubnet1/RouteTable": [
+ {
+ "type": "aws:cdk:logicalId",
+ "data": "VpcPrivateSubnet1RouteTableB2C5B500"
+ }
+ ],
+ "/aws-ecs-fargate-efs/Vpc/PrivateSubnet1/RouteTableAssociation": [
+ {
+ "type": "aws:cdk:logicalId",
+ "data": "VpcPrivateSubnet1RouteTableAssociation70C59FA6"
+ }
+ ],
+ "/aws-ecs-fargate-efs/Vpc/PrivateSubnet1/DefaultRoute": [
+ {
+ "type": "aws:cdk:logicalId",
+ "data": "VpcPrivateSubnet1DefaultRouteBE02A9ED"
+ }
+ ],
+ "/aws-ecs-fargate-efs/Vpc/PrivateSubnet2/Subnet": [
+ {
+ "type": "aws:cdk:logicalId",
+ "data": "VpcPrivateSubnet2Subnet3788AAA1"
+ }
+ ],
+ "/aws-ecs-fargate-efs/Vpc/PrivateSubnet2/RouteTable": [
+ {
+ "type": "aws:cdk:logicalId",
+ "data": "VpcPrivateSubnet2RouteTableA678073B"
+ }
+ ],
+ "/aws-ecs-fargate-efs/Vpc/PrivateSubnet2/RouteTableAssociation": [
+ {
+ "type": "aws:cdk:logicalId",
+ "data": "VpcPrivateSubnet2RouteTableAssociationA89CAD56"
+ }
+ ],
+ "/aws-ecs-fargate-efs/Vpc/PrivateSubnet2/DefaultRoute": [
+ {
+ "type": "aws:cdk:logicalId",
+ "data": "VpcPrivateSubnet2DefaultRoute060D2087"
+ }
+ ],
+ "/aws-ecs-fargate-efs/Vpc/IGW": [
+ {
+ "type": "aws:cdk:logicalId",
+ "data": "VpcIGWD7BA715C"
+ }
+ ],
+ "/aws-ecs-fargate-efs/Vpc/VPCGW": [
+ {
+ "type": "aws:cdk:logicalId",
+ "data": "VpcVPCGWBF912B6E"
+ }
+ ],
+ "/aws-ecs-fargate-efs/etcdata/Resource": [
+ {
+ "type": "aws:cdk:logicalId",
+ "data": "etcdata80702D7D"
+ }
+ ],
+ "/aws-ecs-fargate-efs/etcdata/EfsSecurityGroup/Resource": [
+ {
+ "type": "aws:cdk:logicalId",
+ "data": "etcdataEfsSecurityGroupB0A9B014"
+ }
+ ],
+ "/aws-ecs-fargate-efs/etcdata/EfsMountTarget1": [
+ {
+ "type": "aws:cdk:logicalId",
+ "data": "etcdataEfsMountTarget1A2665990"
+ }
+ ],
+ "/aws-ecs-fargate-efs/etcdata/EfsMountTarget2": [
+ {
+ "type": "aws:cdk:logicalId",
+ "data": "etcdataEfsMountTarget280CEA26C"
+ }
+ ],
+ "/aws-ecs-fargate-efs/TaskDef/TaskRole/Resource": [
+ {
+ "type": "aws:cdk:logicalId",
+ "data": "TaskDefTaskRole1EDB4A67"
+ }
+ ],
+ "/aws-ecs-fargate-efs/TaskDef/Resource": [
+ {
+ "type": "aws:cdk:logicalId",
+ "data": "TaskDef54694570"
+ }
+ ]
+ },
+ "displayName": "aws-ecs-fargate-efs"
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/@aws-cdk/aws-ecs/test/fargate/fargate-with-efs.integ.snapshot/tree.json b/packages/@aws-cdk/aws-ecs/test/fargate/fargate-with-efs.integ.snapshot/tree.json
new file mode 100644
index 0000000000000..1afd06d86763c
--- /dev/null
+++ b/packages/@aws-cdk/aws-ecs/test/fargate/fargate-with-efs.integ.snapshot/tree.json
@@ -0,0 +1,893 @@
+{
+ "version": "tree-0.1",
+ "tree": {
+ "id": "App",
+ "path": "",
+ "children": {
+ "Tree": {
+ "id": "Tree",
+ "path": "Tree",
+ "constructInfo": {
+ "fqn": "@aws-cdk/core.Construct",
+ "version": "0.0.0"
+ }
+ },
+ "aws-ecs-fargate-efs": {
+ "id": "aws-ecs-fargate-efs",
+ "path": "aws-ecs-fargate-efs",
+ "children": {
+ "Vpc": {
+ "id": "Vpc",
+ "path": "aws-ecs-fargate-efs/Vpc",
+ "children": {
+ "Resource": {
+ "id": "Resource",
+ "path": "aws-ecs-fargate-efs/Vpc/Resource",
+ "attributes": {
+ "aws:cdk:cloudformation:type": "AWS::EC2::VPC",
+ "aws:cdk:cloudformation:props": {
+ "cidrBlock": "10.0.0.0/16",
+ "enableDnsHostnames": true,
+ "enableDnsSupport": true,
+ "instanceTenancy": "default",
+ "tags": [
+ {
+ "key": "Name",
+ "value": "aws-ecs-fargate-efs/Vpc"
+ }
+ ]
+ }
+ },
+ "constructInfo": {
+ "fqn": "@aws-cdk/aws-ec2.CfnVPC",
+ "version": "0.0.0"
+ }
+ },
+ "PublicSubnet1": {
+ "id": "PublicSubnet1",
+ "path": "aws-ecs-fargate-efs/Vpc/PublicSubnet1",
+ "children": {
+ "Subnet": {
+ "id": "Subnet",
+ "path": "aws-ecs-fargate-efs/Vpc/PublicSubnet1/Subnet",
+ "attributes": {
+ "aws:cdk:cloudformation:type": "AWS::EC2::Subnet",
+ "aws:cdk:cloudformation:props": {
+ "vpcId": {
+ "Ref": "Vpc8378EB38"
+ },
+ "availabilityZone": {
+ "Fn::Select": [
+ 0,
+ {
+ "Fn::GetAZs": ""
+ }
+ ]
+ },
+ "cidrBlock": "10.0.0.0/18",
+ "mapPublicIpOnLaunch": true,
+ "tags": [
+ {
+ "key": "aws-cdk:subnet-name",
+ "value": "Public"
+ },
+ {
+ "key": "aws-cdk:subnet-type",
+ "value": "Public"
+ },
+ {
+ "key": "Name",
+ "value": "aws-ecs-fargate-efs/Vpc/PublicSubnet1"
+ }
+ ]
+ }
+ },
+ "constructInfo": {
+ "fqn": "@aws-cdk/aws-ec2.CfnSubnet",
+ "version": "0.0.0"
+ }
+ },
+ "Acl": {
+ "id": "Acl",
+ "path": "aws-ecs-fargate-efs/Vpc/PublicSubnet1/Acl",
+ "constructInfo": {
+ "fqn": "@aws-cdk/core.Resource",
+ "version": "0.0.0"
+ }
+ },
+ "RouteTable": {
+ "id": "RouteTable",
+ "path": "aws-ecs-fargate-efs/Vpc/PublicSubnet1/RouteTable",
+ "attributes": {
+ "aws:cdk:cloudformation:type": "AWS::EC2::RouteTable",
+ "aws:cdk:cloudformation:props": {
+ "vpcId": {
+ "Ref": "Vpc8378EB38"
+ },
+ "tags": [
+ {
+ "key": "Name",
+ "value": "aws-ecs-fargate-efs/Vpc/PublicSubnet1"
+ }
+ ]
+ }
+ },
+ "constructInfo": {
+ "fqn": "@aws-cdk/aws-ec2.CfnRouteTable",
+ "version": "0.0.0"
+ }
+ },
+ "RouteTableAssociation": {
+ "id": "RouteTableAssociation",
+ "path": "aws-ecs-fargate-efs/Vpc/PublicSubnet1/RouteTableAssociation",
+ "attributes": {
+ "aws:cdk:cloudformation:type": "AWS::EC2::SubnetRouteTableAssociation",
+ "aws:cdk:cloudformation:props": {
+ "routeTableId": {
+ "Ref": "VpcPublicSubnet1RouteTable6C95E38E"
+ },
+ "subnetId": {
+ "Ref": "VpcPublicSubnet1Subnet5C2D37C4"
+ }
+ }
+ },
+ "constructInfo": {
+ "fqn": "@aws-cdk/aws-ec2.CfnSubnetRouteTableAssociation",
+ "version": "0.0.0"
+ }
+ },
+ "DefaultRoute": {
+ "id": "DefaultRoute",
+ "path": "aws-ecs-fargate-efs/Vpc/PublicSubnet1/DefaultRoute",
+ "attributes": {
+ "aws:cdk:cloudformation:type": "AWS::EC2::Route",
+ "aws:cdk:cloudformation:props": {
+ "routeTableId": {
+ "Ref": "VpcPublicSubnet1RouteTable6C95E38E"
+ },
+ "destinationCidrBlock": "0.0.0.0/0",
+ "gatewayId": {
+ "Ref": "VpcIGWD7BA715C"
+ }
+ }
+ },
+ "constructInfo": {
+ "fqn": "@aws-cdk/aws-ec2.CfnRoute",
+ "version": "0.0.0"
+ }
+ },
+ "EIP": {
+ "id": "EIP",
+ "path": "aws-ecs-fargate-efs/Vpc/PublicSubnet1/EIP",
+ "attributes": {
+ "aws:cdk:cloudformation:type": "AWS::EC2::EIP",
+ "aws:cdk:cloudformation:props": {
+ "domain": "vpc",
+ "tags": [
+ {
+ "key": "Name",
+ "value": "aws-ecs-fargate-efs/Vpc/PublicSubnet1"
+ }
+ ]
+ }
+ },
+ "constructInfo": {
+ "fqn": "@aws-cdk/aws-ec2.CfnEIP",
+ "version": "0.0.0"
+ }
+ },
+ "NATGateway": {
+ "id": "NATGateway",
+ "path": "aws-ecs-fargate-efs/Vpc/PublicSubnet1/NATGateway",
+ "attributes": {
+ "aws:cdk:cloudformation:type": "AWS::EC2::NatGateway",
+ "aws:cdk:cloudformation:props": {
+ "subnetId": {
+ "Ref": "VpcPublicSubnet1Subnet5C2D37C4"
+ },
+ "allocationId": {
+ "Fn::GetAtt": [
+ "VpcPublicSubnet1EIPD7E02669",
+ "AllocationId"
+ ]
+ },
+ "tags": [
+ {
+ "key": "Name",
+ "value": "aws-ecs-fargate-efs/Vpc/PublicSubnet1"
+ }
+ ]
+ }
+ },
+ "constructInfo": {
+ "fqn": "@aws-cdk/aws-ec2.CfnNatGateway",
+ "version": "0.0.0"
+ }
+ }
+ },
+ "constructInfo": {
+ "fqn": "@aws-cdk/aws-ec2.PublicSubnet",
+ "version": "0.0.0"
+ }
+ },
+ "PublicSubnet2": {
+ "id": "PublicSubnet2",
+ "path": "aws-ecs-fargate-efs/Vpc/PublicSubnet2",
+ "children": {
+ "Subnet": {
+ "id": "Subnet",
+ "path": "aws-ecs-fargate-efs/Vpc/PublicSubnet2/Subnet",
+ "attributes": {
+ "aws:cdk:cloudformation:type": "AWS::EC2::Subnet",
+ "aws:cdk:cloudformation:props": {
+ "vpcId": {
+ "Ref": "Vpc8378EB38"
+ },
+ "availabilityZone": {
+ "Fn::Select": [
+ 1,
+ {
+ "Fn::GetAZs": ""
+ }
+ ]
+ },
+ "cidrBlock": "10.0.64.0/18",
+ "mapPublicIpOnLaunch": true,
+ "tags": [
+ {
+ "key": "aws-cdk:subnet-name",
+ "value": "Public"
+ },
+ {
+ "key": "aws-cdk:subnet-type",
+ "value": "Public"
+ },
+ {
+ "key": "Name",
+ "value": "aws-ecs-fargate-efs/Vpc/PublicSubnet2"
+ }
+ ]
+ }
+ },
+ "constructInfo": {
+ "fqn": "@aws-cdk/aws-ec2.CfnSubnet",
+ "version": "0.0.0"
+ }
+ },
+ "Acl": {
+ "id": "Acl",
+ "path": "aws-ecs-fargate-efs/Vpc/PublicSubnet2/Acl",
+ "constructInfo": {
+ "fqn": "@aws-cdk/core.Resource",
+ "version": "0.0.0"
+ }
+ },
+ "RouteTable": {
+ "id": "RouteTable",
+ "path": "aws-ecs-fargate-efs/Vpc/PublicSubnet2/RouteTable",
+ "attributes": {
+ "aws:cdk:cloudformation:type": "AWS::EC2::RouteTable",
+ "aws:cdk:cloudformation:props": {
+ "vpcId": {
+ "Ref": "Vpc8378EB38"
+ },
+ "tags": [
+ {
+ "key": "Name",
+ "value": "aws-ecs-fargate-efs/Vpc/PublicSubnet2"
+ }
+ ]
+ }
+ },
+ "constructInfo": {
+ "fqn": "@aws-cdk/aws-ec2.CfnRouteTable",
+ "version": "0.0.0"
+ }
+ },
+ "RouteTableAssociation": {
+ "id": "RouteTableAssociation",
+ "path": "aws-ecs-fargate-efs/Vpc/PublicSubnet2/RouteTableAssociation",
+ "attributes": {
+ "aws:cdk:cloudformation:type": "AWS::EC2::SubnetRouteTableAssociation",
+ "aws:cdk:cloudformation:props": {
+ "routeTableId": {
+ "Ref": "VpcPublicSubnet2RouteTable94F7E489"
+ },
+ "subnetId": {
+ "Ref": "VpcPublicSubnet2Subnet691E08A3"
+ }
+ }
+ },
+ "constructInfo": {
+ "fqn": "@aws-cdk/aws-ec2.CfnSubnetRouteTableAssociation",
+ "version": "0.0.0"
+ }
+ },
+ "DefaultRoute": {
+ "id": "DefaultRoute",
+ "path": "aws-ecs-fargate-efs/Vpc/PublicSubnet2/DefaultRoute",
+ "attributes": {
+ "aws:cdk:cloudformation:type": "AWS::EC2::Route",
+ "aws:cdk:cloudformation:props": {
+ "routeTableId": {
+ "Ref": "VpcPublicSubnet2RouteTable94F7E489"
+ },
+ "destinationCidrBlock": "0.0.0.0/0",
+ "gatewayId": {
+ "Ref": "VpcIGWD7BA715C"
+ }
+ }
+ },
+ "constructInfo": {
+ "fqn": "@aws-cdk/aws-ec2.CfnRoute",
+ "version": "0.0.0"
+ }
+ },
+ "EIP": {
+ "id": "EIP",
+ "path": "aws-ecs-fargate-efs/Vpc/PublicSubnet2/EIP",
+ "attributes": {
+ "aws:cdk:cloudformation:type": "AWS::EC2::EIP",
+ "aws:cdk:cloudformation:props": {
+ "domain": "vpc",
+ "tags": [
+ {
+ "key": "Name",
+ "value": "aws-ecs-fargate-efs/Vpc/PublicSubnet2"
+ }
+ ]
+ }
+ },
+ "constructInfo": {
+ "fqn": "@aws-cdk/aws-ec2.CfnEIP",
+ "version": "0.0.0"
+ }
+ },
+ "NATGateway": {
+ "id": "NATGateway",
+ "path": "aws-ecs-fargate-efs/Vpc/PublicSubnet2/NATGateway",
+ "attributes": {
+ "aws:cdk:cloudformation:type": "AWS::EC2::NatGateway",
+ "aws:cdk:cloudformation:props": {
+ "subnetId": {
+ "Ref": "VpcPublicSubnet2Subnet691E08A3"
+ },
+ "allocationId": {
+ "Fn::GetAtt": [
+ "VpcPublicSubnet2EIP3C605A87",
+ "AllocationId"
+ ]
+ },
+ "tags": [
+ {
+ "key": "Name",
+ "value": "aws-ecs-fargate-efs/Vpc/PublicSubnet2"
+ }
+ ]
+ }
+ },
+ "constructInfo": {
+ "fqn": "@aws-cdk/aws-ec2.CfnNatGateway",
+ "version": "0.0.0"
+ }
+ }
+ },
+ "constructInfo": {
+ "fqn": "@aws-cdk/aws-ec2.PublicSubnet",
+ "version": "0.0.0"
+ }
+ },
+ "PrivateSubnet1": {
+ "id": "PrivateSubnet1",
+ "path": "aws-ecs-fargate-efs/Vpc/PrivateSubnet1",
+ "children": {
+ "Subnet": {
+ "id": "Subnet",
+ "path": "aws-ecs-fargate-efs/Vpc/PrivateSubnet1/Subnet",
+ "attributes": {
+ "aws:cdk:cloudformation:type": "AWS::EC2::Subnet",
+ "aws:cdk:cloudformation:props": {
+ "vpcId": {
+ "Ref": "Vpc8378EB38"
+ },
+ "availabilityZone": {
+ "Fn::Select": [
+ 0,
+ {
+ "Fn::GetAZs": ""
+ }
+ ]
+ },
+ "cidrBlock": "10.0.128.0/18",
+ "mapPublicIpOnLaunch": false,
+ "tags": [
+ {
+ "key": "aws-cdk:subnet-name",
+ "value": "Private"
+ },
+ {
+ "key": "aws-cdk:subnet-type",
+ "value": "Private"
+ },
+ {
+ "key": "Name",
+ "value": "aws-ecs-fargate-efs/Vpc/PrivateSubnet1"
+ }
+ ]
+ }
+ },
+ "constructInfo": {
+ "fqn": "@aws-cdk/aws-ec2.CfnSubnet",
+ "version": "0.0.0"
+ }
+ },
+ "Acl": {
+ "id": "Acl",
+ "path": "aws-ecs-fargate-efs/Vpc/PrivateSubnet1/Acl",
+ "constructInfo": {
+ "fqn": "@aws-cdk/core.Resource",
+ "version": "0.0.0"
+ }
+ },
+ "RouteTable": {
+ "id": "RouteTable",
+ "path": "aws-ecs-fargate-efs/Vpc/PrivateSubnet1/RouteTable",
+ "attributes": {
+ "aws:cdk:cloudformation:type": "AWS::EC2::RouteTable",
+ "aws:cdk:cloudformation:props": {
+ "vpcId": {
+ "Ref": "Vpc8378EB38"
+ },
+ "tags": [
+ {
+ "key": "Name",
+ "value": "aws-ecs-fargate-efs/Vpc/PrivateSubnet1"
+ }
+ ]
+ }
+ },
+ "constructInfo": {
+ "fqn": "@aws-cdk/aws-ec2.CfnRouteTable",
+ "version": "0.0.0"
+ }
+ },
+ "RouteTableAssociation": {
+ "id": "RouteTableAssociation",
+ "path": "aws-ecs-fargate-efs/Vpc/PrivateSubnet1/RouteTableAssociation",
+ "attributes": {
+ "aws:cdk:cloudformation:type": "AWS::EC2::SubnetRouteTableAssociation",
+ "aws:cdk:cloudformation:props": {
+ "routeTableId": {
+ "Ref": "VpcPrivateSubnet1RouteTableB2C5B500"
+ },
+ "subnetId": {
+ "Ref": "VpcPrivateSubnet1Subnet536B997A"
+ }
+ }
+ },
+ "constructInfo": {
+ "fqn": "@aws-cdk/aws-ec2.CfnSubnetRouteTableAssociation",
+ "version": "0.0.0"
+ }
+ },
+ "DefaultRoute": {
+ "id": "DefaultRoute",
+ "path": "aws-ecs-fargate-efs/Vpc/PrivateSubnet1/DefaultRoute",
+ "attributes": {
+ "aws:cdk:cloudformation:type": "AWS::EC2::Route",
+ "aws:cdk:cloudformation:props": {
+ "routeTableId": {
+ "Ref": "VpcPrivateSubnet1RouteTableB2C5B500"
+ },
+ "destinationCidrBlock": "0.0.0.0/0",
+ "natGatewayId": {
+ "Ref": "VpcPublicSubnet1NATGateway4D7517AA"
+ }
+ }
+ },
+ "constructInfo": {
+ "fqn": "@aws-cdk/aws-ec2.CfnRoute",
+ "version": "0.0.0"
+ }
+ }
+ },
+ "constructInfo": {
+ "fqn": "@aws-cdk/aws-ec2.PrivateSubnet",
+ "version": "0.0.0"
+ }
+ },
+ "PrivateSubnet2": {
+ "id": "PrivateSubnet2",
+ "path": "aws-ecs-fargate-efs/Vpc/PrivateSubnet2",
+ "children": {
+ "Subnet": {
+ "id": "Subnet",
+ "path": "aws-ecs-fargate-efs/Vpc/PrivateSubnet2/Subnet",
+ "attributes": {
+ "aws:cdk:cloudformation:type": "AWS::EC2::Subnet",
+ "aws:cdk:cloudformation:props": {
+ "vpcId": {
+ "Ref": "Vpc8378EB38"
+ },
+ "availabilityZone": {
+ "Fn::Select": [
+ 1,
+ {
+ "Fn::GetAZs": ""
+ }
+ ]
+ },
+ "cidrBlock": "10.0.192.0/18",
+ "mapPublicIpOnLaunch": false,
+ "tags": [
+ {
+ "key": "aws-cdk:subnet-name",
+ "value": "Private"
+ },
+ {
+ "key": "aws-cdk:subnet-type",
+ "value": "Private"
+ },
+ {
+ "key": "Name",
+ "value": "aws-ecs-fargate-efs/Vpc/PrivateSubnet2"
+ }
+ ]
+ }
+ },
+ "constructInfo": {
+ "fqn": "@aws-cdk/aws-ec2.CfnSubnet",
+ "version": "0.0.0"
+ }
+ },
+ "Acl": {
+ "id": "Acl",
+ "path": "aws-ecs-fargate-efs/Vpc/PrivateSubnet2/Acl",
+ "constructInfo": {
+ "fqn": "@aws-cdk/core.Resource",
+ "version": "0.0.0"
+ }
+ },
+ "RouteTable": {
+ "id": "RouteTable",
+ "path": "aws-ecs-fargate-efs/Vpc/PrivateSubnet2/RouteTable",
+ "attributes": {
+ "aws:cdk:cloudformation:type": "AWS::EC2::RouteTable",
+ "aws:cdk:cloudformation:props": {
+ "vpcId": {
+ "Ref": "Vpc8378EB38"
+ },
+ "tags": [
+ {
+ "key": "Name",
+ "value": "aws-ecs-fargate-efs/Vpc/PrivateSubnet2"
+ }
+ ]
+ }
+ },
+ "constructInfo": {
+ "fqn": "@aws-cdk/aws-ec2.CfnRouteTable",
+ "version": "0.0.0"
+ }
+ },
+ "RouteTableAssociation": {
+ "id": "RouteTableAssociation",
+ "path": "aws-ecs-fargate-efs/Vpc/PrivateSubnet2/RouteTableAssociation",
+ "attributes": {
+ "aws:cdk:cloudformation:type": "AWS::EC2::SubnetRouteTableAssociation",
+ "aws:cdk:cloudformation:props": {
+ "routeTableId": {
+ "Ref": "VpcPrivateSubnet2RouteTableA678073B"
+ },
+ "subnetId": {
+ "Ref": "VpcPrivateSubnet2Subnet3788AAA1"
+ }
+ }
+ },
+ "constructInfo": {
+ "fqn": "@aws-cdk/aws-ec2.CfnSubnetRouteTableAssociation",
+ "version": "0.0.0"
+ }
+ },
+ "DefaultRoute": {
+ "id": "DefaultRoute",
+ "path": "aws-ecs-fargate-efs/Vpc/PrivateSubnet2/DefaultRoute",
+ "attributes": {
+ "aws:cdk:cloudformation:type": "AWS::EC2::Route",
+ "aws:cdk:cloudformation:props": {
+ "routeTableId": {
+ "Ref": "VpcPrivateSubnet2RouteTableA678073B"
+ },
+ "destinationCidrBlock": "0.0.0.0/0",
+ "natGatewayId": {
+ "Ref": "VpcPublicSubnet2NATGateway9182C01D"
+ }
+ }
+ },
+ "constructInfo": {
+ "fqn": "@aws-cdk/aws-ec2.CfnRoute",
+ "version": "0.0.0"
+ }
+ }
+ },
+ "constructInfo": {
+ "fqn": "@aws-cdk/aws-ec2.PrivateSubnet",
+ "version": "0.0.0"
+ }
+ },
+ "IGW": {
+ "id": "IGW",
+ "path": "aws-ecs-fargate-efs/Vpc/IGW",
+ "attributes": {
+ "aws:cdk:cloudformation:type": "AWS::EC2::InternetGateway",
+ "aws:cdk:cloudformation:props": {
+ "tags": [
+ {
+ "key": "Name",
+ "value": "aws-ecs-fargate-efs/Vpc"
+ }
+ ]
+ }
+ },
+ "constructInfo": {
+ "fqn": "@aws-cdk/aws-ec2.CfnInternetGateway",
+ "version": "0.0.0"
+ }
+ },
+ "VPCGW": {
+ "id": "VPCGW",
+ "path": "aws-ecs-fargate-efs/Vpc/VPCGW",
+ "attributes": {
+ "aws:cdk:cloudformation:type": "AWS::EC2::VPCGatewayAttachment",
+ "aws:cdk:cloudformation:props": {
+ "vpcId": {
+ "Ref": "Vpc8378EB38"
+ },
+ "internetGatewayId": {
+ "Ref": "VpcIGWD7BA715C"
+ }
+ }
+ },
+ "constructInfo": {
+ "fqn": "@aws-cdk/aws-ec2.CfnVPCGatewayAttachment",
+ "version": "0.0.0"
+ }
+ }
+ },
+ "constructInfo": {
+ "fqn": "@aws-cdk/aws-ec2.Vpc",
+ "version": "0.0.0"
+ }
+ },
+ "etcdata": {
+ "id": "etcdata",
+ "path": "aws-ecs-fargate-efs/etcdata",
+ "children": {
+ "Resource": {
+ "id": "Resource",
+ "path": "aws-ecs-fargate-efs/etcdata/Resource",
+ "attributes": {
+ "aws:cdk:cloudformation:type": "AWS::EFS::FileSystem",
+ "aws:cdk:cloudformation:props": {
+ "fileSystemTags": [
+ {
+ "key": "Name",
+ "value": "aws-ecs-fargate-efs/etcdata"
+ }
+ ]
+ }
+ },
+ "constructInfo": {
+ "fqn": "@aws-cdk/aws-efs.CfnFileSystem",
+ "version": "0.0.0"
+ }
+ },
+ "EfsSecurityGroup": {
+ "id": "EfsSecurityGroup",
+ "path": "aws-ecs-fargate-efs/etcdata/EfsSecurityGroup",
+ "children": {
+ "Resource": {
+ "id": "Resource",
+ "path": "aws-ecs-fargate-efs/etcdata/EfsSecurityGroup/Resource",
+ "attributes": {
+ "aws:cdk:cloudformation:type": "AWS::EC2::SecurityGroup",
+ "aws:cdk:cloudformation:props": {
+ "groupDescription": "aws-ecs-fargate-efs/etcdata/EfsSecurityGroup",
+ "securityGroupEgress": [
+ {
+ "cidrIp": "0.0.0.0/0",
+ "description": "Allow all outbound traffic by default",
+ "ipProtocol": "-1"
+ }
+ ],
+ "tags": [
+ {
+ "key": "Name",
+ "value": "aws-ecs-fargate-efs/etcdata"
+ }
+ ],
+ "vpcId": {
+ "Ref": "Vpc8378EB38"
+ }
+ }
+ },
+ "constructInfo": {
+ "fqn": "@aws-cdk/aws-ec2.CfnSecurityGroup",
+ "version": "0.0.0"
+ }
+ }
+ },
+ "constructInfo": {
+ "fqn": "@aws-cdk/aws-ec2.SecurityGroup",
+ "version": "0.0.0"
+ }
+ },
+ "EfsMountTarget1": {
+ "id": "EfsMountTarget1",
+ "path": "aws-ecs-fargate-efs/etcdata/EfsMountTarget1",
+ "attributes": {
+ "aws:cdk:cloudformation:type": "AWS::EFS::MountTarget",
+ "aws:cdk:cloudformation:props": {
+ "fileSystemId": {
+ "Ref": "etcdata80702D7D"
+ },
+ "securityGroups": [
+ {
+ "Fn::GetAtt": [
+ "etcdataEfsSecurityGroupB0A9B014",
+ "GroupId"
+ ]
+ }
+ ],
+ "subnetId": {
+ "Ref": "VpcPrivateSubnet1Subnet536B997A"
+ }
+ }
+ },
+ "constructInfo": {
+ "fqn": "@aws-cdk/aws-efs.CfnMountTarget",
+ "version": "0.0.0"
+ }
+ },
+ "EfsMountTarget2": {
+ "id": "EfsMountTarget2",
+ "path": "aws-ecs-fargate-efs/etcdata/EfsMountTarget2",
+ "attributes": {
+ "aws:cdk:cloudformation:type": "AWS::EFS::MountTarget",
+ "aws:cdk:cloudformation:props": {
+ "fileSystemId": {
+ "Ref": "etcdata80702D7D"
+ },
+ "securityGroups": [
+ {
+ "Fn::GetAtt": [
+ "etcdataEfsSecurityGroupB0A9B014",
+ "GroupId"
+ ]
+ }
+ ],
+ "subnetId": {
+ "Ref": "VpcPrivateSubnet2Subnet3788AAA1"
+ }
+ }
+ },
+ "constructInfo": {
+ "fqn": "@aws-cdk/aws-efs.CfnMountTarget",
+ "version": "0.0.0"
+ }
+ }
+ },
+ "constructInfo": {
+ "fqn": "@aws-cdk/aws-efs.FileSystem",
+ "version": "0.0.0"
+ }
+ },
+ "TaskDef": {
+ "id": "TaskDef",
+ "path": "aws-ecs-fargate-efs/TaskDef",
+ "children": {
+ "TaskRole": {
+ "id": "TaskRole",
+ "path": "aws-ecs-fargate-efs/TaskDef/TaskRole",
+ "children": {
+ "Resource": {
+ "id": "Resource",
+ "path": "aws-ecs-fargate-efs/TaskDef/TaskRole/Resource",
+ "attributes": {
+ "aws:cdk:cloudformation:type": "AWS::IAM::Role",
+ "aws:cdk:cloudformation:props": {
+ "assumeRolePolicyDocument": {
+ "Statement": [
+ {
+ "Action": "sts:AssumeRole",
+ "Effect": "Allow",
+ "Principal": {
+ "Service": "ecs-tasks.amazonaws.com"
+ }
+ }
+ ],
+ "Version": "2012-10-17"
+ }
+ }
+ },
+ "constructInfo": {
+ "fqn": "@aws-cdk/aws-iam.CfnRole",
+ "version": "0.0.0"
+ }
+ }
+ },
+ "constructInfo": {
+ "fqn": "@aws-cdk/aws-iam.Role",
+ "version": "0.0.0"
+ }
+ },
+ "Resource": {
+ "id": "Resource",
+ "path": "aws-ecs-fargate-efs/TaskDef/Resource",
+ "attributes": {
+ "aws:cdk:cloudformation:type": "AWS::ECS::TaskDefinition",
+ "aws:cdk:cloudformation:props": {
+ "containerDefinitions": [
+ {
+ "essential": true,
+ "image": "amazon/amazon-ecs-sample",
+ "name": "web"
+ }
+ ],
+ "cpu": "256",
+ "family": "awsecsfargateefsTaskDefBFA2D408",
+ "memory": "512",
+ "networkMode": "awsvpc",
+ "requiresCompatibilities": [
+ "FARGATE"
+ ],
+ "taskRoleArn": {
+ "Fn::GetAtt": [
+ "TaskDefTaskRole1EDB4A67",
+ "Arn"
+ ]
+ },
+ "volumes": [
+ {
+ "name": "somedata",
+ "efsVolumeConfiguration": {
+ "filesystemId": {
+ "Ref": "etcdata80702D7D"
+ }
+ }
+ }
+ ]
+ }
+ },
+ "constructInfo": {
+ "fqn": "@aws-cdk/aws-ecs.CfnTaskDefinition",
+ "version": "0.0.0"
+ }
+ },
+ "web": {
+ "id": "web",
+ "path": "aws-ecs-fargate-efs/TaskDef/web",
+ "constructInfo": {
+ "fqn": "@aws-cdk/aws-ecs.ContainerDefinition",
+ "version": "0.0.0"
+ }
+ }
+ },
+ "constructInfo": {
+ "fqn": "@aws-cdk/aws-ecs.FargateTaskDefinition",
+ "version": "0.0.0"
+ }
+ }
+ },
+ "constructInfo": {
+ "fqn": "@aws-cdk/core.Stack",
+ "version": "0.0.0"
+ }
+ }
+ },
+ "constructInfo": {
+ "fqn": "@aws-cdk/core.App",
+ "version": "0.0.0"
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/@aws-cdk/aws-efs/package.json b/packages/@aws-cdk/aws-efs/package.json
index 73151d18d3aff..8339b3a25e5f7 100644
--- a/packages/@aws-cdk/aws-efs/package.json
+++ b/packages/@aws-cdk/aws-efs/package.json
@@ -47,7 +47,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
@@ -81,7 +81,7 @@
"devDependencies": {
"@aws-cdk/assertions": "0.0.0",
"@aws-cdk/cdk-build-tools": "0.0.0",
- "@aws-cdk/cdk-integ-tools": "0.0.0",
+ "@aws-cdk/integ-runner": "0.0.0",
"@aws-cdk/cfn2ts": "0.0.0",
"@aws-cdk/pkglint": "0.0.0",
"@types/jest": "^27.4.1"
diff --git a/packages/@aws-cdk/aws-eks-legacy/package.json b/packages/@aws-cdk/aws-eks-legacy/package.json
index ede28f6869cdf..248dea00fccca 100644
--- a/packages/@aws-cdk/aws-eks-legacy/package.json
+++ b/packages/@aws-cdk/aws-eks-legacy/package.json
@@ -48,7 +48,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
@@ -79,7 +79,7 @@
"devDependencies": {
"@aws-cdk/assertions": "0.0.0",
"@aws-cdk/cdk-build-tools": "0.0.0",
- "@aws-cdk/cdk-integ-tools": "0.0.0",
+ "@aws-cdk/integ-runner": "0.0.0",
"@aws-cdk/cfn2ts": "0.0.0",
"@aws-cdk/pkglint": "0.0.0",
"@types/jest": "^27.4.1",
diff --git a/packages/@aws-cdk/aws-eks/package.json b/packages/@aws-cdk/aws-eks/package.json
index 6585171d0ea0c..fbf6230017ee6 100644
--- a/packages/@aws-cdk/aws-eks/package.json
+++ b/packages/@aws-cdk/aws-eks/package.json
@@ -47,7 +47,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
@@ -81,7 +81,7 @@
"devDependencies": {
"@aws-cdk/assertions": "0.0.0",
"@aws-cdk/cdk-build-tools": "0.0.0",
- "@aws-cdk/cdk-integ-tools": "0.0.0",
+ "@aws-cdk/integ-runner": "0.0.0",
"@aws-cdk/cfn2ts": "0.0.0",
"@aws-cdk/pkglint": "0.0.0",
"@types/aws-lambda": "^8.10.93",
diff --git a/packages/@aws-cdk/aws-eks/test/eks-helm-asset.integ.snapshot/aws-cdk-eks-helm-test.template.json b/packages/@aws-cdk/aws-eks/test/eks-helm-asset.integ.snapshot/aws-cdk-eks-helm-test.template.json
index 8b8ca3e4799c8..3e37a7c76af3a 100644
--- a/packages/@aws-cdk/aws-eks/test/eks-helm-asset.integ.snapshot/aws-cdk-eks-helm-test.template.json
+++ b/packages/@aws-cdk/aws-eks/test/eks-helm-asset.integ.snapshot/aws-cdk-eks-helm-test.template.json
@@ -951,6 +951,37 @@
"UpdateReplacePolicy": "Delete",
"DeletionPolicy": "Delete"
},
+ "Clustercharttestocichart9C188967": {
+ "Type": "Custom::AWSCDK-EKS-HelmChart",
+ "Properties": {
+ "ServiceToken": {
+ "Fn::GetAtt": [
+ "awscdkawseksKubectlProviderNestedStackawscdkawseksKubectlProviderNestedStackResourceA7AEBA6B",
+ "Outputs.awscdkekshelmtestawscdkawseksKubectlProviderframeworkonEvent9D93C644Arn"
+ ]
+ },
+ "ClusterName": {
+ "Ref": "Cluster9EE0221C"
+ },
+ "RoleArn": {
+ "Fn::GetAtt": [
+ "ClusterCreationRole360249B6",
+ "Arn"
+ ]
+ },
+ "Release": "s3-chart",
+ "Chart": "s3-chart",
+ "Version": "v0.0.19",
+ "Namespace": "ack-system",
+ "Repository": "oci://public.ecr.aws/aws-controllers-k8s/s3-chart",
+ "CreateNamespace": true
+ },
+ "DependsOn": [
+ "ClusterKubectlReadyBarrier200052AF"
+ ],
+ "UpdateReplacePolicy": "Delete",
+ "DeletionPolicy": "Delete"
+ },
"awscdkawseksClusterResourceProviderNestedStackawscdkawseksClusterResourceProviderNestedStackResource9827C454": {
"Type": "AWS::CloudFormation::Stack",
"Properties": {
@@ -1047,7 +1078,7 @@
},
"/",
{
- "Ref": "AssetParametersa5d60d1529154e4d0639b3fe5d8a36b6d90337aef74c85b83e7800866093a06cS3Bucket6FD55E1C"
+ "Ref": "AssetParameters52864f95f8d008449eb268ec864f3cf6ac7feaaf9647368191fb35ca265a820aS3Bucket1AEB1014"
},
"/",
{
@@ -1057,7 +1088,7 @@
"Fn::Split": [
"||",
{
- "Ref": "AssetParametersa5d60d1529154e4d0639b3fe5d8a36b6d90337aef74c85b83e7800866093a06cS3VersionKeyF7A8F3EE"
+ "Ref": "AssetParameters52864f95f8d008449eb268ec864f3cf6ac7feaaf9647368191fb35ca265a820aS3VersionKey333BF6FA"
}
]
}
@@ -1070,7 +1101,7 @@
"Fn::Split": [
"||",
{
- "Ref": "AssetParametersa5d60d1529154e4d0639b3fe5d8a36b6d90337aef74c85b83e7800866093a06cS3VersionKeyF7A8F3EE"
+ "Ref": "AssetParameters52864f95f8d008449eb268ec864f3cf6ac7feaaf9647368191fb35ca265a820aS3VersionKey333BF6FA"
}
]
}
@@ -1095,11 +1126,11 @@
"referencetoawscdkekshelmtestAssetParametersd65fbdc11b108e0386ed8577c454d4544f6d4e7960f84a0d2e211478d6324dbfS3Bucket5EAB45FARef": {
"Ref": "AssetParametersd65fbdc11b108e0386ed8577c454d4544f6d4e7960f84a0d2e211478d6324dbfS3BucketBFD29DFB"
},
- "referencetoawscdkekshelmtestAssetParametersa70c48e7047fb793b2378668accb1dc2d92f2d7b1fff80c9c718f4964dc69cb8S3BucketC59436A3Ref": {
- "Ref": "AssetParametersa70c48e7047fb793b2378668accb1dc2d92f2d7b1fff80c9c718f4964dc69cb8S3Bucket4CD5FFC3"
+ "referencetoawscdkekshelmtestAssetParameters07a1c6a504be72dba3e9bc5b12cc2b5b0e83ea5c6ba10a4128da5c2180f3f963S3BucketEC27A5F2Ref": {
+ "Ref": "AssetParameters07a1c6a504be72dba3e9bc5b12cc2b5b0e83ea5c6ba10a4128da5c2180f3f963S3Bucket9BDF5881"
},
- "referencetoawscdkekshelmtestAssetParametersa70c48e7047fb793b2378668accb1dc2d92f2d7b1fff80c9c718f4964dc69cb8S3VersionKey5ECB4296Ref": {
- "Ref": "AssetParametersa70c48e7047fb793b2378668accb1dc2d92f2d7b1fff80c9c718f4964dc69cb8S3VersionKeyE06BA291"
+ "referencetoawscdkekshelmtestAssetParameters07a1c6a504be72dba3e9bc5b12cc2b5b0e83ea5c6ba10a4128da5c2180f3f963S3VersionKey5772F015Ref": {
+ "Ref": "AssetParameters07a1c6a504be72dba3e9bc5b12cc2b5b0e83ea5c6ba10a4128da5c2180f3f963S3VersionKey63AC53A2"
},
"referencetoawscdkekshelmtestVpcPrivateSubnet1Subnet3D2B5C0BRef": {
"Ref": "VpcPrivateSubnet1Subnet536B997A"
@@ -1119,11 +1150,11 @@
"referencetoawscdkekshelmtestAssetParameters92c405c4551a308bcdd55823f8b16268bd3c38fd2a011edaaf3ed72a80f557c4S3VersionKey149985B9Ref": {
"Ref": "AssetParameters92c405c4551a308bcdd55823f8b16268bd3c38fd2a011edaaf3ed72a80f557c4S3VersionKeyEF78B2AD"
},
- "referencetoawscdkekshelmtestAssetParametersea17febe6d04c66048f3e8e060c71685c0cb53122abceff44842d27bc0d4a03eS3Bucket355FB348Ref": {
- "Ref": "AssetParametersea17febe6d04c66048f3e8e060c71685c0cb53122abceff44842d27bc0d4a03eS3BucketD3288998"
+ "referencetoawscdkekshelmtestAssetParametersc6964dbf0c556ec82ce09622e99ad6f6d4e488cdaac0ef9e8492e078ec61ffedS3Bucket8229D3A2Ref": {
+ "Ref": "AssetParametersc6964dbf0c556ec82ce09622e99ad6f6d4e488cdaac0ef9e8492e078ec61ffedS3Bucket83B8778F"
},
- "referencetoawscdkekshelmtestAssetParametersea17febe6d04c66048f3e8e060c71685c0cb53122abceff44842d27bc0d4a03eS3VersionKeyA7F169F4Ref": {
- "Ref": "AssetParametersea17febe6d04c66048f3e8e060c71685c0cb53122abceff44842d27bc0d4a03eS3VersionKeyB00C0565"
+ "referencetoawscdkekshelmtestAssetParametersc6964dbf0c556ec82ce09622e99ad6f6d4e488cdaac0ef9e8492e078ec61ffedS3VersionKey0C91EE3ERef": {
+ "Ref": "AssetParametersc6964dbf0c556ec82ce09622e99ad6f6d4e488cdaac0ef9e8492e078ec61ffedS3VersionKeyADF6A055"
},
"referencetoawscdkekshelmtestAssetParameters8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9S3BucketAF49DDE8Ref": {
"Ref": "AssetParameters8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9S3Bucket40DFAF90"
@@ -1224,17 +1255,17 @@
"Type": "String",
"Description": "Artifact hash for asset \"8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9\""
},
- "AssetParametersa70c48e7047fb793b2378668accb1dc2d92f2d7b1fff80c9c718f4964dc69cb8S3Bucket4CD5FFC3": {
+ "AssetParameters07a1c6a504be72dba3e9bc5b12cc2b5b0e83ea5c6ba10a4128da5c2180f3f963S3Bucket9BDF5881": {
"Type": "String",
- "Description": "S3 bucket for asset \"a70c48e7047fb793b2378668accb1dc2d92f2d7b1fff80c9c718f4964dc69cb8\""
+ "Description": "S3 bucket for asset \"07a1c6a504be72dba3e9bc5b12cc2b5b0e83ea5c6ba10a4128da5c2180f3f963\""
},
- "AssetParametersa70c48e7047fb793b2378668accb1dc2d92f2d7b1fff80c9c718f4964dc69cb8S3VersionKeyE06BA291": {
+ "AssetParameters07a1c6a504be72dba3e9bc5b12cc2b5b0e83ea5c6ba10a4128da5c2180f3f963S3VersionKey63AC53A2": {
"Type": "String",
- "Description": "S3 key for asset version \"a70c48e7047fb793b2378668accb1dc2d92f2d7b1fff80c9c718f4964dc69cb8\""
+ "Description": "S3 key for asset version \"07a1c6a504be72dba3e9bc5b12cc2b5b0e83ea5c6ba10a4128da5c2180f3f963\""
},
- "AssetParametersa70c48e7047fb793b2378668accb1dc2d92f2d7b1fff80c9c718f4964dc69cb8ArtifactHashA4AB6609": {
+ "AssetParameters07a1c6a504be72dba3e9bc5b12cc2b5b0e83ea5c6ba10a4128da5c2180f3f963ArtifactHash41646C3F": {
"Type": "String",
- "Description": "Artifact hash for asset \"a70c48e7047fb793b2378668accb1dc2d92f2d7b1fff80c9c718f4964dc69cb8\""
+ "Description": "Artifact hash for asset \"07a1c6a504be72dba3e9bc5b12cc2b5b0e83ea5c6ba10a4128da5c2180f3f963\""
},
"AssetParameters92c405c4551a308bcdd55823f8b16268bd3c38fd2a011edaaf3ed72a80f557c4S3BucketC479E94B": {
"Type": "String",
@@ -1248,17 +1279,17 @@
"Type": "String",
"Description": "Artifact hash for asset \"92c405c4551a308bcdd55823f8b16268bd3c38fd2a011edaaf3ed72a80f557c4\""
},
- "AssetParametersea17febe6d04c66048f3e8e060c71685c0cb53122abceff44842d27bc0d4a03eS3BucketD3288998": {
+ "AssetParametersc6964dbf0c556ec82ce09622e99ad6f6d4e488cdaac0ef9e8492e078ec61ffedS3Bucket83B8778F": {
"Type": "String",
- "Description": "S3 bucket for asset \"ea17febe6d04c66048f3e8e060c71685c0cb53122abceff44842d27bc0d4a03e\""
+ "Description": "S3 bucket for asset \"c6964dbf0c556ec82ce09622e99ad6f6d4e488cdaac0ef9e8492e078ec61ffed\""
},
- "AssetParametersea17febe6d04c66048f3e8e060c71685c0cb53122abceff44842d27bc0d4a03eS3VersionKeyB00C0565": {
+ "AssetParametersc6964dbf0c556ec82ce09622e99ad6f6d4e488cdaac0ef9e8492e078ec61ffedS3VersionKeyADF6A055": {
"Type": "String",
- "Description": "S3 key for asset version \"ea17febe6d04c66048f3e8e060c71685c0cb53122abceff44842d27bc0d4a03e\""
+ "Description": "S3 key for asset version \"c6964dbf0c556ec82ce09622e99ad6f6d4e488cdaac0ef9e8492e078ec61ffed\""
},
- "AssetParametersea17febe6d04c66048f3e8e060c71685c0cb53122abceff44842d27bc0d4a03eArtifactHash4654D012": {
+ "AssetParametersc6964dbf0c556ec82ce09622e99ad6f6d4e488cdaac0ef9e8492e078ec61ffedArtifactHash2C972BAF": {
"Type": "String",
- "Description": "Artifact hash for asset \"ea17febe6d04c66048f3e8e060c71685c0cb53122abceff44842d27bc0d4a03e\""
+ "Description": "Artifact hash for asset \"c6964dbf0c556ec82ce09622e99ad6f6d4e488cdaac0ef9e8492e078ec61ffed\""
},
"AssetParametersd65fbdc11b108e0386ed8577c454d4544f6d4e7960f84a0d2e211478d6324dbfS3BucketBFD29DFB": {
"Type": "String",
@@ -1284,17 +1315,17 @@
"Type": "String",
"Description": "Artifact hash for asset \"7d7713018f4039aec7dbac05e1b331f850d1c0985a1159bf0a0b5a38a850987c\""
},
- "AssetParametersa5d60d1529154e4d0639b3fe5d8a36b6d90337aef74c85b83e7800866093a06cS3Bucket6FD55E1C": {
+ "AssetParameters52864f95f8d008449eb268ec864f3cf6ac7feaaf9647368191fb35ca265a820aS3Bucket1AEB1014": {
"Type": "String",
- "Description": "S3 bucket for asset \"a5d60d1529154e4d0639b3fe5d8a36b6d90337aef74c85b83e7800866093a06c\""
+ "Description": "S3 bucket for asset \"52864f95f8d008449eb268ec864f3cf6ac7feaaf9647368191fb35ca265a820a\""
},
- "AssetParametersa5d60d1529154e4d0639b3fe5d8a36b6d90337aef74c85b83e7800866093a06cS3VersionKeyF7A8F3EE": {
+ "AssetParameters52864f95f8d008449eb268ec864f3cf6ac7feaaf9647368191fb35ca265a820aS3VersionKey333BF6FA": {
"Type": "String",
- "Description": "S3 key for asset version \"a5d60d1529154e4d0639b3fe5d8a36b6d90337aef74c85b83e7800866093a06c\""
+ "Description": "S3 key for asset version \"52864f95f8d008449eb268ec864f3cf6ac7feaaf9647368191fb35ca265a820a\""
},
- "AssetParametersa5d60d1529154e4d0639b3fe5d8a36b6d90337aef74c85b83e7800866093a06cArtifactHash835B57D9": {
+ "AssetParameters52864f95f8d008449eb268ec864f3cf6ac7feaaf9647368191fb35ca265a820aArtifactHash742629B5": {
"Type": "String",
- "Description": "Artifact hash for asset \"a5d60d1529154e4d0639b3fe5d8a36b6d90337aef74c85b83e7800866093a06c\""
+ "Description": "Artifact hash for asset \"52864f95f8d008449eb268ec864f3cf6ac7feaaf9647368191fb35ca265a820a\""
}
}
}
\ No newline at end of file
diff --git a/packages/@aws-cdk/aws-eks/test/eks-helm-asset.integ.snapshot/awscdkekshelmtestawscdkawseksKubectlProvider207F42E4.nested.template.json b/packages/@aws-cdk/aws-eks/test/eks-helm-asset.integ.snapshot/awscdkekshelmtestawscdkawseksKubectlProvider207F42E4.nested.template.json
index 12b472749f4ad..dae84da77d906 100644
--- a/packages/@aws-cdk/aws-eks/test/eks-helm-asset.integ.snapshot/awscdkekshelmtestawscdkawseksKubectlProvider207F42E4.nested.template.json
+++ b/packages/@aws-cdk/aws-eks/test/eks-helm-asset.integ.snapshot/awscdkekshelmtestawscdkawseksKubectlProvider207F42E4.nested.template.json
@@ -131,7 +131,7 @@
"Properties": {
"Code": {
"S3Bucket": {
- "Ref": "referencetoawscdkekshelmtestAssetParametersa70c48e7047fb793b2378668accb1dc2d92f2d7b1fff80c9c718f4964dc69cb8S3BucketC59436A3Ref"
+ "Ref": "referencetoawscdkekshelmtestAssetParameters07a1c6a504be72dba3e9bc5b12cc2b5b0e83ea5c6ba10a4128da5c2180f3f963S3BucketEC27A5F2Ref"
},
"S3Key": {
"Fn::Join": [
@@ -144,7 +144,7 @@
"Fn::Split": [
"||",
{
- "Ref": "referencetoawscdkekshelmtestAssetParametersa70c48e7047fb793b2378668accb1dc2d92f2d7b1fff80c9c718f4964dc69cb8S3VersionKey5ECB4296Ref"
+ "Ref": "referencetoawscdkekshelmtestAssetParameters07a1c6a504be72dba3e9bc5b12cc2b5b0e83ea5c6ba10a4128da5c2180f3f963S3VersionKey5772F015Ref"
}
]
}
@@ -157,7 +157,7 @@
"Fn::Split": [
"||",
{
- "Ref": "referencetoawscdkekshelmtestAssetParametersa70c48e7047fb793b2378668accb1dc2d92f2d7b1fff80c9c718f4964dc69cb8S3VersionKey5ECB4296Ref"
+ "Ref": "referencetoawscdkekshelmtestAssetParameters07a1c6a504be72dba3e9bc5b12cc2b5b0e83ea5c6ba10a4128da5c2180f3f963S3VersionKey5772F015Ref"
}
]
}
@@ -256,7 +256,7 @@
"Properties": {
"Content": {
"S3Bucket": {
- "Ref": "referencetoawscdkekshelmtestAssetParametersea17febe6d04c66048f3e8e060c71685c0cb53122abceff44842d27bc0d4a03eS3Bucket355FB348Ref"
+ "Ref": "referencetoawscdkekshelmtestAssetParametersc6964dbf0c556ec82ce09622e99ad6f6d4e488cdaac0ef9e8492e078ec61ffedS3Bucket8229D3A2Ref"
},
"S3Key": {
"Fn::Join": [
@@ -269,7 +269,7 @@
"Fn::Split": [
"||",
{
- "Ref": "referencetoawscdkekshelmtestAssetParametersea17febe6d04c66048f3e8e060c71685c0cb53122abceff44842d27bc0d4a03eS3VersionKeyA7F169F4Ref"
+ "Ref": "referencetoawscdkekshelmtestAssetParametersc6964dbf0c556ec82ce09622e99ad6f6d4e488cdaac0ef9e8492e078ec61ffedS3VersionKey0C91EE3ERef"
}
]
}
@@ -282,7 +282,7 @@
"Fn::Split": [
"||",
{
- "Ref": "referencetoawscdkekshelmtestAssetParametersea17febe6d04c66048f3e8e060c71685c0cb53122abceff44842d27bc0d4a03eS3VersionKeyA7F169F4Ref"
+ "Ref": "referencetoawscdkekshelmtestAssetParametersc6964dbf0c556ec82ce09622e99ad6f6d4e488cdaac0ef9e8492e078ec61ffedS3VersionKey0C91EE3ERef"
}
]
}
@@ -483,10 +483,10 @@
"referencetoawscdkekshelmtestAssetParametersd65fbdc11b108e0386ed8577c454d4544f6d4e7960f84a0d2e211478d6324dbfS3Bucket5EAB45FARef": {
"Type": "String"
},
- "referencetoawscdkekshelmtestAssetParametersa70c48e7047fb793b2378668accb1dc2d92f2d7b1fff80c9c718f4964dc69cb8S3BucketC59436A3Ref": {
+ "referencetoawscdkekshelmtestAssetParameters07a1c6a504be72dba3e9bc5b12cc2b5b0e83ea5c6ba10a4128da5c2180f3f963S3BucketEC27A5F2Ref": {
"Type": "String"
},
- "referencetoawscdkekshelmtestAssetParametersa70c48e7047fb793b2378668accb1dc2d92f2d7b1fff80c9c718f4964dc69cb8S3VersionKey5ECB4296Ref": {
+ "referencetoawscdkekshelmtestAssetParameters07a1c6a504be72dba3e9bc5b12cc2b5b0e83ea5c6ba10a4128da5c2180f3f963S3VersionKey5772F015Ref": {
"Type": "String"
},
"referencetoawscdkekshelmtestVpcPrivateSubnet1Subnet3D2B5C0BRef": {
@@ -504,10 +504,10 @@
"referencetoawscdkekshelmtestAssetParameters92c405c4551a308bcdd55823f8b16268bd3c38fd2a011edaaf3ed72a80f557c4S3VersionKey149985B9Ref": {
"Type": "String"
},
- "referencetoawscdkekshelmtestAssetParametersea17febe6d04c66048f3e8e060c71685c0cb53122abceff44842d27bc0d4a03eS3Bucket355FB348Ref": {
+ "referencetoawscdkekshelmtestAssetParametersc6964dbf0c556ec82ce09622e99ad6f6d4e488cdaac0ef9e8492e078ec61ffedS3Bucket8229D3A2Ref": {
"Type": "String"
},
- "referencetoawscdkekshelmtestAssetParametersea17febe6d04c66048f3e8e060c71685c0cb53122abceff44842d27bc0d4a03eS3VersionKeyA7F169F4Ref": {
+ "referencetoawscdkekshelmtestAssetParametersc6964dbf0c556ec82ce09622e99ad6f6d4e488cdaac0ef9e8492e078ec61ffedS3VersionKey0C91EE3ERef": {
"Type": "String"
},
"referencetoawscdkekshelmtestAssetParameters8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9S3BucketAF49DDE8Ref": {
diff --git a/packages/@aws-cdk/aws-eks/test/eks-helm-asset.integ.snapshot/manifest.json b/packages/@aws-cdk/aws-eks/test/eks-helm-asset.integ.snapshot/manifest.json
index c4c81b8c83a3b..095e31a48fc05 100644
--- a/packages/@aws-cdk/aws-eks/test/eks-helm-asset.integ.snapshot/manifest.json
+++ b/packages/@aws-cdk/aws-eks/test/eks-helm-asset.integ.snapshot/manifest.json
@@ -56,13 +56,13 @@
{
"type": "aws:cdk:asset",
"data": {
- "path": "asset.a70c48e7047fb793b2378668accb1dc2d92f2d7b1fff80c9c718f4964dc69cb8",
- "id": "a70c48e7047fb793b2378668accb1dc2d92f2d7b1fff80c9c718f4964dc69cb8",
+ "path": "asset.07a1c6a504be72dba3e9bc5b12cc2b5b0e83ea5c6ba10a4128da5c2180f3f963",
+ "id": "07a1c6a504be72dba3e9bc5b12cc2b5b0e83ea5c6ba10a4128da5c2180f3f963",
"packaging": "zip",
- "sourceHash": "a70c48e7047fb793b2378668accb1dc2d92f2d7b1fff80c9c718f4964dc69cb8",
- "s3BucketParameter": "AssetParametersa70c48e7047fb793b2378668accb1dc2d92f2d7b1fff80c9c718f4964dc69cb8S3Bucket4CD5FFC3",
- "s3KeyParameter": "AssetParametersa70c48e7047fb793b2378668accb1dc2d92f2d7b1fff80c9c718f4964dc69cb8S3VersionKeyE06BA291",
- "artifactHashParameter": "AssetParametersa70c48e7047fb793b2378668accb1dc2d92f2d7b1fff80c9c718f4964dc69cb8ArtifactHashA4AB6609"
+ "sourceHash": "07a1c6a504be72dba3e9bc5b12cc2b5b0e83ea5c6ba10a4128da5c2180f3f963",
+ "s3BucketParameter": "AssetParameters07a1c6a504be72dba3e9bc5b12cc2b5b0e83ea5c6ba10a4128da5c2180f3f963S3Bucket9BDF5881",
+ "s3KeyParameter": "AssetParameters07a1c6a504be72dba3e9bc5b12cc2b5b0e83ea5c6ba10a4128da5c2180f3f963S3VersionKey63AC53A2",
+ "artifactHashParameter": "AssetParameters07a1c6a504be72dba3e9bc5b12cc2b5b0e83ea5c6ba10a4128da5c2180f3f963ArtifactHash41646C3F"
}
},
{
@@ -80,13 +80,13 @@
{
"type": "aws:cdk:asset",
"data": {
- "path": "asset.ea17febe6d04c66048f3e8e060c71685c0cb53122abceff44842d27bc0d4a03e.zip",
- "id": "ea17febe6d04c66048f3e8e060c71685c0cb53122abceff44842d27bc0d4a03e",
+ "path": "asset.c6964dbf0c556ec82ce09622e99ad6f6d4e488cdaac0ef9e8492e078ec61ffed.zip",
+ "id": "c6964dbf0c556ec82ce09622e99ad6f6d4e488cdaac0ef9e8492e078ec61ffed",
"packaging": "file",
- "sourceHash": "ea17febe6d04c66048f3e8e060c71685c0cb53122abceff44842d27bc0d4a03e",
- "s3BucketParameter": "AssetParametersea17febe6d04c66048f3e8e060c71685c0cb53122abceff44842d27bc0d4a03eS3BucketD3288998",
- "s3KeyParameter": "AssetParametersea17febe6d04c66048f3e8e060c71685c0cb53122abceff44842d27bc0d4a03eS3VersionKeyB00C0565",
- "artifactHashParameter": "AssetParametersea17febe6d04c66048f3e8e060c71685c0cb53122abceff44842d27bc0d4a03eArtifactHash4654D012"
+ "sourceHash": "c6964dbf0c556ec82ce09622e99ad6f6d4e488cdaac0ef9e8492e078ec61ffed",
+ "s3BucketParameter": "AssetParametersc6964dbf0c556ec82ce09622e99ad6f6d4e488cdaac0ef9e8492e078ec61ffedS3Bucket83B8778F",
+ "s3KeyParameter": "AssetParametersc6964dbf0c556ec82ce09622e99ad6f6d4e488cdaac0ef9e8492e078ec61ffedS3VersionKeyADF6A055",
+ "artifactHashParameter": "AssetParametersc6964dbf0c556ec82ce09622e99ad6f6d4e488cdaac0ef9e8492e078ec61ffedArtifactHash2C972BAF"
}
},
{
@@ -117,12 +117,12 @@
"type": "aws:cdk:asset",
"data": {
"path": "awscdkekshelmtestawscdkawseksKubectlProvider207F42E4.nested.template.json",
- "id": "a5d60d1529154e4d0639b3fe5d8a36b6d90337aef74c85b83e7800866093a06c",
+ "id": "52864f95f8d008449eb268ec864f3cf6ac7feaaf9647368191fb35ca265a820a",
"packaging": "file",
- "sourceHash": "a5d60d1529154e4d0639b3fe5d8a36b6d90337aef74c85b83e7800866093a06c",
- "s3BucketParameter": "AssetParametersa5d60d1529154e4d0639b3fe5d8a36b6d90337aef74c85b83e7800866093a06cS3Bucket6FD55E1C",
- "s3KeyParameter": "AssetParametersa5d60d1529154e4d0639b3fe5d8a36b6d90337aef74c85b83e7800866093a06cS3VersionKeyF7A8F3EE",
- "artifactHashParameter": "AssetParametersa5d60d1529154e4d0639b3fe5d8a36b6d90337aef74c85b83e7800866093a06cArtifactHash835B57D9"
+ "sourceHash": "52864f95f8d008449eb268ec864f3cf6ac7feaaf9647368191fb35ca265a820a",
+ "s3BucketParameter": "AssetParameters52864f95f8d008449eb268ec864f3cf6ac7feaaf9647368191fb35ca265a820aS3Bucket1AEB1014",
+ "s3KeyParameter": "AssetParameters52864f95f8d008449eb268ec864f3cf6ac7feaaf9647368191fb35ca265a820aS3VersionKey333BF6FA",
+ "artifactHashParameter": "AssetParameters52864f95f8d008449eb268ec864f3cf6ac7feaaf9647368191fb35ca265a820aArtifactHash742629B5"
}
}
],
@@ -330,6 +330,12 @@
"data": "Clustercharttestchart9FD698EB"
}
],
+ "/aws-cdk-eks-helm-test/Cluster/chart-test-oci-chart/Resource/Default": [
+ {
+ "type": "aws:cdk:logicalId",
+ "data": "Clustercharttestocichart9C188967"
+ }
+ ],
"/aws-cdk-eks-helm-test/@aws-cdk--aws-eks.ClusterResourceProvider/NodeProxyAgentLayer/Resource": [
{
"type": "aws:cdk:logicalId",
@@ -558,22 +564,22 @@
"data": "AssetParameters8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9ArtifactHash26B5BCAA"
}
],
- "/aws-cdk-eks-helm-test/AssetParameters/a70c48e7047fb793b2378668accb1dc2d92f2d7b1fff80c9c718f4964dc69cb8/S3Bucket": [
+ "/aws-cdk-eks-helm-test/AssetParameters/07a1c6a504be72dba3e9bc5b12cc2b5b0e83ea5c6ba10a4128da5c2180f3f963/S3Bucket": [
{
"type": "aws:cdk:logicalId",
- "data": "AssetParametersa70c48e7047fb793b2378668accb1dc2d92f2d7b1fff80c9c718f4964dc69cb8S3Bucket4CD5FFC3"
+ "data": "AssetParameters07a1c6a504be72dba3e9bc5b12cc2b5b0e83ea5c6ba10a4128da5c2180f3f963S3Bucket9BDF5881"
}
],
- "/aws-cdk-eks-helm-test/AssetParameters/a70c48e7047fb793b2378668accb1dc2d92f2d7b1fff80c9c718f4964dc69cb8/S3VersionKey": [
+ "/aws-cdk-eks-helm-test/AssetParameters/07a1c6a504be72dba3e9bc5b12cc2b5b0e83ea5c6ba10a4128da5c2180f3f963/S3VersionKey": [
{
"type": "aws:cdk:logicalId",
- "data": "AssetParametersa70c48e7047fb793b2378668accb1dc2d92f2d7b1fff80c9c718f4964dc69cb8S3VersionKeyE06BA291"
+ "data": "AssetParameters07a1c6a504be72dba3e9bc5b12cc2b5b0e83ea5c6ba10a4128da5c2180f3f963S3VersionKey63AC53A2"
}
],
- "/aws-cdk-eks-helm-test/AssetParameters/a70c48e7047fb793b2378668accb1dc2d92f2d7b1fff80c9c718f4964dc69cb8/ArtifactHash": [
+ "/aws-cdk-eks-helm-test/AssetParameters/07a1c6a504be72dba3e9bc5b12cc2b5b0e83ea5c6ba10a4128da5c2180f3f963/ArtifactHash": [
{
"type": "aws:cdk:logicalId",
- "data": "AssetParametersa70c48e7047fb793b2378668accb1dc2d92f2d7b1fff80c9c718f4964dc69cb8ArtifactHashA4AB6609"
+ "data": "AssetParameters07a1c6a504be72dba3e9bc5b12cc2b5b0e83ea5c6ba10a4128da5c2180f3f963ArtifactHash41646C3F"
}
],
"/aws-cdk-eks-helm-test/AssetParameters/92c405c4551a308bcdd55823f8b16268bd3c38fd2a011edaaf3ed72a80f557c4/S3Bucket": [
@@ -594,22 +600,22 @@
"data": "AssetParameters92c405c4551a308bcdd55823f8b16268bd3c38fd2a011edaaf3ed72a80f557c4ArtifactHash4190C3A3"
}
],
- "/aws-cdk-eks-helm-test/AssetParameters/ea17febe6d04c66048f3e8e060c71685c0cb53122abceff44842d27bc0d4a03e/S3Bucket": [
+ "/aws-cdk-eks-helm-test/AssetParameters/c6964dbf0c556ec82ce09622e99ad6f6d4e488cdaac0ef9e8492e078ec61ffed/S3Bucket": [
{
"type": "aws:cdk:logicalId",
- "data": "AssetParametersea17febe6d04c66048f3e8e060c71685c0cb53122abceff44842d27bc0d4a03eS3BucketD3288998"
+ "data": "AssetParametersc6964dbf0c556ec82ce09622e99ad6f6d4e488cdaac0ef9e8492e078ec61ffedS3Bucket83B8778F"
}
],
- "/aws-cdk-eks-helm-test/AssetParameters/ea17febe6d04c66048f3e8e060c71685c0cb53122abceff44842d27bc0d4a03e/S3VersionKey": [
+ "/aws-cdk-eks-helm-test/AssetParameters/c6964dbf0c556ec82ce09622e99ad6f6d4e488cdaac0ef9e8492e078ec61ffed/S3VersionKey": [
{
"type": "aws:cdk:logicalId",
- "data": "AssetParametersea17febe6d04c66048f3e8e060c71685c0cb53122abceff44842d27bc0d4a03eS3VersionKeyB00C0565"
+ "data": "AssetParametersc6964dbf0c556ec82ce09622e99ad6f6d4e488cdaac0ef9e8492e078ec61ffedS3VersionKeyADF6A055"
}
],
- "/aws-cdk-eks-helm-test/AssetParameters/ea17febe6d04c66048f3e8e060c71685c0cb53122abceff44842d27bc0d4a03e/ArtifactHash": [
+ "/aws-cdk-eks-helm-test/AssetParameters/c6964dbf0c556ec82ce09622e99ad6f6d4e488cdaac0ef9e8492e078ec61ffed/ArtifactHash": [
{
"type": "aws:cdk:logicalId",
- "data": "AssetParametersea17febe6d04c66048f3e8e060c71685c0cb53122abceff44842d27bc0d4a03eArtifactHash4654D012"
+ "data": "AssetParametersc6964dbf0c556ec82ce09622e99ad6f6d4e488cdaac0ef9e8492e078ec61ffedArtifactHash2C972BAF"
}
],
"/aws-cdk-eks-helm-test/AssetParameters/d65fbdc11b108e0386ed8577c454d4544f6d4e7960f84a0d2e211478d6324dbf/S3Bucket": [
@@ -648,22 +654,22 @@
"data": "AssetParameters7d7713018f4039aec7dbac05e1b331f850d1c0985a1159bf0a0b5a38a850987cArtifactHash663712D3"
}
],
- "/aws-cdk-eks-helm-test/AssetParameters/a5d60d1529154e4d0639b3fe5d8a36b6d90337aef74c85b83e7800866093a06c/S3Bucket": [
+ "/aws-cdk-eks-helm-test/AssetParameters/52864f95f8d008449eb268ec864f3cf6ac7feaaf9647368191fb35ca265a820a/S3Bucket": [
{
"type": "aws:cdk:logicalId",
- "data": "AssetParametersa5d60d1529154e4d0639b3fe5d8a36b6d90337aef74c85b83e7800866093a06cS3Bucket6FD55E1C"
+ "data": "AssetParameters52864f95f8d008449eb268ec864f3cf6ac7feaaf9647368191fb35ca265a820aS3Bucket1AEB1014"
}
],
- "/aws-cdk-eks-helm-test/AssetParameters/a5d60d1529154e4d0639b3fe5d8a36b6d90337aef74c85b83e7800866093a06c/S3VersionKey": [
+ "/aws-cdk-eks-helm-test/AssetParameters/52864f95f8d008449eb268ec864f3cf6ac7feaaf9647368191fb35ca265a820a/S3VersionKey": [
{
"type": "aws:cdk:logicalId",
- "data": "AssetParametersa5d60d1529154e4d0639b3fe5d8a36b6d90337aef74c85b83e7800866093a06cS3VersionKeyF7A8F3EE"
+ "data": "AssetParameters52864f95f8d008449eb268ec864f3cf6ac7feaaf9647368191fb35ca265a820aS3VersionKey333BF6FA"
}
],
- "/aws-cdk-eks-helm-test/AssetParameters/a5d60d1529154e4d0639b3fe5d8a36b6d90337aef74c85b83e7800866093a06c/ArtifactHash": [
+ "/aws-cdk-eks-helm-test/AssetParameters/52864f95f8d008449eb268ec864f3cf6ac7feaaf9647368191fb35ca265a820a/ArtifactHash": [
{
"type": "aws:cdk:logicalId",
- "data": "AssetParametersa5d60d1529154e4d0639b3fe5d8a36b6d90337aef74c85b83e7800866093a06cArtifactHash835B57D9"
+ "data": "AssetParameters52864f95f8d008449eb268ec864f3cf6ac7feaaf9647368191fb35ca265a820aArtifactHash742629B5"
}
],
"/aws-cdk-eks-helm-test/@aws-cdk--aws-eks.KubectlProvider/Handler/ServiceRole/Resource": [
@@ -738,16 +744,16 @@
"data": "referencetoawscdkekshelmtestAssetParametersd65fbdc11b108e0386ed8577c454d4544f6d4e7960f84a0d2e211478d6324dbfS3Bucket5EAB45FARef"
}
],
- "/aws-cdk-eks-helm-test/@aws-cdk--aws-eks.KubectlProvider/reference-to-awscdkekshelmtestAssetParametersa70c48e7047fb793b2378668accb1dc2d92f2d7b1fff80c9c718f4964dc69cb8S3BucketC59436A3Ref": [
+ "/aws-cdk-eks-helm-test/@aws-cdk--aws-eks.KubectlProvider/reference-to-awscdkekshelmtestAssetParameters07a1c6a504be72dba3e9bc5b12cc2b5b0e83ea5c6ba10a4128da5c2180f3f963S3BucketEC27A5F2Ref": [
{
"type": "aws:cdk:logicalId",
- "data": "referencetoawscdkekshelmtestAssetParametersa70c48e7047fb793b2378668accb1dc2d92f2d7b1fff80c9c718f4964dc69cb8S3BucketC59436A3Ref"
+ "data": "referencetoawscdkekshelmtestAssetParameters07a1c6a504be72dba3e9bc5b12cc2b5b0e83ea5c6ba10a4128da5c2180f3f963S3BucketEC27A5F2Ref"
}
],
- "/aws-cdk-eks-helm-test/@aws-cdk--aws-eks.KubectlProvider/reference-to-awscdkekshelmtestAssetParametersa70c48e7047fb793b2378668accb1dc2d92f2d7b1fff80c9c718f4964dc69cb8S3VersionKey5ECB4296Ref": [
+ "/aws-cdk-eks-helm-test/@aws-cdk--aws-eks.KubectlProvider/reference-to-awscdkekshelmtestAssetParameters07a1c6a504be72dba3e9bc5b12cc2b5b0e83ea5c6ba10a4128da5c2180f3f963S3VersionKey5772F015Ref": [
{
"type": "aws:cdk:logicalId",
- "data": "referencetoawscdkekshelmtestAssetParametersa70c48e7047fb793b2378668accb1dc2d92f2d7b1fff80c9c718f4964dc69cb8S3VersionKey5ECB4296Ref"
+ "data": "referencetoawscdkekshelmtestAssetParameters07a1c6a504be72dba3e9bc5b12cc2b5b0e83ea5c6ba10a4128da5c2180f3f963S3VersionKey5772F015Ref"
}
],
"/aws-cdk-eks-helm-test/@aws-cdk--aws-eks.KubectlProvider/reference-to-awscdkekshelmtestVpcPrivateSubnet1Subnet3D2B5C0BRef": [
@@ -780,16 +786,16 @@
"data": "referencetoawscdkekshelmtestAssetParameters92c405c4551a308bcdd55823f8b16268bd3c38fd2a011edaaf3ed72a80f557c4S3VersionKey149985B9Ref"
}
],
- "/aws-cdk-eks-helm-test/@aws-cdk--aws-eks.KubectlProvider/reference-to-awscdkekshelmtestAssetParametersea17febe6d04c66048f3e8e060c71685c0cb53122abceff44842d27bc0d4a03eS3Bucket355FB348Ref": [
+ "/aws-cdk-eks-helm-test/@aws-cdk--aws-eks.KubectlProvider/reference-to-awscdkekshelmtestAssetParametersc6964dbf0c556ec82ce09622e99ad6f6d4e488cdaac0ef9e8492e078ec61ffedS3Bucket8229D3A2Ref": [
{
"type": "aws:cdk:logicalId",
- "data": "referencetoawscdkekshelmtestAssetParametersea17febe6d04c66048f3e8e060c71685c0cb53122abceff44842d27bc0d4a03eS3Bucket355FB348Ref"
+ "data": "referencetoawscdkekshelmtestAssetParametersc6964dbf0c556ec82ce09622e99ad6f6d4e488cdaac0ef9e8492e078ec61ffedS3Bucket8229D3A2Ref"
}
],
- "/aws-cdk-eks-helm-test/@aws-cdk--aws-eks.KubectlProvider/reference-to-awscdkekshelmtestAssetParametersea17febe6d04c66048f3e8e060c71685c0cb53122abceff44842d27bc0d4a03eS3VersionKeyA7F169F4Ref": [
+ "/aws-cdk-eks-helm-test/@aws-cdk--aws-eks.KubectlProvider/reference-to-awscdkekshelmtestAssetParametersc6964dbf0c556ec82ce09622e99ad6f6d4e488cdaac0ef9e8492e078ec61ffedS3VersionKey0C91EE3ERef": [
{
"type": "aws:cdk:logicalId",
- "data": "referencetoawscdkekshelmtestAssetParametersea17febe6d04c66048f3e8e060c71685c0cb53122abceff44842d27bc0d4a03eS3VersionKeyA7F169F4Ref"
+ "data": "referencetoawscdkekshelmtestAssetParametersc6964dbf0c556ec82ce09622e99ad6f6d4e488cdaac0ef9e8492e078ec61ffedS3VersionKey0C91EE3ERef"
}
],
"/aws-cdk-eks-helm-test/@aws-cdk--aws-eks.KubectlProvider/reference-to-awscdkekshelmtestAssetParameters8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9S3BucketAF49DDE8Ref": [
diff --git a/packages/@aws-cdk/aws-eks/test/eks-helm-asset.integ.snapshot/tree.json b/packages/@aws-cdk/aws-eks/test/eks-helm-asset.integ.snapshot/tree.json
index 9ee3c2aef9ca7..43dc806ddf96e 100644
--- a/packages/@aws-cdk/aws-eks/test/eks-helm-asset.integ.snapshot/tree.json
+++ b/packages/@aws-cdk/aws-eks/test/eks-helm-asset.integ.snapshot/tree.json
@@ -1191,6 +1191,34 @@
"fqn": "@aws-cdk/aws-eks.HelmChart",
"version": "0.0.0"
}
+ },
+ "chart-test-oci-chart": {
+ "id": "chart-test-oci-chart",
+ "path": "aws-cdk-eks-helm-test/Cluster/chart-test-oci-chart",
+ "children": {
+ "Resource": {
+ "id": "Resource",
+ "path": "aws-cdk-eks-helm-test/Cluster/chart-test-oci-chart/Resource",
+ "children": {
+ "Default": {
+ "id": "Default",
+ "path": "aws-cdk-eks-helm-test/Cluster/chart-test-oci-chart/Resource/Default",
+ "constructInfo": {
+ "fqn": "@aws-cdk/core.CfnResource",
+ "version": "0.0.0"
+ }
+ }
+ },
+ "constructInfo": {
+ "fqn": "@aws-cdk/core.CustomResource",
+ "version": "0.0.0"
+ }
+ }
+ },
+ "constructInfo": {
+ "fqn": "@aws-cdk/aws-eks.HelmChart",
+ "version": "0.0.0"
+ }
}
},
"constructInfo": {
@@ -2864,13 +2892,13 @@
"version": "0.0.0"
}
},
- "a70c48e7047fb793b2378668accb1dc2d92f2d7b1fff80c9c718f4964dc69cb8": {
- "id": "a70c48e7047fb793b2378668accb1dc2d92f2d7b1fff80c9c718f4964dc69cb8",
- "path": "aws-cdk-eks-helm-test/AssetParameters/a70c48e7047fb793b2378668accb1dc2d92f2d7b1fff80c9c718f4964dc69cb8",
+ "07a1c6a504be72dba3e9bc5b12cc2b5b0e83ea5c6ba10a4128da5c2180f3f963": {
+ "id": "07a1c6a504be72dba3e9bc5b12cc2b5b0e83ea5c6ba10a4128da5c2180f3f963",
+ "path": "aws-cdk-eks-helm-test/AssetParameters/07a1c6a504be72dba3e9bc5b12cc2b5b0e83ea5c6ba10a4128da5c2180f3f963",
"children": {
"S3Bucket": {
"id": "S3Bucket",
- "path": "aws-cdk-eks-helm-test/AssetParameters/a70c48e7047fb793b2378668accb1dc2d92f2d7b1fff80c9c718f4964dc69cb8/S3Bucket",
+ "path": "aws-cdk-eks-helm-test/AssetParameters/07a1c6a504be72dba3e9bc5b12cc2b5b0e83ea5c6ba10a4128da5c2180f3f963/S3Bucket",
"constructInfo": {
"fqn": "@aws-cdk/core.CfnParameter",
"version": "0.0.0"
@@ -2878,7 +2906,7 @@
},
"S3VersionKey": {
"id": "S3VersionKey",
- "path": "aws-cdk-eks-helm-test/AssetParameters/a70c48e7047fb793b2378668accb1dc2d92f2d7b1fff80c9c718f4964dc69cb8/S3VersionKey",
+ "path": "aws-cdk-eks-helm-test/AssetParameters/07a1c6a504be72dba3e9bc5b12cc2b5b0e83ea5c6ba10a4128da5c2180f3f963/S3VersionKey",
"constructInfo": {
"fqn": "@aws-cdk/core.CfnParameter",
"version": "0.0.0"
@@ -2886,7 +2914,7 @@
},
"ArtifactHash": {
"id": "ArtifactHash",
- "path": "aws-cdk-eks-helm-test/AssetParameters/a70c48e7047fb793b2378668accb1dc2d92f2d7b1fff80c9c718f4964dc69cb8/ArtifactHash",
+ "path": "aws-cdk-eks-helm-test/AssetParameters/07a1c6a504be72dba3e9bc5b12cc2b5b0e83ea5c6ba10a4128da5c2180f3f963/ArtifactHash",
"constructInfo": {
"fqn": "@aws-cdk/core.CfnParameter",
"version": "0.0.0"
@@ -2932,13 +2960,13 @@
"version": "0.0.0"
}
},
- "ea17febe6d04c66048f3e8e060c71685c0cb53122abceff44842d27bc0d4a03e": {
- "id": "ea17febe6d04c66048f3e8e060c71685c0cb53122abceff44842d27bc0d4a03e",
- "path": "aws-cdk-eks-helm-test/AssetParameters/ea17febe6d04c66048f3e8e060c71685c0cb53122abceff44842d27bc0d4a03e",
+ "c6964dbf0c556ec82ce09622e99ad6f6d4e488cdaac0ef9e8492e078ec61ffed": {
+ "id": "c6964dbf0c556ec82ce09622e99ad6f6d4e488cdaac0ef9e8492e078ec61ffed",
+ "path": "aws-cdk-eks-helm-test/AssetParameters/c6964dbf0c556ec82ce09622e99ad6f6d4e488cdaac0ef9e8492e078ec61ffed",
"children": {
"S3Bucket": {
"id": "S3Bucket",
- "path": "aws-cdk-eks-helm-test/AssetParameters/ea17febe6d04c66048f3e8e060c71685c0cb53122abceff44842d27bc0d4a03e/S3Bucket",
+ "path": "aws-cdk-eks-helm-test/AssetParameters/c6964dbf0c556ec82ce09622e99ad6f6d4e488cdaac0ef9e8492e078ec61ffed/S3Bucket",
"constructInfo": {
"fqn": "@aws-cdk/core.CfnParameter",
"version": "0.0.0"
@@ -2946,7 +2974,7 @@
},
"S3VersionKey": {
"id": "S3VersionKey",
- "path": "aws-cdk-eks-helm-test/AssetParameters/ea17febe6d04c66048f3e8e060c71685c0cb53122abceff44842d27bc0d4a03e/S3VersionKey",
+ "path": "aws-cdk-eks-helm-test/AssetParameters/c6964dbf0c556ec82ce09622e99ad6f6d4e488cdaac0ef9e8492e078ec61ffed/S3VersionKey",
"constructInfo": {
"fqn": "@aws-cdk/core.CfnParameter",
"version": "0.0.0"
@@ -2954,7 +2982,7 @@
},
"ArtifactHash": {
"id": "ArtifactHash",
- "path": "aws-cdk-eks-helm-test/AssetParameters/ea17febe6d04c66048f3e8e060c71685c0cb53122abceff44842d27bc0d4a03e/ArtifactHash",
+ "path": "aws-cdk-eks-helm-test/AssetParameters/c6964dbf0c556ec82ce09622e99ad6f6d4e488cdaac0ef9e8492e078ec61ffed/ArtifactHash",
"constructInfo": {
"fqn": "@aws-cdk/core.CfnParameter",
"version": "0.0.0"
@@ -3034,13 +3062,13 @@
"version": "0.0.0"
}
},
- "a5d60d1529154e4d0639b3fe5d8a36b6d90337aef74c85b83e7800866093a06c": {
- "id": "a5d60d1529154e4d0639b3fe5d8a36b6d90337aef74c85b83e7800866093a06c",
- "path": "aws-cdk-eks-helm-test/AssetParameters/a5d60d1529154e4d0639b3fe5d8a36b6d90337aef74c85b83e7800866093a06c",
+ "52864f95f8d008449eb268ec864f3cf6ac7feaaf9647368191fb35ca265a820a": {
+ "id": "52864f95f8d008449eb268ec864f3cf6ac7feaaf9647368191fb35ca265a820a",
+ "path": "aws-cdk-eks-helm-test/AssetParameters/52864f95f8d008449eb268ec864f3cf6ac7feaaf9647368191fb35ca265a820a",
"children": {
"S3Bucket": {
"id": "S3Bucket",
- "path": "aws-cdk-eks-helm-test/AssetParameters/a5d60d1529154e4d0639b3fe5d8a36b6d90337aef74c85b83e7800866093a06c/S3Bucket",
+ "path": "aws-cdk-eks-helm-test/AssetParameters/52864f95f8d008449eb268ec864f3cf6ac7feaaf9647368191fb35ca265a820a/S3Bucket",
"constructInfo": {
"fqn": "@aws-cdk/core.CfnParameter",
"version": "0.0.0"
@@ -3048,7 +3076,7 @@
},
"S3VersionKey": {
"id": "S3VersionKey",
- "path": "aws-cdk-eks-helm-test/AssetParameters/a5d60d1529154e4d0639b3fe5d8a36b6d90337aef74c85b83e7800866093a06c/S3VersionKey",
+ "path": "aws-cdk-eks-helm-test/AssetParameters/52864f95f8d008449eb268ec864f3cf6ac7feaaf9647368191fb35ca265a820a/S3VersionKey",
"constructInfo": {
"fqn": "@aws-cdk/core.CfnParameter",
"version": "0.0.0"
@@ -3056,7 +3084,7 @@
},
"ArtifactHash": {
"id": "ArtifactHash",
- "path": "aws-cdk-eks-helm-test/AssetParameters/a5d60d1529154e4d0639b3fe5d8a36b6d90337aef74c85b83e7800866093a06c/ArtifactHash",
+ "path": "aws-cdk-eks-helm-test/AssetParameters/52864f95f8d008449eb268ec864f3cf6ac7feaaf9647368191fb35ca265a820a/ArtifactHash",
"constructInfo": {
"fqn": "@aws-cdk/core.CfnParameter",
"version": "0.0.0"
@@ -3278,7 +3306,7 @@
"aws:cdk:cloudformation:props": {
"code": {
"s3Bucket": {
- "Ref": "referencetoawscdkekshelmtestAssetParametersa70c48e7047fb793b2378668accb1dc2d92f2d7b1fff80c9c718f4964dc69cb8S3BucketC59436A3Ref"
+ "Ref": "referencetoawscdkekshelmtestAssetParameters07a1c6a504be72dba3e9bc5b12cc2b5b0e83ea5c6ba10a4128da5c2180f3f963S3BucketEC27A5F2Ref"
},
"s3Key": {
"Fn::Join": [
@@ -3291,7 +3319,7 @@
"Fn::Split": [
"||",
{
- "Ref": "referencetoawscdkekshelmtestAssetParametersa70c48e7047fb793b2378668accb1dc2d92f2d7b1fff80c9c718f4964dc69cb8S3VersionKey5ECB4296Ref"
+ "Ref": "referencetoawscdkekshelmtestAssetParameters07a1c6a504be72dba3e9bc5b12cc2b5b0e83ea5c6ba10a4128da5c2180f3f963S3VersionKey5772F015Ref"
}
]
}
@@ -3304,7 +3332,7 @@
"Fn::Split": [
"||",
{
- "Ref": "referencetoawscdkekshelmtestAssetParametersa70c48e7047fb793b2378668accb1dc2d92f2d7b1fff80c9c718f4964dc69cb8S3VersionKey5ECB4296Ref"
+ "Ref": "referencetoawscdkekshelmtestAssetParameters07a1c6a504be72dba3e9bc5b12cc2b5b0e83ea5c6ba10a4128da5c2180f3f963S3VersionKey5772F015Ref"
}
]
}
@@ -3487,7 +3515,7 @@
"aws:cdk:cloudformation:props": {
"content": {
"s3Bucket": {
- "Ref": "referencetoawscdkekshelmtestAssetParametersea17febe6d04c66048f3e8e060c71685c0cb53122abceff44842d27bc0d4a03eS3Bucket355FB348Ref"
+ "Ref": "referencetoawscdkekshelmtestAssetParametersc6964dbf0c556ec82ce09622e99ad6f6d4e488cdaac0ef9e8492e078ec61ffedS3Bucket8229D3A2Ref"
},
"s3Key": {
"Fn::Join": [
@@ -3500,7 +3528,7 @@
"Fn::Split": [
"||",
{
- "Ref": "referencetoawscdkekshelmtestAssetParametersea17febe6d04c66048f3e8e060c71685c0cb53122abceff44842d27bc0d4a03eS3VersionKeyA7F169F4Ref"
+ "Ref": "referencetoawscdkekshelmtestAssetParametersc6964dbf0c556ec82ce09622e99ad6f6d4e488cdaac0ef9e8492e078ec61ffedS3VersionKey0C91EE3ERef"
}
]
}
@@ -3513,7 +3541,7 @@
"Fn::Split": [
"||",
{
- "Ref": "referencetoawscdkekshelmtestAssetParametersea17febe6d04c66048f3e8e060c71685c0cb53122abceff44842d27bc0d4a03eS3VersionKeyA7F169F4Ref"
+ "Ref": "referencetoawscdkekshelmtestAssetParametersc6964dbf0c556ec82ce09622e99ad6f6d4e488cdaac0ef9e8492e078ec61ffedS3VersionKey0C91EE3ERef"
}
]
}
@@ -3822,17 +3850,17 @@
"version": "0.0.0"
}
},
- "reference-to-awscdkekshelmtestAssetParametersa70c48e7047fb793b2378668accb1dc2d92f2d7b1fff80c9c718f4964dc69cb8S3BucketC59436A3Ref": {
- "id": "reference-to-awscdkekshelmtestAssetParametersa70c48e7047fb793b2378668accb1dc2d92f2d7b1fff80c9c718f4964dc69cb8S3BucketC59436A3Ref",
- "path": "aws-cdk-eks-helm-test/@aws-cdk--aws-eks.KubectlProvider/reference-to-awscdkekshelmtestAssetParametersa70c48e7047fb793b2378668accb1dc2d92f2d7b1fff80c9c718f4964dc69cb8S3BucketC59436A3Ref",
+ "reference-to-awscdkekshelmtestAssetParameters07a1c6a504be72dba3e9bc5b12cc2b5b0e83ea5c6ba10a4128da5c2180f3f963S3BucketEC27A5F2Ref": {
+ "id": "reference-to-awscdkekshelmtestAssetParameters07a1c6a504be72dba3e9bc5b12cc2b5b0e83ea5c6ba10a4128da5c2180f3f963S3BucketEC27A5F2Ref",
+ "path": "aws-cdk-eks-helm-test/@aws-cdk--aws-eks.KubectlProvider/reference-to-awscdkekshelmtestAssetParameters07a1c6a504be72dba3e9bc5b12cc2b5b0e83ea5c6ba10a4128da5c2180f3f963S3BucketEC27A5F2Ref",
"constructInfo": {
"fqn": "@aws-cdk/core.CfnParameter",
"version": "0.0.0"
}
},
- "reference-to-awscdkekshelmtestAssetParametersa70c48e7047fb793b2378668accb1dc2d92f2d7b1fff80c9c718f4964dc69cb8S3VersionKey5ECB4296Ref": {
- "id": "reference-to-awscdkekshelmtestAssetParametersa70c48e7047fb793b2378668accb1dc2d92f2d7b1fff80c9c718f4964dc69cb8S3VersionKey5ECB4296Ref",
- "path": "aws-cdk-eks-helm-test/@aws-cdk--aws-eks.KubectlProvider/reference-to-awscdkekshelmtestAssetParametersa70c48e7047fb793b2378668accb1dc2d92f2d7b1fff80c9c718f4964dc69cb8S3VersionKey5ECB4296Ref",
+ "reference-to-awscdkekshelmtestAssetParameters07a1c6a504be72dba3e9bc5b12cc2b5b0e83ea5c6ba10a4128da5c2180f3f963S3VersionKey5772F015Ref": {
+ "id": "reference-to-awscdkekshelmtestAssetParameters07a1c6a504be72dba3e9bc5b12cc2b5b0e83ea5c6ba10a4128da5c2180f3f963S3VersionKey5772F015Ref",
+ "path": "aws-cdk-eks-helm-test/@aws-cdk--aws-eks.KubectlProvider/reference-to-awscdkekshelmtestAssetParameters07a1c6a504be72dba3e9bc5b12cc2b5b0e83ea5c6ba10a4128da5c2180f3f963S3VersionKey5772F015Ref",
"constructInfo": {
"fqn": "@aws-cdk/core.CfnParameter",
"version": "0.0.0"
@@ -3878,17 +3906,17 @@
"version": "0.0.0"
}
},
- "reference-to-awscdkekshelmtestAssetParametersea17febe6d04c66048f3e8e060c71685c0cb53122abceff44842d27bc0d4a03eS3Bucket355FB348Ref": {
- "id": "reference-to-awscdkekshelmtestAssetParametersea17febe6d04c66048f3e8e060c71685c0cb53122abceff44842d27bc0d4a03eS3Bucket355FB348Ref",
- "path": "aws-cdk-eks-helm-test/@aws-cdk--aws-eks.KubectlProvider/reference-to-awscdkekshelmtestAssetParametersea17febe6d04c66048f3e8e060c71685c0cb53122abceff44842d27bc0d4a03eS3Bucket355FB348Ref",
+ "reference-to-awscdkekshelmtestAssetParametersc6964dbf0c556ec82ce09622e99ad6f6d4e488cdaac0ef9e8492e078ec61ffedS3Bucket8229D3A2Ref": {
+ "id": "reference-to-awscdkekshelmtestAssetParametersc6964dbf0c556ec82ce09622e99ad6f6d4e488cdaac0ef9e8492e078ec61ffedS3Bucket8229D3A2Ref",
+ "path": "aws-cdk-eks-helm-test/@aws-cdk--aws-eks.KubectlProvider/reference-to-awscdkekshelmtestAssetParametersc6964dbf0c556ec82ce09622e99ad6f6d4e488cdaac0ef9e8492e078ec61ffedS3Bucket8229D3A2Ref",
"constructInfo": {
"fqn": "@aws-cdk/core.CfnParameter",
"version": "0.0.0"
}
},
- "reference-to-awscdkekshelmtestAssetParametersea17febe6d04c66048f3e8e060c71685c0cb53122abceff44842d27bc0d4a03eS3VersionKeyA7F169F4Ref": {
- "id": "reference-to-awscdkekshelmtestAssetParametersea17febe6d04c66048f3e8e060c71685c0cb53122abceff44842d27bc0d4a03eS3VersionKeyA7F169F4Ref",
- "path": "aws-cdk-eks-helm-test/@aws-cdk--aws-eks.KubectlProvider/reference-to-awscdkekshelmtestAssetParametersea17febe6d04c66048f3e8e060c71685c0cb53122abceff44842d27bc0d4a03eS3VersionKeyA7F169F4Ref",
+ "reference-to-awscdkekshelmtestAssetParametersc6964dbf0c556ec82ce09622e99ad6f6d4e488cdaac0ef9e8492e078ec61ffedS3VersionKey0C91EE3ERef": {
+ "id": "reference-to-awscdkekshelmtestAssetParametersc6964dbf0c556ec82ce09622e99ad6f6d4e488cdaac0ef9e8492e078ec61ffedS3VersionKey0C91EE3ERef",
+ "path": "aws-cdk-eks-helm-test/@aws-cdk--aws-eks.KubectlProvider/reference-to-awscdkekshelmtestAssetParametersc6964dbf0c556ec82ce09622e99ad6f6d4e488cdaac0ef9e8492e078ec61ffedS3VersionKey0C91EE3ERef",
"constructInfo": {
"fqn": "@aws-cdk/core.CfnParameter",
"version": "0.0.0"
@@ -3940,7 +3968,7 @@
},
"/",
{
- "Ref": "AssetParametersa5d60d1529154e4d0639b3fe5d8a36b6d90337aef74c85b83e7800866093a06cS3Bucket6FD55E1C"
+ "Ref": "AssetParameters52864f95f8d008449eb268ec864f3cf6ac7feaaf9647368191fb35ca265a820aS3Bucket1AEB1014"
},
"/",
{
@@ -3950,7 +3978,7 @@
"Fn::Split": [
"||",
{
- "Ref": "AssetParametersa5d60d1529154e4d0639b3fe5d8a36b6d90337aef74c85b83e7800866093a06cS3VersionKeyF7A8F3EE"
+ "Ref": "AssetParameters52864f95f8d008449eb268ec864f3cf6ac7feaaf9647368191fb35ca265a820aS3VersionKey333BF6FA"
}
]
}
@@ -3963,7 +3991,7 @@
"Fn::Split": [
"||",
{
- "Ref": "AssetParametersa5d60d1529154e4d0639b3fe5d8a36b6d90337aef74c85b83e7800866093a06cS3VersionKeyF7A8F3EE"
+ "Ref": "AssetParameters52864f95f8d008449eb268ec864f3cf6ac7feaaf9647368191fb35ca265a820aS3VersionKey333BF6FA"
}
]
}
@@ -3988,11 +4016,11 @@
"referencetoawscdkekshelmtestAssetParametersd65fbdc11b108e0386ed8577c454d4544f6d4e7960f84a0d2e211478d6324dbfS3Bucket5EAB45FARef": {
"Ref": "AssetParametersd65fbdc11b108e0386ed8577c454d4544f6d4e7960f84a0d2e211478d6324dbfS3BucketBFD29DFB"
},
- "referencetoawscdkekshelmtestAssetParametersa70c48e7047fb793b2378668accb1dc2d92f2d7b1fff80c9c718f4964dc69cb8S3BucketC59436A3Ref": {
- "Ref": "AssetParametersa70c48e7047fb793b2378668accb1dc2d92f2d7b1fff80c9c718f4964dc69cb8S3Bucket4CD5FFC3"
+ "referencetoawscdkekshelmtestAssetParameters07a1c6a504be72dba3e9bc5b12cc2b5b0e83ea5c6ba10a4128da5c2180f3f963S3BucketEC27A5F2Ref": {
+ "Ref": "AssetParameters07a1c6a504be72dba3e9bc5b12cc2b5b0e83ea5c6ba10a4128da5c2180f3f963S3Bucket9BDF5881"
},
- "referencetoawscdkekshelmtestAssetParametersa70c48e7047fb793b2378668accb1dc2d92f2d7b1fff80c9c718f4964dc69cb8S3VersionKey5ECB4296Ref": {
- "Ref": "AssetParametersa70c48e7047fb793b2378668accb1dc2d92f2d7b1fff80c9c718f4964dc69cb8S3VersionKeyE06BA291"
+ "referencetoawscdkekshelmtestAssetParameters07a1c6a504be72dba3e9bc5b12cc2b5b0e83ea5c6ba10a4128da5c2180f3f963S3VersionKey5772F015Ref": {
+ "Ref": "AssetParameters07a1c6a504be72dba3e9bc5b12cc2b5b0e83ea5c6ba10a4128da5c2180f3f963S3VersionKey63AC53A2"
},
"referencetoawscdkekshelmtestVpcPrivateSubnet1Subnet3D2B5C0BRef": {
"Ref": "VpcPrivateSubnet1Subnet536B997A"
@@ -4012,11 +4040,11 @@
"referencetoawscdkekshelmtestAssetParameters92c405c4551a308bcdd55823f8b16268bd3c38fd2a011edaaf3ed72a80f557c4S3VersionKey149985B9Ref": {
"Ref": "AssetParameters92c405c4551a308bcdd55823f8b16268bd3c38fd2a011edaaf3ed72a80f557c4S3VersionKeyEF78B2AD"
},
- "referencetoawscdkekshelmtestAssetParametersea17febe6d04c66048f3e8e060c71685c0cb53122abceff44842d27bc0d4a03eS3Bucket355FB348Ref": {
- "Ref": "AssetParametersea17febe6d04c66048f3e8e060c71685c0cb53122abceff44842d27bc0d4a03eS3BucketD3288998"
+ "referencetoawscdkekshelmtestAssetParametersc6964dbf0c556ec82ce09622e99ad6f6d4e488cdaac0ef9e8492e078ec61ffedS3Bucket8229D3A2Ref": {
+ "Ref": "AssetParametersc6964dbf0c556ec82ce09622e99ad6f6d4e488cdaac0ef9e8492e078ec61ffedS3Bucket83B8778F"
},
- "referencetoawscdkekshelmtestAssetParametersea17febe6d04c66048f3e8e060c71685c0cb53122abceff44842d27bc0d4a03eS3VersionKeyA7F169F4Ref": {
- "Ref": "AssetParametersea17febe6d04c66048f3e8e060c71685c0cb53122abceff44842d27bc0d4a03eS3VersionKeyB00C0565"
+ "referencetoawscdkekshelmtestAssetParametersc6964dbf0c556ec82ce09622e99ad6f6d4e488cdaac0ef9e8492e078ec61ffedS3VersionKey0C91EE3ERef": {
+ "Ref": "AssetParametersc6964dbf0c556ec82ce09622e99ad6f6d4e488cdaac0ef9e8492e078ec61ffedS3VersionKeyADF6A055"
},
"referencetoawscdkekshelmtestAssetParameters8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9S3BucketAF49DDE8Ref": {
"Ref": "AssetParameters8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9S3Bucket40DFAF90"
diff --git a/packages/@aws-cdk/aws-elasticache/package.json b/packages/@aws-cdk/aws-elasticache/package.json
index 50e6f1e715664..9295ca484ff64 100644
--- a/packages/@aws-cdk/aws-elasticache/package.json
+++ b/packages/@aws-cdk/aws-elasticache/package.json
@@ -47,7 +47,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
diff --git a/packages/@aws-cdk/aws-elasticbeanstalk/package.json b/packages/@aws-cdk/aws-elasticbeanstalk/package.json
index c3813016c4e6a..588b52127070e 100644
--- a/packages/@aws-cdk/aws-elasticbeanstalk/package.json
+++ b/packages/@aws-cdk/aws-elasticbeanstalk/package.json
@@ -47,7 +47,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
diff --git a/packages/@aws-cdk/aws-elasticloadbalancing/package.json b/packages/@aws-cdk/aws-elasticloadbalancing/package.json
index be344c056d66e..f5205b5f3f1e7 100644
--- a/packages/@aws-cdk/aws-elasticloadbalancing/package.json
+++ b/packages/@aws-cdk/aws-elasticloadbalancing/package.json
@@ -47,7 +47,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
@@ -81,7 +81,7 @@
"devDependencies": {
"@aws-cdk/assertions": "0.0.0",
"@aws-cdk/cdk-build-tools": "0.0.0",
- "@aws-cdk/cdk-integ-tools": "0.0.0",
+ "@aws-cdk/integ-runner": "0.0.0",
"@aws-cdk/cfn2ts": "0.0.0",
"@aws-cdk/pkglint": "0.0.0",
"@types/jest": "^27.4.1"
diff --git a/packages/@aws-cdk/aws-elasticloadbalancingv2-actions/package.json b/packages/@aws-cdk/aws-elasticloadbalancingv2-actions/package.json
index bc600f17e2974..7b0bbeb5be51d 100644
--- a/packages/@aws-cdk/aws-elasticloadbalancingv2-actions/package.json
+++ b/packages/@aws-cdk/aws-elasticloadbalancingv2-actions/package.json
@@ -47,7 +47,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
@@ -74,7 +74,7 @@
"devDependencies": {
"@aws-cdk/assertions": "0.0.0",
"@aws-cdk/cdk-build-tools": "0.0.0",
- "@aws-cdk/cdk-integ-tools": "0.0.0",
+ "@aws-cdk/integ-runner": "0.0.0",
"@aws-cdk/pkglint": "0.0.0",
"@types/jest": "^27.4.1",
"jest": "^27.5.1"
diff --git a/packages/@aws-cdk/aws-elasticloadbalancingv2-targets/package.json b/packages/@aws-cdk/aws-elasticloadbalancingv2-targets/package.json
index b00b793851348..41fb5f142b038 100644
--- a/packages/@aws-cdk/aws-elasticloadbalancingv2-targets/package.json
+++ b/packages/@aws-cdk/aws-elasticloadbalancingv2-targets/package.json
@@ -47,7 +47,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
@@ -74,7 +74,7 @@
"devDependencies": {
"@aws-cdk/assertions": "0.0.0",
"@aws-cdk/cdk-build-tools": "0.0.0",
- "@aws-cdk/cdk-integ-tools": "0.0.0",
+ "@aws-cdk/integ-runner": "0.0.0",
"@aws-cdk/pkglint": "0.0.0",
"@types/jest": "^27.4.1",
"jest": "^27.5.1",
diff --git a/packages/@aws-cdk/aws-elasticloadbalancingv2/package.json b/packages/@aws-cdk/aws-elasticloadbalancingv2/package.json
index 1668c5ffc511f..06d80fb7ff4ba 100644
--- a/packages/@aws-cdk/aws-elasticloadbalancingv2/package.json
+++ b/packages/@aws-cdk/aws-elasticloadbalancingv2/package.json
@@ -47,7 +47,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
@@ -81,7 +81,7 @@
"devDependencies": {
"@aws-cdk/assertions": "0.0.0",
"@aws-cdk/cdk-build-tools": "0.0.0",
- "@aws-cdk/cdk-integ-tools": "0.0.0",
+ "@aws-cdk/integ-runner": "0.0.0",
"@aws-cdk/cfn2ts": "0.0.0",
"@aws-cdk/pkglint": "0.0.0",
"@types/jest": "^27.4.1"
diff --git a/packages/@aws-cdk/aws-elasticsearch/package.json b/packages/@aws-cdk/aws-elasticsearch/package.json
index 6bc9107a0abf5..5938a08f9bd23 100644
--- a/packages/@aws-cdk/aws-elasticsearch/package.json
+++ b/packages/@aws-cdk/aws-elasticsearch/package.json
@@ -47,7 +47,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
@@ -81,7 +81,7 @@
"devDependencies": {
"@aws-cdk/assertions": "0.0.0",
"@aws-cdk/cdk-build-tools": "0.0.0",
- "@aws-cdk/cdk-integ-tools": "0.0.0",
+ "@aws-cdk/integ-runner": "0.0.0",
"@aws-cdk/cfn2ts": "0.0.0",
"@aws-cdk/pkglint": "0.0.0",
"@types/jest": "^27.4.1"
diff --git a/packages/@aws-cdk/aws-emr/package.json b/packages/@aws-cdk/aws-emr/package.json
index d8638f3174f7a..3c0a471c513dc 100644
--- a/packages/@aws-cdk/aws-emr/package.json
+++ b/packages/@aws-cdk/aws-emr/package.json
@@ -47,7 +47,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
diff --git a/packages/@aws-cdk/aws-emrcontainers/package.json b/packages/@aws-cdk/aws-emrcontainers/package.json
index 72b6f669f603a..8970cc9a1b196 100644
--- a/packages/@aws-cdk/aws-emrcontainers/package.json
+++ b/packages/@aws-cdk/aws-emrcontainers/package.json
@@ -50,7 +50,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
diff --git a/packages/@aws-cdk/aws-events-targets/package.json b/packages/@aws-cdk/aws-events-targets/package.json
index 650961f9757ef..5589ff8f3271c 100644
--- a/packages/@aws-cdk/aws-events-targets/package.json
+++ b/packages/@aws-cdk/aws-events-targets/package.json
@@ -47,7 +47,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
@@ -84,7 +84,7 @@
"@aws-cdk/aws-codecommit": "0.0.0",
"@aws-cdk/aws-s3": "0.0.0",
"@aws-cdk/cdk-build-tools": "0.0.0",
- "@aws-cdk/cdk-integ-tools": "0.0.0",
+ "@aws-cdk/integ-runner": "0.0.0",
"@aws-cdk/pkglint": "0.0.0",
"@types/jest": "^27.4.1",
"aws-sdk": "^2.848.0",
diff --git a/packages/@aws-cdk/aws-events/package.json b/packages/@aws-cdk/aws-events/package.json
index 377a1c8ac9df9..e8b62d7500693 100644
--- a/packages/@aws-cdk/aws-events/package.json
+++ b/packages/@aws-cdk/aws-events/package.json
@@ -47,7 +47,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
diff --git a/packages/@aws-cdk/aws-eventschemas/package.json b/packages/@aws-cdk/aws-eventschemas/package.json
index 42b0c59bdf000..fe29cd6cf713c 100644
--- a/packages/@aws-cdk/aws-eventschemas/package.json
+++ b/packages/@aws-cdk/aws-eventschemas/package.json
@@ -45,7 +45,7 @@
"homepage": "https://github.com/aws/aws-cdk",
"scripts": {
"build": "cdk-build",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"lint": "cdk-lint",
"package": "cdk-package",
"awslint": "cdk-awslint",
diff --git a/packages/@aws-cdk/aws-evidently/package.json b/packages/@aws-cdk/aws-evidently/package.json
index cd466e968cb7d..2bfdac882d0a7 100644
--- a/packages/@aws-cdk/aws-evidently/package.json
+++ b/packages/@aws-cdk/aws-evidently/package.json
@@ -50,7 +50,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
diff --git a/packages/@aws-cdk/aws-finspace/package.json b/packages/@aws-cdk/aws-finspace/package.json
index cdbf1478941c4..e32ef7cd08443 100644
--- a/packages/@aws-cdk/aws-finspace/package.json
+++ b/packages/@aws-cdk/aws-finspace/package.json
@@ -50,7 +50,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
diff --git a/packages/@aws-cdk/aws-fis/package.json b/packages/@aws-cdk/aws-fis/package.json
index ca2716b5c2b54..c94d088c5b44b 100644
--- a/packages/@aws-cdk/aws-fis/package.json
+++ b/packages/@aws-cdk/aws-fis/package.json
@@ -50,7 +50,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
diff --git a/packages/@aws-cdk/aws-fms/package.json b/packages/@aws-cdk/aws-fms/package.json
index 5ab1866fdca94..a8073382c923e 100644
--- a/packages/@aws-cdk/aws-fms/package.json
+++ b/packages/@aws-cdk/aws-fms/package.json
@@ -48,7 +48,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
diff --git a/packages/@aws-cdk/aws-forecast/package.json b/packages/@aws-cdk/aws-forecast/package.json
index f73f6e685b3f3..3c809cfbbf5f2 100644
--- a/packages/@aws-cdk/aws-forecast/package.json
+++ b/packages/@aws-cdk/aws-forecast/package.json
@@ -50,7 +50,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
diff --git a/packages/@aws-cdk/aws-frauddetector/package.json b/packages/@aws-cdk/aws-frauddetector/package.json
index de77f2a097f9f..e75674830ae92 100644
--- a/packages/@aws-cdk/aws-frauddetector/package.json
+++ b/packages/@aws-cdk/aws-frauddetector/package.json
@@ -50,7 +50,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
diff --git a/packages/@aws-cdk/aws-fsx/package.json b/packages/@aws-cdk/aws-fsx/package.json
index 0d1a669039c85..157b248343edb 100644
--- a/packages/@aws-cdk/aws-fsx/package.json
+++ b/packages/@aws-cdk/aws-fsx/package.json
@@ -45,7 +45,7 @@
"homepage": "https://github.com/aws/aws-cdk",
"scripts": {
"build": "cdk-build",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"lint": "cdk-lint",
"package": "cdk-package",
"awslint": "cdk-awslint",
@@ -83,7 +83,7 @@
"devDependencies": {
"@aws-cdk/assertions": "0.0.0",
"@aws-cdk/cdk-build-tools": "0.0.0",
- "@aws-cdk/cdk-integ-tools": "0.0.0",
+ "@aws-cdk/integ-runner": "0.0.0",
"@aws-cdk/cfn2ts": "0.0.0",
"@aws-cdk/pkglint": "0.0.0",
"@types/jest": "^27.4.1"
diff --git a/packages/@aws-cdk/aws-gamelift/package.json b/packages/@aws-cdk/aws-gamelift/package.json
index 401b1c4375cd7..ea9dc817e6791 100644
--- a/packages/@aws-cdk/aws-gamelift/package.json
+++ b/packages/@aws-cdk/aws-gamelift/package.json
@@ -47,7 +47,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
diff --git a/packages/@aws-cdk/aws-globalaccelerator-endpoints/package.json b/packages/@aws-cdk/aws-globalaccelerator-endpoints/package.json
index ff31bbcb08cee..30d17d7971b77 100644
--- a/packages/@aws-cdk/aws-globalaccelerator-endpoints/package.json
+++ b/packages/@aws-cdk/aws-globalaccelerator-endpoints/package.json
@@ -47,7 +47,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
@@ -78,7 +78,7 @@
"devDependencies": {
"@aws-cdk/assertions": "0.0.0",
"@aws-cdk/cdk-build-tools": "0.0.0",
- "@aws-cdk/cdk-integ-tools": "0.0.0",
+ "@aws-cdk/integ-runner": "0.0.0",
"@aws-cdk/pkglint": "0.0.0",
"@types/jest": "^27.4.1",
"aws-sdk": "^2.848.0",
diff --git a/packages/@aws-cdk/aws-globalaccelerator/package.json b/packages/@aws-cdk/aws-globalaccelerator/package.json
index 10223d0d40b55..ddc8b000fa0f0 100644
--- a/packages/@aws-cdk/aws-globalaccelerator/package.json
+++ b/packages/@aws-cdk/aws-globalaccelerator/package.json
@@ -48,7 +48,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
@@ -84,7 +84,7 @@
"@aws-cdk/assertions": "0.0.0",
"@aws-cdk/aws-elasticloadbalancingv2": "0.0.0",
"@aws-cdk/cdk-build-tools": "0.0.0",
- "@aws-cdk/cdk-integ-tools": "0.0.0",
+ "@aws-cdk/integ-runner": "0.0.0",
"@aws-cdk/cfn2ts": "0.0.0",
"@aws-cdk/pkglint": "0.0.0",
"@types/jest": "^27.4.1"
diff --git a/packages/@aws-cdk/aws-glue/package.json b/packages/@aws-cdk/aws-glue/package.json
index 29c190ddeca63..27495aa3dbb70 100644
--- a/packages/@aws-cdk/aws-glue/package.json
+++ b/packages/@aws-cdk/aws-glue/package.json
@@ -47,7 +47,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
@@ -81,7 +81,7 @@
"devDependencies": {
"@aws-cdk/assertions": "0.0.0",
"@aws-cdk/cdk-build-tools": "0.0.0",
- "@aws-cdk/cdk-integ-tools": "0.0.0",
+ "@aws-cdk/integ-runner": "0.0.0",
"@aws-cdk/cfn2ts": "0.0.0",
"@aws-cdk/cx-api": "0.0.0",
"@aws-cdk/pkglint": "0.0.0",
diff --git a/packages/@aws-cdk/aws-greengrass/package.json b/packages/@aws-cdk/aws-greengrass/package.json
index 8677a50cafc70..c0986baf5d284 100644
--- a/packages/@aws-cdk/aws-greengrass/package.json
+++ b/packages/@aws-cdk/aws-greengrass/package.json
@@ -45,7 +45,7 @@
"homepage": "https://github.com/aws/aws-cdk",
"scripts": {
"build": "cdk-build",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"lint": "cdk-lint",
"package": "cdk-package",
"awslint": "cdk-awslint",
diff --git a/packages/@aws-cdk/aws-greengrassv2/package.json b/packages/@aws-cdk/aws-greengrassv2/package.json
index 4456cac21c5ff..0814f77a44c19 100644
--- a/packages/@aws-cdk/aws-greengrassv2/package.json
+++ b/packages/@aws-cdk/aws-greengrassv2/package.json
@@ -45,7 +45,7 @@
"homepage": "https://github.com/aws/aws-cdk",
"scripts": {
"build": "cdk-build",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"lint": "cdk-lint",
"package": "cdk-package",
"awslint": "cdk-awslint",
diff --git a/packages/@aws-cdk/aws-groundstation/package.json b/packages/@aws-cdk/aws-groundstation/package.json
index a6850e0bcd71a..b16af86b73ab2 100644
--- a/packages/@aws-cdk/aws-groundstation/package.json
+++ b/packages/@aws-cdk/aws-groundstation/package.json
@@ -50,7 +50,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
diff --git a/packages/@aws-cdk/aws-guardduty/package.json b/packages/@aws-cdk/aws-guardduty/package.json
index fd8c3f540cdd6..ef51f2f65c722 100644
--- a/packages/@aws-cdk/aws-guardduty/package.json
+++ b/packages/@aws-cdk/aws-guardduty/package.json
@@ -47,7 +47,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
diff --git a/packages/@aws-cdk/aws-healthlake/package.json b/packages/@aws-cdk/aws-healthlake/package.json
index 3c6e25ae6d523..f40702a0dc899 100644
--- a/packages/@aws-cdk/aws-healthlake/package.json
+++ b/packages/@aws-cdk/aws-healthlake/package.json
@@ -50,7 +50,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
diff --git a/packages/@aws-cdk/aws-iam/package.json b/packages/@aws-cdk/aws-iam/package.json
index 93d43238f4624..93533c5d77482 100644
--- a/packages/@aws-cdk/aws-iam/package.json
+++ b/packages/@aws-cdk/aws-iam/package.json
@@ -48,7 +48,7 @@
"lint": "cdk-lint",
"test": "cdk-test",
"pkglint": "pkglint -f",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"package": "cdk-package",
"awslint": "cdk-awslint",
"cfn2ts": "cfn2ts",
@@ -81,7 +81,7 @@
"devDependencies": {
"@aws-cdk/assertions": "0.0.0",
"@aws-cdk/cdk-build-tools": "0.0.0",
- "@aws-cdk/cdk-integ-tools": "0.0.0",
+ "@aws-cdk/integ-runner": "0.0.0",
"@aws-cdk/cfn2ts": "0.0.0",
"@aws-cdk/pkglint": "0.0.0",
"@types/aws-lambda": "^8.10.93",
diff --git a/packages/@aws-cdk/aws-imagebuilder/package.json b/packages/@aws-cdk/aws-imagebuilder/package.json
index 6d7581afc8a3f..db33edc2a714c 100644
--- a/packages/@aws-cdk/aws-imagebuilder/package.json
+++ b/packages/@aws-cdk/aws-imagebuilder/package.json
@@ -48,7 +48,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
diff --git a/packages/@aws-cdk/aws-inspector/package.json b/packages/@aws-cdk/aws-inspector/package.json
index 446b49eec052b..0aba0cdccea1b 100644
--- a/packages/@aws-cdk/aws-inspector/package.json
+++ b/packages/@aws-cdk/aws-inspector/package.json
@@ -47,7 +47,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
diff --git a/packages/@aws-cdk/aws-inspectorv2/package.json b/packages/@aws-cdk/aws-inspectorv2/package.json
index 6d3ec7b525446..00a4fef961451 100644
--- a/packages/@aws-cdk/aws-inspectorv2/package.json
+++ b/packages/@aws-cdk/aws-inspectorv2/package.json
@@ -50,7 +50,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
diff --git a/packages/@aws-cdk/aws-iot-actions/package.json b/packages/@aws-cdk/aws-iot-actions/package.json
index a2db6d0529f63..5b0cbe2f08344 100644
--- a/packages/@aws-cdk/aws-iot-actions/package.json
+++ b/packages/@aws-cdk/aws-iot-actions/package.json
@@ -47,7 +47,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
@@ -80,7 +80,7 @@
"@aws-cdk/assertions": "0.0.0",
"@aws-cdk/aws-kinesisfirehose-destinations": "0.0.0",
"@aws-cdk/cdk-build-tools": "0.0.0",
- "@aws-cdk/cdk-integ-tools": "0.0.0",
+ "@aws-cdk/integ-runner": "0.0.0",
"@aws-cdk/pkglint": "0.0.0",
"@types/jest": "^27.4.1",
"constructs": "^3.3.69",
diff --git a/packages/@aws-cdk/aws-iot/package.json b/packages/@aws-cdk/aws-iot/package.json
index e83a310c74109..0a8b618c4b02e 100644
--- a/packages/@aws-cdk/aws-iot/package.json
+++ b/packages/@aws-cdk/aws-iot/package.json
@@ -47,7 +47,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
@@ -81,7 +81,7 @@
"devDependencies": {
"@aws-cdk/assertions": "0.0.0",
"@aws-cdk/cdk-build-tools": "0.0.0",
- "@aws-cdk/cdk-integ-tools": "0.0.0",
+ "@aws-cdk/integ-runner": "0.0.0",
"@aws-cdk/cfn2ts": "0.0.0",
"@aws-cdk/pkglint": "0.0.0",
"@types/jest": "^27.4.1",
diff --git a/packages/@aws-cdk/aws-iot1click/package.json b/packages/@aws-cdk/aws-iot1click/package.json
index d0550686c0a7f..25174861f22df 100644
--- a/packages/@aws-cdk/aws-iot1click/package.json
+++ b/packages/@aws-cdk/aws-iot1click/package.json
@@ -45,7 +45,7 @@
"homepage": "https://github.com/aws/aws-cdk",
"scripts": {
"build": "cdk-build",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"lint": "cdk-lint",
"package": "cdk-package",
"pkglint": "pkglint -f",
diff --git a/packages/@aws-cdk/aws-iotanalytics/package.json b/packages/@aws-cdk/aws-iotanalytics/package.json
index 081930aad26ad..e47e92df528ff 100644
--- a/packages/@aws-cdk/aws-iotanalytics/package.json
+++ b/packages/@aws-cdk/aws-iotanalytics/package.json
@@ -45,7 +45,7 @@
"homepage": "https://github.com/aws/aws-cdk",
"scripts": {
"build": "cdk-build",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"lint": "cdk-lint",
"package": "cdk-package",
"pkglint": "pkglint -f",
diff --git a/packages/@aws-cdk/aws-iotcoredeviceadvisor/package.json b/packages/@aws-cdk/aws-iotcoredeviceadvisor/package.json
index 15acc04b2e0f6..9b4d75c8a38ef 100644
--- a/packages/@aws-cdk/aws-iotcoredeviceadvisor/package.json
+++ b/packages/@aws-cdk/aws-iotcoredeviceadvisor/package.json
@@ -50,7 +50,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
diff --git a/packages/@aws-cdk/aws-iotevents-actions/package.json b/packages/@aws-cdk/aws-iotevents-actions/package.json
index 90a925459abc9..618218030d7be 100644
--- a/packages/@aws-cdk/aws-iotevents-actions/package.json
+++ b/packages/@aws-cdk/aws-iotevents-actions/package.json
@@ -40,7 +40,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
@@ -72,7 +72,7 @@
"devDependencies": {
"@aws-cdk/assertions": "0.0.0",
"@aws-cdk/cdk-build-tools": "0.0.0",
- "@aws-cdk/cdk-integ-tools": "0.0.0",
+ "@aws-cdk/integ-runner": "0.0.0",
"@aws-cdk/pkglint": "0.0.0",
"@types/jest": "^27.4.1",
"jest": "^27.5.1"
diff --git a/packages/@aws-cdk/aws-iotevents/package.json b/packages/@aws-cdk/aws-iotevents/package.json
index 3b3b352afe429..d67ad557067cc 100644
--- a/packages/@aws-cdk/aws-iotevents/package.json
+++ b/packages/@aws-cdk/aws-iotevents/package.json
@@ -45,7 +45,7 @@
"homepage": "https://github.com/aws/aws-cdk",
"scripts": {
"build": "cdk-build",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"lint": "cdk-lint",
"package": "cdk-package",
"awslint": "cdk-awslint",
@@ -83,7 +83,7 @@
"devDependencies": {
"@aws-cdk/assertions": "0.0.0",
"@aws-cdk/cdk-build-tools": "0.0.0",
- "@aws-cdk/cdk-integ-tools": "0.0.0",
+ "@aws-cdk/integ-runner": "0.0.0",
"@aws-cdk/cfn2ts": "0.0.0",
"@aws-cdk/pkglint": "0.0.0",
"@types/jest": "^27.4.1",
diff --git a/packages/@aws-cdk/aws-iotfleethub/package.json b/packages/@aws-cdk/aws-iotfleethub/package.json
index 1908aae1aa512..182d01457bc3b 100644
--- a/packages/@aws-cdk/aws-iotfleethub/package.json
+++ b/packages/@aws-cdk/aws-iotfleethub/package.json
@@ -50,7 +50,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
diff --git a/packages/@aws-cdk/aws-iotsitewise/package.json b/packages/@aws-cdk/aws-iotsitewise/package.json
index fabfefa58f1e9..c4115c7618ec2 100644
--- a/packages/@aws-cdk/aws-iotsitewise/package.json
+++ b/packages/@aws-cdk/aws-iotsitewise/package.json
@@ -48,7 +48,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
diff --git a/packages/@aws-cdk/aws-iotthingsgraph/package.json b/packages/@aws-cdk/aws-iotthingsgraph/package.json
index 62af6298210fa..f57caaaae2d1c 100644
--- a/packages/@aws-cdk/aws-iotthingsgraph/package.json
+++ b/packages/@aws-cdk/aws-iotthingsgraph/package.json
@@ -45,7 +45,7 @@
"homepage": "https://github.com/aws/aws-cdk",
"scripts": {
"build": "cdk-build",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"lint": "cdk-lint",
"package": "cdk-package",
"awslint": "cdk-awslint",
diff --git a/packages/@aws-cdk/aws-iotwireless/package.json b/packages/@aws-cdk/aws-iotwireless/package.json
index 684d07c5bd136..6960c9fefd2ff 100644
--- a/packages/@aws-cdk/aws-iotwireless/package.json
+++ b/packages/@aws-cdk/aws-iotwireless/package.json
@@ -48,7 +48,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
diff --git a/packages/@aws-cdk/aws-ivs/package.json b/packages/@aws-cdk/aws-ivs/package.json
index 4f8235a849a03..de63ef9160c49 100644
--- a/packages/@aws-cdk/aws-ivs/package.json
+++ b/packages/@aws-cdk/aws-ivs/package.json
@@ -57,7 +57,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
@@ -93,7 +93,7 @@
"devDependencies": {
"@aws-cdk/assertions": "0.0.0",
"@aws-cdk/cdk-build-tools": "0.0.0",
- "@aws-cdk/cdk-integ-tools": "0.0.0",
+ "@aws-cdk/integ-runner": "0.0.0",
"@aws-cdk/cfn2ts": "0.0.0",
"@aws-cdk/pkglint": "0.0.0",
"@types/jest": "^27.4.1"
diff --git a/packages/@aws-cdk/aws-kafkaconnect/package.json b/packages/@aws-cdk/aws-kafkaconnect/package.json
index ec3eb36faaa42..cf9205369d16b 100644
--- a/packages/@aws-cdk/aws-kafkaconnect/package.json
+++ b/packages/@aws-cdk/aws-kafkaconnect/package.json
@@ -50,7 +50,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
diff --git a/packages/@aws-cdk/aws-kendra/package.json b/packages/@aws-cdk/aws-kendra/package.json
index 805b53e719899..6467667cd38f4 100644
--- a/packages/@aws-cdk/aws-kendra/package.json
+++ b/packages/@aws-cdk/aws-kendra/package.json
@@ -48,7 +48,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
diff --git a/packages/@aws-cdk/aws-kinesis/package.json b/packages/@aws-cdk/aws-kinesis/package.json
index 6cc0092590712..568bb436e36c6 100644
--- a/packages/@aws-cdk/aws-kinesis/package.json
+++ b/packages/@aws-cdk/aws-kinesis/package.json
@@ -47,7 +47,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
@@ -81,7 +81,7 @@
"devDependencies": {
"@aws-cdk/assertions": "0.0.0",
"@aws-cdk/cdk-build-tools": "0.0.0",
- "@aws-cdk/cdk-integ-tools": "0.0.0",
+ "@aws-cdk/integ-runner": "0.0.0",
"@aws-cdk/cfn2ts": "0.0.0",
"@aws-cdk/cx-api": "0.0.0",
"@aws-cdk/pkglint": "0.0.0",
diff --git a/packages/@aws-cdk/aws-kinesisanalytics-flink/package.json b/packages/@aws-cdk/aws-kinesisanalytics-flink/package.json
index fff56a1f9b93c..077263e2cd1f0 100644
--- a/packages/@aws-cdk/aws-kinesisanalytics-flink/package.json
+++ b/packages/@aws-cdk/aws-kinesisanalytics-flink/package.json
@@ -47,7 +47,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
@@ -75,7 +75,7 @@
"devDependencies": {
"@aws-cdk/assertions": "0.0.0",
"@aws-cdk/cdk-build-tools": "0.0.0",
- "@aws-cdk/cdk-integ-tools": "0.0.0",
+ "@aws-cdk/integ-runner": "0.0.0",
"@aws-cdk/pkglint": "0.0.0",
"@types/jest": "^27.4.1",
"jest": "^27.5.1"
diff --git a/packages/@aws-cdk/aws-kinesisanalytics/package.json b/packages/@aws-cdk/aws-kinesisanalytics/package.json
index bbdb446edb571..8d100b0171236 100644
--- a/packages/@aws-cdk/aws-kinesisanalytics/package.json
+++ b/packages/@aws-cdk/aws-kinesisanalytics/package.json
@@ -47,7 +47,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
diff --git a/packages/@aws-cdk/aws-kinesisanalyticsv2/package.json b/packages/@aws-cdk/aws-kinesisanalyticsv2/package.json
index 5e618783474d5..0601782fd8e01 100644
--- a/packages/@aws-cdk/aws-kinesisanalyticsv2/package.json
+++ b/packages/@aws-cdk/aws-kinesisanalyticsv2/package.json
@@ -50,7 +50,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
diff --git a/packages/@aws-cdk/aws-kinesisfirehose-destinations/package.json b/packages/@aws-cdk/aws-kinesisfirehose-destinations/package.json
index ad74666cd287a..8a09f777902b0 100644
--- a/packages/@aws-cdk/aws-kinesisfirehose-destinations/package.json
+++ b/packages/@aws-cdk/aws-kinesisfirehose-destinations/package.json
@@ -47,7 +47,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
@@ -75,7 +75,7 @@
"@aws-cdk/aws-lambda": "0.0.0",
"@aws-cdk/aws-lambda-nodejs": "0.0.0",
"@aws-cdk/cdk-build-tools": "0.0.0",
- "@aws-cdk/cdk-integ-tools": "0.0.0",
+ "@aws-cdk/integ-runner": "0.0.0",
"@aws-cdk/cfn2ts": "0.0.0",
"@aws-cdk/pkglint": "0.0.0",
"@types/jest": "^27.4.1",
diff --git a/packages/@aws-cdk/aws-kinesisfirehose/package.json b/packages/@aws-cdk/aws-kinesisfirehose/package.json
index 066bfe78a218c..bad753b81bef0 100644
--- a/packages/@aws-cdk/aws-kinesisfirehose/package.json
+++ b/packages/@aws-cdk/aws-kinesisfirehose/package.json
@@ -47,7 +47,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
@@ -82,7 +82,7 @@
"@aws-cdk/assertions": "0.0.0",
"@aws-cdk/aws-s3": "0.0.0",
"@aws-cdk/cdk-build-tools": "0.0.0",
- "@aws-cdk/cdk-integ-tools": "0.0.0",
+ "@aws-cdk/integ-runner": "0.0.0",
"@aws-cdk/cfn2ts": "0.0.0",
"@aws-cdk/pkglint": "0.0.0",
"@types/jest": "^27.4.1"
diff --git a/packages/@aws-cdk/aws-kinesisvideo/package.json b/packages/@aws-cdk/aws-kinesisvideo/package.json
index 40faddbc9de2f..b30d73477767c 100644
--- a/packages/@aws-cdk/aws-kinesisvideo/package.json
+++ b/packages/@aws-cdk/aws-kinesisvideo/package.json
@@ -50,7 +50,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
diff --git a/packages/@aws-cdk/aws-kms/package.json b/packages/@aws-cdk/aws-kms/package.json
index 333bedc7b8a93..ecd4ba7b082b9 100644
--- a/packages/@aws-cdk/aws-kms/package.json
+++ b/packages/@aws-cdk/aws-kms/package.json
@@ -48,7 +48,7 @@
"lint": "cdk-lint",
"test": "cdk-test",
"pkglint": "pkglint -f",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"package": "cdk-package",
"awslint": "cdk-awslint",
"cfn2ts": "cfn2ts",
@@ -81,7 +81,7 @@
"devDependencies": {
"@aws-cdk/assertions": "0.0.0",
"@aws-cdk/cdk-build-tools": "0.0.0",
- "@aws-cdk/cdk-integ-tools": "0.0.0",
+ "@aws-cdk/integ-runner": "0.0.0",
"@aws-cdk/cfn2ts": "0.0.0",
"@aws-cdk/cloud-assembly-schema": "0.0.0",
"@aws-cdk/pkglint": "0.0.0",
diff --git a/packages/@aws-cdk/aws-lakeformation/package.json b/packages/@aws-cdk/aws-lakeformation/package.json
index c7ceef39cb56d..3a5db01b2d1dd 100644
--- a/packages/@aws-cdk/aws-lakeformation/package.json
+++ b/packages/@aws-cdk/aws-lakeformation/package.json
@@ -45,7 +45,7 @@
"homepage": "https://github.com/aws/aws-cdk",
"scripts": {
"build": "cdk-build",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"lint": "cdk-lint",
"package": "cdk-package",
"awslint": "cdk-awslint",
diff --git a/packages/@aws-cdk/aws-lambda-destinations/package.json b/packages/@aws-cdk/aws-lambda-destinations/package.json
index 8feb76b2523f3..de7196e7e46bb 100644
--- a/packages/@aws-cdk/aws-lambda-destinations/package.json
+++ b/packages/@aws-cdk/aws-lambda-destinations/package.json
@@ -47,7 +47,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
@@ -73,7 +73,7 @@
"devDependencies": {
"@aws-cdk/assertions": "0.0.0",
"@aws-cdk/cdk-build-tools": "0.0.0",
- "@aws-cdk/cdk-integ-tools": "0.0.0",
+ "@aws-cdk/integ-runner": "0.0.0",
"@aws-cdk/cfn2ts": "0.0.0",
"@aws-cdk/pkglint": "0.0.0",
"@types/jest": "^27.4.1",
diff --git a/packages/@aws-cdk/aws-lambda-event-sources/package.json b/packages/@aws-cdk/aws-lambda-event-sources/package.json
index c7253423991e4..eb0f5d4bb92e5 100644
--- a/packages/@aws-cdk/aws-lambda-event-sources/package.json
+++ b/packages/@aws-cdk/aws-lambda-event-sources/package.json
@@ -47,7 +47,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
@@ -73,7 +73,7 @@
"devDependencies": {
"@aws-cdk/assertions": "0.0.0",
"@aws-cdk/cdk-build-tools": "0.0.0",
- "@aws-cdk/cdk-integ-tools": "0.0.0",
+ "@aws-cdk/integ-runner": "0.0.0",
"@aws-cdk/pkglint": "0.0.0",
"@types/jest": "^27.4.1",
"jest": "^27.5.1"
diff --git a/packages/@aws-cdk/aws-lambda-go/package.json b/packages/@aws-cdk/aws-lambda-go/package.json
index 0383c7c0bbdd2..d6bb4018614b2 100644
--- a/packages/@aws-cdk/aws-lambda-go/package.json
+++ b/packages/@aws-cdk/aws-lambda-go/package.json
@@ -49,7 +49,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
@@ -76,7 +76,7 @@
"@aws-cdk/assertions": "0.0.0",
"@aws-cdk/aws-ec2": "0.0.0",
"@aws-cdk/cdk-build-tools": "0.0.0",
- "@aws-cdk/cdk-integ-tools": "0.0.0",
+ "@aws-cdk/integ-runner": "0.0.0",
"@aws-cdk/pkglint": "0.0.0",
"@types/jest": "^27.4.1"
},
diff --git a/packages/@aws-cdk/aws-lambda-nodejs/package.json b/packages/@aws-cdk/aws-lambda-nodejs/package.json
index f838c991dbcea..91419868a617a 100644
--- a/packages/@aws-cdk/aws-lambda-nodejs/package.json
+++ b/packages/@aws-cdk/aws-lambda-nodejs/package.json
@@ -47,7 +47,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
@@ -74,7 +74,7 @@
"@aws-cdk/assertions": "0.0.0",
"@aws-cdk/aws-ec2": "0.0.0",
"@aws-cdk/cdk-build-tools": "0.0.0",
- "@aws-cdk/cdk-integ-tools": "0.0.0",
+ "@aws-cdk/integ-runner": "0.0.0",
"@aws-cdk/pkglint": "0.0.0",
"@types/jest": "^27.4.1",
"delay": "5.0.0",
diff --git a/packages/@aws-cdk/aws-lambda-python/package.json b/packages/@aws-cdk/aws-lambda-python/package.json
index 74a9d8a8ffc0c..7643a65569aed 100644
--- a/packages/@aws-cdk/aws-lambda-python/package.json
+++ b/packages/@aws-cdk/aws-lambda-python/package.json
@@ -47,7 +47,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
@@ -73,7 +73,7 @@
"devDependencies": {
"@aws-cdk/assertions": "0.0.0",
"@aws-cdk/cdk-build-tools": "0.0.0",
- "@aws-cdk/cdk-integ-tools": "0.0.0",
+ "@aws-cdk/integ-runner": "0.0.0",
"@aws-cdk/pkglint": "0.0.0",
"@types/jest": "^27.4.1"
},
diff --git a/packages/@aws-cdk/aws-lambda/package.json b/packages/@aws-cdk/aws-lambda/package.json
index 3476070c68ac2..79d572fb27960 100644
--- a/packages/@aws-cdk/aws-lambda/package.json
+++ b/packages/@aws-cdk/aws-lambda/package.json
@@ -47,7 +47,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
@@ -85,7 +85,7 @@
"devDependencies": {
"@aws-cdk/assertions": "0.0.0",
"@aws-cdk/cdk-build-tools": "0.0.0",
- "@aws-cdk/cdk-integ-tools": "0.0.0",
+ "@aws-cdk/integ-runner": "0.0.0",
"@aws-cdk/cfn2ts": "0.0.0",
"@aws-cdk/cfnspec": "0.0.0",
"@aws-cdk/pkglint": "0.0.0",
diff --git a/packages/@aws-cdk/aws-lex/package.json b/packages/@aws-cdk/aws-lex/package.json
index b69c7bde4d4a3..0a158821abdfe 100644
--- a/packages/@aws-cdk/aws-lex/package.json
+++ b/packages/@aws-cdk/aws-lex/package.json
@@ -50,7 +50,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
diff --git a/packages/@aws-cdk/aws-licensemanager/package.json b/packages/@aws-cdk/aws-licensemanager/package.json
index 7a41e125ce49d..79ea402ed177b 100644
--- a/packages/@aws-cdk/aws-licensemanager/package.json
+++ b/packages/@aws-cdk/aws-licensemanager/package.json
@@ -48,7 +48,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
diff --git a/packages/@aws-cdk/aws-lightsail/package.json b/packages/@aws-cdk/aws-lightsail/package.json
index 8f71c3ebd1192..e89237e329ad6 100644
--- a/packages/@aws-cdk/aws-lightsail/package.json
+++ b/packages/@aws-cdk/aws-lightsail/package.json
@@ -50,7 +50,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
diff --git a/packages/@aws-cdk/aws-location/package.json b/packages/@aws-cdk/aws-location/package.json
index e686e64f27c41..d9d58ed8f3148 100644
--- a/packages/@aws-cdk/aws-location/package.json
+++ b/packages/@aws-cdk/aws-location/package.json
@@ -50,7 +50,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
diff --git a/packages/@aws-cdk/aws-logs-destinations/package.json b/packages/@aws-cdk/aws-logs-destinations/package.json
index 07e783848cb15..6b6191736dce8 100644
--- a/packages/@aws-cdk/aws-logs-destinations/package.json
+++ b/packages/@aws-cdk/aws-logs-destinations/package.json
@@ -47,7 +47,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
@@ -73,7 +73,7 @@
"devDependencies": {
"@aws-cdk/assertions": "0.0.0",
"@aws-cdk/cdk-build-tools": "0.0.0",
- "@aws-cdk/cdk-integ-tools": "0.0.0",
+ "@aws-cdk/integ-runner": "0.0.0",
"@aws-cdk/cfn2ts": "0.0.0",
"@aws-cdk/pkglint": "0.0.0",
"@types/jest": "^27.4.1",
diff --git a/packages/@aws-cdk/aws-logs/package.json b/packages/@aws-cdk/aws-logs/package.json
index 37f646b394b9e..9349539784f06 100644
--- a/packages/@aws-cdk/aws-logs/package.json
+++ b/packages/@aws-cdk/aws-logs/package.json
@@ -47,7 +47,7 @@
"lint": "cdk-lint",
"watch": "cdk-watch",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
@@ -81,7 +81,7 @@
"devDependencies": {
"@aws-cdk/assertions": "0.0.0",
"@aws-cdk/cdk-build-tools": "0.0.0",
- "@aws-cdk/cdk-integ-tools": "0.0.0",
+ "@aws-cdk/integ-runner": "0.0.0",
"@aws-cdk/cfn2ts": "0.0.0",
"@aws-cdk/pkglint": "0.0.0",
"@types/aws-lambda": "^8.10.93",
diff --git a/packages/@aws-cdk/aws-lookoutequipment/package.json b/packages/@aws-cdk/aws-lookoutequipment/package.json
index 7218c3f7fd95f..545ebc1fafbb0 100644
--- a/packages/@aws-cdk/aws-lookoutequipment/package.json
+++ b/packages/@aws-cdk/aws-lookoutequipment/package.json
@@ -50,7 +50,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
diff --git a/packages/@aws-cdk/aws-lookoutmetrics/package.json b/packages/@aws-cdk/aws-lookoutmetrics/package.json
index bce07b4f9fed7..f1e75dbb34ac3 100644
--- a/packages/@aws-cdk/aws-lookoutmetrics/package.json
+++ b/packages/@aws-cdk/aws-lookoutmetrics/package.json
@@ -50,7 +50,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
diff --git a/packages/@aws-cdk/aws-lookoutvision/package.json b/packages/@aws-cdk/aws-lookoutvision/package.json
index f24b9b3a26db1..12ff0e25b2ee8 100644
--- a/packages/@aws-cdk/aws-lookoutvision/package.json
+++ b/packages/@aws-cdk/aws-lookoutvision/package.json
@@ -50,7 +50,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
diff --git a/packages/@aws-cdk/aws-macie/package.json b/packages/@aws-cdk/aws-macie/package.json
index c24dd63ebd1ba..d68f9b0d8c414 100644
--- a/packages/@aws-cdk/aws-macie/package.json
+++ b/packages/@aws-cdk/aws-macie/package.json
@@ -48,7 +48,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
diff --git a/packages/@aws-cdk/aws-managedblockchain/package.json b/packages/@aws-cdk/aws-managedblockchain/package.json
index 9190b3c3b9955..2eea111dfa82f 100644
--- a/packages/@aws-cdk/aws-managedblockchain/package.json
+++ b/packages/@aws-cdk/aws-managedblockchain/package.json
@@ -45,7 +45,7 @@
"homepage": "https://github.com/aws/aws-cdk",
"scripts": {
"build": "cdk-build",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"lint": "cdk-lint",
"package": "cdk-package",
"awslint": "cdk-awslint",
diff --git a/packages/@aws-cdk/aws-mediaconnect/package.json b/packages/@aws-cdk/aws-mediaconnect/package.json
index 5a67e0a1c0942..b1ebb5f681419 100644
--- a/packages/@aws-cdk/aws-mediaconnect/package.json
+++ b/packages/@aws-cdk/aws-mediaconnect/package.json
@@ -48,7 +48,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
diff --git a/packages/@aws-cdk/aws-mediaconvert/package.json b/packages/@aws-cdk/aws-mediaconvert/package.json
index 637617e65843e..5271fa4a79a04 100644
--- a/packages/@aws-cdk/aws-mediaconvert/package.json
+++ b/packages/@aws-cdk/aws-mediaconvert/package.json
@@ -45,7 +45,7 @@
"homepage": "https://github.com/aws/aws-cdk",
"scripts": {
"build": "cdk-build",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"lint": "cdk-lint",
"package": "cdk-package",
"awslint": "cdk-awslint",
diff --git a/packages/@aws-cdk/aws-medialive/package.json b/packages/@aws-cdk/aws-medialive/package.json
index dbe092b4b0dfb..b81931f32ca13 100644
--- a/packages/@aws-cdk/aws-medialive/package.json
+++ b/packages/@aws-cdk/aws-medialive/package.json
@@ -45,7 +45,7 @@
"homepage": "https://github.com/aws/aws-cdk",
"scripts": {
"build": "cdk-build",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"lint": "cdk-lint",
"package": "cdk-package",
"awslint": "cdk-awslint",
diff --git a/packages/@aws-cdk/aws-mediapackage/package.json b/packages/@aws-cdk/aws-mediapackage/package.json
index 23f112ba5ae80..7f4af6a50ba9b 100644
--- a/packages/@aws-cdk/aws-mediapackage/package.json
+++ b/packages/@aws-cdk/aws-mediapackage/package.json
@@ -48,7 +48,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
diff --git a/packages/@aws-cdk/aws-mediastore/package.json b/packages/@aws-cdk/aws-mediastore/package.json
index 73dc4e62f8961..419474f230186 100644
--- a/packages/@aws-cdk/aws-mediastore/package.json
+++ b/packages/@aws-cdk/aws-mediastore/package.json
@@ -45,7 +45,7 @@
"homepage": "https://github.com/aws/aws-cdk",
"scripts": {
"build": "cdk-build",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"lint": "cdk-lint",
"package": "cdk-package",
"awslint": "cdk-awslint",
diff --git a/packages/@aws-cdk/aws-mediatailor/package.json b/packages/@aws-cdk/aws-mediatailor/package.json
index e88da3ff06a77..51f91c08b6c29 100644
--- a/packages/@aws-cdk/aws-mediatailor/package.json
+++ b/packages/@aws-cdk/aws-mediatailor/package.json
@@ -50,7 +50,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
diff --git a/packages/@aws-cdk/aws-memorydb/package.json b/packages/@aws-cdk/aws-memorydb/package.json
index 5db59ada0d550..93fe468853053 100644
--- a/packages/@aws-cdk/aws-memorydb/package.json
+++ b/packages/@aws-cdk/aws-memorydb/package.json
@@ -50,7 +50,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
diff --git a/packages/@aws-cdk/aws-msk/package.json b/packages/@aws-cdk/aws-msk/package.json
index e175174ae9da6..52daf96cd283d 100644
--- a/packages/@aws-cdk/aws-msk/package.json
+++ b/packages/@aws-cdk/aws-msk/package.json
@@ -45,7 +45,7 @@
"homepage": "https://github.com/aws/aws-cdk",
"scripts": {
"build": "cdk-build",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"lint": "cdk-lint",
"package": "cdk-package",
"awslint": "cdk-awslint",
@@ -83,7 +83,7 @@
"devDependencies": {
"@aws-cdk/assertions": "0.0.0",
"@aws-cdk/cdk-build-tools": "0.0.0",
- "@aws-cdk/cdk-integ-tools": "0.0.0",
+ "@aws-cdk/integ-runner": "0.0.0",
"@aws-cdk/cfn2ts": "0.0.0",
"@aws-cdk/pkglint": "0.0.0",
"@types/jest": "^27.4.1",
diff --git a/packages/@aws-cdk/aws-mwaa/package.json b/packages/@aws-cdk/aws-mwaa/package.json
index ab2d6061c871b..331f5df25c953 100644
--- a/packages/@aws-cdk/aws-mwaa/package.json
+++ b/packages/@aws-cdk/aws-mwaa/package.json
@@ -48,7 +48,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
diff --git a/packages/@aws-cdk/aws-neptune/package.json b/packages/@aws-cdk/aws-neptune/package.json
index 73b0ac6867a50..28c44e5848c1f 100644
--- a/packages/@aws-cdk/aws-neptune/package.json
+++ b/packages/@aws-cdk/aws-neptune/package.json
@@ -45,7 +45,7 @@
"homepage": "https://github.com/aws/aws-cdk",
"scripts": {
"build": "cdk-build",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"lint": "cdk-lint",
"package": "cdk-package",
"pkglint": "pkglint -f",
@@ -82,7 +82,7 @@
"devDependencies": {
"@aws-cdk/assertions": "0.0.0",
"@aws-cdk/cdk-build-tools": "0.0.0",
- "@aws-cdk/cdk-integ-tools": "0.0.0",
+ "@aws-cdk/integ-runner": "0.0.0",
"@aws-cdk/cfn2ts": "0.0.0",
"@aws-cdk/pkglint": "0.0.0",
"@types/jest": "^27.4.1"
diff --git a/packages/@aws-cdk/aws-networkfirewall/package.json b/packages/@aws-cdk/aws-networkfirewall/package.json
index 937d63aa53730..13c3ac5291df9 100644
--- a/packages/@aws-cdk/aws-networkfirewall/package.json
+++ b/packages/@aws-cdk/aws-networkfirewall/package.json
@@ -48,7 +48,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
diff --git a/packages/@aws-cdk/aws-networkmanager/package.json b/packages/@aws-cdk/aws-networkmanager/package.json
index c34d778bac829..f7ae1981a4331 100644
--- a/packages/@aws-cdk/aws-networkmanager/package.json
+++ b/packages/@aws-cdk/aws-networkmanager/package.json
@@ -48,7 +48,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
diff --git a/packages/@aws-cdk/aws-nimblestudio/package.json b/packages/@aws-cdk/aws-nimblestudio/package.json
index 52ab33b43c1ca..b75a79d93c8dc 100644
--- a/packages/@aws-cdk/aws-nimblestudio/package.json
+++ b/packages/@aws-cdk/aws-nimblestudio/package.json
@@ -50,7 +50,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
diff --git a/packages/@aws-cdk/aws-opensearchservice/package.json b/packages/@aws-cdk/aws-opensearchservice/package.json
index 1bece17b44f7a..77350b8d4c34a 100644
--- a/packages/@aws-cdk/aws-opensearchservice/package.json
+++ b/packages/@aws-cdk/aws-opensearchservice/package.json
@@ -50,7 +50,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
@@ -86,7 +86,7 @@
"devDependencies": {
"@aws-cdk/assertions": "0.0.0",
"@aws-cdk/cdk-build-tools": "0.0.0",
- "@aws-cdk/cdk-integ-tools": "0.0.0",
+ "@aws-cdk/integ-runner": "0.0.0",
"@aws-cdk/cfn2ts": "0.0.0",
"@aws-cdk/pkglint": "0.0.0",
"@types/jest": "^27.4.1"
diff --git a/packages/@aws-cdk/aws-opsworks/package.json b/packages/@aws-cdk/aws-opsworks/package.json
index 011fa1d4d0790..a406f43e530d4 100644
--- a/packages/@aws-cdk/aws-opsworks/package.json
+++ b/packages/@aws-cdk/aws-opsworks/package.json
@@ -47,7 +47,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
diff --git a/packages/@aws-cdk/aws-opsworkscm/package.json b/packages/@aws-cdk/aws-opsworkscm/package.json
index f429f37979df0..3812d92b33a78 100644
--- a/packages/@aws-cdk/aws-opsworkscm/package.json
+++ b/packages/@aws-cdk/aws-opsworkscm/package.json
@@ -45,7 +45,7 @@
"homepage": "https://github.com/aws/aws-cdk",
"scripts": {
"build": "cdk-build",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"lint": "cdk-lint",
"package": "cdk-package",
"pkglint": "pkglint -f",
diff --git a/packages/@aws-cdk/aws-panorama/package.json b/packages/@aws-cdk/aws-panorama/package.json
index f766e427bbffd..e97e4698ce527 100644
--- a/packages/@aws-cdk/aws-panorama/package.json
+++ b/packages/@aws-cdk/aws-panorama/package.json
@@ -57,7 +57,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
diff --git a/packages/@aws-cdk/aws-personalize/package.json b/packages/@aws-cdk/aws-personalize/package.json
index 8448bece3402f..88825bfbc30e2 100644
--- a/packages/@aws-cdk/aws-personalize/package.json
+++ b/packages/@aws-cdk/aws-personalize/package.json
@@ -50,7 +50,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
diff --git a/packages/@aws-cdk/aws-pinpoint/package.json b/packages/@aws-cdk/aws-pinpoint/package.json
index b4f9c8565e526..d52b08c85a1d2 100644
--- a/packages/@aws-cdk/aws-pinpoint/package.json
+++ b/packages/@aws-cdk/aws-pinpoint/package.json
@@ -45,7 +45,7 @@
"homepage": "https://github.com/aws/aws-cdk",
"scripts": {
"build": "cdk-build",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"lint": "cdk-lint",
"package": "cdk-package",
"awslint": "cdk-awslint",
diff --git a/packages/@aws-cdk/aws-pinpointemail/package.json b/packages/@aws-cdk/aws-pinpointemail/package.json
index 3c51a3c74abd1..7990f520b06f8 100644
--- a/packages/@aws-cdk/aws-pinpointemail/package.json
+++ b/packages/@aws-cdk/aws-pinpointemail/package.json
@@ -45,7 +45,7 @@
"homepage": "https://github.com/aws/aws-cdk",
"scripts": {
"build": "cdk-build",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"lint": "cdk-lint",
"package": "cdk-package",
"awslint": "cdk-awslint",
diff --git a/packages/@aws-cdk/aws-qldb/package.json b/packages/@aws-cdk/aws-qldb/package.json
index 9e4e6e0c90ac0..d3bdcc8bc8271 100644
--- a/packages/@aws-cdk/aws-qldb/package.json
+++ b/packages/@aws-cdk/aws-qldb/package.json
@@ -45,7 +45,7 @@
"homepage": "https://github.com/aws/aws-cdk",
"scripts": {
"build": "cdk-build",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"lint": "cdk-lint",
"package": "cdk-package",
"awslint": "cdk-awslint",
diff --git a/packages/@aws-cdk/aws-quicksight/package.json b/packages/@aws-cdk/aws-quicksight/package.json
index 79d41343ab08b..69b5af5e1ae10 100644
--- a/packages/@aws-cdk/aws-quicksight/package.json
+++ b/packages/@aws-cdk/aws-quicksight/package.json
@@ -50,7 +50,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
diff --git a/packages/@aws-cdk/aws-ram/package.json b/packages/@aws-cdk/aws-ram/package.json
index ddf8049356491..49f9cc05699e9 100644
--- a/packages/@aws-cdk/aws-ram/package.json
+++ b/packages/@aws-cdk/aws-ram/package.json
@@ -45,7 +45,7 @@
"homepage": "https://github.com/aws/aws-cdk",
"scripts": {
"build": "cdk-build",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"lint": "cdk-lint",
"package": "cdk-package",
"awslint": "cdk-awslint",
diff --git a/packages/@aws-cdk/aws-rds/package.json b/packages/@aws-cdk/aws-rds/package.json
index 3110738220ab1..19f1a497a34c5 100644
--- a/packages/@aws-cdk/aws-rds/package.json
+++ b/packages/@aws-cdk/aws-rds/package.json
@@ -47,7 +47,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
@@ -83,7 +83,7 @@
"@aws-cdk/aws-events-targets": "0.0.0",
"@aws-cdk/aws-lambda": "0.0.0",
"@aws-cdk/cdk-build-tools": "0.0.0",
- "@aws-cdk/cdk-integ-tools": "0.0.0",
+ "@aws-cdk/integ-runner": "0.0.0",
"@aws-cdk/cfn2ts": "0.0.0",
"@aws-cdk/cx-api": "0.0.0",
"@aws-cdk/pkglint": "0.0.0",
diff --git a/packages/@aws-cdk/aws-redshift/package.json b/packages/@aws-cdk/aws-redshift/package.json
index d6841a31195d5..06502708a03de 100644
--- a/packages/@aws-cdk/aws-redshift/package.json
+++ b/packages/@aws-cdk/aws-redshift/package.json
@@ -47,7 +47,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
@@ -81,7 +81,7 @@
"devDependencies": {
"@aws-cdk/assertions": "0.0.0",
"@aws-cdk/cdk-build-tools": "0.0.0",
- "@aws-cdk/cdk-integ-tools": "0.0.0",
+ "@aws-cdk/integ-runner": "0.0.0",
"@aws-cdk/cfn2ts": "0.0.0",
"@aws-cdk/pkglint": "0.0.0",
"@types/jest": "^27.4.1",
diff --git a/packages/@aws-cdk/aws-refactorspaces/package.json b/packages/@aws-cdk/aws-refactorspaces/package.json
index 5d763b245e130..dcaa326081ffb 100644
--- a/packages/@aws-cdk/aws-refactorspaces/package.json
+++ b/packages/@aws-cdk/aws-refactorspaces/package.json
@@ -50,7 +50,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
diff --git a/packages/@aws-cdk/aws-rekognition/package.json b/packages/@aws-cdk/aws-rekognition/package.json
index 1c92e782a9e64..5c4b0e5e4ea60 100644
--- a/packages/@aws-cdk/aws-rekognition/package.json
+++ b/packages/@aws-cdk/aws-rekognition/package.json
@@ -57,7 +57,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
diff --git a/packages/@aws-cdk/aws-resiliencehub/package.json b/packages/@aws-cdk/aws-resiliencehub/package.json
index 293e3f621d094..f7ce0c5e0491f 100644
--- a/packages/@aws-cdk/aws-resiliencehub/package.json
+++ b/packages/@aws-cdk/aws-resiliencehub/package.json
@@ -50,7 +50,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
diff --git a/packages/@aws-cdk/aws-resourcegroups/package.json b/packages/@aws-cdk/aws-resourcegroups/package.json
index a17a9aa169e15..ea0acafa0a249 100644
--- a/packages/@aws-cdk/aws-resourcegroups/package.json
+++ b/packages/@aws-cdk/aws-resourcegroups/package.json
@@ -48,7 +48,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
diff --git a/packages/@aws-cdk/aws-robomaker/package.json b/packages/@aws-cdk/aws-robomaker/package.json
index b96c0b59e92b4..0abc9dfaeb5ec 100644
--- a/packages/@aws-cdk/aws-robomaker/package.json
+++ b/packages/@aws-cdk/aws-robomaker/package.json
@@ -45,7 +45,7 @@
"homepage": "https://github.com/aws/aws-cdk",
"scripts": {
"build": "cdk-build",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"lint": "cdk-lint",
"package": "cdk-package",
"awslint": "cdk-awslint",
diff --git a/packages/@aws-cdk/aws-route53-patterns/package.json b/packages/@aws-cdk/aws-route53-patterns/package.json
index 2d4e248234582..3b274bdfa5763 100644
--- a/packages/@aws-cdk/aws-route53-patterns/package.json
+++ b/packages/@aws-cdk/aws-route53-patterns/package.json
@@ -47,7 +47,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
@@ -74,7 +74,7 @@
"devDependencies": {
"@aws-cdk/assertions": "0.0.0",
"@aws-cdk/cdk-build-tools": "0.0.0",
- "@aws-cdk/cdk-integ-tools": "0.0.0",
+ "@aws-cdk/integ-runner": "0.0.0",
"@aws-cdk/cfn2ts": "0.0.0",
"@aws-cdk/pkglint": "0.0.0",
"@types/jest": "^27.4.1",
diff --git a/packages/@aws-cdk/aws-route53-targets/package.json b/packages/@aws-cdk/aws-route53-targets/package.json
index 7aca456bffc24..b884f8ad8c3b2 100644
--- a/packages/@aws-cdk/aws-route53-targets/package.json
+++ b/packages/@aws-cdk/aws-route53-targets/package.json
@@ -47,7 +47,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
@@ -76,7 +76,7 @@
"@aws-cdk/aws-certificatemanager": "0.0.0",
"@aws-cdk/aws-lambda": "0.0.0",
"@aws-cdk/cdk-build-tools": "0.0.0",
- "@aws-cdk/cdk-integ-tools": "0.0.0",
+ "@aws-cdk/integ-runner": "0.0.0",
"@aws-cdk/cfn2ts": "0.0.0",
"@aws-cdk/pkglint": "0.0.0",
"@types/jest": "^27.4.1",
diff --git a/packages/@aws-cdk/aws-route53/package.json b/packages/@aws-cdk/aws-route53/package.json
index 64206dd84854b..94eed3ec94762 100644
--- a/packages/@aws-cdk/aws-route53/package.json
+++ b/packages/@aws-cdk/aws-route53/package.json
@@ -47,7 +47,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
@@ -81,7 +81,7 @@
"devDependencies": {
"@aws-cdk/assertions": "0.0.0",
"@aws-cdk/cdk-build-tools": "0.0.0",
- "@aws-cdk/cdk-integ-tools": "0.0.0",
+ "@aws-cdk/integ-runner": "0.0.0",
"@aws-cdk/cfn2ts": "0.0.0",
"@aws-cdk/pkglint": "0.0.0",
"@types/aws-lambda": "^8.10.93",
diff --git a/packages/@aws-cdk/aws-route53recoverycontrol/package.json b/packages/@aws-cdk/aws-route53recoverycontrol/package.json
index cde17f02ec86e..9a82cb8423e9a 100644
--- a/packages/@aws-cdk/aws-route53recoverycontrol/package.json
+++ b/packages/@aws-cdk/aws-route53recoverycontrol/package.json
@@ -50,7 +50,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
diff --git a/packages/@aws-cdk/aws-route53recoveryreadiness/package.json b/packages/@aws-cdk/aws-route53recoveryreadiness/package.json
index 8feeeca412adb..443dadb6ed211 100644
--- a/packages/@aws-cdk/aws-route53recoveryreadiness/package.json
+++ b/packages/@aws-cdk/aws-route53recoveryreadiness/package.json
@@ -50,7 +50,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
diff --git a/packages/@aws-cdk/aws-route53resolver/package.json b/packages/@aws-cdk/aws-route53resolver/package.json
index be0c3e79cea04..e8fb7b47ced7f 100644
--- a/packages/@aws-cdk/aws-route53resolver/package.json
+++ b/packages/@aws-cdk/aws-route53resolver/package.json
@@ -45,7 +45,7 @@
"homepage": "https://github.com/aws/aws-cdk",
"scripts": {
"build": "cdk-build",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"lint": "cdk-lint",
"package": "cdk-package",
"pkglint": "pkglint -f",
@@ -82,7 +82,7 @@
"devDependencies": {
"@aws-cdk/assertions": "0.0.0",
"@aws-cdk/cdk-build-tools": "0.0.0",
- "@aws-cdk/cdk-integ-tools": "0.0.0",
+ "@aws-cdk/integ-runner": "0.0.0",
"@aws-cdk/cfn2ts": "0.0.0",
"@aws-cdk/pkglint": "0.0.0",
"@types/jest": "^27.4.1"
diff --git a/packages/@aws-cdk/aws-rum/package.json b/packages/@aws-cdk/aws-rum/package.json
index 4f93ab1f69fed..33e57bbb69051 100644
--- a/packages/@aws-cdk/aws-rum/package.json
+++ b/packages/@aws-cdk/aws-rum/package.json
@@ -50,7 +50,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
diff --git a/packages/@aws-cdk/aws-s3-assets/package.json b/packages/@aws-cdk/aws-s3-assets/package.json
index 5291ae6cb726e..b52fdd29c8575 100644
--- a/packages/@aws-cdk/aws-s3-assets/package.json
+++ b/packages/@aws-cdk/aws-s3-assets/package.json
@@ -47,7 +47,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
@@ -79,7 +79,7 @@
"devDependencies": {
"@aws-cdk/assertions": "0.0.0",
"@aws-cdk/cdk-build-tools": "0.0.0",
- "@aws-cdk/cdk-integ-tools": "0.0.0",
+ "@aws-cdk/integ-runner": "0.0.0",
"@aws-cdk/cloud-assembly-schema": "0.0.0",
"@aws-cdk/pkglint": "0.0.0",
"@types/jest": "^27.4.1"
diff --git a/packages/@aws-cdk/aws-s3-deployment/package.json b/packages/@aws-cdk/aws-s3-deployment/package.json
index 104ff0bc223d2..bf16af67039c3 100644
--- a/packages/@aws-cdk/aws-s3-deployment/package.json
+++ b/packages/@aws-cdk/aws-s3-deployment/package.json
@@ -47,7 +47,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
@@ -87,7 +87,7 @@
"devDependencies": {
"@aws-cdk/assertions": "0.0.0",
"@aws-cdk/cdk-build-tools": "0.0.0",
- "@aws-cdk/cdk-integ-tools": "0.0.0",
+ "@aws-cdk/integ-runner": "0.0.0",
"@aws-cdk/cx-api": "0.0.0",
"@aws-cdk/pkglint": "0.0.0",
"@types/jest": "^27.4.1",
diff --git a/packages/@aws-cdk/aws-s3-notifications/package.json b/packages/@aws-cdk/aws-s3-notifications/package.json
index 32738cd1b0d93..345169af57ee9 100644
--- a/packages/@aws-cdk/aws-s3-notifications/package.json
+++ b/packages/@aws-cdk/aws-s3-notifications/package.json
@@ -47,7 +47,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
@@ -73,7 +73,7 @@
"devDependencies": {
"@aws-cdk/assertions": "0.0.0",
"@aws-cdk/cdk-build-tools": "0.0.0",
- "@aws-cdk/cdk-integ-tools": "0.0.0",
+ "@aws-cdk/integ-runner": "0.0.0",
"@aws-cdk/pkglint": "0.0.0",
"@types/jest": "^27.4.1",
"jest": "^27.5.1"
diff --git a/packages/@aws-cdk/aws-s3/package.json b/packages/@aws-cdk/aws-s3/package.json
index adff6efa3f93e..79118f0df0579 100644
--- a/packages/@aws-cdk/aws-s3/package.json
+++ b/packages/@aws-cdk/aws-s3/package.json
@@ -47,7 +47,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
@@ -81,7 +81,7 @@
"devDependencies": {
"@aws-cdk/assertions": "0.0.0",
"@aws-cdk/cdk-build-tools": "0.0.0",
- "@aws-cdk/cdk-integ-tools": "0.0.0",
+ "@aws-cdk/integ-runner": "0.0.0",
"@aws-cdk/cfn2ts": "0.0.0",
"@aws-cdk/pkglint": "0.0.0",
"@types/aws-lambda": "^8.10.93",
diff --git a/packages/@aws-cdk/aws-s3objectlambda/package.json b/packages/@aws-cdk/aws-s3objectlambda/package.json
index 97ccfc93dfff9..c2494249da1a6 100644
--- a/packages/@aws-cdk/aws-s3objectlambda/package.json
+++ b/packages/@aws-cdk/aws-s3objectlambda/package.json
@@ -50,7 +50,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
@@ -85,7 +85,7 @@
"devDependencies": {
"@aws-cdk/assertions": "0.0.0",
"@aws-cdk/cdk-build-tools": "0.0.0",
- "@aws-cdk/cdk-integ-tools": "0.0.0",
+ "@aws-cdk/integ-runner": "0.0.0",
"@aws-cdk/cfn2ts": "0.0.0",
"@aws-cdk/pkglint": "0.0.0",
"@types/jest": "^27.4.1",
@@ -121,4 +121,4 @@
"attribute-tag:@aws-cdk/aws-s3objectlambda.AccessPoint.accessPointName"
]
}
-}
\ No newline at end of file
+}
diff --git a/packages/@aws-cdk/aws-s3outposts/package.json b/packages/@aws-cdk/aws-s3outposts/package.json
index 0ad8877061133..3cdcc52f9d114 100644
--- a/packages/@aws-cdk/aws-s3outposts/package.json
+++ b/packages/@aws-cdk/aws-s3outposts/package.json
@@ -50,7 +50,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
diff --git a/packages/@aws-cdk/aws-sagemaker/package.json b/packages/@aws-cdk/aws-sagemaker/package.json
index cb5332a56fc47..9304662220002 100644
--- a/packages/@aws-cdk/aws-sagemaker/package.json
+++ b/packages/@aws-cdk/aws-sagemaker/package.json
@@ -45,7 +45,7 @@
"homepage": "https://github.com/aws/aws-cdk",
"scripts": {
"build": "cdk-build",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"lint": "cdk-lint",
"package": "cdk-package",
"pkglint": "pkglint -f",
diff --git a/packages/@aws-cdk/aws-sam/package.json b/packages/@aws-cdk/aws-sam/package.json
index d8295d5f1aef8..16ef19283416e 100644
--- a/packages/@aws-cdk/aws-sam/package.json
+++ b/packages/@aws-cdk/aws-sam/package.json
@@ -45,7 +45,7 @@
"homepage": "https://github.com/aws/aws-cdk",
"scripts": {
"build": "cdk-build",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"lint": "cdk-lint",
"package": "cdk-package",
"pkglint": "pkglint -f",
diff --git a/packages/@aws-cdk/aws-sdb/package.json b/packages/@aws-cdk/aws-sdb/package.json
index a4072de0aa01c..c5d83f56aab96 100644
--- a/packages/@aws-cdk/aws-sdb/package.json
+++ b/packages/@aws-cdk/aws-sdb/package.json
@@ -47,7 +47,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
diff --git a/packages/@aws-cdk/aws-secretsmanager/package.json b/packages/@aws-cdk/aws-secretsmanager/package.json
index abf808fed6a01..ea852af2cc8d3 100644
--- a/packages/@aws-cdk/aws-secretsmanager/package.json
+++ b/packages/@aws-cdk/aws-secretsmanager/package.json
@@ -45,7 +45,7 @@
"homepage": "https://github.com/aws/aws-cdk",
"scripts": {
"build": "cdk-build",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"lint": "cdk-lint",
"package": "cdk-package",
"pkglint": "pkglint -f",
@@ -82,7 +82,7 @@
"devDependencies": {
"@aws-cdk/assertions": "0.0.0",
"@aws-cdk/cdk-build-tools": "0.0.0",
- "@aws-cdk/cdk-integ-tools": "0.0.0",
+ "@aws-cdk/integ-runner": "0.0.0",
"@aws-cdk/cfn2ts": "0.0.0",
"@aws-cdk/pkglint": "0.0.0",
"@types/jest": "^27.4.1"
diff --git a/packages/@aws-cdk/aws-securityhub/package.json b/packages/@aws-cdk/aws-securityhub/package.json
index 2be17327b22a1..f11f80b9d4800 100644
--- a/packages/@aws-cdk/aws-securityhub/package.json
+++ b/packages/@aws-cdk/aws-securityhub/package.json
@@ -45,7 +45,7 @@
"homepage": "https://github.com/aws/aws-cdk",
"scripts": {
"build": "cdk-build",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"lint": "cdk-lint",
"package": "cdk-package",
"awslint": "cdk-awslint",
diff --git a/packages/@aws-cdk/aws-servicecatalog/package.json b/packages/@aws-cdk/aws-servicecatalog/package.json
index 57c961ef8f68d..dc7c532e4aaa1 100644
--- a/packages/@aws-cdk/aws-servicecatalog/package.json
+++ b/packages/@aws-cdk/aws-servicecatalog/package.json
@@ -47,7 +47,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
@@ -81,7 +81,7 @@
"devDependencies": {
"@aws-cdk/assertions": "0.0.0",
"@aws-cdk/cdk-build-tools": "0.0.0",
- "@aws-cdk/cdk-integ-tools": "0.0.0",
+ "@aws-cdk/integ-runner": "0.0.0",
"@aws-cdk/cfn2ts": "0.0.0",
"@aws-cdk/pkglint": "0.0.0",
"@types/jest": "^27.4.1"
diff --git a/packages/@aws-cdk/aws-servicecatalogappregistry/package.json b/packages/@aws-cdk/aws-servicecatalogappregistry/package.json
index 96e9d4dd7967c..b4fe710d6fe99 100644
--- a/packages/@aws-cdk/aws-servicecatalogappregistry/package.json
+++ b/packages/@aws-cdk/aws-servicecatalogappregistry/package.json
@@ -50,7 +50,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
@@ -85,7 +85,7 @@
"devDependencies": {
"@aws-cdk/assertions": "0.0.0",
"@aws-cdk/cdk-build-tools": "0.0.0",
- "@aws-cdk/cdk-integ-tools": "0.0.0",
+ "@aws-cdk/integ-runner": "0.0.0",
"@aws-cdk/cfn2ts": "0.0.0",
"@aws-cdk/pkglint": "0.0.0",
"@types/jest": "^27.4.1"
diff --git a/packages/@aws-cdk/aws-servicediscovery/package.json b/packages/@aws-cdk/aws-servicediscovery/package.json
index 98567a421aa13..3204460e42475 100644
--- a/packages/@aws-cdk/aws-servicediscovery/package.json
+++ b/packages/@aws-cdk/aws-servicediscovery/package.json
@@ -47,7 +47,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
@@ -84,7 +84,7 @@
"devDependencies": {
"@aws-cdk/assertions": "0.0.0",
"@aws-cdk/cdk-build-tools": "0.0.0",
- "@aws-cdk/cdk-integ-tools": "0.0.0",
+ "@aws-cdk/integ-runner": "0.0.0",
"@aws-cdk/cfn2ts": "0.0.0",
"@aws-cdk/pkglint": "0.0.0",
"@types/jest": "^27.4.1",
diff --git a/packages/@aws-cdk/aws-ses-actions/package.json b/packages/@aws-cdk/aws-ses-actions/package.json
index 92c00efabcbcb..01a8c59095ea1 100644
--- a/packages/@aws-cdk/aws-ses-actions/package.json
+++ b/packages/@aws-cdk/aws-ses-actions/package.json
@@ -47,7 +47,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
@@ -74,7 +74,7 @@
"devDependencies": {
"@aws-cdk/assertions": "0.0.0",
"@aws-cdk/cdk-build-tools": "0.0.0",
- "@aws-cdk/cdk-integ-tools": "0.0.0",
+ "@aws-cdk/integ-runner": "0.0.0",
"@aws-cdk/cfn2ts": "0.0.0",
"@aws-cdk/pkglint": "0.0.0",
"@types/jest": "^27.4.1",
diff --git a/packages/@aws-cdk/aws-ses/package.json b/packages/@aws-cdk/aws-ses/package.json
index 133d6cf10ccf3..c4263cb2a1348 100644
--- a/packages/@aws-cdk/aws-ses/package.json
+++ b/packages/@aws-cdk/aws-ses/package.json
@@ -47,7 +47,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
@@ -81,7 +81,7 @@
"devDependencies": {
"@aws-cdk/assertions": "0.0.0",
"@aws-cdk/cdk-build-tools": "0.0.0",
- "@aws-cdk/cdk-integ-tools": "0.0.0",
+ "@aws-cdk/integ-runner": "0.0.0",
"@aws-cdk/cfn2ts": "0.0.0",
"@aws-cdk/pkglint": "0.0.0",
"@types/aws-lambda": "^8.10.93",
diff --git a/packages/@aws-cdk/aws-signer/package.json b/packages/@aws-cdk/aws-signer/package.json
index 0bc0f4f9d9522..2d0ad89e271ec 100644
--- a/packages/@aws-cdk/aws-signer/package.json
+++ b/packages/@aws-cdk/aws-signer/package.json
@@ -48,7 +48,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
diff --git a/packages/@aws-cdk/aws-sns-subscriptions/package.json b/packages/@aws-cdk/aws-sns-subscriptions/package.json
index f295805a8b389..6d86845feaf08 100644
--- a/packages/@aws-cdk/aws-sns-subscriptions/package.json
+++ b/packages/@aws-cdk/aws-sns-subscriptions/package.json
@@ -47,7 +47,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
@@ -73,7 +73,7 @@
"devDependencies": {
"@aws-cdk/assertions": "0.0.0",
"@aws-cdk/cdk-build-tools": "0.0.0",
- "@aws-cdk/cdk-integ-tools": "0.0.0",
+ "@aws-cdk/integ-runner": "0.0.0",
"@aws-cdk/cfn2ts": "0.0.0",
"@aws-cdk/pkglint": "0.0.0",
"@types/jest": "^27.4.1",
diff --git a/packages/@aws-cdk/aws-sns-subscriptions/test/sns-lambda-cross-region.integ.snapshot/FunctionStack.template.json b/packages/@aws-cdk/aws-sns-subscriptions/test/sns-lambda-cross-region.integ.snapshot/FunctionStack.template.json
index 2b8eba1a2b4f9..794fa4c325010 100644
--- a/packages/@aws-cdk/aws-sns-subscriptions/test/sns-lambda-cross-region.integ.snapshot/FunctionStack.template.json
+++ b/packages/@aws-cdk/aws-sns-subscriptions/test/sns-lambda-cross-region.integ.snapshot/FunctionStack.template.json
@@ -44,7 +44,7 @@
]
},
"Handler": "index.handler",
- "Runtime": "nodejs12.x"
+ "Runtime": "nodejs14.x"
},
"DependsOn": [
"EchoServiceRoleBE28060B"
diff --git a/packages/@aws-cdk/aws-sns-subscriptions/test/sns-lambda-cross-region.integ.snapshot/tree.json b/packages/@aws-cdk/aws-sns-subscriptions/test/sns-lambda-cross-region.integ.snapshot/tree.json
index 466f7702c2d8f..8f0d735151808 100644
--- a/packages/@aws-cdk/aws-sns-subscriptions/test/sns-lambda-cross-region.integ.snapshot/tree.json
+++ b/packages/@aws-cdk/aws-sns-subscriptions/test/sns-lambda-cross-region.integ.snapshot/tree.json
@@ -119,7 +119,7 @@
]
},
"handler": "index.handler",
- "runtime": "nodejs12.x"
+ "runtime": "nodejs14.x"
}
},
"constructInfo": {
diff --git a/packages/@aws-cdk/aws-sns/package.json b/packages/@aws-cdk/aws-sns/package.json
index b1664ed712223..d6bf3760225f9 100644
--- a/packages/@aws-cdk/aws-sns/package.json
+++ b/packages/@aws-cdk/aws-sns/package.json
@@ -50,7 +50,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
@@ -85,7 +85,7 @@
"@aws-cdk/assertions": "0.0.0",
"@aws-cdk/aws-s3": "0.0.0",
"@aws-cdk/cdk-build-tools": "0.0.0",
- "@aws-cdk/cdk-integ-tools": "0.0.0",
+ "@aws-cdk/integ-runner": "0.0.0",
"@aws-cdk/cfn2ts": "0.0.0",
"@aws-cdk/pkglint": "0.0.0",
"@types/jest": "^27.4.1",
diff --git a/packages/@aws-cdk/aws-sqs/package.json b/packages/@aws-cdk/aws-sqs/package.json
index a6b12eaf10285..892ecb09bd6b8 100644
--- a/packages/@aws-cdk/aws-sqs/package.json
+++ b/packages/@aws-cdk/aws-sqs/package.json
@@ -47,7 +47,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
@@ -82,7 +82,7 @@
"@aws-cdk/assertions": "0.0.0",
"@aws-cdk/aws-s3": "0.0.0",
"@aws-cdk/cdk-build-tools": "0.0.0",
- "@aws-cdk/cdk-integ-tools": "0.0.0",
+ "@aws-cdk/integ-runner": "0.0.0",
"@aws-cdk/cfn2ts": "0.0.0",
"@aws-cdk/pkglint": "0.0.0",
"@types/jest": "^27.4.1",
diff --git a/packages/@aws-cdk/aws-ssm/package.json b/packages/@aws-cdk/aws-ssm/package.json
index 65caf4f4c5873..b9691e1a45fcc 100644
--- a/packages/@aws-cdk/aws-ssm/package.json
+++ b/packages/@aws-cdk/aws-ssm/package.json
@@ -47,7 +47,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
@@ -81,7 +81,7 @@
"devDependencies": {
"@aws-cdk/assertions": "0.0.0",
"@aws-cdk/cdk-build-tools": "0.0.0",
- "@aws-cdk/cdk-integ-tools": "0.0.0",
+ "@aws-cdk/integ-runner": "0.0.0",
"@aws-cdk/cfn2ts": "0.0.0",
"@aws-cdk/pkglint": "0.0.0",
"@types/jest": "^27.4.1",
diff --git a/packages/@aws-cdk/aws-ssmcontacts/package.json b/packages/@aws-cdk/aws-ssmcontacts/package.json
index bfce82c5f9d0a..94c3d89b58f96 100644
--- a/packages/@aws-cdk/aws-ssmcontacts/package.json
+++ b/packages/@aws-cdk/aws-ssmcontacts/package.json
@@ -50,7 +50,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
diff --git a/packages/@aws-cdk/aws-ssmincidents/package.json b/packages/@aws-cdk/aws-ssmincidents/package.json
index f014c6fc4ef38..a05fb4cc42614 100644
--- a/packages/@aws-cdk/aws-ssmincidents/package.json
+++ b/packages/@aws-cdk/aws-ssmincidents/package.json
@@ -50,7 +50,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
diff --git a/packages/@aws-cdk/aws-sso/package.json b/packages/@aws-cdk/aws-sso/package.json
index 349b3f7ef235a..9c7b7abd9ccea 100644
--- a/packages/@aws-cdk/aws-sso/package.json
+++ b/packages/@aws-cdk/aws-sso/package.json
@@ -48,7 +48,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
diff --git a/packages/@aws-cdk/aws-stepfunctions-tasks/package.json b/packages/@aws-cdk/aws-stepfunctions-tasks/package.json
index 0bbda5a9263c7..94e63879e0032 100644
--- a/packages/@aws-cdk/aws-stepfunctions-tasks/package.json
+++ b/packages/@aws-cdk/aws-stepfunctions-tasks/package.json
@@ -47,7 +47,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
@@ -88,7 +88,7 @@
"@aws-cdk/aws-s3-assets": "0.0.0",
"@aws-cdk/aws-sns-subscriptions": "0.0.0",
"@aws-cdk/cdk-build-tools": "0.0.0",
- "@aws-cdk/cdk-integ-tools": "0.0.0",
+ "@aws-cdk/integ-runner": "0.0.0",
"@aws-cdk/pkglint": "0.0.0",
"@types/jest": "^27.4.1",
"jest": "^27.5.1"
diff --git a/packages/@aws-cdk/aws-stepfunctions/package.json b/packages/@aws-cdk/aws-stepfunctions/package.json
index c901ae4980ad4..0888a27e4743a 100644
--- a/packages/@aws-cdk/aws-stepfunctions/package.json
+++ b/packages/@aws-cdk/aws-stepfunctions/package.json
@@ -47,7 +47,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
@@ -81,7 +81,7 @@
"devDependencies": {
"@aws-cdk/assertions": "0.0.0",
"@aws-cdk/cdk-build-tools": "0.0.0",
- "@aws-cdk/cdk-integ-tools": "0.0.0",
+ "@aws-cdk/integ-runner": "0.0.0",
"@aws-cdk/cfn2ts": "0.0.0",
"@aws-cdk/pkglint": "0.0.0",
"@types/jest": "^27.4.1"
diff --git a/packages/@aws-cdk/aws-synthetics/package.json b/packages/@aws-cdk/aws-synthetics/package.json
index ac5406e1117eb..1983bb3492db3 100644
--- a/packages/@aws-cdk/aws-synthetics/package.json
+++ b/packages/@aws-cdk/aws-synthetics/package.json
@@ -48,7 +48,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
@@ -83,7 +83,7 @@
"devDependencies": {
"@aws-cdk/assertions": "0.0.0",
"@aws-cdk/cdk-build-tools": "0.0.0",
- "@aws-cdk/cdk-integ-tools": "0.0.0",
+ "@aws-cdk/integ-runner": "0.0.0",
"@aws-cdk/cfn2ts": "0.0.0",
"@aws-cdk/pkglint": "0.0.0",
"@types/jest": "^27.4.1"
diff --git a/packages/@aws-cdk/aws-timestream/package.json b/packages/@aws-cdk/aws-timestream/package.json
index d630d3f2f818f..287d8538c03f5 100644
--- a/packages/@aws-cdk/aws-timestream/package.json
+++ b/packages/@aws-cdk/aws-timestream/package.json
@@ -48,7 +48,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
diff --git a/packages/@aws-cdk/aws-transfer/package.json b/packages/@aws-cdk/aws-transfer/package.json
index efeddaba3fff8..c0b5f89aa3739 100644
--- a/packages/@aws-cdk/aws-transfer/package.json
+++ b/packages/@aws-cdk/aws-transfer/package.json
@@ -45,7 +45,7 @@
"homepage": "https://github.com/aws/aws-cdk",
"scripts": {
"build": "cdk-build",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"lint": "cdk-lint",
"package": "cdk-package",
"awslint": "cdk-awslint",
diff --git a/packages/@aws-cdk/aws-waf/package.json b/packages/@aws-cdk/aws-waf/package.json
index 20c6e3c1a8896..b704630880d41 100644
--- a/packages/@aws-cdk/aws-waf/package.json
+++ b/packages/@aws-cdk/aws-waf/package.json
@@ -47,7 +47,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
diff --git a/packages/@aws-cdk/aws-wafregional/package.json b/packages/@aws-cdk/aws-wafregional/package.json
index aa4997b25435f..8ecc07208b63d 100644
--- a/packages/@aws-cdk/aws-wafregional/package.json
+++ b/packages/@aws-cdk/aws-wafregional/package.json
@@ -47,7 +47,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
diff --git a/packages/@aws-cdk/aws-wafv2/package.json b/packages/@aws-cdk/aws-wafv2/package.json
index 3f6fa8ac9d3ff..8985ee7308b67 100644
--- a/packages/@aws-cdk/aws-wafv2/package.json
+++ b/packages/@aws-cdk/aws-wafv2/package.json
@@ -45,7 +45,7 @@
"homepage": "https://github.com/aws/aws-cdk",
"scripts": {
"build": "cdk-build",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"lint": "cdk-lint",
"package": "cdk-package",
"awslint": "cdk-awslint",
diff --git a/packages/@aws-cdk/aws-wisdom/package.json b/packages/@aws-cdk/aws-wisdom/package.json
index f641345d8e7ea..e44022186150a 100644
--- a/packages/@aws-cdk/aws-wisdom/package.json
+++ b/packages/@aws-cdk/aws-wisdom/package.json
@@ -50,7 +50,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
diff --git a/packages/@aws-cdk/aws-workspaces/package.json b/packages/@aws-cdk/aws-workspaces/package.json
index 8f0da7bbbfc03..c31a26fc093a8 100644
--- a/packages/@aws-cdk/aws-workspaces/package.json
+++ b/packages/@aws-cdk/aws-workspaces/package.json
@@ -47,7 +47,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
diff --git a/packages/@aws-cdk/aws-xray/package.json b/packages/@aws-cdk/aws-xray/package.json
index 83f4d9e17dfed..9e66cbe73fea7 100644
--- a/packages/@aws-cdk/aws-xray/package.json
+++ b/packages/@aws-cdk/aws-xray/package.json
@@ -50,7 +50,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
diff --git a/packages/@aws-cdk/cloudformation-include/package.json b/packages/@aws-cdk/cloudformation-include/package.json
index c71a525a94c12..493433fd1dfbd 100644
--- a/packages/@aws-cdk/cloudformation-include/package.json
+++ b/packages/@aws-cdk/cloudformation-include/package.json
@@ -47,7 +47,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
@@ -458,7 +458,7 @@
"devDependencies": {
"@aws-cdk/assertions": "0.0.0",
"@aws-cdk/cdk-build-tools": "0.0.0",
- "@aws-cdk/cdk-integ-tools": "0.0.0",
+ "@aws-cdk/integ-runner": "0.0.0",
"@aws-cdk/pkglint": "0.0.0",
"@types/jest": "^27.4.1",
"jest": "^27.5.1",
diff --git a/packages/@aws-cdk/custom-resources/package.json b/packages/@aws-cdk/custom-resources/package.json
index 4a1359916223c..f8ef33b6481de 100644
--- a/packages/@aws-cdk/custom-resources/package.json
+++ b/packages/@aws-cdk/custom-resources/package.json
@@ -47,7 +47,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
@@ -84,7 +84,7 @@
"@aws-cdk/aws-s3": "0.0.0",
"@aws-cdk/aws-ssm": "0.0.0",
"@aws-cdk/cdk-build-tools": "0.0.0",
- "@aws-cdk/cdk-integ-tools": "0.0.0",
+ "@aws-cdk/integ-runner": "0.0.0",
"@aws-cdk/cfn2ts": "0.0.0",
"@aws-cdk/pkglint": "0.0.0",
"@types/aws-lambda": "^8.10.93",
diff --git a/packages/@aws-cdk/example-construct-library/package.json b/packages/@aws-cdk/example-construct-library/package.json
index afc6831a83f5f..5f24a0582464c 100644
--- a/packages/@aws-cdk/example-construct-library/package.json
+++ b/packages/@aws-cdk/example-construct-library/package.json
@@ -48,7 +48,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
@@ -75,7 +75,7 @@
"devDependencies": {
"@aws-cdk/assertions": "0.0.0",
"@aws-cdk/cdk-build-tools": "0.0.0",
- "@aws-cdk/cdk-integ-tools": "0.0.0",
+ "@aws-cdk/integ-runner": "0.0.0",
"@aws-cdk/pkglint": "0.0.0",
"@types/jest": "^27.4.1",
"jest": "^27.5.1"
diff --git a/packages/@aws-cdk/integ-runner/README.md b/packages/@aws-cdk/integ-runner/README.md
index e67a64282a42b..9fd2b667346ae 100644
--- a/packages/@aws-cdk/integ-runner/README.md
+++ b/packages/@aws-cdk/integ-runner/README.md
@@ -28,10 +28,10 @@
integ-runner [ARGS] [TEST...]
```
-This will look for all files that match the naming convention of `/integ.*.ts$/`. Each of these files will be expected
+This will look for all files that match the naming convention of `/integ.*.js$/`. Each of these files will be expected
to be a self contained CDK app. The runner will execute the following for each file (app):
-1. Check if a snapshot file exists (i.e. `/integ.*.expected.snapshot$/`)
+1. Check if a snapshot file exists (i.e. `/*.integ.snapshot$/`)
2. If the snapshot does not exist
2a. Synth the integ app which will produce the `integ.json` file
3. Read the `integ.json` file which contains instructions on what the runner should do.
@@ -39,15 +39,15 @@ to be a self contained CDK app. The runner will execute the following for each f
### Options
-- `--update-on-failed` (default=false)
+- `--update-on-failed` (default=`false`)
Rerun integration tests if snapshot fails
- `--clean` (default=`true`)
Destroy stacks after deploy (use `--no-clean` for debugging)
- `--verbose` (default=`false`)
verbose logging
-- `--parallel` (default=`false`)
+- `--parallel` (default=`true`)
Run tests in parallel across default regions
-- `--parallel-regions`
+- `--parallel-regions` (default=`us-east-1`,`us-east-2`, `us-west-2`)
List of regions to run tests in. If this is provided then all tests will
be run in parallel across these regions
- `--directory` (default=`test`)
@@ -65,6 +65,88 @@ integ-runner --update --parallel --parallel-regions us-east-1 --parallel-regions
This will search for integration tests recursively from the current directory and then execute them in parallel across `us-east-1`, `us-east-2`, & `us-west-2`.
+### Common Workflow
+
+A common workflow to use when running integration tests is to first run the integration tests to see if there are any snapshot differences.
+
+```bash
+integ-runner
+```
+
+If there are any differences you might see an output like the output below.
+
+```bash
+integ-runner
+
+Verifying integration test snapshots...
+
+ eks-cluster-private-endpoint No Change!
+ eks-inference No Change!
+ alb-controller No Change!
+ eks-oidc-provider No Change!
+ eks-bottlerocket-ng No Change!
+ eks-cluster No Change!
+ fargate-cluster No Change!
+ eks-cluster-handlers-vpc No Change!
+ eks-helm-asset - Snapshot changed!
+Resources
+[+] Custom::AWSCDK-EKS-HelmChart Clustercharttestocichart9C188967
+
+
+
+Snapshot Results:
+
+Tests: 1 failed, 9 total
+Error: Some snapshot tests failed!
+To re-run failed tests run: yarn integ-runner --update-on-failed
+ at main (packages/@aws-cdk/integ-runner/lib/cli.js:90:15)
+error Command failed with exit code 1.
+```
+
+To re-run the integration test for the failed tests you would then run:
+
+```bash
+integ-runner --update-on-failed
+```
+
+This will run the snapshot tests and collect all the failed tests. It will then re-execute the
+integration test for the failed tests and if successful, save the new snapshot.
+
+```bash
+integ-runner --update-on-failed
+
+Verifying integration test snapshots...
+
+ eks-cluster-private-endpoint No Change!
+ eks-inference No Change!
+ alb-controller No Change!
+ eks-oidc-provider No Change!
+ eks-bottlerocket-ng No Change!
+ eks-cluster No Change!
+ fargate-cluster No Change!
+ eks-cluster-handlers-vpc No Change!
+ eks-helm-asset - Snapshot changed!
+Resources
+[+] Custom::AWSCDK-EKS-HelmChart Clustercharttestocichart9C188967
+
+
+
+Snapshot Results:
+
+Tests: 1 failed, 9 total
+
+Running integration tests for failed tests...
+
+Running in parallel across: us-east-1, us-east-2, us-west-2
+Running test test/integ.eks-helm-asset.js in us-east-1
+ eks-helm-asset Test Succeeded!
+
+Test Results:
+
+Tests: 1 passed, 1 total
+```
+
+
### integ.json schema
See [@aws-cdk/cloud-assembly-schema/lib/integ-tests/schema.ts](../cloud-assembly-schema/lib/integ-tests/schema.ts)
diff --git a/packages/@aws-cdk/lambda-layer-awscli/package.json b/packages/@aws-cdk/lambda-layer-awscli/package.json
index 7daf454a10df1..eda5e4ca1f65e 100644
--- a/packages/@aws-cdk/lambda-layer-awscli/package.json
+++ b/packages/@aws-cdk/lambda-layer-awscli/package.json
@@ -48,7 +48,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
@@ -76,7 +76,7 @@
"@aws-cdk/assertions": "0.0.0",
"@aws-cdk/custom-resources": "0.0.0",
"@aws-cdk/cdk-build-tools": "0.0.0",
- "@aws-cdk/cdk-integ-tools": "0.0.0",
+ "@aws-cdk/integ-runner": "0.0.0",
"@aws-cdk/pkglint": "0.0.0",
"@types/jest": "^27.4.1",
"jest": "^27.5.1"
diff --git a/packages/@aws-cdk/lambda-layer-kubectl/package.json b/packages/@aws-cdk/lambda-layer-kubectl/package.json
index 2a2223166c3ee..f1c08091a1f1a 100644
--- a/packages/@aws-cdk/lambda-layer-kubectl/package.json
+++ b/packages/@aws-cdk/lambda-layer-kubectl/package.json
@@ -48,7 +48,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
@@ -75,7 +75,7 @@
"devDependencies": {
"@aws-cdk/assertions": "0.0.0",
"@aws-cdk/cdk-build-tools": "0.0.0",
- "@aws-cdk/cdk-integ-tools": "0.0.0",
+ "@aws-cdk/integ-runner": "0.0.0",
"@aws-cdk/pkglint": "0.0.0",
"@types/jest": "^27.4.1",
"jest": "^27.5.1"
diff --git a/packages/@aws-cdk/lambda-layer-node-proxy-agent/package.json b/packages/@aws-cdk/lambda-layer-node-proxy-agent/package.json
index 8f0dfffef911b..31146b0b33abf 100644
--- a/packages/@aws-cdk/lambda-layer-node-proxy-agent/package.json
+++ b/packages/@aws-cdk/lambda-layer-node-proxy-agent/package.json
@@ -48,7 +48,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
@@ -75,7 +75,7 @@
"devDependencies": {
"@aws-cdk/assertions": "0.0.0",
"@aws-cdk/cdk-build-tools": "0.0.0",
- "@aws-cdk/cdk-integ-tools": "0.0.0",
+ "@aws-cdk/integ-runner": "0.0.0",
"@aws-cdk/pkglint": "0.0.0",
"@types/jest": "^27.4.1",
"jest": "^27.5.1"
diff --git a/packages/@aws-cdk/pipelines/package.json b/packages/@aws-cdk/pipelines/package.json
index 53fd337d2df98..cc0baba97ad1e 100644
--- a/packages/@aws-cdk/pipelines/package.json
+++ b/packages/@aws-cdk/pipelines/package.json
@@ -15,7 +15,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
@@ -45,7 +45,7 @@
"@aws-cdk/aws-sns-subscriptions": "0.0.0",
"@aws-cdk/aws-sqs": "0.0.0",
"@aws-cdk/cdk-build-tools": "0.0.0",
- "@aws-cdk/cdk-integ-tools": "0.0.0",
+ "@aws-cdk/integ-runner": "0.0.0",
"@aws-cdk/cfn2ts": "0.0.0",
"@aws-cdk/pkglint": "0.0.0",
"@types/jest": "^27.4.1",
diff --git a/packages/@aws-cdk/triggers/package.json b/packages/@aws-cdk/triggers/package.json
index 762ea94a0220b..9c304c851ffe9 100644
--- a/packages/@aws-cdk/triggers/package.json
+++ b/packages/@aws-cdk/triggers/package.json
@@ -47,7 +47,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
@@ -75,7 +75,7 @@
"devDependencies": {
"@aws-cdk/assertions": "0.0.0",
"@aws-cdk/cdk-build-tools": "0.0.0",
- "@aws-cdk/cdk-integ-tools": "0.0.0",
+ "@aws-cdk/integ-runner": "0.0.0",
"@aws-cdk/aws-sns": "0.0.0",
"aws-sdk": "^2.848.0",
"@aws-cdk/pkglint": "0.0.0",
diff --git a/packages/cdk-assets/package.json b/packages/cdk-assets/package.json
index 475066b249b4d..34f73f9cca9ab 100644
--- a/packages/cdk-assets/package.json
+++ b/packages/cdk-assets/package.json
@@ -10,7 +10,7 @@
},
"scripts": {
"build": "cdk-build",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"lint": "cdk-lint",
"package": "cdk-package",
"awslint": "cdk-awslint",
diff --git a/packages/cdk-cli-wrapper/package.json b/packages/cdk-cli-wrapper/package.json
index 4a213298bf2e5..fd706544d805d 100644
--- a/packages/cdk-cli-wrapper/package.json
+++ b/packages/cdk-cli-wrapper/package.json
@@ -10,7 +10,7 @@
"watch": "cdk-watch",
"lint": "cdk-lint",
"test": "cdk-test",
- "integ": "cdk-integ",
+ "integ": "integ-runner",
"pkglint": "pkglint -f",
"package": "cdk-package",
"awslint": "cdk-awslint",
diff --git a/tools/@aws-cdk/cdk-build-tools/bin/cdk-test.ts b/tools/@aws-cdk/cdk-build-tools/bin/cdk-test.ts
index af35264465e38..09d0cf359e309 100644
--- a/tools/@aws-cdk/cdk-build-tools/bin/cdk-test.ts
+++ b/tools/@aws-cdk/cdk-build-tools/bin/cdk-test.ts
@@ -52,7 +52,7 @@ async function main() {
// Run integration test if the package has integ test files
if (await hasIntegTests()) {
- await shell(['cdk-integ-assert'], defaultShellOptions);
+ await shell(['integ-runner'], defaultShellOptions);
}
}
From f5450b2c544f8dbe87c331d924fb5f4746d73e0c Mon Sep 17 00:00:00 2001
From: corymhall <43035978+corymhall@users.noreply.github.com>
Date: Fri, 8 Apr 2022 12:57:23 +0000
Subject: [PATCH 2/6] update pr template
---
.github/PULL_REQUEST_TEMPLATE.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md
index 639add0db8a3a..dff48e6f94b22 100644
--- a/.github/PULL_REQUEST_TEMPLATE.md
+++ b/.github/PULL_REQUEST_TEMPLATE.md
@@ -12,6 +12,6 @@
### New Features
* [ ] Have you added the new feature to an [integration test](https://github.com/aws/aws-cdk/blob/master/INTEGRATION_TESTS.md)?
- * [ ] Did you use `cdk-integ` to deploy the infrastructure and generate the snapshot (i.e. `cdk-integ` without `--dry-run`)?
+ * [ ] Did you use `yarn integ` to deploy the infrastructure and generate the snapshot (i.e. `yarn integ` without `--dry-run`)?
*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
From 5878dd56f2af663296585e639b41def7209d474d Mon Sep 17 00:00:00 2001
From: corymhall <43035978+corymhall@users.noreply.github.com>
Date: Fri, 8 Apr 2022 13:09:50 +0000
Subject: [PATCH 3/6] update pkglint
---
tools/@aws-cdk/pkglint/lib/rules.ts | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/tools/@aws-cdk/pkglint/lib/rules.ts b/tools/@aws-cdk/pkglint/lib/rules.ts
index 1a3df33fb4fa1..8b102a851a98b 100644
--- a/tools/@aws-cdk/pkglint/lib/rules.ts
+++ b/tools/@aws-cdk/pkglint/lib/rules.ts
@@ -1262,14 +1262,14 @@ export class MustHaveIntegCommand extends ValidationRule {
public validate(pkg: PackageJson): void {
if (!hasIntegTests(pkg)) { return; }
- expectJSON(this.name, pkg, 'scripts.integ', 'cdk-integ');
+ expectJSON(this.name, pkg, 'scripts.integ', 'integ-runner');
// We can't ACTUALLY require cdk-build-tools/package.json here,
// because WE don't depend on cdk-build-tools and we don't know if
// the package does.
expectDevDependency(this.name,
pkg,
- '@aws-cdk/cdk-integ-tools',
+ '@aws-cdk/integ-runner',
`${PKGLINT_VERSION}`); // eslint-disable-line @typescript-eslint/no-require-imports
}
}
From 1466846b61278e0b2a13da7697b1f09507515679 Mon Sep 17 00:00:00 2001
From: corymhall <43035978+corymhall@users.noreply.github.com>
Date: Fri, 8 Apr 2022 13:56:38 +0000
Subject: [PATCH 4/6] adding ecs-service-extensions snapshots
---
.../aws-ecs-integ.template.json | 3383 +++++++++++
.../all-service-addons.integ.snapshot/cdk.out | 1 +
.../manifest.json | 645 +++
.../tree.json | 5017 +++++++++++++++++
.../.style.yapf | 6 +
.../Pipfile | 14 +
.../Pipfile.lock | 138 +
.../index.py | 34 +
.../lib/__init__.py | 0
.../lib/cleanup_resource_handler.py | 51 +
.../lib/events.py | 15 +
.../lib/queue_handler.py | 117 +
.../lib/records.py | 185 +
.../lib/records_table.py | 215 +
.../lib/route53.py | 167 +
.../lib/running_task_collector.py | 57 +
.../run_test.py | 5 +
.../test/__init__.py | 1 +
.../test/fixtures/ddb-record.json | 43 +
.../test/fixtures/eni_description.json | 49 +
.../test/fixtures/task_description.json | 77 +
.../test/test_cleanup_resource_handler.py | 46 +
.../test/test_events.py | 21 +
.../test/test_queue_handler.py | 29 +
.../test/test_records.py | 46 +
.../test/test_records_table.py | 188 +
.../test/test_route53.py | 281 +
.../test/test_tasks.py | 55 +
.../opensearch-2021-01-01.paginators.json | 64 +
.../opensearch-2021-01-01.service.json | 4080 ++++++++++++++
.../aws-ecs-integ.template.json | 1263 +++++
.../assign-public-ip.integ.snapshot/cdk.out | 1 +
.../manifest.json | 361 ++
.../assign-public-ip.integ.snapshot/tree.json | 2036 +++++++
.../aws-ecs-integ.template.json | 570 ++
.../cdk.out | 1 +
.../manifest.json | 203 +
.../tree.json | 1026 ++++
.../cdk.out | 1 +
.../imported-environment-integ.template.json | 366 ++
...ntegResourcesAB23EBEF.nested.template.json | 422 ++
.../manifest.json | 331 ++
.../tree.json | 1398 +++++
.../aws-ecs-integ.template.json | 1996 +++++++
.../cdk.out | 1 +
.../manifest.json | 503 ++
.../tree.json | 3081 ++++++++++
.../index.py | 15 +
.../queue_backlog_calculator.py | 71 +
.../aws-ecs-integ.template.json | 1205 ++++
.../publish-subscribe.integ.snapshot/cdk.out | 1 +
.../manifest.json | 367 ++
.../tree.json | 2110 +++++++
53 files changed, 32359 insertions(+)
create mode 100644 packages/@aws-cdk-containers/ecs-service-extensions/test/all-service-addons.integ.snapshot/aws-ecs-integ.template.json
create mode 100644 packages/@aws-cdk-containers/ecs-service-extensions/test/all-service-addons.integ.snapshot/cdk.out
create mode 100644 packages/@aws-cdk-containers/ecs-service-extensions/test/all-service-addons.integ.snapshot/manifest.json
create mode 100644 packages/@aws-cdk-containers/ecs-service-extensions/test/all-service-addons.integ.snapshot/tree.json
create mode 100644 packages/@aws-cdk-containers/ecs-service-extensions/test/assign-public-ip.integ.snapshot/asset.8f06a3db22794ebc7ff89b4745fd706afd46e17816fe46da72e5125cabae725d/.style.yapf
create mode 100644 packages/@aws-cdk-containers/ecs-service-extensions/test/assign-public-ip.integ.snapshot/asset.8f06a3db22794ebc7ff89b4745fd706afd46e17816fe46da72e5125cabae725d/Pipfile
create mode 100644 packages/@aws-cdk-containers/ecs-service-extensions/test/assign-public-ip.integ.snapshot/asset.8f06a3db22794ebc7ff89b4745fd706afd46e17816fe46da72e5125cabae725d/Pipfile.lock
create mode 100644 packages/@aws-cdk-containers/ecs-service-extensions/test/assign-public-ip.integ.snapshot/asset.8f06a3db22794ebc7ff89b4745fd706afd46e17816fe46da72e5125cabae725d/index.py
create mode 100644 packages/@aws-cdk-containers/ecs-service-extensions/test/assign-public-ip.integ.snapshot/asset.8f06a3db22794ebc7ff89b4745fd706afd46e17816fe46da72e5125cabae725d/lib/__init__.py
create mode 100644 packages/@aws-cdk-containers/ecs-service-extensions/test/assign-public-ip.integ.snapshot/asset.8f06a3db22794ebc7ff89b4745fd706afd46e17816fe46da72e5125cabae725d/lib/cleanup_resource_handler.py
create mode 100644 packages/@aws-cdk-containers/ecs-service-extensions/test/assign-public-ip.integ.snapshot/asset.8f06a3db22794ebc7ff89b4745fd706afd46e17816fe46da72e5125cabae725d/lib/events.py
create mode 100644 packages/@aws-cdk-containers/ecs-service-extensions/test/assign-public-ip.integ.snapshot/asset.8f06a3db22794ebc7ff89b4745fd706afd46e17816fe46da72e5125cabae725d/lib/queue_handler.py
create mode 100644 packages/@aws-cdk-containers/ecs-service-extensions/test/assign-public-ip.integ.snapshot/asset.8f06a3db22794ebc7ff89b4745fd706afd46e17816fe46da72e5125cabae725d/lib/records.py
create mode 100644 packages/@aws-cdk-containers/ecs-service-extensions/test/assign-public-ip.integ.snapshot/asset.8f06a3db22794ebc7ff89b4745fd706afd46e17816fe46da72e5125cabae725d/lib/records_table.py
create mode 100644 packages/@aws-cdk-containers/ecs-service-extensions/test/assign-public-ip.integ.snapshot/asset.8f06a3db22794ebc7ff89b4745fd706afd46e17816fe46da72e5125cabae725d/lib/route53.py
create mode 100644 packages/@aws-cdk-containers/ecs-service-extensions/test/assign-public-ip.integ.snapshot/asset.8f06a3db22794ebc7ff89b4745fd706afd46e17816fe46da72e5125cabae725d/lib/running_task_collector.py
create mode 100644 packages/@aws-cdk-containers/ecs-service-extensions/test/assign-public-ip.integ.snapshot/asset.8f06a3db22794ebc7ff89b4745fd706afd46e17816fe46da72e5125cabae725d/run_test.py
create mode 100644 packages/@aws-cdk-containers/ecs-service-extensions/test/assign-public-ip.integ.snapshot/asset.8f06a3db22794ebc7ff89b4745fd706afd46e17816fe46da72e5125cabae725d/test/__init__.py
create mode 100644 packages/@aws-cdk-containers/ecs-service-extensions/test/assign-public-ip.integ.snapshot/asset.8f06a3db22794ebc7ff89b4745fd706afd46e17816fe46da72e5125cabae725d/test/fixtures/ddb-record.json
create mode 100644 packages/@aws-cdk-containers/ecs-service-extensions/test/assign-public-ip.integ.snapshot/asset.8f06a3db22794ebc7ff89b4745fd706afd46e17816fe46da72e5125cabae725d/test/fixtures/eni_description.json
create mode 100644 packages/@aws-cdk-containers/ecs-service-extensions/test/assign-public-ip.integ.snapshot/asset.8f06a3db22794ebc7ff89b4745fd706afd46e17816fe46da72e5125cabae725d/test/fixtures/task_description.json
create mode 100644 packages/@aws-cdk-containers/ecs-service-extensions/test/assign-public-ip.integ.snapshot/asset.8f06a3db22794ebc7ff89b4745fd706afd46e17816fe46da72e5125cabae725d/test/test_cleanup_resource_handler.py
create mode 100644 packages/@aws-cdk-containers/ecs-service-extensions/test/assign-public-ip.integ.snapshot/asset.8f06a3db22794ebc7ff89b4745fd706afd46e17816fe46da72e5125cabae725d/test/test_events.py
create mode 100644 packages/@aws-cdk-containers/ecs-service-extensions/test/assign-public-ip.integ.snapshot/asset.8f06a3db22794ebc7ff89b4745fd706afd46e17816fe46da72e5125cabae725d/test/test_queue_handler.py
create mode 100644 packages/@aws-cdk-containers/ecs-service-extensions/test/assign-public-ip.integ.snapshot/asset.8f06a3db22794ebc7ff89b4745fd706afd46e17816fe46da72e5125cabae725d/test/test_records.py
create mode 100644 packages/@aws-cdk-containers/ecs-service-extensions/test/assign-public-ip.integ.snapshot/asset.8f06a3db22794ebc7ff89b4745fd706afd46e17816fe46da72e5125cabae725d/test/test_records_table.py
create mode 100644 packages/@aws-cdk-containers/ecs-service-extensions/test/assign-public-ip.integ.snapshot/asset.8f06a3db22794ebc7ff89b4745fd706afd46e17816fe46da72e5125cabae725d/test/test_route53.py
create mode 100644 packages/@aws-cdk-containers/ecs-service-extensions/test/assign-public-ip.integ.snapshot/asset.8f06a3db22794ebc7ff89b4745fd706afd46e17816fe46da72e5125cabae725d/test/test_tasks.py
create mode 100644 packages/@aws-cdk-containers/ecs-service-extensions/test/assign-public-ip.integ.snapshot/asset.dad5595646c3e39df600f872d08887f9fb408c42b22f568bc66c22979f476981/aws-sdk-patch/opensearch-2021-01-01.paginators.json
create mode 100644 packages/@aws-cdk-containers/ecs-service-extensions/test/assign-public-ip.integ.snapshot/asset.dad5595646c3e39df600f872d08887f9fb408c42b22f568bc66c22979f476981/aws-sdk-patch/opensearch-2021-01-01.service.json
create mode 100644 packages/@aws-cdk-containers/ecs-service-extensions/test/assign-public-ip.integ.snapshot/aws-ecs-integ.template.json
create mode 100644 packages/@aws-cdk-containers/ecs-service-extensions/test/assign-public-ip.integ.snapshot/cdk.out
create mode 100644 packages/@aws-cdk-containers/ecs-service-extensions/test/assign-public-ip.integ.snapshot/manifest.json
create mode 100644 packages/@aws-cdk-containers/ecs-service-extensions/test/assign-public-ip.integ.snapshot/tree.json
create mode 100644 packages/@aws-cdk-containers/ecs-service-extensions/test/custom-service-extension.integ.snapshot/aws-ecs-integ.template.json
create mode 100644 packages/@aws-cdk-containers/ecs-service-extensions/test/custom-service-extension.integ.snapshot/cdk.out
create mode 100644 packages/@aws-cdk-containers/ecs-service-extensions/test/custom-service-extension.integ.snapshot/manifest.json
create mode 100644 packages/@aws-cdk-containers/ecs-service-extensions/test/custom-service-extension.integ.snapshot/tree.json
create mode 100644 packages/@aws-cdk-containers/ecs-service-extensions/test/imported-environment.integ.snapshot/cdk.out
create mode 100644 packages/@aws-cdk-containers/ecs-service-extensions/test/imported-environment.integ.snapshot/imported-environment-integ.template.json
create mode 100644 packages/@aws-cdk-containers/ecs-service-extensions/test/imported-environment.integ.snapshot/importedenvironmentintegResourcesAB23EBEF.nested.template.json
create mode 100644 packages/@aws-cdk-containers/ecs-service-extensions/test/imported-environment.integ.snapshot/manifest.json
create mode 100644 packages/@aws-cdk-containers/ecs-service-extensions/test/imported-environment.integ.snapshot/tree.json
create mode 100644 packages/@aws-cdk-containers/ecs-service-extensions/test/multiple-environments.integ.snapshot/aws-ecs-integ.template.json
create mode 100644 packages/@aws-cdk-containers/ecs-service-extensions/test/multiple-environments.integ.snapshot/cdk.out
create mode 100644 packages/@aws-cdk-containers/ecs-service-extensions/test/multiple-environments.integ.snapshot/manifest.json
create mode 100644 packages/@aws-cdk-containers/ecs-service-extensions/test/multiple-environments.integ.snapshot/tree.json
create mode 100644 packages/@aws-cdk-containers/ecs-service-extensions/test/publish-subscribe.integ.snapshot/asset.a820140ad8525b8ed56ad2a7bcd9da99d6afc2490e8c91e34620886c011bdc91/index.py
create mode 100644 packages/@aws-cdk-containers/ecs-service-extensions/test/publish-subscribe.integ.snapshot/asset.a820140ad8525b8ed56ad2a7bcd9da99d6afc2490e8c91e34620886c011bdc91/queue_backlog_calculator.py
create mode 100644 packages/@aws-cdk-containers/ecs-service-extensions/test/publish-subscribe.integ.snapshot/aws-ecs-integ.template.json
create mode 100644 packages/@aws-cdk-containers/ecs-service-extensions/test/publish-subscribe.integ.snapshot/cdk.out
create mode 100644 packages/@aws-cdk-containers/ecs-service-extensions/test/publish-subscribe.integ.snapshot/manifest.json
create mode 100644 packages/@aws-cdk-containers/ecs-service-extensions/test/publish-subscribe.integ.snapshot/tree.json
diff --git a/packages/@aws-cdk-containers/ecs-service-extensions/test/all-service-addons.integ.snapshot/aws-ecs-integ.template.json b/packages/@aws-cdk-containers/ecs-service-extensions/test/all-service-addons.integ.snapshot/aws-ecs-integ.template.json
new file mode 100644
index 0000000000000..c840505a5012d
--- /dev/null
+++ b/packages/@aws-cdk-containers/ecs-service-extensions/test/all-service-addons.integ.snapshot/aws-ecs-integ.template.json
@@ -0,0 +1,3383 @@
+{
+ "Resources": {
+ "mymeshEA67EDEF": {
+ "Type": "AWS::AppMesh::Mesh",
+ "Properties": {
+ "MeshName": "awsecsintegmymeshFCC0D554",
+ "Spec": {}
+ }
+ },
+ "productionenvironmentvpcAEB47DF7": {
+ "Type": "AWS::EC2::VPC",
+ "Properties": {
+ "CidrBlock": "10.0.0.0/16",
+ "EnableDnsHostnames": true,
+ "EnableDnsSupport": true,
+ "InstanceTenancy": "default",
+ "Tags": [
+ {
+ "Key": "Name",
+ "Value": "aws-ecs-integ/production-environment-vpc"
+ }
+ ]
+ }
+ },
+ "productionenvironmentvpcPublicSubnet1Subnet8D92C089": {
+ "Type": "AWS::EC2::Subnet",
+ "Properties": {
+ "VpcId": {
+ "Ref": "productionenvironmentvpcAEB47DF7"
+ },
+ "AvailabilityZone": {
+ "Fn::Select": [
+ 0,
+ {
+ "Fn::GetAZs": ""
+ }
+ ]
+ },
+ "CidrBlock": "10.0.0.0/18",
+ "MapPublicIpOnLaunch": true,
+ "Tags": [
+ {
+ "Key": "aws-cdk:subnet-name",
+ "Value": "Public"
+ },
+ {
+ "Key": "aws-cdk:subnet-type",
+ "Value": "Public"
+ },
+ {
+ "Key": "Name",
+ "Value": "aws-ecs-integ/production-environment-vpc/PublicSubnet1"
+ }
+ ]
+ }
+ },
+ "productionenvironmentvpcPublicSubnet1RouteTable6E9ABC21": {
+ "Type": "AWS::EC2::RouteTable",
+ "Properties": {
+ "VpcId": {
+ "Ref": "productionenvironmentvpcAEB47DF7"
+ },
+ "Tags": [
+ {
+ "Key": "Name",
+ "Value": "aws-ecs-integ/production-environment-vpc/PublicSubnet1"
+ }
+ ]
+ }
+ },
+ "productionenvironmentvpcPublicSubnet1RouteTableAssociationA8117374": {
+ "Type": "AWS::EC2::SubnetRouteTableAssociation",
+ "Properties": {
+ "RouteTableId": {
+ "Ref": "productionenvironmentvpcPublicSubnet1RouteTable6E9ABC21"
+ },
+ "SubnetId": {
+ "Ref": "productionenvironmentvpcPublicSubnet1Subnet8D92C089"
+ }
+ }
+ },
+ "productionenvironmentvpcPublicSubnet1DefaultRoute524C894D": {
+ "Type": "AWS::EC2::Route",
+ "Properties": {
+ "RouteTableId": {
+ "Ref": "productionenvironmentvpcPublicSubnet1RouteTable6E9ABC21"
+ },
+ "DestinationCidrBlock": "0.0.0.0/0",
+ "GatewayId": {
+ "Ref": "productionenvironmentvpcIGWE7C39890"
+ }
+ },
+ "DependsOn": [
+ "productionenvironmentvpcVPCGW1B428D07"
+ ]
+ },
+ "productionenvironmentvpcPublicSubnet1EIP54BA88DB": {
+ "Type": "AWS::EC2::EIP",
+ "Properties": {
+ "Domain": "vpc",
+ "Tags": [
+ {
+ "Key": "Name",
+ "Value": "aws-ecs-integ/production-environment-vpc/PublicSubnet1"
+ }
+ ]
+ }
+ },
+ "productionenvironmentvpcPublicSubnet1NATGateway6075E4CA": {
+ "Type": "AWS::EC2::NatGateway",
+ "Properties": {
+ "SubnetId": {
+ "Ref": "productionenvironmentvpcPublicSubnet1Subnet8D92C089"
+ },
+ "AllocationId": {
+ "Fn::GetAtt": [
+ "productionenvironmentvpcPublicSubnet1EIP54BA88DB",
+ "AllocationId"
+ ]
+ },
+ "Tags": [
+ {
+ "Key": "Name",
+ "Value": "aws-ecs-integ/production-environment-vpc/PublicSubnet1"
+ }
+ ]
+ }
+ },
+ "productionenvironmentvpcPublicSubnet2Subnet298E6C31": {
+ "Type": "AWS::EC2::Subnet",
+ "Properties": {
+ "VpcId": {
+ "Ref": "productionenvironmentvpcAEB47DF7"
+ },
+ "AvailabilityZone": {
+ "Fn::Select": [
+ 1,
+ {
+ "Fn::GetAZs": ""
+ }
+ ]
+ },
+ "CidrBlock": "10.0.64.0/18",
+ "MapPublicIpOnLaunch": true,
+ "Tags": [
+ {
+ "Key": "aws-cdk:subnet-name",
+ "Value": "Public"
+ },
+ {
+ "Key": "aws-cdk:subnet-type",
+ "Value": "Public"
+ },
+ {
+ "Key": "Name",
+ "Value": "aws-ecs-integ/production-environment-vpc/PublicSubnet2"
+ }
+ ]
+ }
+ },
+ "productionenvironmentvpcPublicSubnet2RouteTable842A68D7": {
+ "Type": "AWS::EC2::RouteTable",
+ "Properties": {
+ "VpcId": {
+ "Ref": "productionenvironmentvpcAEB47DF7"
+ },
+ "Tags": [
+ {
+ "Key": "Name",
+ "Value": "aws-ecs-integ/production-environment-vpc/PublicSubnet2"
+ }
+ ]
+ }
+ },
+ "productionenvironmentvpcPublicSubnet2RouteTableAssociation0A7549F3": {
+ "Type": "AWS::EC2::SubnetRouteTableAssociation",
+ "Properties": {
+ "RouteTableId": {
+ "Ref": "productionenvironmentvpcPublicSubnet2RouteTable842A68D7"
+ },
+ "SubnetId": {
+ "Ref": "productionenvironmentvpcPublicSubnet2Subnet298E6C31"
+ }
+ }
+ },
+ "productionenvironmentvpcPublicSubnet2DefaultRoute92CD697D": {
+ "Type": "AWS::EC2::Route",
+ "Properties": {
+ "RouteTableId": {
+ "Ref": "productionenvironmentvpcPublicSubnet2RouteTable842A68D7"
+ },
+ "DestinationCidrBlock": "0.0.0.0/0",
+ "GatewayId": {
+ "Ref": "productionenvironmentvpcIGWE7C39890"
+ }
+ },
+ "DependsOn": [
+ "productionenvironmentvpcVPCGW1B428D07"
+ ]
+ },
+ "productionenvironmentvpcPublicSubnet2EIP14CA46AA": {
+ "Type": "AWS::EC2::EIP",
+ "Properties": {
+ "Domain": "vpc",
+ "Tags": [
+ {
+ "Key": "Name",
+ "Value": "aws-ecs-integ/production-environment-vpc/PublicSubnet2"
+ }
+ ]
+ }
+ },
+ "productionenvironmentvpcPublicSubnet2NATGatewayE1850FCC": {
+ "Type": "AWS::EC2::NatGateway",
+ "Properties": {
+ "SubnetId": {
+ "Ref": "productionenvironmentvpcPublicSubnet2Subnet298E6C31"
+ },
+ "AllocationId": {
+ "Fn::GetAtt": [
+ "productionenvironmentvpcPublicSubnet2EIP14CA46AA",
+ "AllocationId"
+ ]
+ },
+ "Tags": [
+ {
+ "Key": "Name",
+ "Value": "aws-ecs-integ/production-environment-vpc/PublicSubnet2"
+ }
+ ]
+ }
+ },
+ "productionenvironmentvpcPrivateSubnet1Subnet53F632E6": {
+ "Type": "AWS::EC2::Subnet",
+ "Properties": {
+ "VpcId": {
+ "Ref": "productionenvironmentvpcAEB47DF7"
+ },
+ "AvailabilityZone": {
+ "Fn::Select": [
+ 0,
+ {
+ "Fn::GetAZs": ""
+ }
+ ]
+ },
+ "CidrBlock": "10.0.128.0/18",
+ "MapPublicIpOnLaunch": false,
+ "Tags": [
+ {
+ "Key": "aws-cdk:subnet-name",
+ "Value": "Private"
+ },
+ {
+ "Key": "aws-cdk:subnet-type",
+ "Value": "Private"
+ },
+ {
+ "Key": "Name",
+ "Value": "aws-ecs-integ/production-environment-vpc/PrivateSubnet1"
+ }
+ ]
+ }
+ },
+ "productionenvironmentvpcPrivateSubnet1RouteTable2C6DFF0C": {
+ "Type": "AWS::EC2::RouteTable",
+ "Properties": {
+ "VpcId": {
+ "Ref": "productionenvironmentvpcAEB47DF7"
+ },
+ "Tags": [
+ {
+ "Key": "Name",
+ "Value": "aws-ecs-integ/production-environment-vpc/PrivateSubnet1"
+ }
+ ]
+ }
+ },
+ "productionenvironmentvpcPrivateSubnet1RouteTableAssociation8BA32463": {
+ "Type": "AWS::EC2::SubnetRouteTableAssociation",
+ "Properties": {
+ "RouteTableId": {
+ "Ref": "productionenvironmentvpcPrivateSubnet1RouteTable2C6DFF0C"
+ },
+ "SubnetId": {
+ "Ref": "productionenvironmentvpcPrivateSubnet1Subnet53F632E6"
+ }
+ }
+ },
+ "productionenvironmentvpcPrivateSubnet1DefaultRouteFBB3DE6C": {
+ "Type": "AWS::EC2::Route",
+ "Properties": {
+ "RouteTableId": {
+ "Ref": "productionenvironmentvpcPrivateSubnet1RouteTable2C6DFF0C"
+ },
+ "DestinationCidrBlock": "0.0.0.0/0",
+ "NatGatewayId": {
+ "Ref": "productionenvironmentvpcPublicSubnet1NATGateway6075E4CA"
+ }
+ }
+ },
+ "productionenvironmentvpcPrivateSubnet2Subnet756FB93C": {
+ "Type": "AWS::EC2::Subnet",
+ "Properties": {
+ "VpcId": {
+ "Ref": "productionenvironmentvpcAEB47DF7"
+ },
+ "AvailabilityZone": {
+ "Fn::Select": [
+ 1,
+ {
+ "Fn::GetAZs": ""
+ }
+ ]
+ },
+ "CidrBlock": "10.0.192.0/18",
+ "MapPublicIpOnLaunch": false,
+ "Tags": [
+ {
+ "Key": "aws-cdk:subnet-name",
+ "Value": "Private"
+ },
+ {
+ "Key": "aws-cdk:subnet-type",
+ "Value": "Private"
+ },
+ {
+ "Key": "Name",
+ "Value": "aws-ecs-integ/production-environment-vpc/PrivateSubnet2"
+ }
+ ]
+ }
+ },
+ "productionenvironmentvpcPrivateSubnet2RouteTable2F77D0D2": {
+ "Type": "AWS::EC2::RouteTable",
+ "Properties": {
+ "VpcId": {
+ "Ref": "productionenvironmentvpcAEB47DF7"
+ },
+ "Tags": [
+ {
+ "Key": "Name",
+ "Value": "aws-ecs-integ/production-environment-vpc/PrivateSubnet2"
+ }
+ ]
+ }
+ },
+ "productionenvironmentvpcPrivateSubnet2RouteTableAssociation09188261": {
+ "Type": "AWS::EC2::SubnetRouteTableAssociation",
+ "Properties": {
+ "RouteTableId": {
+ "Ref": "productionenvironmentvpcPrivateSubnet2RouteTable2F77D0D2"
+ },
+ "SubnetId": {
+ "Ref": "productionenvironmentvpcPrivateSubnet2Subnet756FB93C"
+ }
+ }
+ },
+ "productionenvironmentvpcPrivateSubnet2DefaultRoute5F9AB6C1": {
+ "Type": "AWS::EC2::Route",
+ "Properties": {
+ "RouteTableId": {
+ "Ref": "productionenvironmentvpcPrivateSubnet2RouteTable2F77D0D2"
+ },
+ "DestinationCidrBlock": "0.0.0.0/0",
+ "NatGatewayId": {
+ "Ref": "productionenvironmentvpcPublicSubnet2NATGatewayE1850FCC"
+ }
+ }
+ },
+ "productionenvironmentvpcIGWE7C39890": {
+ "Type": "AWS::EC2::InternetGateway",
+ "Properties": {
+ "Tags": [
+ {
+ "Key": "Name",
+ "Value": "aws-ecs-integ/production-environment-vpc"
+ }
+ ]
+ }
+ },
+ "productionenvironmentvpcVPCGW1B428D07": {
+ "Type": "AWS::EC2::VPCGatewayAttachment",
+ "Properties": {
+ "VpcId": {
+ "Ref": "productionenvironmentvpcAEB47DF7"
+ },
+ "InternetGatewayId": {
+ "Ref": "productionenvironmentvpcIGWE7C39890"
+ }
+ }
+ },
+ "productionenvironmentclusterC6599D2D": {
+ "Type": "AWS::ECS::Cluster"
+ },
+ "productionenvironmentclusterDefaultServiceDiscoveryNamespaceBE74D64D": {
+ "Type": "AWS::ServiceDiscovery::PrivateDnsNamespace",
+ "Properties": {
+ "Name": "production",
+ "Vpc": {
+ "Ref": "productionenvironmentvpcAEB47DF7"
+ }
+ }
+ },
+ "namelogsF4B17D31": {
+ "Type": "AWS::Logs::LogGroup",
+ "Properties": {
+ "LogGroupName": "name-logs",
+ "RetentionInDays": 7
+ },
+ "UpdateReplacePolicy": "Delete",
+ "DeletionPolicy": "Delete"
+ },
+ "nametaskdefinitionTaskRole50FE844E": {
+ "Type": "AWS::IAM::Role",
+ "Properties": {
+ "AssumeRolePolicyDocument": {
+ "Statement": [
+ {
+ "Action": "sts:AssumeRole",
+ "Effect": "Allow",
+ "Principal": {
+ "Service": "ecs-tasks.amazonaws.com"
+ }
+ }
+ ],
+ "Version": "2012-10-17"
+ },
+ "ManagedPolicyArns": [
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition"
+ },
+ ":iam::aws:policy/AWSXRayDaemonWriteAccess"
+ ]
+ ]
+ }
+ ]
+ }
+ },
+ "nametaskdefinitionTaskRoleDefaultPolicyE66EDC68": {
+ "Type": "AWS::IAM::Policy",
+ "Properties": {
+ "PolicyDocument": {
+ "Statement": [
+ {
+ "Action": [
+ "logs:CreateLogGroup",
+ "logs:CreateLogStream",
+ "logs:DescribeLogStreams",
+ "logs:PutLogEvents"
+ ],
+ "Effect": "Allow",
+ "Resource": "*"
+ }
+ ],
+ "Version": "2012-10-17"
+ },
+ "PolicyName": "nametaskdefinitionTaskRoleDefaultPolicyE66EDC68",
+ "Roles": [
+ {
+ "Ref": "nametaskdefinitionTaskRole50FE844E"
+ }
+ ]
+ }
+ },
+ "nametaskdefinition690762BB": {
+ "Type": "AWS::ECS::TaskDefinition",
+ "Properties": {
+ "ContainerDefinitions": [
+ {
+ "Cpu": 1024,
+ "DependsOn": [
+ {
+ "Condition": "START",
+ "ContainerName": "firelens"
+ },
+ {
+ "Condition": "HEALTHY",
+ "ContainerName": "envoy"
+ },
+ {
+ "Condition": "START",
+ "ContainerName": "cloudwatch-agent"
+ },
+ {
+ "Condition": "HEALTHY",
+ "ContainerName": "xray"
+ }
+ ],
+ "Environment": [
+ {
+ "Name": "PORT",
+ "Value": "80"
+ }
+ ],
+ "Essential": true,
+ "Image": "nathanpeck/name",
+ "LogConfiguration": {
+ "LogDriver": "awsfirelens",
+ "Options": {
+ "Name": "cloudwatch",
+ "region": {
+ "Ref": "AWS::Region"
+ },
+ "log_group_name": {
+ "Ref": "namelogsF4B17D31"
+ },
+ "log_stream_prefix": "name/"
+ }
+ },
+ "Memory": 2048,
+ "Name": "app",
+ "PortMappings": [
+ {
+ "ContainerPort": 80,
+ "Protocol": "tcp"
+ }
+ ],
+ "Ulimits": [
+ {
+ "HardLimit": 1024000,
+ "Name": "nofile",
+ "SoftLimit": 1024000
+ }
+ ]
+ },
+ {
+ "Environment": [
+ {
+ "Name": "APPMESH_VIRTUAL_NODE_NAME",
+ "Value": {
+ "Fn::Join": [
+ "",
+ [
+ "mesh/",
+ {
+ "Fn::GetAtt": [
+ "mymeshEA67EDEF",
+ "MeshName"
+ ]
+ },
+ "/virtualNode/name"
+ ]
+ ]
+ }
+ },
+ {
+ "Name": "AWS_REGION",
+ "Value": {
+ "Ref": "AWS::Region"
+ }
+ },
+ {
+ "Name": "ENABLE_ENVOY_STATS_TAGS",
+ "Value": "1"
+ },
+ {
+ "Name": "ENABLE_ENVOY_DOG_STATSD",
+ "Value": "1"
+ }
+ ],
+ "Essential": true,
+ "HealthCheck": {
+ "Command": [
+ "CMD-SHELL",
+ "curl -s http://localhost:9901/server_info | grep state | grep -q LIVE"
+ ],
+ "Interval": 5,
+ "Retries": 3,
+ "StartPeriod": 10,
+ "Timeout": 2
+ },
+ "Image": {
+ "Fn::Join": [
+ "",
+ [
+ {
+ "Fn::FindInMap": [
+ "nameenvoyimageaccountmapping",
+ {
+ "Ref": "AWS::Region"
+ },
+ "ecrRepo"
+ ]
+ },
+ ".dkr.ecr.",
+ {
+ "Ref": "AWS::Region"
+ },
+ ".",
+ {
+ "Ref": "AWS::URLSuffix"
+ },
+ "/aws-appmesh-envoy:v1.15.1.0-prod"
+ ]
+ ]
+ },
+ "LogConfiguration": {
+ "LogDriver": "awslogs",
+ "Options": {
+ "awslogs-group": {
+ "Ref": "nametaskdefinitionenvoyLogGroup258B673B"
+ },
+ "awslogs-stream-prefix": "envoy",
+ "awslogs-region": {
+ "Ref": "AWS::Region"
+ }
+ }
+ },
+ "MemoryReservation": 128,
+ "Name": "envoy",
+ "Ulimits": [
+ {
+ "HardLimit": 1024000,
+ "Name": "nofile",
+ "SoftLimit": 1024000
+ }
+ ],
+ "User": "1337"
+ },
+ {
+ "DependsOn": [
+ {
+ "Condition": "HEALTHY",
+ "ContainerName": "envoy"
+ }
+ ],
+ "Essential": true,
+ "FirelensConfiguration": {
+ "Type": "fluentbit"
+ },
+ "Image": {
+ "Ref": "SsmParameterValueawsserviceawsforfluentbitlatestC96584B6F00A464EAD1953AFF4B05118Parameter"
+ },
+ "LogConfiguration": {
+ "LogDriver": "awslogs",
+ "Options": {
+ "awslogs-group": {
+ "Ref": "nametaskdefinitionfirelensLogGroup80DDA60F"
+ },
+ "awslogs-stream-prefix": "firelens",
+ "awslogs-region": {
+ "Ref": "AWS::Region"
+ }
+ }
+ },
+ "MemoryReservation": 50,
+ "Name": "firelens",
+ "User": "0:1338"
+ },
+ {
+ "DependsOn": [
+ {
+ "Condition": "HEALTHY",
+ "ContainerName": "envoy"
+ }
+ ],
+ "Environment": [
+ {
+ "Name": "AWS_REGION",
+ "Value": {
+ "Ref": "AWS::Region"
+ }
+ }
+ ],
+ "Essential": true,
+ "HealthCheck": {
+ "Command": [
+ "CMD-SHELL",
+ "curl -s http://localhost:2000"
+ ],
+ "Interval": 5,
+ "Retries": 3,
+ "StartPeriod": 10,
+ "Timeout": 2
+ },
+ "Image": "amazon/aws-xray-daemon:latest",
+ "LogConfiguration": {
+ "LogDriver": "awslogs",
+ "Options": {
+ "awslogs-group": {
+ "Ref": "nametaskdefinitionxrayLogGroup4AF4CA37"
+ },
+ "awslogs-stream-prefix": "xray",
+ "awslogs-region": {
+ "Ref": "AWS::Region"
+ }
+ }
+ },
+ "MemoryReservation": 256,
+ "Name": "xray",
+ "User": "1337"
+ },
+ {
+ "DependsOn": [
+ {
+ "Condition": "HEALTHY",
+ "ContainerName": "envoy"
+ }
+ ],
+ "Environment": [
+ {
+ "Name": "CW_CONFIG_CONTENT",
+ "Value": "{\"logs\":{\"metrics_collected\":{\"emf\":{}}},\"metrics\":{\"metrics_collected\":{\"statsd\":{}}}}"
+ }
+ ],
+ "Essential": true,
+ "Image": "amazon/cloudwatch-agent:latest",
+ "LogConfiguration": {
+ "LogDriver": "awslogs",
+ "Options": {
+ "awslogs-group": {
+ "Ref": "nametaskdefinitioncloudwatchagentLogGroup78DDC685"
+ },
+ "awslogs-stream-prefix": "cloudwatch-agent",
+ "awslogs-region": {
+ "Ref": "AWS::Region"
+ }
+ }
+ },
+ "MemoryReservation": 50,
+ "Name": "cloudwatch-agent",
+ "User": "0:1338"
+ }
+ ],
+ "Cpu": "1024",
+ "ExecutionRoleArn": {
+ "Fn::GetAtt": [
+ "nametaskdefinitionExecutionRole45AC5C9A",
+ "Arn"
+ ]
+ },
+ "Family": "awsecsintegnametaskdefinition0EA6A1A0",
+ "Memory": "2048",
+ "NetworkMode": "awsvpc",
+ "ProxyConfiguration": {
+ "ContainerName": "envoy",
+ "ProxyConfigurationProperties": [
+ {
+ "Name": "AppPorts",
+ "Value": "80"
+ },
+ {
+ "Name": "ProxyEgressPort",
+ "Value": "15001"
+ },
+ {
+ "Name": "ProxyIngressPort",
+ "Value": "15000"
+ },
+ {
+ "Name": "IgnoredUID",
+ "Value": "1337"
+ },
+ {
+ "Name": "IgnoredGID",
+ "Value": "1338"
+ },
+ {
+ "Name": "EgressIgnoredIPs",
+ "Value": "169.254.170.2,169.254.169.254"
+ }
+ ],
+ "Type": "APPMESH"
+ },
+ "RequiresCompatibilities": [
+ "EC2",
+ "FARGATE"
+ ],
+ "TaskRoleArn": {
+ "Fn::GetAtt": [
+ "nametaskdefinitionTaskRole50FE844E",
+ "Arn"
+ ]
+ }
+ }
+ },
+ "nametaskdefinitionenvoyLogGroup258B673B": {
+ "Type": "AWS::Logs::LogGroup",
+ "UpdateReplacePolicy": "Retain",
+ "DeletionPolicy": "Retain"
+ },
+ "nametaskdefinitionExecutionRole45AC5C9A": {
+ "Type": "AWS::IAM::Role",
+ "Properties": {
+ "AssumeRolePolicyDocument": {
+ "Statement": [
+ {
+ "Action": "sts:AssumeRole",
+ "Effect": "Allow",
+ "Principal": {
+ "Service": "ecs-tasks.amazonaws.com"
+ }
+ }
+ ],
+ "Version": "2012-10-17"
+ }
+ }
+ },
+ "nametaskdefinitionExecutionRoleDefaultPolicyF7942D20": {
+ "Type": "AWS::IAM::Policy",
+ "Properties": {
+ "PolicyDocument": {
+ "Statement": [
+ {
+ "Action": [
+ "ecr:BatchCheckLayerAvailability",
+ "ecr:GetDownloadUrlForLayer",
+ "ecr:BatchGetImage"
+ ],
+ "Effect": "Allow",
+ "Resource": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition"
+ },
+ ":ecr:",
+ {
+ "Ref": "AWS::Region"
+ },
+ ":",
+ {
+ "Fn::FindInMap": [
+ "nameenvoyimageaccountmapping",
+ {
+ "Ref": "AWS::Region"
+ },
+ "ecrRepo"
+ ]
+ },
+ ":repository/aws-appmesh-envoy"
+ ]
+ ]
+ }
+ },
+ {
+ "Action": "ecr:GetAuthorizationToken",
+ "Effect": "Allow",
+ "Resource": "*"
+ },
+ {
+ "Action": [
+ "logs:CreateLogStream",
+ "logs:PutLogEvents"
+ ],
+ "Effect": "Allow",
+ "Resource": {
+ "Fn::GetAtt": [
+ "nametaskdefinitionenvoyLogGroup258B673B",
+ "Arn"
+ ]
+ }
+ },
+ {
+ "Action": [
+ "ecr:GetAuthorizationToken",
+ "ecr:BatchCheckLayerAvailability",
+ "ecr:GetDownloadUrlForLayer",
+ "ecr:BatchGetImage"
+ ],
+ "Effect": "Allow",
+ "Resource": "*"
+ },
+ {
+ "Action": [
+ "logs:CreateLogStream",
+ "logs:PutLogEvents"
+ ],
+ "Effect": "Allow",
+ "Resource": {
+ "Fn::GetAtt": [
+ "nametaskdefinitionfirelensLogGroup80DDA60F",
+ "Arn"
+ ]
+ }
+ },
+ {
+ "Action": [
+ "logs:CreateLogStream",
+ "logs:PutLogEvents"
+ ],
+ "Effect": "Allow",
+ "Resource": {
+ "Fn::GetAtt": [
+ "nametaskdefinitionxrayLogGroup4AF4CA37",
+ "Arn"
+ ]
+ }
+ },
+ {
+ "Action": [
+ "logs:CreateLogStream",
+ "logs:PutLogEvents"
+ ],
+ "Effect": "Allow",
+ "Resource": {
+ "Fn::GetAtt": [
+ "nametaskdefinitioncloudwatchagentLogGroup78DDC685",
+ "Arn"
+ ]
+ }
+ }
+ ],
+ "Version": "2012-10-17"
+ },
+ "PolicyName": "nametaskdefinitionExecutionRoleDefaultPolicyF7942D20",
+ "Roles": [
+ {
+ "Ref": "nametaskdefinitionExecutionRole45AC5C9A"
+ }
+ ]
+ }
+ },
+ "nametaskdefinitionfirelensLogGroup80DDA60F": {
+ "Type": "AWS::Logs::LogGroup",
+ "UpdateReplacePolicy": "Retain",
+ "DeletionPolicy": "Retain"
+ },
+ "nametaskdefinitionxrayLogGroup4AF4CA37": {
+ "Type": "AWS::Logs::LogGroup",
+ "UpdateReplacePolicy": "Retain",
+ "DeletionPolicy": "Retain"
+ },
+ "nametaskdefinitioncloudwatchagentLogGroup78DDC685": {
+ "Type": "AWS::Logs::LogGroup",
+ "UpdateReplacePolicy": "Retain",
+ "DeletionPolicy": "Retain"
+ },
+ "nameenvoytoappmesh2767D3E6": {
+ "Type": "AWS::IAM::Policy",
+ "Properties": {
+ "PolicyDocument": {
+ "Statement": [
+ {
+ "Action": "appmesh:StreamAggregatedResources",
+ "Effect": "Allow",
+ "Resource": {
+ "Ref": "mymeshEA67EDEF"
+ }
+ }
+ ],
+ "Version": "2012-10-17"
+ },
+ "PolicyName": "nameenvoytoappmesh2767D3E6",
+ "Roles": [
+ {
+ "Ref": "nametaskdefinitionTaskRole50FE844E"
+ }
+ ]
+ }
+ },
+ "namepublishmetricsF329C7AE": {
+ "Type": "AWS::IAM::Policy",
+ "Properties": {
+ "PolicyDocument": {
+ "Statement": [
+ {
+ "Action": "cloudwatch:PutMetricData",
+ "Effect": "Allow",
+ "Resource": "*"
+ }
+ ],
+ "Version": "2012-10-17"
+ },
+ "PolicyName": "namepublishmetricsF329C7AE",
+ "Roles": [
+ {
+ "Ref": "nametaskdefinitionTaskRole50FE844E"
+ }
+ ]
+ }
+ },
+ "nameserviceService8015C8D6": {
+ "Type": "AWS::ECS::Service",
+ "Properties": {
+ "Cluster": {
+ "Ref": "productionenvironmentclusterC6599D2D"
+ },
+ "DeploymentConfiguration": {
+ "MaximumPercent": 150,
+ "MinimumHealthyPercent": 100
+ },
+ "DesiredCount": 2,
+ "EnableECSManagedTags": false,
+ "LaunchType": "FARGATE",
+ "NetworkConfiguration": {
+ "AwsvpcConfiguration": {
+ "AssignPublicIp": "DISABLED",
+ "SecurityGroups": [
+ {
+ "Fn::GetAtt": [
+ "nameserviceSecurityGroup33F4662C",
+ "GroupId"
+ ]
+ }
+ ],
+ "Subnets": [
+ {
+ "Ref": "productionenvironmentvpcPrivateSubnet1Subnet53F632E6"
+ },
+ {
+ "Ref": "productionenvironmentvpcPrivateSubnet2Subnet756FB93C"
+ }
+ ]
+ }
+ },
+ "ServiceRegistries": [
+ {
+ "RegistryArn": {
+ "Fn::GetAtt": [
+ "nameserviceCloudmapService3D5B0548",
+ "Arn"
+ ]
+ }
+ }
+ ],
+ "TaskDefinition": {
+ "Ref": "nametaskdefinition690762BB"
+ }
+ }
+ },
+ "nameserviceCloudmapService3D5B0548": {
+ "Type": "AWS::ServiceDiscovery::Service",
+ "Properties": {
+ "DnsConfig": {
+ "DnsRecords": [
+ {
+ "TTL": 10,
+ "Type": "A"
+ }
+ ],
+ "NamespaceId": {
+ "Fn::GetAtt": [
+ "productionenvironmentclusterDefaultServiceDiscoveryNamespaceBE74D64D",
+ "Id"
+ ]
+ },
+ "RoutingPolicy": "MULTIVALUE"
+ },
+ "HealthCheckCustomConfig": {
+ "FailureThreshold": 2
+ },
+ "Name": "name",
+ "NamespaceId": {
+ "Fn::GetAtt": [
+ "productionenvironmentclusterDefaultServiceDiscoveryNamespaceBE74D64D",
+ "Id"
+ ]
+ }
+ }
+ },
+ "nameserviceSecurityGroup33F4662C": {
+ "Type": "AWS::EC2::SecurityGroup",
+ "Properties": {
+ "GroupDescription": "aws-ecs-integ/name-service/SecurityGroup",
+ "SecurityGroupEgress": [
+ {
+ "CidrIp": "0.0.0.0/0",
+ "Description": "Allow all outbound traffic by default",
+ "IpProtocol": "-1"
+ }
+ ],
+ "VpcId": {
+ "Ref": "productionenvironmentvpcAEB47DF7"
+ }
+ }
+ },
+ "nameserviceSecurityGroupfromawsecsinteggreeterserviceSecurityGroup055DC23B8048057EFF": {
+ "Type": "AWS::EC2::SecurityGroupIngress",
+ "Properties": {
+ "IpProtocol": "tcp",
+ "Description": "Accept inbound traffic from greeter",
+ "FromPort": 80,
+ "GroupId": {
+ "Fn::GetAtt": [
+ "nameserviceSecurityGroup33F4662C",
+ "GroupId"
+ ]
+ },
+ "SourceSecurityGroupId": {
+ "Fn::GetAtt": [
+ "greeterserviceSecurityGroupDB4AC3A9",
+ "GroupId"
+ ]
+ },
+ "ToPort": 80
+ }
+ },
+ "nameserviceTaskCountTarget366C2B3A": {
+ "Type": "AWS::ApplicationAutoScaling::ScalableTarget",
+ "Properties": {
+ "MaxCapacity": 8,
+ "MinCapacity": 2,
+ "ResourceId": {
+ "Fn::Join": [
+ "",
+ [
+ "service/",
+ {
+ "Ref": "productionenvironmentclusterC6599D2D"
+ },
+ "/",
+ {
+ "Fn::GetAtt": [
+ "nameserviceService8015C8D6",
+ "Name"
+ ]
+ }
+ ]
+ ]
+ },
+ "RoleARN": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition"
+ },
+ ":iam::",
+ {
+ "Ref": "AWS::AccountId"
+ },
+ ":role/aws-service-role/ecs.application-autoscaling.amazonaws.com/AWSServiceRoleForApplicationAutoScaling_ECSService"
+ ]
+ ]
+ },
+ "ScalableDimension": "ecs:service:DesiredCount",
+ "ServiceNamespace": "ecs"
+ }
+ },
+ "nameserviceTaskCountTargetnametargetcpuutilization5018B16243": {
+ "Type": "AWS::ApplicationAutoScaling::ScalingPolicy",
+ "Properties": {
+ "PolicyName": "awsecsintegnameserviceTaskCountTargetnametargetcpuutilization50CAB59E05",
+ "PolicyType": "TargetTrackingScaling",
+ "ScalingTargetId": {
+ "Ref": "nameserviceTaskCountTarget366C2B3A"
+ },
+ "TargetTrackingScalingPolicyConfiguration": {
+ "PredefinedMetricSpecification": {
+ "PredefinedMetricType": "ECSServiceAverageCPUUtilization"
+ },
+ "ScaleInCooldown": 60,
+ "ScaleOutCooldown": 60,
+ "TargetValue": 50
+ }
+ }
+ },
+ "namevirtualnode6C99CB14": {
+ "Type": "AWS::AppMesh::VirtualNode",
+ "Properties": {
+ "MeshName": {
+ "Fn::GetAtt": [
+ "mymeshEA67EDEF",
+ "MeshName"
+ ]
+ },
+ "Spec": {
+ "Listeners": [
+ {
+ "PortMapping": {
+ "Port": 80,
+ "Protocol": "http"
+ }
+ }
+ ],
+ "ServiceDiscovery": {
+ "AWSCloudMap": {
+ "NamespaceName": "production",
+ "ServiceName": {
+ "Fn::GetAtt": [
+ "nameserviceCloudmapService3D5B0548",
+ "Name"
+ ]
+ }
+ }
+ }
+ },
+ "VirtualNodeName": "name"
+ }
+ },
+ "namevirtualrouterC00E1ACE": {
+ "Type": "AWS::AppMesh::VirtualRouter",
+ "Properties": {
+ "MeshName": {
+ "Fn::GetAtt": [
+ "mymeshEA67EDEF",
+ "MeshName"
+ ]
+ },
+ "Spec": {
+ "Listeners": [
+ {
+ "PortMapping": {
+ "Port": 80,
+ "Protocol": "http"
+ }
+ }
+ ]
+ },
+ "VirtualRouterName": "name"
+ }
+ },
+ "namevirtualrouternamerouteDCDF3715": {
+ "Type": "AWS::AppMesh::Route",
+ "Properties": {
+ "MeshName": {
+ "Fn::GetAtt": [
+ "mymeshEA67EDEF",
+ "MeshName"
+ ]
+ },
+ "Spec": {
+ "HttpRoute": {
+ "Action": {
+ "WeightedTargets": [
+ {
+ "VirtualNode": {
+ "Fn::GetAtt": [
+ "namevirtualnode6C99CB14",
+ "VirtualNodeName"
+ ]
+ },
+ "Weight": 1
+ }
+ ]
+ },
+ "Match": {
+ "Prefix": "/"
+ }
+ }
+ },
+ "VirtualRouterName": {
+ "Fn::GetAtt": [
+ "namevirtualrouterC00E1ACE",
+ "VirtualRouterName"
+ ]
+ },
+ "RouteName": "name-route"
+ }
+ },
+ "namevirtualservice3DDDDF1E": {
+ "Type": "AWS::AppMesh::VirtualService",
+ "Properties": {
+ "MeshName": {
+ "Fn::GetAtt": [
+ "mymeshEA67EDEF",
+ "MeshName"
+ ]
+ },
+ "Spec": {
+ "Provider": {
+ "VirtualRouter": {
+ "VirtualRouterName": {
+ "Fn::GetAtt": [
+ "namevirtualrouterC00E1ACE",
+ "VirtualRouterName"
+ ]
+ }
+ }
+ }
+ },
+ "VirtualServiceName": "name.production"
+ }
+ },
+ "greetinglogsCC360934": {
+ "Type": "AWS::Logs::LogGroup",
+ "Properties": {
+ "LogGroupName": "greeting-logs",
+ "RetentionInDays": 7
+ },
+ "UpdateReplacePolicy": "Delete",
+ "DeletionPolicy": "Delete"
+ },
+ "greetingtaskdefinitionTaskRole9179DA4A": {
+ "Type": "AWS::IAM::Role",
+ "Properties": {
+ "AssumeRolePolicyDocument": {
+ "Statement": [
+ {
+ "Action": "sts:AssumeRole",
+ "Effect": "Allow",
+ "Principal": {
+ "Service": "ecs-tasks.amazonaws.com"
+ }
+ }
+ ],
+ "Version": "2012-10-17"
+ },
+ "ManagedPolicyArns": [
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition"
+ },
+ ":iam::aws:policy/AWSXRayDaemonWriteAccess"
+ ]
+ ]
+ }
+ ]
+ }
+ },
+ "greetingtaskdefinitionTaskRoleDefaultPolicy5DB4510A": {
+ "Type": "AWS::IAM::Policy",
+ "Properties": {
+ "PolicyDocument": {
+ "Statement": [
+ {
+ "Action": [
+ "logs:CreateLogGroup",
+ "logs:CreateLogStream",
+ "logs:DescribeLogStreams",
+ "logs:PutLogEvents"
+ ],
+ "Effect": "Allow",
+ "Resource": "*"
+ }
+ ],
+ "Version": "2012-10-17"
+ },
+ "PolicyName": "greetingtaskdefinitionTaskRoleDefaultPolicy5DB4510A",
+ "Roles": [
+ {
+ "Ref": "greetingtaskdefinitionTaskRole9179DA4A"
+ }
+ ]
+ }
+ },
+ "greetingtaskdefinition31690093": {
+ "Type": "AWS::ECS::TaskDefinition",
+ "Properties": {
+ "ContainerDefinitions": [
+ {
+ "Cpu": 1024,
+ "DependsOn": [
+ {
+ "Condition": "START",
+ "ContainerName": "firelens"
+ },
+ {
+ "Condition": "HEALTHY",
+ "ContainerName": "envoy"
+ },
+ {
+ "Condition": "START",
+ "ContainerName": "cloudwatch-agent"
+ },
+ {
+ "Condition": "HEALTHY",
+ "ContainerName": "xray"
+ }
+ ],
+ "Environment": [
+ {
+ "Name": "PORT",
+ "Value": "80"
+ }
+ ],
+ "Essential": true,
+ "Image": "nathanpeck/greeting",
+ "LogConfiguration": {
+ "LogDriver": "awsfirelens",
+ "Options": {
+ "Name": "cloudwatch",
+ "region": {
+ "Ref": "AWS::Region"
+ },
+ "log_group_name": {
+ "Ref": "greetinglogsCC360934"
+ },
+ "log_stream_prefix": "greeting/"
+ }
+ },
+ "Memory": 2048,
+ "Name": "app",
+ "PortMappings": [
+ {
+ "ContainerPort": 80,
+ "Protocol": "tcp"
+ }
+ ],
+ "Ulimits": [
+ {
+ "HardLimit": 1024000,
+ "Name": "nofile",
+ "SoftLimit": 1024000
+ }
+ ]
+ },
+ {
+ "Environment": [
+ {
+ "Name": "APPMESH_VIRTUAL_NODE_NAME",
+ "Value": {
+ "Fn::Join": [
+ "",
+ [
+ "mesh/",
+ {
+ "Fn::GetAtt": [
+ "mymeshEA67EDEF",
+ "MeshName"
+ ]
+ },
+ "/virtualNode/greeting"
+ ]
+ ]
+ }
+ },
+ {
+ "Name": "AWS_REGION",
+ "Value": {
+ "Ref": "AWS::Region"
+ }
+ },
+ {
+ "Name": "ENABLE_ENVOY_STATS_TAGS",
+ "Value": "1"
+ },
+ {
+ "Name": "ENABLE_ENVOY_DOG_STATSD",
+ "Value": "1"
+ }
+ ],
+ "Essential": true,
+ "HealthCheck": {
+ "Command": [
+ "CMD-SHELL",
+ "curl -s http://localhost:9901/server_info | grep state | grep -q LIVE"
+ ],
+ "Interval": 5,
+ "Retries": 3,
+ "StartPeriod": 10,
+ "Timeout": 2
+ },
+ "Image": {
+ "Fn::Join": [
+ "",
+ [
+ {
+ "Fn::FindInMap": [
+ "greetingenvoyimageaccountmapping",
+ {
+ "Ref": "AWS::Region"
+ },
+ "ecrRepo"
+ ]
+ },
+ ".dkr.ecr.",
+ {
+ "Ref": "AWS::Region"
+ },
+ ".",
+ {
+ "Ref": "AWS::URLSuffix"
+ },
+ "/aws-appmesh-envoy:v1.15.1.0-prod"
+ ]
+ ]
+ },
+ "LogConfiguration": {
+ "LogDriver": "awslogs",
+ "Options": {
+ "awslogs-group": {
+ "Ref": "greetingtaskdefinitionenvoyLogGroup6556AC35"
+ },
+ "awslogs-stream-prefix": "envoy",
+ "awslogs-region": {
+ "Ref": "AWS::Region"
+ }
+ }
+ },
+ "MemoryReservation": 128,
+ "Name": "envoy",
+ "Ulimits": [
+ {
+ "HardLimit": 1024000,
+ "Name": "nofile",
+ "SoftLimit": 1024000
+ }
+ ],
+ "User": "1337"
+ },
+ {
+ "DependsOn": [
+ {
+ "Condition": "HEALTHY",
+ "ContainerName": "envoy"
+ }
+ ],
+ "Essential": true,
+ "FirelensConfiguration": {
+ "Type": "fluentbit"
+ },
+ "Image": {
+ "Ref": "SsmParameterValueawsserviceawsforfluentbitlatestC96584B6F00A464EAD1953AFF4B05118Parameter"
+ },
+ "LogConfiguration": {
+ "LogDriver": "awslogs",
+ "Options": {
+ "awslogs-group": {
+ "Ref": "greetingtaskdefinitionfirelensLogGroupD7A398A7"
+ },
+ "awslogs-stream-prefix": "firelens",
+ "awslogs-region": {
+ "Ref": "AWS::Region"
+ }
+ }
+ },
+ "MemoryReservation": 50,
+ "Name": "firelens",
+ "User": "0:1338"
+ },
+ {
+ "DependsOn": [
+ {
+ "Condition": "HEALTHY",
+ "ContainerName": "envoy"
+ }
+ ],
+ "Environment": [
+ {
+ "Name": "AWS_REGION",
+ "Value": {
+ "Ref": "AWS::Region"
+ }
+ }
+ ],
+ "Essential": true,
+ "HealthCheck": {
+ "Command": [
+ "CMD-SHELL",
+ "curl -s http://localhost:2000"
+ ],
+ "Interval": 5,
+ "Retries": 3,
+ "StartPeriod": 10,
+ "Timeout": 2
+ },
+ "Image": "amazon/aws-xray-daemon:latest",
+ "LogConfiguration": {
+ "LogDriver": "awslogs",
+ "Options": {
+ "awslogs-group": {
+ "Ref": "greetingtaskdefinitionxrayLogGroupD25C072D"
+ },
+ "awslogs-stream-prefix": "xray",
+ "awslogs-region": {
+ "Ref": "AWS::Region"
+ }
+ }
+ },
+ "MemoryReservation": 256,
+ "Name": "xray",
+ "User": "1337"
+ },
+ {
+ "DependsOn": [
+ {
+ "Condition": "HEALTHY",
+ "ContainerName": "envoy"
+ }
+ ],
+ "Environment": [
+ {
+ "Name": "CW_CONFIG_CONTENT",
+ "Value": "{\"logs\":{\"metrics_collected\":{\"emf\":{}}},\"metrics\":{\"metrics_collected\":{\"statsd\":{}}}}"
+ }
+ ],
+ "Essential": true,
+ "Image": "amazon/cloudwatch-agent:latest",
+ "LogConfiguration": {
+ "LogDriver": "awslogs",
+ "Options": {
+ "awslogs-group": {
+ "Ref": "greetingtaskdefinitioncloudwatchagentLogGroupCEF72742"
+ },
+ "awslogs-stream-prefix": "cloudwatch-agent",
+ "awslogs-region": {
+ "Ref": "AWS::Region"
+ }
+ }
+ },
+ "MemoryReservation": 50,
+ "Name": "cloudwatch-agent",
+ "User": "0:1338"
+ }
+ ],
+ "Cpu": "1024",
+ "ExecutionRoleArn": {
+ "Fn::GetAtt": [
+ "greetingtaskdefinitionExecutionRole9E3A7CF3",
+ "Arn"
+ ]
+ },
+ "Family": "awsecsinteggreetingtaskdefinitionA6E8A57B",
+ "Memory": "2048",
+ "NetworkMode": "awsvpc",
+ "ProxyConfiguration": {
+ "ContainerName": "envoy",
+ "ProxyConfigurationProperties": [
+ {
+ "Name": "AppPorts",
+ "Value": "80"
+ },
+ {
+ "Name": "ProxyEgressPort",
+ "Value": "15001"
+ },
+ {
+ "Name": "ProxyIngressPort",
+ "Value": "15000"
+ },
+ {
+ "Name": "IgnoredUID",
+ "Value": "1337"
+ },
+ {
+ "Name": "IgnoredGID",
+ "Value": "1338"
+ },
+ {
+ "Name": "EgressIgnoredIPs",
+ "Value": "169.254.170.2,169.254.169.254"
+ }
+ ],
+ "Type": "APPMESH"
+ },
+ "RequiresCompatibilities": [
+ "EC2",
+ "FARGATE"
+ ],
+ "TaskRoleArn": {
+ "Fn::GetAtt": [
+ "greetingtaskdefinitionTaskRole9179DA4A",
+ "Arn"
+ ]
+ }
+ }
+ },
+ "greetingtaskdefinitionenvoyLogGroup6556AC35": {
+ "Type": "AWS::Logs::LogGroup",
+ "UpdateReplacePolicy": "Retain",
+ "DeletionPolicy": "Retain"
+ },
+ "greetingtaskdefinitionExecutionRole9E3A7CF3": {
+ "Type": "AWS::IAM::Role",
+ "Properties": {
+ "AssumeRolePolicyDocument": {
+ "Statement": [
+ {
+ "Action": "sts:AssumeRole",
+ "Effect": "Allow",
+ "Principal": {
+ "Service": "ecs-tasks.amazonaws.com"
+ }
+ }
+ ],
+ "Version": "2012-10-17"
+ }
+ }
+ },
+ "greetingtaskdefinitionExecutionRoleDefaultPolicy31B93022": {
+ "Type": "AWS::IAM::Policy",
+ "Properties": {
+ "PolicyDocument": {
+ "Statement": [
+ {
+ "Action": [
+ "ecr:BatchCheckLayerAvailability",
+ "ecr:GetDownloadUrlForLayer",
+ "ecr:BatchGetImage"
+ ],
+ "Effect": "Allow",
+ "Resource": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition"
+ },
+ ":ecr:",
+ {
+ "Ref": "AWS::Region"
+ },
+ ":",
+ {
+ "Fn::FindInMap": [
+ "greetingenvoyimageaccountmapping",
+ {
+ "Ref": "AWS::Region"
+ },
+ "ecrRepo"
+ ]
+ },
+ ":repository/aws-appmesh-envoy"
+ ]
+ ]
+ }
+ },
+ {
+ "Action": "ecr:GetAuthorizationToken",
+ "Effect": "Allow",
+ "Resource": "*"
+ },
+ {
+ "Action": [
+ "logs:CreateLogStream",
+ "logs:PutLogEvents"
+ ],
+ "Effect": "Allow",
+ "Resource": {
+ "Fn::GetAtt": [
+ "greetingtaskdefinitionenvoyLogGroup6556AC35",
+ "Arn"
+ ]
+ }
+ },
+ {
+ "Action": [
+ "ecr:GetAuthorizationToken",
+ "ecr:BatchCheckLayerAvailability",
+ "ecr:GetDownloadUrlForLayer",
+ "ecr:BatchGetImage"
+ ],
+ "Effect": "Allow",
+ "Resource": "*"
+ },
+ {
+ "Action": [
+ "logs:CreateLogStream",
+ "logs:PutLogEvents"
+ ],
+ "Effect": "Allow",
+ "Resource": {
+ "Fn::GetAtt": [
+ "greetingtaskdefinitionfirelensLogGroupD7A398A7",
+ "Arn"
+ ]
+ }
+ },
+ {
+ "Action": [
+ "logs:CreateLogStream",
+ "logs:PutLogEvents"
+ ],
+ "Effect": "Allow",
+ "Resource": {
+ "Fn::GetAtt": [
+ "greetingtaskdefinitionxrayLogGroupD25C072D",
+ "Arn"
+ ]
+ }
+ },
+ {
+ "Action": [
+ "logs:CreateLogStream",
+ "logs:PutLogEvents"
+ ],
+ "Effect": "Allow",
+ "Resource": {
+ "Fn::GetAtt": [
+ "greetingtaskdefinitioncloudwatchagentLogGroupCEF72742",
+ "Arn"
+ ]
+ }
+ }
+ ],
+ "Version": "2012-10-17"
+ },
+ "PolicyName": "greetingtaskdefinitionExecutionRoleDefaultPolicy31B93022",
+ "Roles": [
+ {
+ "Ref": "greetingtaskdefinitionExecutionRole9E3A7CF3"
+ }
+ ]
+ }
+ },
+ "greetingtaskdefinitionfirelensLogGroupD7A398A7": {
+ "Type": "AWS::Logs::LogGroup",
+ "UpdateReplacePolicy": "Retain",
+ "DeletionPolicy": "Retain"
+ },
+ "greetingtaskdefinitionxrayLogGroupD25C072D": {
+ "Type": "AWS::Logs::LogGroup",
+ "UpdateReplacePolicy": "Retain",
+ "DeletionPolicy": "Retain"
+ },
+ "greetingtaskdefinitioncloudwatchagentLogGroupCEF72742": {
+ "Type": "AWS::Logs::LogGroup",
+ "UpdateReplacePolicy": "Retain",
+ "DeletionPolicy": "Retain"
+ },
+ "greetingenvoytoappmesh97051B23": {
+ "Type": "AWS::IAM::Policy",
+ "Properties": {
+ "PolicyDocument": {
+ "Statement": [
+ {
+ "Action": "appmesh:StreamAggregatedResources",
+ "Effect": "Allow",
+ "Resource": {
+ "Ref": "mymeshEA67EDEF"
+ }
+ }
+ ],
+ "Version": "2012-10-17"
+ },
+ "PolicyName": "greetingenvoytoappmesh97051B23",
+ "Roles": [
+ {
+ "Ref": "greetingtaskdefinitionTaskRole9179DA4A"
+ }
+ ]
+ }
+ },
+ "greetingpublishmetricsF17124EF": {
+ "Type": "AWS::IAM::Policy",
+ "Properties": {
+ "PolicyDocument": {
+ "Statement": [
+ {
+ "Action": "cloudwatch:PutMetricData",
+ "Effect": "Allow",
+ "Resource": "*"
+ }
+ ],
+ "Version": "2012-10-17"
+ },
+ "PolicyName": "greetingpublishmetricsF17124EF",
+ "Roles": [
+ {
+ "Ref": "greetingtaskdefinitionTaskRole9179DA4A"
+ }
+ ]
+ }
+ },
+ "greetingserviceService8DA58640": {
+ "Type": "AWS::ECS::Service",
+ "Properties": {
+ "Cluster": {
+ "Ref": "productionenvironmentclusterC6599D2D"
+ },
+ "DeploymentConfiguration": {
+ "MaximumPercent": 150,
+ "MinimumHealthyPercent": 100
+ },
+ "DesiredCount": 2,
+ "EnableECSManagedTags": false,
+ "LaunchType": "FARGATE",
+ "NetworkConfiguration": {
+ "AwsvpcConfiguration": {
+ "AssignPublicIp": "DISABLED",
+ "SecurityGroups": [
+ {
+ "Fn::GetAtt": [
+ "greetingserviceSecurityGroupE9BE665B",
+ "GroupId"
+ ]
+ }
+ ],
+ "Subnets": [
+ {
+ "Ref": "productionenvironmentvpcPrivateSubnet1Subnet53F632E6"
+ },
+ {
+ "Ref": "productionenvironmentvpcPrivateSubnet2Subnet756FB93C"
+ }
+ ]
+ }
+ },
+ "ServiceRegistries": [
+ {
+ "RegistryArn": {
+ "Fn::GetAtt": [
+ "greetingserviceCloudmapService0A2D7385",
+ "Arn"
+ ]
+ }
+ }
+ ],
+ "TaskDefinition": {
+ "Ref": "greetingtaskdefinition31690093"
+ }
+ }
+ },
+ "greetingserviceCloudmapService0A2D7385": {
+ "Type": "AWS::ServiceDiscovery::Service",
+ "Properties": {
+ "DnsConfig": {
+ "DnsRecords": [
+ {
+ "TTL": 10,
+ "Type": "A"
+ }
+ ],
+ "NamespaceId": {
+ "Fn::GetAtt": [
+ "productionenvironmentclusterDefaultServiceDiscoveryNamespaceBE74D64D",
+ "Id"
+ ]
+ },
+ "RoutingPolicy": "MULTIVALUE"
+ },
+ "HealthCheckCustomConfig": {
+ "FailureThreshold": 2
+ },
+ "Name": "greeting",
+ "NamespaceId": {
+ "Fn::GetAtt": [
+ "productionenvironmentclusterDefaultServiceDiscoveryNamespaceBE74D64D",
+ "Id"
+ ]
+ }
+ }
+ },
+ "greetingserviceSecurityGroupE9BE665B": {
+ "Type": "AWS::EC2::SecurityGroup",
+ "Properties": {
+ "GroupDescription": "aws-ecs-integ/greeting-service/SecurityGroup",
+ "SecurityGroupEgress": [
+ {
+ "CidrIp": "0.0.0.0/0",
+ "Description": "Allow all outbound traffic by default",
+ "IpProtocol": "-1"
+ }
+ ],
+ "VpcId": {
+ "Ref": "productionenvironmentvpcAEB47DF7"
+ }
+ }
+ },
+ "greetingserviceSecurityGroupfromawsecsinteggreeterserviceSecurityGroup055DC23B807B9C4357": {
+ "Type": "AWS::EC2::SecurityGroupIngress",
+ "Properties": {
+ "IpProtocol": "tcp",
+ "Description": "Accept inbound traffic from greeter",
+ "FromPort": 80,
+ "GroupId": {
+ "Fn::GetAtt": [
+ "greetingserviceSecurityGroupE9BE665B",
+ "GroupId"
+ ]
+ },
+ "SourceSecurityGroupId": {
+ "Fn::GetAtt": [
+ "greeterserviceSecurityGroupDB4AC3A9",
+ "GroupId"
+ ]
+ },
+ "ToPort": 80
+ }
+ },
+ "greetingserviceTaskCountTargetA036048C": {
+ "Type": "AWS::ApplicationAutoScaling::ScalableTarget",
+ "Properties": {
+ "MaxCapacity": 8,
+ "MinCapacity": 2,
+ "ResourceId": {
+ "Fn::Join": [
+ "",
+ [
+ "service/",
+ {
+ "Ref": "productionenvironmentclusterC6599D2D"
+ },
+ "/",
+ {
+ "Fn::GetAtt": [
+ "greetingserviceService8DA58640",
+ "Name"
+ ]
+ }
+ ]
+ ]
+ },
+ "RoleARN": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition"
+ },
+ ":iam::",
+ {
+ "Ref": "AWS::AccountId"
+ },
+ ":role/aws-service-role/ecs.application-autoscaling.amazonaws.com/AWSServiceRoleForApplicationAutoScaling_ECSService"
+ ]
+ ]
+ },
+ "ScalableDimension": "ecs:service:DesiredCount",
+ "ServiceNamespace": "ecs"
+ }
+ },
+ "greetingserviceTaskCountTargetgreetingtargetcpuutilization50FEAF6434": {
+ "Type": "AWS::ApplicationAutoScaling::ScalingPolicy",
+ "Properties": {
+ "PolicyName": "awsecsinteggreetingserviceTaskCountTargetgreetingtargetcpuutilization504C76B1F4",
+ "PolicyType": "TargetTrackingScaling",
+ "ScalingTargetId": {
+ "Ref": "greetingserviceTaskCountTargetA036048C"
+ },
+ "TargetTrackingScalingPolicyConfiguration": {
+ "PredefinedMetricSpecification": {
+ "PredefinedMetricType": "ECSServiceAverageCPUUtilization"
+ },
+ "ScaleInCooldown": 60,
+ "ScaleOutCooldown": 60,
+ "TargetValue": 50
+ }
+ }
+ },
+ "greetingvirtualnodeC4A2C517": {
+ "Type": "AWS::AppMesh::VirtualNode",
+ "Properties": {
+ "MeshName": {
+ "Fn::GetAtt": [
+ "mymeshEA67EDEF",
+ "MeshName"
+ ]
+ },
+ "Spec": {
+ "Listeners": [
+ {
+ "PortMapping": {
+ "Port": 80,
+ "Protocol": "http"
+ }
+ }
+ ],
+ "ServiceDiscovery": {
+ "AWSCloudMap": {
+ "NamespaceName": "production",
+ "ServiceName": {
+ "Fn::GetAtt": [
+ "greetingserviceCloudmapService0A2D7385",
+ "Name"
+ ]
+ }
+ }
+ }
+ },
+ "VirtualNodeName": "greeting"
+ }
+ },
+ "greetingvirtualrouter0F898D1A": {
+ "Type": "AWS::AppMesh::VirtualRouter",
+ "Properties": {
+ "MeshName": {
+ "Fn::GetAtt": [
+ "mymeshEA67EDEF",
+ "MeshName"
+ ]
+ },
+ "Spec": {
+ "Listeners": [
+ {
+ "PortMapping": {
+ "Port": 80,
+ "Protocol": "http"
+ }
+ }
+ ]
+ },
+ "VirtualRouterName": "greeting"
+ }
+ },
+ "greetingvirtualroutergreetingroute46305F50": {
+ "Type": "AWS::AppMesh::Route",
+ "Properties": {
+ "MeshName": {
+ "Fn::GetAtt": [
+ "mymeshEA67EDEF",
+ "MeshName"
+ ]
+ },
+ "Spec": {
+ "HttpRoute": {
+ "Action": {
+ "WeightedTargets": [
+ {
+ "VirtualNode": {
+ "Fn::GetAtt": [
+ "greetingvirtualnodeC4A2C517",
+ "VirtualNodeName"
+ ]
+ },
+ "Weight": 1
+ }
+ ]
+ },
+ "Match": {
+ "Prefix": "/"
+ }
+ }
+ },
+ "VirtualRouterName": {
+ "Fn::GetAtt": [
+ "greetingvirtualrouter0F898D1A",
+ "VirtualRouterName"
+ ]
+ },
+ "RouteName": "greeting-route"
+ }
+ },
+ "greetingvirtualservice60AD3AD9": {
+ "Type": "AWS::AppMesh::VirtualService",
+ "Properties": {
+ "MeshName": {
+ "Fn::GetAtt": [
+ "mymeshEA67EDEF",
+ "MeshName"
+ ]
+ },
+ "Spec": {
+ "Provider": {
+ "VirtualRouter": {
+ "VirtualRouterName": {
+ "Fn::GetAtt": [
+ "greetingvirtualrouter0F898D1A",
+ "VirtualRouterName"
+ ]
+ }
+ }
+ }
+ },
+ "VirtualServiceName": "greeting.production"
+ }
+ },
+ "greeterlogsCCD2F8B2": {
+ "Type": "AWS::Logs::LogGroup",
+ "Properties": {
+ "LogGroupName": "greeter-logs",
+ "RetentionInDays": 7
+ },
+ "UpdateReplacePolicy": "Delete",
+ "DeletionPolicy": "Delete"
+ },
+ "greeterloadbalancer85256741": {
+ "Type": "AWS::ElasticLoadBalancingV2::LoadBalancer",
+ "Properties": {
+ "LoadBalancerAttributes": [
+ {
+ "Key": "deletion_protection.enabled",
+ "Value": "false"
+ }
+ ],
+ "Scheme": "internet-facing",
+ "SecurityGroups": [
+ {
+ "Fn::GetAtt": [
+ "greeterloadbalancerSecurityGroupEE1B20F3",
+ "GroupId"
+ ]
+ }
+ ],
+ "Subnets": [
+ {
+ "Ref": "productionenvironmentvpcPublicSubnet1Subnet8D92C089"
+ },
+ {
+ "Ref": "productionenvironmentvpcPublicSubnet2Subnet298E6C31"
+ }
+ ],
+ "Type": "application"
+ },
+ "DependsOn": [
+ "productionenvironmentvpcPublicSubnet1DefaultRoute524C894D",
+ "productionenvironmentvpcPublicSubnet2DefaultRoute92CD697D"
+ ]
+ },
+ "greeterloadbalancerSecurityGroupEE1B20F3": {
+ "Type": "AWS::EC2::SecurityGroup",
+ "Properties": {
+ "GroupDescription": "Automatically created Security Group for ELB awsecsinteggreeterloadbalancer147D1D5C",
+ "SecurityGroupIngress": [
+ {
+ "CidrIp": "0.0.0.0/0",
+ "Description": "Allow from anyone on port 80",
+ "FromPort": 80,
+ "IpProtocol": "tcp",
+ "ToPort": 80
+ }
+ ],
+ "VpcId": {
+ "Ref": "productionenvironmentvpcAEB47DF7"
+ }
+ }
+ },
+ "greeterloadbalancerSecurityGrouptoawsecsinteggreeterserviceSecurityGroup055DC23B803EEF3320": {
+ "Type": "AWS::EC2::SecurityGroupEgress",
+ "Properties": {
+ "GroupId": {
+ "Fn::GetAtt": [
+ "greeterloadbalancerSecurityGroupEE1B20F3",
+ "GroupId"
+ ]
+ },
+ "IpProtocol": "tcp",
+ "Description": "Load balancer to target",
+ "DestinationSecurityGroupId": {
+ "Fn::GetAtt": [
+ "greeterserviceSecurityGroupDB4AC3A9",
+ "GroupId"
+ ]
+ },
+ "FromPort": 80,
+ "ToPort": 80
+ }
+ },
+ "greeterloadbalancergreeterlistener952E028B": {
+ "Type": "AWS::ElasticLoadBalancingV2::Listener",
+ "Properties": {
+ "DefaultActions": [
+ {
+ "TargetGroupArn": {
+ "Ref": "greeterloadbalancergreeterlistenergreeterGroupFFBFF0C2"
+ },
+ "Type": "forward"
+ }
+ ],
+ "LoadBalancerArn": {
+ "Ref": "greeterloadbalancer85256741"
+ },
+ "Port": 80,
+ "Protocol": "HTTP"
+ }
+ },
+ "greeterloadbalancergreeterlistenergreeterGroupFFBFF0C2": {
+ "Type": "AWS::ElasticLoadBalancingV2::TargetGroup",
+ "Properties": {
+ "Port": 80,
+ "Protocol": "HTTP",
+ "TargetGroupAttributes": [
+ {
+ "Key": "deregistration_delay.timeout_seconds",
+ "Value": "10"
+ },
+ {
+ "Key": "stickiness.enabled",
+ "Value": "false"
+ }
+ ],
+ "TargetType": "ip",
+ "VpcId": {
+ "Ref": "productionenvironmentvpcAEB47DF7"
+ }
+ }
+ },
+ "greetertaskdefinitionTaskRole2A098ACC": {
+ "Type": "AWS::IAM::Role",
+ "Properties": {
+ "AssumeRolePolicyDocument": {
+ "Statement": [
+ {
+ "Action": "sts:AssumeRole",
+ "Effect": "Allow",
+ "Principal": {
+ "Service": "ecs-tasks.amazonaws.com"
+ }
+ }
+ ],
+ "Version": "2012-10-17"
+ },
+ "ManagedPolicyArns": [
+ {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition"
+ },
+ ":iam::aws:policy/AWSXRayDaemonWriteAccess"
+ ]
+ ]
+ }
+ ]
+ }
+ },
+ "greetertaskdefinitionTaskRoleDefaultPolicyD0F53B1C": {
+ "Type": "AWS::IAM::Policy",
+ "Properties": {
+ "PolicyDocument": {
+ "Statement": [
+ {
+ "Action": [
+ "logs:CreateLogGroup",
+ "logs:CreateLogStream",
+ "logs:DescribeLogStreams",
+ "logs:PutLogEvents"
+ ],
+ "Effect": "Allow",
+ "Resource": "*"
+ }
+ ],
+ "Version": "2012-10-17"
+ },
+ "PolicyName": "greetertaskdefinitionTaskRoleDefaultPolicyD0F53B1C",
+ "Roles": [
+ {
+ "Ref": "greetertaskdefinitionTaskRole2A098ACC"
+ }
+ ]
+ }
+ },
+ "greetertaskdefinitionE956EEA2": {
+ "Type": "AWS::ECS::TaskDefinition",
+ "Properties": {
+ "ContainerDefinitions": [
+ {
+ "Cpu": 1024,
+ "DependsOn": [
+ {
+ "Condition": "START",
+ "ContainerName": "firelens"
+ },
+ {
+ "Condition": "HEALTHY",
+ "ContainerName": "envoy"
+ },
+ {
+ "Condition": "START",
+ "ContainerName": "cloudwatch-agent"
+ },
+ {
+ "Condition": "HEALTHY",
+ "ContainerName": "xray"
+ }
+ ],
+ "Environment": [
+ {
+ "Name": "PORT",
+ "Value": "80"
+ },
+ {
+ "Name": "GREETING_URL",
+ "Value": "http://greeting.production"
+ },
+ {
+ "Name": "NAME_URL",
+ "Value": "http://name.production"
+ }
+ ],
+ "Essential": true,
+ "Image": "nathanpeck/greeter",
+ "LogConfiguration": {
+ "LogDriver": "awsfirelens",
+ "Options": {
+ "Name": "cloudwatch",
+ "region": {
+ "Ref": "AWS::Region"
+ },
+ "log_group_name": {
+ "Ref": "greeterlogsCCD2F8B2"
+ },
+ "log_stream_prefix": "greeter/"
+ }
+ },
+ "Memory": 2048,
+ "Name": "app",
+ "PortMappings": [
+ {
+ "ContainerPort": 80,
+ "Protocol": "tcp"
+ }
+ ],
+ "Ulimits": [
+ {
+ "HardLimit": 1024000,
+ "Name": "nofile",
+ "SoftLimit": 1024000
+ }
+ ]
+ },
+ {
+ "Environment": [
+ {
+ "Name": "APPMESH_VIRTUAL_NODE_NAME",
+ "Value": {
+ "Fn::Join": [
+ "",
+ [
+ "mesh/",
+ {
+ "Fn::GetAtt": [
+ "mymeshEA67EDEF",
+ "MeshName"
+ ]
+ },
+ "/virtualNode/greeter"
+ ]
+ ]
+ }
+ },
+ {
+ "Name": "AWS_REGION",
+ "Value": {
+ "Ref": "AWS::Region"
+ }
+ },
+ {
+ "Name": "ENABLE_ENVOY_STATS_TAGS",
+ "Value": "1"
+ },
+ {
+ "Name": "ENABLE_ENVOY_DOG_STATSD",
+ "Value": "1"
+ }
+ ],
+ "Essential": true,
+ "HealthCheck": {
+ "Command": [
+ "CMD-SHELL",
+ "curl -s http://localhost:9901/server_info | grep state | grep -q LIVE"
+ ],
+ "Interval": 5,
+ "Retries": 3,
+ "StartPeriod": 10,
+ "Timeout": 2
+ },
+ "Image": {
+ "Fn::Join": [
+ "",
+ [
+ {
+ "Fn::FindInMap": [
+ "greeterenvoyimageaccountmapping",
+ {
+ "Ref": "AWS::Region"
+ },
+ "ecrRepo"
+ ]
+ },
+ ".dkr.ecr.",
+ {
+ "Ref": "AWS::Region"
+ },
+ ".",
+ {
+ "Ref": "AWS::URLSuffix"
+ },
+ "/aws-appmesh-envoy:v1.15.1.0-prod"
+ ]
+ ]
+ },
+ "LogConfiguration": {
+ "LogDriver": "awslogs",
+ "Options": {
+ "awslogs-group": {
+ "Ref": "greetertaskdefinitionenvoyLogGroup6E10B93E"
+ },
+ "awslogs-stream-prefix": "envoy",
+ "awslogs-region": {
+ "Ref": "AWS::Region"
+ }
+ }
+ },
+ "MemoryReservation": 128,
+ "Name": "envoy",
+ "Ulimits": [
+ {
+ "HardLimit": 1024000,
+ "Name": "nofile",
+ "SoftLimit": 1024000
+ }
+ ],
+ "User": "1337"
+ },
+ {
+ "DependsOn": [
+ {
+ "Condition": "HEALTHY",
+ "ContainerName": "envoy"
+ }
+ ],
+ "Essential": true,
+ "FirelensConfiguration": {
+ "Type": "fluentbit"
+ },
+ "Image": {
+ "Ref": "SsmParameterValueawsserviceawsforfluentbitlatestC96584B6F00A464EAD1953AFF4B05118Parameter"
+ },
+ "LogConfiguration": {
+ "LogDriver": "awslogs",
+ "Options": {
+ "awslogs-group": {
+ "Ref": "greetertaskdefinitionfirelensLogGroupD5BAAC35"
+ },
+ "awslogs-stream-prefix": "firelens",
+ "awslogs-region": {
+ "Ref": "AWS::Region"
+ }
+ }
+ },
+ "MemoryReservation": 50,
+ "Name": "firelens",
+ "User": "0:1338"
+ },
+ {
+ "DependsOn": [
+ {
+ "Condition": "HEALTHY",
+ "ContainerName": "envoy"
+ }
+ ],
+ "Environment": [
+ {
+ "Name": "AWS_REGION",
+ "Value": {
+ "Ref": "AWS::Region"
+ }
+ }
+ ],
+ "Essential": true,
+ "HealthCheck": {
+ "Command": [
+ "CMD-SHELL",
+ "curl -s http://localhost:2000"
+ ],
+ "Interval": 5,
+ "Retries": 3,
+ "StartPeriod": 10,
+ "Timeout": 2
+ },
+ "Image": "amazon/aws-xray-daemon:latest",
+ "LogConfiguration": {
+ "LogDriver": "awslogs",
+ "Options": {
+ "awslogs-group": {
+ "Ref": "greetertaskdefinitionxrayLogGroupBC1558B6"
+ },
+ "awslogs-stream-prefix": "xray",
+ "awslogs-region": {
+ "Ref": "AWS::Region"
+ }
+ }
+ },
+ "MemoryReservation": 256,
+ "Name": "xray",
+ "User": "1337"
+ },
+ {
+ "DependsOn": [
+ {
+ "Condition": "HEALTHY",
+ "ContainerName": "envoy"
+ }
+ ],
+ "Environment": [
+ {
+ "Name": "CW_CONFIG_CONTENT",
+ "Value": "{\"logs\":{\"metrics_collected\":{\"emf\":{}}},\"metrics\":{\"metrics_collected\":{\"statsd\":{}}}}"
+ }
+ ],
+ "Essential": true,
+ "Image": "amazon/cloudwatch-agent:latest",
+ "LogConfiguration": {
+ "LogDriver": "awslogs",
+ "Options": {
+ "awslogs-group": {
+ "Ref": "greetertaskdefinitioncloudwatchagentLogGroupE7EAF327"
+ },
+ "awslogs-stream-prefix": "cloudwatch-agent",
+ "awslogs-region": {
+ "Ref": "AWS::Region"
+ }
+ }
+ },
+ "MemoryReservation": 50,
+ "Name": "cloudwatch-agent",
+ "User": "0:1338"
+ }
+ ],
+ "Cpu": "1024",
+ "ExecutionRoleArn": {
+ "Fn::GetAtt": [
+ "greetertaskdefinitionExecutionRoleAED0EC79",
+ "Arn"
+ ]
+ },
+ "Family": "awsecsinteggreetertaskdefinitionB95239FB",
+ "Memory": "2048",
+ "NetworkMode": "awsvpc",
+ "ProxyConfiguration": {
+ "ContainerName": "envoy",
+ "ProxyConfigurationProperties": [
+ {
+ "Name": "AppPorts",
+ "Value": "80"
+ },
+ {
+ "Name": "ProxyEgressPort",
+ "Value": "15001"
+ },
+ {
+ "Name": "ProxyIngressPort",
+ "Value": "15000"
+ },
+ {
+ "Name": "IgnoredUID",
+ "Value": "1337"
+ },
+ {
+ "Name": "IgnoredGID",
+ "Value": "1338"
+ },
+ {
+ "Name": "EgressIgnoredIPs",
+ "Value": "169.254.170.2,169.254.169.254"
+ }
+ ],
+ "Type": "APPMESH"
+ },
+ "RequiresCompatibilities": [
+ "EC2",
+ "FARGATE"
+ ],
+ "TaskRoleArn": {
+ "Fn::GetAtt": [
+ "greetertaskdefinitionTaskRole2A098ACC",
+ "Arn"
+ ]
+ }
+ }
+ },
+ "greetertaskdefinitionenvoyLogGroup6E10B93E": {
+ "Type": "AWS::Logs::LogGroup",
+ "UpdateReplacePolicy": "Retain",
+ "DeletionPolicy": "Retain"
+ },
+ "greetertaskdefinitionExecutionRoleAED0EC79": {
+ "Type": "AWS::IAM::Role",
+ "Properties": {
+ "AssumeRolePolicyDocument": {
+ "Statement": [
+ {
+ "Action": "sts:AssumeRole",
+ "Effect": "Allow",
+ "Principal": {
+ "Service": "ecs-tasks.amazonaws.com"
+ }
+ }
+ ],
+ "Version": "2012-10-17"
+ }
+ }
+ },
+ "greetertaskdefinitionExecutionRoleDefaultPolicy0D8E9106": {
+ "Type": "AWS::IAM::Policy",
+ "Properties": {
+ "PolicyDocument": {
+ "Statement": [
+ {
+ "Action": [
+ "ecr:BatchCheckLayerAvailability",
+ "ecr:GetDownloadUrlForLayer",
+ "ecr:BatchGetImage"
+ ],
+ "Effect": "Allow",
+ "Resource": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition"
+ },
+ ":ecr:",
+ {
+ "Ref": "AWS::Region"
+ },
+ ":",
+ {
+ "Fn::FindInMap": [
+ "greeterenvoyimageaccountmapping",
+ {
+ "Ref": "AWS::Region"
+ },
+ "ecrRepo"
+ ]
+ },
+ ":repository/aws-appmesh-envoy"
+ ]
+ ]
+ }
+ },
+ {
+ "Action": "ecr:GetAuthorizationToken",
+ "Effect": "Allow",
+ "Resource": "*"
+ },
+ {
+ "Action": [
+ "logs:CreateLogStream",
+ "logs:PutLogEvents"
+ ],
+ "Effect": "Allow",
+ "Resource": {
+ "Fn::GetAtt": [
+ "greetertaskdefinitionenvoyLogGroup6E10B93E",
+ "Arn"
+ ]
+ }
+ },
+ {
+ "Action": [
+ "ecr:GetAuthorizationToken",
+ "ecr:BatchCheckLayerAvailability",
+ "ecr:GetDownloadUrlForLayer",
+ "ecr:BatchGetImage"
+ ],
+ "Effect": "Allow",
+ "Resource": "*"
+ },
+ {
+ "Action": [
+ "logs:CreateLogStream",
+ "logs:PutLogEvents"
+ ],
+ "Effect": "Allow",
+ "Resource": {
+ "Fn::GetAtt": [
+ "greetertaskdefinitionfirelensLogGroupD5BAAC35",
+ "Arn"
+ ]
+ }
+ },
+ {
+ "Action": [
+ "logs:CreateLogStream",
+ "logs:PutLogEvents"
+ ],
+ "Effect": "Allow",
+ "Resource": {
+ "Fn::GetAtt": [
+ "greetertaskdefinitionxrayLogGroupBC1558B6",
+ "Arn"
+ ]
+ }
+ },
+ {
+ "Action": [
+ "logs:CreateLogStream",
+ "logs:PutLogEvents"
+ ],
+ "Effect": "Allow",
+ "Resource": {
+ "Fn::GetAtt": [
+ "greetertaskdefinitioncloudwatchagentLogGroupE7EAF327",
+ "Arn"
+ ]
+ }
+ }
+ ],
+ "Version": "2012-10-17"
+ },
+ "PolicyName": "greetertaskdefinitionExecutionRoleDefaultPolicy0D8E9106",
+ "Roles": [
+ {
+ "Ref": "greetertaskdefinitionExecutionRoleAED0EC79"
+ }
+ ]
+ }
+ },
+ "greetertaskdefinitionfirelensLogGroupD5BAAC35": {
+ "Type": "AWS::Logs::LogGroup",
+ "UpdateReplacePolicy": "Retain",
+ "DeletionPolicy": "Retain"
+ },
+ "greetertaskdefinitionxrayLogGroupBC1558B6": {
+ "Type": "AWS::Logs::LogGroup",
+ "UpdateReplacePolicy": "Retain",
+ "DeletionPolicy": "Retain"
+ },
+ "greetertaskdefinitioncloudwatchagentLogGroupE7EAF327": {
+ "Type": "AWS::Logs::LogGroup",
+ "UpdateReplacePolicy": "Retain",
+ "DeletionPolicy": "Retain"
+ },
+ "greeterenvoytoappmesh1A94938B": {
+ "Type": "AWS::IAM::Policy",
+ "Properties": {
+ "PolicyDocument": {
+ "Statement": [
+ {
+ "Action": "appmesh:StreamAggregatedResources",
+ "Effect": "Allow",
+ "Resource": {
+ "Ref": "mymeshEA67EDEF"
+ }
+ }
+ ],
+ "Version": "2012-10-17"
+ },
+ "PolicyName": "greeterenvoytoappmesh1A94938B",
+ "Roles": [
+ {
+ "Ref": "greetertaskdefinitionTaskRole2A098ACC"
+ }
+ ]
+ }
+ },
+ "greeterpublishmetrics0CCA359A": {
+ "Type": "AWS::IAM::Policy",
+ "Properties": {
+ "PolicyDocument": {
+ "Statement": [
+ {
+ "Action": "cloudwatch:PutMetricData",
+ "Effect": "Allow",
+ "Resource": "*"
+ }
+ ],
+ "Version": "2012-10-17"
+ },
+ "PolicyName": "greeterpublishmetrics0CCA359A",
+ "Roles": [
+ {
+ "Ref": "greetertaskdefinitionTaskRole2A098ACC"
+ }
+ ]
+ }
+ },
+ "greeterserviceService8EDD3244": {
+ "Type": "AWS::ECS::Service",
+ "Properties": {
+ "Cluster": {
+ "Ref": "productionenvironmentclusterC6599D2D"
+ },
+ "DeploymentConfiguration": {
+ "MaximumPercent": 150,
+ "MinimumHealthyPercent": 100
+ },
+ "DesiredCount": 2,
+ "EnableECSManagedTags": false,
+ "HealthCheckGracePeriodSeconds": 60,
+ "LaunchType": "FARGATE",
+ "LoadBalancers": [
+ {
+ "ContainerName": "app",
+ "ContainerPort": 80,
+ "TargetGroupArn": {
+ "Ref": "greeterloadbalancergreeterlistenergreeterGroupFFBFF0C2"
+ }
+ }
+ ],
+ "NetworkConfiguration": {
+ "AwsvpcConfiguration": {
+ "AssignPublicIp": "DISABLED",
+ "SecurityGroups": [
+ {
+ "Fn::GetAtt": [
+ "greeterserviceSecurityGroupDB4AC3A9",
+ "GroupId"
+ ]
+ }
+ ],
+ "Subnets": [
+ {
+ "Ref": "productionenvironmentvpcPrivateSubnet1Subnet53F632E6"
+ },
+ {
+ "Ref": "productionenvironmentvpcPrivateSubnet2Subnet756FB93C"
+ }
+ ]
+ }
+ },
+ "ServiceRegistries": [
+ {
+ "RegistryArn": {
+ "Fn::GetAtt": [
+ "greeterserviceCloudmapServiceEE292978",
+ "Arn"
+ ]
+ }
+ }
+ ],
+ "TaskDefinition": {
+ "Ref": "greetertaskdefinitionE956EEA2"
+ }
+ },
+ "DependsOn": [
+ "greeterloadbalancergreeterlistenergreeterGroupFFBFF0C2",
+ "greeterloadbalancergreeterlistener952E028B"
+ ]
+ },
+ "greeterserviceCloudmapServiceEE292978": {
+ "Type": "AWS::ServiceDiscovery::Service",
+ "Properties": {
+ "DnsConfig": {
+ "DnsRecords": [
+ {
+ "TTL": 10,
+ "Type": "A"
+ }
+ ],
+ "NamespaceId": {
+ "Fn::GetAtt": [
+ "productionenvironmentclusterDefaultServiceDiscoveryNamespaceBE74D64D",
+ "Id"
+ ]
+ },
+ "RoutingPolicy": "MULTIVALUE"
+ },
+ "HealthCheckCustomConfig": {
+ "FailureThreshold": 2
+ },
+ "Name": "greeter",
+ "NamespaceId": {
+ "Fn::GetAtt": [
+ "productionenvironmentclusterDefaultServiceDiscoveryNamespaceBE74D64D",
+ "Id"
+ ]
+ }
+ }
+ },
+ "greeterserviceSecurityGroupDB4AC3A9": {
+ "Type": "AWS::EC2::SecurityGroup",
+ "Properties": {
+ "GroupDescription": "aws-ecs-integ/greeter-service/SecurityGroup",
+ "SecurityGroupEgress": [
+ {
+ "CidrIp": "0.0.0.0/0",
+ "Description": "Allow all outbound traffic by default",
+ "IpProtocol": "-1"
+ }
+ ],
+ "VpcId": {
+ "Ref": "productionenvironmentvpcAEB47DF7"
+ }
+ }
+ },
+ "greeterserviceSecurityGroupfromawsecsinteggreeterloadbalancerSecurityGroupF791FA838037FDF8F5": {
+ "Type": "AWS::EC2::SecurityGroupIngress",
+ "Properties": {
+ "IpProtocol": "tcp",
+ "Description": "Load balancer to target",
+ "FromPort": 80,
+ "GroupId": {
+ "Fn::GetAtt": [
+ "greeterserviceSecurityGroupDB4AC3A9",
+ "GroupId"
+ ]
+ },
+ "SourceSecurityGroupId": {
+ "Fn::GetAtt": [
+ "greeterloadbalancerSecurityGroupEE1B20F3",
+ "GroupId"
+ ]
+ },
+ "ToPort": 80
+ }
+ },
+ "greeterserviceTaskCountTargetAB95B3D0": {
+ "Type": "AWS::ApplicationAutoScaling::ScalableTarget",
+ "Properties": {
+ "MaxCapacity": 8,
+ "MinCapacity": 2,
+ "ResourceId": {
+ "Fn::Join": [
+ "",
+ [
+ "service/",
+ {
+ "Ref": "productionenvironmentclusterC6599D2D"
+ },
+ "/",
+ {
+ "Fn::GetAtt": [
+ "greeterserviceService8EDD3244",
+ "Name"
+ ]
+ }
+ ]
+ ]
+ },
+ "RoleARN": {
+ "Fn::Join": [
+ "",
+ [
+ "arn:",
+ {
+ "Ref": "AWS::Partition"
+ },
+ ":iam::",
+ {
+ "Ref": "AWS::AccountId"
+ },
+ ":role/aws-service-role/ecs.application-autoscaling.amazonaws.com/AWSServiceRoleForApplicationAutoScaling_ECSService"
+ ]
+ ]
+ },
+ "ScalableDimension": "ecs:service:DesiredCount",
+ "ServiceNamespace": "ecs"
+ }
+ },
+ "greeterserviceTaskCountTargetgreetertargetcpuutilization50299508D1": {
+ "Type": "AWS::ApplicationAutoScaling::ScalingPolicy",
+ "Properties": {
+ "PolicyName": "awsecsinteggreeterserviceTaskCountTargetgreetertargetcpuutilization50A75D0C0D",
+ "PolicyType": "TargetTrackingScaling",
+ "ScalingTargetId": {
+ "Ref": "greeterserviceTaskCountTargetAB95B3D0"
+ },
+ "TargetTrackingScalingPolicyConfiguration": {
+ "PredefinedMetricSpecification": {
+ "PredefinedMetricType": "ECSServiceAverageCPUUtilization"
+ },
+ "ScaleInCooldown": 60,
+ "ScaleOutCooldown": 60,
+ "TargetValue": 50
+ }
+ }
+ },
+ "greetervirtualnode21EA7CC9": {
+ "Type": "AWS::AppMesh::VirtualNode",
+ "Properties": {
+ "MeshName": {
+ "Fn::GetAtt": [
+ "mymeshEA67EDEF",
+ "MeshName"
+ ]
+ },
+ "Spec": {
+ "Backends": [
+ {
+ "VirtualService": {
+ "VirtualServiceName": "name.production"
+ }
+ },
+ {
+ "VirtualService": {
+ "VirtualServiceName": "greeting.production"
+ }
+ }
+ ],
+ "Listeners": [
+ {
+ "PortMapping": {
+ "Port": 80,
+ "Protocol": "http"
+ }
+ }
+ ],
+ "ServiceDiscovery": {
+ "AWSCloudMap": {
+ "NamespaceName": "production",
+ "ServiceName": {
+ "Fn::GetAtt": [
+ "greeterserviceCloudmapServiceEE292978",
+ "Name"
+ ]
+ }
+ }
+ }
+ },
+ "VirtualNodeName": "greeter"
+ }
+ },
+ "greetervirtualrouter193840BB": {
+ "Type": "AWS::AppMesh::VirtualRouter",
+ "Properties": {
+ "MeshName": {
+ "Fn::GetAtt": [
+ "mymeshEA67EDEF",
+ "MeshName"
+ ]
+ },
+ "Spec": {
+ "Listeners": [
+ {
+ "PortMapping": {
+ "Port": 80,
+ "Protocol": "http"
+ }
+ }
+ ]
+ },
+ "VirtualRouterName": "greeter"
+ }
+ },
+ "greetervirtualroutergreeterroute3EC6ACB0": {
+ "Type": "AWS::AppMesh::Route",
+ "Properties": {
+ "MeshName": {
+ "Fn::GetAtt": [
+ "mymeshEA67EDEF",
+ "MeshName"
+ ]
+ },
+ "Spec": {
+ "HttpRoute": {
+ "Action": {
+ "WeightedTargets": [
+ {
+ "VirtualNode": {
+ "Fn::GetAtt": [
+ "greetervirtualnode21EA7CC9",
+ "VirtualNodeName"
+ ]
+ },
+ "Weight": 1
+ }
+ ]
+ },
+ "Match": {
+ "Prefix": "/"
+ }
+ }
+ },
+ "VirtualRouterName": {
+ "Fn::GetAtt": [
+ "greetervirtualrouter193840BB",
+ "VirtualRouterName"
+ ]
+ },
+ "RouteName": "greeter-route"
+ }
+ },
+ "greetervirtualservice6559950C": {
+ "Type": "AWS::AppMesh::VirtualService",
+ "Properties": {
+ "MeshName": {
+ "Fn::GetAtt": [
+ "mymeshEA67EDEF",
+ "MeshName"
+ ]
+ },
+ "Spec": {
+ "Provider": {
+ "VirtualRouter": {
+ "VirtualRouterName": {
+ "Fn::GetAtt": [
+ "greetervirtualrouter193840BB",
+ "VirtualRouterName"
+ ]
+ }
+ }
+ }
+ },
+ "VirtualServiceName": "greeter.production"
+ }
+ }
+ },
+ "Mappings": {
+ "nameenvoyimageaccountmapping": {
+ "ap-northeast-1": {
+ "ecrRepo": "840364872350"
+ },
+ "ap-northeast-2": {
+ "ecrRepo": "840364872350"
+ },
+ "ap-south-1": {
+ "ecrRepo": "840364872350"
+ },
+ "ap-southeast-1": {
+ "ecrRepo": "840364872350"
+ },
+ "ap-southeast-2": {
+ "ecrRepo": "840364872350"
+ },
+ "ca-central-1": {
+ "ecrRepo": "840364872350"
+ },
+ "cn-north-1": {
+ "ecrRepo": "919366029133"
+ },
+ "cn-northwest-1": {
+ "ecrRepo": "919830735681"
+ },
+ "eu-central-1": {
+ "ecrRepo": "840364872350"
+ },
+ "eu-north-1": {
+ "ecrRepo": "840364872350"
+ },
+ "eu-south-1": {
+ "ecrRepo": "422531588944"
+ },
+ "eu-west-1": {
+ "ecrRepo": "840364872350"
+ },
+ "eu-west-2": {
+ "ecrRepo": "840364872350"
+ },
+ "eu-west-3": {
+ "ecrRepo": "840364872350"
+ },
+ "sa-east-1": {
+ "ecrRepo": "840364872350"
+ },
+ "us-east-1": {
+ "ecrRepo": "840364872350"
+ },
+ "us-east-2": {
+ "ecrRepo": "840364872350"
+ },
+ "us-west-1": {
+ "ecrRepo": "840364872350"
+ },
+ "us-west-2": {
+ "ecrRepo": "840364872350"
+ },
+ "me-south-1": {
+ "ecrRepo": "772975370895"
+ },
+ "ap-east-1": {
+ "ecrRepo": "856666278305"
+ },
+ "af-south-1": {
+ "ecrRepo": "924023996002"
+ }
+ },
+ "greetingenvoyimageaccountmapping": {
+ "ap-northeast-1": {
+ "ecrRepo": "840364872350"
+ },
+ "ap-northeast-2": {
+ "ecrRepo": "840364872350"
+ },
+ "ap-south-1": {
+ "ecrRepo": "840364872350"
+ },
+ "ap-southeast-1": {
+ "ecrRepo": "840364872350"
+ },
+ "ap-southeast-2": {
+ "ecrRepo": "840364872350"
+ },
+ "ca-central-1": {
+ "ecrRepo": "840364872350"
+ },
+ "cn-north-1": {
+ "ecrRepo": "919366029133"
+ },
+ "cn-northwest-1": {
+ "ecrRepo": "919830735681"
+ },
+ "eu-central-1": {
+ "ecrRepo": "840364872350"
+ },
+ "eu-north-1": {
+ "ecrRepo": "840364872350"
+ },
+ "eu-south-1": {
+ "ecrRepo": "422531588944"
+ },
+ "eu-west-1": {
+ "ecrRepo": "840364872350"
+ },
+ "eu-west-2": {
+ "ecrRepo": "840364872350"
+ },
+ "eu-west-3": {
+ "ecrRepo": "840364872350"
+ },
+ "sa-east-1": {
+ "ecrRepo": "840364872350"
+ },
+ "us-east-1": {
+ "ecrRepo": "840364872350"
+ },
+ "us-east-2": {
+ "ecrRepo": "840364872350"
+ },
+ "us-west-1": {
+ "ecrRepo": "840364872350"
+ },
+ "us-west-2": {
+ "ecrRepo": "840364872350"
+ },
+ "me-south-1": {
+ "ecrRepo": "772975370895"
+ },
+ "ap-east-1": {
+ "ecrRepo": "856666278305"
+ },
+ "af-south-1": {
+ "ecrRepo": "924023996002"
+ }
+ },
+ "greeterenvoyimageaccountmapping": {
+ "ap-northeast-1": {
+ "ecrRepo": "840364872350"
+ },
+ "ap-northeast-2": {
+ "ecrRepo": "840364872350"
+ },
+ "ap-south-1": {
+ "ecrRepo": "840364872350"
+ },
+ "ap-southeast-1": {
+ "ecrRepo": "840364872350"
+ },
+ "ap-southeast-2": {
+ "ecrRepo": "840364872350"
+ },
+ "ca-central-1": {
+ "ecrRepo": "840364872350"
+ },
+ "cn-north-1": {
+ "ecrRepo": "919366029133"
+ },
+ "cn-northwest-1": {
+ "ecrRepo": "919830735681"
+ },
+ "eu-central-1": {
+ "ecrRepo": "840364872350"
+ },
+ "eu-north-1": {
+ "ecrRepo": "840364872350"
+ },
+ "eu-south-1": {
+ "ecrRepo": "422531588944"
+ },
+ "eu-west-1": {
+ "ecrRepo": "840364872350"
+ },
+ "eu-west-2": {
+ "ecrRepo": "840364872350"
+ },
+ "eu-west-3": {
+ "ecrRepo": "840364872350"
+ },
+ "sa-east-1": {
+ "ecrRepo": "840364872350"
+ },
+ "us-east-1": {
+ "ecrRepo": "840364872350"
+ },
+ "us-east-2": {
+ "ecrRepo": "840364872350"
+ },
+ "us-west-1": {
+ "ecrRepo": "840364872350"
+ },
+ "us-west-2": {
+ "ecrRepo": "840364872350"
+ },
+ "me-south-1": {
+ "ecrRepo": "772975370895"
+ },
+ "ap-east-1": {
+ "ecrRepo": "856666278305"
+ },
+ "af-south-1": {
+ "ecrRepo": "924023996002"
+ }
+ }
+ },
+ "Parameters": {
+ "SsmParameterValueawsserviceawsforfluentbitlatestC96584B6F00A464EAD1953AFF4B05118Parameter": {
+ "Type": "AWS::SSM::Parameter::Value Allows the remote domain owner to accept an inbound cross-cluster connection request. Attaches tags to an existing domain. Tags are a set of case-sensitive key value pairs. An domain can have up to 10 tags. See Tagging Amazon OpenSearch Service domains for more information. Associates a package with an Amazon OpenSearch Service domain. Cancels a scheduled service software update for an Amazon OpenSearch Service domain. You can only perform this operation before the Creates a new Amazon OpenSearch Service domain. For more information, see Creating and managing Amazon OpenSearch Service domains in the Amazon OpenSearch Service Developer Guide. Creates a new cross-cluster connection from a local OpenSearch domain to a remote OpenSearch domain. Create a package for use with Amazon OpenSearch Service domains. Permanently deletes the specified domain and all of its data. Once a domain is deleted, it cannot be recovered. Allows the remote domain owner to delete an existing inbound cross-cluster connection. Allows the local domain owner to delete an existing outbound cross-cluster connection. Deletes the package. Returns domain configuration information about the specified domain, including the domain ID, domain endpoint, and domain ARN. Provides scheduled Auto-Tune action details for the domain, such as Auto-Tune action type, description, severity, and scheduled date. Provides cluster configuration information about the specified domain, such as the state, creation date, update version, and update date for cluster options. Returns domain configuration information about the specified domains, including the domain ID, domain endpoint, and domain ARN. Lists all the inbound cross-cluster connections for a remote domain. Describe the limits for a given instance type and OpenSearch or Elasticsearch version. When modifying an existing domain, specify the Lists all the outbound cross-cluster connections for a local domain. Describes all packages available to Amazon OpenSearch Service domains. Includes options for filtering, limiting the number of results, and pagination. Lists available reserved OpenSearch instance offerings. Returns information about reserved OpenSearch instances for this account. Dissociates a package from the Amazon OpenSearch Service domain. Returns a list of upgrade-compatible versions of OpenSearch/Elasticsearch. You can optionally pass a Returns a list of package versions, along with their creation time and commit message. Retrieves the complete history of the last 10 upgrades performed on the domain. Retrieves the latest status of the last upgrade or upgrade eligibility check performed on the domain. Returns the names of all domains owned by the current user's account. Lists all Amazon OpenSearch Service domains associated with the package. Lists all packages associated with the Amazon OpenSearch Service domain. Returns all tags for the given domain. List all supported versions of OpenSearch and Elasticsearch. Allows you to purchase reserved OpenSearch instances. Allows the remote domain owner to reject an inbound cross-cluster connection request. Removes the specified set of tags from the given domain. Schedules a service software update for an Amazon OpenSearch Service domain. Modifies the cluster configuration of the specified domain, such as setting the instance type and the number of instances. Updates a package for use with Amazon OpenSearch Service domains. Allows you to either upgrade your domain or perform an upgrade eligibility check to a compatible version of OpenSearch or Elasticsearch. The Amazon Resource Name (ARN) of the domain. See Identifiers for IAM Entities in Using AWS Identity and Access Management for more information. The ID of the inbound connection you want to accept. Container for the parameters to the The The result of an The access policy configured for the domain. Access policies can be resource-based, IP-based, or IAM-based. See Configuring access policiesfor more information. The status of the access policy for the domain. See The configured access rules for the domain's document and search endpoints, and the current status of those rules. Specify the List of Container for the parameters to the Additional limit is specific to a given InstanceType and for each of its AutomatedUpdateDate
and when the UpdateStatus
is in the PENDING_UPDATE
state. DomainName
to see which limits you can modify. DomainName
to get all upgrade-compatible versions of OpenSearch/Elasticsearch for that specific domain. AcceptInboundConnection
operation. InboundConnection
of the accepted inbound connection. AcceptInboundConnection
operation. Contains details about the accepted inbound connection. OptionStatus
for the status information that's included. ARN
of the domain you want to add tags to. Tag
to add to the domain. AddTags
operation. Specifies the tags to attach to the domain. InstanceRole
etc.
Attributes and their details:
ESPartitionInstanceType
can support as master node. ESPartitionInstanceType
up to which you don't need any master nodes to govern them.
Value for a given AdditionalLimit$LimitName
.
List of limits that are specific to a given InstanceType and for each of its InstanceRole
.
Exposes select native OpenSearch configuration values from opensearch.yml
. Currently, the following advanced options are available:
false
when configuring access to individual sub-resources. By default, the value is true
. See Advanced cluster parameters for more information. For more information, see Advanced cluster parameters.
" + }, + "AdvancedOptionsStatus":{ + "type":"structure", + "required":[ + "Options", + "Status" + ], + "members":{ + "Options":{ + "shape":"AdvancedOptions", + "documentation":"The status of advanced options for the specified domain.
" + }, + "Status":{ + "shape":"OptionStatus", + "documentation":"The OptionStatus
for advanced options for the specified domain.
Status of the advanced options for the specified domain. Currently, the following advanced options are available:
false
when configuring access to individual sub-resources. By default, the value is true
. See Advanced cluster parameters for more information. For more information, see Advanced cluster parameters.
" + }, + "AdvancedSecurityOptions":{ + "type":"structure", + "members":{ + "Enabled":{ + "shape":"Boolean", + "documentation":"True if advanced security is enabled.
" + }, + "InternalUserDatabaseEnabled":{ + "shape":"Boolean", + "documentation":"True if the internal user database is enabled.
" + }, + "SAMLOptions":{ + "shape":"SAMLOptionsOutput", + "documentation":"Describes the SAML application configured for a domain.
" + } + }, + "documentation":"The advanced security configuration: whether advanced security is enabled, whether the internal database option is enabled.
" + }, + "AdvancedSecurityOptionsInput":{ + "type":"structure", + "members":{ + "Enabled":{ + "shape":"Boolean", + "documentation":"True if advanced security is enabled.
" + }, + "InternalUserDatabaseEnabled":{ + "shape":"Boolean", + "documentation":"True if the internal user database is enabled.
" + }, + "MasterUserOptions":{ + "shape":"MasterUserOptions", + "documentation":"Credentials for the master user: username and password, ARN, or both.
" + }, + "SAMLOptions":{ + "shape":"SAMLOptionsInput", + "documentation":"The SAML application configuration for the domain.
" + } + }, + "documentation":"The advanced security configuration: whether advanced security is enabled, whether the internal database option is enabled, master username and password (if internal database is enabled), and master user ARN (if IAM is enabled).
" + }, + "AdvancedSecurityOptionsStatus":{ + "type":"structure", + "required":[ + "Options", + "Status" + ], + "members":{ + "Options":{ + "shape":"AdvancedSecurityOptions", + "documentation":"Advanced security options for the specified domain.
" + }, + "Status":{ + "shape":"OptionStatus", + "documentation":"Status of the advanced security options for the specified domain.
" + } + }, + "documentation":"The status of advanced security options for the specified domain.
" + }, + "AssociatePackageRequest":{ + "type":"structure", + "required":[ + "PackageID", + "DomainName" + ], + "members":{ + "PackageID":{ + "shape":"PackageID", + "documentation":"Internal ID of the package to associate with a domain. Use DescribePackages
to find this value.
The name of the domain to associate the package with.
", + "location":"uri", + "locationName":"DomainName" + } + }, + "documentation":" Container for the request parameters to the AssociatePackage
operation.
DomainPackageDetails
Container for the response returned by AssociatePackage
operation.
Specifies the Auto-Tune type. Valid value is SCHEDULED_ACTION.
" + }, + "AutoTuneDetails":{ + "shape":"AutoTuneDetails", + "documentation":"Specifies details about the Auto-Tune action. See Auto-Tune for Amazon OpenSearch Service for more information.
" + } + }, + "documentation":"Specifies the Auto-Tune type and Auto-Tune action details.
" + }, + "AutoTuneDate":{ + "type":"timestamp", + "documentation":"The timestamp of the Auto-Tune action scheduled for the domain.
" + }, + "AutoTuneDesiredState":{ + "type":"string", + "documentation":"The Auto-Tune desired state. Valid values are ENABLED and DISABLED.
", + "enum":[ + "ENABLED", + "DISABLED" + ] + }, + "AutoTuneDetails":{ + "type":"structure", + "members":{ + "ScheduledAutoTuneDetails":{"shape":"ScheduledAutoTuneDetails"} + }, + "documentation":"Specifies details about the Auto-Tune action. See Auto-Tune for Amazon OpenSearch Service for more information.
" + }, + "AutoTuneList":{ + "type":"list", + "member":{"shape":"AutoTune"} + }, + "AutoTuneMaintenanceSchedule":{ + "type":"structure", + "members":{ + "StartAt":{ + "shape":"StartAt", + "documentation":"The timestamp at which the Auto-Tune maintenance schedule starts.
" + }, + "Duration":{ + "shape":"Duration", + "documentation":"Specifies maintenance schedule duration: duration value and duration unit. See Auto-Tune for Amazon OpenSearch Service for more information.
" + }, + "CronExpressionForRecurrence":{ + "shape":"String", + "documentation":"A cron expression for a recurring maintenance schedule. See Auto-Tune for Amazon OpenSearch Service for more information.
" + } + }, + "documentation":"Specifies the Auto-Tune maintenance schedule. See Auto-Tune for Amazon OpenSearch Service for more information.
" + }, + "AutoTuneMaintenanceScheduleList":{ + "type":"list", + "member":{"shape":"AutoTuneMaintenanceSchedule"}, + "max":100 + }, + "AutoTuneOptions":{ + "type":"structure", + "members":{ + "DesiredState":{ + "shape":"AutoTuneDesiredState", + "documentation":"The Auto-Tune desired state. Valid values are ENABLED and DISABLED.
" + }, + "RollbackOnDisable":{ + "shape":"RollbackOnDisable", + "documentation":"The rollback state while disabling Auto-Tune for the domain. Valid values are NO_ROLLBACK and DEFAULT_ROLLBACK.
" + }, + "MaintenanceSchedules":{ + "shape":"AutoTuneMaintenanceScheduleList", + "documentation":"A list of maintenance schedules. See Auto-Tune for Amazon OpenSearch Service for more information.
" + } + }, + "documentation":"The Auto-Tune options: the Auto-Tune desired state for the domain, rollback state when disabling Auto-Tune options and list of maintenance schedules.
" + }, + "AutoTuneOptionsInput":{ + "type":"structure", + "members":{ + "DesiredState":{ + "shape":"AutoTuneDesiredState", + "documentation":"The Auto-Tune desired state. Valid values are ENABLED and DISABLED.
" + }, + "MaintenanceSchedules":{ + "shape":"AutoTuneMaintenanceScheduleList", + "documentation":"A list of maintenance schedules. See Auto-Tune for Amazon OpenSearch Service for more information.
" + } + }, + "documentation":"The Auto-Tune options: the Auto-Tune desired state for the domain and list of maintenance schedules.
" + }, + "AutoTuneOptionsOutput":{ + "type":"structure", + "members":{ + "State":{ + "shape":"AutoTuneState", + "documentation":"The AutoTuneState
for the domain.
The error message while enabling or disabling Auto-Tune.
" + } + }, + "documentation":"The Auto-Tune options: the Auto-Tune desired state for the domain and list of maintenance schedules.
" + }, + "AutoTuneOptionsStatus":{ + "type":"structure", + "members":{ + "Options":{ + "shape":"AutoTuneOptions", + "documentation":"Specifies Auto-Tune options for the domain.
" + }, + "Status":{ + "shape":"AutoTuneStatus", + "documentation":"The status of the Auto-Tune options for the domain.
" + } + }, + "documentation":"The Auto-Tune status for the domain.
" + }, + "AutoTuneState":{ + "type":"string", + "documentation":"The Auto-Tune state for the domain. For valid states see Auto-Tune for Amazon OpenSearch Service.
", + "enum":[ + "ENABLED", + "DISABLED", + "ENABLE_IN_PROGRESS", + "DISABLE_IN_PROGRESS", + "DISABLED_AND_ROLLBACK_SCHEDULED", + "DISABLED_AND_ROLLBACK_IN_PROGRESS", + "DISABLED_AND_ROLLBACK_COMPLETE", + "DISABLED_AND_ROLLBACK_ERROR", + "ERROR" + ] + }, + "AutoTuneStatus":{ + "type":"structure", + "required":[ + "CreationDate", + "UpdateDate", + "State" + ], + "members":{ + "CreationDate":{ + "shape":"UpdateTimestamp", + "documentation":"The timestamp of the Auto-Tune options creation date.
" + }, + "UpdateDate":{ + "shape":"UpdateTimestamp", + "documentation":"The timestamp of when the Auto-Tune options were last updated.
" + }, + "UpdateVersion":{ + "shape":"UIntValue", + "documentation":"The latest version of the Auto-Tune options.
" + }, + "State":{ + "shape":"AutoTuneState", + "documentation":"The AutoTuneState
for the domain.
The error message while enabling or disabling Auto-Tune.
" + }, + "PendingDeletion":{ + "shape":"Boolean", + "documentation":"Indicates whether the domain is being deleted.
" + } + }, + "documentation":"Provides the current Auto-Tune status for the domain.
" + }, + "AutoTuneType":{ + "type":"string", + "documentation":"Specifies the Auto-Tune type. Valid value is SCHEDULED_ACTION.
", + "enum":["SCHEDULED_ACTION"] + }, + "BackendRole":{ + "type":"string", + "max":256, + "min":1 + }, + "Boolean":{"type":"boolean"}, + "CancelServiceSoftwareUpdateRequest":{ + "type":"structure", + "required":["DomainName"], + "members":{ + "DomainName":{ + "shape":"DomainName", + "documentation":"The name of the domain that you want to stop the latest service software update on.
" + } + }, + "documentation":"Container for the parameters to the CancelServiceSoftwareUpdate
operation. Specifies the name of the domain that you wish to cancel a service software update on.
The current status of the OpenSearch service software update.
" + } + }, + "documentation":"The result of a CancelServiceSoftwareUpdate
operation. Contains the status of the update.
ARN of the Cloudwatch log group to publish logs to.
", + "max":2048, + "min":20, + "pattern":".*" + }, + "ClusterConfig":{ + "type":"structure", + "members":{ + "InstanceType":{ + "shape":"OpenSearchPartitionInstanceType", + "documentation":"The instance type for an OpenSearch cluster. UltraWarm instance types are not supported for data instances.
" + }, + "InstanceCount":{ + "shape":"IntegerClass", + "documentation":"The number of instances in the specified domain cluster.
" + }, + "DedicatedMasterEnabled":{ + "shape":"Boolean", + "documentation":"A boolean value to indicate whether a dedicated master node is enabled. See Dedicated master nodes in Amazon OpenSearch Service for more information.
" + }, + "ZoneAwarenessEnabled":{ + "shape":"Boolean", + "documentation":"A boolean value to indicate whether zone awareness is enabled. See Configuring a multi-AZ domain in Amazon OpenSearch Service for more information.
" + }, + "ZoneAwarenessConfig":{ + "shape":"ZoneAwarenessConfig", + "documentation":"The zone awareness configuration for a domain when zone awareness is enabled.
" + }, + "DedicatedMasterType":{ + "shape":"OpenSearchPartitionInstanceType", + "documentation":"The instance type for a dedicated master node.
" + }, + "DedicatedMasterCount":{ + "shape":"IntegerClass", + "documentation":"Total number of dedicated master nodes, active and on standby, for the cluster.
" + }, + "WarmEnabled":{ + "shape":"Boolean", + "documentation":"True to enable UltraWarm storage.
" + }, + "WarmType":{ + "shape":"OpenSearchWarmPartitionInstanceType", + "documentation":"The instance type for the OpenSearch cluster's warm nodes.
" + }, + "WarmCount":{ + "shape":"IntegerClass", + "documentation":"The number of UltraWarm nodes in the cluster.
" + }, + "ColdStorageOptions":{"shape":"ColdStorageOptions"} + }, + "documentation":"The configuration for the domain cluster, such as the type and number of instances.
" + }, + "ClusterConfigStatus":{ + "type":"structure", + "required":[ + "Options", + "Status" + ], + "members":{ + "Options":{ + "shape":"ClusterConfig", + "documentation":"The cluster configuration for the specified domain.
" + }, + "Status":{ + "shape":"OptionStatus", + "documentation":"The cluster configuration status for the specified domain.
" + } + }, + "documentation":"The configuration status for the specified domain.
" + }, + "CognitoOptions":{ + "type":"structure", + "members":{ + "Enabled":{ + "shape":"Boolean", + "documentation":"The option to enable Cognito for OpenSearch Dashboards authentication.
" + }, + "UserPoolId":{ + "shape":"UserPoolId", + "documentation":"The Cognito user pool ID for OpenSearch Dashboards authentication.
" + }, + "IdentityPoolId":{ + "shape":"IdentityPoolId", + "documentation":"The Cognito identity pool ID for OpenSearch Dashboards authentication.
" + }, + "RoleArn":{ + "shape":"RoleArn", + "documentation":"The role ARN that provides OpenSearch permissions for accessing Cognito resources.
" + } + }, + "documentation":"Options to specify the Cognito user and identity pools for OpenSearch Dashboards authentication. For more information, see Configuring Amazon Cognito authentication for OpenSearch Dashboards.
" + }, + "CognitoOptionsStatus":{ + "type":"structure", + "required":[ + "Options", + "Status" + ], + "members":{ + "Options":{ + "shape":"CognitoOptions", + "documentation":"Cognito options for the specified domain.
" + }, + "Status":{ + "shape":"OptionStatus", + "documentation":"The status of the Cognito options for the specified domain.
" + } + }, + "documentation":"The status of the Cognito options for the specified domain.
" + }, + "ColdStorageOptions":{ + "type":"structure", + "required":["Enabled"], + "members":{ + "Enabled":{"shape":"Boolean"} + } + }, + "CommitMessage":{ + "type":"string", + "max":160 + }, + "CompatibleVersionsList":{ + "type":"list", + "member":{"shape":"CompatibleVersionsMap"} + }, + "CompatibleVersionsMap":{ + "type":"structure", + "members":{ + "SourceVersion":{ + "shape":"VersionString", + "documentation":"The current version of OpenSearch a domain is on.
" + }, + "TargetVersions":{"shape":"VersionList"} + }, + "documentation":" A map from an EngineVersion
to a list of compatible EngineVersion
s to which the domain can be upgraded.
The name of the Amazon OpenSearch Service domain you're creating. Domain names are unique across the domains owned by an account within an AWS region. Domain names must start with a lowercase letter and can contain the following characters: a-z (lowercase), 0-9, and - (hyphen).
" + }, + "EngineVersion":{ + "shape":"VersionString", + "documentation":"String of format Elasticsearch_X.Y or OpenSearch_X.Y to specify the engine version for the Amazon OpenSearch Service domain. For example, \"OpenSearch_1.0\" or \"Elasticsearch_7.9\". For more information, see Creating and managing Amazon OpenSearch Service domains .
" + }, + "ClusterConfig":{ + "shape":"ClusterConfig", + "documentation":"Configuration options for a domain. Specifies the instance type and number of instances in the domain.
" + }, + "EBSOptions":{ + "shape":"EBSOptions", + "documentation":"Options to enable, disable, and specify the type and size of EBS storage volumes.
" + }, + "AccessPolicies":{ + "shape":"PolicyDocument", + "documentation":"IAM access policy as a JSON-formatted string.
" + }, + "SnapshotOptions":{ + "shape":"SnapshotOptions", + "documentation":"Option to set time, in UTC format, of the daily automated snapshot. Default value is 0 hours.
" + }, + "VPCOptions":{ + "shape":"VPCOptions", + "documentation":"Options to specify the subnets and security groups for a VPC endpoint. For more information, see Launching your Amazon OpenSearch Service domains using a VPC .
" + }, + "CognitoOptions":{ + "shape":"CognitoOptions", + "documentation":"Options to specify the Cognito user and identity pools for OpenSearch Dashboards authentication. For more information, see Configuring Amazon Cognito authentication for OpenSearch Dashboards.
" + }, + "EncryptionAtRestOptions":{ + "shape":"EncryptionAtRestOptions", + "documentation":"Options for encryption of data at rest.
" + }, + "NodeToNodeEncryptionOptions":{ + "shape":"NodeToNodeEncryptionOptions", + "documentation":"Node-to-node encryption options.
" + }, + "AdvancedOptions":{ + "shape":"AdvancedOptions", + "documentation":"Option to allow references to indices in an HTTP request body. Must be false
when configuring access to individual sub-resources. By default, the value is true
. See Advanced cluster parameters for more information.
Map of LogType
and LogPublishingOption
, each containing options to publish a given type of OpenSearch log.
Options to specify configurations that will be applied to the domain endpoint.
" + }, + "AdvancedSecurityOptions":{ + "shape":"AdvancedSecurityOptionsInput", + "documentation":"Specifies advanced security options.
" + }, + "TagList":{ + "shape":"TagList", + "documentation":"A list of Tag
added during domain creation.
Specifies Auto-Tune options.
" + } + } + }, + "CreateDomainResponse":{ + "type":"structure", + "members":{ + "DomainStatus":{ + "shape":"DomainStatus", + "documentation":"The status of the newly created domain.
" + } + }, + "documentation":"The result of a CreateDomain
operation. Contains the status of the newly created Amazon OpenSearch Service domain.
The AWSDomainInformation
for the local OpenSearch domain.
The AWSDomainInformation
for the remote OpenSearch domain.
The connection alias used used by the customer for this cross-cluster connection.
" + } + }, + "documentation":"Container for the parameters to the CreateOutboundConnection
operation.
The AWSDomainInformation
for the local OpenSearch domain.
The AWSDomainInformation
for the remote OpenSearch domain.
The connection alias provided during the create connection request.
" + }, + "ConnectionStatus":{ + "shape":"OutboundConnectionStatus", + "documentation":"The OutboundConnectionStatus
for the newly created connection.
The unique ID for the created outbound connection, which is used for subsequent operations on the connection.
" + } + }, + "documentation":"The result of a CreateOutboundConnection
request. Contains the details about the newly created cross-cluster connection.
Unique identifier for the package.
" + }, + "PackageType":{ + "shape":"PackageType", + "documentation":"Type of package. Currently supports only TXT-DICTIONARY.
" + }, + "PackageDescription":{ + "shape":"PackageDescription", + "documentation":"Description of the package.
" + }, + "PackageSource":{ + "shape":"PackageSource", + "documentation":"The Amazon S3 location from which to import the package.
" + } + }, + "documentation":" Container for request parameters to the CreatePackage
operation.
Information about the package.
" + } + }, + "documentation":" Container for the response returned by the CreatePackage
operation.
The name of the domain you want to permanently delete.
", + "location":"uri", + "locationName":"DomainName" + } + }, + "documentation":"Container for the parameters to the DeleteDomain
operation. Specifies the name of the domain you want to delete.
The status of the domain being deleted.
" + } + }, + "documentation":"The result of a DeleteDomain
request. Contains the status of the pending deletion, or a \"domain not found\" error if the domain and all of its resources have been deleted.
The ID of the inbound connection to permanently delete.
", + "location":"uri", + "locationName":"ConnectionId" + } + }, + "documentation":"Container for the parameters to the DeleteInboundConnection
operation.
The InboundConnection
of the deleted inbound connection.
The result of a DeleteInboundConnection
operation. Contains details about the deleted inbound connection.
The ID of the outbound connection you want to permanently delete.
", + "location":"uri", + "locationName":"ConnectionId" + } + }, + "documentation":"Container for the parameters to the DeleteOutboundConnection
operation.
The OutboundConnection
of the deleted outbound connection.
The result of a DeleteOutboundConnection
operation. Contains details about the deleted outbound connection.
The internal ID of the package you want to delete. Use DescribePackages
to find this value.
Container for the request parameters to the DeletePackage
operation.
PackageDetails
Container for the response parameters to the DeletePackage
operation.
The domain name for which you want Auto-Tune action details.
", + "location":"uri", + "locationName":"DomainName" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"Set this value to limit the number of results returned. If not specified, defaults to 100.
" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"NextToken is sent in case the earlier API call results contain the NextToken. Used for pagination.
" + } + }, + "documentation":"Container for the parameters to the DescribeDomainAutoTunes
operation.
The list of setting adjustments that Auto-Tune has made to the domain. See Auto-Tune for Amazon OpenSearch Service for more information.
" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"An identifier to allow retrieval of paginated results.
" + } + }, + "documentation":"The result of a DescribeDomainAutoTunes
request. See Auto-Tune for Amazon OpenSearch Service for more information.
The domain you want to get information about.
", + "location":"uri", + "locationName":"DomainName" + } + }, + "documentation":"Container for the parameters to the DescribeDomainConfig
operation. Specifies the domain name for which you want configuration information.
The configuration information of the domain requested in the DescribeDomainConfig
request.
The result of a DescribeDomainConfig
request. Contains the configuration information of the requested domain.
The name of the domain for which you want information.
", + "location":"uri", + "locationName":"DomainName" + } + }, + "documentation":"Container for the parameters to the DescribeDomain
operation.
The current status of the domain.
" + } + }, + "documentation":"The result of a DescribeDomain
request. Contains the status of the domain specified in the request.
The domains for which you want information.
" + } + }, + "documentation":"Container for the parameters to the DescribeDomains
operation. By default, the API returns the status of all domains.
The status of the domains requested in the DescribeDomains
request.
The result of a DescribeDomains
request. Contains the status of the specified domains or all domains owned by the account.
A list of filters used to match properties for inbound cross-cluster connections. Available Filter
values are:
Set this value to limit the number of results returned. If not specified, defaults to 100.
" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"If more results are available and NextToken is present, make the next request to the same API with the received NextToken to paginate the remaining results.
" + } + }, + "documentation":"Container for the parameters to the DescribeInboundConnections
operation.
A list of InboundConnection
matching the specified filter criteria.
If more results are available and NextToken is present, make the next request to the same API with the received NextToken to paginate the remaining results.
" + } + }, + "documentation":"The result of a DescribeInboundConnections
request. Contains a list of connections matching the filter criteria.
The name of the domain you want to modify. Only include this value if you're querying OpenSearch Limits
for an existing domain.
The instance type for an OpenSearch cluster for which OpenSearch Limits
are needed.
Version of OpenSearch for which Limits
are needed.
Container for the parameters to the DescribeInstanceTypeLimits
operation.
Container for the parameters received from the DescribeInstanceTypeLimits
operation.
A list of filters used to match properties for outbound cross-cluster connections. Available Filter
names for this operation are:
Set this value to limit the number of results returned. If not specified, defaults to 100.
" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"NextToken is sent in case the earlier API call results contain the NextToken parameter. Used for pagination.
" + } + }, + "documentation":"Container for the parameters to the DescribeOutboundConnections
operation.
A list of OutboundConnection
matching the specified filter criteria.
If more results are available and NextToken is present, make the next request to the same API with the received NextToken to paginate the remaining results.
" + } + }, + "documentation":"The result of a DescribeOutboundConnections
request. Contains the list of connections matching the filter criteria.
Any field from PackageDetails
.
A list of values for the specified field.
" + } + }, + "documentation":"A filter to apply to the DescribePackage
response.
A list of DescribePackagesFilter
to filter the packages included in a DescribePackages
response.
Only returns packages that match the DescribePackagesFilterList
values.
Limits results to a maximum number of packages.
" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"Used for pagination. Only necessary if a previous API call includes a non-null NextToken value. If provided, returns results for the next page.
" + } + }, + "documentation":" Container for the request parameters to the DescribePackage
operation.
List of PackageDetails
objects.
Container for the response returned by the DescribePackages
operation.
The offering identifier filter value. Use this parameter to show only the available offering that matches the specified reservation identifier.
", + "location":"querystring", + "locationName":"offeringId" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"Set this value to limit the number of results returned. If not specified, defaults to 100.
", + "location":"querystring", + "locationName":"maxResults" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"Provides an identifier to allow retrieval of paginated results.
", + "location":"querystring", + "locationName":"nextToken" + } + }, + "documentation":"Container for parameters to DescribeReservedInstanceOfferings
Provides an identifier to allow retrieval of paginated results.
" + }, + "ReservedInstanceOfferings":{ + "shape":"ReservedInstanceOfferingList", + "documentation":"List of reserved OpenSearch instance offerings
" + } + }, + "documentation":"Container for results from DescribeReservedInstanceOfferings
The reserved instance identifier filter value. Use this parameter to show only the reservation that matches the specified reserved OpenSearch instance ID.
", + "location":"querystring", + "locationName":"reservationId" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"Set this value to limit the number of results returned. If not specified, defaults to 100.
", + "location":"querystring", + "locationName":"maxResults" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"Provides an identifier to allow retrieval of paginated results.
", + "location":"querystring", + "locationName":"nextToken" + } + }, + "documentation":"Container for parameters to DescribeReservedInstances
Provides an identifier to allow retrieval of paginated results.
" + }, + "ReservedInstances":{ + "shape":"ReservedInstanceList", + "documentation":"List of reserved OpenSearch instances.
" + } + }, + "documentation":"Container for results from DescribeReservedInstances
The internal ID of the package to associate with a domain. Use DescribePackages
to find this value.
The name of the domain to associate the package with.
", + "location":"uri", + "locationName":"DomainName" + } + }, + "documentation":" Container for the request parameters to the DissociatePackage
operation.
DomainPackageDetails
Container for the response returned by DissociatePackage
operation.
String of format Elasticsearch_X.Y or OpenSearch_X.Y to specify the engine version for the OpenSearch or Elasticsearch domain.
" + }, + "ClusterConfig":{ + "shape":"ClusterConfigStatus", + "documentation":"The ClusterConfig
for the domain.
The EBSOptions
for the domain.
IAM access policy as a JSON-formatted string.
" + }, + "SnapshotOptions":{ + "shape":"SnapshotOptionsStatus", + "documentation":"The SnapshotOptions
for the domain.
The VPCOptions
for the specified domain. For more information, see Launching your Amazon OpenSearch Service domains using a VPC.
The CognitoOptions
for the specified domain. For more information, see Configuring Amazon Cognito authentication for OpenSearch Dashboards.
The EncryptionAtRestOptions
for the domain.
The NodeToNodeEncryptionOptions
for the domain.
The AdvancedOptions
for the domain. See Advanced options for more information.
Log publishing options for the given domain.
" + }, + "DomainEndpointOptions":{ + "shape":"DomainEndpointOptionsStatus", + "documentation":"The DomainEndpointOptions
for the domain.
Specifies AdvancedSecurityOptions
for the domain.
Specifies AutoTuneOptions
for the domain.
The configuration of a domain.
" + }, + "DomainEndpointOptions":{ + "type":"structure", + "members":{ + "EnforceHTTPS":{ + "shape":"Boolean", + "documentation":"Whether only HTTPS endpoint should be enabled for the domain.
" + }, + "TLSSecurityPolicy":{ + "shape":"TLSSecurityPolicy", + "documentation":"Specify the TLS security policy to apply to the HTTPS endpoint of the domain.
Can be one of the following values:
Whether to enable a custom endpoint for the domain.
" + }, + "CustomEndpoint":{ + "shape":"DomainNameFqdn", + "documentation":"The fully qualified domain for your custom endpoint.
" + }, + "CustomEndpointCertificateArn":{ + "shape":"ARN", + "documentation":"The ACM certificate ARN for your custom endpoint.
" + } + }, + "documentation":"Options to configure the endpoint for the domain.
" + }, + "DomainEndpointOptionsStatus":{ + "type":"structure", + "required":[ + "Options", + "Status" + ], + "members":{ + "Options":{ + "shape":"DomainEndpointOptions", + "documentation":"Options to configure the endpoint for the domain.
" + }, + "Status":{ + "shape":"OptionStatus", + "documentation":"The status of the endpoint options for the domain. See OptionStatus
for the status information that's included.
The configured endpoint options for the domain and their current status.
" + }, + "DomainId":{ + "type":"string", + "documentation":"Unique identifier for the domain.
", + "max":64, + "min":1 + }, + "DomainInfo":{ + "type":"structure", + "members":{ + "DomainName":{ + "shape":"DomainName", + "documentation":"The DomainName
.
Contains the list of domain information.
" + }, + "DomainInformationContainer":{ + "type":"structure", + "members":{ + "AWSDomainInformation":{"shape":"AWSDomainInformation"} + } + }, + "DomainName":{ + "type":"string", + "documentation":"The name of an domain. Domain names are unique across the domains owned by an account within an AWS region. Domain names start with a letter or number and can contain the following characters: a-z (lowercase), 0-9, and - (hyphen).
", + "max":28, + "min":3, + "pattern":"[a-z][a-z0-9\\-]+" + }, + "DomainNameFqdn":{ + "type":"string", + "max":255, + "min":1, + "pattern":"^(((?!-)[A-Za-z0-9-]{0,62}[A-Za-z0-9])\\.)+((?!-)[A-Za-z0-9-]{1,62}[A-Za-z0-9])$" + }, + "DomainNameList":{ + "type":"list", + "member":{"shape":"DomainName"}, + "documentation":"A list of domain names.
" + }, + "DomainPackageDetails":{ + "type":"structure", + "members":{ + "PackageID":{ + "shape":"PackageID", + "documentation":"The internal ID of the package.
" + }, + "PackageName":{ + "shape":"PackageName", + "documentation":"User-specified name of the package.
" + }, + "PackageType":{ + "shape":"PackageType", + "documentation":"Currently supports only TXT-DICTIONARY.
" + }, + "LastUpdated":{ + "shape":"LastUpdated", + "documentation":"The timestamp of the most recent update to the package association status.
" + }, + "DomainName":{ + "shape":"DomainName", + "documentation":"The name of the domain you've associated a package with.
" + }, + "DomainPackageStatus":{ + "shape":"DomainPackageStatus", + "documentation":"State of the association. Values are ASSOCIATING, ASSOCIATION_FAILED, ACTIVE, DISSOCIATING, and DISSOCIATION_FAILED.
" + }, + "PackageVersion":{"shape":"PackageVersion"}, + "ReferencePath":{ + "shape":"ReferencePath", + "documentation":"The relative path on Amazon OpenSearch Service nodes, which can be used as synonym_path when the package is a synonym file.
" + }, + "ErrorDetails":{ + "shape":"ErrorDetails", + "documentation":"Additional information if the package is in an error state. Null otherwise.
" + } + }, + "documentation":"Information on a package associated with a domain.
" + }, + "DomainPackageDetailsList":{ + "type":"list", + "member":{"shape":"DomainPackageDetails"} + }, + "DomainPackageStatus":{ + "type":"string", + "enum":[ + "ASSOCIATING", + "ASSOCIATION_FAILED", + "ACTIVE", + "DISSOCIATING", + "DISSOCIATION_FAILED" + ] + }, + "DomainStatus":{ + "type":"structure", + "required":[ + "DomainId", + "DomainName", + "ARN", + "ClusterConfig" + ], + "members":{ + "DomainId":{ + "shape":"DomainId", + "documentation":"The unique identifier for the specified domain.
" + }, + "DomainName":{ + "shape":"DomainName", + "documentation":"The name of a domain. Domain names are unique across the domains owned by an account within an AWS region. Domain names start with a letter or number and can contain the following characters: a-z (lowercase), 0-9, and - (hyphen).
" + }, + "ARN":{ + "shape":"ARN", + "documentation":"The Amazon Resource Name (ARN) of a domain. See IAM identifiers in the AWS Identity and Access Management User Guide for more information.
" + }, + "Created":{ + "shape":"Boolean", + "documentation":"The domain creation status. True
if the creation of a domain is complete. False
if domain creation is still in progress.
The domain deletion status. True
if a delete request has been received for the domain but resource cleanup is still in progress. False
if the domain has not been deleted. Once domain deletion is complete, the status of the domain is no longer returned.
The domain endpoint that you use to submit index and search requests.
" + }, + "Endpoints":{ + "shape":"EndpointsMap", + "documentation":"Map containing the domain endpoints used to submit index and search requests. Example key, value
: 'vpc','vpc-endpoint-h2dsd34efgyghrtguk5gt6j2foh4.us-east-1.es.amazonaws.com'
.
The status of the domain configuration. True
if Amazon OpenSearch Service is processing configuration changes. False
if the configuration is active.
The status of a domain version upgrade. True
if Amazon OpenSearch Service is undergoing a version upgrade. False
if the configuration is active.
The type and number of instances in the domain.
" + }, + "EBSOptions":{ + "shape":"EBSOptions", + "documentation":"The EBSOptions
for the specified domain.
IAM access policy as a JSON-formatted string.
" + }, + "SnapshotOptions":{ + "shape":"SnapshotOptions", + "documentation":"The status of the SnapshotOptions
.
The VPCOptions
for the specified domain. For more information, see Launching your Amazon OpenSearch Service domains using a VPC.
The CognitoOptions
for the specified domain. For more information, see Configuring Amazon Cognito authentication for OpenSearch Dashboards.
The status of the EncryptionAtRestOptions
.
The status of the NodeToNodeEncryptionOptions
.
The status of the AdvancedOptions
.
Log publishing options for the given domain.
" + }, + "ServiceSoftwareOptions":{ + "shape":"ServiceSoftwareOptions", + "documentation":"The current status of the domain's service software.
" + }, + "DomainEndpointOptions":{ + "shape":"DomainEndpointOptions", + "documentation":"The current status of the domain's endpoint options.
" + }, + "AdvancedSecurityOptions":{ + "shape":"AdvancedSecurityOptions", + "documentation":"The current status of the domain's advanced security options.
" + }, + "AutoTuneOptions":{ + "shape":"AutoTuneOptionsOutput", + "documentation":"The current status of the domain's Auto-Tune options.
" + } + }, + "documentation":"The current status of a domain.
" + }, + "DomainStatusList":{ + "type":"list", + "member":{"shape":"DomainStatus"}, + "documentation":"A list that contains the status of each requested domain.
" + }, + "Double":{"type":"double"}, + "Duration":{ + "type":"structure", + "members":{ + "Value":{ + "shape":"DurationValue", + "documentation":"Integer to specify the value of a maintenance schedule duration. See Auto-Tune for Amazon OpenSearch Service for more information.
" + }, + "Unit":{ + "shape":"TimeUnit", + "documentation":"The unit of a maintenance schedule duration. Valid value is HOURS. See Auto-Tune for Amazon OpenSearch Service for more information.
" + } + }, + "documentation":"The maintenance schedule duration: duration value and duration unit. See Auto-Tune for Amazon OpenSearch Service for more information.
" + }, + "DurationValue":{ + "type":"long", + "documentation":"Integer to specify the value of a maintenance schedule duration. See Auto-Tune for Amazon OpenSearch Service for more information.
", + "max":24, + "min":1 + }, + "EBSOptions":{ + "type":"structure", + "members":{ + "EBSEnabled":{ + "shape":"Boolean", + "documentation":"Whether EBS-based storage is enabled.
" + }, + "VolumeType":{ + "shape":"VolumeType", + "documentation":"The volume type for EBS-based storage.
" + }, + "VolumeSize":{ + "shape":"IntegerClass", + "documentation":"Integer to specify the size of an EBS volume.
" + }, + "Iops":{ + "shape":"IntegerClass", + "documentation":"The IOPD for a Provisioned IOPS EBS volume (SSD).
" + } + }, + "documentation":"Options to enable, disable, and specify the properties of EBS storage volumes.
" + }, + "EBSOptionsStatus":{ + "type":"structure", + "required":[ + "Options", + "Status" + ], + "members":{ + "Options":{ + "shape":"EBSOptions", + "documentation":"The EBS options for the specified domain.
" + }, + "Status":{ + "shape":"OptionStatus", + "documentation":"The status of the EBS options for the specified domain.
" + } + }, + "documentation":"Status of the EBS options for the specified domain.
" + }, + "EncryptionAtRestOptions":{ + "type":"structure", + "members":{ + "Enabled":{ + "shape":"Boolean", + "documentation":"The option to enable encryption at rest.
" + }, + "KmsKeyId":{ + "shape":"KmsKeyId", + "documentation":"The KMS key ID for encryption at rest options.
" + } + }, + "documentation":"Specifies encryption at rest options.
" + }, + "EncryptionAtRestOptionsStatus":{ + "type":"structure", + "required":[ + "Options", + "Status" + ], + "members":{ + "Options":{ + "shape":"EncryptionAtRestOptions", + "documentation":"The Encryption At Rest options for the specified domain.
" + }, + "Status":{ + "shape":"OptionStatus", + "documentation":"The status of the Encryption At Rest options for the specified domain.
" + } + }, + "documentation":"Status of the encryption At Rest options for the specified domain.
" + }, + "EndpointsMap":{ + "type":"map", + "key":{"shape":"String"}, + "value":{"shape":"ServiceUrl"} + }, + "ErrorDetails":{ + "type":"structure", + "members":{ + "ErrorType":{"shape":"ErrorType"}, + "ErrorMessage":{"shape":"ErrorMessage"} + } + }, + "ErrorMessage":{"type":"string"}, + "ErrorType":{"type":"string"}, + "Filter":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"NonEmptyString", + "documentation":"The name of the filter.
" + }, + "Values":{ + "shape":"ValueStringList", + "documentation":"Contains one or more values for the filter.
" + } + }, + "documentation":"A filter used to limit results when describing inbound or outbound cross-cluster connections. Multiple values can be specified per filter. A cross-cluster connection must match at least one of the specified values for it to be returned from an operation.
" + }, + "FilterList":{ + "type":"list", + "member":{"shape":"Filter"} + }, + "GUID":{ + "type":"string", + "max":36, + "min":36, + "pattern":"\\p{XDigit}{8}-\\p{XDigit}{4}-\\p{XDigit}{4}-\\p{XDigit}{4}-\\p{XDigit}{12}" + }, + "GetCompatibleVersionsRequest":{ + "type":"structure", + "members":{ + "DomainName":{ + "shape":"DomainName", + "location":"querystring", + "locationName":"domainName" + } + }, + "documentation":" Container for the request parameters to GetCompatibleVersions
operation.
A map of compatible OpenSearch versions returned as part of the GetCompatibleVersions
operation.
Container for the response returned by the GetCompatibleVersions
operation.
Returns an audit history of package versions.
", + "location":"uri", + "locationName":"PackageID" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"Limits results to a maximum number of package versions.
", + "location":"querystring", + "locationName":"maxResults" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"Used for pagination. Only necessary if a previous API call includes a non-null NextToken value. If provided, returns results for the next page.
", + "location":"querystring", + "locationName":"nextToken" + } + }, + "documentation":" Container for the request parameters to the GetPackageVersionHistory
operation.
List of PackageVersionHistory
objects.
Container for response returned by GetPackageVersionHistory
operation.
Container for the request parameters to the GetUpgradeHistory
operation.
A list of UpgradeHistory
objects corresponding to each upgrade or upgrade eligibility check performed on a domain returned as part of the GetUpgradeHistoryResponse
object.
Pagination token that needs to be supplied to the next call to get the next page of results.
" + } + }, + "documentation":" Container for the response returned by the GetUpgradeHistory
operation.
Container for the request parameters to the GetUpgradeStatus
operation.
One of three steps an upgrade or upgrade eligibility check goes through:
One of four statuses an upgrade have, returned as part of the GetUpgradeStatusResponse
object. The status can take one of the following values:
A string that briefly describes the update.
" + } + }, + "documentation":" Container for the response returned by the GetUpgradeStatus
operation.
The AWSDomainInformation
for the local OpenSearch domain.
The AWSDomainInformation
for the remote OpenSearch domain.
The connection ID for the inbound cross-cluster connection.
" + }, + "ConnectionStatus":{ + "shape":"InboundConnectionStatus", + "documentation":"The InboundConnectionStatus
for the outbound connection.
Details of an inbound connection.
" + }, + "InboundConnectionStatus":{ + "type":"structure", + "members":{ + "StatusCode":{ + "shape":"InboundConnectionStatusCode", + "documentation":"The state code for the inbound connection. Can be one of the following:
Verbose information for the inbound connection status.
" + } + }, + "documentation":"The connection status of an inbound cross-cluster connection.
" + }, + "InboundConnectionStatusCode":{ + "type":"string", + "enum":[ + "PENDING_ACCEPTANCE", + "APPROVED", + "PROVISIONING", + "ACTIVE", + "REJECTING", + "REJECTED", + "DELETING", + "DELETED" + ] + }, + "InboundConnections":{ + "type":"list", + "member":{"shape":"InboundConnection"} + }, + "InstanceCount":{ + "type":"integer", + "documentation":"The number of EC2 instances in the domain.
", + "min":1 + }, + "InstanceCountLimits":{ + "type":"structure", + "members":{ + "MinimumInstanceCount":{"shape":"MinimumInstanceCount"}, + "MaximumInstanceCount":{"shape":"MaximumInstanceCount"} + }, + "documentation":"InstanceCountLimits represents the limits on the number of instances that can be created in Amazon OpenSearch Service for a given InstanceType.
" + }, + "InstanceLimits":{ + "type":"structure", + "members":{ + "InstanceCountLimits":{"shape":"InstanceCountLimits"} + }, + "documentation":"InstanceLimits represents the list of instance-related attributes that are available for a given InstanceType.
" + }, + "InstanceRole":{"type":"string"}, + "InstanceRoleList":{ + "type":"list", + "member":{"shape":"InstanceRole"} + }, + "InstanceTypeDetails":{ + "type":"structure", + "members":{ + "InstanceType":{"shape":"OpenSearchPartitionInstanceType"}, + "EncryptionEnabled":{"shape":"Boolean"}, + "CognitoEnabled":{"shape":"Boolean"}, + "AppLogsEnabled":{"shape":"Boolean"}, + "AdvancedSecurityEnabled":{"shape":"Boolean"}, + "WarmEnabled":{"shape":"Boolean"}, + "InstanceRole":{"shape":"InstanceRoleList"} + } + }, + "InstanceTypeDetailsList":{ + "type":"list", + "member":{"shape":"InstanceTypeDetails"} + }, + "Integer":{"type":"integer"}, + "IntegerClass":{"type":"integer"}, + "Issue":{"type":"string"}, + "Issues":{ + "type":"list", + "member":{"shape":"Issue"} + }, + "KmsKeyId":{ + "type":"string", + "max":500, + "min":1, + "pattern":".*" + }, + "LastUpdated":{"type":"timestamp"}, + "LimitName":{"type":"string"}, + "LimitValue":{"type":"string"}, + "LimitValueList":{ + "type":"list", + "member":{"shape":"LimitValue"} + }, + "Limits":{ + "type":"structure", + "members":{ + "StorageTypes":{ + "shape":"StorageTypeList", + "documentation":"Storage-related types and attributes that are available for a given InstanceType.
" + }, + "InstanceLimits":{"shape":"InstanceLimits"}, + "AdditionalLimits":{ + "shape":"AdditionalLimitList", + "documentation":" List of additional limits that are specific to a given InstanceType and for each of its InstanceRole
.
Limits for a given InstanceType and for each of its roles.
Limits contains the following: StorageTypes
, InstanceLimits
, and AdditionalLimits
The role of a given instance and all applicable limits. The role performed by a given OpenSearch instance can be one of the following:
List of domain names.
" + } + }, + "documentation":"The result of a ListDomainNames
operation. Contains the names of all domains owned by this account.
The package for which to list associated domains.
", + "location":"uri", + "locationName":"PackageID" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"Limits the results to a maximum number of domains.
", + "location":"querystring", + "locationName":"maxResults" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"Used for pagination. Only necessary if a previous API call includes a non-null NextToken value. If provided, returns results for the next page.
", + "location":"querystring", + "locationName":"nextToken" + } + }, + "documentation":" Container for the request parameters to the ListDomainsForPackage
operation.
List of DomainPackageDetails
objects.
Container for the response parameters to the ListDomainsForPackage
operation.
The name of the domain for which you want to list associated packages.
", + "location":"uri", + "locationName":"DomainName" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"Limits results to a maximum number of packages.
", + "location":"querystring", + "locationName":"maxResults" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"Used for pagination. Only necessary if a previous API call includes a non-null NextToken value. If provided, returns results for the next page.
", + "location":"querystring", + "locationName":"nextToken" + } + }, + "documentation":" Container for the request parameters to the ListPackagesForDomain
operation.
List of DomainPackageDetails
objects.
Pagination token to supply to the next call to get the next page of results.
" + } + }, + "documentation":" Container for the response parameters to the ListPackagesForDomain
operation.
Specify the ARN
of the domain that the tags you want to view are attached to.
Container for the parameters to the ListTags
operation. Specify the ARN
of the domain that the tags you want to view are attached to.
List of Tag
for the requested domain.
The result of a ListTags
operation. Contains tags for all requested domains.
Set this value to limit the number of results returned. Value must be greater than 10 or it won't be honored.
", + "location":"querystring", + "locationName":"maxResults" + }, + "NextToken":{ + "shape":"NextToken", + "location":"querystring", + "locationName":"nextToken" + } + }, + "documentation":" Container for the parameters to the ListVersions
operation.
Use MaxResults
to control the maximum number of results to retrieve in a single call.
Use NextToken
in response to retrieve more results. If the received response does not contain a NextToken, there are no more results to retrieve.
Container for the parameters for response received from the ListVersions
operation.
Whether the given log publishing option is enabled or not.
" + } + }, + "documentation":"Log Publishing option that is set for a given domain.
Attributes and their details:
The log publishing options configured for the domain.
" + }, + "Status":{ + "shape":"OptionStatus", + "documentation":"The status of the log publishing options for the domain. See OptionStatus
for the status information that's included.
The configured log publishing options for the domain and their current status.
" + }, + "LogType":{ + "type":"string", + "documentation":"Type of log file. Can be one of the following:
ARN for the master user (if IAM is enabled).
" + }, + "MasterUserName":{ + "shape":"Username", + "documentation":"The master user's username, which is stored in the Amazon OpenSearch Service domain's internal database.
" + }, + "MasterUserPassword":{ + "shape":"Password", + "documentation":"The master user's password, which is stored in the Amazon OpenSearch Service domain's internal database.
" + } + }, + "documentation":"Credentials for the master user: username and password, ARN, or both.
" + }, + "MaxResults":{ + "type":"integer", + "documentation":"Set this value to limit the number of results returned.
", + "max":100 + }, + "MaximumInstanceCount":{ + "type":"integer", + "documentation":"Maximum number of instances that can be instantiated for a given InstanceType.
" + }, + "MinimumInstanceCount":{ + "type":"integer", + "documentation":"Minimum number of instances that can be instantiated for a given InstanceType.
" + }, + "NextToken":{ + "type":"string", + "documentation":"Paginated APIs accept the NextToken input to return the next page of results and provide a NextToken output in the response, which you can use to retrieve more results.
" + }, + "NodeToNodeEncryptionOptions":{ + "type":"structure", + "members":{ + "Enabled":{ + "shape":"Boolean", + "documentation":"True to enable node-to-node encryption.
" + } + }, + "documentation":"The node-to-node encryption options.
" + }, + "NodeToNodeEncryptionOptionsStatus":{ + "type":"structure", + "required":[ + "Options", + "Status" + ], + "members":{ + "Options":{ + "shape":"NodeToNodeEncryptionOptions", + "documentation":"The node-to-node encryption options for the specified domain.
" + }, + "Status":{ + "shape":"OptionStatus", + "documentation":"The status of the node-to-node encryption options for the specified domain.
" + } + }, + "documentation":"Status of the node-to-node encryption options for the specified domain.
" + }, + "NonEmptyString":{ + "type":"string", + "max":100, + "min":1, + "pattern":"[a-zA-Z0-9\\-\\_\\.]+" + }, + "OpenSearchPartitionInstanceType":{ + "type":"string", + "enum":[ + "m3.medium.search", + "m3.large.search", + "m3.xlarge.search", + "m3.2xlarge.search", + "m4.large.search", + "m4.xlarge.search", + "m4.2xlarge.search", + "m4.4xlarge.search", + "m4.10xlarge.search", + "m5.large.search", + "m5.xlarge.search", + "m5.2xlarge.search", + "m5.4xlarge.search", + "m5.12xlarge.search", + "m5.24xlarge.search", + "r5.large.search", + "r5.xlarge.search", + "r5.2xlarge.search", + "r5.4xlarge.search", + "r5.12xlarge.search", + "r5.24xlarge.search", + "c5.large.search", + "c5.xlarge.search", + "c5.2xlarge.search", + "c5.4xlarge.search", + "c5.9xlarge.search", + "c5.18xlarge.search", + "t3.nano.search", + "t3.micro.search", + "t3.small.search", + "t3.medium.search", + "t3.large.search", + "t3.xlarge.search", + "t3.2xlarge.search", + "ultrawarm1.medium.search", + "ultrawarm1.large.search", + "ultrawarm1.xlarge.search", + "t2.micro.search", + "t2.small.search", + "t2.medium.search", + "r3.large.search", + "r3.xlarge.search", + "r3.2xlarge.search", + "r3.4xlarge.search", + "r3.8xlarge.search", + "i2.xlarge.search", + "i2.2xlarge.search", + "d2.xlarge.search", + "d2.2xlarge.search", + "d2.4xlarge.search", + "d2.8xlarge.search", + "c4.large.search", + "c4.xlarge.search", + "c4.2xlarge.search", + "c4.4xlarge.search", + "c4.8xlarge.search", + "r4.large.search", + "r4.xlarge.search", + "r4.2xlarge.search", + "r4.4xlarge.search", + "r4.8xlarge.search", + "r4.16xlarge.search", + "i3.large.search", + "i3.xlarge.search", + "i3.2xlarge.search", + "i3.4xlarge.search", + "i3.8xlarge.search", + "i3.16xlarge.search", + "r6g.large.search", + "r6g.xlarge.search", + "r6g.2xlarge.search", + "r6g.4xlarge.search", + "r6g.8xlarge.search", + "r6g.12xlarge.search", + "m6g.large.search", + "m6g.xlarge.search", + "m6g.2xlarge.search", + "m6g.4xlarge.search", + "m6g.8xlarge.search", + "m6g.12xlarge.search", + "c6g.large.search", + "c6g.xlarge.search", + "c6g.2xlarge.search", + "c6g.4xlarge.search", + "c6g.8xlarge.search", + "c6g.12xlarge.search", + "r6gd.large.search", + "r6gd.xlarge.search", + "r6gd.2xlarge.search", + "r6gd.4xlarge.search", + "r6gd.8xlarge.search", + "r6gd.12xlarge.search", + "r6gd.16xlarge.search", + "t4g.small.search", + "t4g.medium.search" + ] + }, + "OpenSearchWarmPartitionInstanceType":{ + "type":"string", + "enum":[ + "ultrawarm1.medium.search", + "ultrawarm1.large.search", + "ultrawarm1.xlarge.search" + ] + }, + "OptionState":{ + "type":"string", + "documentation":"The state of a requested change. One of the following:
The timestamp of when the entity was created.
" + }, + "UpdateDate":{ + "shape":"UpdateTimestamp", + "documentation":"The timestamp of the last time the entity was updated.
" + }, + "UpdateVersion":{ + "shape":"UIntValue", + "documentation":"The latest version of the entity.
" + }, + "State":{ + "shape":"OptionState", + "documentation":"Provides the OptionState
for the domain.
Indicates whether the domain is being deleted.
" + } + }, + "documentation":"Provides the current status of the entity.
" + }, + "OutboundConnection":{ + "type":"structure", + "members":{ + "LocalDomainInfo":{ + "shape":"DomainInformationContainer", + "documentation":"The DomainInformation
for the local OpenSearch domain.
The DomainInformation
for the remote OpenSearch domain.
The connection ID for the outbound cross-cluster connection.
" + }, + "ConnectionAlias":{ + "shape":"ConnectionAlias", + "documentation":"The connection alias for the outbound cross-cluster connection.
" + }, + "ConnectionStatus":{ + "shape":"OutboundConnectionStatus", + "documentation":"The OutboundConnectionStatus
for the outbound connection.
Specifies details about an outbound connection.
" + }, + "OutboundConnectionStatus":{ + "type":"structure", + "members":{ + "StatusCode":{ + "shape":"OutboundConnectionStatusCode", + "documentation":"The state code for the outbound connection. Can be one of the following:
Verbose information for the outbound connection status.
" + } + }, + "documentation":"The connection status of an outbound cross-cluster connection.
" + }, + "OutboundConnectionStatusCode":{ + "type":"string", + "enum":[ + "VALIDATING", + "VALIDATION_FAILED", + "PENDING_ACCEPTANCE", + "APPROVED", + "PROVISIONING", + "ACTIVE", + "REJECTING", + "REJECTED", + "DELETING", + "DELETED" + ] + }, + "OutboundConnections":{ + "type":"list", + "member":{"shape":"OutboundConnection"} + }, + "OwnerId":{ + "type":"string", + "max":12, + "min":12, + "pattern":"[0-9]+" + }, + "PackageDescription":{ + "type":"string", + "max":1024 + }, + "PackageDetails":{ + "type":"structure", + "members":{ + "PackageID":{ + "shape":"PackageID", + "documentation":"Internal ID of the package.
" + }, + "PackageName":{ + "shape":"PackageName", + "documentation":"User-specified name of the package.
" + }, + "PackageType":{ + "shape":"PackageType", + "documentation":"Currently supports only TXT-DICTIONARY.
" + }, + "PackageDescription":{ + "shape":"PackageDescription", + "documentation":"User-specified description of the package.
" + }, + "PackageStatus":{ + "shape":"PackageStatus", + "documentation":"Current state of the package. Values are COPYING, COPY_FAILED, AVAILABLE, DELETING, and DELETE_FAILED.
" + }, + "CreatedAt":{ + "shape":"CreatedAt", + "documentation":"The timestamp of when the package was created.
" + }, + "LastUpdatedAt":{"shape":"LastUpdated"}, + "AvailablePackageVersion":{"shape":"PackageVersion"}, + "ErrorDetails":{ + "shape":"ErrorDetails", + "documentation":"Additional information if the package is in an error state. Null otherwise.
" + } + }, + "documentation":"Basic information about a package.
" + }, + "PackageDetailsList":{ + "type":"list", + "member":{"shape":"PackageDetails"} + }, + "PackageID":{"type":"string"}, + "PackageName":{ + "type":"string", + "max":28, + "min":3, + "pattern":"[a-z][a-z0-9\\-]+" + }, + "PackageSource":{ + "type":"structure", + "members":{ + "S3BucketName":{ + "shape":"S3BucketName", + "documentation":"The name of the Amazon S3 bucket containing the package.
" + }, + "S3Key":{ + "shape":"S3Key", + "documentation":"Key (file name) of the package.
" + } + }, + "documentation":"The Amazon S3 location for importing the package specified as S3BucketName
and S3Key
The package version.
" + }, + "CommitMessage":{ + "shape":"CommitMessage", + "documentation":"A message associated with the package version.
" + }, + "CreatedAt":{ + "shape":"CreatedAt", + "documentation":"The timestamp of when the package was created.
" + } + }, + "documentation":"Details of a package version.
" + }, + "PackageVersionHistoryList":{ + "type":"list", + "member":{"shape":"PackageVersionHistory"} + }, + "Password":{ + "type":"string", + "max":128, + "min":8, + "pattern":".*", + "sensitive":true + }, + "PolicyDocument":{ + "type":"string", + "documentation":"Access policy rules for a domain service endpoints. For more information, see Configuring access policies . The maximum size of a policy document is 100 KB.
", + "max":102400, + "min":0, + "pattern":".*" + }, + "PurchaseReservedInstanceOfferingRequest":{ + "type":"structure", + "required":[ + "ReservedInstanceOfferingId", + "ReservationName" + ], + "members":{ + "ReservedInstanceOfferingId":{ + "shape":"GUID", + "documentation":"The ID of the reserved OpenSearch instance offering to purchase.
" + }, + "ReservationName":{ + "shape":"ReservationToken", + "documentation":"A customer-specified identifier to track this reservation.
" + }, + "InstanceCount":{ + "shape":"InstanceCount", + "documentation":"The number of OpenSearch instances to reserve.
" + } + }, + "documentation":"Container for parameters to PurchaseReservedInstanceOffering
Details of the reserved OpenSearch instance which was purchased.
" + }, + "ReservationName":{ + "shape":"ReservationToken", + "documentation":"The customer-specified identifier used to track this reservation.
" + } + }, + "documentation":"Represents the output of a PurchaseReservedInstanceOffering
operation.
The monetary amount of the recurring charge.
" + }, + "RecurringChargeFrequency":{ + "shape":"String", + "documentation":"The frequency of the recurring charge.
" + } + }, + "documentation":"Contains the specific price and frequency of a recurring charges for a reserved OpenSearch instance, or for a reserved OpenSearch instance offering.
" + }, + "RecurringChargeList":{ + "type":"list", + "member":{"shape":"RecurringCharge"} + }, + "ReferencePath":{"type":"string"}, + "Region":{ + "type":"string", + "max":30, + "min":5, + "pattern":"[a-z][a-z0-9\\-]+" + }, + "RejectInboundConnectionRequest":{ + "type":"structure", + "required":["ConnectionId"], + "members":{ + "ConnectionId":{ + "shape":"ConnectionId", + "documentation":"The ID of the inbound connection to reject.
", + "location":"uri", + "locationName":"ConnectionId" + } + }, + "documentation":"Container for the parameters to the RejectInboundConnection
operation.
The InboundConnection
of the rejected inbound connection.
The result of a RejectInboundConnection
operation. Contains details about the rejected inbound connection.
The ARN
of the domain from which you want to delete the specified tags.
The TagKey
list you want to remove from the domain.
Container for the parameters to the RemoveTags
operation. Specify the ARN
for the domain from which you want to remove the specified TagKey
.
The customer-specified identifier to track this reservation.
" + }, + "ReservedInstanceId":{ + "shape":"GUID", + "documentation":"The unique identifier for the reservation.
" + }, + "BillingSubscriptionId":{"shape":"Long"}, + "ReservedInstanceOfferingId":{ + "shape":"String", + "documentation":"The offering identifier.
" + }, + "InstanceType":{ + "shape":"OpenSearchPartitionInstanceType", + "documentation":"The OpenSearch instance type offered by the reserved instance offering.
" + }, + "StartTime":{ + "shape":"UpdateTimestamp", + "documentation":"The time the reservation started.
" + }, + "Duration":{ + "shape":"Integer", + "documentation":"The duration, in seconds, for which the OpenSearch instance is reserved.
" + }, + "FixedPrice":{ + "shape":"Double", + "documentation":"The upfront fixed charge you will paid to purchase the specific reserved OpenSearch instance offering.
" + }, + "UsagePrice":{ + "shape":"Double", + "documentation":"The rate you are charged for each hour for the domain that is using this reserved instance.
" + }, + "CurrencyCode":{ + "shape":"String", + "documentation":"The currency code for the reserved OpenSearch instance offering.
" + }, + "InstanceCount":{ + "shape":"Integer", + "documentation":"The number of OpenSearch instances that have been reserved.
" + }, + "State":{ + "shape":"String", + "documentation":"The state of the reserved OpenSearch instance.
" + }, + "PaymentOption":{ + "shape":"ReservedInstancePaymentOption", + "documentation":"The payment option as defined in the reserved OpenSearch instance offering.
" + }, + "RecurringCharges":{ + "shape":"RecurringChargeList", + "documentation":"The charge to your account regardless of whether you are creating any domains using the instance offering.
" + } + }, + "documentation":"Details of a reserved OpenSearch instance.
" + }, + "ReservedInstanceList":{ + "type":"list", + "member":{"shape":"ReservedInstance"} + }, + "ReservedInstanceOffering":{ + "type":"structure", + "members":{ + "ReservedInstanceOfferingId":{ + "shape":"GUID", + "documentation":"The OpenSearch reserved instance offering identifier.
" + }, + "InstanceType":{ + "shape":"OpenSearchPartitionInstanceType", + "documentation":"The OpenSearch instance type offered by the reserved instance offering.
" + }, + "Duration":{ + "shape":"Integer", + "documentation":"The duration, in seconds, for which the offering will reserve the OpenSearch instance.
" + }, + "FixedPrice":{ + "shape":"Double", + "documentation":"The upfront fixed charge you will pay to purchase the specific reserved OpenSearch instance offering.
" + }, + "UsagePrice":{ + "shape":"Double", + "documentation":"The rate you are charged for each hour the domain that is using the offering is running.
" + }, + "CurrencyCode":{ + "shape":"String", + "documentation":"The currency code for the reserved OpenSearch instance offering.
" + }, + "PaymentOption":{ + "shape":"ReservedInstancePaymentOption", + "documentation":"Payment option for the reserved OpenSearch instance offering
" + }, + "RecurringCharges":{ + "shape":"RecurringChargeList", + "documentation":"The charge to your account regardless of whether you are creating any domains using the instance offering.
" + } + }, + "documentation":"Details of a reserved OpenSearch instance offering.
" + }, + "ReservedInstanceOfferingList":{ + "type":"list", + "member":{"shape":"ReservedInstanceOffering"} + }, + "ReservedInstancePaymentOption":{ + "type":"string", + "enum":[ + "ALL_UPFRONT", + "PARTIAL_UPFRONT", + "NO_UPFRONT" + ] + }, + "RoleArn":{ + "type":"string", + "max":2048, + "min":20, + "pattern":"arn:(aws|aws\\-cn|aws\\-us\\-gov|aws\\-iso|aws\\-iso\\-b):iam::[0-9]+:role\\/.*" + }, + "RollbackOnDisable":{ + "type":"string", + "documentation":"The rollback state while disabling Auto-Tune for the domain. Valid values are NO_ROLLBACK and DEFAULT_ROLLBACK.
", + "enum":[ + "NO_ROLLBACK", + "DEFAULT_ROLLBACK" + ] + }, + "S3BucketName":{ + "type":"string", + "max":63, + "min":3 + }, + "S3Key":{ + "type":"string", + "max":1024, + "min":1 + }, + "SAMLEntityId":{ + "type":"string", + "max":512, + "min":8 + }, + "SAMLIdp":{ + "type":"structure", + "required":[ + "MetadataContent", + "EntityId" + ], + "members":{ + "MetadataContent":{ + "shape":"SAMLMetadata", + "documentation":"The metadata of the SAML application in XML format.
" + }, + "EntityId":{ + "shape":"SAMLEntityId", + "documentation":"The unique entity ID of the application in SAML identity provider.
" + } + }, + "documentation":"The SAML identity povider's information.
" + }, + "SAMLMetadata":{ + "type":"string", + "max":1048576, + "min":1 + }, + "SAMLOptionsInput":{ + "type":"structure", + "members":{ + "Enabled":{ + "shape":"Boolean", + "documentation":"True if SAML is enabled.
" + }, + "Idp":{ + "shape":"SAMLIdp", + "documentation":"The SAML Identity Provider's information.
" + }, + "MasterUserName":{ + "shape":"Username", + "documentation":"The SAML master username, which is stored in the Amazon OpenSearch Service domain's internal database.
" + }, + "MasterBackendRole":{ + "shape":"BackendRole", + "documentation":"The backend role that the SAML master user is mapped to.
" + }, + "SubjectKey":{ + "shape":"String", + "documentation":"Element of the SAML assertion to use for username. Default is NameID.
" + }, + "RolesKey":{ + "shape":"String", + "documentation":"Element of the SAML assertion to use for backend roles. Default is roles.
" + }, + "SessionTimeoutMinutes":{ + "shape":"IntegerClass", + "documentation":"The duration, in minutes, after which a user session becomes inactive. Acceptable values are between 1 and 1440, and the default value is 60.
" + } + }, + "documentation":"The SAML application configuration for the domain.
" + }, + "SAMLOptionsOutput":{ + "type":"structure", + "members":{ + "Enabled":{ + "shape":"Boolean", + "documentation":"True if SAML is enabled.
" + }, + "Idp":{ + "shape":"SAMLIdp", + "documentation":"Describes the SAML identity provider's information.
" + }, + "SubjectKey":{ + "shape":"String", + "documentation":"The key used for matching the SAML subject attribute.
" + }, + "RolesKey":{ + "shape":"String", + "documentation":"The key used for matching the SAML roles attribute.
" + }, + "SessionTimeoutMinutes":{ + "shape":"IntegerClass", + "documentation":"The duration, in minutes, after which a user session becomes inactive.
" + } + }, + "documentation":"Describes the SAML application configured for the domain.
" + }, + "ScheduledAutoTuneActionType":{ + "type":"string", + "documentation":"The Auto-Tune action type. Valid values are JVM_HEAP_SIZE_TUNING, and JVM_YOUNG_GEN_TUNING.
", + "enum":[ + "JVM_HEAP_SIZE_TUNING", + "JVM_YOUNG_GEN_TUNING" + ] + }, + "ScheduledAutoTuneDescription":{ + "type":"string", + "documentation":"The Auto-Tune action description.
" + }, + "ScheduledAutoTuneDetails":{ + "type":"structure", + "members":{ + "Date":{ + "shape":"AutoTuneDate", + "documentation":"The timestamp of the Auto-Tune action scheduled for the domain.
" + }, + "ActionType":{ + "shape":"ScheduledAutoTuneActionType", + "documentation":"The Auto-Tune action type. Valid values are JVM_HEAP_SIZE_TUNING and JVM_YOUNG_GEN_TUNING.
" + }, + "Action":{ + "shape":"ScheduledAutoTuneDescription", + "documentation":"The Auto-Tune action description.
" + }, + "Severity":{ + "shape":"ScheduledAutoTuneSeverityType", + "documentation":"The Auto-Tune action severity. Valid values are LOW, MEDIUM, and HIGH.
" + } + }, + "documentation":"Specifies details about the scheduled Auto-Tune action. See Auto-Tune for Amazon OpenSearch Service for more information.
" + }, + "ScheduledAutoTuneSeverityType":{ + "type":"string", + "documentation":"The Auto-Tune action severity. Valid values are LOW, MEDIUM, and HIGH.
", + "enum":[ + "LOW", + "MEDIUM", + "HIGH" + ] + }, + "ServiceSoftwareOptions":{ + "type":"structure", + "members":{ + "CurrentVersion":{ + "shape":"String", + "documentation":"The current service software version present on the domain.
" + }, + "NewVersion":{ + "shape":"String", + "documentation":"The new service software version if one is available.
" + }, + "UpdateAvailable":{ + "shape":"Boolean", + "documentation":" True
if you're able to update your service software version. False
if you can't update your service software version.
True
if you're able to cancel your service software version update. False
if you can't cancel your service software update.
The status of your service software update. This field can take the following values: ELIGIBLE
, PENDING_UPDATE
, IN_PROGRESS
, COMPLETED
, and NOT_ELIGIBLE
.
The description of the UpdateStatus
.
The timestamp, in Epoch time, until which you can manually request a service software update. After this date, we automatically update your service software.
" + }, + "OptionalDeployment":{ + "shape":"Boolean", + "documentation":" True
if a service software is never automatically updated. False
if a service software is automatically updated after AutomatedUpdateDate
.
The current options of an domain service software options.
" + }, + "ServiceUrl":{ + "type":"string", + "documentation":"The endpoint to which service requests are submitted. For example, search-imdb-movies-oopcnjfn6ugofer3zx5iadxxca.eu-west-1.es.amazonaws.com
or doc-imdb-movies-oopcnjfn6ugofer3zx5iadxxca.eu-west-1.es.amazonaws.com
.
The time, in UTC format, when the service takes a daily automated snapshot of the specified domain. Default is 0
hours.
The time, in UTC format, when the service takes a daily automated snapshot of the specified domain. Default is 0
hours.
The daily snapshot options specified for the domain.
" + }, + "Status":{ + "shape":"OptionStatus", + "documentation":"The status of a daily automated snapshot.
" + } + }, + "documentation":"Status of a daily automated snapshot.
" + }, + "StartAt":{"type":"timestamp"}, + "StartServiceSoftwareUpdateRequest":{ + "type":"structure", + "required":["DomainName"], + "members":{ + "DomainName":{ + "shape":"DomainName", + "documentation":"The name of the domain that you want to update to the latest service software.
" + } + }, + "documentation":"Container for the parameters to the StartServiceSoftwareUpdate
operation. Specifies the name of the domain to schedule a service software update for.
The current status of the OpenSearch service software update.
" + } + }, + "documentation":"The result of a StartServiceSoftwareUpdate
operation. Contains the status of the update.
Sub-type of the given storage type. List of available sub-storage options: \"instance\" storageType has no storageSubType. \"ebs\" storageType has the following valid storageSubTypes:
VolumeType
for more information regarding each EBS storage option. "
+ },
+ "StorageType":{
+ "type":"structure",
+ "members":{
+ "StorageTypeName":{"shape":"StorageTypeName"},
+ "StorageSubTypeName":{"shape":"StorageSubTypeName"},
+ "StorageTypeLimits":{
+ "shape":"StorageTypeLimitList",
+ "documentation":"Limits that are applicable for the given storage type.
" + } + }, + "documentation":"StorageTypes represents the list of storage-related types and their attributes that are available for a given InstanceType.
" + }, + "StorageTypeLimit":{ + "type":"structure", + "members":{ + "LimitName":{ + "shape":"LimitName", + "documentation":" Name of storage limits that are applicable for the given storage type. If StorageType
is \"ebs\", the following storage options are applicable:
Values for the StorageTypeLimit$LimitName
.
Limits that are applicable for the given storage type.
" + }, + "StorageTypeLimitList":{ + "type":"list", + "member":{"shape":"StorageTypeLimit"} + }, + "StorageTypeList":{ + "type":"list", + "member":{"shape":"StorageType"} + }, + "StorageTypeName":{ + "type":"string", + "documentation":"Type of storage. List of available storage options:
The TagKey
, the name of the tag. Tag keys must be unique for the domain to which they are attached.
The TagValue
, the value assigned to the corresponding tag key. Tag values can be null and don't have to be unique in a tag set. For example, you can have a key value pair in a tag set of project : Trinity
and cost-center : Trinity
A key value pair for a resource tag.
" + }, + "TagKey":{ + "type":"string", + "documentation":"A string of length from 1 to 128 characters that specifies the key for a tag. Tag keys must be unique for the domain to which they're attached.
", + "max":128, + "min":1, + "pattern":".*" + }, + "TagList":{ + "type":"list", + "member":{"shape":"Tag"}, + "documentation":"A list of Tag
.
A string of length from 0 to 256 characters that specifies the value for a tag. Tag values can be null and don't have to be unique in a tag set.
", + "max":256, + "min":0, + "pattern":".*" + }, + "TimeUnit":{ + "type":"string", + "documentation":"The unit of a maintenance schedule duration. Valid value is HOUR. See Auto-Tune for Amazon OpenSearch Service for more information.
", + "enum":["HOURS"] + }, + "UIntValue":{ + "type":"integer", + "min":0 + }, + "UpdateDomainConfigRequest":{ + "type":"structure", + "required":["DomainName"], + "members":{ + "DomainName":{ + "shape":"DomainName", + "documentation":"The name of the domain you're updating.
", + "location":"uri", + "locationName":"DomainName" + }, + "ClusterConfig":{ + "shape":"ClusterConfig", + "documentation":"The type and number of instances to instantiate for the domain cluster.
" + }, + "EBSOptions":{ + "shape":"EBSOptions", + "documentation":"Specify the type and size of the EBS volume to use.
" + }, + "SnapshotOptions":{ + "shape":"SnapshotOptions", + "documentation":"Option to set the time, in UTC format, for the daily automated snapshot. Default value is 0
hours.
Options to specify the subnets and security groups for the VPC endpoint. For more information, see Launching your Amazon OpenSearch Service domains using a VPC .
" + }, + "CognitoOptions":{ + "shape":"CognitoOptions", + "documentation":"Options to specify the Cognito user and identity pools for OpenSearch Dashboards authentication. For more information, see Configuring Amazon Cognito authentication for OpenSearch Dashboards.
" + }, + "AdvancedOptions":{ + "shape":"AdvancedOptions", + "documentation":"Modifies the advanced option to allow references to indices in an HTTP request body. Must be false
when configuring access to individual sub-resources. By default, the value is true
. See Advanced options for more information.
IAM access policy as a JSON-formatted string.
" + }, + "LogPublishingOptions":{ + "shape":"LogPublishingOptions", + "documentation":"Map of LogType
and LogPublishingOption
, each containing options to publish a given type of OpenSearch log.
Specifies encryption of data at rest options.
" + }, + "DomainEndpointOptions":{ + "shape":"DomainEndpointOptions", + "documentation":"Options to specify configuration that will be applied to the domain endpoint.
" + }, + "NodeToNodeEncryptionOptions":{ + "shape":"NodeToNodeEncryptionOptions", + "documentation":"Specifies node-to-node encryption options.
" + }, + "AdvancedSecurityOptions":{ + "shape":"AdvancedSecurityOptionsInput", + "documentation":"Specifies advanced security options.
" + }, + "AutoTuneOptions":{ + "shape":"AutoTuneOptions", + "documentation":"Specifies Auto-Tune options.
" + } + }, + "documentation":"Container for the parameters to the UpdateDomain
operation. Specifies the type and number of instances in the domain cluster.
The status of the updated domain.
" + } + }, + "documentation":"The result of an UpdateDomain
request. Contains the status of the domain being updated.
The unique identifier for the package.
" + }, + "PackageSource":{"shape":"PackageSource"}, + "PackageDescription":{ + "shape":"PackageDescription", + "documentation":"A new description of the package.
" + }, + "CommitMessage":{ + "shape":"CommitMessage", + "documentation":"A commit message for the new version which is shown as part of GetPackageVersionHistoryResponse
.
Container for request parameters to the UpdatePackage
operation.
Information about the package.
" + } + }, + "documentation":" Container for the response returned by the UpdatePackage
operation.
The version of OpenSearch you intend to upgrade the domain to.
" + }, + "PerformCheckOnly":{ + "shape":"Boolean", + "documentation":"When true, indicates that an upgrade eligibility check needs to be performed. Does not actually perform the upgrade.
" + }, + "AdvancedOptions":{"shape":"AdvancedOptions"} + }, + "documentation":" Container for the request parameters to UpgradeDomain
operation.
The version of OpenSearch that you intend to upgrade the domain to.
" + }, + "PerformCheckOnly":{ + "shape":"Boolean", + "documentation":"When true, indicates that an upgrade eligibility check needs to be performed. Does not actually perform the upgrade.
" + }, + "AdvancedOptions":{"shape":"AdvancedOptions"} + }, + "documentation":" Container for response returned by UpgradeDomain
operation.
A string that briefly describes the upgrade.
" + }, + "StartTimestamp":{ + "shape":"StartTimestamp", + "documentation":"UTC timestamp at which the upgrade API call was made in \"yyyy-MM-ddTHH:mm:ssZ\" format.
" + }, + "UpgradeStatus":{ + "shape":"UpgradeStatus", + "documentation":"The current status of the upgrade. The status can take one of the following values:
A list of UpgradeStepItem
s representing information about each step performed as part of a specific upgrade or upgrade eligibility check.
History of the last 10 upgrades and upgrade eligibility checks.
" + }, + "UpgradeHistoryList":{ + "type":"list", + "member":{"shape":"UpgradeHistory"} + }, + "UpgradeName":{"type":"string"}, + "UpgradeStatus":{ + "type":"string", + "enum":[ + "IN_PROGRESS", + "SUCCEEDED", + "SUCCEEDED_WITH_ISSUES", + "FAILED" + ] + }, + "UpgradeStep":{ + "type":"string", + "enum":[ + "PRE_UPGRADE_CHECK", + "SNAPSHOT", + "UPGRADE" + ] + }, + "UpgradeStepItem":{ + "type":"structure", + "members":{ + "UpgradeStep":{ + "shape":"UpgradeStep", + "documentation":"One of three steps an upgrade or upgrade eligibility check goes through:
The current status of the upgrade. The status can take one of the following values:
A list of strings containing detailed information about the errors encountered in a particular step.
" + }, + "ProgressPercent":{ + "shape":"Double", + "documentation":"The floating point value representing the progress percentage of a particular step.
" + } + }, + "documentation":"Represents a single step of the upgrade or upgrade eligibility check workflow.
" + }, + "UpgradeStepsList":{ + "type":"list", + "member":{"shape":"UpgradeStepItem"} + }, + "UserPoolId":{ + "type":"string", + "max":55, + "min":1, + "pattern":"[\\w-]+_[0-9a-zA-Z]+" + }, + "Username":{ + "type":"string", + "max":64, + "min":1, + "pattern":".*", + "sensitive":true + }, + "VPCDerivedInfo":{ + "type":"structure", + "members":{ + "VPCId":{ + "shape":"String", + "documentation":"The VPC ID for the domain. Exists only if the domain was created with VPCOptions
.
The subnets for the VPC endpoint.
" + }, + "AvailabilityZones":{ + "shape":"StringList", + "documentation":"The Availability Zones for the domain. Exists only if the domain was created with VPCOptions
.
The security groups for the VPC endpoint.
" + } + }, + "documentation":"Options to specify the subnets and security groups for the VPC endpoint. For more information, see Launching your Amazon OpenSearch Service domains using a VPC.
" + }, + "VPCDerivedInfoStatus":{ + "type":"structure", + "required":[ + "Options", + "Status" + ], + "members":{ + "Options":{ + "shape":"VPCDerivedInfo", + "documentation":"The VPC options for the specified domain.
" + }, + "Status":{ + "shape":"OptionStatus", + "documentation":"The status of the VPC options for the specified domain.
" + } + }, + "documentation":"Status of the VPC options for the specified domain.
" + }, + "VPCOptions":{ + "type":"structure", + "members":{ + "SubnetIds":{ + "shape":"StringList", + "documentation":"The subnets for the VPC endpoint.
" + }, + "SecurityGroupIds":{ + "shape":"StringList", + "documentation":"The security groups for the VPC endpoint.
" + } + }, + "documentation":"Options to specify the subnets and security groups for the VPC endpoint. For more information, see Launching your Amazon OpenSearch Service domains using a VPC.
" + }, + "ValueStringList":{ + "type":"list", + "member":{"shape":"NonEmptyString"}, + "min":1 + }, + "VersionList":{ + "type":"list", + "member":{"shape":"VersionString"}, + "documentation":"List of supported OpenSearch versions.
" + }, + "VersionStatus":{ + "type":"structure", + "required":[ + "Options", + "Status" + ], + "members":{ + "Options":{ + "shape":"VersionString", + "documentation":"The OpenSearch version for the specified OpenSearch domain.
" + }, + "Status":{ + "shape":"OptionStatus", + "documentation":"The status of the OpenSearch version options for the specified OpenSearch domain.
" + } + }, + "documentation":"The status of the OpenSearch version options for the specified OpenSearch domain.
" + }, + "VersionString":{ + "type":"string", + "max":18, + "min":14, + "pattern":"^Elasticsearch_[0-9]{1}\\.[0-9]{1,2}$|^OpenSearch_[0-9]{1,2}\\.[0-9]{1,2}$" + }, + "VolumeType":{ + "type":"string", + "documentation":"The type of EBS volume, standard, gp2, or io1. See Configuring EBS-based Storage for more information.
", + "enum":[ + "standard", + "gp2", + "io1" + ] + }, + "ZoneAwarenessConfig":{ + "type":"structure", + "members":{ + "AvailabilityZoneCount":{ + "shape":"IntegerClass", + "documentation":"An integer value to indicate the number of availability zones for a domain when zone awareness is enabled. This should be equal to number of subnets if VPC endpoints is enabled.
" + } + }, + "documentation":"The zone awareness configuration for the domain cluster, such as the number of availability zones.
" + } + }, + "documentation":"Use the Amazon OpenSearch configuration API to create, configure, and manage Amazon OpenSearch Service domains.
For sample code that uses the configuration API, see the Amazon OpenSearch Service Developer Guide. The guide also contains sample code for sending signed HTTP requests to the OpenSearch APIs.
The endpoint for configuration service requests is region-specific: es.region.amazonaws.com. For example, es.us-east-1.amazonaws.com. For a current list of supported regions and endpoints, see Regions and Endpoints.
" +} diff --git a/packages/@aws-cdk-containers/ecs-service-extensions/test/assign-public-ip.integ.snapshot/aws-ecs-integ.template.json b/packages/@aws-cdk-containers/ecs-service-extensions/test/assign-public-ip.integ.snapshot/aws-ecs-integ.template.json new file mode 100644 index 0000000000000..8cf5b0a33d524 --- /dev/null +++ b/packages/@aws-cdk-containers/ecs-service-extensions/test/assign-public-ip.integ.snapshot/aws-ecs-integ.template.json @@ -0,0 +1,1263 @@ +{ + "Resources": { + "vpcA2121C38": { + "Type": "AWS::EC2::VPC", + "Properties": { + "CidrBlock": "10.0.0.0/16", + "EnableDnsHostnames": true, + "EnableDnsSupport": true, + "InstanceTenancy": "default", + "Tags": [ + { + "Key": "Name", + "Value": "aws-ecs-integ/vpc" + } + ] + } + }, + "vpcpublicSubnet1SubnetA635257E": { + "Type": "AWS::EC2::Subnet", + "Properties": { + "VpcId": { + "Ref": "vpcA2121C38" + }, + "AvailabilityZone": { + "Fn::Select": [ + 0, + { + "Fn::GetAZs": "" + } + ] + }, + "CidrBlock": "10.0.0.0/24", + "MapPublicIpOnLaunch": true, + "Tags": [ + { + "Key": "aws-cdk:subnet-name", + "Value": "public" + }, + { + "Key": "aws-cdk:subnet-type", + "Value": "Public" + }, + { + "Key": "Name", + "Value": "aws-ecs-integ/vpc/publicSubnet1" + } + ] + } + }, + "vpcpublicSubnet1RouteTableA38152FE": { + "Type": "AWS::EC2::RouteTable", + "Properties": { + "VpcId": { + "Ref": "vpcA2121C38" + }, + "Tags": [ + { + "Key": "Name", + "Value": "aws-ecs-integ/vpc/publicSubnet1" + } + ] + } + }, + "vpcpublicSubnet1RouteTableAssociationB46101B8": { + "Type": "AWS::EC2::SubnetRouteTableAssociation", + "Properties": { + "RouteTableId": { + "Ref": "vpcpublicSubnet1RouteTableA38152FE" + }, + "SubnetId": { + "Ref": "vpcpublicSubnet1SubnetA635257E" + } + } + }, + "vpcpublicSubnet1DefaultRouteF0973989": { + "Type": "AWS::EC2::Route", + "Properties": { + "RouteTableId": { + "Ref": "vpcpublicSubnet1RouteTableA38152FE" + }, + "DestinationCidrBlock": "0.0.0.0/0", + "GatewayId": { + "Ref": "vpcIGWE57CBDCA" + } + }, + "DependsOn": [ + "vpcVPCGW7984C166" + ] + }, + "vpcpublicSubnet2Subnet027D165B": { + "Type": "AWS::EC2::Subnet", + "Properties": { + "VpcId": { + "Ref": "vpcA2121C38" + }, + "AvailabilityZone": { + "Fn::Select": [ + 1, + { + "Fn::GetAZs": "" + } + ] + }, + "CidrBlock": "10.0.1.0/24", + "MapPublicIpOnLaunch": true, + "Tags": [ + { + "Key": "aws-cdk:subnet-name", + "Value": "public" + }, + { + "Key": "aws-cdk:subnet-type", + "Value": "Public" + }, + { + "Key": "Name", + "Value": "aws-ecs-integ/vpc/publicSubnet2" + } + ] + } + }, + "vpcpublicSubnet2RouteTableA6135437": { + "Type": "AWS::EC2::RouteTable", + "Properties": { + "VpcId": { + "Ref": "vpcA2121C38" + }, + "Tags": [ + { + "Key": "Name", + "Value": "aws-ecs-integ/vpc/publicSubnet2" + } + ] + } + }, + "vpcpublicSubnet2RouteTableAssociation73F6478A": { + "Type": "AWS::EC2::SubnetRouteTableAssociation", + "Properties": { + "RouteTableId": { + "Ref": "vpcpublicSubnet2RouteTableA6135437" + }, + "SubnetId": { + "Ref": "vpcpublicSubnet2Subnet027D165B" + } + } + }, + "vpcpublicSubnet2DefaultRoute13685A07": { + "Type": "AWS::EC2::Route", + "Properties": { + "RouteTableId": { + "Ref": "vpcpublicSubnet2RouteTableA6135437" + }, + "DestinationCidrBlock": "0.0.0.0/0", + "GatewayId": { + "Ref": "vpcIGWE57CBDCA" + } + }, + "DependsOn": [ + "vpcVPCGW7984C166" + ] + }, + "vpcIGWE57CBDCA": { + "Type": "AWS::EC2::InternetGateway", + "Properties": { + "Tags": [ + { + "Key": "Name", + "Value": "aws-ecs-integ/vpc" + } + ] + } + }, + "vpcVPCGW7984C166": { + "Type": "AWS::EC2::VPCGatewayAttachment", + "Properties": { + "VpcId": { + "Ref": "vpcA2121C38" + }, + "InternetGatewayId": { + "Ref": "vpcIGWE57CBDCA" + } + } + }, + "zoneEB40FF1E": { + "Type": "AWS::Route53::HostedZone", + "Properties": { + "Name": "myexample.com." + } + }, + "laterRecordD393EDE6": { + "Type": "AWS::Route53::RecordSet", + "Properties": { + "Name": "u-record.myexample.com.", + "Type": "CNAME", + "HostedZoneId": { + "Ref": "zoneEB40FF1E" + }, + "ResourceRecords": [ + "console.aws.amazon.com" + ], + "TTL": "1800" + } + }, + "productionenvironmentclusterC6599D2D": { + "Type": "AWS::ECS::Cluster" + }, + "nametaskdefinitionTaskRole50FE844E": { + "Type": "AWS::IAM::Role", + "Properties": { + "AssumeRolePolicyDocument": { + "Statement": [ + { + "Action": "sts:AssumeRole", + "Effect": "Allow", + "Principal": { + "Service": "ecs-tasks.amazonaws.com" + } + } + ], + "Version": "2012-10-17" + } + }, + "DependsOn": [ + "nameserviceTaskRecordManagerCleanupE19F1043", + "nameserviceTaskRecordManagerRuleRunningCD85F46F", + "nameserviceTaskRecordManagerRuleStopped66D08B70" + ] + }, + "nametaskdefinition690762BB": { + "Type": "AWS::ECS::TaskDefinition", + "Properties": { + "ContainerDefinitions": [ + { + "Cpu": 256, + "Environment": [ + { + "Name": "PORT", + "Value": "80" + } + ], + "Essential": true, + "Image": "nathanpeck/name", + "Memory": 512, + "Name": "app", + "PortMappings": [ + { + "ContainerPort": 80, + "Protocol": "tcp" + } + ], + "Ulimits": [ + { + "HardLimit": 1024000, + "Name": "nofile", + "SoftLimit": 1024000 + } + ] + } + ], + "Cpu": "256", + "Family": "awsecsintegnametaskdefinition0EA6A1A0", + "Memory": "512", + "NetworkMode": "awsvpc", + "RequiresCompatibilities": [ + "EC2", + "FARGATE" + ], + "TaskRoleArn": { + "Fn::GetAtt": [ + "nametaskdefinitionTaskRole50FE844E", + "Arn" + ] + } + }, + "DependsOn": [ + "nameserviceTaskRecordManagerCleanupE19F1043", + "nameserviceTaskRecordManagerRuleRunningCD85F46F", + "nameserviceTaskRecordManagerRuleStopped66D08B70" + ] + }, + "nameserviceService8015C8D6": { + "Type": "AWS::ECS::Service", + "Properties": { + "Cluster": { + "Ref": "productionenvironmentclusterC6599D2D" + }, + "DeploymentConfiguration": { + "MaximumPercent": 200, + "MinimumHealthyPercent": 100 + }, + "DesiredCount": 1, + "EnableECSManagedTags": false, + "LaunchType": "FARGATE", + "NetworkConfiguration": { + "AwsvpcConfiguration": { + "AssignPublicIp": "ENABLED", + "SecurityGroups": [ + { + "Fn::GetAtt": [ + "nameserviceSecurityGroup33F4662C", + "GroupId" + ] + } + ], + "Subnets": [ + { + "Ref": "vpcpublicSubnet1SubnetA635257E" + }, + { + "Ref": "vpcpublicSubnet2Subnet027D165B" + } + ] + } + }, + "TaskDefinition": { + "Ref": "nametaskdefinition690762BB" + } + } + }, + "nameserviceSecurityGroup33F4662C": { + "Type": "AWS::EC2::SecurityGroup", + "Properties": { + "GroupDescription": "aws-ecs-integ/name-service/SecurityGroup", + "SecurityGroupEgress": [ + { + "CidrIp": "0.0.0.0/0", + "Description": "Allow all outbound traffic by default", + "IpProtocol": "-1" + } + ], + "SecurityGroupIngress": [ + { + "CidrIp": "0.0.0.0/0", + "Description": "Accept inbound traffic on traffic port from anywhere", + "FromPort": 80, + "IpProtocol": "tcp", + "ToPort": 80 + } + ], + "VpcId": { + "Ref": "vpcA2121C38" + } + } + }, + "nameserviceTaskRecordManagerEventsDLB8F13E1E": { + "Type": "AWS::SQS::Queue", + "Properties": { + "MessageRetentionPeriod": 1209600 + }, + "UpdateReplacePolicy": "Delete", + "DeletionPolicy": "Delete" + }, + "nameserviceTaskRecordManagerEventsQueueF805A6C1": { + "Type": "AWS::SQS::Queue", + "Properties": { + "RedrivePolicy": { + "deadLetterTargetArn": { + "Fn::GetAtt": [ + "nameserviceTaskRecordManagerEventsDLB8F13E1E", + "Arn" + ] + }, + "maxReceiveCount": 500 + }, + "VisibilityTimeout": 30 + }, + "UpdateReplacePolicy": "Delete", + "DeletionPolicy": "Delete" + }, + "nameserviceTaskRecordManagerEventsQueuePolicy65CC6F9E": { + "Type": "AWS::SQS::QueuePolicy", + "Properties": { + "PolicyDocument": { + "Statement": [ + { + "Action": [ + "sqs:SendMessage", + "sqs:GetQueueAttributes", + "sqs:GetQueueUrl" + ], + "Condition": { + "ArnEquals": { + "aws:SourceArn": { + "Fn::GetAtt": [ + "nameserviceTaskRecordManagerRuleRunningCD85F46F", + "Arn" + ] + } + } + }, + "Effect": "Allow", + "Principal": { + "Service": "events.amazonaws.com" + }, + "Resource": { + "Fn::GetAtt": [ + "nameserviceTaskRecordManagerEventsQueueF805A6C1", + "Arn" + ] + } + }, + { + "Action": [ + "sqs:SendMessage", + "sqs:GetQueueAttributes", + "sqs:GetQueueUrl" + ], + "Condition": { + "ArnEquals": { + "aws:SourceArn": { + "Fn::GetAtt": [ + "nameserviceTaskRecordManagerRuleStopped66D08B70", + "Arn" + ] + } + } + }, + "Effect": "Allow", + "Principal": { + "Service": "events.amazonaws.com" + }, + "Resource": { + "Fn::GetAtt": [ + "nameserviceTaskRecordManagerEventsQueueF805A6C1", + "Arn" + ] + } + } + ], + "Version": "2012-10-17" + }, + "Queues": [ + { + "Ref": "nameserviceTaskRecordManagerEventsQueueF805A6C1" + } + ] + } + }, + "nameserviceTaskRecordManagerRecordsA4648C6E": { + "Type": "AWS::DynamoDB::Table", + "Properties": { + "KeySchema": [ + { + "AttributeName": "cluster_service", + "KeyType": "HASH" + } + ], + "AttributeDefinitions": [ + { + "AttributeName": "cluster_service", + "AttributeType": "S" + } + ], + "BillingMode": "PAY_PER_REQUEST" + }, + "UpdateReplacePolicy": "Delete", + "DeletionPolicy": "Delete" + }, + "nameserviceTaskRecordManagerRuleRunningCD85F46F": { + "Type": "AWS::Events::Rule", + "Properties": { + "EventPattern": { + "source": [ + "aws.ecs" + ], + "detail-type": [ + "ECS Task State Change" + ], + "detail": { + "clusterArn": [ + { + "Fn::GetAtt": [ + "productionenvironmentclusterC6599D2D", + "Arn" + ] + } + ], + "lastStatus": [ + "RUNNING" + ], + "desiredStatus": [ + "RUNNING" + ] + } + }, + "State": "ENABLED", + "Targets": [ + { + "Arn": { + "Fn::GetAtt": [ + "nameserviceTaskRecordManagerEventsQueueF805A6C1", + "Arn" + ] + }, + "Id": "Target0" + } + ] + } + }, + "nameserviceTaskRecordManagerRuleStopped66D08B70": { + "Type": "AWS::Events::Rule", + "Properties": { + "EventPattern": { + "source": [ + "aws.ecs" + ], + "detail-type": [ + "ECS Task State Change" + ], + "detail": { + "clusterArn": [ + { + "Fn::GetAtt": [ + "productionenvironmentclusterC6599D2D", + "Arn" + ] + } + ], + "lastStatus": [ + "STOPPED" + ], + "desiredStatus": [ + "STOPPED" + ] + } + }, + "State": "ENABLED", + "Targets": [ + { + "Arn": { + "Fn::GetAtt": [ + "nameserviceTaskRecordManagerEventsQueueF805A6C1", + "Arn" + ] + }, + "Id": "Target0" + } + ] + } + }, + "nameserviceTaskRecordManagerEventHandlerServiceRoleE66EE52A": { + "Type": "AWS::IAM::Role", + "Properties": { + "AssumeRolePolicyDocument": { + "Statement": [ + { + "Action": "sts:AssumeRole", + "Effect": "Allow", + "Principal": { + "Service": "lambda.amazonaws.com" + } + } + ], + "Version": "2012-10-17" + }, + "ManagedPolicyArns": [ + { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole" + ] + ] + } + ] + } + }, + "nameserviceTaskRecordManagerEventHandlerServiceRoleDefaultPolicy96DD8140": { + "Type": "AWS::IAM::Policy", + "Properties": { + "PolicyDocument": { + "Statement": [ + { + "Action": "ec2:DescribeNetworkInterfaces", + "Effect": "Allow", + "Resource": "*" + }, + { + "Action": [ + "route53:ChangeResourceRecordSets", + "route53:ListResourceRecordSets" + ], + "Effect": "Allow", + "Resource": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":route53:::hostedzone/", + { + "Ref": "zoneEB40FF1E" + } + ] + ] + } + }, + { + "Action": [ + "sqs:ReceiveMessage", + "sqs:ChangeMessageVisibility", + "sqs:GetQueueUrl", + "sqs:DeleteMessage", + "sqs:GetQueueAttributes" + ], + "Effect": "Allow", + "Resource": { + "Fn::GetAtt": [ + "nameserviceTaskRecordManagerEventsQueueF805A6C1", + "Arn" + ] + } + }, + { + "Action": [ + "dynamodb:BatchGetItem", + "dynamodb:GetRecords", + "dynamodb:GetShardIterator", + "dynamodb:Query", + "dynamodb:GetItem", + "dynamodb:Scan", + "dynamodb:ConditionCheckItem", + "dynamodb:BatchWriteItem", + "dynamodb:PutItem", + "dynamodb:UpdateItem", + "dynamodb:DeleteItem", + "dynamodb:DescribeTable" + ], + "Effect": "Allow", + "Resource": [ + { + "Fn::GetAtt": [ + "nameserviceTaskRecordManagerRecordsA4648C6E", + "Arn" + ] + }, + { + "Ref": "AWS::NoValue" + } + ] + } + ], + "Version": "2012-10-17" + }, + "PolicyName": "nameserviceTaskRecordManagerEventHandlerServiceRoleDefaultPolicy96DD8140", + "Roles": [ + { + "Ref": "nameserviceTaskRecordManagerEventHandlerServiceRoleE66EE52A" + } + ] + } + }, + "nameserviceTaskRecordManagerEventHandler4B8C6905": { + "Type": "AWS::Lambda::Function", + "Properties": { + "Code": { + "S3Bucket": { + "Ref": "AssetParameters8f06a3db22794ebc7ff89b4745fd706afd46e17816fe46da72e5125cabae725dS3Bucket1E7F92B6" + }, + "S3Key": { + "Fn::Join": [ + "", + [ + { + "Fn::Select": [ + 0, + { + "Fn::Split": [ + "||", + { + "Ref": "AssetParameters8f06a3db22794ebc7ff89b4745fd706afd46e17816fe46da72e5125cabae725dS3VersionKey86FCA825" + } + ] + } + ] + }, + { + "Fn::Select": [ + 1, + { + "Fn::Split": [ + "||", + { + "Ref": "AssetParameters8f06a3db22794ebc7ff89b4745fd706afd46e17816fe46da72e5125cabae725dS3VersionKey86FCA825" + } + ] + } + ] + } + ] + ] + } + }, + "Role": { + "Fn::GetAtt": [ + "nameserviceTaskRecordManagerEventHandlerServiceRoleE66EE52A", + "Arn" + ] + }, + "Environment": { + "Variables": { + "HOSTED_ZONE_ID": { + "Ref": "zoneEB40FF1E" + }, + "RECORD_NAME": "test-record.myexample.com", + "RECORDS_TABLE": { + "Ref": "nameserviceTaskRecordManagerRecordsA4648C6E" + }, + "CLUSTER_ARN": { + "Fn::GetAtt": [ + "productionenvironmentclusterC6599D2D", + "Arn" + ] + }, + "SERVICE_NAME": { + "Fn::GetAtt": [ + "nameserviceService8015C8D6", + "Name" + ] + } + } + }, + "Handler": "index.queue_handler", + "ReservedConcurrentExecutions": 1, + "Runtime": "python3.8", + "Timeout": 30 + }, + "DependsOn": [ + "nameserviceTaskRecordManagerEventHandlerServiceRoleDefaultPolicy96DD8140", + "nameserviceTaskRecordManagerEventHandlerServiceRoleE66EE52A" + ] + }, + "nameserviceTaskRecordManagerEventHandlerSqsEventSourceawsecsintegnameserviceTaskRecordManagerEventsQueueC5EE9A869F1EB155": { + "Type": "AWS::Lambda::EventSourceMapping", + "Properties": { + "FunctionName": { + "Ref": "nameserviceTaskRecordManagerEventHandler4B8C6905" + }, + "EventSourceArn": { + "Fn::GetAtt": [ + "nameserviceTaskRecordManagerEventsQueueF805A6C1", + "Arn" + ] + } + } + }, + "nameserviceTaskRecordManagerCleanupResourceProviderHandlerServiceRoleCCA462F0": { + "Type": "AWS::IAM::Role", + "Properties": { + "AssumeRolePolicyDocument": { + "Statement": [ + { + "Action": "sts:AssumeRole", + "Effect": "Allow", + "Principal": { + "Service": "lambda.amazonaws.com" + } + } + ], + "Version": "2012-10-17" + }, + "ManagedPolicyArns": [ + { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole" + ] + ] + } + ] + } + }, + "nameserviceTaskRecordManagerCleanupResourceProviderHandlerServiceRoleDefaultPolicy7D095576": { + "Type": "AWS::IAM::Policy", + "Properties": { + "PolicyDocument": { + "Statement": [ + { + "Action": [ + "route53:ChangeResourceRecordSets", + "route53:ListResourceRecordSets" + ], + "Effect": "Allow", + "Resource": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":route53:::hostedzone/", + { + "Ref": "zoneEB40FF1E" + } + ] + ] + } + } + ], + "Version": "2012-10-17" + }, + "PolicyName": "nameserviceTaskRecordManagerCleanupResourceProviderHandlerServiceRoleDefaultPolicy7D095576", + "Roles": [ + { + "Ref": "nameserviceTaskRecordManagerCleanupResourceProviderHandlerServiceRoleCCA462F0" + } + ] + } + }, + "nameserviceTaskRecordManagerCleanupResourceProviderHandler08068F99": { + "Type": "AWS::Lambda::Function", + "Properties": { + "Code": { + "S3Bucket": { + "Ref": "AssetParameters8f06a3db22794ebc7ff89b4745fd706afd46e17816fe46da72e5125cabae725dS3Bucket1E7F92B6" + }, + "S3Key": { + "Fn::Join": [ + "", + [ + { + "Fn::Select": [ + 0, + { + "Fn::Split": [ + "||", + { + "Ref": "AssetParameters8f06a3db22794ebc7ff89b4745fd706afd46e17816fe46da72e5125cabae725dS3VersionKey86FCA825" + } + ] + } + ] + }, + { + "Fn::Select": [ + 1, + { + "Fn::Split": [ + "||", + { + "Ref": "AssetParameters8f06a3db22794ebc7ff89b4745fd706afd46e17816fe46da72e5125cabae725dS3VersionKey86FCA825" + } + ] + } + ] + } + ] + ] + } + }, + "Role": { + "Fn::GetAtt": [ + "nameserviceTaskRecordManagerCleanupResourceProviderHandlerServiceRoleCCA462F0", + "Arn" + ] + }, + "Handler": "index.cleanup_resource_handler", + "Runtime": "python3.8", + "Timeout": 300 + }, + "DependsOn": [ + "nameserviceTaskRecordManagerCleanupResourceProviderHandlerServiceRoleDefaultPolicy7D095576", + "nameserviceTaskRecordManagerCleanupResourceProviderHandlerServiceRoleCCA462F0" + ] + }, + "nameserviceTaskRecordManagerCleanupResourceProviderframeworkonEventServiceRoleF0570BD0": { + "Type": "AWS::IAM::Role", + "Properties": { + "AssumeRolePolicyDocument": { + "Statement": [ + { + "Action": "sts:AssumeRole", + "Effect": "Allow", + "Principal": { + "Service": "lambda.amazonaws.com" + } + } + ], + "Version": "2012-10-17" + }, + "ManagedPolicyArns": [ + { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole" + ] + ] + } + ] + } + }, + "nameserviceTaskRecordManagerCleanupResourceProviderframeworkonEventServiceRoleDefaultPolicy350D6FAC": { + "Type": "AWS::IAM::Policy", + "Properties": { + "PolicyDocument": { + "Statement": [ + { + "Action": "lambda:InvokeFunction", + "Effect": "Allow", + "Resource": [ + { + "Fn::GetAtt": [ + "nameserviceTaskRecordManagerCleanupResourceProviderHandler08068F99", + "Arn" + ] + }, + { + "Fn::Join": [ + "", + [ + { + "Fn::GetAtt": [ + "nameserviceTaskRecordManagerCleanupResourceProviderHandler08068F99", + "Arn" + ] + }, + ":*" + ] + ] + } + ] + } + ], + "Version": "2012-10-17" + }, + "PolicyName": "nameserviceTaskRecordManagerCleanupResourceProviderframeworkonEventServiceRoleDefaultPolicy350D6FAC", + "Roles": [ + { + "Ref": "nameserviceTaskRecordManagerCleanupResourceProviderframeworkonEventServiceRoleF0570BD0" + } + ] + } + }, + "nameserviceTaskRecordManagerCleanupResourceProviderframeworkonEvent9B27C899": { + "Type": "AWS::Lambda::Function", + "Properties": { + "Code": { + "S3Bucket": { + "Ref": "AssetParameters8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9S3Bucket40DFAF90" + }, + "S3Key": { + "Fn::Join": [ + "", + [ + { + "Fn::Select": [ + 0, + { + "Fn::Split": [ + "||", + { + "Ref": "AssetParameters8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9S3VersionKey36104212" + } + ] + } + ] + }, + { + "Fn::Select": [ + 1, + { + "Fn::Split": [ + "||", + { + "Ref": "AssetParameters8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9S3VersionKey36104212" + } + ] + } + ] + } + ] + ] + } + }, + "Role": { + "Fn::GetAtt": [ + "nameserviceTaskRecordManagerCleanupResourceProviderframeworkonEventServiceRoleF0570BD0", + "Arn" + ] + }, + "Description": "AWS CDK resource provider framework - onEvent (aws-ecs-integ/name-service/TaskRecordManager/CleanupResourceProvider)", + "Environment": { + "Variables": { + "USER_ON_EVENT_FUNCTION_ARN": { + "Fn::GetAtt": [ + "nameserviceTaskRecordManagerCleanupResourceProviderHandler08068F99", + "Arn" + ] + } + } + }, + "Handler": "framework.onEvent", + "Runtime": "nodejs12.x", + "Timeout": 900 + }, + "DependsOn": [ + "nameserviceTaskRecordManagerCleanupResourceProviderframeworkonEventServiceRoleDefaultPolicy350D6FAC", + "nameserviceTaskRecordManagerCleanupResourceProviderframeworkonEventServiceRoleF0570BD0" + ] + }, + "nameserviceTaskRecordManagerCleanupE19F1043": { + "Type": "AWS::CloudFormation::CustomResource", + "Properties": { + "ServiceToken": { + "Fn::GetAtt": [ + "nameserviceTaskRecordManagerCleanupResourceProviderframeworkonEvent9B27C899", + "Arn" + ] + }, + "HostedZoneId": { + "Ref": "zoneEB40FF1E" + }, + "RecordName": "test-record.myexample.com" + }, + "UpdateReplacePolicy": "Delete", + "DeletionPolicy": "Delete" + }, + "nameserviceTaskRecordManagerPrimingCallCustomResourcePolicy376F02F0": { + "Type": "AWS::IAM::Policy", + "Properties": { + "PolicyDocument": { + "Statement": [ + { + "Action": "sqs:SendMessage", + "Effect": "Allow", + "Resource": { + "Fn::GetAtt": [ + "nameserviceTaskRecordManagerEventsQueueF805A6C1", + "Arn" + ] + } + } + ], + "Version": "2012-10-17" + }, + "PolicyName": "nameserviceTaskRecordManagerPrimingCallCustomResourcePolicy376F02F0", + "Roles": [ + { + "Ref": "AWS679f53fac002430cb0da5b7982bd2287ServiceRoleC1EA0FF2" + } + ] + }, + "DependsOn": [ + "nameserviceTaskRecordManagerEventHandler4B8C6905", + "nameserviceTaskRecordManagerEventHandlerServiceRoleDefaultPolicy96DD8140", + "nameserviceTaskRecordManagerEventHandlerServiceRoleE66EE52A", + "nameserviceTaskRecordManagerEventHandlerSqsEventSourceawsecsintegnameserviceTaskRecordManagerEventsQueueC5EE9A869F1EB155" + ] + }, + "nameserviceTaskRecordManagerPrimingCallE6113369": { + "Type": "Custom::AWS", + "Properties": { + "ServiceToken": { + "Fn::GetAtt": [ + "AWS679f53fac002430cb0da5b7982bd22872D164C4C", + "Arn" + ] + }, + "Create": { + "Fn::Join": [ + "", + [ + "{\"service\":\"SQS\",\"action\":\"sendMessage\",\"parameters\":{\"QueueUrl\":\"", + { + "Ref": "nameserviceTaskRecordManagerEventsQueueF805A6C1" + }, + "\",\"DelaySeconds\":10,\"MessageBody\":\"{ \\\"prime\\\": true }\",\"MessageAttributes\":{\"HostedZoneId\":{\"DataType\":\"String\",\"StringValue\":\"", + { + "Ref": "zoneEB40FF1E" + }, + "\"},\"RecordName\":{\"DataType\":\"String\",\"StringValue\":\"test-record\"}}},\"physicalResourceId\":{\"responsePath\":\"MessageId\"}}" + ] + ] + }, + "Update": { + "Fn::Join": [ + "", + [ + "{\"service\":\"SQS\",\"action\":\"sendMessage\",\"parameters\":{\"QueueUrl\":\"", + { + "Ref": "nameserviceTaskRecordManagerEventsQueueF805A6C1" + }, + "\",\"DelaySeconds\":10,\"MessageBody\":\"{ \\\"prime\\\": true }\",\"MessageAttributes\":{\"HostedZoneId\":{\"DataType\":\"String\",\"StringValue\":\"", + { + "Ref": "zoneEB40FF1E" + }, + "\"},\"RecordName\":{\"DataType\":\"String\",\"StringValue\":\"test-record\"}}},\"physicalResourceId\":{\"responsePath\":\"MessageId\"}}" + ] + ] + }, + "InstallLatestAwsSdk": true + }, + "DependsOn": [ + "nameserviceTaskRecordManagerEventHandler4B8C6905", + "nameserviceTaskRecordManagerEventHandlerServiceRoleDefaultPolicy96DD8140", + "nameserviceTaskRecordManagerEventHandlerServiceRoleE66EE52A", + "nameserviceTaskRecordManagerEventHandlerSqsEventSourceawsecsintegnameserviceTaskRecordManagerEventsQueueC5EE9A869F1EB155", + "nameserviceTaskRecordManagerPrimingCallCustomResourcePolicy376F02F0" + ], + "UpdateReplacePolicy": "Delete", + "DeletionPolicy": "Delete" + }, + "AWS679f53fac002430cb0da5b7982bd2287ServiceRoleC1EA0FF2": { + "Type": "AWS::IAM::Role", + "Properties": { + "AssumeRolePolicyDocument": { + "Statement": [ + { + "Action": "sts:AssumeRole", + "Effect": "Allow", + "Principal": { + "Service": "lambda.amazonaws.com" + } + } + ], + "Version": "2012-10-17" + }, + "ManagedPolicyArns": [ + { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole" + ] + ] + } + ] + } + }, + "AWS679f53fac002430cb0da5b7982bd22872D164C4C": { + "Type": "AWS::Lambda::Function", + "Properties": { + "Code": { + "S3Bucket": { + "Ref": "AssetParametersdad5595646c3e39df600f872d08887f9fb408c42b22f568bc66c22979f476981S3Bucket0C90C820" + }, + "S3Key": { + "Fn::Join": [ + "", + [ + { + "Fn::Select": [ + 0, + { + "Fn::Split": [ + "||", + { + "Ref": "AssetParametersdad5595646c3e39df600f872d08887f9fb408c42b22f568bc66c22979f476981S3VersionKey2007A749" + } + ] + } + ] + }, + { + "Fn::Select": [ + 1, + { + "Fn::Split": [ + "||", + { + "Ref": "AssetParametersdad5595646c3e39df600f872d08887f9fb408c42b22f568bc66c22979f476981S3VersionKey2007A749" + } + ] + } + ] + } + ] + ] + } + }, + "Role": { + "Fn::GetAtt": [ + "AWS679f53fac002430cb0da5b7982bd2287ServiceRoleC1EA0FF2", + "Arn" + ] + }, + "Handler": "index.handler", + "Runtime": "nodejs12.x", + "Timeout": 120 + }, + "DependsOn": [ + "AWS679f53fac002430cb0da5b7982bd2287ServiceRoleC1EA0FF2" + ] + } + }, + "Parameters": { + "AssetParameters8f06a3db22794ebc7ff89b4745fd706afd46e17816fe46da72e5125cabae725dS3Bucket1E7F92B6": { + "Type": "String", + "Description": "S3 bucket for asset \"8f06a3db22794ebc7ff89b4745fd706afd46e17816fe46da72e5125cabae725d\"" + }, + "AssetParameters8f06a3db22794ebc7ff89b4745fd706afd46e17816fe46da72e5125cabae725dS3VersionKey86FCA825": { + "Type": "String", + "Description": "S3 key for asset version \"8f06a3db22794ebc7ff89b4745fd706afd46e17816fe46da72e5125cabae725d\"" + }, + "AssetParameters8f06a3db22794ebc7ff89b4745fd706afd46e17816fe46da72e5125cabae725dArtifactHash0F81F2AB": { + "Type": "String", + "Description": "Artifact hash for asset \"8f06a3db22794ebc7ff89b4745fd706afd46e17816fe46da72e5125cabae725d\"" + }, + "AssetParameters8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9S3Bucket40DFAF90": { + "Type": "String", + "Description": "S3 bucket for asset \"8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9\"" + }, + "AssetParameters8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9S3VersionKey36104212": { + "Type": "String", + "Description": "S3 key for asset version \"8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9\"" + }, + "AssetParameters8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9ArtifactHash26B5BCAA": { + "Type": "String", + "Description": "Artifact hash for asset \"8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9\"" + }, + "AssetParametersdad5595646c3e39df600f872d08887f9fb408c42b22f568bc66c22979f476981S3Bucket0C90C820": { + "Type": "String", + "Description": "S3 bucket for asset \"dad5595646c3e39df600f872d08887f9fb408c42b22f568bc66c22979f476981\"" + }, + "AssetParametersdad5595646c3e39df600f872d08887f9fb408c42b22f568bc66c22979f476981S3VersionKey2007A749": { + "Type": "String", + "Description": "S3 key for asset version \"dad5595646c3e39df600f872d08887f9fb408c42b22f568bc66c22979f476981\"" + }, + "AssetParametersdad5595646c3e39df600f872d08887f9fb408c42b22f568bc66c22979f476981ArtifactHash0C4FC28E": { + "Type": "String", + "Description": "Artifact hash for asset \"dad5595646c3e39df600f872d08887f9fb408c42b22f568bc66c22979f476981\"" + } + }, + "Outputs": { + "DnsName": { + "Value": "test-record.myexample.com" + }, + "DnsServer": { + "Value": { + "Fn::Select": [ + 0, + { + "Fn::GetAtt": [ + "zoneEB40FF1E", + "NameServers" + ] + } + ] + } + } + } +} \ No newline at end of file diff --git a/packages/@aws-cdk-containers/ecs-service-extensions/test/assign-public-ip.integ.snapshot/cdk.out b/packages/@aws-cdk-containers/ecs-service-extensions/test/assign-public-ip.integ.snapshot/cdk.out new file mode 100644 index 0000000000000..90bef2e09ad39 --- /dev/null +++ b/packages/@aws-cdk-containers/ecs-service-extensions/test/assign-public-ip.integ.snapshot/cdk.out @@ -0,0 +1 @@ +{"version":"17.0.0"} \ No newline at end of file diff --git a/packages/@aws-cdk-containers/ecs-service-extensions/test/assign-public-ip.integ.snapshot/manifest.json b/packages/@aws-cdk-containers/ecs-service-extensions/test/assign-public-ip.integ.snapshot/manifest.json new file mode 100644 index 0000000000000..b701f7b86340d --- /dev/null +++ b/packages/@aws-cdk-containers/ecs-service-extensions/test/assign-public-ip.integ.snapshot/manifest.json @@ -0,0 +1,361 @@ +{ + "version": "17.0.0", + "artifacts": { + "Tree": { + "type": "cdk:tree", + "properties": { + "file": "tree.json" + }, + "metadata": {} + }, + "aws-ecs-integ": { + "type": "aws:cloudformation:stack", + "environment": "aws://unknown-account/unknown-region", + "properties": { + "templateFile": "aws-ecs-integ.template.json", + "validateOnSynth": false + }, + "metadata": { + "/aws-ecs-integ": [ + { + "type": "aws:cdk:asset", + "data": { + "path": "asset.8f06a3db22794ebc7ff89b4745fd706afd46e17816fe46da72e5125cabae725d", + "id": "8f06a3db22794ebc7ff89b4745fd706afd46e17816fe46da72e5125cabae725d", + "packaging": "zip", + "sourceHash": "8f06a3db22794ebc7ff89b4745fd706afd46e17816fe46da72e5125cabae725d", + "s3BucketParameter": "AssetParameters8f06a3db22794ebc7ff89b4745fd706afd46e17816fe46da72e5125cabae725dS3Bucket1E7F92B6", + "s3KeyParameter": "AssetParameters8f06a3db22794ebc7ff89b4745fd706afd46e17816fe46da72e5125cabae725dS3VersionKey86FCA825", + "artifactHashParameter": "AssetParameters8f06a3db22794ebc7ff89b4745fd706afd46e17816fe46da72e5125cabae725dArtifactHash0F81F2AB" + } + }, + { + "type": "aws:cdk:asset", + "data": { + "path": "asset.8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9", + "id": "8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9", + "packaging": "zip", + "sourceHash": "8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9", + "s3BucketParameter": "AssetParameters8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9S3Bucket40DFAF90", + "s3KeyParameter": "AssetParameters8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9S3VersionKey36104212", + "artifactHashParameter": "AssetParameters8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9ArtifactHash26B5BCAA" + } + }, + { + "type": "aws:cdk:asset", + "data": { + "path": "asset.dad5595646c3e39df600f872d08887f9fb408c42b22f568bc66c22979f476981", + "id": "dad5595646c3e39df600f872d08887f9fb408c42b22f568bc66c22979f476981", + "packaging": "zip", + "sourceHash": "dad5595646c3e39df600f872d08887f9fb408c42b22f568bc66c22979f476981", + "s3BucketParameter": "AssetParametersdad5595646c3e39df600f872d08887f9fb408c42b22f568bc66c22979f476981S3Bucket0C90C820", + "s3KeyParameter": "AssetParametersdad5595646c3e39df600f872d08887f9fb408c42b22f568bc66c22979f476981S3VersionKey2007A749", + "artifactHashParameter": "AssetParametersdad5595646c3e39df600f872d08887f9fb408c42b22f568bc66c22979f476981ArtifactHash0C4FC28E" + } + } + ], + "/aws-ecs-integ/vpc/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "vpcA2121C38" + } + ], + "/aws-ecs-integ/vpc/publicSubnet1/Subnet": [ + { + "type": "aws:cdk:logicalId", + "data": "vpcpublicSubnet1SubnetA635257E" + } + ], + "/aws-ecs-integ/vpc/publicSubnet1/RouteTable": [ + { + "type": "aws:cdk:logicalId", + "data": "vpcpublicSubnet1RouteTableA38152FE" + } + ], + "/aws-ecs-integ/vpc/publicSubnet1/RouteTableAssociation": [ + { + "type": "aws:cdk:logicalId", + "data": "vpcpublicSubnet1RouteTableAssociationB46101B8" + } + ], + "/aws-ecs-integ/vpc/publicSubnet1/DefaultRoute": [ + { + "type": "aws:cdk:logicalId", + "data": "vpcpublicSubnet1DefaultRouteF0973989" + } + ], + "/aws-ecs-integ/vpc/publicSubnet2/Subnet": [ + { + "type": "aws:cdk:logicalId", + "data": "vpcpublicSubnet2Subnet027D165B" + } + ], + "/aws-ecs-integ/vpc/publicSubnet2/RouteTable": [ + { + "type": "aws:cdk:logicalId", + "data": "vpcpublicSubnet2RouteTableA6135437" + } + ], + "/aws-ecs-integ/vpc/publicSubnet2/RouteTableAssociation": [ + { + "type": "aws:cdk:logicalId", + "data": "vpcpublicSubnet2RouteTableAssociation73F6478A" + } + ], + "/aws-ecs-integ/vpc/publicSubnet2/DefaultRoute": [ + { + "type": "aws:cdk:logicalId", + "data": "vpcpublicSubnet2DefaultRoute13685A07" + } + ], + "/aws-ecs-integ/vpc/IGW": [ + { + "type": "aws:cdk:logicalId", + "data": "vpcIGWE57CBDCA" + } + ], + "/aws-ecs-integ/vpc/VPCGW": [ + { + "type": "aws:cdk:logicalId", + "data": "vpcVPCGW7984C166" + } + ], + "/aws-ecs-integ/zone/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "zoneEB40FF1E" + } + ], + "/aws-ecs-integ/laterRecord/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "laterRecordD393EDE6" + } + ], + "/aws-ecs-integ/production-environment-cluster/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "productionenvironmentclusterC6599D2D" + } + ], + "/aws-ecs-integ/name-task-definition/TaskRole/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "nametaskdefinitionTaskRole50FE844E" + } + ], + "/aws-ecs-integ/name-task-definition/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "nametaskdefinition690762BB" + } + ], + "/aws-ecs-integ/name-service/Service": [ + { + "type": "aws:cdk:logicalId", + "data": "nameserviceService8015C8D6" + } + ], + "/aws-ecs-integ/name-service/SecurityGroup/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "nameserviceSecurityGroup33F4662C" + } + ], + "/aws-ecs-integ/name-service/TaskRecordManager/EventsDL/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "nameserviceTaskRecordManagerEventsDLB8F13E1E" + } + ], + "/aws-ecs-integ/name-service/TaskRecordManager/EventsQueue/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "nameserviceTaskRecordManagerEventsQueueF805A6C1" + } + ], + "/aws-ecs-integ/name-service/TaskRecordManager/EventsQueue/Policy/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "nameserviceTaskRecordManagerEventsQueuePolicy65CC6F9E" + } + ], + "/aws-ecs-integ/name-service/TaskRecordManager/Records/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "nameserviceTaskRecordManagerRecordsA4648C6E" + } + ], + "/aws-ecs-integ/name-service/TaskRecordManager/RuleRunning/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "nameserviceTaskRecordManagerRuleRunningCD85F46F" + } + ], + "/aws-ecs-integ/name-service/TaskRecordManager/RuleStopped/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "nameserviceTaskRecordManagerRuleStopped66D08B70" + } + ], + "/aws-ecs-integ/name-service/TaskRecordManager/EventHandler/ServiceRole/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "nameserviceTaskRecordManagerEventHandlerServiceRoleE66EE52A" + } + ], + "/aws-ecs-integ/name-service/TaskRecordManager/EventHandler/ServiceRole/DefaultPolicy/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "nameserviceTaskRecordManagerEventHandlerServiceRoleDefaultPolicy96DD8140" + } + ], + "/aws-ecs-integ/name-service/TaskRecordManager/EventHandler/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "nameserviceTaskRecordManagerEventHandler4B8C6905" + } + ], + "/aws-ecs-integ/name-service/TaskRecordManager/EventHandler/SqsEventSource:awsecsintegnameserviceTaskRecordManagerEventsQueueC5EE9A86/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "nameserviceTaskRecordManagerEventHandlerSqsEventSourceawsecsintegnameserviceTaskRecordManagerEventsQueueC5EE9A869F1EB155" + } + ], + "/aws-ecs-integ/name-service/TaskRecordManager/CleanupResourceProviderHandler/ServiceRole/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "nameserviceTaskRecordManagerCleanupResourceProviderHandlerServiceRoleCCA462F0" + } + ], + "/aws-ecs-integ/name-service/TaskRecordManager/CleanupResourceProviderHandler/ServiceRole/DefaultPolicy/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "nameserviceTaskRecordManagerCleanupResourceProviderHandlerServiceRoleDefaultPolicy7D095576" + } + ], + "/aws-ecs-integ/name-service/TaskRecordManager/CleanupResourceProviderHandler/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "nameserviceTaskRecordManagerCleanupResourceProviderHandler08068F99" + } + ], + "/aws-ecs-integ/name-service/TaskRecordManager/CleanupResourceProvider/framework-onEvent/ServiceRole/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "nameserviceTaskRecordManagerCleanupResourceProviderframeworkonEventServiceRoleF0570BD0" + } + ], + "/aws-ecs-integ/name-service/TaskRecordManager/CleanupResourceProvider/framework-onEvent/ServiceRole/DefaultPolicy/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "nameserviceTaskRecordManagerCleanupResourceProviderframeworkonEventServiceRoleDefaultPolicy350D6FAC" + } + ], + "/aws-ecs-integ/name-service/TaskRecordManager/CleanupResourceProvider/framework-onEvent/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "nameserviceTaskRecordManagerCleanupResourceProviderframeworkonEvent9B27C899" + } + ], + "/aws-ecs-integ/name-service/TaskRecordManager/Cleanup/Default": [ + { + "type": "aws:cdk:logicalId", + "data": "nameserviceTaskRecordManagerCleanupE19F1043" + } + ], + "/aws-ecs-integ/name-service/TaskRecordManager/PrimingCall/CustomResourcePolicy/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "nameserviceTaskRecordManagerPrimingCallCustomResourcePolicy376F02F0" + } + ], + "/aws-ecs-integ/name-service/TaskRecordManager/PrimingCall/Resource/Default": [ + { + "type": "aws:cdk:logicalId", + "data": "nameserviceTaskRecordManagerPrimingCallE6113369" + } + ], + "/aws-ecs-integ/AssetParameters/8f06a3db22794ebc7ff89b4745fd706afd46e17816fe46da72e5125cabae725d/S3Bucket": [ + { + "type": "aws:cdk:logicalId", + "data": "AssetParameters8f06a3db22794ebc7ff89b4745fd706afd46e17816fe46da72e5125cabae725dS3Bucket1E7F92B6" + } + ], + "/aws-ecs-integ/AssetParameters/8f06a3db22794ebc7ff89b4745fd706afd46e17816fe46da72e5125cabae725d/S3VersionKey": [ + { + "type": "aws:cdk:logicalId", + "data": "AssetParameters8f06a3db22794ebc7ff89b4745fd706afd46e17816fe46da72e5125cabae725dS3VersionKey86FCA825" + } + ], + "/aws-ecs-integ/AssetParameters/8f06a3db22794ebc7ff89b4745fd706afd46e17816fe46da72e5125cabae725d/ArtifactHash": [ + { + "type": "aws:cdk:logicalId", + "data": "AssetParameters8f06a3db22794ebc7ff89b4745fd706afd46e17816fe46da72e5125cabae725dArtifactHash0F81F2AB" + } + ], + "/aws-ecs-integ/AssetParameters/8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9/S3Bucket": [ + { + "type": "aws:cdk:logicalId", + "data": "AssetParameters8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9S3Bucket40DFAF90" + } + ], + "/aws-ecs-integ/AssetParameters/8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9/S3VersionKey": [ + { + "type": "aws:cdk:logicalId", + "data": "AssetParameters8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9S3VersionKey36104212" + } + ], + "/aws-ecs-integ/AssetParameters/8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9/ArtifactHash": [ + { + "type": "aws:cdk:logicalId", + "data": "AssetParameters8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9ArtifactHash26B5BCAA" + } + ], + "/aws-ecs-integ/AssetParameters/dad5595646c3e39df600f872d08887f9fb408c42b22f568bc66c22979f476981/S3Bucket": [ + { + "type": "aws:cdk:logicalId", + "data": "AssetParametersdad5595646c3e39df600f872d08887f9fb408c42b22f568bc66c22979f476981S3Bucket0C90C820" + } + ], + "/aws-ecs-integ/AssetParameters/dad5595646c3e39df600f872d08887f9fb408c42b22f568bc66c22979f476981/S3VersionKey": [ + { + "type": "aws:cdk:logicalId", + "data": "AssetParametersdad5595646c3e39df600f872d08887f9fb408c42b22f568bc66c22979f476981S3VersionKey2007A749" + } + ], + "/aws-ecs-integ/AssetParameters/dad5595646c3e39df600f872d08887f9fb408c42b22f568bc66c22979f476981/ArtifactHash": [ + { + "type": "aws:cdk:logicalId", + "data": "AssetParametersdad5595646c3e39df600f872d08887f9fb408c42b22f568bc66c22979f476981ArtifactHash0C4FC28E" + } + ], + "/aws-ecs-integ/AWS679f53fac002430cb0da5b7982bd2287/ServiceRole/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "AWS679f53fac002430cb0da5b7982bd2287ServiceRoleC1EA0FF2" + } + ], + "/aws-ecs-integ/AWS679f53fac002430cb0da5b7982bd2287/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "AWS679f53fac002430cb0da5b7982bd22872D164C4C" + } + ], + "/aws-ecs-integ/DnsName": [ + { + "type": "aws:cdk:logicalId", + "data": "DnsName" + } + ], + "/aws-ecs-integ/DnsServer": [ + { + "type": "aws:cdk:logicalId", + "data": "DnsServer" + } + ] + }, + "displayName": "aws-ecs-integ" + } + } +} \ No newline at end of file diff --git a/packages/@aws-cdk-containers/ecs-service-extensions/test/assign-public-ip.integ.snapshot/tree.json b/packages/@aws-cdk-containers/ecs-service-extensions/test/assign-public-ip.integ.snapshot/tree.json new file mode 100644 index 0000000000000..ac161912535d9 --- /dev/null +++ b/packages/@aws-cdk-containers/ecs-service-extensions/test/assign-public-ip.integ.snapshot/tree.json @@ -0,0 +1,2036 @@ +{ + "version": "tree-0.1", + "tree": { + "id": "App", + "path": "", + "children": { + "Tree": { + "id": "Tree", + "path": "Tree", + "constructInfo": { + "fqn": "@aws-cdk/core.Construct", + "version": "0.0.0" + } + }, + "aws-ecs-integ": { + "id": "aws-ecs-integ", + "path": "aws-ecs-integ", + "children": { + "vpc": { + "id": "vpc", + "path": "aws-ecs-integ/vpc", + "children": { + "Resource": { + "id": "Resource", + "path": "aws-ecs-integ/vpc/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::VPC", + "aws:cdk:cloudformation:props": { + "cidrBlock": "10.0.0.0/16", + "enableDnsHostnames": true, + "enableDnsSupport": true, + "instanceTenancy": "default", + "tags": [ + { + "key": "Name", + "value": "aws-ecs-integ/vpc" + } + ] + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + }, + "publicSubnet1": { + "id": "publicSubnet1", + "path": "aws-ecs-integ/vpc/publicSubnet1", + "children": { + "Subnet": { + "id": "Subnet", + "path": "aws-ecs-integ/vpc/publicSubnet1/Subnet", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::Subnet", + "aws:cdk:cloudformation:props": { + "vpcId": { + "Ref": "vpcA2121C38" + }, + "availabilityZone": { + "Fn::Select": [ + 0, + { + "Fn::GetAZs": "" + } + ] + }, + "cidrBlock": "10.0.0.0/24", + "mapPublicIpOnLaunch": true, + "tags": [ + { + "key": "aws-cdk:subnet-name", + "value": "public" + }, + { + "key": "aws-cdk:subnet-type", + "value": "Public" + }, + { + "key": "Name", + "value": "aws-ecs-integ/vpc/publicSubnet1" + } + ] + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + }, + "Acl": { + "id": "Acl", + "path": "aws-ecs-integ/vpc/publicSubnet1/Acl", + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + }, + "RouteTable": { + "id": "RouteTable", + "path": "aws-ecs-integ/vpc/publicSubnet1/RouteTable", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::RouteTable", + "aws:cdk:cloudformation:props": { + "vpcId": { + "Ref": "vpcA2121C38" + }, + "tags": [ + { + "key": "Name", + "value": "aws-ecs-integ/vpc/publicSubnet1" + } + ] + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + }, + "RouteTableAssociation": { + "id": "RouteTableAssociation", + "path": "aws-ecs-integ/vpc/publicSubnet1/RouteTableAssociation", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::SubnetRouteTableAssociation", + "aws:cdk:cloudformation:props": { + "routeTableId": { + "Ref": "vpcpublicSubnet1RouteTableA38152FE" + }, + "subnetId": { + "Ref": "vpcpublicSubnet1SubnetA635257E" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + }, + "DefaultRoute": { + "id": "DefaultRoute", + "path": "aws-ecs-integ/vpc/publicSubnet1/DefaultRoute", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::Route", + "aws:cdk:cloudformation:props": { + "routeTableId": { + "Ref": "vpcpublicSubnet1RouteTableA38152FE" + }, + "destinationCidrBlock": "0.0.0.0/0", + "gatewayId": { + "Ref": "vpcIGWE57CBDCA" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + }, + "publicSubnet2": { + "id": "publicSubnet2", + "path": "aws-ecs-integ/vpc/publicSubnet2", + "children": { + "Subnet": { + "id": "Subnet", + "path": "aws-ecs-integ/vpc/publicSubnet2/Subnet", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::Subnet", + "aws:cdk:cloudformation:props": { + "vpcId": { + "Ref": "vpcA2121C38" + }, + "availabilityZone": { + "Fn::Select": [ + 1, + { + "Fn::GetAZs": "" + } + ] + }, + "cidrBlock": "10.0.1.0/24", + "mapPublicIpOnLaunch": true, + "tags": [ + { + "key": "aws-cdk:subnet-name", + "value": "public" + }, + { + "key": "aws-cdk:subnet-type", + "value": "Public" + }, + { + "key": "Name", + "value": "aws-ecs-integ/vpc/publicSubnet2" + } + ] + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + }, + "Acl": { + "id": "Acl", + "path": "aws-ecs-integ/vpc/publicSubnet2/Acl", + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + }, + "RouteTable": { + "id": "RouteTable", + "path": "aws-ecs-integ/vpc/publicSubnet2/RouteTable", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::RouteTable", + "aws:cdk:cloudformation:props": { + "vpcId": { + "Ref": "vpcA2121C38" + }, + "tags": [ + { + "key": "Name", + "value": "aws-ecs-integ/vpc/publicSubnet2" + } + ] + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + }, + "RouteTableAssociation": { + "id": "RouteTableAssociation", + "path": "aws-ecs-integ/vpc/publicSubnet2/RouteTableAssociation", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::SubnetRouteTableAssociation", + "aws:cdk:cloudformation:props": { + "routeTableId": { + "Ref": "vpcpublicSubnet2RouteTableA6135437" + }, + "subnetId": { + "Ref": "vpcpublicSubnet2Subnet027D165B" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + }, + "DefaultRoute": { + "id": "DefaultRoute", + "path": "aws-ecs-integ/vpc/publicSubnet2/DefaultRoute", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::Route", + "aws:cdk:cloudformation:props": { + "routeTableId": { + "Ref": "vpcpublicSubnet2RouteTableA6135437" + }, + "destinationCidrBlock": "0.0.0.0/0", + "gatewayId": { + "Ref": "vpcIGWE57CBDCA" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + }, + "IGW": { + "id": "IGW", + "path": "aws-ecs-integ/vpc/IGW", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::InternetGateway", + "aws:cdk:cloudformation:props": { + "tags": [ + { + "key": "Name", + "value": "aws-ecs-integ/vpc" + } + ] + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + }, + "VPCGW": { + "id": "VPCGW", + "path": "aws-ecs-integ/vpc/VPCGW", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::VPCGatewayAttachment", + "aws:cdk:cloudformation:props": { + "vpcId": { + "Ref": "vpcA2121C38" + }, + "internetGatewayId": { + "Ref": "vpcIGWE57CBDCA" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + }, + "zone": { + "id": "zone", + "path": "aws-ecs-integ/zone", + "children": { + "Resource": { + "id": "Resource", + "path": "aws-ecs-integ/zone/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::Route53::HostedZone", + "aws:cdk:cloudformation:props": { + "name": "myexample.com." + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + }, + "laterRecord": { + "id": "laterRecord", + "path": "aws-ecs-integ/laterRecord", + "children": { + "Resource": { + "id": "Resource", + "path": "aws-ecs-integ/laterRecord/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::Route53::RecordSet", + "aws:cdk:cloudformation:props": { + "name": "u-record.myexample.com.", + "type": "CNAME", + "hostedZoneId": { + "Ref": "zoneEB40FF1E" + }, + "resourceRecords": [ + "console.aws.amazon.com" + ], + "ttl": "1800" + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + }, + "production": { + "id": "production", + "path": "aws-ecs-integ/production", + "constructInfo": { + "fqn": "@aws-cdk/core.Construct", + "version": "0.0.0" + } + }, + "production-environment-cluster": { + "id": "production-environment-cluster", + "path": "aws-ecs-integ/production-environment-cluster", + "children": { + "Resource": { + "id": "Resource", + "path": "aws-ecs-integ/production-environment-cluster/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::ECS::Cluster", + "aws:cdk:cloudformation:props": {} + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + }, + "name": { + "id": "name", + "path": "aws-ecs-integ/name", + "constructInfo": { + "fqn": "@aws-cdk/core.Construct", + "version": "0.0.0" + } + }, + "name-task-definition": { + "id": "name-task-definition", + "path": "aws-ecs-integ/name-task-definition", + "children": { + "TaskRole": { + "id": "TaskRole", + "path": "aws-ecs-integ/name-task-definition/TaskRole", + "children": { + "Resource": { + "id": "Resource", + "path": "aws-ecs-integ/name-task-definition/TaskRole/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::IAM::Role", + "aws:cdk:cloudformation:props": { + "assumeRolePolicyDocument": { + "Statement": [ + { + "Action": "sts:AssumeRole", + "Effect": "Allow", + "Principal": { + "Service": "ecs-tasks.amazonaws.com" + } + } + ], + "Version": "2012-10-17" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + }, + "Resource": { + "id": "Resource", + "path": "aws-ecs-integ/name-task-definition/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::ECS::TaskDefinition", + "aws:cdk:cloudformation:props": { + "containerDefinitions": [ + { + "cpu": 256, + "essential": true, + "image": "nathanpeck/name", + "memory": 512, + "name": "app", + "portMappings": [ + { + "containerPort": 80, + "protocol": "tcp" + } + ], + "ulimits": [ + { + "name": "nofile", + "softLimit": 1024000, + "hardLimit": 1024000 + } + ], + "environment": [ + { + "name": "PORT", + "value": "80" + } + ] + } + ], + "cpu": "256", + "family": "awsecsintegnametaskdefinition0EA6A1A0", + "memory": "512", + "networkMode": "awsvpc", + "requiresCompatibilities": [ + "EC2", + "FARGATE" + ], + "taskRoleArn": { + "Fn::GetAtt": [ + "nametaskdefinitionTaskRole50FE844E", + "Arn" + ] + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + }, + "app": { + "id": "app", + "path": "aws-ecs-integ/name-task-definition/app", + "constructInfo": { + "fqn": "@aws-cdk/core.Construct", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + }, + "name-service": { + "id": "name-service", + "path": "aws-ecs-integ/name-service", + "children": { + "Service": { + "id": "Service", + "path": "aws-ecs-integ/name-service/Service", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::ECS::Service", + "aws:cdk:cloudformation:props": { + "cluster": { + "Ref": "productionenvironmentclusterC6599D2D" + }, + "deploymentConfiguration": { + "maximumPercent": 200, + "minimumHealthyPercent": 100 + }, + "desiredCount": 1, + "enableEcsManagedTags": false, + "launchType": "FARGATE", + "networkConfiguration": { + "awsvpcConfiguration": { + "assignPublicIp": "ENABLED", + "subnets": [ + { + "Ref": "vpcpublicSubnet1SubnetA635257E" + }, + { + "Ref": "vpcpublicSubnet2Subnet027D165B" + } + ], + "securityGroups": [ + { + "Fn::GetAtt": [ + "nameserviceSecurityGroup33F4662C", + "GroupId" + ] + } + ] + } + }, + "taskDefinition": { + "Ref": "nametaskdefinition690762BB" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + }, + "SecurityGroup": { + "id": "SecurityGroup", + "path": "aws-ecs-integ/name-service/SecurityGroup", + "children": { + "Resource": { + "id": "Resource", + "path": "aws-ecs-integ/name-service/SecurityGroup/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::SecurityGroup", + "aws:cdk:cloudformation:props": { + "groupDescription": "aws-ecs-integ/name-service/SecurityGroup", + "securityGroupEgress": [ + { + "cidrIp": "0.0.0.0/0", + "description": "Allow all outbound traffic by default", + "ipProtocol": "-1" + } + ], + "securityGroupIngress": [ + { + "cidrIp": "0.0.0.0/0", + "ipProtocol": "tcp", + "fromPort": 80, + "toPort": 80, + "description": "Accept inbound traffic on traffic port from anywhere" + } + ], + "vpcId": { + "Ref": "vpcA2121C38" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + }, + "TaskRecordManager": { + "id": "TaskRecordManager", + "path": "aws-ecs-integ/name-service/TaskRecordManager", + "children": { + "EventsDL": { + "id": "EventsDL", + "path": "aws-ecs-integ/name-service/TaskRecordManager/EventsDL", + "children": { + "Resource": { + "id": "Resource", + "path": "aws-ecs-integ/name-service/TaskRecordManager/EventsDL/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::SQS::Queue", + "aws:cdk:cloudformation:props": { + "messageRetentionPeriod": 1209600 + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + }, + "EventsQueue": { + "id": "EventsQueue", + "path": "aws-ecs-integ/name-service/TaskRecordManager/EventsQueue", + "children": { + "Resource": { + "id": "Resource", + "path": "aws-ecs-integ/name-service/TaskRecordManager/EventsQueue/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::SQS::Queue", + "aws:cdk:cloudformation:props": { + "redrivePolicy": { + "deadLetterTargetArn": { + "Fn::GetAtt": [ + "nameserviceTaskRecordManagerEventsDLB8F13E1E", + "Arn" + ] + }, + "maxReceiveCount": 500 + }, + "visibilityTimeout": 30 + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + }, + "Policy": { + "id": "Policy", + "path": "aws-ecs-integ/name-service/TaskRecordManager/EventsQueue/Policy", + "children": { + "Resource": { + "id": "Resource", + "path": "aws-ecs-integ/name-service/TaskRecordManager/EventsQueue/Policy/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::SQS::QueuePolicy", + "aws:cdk:cloudformation:props": { + "policyDocument": { + "Statement": [ + { + "Action": [ + "sqs:SendMessage", + "sqs:GetQueueAttributes", + "sqs:GetQueueUrl" + ], + "Condition": { + "ArnEquals": { + "aws:SourceArn": { + "Fn::GetAtt": [ + "nameserviceTaskRecordManagerRuleRunningCD85F46F", + "Arn" + ] + } + } + }, + "Effect": "Allow", + "Principal": { + "Service": "events.amazonaws.com" + }, + "Resource": { + "Fn::GetAtt": [ + "nameserviceTaskRecordManagerEventsQueueF805A6C1", + "Arn" + ] + } + }, + { + "Action": [ + "sqs:SendMessage", + "sqs:GetQueueAttributes", + "sqs:GetQueueUrl" + ], + "Condition": { + "ArnEquals": { + "aws:SourceArn": { + "Fn::GetAtt": [ + "nameserviceTaskRecordManagerRuleStopped66D08B70", + "Arn" + ] + } + } + }, + "Effect": "Allow", + "Principal": { + "Service": "events.amazonaws.com" + }, + "Resource": { + "Fn::GetAtt": [ + "nameserviceTaskRecordManagerEventsQueueF805A6C1", + "Arn" + ] + } + } + ], + "Version": "2012-10-17" + }, + "queues": [ + { + "Ref": "nameserviceTaskRecordManagerEventsQueueF805A6C1" + } + ] + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + }, + "Records": { + "id": "Records", + "path": "aws-ecs-integ/name-service/TaskRecordManager/Records", + "children": { + "Resource": { + "id": "Resource", + "path": "aws-ecs-integ/name-service/TaskRecordManager/Records/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::DynamoDB::Table", + "aws:cdk:cloudformation:props": { + "keySchema": [ + { + "attributeName": "cluster_service", + "keyType": "HASH" + } + ], + "attributeDefinitions": [ + { + "attributeName": "cluster_service", + "attributeType": "S" + } + ], + "billingMode": "PAY_PER_REQUEST" + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + }, + "ScalingRole": { + "id": "ScalingRole", + "path": "aws-ecs-integ/name-service/TaskRecordManager/Records/ScalingRole", + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + }, + "RuleRunning": { + "id": "RuleRunning", + "path": "aws-ecs-integ/name-service/TaskRecordManager/RuleRunning", + "children": { + "Resource": { + "id": "Resource", + "path": "aws-ecs-integ/name-service/TaskRecordManager/RuleRunning/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::Events::Rule", + "aws:cdk:cloudformation:props": { + "eventPattern": { + "source": [ + "aws.ecs" + ], + "detail-type": [ + "ECS Task State Change" + ], + "detail": { + "clusterArn": [ + { + "Fn::GetAtt": [ + "productionenvironmentclusterC6599D2D", + "Arn" + ] + } + ], + "lastStatus": [ + "RUNNING" + ], + "desiredStatus": [ + "RUNNING" + ] + } + }, + "state": "ENABLED", + "targets": [ + { + "id": "Target0", + "arn": { + "Fn::GetAtt": [ + "nameserviceTaskRecordManagerEventsQueueF805A6C1", + "Arn" + ] + } + } + ] + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + }, + "RuleStopped": { + "id": "RuleStopped", + "path": "aws-ecs-integ/name-service/TaskRecordManager/RuleStopped", + "children": { + "Resource": { + "id": "Resource", + "path": "aws-ecs-integ/name-service/TaskRecordManager/RuleStopped/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::Events::Rule", + "aws:cdk:cloudformation:props": { + "eventPattern": { + "source": [ + "aws.ecs" + ], + "detail-type": [ + "ECS Task State Change" + ], + "detail": { + "clusterArn": [ + { + "Fn::GetAtt": [ + "productionenvironmentclusterC6599D2D", + "Arn" + ] + } + ], + "lastStatus": [ + "STOPPED" + ], + "desiredStatus": [ + "STOPPED" + ] + } + }, + "state": "ENABLED", + "targets": [ + { + "id": "Target0", + "arn": { + "Fn::GetAtt": [ + "nameserviceTaskRecordManagerEventsQueueF805A6C1", + "Arn" + ] + } + } + ] + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + }, + "EventHandler": { + "id": "EventHandler", + "path": "aws-ecs-integ/name-service/TaskRecordManager/EventHandler", + "children": { + "ServiceRole": { + "id": "ServiceRole", + "path": "aws-ecs-integ/name-service/TaskRecordManager/EventHandler/ServiceRole", + "children": { + "Resource": { + "id": "Resource", + "path": "aws-ecs-integ/name-service/TaskRecordManager/EventHandler/ServiceRole/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::IAM::Role", + "aws:cdk:cloudformation:props": { + "assumeRolePolicyDocument": { + "Statement": [ + { + "Action": "sts:AssumeRole", + "Effect": "Allow", + "Principal": { + "Service": "lambda.amazonaws.com" + } + } + ], + "Version": "2012-10-17" + }, + "managedPolicyArns": [ + { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole" + ] + ] + } + ] + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + }, + "DefaultPolicy": { + "id": "DefaultPolicy", + "path": "aws-ecs-integ/name-service/TaskRecordManager/EventHandler/ServiceRole/DefaultPolicy", + "children": { + "Resource": { + "id": "Resource", + "path": "aws-ecs-integ/name-service/TaskRecordManager/EventHandler/ServiceRole/DefaultPolicy/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::IAM::Policy", + "aws:cdk:cloudformation:props": { + "policyDocument": { + "Statement": [ + { + "Action": "ec2:DescribeNetworkInterfaces", + "Effect": "Allow", + "Resource": "*" + }, + { + "Action": [ + "route53:ChangeResourceRecordSets", + "route53:ListResourceRecordSets" + ], + "Effect": "Allow", + "Resource": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":route53:::hostedzone/", + { + "Ref": "zoneEB40FF1E" + } + ] + ] + } + }, + { + "Action": [ + "sqs:ReceiveMessage", + "sqs:ChangeMessageVisibility", + "sqs:GetQueueUrl", + "sqs:DeleteMessage", + "sqs:GetQueueAttributes" + ], + "Effect": "Allow", + "Resource": { + "Fn::GetAtt": [ + "nameserviceTaskRecordManagerEventsQueueF805A6C1", + "Arn" + ] + } + }, + { + "Action": [ + "dynamodb:BatchGetItem", + "dynamodb:GetRecords", + "dynamodb:GetShardIterator", + "dynamodb:Query", + "dynamodb:GetItem", + "dynamodb:Scan", + "dynamodb:ConditionCheckItem", + "dynamodb:BatchWriteItem", + "dynamodb:PutItem", + "dynamodb:UpdateItem", + "dynamodb:DeleteItem", + "dynamodb:DescribeTable" + ], + "Effect": "Allow", + "Resource": [ + { + "Fn::GetAtt": [ + "nameserviceTaskRecordManagerRecordsA4648C6E", + "Arn" + ] + }, + { + "Ref": "AWS::NoValue" + } + ] + } + ], + "Version": "2012-10-17" + }, + "policyName": "nameserviceTaskRecordManagerEventHandlerServiceRoleDefaultPolicy96DD8140", + "roles": [ + { + "Ref": "nameserviceTaskRecordManagerEventHandlerServiceRoleE66EE52A" + } + ] + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + }, + "Code": { + "id": "Code", + "path": "aws-ecs-integ/name-service/TaskRecordManager/EventHandler/Code", + "children": { + "Stage": { + "id": "Stage", + "path": "aws-ecs-integ/name-service/TaskRecordManager/EventHandler/Code/Stage", + "constructInfo": { + "fqn": "@aws-cdk/core.AssetStaging", + "version": "0.0.0" + } + }, + "AssetBucket": { + "id": "AssetBucket", + "path": "aws-ecs-integ/name-service/TaskRecordManager/EventHandler/Code/AssetBucket", + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Construct", + "version": "0.0.0" + } + }, + "Resource": { + "id": "Resource", + "path": "aws-ecs-integ/name-service/TaskRecordManager/EventHandler/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::Lambda::Function", + "aws:cdk:cloudformation:props": { + "code": { + "s3Bucket": { + "Ref": "AssetParameters8f06a3db22794ebc7ff89b4745fd706afd46e17816fe46da72e5125cabae725dS3Bucket1E7F92B6" + }, + "s3Key": { + "Fn::Join": [ + "", + [ + { + "Fn::Select": [ + 0, + { + "Fn::Split": [ + "||", + { + "Ref": "AssetParameters8f06a3db22794ebc7ff89b4745fd706afd46e17816fe46da72e5125cabae725dS3VersionKey86FCA825" + } + ] + } + ] + }, + { + "Fn::Select": [ + 1, + { + "Fn::Split": [ + "||", + { + "Ref": "AssetParameters8f06a3db22794ebc7ff89b4745fd706afd46e17816fe46da72e5125cabae725dS3VersionKey86FCA825" + } + ] + } + ] + } + ] + ] + } + }, + "role": { + "Fn::GetAtt": [ + "nameserviceTaskRecordManagerEventHandlerServiceRoleE66EE52A", + "Arn" + ] + }, + "environment": { + "variables": { + "HOSTED_ZONE_ID": { + "Ref": "zoneEB40FF1E" + }, + "RECORD_NAME": "test-record.myexample.com", + "RECORDS_TABLE": { + "Ref": "nameserviceTaskRecordManagerRecordsA4648C6E" + }, + "CLUSTER_ARN": { + "Fn::GetAtt": [ + "productionenvironmentclusterC6599D2D", + "Arn" + ] + }, + "SERVICE_NAME": { + "Fn::GetAtt": [ + "nameserviceService8015C8D6", + "Name" + ] + } + } + }, + "handler": "index.queue_handler", + "reservedConcurrentExecutions": 1, + "runtime": "python3.8", + "timeout": 30 + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + }, + "SqsEventSource:awsecsintegnameserviceTaskRecordManagerEventsQueueC5EE9A86": { + "id": "SqsEventSource:awsecsintegnameserviceTaskRecordManagerEventsQueueC5EE9A86", + "path": "aws-ecs-integ/name-service/TaskRecordManager/EventHandler/SqsEventSource:awsecsintegnameserviceTaskRecordManagerEventsQueueC5EE9A86", + "children": { + "Resource": { + "id": "Resource", + "path": "aws-ecs-integ/name-service/TaskRecordManager/EventHandler/SqsEventSource:awsecsintegnameserviceTaskRecordManagerEventsQueueC5EE9A86/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::Lambda::EventSourceMapping", + "aws:cdk:cloudformation:props": { + "functionName": { + "Ref": "nameserviceTaskRecordManagerEventHandler4B8C6905" + }, + "eventSourceArn": { + "Fn::GetAtt": [ + "nameserviceTaskRecordManagerEventsQueueF805A6C1", + "Arn" + ] + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + }, + "CleanupResourceProviderHandler": { + "id": "CleanupResourceProviderHandler", + "path": "aws-ecs-integ/name-service/TaskRecordManager/CleanupResourceProviderHandler", + "children": { + "ServiceRole": { + "id": "ServiceRole", + "path": "aws-ecs-integ/name-service/TaskRecordManager/CleanupResourceProviderHandler/ServiceRole", + "children": { + "Resource": { + "id": "Resource", + "path": "aws-ecs-integ/name-service/TaskRecordManager/CleanupResourceProviderHandler/ServiceRole/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::IAM::Role", + "aws:cdk:cloudformation:props": { + "assumeRolePolicyDocument": { + "Statement": [ + { + "Action": "sts:AssumeRole", + "Effect": "Allow", + "Principal": { + "Service": "lambda.amazonaws.com" + } + } + ], + "Version": "2012-10-17" + }, + "managedPolicyArns": [ + { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole" + ] + ] + } + ] + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + }, + "DefaultPolicy": { + "id": "DefaultPolicy", + "path": "aws-ecs-integ/name-service/TaskRecordManager/CleanupResourceProviderHandler/ServiceRole/DefaultPolicy", + "children": { + "Resource": { + "id": "Resource", + "path": "aws-ecs-integ/name-service/TaskRecordManager/CleanupResourceProviderHandler/ServiceRole/DefaultPolicy/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::IAM::Policy", + "aws:cdk:cloudformation:props": { + "policyDocument": { + "Statement": [ + { + "Action": [ + "route53:ChangeResourceRecordSets", + "route53:ListResourceRecordSets" + ], + "Effect": "Allow", + "Resource": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":route53:::hostedzone/", + { + "Ref": "zoneEB40FF1E" + } + ] + ] + } + } + ], + "Version": "2012-10-17" + }, + "policyName": "nameserviceTaskRecordManagerCleanupResourceProviderHandlerServiceRoleDefaultPolicy7D095576", + "roles": [ + { + "Ref": "nameserviceTaskRecordManagerCleanupResourceProviderHandlerServiceRoleCCA462F0" + } + ] + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + }, + "Resource": { + "id": "Resource", + "path": "aws-ecs-integ/name-service/TaskRecordManager/CleanupResourceProviderHandler/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::Lambda::Function", + "aws:cdk:cloudformation:props": { + "code": { + "s3Bucket": { + "Ref": "AssetParameters8f06a3db22794ebc7ff89b4745fd706afd46e17816fe46da72e5125cabae725dS3Bucket1E7F92B6" + }, + "s3Key": { + "Fn::Join": [ + "", + [ + { + "Fn::Select": [ + 0, + { + "Fn::Split": [ + "||", + { + "Ref": "AssetParameters8f06a3db22794ebc7ff89b4745fd706afd46e17816fe46da72e5125cabae725dS3VersionKey86FCA825" + } + ] + } + ] + }, + { + "Fn::Select": [ + 1, + { + "Fn::Split": [ + "||", + { + "Ref": "AssetParameters8f06a3db22794ebc7ff89b4745fd706afd46e17816fe46da72e5125cabae725dS3VersionKey86FCA825" + } + ] + } + ] + } + ] + ] + } + }, + "role": { + "Fn::GetAtt": [ + "nameserviceTaskRecordManagerCleanupResourceProviderHandlerServiceRoleCCA462F0", + "Arn" + ] + }, + "handler": "index.cleanup_resource_handler", + "runtime": "python3.8", + "timeout": 300 + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + }, + "CleanupResourceProvider": { + "id": "CleanupResourceProvider", + "path": "aws-ecs-integ/name-service/TaskRecordManager/CleanupResourceProvider", + "children": { + "framework-onEvent": { + "id": "framework-onEvent", + "path": "aws-ecs-integ/name-service/TaskRecordManager/CleanupResourceProvider/framework-onEvent", + "children": { + "ServiceRole": { + "id": "ServiceRole", + "path": "aws-ecs-integ/name-service/TaskRecordManager/CleanupResourceProvider/framework-onEvent/ServiceRole", + "children": { + "Resource": { + "id": "Resource", + "path": "aws-ecs-integ/name-service/TaskRecordManager/CleanupResourceProvider/framework-onEvent/ServiceRole/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::IAM::Role", + "aws:cdk:cloudformation:props": { + "assumeRolePolicyDocument": { + "Statement": [ + { + "Action": "sts:AssumeRole", + "Effect": "Allow", + "Principal": { + "Service": "lambda.amazonaws.com" + } + } + ], + "Version": "2012-10-17" + }, + "managedPolicyArns": [ + { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole" + ] + ] + } + ] + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + }, + "DefaultPolicy": { + "id": "DefaultPolicy", + "path": "aws-ecs-integ/name-service/TaskRecordManager/CleanupResourceProvider/framework-onEvent/ServiceRole/DefaultPolicy", + "children": { + "Resource": { + "id": "Resource", + "path": "aws-ecs-integ/name-service/TaskRecordManager/CleanupResourceProvider/framework-onEvent/ServiceRole/DefaultPolicy/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::IAM::Policy", + "aws:cdk:cloudformation:props": { + "policyDocument": { + "Statement": [ + { + "Action": "lambda:InvokeFunction", + "Effect": "Allow", + "Resource": [ + { + "Fn::GetAtt": [ + "nameserviceTaskRecordManagerCleanupResourceProviderHandler08068F99", + "Arn" + ] + }, + { + "Fn::Join": [ + "", + [ + { + "Fn::GetAtt": [ + "nameserviceTaskRecordManagerCleanupResourceProviderHandler08068F99", + "Arn" + ] + }, + ":*" + ] + ] + } + ] + } + ], + "Version": "2012-10-17" + }, + "policyName": "nameserviceTaskRecordManagerCleanupResourceProviderframeworkonEventServiceRoleDefaultPolicy350D6FAC", + "roles": [ + { + "Ref": "nameserviceTaskRecordManagerCleanupResourceProviderframeworkonEventServiceRoleF0570BD0" + } + ] + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + }, + "Code": { + "id": "Code", + "path": "aws-ecs-integ/name-service/TaskRecordManager/CleanupResourceProvider/framework-onEvent/Code", + "children": { + "Stage": { + "id": "Stage", + "path": "aws-ecs-integ/name-service/TaskRecordManager/CleanupResourceProvider/framework-onEvent/Code/Stage", + "constructInfo": { + "fqn": "@aws-cdk/core.AssetStaging", + "version": "0.0.0" + } + }, + "AssetBucket": { + "id": "AssetBucket", + "path": "aws-ecs-integ/name-service/TaskRecordManager/CleanupResourceProvider/framework-onEvent/Code/AssetBucket", + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Construct", + "version": "0.0.0" + } + }, + "Resource": { + "id": "Resource", + "path": "aws-ecs-integ/name-service/TaskRecordManager/CleanupResourceProvider/framework-onEvent/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::Lambda::Function", + "aws:cdk:cloudformation:props": { + "code": { + "s3Bucket": { + "Ref": "AssetParameters8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9S3Bucket40DFAF90" + }, + "s3Key": { + "Fn::Join": [ + "", + [ + { + "Fn::Select": [ + 0, + { + "Fn::Split": [ + "||", + { + "Ref": "AssetParameters8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9S3VersionKey36104212" + } + ] + } + ] + }, + { + "Fn::Select": [ + 1, + { + "Fn::Split": [ + "||", + { + "Ref": "AssetParameters8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9S3VersionKey36104212" + } + ] + } + ] + } + ] + ] + } + }, + "role": { + "Fn::GetAtt": [ + "nameserviceTaskRecordManagerCleanupResourceProviderframeworkonEventServiceRoleF0570BD0", + "Arn" + ] + }, + "description": "AWS CDK resource provider framework - onEvent (aws-ecs-integ/name-service/TaskRecordManager/CleanupResourceProvider)", + "environment": { + "variables": { + "USER_ON_EVENT_FUNCTION_ARN": { + "Fn::GetAtt": [ + "nameserviceTaskRecordManagerCleanupResourceProviderHandler08068F99", + "Arn" + ] + } + } + }, + "handler": "framework.onEvent", + "runtime": "nodejs12.x", + "timeout": 900 + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Construct", + "version": "0.0.0" + } + }, + "Cleanup": { + "id": "Cleanup", + "path": "aws-ecs-integ/name-service/TaskRecordManager/Cleanup", + "children": { + "Default": { + "id": "Default", + "path": "aws-ecs-integ/name-service/TaskRecordManager/Cleanup/Default", + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CustomResource", + "version": "0.0.0" + } + }, + "PrimingCall": { + "id": "PrimingCall", + "path": "aws-ecs-integ/name-service/TaskRecordManager/PrimingCall", + "children": { + "Provider": { + "id": "Provider", + "path": "aws-ecs-integ/name-service/TaskRecordManager/PrimingCall/Provider", + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + }, + "CustomResourcePolicy": { + "id": "CustomResourcePolicy", + "path": "aws-ecs-integ/name-service/TaskRecordManager/PrimingCall/CustomResourcePolicy", + "children": { + "Resource": { + "id": "Resource", + "path": "aws-ecs-integ/name-service/TaskRecordManager/PrimingCall/CustomResourcePolicy/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::IAM::Policy", + "aws:cdk:cloudformation:props": { + "policyDocument": { + "Statement": [ + { + "Action": "sqs:SendMessage", + "Effect": "Allow", + "Resource": { + "Fn::GetAtt": [ + "nameserviceTaskRecordManagerEventsQueueF805A6C1", + "Arn" + ] + } + } + ], + "Version": "2012-10-17" + }, + "policyName": "nameserviceTaskRecordManagerPrimingCallCustomResourcePolicy376F02F0", + "roles": [ + { + "Ref": "AWS679f53fac002430cb0da5b7982bd2287ServiceRoleC1EA0FF2" + } + ] + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + }, + "Resource": { + "id": "Resource", + "path": "aws-ecs-integ/name-service/TaskRecordManager/PrimingCall/Resource", + "children": { + "Default": { + "id": "Default", + "path": "aws-ecs-integ/name-service/TaskRecordManager/PrimingCall/Resource/Default", + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CustomResource", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Construct", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Construct", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + }, + "AssetParameters": { + "id": "AssetParameters", + "path": "aws-ecs-integ/AssetParameters", + "children": { + "8f06a3db22794ebc7ff89b4745fd706afd46e17816fe46da72e5125cabae725d": { + "id": "8f06a3db22794ebc7ff89b4745fd706afd46e17816fe46da72e5125cabae725d", + "path": "aws-ecs-integ/AssetParameters/8f06a3db22794ebc7ff89b4745fd706afd46e17816fe46da72e5125cabae725d", + "children": { + "S3Bucket": { + "id": "S3Bucket", + "path": "aws-ecs-integ/AssetParameters/8f06a3db22794ebc7ff89b4745fd706afd46e17816fe46da72e5125cabae725d/S3Bucket", + "constructInfo": { + "fqn": "@aws-cdk/core.CfnParameter", + "version": "0.0.0" + } + }, + "S3VersionKey": { + "id": "S3VersionKey", + "path": "aws-ecs-integ/AssetParameters/8f06a3db22794ebc7ff89b4745fd706afd46e17816fe46da72e5125cabae725d/S3VersionKey", + "constructInfo": { + "fqn": "@aws-cdk/core.CfnParameter", + "version": "0.0.0" + } + }, + "ArtifactHash": { + "id": "ArtifactHash", + "path": "aws-ecs-integ/AssetParameters/8f06a3db22794ebc7ff89b4745fd706afd46e17816fe46da72e5125cabae725d/ArtifactHash", + "constructInfo": { + "fqn": "@aws-cdk/core.CfnParameter", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Construct", + "version": "0.0.0" + } + }, + "8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9": { + "id": "8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9", + "path": "aws-ecs-integ/AssetParameters/8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9", + "children": { + "S3Bucket": { + "id": "S3Bucket", + "path": "aws-ecs-integ/AssetParameters/8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9/S3Bucket", + "constructInfo": { + "fqn": "@aws-cdk/core.CfnParameter", + "version": "0.0.0" + } + }, + "S3VersionKey": { + "id": "S3VersionKey", + "path": "aws-ecs-integ/AssetParameters/8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9/S3VersionKey", + "constructInfo": { + "fqn": "@aws-cdk/core.CfnParameter", + "version": "0.0.0" + } + }, + "ArtifactHash": { + "id": "ArtifactHash", + "path": "aws-ecs-integ/AssetParameters/8dd02cc4ac473ca5b08800e92edaa31a1a7db4005928021d029c5363584f11b9/ArtifactHash", + "constructInfo": { + "fqn": "@aws-cdk/core.CfnParameter", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Construct", + "version": "0.0.0" + } + }, + "dad5595646c3e39df600f872d08887f9fb408c42b22f568bc66c22979f476981": { + "id": "dad5595646c3e39df600f872d08887f9fb408c42b22f568bc66c22979f476981", + "path": "aws-ecs-integ/AssetParameters/dad5595646c3e39df600f872d08887f9fb408c42b22f568bc66c22979f476981", + "children": { + "S3Bucket": { + "id": "S3Bucket", + "path": "aws-ecs-integ/AssetParameters/dad5595646c3e39df600f872d08887f9fb408c42b22f568bc66c22979f476981/S3Bucket", + "constructInfo": { + "fqn": "@aws-cdk/core.CfnParameter", + "version": "0.0.0" + } + }, + "S3VersionKey": { + "id": "S3VersionKey", + "path": "aws-ecs-integ/AssetParameters/dad5595646c3e39df600f872d08887f9fb408c42b22f568bc66c22979f476981/S3VersionKey", + "constructInfo": { + "fqn": "@aws-cdk/core.CfnParameter", + "version": "0.0.0" + } + }, + "ArtifactHash": { + "id": "ArtifactHash", + "path": "aws-ecs-integ/AssetParameters/dad5595646c3e39df600f872d08887f9fb408c42b22f568bc66c22979f476981/ArtifactHash", + "constructInfo": { + "fqn": "@aws-cdk/core.CfnParameter", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Construct", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Construct", + "version": "0.0.0" + } + }, + "AWS679f53fac002430cb0da5b7982bd2287": { + "id": "AWS679f53fac002430cb0da5b7982bd2287", + "path": "aws-ecs-integ/AWS679f53fac002430cb0da5b7982bd2287", + "children": { + "ServiceRole": { + "id": "ServiceRole", + "path": "aws-ecs-integ/AWS679f53fac002430cb0da5b7982bd2287/ServiceRole", + "children": { + "Resource": { + "id": "Resource", + "path": "aws-ecs-integ/AWS679f53fac002430cb0da5b7982bd2287/ServiceRole/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::IAM::Role", + "aws:cdk:cloudformation:props": { + "assumeRolePolicyDocument": { + "Statement": [ + { + "Action": "sts:AssumeRole", + "Effect": "Allow", + "Principal": { + "Service": "lambda.amazonaws.com" + } + } + ], + "Version": "2012-10-17" + }, + "managedPolicyArns": [ + { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole" + ] + ] + } + ] + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + }, + "Code": { + "id": "Code", + "path": "aws-ecs-integ/AWS679f53fac002430cb0da5b7982bd2287/Code", + "children": { + "Stage": { + "id": "Stage", + "path": "aws-ecs-integ/AWS679f53fac002430cb0da5b7982bd2287/Code/Stage", + "constructInfo": { + "fqn": "@aws-cdk/core.AssetStaging", + "version": "0.0.0" + } + }, + "AssetBucket": { + "id": "AssetBucket", + "path": "aws-ecs-integ/AWS679f53fac002430cb0da5b7982bd2287/Code/AssetBucket", + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Construct", + "version": "0.0.0" + } + }, + "Resource": { + "id": "Resource", + "path": "aws-ecs-integ/AWS679f53fac002430cb0da5b7982bd2287/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::Lambda::Function", + "aws:cdk:cloudformation:props": { + "code": { + "s3Bucket": { + "Ref": "AssetParametersdad5595646c3e39df600f872d08887f9fb408c42b22f568bc66c22979f476981S3Bucket0C90C820" + }, + "s3Key": { + "Fn::Join": [ + "", + [ + { + "Fn::Select": [ + 0, + { + "Fn::Split": [ + "||", + { + "Ref": "AssetParametersdad5595646c3e39df600f872d08887f9fb408c42b22f568bc66c22979f476981S3VersionKey2007A749" + } + ] + } + ] + }, + { + "Fn::Select": [ + 1, + { + "Fn::Split": [ + "||", + { + "Ref": "AssetParametersdad5595646c3e39df600f872d08887f9fb408c42b22f568bc66c22979f476981S3VersionKey2007A749" + } + ] + } + ] + } + ] + ] + } + }, + "role": { + "Fn::GetAtt": [ + "AWS679f53fac002430cb0da5b7982bd2287ServiceRoleC1EA0FF2", + "Arn" + ] + }, + "handler": "index.handler", + "runtime": "nodejs12.x", + "timeout": 120 + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + }, + "DnsName": { + "id": "DnsName", + "path": "aws-ecs-integ/DnsName", + "constructInfo": { + "fqn": "@aws-cdk/core.CfnOutput", + "version": "0.0.0" + } + }, + "DnsServer": { + "id": "DnsServer", + "path": "aws-ecs-integ/DnsServer", + "constructInfo": { + "fqn": "@aws-cdk/core.CfnOutput", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Stack", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.App", + "version": "0.0.0" + } + } +} \ No newline at end of file diff --git a/packages/@aws-cdk-containers/ecs-service-extensions/test/custom-service-extension.integ.snapshot/aws-ecs-integ.template.json b/packages/@aws-cdk-containers/ecs-service-extensions/test/custom-service-extension.integ.snapshot/aws-ecs-integ.template.json new file mode 100644 index 0000000000000..51d6fbeaa5af2 --- /dev/null +++ b/packages/@aws-cdk-containers/ecs-service-extensions/test/custom-service-extension.integ.snapshot/aws-ecs-integ.template.json @@ -0,0 +1,570 @@ +{ + "Resources": { + "productionenvironmentvpcAEB47DF7": { + "Type": "AWS::EC2::VPC", + "Properties": { + "CidrBlock": "10.0.0.0/16", + "EnableDnsHostnames": true, + "EnableDnsSupport": true, + "InstanceTenancy": "default", + "Tags": [ + { + "Key": "Name", + "Value": "aws-ecs-integ/production-environment-vpc" + } + ] + } + }, + "productionenvironmentvpcPublicSubnet1Subnet8D92C089": { + "Type": "AWS::EC2::Subnet", + "Properties": { + "VpcId": { + "Ref": "productionenvironmentvpcAEB47DF7" + }, + "AvailabilityZone": { + "Fn::Select": [ + 0, + { + "Fn::GetAZs": "" + } + ] + }, + "CidrBlock": "10.0.0.0/18", + "MapPublicIpOnLaunch": true, + "Tags": [ + { + "Key": "aws-cdk:subnet-name", + "Value": "Public" + }, + { + "Key": "aws-cdk:subnet-type", + "Value": "Public" + }, + { + "Key": "Name", + "Value": "aws-ecs-integ/production-environment-vpc/PublicSubnet1" + } + ] + } + }, + "productionenvironmentvpcPublicSubnet1RouteTable6E9ABC21": { + "Type": "AWS::EC2::RouteTable", + "Properties": { + "VpcId": { + "Ref": "productionenvironmentvpcAEB47DF7" + }, + "Tags": [ + { + "Key": "Name", + "Value": "aws-ecs-integ/production-environment-vpc/PublicSubnet1" + } + ] + } + }, + "productionenvironmentvpcPublicSubnet1RouteTableAssociationA8117374": { + "Type": "AWS::EC2::SubnetRouteTableAssociation", + "Properties": { + "RouteTableId": { + "Ref": "productionenvironmentvpcPublicSubnet1RouteTable6E9ABC21" + }, + "SubnetId": { + "Ref": "productionenvironmentvpcPublicSubnet1Subnet8D92C089" + } + } + }, + "productionenvironmentvpcPublicSubnet1DefaultRoute524C894D": { + "Type": "AWS::EC2::Route", + "Properties": { + "RouteTableId": { + "Ref": "productionenvironmentvpcPublicSubnet1RouteTable6E9ABC21" + }, + "DestinationCidrBlock": "0.0.0.0/0", + "GatewayId": { + "Ref": "productionenvironmentvpcIGWE7C39890" + } + }, + "DependsOn": [ + "productionenvironmentvpcVPCGW1B428D07" + ] + }, + "productionenvironmentvpcPublicSubnet1EIP54BA88DB": { + "Type": "AWS::EC2::EIP", + "Properties": { + "Domain": "vpc", + "Tags": [ + { + "Key": "Name", + "Value": "aws-ecs-integ/production-environment-vpc/PublicSubnet1" + } + ] + } + }, + "productionenvironmentvpcPublicSubnet1NATGateway6075E4CA": { + "Type": "AWS::EC2::NatGateway", + "Properties": { + "SubnetId": { + "Ref": "productionenvironmentvpcPublicSubnet1Subnet8D92C089" + }, + "AllocationId": { + "Fn::GetAtt": [ + "productionenvironmentvpcPublicSubnet1EIP54BA88DB", + "AllocationId" + ] + }, + "Tags": [ + { + "Key": "Name", + "Value": "aws-ecs-integ/production-environment-vpc/PublicSubnet1" + } + ] + } + }, + "productionenvironmentvpcPublicSubnet2Subnet298E6C31": { + "Type": "AWS::EC2::Subnet", + "Properties": { + "VpcId": { + "Ref": "productionenvironmentvpcAEB47DF7" + }, + "AvailabilityZone": { + "Fn::Select": [ + 1, + { + "Fn::GetAZs": "" + } + ] + }, + "CidrBlock": "10.0.64.0/18", + "MapPublicIpOnLaunch": true, + "Tags": [ + { + "Key": "aws-cdk:subnet-name", + "Value": "Public" + }, + { + "Key": "aws-cdk:subnet-type", + "Value": "Public" + }, + { + "Key": "Name", + "Value": "aws-ecs-integ/production-environment-vpc/PublicSubnet2" + } + ] + } + }, + "productionenvironmentvpcPublicSubnet2RouteTable842A68D7": { + "Type": "AWS::EC2::RouteTable", + "Properties": { + "VpcId": { + "Ref": "productionenvironmentvpcAEB47DF7" + }, + "Tags": [ + { + "Key": "Name", + "Value": "aws-ecs-integ/production-environment-vpc/PublicSubnet2" + } + ] + } + }, + "productionenvironmentvpcPublicSubnet2RouteTableAssociation0A7549F3": { + "Type": "AWS::EC2::SubnetRouteTableAssociation", + "Properties": { + "RouteTableId": { + "Ref": "productionenvironmentvpcPublicSubnet2RouteTable842A68D7" + }, + "SubnetId": { + "Ref": "productionenvironmentvpcPublicSubnet2Subnet298E6C31" + } + } + }, + "productionenvironmentvpcPublicSubnet2DefaultRoute92CD697D": { + "Type": "AWS::EC2::Route", + "Properties": { + "RouteTableId": { + "Ref": "productionenvironmentvpcPublicSubnet2RouteTable842A68D7" + }, + "DestinationCidrBlock": "0.0.0.0/0", + "GatewayId": { + "Ref": "productionenvironmentvpcIGWE7C39890" + } + }, + "DependsOn": [ + "productionenvironmentvpcVPCGW1B428D07" + ] + }, + "productionenvironmentvpcPublicSubnet2EIP14CA46AA": { + "Type": "AWS::EC2::EIP", + "Properties": { + "Domain": "vpc", + "Tags": [ + { + "Key": "Name", + "Value": "aws-ecs-integ/production-environment-vpc/PublicSubnet2" + } + ] + } + }, + "productionenvironmentvpcPublicSubnet2NATGatewayE1850FCC": { + "Type": "AWS::EC2::NatGateway", + "Properties": { + "SubnetId": { + "Ref": "productionenvironmentvpcPublicSubnet2Subnet298E6C31" + }, + "AllocationId": { + "Fn::GetAtt": [ + "productionenvironmentvpcPublicSubnet2EIP14CA46AA", + "AllocationId" + ] + }, + "Tags": [ + { + "Key": "Name", + "Value": "aws-ecs-integ/production-environment-vpc/PublicSubnet2" + } + ] + } + }, + "productionenvironmentvpcPrivateSubnet1Subnet53F632E6": { + "Type": "AWS::EC2::Subnet", + "Properties": { + "VpcId": { + "Ref": "productionenvironmentvpcAEB47DF7" + }, + "AvailabilityZone": { + "Fn::Select": [ + 0, + { + "Fn::GetAZs": "" + } + ] + }, + "CidrBlock": "10.0.128.0/18", + "MapPublicIpOnLaunch": false, + "Tags": [ + { + "Key": "aws-cdk:subnet-name", + "Value": "Private" + }, + { + "Key": "aws-cdk:subnet-type", + "Value": "Private" + }, + { + "Key": "Name", + "Value": "aws-ecs-integ/production-environment-vpc/PrivateSubnet1" + } + ] + } + }, + "productionenvironmentvpcPrivateSubnet1RouteTable2C6DFF0C": { + "Type": "AWS::EC2::RouteTable", + "Properties": { + "VpcId": { + "Ref": "productionenvironmentvpcAEB47DF7" + }, + "Tags": [ + { + "Key": "Name", + "Value": "aws-ecs-integ/production-environment-vpc/PrivateSubnet1" + } + ] + } + }, + "productionenvironmentvpcPrivateSubnet1RouteTableAssociation8BA32463": { + "Type": "AWS::EC2::SubnetRouteTableAssociation", + "Properties": { + "RouteTableId": { + "Ref": "productionenvironmentvpcPrivateSubnet1RouteTable2C6DFF0C" + }, + "SubnetId": { + "Ref": "productionenvironmentvpcPrivateSubnet1Subnet53F632E6" + } + } + }, + "productionenvironmentvpcPrivateSubnet1DefaultRouteFBB3DE6C": { + "Type": "AWS::EC2::Route", + "Properties": { + "RouteTableId": { + "Ref": "productionenvironmentvpcPrivateSubnet1RouteTable2C6DFF0C" + }, + "DestinationCidrBlock": "0.0.0.0/0", + "NatGatewayId": { + "Ref": "productionenvironmentvpcPublicSubnet1NATGateway6075E4CA" + } + } + }, + "productionenvironmentvpcPrivateSubnet2Subnet756FB93C": { + "Type": "AWS::EC2::Subnet", + "Properties": { + "VpcId": { + "Ref": "productionenvironmentvpcAEB47DF7" + }, + "AvailabilityZone": { + "Fn::Select": [ + 1, + { + "Fn::GetAZs": "" + } + ] + }, + "CidrBlock": "10.0.192.0/18", + "MapPublicIpOnLaunch": false, + "Tags": [ + { + "Key": "aws-cdk:subnet-name", + "Value": "Private" + }, + { + "Key": "aws-cdk:subnet-type", + "Value": "Private" + }, + { + "Key": "Name", + "Value": "aws-ecs-integ/production-environment-vpc/PrivateSubnet2" + } + ] + } + }, + "productionenvironmentvpcPrivateSubnet2RouteTable2F77D0D2": { + "Type": "AWS::EC2::RouteTable", + "Properties": { + "VpcId": { + "Ref": "productionenvironmentvpcAEB47DF7" + }, + "Tags": [ + { + "Key": "Name", + "Value": "aws-ecs-integ/production-environment-vpc/PrivateSubnet2" + } + ] + } + }, + "productionenvironmentvpcPrivateSubnet2RouteTableAssociation09188261": { + "Type": "AWS::EC2::SubnetRouteTableAssociation", + "Properties": { + "RouteTableId": { + "Ref": "productionenvironmentvpcPrivateSubnet2RouteTable2F77D0D2" + }, + "SubnetId": { + "Ref": "productionenvironmentvpcPrivateSubnet2Subnet756FB93C" + } + } + }, + "productionenvironmentvpcPrivateSubnet2DefaultRoute5F9AB6C1": { + "Type": "AWS::EC2::Route", + "Properties": { + "RouteTableId": { + "Ref": "productionenvironmentvpcPrivateSubnet2RouteTable2F77D0D2" + }, + "DestinationCidrBlock": "0.0.0.0/0", + "NatGatewayId": { + "Ref": "productionenvironmentvpcPublicSubnet2NATGatewayE1850FCC" + } + } + }, + "productionenvironmentvpcIGWE7C39890": { + "Type": "AWS::EC2::InternetGateway", + "Properties": { + "Tags": [ + { + "Key": "Name", + "Value": "aws-ecs-integ/production-environment-vpc" + } + ] + } + }, + "productionenvironmentvpcVPCGW1B428D07": { + "Type": "AWS::EC2::VPCGatewayAttachment", + "Properties": { + "VpcId": { + "Ref": "productionenvironmentvpcAEB47DF7" + }, + "InternetGatewayId": { + "Ref": "productionenvironmentvpcIGWE7C39890" + } + } + }, + "productionenvironmentclusterC6599D2D": { + "Type": "AWS::ECS::Cluster" + }, + "nametaskdefinitionTaskRole50FE844E": { + "Type": "AWS::IAM::Role", + "Properties": { + "AssumeRolePolicyDocument": { + "Statement": [ + { + "Action": "sts:AssumeRole", + "Effect": "Allow", + "Principal": { + "Service": "ecs-tasks.amazonaws.com" + } + } + ], + "Version": "2012-10-17" + } + } + }, + "nametaskdefinition690762BB": { + "Type": "AWS::ECS::TaskDefinition", + "Properties": { + "ContainerDefinitions": [ + { + "Cpu": 1024, + "Environment": [ + { + "Name": "PORT", + "Value": "80" + } + ], + "Essential": true, + "Image": "nathanpeck/name", + "Memory": 2048, + "Name": "app", + "PortMappings": [ + { + "ContainerPort": 80, + "Protocol": "tcp" + } + ], + "Ulimits": [ + { + "HardLimit": 1024000, + "Name": "nofile", + "SoftLimit": 1024000 + } + ] + } + ], + "Cpu": "1024", + "Family": "awsecsintegnametaskdefinition0EA6A1A0", + "Memory": "2048", + "NetworkMode": "awsvpc", + "RequiresCompatibilities": [ + "EC2", + "FARGATE" + ], + "TaskRoleArn": { + "Fn::GetAtt": [ + "nametaskdefinitionTaskRole50FE844E", + "Arn" + ] + } + } + }, + "nameserviceService8015C8D6": { + "Type": "AWS::ECS::Service", + "Properties": { + "Cluster": { + "Ref": "productionenvironmentclusterC6599D2D" + }, + "DeploymentConfiguration": { + "MaximumPercent": 200, + "MinimumHealthyPercent": 100 + }, + "DesiredCount": 10, + "EnableECSManagedTags": false, + "LaunchType": "FARGATE", + "NetworkConfiguration": { + "AwsvpcConfiguration": { + "AssignPublicIp": "DISABLED", + "SecurityGroups": [ + { + "Fn::GetAtt": [ + "nameserviceSecurityGroup33F4662C", + "GroupId" + ] + } + ], + "Subnets": [ + { + "Ref": "productionenvironmentvpcPrivateSubnet1Subnet53F632E6" + }, + { + "Ref": "productionenvironmentvpcPrivateSubnet2Subnet756FB93C" + } + ] + } + }, + "TaskDefinition": { + "Ref": "nametaskdefinition690762BB" + } + } + }, + "nameserviceSecurityGroup33F4662C": { + "Type": "AWS::EC2::SecurityGroup", + "Properties": { + "GroupDescription": "aws-ecs-integ/name-service/SecurityGroup", + "SecurityGroupEgress": [ + { + "CidrIp": "0.0.0.0/0", + "Description": "Allow all outbound traffic by default", + "IpProtocol": "-1" + } + ], + "VpcId": { + "Ref": "productionenvironmentvpcAEB47DF7" + } + } + }, + "nameserviceTaskCountTarget366C2B3A": { + "Type": "AWS::ApplicationAutoScaling::ScalableTarget", + "Properties": { + "MaxCapacity": 20, + "MinCapacity": 5, + "ResourceId": { + "Fn::Join": [ + "", + [ + "service/", + { + "Ref": "productionenvironmentclusterC6599D2D" + }, + "/", + { + "Fn::GetAtt": [ + "nameserviceService8015C8D6", + "Name" + ] + } + ] + ] + }, + "RoleARN": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::", + { + "Ref": "AWS::AccountId" + }, + ":role/aws-service-role/ecs.application-autoscaling.amazonaws.com/AWSServiceRoleForApplicationAutoScaling_ECSService" + ] + ] + }, + "ScalableDimension": "ecs:service:DesiredCount", + "ServiceNamespace": "ecs" + } + }, + "nameserviceTaskCountTargetTargetCpuUtilization50E2840097": { + "Type": "AWS::ApplicationAutoScaling::ScalingPolicy", + "Properties": { + "PolicyName": "awsecsintegnameserviceTaskCountTargetTargetCpuUtilization508522EB56", + "PolicyType": "TargetTrackingScaling", + "ScalingTargetId": { + "Ref": "nameserviceTaskCountTarget366C2B3A" + }, + "TargetTrackingScalingPolicyConfiguration": { + "PredefinedMetricSpecification": { + "PredefinedMetricType": "ECSServiceAverageCPUUtilization" + }, + "ScaleInCooldown": 60, + "ScaleOutCooldown": 60, + "TargetValue": 50 + } + } + } + } +} \ No newline at end of file diff --git a/packages/@aws-cdk-containers/ecs-service-extensions/test/custom-service-extension.integ.snapshot/cdk.out b/packages/@aws-cdk-containers/ecs-service-extensions/test/custom-service-extension.integ.snapshot/cdk.out new file mode 100644 index 0000000000000..90bef2e09ad39 --- /dev/null +++ b/packages/@aws-cdk-containers/ecs-service-extensions/test/custom-service-extension.integ.snapshot/cdk.out @@ -0,0 +1 @@ +{"version":"17.0.0"} \ No newline at end of file diff --git a/packages/@aws-cdk-containers/ecs-service-extensions/test/custom-service-extension.integ.snapshot/manifest.json b/packages/@aws-cdk-containers/ecs-service-extensions/test/custom-service-extension.integ.snapshot/manifest.json new file mode 100644 index 0000000000000..c0892c54c1e04 --- /dev/null +++ b/packages/@aws-cdk-containers/ecs-service-extensions/test/custom-service-extension.integ.snapshot/manifest.json @@ -0,0 +1,203 @@ +{ + "version": "17.0.0", + "artifacts": { + "Tree": { + "type": "cdk:tree", + "properties": { + "file": "tree.json" + }, + "metadata": {} + }, + "aws-ecs-integ": { + "type": "aws:cloudformation:stack", + "environment": "aws://unknown-account/unknown-region", + "properties": { + "templateFile": "aws-ecs-integ.template.json", + "validateOnSynth": false + }, + "metadata": { + "/aws-ecs-integ/production-environment-vpc/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "productionenvironmentvpcAEB47DF7" + } + ], + "/aws-ecs-integ/production-environment-vpc/PublicSubnet1/Subnet": [ + { + "type": "aws:cdk:logicalId", + "data": "productionenvironmentvpcPublicSubnet1Subnet8D92C089" + } + ], + "/aws-ecs-integ/production-environment-vpc/PublicSubnet1/RouteTable": [ + { + "type": "aws:cdk:logicalId", + "data": "productionenvironmentvpcPublicSubnet1RouteTable6E9ABC21" + } + ], + "/aws-ecs-integ/production-environment-vpc/PublicSubnet1/RouteTableAssociation": [ + { + "type": "aws:cdk:logicalId", + "data": "productionenvironmentvpcPublicSubnet1RouteTableAssociationA8117374" + } + ], + "/aws-ecs-integ/production-environment-vpc/PublicSubnet1/DefaultRoute": [ + { + "type": "aws:cdk:logicalId", + "data": "productionenvironmentvpcPublicSubnet1DefaultRoute524C894D" + } + ], + "/aws-ecs-integ/production-environment-vpc/PublicSubnet1/EIP": [ + { + "type": "aws:cdk:logicalId", + "data": "productionenvironmentvpcPublicSubnet1EIP54BA88DB" + } + ], + "/aws-ecs-integ/production-environment-vpc/PublicSubnet1/NATGateway": [ + { + "type": "aws:cdk:logicalId", + "data": "productionenvironmentvpcPublicSubnet1NATGateway6075E4CA" + } + ], + "/aws-ecs-integ/production-environment-vpc/PublicSubnet2/Subnet": [ + { + "type": "aws:cdk:logicalId", + "data": "productionenvironmentvpcPublicSubnet2Subnet298E6C31" + } + ], + "/aws-ecs-integ/production-environment-vpc/PublicSubnet2/RouteTable": [ + { + "type": "aws:cdk:logicalId", + "data": "productionenvironmentvpcPublicSubnet2RouteTable842A68D7" + } + ], + "/aws-ecs-integ/production-environment-vpc/PublicSubnet2/RouteTableAssociation": [ + { + "type": "aws:cdk:logicalId", + "data": "productionenvironmentvpcPublicSubnet2RouteTableAssociation0A7549F3" + } + ], + "/aws-ecs-integ/production-environment-vpc/PublicSubnet2/DefaultRoute": [ + { + "type": "aws:cdk:logicalId", + "data": "productionenvironmentvpcPublicSubnet2DefaultRoute92CD697D" + } + ], + "/aws-ecs-integ/production-environment-vpc/PublicSubnet2/EIP": [ + { + "type": "aws:cdk:logicalId", + "data": "productionenvironmentvpcPublicSubnet2EIP14CA46AA" + } + ], + "/aws-ecs-integ/production-environment-vpc/PublicSubnet2/NATGateway": [ + { + "type": "aws:cdk:logicalId", + "data": "productionenvironmentvpcPublicSubnet2NATGatewayE1850FCC" + } + ], + "/aws-ecs-integ/production-environment-vpc/PrivateSubnet1/Subnet": [ + { + "type": "aws:cdk:logicalId", + "data": "productionenvironmentvpcPrivateSubnet1Subnet53F632E6" + } + ], + "/aws-ecs-integ/production-environment-vpc/PrivateSubnet1/RouteTable": [ + { + "type": "aws:cdk:logicalId", + "data": "productionenvironmentvpcPrivateSubnet1RouteTable2C6DFF0C" + } + ], + "/aws-ecs-integ/production-environment-vpc/PrivateSubnet1/RouteTableAssociation": [ + { + "type": "aws:cdk:logicalId", + "data": "productionenvironmentvpcPrivateSubnet1RouteTableAssociation8BA32463" + } + ], + "/aws-ecs-integ/production-environment-vpc/PrivateSubnet1/DefaultRoute": [ + { + "type": "aws:cdk:logicalId", + "data": "productionenvironmentvpcPrivateSubnet1DefaultRouteFBB3DE6C" + } + ], + "/aws-ecs-integ/production-environment-vpc/PrivateSubnet2/Subnet": [ + { + "type": "aws:cdk:logicalId", + "data": "productionenvironmentvpcPrivateSubnet2Subnet756FB93C" + } + ], + "/aws-ecs-integ/production-environment-vpc/PrivateSubnet2/RouteTable": [ + { + "type": "aws:cdk:logicalId", + "data": "productionenvironmentvpcPrivateSubnet2RouteTable2F77D0D2" + } + ], + "/aws-ecs-integ/production-environment-vpc/PrivateSubnet2/RouteTableAssociation": [ + { + "type": "aws:cdk:logicalId", + "data": "productionenvironmentvpcPrivateSubnet2RouteTableAssociation09188261" + } + ], + "/aws-ecs-integ/production-environment-vpc/PrivateSubnet2/DefaultRoute": [ + { + "type": "aws:cdk:logicalId", + "data": "productionenvironmentvpcPrivateSubnet2DefaultRoute5F9AB6C1" + } + ], + "/aws-ecs-integ/production-environment-vpc/IGW": [ + { + "type": "aws:cdk:logicalId", + "data": "productionenvironmentvpcIGWE7C39890" + } + ], + "/aws-ecs-integ/production-environment-vpc/VPCGW": [ + { + "type": "aws:cdk:logicalId", + "data": "productionenvironmentvpcVPCGW1B428D07" + } + ], + "/aws-ecs-integ/production-environment-cluster/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "productionenvironmentclusterC6599D2D" + } + ], + "/aws-ecs-integ/name-task-definition/TaskRole/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "nametaskdefinitionTaskRole50FE844E" + } + ], + "/aws-ecs-integ/name-task-definition/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "nametaskdefinition690762BB" + } + ], + "/aws-ecs-integ/name-service/Service": [ + { + "type": "aws:cdk:logicalId", + "data": "nameserviceService8015C8D6" + } + ], + "/aws-ecs-integ/name-service/SecurityGroup/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "nameserviceSecurityGroup33F4662C" + } + ], + "/aws-ecs-integ/name-service/TaskCount/Target/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "nameserviceTaskCountTarget366C2B3A" + } + ], + "/aws-ecs-integ/name-service/TaskCount/Target/TargetCpuUtilization50/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "nameserviceTaskCountTargetTargetCpuUtilization50E2840097" + } + ] + }, + "displayName": "aws-ecs-integ" + } + } +} \ No newline at end of file diff --git a/packages/@aws-cdk-containers/ecs-service-extensions/test/custom-service-extension.integ.snapshot/tree.json b/packages/@aws-cdk-containers/ecs-service-extensions/test/custom-service-extension.integ.snapshot/tree.json new file mode 100644 index 0000000000000..9d86b33f73f3f --- /dev/null +++ b/packages/@aws-cdk-containers/ecs-service-extensions/test/custom-service-extension.integ.snapshot/tree.json @@ -0,0 +1,1026 @@ +{ + "version": "tree-0.1", + "tree": { + "id": "App", + "path": "", + "children": { + "Tree": { + "id": "Tree", + "path": "Tree", + "constructInfo": { + "fqn": "@aws-cdk/core.Construct", + "version": "0.0.0" + } + }, + "aws-ecs-integ": { + "id": "aws-ecs-integ", + "path": "aws-ecs-integ", + "children": { + "production": { + "id": "production", + "path": "aws-ecs-integ/production", + "constructInfo": { + "fqn": "@aws-cdk/core.Construct", + "version": "0.0.0" + } + }, + "production-environment-vpc": { + "id": "production-environment-vpc", + "path": "aws-ecs-integ/production-environment-vpc", + "children": { + "Resource": { + "id": "Resource", + "path": "aws-ecs-integ/production-environment-vpc/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::VPC", + "aws:cdk:cloudformation:props": { + "cidrBlock": "10.0.0.0/16", + "enableDnsHostnames": true, + "enableDnsSupport": true, + "instanceTenancy": "default", + "tags": [ + { + "key": "Name", + "value": "aws-ecs-integ/production-environment-vpc" + } + ] + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + }, + "PublicSubnet1": { + "id": "PublicSubnet1", + "path": "aws-ecs-integ/production-environment-vpc/PublicSubnet1", + "children": { + "Subnet": { + "id": "Subnet", + "path": "aws-ecs-integ/production-environment-vpc/PublicSubnet1/Subnet", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::Subnet", + "aws:cdk:cloudformation:props": { + "vpcId": { + "Ref": "productionenvironmentvpcAEB47DF7" + }, + "availabilityZone": { + "Fn::Select": [ + 0, + { + "Fn::GetAZs": "" + } + ] + }, + "cidrBlock": "10.0.0.0/18", + "mapPublicIpOnLaunch": true, + "tags": [ + { + "key": "aws-cdk:subnet-name", + "value": "Public" + }, + { + "key": "aws-cdk:subnet-type", + "value": "Public" + }, + { + "key": "Name", + "value": "aws-ecs-integ/production-environment-vpc/PublicSubnet1" + } + ] + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + }, + "Acl": { + "id": "Acl", + "path": "aws-ecs-integ/production-environment-vpc/PublicSubnet1/Acl", + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + }, + "RouteTable": { + "id": "RouteTable", + "path": "aws-ecs-integ/production-environment-vpc/PublicSubnet1/RouteTable", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::RouteTable", + "aws:cdk:cloudformation:props": { + "vpcId": { + "Ref": "productionenvironmentvpcAEB47DF7" + }, + "tags": [ + { + "key": "Name", + "value": "aws-ecs-integ/production-environment-vpc/PublicSubnet1" + } + ] + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + }, + "RouteTableAssociation": { + "id": "RouteTableAssociation", + "path": "aws-ecs-integ/production-environment-vpc/PublicSubnet1/RouteTableAssociation", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::SubnetRouteTableAssociation", + "aws:cdk:cloudformation:props": { + "routeTableId": { + "Ref": "productionenvironmentvpcPublicSubnet1RouteTable6E9ABC21" + }, + "subnetId": { + "Ref": "productionenvironmentvpcPublicSubnet1Subnet8D92C089" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + }, + "DefaultRoute": { + "id": "DefaultRoute", + "path": "aws-ecs-integ/production-environment-vpc/PublicSubnet1/DefaultRoute", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::Route", + "aws:cdk:cloudformation:props": { + "routeTableId": { + "Ref": "productionenvironmentvpcPublicSubnet1RouteTable6E9ABC21" + }, + "destinationCidrBlock": "0.0.0.0/0", + "gatewayId": { + "Ref": "productionenvironmentvpcIGWE7C39890" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + }, + "EIP": { + "id": "EIP", + "path": "aws-ecs-integ/production-environment-vpc/PublicSubnet1/EIP", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::EIP", + "aws:cdk:cloudformation:props": { + "domain": "vpc", + "tags": [ + { + "key": "Name", + "value": "aws-ecs-integ/production-environment-vpc/PublicSubnet1" + } + ] + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + }, + "NATGateway": { + "id": "NATGateway", + "path": "aws-ecs-integ/production-environment-vpc/PublicSubnet1/NATGateway", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::NatGateway", + "aws:cdk:cloudformation:props": { + "subnetId": { + "Ref": "productionenvironmentvpcPublicSubnet1Subnet8D92C089" + }, + "allocationId": { + "Fn::GetAtt": [ + "productionenvironmentvpcPublicSubnet1EIP54BA88DB", + "AllocationId" + ] + }, + "tags": [ + { + "key": "Name", + "value": "aws-ecs-integ/production-environment-vpc/PublicSubnet1" + } + ] + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + }, + "PublicSubnet2": { + "id": "PublicSubnet2", + "path": "aws-ecs-integ/production-environment-vpc/PublicSubnet2", + "children": { + "Subnet": { + "id": "Subnet", + "path": "aws-ecs-integ/production-environment-vpc/PublicSubnet2/Subnet", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::Subnet", + "aws:cdk:cloudformation:props": { + "vpcId": { + "Ref": "productionenvironmentvpcAEB47DF7" + }, + "availabilityZone": { + "Fn::Select": [ + 1, + { + "Fn::GetAZs": "" + } + ] + }, + "cidrBlock": "10.0.64.0/18", + "mapPublicIpOnLaunch": true, + "tags": [ + { + "key": "aws-cdk:subnet-name", + "value": "Public" + }, + { + "key": "aws-cdk:subnet-type", + "value": "Public" + }, + { + "key": "Name", + "value": "aws-ecs-integ/production-environment-vpc/PublicSubnet2" + } + ] + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + }, + "Acl": { + "id": "Acl", + "path": "aws-ecs-integ/production-environment-vpc/PublicSubnet2/Acl", + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + }, + "RouteTable": { + "id": "RouteTable", + "path": "aws-ecs-integ/production-environment-vpc/PublicSubnet2/RouteTable", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::RouteTable", + "aws:cdk:cloudformation:props": { + "vpcId": { + "Ref": "productionenvironmentvpcAEB47DF7" + }, + "tags": [ + { + "key": "Name", + "value": "aws-ecs-integ/production-environment-vpc/PublicSubnet2" + } + ] + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + }, + "RouteTableAssociation": { + "id": "RouteTableAssociation", + "path": "aws-ecs-integ/production-environment-vpc/PublicSubnet2/RouteTableAssociation", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::SubnetRouteTableAssociation", + "aws:cdk:cloudformation:props": { + "routeTableId": { + "Ref": "productionenvironmentvpcPublicSubnet2RouteTable842A68D7" + }, + "subnetId": { + "Ref": "productionenvironmentvpcPublicSubnet2Subnet298E6C31" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + }, + "DefaultRoute": { + "id": "DefaultRoute", + "path": "aws-ecs-integ/production-environment-vpc/PublicSubnet2/DefaultRoute", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::Route", + "aws:cdk:cloudformation:props": { + "routeTableId": { + "Ref": "productionenvironmentvpcPublicSubnet2RouteTable842A68D7" + }, + "destinationCidrBlock": "0.0.0.0/0", + "gatewayId": { + "Ref": "productionenvironmentvpcIGWE7C39890" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + }, + "EIP": { + "id": "EIP", + "path": "aws-ecs-integ/production-environment-vpc/PublicSubnet2/EIP", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::EIP", + "aws:cdk:cloudformation:props": { + "domain": "vpc", + "tags": [ + { + "key": "Name", + "value": "aws-ecs-integ/production-environment-vpc/PublicSubnet2" + } + ] + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + }, + "NATGateway": { + "id": "NATGateway", + "path": "aws-ecs-integ/production-environment-vpc/PublicSubnet2/NATGateway", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::NatGateway", + "aws:cdk:cloudformation:props": { + "subnetId": { + "Ref": "productionenvironmentvpcPublicSubnet2Subnet298E6C31" + }, + "allocationId": { + "Fn::GetAtt": [ + "productionenvironmentvpcPublicSubnet2EIP14CA46AA", + "AllocationId" + ] + }, + "tags": [ + { + "key": "Name", + "value": "aws-ecs-integ/production-environment-vpc/PublicSubnet2" + } + ] + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + }, + "PrivateSubnet1": { + "id": "PrivateSubnet1", + "path": "aws-ecs-integ/production-environment-vpc/PrivateSubnet1", + "children": { + "Subnet": { + "id": "Subnet", + "path": "aws-ecs-integ/production-environment-vpc/PrivateSubnet1/Subnet", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::Subnet", + "aws:cdk:cloudformation:props": { + "vpcId": { + "Ref": "productionenvironmentvpcAEB47DF7" + }, + "availabilityZone": { + "Fn::Select": [ + 0, + { + "Fn::GetAZs": "" + } + ] + }, + "cidrBlock": "10.0.128.0/18", + "mapPublicIpOnLaunch": false, + "tags": [ + { + "key": "aws-cdk:subnet-name", + "value": "Private" + }, + { + "key": "aws-cdk:subnet-type", + "value": "Private" + }, + { + "key": "Name", + "value": "aws-ecs-integ/production-environment-vpc/PrivateSubnet1" + } + ] + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + }, + "Acl": { + "id": "Acl", + "path": "aws-ecs-integ/production-environment-vpc/PrivateSubnet1/Acl", + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + }, + "RouteTable": { + "id": "RouteTable", + "path": "aws-ecs-integ/production-environment-vpc/PrivateSubnet1/RouteTable", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::RouteTable", + "aws:cdk:cloudformation:props": { + "vpcId": { + "Ref": "productionenvironmentvpcAEB47DF7" + }, + "tags": [ + { + "key": "Name", + "value": "aws-ecs-integ/production-environment-vpc/PrivateSubnet1" + } + ] + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + }, + "RouteTableAssociation": { + "id": "RouteTableAssociation", + "path": "aws-ecs-integ/production-environment-vpc/PrivateSubnet1/RouteTableAssociation", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::SubnetRouteTableAssociation", + "aws:cdk:cloudformation:props": { + "routeTableId": { + "Ref": "productionenvironmentvpcPrivateSubnet1RouteTable2C6DFF0C" + }, + "subnetId": { + "Ref": "productionenvironmentvpcPrivateSubnet1Subnet53F632E6" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + }, + "DefaultRoute": { + "id": "DefaultRoute", + "path": "aws-ecs-integ/production-environment-vpc/PrivateSubnet1/DefaultRoute", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::Route", + "aws:cdk:cloudformation:props": { + "routeTableId": { + "Ref": "productionenvironmentvpcPrivateSubnet1RouteTable2C6DFF0C" + }, + "destinationCidrBlock": "0.0.0.0/0", + "natGatewayId": { + "Ref": "productionenvironmentvpcPublicSubnet1NATGateway6075E4CA" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + }, + "PrivateSubnet2": { + "id": "PrivateSubnet2", + "path": "aws-ecs-integ/production-environment-vpc/PrivateSubnet2", + "children": { + "Subnet": { + "id": "Subnet", + "path": "aws-ecs-integ/production-environment-vpc/PrivateSubnet2/Subnet", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::Subnet", + "aws:cdk:cloudformation:props": { + "vpcId": { + "Ref": "productionenvironmentvpcAEB47DF7" + }, + "availabilityZone": { + "Fn::Select": [ + 1, + { + "Fn::GetAZs": "" + } + ] + }, + "cidrBlock": "10.0.192.0/18", + "mapPublicIpOnLaunch": false, + "tags": [ + { + "key": "aws-cdk:subnet-name", + "value": "Private" + }, + { + "key": "aws-cdk:subnet-type", + "value": "Private" + }, + { + "key": "Name", + "value": "aws-ecs-integ/production-environment-vpc/PrivateSubnet2" + } + ] + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + }, + "Acl": { + "id": "Acl", + "path": "aws-ecs-integ/production-environment-vpc/PrivateSubnet2/Acl", + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + }, + "RouteTable": { + "id": "RouteTable", + "path": "aws-ecs-integ/production-environment-vpc/PrivateSubnet2/RouteTable", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::RouteTable", + "aws:cdk:cloudformation:props": { + "vpcId": { + "Ref": "productionenvironmentvpcAEB47DF7" + }, + "tags": [ + { + "key": "Name", + "value": "aws-ecs-integ/production-environment-vpc/PrivateSubnet2" + } + ] + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + }, + "RouteTableAssociation": { + "id": "RouteTableAssociation", + "path": "aws-ecs-integ/production-environment-vpc/PrivateSubnet2/RouteTableAssociation", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::SubnetRouteTableAssociation", + "aws:cdk:cloudformation:props": { + "routeTableId": { + "Ref": "productionenvironmentvpcPrivateSubnet2RouteTable2F77D0D2" + }, + "subnetId": { + "Ref": "productionenvironmentvpcPrivateSubnet2Subnet756FB93C" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + }, + "DefaultRoute": { + "id": "DefaultRoute", + "path": "aws-ecs-integ/production-environment-vpc/PrivateSubnet2/DefaultRoute", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::Route", + "aws:cdk:cloudformation:props": { + "routeTableId": { + "Ref": "productionenvironmentvpcPrivateSubnet2RouteTable2F77D0D2" + }, + "destinationCidrBlock": "0.0.0.0/0", + "natGatewayId": { + "Ref": "productionenvironmentvpcPublicSubnet2NATGatewayE1850FCC" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + }, + "IGW": { + "id": "IGW", + "path": "aws-ecs-integ/production-environment-vpc/IGW", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::InternetGateway", + "aws:cdk:cloudformation:props": { + "tags": [ + { + "key": "Name", + "value": "aws-ecs-integ/production-environment-vpc" + } + ] + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + }, + "VPCGW": { + "id": "VPCGW", + "path": "aws-ecs-integ/production-environment-vpc/VPCGW", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::VPCGatewayAttachment", + "aws:cdk:cloudformation:props": { + "vpcId": { + "Ref": "productionenvironmentvpcAEB47DF7" + }, + "internetGatewayId": { + "Ref": "productionenvironmentvpcIGWE7C39890" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + }, + "production-environment-cluster": { + "id": "production-environment-cluster", + "path": "aws-ecs-integ/production-environment-cluster", + "children": { + "Resource": { + "id": "Resource", + "path": "aws-ecs-integ/production-environment-cluster/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::ECS::Cluster", + "aws:cdk:cloudformation:props": {} + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + }, + "name": { + "id": "name", + "path": "aws-ecs-integ/name", + "constructInfo": { + "fqn": "@aws-cdk/core.Construct", + "version": "0.0.0" + } + }, + "name-task-definition": { + "id": "name-task-definition", + "path": "aws-ecs-integ/name-task-definition", + "children": { + "TaskRole": { + "id": "TaskRole", + "path": "aws-ecs-integ/name-task-definition/TaskRole", + "children": { + "Resource": { + "id": "Resource", + "path": "aws-ecs-integ/name-task-definition/TaskRole/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::IAM::Role", + "aws:cdk:cloudformation:props": { + "assumeRolePolicyDocument": { + "Statement": [ + { + "Action": "sts:AssumeRole", + "Effect": "Allow", + "Principal": { + "Service": "ecs-tasks.amazonaws.com" + } + } + ], + "Version": "2012-10-17" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + }, + "Resource": { + "id": "Resource", + "path": "aws-ecs-integ/name-task-definition/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::ECS::TaskDefinition", + "aws:cdk:cloudformation:props": { + "containerDefinitions": [ + { + "cpu": 1024, + "essential": true, + "image": "nathanpeck/name", + "memory": 2048, + "name": "app", + "portMappings": [ + { + "containerPort": 80, + "protocol": "tcp" + } + ], + "ulimits": [ + { + "name": "nofile", + "softLimit": 1024000, + "hardLimit": 1024000 + } + ], + "environment": [ + { + "name": "PORT", + "value": "80" + } + ] + } + ], + "cpu": "1024", + "family": "awsecsintegnametaskdefinition0EA6A1A0", + "memory": "2048", + "networkMode": "awsvpc", + "requiresCompatibilities": [ + "EC2", + "FARGATE" + ], + "taskRoleArn": { + "Fn::GetAtt": [ + "nametaskdefinitionTaskRole50FE844E", + "Arn" + ] + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + }, + "app": { + "id": "app", + "path": "aws-ecs-integ/name-task-definition/app", + "constructInfo": { + "fqn": "@aws-cdk/core.Construct", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + }, + "name-service": { + "id": "name-service", + "path": "aws-ecs-integ/name-service", + "children": { + "Service": { + "id": "Service", + "path": "aws-ecs-integ/name-service/Service", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::ECS::Service", + "aws:cdk:cloudformation:props": { + "cluster": { + "Ref": "productionenvironmentclusterC6599D2D" + }, + "deploymentConfiguration": { + "maximumPercent": 200, + "minimumHealthyPercent": 100 + }, + "desiredCount": 10, + "enableEcsManagedTags": false, + "launchType": "FARGATE", + "networkConfiguration": { + "awsvpcConfiguration": { + "assignPublicIp": "DISABLED", + "subnets": [ + { + "Ref": "productionenvironmentvpcPrivateSubnet1Subnet53F632E6" + }, + { + "Ref": "productionenvironmentvpcPrivateSubnet2Subnet756FB93C" + } + ], + "securityGroups": [ + { + "Fn::GetAtt": [ + "nameserviceSecurityGroup33F4662C", + "GroupId" + ] + } + ] + } + }, + "taskDefinition": { + "Ref": "nametaskdefinition690762BB" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + }, + "SecurityGroup": { + "id": "SecurityGroup", + "path": "aws-ecs-integ/name-service/SecurityGroup", + "children": { + "Resource": { + "id": "Resource", + "path": "aws-ecs-integ/name-service/SecurityGroup/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::SecurityGroup", + "aws:cdk:cloudformation:props": { + "groupDescription": "aws-ecs-integ/name-service/SecurityGroup", + "securityGroupEgress": [ + { + "cidrIp": "0.0.0.0/0", + "description": "Allow all outbound traffic by default", + "ipProtocol": "-1" + } + ], + "vpcId": { + "Ref": "productionenvironmentvpcAEB47DF7" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + }, + "ScalingRole": { + "id": "ScalingRole", + "path": "aws-ecs-integ/name-service/ScalingRole", + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + }, + "TaskCount": { + "id": "TaskCount", + "path": "aws-ecs-integ/name-service/TaskCount", + "children": { + "Target": { + "id": "Target", + "path": "aws-ecs-integ/name-service/TaskCount/Target", + "children": { + "Resource": { + "id": "Resource", + "path": "aws-ecs-integ/name-service/TaskCount/Target/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::ApplicationAutoScaling::ScalableTarget", + "aws:cdk:cloudformation:props": { + "maxCapacity": 20, + "minCapacity": 5, + "resourceId": { + "Fn::Join": [ + "", + [ + "service/", + { + "Ref": "productionenvironmentclusterC6599D2D" + }, + "/", + { + "Fn::GetAtt": [ + "nameserviceService8015C8D6", + "Name" + ] + } + ] + ] + }, + "roleArn": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::", + { + "Ref": "AWS::AccountId" + }, + ":role/aws-service-role/ecs.application-autoscaling.amazonaws.com/AWSServiceRoleForApplicationAutoScaling_ECSService" + ] + ] + }, + "scalableDimension": "ecs:service:DesiredCount", + "serviceNamespace": "ecs" + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + }, + "TargetCpuUtilization50": { + "id": "TargetCpuUtilization50", + "path": "aws-ecs-integ/name-service/TaskCount/Target/TargetCpuUtilization50", + "children": { + "Resource": { + "id": "Resource", + "path": "aws-ecs-integ/name-service/TaskCount/Target/TargetCpuUtilization50/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::ApplicationAutoScaling::ScalingPolicy", + "aws:cdk:cloudformation:props": { + "policyName": "awsecsintegnameserviceTaskCountTargetTargetCpuUtilization508522EB56", + "policyType": "TargetTrackingScaling", + "scalingTargetId": { + "Ref": "nameserviceTaskCountTarget366C2B3A" + }, + "targetTrackingScalingPolicyConfiguration": { + "predefinedMetricSpecification": { + "predefinedMetricType": "ECSServiceAverageCPUUtilization" + }, + "scaleInCooldown": 60, + "scaleOutCooldown": 60, + "targetValue": 50 + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Construct", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Construct", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Stack", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.App", + "version": "0.0.0" + } + } +} \ No newline at end of file diff --git a/packages/@aws-cdk-containers/ecs-service-extensions/test/imported-environment.integ.snapshot/cdk.out b/packages/@aws-cdk-containers/ecs-service-extensions/test/imported-environment.integ.snapshot/cdk.out new file mode 100644 index 0000000000000..90bef2e09ad39 --- /dev/null +++ b/packages/@aws-cdk-containers/ecs-service-extensions/test/imported-environment.integ.snapshot/cdk.out @@ -0,0 +1 @@ +{"version":"17.0.0"} \ No newline at end of file diff --git a/packages/@aws-cdk-containers/ecs-service-extensions/test/imported-environment.integ.snapshot/imported-environment-integ.template.json b/packages/@aws-cdk-containers/ecs-service-extensions/test/imported-environment.integ.snapshot/imported-environment-integ.template.json new file mode 100644 index 0000000000000..bee03c82cc17a --- /dev/null +++ b/packages/@aws-cdk-containers/ecs-service-extensions/test/imported-environment.integ.snapshot/imported-environment-integ.template.json @@ -0,0 +1,366 @@ +{ + "Resources": { + "ResourcesNestedStackResourcesNestedStackResourceCDA26E60": { + "Type": "AWS::CloudFormation::Stack", + "Properties": { + "TemplateURL": { + "Fn::Join": [ + "", + [ + "https://s3.", + { + "Ref": "AWS::Region" + }, + ".", + { + "Ref": "AWS::URLSuffix" + }, + "/", + { + "Ref": "AssetParameters78cd13b88474241c9844c0c939b6fca0f485ffbba32f35718002319e7ab73a01S3Bucket64585C1B" + }, + "/", + { + "Fn::Select": [ + 0, + { + "Fn::Split": [ + "||", + { + "Ref": "AssetParameters78cd13b88474241c9844c0c939b6fca0f485ffbba32f35718002319e7ab73a01S3VersionKey41670582" + } + ] + } + ] + }, + { + "Fn::Select": [ + 1, + { + "Fn::Split": [ + "||", + { + "Ref": "AssetParameters78cd13b88474241c9844c0c939b6fca0f485ffbba32f35718002319e7ab73a01S3VersionKey41670582" + } + ] + } + ] + } + ] + ] + } + }, + "UpdateReplacePolicy": "Delete", + "DeletionPolicy": "Delete" + }, + "ServiceloadbalancerD5D60894": { + "Type": "AWS::ElasticLoadBalancingV2::LoadBalancer", + "Properties": { + "LoadBalancerAttributes": [ + { + "Key": "deletion_protection.enabled", + "Value": "false" + } + ], + "Scheme": "internet-facing", + "SecurityGroups": [ + { + "Fn::GetAtt": [ + "ServiceloadbalancerSecurityGroup2DA3E8D6", + "GroupId" + ] + } + ], + "Subnets": [ + { + "Fn::GetAtt": [ + "ResourcesNestedStackResourcesNestedStackResourceCDA26E60", + "Outputs.importedenvironmentintegResourcesEnvironmentenvironmentvpcPublicSubnet1Subnet0D15D382Ref" + ] + }, + { + "Fn::GetAtt": [ + "ResourcesNestedStackResourcesNestedStackResourceCDA26E60", + "Outputs.importedenvironmentintegResourcesEnvironmentenvironmentvpcPublicSubnet2Subnet68645ACARef" + ] + } + ], + "Type": "application" + } + }, + "ServiceloadbalancerSecurityGroup2DA3E8D6": { + "Type": "AWS::EC2::SecurityGroup", + "Properties": { + "GroupDescription": "Automatically created Security Group for ELB importedenvironmentintegServiceloadbalancerFAE8A5FA", + "SecurityGroupIngress": [ + { + "CidrIp": "0.0.0.0/0", + "Description": "Allow from anyone on port 80", + "FromPort": 80, + "IpProtocol": "tcp", + "ToPort": 80 + } + ], + "VpcId": { + "Fn::GetAtt": [ + "ResourcesNestedStackResourcesNestedStackResourceCDA26E60", + "Outputs.importedenvironmentintegResourcesEnvironmentenvironmentvpcDC34D4D3Ref" + ] + } + } + }, + "ServiceloadbalancerSecurityGrouptoimportedenvironmentintegServiceserviceSecurityGroup2BE90F7480B17EB7CA": { + "Type": "AWS::EC2::SecurityGroupEgress", + "Properties": { + "GroupId": { + "Fn::GetAtt": [ + "ServiceloadbalancerSecurityGroup2DA3E8D6", + "GroupId" + ] + }, + "IpProtocol": "tcp", + "Description": "Load balancer to target", + "DestinationSecurityGroupId": { + "Fn::GetAtt": [ + "ServiceserviceSecurityGroup1915660F", + "GroupId" + ] + }, + "FromPort": 80, + "ToPort": 80 + } + }, + "ServiceloadbalancerServicelistenerC862F722": { + "Type": "AWS::ElasticLoadBalancingV2::Listener", + "Properties": { + "DefaultActions": [ + { + "TargetGroupArn": { + "Ref": "ServiceloadbalancerServicelistenerServiceGroup844B51E6" + }, + "Type": "forward" + } + ], + "LoadBalancerArn": { + "Ref": "ServiceloadbalancerD5D60894" + }, + "Port": 80, + "Protocol": "HTTP" + } + }, + "ServiceloadbalancerServicelistenerServiceGroup844B51E6": { + "Type": "AWS::ElasticLoadBalancingV2::TargetGroup", + "Properties": { + "Port": 80, + "Protocol": "HTTP", + "TargetGroupAttributes": [ + { + "Key": "deregistration_delay.timeout_seconds", + "Value": "10" + }, + { + "Key": "stickiness.enabled", + "Value": "false" + } + ], + "TargetType": "ip", + "VpcId": { + "Fn::GetAtt": [ + "ResourcesNestedStackResourcesNestedStackResourceCDA26E60", + "Outputs.importedenvironmentintegResourcesEnvironmentenvironmentvpcDC34D4D3Ref" + ] + } + } + }, + "ServicetaskdefinitionTaskRole5B4B60A4": { + "Type": "AWS::IAM::Role", + "Properties": { + "AssumeRolePolicyDocument": { + "Statement": [ + { + "Action": "sts:AssumeRole", + "Effect": "Allow", + "Principal": { + "Service": "ecs-tasks.amazonaws.com" + } + } + ], + "Version": "2012-10-17" + } + } + }, + "Servicetaskdefinition0CEAD834": { + "Type": "AWS::ECS::TaskDefinition", + "Properties": { + "ContainerDefinitions": [ + { + "Cpu": 256, + "Environment": [ + { + "Name": "PORT", + "Value": "80" + } + ], + "Essential": true, + "Image": "nathanpeck/name", + "Memory": 512, + "Name": "app", + "PortMappings": [ + { + "ContainerPort": 80, + "Protocol": "tcp" + } + ], + "Ulimits": [ + { + "HardLimit": 1024000, + "Name": "nofile", + "SoftLimit": 1024000 + } + ] + } + ], + "Cpu": "256", + "Family": "importedenvironmentintegServicetaskdefinition63936B87", + "Memory": "512", + "NetworkMode": "awsvpc", + "RequiresCompatibilities": [ + "EC2", + "FARGATE" + ], + "TaskRoleArn": { + "Fn::GetAtt": [ + "ServicetaskdefinitionTaskRole5B4B60A4", + "Arn" + ] + } + } + }, + "ServiceserviceService6A153CB8": { + "Type": "AWS::ECS::Service", + "Properties": { + "Cluster": { + "Fn::GetAtt": [ + "ResourcesNestedStackResourcesNestedStackResourceCDA26E60", + "Outputs.importedenvironmentintegResourcesEnvironmentenvironmentcluster594A3DCARef" + ] + }, + "DeploymentConfiguration": { + "MaximumPercent": 200, + "MinimumHealthyPercent": 100 + }, + "DesiredCount": 1, + "EnableECSManagedTags": false, + "HealthCheckGracePeriodSeconds": 60, + "LaunchType": "FARGATE", + "LoadBalancers": [ + { + "ContainerName": "app", + "ContainerPort": 80, + "TargetGroupArn": { + "Ref": "ServiceloadbalancerServicelistenerServiceGroup844B51E6" + } + } + ], + "NetworkConfiguration": { + "AwsvpcConfiguration": { + "AssignPublicIp": "DISABLED", + "SecurityGroups": [ + { + "Fn::GetAtt": [ + "ServiceserviceSecurityGroup1915660F", + "GroupId" + ] + } + ], + "Subnets": [ + { + "Fn::GetAtt": [ + "ResourcesNestedStackResourcesNestedStackResourceCDA26E60", + "Outputs.importedenvironmentintegResourcesEnvironmentenvironmentvpcPrivateSubnet1Subnet7309E967Ref" + ] + }, + { + "Fn::GetAtt": [ + "ResourcesNestedStackResourcesNestedStackResourceCDA26E60", + "Outputs.importedenvironmentintegResourcesEnvironmentenvironmentvpcPrivateSubnet2Subnet55014443Ref" + ] + } + ] + } + }, + "TaskDefinition": { + "Ref": "Servicetaskdefinition0CEAD834" + } + }, + "DependsOn": [ + "ServiceloadbalancerServicelistenerC862F722", + "ServiceloadbalancerServicelistenerServiceGroup844B51E6" + ] + }, + "ServiceserviceSecurityGroup1915660F": { + "Type": "AWS::EC2::SecurityGroup", + "Properties": { + "GroupDescription": "imported-environment-integ/Service-service/SecurityGroup", + "SecurityGroupEgress": [ + { + "CidrIp": "0.0.0.0/0", + "Description": "Allow all outbound traffic by default", + "IpProtocol": "-1" + } + ], + "VpcId": { + "Fn::GetAtt": [ + "ResourcesNestedStackResourcesNestedStackResourceCDA26E60", + "Outputs.importedenvironmentintegResourcesEnvironmentenvironmentvpcDC34D4D3Ref" + ] + } + } + }, + "ServiceserviceSecurityGroupfromimportedenvironmentintegServiceloadbalancerSecurityGroup68EE533C8070FCF629": { + "Type": "AWS::EC2::SecurityGroupIngress", + "Properties": { + "IpProtocol": "tcp", + "Description": "Load balancer to target", + "FromPort": 80, + "GroupId": { + "Fn::GetAtt": [ + "ServiceserviceSecurityGroup1915660F", + "GroupId" + ] + }, + "SourceSecurityGroupId": { + "Fn::GetAtt": [ + "ServiceloadbalancerSecurityGroup2DA3E8D6", + "GroupId" + ] + }, + "ToPort": 80 + } + } + }, + "Outputs": { + "Serviceloadbalancerdnsoutput": { + "Value": { + "Fn::GetAtt": [ + "ServiceloadbalancerD5D60894", + "DNSName" + ] + } + } + }, + "Parameters": { + "AssetParameters78cd13b88474241c9844c0c939b6fca0f485ffbba32f35718002319e7ab73a01S3Bucket64585C1B": { + "Type": "String", + "Description": "S3 bucket for asset \"78cd13b88474241c9844c0c939b6fca0f485ffbba32f35718002319e7ab73a01\"" + }, + "AssetParameters78cd13b88474241c9844c0c939b6fca0f485ffbba32f35718002319e7ab73a01S3VersionKey41670582": { + "Type": "String", + "Description": "S3 key for asset version \"78cd13b88474241c9844c0c939b6fca0f485ffbba32f35718002319e7ab73a01\"" + }, + "AssetParameters78cd13b88474241c9844c0c939b6fca0f485ffbba32f35718002319e7ab73a01ArtifactHashF1155D65": { + "Type": "String", + "Description": "Artifact hash for asset \"78cd13b88474241c9844c0c939b6fca0f485ffbba32f35718002319e7ab73a01\"" + } + } +} \ No newline at end of file diff --git a/packages/@aws-cdk-containers/ecs-service-extensions/test/imported-environment.integ.snapshot/importedenvironmentintegResourcesAB23EBEF.nested.template.json b/packages/@aws-cdk-containers/ecs-service-extensions/test/imported-environment.integ.snapshot/importedenvironmentintegResourcesAB23EBEF.nested.template.json new file mode 100644 index 0000000000000..31aa8b1dd95d4 --- /dev/null +++ b/packages/@aws-cdk-containers/ecs-service-extensions/test/imported-environment.integ.snapshot/importedenvironmentintegResourcesAB23EBEF.nested.template.json @@ -0,0 +1,422 @@ +{ + "Resources": { + "Environmentenvironmentvpc02635CAD": { + "Type": "AWS::EC2::VPC", + "Properties": { + "CidrBlock": "10.0.0.0/16", + "EnableDnsHostnames": true, + "EnableDnsSupport": true, + "InstanceTenancy": "default", + "Tags": [ + { + "Key": "Name", + "Value": "imported-environment-integ/Resources/Environment-environment-vpc" + } + ] + } + }, + "EnvironmentenvironmentvpcPublicSubnet1Subnet90FA3050": { + "Type": "AWS::EC2::Subnet", + "Properties": { + "VpcId": { + "Ref": "Environmentenvironmentvpc02635CAD" + }, + "AvailabilityZone": { + "Fn::Select": [ + 0, + { + "Fn::GetAZs": "" + } + ] + }, + "CidrBlock": "10.0.0.0/18", + "MapPublicIpOnLaunch": true, + "Tags": [ + { + "Key": "aws-cdk:subnet-name", + "Value": "Public" + }, + { + "Key": "aws-cdk:subnet-type", + "Value": "Public" + }, + { + "Key": "Name", + "Value": "imported-environment-integ/Resources/Environment-environment-vpc/PublicSubnet1" + } + ] + } + }, + "EnvironmentenvironmentvpcPublicSubnet1RouteTableF562A242": { + "Type": "AWS::EC2::RouteTable", + "Properties": { + "VpcId": { + "Ref": "Environmentenvironmentvpc02635CAD" + }, + "Tags": [ + { + "Key": "Name", + "Value": "imported-environment-integ/Resources/Environment-environment-vpc/PublicSubnet1" + } + ] + } + }, + "EnvironmentenvironmentvpcPublicSubnet1RouteTableAssociationFDE85030": { + "Type": "AWS::EC2::SubnetRouteTableAssociation", + "Properties": { + "RouteTableId": { + "Ref": "EnvironmentenvironmentvpcPublicSubnet1RouteTableF562A242" + }, + "SubnetId": { + "Ref": "EnvironmentenvironmentvpcPublicSubnet1Subnet90FA3050" + } + } + }, + "EnvironmentenvironmentvpcPublicSubnet1DefaultRoute4171CB3F": { + "Type": "AWS::EC2::Route", + "Properties": { + "RouteTableId": { + "Ref": "EnvironmentenvironmentvpcPublicSubnet1RouteTableF562A242" + }, + "DestinationCidrBlock": "0.0.0.0/0", + "GatewayId": { + "Ref": "EnvironmentenvironmentvpcIGWD3352EF8" + } + }, + "DependsOn": [ + "EnvironmentenvironmentvpcVPCGWD59F3C86" + ] + }, + "EnvironmentenvironmentvpcPublicSubnet1EIP0B5752AE": { + "Type": "AWS::EC2::EIP", + "Properties": { + "Domain": "vpc", + "Tags": [ + { + "Key": "Name", + "Value": "imported-environment-integ/Resources/Environment-environment-vpc/PublicSubnet1" + } + ] + } + }, + "EnvironmentenvironmentvpcPublicSubnet1NATGateway65E8E64D": { + "Type": "AWS::EC2::NatGateway", + "Properties": { + "SubnetId": { + "Ref": "EnvironmentenvironmentvpcPublicSubnet1Subnet90FA3050" + }, + "AllocationId": { + "Fn::GetAtt": [ + "EnvironmentenvironmentvpcPublicSubnet1EIP0B5752AE", + "AllocationId" + ] + }, + "Tags": [ + { + "Key": "Name", + "Value": "imported-environment-integ/Resources/Environment-environment-vpc/PublicSubnet1" + } + ] + } + }, + "EnvironmentenvironmentvpcPublicSubnet2Subnet80565813": { + "Type": "AWS::EC2::Subnet", + "Properties": { + "VpcId": { + "Ref": "Environmentenvironmentvpc02635CAD" + }, + "AvailabilityZone": { + "Fn::Select": [ + 1, + { + "Fn::GetAZs": "" + } + ] + }, + "CidrBlock": "10.0.64.0/18", + "MapPublicIpOnLaunch": true, + "Tags": [ + { + "Key": "aws-cdk:subnet-name", + "Value": "Public" + }, + { + "Key": "aws-cdk:subnet-type", + "Value": "Public" + }, + { + "Key": "Name", + "Value": "imported-environment-integ/Resources/Environment-environment-vpc/PublicSubnet2" + } + ] + } + }, + "EnvironmentenvironmentvpcPublicSubnet2RouteTableCC311A3A": { + "Type": "AWS::EC2::RouteTable", + "Properties": { + "VpcId": { + "Ref": "Environmentenvironmentvpc02635CAD" + }, + "Tags": [ + { + "Key": "Name", + "Value": "imported-environment-integ/Resources/Environment-environment-vpc/PublicSubnet2" + } + ] + } + }, + "EnvironmentenvironmentvpcPublicSubnet2RouteTableAssociation54B3A48A": { + "Type": "AWS::EC2::SubnetRouteTableAssociation", + "Properties": { + "RouteTableId": { + "Ref": "EnvironmentenvironmentvpcPublicSubnet2RouteTableCC311A3A" + }, + "SubnetId": { + "Ref": "EnvironmentenvironmentvpcPublicSubnet2Subnet80565813" + } + } + }, + "EnvironmentenvironmentvpcPublicSubnet2DefaultRouteCA3995A5": { + "Type": "AWS::EC2::Route", + "Properties": { + "RouteTableId": { + "Ref": "EnvironmentenvironmentvpcPublicSubnet2RouteTableCC311A3A" + }, + "DestinationCidrBlock": "0.0.0.0/0", + "GatewayId": { + "Ref": "EnvironmentenvironmentvpcIGWD3352EF8" + } + }, + "DependsOn": [ + "EnvironmentenvironmentvpcVPCGWD59F3C86" + ] + }, + "EnvironmentenvironmentvpcPublicSubnet2EIP54A162E2": { + "Type": "AWS::EC2::EIP", + "Properties": { + "Domain": "vpc", + "Tags": [ + { + "Key": "Name", + "Value": "imported-environment-integ/Resources/Environment-environment-vpc/PublicSubnet2" + } + ] + } + }, + "EnvironmentenvironmentvpcPublicSubnet2NATGatewayEDDF81A3": { + "Type": "AWS::EC2::NatGateway", + "Properties": { + "SubnetId": { + "Ref": "EnvironmentenvironmentvpcPublicSubnet2Subnet80565813" + }, + "AllocationId": { + "Fn::GetAtt": [ + "EnvironmentenvironmentvpcPublicSubnet2EIP54A162E2", + "AllocationId" + ] + }, + "Tags": [ + { + "Key": "Name", + "Value": "imported-environment-integ/Resources/Environment-environment-vpc/PublicSubnet2" + } + ] + } + }, + "EnvironmentenvironmentvpcPrivateSubnet1SubnetE66B59C1": { + "Type": "AWS::EC2::Subnet", + "Properties": { + "VpcId": { + "Ref": "Environmentenvironmentvpc02635CAD" + }, + "AvailabilityZone": { + "Fn::Select": [ + 0, + { + "Fn::GetAZs": "" + } + ] + }, + "CidrBlock": "10.0.128.0/18", + "MapPublicIpOnLaunch": false, + "Tags": [ + { + "Key": "aws-cdk:subnet-name", + "Value": "Private" + }, + { + "Key": "aws-cdk:subnet-type", + "Value": "Private" + }, + { + "Key": "Name", + "Value": "imported-environment-integ/Resources/Environment-environment-vpc/PrivateSubnet1" + } + ] + } + }, + "EnvironmentenvironmentvpcPrivateSubnet1RouteTable2FAF7412": { + "Type": "AWS::EC2::RouteTable", + "Properties": { + "VpcId": { + "Ref": "Environmentenvironmentvpc02635CAD" + }, + "Tags": [ + { + "Key": "Name", + "Value": "imported-environment-integ/Resources/Environment-environment-vpc/PrivateSubnet1" + } + ] + } + }, + "EnvironmentenvironmentvpcPrivateSubnet1RouteTableAssociation46A426C7": { + "Type": "AWS::EC2::SubnetRouteTableAssociation", + "Properties": { + "RouteTableId": { + "Ref": "EnvironmentenvironmentvpcPrivateSubnet1RouteTable2FAF7412" + }, + "SubnetId": { + "Ref": "EnvironmentenvironmentvpcPrivateSubnet1SubnetE66B59C1" + } + } + }, + "EnvironmentenvironmentvpcPrivateSubnet1DefaultRoute1AFA55BA": { + "Type": "AWS::EC2::Route", + "Properties": { + "RouteTableId": { + "Ref": "EnvironmentenvironmentvpcPrivateSubnet1RouteTable2FAF7412" + }, + "DestinationCidrBlock": "0.0.0.0/0", + "NatGatewayId": { + "Ref": "EnvironmentenvironmentvpcPublicSubnet1NATGateway65E8E64D" + } + } + }, + "EnvironmentenvironmentvpcPrivateSubnet2SubnetD38DAD67": { + "Type": "AWS::EC2::Subnet", + "Properties": { + "VpcId": { + "Ref": "Environmentenvironmentvpc02635CAD" + }, + "AvailabilityZone": { + "Fn::Select": [ + 1, + { + "Fn::GetAZs": "" + } + ] + }, + "CidrBlock": "10.0.192.0/18", + "MapPublicIpOnLaunch": false, + "Tags": [ + { + "Key": "aws-cdk:subnet-name", + "Value": "Private" + }, + { + "Key": "aws-cdk:subnet-type", + "Value": "Private" + }, + { + "Key": "Name", + "Value": "imported-environment-integ/Resources/Environment-environment-vpc/PrivateSubnet2" + } + ] + } + }, + "EnvironmentenvironmentvpcPrivateSubnet2RouteTable244FED3F": { + "Type": "AWS::EC2::RouteTable", + "Properties": { + "VpcId": { + "Ref": "Environmentenvironmentvpc02635CAD" + }, + "Tags": [ + { + "Key": "Name", + "Value": "imported-environment-integ/Resources/Environment-environment-vpc/PrivateSubnet2" + } + ] + } + }, + "EnvironmentenvironmentvpcPrivateSubnet2RouteTableAssociation9FE6BFCD": { + "Type": "AWS::EC2::SubnetRouteTableAssociation", + "Properties": { + "RouteTableId": { + "Ref": "EnvironmentenvironmentvpcPrivateSubnet2RouteTable244FED3F" + }, + "SubnetId": { + "Ref": "EnvironmentenvironmentvpcPrivateSubnet2SubnetD38DAD67" + } + } + }, + "EnvironmentenvironmentvpcPrivateSubnet2DefaultRouteF5A23DA3": { + "Type": "AWS::EC2::Route", + "Properties": { + "RouteTableId": { + "Ref": "EnvironmentenvironmentvpcPrivateSubnet2RouteTable244FED3F" + }, + "DestinationCidrBlock": "0.0.0.0/0", + "NatGatewayId": { + "Ref": "EnvironmentenvironmentvpcPublicSubnet2NATGatewayEDDF81A3" + } + } + }, + "EnvironmentenvironmentvpcIGWD3352EF8": { + "Type": "AWS::EC2::InternetGateway", + "Properties": { + "Tags": [ + { + "Key": "Name", + "Value": "imported-environment-integ/Resources/Environment-environment-vpc" + } + ] + } + }, + "EnvironmentenvironmentvpcVPCGWD59F3C86": { + "Type": "AWS::EC2::VPCGatewayAttachment", + "Properties": { + "VpcId": { + "Ref": "Environmentenvironmentvpc02635CAD" + }, + "InternetGatewayId": { + "Ref": "EnvironmentenvironmentvpcIGWD3352EF8" + } + } + }, + "EnvironmentenvironmentclusterA67A8E69": { + "Type": "AWS::ECS::Cluster" + } + }, + "Outputs": { + "importedenvironmentintegResourcesEnvironmentenvironmentvpcPublicSubnet1Subnet0D15D382Ref": { + "Value": { + "Ref": "EnvironmentenvironmentvpcPublicSubnet1Subnet90FA3050" + } + }, + "importedenvironmentintegResourcesEnvironmentenvironmentvpcPublicSubnet2Subnet68645ACARef": { + "Value": { + "Ref": "EnvironmentenvironmentvpcPublicSubnet2Subnet80565813" + } + }, + "importedenvironmentintegResourcesEnvironmentenvironmentvpcDC34D4D3Ref": { + "Value": { + "Ref": "Environmentenvironmentvpc02635CAD" + } + }, + "importedenvironmentintegResourcesEnvironmentenvironmentcluster594A3DCARef": { + "Value": { + "Ref": "EnvironmentenvironmentclusterA67A8E69" + } + }, + "importedenvironmentintegResourcesEnvironmentenvironmentvpcPrivateSubnet1Subnet7309E967Ref": { + "Value": { + "Ref": "EnvironmentenvironmentvpcPrivateSubnet1SubnetE66B59C1" + } + }, + "importedenvironmentintegResourcesEnvironmentenvironmentvpcPrivateSubnet2Subnet55014443Ref": { + "Value": { + "Ref": "EnvironmentenvironmentvpcPrivateSubnet2SubnetD38DAD67" + } + } + } +} \ No newline at end of file diff --git a/packages/@aws-cdk-containers/ecs-service-extensions/test/imported-environment.integ.snapshot/manifest.json b/packages/@aws-cdk-containers/ecs-service-extensions/test/imported-environment.integ.snapshot/manifest.json new file mode 100644 index 0000000000000..bbb6f0867cb91 --- /dev/null +++ b/packages/@aws-cdk-containers/ecs-service-extensions/test/imported-environment.integ.snapshot/manifest.json @@ -0,0 +1,331 @@ +{ + "version": "17.0.0", + "artifacts": { + "Tree": { + "type": "cdk:tree", + "properties": { + "file": "tree.json" + }, + "metadata": {} + }, + "imported-environment-integ": { + "type": "aws:cloudformation:stack", + "environment": "aws://unknown-account/unknown-region", + "properties": { + "templateFile": "imported-environment-integ.template.json", + "validateOnSynth": false + }, + "metadata": { + "/imported-environment-integ": [ + { + "type": "aws:cdk:asset", + "data": { + "path": "importedenvironmentintegResourcesAB23EBEF.nested.template.json", + "id": "78cd13b88474241c9844c0c939b6fca0f485ffbba32f35718002319e7ab73a01", + "packaging": "file", + "sourceHash": "78cd13b88474241c9844c0c939b6fca0f485ffbba32f35718002319e7ab73a01", + "s3BucketParameter": "AssetParameters78cd13b88474241c9844c0c939b6fca0f485ffbba32f35718002319e7ab73a01S3Bucket64585C1B", + "s3KeyParameter": "AssetParameters78cd13b88474241c9844c0c939b6fca0f485ffbba32f35718002319e7ab73a01S3VersionKey41670582", + "artifactHashParameter": "AssetParameters78cd13b88474241c9844c0c939b6fca0f485ffbba32f35718002319e7ab73a01ArtifactHashF1155D65" + } + } + ], + "/imported-environment-integ/Resources/Environment-environment-vpc/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "Environmentenvironmentvpc02635CAD" + } + ], + "/imported-environment-integ/Resources/Environment-environment-vpc/PublicSubnet1/Subnet": [ + { + "type": "aws:cdk:logicalId", + "data": "EnvironmentenvironmentvpcPublicSubnet1Subnet90FA3050" + } + ], + "/imported-environment-integ/Resources/Environment-environment-vpc/PublicSubnet1/RouteTable": [ + { + "type": "aws:cdk:logicalId", + "data": "EnvironmentenvironmentvpcPublicSubnet1RouteTableF562A242" + } + ], + "/imported-environment-integ/Resources/Environment-environment-vpc/PublicSubnet1/RouteTableAssociation": [ + { + "type": "aws:cdk:logicalId", + "data": "EnvironmentenvironmentvpcPublicSubnet1RouteTableAssociationFDE85030" + } + ], + "/imported-environment-integ/Resources/Environment-environment-vpc/PublicSubnet1/DefaultRoute": [ + { + "type": "aws:cdk:logicalId", + "data": "EnvironmentenvironmentvpcPublicSubnet1DefaultRoute4171CB3F" + } + ], + "/imported-environment-integ/Resources/Environment-environment-vpc/PublicSubnet1/EIP": [ + { + "type": "aws:cdk:logicalId", + "data": "EnvironmentenvironmentvpcPublicSubnet1EIP0B5752AE" + } + ], + "/imported-environment-integ/Resources/Environment-environment-vpc/PublicSubnet1/NATGateway": [ + { + "type": "aws:cdk:logicalId", + "data": "EnvironmentenvironmentvpcPublicSubnet1NATGateway65E8E64D" + } + ], + "/imported-environment-integ/Resources/Environment-environment-vpc/PublicSubnet2/Subnet": [ + { + "type": "aws:cdk:logicalId", + "data": "EnvironmentenvironmentvpcPublicSubnet2Subnet80565813" + } + ], + "/imported-environment-integ/Resources/Environment-environment-vpc/PublicSubnet2/RouteTable": [ + { + "type": "aws:cdk:logicalId", + "data": "EnvironmentenvironmentvpcPublicSubnet2RouteTableCC311A3A" + } + ], + "/imported-environment-integ/Resources/Environment-environment-vpc/PublicSubnet2/RouteTableAssociation": [ + { + "type": "aws:cdk:logicalId", + "data": "EnvironmentenvironmentvpcPublicSubnet2RouteTableAssociation54B3A48A" + } + ], + "/imported-environment-integ/Resources/Environment-environment-vpc/PublicSubnet2/DefaultRoute": [ + { + "type": "aws:cdk:logicalId", + "data": "EnvironmentenvironmentvpcPublicSubnet2DefaultRouteCA3995A5" + } + ], + "/imported-environment-integ/Resources/Environment-environment-vpc/PublicSubnet2/EIP": [ + { + "type": "aws:cdk:logicalId", + "data": "EnvironmentenvironmentvpcPublicSubnet2EIP54A162E2" + } + ], + "/imported-environment-integ/Resources/Environment-environment-vpc/PublicSubnet2/NATGateway": [ + { + "type": "aws:cdk:logicalId", + "data": "EnvironmentenvironmentvpcPublicSubnet2NATGatewayEDDF81A3" + } + ], + "/imported-environment-integ/Resources/Environment-environment-vpc/PrivateSubnet1/Subnet": [ + { + "type": "aws:cdk:logicalId", + "data": "EnvironmentenvironmentvpcPrivateSubnet1SubnetE66B59C1" + } + ], + "/imported-environment-integ/Resources/Environment-environment-vpc/PrivateSubnet1/RouteTable": [ + { + "type": "aws:cdk:logicalId", + "data": "EnvironmentenvironmentvpcPrivateSubnet1RouteTable2FAF7412" + } + ], + "/imported-environment-integ/Resources/Environment-environment-vpc/PrivateSubnet1/RouteTableAssociation": [ + { + "type": "aws:cdk:logicalId", + "data": "EnvironmentenvironmentvpcPrivateSubnet1RouteTableAssociation46A426C7" + } + ], + "/imported-environment-integ/Resources/Environment-environment-vpc/PrivateSubnet1/DefaultRoute": [ + { + "type": "aws:cdk:logicalId", + "data": "EnvironmentenvironmentvpcPrivateSubnet1DefaultRoute1AFA55BA" + } + ], + "/imported-environment-integ/Resources/Environment-environment-vpc/PrivateSubnet2/Subnet": [ + { + "type": "aws:cdk:logicalId", + "data": "EnvironmentenvironmentvpcPrivateSubnet2SubnetD38DAD67" + } + ], + "/imported-environment-integ/Resources/Environment-environment-vpc/PrivateSubnet2/RouteTable": [ + { + "type": "aws:cdk:logicalId", + "data": "EnvironmentenvironmentvpcPrivateSubnet2RouteTable244FED3F" + } + ], + "/imported-environment-integ/Resources/Environment-environment-vpc/PrivateSubnet2/RouteTableAssociation": [ + { + "type": "aws:cdk:logicalId", + "data": "EnvironmentenvironmentvpcPrivateSubnet2RouteTableAssociation9FE6BFCD" + } + ], + "/imported-environment-integ/Resources/Environment-environment-vpc/PrivateSubnet2/DefaultRoute": [ + { + "type": "aws:cdk:logicalId", + "data": "EnvironmentenvironmentvpcPrivateSubnet2DefaultRouteF5A23DA3" + } + ], + "/imported-environment-integ/Resources/Environment-environment-vpc/IGW": [ + { + "type": "aws:cdk:logicalId", + "data": "EnvironmentenvironmentvpcIGWD3352EF8" + } + ], + "/imported-environment-integ/Resources/Environment-environment-vpc/VPCGW": [ + { + "type": "aws:cdk:logicalId", + "data": "EnvironmentenvironmentvpcVPCGWD59F3C86" + } + ], + "/imported-environment-integ/Resources/Environment-environment-cluster/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "EnvironmentenvironmentclusterA67A8E69" + } + ], + "/imported-environment-integ/Resources/importedenvironmentintegResourcesEnvironmentenvironmentvpcPublicSubnet1Subnet0D15D382Ref": [ + { + "type": "aws:cdk:logicalId", + "data": "importedenvironmentintegResourcesEnvironmentenvironmentvpcPublicSubnet1Subnet0D15D382Ref" + } + ], + "/imported-environment-integ/Resources/importedenvironmentintegResourcesEnvironmentenvironmentvpcPublicSubnet2Subnet68645ACARef": [ + { + "type": "aws:cdk:logicalId", + "data": "importedenvironmentintegResourcesEnvironmentenvironmentvpcPublicSubnet2Subnet68645ACARef" + } + ], + "/imported-environment-integ/Resources/importedenvironmentintegResourcesEnvironmentenvironmentvpcDC34D4D3Ref": [ + { + "type": "aws:cdk:logicalId", + "data": "importedenvironmentintegResourcesEnvironmentenvironmentvpcDC34D4D3Ref" + } + ], + "/imported-environment-integ/Resources/importedenvironmentintegResourcesEnvironmentenvironmentcluster594A3DCARef": [ + { + "type": "aws:cdk:logicalId", + "data": "importedenvironmentintegResourcesEnvironmentenvironmentcluster594A3DCARef" + } + ], + "/imported-environment-integ/Resources/importedenvironmentintegResourcesEnvironmentenvironmentvpcPrivateSubnet1Subnet7309E967Ref": [ + { + "type": "aws:cdk:logicalId", + "data": "importedenvironmentintegResourcesEnvironmentenvironmentvpcPrivateSubnet1Subnet7309E967Ref" + } + ], + "/imported-environment-integ/Resources/importedenvironmentintegResourcesEnvironmentenvironmentvpcPrivateSubnet2Subnet55014443Ref": [ + { + "type": "aws:cdk:logicalId", + "data": "importedenvironmentintegResourcesEnvironmentenvironmentvpcPrivateSubnet2Subnet55014443Ref" + } + ], + "/imported-environment-integ/Resources.NestedStack/Resources.NestedStackResource": [ + { + "type": "aws:cdk:logicalId", + "data": "ResourcesNestedStackResourcesNestedStackResourceCDA26E60" + } + ], + "/imported-environment-integ/Vpc/PublicSubnet1": [ + { + "type": "aws:cdk:warning", + "data": "No routeTableId was provided to the subnet at 'imported-environment-integ/Vpc/PublicSubnet1'. Attempting to read its .routeTable.routeTableId will return null/undefined. (More info: https://github.com/aws/aws-cdk/pull/3171)" + } + ], + "/imported-environment-integ/Vpc/PublicSubnet2": [ + { + "type": "aws:cdk:warning", + "data": "No routeTableId was provided to the subnet at 'imported-environment-integ/Vpc/PublicSubnet2'. Attempting to read its .routeTable.routeTableId will return null/undefined. (More info: https://github.com/aws/aws-cdk/pull/3171)" + } + ], + "/imported-environment-integ/Vpc/PrivateSubnet1": [ + { + "type": "aws:cdk:warning", + "data": "No routeTableId was provided to the subnet at 'imported-environment-integ/Vpc/PrivateSubnet1'. Attempting to read its .routeTable.routeTableId will return null/undefined. (More info: https://github.com/aws/aws-cdk/pull/3171)" + } + ], + "/imported-environment-integ/Vpc/PrivateSubnet2": [ + { + "type": "aws:cdk:warning", + "data": "No routeTableId was provided to the subnet at 'imported-environment-integ/Vpc/PrivateSubnet2'. Attempting to read its .routeTable.routeTableId will return null/undefined. (More info: https://github.com/aws/aws-cdk/pull/3171)" + } + ], + "/imported-environment-integ/Service-load-balancer/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "ServiceloadbalancerD5D60894" + } + ], + "/imported-environment-integ/Service-load-balancer/SecurityGroup/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "ServiceloadbalancerSecurityGroup2DA3E8D6" + } + ], + "/imported-environment-integ/Service-load-balancer/SecurityGroup/to importedenvironmentintegServiceserviceSecurityGroup2BE90F74:80": [ + { + "type": "aws:cdk:logicalId", + "data": "ServiceloadbalancerSecurityGrouptoimportedenvironmentintegServiceserviceSecurityGroup2BE90F7480B17EB7CA" + } + ], + "/imported-environment-integ/Service-load-balancer/Service-listener/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "ServiceloadbalancerServicelistenerC862F722" + } + ], + "/imported-environment-integ/Service-load-balancer/Service-listener/ServiceGroup/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "ServiceloadbalancerServicelistenerServiceGroup844B51E6" + } + ], + "/imported-environment-integ/Service-load-balancer-dns-output": [ + { + "type": "aws:cdk:logicalId", + "data": "Serviceloadbalancerdnsoutput" + } + ], + "/imported-environment-integ/Service-task-definition/TaskRole/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "ServicetaskdefinitionTaskRole5B4B60A4" + } + ], + "/imported-environment-integ/Service-task-definition/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "Servicetaskdefinition0CEAD834" + } + ], + "/imported-environment-integ/Service-service/Service": [ + { + "type": "aws:cdk:logicalId", + "data": "ServiceserviceService6A153CB8" + } + ], + "/imported-environment-integ/Service-service/SecurityGroup/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "ServiceserviceSecurityGroup1915660F" + } + ], + "/imported-environment-integ/Service-service/SecurityGroup/from importedenvironmentintegServiceloadbalancerSecurityGroup68EE533C:80": [ + { + "type": "aws:cdk:logicalId", + "data": "ServiceserviceSecurityGroupfromimportedenvironmentintegServiceloadbalancerSecurityGroup68EE533C8070FCF629" + } + ], + "/imported-environment-integ/AssetParameters/78cd13b88474241c9844c0c939b6fca0f485ffbba32f35718002319e7ab73a01/S3Bucket": [ + { + "type": "aws:cdk:logicalId", + "data": "AssetParameters78cd13b88474241c9844c0c939b6fca0f485ffbba32f35718002319e7ab73a01S3Bucket64585C1B" + } + ], + "/imported-environment-integ/AssetParameters/78cd13b88474241c9844c0c939b6fca0f485ffbba32f35718002319e7ab73a01/S3VersionKey": [ + { + "type": "aws:cdk:logicalId", + "data": "AssetParameters78cd13b88474241c9844c0c939b6fca0f485ffbba32f35718002319e7ab73a01S3VersionKey41670582" + } + ], + "/imported-environment-integ/AssetParameters/78cd13b88474241c9844c0c939b6fca0f485ffbba32f35718002319e7ab73a01/ArtifactHash": [ + { + "type": "aws:cdk:logicalId", + "data": "AssetParameters78cd13b88474241c9844c0c939b6fca0f485ffbba32f35718002319e7ab73a01ArtifactHashF1155D65" + } + ] + }, + "displayName": "imported-environment-integ" + } + } +} \ No newline at end of file diff --git a/packages/@aws-cdk-containers/ecs-service-extensions/test/imported-environment.integ.snapshot/tree.json b/packages/@aws-cdk-containers/ecs-service-extensions/test/imported-environment.integ.snapshot/tree.json new file mode 100644 index 0000000000000..c44ae38708f4d --- /dev/null +++ b/packages/@aws-cdk-containers/ecs-service-extensions/test/imported-environment.integ.snapshot/tree.json @@ -0,0 +1,1398 @@ +{ + "version": "tree-0.1", + "tree": { + "id": "App", + "path": "", + "children": { + "Tree": { + "id": "Tree", + "path": "Tree", + "constructInfo": { + "fqn": "@aws-cdk/core.Construct", + "version": "0.0.0" + } + }, + "imported-environment-integ": { + "id": "imported-environment-integ", + "path": "imported-environment-integ", + "children": { + "Resources": { + "id": "Resources", + "path": "imported-environment-integ/Resources", + "children": { + "Environment": { + "id": "Environment", + "path": "imported-environment-integ/Resources/Environment", + "constructInfo": { + "fqn": "@aws-cdk/core.Construct", + "version": "0.0.0" + } + }, + "Environment-environment-vpc": { + "id": "Environment-environment-vpc", + "path": "imported-environment-integ/Resources/Environment-environment-vpc", + "children": { + "Resource": { + "id": "Resource", + "path": "imported-environment-integ/Resources/Environment-environment-vpc/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::VPC", + "aws:cdk:cloudformation:props": { + "cidrBlock": "10.0.0.0/16", + "enableDnsHostnames": true, + "enableDnsSupport": true, + "instanceTenancy": "default", + "tags": [ + { + "key": "Name", + "value": "imported-environment-integ/Resources/Environment-environment-vpc" + } + ] + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + }, + "PublicSubnet1": { + "id": "PublicSubnet1", + "path": "imported-environment-integ/Resources/Environment-environment-vpc/PublicSubnet1", + "children": { + "Subnet": { + "id": "Subnet", + "path": "imported-environment-integ/Resources/Environment-environment-vpc/PublicSubnet1/Subnet", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::Subnet", + "aws:cdk:cloudformation:props": { + "vpcId": { + "Ref": "Environmentenvironmentvpc02635CAD" + }, + "availabilityZone": { + "Fn::Select": [ + 0, + { + "Fn::GetAZs": "" + } + ] + }, + "cidrBlock": "10.0.0.0/18", + "mapPublicIpOnLaunch": true, + "tags": [ + { + "key": "aws-cdk:subnet-name", + "value": "Public" + }, + { + "key": "aws-cdk:subnet-type", + "value": "Public" + }, + { + "key": "Name", + "value": "imported-environment-integ/Resources/Environment-environment-vpc/PublicSubnet1" + } + ] + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + }, + "Acl": { + "id": "Acl", + "path": "imported-environment-integ/Resources/Environment-environment-vpc/PublicSubnet1/Acl", + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + }, + "RouteTable": { + "id": "RouteTable", + "path": "imported-environment-integ/Resources/Environment-environment-vpc/PublicSubnet1/RouteTable", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::RouteTable", + "aws:cdk:cloudformation:props": { + "vpcId": { + "Ref": "Environmentenvironmentvpc02635CAD" + }, + "tags": [ + { + "key": "Name", + "value": "imported-environment-integ/Resources/Environment-environment-vpc/PublicSubnet1" + } + ] + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + }, + "RouteTableAssociation": { + "id": "RouteTableAssociation", + "path": "imported-environment-integ/Resources/Environment-environment-vpc/PublicSubnet1/RouteTableAssociation", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::SubnetRouteTableAssociation", + "aws:cdk:cloudformation:props": { + "routeTableId": { + "Ref": "EnvironmentenvironmentvpcPublicSubnet1RouteTableF562A242" + }, + "subnetId": { + "Ref": "EnvironmentenvironmentvpcPublicSubnet1Subnet90FA3050" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + }, + "DefaultRoute": { + "id": "DefaultRoute", + "path": "imported-environment-integ/Resources/Environment-environment-vpc/PublicSubnet1/DefaultRoute", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::Route", + "aws:cdk:cloudformation:props": { + "routeTableId": { + "Ref": "EnvironmentenvironmentvpcPublicSubnet1RouteTableF562A242" + }, + "destinationCidrBlock": "0.0.0.0/0", + "gatewayId": { + "Ref": "EnvironmentenvironmentvpcIGWD3352EF8" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + }, + "EIP": { + "id": "EIP", + "path": "imported-environment-integ/Resources/Environment-environment-vpc/PublicSubnet1/EIP", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::EIP", + "aws:cdk:cloudformation:props": { + "domain": "vpc", + "tags": [ + { + "key": "Name", + "value": "imported-environment-integ/Resources/Environment-environment-vpc/PublicSubnet1" + } + ] + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + }, + "NATGateway": { + "id": "NATGateway", + "path": "imported-environment-integ/Resources/Environment-environment-vpc/PublicSubnet1/NATGateway", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::NatGateway", + "aws:cdk:cloudformation:props": { + "subnetId": { + "Ref": "EnvironmentenvironmentvpcPublicSubnet1Subnet90FA3050" + }, + "allocationId": { + "Fn::GetAtt": [ + "EnvironmentenvironmentvpcPublicSubnet1EIP0B5752AE", + "AllocationId" + ] + }, + "tags": [ + { + "key": "Name", + "value": "imported-environment-integ/Resources/Environment-environment-vpc/PublicSubnet1" + } + ] + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + }, + "PublicSubnet2": { + "id": "PublicSubnet2", + "path": "imported-environment-integ/Resources/Environment-environment-vpc/PublicSubnet2", + "children": { + "Subnet": { + "id": "Subnet", + "path": "imported-environment-integ/Resources/Environment-environment-vpc/PublicSubnet2/Subnet", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::Subnet", + "aws:cdk:cloudformation:props": { + "vpcId": { + "Ref": "Environmentenvironmentvpc02635CAD" + }, + "availabilityZone": { + "Fn::Select": [ + 1, + { + "Fn::GetAZs": "" + } + ] + }, + "cidrBlock": "10.0.64.0/18", + "mapPublicIpOnLaunch": true, + "tags": [ + { + "key": "aws-cdk:subnet-name", + "value": "Public" + }, + { + "key": "aws-cdk:subnet-type", + "value": "Public" + }, + { + "key": "Name", + "value": "imported-environment-integ/Resources/Environment-environment-vpc/PublicSubnet2" + } + ] + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + }, + "Acl": { + "id": "Acl", + "path": "imported-environment-integ/Resources/Environment-environment-vpc/PublicSubnet2/Acl", + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + }, + "RouteTable": { + "id": "RouteTable", + "path": "imported-environment-integ/Resources/Environment-environment-vpc/PublicSubnet2/RouteTable", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::RouteTable", + "aws:cdk:cloudformation:props": { + "vpcId": { + "Ref": "Environmentenvironmentvpc02635CAD" + }, + "tags": [ + { + "key": "Name", + "value": "imported-environment-integ/Resources/Environment-environment-vpc/PublicSubnet2" + } + ] + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + }, + "RouteTableAssociation": { + "id": "RouteTableAssociation", + "path": "imported-environment-integ/Resources/Environment-environment-vpc/PublicSubnet2/RouteTableAssociation", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::SubnetRouteTableAssociation", + "aws:cdk:cloudformation:props": { + "routeTableId": { + "Ref": "EnvironmentenvironmentvpcPublicSubnet2RouteTableCC311A3A" + }, + "subnetId": { + "Ref": "EnvironmentenvironmentvpcPublicSubnet2Subnet80565813" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + }, + "DefaultRoute": { + "id": "DefaultRoute", + "path": "imported-environment-integ/Resources/Environment-environment-vpc/PublicSubnet2/DefaultRoute", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::Route", + "aws:cdk:cloudformation:props": { + "routeTableId": { + "Ref": "EnvironmentenvironmentvpcPublicSubnet2RouteTableCC311A3A" + }, + "destinationCidrBlock": "0.0.0.0/0", + "gatewayId": { + "Ref": "EnvironmentenvironmentvpcIGWD3352EF8" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + }, + "EIP": { + "id": "EIP", + "path": "imported-environment-integ/Resources/Environment-environment-vpc/PublicSubnet2/EIP", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::EIP", + "aws:cdk:cloudformation:props": { + "domain": "vpc", + "tags": [ + { + "key": "Name", + "value": "imported-environment-integ/Resources/Environment-environment-vpc/PublicSubnet2" + } + ] + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + }, + "NATGateway": { + "id": "NATGateway", + "path": "imported-environment-integ/Resources/Environment-environment-vpc/PublicSubnet2/NATGateway", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::NatGateway", + "aws:cdk:cloudformation:props": { + "subnetId": { + "Ref": "EnvironmentenvironmentvpcPublicSubnet2Subnet80565813" + }, + "allocationId": { + "Fn::GetAtt": [ + "EnvironmentenvironmentvpcPublicSubnet2EIP54A162E2", + "AllocationId" + ] + }, + "tags": [ + { + "key": "Name", + "value": "imported-environment-integ/Resources/Environment-environment-vpc/PublicSubnet2" + } + ] + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + }, + "PrivateSubnet1": { + "id": "PrivateSubnet1", + "path": "imported-environment-integ/Resources/Environment-environment-vpc/PrivateSubnet1", + "children": { + "Subnet": { + "id": "Subnet", + "path": "imported-environment-integ/Resources/Environment-environment-vpc/PrivateSubnet1/Subnet", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::Subnet", + "aws:cdk:cloudformation:props": { + "vpcId": { + "Ref": "Environmentenvironmentvpc02635CAD" + }, + "availabilityZone": { + "Fn::Select": [ + 0, + { + "Fn::GetAZs": "" + } + ] + }, + "cidrBlock": "10.0.128.0/18", + "mapPublicIpOnLaunch": false, + "tags": [ + { + "key": "aws-cdk:subnet-name", + "value": "Private" + }, + { + "key": "aws-cdk:subnet-type", + "value": "Private" + }, + { + "key": "Name", + "value": "imported-environment-integ/Resources/Environment-environment-vpc/PrivateSubnet1" + } + ] + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + }, + "Acl": { + "id": "Acl", + "path": "imported-environment-integ/Resources/Environment-environment-vpc/PrivateSubnet1/Acl", + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + }, + "RouteTable": { + "id": "RouteTable", + "path": "imported-environment-integ/Resources/Environment-environment-vpc/PrivateSubnet1/RouteTable", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::RouteTable", + "aws:cdk:cloudformation:props": { + "vpcId": { + "Ref": "Environmentenvironmentvpc02635CAD" + }, + "tags": [ + { + "key": "Name", + "value": "imported-environment-integ/Resources/Environment-environment-vpc/PrivateSubnet1" + } + ] + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + }, + "RouteTableAssociation": { + "id": "RouteTableAssociation", + "path": "imported-environment-integ/Resources/Environment-environment-vpc/PrivateSubnet1/RouteTableAssociation", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::SubnetRouteTableAssociation", + "aws:cdk:cloudformation:props": { + "routeTableId": { + "Ref": "EnvironmentenvironmentvpcPrivateSubnet1RouteTable2FAF7412" + }, + "subnetId": { + "Ref": "EnvironmentenvironmentvpcPrivateSubnet1SubnetE66B59C1" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + }, + "DefaultRoute": { + "id": "DefaultRoute", + "path": "imported-environment-integ/Resources/Environment-environment-vpc/PrivateSubnet1/DefaultRoute", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::Route", + "aws:cdk:cloudformation:props": { + "routeTableId": { + "Ref": "EnvironmentenvironmentvpcPrivateSubnet1RouteTable2FAF7412" + }, + "destinationCidrBlock": "0.0.0.0/0", + "natGatewayId": { + "Ref": "EnvironmentenvironmentvpcPublicSubnet1NATGateway65E8E64D" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + }, + "PrivateSubnet2": { + "id": "PrivateSubnet2", + "path": "imported-environment-integ/Resources/Environment-environment-vpc/PrivateSubnet2", + "children": { + "Subnet": { + "id": "Subnet", + "path": "imported-environment-integ/Resources/Environment-environment-vpc/PrivateSubnet2/Subnet", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::Subnet", + "aws:cdk:cloudformation:props": { + "vpcId": { + "Ref": "Environmentenvironmentvpc02635CAD" + }, + "availabilityZone": { + "Fn::Select": [ + 1, + { + "Fn::GetAZs": "" + } + ] + }, + "cidrBlock": "10.0.192.0/18", + "mapPublicIpOnLaunch": false, + "tags": [ + { + "key": "aws-cdk:subnet-name", + "value": "Private" + }, + { + "key": "aws-cdk:subnet-type", + "value": "Private" + }, + { + "key": "Name", + "value": "imported-environment-integ/Resources/Environment-environment-vpc/PrivateSubnet2" + } + ] + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + }, + "Acl": { + "id": "Acl", + "path": "imported-environment-integ/Resources/Environment-environment-vpc/PrivateSubnet2/Acl", + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + }, + "RouteTable": { + "id": "RouteTable", + "path": "imported-environment-integ/Resources/Environment-environment-vpc/PrivateSubnet2/RouteTable", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::RouteTable", + "aws:cdk:cloudformation:props": { + "vpcId": { + "Ref": "Environmentenvironmentvpc02635CAD" + }, + "tags": [ + { + "key": "Name", + "value": "imported-environment-integ/Resources/Environment-environment-vpc/PrivateSubnet2" + } + ] + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + }, + "RouteTableAssociation": { + "id": "RouteTableAssociation", + "path": "imported-environment-integ/Resources/Environment-environment-vpc/PrivateSubnet2/RouteTableAssociation", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::SubnetRouteTableAssociation", + "aws:cdk:cloudformation:props": { + "routeTableId": { + "Ref": "EnvironmentenvironmentvpcPrivateSubnet2RouteTable244FED3F" + }, + "subnetId": { + "Ref": "EnvironmentenvironmentvpcPrivateSubnet2SubnetD38DAD67" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + }, + "DefaultRoute": { + "id": "DefaultRoute", + "path": "imported-environment-integ/Resources/Environment-environment-vpc/PrivateSubnet2/DefaultRoute", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::Route", + "aws:cdk:cloudformation:props": { + "routeTableId": { + "Ref": "EnvironmentenvironmentvpcPrivateSubnet2RouteTable244FED3F" + }, + "destinationCidrBlock": "0.0.0.0/0", + "natGatewayId": { + "Ref": "EnvironmentenvironmentvpcPublicSubnet2NATGatewayEDDF81A3" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + }, + "IGW": { + "id": "IGW", + "path": "imported-environment-integ/Resources/Environment-environment-vpc/IGW", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::InternetGateway", + "aws:cdk:cloudformation:props": { + "tags": [ + { + "key": "Name", + "value": "imported-environment-integ/Resources/Environment-environment-vpc" + } + ] + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + }, + "VPCGW": { + "id": "VPCGW", + "path": "imported-environment-integ/Resources/Environment-environment-vpc/VPCGW", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::VPCGatewayAttachment", + "aws:cdk:cloudformation:props": { + "vpcId": { + "Ref": "Environmentenvironmentvpc02635CAD" + }, + "internetGatewayId": { + "Ref": "EnvironmentenvironmentvpcIGWD3352EF8" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + }, + "Environment-environment-cluster": { + "id": "Environment-environment-cluster", + "path": "imported-environment-integ/Resources/Environment-environment-cluster", + "children": { + "Resource": { + "id": "Resource", + "path": "imported-environment-integ/Resources/Environment-environment-cluster/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::ECS::Cluster", + "aws:cdk:cloudformation:props": {} + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + }, + "importedenvironmentintegResourcesEnvironmentenvironmentvpcPublicSubnet1Subnet0D15D382Ref": { + "id": "importedenvironmentintegResourcesEnvironmentenvironmentvpcPublicSubnet1Subnet0D15D382Ref", + "path": "imported-environment-integ/Resources/importedenvironmentintegResourcesEnvironmentenvironmentvpcPublicSubnet1Subnet0D15D382Ref", + "constructInfo": { + "fqn": "@aws-cdk/core.CfnOutput", + "version": "0.0.0" + } + }, + "importedenvironmentintegResourcesEnvironmentenvironmentvpcPublicSubnet2Subnet68645ACARef": { + "id": "importedenvironmentintegResourcesEnvironmentenvironmentvpcPublicSubnet2Subnet68645ACARef", + "path": "imported-environment-integ/Resources/importedenvironmentintegResourcesEnvironmentenvironmentvpcPublicSubnet2Subnet68645ACARef", + "constructInfo": { + "fqn": "@aws-cdk/core.CfnOutput", + "version": "0.0.0" + } + }, + "importedenvironmentintegResourcesEnvironmentenvironmentvpcDC34D4D3Ref": { + "id": "importedenvironmentintegResourcesEnvironmentenvironmentvpcDC34D4D3Ref", + "path": "imported-environment-integ/Resources/importedenvironmentintegResourcesEnvironmentenvironmentvpcDC34D4D3Ref", + "constructInfo": { + "fqn": "@aws-cdk/core.CfnOutput", + "version": "0.0.0" + } + }, + "importedenvironmentintegResourcesEnvironmentenvironmentcluster594A3DCARef": { + "id": "importedenvironmentintegResourcesEnvironmentenvironmentcluster594A3DCARef", + "path": "imported-environment-integ/Resources/importedenvironmentintegResourcesEnvironmentenvironmentcluster594A3DCARef", + "constructInfo": { + "fqn": "@aws-cdk/core.CfnOutput", + "version": "0.0.0" + } + }, + "importedenvironmentintegResourcesEnvironmentenvironmentvpcPrivateSubnet1Subnet7309E967Ref": { + "id": "importedenvironmentintegResourcesEnvironmentenvironmentvpcPrivateSubnet1Subnet7309E967Ref", + "path": "imported-environment-integ/Resources/importedenvironmentintegResourcesEnvironmentenvironmentvpcPrivateSubnet1Subnet7309E967Ref", + "constructInfo": { + "fqn": "@aws-cdk/core.CfnOutput", + "version": "0.0.0" + } + }, + "importedenvironmentintegResourcesEnvironmentenvironmentvpcPrivateSubnet2Subnet55014443Ref": { + "id": "importedenvironmentintegResourcesEnvironmentenvironmentvpcPrivateSubnet2Subnet55014443Ref", + "path": "imported-environment-integ/Resources/importedenvironmentintegResourcesEnvironmentenvironmentvpcPrivateSubnet2Subnet55014443Ref", + "constructInfo": { + "fqn": "@aws-cdk/core.CfnOutput", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.NestedStack", + "version": "0.0.0" + } + }, + "Resources.NestedStack": { + "id": "Resources.NestedStack", + "path": "imported-environment-integ/Resources.NestedStack", + "children": { + "Resources.NestedStackResource": { + "id": "Resources.NestedStackResource", + "path": "imported-environment-integ/Resources.NestedStack/Resources.NestedStackResource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::CloudFormation::Stack", + "aws:cdk:cloudformation:props": { + "templateUrl": { + "Fn::Join": [ + "", + [ + "https://s3.", + { + "Ref": "AWS::Region" + }, + ".", + { + "Ref": "AWS::URLSuffix" + }, + "/", + { + "Ref": "AssetParameters78cd13b88474241c9844c0c939b6fca0f485ffbba32f35718002319e7ab73a01S3Bucket64585C1B" + }, + "/", + { + "Fn::Select": [ + 0, + { + "Fn::Split": [ + "||", + { + "Ref": "AssetParameters78cd13b88474241c9844c0c939b6fca0f485ffbba32f35718002319e7ab73a01S3VersionKey41670582" + } + ] + } + ] + }, + { + "Fn::Select": [ + 1, + { + "Fn::Split": [ + "||", + { + "Ref": "AssetParameters78cd13b88474241c9844c0c939b6fca0f485ffbba32f35718002319e7ab73a01S3VersionKey41670582" + } + ] + } + ] + } + ] + ] + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnStack", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Construct", + "version": "0.0.0" + } + }, + "Vpc": { + "id": "Vpc", + "path": "imported-environment-integ/Vpc", + "children": { + "PublicSubnet1": { + "id": "PublicSubnet1", + "path": "imported-environment-integ/Vpc/PublicSubnet1", + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + }, + "PublicSubnet2": { + "id": "PublicSubnet2", + "path": "imported-environment-integ/Vpc/PublicSubnet2", + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + }, + "PrivateSubnet1": { + "id": "PrivateSubnet1", + "path": "imported-environment-integ/Vpc/PrivateSubnet1", + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + }, + "PrivateSubnet2": { + "id": "PrivateSubnet2", + "path": "imported-environment-integ/Vpc/PrivateSubnet2", + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + }, + "Cluster": { + "id": "Cluster", + "path": "imported-environment-integ/Cluster", + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + }, + "Environment": { + "id": "Environment", + "path": "imported-environment-integ/Environment", + "constructInfo": { + "fqn": "@aws-cdk/core.Construct", + "version": "0.0.0" + } + }, + "Service": { + "id": "Service", + "path": "imported-environment-integ/Service", + "constructInfo": { + "fqn": "@aws-cdk/core.Construct", + "version": "0.0.0" + } + }, + "Service-load-balancer": { + "id": "Service-load-balancer", + "path": "imported-environment-integ/Service-load-balancer", + "children": { + "Resource": { + "id": "Resource", + "path": "imported-environment-integ/Service-load-balancer/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::ElasticLoadBalancingV2::LoadBalancer", + "aws:cdk:cloudformation:props": { + "loadBalancerAttributes": [ + { + "key": "deletion_protection.enabled", + "value": "false" + } + ], + "scheme": "internet-facing", + "securityGroups": [ + { + "Fn::GetAtt": [ + "ServiceloadbalancerSecurityGroup2DA3E8D6", + "GroupId" + ] + } + ], + "subnets": [ + { + "Fn::GetAtt": [ + "ResourcesNestedStackResourcesNestedStackResourceCDA26E60", + "Outputs.importedenvironmentintegResourcesEnvironmentenvironmentvpcPublicSubnet1Subnet0D15D382Ref" + ] + }, + { + "Fn::GetAtt": [ + "ResourcesNestedStackResourcesNestedStackResourceCDA26E60", + "Outputs.importedenvironmentintegResourcesEnvironmentenvironmentvpcPublicSubnet2Subnet68645ACARef" + ] + } + ], + "type": "application" + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + }, + "SecurityGroup": { + "id": "SecurityGroup", + "path": "imported-environment-integ/Service-load-balancer/SecurityGroup", + "children": { + "Resource": { + "id": "Resource", + "path": "imported-environment-integ/Service-load-balancer/SecurityGroup/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::SecurityGroup", + "aws:cdk:cloudformation:props": { + "groupDescription": "Automatically created Security Group for ELB importedenvironmentintegServiceloadbalancerFAE8A5FA", + "securityGroupIngress": [ + { + "cidrIp": "0.0.0.0/0", + "ipProtocol": "tcp", + "fromPort": 80, + "toPort": 80, + "description": "Allow from anyone on port 80" + } + ], + "vpcId": { + "Fn::GetAtt": [ + "ResourcesNestedStackResourcesNestedStackResourceCDA26E60", + "Outputs.importedenvironmentintegResourcesEnvironmentenvironmentvpcDC34D4D3Ref" + ] + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + }, + "to importedenvironmentintegServiceserviceSecurityGroup2BE90F74:80": { + "id": "to importedenvironmentintegServiceserviceSecurityGroup2BE90F74:80", + "path": "imported-environment-integ/Service-load-balancer/SecurityGroup/to importedenvironmentintegServiceserviceSecurityGroup2BE90F74:80", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::SecurityGroupEgress", + "aws:cdk:cloudformation:props": { + "groupId": { + "Fn::GetAtt": [ + "ServiceloadbalancerSecurityGroup2DA3E8D6", + "GroupId" + ] + }, + "ipProtocol": "tcp", + "description": "Load balancer to target", + "destinationSecurityGroupId": { + "Fn::GetAtt": [ + "ServiceserviceSecurityGroup1915660F", + "GroupId" + ] + }, + "fromPort": 80, + "toPort": 80 + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + }, + "Service-listener": { + "id": "Service-listener", + "path": "imported-environment-integ/Service-load-balancer/Service-listener", + "children": { + "Resource": { + "id": "Resource", + "path": "imported-environment-integ/Service-load-balancer/Service-listener/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::ElasticLoadBalancingV2::Listener", + "aws:cdk:cloudformation:props": { + "defaultActions": [ + { + "type": "forward", + "targetGroupArn": { + "Ref": "ServiceloadbalancerServicelistenerServiceGroup844B51E6" + } + } + ], + "loadBalancerArn": { + "Ref": "ServiceloadbalancerD5D60894" + }, + "port": 80, + "protocol": "HTTP" + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + }, + "ServiceGroup": { + "id": "ServiceGroup", + "path": "imported-environment-integ/Service-load-balancer/Service-listener/ServiceGroup", + "children": { + "Resource": { + "id": "Resource", + "path": "imported-environment-integ/Service-load-balancer/Service-listener/ServiceGroup/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::ElasticLoadBalancingV2::TargetGroup", + "aws:cdk:cloudformation:props": { + "port": 80, + "protocol": "HTTP", + "targetGroupAttributes": [ + { + "key": "deregistration_delay.timeout_seconds", + "value": "10" + }, + { + "key": "stickiness.enabled", + "value": "false" + } + ], + "targetType": "ip", + "vpcId": { + "Fn::GetAtt": [ + "ResourcesNestedStackResourcesNestedStackResourceCDA26E60", + "Outputs.importedenvironmentintegResourcesEnvironmentenvironmentvpcDC34D4D3Ref" + ] + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Construct", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + }, + "Service-load-balancer-dns-output": { + "id": "Service-load-balancer-dns-output", + "path": "imported-environment-integ/Service-load-balancer-dns-output", + "constructInfo": { + "fqn": "@aws-cdk/core.CfnOutput", + "version": "0.0.0" + } + }, + "Service-task-definition": { + "id": "Service-task-definition", + "path": "imported-environment-integ/Service-task-definition", + "children": { + "TaskRole": { + "id": "TaskRole", + "path": "imported-environment-integ/Service-task-definition/TaskRole", + "children": { + "Resource": { + "id": "Resource", + "path": "imported-environment-integ/Service-task-definition/TaskRole/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::IAM::Role", + "aws:cdk:cloudformation:props": { + "assumeRolePolicyDocument": { + "Statement": [ + { + "Action": "sts:AssumeRole", + "Effect": "Allow", + "Principal": { + "Service": "ecs-tasks.amazonaws.com" + } + } + ], + "Version": "2012-10-17" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + }, + "Resource": { + "id": "Resource", + "path": "imported-environment-integ/Service-task-definition/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::ECS::TaskDefinition", + "aws:cdk:cloudformation:props": { + "containerDefinitions": [ + { + "cpu": 256, + "essential": true, + "image": "nathanpeck/name", + "memory": 512, + "name": "app", + "portMappings": [ + { + "containerPort": 80, + "protocol": "tcp" + } + ], + "ulimits": [ + { + "name": "nofile", + "softLimit": 1024000, + "hardLimit": 1024000 + } + ], + "environment": [ + { + "name": "PORT", + "value": "80" + } + ] + } + ], + "cpu": "256", + "family": "importedenvironmentintegServicetaskdefinition63936B87", + "memory": "512", + "networkMode": "awsvpc", + "requiresCompatibilities": [ + "EC2", + "FARGATE" + ], + "taskRoleArn": { + "Fn::GetAtt": [ + "ServicetaskdefinitionTaskRole5B4B60A4", + "Arn" + ] + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + }, + "app": { + "id": "app", + "path": "imported-environment-integ/Service-task-definition/app", + "constructInfo": { + "fqn": "@aws-cdk/core.Construct", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + }, + "Service-service": { + "id": "Service-service", + "path": "imported-environment-integ/Service-service", + "children": { + "Service": { + "id": "Service", + "path": "imported-environment-integ/Service-service/Service", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::ECS::Service", + "aws:cdk:cloudformation:props": { + "cluster": { + "Fn::GetAtt": [ + "ResourcesNestedStackResourcesNestedStackResourceCDA26E60", + "Outputs.importedenvironmentintegResourcesEnvironmentenvironmentcluster594A3DCARef" + ] + }, + "deploymentConfiguration": { + "maximumPercent": 200, + "minimumHealthyPercent": 100 + }, + "desiredCount": 1, + "enableEcsManagedTags": false, + "healthCheckGracePeriodSeconds": 60, + "launchType": "FARGATE", + "loadBalancers": [ + { + "targetGroupArn": { + "Ref": "ServiceloadbalancerServicelistenerServiceGroup844B51E6" + }, + "containerName": "app", + "containerPort": 80 + } + ], + "networkConfiguration": { + "awsvpcConfiguration": { + "assignPublicIp": "DISABLED", + "subnets": [ + { + "Fn::GetAtt": [ + "ResourcesNestedStackResourcesNestedStackResourceCDA26E60", + "Outputs.importedenvironmentintegResourcesEnvironmentenvironmentvpcPrivateSubnet1Subnet7309E967Ref" + ] + }, + { + "Fn::GetAtt": [ + "ResourcesNestedStackResourcesNestedStackResourceCDA26E60", + "Outputs.importedenvironmentintegResourcesEnvironmentenvironmentvpcPrivateSubnet2Subnet55014443Ref" + ] + } + ], + "securityGroups": [ + { + "Fn::GetAtt": [ + "ServiceserviceSecurityGroup1915660F", + "GroupId" + ] + } + ] + } + }, + "taskDefinition": { + "Ref": "Servicetaskdefinition0CEAD834" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + }, + "SecurityGroup": { + "id": "SecurityGroup", + "path": "imported-environment-integ/Service-service/SecurityGroup", + "children": { + "Resource": { + "id": "Resource", + "path": "imported-environment-integ/Service-service/SecurityGroup/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::SecurityGroup", + "aws:cdk:cloudformation:props": { + "groupDescription": "imported-environment-integ/Service-service/SecurityGroup", + "securityGroupEgress": [ + { + "cidrIp": "0.0.0.0/0", + "description": "Allow all outbound traffic by default", + "ipProtocol": "-1" + } + ], + "vpcId": { + "Fn::GetAtt": [ + "ResourcesNestedStackResourcesNestedStackResourceCDA26E60", + "Outputs.importedenvironmentintegResourcesEnvironmentenvironmentvpcDC34D4D3Ref" + ] + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + }, + "from importedenvironmentintegServiceloadbalancerSecurityGroup68EE533C:80": { + "id": "from importedenvironmentintegServiceloadbalancerSecurityGroup68EE533C:80", + "path": "imported-environment-integ/Service-service/SecurityGroup/from importedenvironmentintegServiceloadbalancerSecurityGroup68EE533C:80", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::SecurityGroupIngress", + "aws:cdk:cloudformation:props": { + "ipProtocol": "tcp", + "description": "Load balancer to target", + "fromPort": 80, + "groupId": { + "Fn::GetAtt": [ + "ServiceserviceSecurityGroup1915660F", + "GroupId" + ] + }, + "sourceSecurityGroupId": { + "Fn::GetAtt": [ + "ServiceloadbalancerSecurityGroup2DA3E8D6", + "GroupId" + ] + }, + "toPort": 80 + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + }, + "AssetParameters": { + "id": "AssetParameters", + "path": "imported-environment-integ/AssetParameters", + "children": { + "78cd13b88474241c9844c0c939b6fca0f485ffbba32f35718002319e7ab73a01": { + "id": "78cd13b88474241c9844c0c939b6fca0f485ffbba32f35718002319e7ab73a01", + "path": "imported-environment-integ/AssetParameters/78cd13b88474241c9844c0c939b6fca0f485ffbba32f35718002319e7ab73a01", + "children": { + "S3Bucket": { + "id": "S3Bucket", + "path": "imported-environment-integ/AssetParameters/78cd13b88474241c9844c0c939b6fca0f485ffbba32f35718002319e7ab73a01/S3Bucket", + "constructInfo": { + "fqn": "@aws-cdk/core.CfnParameter", + "version": "0.0.0" + } + }, + "S3VersionKey": { + "id": "S3VersionKey", + "path": "imported-environment-integ/AssetParameters/78cd13b88474241c9844c0c939b6fca0f485ffbba32f35718002319e7ab73a01/S3VersionKey", + "constructInfo": { + "fqn": "@aws-cdk/core.CfnParameter", + "version": "0.0.0" + } + }, + "ArtifactHash": { + "id": "ArtifactHash", + "path": "imported-environment-integ/AssetParameters/78cd13b88474241c9844c0c939b6fca0f485ffbba32f35718002319e7ab73a01/ArtifactHash", + "constructInfo": { + "fqn": "@aws-cdk/core.CfnParameter", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Construct", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Construct", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Stack", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.App", + "version": "0.0.0" + } + } +} \ No newline at end of file diff --git a/packages/@aws-cdk-containers/ecs-service-extensions/test/multiple-environments.integ.snapshot/aws-ecs-integ.template.json b/packages/@aws-cdk-containers/ecs-service-extensions/test/multiple-environments.integ.snapshot/aws-ecs-integ.template.json new file mode 100644 index 0000000000000..935fc0cb1112f --- /dev/null +++ b/packages/@aws-cdk-containers/ecs-service-extensions/test/multiple-environments.integ.snapshot/aws-ecs-integ.template.json @@ -0,0 +1,1996 @@ +{ + "Resources": { + "productionenvironmentvpcAEB47DF7": { + "Type": "AWS::EC2::VPC", + "Properties": { + "CidrBlock": "10.0.0.0/16", + "EnableDnsHostnames": true, + "EnableDnsSupport": true, + "InstanceTenancy": "default", + "Tags": [ + { + "Key": "Name", + "Value": "aws-ecs-integ/production-environment-vpc" + } + ] + } + }, + "productionenvironmentvpcPublicSubnet1Subnet8D92C089": { + "Type": "AWS::EC2::Subnet", + "Properties": { + "VpcId": { + "Ref": "productionenvironmentvpcAEB47DF7" + }, + "AvailabilityZone": { + "Fn::Select": [ + 0, + { + "Fn::GetAZs": "" + } + ] + }, + "CidrBlock": "10.0.0.0/18", + "MapPublicIpOnLaunch": true, + "Tags": [ + { + "Key": "aws-cdk:subnet-name", + "Value": "Public" + }, + { + "Key": "aws-cdk:subnet-type", + "Value": "Public" + }, + { + "Key": "Name", + "Value": "aws-ecs-integ/production-environment-vpc/PublicSubnet1" + } + ] + } + }, + "productionenvironmentvpcPublicSubnet1RouteTable6E9ABC21": { + "Type": "AWS::EC2::RouteTable", + "Properties": { + "VpcId": { + "Ref": "productionenvironmentvpcAEB47DF7" + }, + "Tags": [ + { + "Key": "Name", + "Value": "aws-ecs-integ/production-environment-vpc/PublicSubnet1" + } + ] + } + }, + "productionenvironmentvpcPublicSubnet1RouteTableAssociationA8117374": { + "Type": "AWS::EC2::SubnetRouteTableAssociation", + "Properties": { + "RouteTableId": { + "Ref": "productionenvironmentvpcPublicSubnet1RouteTable6E9ABC21" + }, + "SubnetId": { + "Ref": "productionenvironmentvpcPublicSubnet1Subnet8D92C089" + } + } + }, + "productionenvironmentvpcPublicSubnet1DefaultRoute524C894D": { + "Type": "AWS::EC2::Route", + "Properties": { + "RouteTableId": { + "Ref": "productionenvironmentvpcPublicSubnet1RouteTable6E9ABC21" + }, + "DestinationCidrBlock": "0.0.0.0/0", + "GatewayId": { + "Ref": "productionenvironmentvpcIGWE7C39890" + } + }, + "DependsOn": [ + "productionenvironmentvpcVPCGW1B428D07" + ] + }, + "productionenvironmentvpcPublicSubnet1EIP54BA88DB": { + "Type": "AWS::EC2::EIP", + "Properties": { + "Domain": "vpc", + "Tags": [ + { + "Key": "Name", + "Value": "aws-ecs-integ/production-environment-vpc/PublicSubnet1" + } + ] + } + }, + "productionenvironmentvpcPublicSubnet1NATGateway6075E4CA": { + "Type": "AWS::EC2::NatGateway", + "Properties": { + "SubnetId": { + "Ref": "productionenvironmentvpcPublicSubnet1Subnet8D92C089" + }, + "AllocationId": { + "Fn::GetAtt": [ + "productionenvironmentvpcPublicSubnet1EIP54BA88DB", + "AllocationId" + ] + }, + "Tags": [ + { + "Key": "Name", + "Value": "aws-ecs-integ/production-environment-vpc/PublicSubnet1" + } + ] + } + }, + "productionenvironmentvpcPublicSubnet2Subnet298E6C31": { + "Type": "AWS::EC2::Subnet", + "Properties": { + "VpcId": { + "Ref": "productionenvironmentvpcAEB47DF7" + }, + "AvailabilityZone": { + "Fn::Select": [ + 1, + { + "Fn::GetAZs": "" + } + ] + }, + "CidrBlock": "10.0.64.0/18", + "MapPublicIpOnLaunch": true, + "Tags": [ + { + "Key": "aws-cdk:subnet-name", + "Value": "Public" + }, + { + "Key": "aws-cdk:subnet-type", + "Value": "Public" + }, + { + "Key": "Name", + "Value": "aws-ecs-integ/production-environment-vpc/PublicSubnet2" + } + ] + } + }, + "productionenvironmentvpcPublicSubnet2RouteTable842A68D7": { + "Type": "AWS::EC2::RouteTable", + "Properties": { + "VpcId": { + "Ref": "productionenvironmentvpcAEB47DF7" + }, + "Tags": [ + { + "Key": "Name", + "Value": "aws-ecs-integ/production-environment-vpc/PublicSubnet2" + } + ] + } + }, + "productionenvironmentvpcPublicSubnet2RouteTableAssociation0A7549F3": { + "Type": "AWS::EC2::SubnetRouteTableAssociation", + "Properties": { + "RouteTableId": { + "Ref": "productionenvironmentvpcPublicSubnet2RouteTable842A68D7" + }, + "SubnetId": { + "Ref": "productionenvironmentvpcPublicSubnet2Subnet298E6C31" + } + } + }, + "productionenvironmentvpcPublicSubnet2DefaultRoute92CD697D": { + "Type": "AWS::EC2::Route", + "Properties": { + "RouteTableId": { + "Ref": "productionenvironmentvpcPublicSubnet2RouteTable842A68D7" + }, + "DestinationCidrBlock": "0.0.0.0/0", + "GatewayId": { + "Ref": "productionenvironmentvpcIGWE7C39890" + } + }, + "DependsOn": [ + "productionenvironmentvpcVPCGW1B428D07" + ] + }, + "productionenvironmentvpcPublicSubnet2EIP14CA46AA": { + "Type": "AWS::EC2::EIP", + "Properties": { + "Domain": "vpc", + "Tags": [ + { + "Key": "Name", + "Value": "aws-ecs-integ/production-environment-vpc/PublicSubnet2" + } + ] + } + }, + "productionenvironmentvpcPublicSubnet2NATGatewayE1850FCC": { + "Type": "AWS::EC2::NatGateway", + "Properties": { + "SubnetId": { + "Ref": "productionenvironmentvpcPublicSubnet2Subnet298E6C31" + }, + "AllocationId": { + "Fn::GetAtt": [ + "productionenvironmentvpcPublicSubnet2EIP14CA46AA", + "AllocationId" + ] + }, + "Tags": [ + { + "Key": "Name", + "Value": "aws-ecs-integ/production-environment-vpc/PublicSubnet2" + } + ] + } + }, + "productionenvironmentvpcPrivateSubnet1Subnet53F632E6": { + "Type": "AWS::EC2::Subnet", + "Properties": { + "VpcId": { + "Ref": "productionenvironmentvpcAEB47DF7" + }, + "AvailabilityZone": { + "Fn::Select": [ + 0, + { + "Fn::GetAZs": "" + } + ] + }, + "CidrBlock": "10.0.128.0/18", + "MapPublicIpOnLaunch": false, + "Tags": [ + { + "Key": "aws-cdk:subnet-name", + "Value": "Private" + }, + { + "Key": "aws-cdk:subnet-type", + "Value": "Private" + }, + { + "Key": "Name", + "Value": "aws-ecs-integ/production-environment-vpc/PrivateSubnet1" + } + ] + } + }, + "productionenvironmentvpcPrivateSubnet1RouteTable2C6DFF0C": { + "Type": "AWS::EC2::RouteTable", + "Properties": { + "VpcId": { + "Ref": "productionenvironmentvpcAEB47DF7" + }, + "Tags": [ + { + "Key": "Name", + "Value": "aws-ecs-integ/production-environment-vpc/PrivateSubnet1" + } + ] + } + }, + "productionenvironmentvpcPrivateSubnet1RouteTableAssociation8BA32463": { + "Type": "AWS::EC2::SubnetRouteTableAssociation", + "Properties": { + "RouteTableId": { + "Ref": "productionenvironmentvpcPrivateSubnet1RouteTable2C6DFF0C" + }, + "SubnetId": { + "Ref": "productionenvironmentvpcPrivateSubnet1Subnet53F632E6" + } + } + }, + "productionenvironmentvpcPrivateSubnet1DefaultRouteFBB3DE6C": { + "Type": "AWS::EC2::Route", + "Properties": { + "RouteTableId": { + "Ref": "productionenvironmentvpcPrivateSubnet1RouteTable2C6DFF0C" + }, + "DestinationCidrBlock": "0.0.0.0/0", + "NatGatewayId": { + "Ref": "productionenvironmentvpcPublicSubnet1NATGateway6075E4CA" + } + } + }, + "productionenvironmentvpcPrivateSubnet2Subnet756FB93C": { + "Type": "AWS::EC2::Subnet", + "Properties": { + "VpcId": { + "Ref": "productionenvironmentvpcAEB47DF7" + }, + "AvailabilityZone": { + "Fn::Select": [ + 1, + { + "Fn::GetAZs": "" + } + ] + }, + "CidrBlock": "10.0.192.0/18", + "MapPublicIpOnLaunch": false, + "Tags": [ + { + "Key": "aws-cdk:subnet-name", + "Value": "Private" + }, + { + "Key": "aws-cdk:subnet-type", + "Value": "Private" + }, + { + "Key": "Name", + "Value": "aws-ecs-integ/production-environment-vpc/PrivateSubnet2" + } + ] + } + }, + "productionenvironmentvpcPrivateSubnet2RouteTable2F77D0D2": { + "Type": "AWS::EC2::RouteTable", + "Properties": { + "VpcId": { + "Ref": "productionenvironmentvpcAEB47DF7" + }, + "Tags": [ + { + "Key": "Name", + "Value": "aws-ecs-integ/production-environment-vpc/PrivateSubnet2" + } + ] + } + }, + "productionenvironmentvpcPrivateSubnet2RouteTableAssociation09188261": { + "Type": "AWS::EC2::SubnetRouteTableAssociation", + "Properties": { + "RouteTableId": { + "Ref": "productionenvironmentvpcPrivateSubnet2RouteTable2F77D0D2" + }, + "SubnetId": { + "Ref": "productionenvironmentvpcPrivateSubnet2Subnet756FB93C" + } + } + }, + "productionenvironmentvpcPrivateSubnet2DefaultRoute5F9AB6C1": { + "Type": "AWS::EC2::Route", + "Properties": { + "RouteTableId": { + "Ref": "productionenvironmentvpcPrivateSubnet2RouteTable2F77D0D2" + }, + "DestinationCidrBlock": "0.0.0.0/0", + "NatGatewayId": { + "Ref": "productionenvironmentvpcPublicSubnet2NATGatewayE1850FCC" + } + } + }, + "productionenvironmentvpcIGWE7C39890": { + "Type": "AWS::EC2::InternetGateway", + "Properties": { + "Tags": [ + { + "Key": "Name", + "Value": "aws-ecs-integ/production-environment-vpc" + } + ] + } + }, + "productionenvironmentvpcVPCGW1B428D07": { + "Type": "AWS::EC2::VPCGatewayAttachment", + "Properties": { + "VpcId": { + "Ref": "productionenvironmentvpcAEB47DF7" + }, + "InternetGatewayId": { + "Ref": "productionenvironmentvpcIGWE7C39890" + } + } + }, + "productionenvironmentclusterC6599D2D": { + "Type": "AWS::ECS::Cluster" + }, + "productionenvironmentclusterDefaultServiceDiscoveryNamespaceBE74D64D": { + "Type": "AWS::ServiceDiscovery::PrivateDnsNamespace", + "Properties": { + "Name": "production", + "Vpc": { + "Ref": "productionenvironmentvpcAEB47DF7" + } + } + }, + "developmentenvironmentvpcCB4216A4": { + "Type": "AWS::EC2::VPC", + "Properties": { + "CidrBlock": "10.0.0.0/16", + "EnableDnsHostnames": true, + "EnableDnsSupport": true, + "InstanceTenancy": "default", + "Tags": [ + { + "Key": "Name", + "Value": "aws-ecs-integ/development-environment-vpc" + } + ] + } + }, + "developmentenvironmentvpcPublicSubnet1Subnet0D18046B": { + "Type": "AWS::EC2::Subnet", + "Properties": { + "VpcId": { + "Ref": "developmentenvironmentvpcCB4216A4" + }, + "AvailabilityZone": { + "Fn::Select": [ + 0, + { + "Fn::GetAZs": "" + } + ] + }, + "CidrBlock": "10.0.0.0/18", + "MapPublicIpOnLaunch": true, + "Tags": [ + { + "Key": "aws-cdk:subnet-name", + "Value": "Public" + }, + { + "Key": "aws-cdk:subnet-type", + "Value": "Public" + }, + { + "Key": "Name", + "Value": "aws-ecs-integ/development-environment-vpc/PublicSubnet1" + } + ] + } + }, + "developmentenvironmentvpcPublicSubnet1RouteTable8FC58983": { + "Type": "AWS::EC2::RouteTable", + "Properties": { + "VpcId": { + "Ref": "developmentenvironmentvpcCB4216A4" + }, + "Tags": [ + { + "Key": "Name", + "Value": "aws-ecs-integ/development-environment-vpc/PublicSubnet1" + } + ] + } + }, + "developmentenvironmentvpcPublicSubnet1RouteTableAssociation8F257A0C": { + "Type": "AWS::EC2::SubnetRouteTableAssociation", + "Properties": { + "RouteTableId": { + "Ref": "developmentenvironmentvpcPublicSubnet1RouteTable8FC58983" + }, + "SubnetId": { + "Ref": "developmentenvironmentvpcPublicSubnet1Subnet0D18046B" + } + } + }, + "developmentenvironmentvpcPublicSubnet1DefaultRoute2BAA794D": { + "Type": "AWS::EC2::Route", + "Properties": { + "RouteTableId": { + "Ref": "developmentenvironmentvpcPublicSubnet1RouteTable8FC58983" + }, + "DestinationCidrBlock": "0.0.0.0/0", + "GatewayId": { + "Ref": "developmentenvironmentvpcIGW2B4E91B1" + } + }, + "DependsOn": [ + "developmentenvironmentvpcVPCGW702C2C38" + ] + }, + "developmentenvironmentvpcPublicSubnet1EIPE8B9F4D4": { + "Type": "AWS::EC2::EIP", + "Properties": { + "Domain": "vpc", + "Tags": [ + { + "Key": "Name", + "Value": "aws-ecs-integ/development-environment-vpc/PublicSubnet1" + } + ] + } + }, + "developmentenvironmentvpcPublicSubnet1NATGateway6B01CC4E": { + "Type": "AWS::EC2::NatGateway", + "Properties": { + "SubnetId": { + "Ref": "developmentenvironmentvpcPublicSubnet1Subnet0D18046B" + }, + "AllocationId": { + "Fn::GetAtt": [ + "developmentenvironmentvpcPublicSubnet1EIPE8B9F4D4", + "AllocationId" + ] + }, + "Tags": [ + { + "Key": "Name", + "Value": "aws-ecs-integ/development-environment-vpc/PublicSubnet1" + } + ] + } + }, + "developmentenvironmentvpcPublicSubnet2SubnetC2026CD3": { + "Type": "AWS::EC2::Subnet", + "Properties": { + "VpcId": { + "Ref": "developmentenvironmentvpcCB4216A4" + }, + "AvailabilityZone": { + "Fn::Select": [ + 1, + { + "Fn::GetAZs": "" + } + ] + }, + "CidrBlock": "10.0.64.0/18", + "MapPublicIpOnLaunch": true, + "Tags": [ + { + "Key": "aws-cdk:subnet-name", + "Value": "Public" + }, + { + "Key": "aws-cdk:subnet-type", + "Value": "Public" + }, + { + "Key": "Name", + "Value": "aws-ecs-integ/development-environment-vpc/PublicSubnet2" + } + ] + } + }, + "developmentenvironmentvpcPublicSubnet2RouteTable803A92C2": { + "Type": "AWS::EC2::RouteTable", + "Properties": { + "VpcId": { + "Ref": "developmentenvironmentvpcCB4216A4" + }, + "Tags": [ + { + "Key": "Name", + "Value": "aws-ecs-integ/development-environment-vpc/PublicSubnet2" + } + ] + } + }, + "developmentenvironmentvpcPublicSubnet2RouteTableAssociation6630985C": { + "Type": "AWS::EC2::SubnetRouteTableAssociation", + "Properties": { + "RouteTableId": { + "Ref": "developmentenvironmentvpcPublicSubnet2RouteTable803A92C2" + }, + "SubnetId": { + "Ref": "developmentenvironmentvpcPublicSubnet2SubnetC2026CD3" + } + } + }, + "developmentenvironmentvpcPublicSubnet2DefaultRoute2C5118B5": { + "Type": "AWS::EC2::Route", + "Properties": { + "RouteTableId": { + "Ref": "developmentenvironmentvpcPublicSubnet2RouteTable803A92C2" + }, + "DestinationCidrBlock": "0.0.0.0/0", + "GatewayId": { + "Ref": "developmentenvironmentvpcIGW2B4E91B1" + } + }, + "DependsOn": [ + "developmentenvironmentvpcVPCGW702C2C38" + ] + }, + "developmentenvironmentvpcPublicSubnet2EIP560C2BBA": { + "Type": "AWS::EC2::EIP", + "Properties": { + "Domain": "vpc", + "Tags": [ + { + "Key": "Name", + "Value": "aws-ecs-integ/development-environment-vpc/PublicSubnet2" + } + ] + } + }, + "developmentenvironmentvpcPublicSubnet2NATGateway15A9C252": { + "Type": "AWS::EC2::NatGateway", + "Properties": { + "SubnetId": { + "Ref": "developmentenvironmentvpcPublicSubnet2SubnetC2026CD3" + }, + "AllocationId": { + "Fn::GetAtt": [ + "developmentenvironmentvpcPublicSubnet2EIP560C2BBA", + "AllocationId" + ] + }, + "Tags": [ + { + "Key": "Name", + "Value": "aws-ecs-integ/development-environment-vpc/PublicSubnet2" + } + ] + } + }, + "developmentenvironmentvpcPrivateSubnet1SubnetAAECD171": { + "Type": "AWS::EC2::Subnet", + "Properties": { + "VpcId": { + "Ref": "developmentenvironmentvpcCB4216A4" + }, + "AvailabilityZone": { + "Fn::Select": [ + 0, + { + "Fn::GetAZs": "" + } + ] + }, + "CidrBlock": "10.0.128.0/18", + "MapPublicIpOnLaunch": false, + "Tags": [ + { + "Key": "aws-cdk:subnet-name", + "Value": "Private" + }, + { + "Key": "aws-cdk:subnet-type", + "Value": "Private" + }, + { + "Key": "Name", + "Value": "aws-ecs-integ/development-environment-vpc/PrivateSubnet1" + } + ] + } + }, + "developmentenvironmentvpcPrivateSubnet1RouteTable29CEB1DB": { + "Type": "AWS::EC2::RouteTable", + "Properties": { + "VpcId": { + "Ref": "developmentenvironmentvpcCB4216A4" + }, + "Tags": [ + { + "Key": "Name", + "Value": "aws-ecs-integ/development-environment-vpc/PrivateSubnet1" + } + ] + } + }, + "developmentenvironmentvpcPrivateSubnet1RouteTableAssociation95EE92E6": { + "Type": "AWS::EC2::SubnetRouteTableAssociation", + "Properties": { + "RouteTableId": { + "Ref": "developmentenvironmentvpcPrivateSubnet1RouteTable29CEB1DB" + }, + "SubnetId": { + "Ref": "developmentenvironmentvpcPrivateSubnet1SubnetAAECD171" + } + } + }, + "developmentenvironmentvpcPrivateSubnet1DefaultRoute1813B5F3": { + "Type": "AWS::EC2::Route", + "Properties": { + "RouteTableId": { + "Ref": "developmentenvironmentvpcPrivateSubnet1RouteTable29CEB1DB" + }, + "DestinationCidrBlock": "0.0.0.0/0", + "NatGatewayId": { + "Ref": "developmentenvironmentvpcPublicSubnet1NATGateway6B01CC4E" + } + } + }, + "developmentenvironmentvpcPrivateSubnet2Subnet20C1C37D": { + "Type": "AWS::EC2::Subnet", + "Properties": { + "VpcId": { + "Ref": "developmentenvironmentvpcCB4216A4" + }, + "AvailabilityZone": { + "Fn::Select": [ + 1, + { + "Fn::GetAZs": "" + } + ] + }, + "CidrBlock": "10.0.192.0/18", + "MapPublicIpOnLaunch": false, + "Tags": [ + { + "Key": "aws-cdk:subnet-name", + "Value": "Private" + }, + { + "Key": "aws-cdk:subnet-type", + "Value": "Private" + }, + { + "Key": "Name", + "Value": "aws-ecs-integ/development-environment-vpc/PrivateSubnet2" + } + ] + } + }, + "developmentenvironmentvpcPrivateSubnet2RouteTable687AB03B": { + "Type": "AWS::EC2::RouteTable", + "Properties": { + "VpcId": { + "Ref": "developmentenvironmentvpcCB4216A4" + }, + "Tags": [ + { + "Key": "Name", + "Value": "aws-ecs-integ/development-environment-vpc/PrivateSubnet2" + } + ] + } + }, + "developmentenvironmentvpcPrivateSubnet2RouteTableAssociation1C336DAE": { + "Type": "AWS::EC2::SubnetRouteTableAssociation", + "Properties": { + "RouteTableId": { + "Ref": "developmentenvironmentvpcPrivateSubnet2RouteTable687AB03B" + }, + "SubnetId": { + "Ref": "developmentenvironmentvpcPrivateSubnet2Subnet20C1C37D" + } + } + }, + "developmentenvironmentvpcPrivateSubnet2DefaultRoute1B4A6D0D": { + "Type": "AWS::EC2::Route", + "Properties": { + "RouteTableId": { + "Ref": "developmentenvironmentvpcPrivateSubnet2RouteTable687AB03B" + }, + "DestinationCidrBlock": "0.0.0.0/0", + "NatGatewayId": { + "Ref": "developmentenvironmentvpcPublicSubnet2NATGateway15A9C252" + } + } + }, + "developmentenvironmentvpcIGW2B4E91B1": { + "Type": "AWS::EC2::InternetGateway", + "Properties": { + "Tags": [ + { + "Key": "Name", + "Value": "aws-ecs-integ/development-environment-vpc" + } + ] + } + }, + "developmentenvironmentvpcVPCGW702C2C38": { + "Type": "AWS::EC2::VPCGatewayAttachment", + "Properties": { + "VpcId": { + "Ref": "developmentenvironmentvpcCB4216A4" + }, + "InternetGatewayId": { + "Ref": "developmentenvironmentvpcIGW2B4E91B1" + } + } + }, + "developmentenvironmentcluster1B64BE8B": { + "Type": "AWS::ECS::Cluster" + }, + "developmentenvironmentclusterDefaultServiceDiscoveryNamespace0F234767": { + "Type": "AWS::ServiceDiscovery::PrivateDnsNamespace", + "Properties": { + "Name": "development", + "Vpc": { + "Ref": "developmentenvironmentvpcCB4216A4" + } + } + }, + "productionmeshB6E81744": { + "Type": "AWS::AppMesh::Mesh", + "Properties": { + "MeshName": "awsecsintegproductionmesh1A4ED585", + "Spec": {} + } + }, + "developmentmeshCEC28AFE": { + "Type": "AWS::AppMesh::Mesh", + "Properties": { + "MeshName": "awsecsintegdevelopmentmeshEFC35179", + "Spec": {} + } + }, + "nameproductiontaskdefinitionTaskRole93E922EB": { + "Type": "AWS::IAM::Role", + "Properties": { + "AssumeRolePolicyDocument": { + "Statement": [ + { + "Action": "sts:AssumeRole", + "Effect": "Allow", + "Principal": { + "Service": "ecs-tasks.amazonaws.com" + } + } + ], + "Version": "2012-10-17" + } + } + }, + "nameproductiontaskdefinition33A5D5E0": { + "Type": "AWS::ECS::TaskDefinition", + "Properties": { + "ContainerDefinitions": [ + { + "Cpu": 1024, + "DependsOn": [ + { + "Condition": "HEALTHY", + "ContainerName": "envoy" + } + ], + "Environment": [ + { + "Name": "PORT", + "Value": "80" + } + ], + "Essential": true, + "Image": "nathanpeck/name", + "Memory": 2048, + "Name": "app", + "PortMappings": [ + { + "ContainerPort": 80, + "Protocol": "tcp" + } + ], + "Ulimits": [ + { + "HardLimit": 1024000, + "Name": "nofile", + "SoftLimit": 1024000 + } + ] + }, + { + "Environment": [ + { + "Name": "APPMESH_VIRTUAL_NODE_NAME", + "Value": { + "Fn::Join": [ + "", + [ + "mesh/", + { + "Fn::GetAtt": [ + "productionmeshB6E81744", + "MeshName" + ] + }, + "/virtualNode/name-production" + ] + ] + } + }, + { + "Name": "AWS_REGION", + "Value": { + "Ref": "AWS::Region" + } + }, + { + "Name": "ENABLE_ENVOY_STATS_TAGS", + "Value": "1" + }, + { + "Name": "ENABLE_ENVOY_DOG_STATSD", + "Value": "1" + } + ], + "Essential": true, + "HealthCheck": { + "Command": [ + "CMD-SHELL", + "curl -s http://localhost:9901/server_info | grep state | grep -q LIVE" + ], + "Interval": 5, + "Retries": 3, + "StartPeriod": 10, + "Timeout": 2 + }, + "Image": { + "Fn::Join": [ + "", + [ + { + "Fn::FindInMap": [ + "nameproductionenvoyimageaccountmapping", + { + "Ref": "AWS::Region" + }, + "ecrRepo" + ] + }, + ".dkr.ecr.", + { + "Ref": "AWS::Region" + }, + ".", + { + "Ref": "AWS::URLSuffix" + }, + "/aws-appmesh-envoy:v1.15.1.0-prod" + ] + ] + }, + "LogConfiguration": { + "LogDriver": "awslogs", + "Options": { + "awslogs-group": { + "Ref": "nameproductiontaskdefinitionenvoyLogGroupF79A2732" + }, + "awslogs-stream-prefix": "envoy", + "awslogs-region": { + "Ref": "AWS::Region" + } + } + }, + "MemoryReservation": 128, + "Name": "envoy", + "Ulimits": [ + { + "HardLimit": 1024000, + "Name": "nofile", + "SoftLimit": 1024000 + } + ], + "User": "1337" + } + ], + "Cpu": "1024", + "ExecutionRoleArn": { + "Fn::GetAtt": [ + "nameproductiontaskdefinitionExecutionRoleB72DD86B", + "Arn" + ] + }, + "Family": "awsecsintegnameproductiontaskdefinition9E1C363B", + "Memory": "2048", + "NetworkMode": "awsvpc", + "ProxyConfiguration": { + "ContainerName": "envoy", + "ProxyConfigurationProperties": [ + { + "Name": "AppPorts", + "Value": "80" + }, + { + "Name": "ProxyEgressPort", + "Value": "15001" + }, + { + "Name": "ProxyIngressPort", + "Value": "15000" + }, + { + "Name": "IgnoredUID", + "Value": "1337" + }, + { + "Name": "IgnoredGID", + "Value": "1338" + }, + { + "Name": "EgressIgnoredIPs", + "Value": "169.254.170.2,169.254.169.254" + } + ], + "Type": "APPMESH" + }, + "RequiresCompatibilities": [ + "EC2", + "FARGATE" + ], + "TaskRoleArn": { + "Fn::GetAtt": [ + "nameproductiontaskdefinitionTaskRole93E922EB", + "Arn" + ] + } + } + }, + "nameproductiontaskdefinitionenvoyLogGroupF79A2732": { + "Type": "AWS::Logs::LogGroup", + "UpdateReplacePolicy": "Retain", + "DeletionPolicy": "Retain" + }, + "nameproductiontaskdefinitionExecutionRoleB72DD86B": { + "Type": "AWS::IAM::Role", + "Properties": { + "AssumeRolePolicyDocument": { + "Statement": [ + { + "Action": "sts:AssumeRole", + "Effect": "Allow", + "Principal": { + "Service": "ecs-tasks.amazonaws.com" + } + } + ], + "Version": "2012-10-17" + } + } + }, + "nameproductiontaskdefinitionExecutionRoleDefaultPolicyB66C67BE": { + "Type": "AWS::IAM::Policy", + "Properties": { + "PolicyDocument": { + "Statement": [ + { + "Action": [ + "ecr:BatchCheckLayerAvailability", + "ecr:GetDownloadUrlForLayer", + "ecr:BatchGetImage" + ], + "Effect": "Allow", + "Resource": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":ecr:", + { + "Ref": "AWS::Region" + }, + ":", + { + "Fn::FindInMap": [ + "nameproductionenvoyimageaccountmapping", + { + "Ref": "AWS::Region" + }, + "ecrRepo" + ] + }, + ":repository/aws-appmesh-envoy" + ] + ] + } + }, + { + "Action": "ecr:GetAuthorizationToken", + "Effect": "Allow", + "Resource": "*" + }, + { + "Action": [ + "logs:CreateLogStream", + "logs:PutLogEvents" + ], + "Effect": "Allow", + "Resource": { + "Fn::GetAtt": [ + "nameproductiontaskdefinitionenvoyLogGroupF79A2732", + "Arn" + ] + } + } + ], + "Version": "2012-10-17" + }, + "PolicyName": "nameproductiontaskdefinitionExecutionRoleDefaultPolicyB66C67BE", + "Roles": [ + { + "Ref": "nameproductiontaskdefinitionExecutionRoleB72DD86B" + } + ] + } + }, + "nameproductionenvoytoappmesh1B44B04A": { + "Type": "AWS::IAM::Policy", + "Properties": { + "PolicyDocument": { + "Statement": [ + { + "Action": "appmesh:StreamAggregatedResources", + "Effect": "Allow", + "Resource": { + "Ref": "productionmeshB6E81744" + } + } + ], + "Version": "2012-10-17" + }, + "PolicyName": "nameproductionenvoytoappmesh1B44B04A", + "Roles": [ + { + "Ref": "nameproductiontaskdefinitionTaskRole93E922EB" + } + ] + } + }, + "nameproductionserviceServiceB2D31516": { + "Type": "AWS::ECS::Service", + "Properties": { + "Cluster": { + "Ref": "productionenvironmentclusterC6599D2D" + }, + "DeploymentConfiguration": { + "MaximumPercent": 200, + "MinimumHealthyPercent": 100 + }, + "DesiredCount": 1, + "EnableECSManagedTags": false, + "LaunchType": "FARGATE", + "NetworkConfiguration": { + "AwsvpcConfiguration": { + "AssignPublicIp": "DISABLED", + "SecurityGroups": [ + { + "Fn::GetAtt": [ + "nameproductionserviceSecurityGroupF496E439", + "GroupId" + ] + } + ], + "Subnets": [ + { + "Ref": "productionenvironmentvpcPrivateSubnet1Subnet53F632E6" + }, + { + "Ref": "productionenvironmentvpcPrivateSubnet2Subnet756FB93C" + } + ] + } + }, + "ServiceRegistries": [ + { + "RegistryArn": { + "Fn::GetAtt": [ + "nameproductionserviceCloudmapService60E3273A", + "Arn" + ] + } + } + ], + "TaskDefinition": { + "Ref": "nameproductiontaskdefinition33A5D5E0" + } + } + }, + "nameproductionserviceCloudmapService60E3273A": { + "Type": "AWS::ServiceDiscovery::Service", + "Properties": { + "DnsConfig": { + "DnsRecords": [ + { + "TTL": 10, + "Type": "A" + } + ], + "NamespaceId": { + "Fn::GetAtt": [ + "productionenvironmentclusterDefaultServiceDiscoveryNamespaceBE74D64D", + "Id" + ] + }, + "RoutingPolicy": "MULTIVALUE" + }, + "HealthCheckCustomConfig": { + "FailureThreshold": 2 + }, + "Name": "name-production", + "NamespaceId": { + "Fn::GetAtt": [ + "productionenvironmentclusterDefaultServiceDiscoveryNamespaceBE74D64D", + "Id" + ] + } + } + }, + "nameproductionserviceSecurityGroupF496E439": { + "Type": "AWS::EC2::SecurityGroup", + "Properties": { + "GroupDescription": "aws-ecs-integ/name-production-service/SecurityGroup", + "SecurityGroupEgress": [ + { + "CidrIp": "0.0.0.0/0", + "Description": "Allow all outbound traffic by default", + "IpProtocol": "-1" + } + ], + "VpcId": { + "Ref": "productionenvironmentvpcAEB47DF7" + } + } + }, + "nameproductionvirtualnodeC78443D9": { + "Type": "AWS::AppMesh::VirtualNode", + "Properties": { + "MeshName": { + "Fn::GetAtt": [ + "productionmeshB6E81744", + "MeshName" + ] + }, + "Spec": { + "Listeners": [ + { + "PortMapping": { + "Port": 80, + "Protocol": "http" + } + } + ], + "ServiceDiscovery": { + "AWSCloudMap": { + "NamespaceName": "production", + "ServiceName": { + "Fn::GetAtt": [ + "nameproductionserviceCloudmapService60E3273A", + "Name" + ] + } + } + } + }, + "VirtualNodeName": "name-production" + } + }, + "nameproductionvirtualrouter00E3366D": { + "Type": "AWS::AppMesh::VirtualRouter", + "Properties": { + "MeshName": { + "Fn::GetAtt": [ + "productionmeshB6E81744", + "MeshName" + ] + }, + "Spec": { + "Listeners": [ + { + "PortMapping": { + "Port": 80, + "Protocol": "http" + } + } + ] + }, + "VirtualRouterName": "name-production" + } + }, + "nameproductionvirtualrouternameproductionrouteE886BEFD": { + "Type": "AWS::AppMesh::Route", + "Properties": { + "MeshName": { + "Fn::GetAtt": [ + "productionmeshB6E81744", + "MeshName" + ] + }, + "Spec": { + "HttpRoute": { + "Action": { + "WeightedTargets": [ + { + "VirtualNode": { + "Fn::GetAtt": [ + "nameproductionvirtualnodeC78443D9", + "VirtualNodeName" + ] + }, + "Weight": 1 + } + ] + }, + "Match": { + "Prefix": "/" + } + } + }, + "VirtualRouterName": { + "Fn::GetAtt": [ + "nameproductionvirtualrouter00E3366D", + "VirtualRouterName" + ] + }, + "RouteName": "name-production-route" + } + }, + "nameproductionvirtualservice4D49D5F6": { + "Type": "AWS::AppMesh::VirtualService", + "Properties": { + "MeshName": { + "Fn::GetAtt": [ + "productionmeshB6E81744", + "MeshName" + ] + }, + "Spec": { + "Provider": { + "VirtualRouter": { + "VirtualRouterName": { + "Fn::GetAtt": [ + "nameproductionvirtualrouter00E3366D", + "VirtualRouterName" + ] + } + } + } + }, + "VirtualServiceName": "name-production.production" + } + }, + "namedevelopmenttaskdefinitionTaskRole66A85BBB": { + "Type": "AWS::IAM::Role", + "Properties": { + "AssumeRolePolicyDocument": { + "Statement": [ + { + "Action": "sts:AssumeRole", + "Effect": "Allow", + "Principal": { + "Service": "ecs-tasks.amazonaws.com" + } + } + ], + "Version": "2012-10-17" + } + } + }, + "namedevelopmenttaskdefinition0468FBFF": { + "Type": "AWS::ECS::TaskDefinition", + "Properties": { + "ContainerDefinitions": [ + { + "Cpu": 1024, + "DependsOn": [ + { + "Condition": "HEALTHY", + "ContainerName": "envoy" + } + ], + "Environment": [ + { + "Name": "PORT", + "Value": "80" + } + ], + "Essential": true, + "Image": "nathanpeck/name", + "Memory": 2048, + "Name": "app", + "PortMappings": [ + { + "ContainerPort": 80, + "Protocol": "tcp" + } + ], + "Ulimits": [ + { + "HardLimit": 1024000, + "Name": "nofile", + "SoftLimit": 1024000 + } + ] + }, + { + "Environment": [ + { + "Name": "APPMESH_VIRTUAL_NODE_NAME", + "Value": { + "Fn::Join": [ + "", + [ + "mesh/", + { + "Fn::GetAtt": [ + "developmentmeshCEC28AFE", + "MeshName" + ] + }, + "/virtualNode/name-development" + ] + ] + } + }, + { + "Name": "AWS_REGION", + "Value": { + "Ref": "AWS::Region" + } + }, + { + "Name": "ENABLE_ENVOY_STATS_TAGS", + "Value": "1" + }, + { + "Name": "ENABLE_ENVOY_DOG_STATSD", + "Value": "1" + } + ], + "Essential": true, + "HealthCheck": { + "Command": [ + "CMD-SHELL", + "curl -s http://localhost:9901/server_info | grep state | grep -q LIVE" + ], + "Interval": 5, + "Retries": 3, + "StartPeriod": 10, + "Timeout": 2 + }, + "Image": { + "Fn::Join": [ + "", + [ + { + "Fn::FindInMap": [ + "namedevelopmentenvoyimageaccountmapping", + { + "Ref": "AWS::Region" + }, + "ecrRepo" + ] + }, + ".dkr.ecr.", + { + "Ref": "AWS::Region" + }, + ".", + { + "Ref": "AWS::URLSuffix" + }, + "/aws-appmesh-envoy:v1.15.1.0-prod" + ] + ] + }, + "LogConfiguration": { + "LogDriver": "awslogs", + "Options": { + "awslogs-group": { + "Ref": "namedevelopmenttaskdefinitionenvoyLogGroupF8FCAFD6" + }, + "awslogs-stream-prefix": "envoy", + "awslogs-region": { + "Ref": "AWS::Region" + } + } + }, + "MemoryReservation": 128, + "Name": "envoy", + "Ulimits": [ + { + "HardLimit": 1024000, + "Name": "nofile", + "SoftLimit": 1024000 + } + ], + "User": "1337" + } + ], + "Cpu": "1024", + "ExecutionRoleArn": { + "Fn::GetAtt": [ + "namedevelopmenttaskdefinitionExecutionRole48B53E4E", + "Arn" + ] + }, + "Family": "awsecsintegnamedevelopmenttaskdefinitionC3797E10", + "Memory": "2048", + "NetworkMode": "awsvpc", + "ProxyConfiguration": { + "ContainerName": "envoy", + "ProxyConfigurationProperties": [ + { + "Name": "AppPorts", + "Value": "80" + }, + { + "Name": "ProxyEgressPort", + "Value": "15001" + }, + { + "Name": "ProxyIngressPort", + "Value": "15000" + }, + { + "Name": "IgnoredUID", + "Value": "1337" + }, + { + "Name": "IgnoredGID", + "Value": "1338" + }, + { + "Name": "EgressIgnoredIPs", + "Value": "169.254.170.2,169.254.169.254" + } + ], + "Type": "APPMESH" + }, + "RequiresCompatibilities": [ + "EC2", + "FARGATE" + ], + "TaskRoleArn": { + "Fn::GetAtt": [ + "namedevelopmenttaskdefinitionTaskRole66A85BBB", + "Arn" + ] + } + } + }, + "namedevelopmenttaskdefinitionenvoyLogGroupF8FCAFD6": { + "Type": "AWS::Logs::LogGroup", + "UpdateReplacePolicy": "Retain", + "DeletionPolicy": "Retain" + }, + "namedevelopmenttaskdefinitionExecutionRole48B53E4E": { + "Type": "AWS::IAM::Role", + "Properties": { + "AssumeRolePolicyDocument": { + "Statement": [ + { + "Action": "sts:AssumeRole", + "Effect": "Allow", + "Principal": { + "Service": "ecs-tasks.amazonaws.com" + } + } + ], + "Version": "2012-10-17" + } + } + }, + "namedevelopmenttaskdefinitionExecutionRoleDefaultPolicy34EAA008": { + "Type": "AWS::IAM::Policy", + "Properties": { + "PolicyDocument": { + "Statement": [ + { + "Action": [ + "ecr:BatchCheckLayerAvailability", + "ecr:GetDownloadUrlForLayer", + "ecr:BatchGetImage" + ], + "Effect": "Allow", + "Resource": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":ecr:", + { + "Ref": "AWS::Region" + }, + ":", + { + "Fn::FindInMap": [ + "namedevelopmentenvoyimageaccountmapping", + { + "Ref": "AWS::Region" + }, + "ecrRepo" + ] + }, + ":repository/aws-appmesh-envoy" + ] + ] + } + }, + { + "Action": "ecr:GetAuthorizationToken", + "Effect": "Allow", + "Resource": "*" + }, + { + "Action": [ + "logs:CreateLogStream", + "logs:PutLogEvents" + ], + "Effect": "Allow", + "Resource": { + "Fn::GetAtt": [ + "namedevelopmenttaskdefinitionenvoyLogGroupF8FCAFD6", + "Arn" + ] + } + } + ], + "Version": "2012-10-17" + }, + "PolicyName": "namedevelopmenttaskdefinitionExecutionRoleDefaultPolicy34EAA008", + "Roles": [ + { + "Ref": "namedevelopmenttaskdefinitionExecutionRole48B53E4E" + } + ] + } + }, + "namedevelopmentenvoytoappmesh45FF08AA": { + "Type": "AWS::IAM::Policy", + "Properties": { + "PolicyDocument": { + "Statement": [ + { + "Action": "appmesh:StreamAggregatedResources", + "Effect": "Allow", + "Resource": { + "Ref": "developmentmeshCEC28AFE" + } + } + ], + "Version": "2012-10-17" + }, + "PolicyName": "namedevelopmentenvoytoappmesh45FF08AA", + "Roles": [ + { + "Ref": "namedevelopmenttaskdefinitionTaskRole66A85BBB" + } + ] + } + }, + "namedevelopmentserviceService8A24F793": { + "Type": "AWS::ECS::Service", + "Properties": { + "Cluster": { + "Ref": "developmentenvironmentcluster1B64BE8B" + }, + "DeploymentConfiguration": { + "MaximumPercent": 200, + "MinimumHealthyPercent": 100 + }, + "DesiredCount": 1, + "EnableECSManagedTags": false, + "LaunchType": "FARGATE", + "NetworkConfiguration": { + "AwsvpcConfiguration": { + "AssignPublicIp": "DISABLED", + "SecurityGroups": [ + { + "Fn::GetAtt": [ + "namedevelopmentserviceSecurityGroupE2ECED97", + "GroupId" + ] + } + ], + "Subnets": [ + { + "Ref": "developmentenvironmentvpcPrivateSubnet1SubnetAAECD171" + }, + { + "Ref": "developmentenvironmentvpcPrivateSubnet2Subnet20C1C37D" + } + ] + } + }, + "ServiceRegistries": [ + { + "RegistryArn": { + "Fn::GetAtt": [ + "namedevelopmentserviceCloudmapService63674467", + "Arn" + ] + } + } + ], + "TaskDefinition": { + "Ref": "namedevelopmenttaskdefinition0468FBFF" + } + } + }, + "namedevelopmentserviceCloudmapService63674467": { + "Type": "AWS::ServiceDiscovery::Service", + "Properties": { + "DnsConfig": { + "DnsRecords": [ + { + "TTL": 10, + "Type": "A" + } + ], + "NamespaceId": { + "Fn::GetAtt": [ + "developmentenvironmentclusterDefaultServiceDiscoveryNamespace0F234767", + "Id" + ] + }, + "RoutingPolicy": "MULTIVALUE" + }, + "HealthCheckCustomConfig": { + "FailureThreshold": 2 + }, + "Name": "name-development", + "NamespaceId": { + "Fn::GetAtt": [ + "developmentenvironmentclusterDefaultServiceDiscoveryNamespace0F234767", + "Id" + ] + } + } + }, + "namedevelopmentserviceSecurityGroupE2ECED97": { + "Type": "AWS::EC2::SecurityGroup", + "Properties": { + "GroupDescription": "aws-ecs-integ/name-development-service/SecurityGroup", + "SecurityGroupEgress": [ + { + "CidrIp": "0.0.0.0/0", + "Description": "Allow all outbound traffic by default", + "IpProtocol": "-1" + } + ], + "VpcId": { + "Ref": "developmentenvironmentvpcCB4216A4" + } + } + }, + "namedevelopmentvirtualnode55118E80": { + "Type": "AWS::AppMesh::VirtualNode", + "Properties": { + "MeshName": { + "Fn::GetAtt": [ + "developmentmeshCEC28AFE", + "MeshName" + ] + }, + "Spec": { + "Listeners": [ + { + "PortMapping": { + "Port": 80, + "Protocol": "http" + } + } + ], + "ServiceDiscovery": { + "AWSCloudMap": { + "NamespaceName": "development", + "ServiceName": { + "Fn::GetAtt": [ + "namedevelopmentserviceCloudmapService63674467", + "Name" + ] + } + } + } + }, + "VirtualNodeName": "name-development" + } + }, + "namedevelopmentvirtualrouter0AE5105D": { + "Type": "AWS::AppMesh::VirtualRouter", + "Properties": { + "MeshName": { + "Fn::GetAtt": [ + "developmentmeshCEC28AFE", + "MeshName" + ] + }, + "Spec": { + "Listeners": [ + { + "PortMapping": { + "Port": 80, + "Protocol": "http" + } + } + ] + }, + "VirtualRouterName": "name-development" + } + }, + "namedevelopmentvirtualrouternamedevelopmentroute611E499A": { + "Type": "AWS::AppMesh::Route", + "Properties": { + "MeshName": { + "Fn::GetAtt": [ + "developmentmeshCEC28AFE", + "MeshName" + ] + }, + "Spec": { + "HttpRoute": { + "Action": { + "WeightedTargets": [ + { + "VirtualNode": { + "Fn::GetAtt": [ + "namedevelopmentvirtualnode55118E80", + "VirtualNodeName" + ] + }, + "Weight": 1 + } + ] + }, + "Match": { + "Prefix": "/" + } + } + }, + "VirtualRouterName": { + "Fn::GetAtt": [ + "namedevelopmentvirtualrouter0AE5105D", + "VirtualRouterName" + ] + }, + "RouteName": "name-development-route" + } + }, + "namedevelopmentvirtualserviceD936E3FD": { + "Type": "AWS::AppMesh::VirtualService", + "Properties": { + "MeshName": { + "Fn::GetAtt": [ + "developmentmeshCEC28AFE", + "MeshName" + ] + }, + "Spec": { + "Provider": { + "VirtualRouter": { + "VirtualRouterName": { + "Fn::GetAtt": [ + "namedevelopmentvirtualrouter0AE5105D", + "VirtualRouterName" + ] + } + } + } + }, + "VirtualServiceName": "name-development.development" + } + } + }, + "Mappings": { + "nameproductionenvoyimageaccountmapping": { + "ap-northeast-1": { + "ecrRepo": "840364872350" + }, + "ap-northeast-2": { + "ecrRepo": "840364872350" + }, + "ap-south-1": { + "ecrRepo": "840364872350" + }, + "ap-southeast-1": { + "ecrRepo": "840364872350" + }, + "ap-southeast-2": { + "ecrRepo": "840364872350" + }, + "ca-central-1": { + "ecrRepo": "840364872350" + }, + "cn-north-1": { + "ecrRepo": "919366029133" + }, + "cn-northwest-1": { + "ecrRepo": "919830735681" + }, + "eu-central-1": { + "ecrRepo": "840364872350" + }, + "eu-north-1": { + "ecrRepo": "840364872350" + }, + "eu-south-1": { + "ecrRepo": "422531588944" + }, + "eu-west-1": { + "ecrRepo": "840364872350" + }, + "eu-west-2": { + "ecrRepo": "840364872350" + }, + "eu-west-3": { + "ecrRepo": "840364872350" + }, + "sa-east-1": { + "ecrRepo": "840364872350" + }, + "us-east-1": { + "ecrRepo": "840364872350" + }, + "us-east-2": { + "ecrRepo": "840364872350" + }, + "us-west-1": { + "ecrRepo": "840364872350" + }, + "us-west-2": { + "ecrRepo": "840364872350" + }, + "me-south-1": { + "ecrRepo": "772975370895" + }, + "ap-east-1": { + "ecrRepo": "856666278305" + }, + "af-south-1": { + "ecrRepo": "924023996002" + } + }, + "namedevelopmentenvoyimageaccountmapping": { + "ap-northeast-1": { + "ecrRepo": "840364872350" + }, + "ap-northeast-2": { + "ecrRepo": "840364872350" + }, + "ap-south-1": { + "ecrRepo": "840364872350" + }, + "ap-southeast-1": { + "ecrRepo": "840364872350" + }, + "ap-southeast-2": { + "ecrRepo": "840364872350" + }, + "ca-central-1": { + "ecrRepo": "840364872350" + }, + "cn-north-1": { + "ecrRepo": "919366029133" + }, + "cn-northwest-1": { + "ecrRepo": "919830735681" + }, + "eu-central-1": { + "ecrRepo": "840364872350" + }, + "eu-north-1": { + "ecrRepo": "840364872350" + }, + "eu-south-1": { + "ecrRepo": "422531588944" + }, + "eu-west-1": { + "ecrRepo": "840364872350" + }, + "eu-west-2": { + "ecrRepo": "840364872350" + }, + "eu-west-3": { + "ecrRepo": "840364872350" + }, + "sa-east-1": { + "ecrRepo": "840364872350" + }, + "us-east-1": { + "ecrRepo": "840364872350" + }, + "us-east-2": { + "ecrRepo": "840364872350" + }, + "us-west-1": { + "ecrRepo": "840364872350" + }, + "us-west-2": { + "ecrRepo": "840364872350" + }, + "me-south-1": { + "ecrRepo": "772975370895" + }, + "ap-east-1": { + "ecrRepo": "856666278305" + }, + "af-south-1": { + "ecrRepo": "924023996002" + } + } + } +} \ No newline at end of file diff --git a/packages/@aws-cdk-containers/ecs-service-extensions/test/multiple-environments.integ.snapshot/cdk.out b/packages/@aws-cdk-containers/ecs-service-extensions/test/multiple-environments.integ.snapshot/cdk.out new file mode 100644 index 0000000000000..90bef2e09ad39 --- /dev/null +++ b/packages/@aws-cdk-containers/ecs-service-extensions/test/multiple-environments.integ.snapshot/cdk.out @@ -0,0 +1 @@ +{"version":"17.0.0"} \ No newline at end of file diff --git a/packages/@aws-cdk-containers/ecs-service-extensions/test/multiple-environments.integ.snapshot/manifest.json b/packages/@aws-cdk-containers/ecs-service-extensions/test/multiple-environments.integ.snapshot/manifest.json new file mode 100644 index 0000000000000..be0c37b16d09e --- /dev/null +++ b/packages/@aws-cdk-containers/ecs-service-extensions/test/multiple-environments.integ.snapshot/manifest.json @@ -0,0 +1,503 @@ +{ + "version": "17.0.0", + "artifacts": { + "Tree": { + "type": "cdk:tree", + "properties": { + "file": "tree.json" + }, + "metadata": {} + }, + "aws-ecs-integ": { + "type": "aws:cloudformation:stack", + "environment": "aws://unknown-account/unknown-region", + "properties": { + "templateFile": "aws-ecs-integ.template.json", + "validateOnSynth": false + }, + "metadata": { + "/aws-ecs-integ/production-environment-vpc/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "productionenvironmentvpcAEB47DF7" + } + ], + "/aws-ecs-integ/production-environment-vpc/PublicSubnet1/Subnet": [ + { + "type": "aws:cdk:logicalId", + "data": "productionenvironmentvpcPublicSubnet1Subnet8D92C089" + } + ], + "/aws-ecs-integ/production-environment-vpc/PublicSubnet1/RouteTable": [ + { + "type": "aws:cdk:logicalId", + "data": "productionenvironmentvpcPublicSubnet1RouteTable6E9ABC21" + } + ], + "/aws-ecs-integ/production-environment-vpc/PublicSubnet1/RouteTableAssociation": [ + { + "type": "aws:cdk:logicalId", + "data": "productionenvironmentvpcPublicSubnet1RouteTableAssociationA8117374" + } + ], + "/aws-ecs-integ/production-environment-vpc/PublicSubnet1/DefaultRoute": [ + { + "type": "aws:cdk:logicalId", + "data": "productionenvironmentvpcPublicSubnet1DefaultRoute524C894D" + } + ], + "/aws-ecs-integ/production-environment-vpc/PublicSubnet1/EIP": [ + { + "type": "aws:cdk:logicalId", + "data": "productionenvironmentvpcPublicSubnet1EIP54BA88DB" + } + ], + "/aws-ecs-integ/production-environment-vpc/PublicSubnet1/NATGateway": [ + { + "type": "aws:cdk:logicalId", + "data": "productionenvironmentvpcPublicSubnet1NATGateway6075E4CA" + } + ], + "/aws-ecs-integ/production-environment-vpc/PublicSubnet2/Subnet": [ + { + "type": "aws:cdk:logicalId", + "data": "productionenvironmentvpcPublicSubnet2Subnet298E6C31" + } + ], + "/aws-ecs-integ/production-environment-vpc/PublicSubnet2/RouteTable": [ + { + "type": "aws:cdk:logicalId", + "data": "productionenvironmentvpcPublicSubnet2RouteTable842A68D7" + } + ], + "/aws-ecs-integ/production-environment-vpc/PublicSubnet2/RouteTableAssociation": [ + { + "type": "aws:cdk:logicalId", + "data": "productionenvironmentvpcPublicSubnet2RouteTableAssociation0A7549F3" + } + ], + "/aws-ecs-integ/production-environment-vpc/PublicSubnet2/DefaultRoute": [ + { + "type": "aws:cdk:logicalId", + "data": "productionenvironmentvpcPublicSubnet2DefaultRoute92CD697D" + } + ], + "/aws-ecs-integ/production-environment-vpc/PublicSubnet2/EIP": [ + { + "type": "aws:cdk:logicalId", + "data": "productionenvironmentvpcPublicSubnet2EIP14CA46AA" + } + ], + "/aws-ecs-integ/production-environment-vpc/PublicSubnet2/NATGateway": [ + { + "type": "aws:cdk:logicalId", + "data": "productionenvironmentvpcPublicSubnet2NATGatewayE1850FCC" + } + ], + "/aws-ecs-integ/production-environment-vpc/PrivateSubnet1/Subnet": [ + { + "type": "aws:cdk:logicalId", + "data": "productionenvironmentvpcPrivateSubnet1Subnet53F632E6" + } + ], + "/aws-ecs-integ/production-environment-vpc/PrivateSubnet1/RouteTable": [ + { + "type": "aws:cdk:logicalId", + "data": "productionenvironmentvpcPrivateSubnet1RouteTable2C6DFF0C" + } + ], + "/aws-ecs-integ/production-environment-vpc/PrivateSubnet1/RouteTableAssociation": [ + { + "type": "aws:cdk:logicalId", + "data": "productionenvironmentvpcPrivateSubnet1RouteTableAssociation8BA32463" + } + ], + "/aws-ecs-integ/production-environment-vpc/PrivateSubnet1/DefaultRoute": [ + { + "type": "aws:cdk:logicalId", + "data": "productionenvironmentvpcPrivateSubnet1DefaultRouteFBB3DE6C" + } + ], + "/aws-ecs-integ/production-environment-vpc/PrivateSubnet2/Subnet": [ + { + "type": "aws:cdk:logicalId", + "data": "productionenvironmentvpcPrivateSubnet2Subnet756FB93C" + } + ], + "/aws-ecs-integ/production-environment-vpc/PrivateSubnet2/RouteTable": [ + { + "type": "aws:cdk:logicalId", + "data": "productionenvironmentvpcPrivateSubnet2RouteTable2F77D0D2" + } + ], + "/aws-ecs-integ/production-environment-vpc/PrivateSubnet2/RouteTableAssociation": [ + { + "type": "aws:cdk:logicalId", + "data": "productionenvironmentvpcPrivateSubnet2RouteTableAssociation09188261" + } + ], + "/aws-ecs-integ/production-environment-vpc/PrivateSubnet2/DefaultRoute": [ + { + "type": "aws:cdk:logicalId", + "data": "productionenvironmentvpcPrivateSubnet2DefaultRoute5F9AB6C1" + } + ], + "/aws-ecs-integ/production-environment-vpc/IGW": [ + { + "type": "aws:cdk:logicalId", + "data": "productionenvironmentvpcIGWE7C39890" + } + ], + "/aws-ecs-integ/production-environment-vpc/VPCGW": [ + { + "type": "aws:cdk:logicalId", + "data": "productionenvironmentvpcVPCGW1B428D07" + } + ], + "/aws-ecs-integ/production-environment-cluster/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "productionenvironmentclusterC6599D2D" + } + ], + "/aws-ecs-integ/production-environment-cluster/DefaultServiceDiscoveryNamespace/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "productionenvironmentclusterDefaultServiceDiscoveryNamespaceBE74D64D" + } + ], + "/aws-ecs-integ/development-environment-vpc/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "developmentenvironmentvpcCB4216A4" + } + ], + "/aws-ecs-integ/development-environment-vpc/PublicSubnet1/Subnet": [ + { + "type": "aws:cdk:logicalId", + "data": "developmentenvironmentvpcPublicSubnet1Subnet0D18046B" + } + ], + "/aws-ecs-integ/development-environment-vpc/PublicSubnet1/RouteTable": [ + { + "type": "aws:cdk:logicalId", + "data": "developmentenvironmentvpcPublicSubnet1RouteTable8FC58983" + } + ], + "/aws-ecs-integ/development-environment-vpc/PublicSubnet1/RouteTableAssociation": [ + { + "type": "aws:cdk:logicalId", + "data": "developmentenvironmentvpcPublicSubnet1RouteTableAssociation8F257A0C" + } + ], + "/aws-ecs-integ/development-environment-vpc/PublicSubnet1/DefaultRoute": [ + { + "type": "aws:cdk:logicalId", + "data": "developmentenvironmentvpcPublicSubnet1DefaultRoute2BAA794D" + } + ], + "/aws-ecs-integ/development-environment-vpc/PublicSubnet1/EIP": [ + { + "type": "aws:cdk:logicalId", + "data": "developmentenvironmentvpcPublicSubnet1EIPE8B9F4D4" + } + ], + "/aws-ecs-integ/development-environment-vpc/PublicSubnet1/NATGateway": [ + { + "type": "aws:cdk:logicalId", + "data": "developmentenvironmentvpcPublicSubnet1NATGateway6B01CC4E" + } + ], + "/aws-ecs-integ/development-environment-vpc/PublicSubnet2/Subnet": [ + { + "type": "aws:cdk:logicalId", + "data": "developmentenvironmentvpcPublicSubnet2SubnetC2026CD3" + } + ], + "/aws-ecs-integ/development-environment-vpc/PublicSubnet2/RouteTable": [ + { + "type": "aws:cdk:logicalId", + "data": "developmentenvironmentvpcPublicSubnet2RouteTable803A92C2" + } + ], + "/aws-ecs-integ/development-environment-vpc/PublicSubnet2/RouteTableAssociation": [ + { + "type": "aws:cdk:logicalId", + "data": "developmentenvironmentvpcPublicSubnet2RouteTableAssociation6630985C" + } + ], + "/aws-ecs-integ/development-environment-vpc/PublicSubnet2/DefaultRoute": [ + { + "type": "aws:cdk:logicalId", + "data": "developmentenvironmentvpcPublicSubnet2DefaultRoute2C5118B5" + } + ], + "/aws-ecs-integ/development-environment-vpc/PublicSubnet2/EIP": [ + { + "type": "aws:cdk:logicalId", + "data": "developmentenvironmentvpcPublicSubnet2EIP560C2BBA" + } + ], + "/aws-ecs-integ/development-environment-vpc/PublicSubnet2/NATGateway": [ + { + "type": "aws:cdk:logicalId", + "data": "developmentenvironmentvpcPublicSubnet2NATGateway15A9C252" + } + ], + "/aws-ecs-integ/development-environment-vpc/PrivateSubnet1/Subnet": [ + { + "type": "aws:cdk:logicalId", + "data": "developmentenvironmentvpcPrivateSubnet1SubnetAAECD171" + } + ], + "/aws-ecs-integ/development-environment-vpc/PrivateSubnet1/RouteTable": [ + { + "type": "aws:cdk:logicalId", + "data": "developmentenvironmentvpcPrivateSubnet1RouteTable29CEB1DB" + } + ], + "/aws-ecs-integ/development-environment-vpc/PrivateSubnet1/RouteTableAssociation": [ + { + "type": "aws:cdk:logicalId", + "data": "developmentenvironmentvpcPrivateSubnet1RouteTableAssociation95EE92E6" + } + ], + "/aws-ecs-integ/development-environment-vpc/PrivateSubnet1/DefaultRoute": [ + { + "type": "aws:cdk:logicalId", + "data": "developmentenvironmentvpcPrivateSubnet1DefaultRoute1813B5F3" + } + ], + "/aws-ecs-integ/development-environment-vpc/PrivateSubnet2/Subnet": [ + { + "type": "aws:cdk:logicalId", + "data": "developmentenvironmentvpcPrivateSubnet2Subnet20C1C37D" + } + ], + "/aws-ecs-integ/development-environment-vpc/PrivateSubnet2/RouteTable": [ + { + "type": "aws:cdk:logicalId", + "data": "developmentenvironmentvpcPrivateSubnet2RouteTable687AB03B" + } + ], + "/aws-ecs-integ/development-environment-vpc/PrivateSubnet2/RouteTableAssociation": [ + { + "type": "aws:cdk:logicalId", + "data": "developmentenvironmentvpcPrivateSubnet2RouteTableAssociation1C336DAE" + } + ], + "/aws-ecs-integ/development-environment-vpc/PrivateSubnet2/DefaultRoute": [ + { + "type": "aws:cdk:logicalId", + "data": "developmentenvironmentvpcPrivateSubnet2DefaultRoute1B4A6D0D" + } + ], + "/aws-ecs-integ/development-environment-vpc/IGW": [ + { + "type": "aws:cdk:logicalId", + "data": "developmentenvironmentvpcIGW2B4E91B1" + } + ], + "/aws-ecs-integ/development-environment-vpc/VPCGW": [ + { + "type": "aws:cdk:logicalId", + "data": "developmentenvironmentvpcVPCGW702C2C38" + } + ], + "/aws-ecs-integ/development-environment-cluster/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "developmentenvironmentcluster1B64BE8B" + } + ], + "/aws-ecs-integ/development-environment-cluster/DefaultServiceDiscoveryNamespace/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "developmentenvironmentclusterDefaultServiceDiscoveryNamespace0F234767" + } + ], + "/aws-ecs-integ/production-mesh/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "productionmeshB6E81744" + } + ], + "/aws-ecs-integ/development-mesh/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "developmentmeshCEC28AFE" + } + ], + "/aws-ecs-integ/name-production-task-definition/TaskRole/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "nameproductiontaskdefinitionTaskRole93E922EB" + } + ], + "/aws-ecs-integ/name-production-task-definition/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "nameproductiontaskdefinition33A5D5E0" + } + ], + "/aws-ecs-integ/name-production-task-definition/envoy/LogGroup/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "nameproductiontaskdefinitionenvoyLogGroupF79A2732" + } + ], + "/aws-ecs-integ/name-production-task-definition/ExecutionRole/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "nameproductiontaskdefinitionExecutionRoleB72DD86B" + } + ], + "/aws-ecs-integ/name-production-task-definition/ExecutionRole/DefaultPolicy/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "nameproductiontaskdefinitionExecutionRoleDefaultPolicyB66C67BE" + } + ], + "/aws-ecs-integ/name-production-envoy-image-account-mapping": [ + { + "type": "aws:cdk:logicalId", + "data": "nameproductionenvoyimageaccountmapping" + } + ], + "/aws-ecs-integ/name-production-envoy-to-appmesh/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "nameproductionenvoytoappmesh1B44B04A" + } + ], + "/aws-ecs-integ/name-production-service/Service": [ + { + "type": "aws:cdk:logicalId", + "data": "nameproductionserviceServiceB2D31516" + } + ], + "/aws-ecs-integ/name-production-service/CloudmapService/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "nameproductionserviceCloudmapService60E3273A" + } + ], + "/aws-ecs-integ/name-production-service/SecurityGroup/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "nameproductionserviceSecurityGroupF496E439" + } + ], + "/aws-ecs-integ/name-production-virtual-node/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "nameproductionvirtualnodeC78443D9" + } + ], + "/aws-ecs-integ/name-production-virtual-router/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "nameproductionvirtualrouter00E3366D" + } + ], + "/aws-ecs-integ/name-production-virtual-router/name-production-route/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "nameproductionvirtualrouternameproductionrouteE886BEFD" + } + ], + "/aws-ecs-integ/name-production-virtual-service/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "nameproductionvirtualservice4D49D5F6" + } + ], + "/aws-ecs-integ/name-development-task-definition/TaskRole/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "namedevelopmenttaskdefinitionTaskRole66A85BBB" + } + ], + "/aws-ecs-integ/name-development-task-definition/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "namedevelopmenttaskdefinition0468FBFF" + } + ], + "/aws-ecs-integ/name-development-task-definition/envoy/LogGroup/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "namedevelopmenttaskdefinitionenvoyLogGroupF8FCAFD6" + } + ], + "/aws-ecs-integ/name-development-task-definition/ExecutionRole/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "namedevelopmenttaskdefinitionExecutionRole48B53E4E" + } + ], + "/aws-ecs-integ/name-development-task-definition/ExecutionRole/DefaultPolicy/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "namedevelopmenttaskdefinitionExecutionRoleDefaultPolicy34EAA008" + } + ], + "/aws-ecs-integ/name-development-envoy-image-account-mapping": [ + { + "type": "aws:cdk:logicalId", + "data": "namedevelopmentenvoyimageaccountmapping" + } + ], + "/aws-ecs-integ/name-development-envoy-to-appmesh/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "namedevelopmentenvoytoappmesh45FF08AA" + } + ], + "/aws-ecs-integ/name-development-service/Service": [ + { + "type": "aws:cdk:logicalId", + "data": "namedevelopmentserviceService8A24F793" + } + ], + "/aws-ecs-integ/name-development-service/CloudmapService/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "namedevelopmentserviceCloudmapService63674467" + } + ], + "/aws-ecs-integ/name-development-service/SecurityGroup/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "namedevelopmentserviceSecurityGroupE2ECED97" + } + ], + "/aws-ecs-integ/name-development-virtual-node/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "namedevelopmentvirtualnode55118E80" + } + ], + "/aws-ecs-integ/name-development-virtual-router/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "namedevelopmentvirtualrouter0AE5105D" + } + ], + "/aws-ecs-integ/name-development-virtual-router/name-development-route/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "namedevelopmentvirtualrouternamedevelopmentroute611E499A" + } + ], + "/aws-ecs-integ/name-development-virtual-service/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "namedevelopmentvirtualserviceD936E3FD" + } + ] + }, + "displayName": "aws-ecs-integ" + } + } +} \ No newline at end of file diff --git a/packages/@aws-cdk-containers/ecs-service-extensions/test/multiple-environments.integ.snapshot/tree.json b/packages/@aws-cdk-containers/ecs-service-extensions/test/multiple-environments.integ.snapshot/tree.json new file mode 100644 index 0000000000000..b10191cf1a231 --- /dev/null +++ b/packages/@aws-cdk-containers/ecs-service-extensions/test/multiple-environments.integ.snapshot/tree.json @@ -0,0 +1,3081 @@ +{ + "version": "tree-0.1", + "tree": { + "id": "App", + "path": "", + "children": { + "Tree": { + "id": "Tree", + "path": "Tree", + "constructInfo": { + "fqn": "@aws-cdk/core.Construct", + "version": "0.0.0" + } + }, + "aws-ecs-integ": { + "id": "aws-ecs-integ", + "path": "aws-ecs-integ", + "children": { + "production": { + "id": "production", + "path": "aws-ecs-integ/production", + "constructInfo": { + "fqn": "@aws-cdk/core.Construct", + "version": "0.0.0" + } + }, + "production-environment-vpc": { + "id": "production-environment-vpc", + "path": "aws-ecs-integ/production-environment-vpc", + "children": { + "Resource": { + "id": "Resource", + "path": "aws-ecs-integ/production-environment-vpc/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::VPC", + "aws:cdk:cloudformation:props": { + "cidrBlock": "10.0.0.0/16", + "enableDnsHostnames": true, + "enableDnsSupport": true, + "instanceTenancy": "default", + "tags": [ + { + "key": "Name", + "value": "aws-ecs-integ/production-environment-vpc" + } + ] + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + }, + "PublicSubnet1": { + "id": "PublicSubnet1", + "path": "aws-ecs-integ/production-environment-vpc/PublicSubnet1", + "children": { + "Subnet": { + "id": "Subnet", + "path": "aws-ecs-integ/production-environment-vpc/PublicSubnet1/Subnet", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::Subnet", + "aws:cdk:cloudformation:props": { + "vpcId": { + "Ref": "productionenvironmentvpcAEB47DF7" + }, + "availabilityZone": { + "Fn::Select": [ + 0, + { + "Fn::GetAZs": "" + } + ] + }, + "cidrBlock": "10.0.0.0/18", + "mapPublicIpOnLaunch": true, + "tags": [ + { + "key": "aws-cdk:subnet-name", + "value": "Public" + }, + { + "key": "aws-cdk:subnet-type", + "value": "Public" + }, + { + "key": "Name", + "value": "aws-ecs-integ/production-environment-vpc/PublicSubnet1" + } + ] + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + }, + "Acl": { + "id": "Acl", + "path": "aws-ecs-integ/production-environment-vpc/PublicSubnet1/Acl", + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + }, + "RouteTable": { + "id": "RouteTable", + "path": "aws-ecs-integ/production-environment-vpc/PublicSubnet1/RouteTable", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::RouteTable", + "aws:cdk:cloudformation:props": { + "vpcId": { + "Ref": "productionenvironmentvpcAEB47DF7" + }, + "tags": [ + { + "key": "Name", + "value": "aws-ecs-integ/production-environment-vpc/PublicSubnet1" + } + ] + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + }, + "RouteTableAssociation": { + "id": "RouteTableAssociation", + "path": "aws-ecs-integ/production-environment-vpc/PublicSubnet1/RouteTableAssociation", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::SubnetRouteTableAssociation", + "aws:cdk:cloudformation:props": { + "routeTableId": { + "Ref": "productionenvironmentvpcPublicSubnet1RouteTable6E9ABC21" + }, + "subnetId": { + "Ref": "productionenvironmentvpcPublicSubnet1Subnet8D92C089" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + }, + "DefaultRoute": { + "id": "DefaultRoute", + "path": "aws-ecs-integ/production-environment-vpc/PublicSubnet1/DefaultRoute", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::Route", + "aws:cdk:cloudformation:props": { + "routeTableId": { + "Ref": "productionenvironmentvpcPublicSubnet1RouteTable6E9ABC21" + }, + "destinationCidrBlock": "0.0.0.0/0", + "gatewayId": { + "Ref": "productionenvironmentvpcIGWE7C39890" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + }, + "EIP": { + "id": "EIP", + "path": "aws-ecs-integ/production-environment-vpc/PublicSubnet1/EIP", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::EIP", + "aws:cdk:cloudformation:props": { + "domain": "vpc", + "tags": [ + { + "key": "Name", + "value": "aws-ecs-integ/production-environment-vpc/PublicSubnet1" + } + ] + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + }, + "NATGateway": { + "id": "NATGateway", + "path": "aws-ecs-integ/production-environment-vpc/PublicSubnet1/NATGateway", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::NatGateway", + "aws:cdk:cloudformation:props": { + "subnetId": { + "Ref": "productionenvironmentvpcPublicSubnet1Subnet8D92C089" + }, + "allocationId": { + "Fn::GetAtt": [ + "productionenvironmentvpcPublicSubnet1EIP54BA88DB", + "AllocationId" + ] + }, + "tags": [ + { + "key": "Name", + "value": "aws-ecs-integ/production-environment-vpc/PublicSubnet1" + } + ] + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + }, + "PublicSubnet2": { + "id": "PublicSubnet2", + "path": "aws-ecs-integ/production-environment-vpc/PublicSubnet2", + "children": { + "Subnet": { + "id": "Subnet", + "path": "aws-ecs-integ/production-environment-vpc/PublicSubnet2/Subnet", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::Subnet", + "aws:cdk:cloudformation:props": { + "vpcId": { + "Ref": "productionenvironmentvpcAEB47DF7" + }, + "availabilityZone": { + "Fn::Select": [ + 1, + { + "Fn::GetAZs": "" + } + ] + }, + "cidrBlock": "10.0.64.0/18", + "mapPublicIpOnLaunch": true, + "tags": [ + { + "key": "aws-cdk:subnet-name", + "value": "Public" + }, + { + "key": "aws-cdk:subnet-type", + "value": "Public" + }, + { + "key": "Name", + "value": "aws-ecs-integ/production-environment-vpc/PublicSubnet2" + } + ] + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + }, + "Acl": { + "id": "Acl", + "path": "aws-ecs-integ/production-environment-vpc/PublicSubnet2/Acl", + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + }, + "RouteTable": { + "id": "RouteTable", + "path": "aws-ecs-integ/production-environment-vpc/PublicSubnet2/RouteTable", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::RouteTable", + "aws:cdk:cloudformation:props": { + "vpcId": { + "Ref": "productionenvironmentvpcAEB47DF7" + }, + "tags": [ + { + "key": "Name", + "value": "aws-ecs-integ/production-environment-vpc/PublicSubnet2" + } + ] + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + }, + "RouteTableAssociation": { + "id": "RouteTableAssociation", + "path": "aws-ecs-integ/production-environment-vpc/PublicSubnet2/RouteTableAssociation", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::SubnetRouteTableAssociation", + "aws:cdk:cloudformation:props": { + "routeTableId": { + "Ref": "productionenvironmentvpcPublicSubnet2RouteTable842A68D7" + }, + "subnetId": { + "Ref": "productionenvironmentvpcPublicSubnet2Subnet298E6C31" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + }, + "DefaultRoute": { + "id": "DefaultRoute", + "path": "aws-ecs-integ/production-environment-vpc/PublicSubnet2/DefaultRoute", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::Route", + "aws:cdk:cloudformation:props": { + "routeTableId": { + "Ref": "productionenvironmentvpcPublicSubnet2RouteTable842A68D7" + }, + "destinationCidrBlock": "0.0.0.0/0", + "gatewayId": { + "Ref": "productionenvironmentvpcIGWE7C39890" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + }, + "EIP": { + "id": "EIP", + "path": "aws-ecs-integ/production-environment-vpc/PublicSubnet2/EIP", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::EIP", + "aws:cdk:cloudformation:props": { + "domain": "vpc", + "tags": [ + { + "key": "Name", + "value": "aws-ecs-integ/production-environment-vpc/PublicSubnet2" + } + ] + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + }, + "NATGateway": { + "id": "NATGateway", + "path": "aws-ecs-integ/production-environment-vpc/PublicSubnet2/NATGateway", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::NatGateway", + "aws:cdk:cloudformation:props": { + "subnetId": { + "Ref": "productionenvironmentvpcPublicSubnet2Subnet298E6C31" + }, + "allocationId": { + "Fn::GetAtt": [ + "productionenvironmentvpcPublicSubnet2EIP14CA46AA", + "AllocationId" + ] + }, + "tags": [ + { + "key": "Name", + "value": "aws-ecs-integ/production-environment-vpc/PublicSubnet2" + } + ] + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + }, + "PrivateSubnet1": { + "id": "PrivateSubnet1", + "path": "aws-ecs-integ/production-environment-vpc/PrivateSubnet1", + "children": { + "Subnet": { + "id": "Subnet", + "path": "aws-ecs-integ/production-environment-vpc/PrivateSubnet1/Subnet", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::Subnet", + "aws:cdk:cloudformation:props": { + "vpcId": { + "Ref": "productionenvironmentvpcAEB47DF7" + }, + "availabilityZone": { + "Fn::Select": [ + 0, + { + "Fn::GetAZs": "" + } + ] + }, + "cidrBlock": "10.0.128.0/18", + "mapPublicIpOnLaunch": false, + "tags": [ + { + "key": "aws-cdk:subnet-name", + "value": "Private" + }, + { + "key": "aws-cdk:subnet-type", + "value": "Private" + }, + { + "key": "Name", + "value": "aws-ecs-integ/production-environment-vpc/PrivateSubnet1" + } + ] + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + }, + "Acl": { + "id": "Acl", + "path": "aws-ecs-integ/production-environment-vpc/PrivateSubnet1/Acl", + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + }, + "RouteTable": { + "id": "RouteTable", + "path": "aws-ecs-integ/production-environment-vpc/PrivateSubnet1/RouteTable", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::RouteTable", + "aws:cdk:cloudformation:props": { + "vpcId": { + "Ref": "productionenvironmentvpcAEB47DF7" + }, + "tags": [ + { + "key": "Name", + "value": "aws-ecs-integ/production-environment-vpc/PrivateSubnet1" + } + ] + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + }, + "RouteTableAssociation": { + "id": "RouteTableAssociation", + "path": "aws-ecs-integ/production-environment-vpc/PrivateSubnet1/RouteTableAssociation", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::SubnetRouteTableAssociation", + "aws:cdk:cloudformation:props": { + "routeTableId": { + "Ref": "productionenvironmentvpcPrivateSubnet1RouteTable2C6DFF0C" + }, + "subnetId": { + "Ref": "productionenvironmentvpcPrivateSubnet1Subnet53F632E6" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + }, + "DefaultRoute": { + "id": "DefaultRoute", + "path": "aws-ecs-integ/production-environment-vpc/PrivateSubnet1/DefaultRoute", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::Route", + "aws:cdk:cloudformation:props": { + "routeTableId": { + "Ref": "productionenvironmentvpcPrivateSubnet1RouteTable2C6DFF0C" + }, + "destinationCidrBlock": "0.0.0.0/0", + "natGatewayId": { + "Ref": "productionenvironmentvpcPublicSubnet1NATGateway6075E4CA" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + }, + "PrivateSubnet2": { + "id": "PrivateSubnet2", + "path": "aws-ecs-integ/production-environment-vpc/PrivateSubnet2", + "children": { + "Subnet": { + "id": "Subnet", + "path": "aws-ecs-integ/production-environment-vpc/PrivateSubnet2/Subnet", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::Subnet", + "aws:cdk:cloudformation:props": { + "vpcId": { + "Ref": "productionenvironmentvpcAEB47DF7" + }, + "availabilityZone": { + "Fn::Select": [ + 1, + { + "Fn::GetAZs": "" + } + ] + }, + "cidrBlock": "10.0.192.0/18", + "mapPublicIpOnLaunch": false, + "tags": [ + { + "key": "aws-cdk:subnet-name", + "value": "Private" + }, + { + "key": "aws-cdk:subnet-type", + "value": "Private" + }, + { + "key": "Name", + "value": "aws-ecs-integ/production-environment-vpc/PrivateSubnet2" + } + ] + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + }, + "Acl": { + "id": "Acl", + "path": "aws-ecs-integ/production-environment-vpc/PrivateSubnet2/Acl", + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + }, + "RouteTable": { + "id": "RouteTable", + "path": "aws-ecs-integ/production-environment-vpc/PrivateSubnet2/RouteTable", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::RouteTable", + "aws:cdk:cloudformation:props": { + "vpcId": { + "Ref": "productionenvironmentvpcAEB47DF7" + }, + "tags": [ + { + "key": "Name", + "value": "aws-ecs-integ/production-environment-vpc/PrivateSubnet2" + } + ] + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + }, + "RouteTableAssociation": { + "id": "RouteTableAssociation", + "path": "aws-ecs-integ/production-environment-vpc/PrivateSubnet2/RouteTableAssociation", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::SubnetRouteTableAssociation", + "aws:cdk:cloudformation:props": { + "routeTableId": { + "Ref": "productionenvironmentvpcPrivateSubnet2RouteTable2F77D0D2" + }, + "subnetId": { + "Ref": "productionenvironmentvpcPrivateSubnet2Subnet756FB93C" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + }, + "DefaultRoute": { + "id": "DefaultRoute", + "path": "aws-ecs-integ/production-environment-vpc/PrivateSubnet2/DefaultRoute", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::Route", + "aws:cdk:cloudformation:props": { + "routeTableId": { + "Ref": "productionenvironmentvpcPrivateSubnet2RouteTable2F77D0D2" + }, + "destinationCidrBlock": "0.0.0.0/0", + "natGatewayId": { + "Ref": "productionenvironmentvpcPublicSubnet2NATGatewayE1850FCC" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + }, + "IGW": { + "id": "IGW", + "path": "aws-ecs-integ/production-environment-vpc/IGW", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::InternetGateway", + "aws:cdk:cloudformation:props": { + "tags": [ + { + "key": "Name", + "value": "aws-ecs-integ/production-environment-vpc" + } + ] + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + }, + "VPCGW": { + "id": "VPCGW", + "path": "aws-ecs-integ/production-environment-vpc/VPCGW", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::VPCGatewayAttachment", + "aws:cdk:cloudformation:props": { + "vpcId": { + "Ref": "productionenvironmentvpcAEB47DF7" + }, + "internetGatewayId": { + "Ref": "productionenvironmentvpcIGWE7C39890" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + }, + "production-environment-cluster": { + "id": "production-environment-cluster", + "path": "aws-ecs-integ/production-environment-cluster", + "children": { + "Resource": { + "id": "Resource", + "path": "aws-ecs-integ/production-environment-cluster/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::ECS::Cluster", + "aws:cdk:cloudformation:props": {} + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + }, + "DefaultServiceDiscoveryNamespace": { + "id": "DefaultServiceDiscoveryNamespace", + "path": "aws-ecs-integ/production-environment-cluster/DefaultServiceDiscoveryNamespace", + "children": { + "Resource": { + "id": "Resource", + "path": "aws-ecs-integ/production-environment-cluster/DefaultServiceDiscoveryNamespace/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::ServiceDiscovery::PrivateDnsNamespace", + "aws:cdk:cloudformation:props": { + "name": "production", + "vpc": { + "Ref": "productionenvironmentvpcAEB47DF7" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + }, + "development": { + "id": "development", + "path": "aws-ecs-integ/development", + "constructInfo": { + "fqn": "@aws-cdk/core.Construct", + "version": "0.0.0" + } + }, + "development-environment-vpc": { + "id": "development-environment-vpc", + "path": "aws-ecs-integ/development-environment-vpc", + "children": { + "Resource": { + "id": "Resource", + "path": "aws-ecs-integ/development-environment-vpc/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::VPC", + "aws:cdk:cloudformation:props": { + "cidrBlock": "10.0.0.0/16", + "enableDnsHostnames": true, + "enableDnsSupport": true, + "instanceTenancy": "default", + "tags": [ + { + "key": "Name", + "value": "aws-ecs-integ/development-environment-vpc" + } + ] + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + }, + "PublicSubnet1": { + "id": "PublicSubnet1", + "path": "aws-ecs-integ/development-environment-vpc/PublicSubnet1", + "children": { + "Subnet": { + "id": "Subnet", + "path": "aws-ecs-integ/development-environment-vpc/PublicSubnet1/Subnet", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::Subnet", + "aws:cdk:cloudformation:props": { + "vpcId": { + "Ref": "developmentenvironmentvpcCB4216A4" + }, + "availabilityZone": { + "Fn::Select": [ + 0, + { + "Fn::GetAZs": "" + } + ] + }, + "cidrBlock": "10.0.0.0/18", + "mapPublicIpOnLaunch": true, + "tags": [ + { + "key": "aws-cdk:subnet-name", + "value": "Public" + }, + { + "key": "aws-cdk:subnet-type", + "value": "Public" + }, + { + "key": "Name", + "value": "aws-ecs-integ/development-environment-vpc/PublicSubnet1" + } + ] + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + }, + "Acl": { + "id": "Acl", + "path": "aws-ecs-integ/development-environment-vpc/PublicSubnet1/Acl", + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + }, + "RouteTable": { + "id": "RouteTable", + "path": "aws-ecs-integ/development-environment-vpc/PublicSubnet1/RouteTable", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::RouteTable", + "aws:cdk:cloudformation:props": { + "vpcId": { + "Ref": "developmentenvironmentvpcCB4216A4" + }, + "tags": [ + { + "key": "Name", + "value": "aws-ecs-integ/development-environment-vpc/PublicSubnet1" + } + ] + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + }, + "RouteTableAssociation": { + "id": "RouteTableAssociation", + "path": "aws-ecs-integ/development-environment-vpc/PublicSubnet1/RouteTableAssociation", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::SubnetRouteTableAssociation", + "aws:cdk:cloudformation:props": { + "routeTableId": { + "Ref": "developmentenvironmentvpcPublicSubnet1RouteTable8FC58983" + }, + "subnetId": { + "Ref": "developmentenvironmentvpcPublicSubnet1Subnet0D18046B" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + }, + "DefaultRoute": { + "id": "DefaultRoute", + "path": "aws-ecs-integ/development-environment-vpc/PublicSubnet1/DefaultRoute", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::Route", + "aws:cdk:cloudformation:props": { + "routeTableId": { + "Ref": "developmentenvironmentvpcPublicSubnet1RouteTable8FC58983" + }, + "destinationCidrBlock": "0.0.0.0/0", + "gatewayId": { + "Ref": "developmentenvironmentvpcIGW2B4E91B1" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + }, + "EIP": { + "id": "EIP", + "path": "aws-ecs-integ/development-environment-vpc/PublicSubnet1/EIP", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::EIP", + "aws:cdk:cloudformation:props": { + "domain": "vpc", + "tags": [ + { + "key": "Name", + "value": "aws-ecs-integ/development-environment-vpc/PublicSubnet1" + } + ] + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + }, + "NATGateway": { + "id": "NATGateway", + "path": "aws-ecs-integ/development-environment-vpc/PublicSubnet1/NATGateway", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::NatGateway", + "aws:cdk:cloudformation:props": { + "subnetId": { + "Ref": "developmentenvironmentvpcPublicSubnet1Subnet0D18046B" + }, + "allocationId": { + "Fn::GetAtt": [ + "developmentenvironmentvpcPublicSubnet1EIPE8B9F4D4", + "AllocationId" + ] + }, + "tags": [ + { + "key": "Name", + "value": "aws-ecs-integ/development-environment-vpc/PublicSubnet1" + } + ] + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + }, + "PublicSubnet2": { + "id": "PublicSubnet2", + "path": "aws-ecs-integ/development-environment-vpc/PublicSubnet2", + "children": { + "Subnet": { + "id": "Subnet", + "path": "aws-ecs-integ/development-environment-vpc/PublicSubnet2/Subnet", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::Subnet", + "aws:cdk:cloudformation:props": { + "vpcId": { + "Ref": "developmentenvironmentvpcCB4216A4" + }, + "availabilityZone": { + "Fn::Select": [ + 1, + { + "Fn::GetAZs": "" + } + ] + }, + "cidrBlock": "10.0.64.0/18", + "mapPublicIpOnLaunch": true, + "tags": [ + { + "key": "aws-cdk:subnet-name", + "value": "Public" + }, + { + "key": "aws-cdk:subnet-type", + "value": "Public" + }, + { + "key": "Name", + "value": "aws-ecs-integ/development-environment-vpc/PublicSubnet2" + } + ] + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + }, + "Acl": { + "id": "Acl", + "path": "aws-ecs-integ/development-environment-vpc/PublicSubnet2/Acl", + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + }, + "RouteTable": { + "id": "RouteTable", + "path": "aws-ecs-integ/development-environment-vpc/PublicSubnet2/RouteTable", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::RouteTable", + "aws:cdk:cloudformation:props": { + "vpcId": { + "Ref": "developmentenvironmentvpcCB4216A4" + }, + "tags": [ + { + "key": "Name", + "value": "aws-ecs-integ/development-environment-vpc/PublicSubnet2" + } + ] + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + }, + "RouteTableAssociation": { + "id": "RouteTableAssociation", + "path": "aws-ecs-integ/development-environment-vpc/PublicSubnet2/RouteTableAssociation", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::SubnetRouteTableAssociation", + "aws:cdk:cloudformation:props": { + "routeTableId": { + "Ref": "developmentenvironmentvpcPublicSubnet2RouteTable803A92C2" + }, + "subnetId": { + "Ref": "developmentenvironmentvpcPublicSubnet2SubnetC2026CD3" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + }, + "DefaultRoute": { + "id": "DefaultRoute", + "path": "aws-ecs-integ/development-environment-vpc/PublicSubnet2/DefaultRoute", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::Route", + "aws:cdk:cloudformation:props": { + "routeTableId": { + "Ref": "developmentenvironmentvpcPublicSubnet2RouteTable803A92C2" + }, + "destinationCidrBlock": "0.0.0.0/0", + "gatewayId": { + "Ref": "developmentenvironmentvpcIGW2B4E91B1" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + }, + "EIP": { + "id": "EIP", + "path": "aws-ecs-integ/development-environment-vpc/PublicSubnet2/EIP", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::EIP", + "aws:cdk:cloudformation:props": { + "domain": "vpc", + "tags": [ + { + "key": "Name", + "value": "aws-ecs-integ/development-environment-vpc/PublicSubnet2" + } + ] + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + }, + "NATGateway": { + "id": "NATGateway", + "path": "aws-ecs-integ/development-environment-vpc/PublicSubnet2/NATGateway", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::NatGateway", + "aws:cdk:cloudformation:props": { + "subnetId": { + "Ref": "developmentenvironmentvpcPublicSubnet2SubnetC2026CD3" + }, + "allocationId": { + "Fn::GetAtt": [ + "developmentenvironmentvpcPublicSubnet2EIP560C2BBA", + "AllocationId" + ] + }, + "tags": [ + { + "key": "Name", + "value": "aws-ecs-integ/development-environment-vpc/PublicSubnet2" + } + ] + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + }, + "PrivateSubnet1": { + "id": "PrivateSubnet1", + "path": "aws-ecs-integ/development-environment-vpc/PrivateSubnet1", + "children": { + "Subnet": { + "id": "Subnet", + "path": "aws-ecs-integ/development-environment-vpc/PrivateSubnet1/Subnet", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::Subnet", + "aws:cdk:cloudformation:props": { + "vpcId": { + "Ref": "developmentenvironmentvpcCB4216A4" + }, + "availabilityZone": { + "Fn::Select": [ + 0, + { + "Fn::GetAZs": "" + } + ] + }, + "cidrBlock": "10.0.128.0/18", + "mapPublicIpOnLaunch": false, + "tags": [ + { + "key": "aws-cdk:subnet-name", + "value": "Private" + }, + { + "key": "aws-cdk:subnet-type", + "value": "Private" + }, + { + "key": "Name", + "value": "aws-ecs-integ/development-environment-vpc/PrivateSubnet1" + } + ] + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + }, + "Acl": { + "id": "Acl", + "path": "aws-ecs-integ/development-environment-vpc/PrivateSubnet1/Acl", + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + }, + "RouteTable": { + "id": "RouteTable", + "path": "aws-ecs-integ/development-environment-vpc/PrivateSubnet1/RouteTable", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::RouteTable", + "aws:cdk:cloudformation:props": { + "vpcId": { + "Ref": "developmentenvironmentvpcCB4216A4" + }, + "tags": [ + { + "key": "Name", + "value": "aws-ecs-integ/development-environment-vpc/PrivateSubnet1" + } + ] + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + }, + "RouteTableAssociation": { + "id": "RouteTableAssociation", + "path": "aws-ecs-integ/development-environment-vpc/PrivateSubnet1/RouteTableAssociation", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::SubnetRouteTableAssociation", + "aws:cdk:cloudformation:props": { + "routeTableId": { + "Ref": "developmentenvironmentvpcPrivateSubnet1RouteTable29CEB1DB" + }, + "subnetId": { + "Ref": "developmentenvironmentvpcPrivateSubnet1SubnetAAECD171" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + }, + "DefaultRoute": { + "id": "DefaultRoute", + "path": "aws-ecs-integ/development-environment-vpc/PrivateSubnet1/DefaultRoute", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::Route", + "aws:cdk:cloudformation:props": { + "routeTableId": { + "Ref": "developmentenvironmentvpcPrivateSubnet1RouteTable29CEB1DB" + }, + "destinationCidrBlock": "0.0.0.0/0", + "natGatewayId": { + "Ref": "developmentenvironmentvpcPublicSubnet1NATGateway6B01CC4E" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + }, + "PrivateSubnet2": { + "id": "PrivateSubnet2", + "path": "aws-ecs-integ/development-environment-vpc/PrivateSubnet2", + "children": { + "Subnet": { + "id": "Subnet", + "path": "aws-ecs-integ/development-environment-vpc/PrivateSubnet2/Subnet", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::Subnet", + "aws:cdk:cloudformation:props": { + "vpcId": { + "Ref": "developmentenvironmentvpcCB4216A4" + }, + "availabilityZone": { + "Fn::Select": [ + 1, + { + "Fn::GetAZs": "" + } + ] + }, + "cidrBlock": "10.0.192.0/18", + "mapPublicIpOnLaunch": false, + "tags": [ + { + "key": "aws-cdk:subnet-name", + "value": "Private" + }, + { + "key": "aws-cdk:subnet-type", + "value": "Private" + }, + { + "key": "Name", + "value": "aws-ecs-integ/development-environment-vpc/PrivateSubnet2" + } + ] + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + }, + "Acl": { + "id": "Acl", + "path": "aws-ecs-integ/development-environment-vpc/PrivateSubnet2/Acl", + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + }, + "RouteTable": { + "id": "RouteTable", + "path": "aws-ecs-integ/development-environment-vpc/PrivateSubnet2/RouteTable", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::RouteTable", + "aws:cdk:cloudformation:props": { + "vpcId": { + "Ref": "developmentenvironmentvpcCB4216A4" + }, + "tags": [ + { + "key": "Name", + "value": "aws-ecs-integ/development-environment-vpc/PrivateSubnet2" + } + ] + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + }, + "RouteTableAssociation": { + "id": "RouteTableAssociation", + "path": "aws-ecs-integ/development-environment-vpc/PrivateSubnet2/RouteTableAssociation", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::SubnetRouteTableAssociation", + "aws:cdk:cloudformation:props": { + "routeTableId": { + "Ref": "developmentenvironmentvpcPrivateSubnet2RouteTable687AB03B" + }, + "subnetId": { + "Ref": "developmentenvironmentvpcPrivateSubnet2Subnet20C1C37D" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + }, + "DefaultRoute": { + "id": "DefaultRoute", + "path": "aws-ecs-integ/development-environment-vpc/PrivateSubnet2/DefaultRoute", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::Route", + "aws:cdk:cloudformation:props": { + "routeTableId": { + "Ref": "developmentenvironmentvpcPrivateSubnet2RouteTable687AB03B" + }, + "destinationCidrBlock": "0.0.0.0/0", + "natGatewayId": { + "Ref": "developmentenvironmentvpcPublicSubnet2NATGateway15A9C252" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + }, + "IGW": { + "id": "IGW", + "path": "aws-ecs-integ/development-environment-vpc/IGW", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::InternetGateway", + "aws:cdk:cloudformation:props": { + "tags": [ + { + "key": "Name", + "value": "aws-ecs-integ/development-environment-vpc" + } + ] + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + }, + "VPCGW": { + "id": "VPCGW", + "path": "aws-ecs-integ/development-environment-vpc/VPCGW", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::VPCGatewayAttachment", + "aws:cdk:cloudformation:props": { + "vpcId": { + "Ref": "developmentenvironmentvpcCB4216A4" + }, + "internetGatewayId": { + "Ref": "developmentenvironmentvpcIGW2B4E91B1" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + }, + "development-environment-cluster": { + "id": "development-environment-cluster", + "path": "aws-ecs-integ/development-environment-cluster", + "children": { + "Resource": { + "id": "Resource", + "path": "aws-ecs-integ/development-environment-cluster/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::ECS::Cluster", + "aws:cdk:cloudformation:props": {} + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + }, + "DefaultServiceDiscoveryNamespace": { + "id": "DefaultServiceDiscoveryNamespace", + "path": "aws-ecs-integ/development-environment-cluster/DefaultServiceDiscoveryNamespace", + "children": { + "Resource": { + "id": "Resource", + "path": "aws-ecs-integ/development-environment-cluster/DefaultServiceDiscoveryNamespace/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::ServiceDiscovery::PrivateDnsNamespace", + "aws:cdk:cloudformation:props": { + "name": "development", + "vpc": { + "Ref": "developmentenvironmentvpcCB4216A4" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + }, + "production-mesh": { + "id": "production-mesh", + "path": "aws-ecs-integ/production-mesh", + "children": { + "Resource": { + "id": "Resource", + "path": "aws-ecs-integ/production-mesh/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::AppMesh::Mesh", + "aws:cdk:cloudformation:props": { + "meshName": "awsecsintegproductionmesh1A4ED585", + "spec": {} + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + }, + "development-mesh": { + "id": "development-mesh", + "path": "aws-ecs-integ/development-mesh", + "children": { + "Resource": { + "id": "Resource", + "path": "aws-ecs-integ/development-mesh/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::AppMesh::Mesh", + "aws:cdk:cloudformation:props": { + "meshName": "awsecsintegdevelopmentmeshEFC35179", + "spec": {} + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + }, + "name-production": { + "id": "name-production", + "path": "aws-ecs-integ/name-production", + "constructInfo": { + "fqn": "@aws-cdk/core.Construct", + "version": "0.0.0" + } + }, + "name-production-task-definition": { + "id": "name-production-task-definition", + "path": "aws-ecs-integ/name-production-task-definition", + "children": { + "TaskRole": { + "id": "TaskRole", + "path": "aws-ecs-integ/name-production-task-definition/TaskRole", + "children": { + "Resource": { + "id": "Resource", + "path": "aws-ecs-integ/name-production-task-definition/TaskRole/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::IAM::Role", + "aws:cdk:cloudformation:props": { + "assumeRolePolicyDocument": { + "Statement": [ + { + "Action": "sts:AssumeRole", + "Effect": "Allow", + "Principal": { + "Service": "ecs-tasks.amazonaws.com" + } + } + ], + "Version": "2012-10-17" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + }, + "Resource": { + "id": "Resource", + "path": "aws-ecs-integ/name-production-task-definition/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::ECS::TaskDefinition", + "aws:cdk:cloudformation:props": { + "containerDefinitions": [ + { + "cpu": 1024, + "dependsOn": [ + { + "containerName": "envoy", + "condition": "HEALTHY" + } + ], + "essential": true, + "image": "nathanpeck/name", + "memory": 2048, + "name": "app", + "portMappings": [ + { + "containerPort": 80, + "protocol": "tcp" + } + ], + "ulimits": [ + { + "name": "nofile", + "softLimit": 1024000, + "hardLimit": 1024000 + } + ], + "environment": [ + { + "name": "PORT", + "value": "80" + } + ] + }, + { + "essential": true, + "image": { + "Fn::Join": [ + "", + [ + { + "Fn::FindInMap": [ + "nameproductionenvoyimageaccountmapping", + { + "Ref": "AWS::Region" + }, + "ecrRepo" + ] + }, + ".dkr.ecr.", + { + "Ref": "AWS::Region" + }, + ".", + { + "Ref": "AWS::URLSuffix" + }, + "/aws-appmesh-envoy:v1.15.1.0-prod" + ] + ] + }, + "memoryReservation": 128, + "name": "envoy", + "ulimits": [ + { + "name": "nofile", + "softLimit": 1024000, + "hardLimit": 1024000 + } + ], + "user": "1337", + "logConfiguration": { + "logDriver": "awslogs", + "options": { + "awslogs-group": { + "Ref": "nameproductiontaskdefinitionenvoyLogGroupF79A2732" + }, + "awslogs-stream-prefix": "envoy", + "awslogs-region": { + "Ref": "AWS::Region" + } + } + }, + "environment": [ + { + "name": "APPMESH_VIRTUAL_NODE_NAME", + "value": { + "Fn::Join": [ + "", + [ + "mesh/", + { + "Fn::GetAtt": [ + "productionmeshB6E81744", + "MeshName" + ] + }, + "/virtualNode/name-production" + ] + ] + } + }, + { + "name": "AWS_REGION", + "value": { + "Ref": "AWS::Region" + } + }, + { + "name": "ENABLE_ENVOY_STATS_TAGS", + "value": "1" + }, + { + "name": "ENABLE_ENVOY_DOG_STATSD", + "value": "1" + } + ], + "healthCheck": { + "command": [ + "CMD-SHELL", + "curl -s http://localhost:9901/server_info | grep state | grep -q LIVE" + ], + "interval": 5, + "retries": 3, + "startPeriod": 10, + "timeout": 2 + } + } + ], + "cpu": "1024", + "executionRoleArn": { + "Fn::GetAtt": [ + "nameproductiontaskdefinitionExecutionRoleB72DD86B", + "Arn" + ] + }, + "family": "awsecsintegnameproductiontaskdefinition9E1C363B", + "memory": "2048", + "networkMode": "awsvpc", + "proxyConfiguration": { + "containerName": "envoy", + "proxyConfigurationProperties": [ + { + "name": "AppPorts", + "value": "80" + }, + { + "name": "ProxyEgressPort", + "value": "15001" + }, + { + "name": "ProxyIngressPort", + "value": "15000" + }, + { + "name": "IgnoredUID", + "value": "1337" + }, + { + "name": "IgnoredGID", + "value": "1338" + }, + { + "name": "EgressIgnoredIPs", + "value": "169.254.170.2,169.254.169.254" + } + ], + "type": "APPMESH" + }, + "requiresCompatibilities": [ + "EC2", + "FARGATE" + ], + "taskRoleArn": { + "Fn::GetAtt": [ + "nameproductiontaskdefinitionTaskRole93E922EB", + "Arn" + ] + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + }, + "app": { + "id": "app", + "path": "aws-ecs-integ/name-production-task-definition/app", + "constructInfo": { + "fqn": "@aws-cdk/core.Construct", + "version": "0.0.0" + } + }, + "envoy": { + "id": "envoy", + "path": "aws-ecs-integ/name-production-task-definition/envoy", + "children": { + "LogGroup": { + "id": "LogGroup", + "path": "aws-ecs-integ/name-production-task-definition/envoy/LogGroup", + "children": { + "Resource": { + "id": "Resource", + "path": "aws-ecs-integ/name-production-task-definition/envoy/LogGroup/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::Logs::LogGroup", + "aws:cdk:cloudformation:props": {} + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Construct", + "version": "0.0.0" + } + }, + "ExecutionRole": { + "id": "ExecutionRole", + "path": "aws-ecs-integ/name-production-task-definition/ExecutionRole", + "children": { + "Resource": { + "id": "Resource", + "path": "aws-ecs-integ/name-production-task-definition/ExecutionRole/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::IAM::Role", + "aws:cdk:cloudformation:props": { + "assumeRolePolicyDocument": { + "Statement": [ + { + "Action": "sts:AssumeRole", + "Effect": "Allow", + "Principal": { + "Service": "ecs-tasks.amazonaws.com" + } + } + ], + "Version": "2012-10-17" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + }, + "DefaultPolicy": { + "id": "DefaultPolicy", + "path": "aws-ecs-integ/name-production-task-definition/ExecutionRole/DefaultPolicy", + "children": { + "Resource": { + "id": "Resource", + "path": "aws-ecs-integ/name-production-task-definition/ExecutionRole/DefaultPolicy/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::IAM::Policy", + "aws:cdk:cloudformation:props": { + "policyDocument": { + "Statement": [ + { + "Action": [ + "ecr:BatchCheckLayerAvailability", + "ecr:GetDownloadUrlForLayer", + "ecr:BatchGetImage" + ], + "Effect": "Allow", + "Resource": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":ecr:", + { + "Ref": "AWS::Region" + }, + ":", + { + "Fn::FindInMap": [ + "nameproductionenvoyimageaccountmapping", + { + "Ref": "AWS::Region" + }, + "ecrRepo" + ] + }, + ":repository/aws-appmesh-envoy" + ] + ] + } + }, + { + "Action": "ecr:GetAuthorizationToken", + "Effect": "Allow", + "Resource": "*" + }, + { + "Action": [ + "logs:CreateLogStream", + "logs:PutLogEvents" + ], + "Effect": "Allow", + "Resource": { + "Fn::GetAtt": [ + "nameproductiontaskdefinitionenvoyLogGroupF79A2732", + "Arn" + ] + } + } + ], + "Version": "2012-10-17" + }, + "policyName": "nameproductiontaskdefinitionExecutionRoleDefaultPolicyB66C67BE", + "roles": [ + { + "Ref": "nameproductiontaskdefinitionExecutionRoleB72DD86B" + } + ] + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + }, + "name-production-envoy-image-account-mapping": { + "id": "name-production-envoy-image-account-mapping", + "path": "aws-ecs-integ/name-production-envoy-image-account-mapping", + "constructInfo": { + "fqn": "@aws-cdk/core.CfnMapping", + "version": "0.0.0" + } + }, + "name-production-envoy-repo": { + "id": "name-production-envoy-repo", + "path": "aws-ecs-integ/name-production-envoy-repo", + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + }, + "name-production-envoy-to-appmesh": { + "id": "name-production-envoy-to-appmesh", + "path": "aws-ecs-integ/name-production-envoy-to-appmesh", + "children": { + "Resource": { + "id": "Resource", + "path": "aws-ecs-integ/name-production-envoy-to-appmesh/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::IAM::Policy", + "aws:cdk:cloudformation:props": { + "policyDocument": { + "Statement": [ + { + "Action": "appmesh:StreamAggregatedResources", + "Effect": "Allow", + "Resource": { + "Ref": "productionmeshB6E81744" + } + } + ], + "Version": "2012-10-17" + }, + "policyName": "nameproductionenvoytoappmesh1B44B04A", + "roles": [ + { + "Ref": "nameproductiontaskdefinitionTaskRole93E922EB" + } + ] + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + }, + "name-production-service": { + "id": "name-production-service", + "path": "aws-ecs-integ/name-production-service", + "children": { + "Service": { + "id": "Service", + "path": "aws-ecs-integ/name-production-service/Service", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::ECS::Service", + "aws:cdk:cloudformation:props": { + "cluster": { + "Ref": "productionenvironmentclusterC6599D2D" + }, + "deploymentConfiguration": { + "maximumPercent": 200, + "minimumHealthyPercent": 100 + }, + "desiredCount": 1, + "enableEcsManagedTags": false, + "launchType": "FARGATE", + "networkConfiguration": { + "awsvpcConfiguration": { + "assignPublicIp": "DISABLED", + "subnets": [ + { + "Ref": "productionenvironmentvpcPrivateSubnet1Subnet53F632E6" + }, + { + "Ref": "productionenvironmentvpcPrivateSubnet2Subnet756FB93C" + } + ], + "securityGroups": [ + { + "Fn::GetAtt": [ + "nameproductionserviceSecurityGroupF496E439", + "GroupId" + ] + } + ] + } + }, + "serviceRegistries": [ + { + "registryArn": { + "Fn::GetAtt": [ + "nameproductionserviceCloudmapService60E3273A", + "Arn" + ] + } + } + ], + "taskDefinition": { + "Ref": "nameproductiontaskdefinition33A5D5E0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + }, + "CloudmapService": { + "id": "CloudmapService", + "path": "aws-ecs-integ/name-production-service/CloudmapService", + "children": { + "Resource": { + "id": "Resource", + "path": "aws-ecs-integ/name-production-service/CloudmapService/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::ServiceDiscovery::Service", + "aws:cdk:cloudformation:props": { + "dnsConfig": { + "dnsRecords": [ + { + "type": "A", + "ttl": 10 + } + ], + "namespaceId": { + "Fn::GetAtt": [ + "productionenvironmentclusterDefaultServiceDiscoveryNamespaceBE74D64D", + "Id" + ] + }, + "routingPolicy": "MULTIVALUE" + }, + "healthCheckCustomConfig": { + "failureThreshold": 2 + }, + "name": "name-production", + "namespaceId": { + "Fn::GetAtt": [ + "productionenvironmentclusterDefaultServiceDiscoveryNamespaceBE74D64D", + "Id" + ] + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + }, + "SecurityGroup": { + "id": "SecurityGroup", + "path": "aws-ecs-integ/name-production-service/SecurityGroup", + "children": { + "Resource": { + "id": "Resource", + "path": "aws-ecs-integ/name-production-service/SecurityGroup/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::SecurityGroup", + "aws:cdk:cloudformation:props": { + "groupDescription": "aws-ecs-integ/name-production-service/SecurityGroup", + "securityGroupEgress": [ + { + "cidrIp": "0.0.0.0/0", + "description": "Allow all outbound traffic by default", + "ipProtocol": "-1" + } + ], + "vpcId": { + "Ref": "productionenvironmentvpcAEB47DF7" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + }, + "name-production-virtual-node": { + "id": "name-production-virtual-node", + "path": "aws-ecs-integ/name-production-virtual-node", + "children": { + "Resource": { + "id": "Resource", + "path": "aws-ecs-integ/name-production-virtual-node/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::AppMesh::VirtualNode", + "aws:cdk:cloudformation:props": { + "meshName": { + "Fn::GetAtt": [ + "productionmeshB6E81744", + "MeshName" + ] + }, + "spec": { + "listeners": [ + { + "portMapping": { + "port": 80, + "protocol": "http" + } + } + ], + "serviceDiscovery": { + "awsCloudMap": { + "namespaceName": "production", + "serviceName": { + "Fn::GetAtt": [ + "nameproductionserviceCloudmapService60E3273A", + "Name" + ] + } + } + } + }, + "virtualNodeName": "name-production" + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + }, + "name-production-virtual-router": { + "id": "name-production-virtual-router", + "path": "aws-ecs-integ/name-production-virtual-router", + "children": { + "Resource": { + "id": "Resource", + "path": "aws-ecs-integ/name-production-virtual-router/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::AppMesh::VirtualRouter", + "aws:cdk:cloudformation:props": { + "meshName": { + "Fn::GetAtt": [ + "productionmeshB6E81744", + "MeshName" + ] + }, + "spec": { + "listeners": [ + { + "portMapping": { + "port": 80, + "protocol": "http" + } + } + ] + }, + "virtualRouterName": "name-production" + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + }, + "name-production-route": { + "id": "name-production-route", + "path": "aws-ecs-integ/name-production-virtual-router/name-production-route", + "children": { + "Resource": { + "id": "Resource", + "path": "aws-ecs-integ/name-production-virtual-router/name-production-route/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::AppMesh::Route", + "aws:cdk:cloudformation:props": { + "meshName": { + "Fn::GetAtt": [ + "productionmeshB6E81744", + "MeshName" + ] + }, + "spec": { + "httpRoute": { + "action": { + "weightedTargets": [ + { + "virtualNode": { + "Fn::GetAtt": [ + "nameproductionvirtualnodeC78443D9", + "VirtualNodeName" + ] + }, + "weight": 1 + } + ] + }, + "match": { + "prefix": "/" + } + } + }, + "virtualRouterName": { + "Fn::GetAtt": [ + "nameproductionvirtualrouter00E3366D", + "VirtualRouterName" + ] + }, + "routeName": "name-production-route" + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + }, + "name-production-virtual-service": { + "id": "name-production-virtual-service", + "path": "aws-ecs-integ/name-production-virtual-service", + "children": { + "Resource": { + "id": "Resource", + "path": "aws-ecs-integ/name-production-virtual-service/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::AppMesh::VirtualService", + "aws:cdk:cloudformation:props": { + "meshName": { + "Fn::GetAtt": [ + "productionmeshB6E81744", + "MeshName" + ] + }, + "spec": { + "provider": { + "virtualRouter": { + "virtualRouterName": { + "Fn::GetAtt": [ + "nameproductionvirtualrouter00E3366D", + "VirtualRouterName" + ] + } + } + } + }, + "virtualServiceName": "name-production.production" + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + }, + "name-development": { + "id": "name-development", + "path": "aws-ecs-integ/name-development", + "constructInfo": { + "fqn": "@aws-cdk/core.Construct", + "version": "0.0.0" + } + }, + "name-development-task-definition": { + "id": "name-development-task-definition", + "path": "aws-ecs-integ/name-development-task-definition", + "children": { + "TaskRole": { + "id": "TaskRole", + "path": "aws-ecs-integ/name-development-task-definition/TaskRole", + "children": { + "Resource": { + "id": "Resource", + "path": "aws-ecs-integ/name-development-task-definition/TaskRole/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::IAM::Role", + "aws:cdk:cloudformation:props": { + "assumeRolePolicyDocument": { + "Statement": [ + { + "Action": "sts:AssumeRole", + "Effect": "Allow", + "Principal": { + "Service": "ecs-tasks.amazonaws.com" + } + } + ], + "Version": "2012-10-17" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + }, + "Resource": { + "id": "Resource", + "path": "aws-ecs-integ/name-development-task-definition/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::ECS::TaskDefinition", + "aws:cdk:cloudformation:props": { + "containerDefinitions": [ + { + "cpu": 1024, + "dependsOn": [ + { + "containerName": "envoy", + "condition": "HEALTHY" + } + ], + "essential": true, + "image": "nathanpeck/name", + "memory": 2048, + "name": "app", + "portMappings": [ + { + "containerPort": 80, + "protocol": "tcp" + } + ], + "ulimits": [ + { + "name": "nofile", + "softLimit": 1024000, + "hardLimit": 1024000 + } + ], + "environment": [ + { + "name": "PORT", + "value": "80" + } + ] + }, + { + "essential": true, + "image": { + "Fn::Join": [ + "", + [ + { + "Fn::FindInMap": [ + "namedevelopmentenvoyimageaccountmapping", + { + "Ref": "AWS::Region" + }, + "ecrRepo" + ] + }, + ".dkr.ecr.", + { + "Ref": "AWS::Region" + }, + ".", + { + "Ref": "AWS::URLSuffix" + }, + "/aws-appmesh-envoy:v1.15.1.0-prod" + ] + ] + }, + "memoryReservation": 128, + "name": "envoy", + "ulimits": [ + { + "name": "nofile", + "softLimit": 1024000, + "hardLimit": 1024000 + } + ], + "user": "1337", + "logConfiguration": { + "logDriver": "awslogs", + "options": { + "awslogs-group": { + "Ref": "namedevelopmenttaskdefinitionenvoyLogGroupF8FCAFD6" + }, + "awslogs-stream-prefix": "envoy", + "awslogs-region": { + "Ref": "AWS::Region" + } + } + }, + "environment": [ + { + "name": "APPMESH_VIRTUAL_NODE_NAME", + "value": { + "Fn::Join": [ + "", + [ + "mesh/", + { + "Fn::GetAtt": [ + "developmentmeshCEC28AFE", + "MeshName" + ] + }, + "/virtualNode/name-development" + ] + ] + } + }, + { + "name": "AWS_REGION", + "value": { + "Ref": "AWS::Region" + } + }, + { + "name": "ENABLE_ENVOY_STATS_TAGS", + "value": "1" + }, + { + "name": "ENABLE_ENVOY_DOG_STATSD", + "value": "1" + } + ], + "healthCheck": { + "command": [ + "CMD-SHELL", + "curl -s http://localhost:9901/server_info | grep state | grep -q LIVE" + ], + "interval": 5, + "retries": 3, + "startPeriod": 10, + "timeout": 2 + } + } + ], + "cpu": "1024", + "executionRoleArn": { + "Fn::GetAtt": [ + "namedevelopmenttaskdefinitionExecutionRole48B53E4E", + "Arn" + ] + }, + "family": "awsecsintegnamedevelopmenttaskdefinitionC3797E10", + "memory": "2048", + "networkMode": "awsvpc", + "proxyConfiguration": { + "containerName": "envoy", + "proxyConfigurationProperties": [ + { + "name": "AppPorts", + "value": "80" + }, + { + "name": "ProxyEgressPort", + "value": "15001" + }, + { + "name": "ProxyIngressPort", + "value": "15000" + }, + { + "name": "IgnoredUID", + "value": "1337" + }, + { + "name": "IgnoredGID", + "value": "1338" + }, + { + "name": "EgressIgnoredIPs", + "value": "169.254.170.2,169.254.169.254" + } + ], + "type": "APPMESH" + }, + "requiresCompatibilities": [ + "EC2", + "FARGATE" + ], + "taskRoleArn": { + "Fn::GetAtt": [ + "namedevelopmenttaskdefinitionTaskRole66A85BBB", + "Arn" + ] + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + }, + "app": { + "id": "app", + "path": "aws-ecs-integ/name-development-task-definition/app", + "constructInfo": { + "fqn": "@aws-cdk/core.Construct", + "version": "0.0.0" + } + }, + "envoy": { + "id": "envoy", + "path": "aws-ecs-integ/name-development-task-definition/envoy", + "children": { + "LogGroup": { + "id": "LogGroup", + "path": "aws-ecs-integ/name-development-task-definition/envoy/LogGroup", + "children": { + "Resource": { + "id": "Resource", + "path": "aws-ecs-integ/name-development-task-definition/envoy/LogGroup/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::Logs::LogGroup", + "aws:cdk:cloudformation:props": {} + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Construct", + "version": "0.0.0" + } + }, + "ExecutionRole": { + "id": "ExecutionRole", + "path": "aws-ecs-integ/name-development-task-definition/ExecutionRole", + "children": { + "Resource": { + "id": "Resource", + "path": "aws-ecs-integ/name-development-task-definition/ExecutionRole/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::IAM::Role", + "aws:cdk:cloudformation:props": { + "assumeRolePolicyDocument": { + "Statement": [ + { + "Action": "sts:AssumeRole", + "Effect": "Allow", + "Principal": { + "Service": "ecs-tasks.amazonaws.com" + } + } + ], + "Version": "2012-10-17" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + }, + "DefaultPolicy": { + "id": "DefaultPolicy", + "path": "aws-ecs-integ/name-development-task-definition/ExecutionRole/DefaultPolicy", + "children": { + "Resource": { + "id": "Resource", + "path": "aws-ecs-integ/name-development-task-definition/ExecutionRole/DefaultPolicy/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::IAM::Policy", + "aws:cdk:cloudformation:props": { + "policyDocument": { + "Statement": [ + { + "Action": [ + "ecr:BatchCheckLayerAvailability", + "ecr:GetDownloadUrlForLayer", + "ecr:BatchGetImage" + ], + "Effect": "Allow", + "Resource": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":ecr:", + { + "Ref": "AWS::Region" + }, + ":", + { + "Fn::FindInMap": [ + "namedevelopmentenvoyimageaccountmapping", + { + "Ref": "AWS::Region" + }, + "ecrRepo" + ] + }, + ":repository/aws-appmesh-envoy" + ] + ] + } + }, + { + "Action": "ecr:GetAuthorizationToken", + "Effect": "Allow", + "Resource": "*" + }, + { + "Action": [ + "logs:CreateLogStream", + "logs:PutLogEvents" + ], + "Effect": "Allow", + "Resource": { + "Fn::GetAtt": [ + "namedevelopmenttaskdefinitionenvoyLogGroupF8FCAFD6", + "Arn" + ] + } + } + ], + "Version": "2012-10-17" + }, + "policyName": "namedevelopmenttaskdefinitionExecutionRoleDefaultPolicy34EAA008", + "roles": [ + { + "Ref": "namedevelopmenttaskdefinitionExecutionRole48B53E4E" + } + ] + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + }, + "name-development-envoy-image-account-mapping": { + "id": "name-development-envoy-image-account-mapping", + "path": "aws-ecs-integ/name-development-envoy-image-account-mapping", + "constructInfo": { + "fqn": "@aws-cdk/core.CfnMapping", + "version": "0.0.0" + } + }, + "name-development-envoy-repo": { + "id": "name-development-envoy-repo", + "path": "aws-ecs-integ/name-development-envoy-repo", + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + }, + "name-development-envoy-to-appmesh": { + "id": "name-development-envoy-to-appmesh", + "path": "aws-ecs-integ/name-development-envoy-to-appmesh", + "children": { + "Resource": { + "id": "Resource", + "path": "aws-ecs-integ/name-development-envoy-to-appmesh/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::IAM::Policy", + "aws:cdk:cloudformation:props": { + "policyDocument": { + "Statement": [ + { + "Action": "appmesh:StreamAggregatedResources", + "Effect": "Allow", + "Resource": { + "Ref": "developmentmeshCEC28AFE" + } + } + ], + "Version": "2012-10-17" + }, + "policyName": "namedevelopmentenvoytoappmesh45FF08AA", + "roles": [ + { + "Ref": "namedevelopmenttaskdefinitionTaskRole66A85BBB" + } + ] + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + }, + "name-development-service": { + "id": "name-development-service", + "path": "aws-ecs-integ/name-development-service", + "children": { + "Service": { + "id": "Service", + "path": "aws-ecs-integ/name-development-service/Service", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::ECS::Service", + "aws:cdk:cloudformation:props": { + "cluster": { + "Ref": "developmentenvironmentcluster1B64BE8B" + }, + "deploymentConfiguration": { + "maximumPercent": 200, + "minimumHealthyPercent": 100 + }, + "desiredCount": 1, + "enableEcsManagedTags": false, + "launchType": "FARGATE", + "networkConfiguration": { + "awsvpcConfiguration": { + "assignPublicIp": "DISABLED", + "subnets": [ + { + "Ref": "developmentenvironmentvpcPrivateSubnet1SubnetAAECD171" + }, + { + "Ref": "developmentenvironmentvpcPrivateSubnet2Subnet20C1C37D" + } + ], + "securityGroups": [ + { + "Fn::GetAtt": [ + "namedevelopmentserviceSecurityGroupE2ECED97", + "GroupId" + ] + } + ] + } + }, + "serviceRegistries": [ + { + "registryArn": { + "Fn::GetAtt": [ + "namedevelopmentserviceCloudmapService63674467", + "Arn" + ] + } + } + ], + "taskDefinition": { + "Ref": "namedevelopmenttaskdefinition0468FBFF" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + }, + "CloudmapService": { + "id": "CloudmapService", + "path": "aws-ecs-integ/name-development-service/CloudmapService", + "children": { + "Resource": { + "id": "Resource", + "path": "aws-ecs-integ/name-development-service/CloudmapService/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::ServiceDiscovery::Service", + "aws:cdk:cloudformation:props": { + "dnsConfig": { + "dnsRecords": [ + { + "type": "A", + "ttl": 10 + } + ], + "namespaceId": { + "Fn::GetAtt": [ + "developmentenvironmentclusterDefaultServiceDiscoveryNamespace0F234767", + "Id" + ] + }, + "routingPolicy": "MULTIVALUE" + }, + "healthCheckCustomConfig": { + "failureThreshold": 2 + }, + "name": "name-development", + "namespaceId": { + "Fn::GetAtt": [ + "developmentenvironmentclusterDefaultServiceDiscoveryNamespace0F234767", + "Id" + ] + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + }, + "SecurityGroup": { + "id": "SecurityGroup", + "path": "aws-ecs-integ/name-development-service/SecurityGroup", + "children": { + "Resource": { + "id": "Resource", + "path": "aws-ecs-integ/name-development-service/SecurityGroup/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::SecurityGroup", + "aws:cdk:cloudformation:props": { + "groupDescription": "aws-ecs-integ/name-development-service/SecurityGroup", + "securityGroupEgress": [ + { + "cidrIp": "0.0.0.0/0", + "description": "Allow all outbound traffic by default", + "ipProtocol": "-1" + } + ], + "vpcId": { + "Ref": "developmentenvironmentvpcCB4216A4" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + }, + "name-development-virtual-node": { + "id": "name-development-virtual-node", + "path": "aws-ecs-integ/name-development-virtual-node", + "children": { + "Resource": { + "id": "Resource", + "path": "aws-ecs-integ/name-development-virtual-node/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::AppMesh::VirtualNode", + "aws:cdk:cloudformation:props": { + "meshName": { + "Fn::GetAtt": [ + "developmentmeshCEC28AFE", + "MeshName" + ] + }, + "spec": { + "listeners": [ + { + "portMapping": { + "port": 80, + "protocol": "http" + } + } + ], + "serviceDiscovery": { + "awsCloudMap": { + "namespaceName": "development", + "serviceName": { + "Fn::GetAtt": [ + "namedevelopmentserviceCloudmapService63674467", + "Name" + ] + } + } + } + }, + "virtualNodeName": "name-development" + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + }, + "name-development-virtual-router": { + "id": "name-development-virtual-router", + "path": "aws-ecs-integ/name-development-virtual-router", + "children": { + "Resource": { + "id": "Resource", + "path": "aws-ecs-integ/name-development-virtual-router/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::AppMesh::VirtualRouter", + "aws:cdk:cloudformation:props": { + "meshName": { + "Fn::GetAtt": [ + "developmentmeshCEC28AFE", + "MeshName" + ] + }, + "spec": { + "listeners": [ + { + "portMapping": { + "port": 80, + "protocol": "http" + } + } + ] + }, + "virtualRouterName": "name-development" + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + }, + "name-development-route": { + "id": "name-development-route", + "path": "aws-ecs-integ/name-development-virtual-router/name-development-route", + "children": { + "Resource": { + "id": "Resource", + "path": "aws-ecs-integ/name-development-virtual-router/name-development-route/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::AppMesh::Route", + "aws:cdk:cloudformation:props": { + "meshName": { + "Fn::GetAtt": [ + "developmentmeshCEC28AFE", + "MeshName" + ] + }, + "spec": { + "httpRoute": { + "action": { + "weightedTargets": [ + { + "virtualNode": { + "Fn::GetAtt": [ + "namedevelopmentvirtualnode55118E80", + "VirtualNodeName" + ] + }, + "weight": 1 + } + ] + }, + "match": { + "prefix": "/" + } + } + }, + "virtualRouterName": { + "Fn::GetAtt": [ + "namedevelopmentvirtualrouter0AE5105D", + "VirtualRouterName" + ] + }, + "routeName": "name-development-route" + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + }, + "name-development-virtual-service": { + "id": "name-development-virtual-service", + "path": "aws-ecs-integ/name-development-virtual-service", + "children": { + "Resource": { + "id": "Resource", + "path": "aws-ecs-integ/name-development-virtual-service/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::AppMesh::VirtualService", + "aws:cdk:cloudformation:props": { + "meshName": { + "Fn::GetAtt": [ + "developmentmeshCEC28AFE", + "MeshName" + ] + }, + "spec": { + "provider": { + "virtualRouter": { + "virtualRouterName": { + "Fn::GetAtt": [ + "namedevelopmentvirtualrouter0AE5105D", + "VirtualRouterName" + ] + } + } + } + }, + "virtualServiceName": "name-development.development" + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Stack", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.App", + "version": "0.0.0" + } + } +} \ No newline at end of file diff --git a/packages/@aws-cdk-containers/ecs-service-extensions/test/publish-subscribe.integ.snapshot/asset.a820140ad8525b8ed56ad2a7bcd9da99d6afc2490e8c91e34620886c011bdc91/index.py b/packages/@aws-cdk-containers/ecs-service-extensions/test/publish-subscribe.integ.snapshot/asset.a820140ad8525b8ed56ad2a7bcd9da99d6afc2490e8c91e34620886c011bdc91/index.py new file mode 100644 index 0000000000000..d24454171e478 --- /dev/null +++ b/packages/@aws-cdk-containers/ecs-service-extensions/test/publish-subscribe.integ.snapshot/asset.a820140ad8525b8ed56ad2a7bcd9da99d6afc2490e8c91e34620886c011bdc91/index.py @@ -0,0 +1,15 @@ +import os +import boto3 +from queue_backlog_calculator import QueueHandler + +def queue_handler(event, context): + """ + Handler for the lambda trigger + """ + + ecs = boto3.client('ecs') + sqs = boto3.client('sqs') + + queue_handler = QueueHandler(ecs_client=ecs, sqs_client=sqs, environ=os.environ) + + return queue_handler.emit() diff --git a/packages/@aws-cdk-containers/ecs-service-extensions/test/publish-subscribe.integ.snapshot/asset.a820140ad8525b8ed56ad2a7bcd9da99d6afc2490e8c91e34620886c011bdc91/queue_backlog_calculator.py b/packages/@aws-cdk-containers/ecs-service-extensions/test/publish-subscribe.integ.snapshot/asset.a820140ad8525b8ed56ad2a7bcd9da99d6afc2490e8c91e34620886c011bdc91/queue_backlog_calculator.py new file mode 100644 index 0000000000000..5f14d74a76bd2 --- /dev/null +++ b/packages/@aws-cdk-containers/ecs-service-extensions/test/publish-subscribe.integ.snapshot/asset.a820140ad8525b8ed56ad2a7bcd9da99d6afc2490e8c91e34620886c011bdc91/queue_backlog_calculator.py @@ -0,0 +1,71 @@ +from math import ceil +import time +import json + +class QueueHandler: + def __init__(self, ecs_client, sqs_client, environ): + self.ecs = ecs_client + self.sqs = sqs_client + self.cluster_name = environ['CLUSTER_NAME'] + self.service_name = environ['SERVICE_NAME'] + self.namespace = environ['NAMESPACE'] + self.queue_names = environ['QUEUE_NAMES'].split(',') + + def emit(self): + try: + running_count = self.get_running_task_count() + backlogs = [self.get_queue_backlog(queue_name, running_count) for queue_name in self.queue_names] + self.timestamp = int(time.time() * 1000) + for backlog in backlogs: + self.emit_backlog_per_task_metric(backlog['queueName'], backlog['backlogPerTask']) + except Exception as e: + Exception('Exception: {}'.format(e)) + + """ + Write the backlogPerTask metric to the stdout according to the Cloudwatch embedded metric format. + """ + def emit_backlog_per_task_metric(self, queue_name, backlog_per_task): + print(json.dumps({ + "_aws": { + "Timestamp": self.timestamp, + "CloudWatchMetrics": [{ + "Namespace": self.namespace, + "Dimensions": [["QueueName"]], + "Metrics": [{"Name":"BacklogPerTask", "Unit": "Count"}] + }], + }, + "QueueName": queue_name, + "BacklogPerTask": backlog_per_task, + })) + + """ + Get the number of tasks in the 'RUNNING' state for the service 'service_name'. + """ + def get_running_task_count(self): + service_desc = self.ecs.describe_services( + cluster=self.cluster_name, + services=[self.service_name], + ) + if len(service_desc['services']) == 0: + raise Exception('There are no services with name {} in cluster: {}'.format(self.service_name, self.cluster_name)) + return service_desc['services'][0].get('runningCount', 0) + + """ + This method calculates and returns the backlogPerTask metric for the given queue. + """ + def get_queue_backlog(self, queue_name, count): + queue_url = self.sqs.get_queue_url(QueueName=queue_name) + running_count = 1 if count == 0 else count + + def get_backlog_per_task(): + queue_attributes = self.sqs.get_queue_attributes( + QueueUrl=queue_url['QueueUrl'], + AttributeNames=['ApproximateNumberOfMessages'] + ) + num_of_msgs = int(queue_attributes['Attributes'].get('ApproximateNumberOfMessages', 0)) + return ceil(num_of_msgs/running_count) + + return { + 'queueName': queue_name, + 'backlogPerTask': get_backlog_per_task() + } \ No newline at end of file diff --git a/packages/@aws-cdk-containers/ecs-service-extensions/test/publish-subscribe.integ.snapshot/aws-ecs-integ.template.json b/packages/@aws-cdk-containers/ecs-service-extensions/test/publish-subscribe.integ.snapshot/aws-ecs-integ.template.json new file mode 100644 index 0000000000000..61f2c1286c0b2 --- /dev/null +++ b/packages/@aws-cdk-containers/ecs-service-extensions/test/publish-subscribe.integ.snapshot/aws-ecs-integ.template.json @@ -0,0 +1,1205 @@ +{ + "Resources": { + "productionenvironmentvpcAEB47DF7": { + "Type": "AWS::EC2::VPC", + "Properties": { + "CidrBlock": "10.0.0.0/16", + "EnableDnsHostnames": true, + "EnableDnsSupport": true, + "InstanceTenancy": "default", + "Tags": [ + { + "Key": "Name", + "Value": "aws-ecs-integ/production-environment-vpc" + } + ] + } + }, + "productionenvironmentvpcPublicSubnet1Subnet8D92C089": { + "Type": "AWS::EC2::Subnet", + "Properties": { + "VpcId": { + "Ref": "productionenvironmentvpcAEB47DF7" + }, + "AvailabilityZone": { + "Fn::Select": [ + 0, + { + "Fn::GetAZs": "" + } + ] + }, + "CidrBlock": "10.0.0.0/18", + "MapPublicIpOnLaunch": true, + "Tags": [ + { + "Key": "aws-cdk:subnet-name", + "Value": "Public" + }, + { + "Key": "aws-cdk:subnet-type", + "Value": "Public" + }, + { + "Key": "Name", + "Value": "aws-ecs-integ/production-environment-vpc/PublicSubnet1" + } + ] + } + }, + "productionenvironmentvpcPublicSubnet1RouteTable6E9ABC21": { + "Type": "AWS::EC2::RouteTable", + "Properties": { + "VpcId": { + "Ref": "productionenvironmentvpcAEB47DF7" + }, + "Tags": [ + { + "Key": "Name", + "Value": "aws-ecs-integ/production-environment-vpc/PublicSubnet1" + } + ] + } + }, + "productionenvironmentvpcPublicSubnet1RouteTableAssociationA8117374": { + "Type": "AWS::EC2::SubnetRouteTableAssociation", + "Properties": { + "RouteTableId": { + "Ref": "productionenvironmentvpcPublicSubnet1RouteTable6E9ABC21" + }, + "SubnetId": { + "Ref": "productionenvironmentvpcPublicSubnet1Subnet8D92C089" + } + } + }, + "productionenvironmentvpcPublicSubnet1DefaultRoute524C894D": { + "Type": "AWS::EC2::Route", + "Properties": { + "RouteTableId": { + "Ref": "productionenvironmentvpcPublicSubnet1RouteTable6E9ABC21" + }, + "DestinationCidrBlock": "0.0.0.0/0", + "GatewayId": { + "Ref": "productionenvironmentvpcIGWE7C39890" + } + }, + "DependsOn": [ + "productionenvironmentvpcVPCGW1B428D07" + ] + }, + "productionenvironmentvpcPublicSubnet1EIP54BA88DB": { + "Type": "AWS::EC2::EIP", + "Properties": { + "Domain": "vpc", + "Tags": [ + { + "Key": "Name", + "Value": "aws-ecs-integ/production-environment-vpc/PublicSubnet1" + } + ] + } + }, + "productionenvironmentvpcPublicSubnet1NATGateway6075E4CA": { + "Type": "AWS::EC2::NatGateway", + "Properties": { + "SubnetId": { + "Ref": "productionenvironmentvpcPublicSubnet1Subnet8D92C089" + }, + "AllocationId": { + "Fn::GetAtt": [ + "productionenvironmentvpcPublicSubnet1EIP54BA88DB", + "AllocationId" + ] + }, + "Tags": [ + { + "Key": "Name", + "Value": "aws-ecs-integ/production-environment-vpc/PublicSubnet1" + } + ] + } + }, + "productionenvironmentvpcPublicSubnet2Subnet298E6C31": { + "Type": "AWS::EC2::Subnet", + "Properties": { + "VpcId": { + "Ref": "productionenvironmentvpcAEB47DF7" + }, + "AvailabilityZone": { + "Fn::Select": [ + 1, + { + "Fn::GetAZs": "" + } + ] + }, + "CidrBlock": "10.0.64.0/18", + "MapPublicIpOnLaunch": true, + "Tags": [ + { + "Key": "aws-cdk:subnet-name", + "Value": "Public" + }, + { + "Key": "aws-cdk:subnet-type", + "Value": "Public" + }, + { + "Key": "Name", + "Value": "aws-ecs-integ/production-environment-vpc/PublicSubnet2" + } + ] + } + }, + "productionenvironmentvpcPublicSubnet2RouteTable842A68D7": { + "Type": "AWS::EC2::RouteTable", + "Properties": { + "VpcId": { + "Ref": "productionenvironmentvpcAEB47DF7" + }, + "Tags": [ + { + "Key": "Name", + "Value": "aws-ecs-integ/production-environment-vpc/PublicSubnet2" + } + ] + } + }, + "productionenvironmentvpcPublicSubnet2RouteTableAssociation0A7549F3": { + "Type": "AWS::EC2::SubnetRouteTableAssociation", + "Properties": { + "RouteTableId": { + "Ref": "productionenvironmentvpcPublicSubnet2RouteTable842A68D7" + }, + "SubnetId": { + "Ref": "productionenvironmentvpcPublicSubnet2Subnet298E6C31" + } + } + }, + "productionenvironmentvpcPublicSubnet2DefaultRoute92CD697D": { + "Type": "AWS::EC2::Route", + "Properties": { + "RouteTableId": { + "Ref": "productionenvironmentvpcPublicSubnet2RouteTable842A68D7" + }, + "DestinationCidrBlock": "0.0.0.0/0", + "GatewayId": { + "Ref": "productionenvironmentvpcIGWE7C39890" + } + }, + "DependsOn": [ + "productionenvironmentvpcVPCGW1B428D07" + ] + }, + "productionenvironmentvpcPublicSubnet2EIP14CA46AA": { + "Type": "AWS::EC2::EIP", + "Properties": { + "Domain": "vpc", + "Tags": [ + { + "Key": "Name", + "Value": "aws-ecs-integ/production-environment-vpc/PublicSubnet2" + } + ] + } + }, + "productionenvironmentvpcPublicSubnet2NATGatewayE1850FCC": { + "Type": "AWS::EC2::NatGateway", + "Properties": { + "SubnetId": { + "Ref": "productionenvironmentvpcPublicSubnet2Subnet298E6C31" + }, + "AllocationId": { + "Fn::GetAtt": [ + "productionenvironmentvpcPublicSubnet2EIP14CA46AA", + "AllocationId" + ] + }, + "Tags": [ + { + "Key": "Name", + "Value": "aws-ecs-integ/production-environment-vpc/PublicSubnet2" + } + ] + } + }, + "productionenvironmentvpcPrivateSubnet1Subnet53F632E6": { + "Type": "AWS::EC2::Subnet", + "Properties": { + "VpcId": { + "Ref": "productionenvironmentvpcAEB47DF7" + }, + "AvailabilityZone": { + "Fn::Select": [ + 0, + { + "Fn::GetAZs": "" + } + ] + }, + "CidrBlock": "10.0.128.0/18", + "MapPublicIpOnLaunch": false, + "Tags": [ + { + "Key": "aws-cdk:subnet-name", + "Value": "Private" + }, + { + "Key": "aws-cdk:subnet-type", + "Value": "Private" + }, + { + "Key": "Name", + "Value": "aws-ecs-integ/production-environment-vpc/PrivateSubnet1" + } + ] + } + }, + "productionenvironmentvpcPrivateSubnet1RouteTable2C6DFF0C": { + "Type": "AWS::EC2::RouteTable", + "Properties": { + "VpcId": { + "Ref": "productionenvironmentvpcAEB47DF7" + }, + "Tags": [ + { + "Key": "Name", + "Value": "aws-ecs-integ/production-environment-vpc/PrivateSubnet1" + } + ] + } + }, + "productionenvironmentvpcPrivateSubnet1RouteTableAssociation8BA32463": { + "Type": "AWS::EC2::SubnetRouteTableAssociation", + "Properties": { + "RouteTableId": { + "Ref": "productionenvironmentvpcPrivateSubnet1RouteTable2C6DFF0C" + }, + "SubnetId": { + "Ref": "productionenvironmentvpcPrivateSubnet1Subnet53F632E6" + } + } + }, + "productionenvironmentvpcPrivateSubnet1DefaultRouteFBB3DE6C": { + "Type": "AWS::EC2::Route", + "Properties": { + "RouteTableId": { + "Ref": "productionenvironmentvpcPrivateSubnet1RouteTable2C6DFF0C" + }, + "DestinationCidrBlock": "0.0.0.0/0", + "NatGatewayId": { + "Ref": "productionenvironmentvpcPublicSubnet1NATGateway6075E4CA" + } + } + }, + "productionenvironmentvpcPrivateSubnet2Subnet756FB93C": { + "Type": "AWS::EC2::Subnet", + "Properties": { + "VpcId": { + "Ref": "productionenvironmentvpcAEB47DF7" + }, + "AvailabilityZone": { + "Fn::Select": [ + 1, + { + "Fn::GetAZs": "" + } + ] + }, + "CidrBlock": "10.0.192.0/18", + "MapPublicIpOnLaunch": false, + "Tags": [ + { + "Key": "aws-cdk:subnet-name", + "Value": "Private" + }, + { + "Key": "aws-cdk:subnet-type", + "Value": "Private" + }, + { + "Key": "Name", + "Value": "aws-ecs-integ/production-environment-vpc/PrivateSubnet2" + } + ] + } + }, + "productionenvironmentvpcPrivateSubnet2RouteTable2F77D0D2": { + "Type": "AWS::EC2::RouteTable", + "Properties": { + "VpcId": { + "Ref": "productionenvironmentvpcAEB47DF7" + }, + "Tags": [ + { + "Key": "Name", + "Value": "aws-ecs-integ/production-environment-vpc/PrivateSubnet2" + } + ] + } + }, + "productionenvironmentvpcPrivateSubnet2RouteTableAssociation09188261": { + "Type": "AWS::EC2::SubnetRouteTableAssociation", + "Properties": { + "RouteTableId": { + "Ref": "productionenvironmentvpcPrivateSubnet2RouteTable2F77D0D2" + }, + "SubnetId": { + "Ref": "productionenvironmentvpcPrivateSubnet2Subnet756FB93C" + } + } + }, + "productionenvironmentvpcPrivateSubnet2DefaultRoute5F9AB6C1": { + "Type": "AWS::EC2::Route", + "Properties": { + "RouteTableId": { + "Ref": "productionenvironmentvpcPrivateSubnet2RouteTable2F77D0D2" + }, + "DestinationCidrBlock": "0.0.0.0/0", + "NatGatewayId": { + "Ref": "productionenvironmentvpcPublicSubnet2NATGatewayE1850FCC" + } + } + }, + "productionenvironmentvpcIGWE7C39890": { + "Type": "AWS::EC2::InternetGateway", + "Properties": { + "Tags": [ + { + "Key": "Name", + "Value": "aws-ecs-integ/production-environment-vpc" + } + ] + } + }, + "productionenvironmentvpcVPCGW1B428D07": { + "Type": "AWS::EC2::VPCGatewayAttachment", + "Properties": { + "VpcId": { + "Ref": "productionenvironmentvpcAEB47DF7" + }, + "InternetGatewayId": { + "Ref": "productionenvironmentvpcIGWE7C39890" + } + } + }, + "productionenvironmentclusterC6599D2D": { + "Type": "AWS::ECS::Cluster" + }, + "signupD2AAA171": { + "Type": "AWS::SNS::Topic" + }, + "delete1CCE71FF": { + "Type": "AWS::SNS::Topic" + }, + "PublishertaskdefinitionTaskRoleE8655AA5": { + "Type": "AWS::IAM::Role", + "Properties": { + "AssumeRolePolicyDocument": { + "Statement": [ + { + "Action": "sts:AssumeRole", + "Effect": "Allow", + "Principal": { + "Service": "ecs-tasks.amazonaws.com" + } + } + ], + "Version": "2012-10-17" + } + } + }, + "PublishertaskdefinitionTaskRoleDefaultPolicyD6E49F15": { + "Type": "AWS::IAM::Policy", + "Properties": { + "PolicyDocument": { + "Statement": [ + { + "Action": "sns:Publish", + "Effect": "Allow", + "Resource": { + "Ref": "signupD2AAA171" + } + }, + { + "Action": "sns:Publish", + "Effect": "Allow", + "Resource": { + "Ref": "delete1CCE71FF" + } + } + ], + "Version": "2012-10-17" + }, + "PolicyName": "PublishertaskdefinitionTaskRoleDefaultPolicyD6E49F15", + "Roles": [ + { + "Ref": "PublishertaskdefinitionTaskRoleE8655AA5" + } + ] + } + }, + "PublishertaskdefinitionA4324C64": { + "Type": "AWS::ECS::TaskDefinition", + "Properties": { + "ContainerDefinitions": [ + { + "Cpu": 256, + "Environment": [ + { + "Name": "PORT", + "Value": "80" + }, + { + "Name": "SIGN-UP_TOPIC_ARN", + "Value": { + "Ref": "signupD2AAA171" + } + }, + { + "Name": "DELETE_TOPIC_ARN", + "Value": { + "Ref": "delete1CCE71FF" + } + } + ], + "Essential": true, + "Image": "nathanpeck/name", + "Memory": 512, + "Name": "app", + "PortMappings": [ + { + "ContainerPort": 80, + "Protocol": "tcp" + } + ], + "Ulimits": [ + { + "HardLimit": 1024000, + "Name": "nofile", + "SoftLimit": 1024000 + } + ] + } + ], + "Cpu": "256", + "Family": "awsecsintegPublishertaskdefinitionD50610D0", + "Memory": "512", + "NetworkMode": "awsvpc", + "RequiresCompatibilities": [ + "EC2", + "FARGATE" + ], + "TaskRoleArn": { + "Fn::GetAtt": [ + "PublishertaskdefinitionTaskRoleE8655AA5", + "Arn" + ] + } + } + }, + "PublisherserviceService9EB00F60": { + "Type": "AWS::ECS::Service", + "Properties": { + "Cluster": { + "Ref": "productionenvironmentclusterC6599D2D" + }, + "DeploymentConfiguration": { + "MaximumPercent": 200, + "MinimumHealthyPercent": 100 + }, + "DesiredCount": 1, + "EnableECSManagedTags": false, + "LaunchType": "FARGATE", + "NetworkConfiguration": { + "AwsvpcConfiguration": { + "AssignPublicIp": "DISABLED", + "SecurityGroups": [ + { + "Fn::GetAtt": [ + "PublisherserviceSecurityGroupC7B0C0D0", + "GroupId" + ] + } + ], + "Subnets": [ + { + "Ref": "productionenvironmentvpcPrivateSubnet1Subnet53F632E6" + }, + { + "Ref": "productionenvironmentvpcPrivateSubnet2Subnet756FB93C" + } + ] + } + }, + "TaskDefinition": { + "Ref": "PublishertaskdefinitionA4324C64" + } + } + }, + "PublisherserviceSecurityGroupC7B0C0D0": { + "Type": "AWS::EC2::SecurityGroup", + "Properties": { + "GroupDescription": "aws-ecs-integ/Publisher-service/SecurityGroup", + "SecurityGroupEgress": [ + { + "CidrIp": "0.0.0.0/0", + "Description": "Allow all outbound traffic by default", + "IpProtocol": "-1" + } + ], + "VpcId": { + "Ref": "productionenvironmentvpcAEB47DF7" + } + } + }, + "signupqueue33AFF2E6": { + "Type": "AWS::SQS::Queue", + "UpdateReplacePolicy": "Delete", + "DeletionPolicy": "Delete" + }, + "signupqueuePolicy185ADC00": { + "Type": "AWS::SQS::QueuePolicy", + "Properties": { + "PolicyDocument": { + "Statement": [ + { + "Action": "sqs:SendMessage", + "Condition": { + "ArnEquals": { + "aws:SourceArn": { + "Ref": "signupD2AAA171" + } + } + }, + "Effect": "Allow", + "Principal": { + "Service": "sns.amazonaws.com" + }, + "Resource": { + "Fn::GetAtt": [ + "signupqueue33AFF2E6", + "Arn" + ] + } + } + ], + "Version": "2012-10-17" + }, + "Queues": [ + { + "Ref": "signupqueue33AFF2E6" + } + ] + } + }, + "signupqueueawsecsintegsignup8DE00B29CE828029": { + "Type": "AWS::SNS::Subscription", + "Properties": { + "Protocol": "sqs", + "TopicArn": { + "Ref": "signupD2AAA171" + }, + "Endpoint": { + "Fn::GetAtt": [ + "signupqueue33AFF2E6", + "Arn" + ] + } + } + }, + "EventsDeadLetterQueue404572C7": { + "Type": "AWS::SQS::Queue", + "Properties": { + "MessageRetentionPeriod": 1209600 + }, + "UpdateReplacePolicy": "Delete", + "DeletionPolicy": "Delete" + }, + "EventsQueueB96EB0D2": { + "Type": "AWS::SQS::Queue", + "Properties": { + "RedrivePolicy": { + "deadLetterTargetArn": { + "Fn::GetAtt": [ + "EventsDeadLetterQueue404572C7", + "Arn" + ] + }, + "maxReceiveCount": 3 + } + }, + "UpdateReplacePolicy": "Delete", + "DeletionPolicy": "Delete" + }, + "EventsQueuePolicyF3E925EC": { + "Type": "AWS::SQS::QueuePolicy", + "Properties": { + "PolicyDocument": { + "Statement": [ + { + "Action": "sqs:SendMessage", + "Condition": { + "ArnEquals": { + "aws:SourceArn": { + "Ref": "delete1CCE71FF" + } + } + }, + "Effect": "Allow", + "Principal": { + "Service": "sns.amazonaws.com" + }, + "Resource": { + "Fn::GetAtt": [ + "EventsQueueB96EB0D2", + "Arn" + ] + } + } + ], + "Version": "2012-10-17" + }, + "Queues": [ + { + "Ref": "EventsQueueB96EB0D2" + } + ] + } + }, + "EventsQueueawsecsintegdeleteF56807768162F4C0": { + "Type": "AWS::SNS::Subscription", + "Properties": { + "Protocol": "sqs", + "TopicArn": { + "Ref": "delete1CCE71FF" + }, + "Endpoint": { + "Fn::GetAtt": [ + "EventsQueueB96EB0D2", + "Arn" + ] + } + } + }, + "WorkertaskdefinitionTaskRole1EBF20D6": { + "Type": "AWS::IAM::Role", + "Properties": { + "AssumeRolePolicyDocument": { + "Statement": [ + { + "Action": "sts:AssumeRole", + "Effect": "Allow", + "Principal": { + "Service": "ecs-tasks.amazonaws.com" + } + } + ], + "Version": "2012-10-17" + } + } + }, + "WorkertaskdefinitionTaskRoleDefaultPolicy45EAFD8C": { + "Type": "AWS::IAM::Policy", + "Properties": { + "PolicyDocument": { + "Statement": [ + { + "Action": [ + "sqs:ReceiveMessage", + "sqs:ChangeMessageVisibility", + "sqs:GetQueueUrl", + "sqs:DeleteMessage", + "sqs:GetQueueAttributes" + ], + "Effect": "Allow", + "Resource": { + "Fn::GetAtt": [ + "EventsQueueB96EB0D2", + "Arn" + ] + } + }, + { + "Action": [ + "sqs:ReceiveMessage", + "sqs:ChangeMessageVisibility", + "sqs:GetQueueUrl", + "sqs:DeleteMessage", + "sqs:GetQueueAttributes" + ], + "Effect": "Allow", + "Resource": { + "Fn::GetAtt": [ + "signupqueue33AFF2E6", + "Arn" + ] + } + } + ], + "Version": "2012-10-17" + }, + "PolicyName": "WorkertaskdefinitionTaskRoleDefaultPolicy45EAFD8C", + "Roles": [ + { + "Ref": "WorkertaskdefinitionTaskRole1EBF20D6" + } + ] + } + }, + "WorkertaskdefinitionBF93A675": { + "Type": "AWS::ECS::TaskDefinition", + "Properties": { + "ContainerDefinitions": [ + { + "Cpu": 256, + "Environment": [ + { + "Name": "PORT", + "Value": "80" + }, + { + "Name": "WORKER_QUEUE_URI", + "Value": { + "Ref": "EventsQueueB96EB0D2" + } + } + ], + "Essential": true, + "Image": "nathanpeck/name", + "Memory": 512, + "Name": "app", + "PortMappings": [ + { + "ContainerPort": 80, + "Protocol": "tcp" + } + ], + "Ulimits": [ + { + "HardLimit": 1024000, + "Name": "nofile", + "SoftLimit": 1024000 + } + ] + } + ], + "Cpu": "256", + "Family": "awsecsintegWorkertaskdefinition32B60762", + "Memory": "512", + "NetworkMode": "awsvpc", + "RequiresCompatibilities": [ + "EC2", + "FARGATE" + ], + "TaskRoleArn": { + "Fn::GetAtt": [ + "WorkertaskdefinitionTaskRole1EBF20D6", + "Arn" + ] + } + } + }, + "WorkerserviceService68C5A5C3": { + "Type": "AWS::ECS::Service", + "Properties": { + "Cluster": { + "Ref": "productionenvironmentclusterC6599D2D" + }, + "DeploymentConfiguration": { + "MaximumPercent": 200, + "MinimumHealthyPercent": 100 + }, + "EnableECSManagedTags": false, + "LaunchType": "FARGATE", + "NetworkConfiguration": { + "AwsvpcConfiguration": { + "AssignPublicIp": "DISABLED", + "SecurityGroups": [ + { + "Fn::GetAtt": [ + "WorkerserviceSecurityGroup1CDDB904", + "GroupId" + ] + } + ], + "Subnets": [ + { + "Ref": "productionenvironmentvpcPrivateSubnet1Subnet53F632E6" + }, + { + "Ref": "productionenvironmentvpcPrivateSubnet2Subnet756FB93C" + } + ] + } + }, + "TaskDefinition": { + "Ref": "WorkertaskdefinitionBF93A675" + } + } + }, + "WorkerserviceSecurityGroup1CDDB904": { + "Type": "AWS::EC2::SecurityGroup", + "Properties": { + "GroupDescription": "aws-ecs-integ/Worker-service/SecurityGroup", + "SecurityGroupEgress": [ + { + "CidrIp": "0.0.0.0/0", + "Description": "Allow all outbound traffic by default", + "IpProtocol": "-1" + } + ], + "VpcId": { + "Ref": "productionenvironmentvpcAEB47DF7" + } + } + }, + "WorkerserviceTaskCountTarget6636D808": { + "Type": "AWS::ApplicationAutoScaling::ScalableTarget", + "Properties": { + "MaxCapacity": 10, + "MinCapacity": 1, + "ResourceId": { + "Fn::Join": [ + "", + [ + "service/", + { + "Ref": "productionenvironmentclusterC6599D2D" + }, + "/", + { + "Fn::GetAtt": [ + "WorkerserviceService68C5A5C3", + "Name" + ] + } + ] + ] + }, + "RoleARN": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::", + { + "Ref": "AWS::AccountId" + }, + ":role/aws-service-role/ecs.application-autoscaling.amazonaws.com/AWSServiceRoleForApplicationAutoScaling_ECSService" + ] + ] + }, + "ScalableDimension": "ecs:service:DesiredCount", + "ServiceNamespace": "ecs" + } + }, + "WorkerserviceTaskCountTargetEventsQueueautoscalingpolicyD12B62ED": { + "Type": "AWS::ApplicationAutoScaling::ScalingPolicy", + "Properties": { + "PolicyName": "awsecsintegWorkerserviceTaskCountTargetEventsQueueautoscalingpolicyDBD40B57", + "PolicyType": "TargetTrackingScaling", + "ScalingTargetId": { + "Ref": "WorkerserviceTaskCountTarget6636D808" + }, + "TargetTrackingScalingPolicyConfiguration": { + "CustomizedMetricSpecification": { + "Dimensions": [ + { + "Name": "QueueName", + "Value": { + "Fn::GetAtt": [ + "EventsQueueB96EB0D2", + "QueueName" + ] + } + } + ], + "MetricName": "BacklogPerTask", + "Namespace": "production-Worker", + "Statistic": "Average", + "Unit": "Count" + }, + "TargetValue": 15 + } + } + }, + "WorkerserviceTaskCountTargetsignupqueueautoscalingpolicyB7321DB7": { + "Type": "AWS::ApplicationAutoScaling::ScalingPolicy", + "Properties": { + "PolicyName": "awsecsintegWorkerserviceTaskCountTargetsignupqueueautoscalingpolicyDF93FC37", + "PolicyType": "TargetTrackingScaling", + "ScalingTargetId": { + "Ref": "WorkerserviceTaskCountTarget6636D808" + }, + "TargetTrackingScalingPolicyConfiguration": { + "CustomizedMetricSpecification": { + "Dimensions": [ + { + "Name": "QueueName", + "Value": { + "Fn::GetAtt": [ + "signupqueue33AFF2E6", + "QueueName" + ] + } + } + ], + "MetricName": "BacklogPerTask", + "Namespace": "production-Worker", + "Statistic": "Average", + "Unit": "Count" + }, + "TargetValue": 30 + } + } + }, + "BackLogPerTaskCalculatorFunctionServiceRoleEFA723A4": { + "Type": "AWS::IAM::Role", + "Properties": { + "AssumeRolePolicyDocument": { + "Statement": [ + { + "Action": "sts:AssumeRole", + "Effect": "Allow", + "Principal": { + "Service": "lambda.amazonaws.com" + } + } + ], + "Version": "2012-10-17" + }, + "ManagedPolicyArns": [ + { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole" + ] + ] + } + ] + } + }, + "BackLogPerTaskCalculatorFunctionServiceRoleDefaultPolicyB6B10266": { + "Type": "AWS::IAM::Policy", + "Properties": { + "PolicyDocument": { + "Statement": [ + { + "Action": "ecs:DescribeServices", + "Condition": { + "ArnEquals": { + "ecs:cluster": { + "Fn::GetAtt": [ + "productionenvironmentclusterC6599D2D", + "Arn" + ] + } + } + }, + "Effect": "Allow", + "Resource": { + "Ref": "WorkerserviceService68C5A5C3" + } + }, + { + "Action": [ + "sqs:GetQueueAttributes", + "sqs:GetQueueUrl" + ], + "Effect": "Allow", + "Resource": [ + { + "Fn::GetAtt": [ + "EventsQueueB96EB0D2", + "Arn" + ] + }, + { + "Fn::GetAtt": [ + "signupqueue33AFF2E6", + "Arn" + ] + } + ] + } + ], + "Version": "2012-10-17" + }, + "PolicyName": "BackLogPerTaskCalculatorFunctionServiceRoleDefaultPolicyB6B10266", + "Roles": [ + { + "Ref": "BackLogPerTaskCalculatorFunctionServiceRoleEFA723A4" + } + ] + } + }, + "BackLogPerTaskCalculatorFunction95AA21D5": { + "Type": "AWS::Lambda::Function", + "Properties": { + "Code": { + "S3Bucket": { + "Ref": "AssetParametersa820140ad8525b8ed56ad2a7bcd9da99d6afc2490e8c91e34620886c011bdc91S3Bucket1FFDEA8D" + }, + "S3Key": { + "Fn::Join": [ + "", + [ + { + "Fn::Select": [ + 0, + { + "Fn::Split": [ + "||", + { + "Ref": "AssetParametersa820140ad8525b8ed56ad2a7bcd9da99d6afc2490e8c91e34620886c011bdc91S3VersionKeyA60C027B" + } + ] + } + ] + }, + { + "Fn::Select": [ + 1, + { + "Fn::Split": [ + "||", + { + "Ref": "AssetParametersa820140ad8525b8ed56ad2a7bcd9da99d6afc2490e8c91e34620886c011bdc91S3VersionKeyA60C027B" + } + ] + } + ] + } + ] + ] + } + }, + "Role": { + "Fn::GetAtt": [ + "BackLogPerTaskCalculatorFunctionServiceRoleEFA723A4", + "Arn" + ] + }, + "Environment": { + "Variables": { + "CLUSTER_NAME": { + "Ref": "productionenvironmentclusterC6599D2D" + }, + "SERVICE_NAME": { + "Fn::GetAtt": [ + "WorkerserviceService68C5A5C3", + "Name" + ] + }, + "NAMESPACE": "production-Worker", + "QUEUE_NAMES": { + "Fn::Join": [ + "", + [ + { + "Fn::GetAtt": [ + "EventsQueueB96EB0D2", + "QueueName" + ] + }, + ",", + { + "Fn::GetAtt": [ + "signupqueue33AFF2E6", + "QueueName" + ] + } + ] + ] + } + } + }, + "Handler": "index.queue_handler", + "Runtime": "python3.9" + }, + "DependsOn": [ + "BackLogPerTaskCalculatorFunctionServiceRoleDefaultPolicyB6B10266", + "BackLogPerTaskCalculatorFunctionServiceRoleEFA723A4" + ] + }, + "BacklogPerTaskScheduledRuleB871DD15": { + "Type": "AWS::Events::Rule", + "Properties": { + "ScheduleExpression": "rate(1 minute)", + "State": "ENABLED", + "Targets": [ + { + "Arn": { + "Fn::GetAtt": [ + "BackLogPerTaskCalculatorFunction95AA21D5", + "Arn" + ] + }, + "Id": "Target0" + } + ] + } + }, + "BacklogPerTaskScheduledRuleAllowEventRuleawsecsintegBackLogPerTaskCalculatorFunctionEB2B91C7CCD725BB": { + "Type": "AWS::Lambda::Permission", + "Properties": { + "Action": "lambda:InvokeFunction", + "FunctionName": { + "Fn::GetAtt": [ + "BackLogPerTaskCalculatorFunction95AA21D5", + "Arn" + ] + }, + "Principal": "events.amazonaws.com", + "SourceArn": { + "Fn::GetAtt": [ + "BacklogPerTaskScheduledRuleB871DD15", + "Arn" + ] + } + } + }, + "WorkerBackLogPerTaskCalculatorLogsA4B5AF42": { + "Type": "AWS::Logs::LogGroup", + "Properties": { + "LogGroupName": { + "Fn::Join": [ + "", + [ + "/aws/lambda/", + { + "Ref": "BackLogPerTaskCalculatorFunction95AA21D5" + } + ] + ] + }, + "RetentionInDays": 3 + }, + "UpdateReplacePolicy": "Delete", + "DeletionPolicy": "Delete" + } + }, + "Parameters": { + "AssetParametersa820140ad8525b8ed56ad2a7bcd9da99d6afc2490e8c91e34620886c011bdc91S3Bucket1FFDEA8D": { + "Type": "String", + "Description": "S3 bucket for asset \"a820140ad8525b8ed56ad2a7bcd9da99d6afc2490e8c91e34620886c011bdc91\"" + }, + "AssetParametersa820140ad8525b8ed56ad2a7bcd9da99d6afc2490e8c91e34620886c011bdc91S3VersionKeyA60C027B": { + "Type": "String", + "Description": "S3 key for asset version \"a820140ad8525b8ed56ad2a7bcd9da99d6afc2490e8c91e34620886c011bdc91\"" + }, + "AssetParametersa820140ad8525b8ed56ad2a7bcd9da99d6afc2490e8c91e34620886c011bdc91ArtifactHashC1953821": { + "Type": "String", + "Description": "Artifact hash for asset \"a820140ad8525b8ed56ad2a7bcd9da99d6afc2490e8c91e34620886c011bdc91\"" + } + } +} \ No newline at end of file diff --git a/packages/@aws-cdk-containers/ecs-service-extensions/test/publish-subscribe.integ.snapshot/cdk.out b/packages/@aws-cdk-containers/ecs-service-extensions/test/publish-subscribe.integ.snapshot/cdk.out new file mode 100644 index 0000000000000..90bef2e09ad39 --- /dev/null +++ b/packages/@aws-cdk-containers/ecs-service-extensions/test/publish-subscribe.integ.snapshot/cdk.out @@ -0,0 +1 @@ +{"version":"17.0.0"} \ No newline at end of file diff --git a/packages/@aws-cdk-containers/ecs-service-extensions/test/publish-subscribe.integ.snapshot/manifest.json b/packages/@aws-cdk-containers/ecs-service-extensions/test/publish-subscribe.integ.snapshot/manifest.json new file mode 100644 index 0000000000000..6aa1b14c5a4ba --- /dev/null +++ b/packages/@aws-cdk-containers/ecs-service-extensions/test/publish-subscribe.integ.snapshot/manifest.json @@ -0,0 +1,367 @@ +{ + "version": "17.0.0", + "artifacts": { + "Tree": { + "type": "cdk:tree", + "properties": { + "file": "tree.json" + }, + "metadata": {} + }, + "aws-ecs-integ": { + "type": "aws:cloudformation:stack", + "environment": "aws://unknown-account/unknown-region", + "properties": { + "templateFile": "aws-ecs-integ.template.json", + "validateOnSynth": false + }, + "metadata": { + "/aws-ecs-integ": [ + { + "type": "aws:cdk:asset", + "data": { + "path": "asset.a820140ad8525b8ed56ad2a7bcd9da99d6afc2490e8c91e34620886c011bdc91", + "id": "a820140ad8525b8ed56ad2a7bcd9da99d6afc2490e8c91e34620886c011bdc91", + "packaging": "zip", + "sourceHash": "a820140ad8525b8ed56ad2a7bcd9da99d6afc2490e8c91e34620886c011bdc91", + "s3BucketParameter": "AssetParametersa820140ad8525b8ed56ad2a7bcd9da99d6afc2490e8c91e34620886c011bdc91S3Bucket1FFDEA8D", + "s3KeyParameter": "AssetParametersa820140ad8525b8ed56ad2a7bcd9da99d6afc2490e8c91e34620886c011bdc91S3VersionKeyA60C027B", + "artifactHashParameter": "AssetParametersa820140ad8525b8ed56ad2a7bcd9da99d6afc2490e8c91e34620886c011bdc91ArtifactHashC1953821" + } + } + ], + "/aws-ecs-integ/production-environment-vpc/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "productionenvironmentvpcAEB47DF7" + } + ], + "/aws-ecs-integ/production-environment-vpc/PublicSubnet1/Subnet": [ + { + "type": "aws:cdk:logicalId", + "data": "productionenvironmentvpcPublicSubnet1Subnet8D92C089" + } + ], + "/aws-ecs-integ/production-environment-vpc/PublicSubnet1/RouteTable": [ + { + "type": "aws:cdk:logicalId", + "data": "productionenvironmentvpcPublicSubnet1RouteTable6E9ABC21" + } + ], + "/aws-ecs-integ/production-environment-vpc/PublicSubnet1/RouteTableAssociation": [ + { + "type": "aws:cdk:logicalId", + "data": "productionenvironmentvpcPublicSubnet1RouteTableAssociationA8117374" + } + ], + "/aws-ecs-integ/production-environment-vpc/PublicSubnet1/DefaultRoute": [ + { + "type": "aws:cdk:logicalId", + "data": "productionenvironmentvpcPublicSubnet1DefaultRoute524C894D" + } + ], + "/aws-ecs-integ/production-environment-vpc/PublicSubnet1/EIP": [ + { + "type": "aws:cdk:logicalId", + "data": "productionenvironmentvpcPublicSubnet1EIP54BA88DB" + } + ], + "/aws-ecs-integ/production-environment-vpc/PublicSubnet1/NATGateway": [ + { + "type": "aws:cdk:logicalId", + "data": "productionenvironmentvpcPublicSubnet1NATGateway6075E4CA" + } + ], + "/aws-ecs-integ/production-environment-vpc/PublicSubnet2/Subnet": [ + { + "type": "aws:cdk:logicalId", + "data": "productionenvironmentvpcPublicSubnet2Subnet298E6C31" + } + ], + "/aws-ecs-integ/production-environment-vpc/PublicSubnet2/RouteTable": [ + { + "type": "aws:cdk:logicalId", + "data": "productionenvironmentvpcPublicSubnet2RouteTable842A68D7" + } + ], + "/aws-ecs-integ/production-environment-vpc/PublicSubnet2/RouteTableAssociation": [ + { + "type": "aws:cdk:logicalId", + "data": "productionenvironmentvpcPublicSubnet2RouteTableAssociation0A7549F3" + } + ], + "/aws-ecs-integ/production-environment-vpc/PublicSubnet2/DefaultRoute": [ + { + "type": "aws:cdk:logicalId", + "data": "productionenvironmentvpcPublicSubnet2DefaultRoute92CD697D" + } + ], + "/aws-ecs-integ/production-environment-vpc/PublicSubnet2/EIP": [ + { + "type": "aws:cdk:logicalId", + "data": "productionenvironmentvpcPublicSubnet2EIP14CA46AA" + } + ], + "/aws-ecs-integ/production-environment-vpc/PublicSubnet2/NATGateway": [ + { + "type": "aws:cdk:logicalId", + "data": "productionenvironmentvpcPublicSubnet2NATGatewayE1850FCC" + } + ], + "/aws-ecs-integ/production-environment-vpc/PrivateSubnet1/Subnet": [ + { + "type": "aws:cdk:logicalId", + "data": "productionenvironmentvpcPrivateSubnet1Subnet53F632E6" + } + ], + "/aws-ecs-integ/production-environment-vpc/PrivateSubnet1/RouteTable": [ + { + "type": "aws:cdk:logicalId", + "data": "productionenvironmentvpcPrivateSubnet1RouteTable2C6DFF0C" + } + ], + "/aws-ecs-integ/production-environment-vpc/PrivateSubnet1/RouteTableAssociation": [ + { + "type": "aws:cdk:logicalId", + "data": "productionenvironmentvpcPrivateSubnet1RouteTableAssociation8BA32463" + } + ], + "/aws-ecs-integ/production-environment-vpc/PrivateSubnet1/DefaultRoute": [ + { + "type": "aws:cdk:logicalId", + "data": "productionenvironmentvpcPrivateSubnet1DefaultRouteFBB3DE6C" + } + ], + "/aws-ecs-integ/production-environment-vpc/PrivateSubnet2/Subnet": [ + { + "type": "aws:cdk:logicalId", + "data": "productionenvironmentvpcPrivateSubnet2Subnet756FB93C" + } + ], + "/aws-ecs-integ/production-environment-vpc/PrivateSubnet2/RouteTable": [ + { + "type": "aws:cdk:logicalId", + "data": "productionenvironmentvpcPrivateSubnet2RouteTable2F77D0D2" + } + ], + "/aws-ecs-integ/production-environment-vpc/PrivateSubnet2/RouteTableAssociation": [ + { + "type": "aws:cdk:logicalId", + "data": "productionenvironmentvpcPrivateSubnet2RouteTableAssociation09188261" + } + ], + "/aws-ecs-integ/production-environment-vpc/PrivateSubnet2/DefaultRoute": [ + { + "type": "aws:cdk:logicalId", + "data": "productionenvironmentvpcPrivateSubnet2DefaultRoute5F9AB6C1" + } + ], + "/aws-ecs-integ/production-environment-vpc/IGW": [ + { + "type": "aws:cdk:logicalId", + "data": "productionenvironmentvpcIGWE7C39890" + } + ], + "/aws-ecs-integ/production-environment-vpc/VPCGW": [ + { + "type": "aws:cdk:logicalId", + "data": "productionenvironmentvpcVPCGW1B428D07" + } + ], + "/aws-ecs-integ/production-environment-cluster/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "productionenvironmentclusterC6599D2D" + } + ], + "/aws-ecs-integ/sign-up/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "signupD2AAA171" + } + ], + "/aws-ecs-integ/delete/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "delete1CCE71FF" + } + ], + "/aws-ecs-integ/Publisher-task-definition/TaskRole/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "PublishertaskdefinitionTaskRoleE8655AA5" + } + ], + "/aws-ecs-integ/Publisher-task-definition/TaskRole/DefaultPolicy/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "PublishertaskdefinitionTaskRoleDefaultPolicyD6E49F15" + } + ], + "/aws-ecs-integ/Publisher-task-definition/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "PublishertaskdefinitionA4324C64" + } + ], + "/aws-ecs-integ/Publisher-service/Service": [ + { + "type": "aws:cdk:logicalId", + "data": "PublisherserviceService9EB00F60" + } + ], + "/aws-ecs-integ/Publisher-service/SecurityGroup/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "PublisherserviceSecurityGroupC7B0C0D0" + } + ], + "/aws-ecs-integ/sign-up-queue/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "signupqueue33AFF2E6" + } + ], + "/aws-ecs-integ/sign-up-queue/Policy/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "signupqueuePolicy185ADC00" + } + ], + "/aws-ecs-integ/sign-up-queue/awsecsintegsignup8DE00B29/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "signupqueueawsecsintegsignup8DE00B29CE828029" + } + ], + "/aws-ecs-integ/EventsDeadLetterQueue/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "EventsDeadLetterQueue404572C7" + } + ], + "/aws-ecs-integ/EventsQueue/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "EventsQueueB96EB0D2" + } + ], + "/aws-ecs-integ/EventsQueue/Policy/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "EventsQueuePolicyF3E925EC" + } + ], + "/aws-ecs-integ/EventsQueue/awsecsintegdeleteF5680776/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "EventsQueueawsecsintegdeleteF56807768162F4C0" + } + ], + "/aws-ecs-integ/Worker-task-definition/TaskRole/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "WorkertaskdefinitionTaskRole1EBF20D6" + } + ], + "/aws-ecs-integ/Worker-task-definition/TaskRole/DefaultPolicy/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "WorkertaskdefinitionTaskRoleDefaultPolicy45EAFD8C" + } + ], + "/aws-ecs-integ/Worker-task-definition/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "WorkertaskdefinitionBF93A675" + } + ], + "/aws-ecs-integ/Worker-service/Service": [ + { + "type": "aws:cdk:logicalId", + "data": "WorkerserviceService68C5A5C3" + } + ], + "/aws-ecs-integ/Worker-service/SecurityGroup/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "WorkerserviceSecurityGroup1CDDB904" + } + ], + "/aws-ecs-integ/Worker-service/TaskCount/Target/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "WorkerserviceTaskCountTarget6636D808" + } + ], + "/aws-ecs-integ/Worker-service/TaskCount/Target/EventsQueue-autoscaling-policy/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "WorkerserviceTaskCountTargetEventsQueueautoscalingpolicyD12B62ED" + } + ], + "/aws-ecs-integ/Worker-service/TaskCount/Target/sign-up-queue-autoscaling-policy/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "WorkerserviceTaskCountTargetsignupqueueautoscalingpolicyB7321DB7" + } + ], + "/aws-ecs-integ/BackLogPerTaskCalculatorFunction/ServiceRole/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "BackLogPerTaskCalculatorFunctionServiceRoleEFA723A4" + } + ], + "/aws-ecs-integ/BackLogPerTaskCalculatorFunction/ServiceRole/DefaultPolicy/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "BackLogPerTaskCalculatorFunctionServiceRoleDefaultPolicyB6B10266" + } + ], + "/aws-ecs-integ/BackLogPerTaskCalculatorFunction/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "BackLogPerTaskCalculatorFunction95AA21D5" + } + ], + "/aws-ecs-integ/AssetParameters/a820140ad8525b8ed56ad2a7bcd9da99d6afc2490e8c91e34620886c011bdc91/S3Bucket": [ + { + "type": "aws:cdk:logicalId", + "data": "AssetParametersa820140ad8525b8ed56ad2a7bcd9da99d6afc2490e8c91e34620886c011bdc91S3Bucket1FFDEA8D" + } + ], + "/aws-ecs-integ/AssetParameters/a820140ad8525b8ed56ad2a7bcd9da99d6afc2490e8c91e34620886c011bdc91/S3VersionKey": [ + { + "type": "aws:cdk:logicalId", + "data": "AssetParametersa820140ad8525b8ed56ad2a7bcd9da99d6afc2490e8c91e34620886c011bdc91S3VersionKeyA60C027B" + } + ], + "/aws-ecs-integ/AssetParameters/a820140ad8525b8ed56ad2a7bcd9da99d6afc2490e8c91e34620886c011bdc91/ArtifactHash": [ + { + "type": "aws:cdk:logicalId", + "data": "AssetParametersa820140ad8525b8ed56ad2a7bcd9da99d6afc2490e8c91e34620886c011bdc91ArtifactHashC1953821" + } + ], + "/aws-ecs-integ/BacklogPerTaskScheduledRule/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "BacklogPerTaskScheduledRuleB871DD15" + } + ], + "/aws-ecs-integ/BacklogPerTaskScheduledRule/AllowEventRuleawsecsintegBackLogPerTaskCalculatorFunctionEB2B91C7": [ + { + "type": "aws:cdk:logicalId", + "data": "BacklogPerTaskScheduledRuleAllowEventRuleawsecsintegBackLogPerTaskCalculatorFunctionEB2B91C7CCD725BB" + } + ], + "/aws-ecs-integ/Worker-BackLogPerTaskCalculatorLogs/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "WorkerBackLogPerTaskCalculatorLogsA4B5AF42" + } + ] + }, + "displayName": "aws-ecs-integ" + } + } +} \ No newline at end of file diff --git a/packages/@aws-cdk-containers/ecs-service-extensions/test/publish-subscribe.integ.snapshot/tree.json b/packages/@aws-cdk-containers/ecs-service-extensions/test/publish-subscribe.integ.snapshot/tree.json new file mode 100644 index 0000000000000..02908f6ad3a95 --- /dev/null +++ b/packages/@aws-cdk-containers/ecs-service-extensions/test/publish-subscribe.integ.snapshot/tree.json @@ -0,0 +1,2110 @@ +{ + "version": "tree-0.1", + "tree": { + "id": "App", + "path": "", + "children": { + "Tree": { + "id": "Tree", + "path": "Tree", + "constructInfo": { + "fqn": "@aws-cdk/core.Construct", + "version": "0.0.0" + } + }, + "aws-ecs-integ": { + "id": "aws-ecs-integ", + "path": "aws-ecs-integ", + "children": { + "production": { + "id": "production", + "path": "aws-ecs-integ/production", + "constructInfo": { + "fqn": "@aws-cdk/core.Construct", + "version": "0.0.0" + } + }, + "production-environment-vpc": { + "id": "production-environment-vpc", + "path": "aws-ecs-integ/production-environment-vpc", + "children": { + "Resource": { + "id": "Resource", + "path": "aws-ecs-integ/production-environment-vpc/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::VPC", + "aws:cdk:cloudformation:props": { + "cidrBlock": "10.0.0.0/16", + "enableDnsHostnames": true, + "enableDnsSupport": true, + "instanceTenancy": "default", + "tags": [ + { + "key": "Name", + "value": "aws-ecs-integ/production-environment-vpc" + } + ] + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + }, + "PublicSubnet1": { + "id": "PublicSubnet1", + "path": "aws-ecs-integ/production-environment-vpc/PublicSubnet1", + "children": { + "Subnet": { + "id": "Subnet", + "path": "aws-ecs-integ/production-environment-vpc/PublicSubnet1/Subnet", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::Subnet", + "aws:cdk:cloudformation:props": { + "vpcId": { + "Ref": "productionenvironmentvpcAEB47DF7" + }, + "availabilityZone": { + "Fn::Select": [ + 0, + { + "Fn::GetAZs": "" + } + ] + }, + "cidrBlock": "10.0.0.0/18", + "mapPublicIpOnLaunch": true, + "tags": [ + { + "key": "aws-cdk:subnet-name", + "value": "Public" + }, + { + "key": "aws-cdk:subnet-type", + "value": "Public" + }, + { + "key": "Name", + "value": "aws-ecs-integ/production-environment-vpc/PublicSubnet1" + } + ] + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + }, + "Acl": { + "id": "Acl", + "path": "aws-ecs-integ/production-environment-vpc/PublicSubnet1/Acl", + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + }, + "RouteTable": { + "id": "RouteTable", + "path": "aws-ecs-integ/production-environment-vpc/PublicSubnet1/RouteTable", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::RouteTable", + "aws:cdk:cloudformation:props": { + "vpcId": { + "Ref": "productionenvironmentvpcAEB47DF7" + }, + "tags": [ + { + "key": "Name", + "value": "aws-ecs-integ/production-environment-vpc/PublicSubnet1" + } + ] + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + }, + "RouteTableAssociation": { + "id": "RouteTableAssociation", + "path": "aws-ecs-integ/production-environment-vpc/PublicSubnet1/RouteTableAssociation", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::SubnetRouteTableAssociation", + "aws:cdk:cloudformation:props": { + "routeTableId": { + "Ref": "productionenvironmentvpcPublicSubnet1RouteTable6E9ABC21" + }, + "subnetId": { + "Ref": "productionenvironmentvpcPublicSubnet1Subnet8D92C089" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + }, + "DefaultRoute": { + "id": "DefaultRoute", + "path": "aws-ecs-integ/production-environment-vpc/PublicSubnet1/DefaultRoute", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::Route", + "aws:cdk:cloudformation:props": { + "routeTableId": { + "Ref": "productionenvironmentvpcPublicSubnet1RouteTable6E9ABC21" + }, + "destinationCidrBlock": "0.0.0.0/0", + "gatewayId": { + "Ref": "productionenvironmentvpcIGWE7C39890" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + }, + "EIP": { + "id": "EIP", + "path": "aws-ecs-integ/production-environment-vpc/PublicSubnet1/EIP", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::EIP", + "aws:cdk:cloudformation:props": { + "domain": "vpc", + "tags": [ + { + "key": "Name", + "value": "aws-ecs-integ/production-environment-vpc/PublicSubnet1" + } + ] + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + }, + "NATGateway": { + "id": "NATGateway", + "path": "aws-ecs-integ/production-environment-vpc/PublicSubnet1/NATGateway", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::NatGateway", + "aws:cdk:cloudformation:props": { + "subnetId": { + "Ref": "productionenvironmentvpcPublicSubnet1Subnet8D92C089" + }, + "allocationId": { + "Fn::GetAtt": [ + "productionenvironmentvpcPublicSubnet1EIP54BA88DB", + "AllocationId" + ] + }, + "tags": [ + { + "key": "Name", + "value": "aws-ecs-integ/production-environment-vpc/PublicSubnet1" + } + ] + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + }, + "PublicSubnet2": { + "id": "PublicSubnet2", + "path": "aws-ecs-integ/production-environment-vpc/PublicSubnet2", + "children": { + "Subnet": { + "id": "Subnet", + "path": "aws-ecs-integ/production-environment-vpc/PublicSubnet2/Subnet", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::Subnet", + "aws:cdk:cloudformation:props": { + "vpcId": { + "Ref": "productionenvironmentvpcAEB47DF7" + }, + "availabilityZone": { + "Fn::Select": [ + 1, + { + "Fn::GetAZs": "" + } + ] + }, + "cidrBlock": "10.0.64.0/18", + "mapPublicIpOnLaunch": true, + "tags": [ + { + "key": "aws-cdk:subnet-name", + "value": "Public" + }, + { + "key": "aws-cdk:subnet-type", + "value": "Public" + }, + { + "key": "Name", + "value": "aws-ecs-integ/production-environment-vpc/PublicSubnet2" + } + ] + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + }, + "Acl": { + "id": "Acl", + "path": "aws-ecs-integ/production-environment-vpc/PublicSubnet2/Acl", + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + }, + "RouteTable": { + "id": "RouteTable", + "path": "aws-ecs-integ/production-environment-vpc/PublicSubnet2/RouteTable", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::RouteTable", + "aws:cdk:cloudformation:props": { + "vpcId": { + "Ref": "productionenvironmentvpcAEB47DF7" + }, + "tags": [ + { + "key": "Name", + "value": "aws-ecs-integ/production-environment-vpc/PublicSubnet2" + } + ] + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + }, + "RouteTableAssociation": { + "id": "RouteTableAssociation", + "path": "aws-ecs-integ/production-environment-vpc/PublicSubnet2/RouteTableAssociation", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::SubnetRouteTableAssociation", + "aws:cdk:cloudformation:props": { + "routeTableId": { + "Ref": "productionenvironmentvpcPublicSubnet2RouteTable842A68D7" + }, + "subnetId": { + "Ref": "productionenvironmentvpcPublicSubnet2Subnet298E6C31" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + }, + "DefaultRoute": { + "id": "DefaultRoute", + "path": "aws-ecs-integ/production-environment-vpc/PublicSubnet2/DefaultRoute", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::Route", + "aws:cdk:cloudformation:props": { + "routeTableId": { + "Ref": "productionenvironmentvpcPublicSubnet2RouteTable842A68D7" + }, + "destinationCidrBlock": "0.0.0.0/0", + "gatewayId": { + "Ref": "productionenvironmentvpcIGWE7C39890" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + }, + "EIP": { + "id": "EIP", + "path": "aws-ecs-integ/production-environment-vpc/PublicSubnet2/EIP", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::EIP", + "aws:cdk:cloudformation:props": { + "domain": "vpc", + "tags": [ + { + "key": "Name", + "value": "aws-ecs-integ/production-environment-vpc/PublicSubnet2" + } + ] + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + }, + "NATGateway": { + "id": "NATGateway", + "path": "aws-ecs-integ/production-environment-vpc/PublicSubnet2/NATGateway", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::NatGateway", + "aws:cdk:cloudformation:props": { + "subnetId": { + "Ref": "productionenvironmentvpcPublicSubnet2Subnet298E6C31" + }, + "allocationId": { + "Fn::GetAtt": [ + "productionenvironmentvpcPublicSubnet2EIP14CA46AA", + "AllocationId" + ] + }, + "tags": [ + { + "key": "Name", + "value": "aws-ecs-integ/production-environment-vpc/PublicSubnet2" + } + ] + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + }, + "PrivateSubnet1": { + "id": "PrivateSubnet1", + "path": "aws-ecs-integ/production-environment-vpc/PrivateSubnet1", + "children": { + "Subnet": { + "id": "Subnet", + "path": "aws-ecs-integ/production-environment-vpc/PrivateSubnet1/Subnet", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::Subnet", + "aws:cdk:cloudformation:props": { + "vpcId": { + "Ref": "productionenvironmentvpcAEB47DF7" + }, + "availabilityZone": { + "Fn::Select": [ + 0, + { + "Fn::GetAZs": "" + } + ] + }, + "cidrBlock": "10.0.128.0/18", + "mapPublicIpOnLaunch": false, + "tags": [ + { + "key": "aws-cdk:subnet-name", + "value": "Private" + }, + { + "key": "aws-cdk:subnet-type", + "value": "Private" + }, + { + "key": "Name", + "value": "aws-ecs-integ/production-environment-vpc/PrivateSubnet1" + } + ] + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + }, + "Acl": { + "id": "Acl", + "path": "aws-ecs-integ/production-environment-vpc/PrivateSubnet1/Acl", + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + }, + "RouteTable": { + "id": "RouteTable", + "path": "aws-ecs-integ/production-environment-vpc/PrivateSubnet1/RouteTable", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::RouteTable", + "aws:cdk:cloudformation:props": { + "vpcId": { + "Ref": "productionenvironmentvpcAEB47DF7" + }, + "tags": [ + { + "key": "Name", + "value": "aws-ecs-integ/production-environment-vpc/PrivateSubnet1" + } + ] + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + }, + "RouteTableAssociation": { + "id": "RouteTableAssociation", + "path": "aws-ecs-integ/production-environment-vpc/PrivateSubnet1/RouteTableAssociation", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::SubnetRouteTableAssociation", + "aws:cdk:cloudformation:props": { + "routeTableId": { + "Ref": "productionenvironmentvpcPrivateSubnet1RouteTable2C6DFF0C" + }, + "subnetId": { + "Ref": "productionenvironmentvpcPrivateSubnet1Subnet53F632E6" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + }, + "DefaultRoute": { + "id": "DefaultRoute", + "path": "aws-ecs-integ/production-environment-vpc/PrivateSubnet1/DefaultRoute", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::Route", + "aws:cdk:cloudformation:props": { + "routeTableId": { + "Ref": "productionenvironmentvpcPrivateSubnet1RouteTable2C6DFF0C" + }, + "destinationCidrBlock": "0.0.0.0/0", + "natGatewayId": { + "Ref": "productionenvironmentvpcPublicSubnet1NATGateway6075E4CA" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + }, + "PrivateSubnet2": { + "id": "PrivateSubnet2", + "path": "aws-ecs-integ/production-environment-vpc/PrivateSubnet2", + "children": { + "Subnet": { + "id": "Subnet", + "path": "aws-ecs-integ/production-environment-vpc/PrivateSubnet2/Subnet", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::Subnet", + "aws:cdk:cloudformation:props": { + "vpcId": { + "Ref": "productionenvironmentvpcAEB47DF7" + }, + "availabilityZone": { + "Fn::Select": [ + 1, + { + "Fn::GetAZs": "" + } + ] + }, + "cidrBlock": "10.0.192.0/18", + "mapPublicIpOnLaunch": false, + "tags": [ + { + "key": "aws-cdk:subnet-name", + "value": "Private" + }, + { + "key": "aws-cdk:subnet-type", + "value": "Private" + }, + { + "key": "Name", + "value": "aws-ecs-integ/production-environment-vpc/PrivateSubnet2" + } + ] + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + }, + "Acl": { + "id": "Acl", + "path": "aws-ecs-integ/production-environment-vpc/PrivateSubnet2/Acl", + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + }, + "RouteTable": { + "id": "RouteTable", + "path": "aws-ecs-integ/production-environment-vpc/PrivateSubnet2/RouteTable", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::RouteTable", + "aws:cdk:cloudformation:props": { + "vpcId": { + "Ref": "productionenvironmentvpcAEB47DF7" + }, + "tags": [ + { + "key": "Name", + "value": "aws-ecs-integ/production-environment-vpc/PrivateSubnet2" + } + ] + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + }, + "RouteTableAssociation": { + "id": "RouteTableAssociation", + "path": "aws-ecs-integ/production-environment-vpc/PrivateSubnet2/RouteTableAssociation", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::SubnetRouteTableAssociation", + "aws:cdk:cloudformation:props": { + "routeTableId": { + "Ref": "productionenvironmentvpcPrivateSubnet2RouteTable2F77D0D2" + }, + "subnetId": { + "Ref": "productionenvironmentvpcPrivateSubnet2Subnet756FB93C" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + }, + "DefaultRoute": { + "id": "DefaultRoute", + "path": "aws-ecs-integ/production-environment-vpc/PrivateSubnet2/DefaultRoute", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::Route", + "aws:cdk:cloudformation:props": { + "routeTableId": { + "Ref": "productionenvironmentvpcPrivateSubnet2RouteTable2F77D0D2" + }, + "destinationCidrBlock": "0.0.0.0/0", + "natGatewayId": { + "Ref": "productionenvironmentvpcPublicSubnet2NATGatewayE1850FCC" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + }, + "IGW": { + "id": "IGW", + "path": "aws-ecs-integ/production-environment-vpc/IGW", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::InternetGateway", + "aws:cdk:cloudformation:props": { + "tags": [ + { + "key": "Name", + "value": "aws-ecs-integ/production-environment-vpc" + } + ] + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + }, + "VPCGW": { + "id": "VPCGW", + "path": "aws-ecs-integ/production-environment-vpc/VPCGW", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::VPCGatewayAttachment", + "aws:cdk:cloudformation:props": { + "vpcId": { + "Ref": "productionenvironmentvpcAEB47DF7" + }, + "internetGatewayId": { + "Ref": "productionenvironmentvpcIGWE7C39890" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + }, + "production-environment-cluster": { + "id": "production-environment-cluster", + "path": "aws-ecs-integ/production-environment-cluster", + "children": { + "Resource": { + "id": "Resource", + "path": "aws-ecs-integ/production-environment-cluster/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::ECS::Cluster", + "aws:cdk:cloudformation:props": {} + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + }, + "sign-up": { + "id": "sign-up", + "path": "aws-ecs-integ/sign-up", + "children": { + "Resource": { + "id": "Resource", + "path": "aws-ecs-integ/sign-up/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::SNS::Topic", + "aws:cdk:cloudformation:props": {} + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + }, + "delete": { + "id": "delete", + "path": "aws-ecs-integ/delete", + "children": { + "Resource": { + "id": "Resource", + "path": "aws-ecs-integ/delete/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::SNS::Topic", + "aws:cdk:cloudformation:props": {} + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + }, + "Publisher": { + "id": "Publisher", + "path": "aws-ecs-integ/Publisher", + "constructInfo": { + "fqn": "@aws-cdk/core.Construct", + "version": "0.0.0" + } + }, + "Publisher-task-definition": { + "id": "Publisher-task-definition", + "path": "aws-ecs-integ/Publisher-task-definition", + "children": { + "TaskRole": { + "id": "TaskRole", + "path": "aws-ecs-integ/Publisher-task-definition/TaskRole", + "children": { + "Resource": { + "id": "Resource", + "path": "aws-ecs-integ/Publisher-task-definition/TaskRole/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::IAM::Role", + "aws:cdk:cloudformation:props": { + "assumeRolePolicyDocument": { + "Statement": [ + { + "Action": "sts:AssumeRole", + "Effect": "Allow", + "Principal": { + "Service": "ecs-tasks.amazonaws.com" + } + } + ], + "Version": "2012-10-17" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + }, + "DefaultPolicy": { + "id": "DefaultPolicy", + "path": "aws-ecs-integ/Publisher-task-definition/TaskRole/DefaultPolicy", + "children": { + "Resource": { + "id": "Resource", + "path": "aws-ecs-integ/Publisher-task-definition/TaskRole/DefaultPolicy/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::IAM::Policy", + "aws:cdk:cloudformation:props": { + "policyDocument": { + "Statement": [ + { + "Action": "sns:Publish", + "Effect": "Allow", + "Resource": { + "Ref": "signupD2AAA171" + } + }, + { + "Action": "sns:Publish", + "Effect": "Allow", + "Resource": { + "Ref": "delete1CCE71FF" + } + } + ], + "Version": "2012-10-17" + }, + "policyName": "PublishertaskdefinitionTaskRoleDefaultPolicyD6E49F15", + "roles": [ + { + "Ref": "PublishertaskdefinitionTaskRoleE8655AA5" + } + ] + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + }, + "Resource": { + "id": "Resource", + "path": "aws-ecs-integ/Publisher-task-definition/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::ECS::TaskDefinition", + "aws:cdk:cloudformation:props": { + "containerDefinitions": [ + { + "cpu": 256, + "essential": true, + "image": "nathanpeck/name", + "memory": 512, + "name": "app", + "portMappings": [ + { + "containerPort": 80, + "protocol": "tcp" + } + ], + "ulimits": [ + { + "name": "nofile", + "softLimit": 1024000, + "hardLimit": 1024000 + } + ], + "environment": [ + { + "name": "PORT", + "value": "80" + }, + { + "name": "SIGN-UP_TOPIC_ARN", + "value": { + "Ref": "signupD2AAA171" + } + }, + { + "name": "DELETE_TOPIC_ARN", + "value": { + "Ref": "delete1CCE71FF" + } + } + ] + } + ], + "cpu": "256", + "family": "awsecsintegPublishertaskdefinitionD50610D0", + "memory": "512", + "networkMode": "awsvpc", + "requiresCompatibilities": [ + "EC2", + "FARGATE" + ], + "taskRoleArn": { + "Fn::GetAtt": [ + "PublishertaskdefinitionTaskRoleE8655AA5", + "Arn" + ] + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + }, + "app": { + "id": "app", + "path": "aws-ecs-integ/Publisher-task-definition/app", + "constructInfo": { + "fqn": "@aws-cdk/core.Construct", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + }, + "Publisher-service": { + "id": "Publisher-service", + "path": "aws-ecs-integ/Publisher-service", + "children": { + "Service": { + "id": "Service", + "path": "aws-ecs-integ/Publisher-service/Service", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::ECS::Service", + "aws:cdk:cloudformation:props": { + "cluster": { + "Ref": "productionenvironmentclusterC6599D2D" + }, + "deploymentConfiguration": { + "maximumPercent": 200, + "minimumHealthyPercent": 100 + }, + "desiredCount": 1, + "enableEcsManagedTags": false, + "launchType": "FARGATE", + "networkConfiguration": { + "awsvpcConfiguration": { + "assignPublicIp": "DISABLED", + "subnets": [ + { + "Ref": "productionenvironmentvpcPrivateSubnet1Subnet53F632E6" + }, + { + "Ref": "productionenvironmentvpcPrivateSubnet2Subnet756FB93C" + } + ], + "securityGroups": [ + { + "Fn::GetAtt": [ + "PublisherserviceSecurityGroupC7B0C0D0", + "GroupId" + ] + } + ] + } + }, + "taskDefinition": { + "Ref": "PublishertaskdefinitionA4324C64" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + }, + "SecurityGroup": { + "id": "SecurityGroup", + "path": "aws-ecs-integ/Publisher-service/SecurityGroup", + "children": { + "Resource": { + "id": "Resource", + "path": "aws-ecs-integ/Publisher-service/SecurityGroup/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::SecurityGroup", + "aws:cdk:cloudformation:props": { + "groupDescription": "aws-ecs-integ/Publisher-service/SecurityGroup", + "securityGroupEgress": [ + { + "cidrIp": "0.0.0.0/0", + "description": "Allow all outbound traffic by default", + "ipProtocol": "-1" + } + ], + "vpcId": { + "Ref": "productionenvironmentvpcAEB47DF7" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + }, + "sign-up-queue": { + "id": "sign-up-queue", + "path": "aws-ecs-integ/sign-up-queue", + "children": { + "Resource": { + "id": "Resource", + "path": "aws-ecs-integ/sign-up-queue/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::SQS::Queue", + "aws:cdk:cloudformation:props": {} + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + }, + "Policy": { + "id": "Policy", + "path": "aws-ecs-integ/sign-up-queue/Policy", + "children": { + "Resource": { + "id": "Resource", + "path": "aws-ecs-integ/sign-up-queue/Policy/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::SQS::QueuePolicy", + "aws:cdk:cloudformation:props": { + "policyDocument": { + "Statement": [ + { + "Action": "sqs:SendMessage", + "Condition": { + "ArnEquals": { + "aws:SourceArn": { + "Ref": "signupD2AAA171" + } + } + }, + "Effect": "Allow", + "Principal": { + "Service": "sns.amazonaws.com" + }, + "Resource": { + "Fn::GetAtt": [ + "signupqueue33AFF2E6", + "Arn" + ] + } + } + ], + "Version": "2012-10-17" + }, + "queues": [ + { + "Ref": "signupqueue33AFF2E6" + } + ] + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + }, + "awsecsintegsignup8DE00B29": { + "id": "awsecsintegsignup8DE00B29", + "path": "aws-ecs-integ/sign-up-queue/awsecsintegsignup8DE00B29", + "children": { + "Resource": { + "id": "Resource", + "path": "aws-ecs-integ/sign-up-queue/awsecsintegsignup8DE00B29/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::SNS::Subscription", + "aws:cdk:cloudformation:props": { + "protocol": "sqs", + "topicArn": { + "Ref": "signupD2AAA171" + }, + "endpoint": { + "Fn::GetAtt": [ + "signupqueue33AFF2E6", + "Arn" + ] + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + }, + "Worker": { + "id": "Worker", + "path": "aws-ecs-integ/Worker", + "constructInfo": { + "fqn": "@aws-cdk/core.Construct", + "version": "0.0.0" + } + }, + "EventsDeadLetterQueue": { + "id": "EventsDeadLetterQueue", + "path": "aws-ecs-integ/EventsDeadLetterQueue", + "children": { + "Resource": { + "id": "Resource", + "path": "aws-ecs-integ/EventsDeadLetterQueue/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::SQS::Queue", + "aws:cdk:cloudformation:props": { + "messageRetentionPeriod": 1209600 + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + }, + "EventsQueue": { + "id": "EventsQueue", + "path": "aws-ecs-integ/EventsQueue", + "children": { + "Resource": { + "id": "Resource", + "path": "aws-ecs-integ/EventsQueue/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::SQS::Queue", + "aws:cdk:cloudformation:props": { + "redrivePolicy": { + "deadLetterTargetArn": { + "Fn::GetAtt": [ + "EventsDeadLetterQueue404572C7", + "Arn" + ] + }, + "maxReceiveCount": 3 + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + }, + "Policy": { + "id": "Policy", + "path": "aws-ecs-integ/EventsQueue/Policy", + "children": { + "Resource": { + "id": "Resource", + "path": "aws-ecs-integ/EventsQueue/Policy/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::SQS::QueuePolicy", + "aws:cdk:cloudformation:props": { + "policyDocument": { + "Statement": [ + { + "Action": "sqs:SendMessage", + "Condition": { + "ArnEquals": { + "aws:SourceArn": { + "Ref": "delete1CCE71FF" + } + } + }, + "Effect": "Allow", + "Principal": { + "Service": "sns.amazonaws.com" + }, + "Resource": { + "Fn::GetAtt": [ + "EventsQueueB96EB0D2", + "Arn" + ] + } + } + ], + "Version": "2012-10-17" + }, + "queues": [ + { + "Ref": "EventsQueueB96EB0D2" + } + ] + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + }, + "awsecsintegdeleteF5680776": { + "id": "awsecsintegdeleteF5680776", + "path": "aws-ecs-integ/EventsQueue/awsecsintegdeleteF5680776", + "children": { + "Resource": { + "id": "Resource", + "path": "aws-ecs-integ/EventsQueue/awsecsintegdeleteF5680776/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::SNS::Subscription", + "aws:cdk:cloudformation:props": { + "protocol": "sqs", + "topicArn": { + "Ref": "delete1CCE71FF" + }, + "endpoint": { + "Fn::GetAtt": [ + "EventsQueueB96EB0D2", + "Arn" + ] + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + }, + "Worker-task-definition": { + "id": "Worker-task-definition", + "path": "aws-ecs-integ/Worker-task-definition", + "children": { + "TaskRole": { + "id": "TaskRole", + "path": "aws-ecs-integ/Worker-task-definition/TaskRole", + "children": { + "Resource": { + "id": "Resource", + "path": "aws-ecs-integ/Worker-task-definition/TaskRole/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::IAM::Role", + "aws:cdk:cloudformation:props": { + "assumeRolePolicyDocument": { + "Statement": [ + { + "Action": "sts:AssumeRole", + "Effect": "Allow", + "Principal": { + "Service": "ecs-tasks.amazonaws.com" + } + } + ], + "Version": "2012-10-17" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + }, + "DefaultPolicy": { + "id": "DefaultPolicy", + "path": "aws-ecs-integ/Worker-task-definition/TaskRole/DefaultPolicy", + "children": { + "Resource": { + "id": "Resource", + "path": "aws-ecs-integ/Worker-task-definition/TaskRole/DefaultPolicy/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::IAM::Policy", + "aws:cdk:cloudformation:props": { + "policyDocument": { + "Statement": [ + { + "Action": [ + "sqs:ReceiveMessage", + "sqs:ChangeMessageVisibility", + "sqs:GetQueueUrl", + "sqs:DeleteMessage", + "sqs:GetQueueAttributes" + ], + "Effect": "Allow", + "Resource": { + "Fn::GetAtt": [ + "EventsQueueB96EB0D2", + "Arn" + ] + } + }, + { + "Action": [ + "sqs:ReceiveMessage", + "sqs:ChangeMessageVisibility", + "sqs:GetQueueUrl", + "sqs:DeleteMessage", + "sqs:GetQueueAttributes" + ], + "Effect": "Allow", + "Resource": { + "Fn::GetAtt": [ + "signupqueue33AFF2E6", + "Arn" + ] + } + } + ], + "Version": "2012-10-17" + }, + "policyName": "WorkertaskdefinitionTaskRoleDefaultPolicy45EAFD8C", + "roles": [ + { + "Ref": "WorkertaskdefinitionTaskRole1EBF20D6" + } + ] + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + }, + "Resource": { + "id": "Resource", + "path": "aws-ecs-integ/Worker-task-definition/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::ECS::TaskDefinition", + "aws:cdk:cloudformation:props": { + "containerDefinitions": [ + { + "cpu": 256, + "essential": true, + "image": "nathanpeck/name", + "memory": 512, + "name": "app", + "portMappings": [ + { + "containerPort": 80, + "protocol": "tcp" + } + ], + "ulimits": [ + { + "name": "nofile", + "softLimit": 1024000, + "hardLimit": 1024000 + } + ], + "environment": [ + { + "name": "PORT", + "value": "80" + }, + { + "name": "WORKER_QUEUE_URI", + "value": { + "Ref": "EventsQueueB96EB0D2" + } + } + ] + } + ], + "cpu": "256", + "family": "awsecsintegWorkertaskdefinition32B60762", + "memory": "512", + "networkMode": "awsvpc", + "requiresCompatibilities": [ + "EC2", + "FARGATE" + ], + "taskRoleArn": { + "Fn::GetAtt": [ + "WorkertaskdefinitionTaskRole1EBF20D6", + "Arn" + ] + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + }, + "app": { + "id": "app", + "path": "aws-ecs-integ/Worker-task-definition/app", + "constructInfo": { + "fqn": "@aws-cdk/core.Construct", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + }, + "Worker-service": { + "id": "Worker-service", + "path": "aws-ecs-integ/Worker-service", + "children": { + "Service": { + "id": "Service", + "path": "aws-ecs-integ/Worker-service/Service", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::ECS::Service", + "aws:cdk:cloudformation:props": { + "cluster": { + "Ref": "productionenvironmentclusterC6599D2D" + }, + "deploymentConfiguration": { + "maximumPercent": 200, + "minimumHealthyPercent": 100 + }, + "enableEcsManagedTags": false, + "launchType": "FARGATE", + "networkConfiguration": { + "awsvpcConfiguration": { + "assignPublicIp": "DISABLED", + "subnets": [ + { + "Ref": "productionenvironmentvpcPrivateSubnet1Subnet53F632E6" + }, + { + "Ref": "productionenvironmentvpcPrivateSubnet2Subnet756FB93C" + } + ], + "securityGroups": [ + { + "Fn::GetAtt": [ + "WorkerserviceSecurityGroup1CDDB904", + "GroupId" + ] + } + ] + } + }, + "taskDefinition": { + "Ref": "WorkertaskdefinitionBF93A675" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + }, + "SecurityGroup": { + "id": "SecurityGroup", + "path": "aws-ecs-integ/Worker-service/SecurityGroup", + "children": { + "Resource": { + "id": "Resource", + "path": "aws-ecs-integ/Worker-service/SecurityGroup/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::SecurityGroup", + "aws:cdk:cloudformation:props": { + "groupDescription": "aws-ecs-integ/Worker-service/SecurityGroup", + "securityGroupEgress": [ + { + "cidrIp": "0.0.0.0/0", + "description": "Allow all outbound traffic by default", + "ipProtocol": "-1" + } + ], + "vpcId": { + "Ref": "productionenvironmentvpcAEB47DF7" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + }, + "ScalingRole": { + "id": "ScalingRole", + "path": "aws-ecs-integ/Worker-service/ScalingRole", + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + }, + "TaskCount": { + "id": "TaskCount", + "path": "aws-ecs-integ/Worker-service/TaskCount", + "children": { + "Target": { + "id": "Target", + "path": "aws-ecs-integ/Worker-service/TaskCount/Target", + "children": { + "Resource": { + "id": "Resource", + "path": "aws-ecs-integ/Worker-service/TaskCount/Target/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::ApplicationAutoScaling::ScalableTarget", + "aws:cdk:cloudformation:props": { + "maxCapacity": 10, + "minCapacity": 1, + "resourceId": { + "Fn::Join": [ + "", + [ + "service/", + { + "Ref": "productionenvironmentclusterC6599D2D" + }, + "/", + { + "Fn::GetAtt": [ + "WorkerserviceService68C5A5C3", + "Name" + ] + } + ] + ] + }, + "roleArn": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::", + { + "Ref": "AWS::AccountId" + }, + ":role/aws-service-role/ecs.application-autoscaling.amazonaws.com/AWSServiceRoleForApplicationAutoScaling_ECSService" + ] + ] + }, + "scalableDimension": "ecs:service:DesiredCount", + "serviceNamespace": "ecs" + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + }, + "EventsQueue-autoscaling-policy": { + "id": "EventsQueue-autoscaling-policy", + "path": "aws-ecs-integ/Worker-service/TaskCount/Target/EventsQueue-autoscaling-policy", + "children": { + "Resource": { + "id": "Resource", + "path": "aws-ecs-integ/Worker-service/TaskCount/Target/EventsQueue-autoscaling-policy/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::ApplicationAutoScaling::ScalingPolicy", + "aws:cdk:cloudformation:props": { + "policyName": "awsecsintegWorkerserviceTaskCountTargetEventsQueueautoscalingpolicyDBD40B57", + "policyType": "TargetTrackingScaling", + "scalingTargetId": { + "Ref": "WorkerserviceTaskCountTarget6636D808" + }, + "targetTrackingScalingPolicyConfiguration": { + "customizedMetricSpecification": { + "dimensions": [ + { + "name": "QueueName", + "value": { + "Fn::GetAtt": [ + "EventsQueueB96EB0D2", + "QueueName" + ] + } + } + ], + "metricName": "BacklogPerTask", + "namespace": "production-Worker", + "statistic": "Average", + "unit": "Count" + }, + "targetValue": 15 + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Construct", + "version": "0.0.0" + } + }, + "sign-up-queue-autoscaling-policy": { + "id": "sign-up-queue-autoscaling-policy", + "path": "aws-ecs-integ/Worker-service/TaskCount/Target/sign-up-queue-autoscaling-policy", + "children": { + "Resource": { + "id": "Resource", + "path": "aws-ecs-integ/Worker-service/TaskCount/Target/sign-up-queue-autoscaling-policy/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::ApplicationAutoScaling::ScalingPolicy", + "aws:cdk:cloudformation:props": { + "policyName": "awsecsintegWorkerserviceTaskCountTargetsignupqueueautoscalingpolicyDF93FC37", + "policyType": "TargetTrackingScaling", + "scalingTargetId": { + "Ref": "WorkerserviceTaskCountTarget6636D808" + }, + "targetTrackingScalingPolicyConfiguration": { + "customizedMetricSpecification": { + "dimensions": [ + { + "name": "QueueName", + "value": { + "Fn::GetAtt": [ + "signupqueue33AFF2E6", + "QueueName" + ] + } + } + ], + "metricName": "BacklogPerTask", + "namespace": "production-Worker", + "statistic": "Average", + "unit": "Count" + }, + "targetValue": 30 + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Construct", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Construct", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + }, + "BackLogPerTaskCalculatorFunction": { + "id": "BackLogPerTaskCalculatorFunction", + "path": "aws-ecs-integ/BackLogPerTaskCalculatorFunction", + "children": { + "ServiceRole": { + "id": "ServiceRole", + "path": "aws-ecs-integ/BackLogPerTaskCalculatorFunction/ServiceRole", + "children": { + "Resource": { + "id": "Resource", + "path": "aws-ecs-integ/BackLogPerTaskCalculatorFunction/ServiceRole/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::IAM::Role", + "aws:cdk:cloudformation:props": { + "assumeRolePolicyDocument": { + "Statement": [ + { + "Action": "sts:AssumeRole", + "Effect": "Allow", + "Principal": { + "Service": "lambda.amazonaws.com" + } + } + ], + "Version": "2012-10-17" + }, + "managedPolicyArns": [ + { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole" + ] + ] + } + ] + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + }, + "DefaultPolicy": { + "id": "DefaultPolicy", + "path": "aws-ecs-integ/BackLogPerTaskCalculatorFunction/ServiceRole/DefaultPolicy", + "children": { + "Resource": { + "id": "Resource", + "path": "aws-ecs-integ/BackLogPerTaskCalculatorFunction/ServiceRole/DefaultPolicy/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::IAM::Policy", + "aws:cdk:cloudformation:props": { + "policyDocument": { + "Statement": [ + { + "Action": "ecs:DescribeServices", + "Condition": { + "ArnEquals": { + "ecs:cluster": { + "Fn::GetAtt": [ + "productionenvironmentclusterC6599D2D", + "Arn" + ] + } + } + }, + "Effect": "Allow", + "Resource": { + "Ref": "WorkerserviceService68C5A5C3" + } + }, + { + "Action": [ + "sqs:GetQueueAttributes", + "sqs:GetQueueUrl" + ], + "Effect": "Allow", + "Resource": [ + { + "Fn::GetAtt": [ + "EventsQueueB96EB0D2", + "Arn" + ] + }, + { + "Fn::GetAtt": [ + "signupqueue33AFF2E6", + "Arn" + ] + } + ] + } + ], + "Version": "2012-10-17" + }, + "policyName": "BackLogPerTaskCalculatorFunctionServiceRoleDefaultPolicyB6B10266", + "roles": [ + { + "Ref": "BackLogPerTaskCalculatorFunctionServiceRoleEFA723A4" + } + ] + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + }, + "Code": { + "id": "Code", + "path": "aws-ecs-integ/BackLogPerTaskCalculatorFunction/Code", + "children": { + "Stage": { + "id": "Stage", + "path": "aws-ecs-integ/BackLogPerTaskCalculatorFunction/Code/Stage", + "constructInfo": { + "fqn": "@aws-cdk/core.AssetStaging", + "version": "0.0.0" + } + }, + "AssetBucket": { + "id": "AssetBucket", + "path": "aws-ecs-integ/BackLogPerTaskCalculatorFunction/Code/AssetBucket", + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Construct", + "version": "0.0.0" + } + }, + "Resource": { + "id": "Resource", + "path": "aws-ecs-integ/BackLogPerTaskCalculatorFunction/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::Lambda::Function", + "aws:cdk:cloudformation:props": { + "code": { + "s3Bucket": { + "Ref": "AssetParametersa820140ad8525b8ed56ad2a7bcd9da99d6afc2490e8c91e34620886c011bdc91S3Bucket1FFDEA8D" + }, + "s3Key": { + "Fn::Join": [ + "", + [ + { + "Fn::Select": [ + 0, + { + "Fn::Split": [ + "||", + { + "Ref": "AssetParametersa820140ad8525b8ed56ad2a7bcd9da99d6afc2490e8c91e34620886c011bdc91S3VersionKeyA60C027B" + } + ] + } + ] + }, + { + "Fn::Select": [ + 1, + { + "Fn::Split": [ + "||", + { + "Ref": "AssetParametersa820140ad8525b8ed56ad2a7bcd9da99d6afc2490e8c91e34620886c011bdc91S3VersionKeyA60C027B" + } + ] + } + ] + } + ] + ] + } + }, + "role": { + "Fn::GetAtt": [ + "BackLogPerTaskCalculatorFunctionServiceRoleEFA723A4", + "Arn" + ] + }, + "environment": { + "variables": { + "CLUSTER_NAME": { + "Ref": "productionenvironmentclusterC6599D2D" + }, + "SERVICE_NAME": { + "Fn::GetAtt": [ + "WorkerserviceService68C5A5C3", + "Name" + ] + }, + "NAMESPACE": "production-Worker", + "QUEUE_NAMES": { + "Fn::Join": [ + "", + [ + { + "Fn::GetAtt": [ + "EventsQueueB96EB0D2", + "QueueName" + ] + }, + ",", + { + "Fn::GetAtt": [ + "signupqueue33AFF2E6", + "QueueName" + ] + } + ] + ] + } + } + }, + "handler": "index.queue_handler", + "runtime": "python3.9" + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + }, + "AssetParameters": { + "id": "AssetParameters", + "path": "aws-ecs-integ/AssetParameters", + "children": { + "a820140ad8525b8ed56ad2a7bcd9da99d6afc2490e8c91e34620886c011bdc91": { + "id": "a820140ad8525b8ed56ad2a7bcd9da99d6afc2490e8c91e34620886c011bdc91", + "path": "aws-ecs-integ/AssetParameters/a820140ad8525b8ed56ad2a7bcd9da99d6afc2490e8c91e34620886c011bdc91", + "children": { + "S3Bucket": { + "id": "S3Bucket", + "path": "aws-ecs-integ/AssetParameters/a820140ad8525b8ed56ad2a7bcd9da99d6afc2490e8c91e34620886c011bdc91/S3Bucket", + "constructInfo": { + "fqn": "@aws-cdk/core.CfnParameter", + "version": "0.0.0" + } + }, + "S3VersionKey": { + "id": "S3VersionKey", + "path": "aws-ecs-integ/AssetParameters/a820140ad8525b8ed56ad2a7bcd9da99d6afc2490e8c91e34620886c011bdc91/S3VersionKey", + "constructInfo": { + "fqn": "@aws-cdk/core.CfnParameter", + "version": "0.0.0" + } + }, + "ArtifactHash": { + "id": "ArtifactHash", + "path": "aws-ecs-integ/AssetParameters/a820140ad8525b8ed56ad2a7bcd9da99d6afc2490e8c91e34620886c011bdc91/ArtifactHash", + "constructInfo": { + "fqn": "@aws-cdk/core.CfnParameter", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Construct", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Construct", + "version": "0.0.0" + } + }, + "BacklogPerTaskScheduledRule": { + "id": "BacklogPerTaskScheduledRule", + "path": "aws-ecs-integ/BacklogPerTaskScheduledRule", + "children": { + "Resource": { + "id": "Resource", + "path": "aws-ecs-integ/BacklogPerTaskScheduledRule/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::Events::Rule", + "aws:cdk:cloudformation:props": { + "scheduleExpression": "rate(1 minute)", + "state": "ENABLED", + "targets": [ + { + "id": "Target0", + "arn": { + "Fn::GetAtt": [ + "BackLogPerTaskCalculatorFunction95AA21D5", + "Arn" + ] + } + } + ] + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + }, + "AllowEventRuleawsecsintegBackLogPerTaskCalculatorFunctionEB2B91C7": { + "id": "AllowEventRuleawsecsintegBackLogPerTaskCalculatorFunctionEB2B91C7", + "path": "aws-ecs-integ/BacklogPerTaskScheduledRule/AllowEventRuleawsecsintegBackLogPerTaskCalculatorFunctionEB2B91C7", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::Lambda::Permission", + "aws:cdk:cloudformation:props": { + "action": "lambda:InvokeFunction", + "functionName": { + "Fn::GetAtt": [ + "BackLogPerTaskCalculatorFunction95AA21D5", + "Arn" + ] + }, + "principal": "events.amazonaws.com", + "sourceArn": { + "Fn::GetAtt": [ + "BacklogPerTaskScheduledRuleB871DD15", + "Arn" + ] + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + }, + "Worker-BackLogPerTaskCalculatorLogs": { + "id": "Worker-BackLogPerTaskCalculatorLogs", + "path": "aws-ecs-integ/Worker-BackLogPerTaskCalculatorLogs", + "children": { + "Resource": { + "id": "Resource", + "path": "aws-ecs-integ/Worker-BackLogPerTaskCalculatorLogs/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::Logs::LogGroup", + "aws:cdk:cloudformation:props": { + "logGroupName": { + "Fn::Join": [ + "", + [ + "/aws/lambda/", + { + "Ref": "BackLogPerTaskCalculatorFunction95AA21D5" + } + ] + ] + }, + "retentionInDays": 3 + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.CfnResource", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Resource", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.Stack", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/core.App", + "version": "0.0.0" + } + } +} \ No newline at end of file From 4ee91182afcaf3544b2fd9ac604473d1715a395c Mon Sep 17 00:00:00 2001 From: corymhall <43035978+corymhall@users.noreply.github.com> Date: Fri, 8 Apr 2022 15:16:48 +0000 Subject: [PATCH 5/6] adding integ-runner to alpha package generation --- tools/@aws-cdk/individual-pkg-gen/transform-packages.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/@aws-cdk/individual-pkg-gen/transform-packages.ts b/tools/@aws-cdk/individual-pkg-gen/transform-packages.ts index 1952aaa4bd7ac..e553c21ab3229 100644 --- a/tools/@aws-cdk/individual-pkg-gen/transform-packages.ts +++ b/tools/@aws-cdk/individual-pkg-gen/transform-packages.ts @@ -27,7 +27,7 @@ const FEATURE_CFN_STABILITY_LINE = /CFN Resources\s+\| !\[Stable]\(https:\/\/img */ const REQUIRED_TOOLS = new Set([ '@aws-cdk/cdk-build-tools', - '@aws-cdk/cdk-integ-tools', + '@aws-cdk/integ-runner', '@aws-cdk/cfn2ts', '@aws-cdk/eslint-plugin', '@aws-cdk/pkglint', From b8a13711d5d0e51982b49e9032279c0c8440c9b5 Mon Sep 17 00:00:00 2001 From: corymhall <43035978+corymhall@users.noreply.github.com> Date: Fri, 8 Apr 2022 16:55:15 +0000 Subject: [PATCH 6/6] adding to ignore files --- .../@aws-cdk-containers/ecs-service-extensions/.gitignore | 6 +++++- .../@aws-cdk-containers/ecs-service-extensions/.npmignore | 4 +++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/packages/@aws-cdk-containers/ecs-service-extensions/.gitignore b/packages/@aws-cdk-containers/ecs-service-extensions/.gitignore index 5bd97777170a0..0865b27d394a2 100644 --- a/packages/@aws-cdk-containers/ecs-service-extensions/.gitignore +++ b/packages/@aws-cdk-containers/ecs-service-extensions/.gitignore @@ -19,4 +19,8 @@ nyc.config.js junit.xml -!jest.config.js \ No newline at end of file +!jest.config.js +!**/*.integ.snapshot/**/asset.*/*.js +!**/*.integ.snapshot/**/asset.*/*.d.ts + +!**/*.integ.snapshot/**/asset.*/** diff --git a/packages/@aws-cdk-containers/ecs-service-extensions/.npmignore b/packages/@aws-cdk-containers/ecs-service-extensions/.npmignore index 163c1ff80fe5a..9bcdfbb4d0764 100644 --- a/packages/@aws-cdk-containers/ecs-service-extensions/.npmignore +++ b/packages/@aws-cdk-containers/ecs-service-extensions/.npmignore @@ -24,4 +24,6 @@ tsconfig.json junit.xml test/ -jest.config.js \ No newline at end of file +jest.config.js +**/*.integ.snapshot +**/*.integ.snapshot