From 9afe4440d014c6fa53bf481aed89cdf4627e1b25 Mon Sep 17 00:00:00 2001 From: AWS Solutions Constructs Automation Date: Mon, 12 Feb 2024 15:09:33 +0000 Subject: [PATCH 1/3] chore(release): 2.52.0 --- CHANGELOG.md | 7 +++++++ source/lerna.json | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a936ab862..8565a2fe2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,13 @@ All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. +## [2.52.0](https://github.com/awslabs/aws-solutions-constructs/compare/v2.51.0...v2.52.0) (2024-02-12) + + +### Bug Fixes + +* **npmlog:** update npmlog version ([#1075](https://github.com/awslabs/aws-solutions-constructs/issues/1075)) ([968639a](https://github.com/awslabs/aws-solutions-constructs/commit/968639ae3048dc933a6c6e7baf9013e0f41bd16a)) + ## [2.51.0](https://github.com/awslabs/aws-solutions-constructs/compare/v2.50.0...v2.51.0) (2024-01-30) Built on CDK v2.118.0 diff --git a/source/lerna.json b/source/lerna.json index c438df9fd..46ece5fce 100644 --- a/source/lerna.json +++ b/source/lerna.json @@ -6,5 +6,5 @@ "./patterns/@aws-solutions-constructs/*" ], "rejectCycles": "true", - "version": "2.51.0" + "version": "2.52.0" } From ccc5b8c639f0c6a37764af418f50e94976fc3440 Mon Sep 17 00:00:00 2001 From: biffgaut Date: Mon, 12 Feb 2024 10:25:37 -0500 Subject: [PATCH 2/3] Release adjustments --- CHANGELOG.md | 1 + deployment/v2/align-version.js | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8565a2fe2..b3c927919 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,7 @@ All notable changes to this project will be documented in this file. See [standa ## [2.52.0](https://github.com/awslabs/aws-solutions-constructs/compare/v2.51.0...v2.52.0) (2024-02-12) +Built on CDK v2.127.0 ### Bug Fixes diff --git a/deployment/v2/align-version.js b/deployment/v2/align-version.js index 45717b7f2..01a4ab1a3 100755 --- a/deployment/v2/align-version.js +++ b/deployment/v2/align-version.js @@ -10,7 +10,7 @@ const nullVersionMarker = process.argv[2]; const targetSolutionsConstructsVersion = process.argv[3]; // these versions need to be sourced from a config file -const awsCdkLibVersion = '2.118.0'; +const awsCdkLibVersion = '2.127.0'; for (const file of process.argv.splice(4)) { const pkg = JSON.parse(fs.readFileSync(file).toString()); From 467db426607db2c869c114a5ed1dc6269c1cd044 Mon Sep 17 00:00:00 2001 From: biffgaut Date: Mon, 12 Feb 2024 11:06:15 -0500 Subject: [PATCH 3/3] update integration tests for new CDK version --- ...tepfunctions-existing-eventbus.assets.json | 4 +- ...pfunctions-existing-eventbus.template.json | 19 +- .../manifest.json | 2 +- .../tree.json | 124 +- ...dge-stepfunctions-new-eventbus.assets.json | 4 +- ...e-stepfunctions-new-eventbus.template.json | 19 +- .../manifest.json | 2 +- .../tree.json | 124 +- ...idge-stepfunctions-with-lambda.assets.json | 4 +- ...ge-stepfunctions-with-lambda.template.json | 19 +- .../manifest.json | 2 +- .../tree.json | 120 +- .../__entrypoint__.js | 1 + .../index.js | 1 + .../cdk.out | 1 + .../farkin-noArguments.assets.json | 32 + .../farkin-noArguments.template.json | 1225 +++++++++ ...efaultTestDeployAssert5E204AE6.assets.json | 19 + ...aultTestDeployAssert5E204AE6.template.json | 36 + .../integ.json | 12 + .../manifest.json | 383 +++ .../tree.json | 1761 ++++++++++++ .../__entrypoint__.js | 1 + .../index.js | 1 + .../cdk.out | 1 + .../farkin-streamFromProps.assets.json | 32 + .../farkin-streamFromProps.template.json | 1227 +++++++++ ...efaultTestDeployAssertF891650B.assets.json | 19 + ...aultTestDeployAssertF891650B.template.json | 36 + .../integ.json | 12 + .../manifest.json | 383 +++ .../tree.json | 1763 ++++++++++++ .../__entrypoint__.js | 1 + .../index.js | 1 + .../cdk.out | 1 + .../faropn-existing-resources.assets.json | 34 + .../faropn-existing-resources.template.json | 1709 ++++++++++++ ...efaultTestDeployAssert753D5E58.assets.json | 19 + ...aultTestDeployAssert753D5E58.template.json | 36 + .../integ.json | 12 + .../manifest.json | 455 +++ .../tree.json | 2440 +++++++++++++++++ 42 files changed, 11889 insertions(+), 208 deletions(-) create mode 100644 source/patterns/@aws-solutions-constructs/aws-fargate-kinesisstreams/test/cdk-integ.out.integ.farkin-noArguments.js.snapshot/asset.dd5711540f04e06aa955d7f4862fc04e8cdea464cb590dae91ed2976bb78098e/__entrypoint__.js create mode 100644 source/patterns/@aws-solutions-constructs/aws-fargate-kinesisstreams/test/cdk-integ.out.integ.farkin-noArguments.js.snapshot/asset.dd5711540f04e06aa955d7f4862fc04e8cdea464cb590dae91ed2976bb78098e/index.js create mode 100644 source/patterns/@aws-solutions-constructs/aws-fargate-kinesisstreams/test/cdk-integ.out.integ.farkin-noArguments.js.snapshot/cdk.out create mode 100644 source/patterns/@aws-solutions-constructs/aws-fargate-kinesisstreams/test/cdk-integ.out.integ.farkin-noArguments.js.snapshot/farkin-noArguments.assets.json create mode 100644 source/patterns/@aws-solutions-constructs/aws-fargate-kinesisstreams/test/cdk-integ.out.integ.farkin-noArguments.js.snapshot/farkin-noArguments.template.json create mode 100644 source/patterns/@aws-solutions-constructs/aws-fargate-kinesisstreams/test/cdk-integ.out.integ.farkin-noArguments.js.snapshot/farkinnoArgumentsIntegDefaultTestDeployAssert5E204AE6.assets.json create mode 100644 source/patterns/@aws-solutions-constructs/aws-fargate-kinesisstreams/test/cdk-integ.out.integ.farkin-noArguments.js.snapshot/farkinnoArgumentsIntegDefaultTestDeployAssert5E204AE6.template.json create mode 100644 source/patterns/@aws-solutions-constructs/aws-fargate-kinesisstreams/test/cdk-integ.out.integ.farkin-noArguments.js.snapshot/integ.json create mode 100644 source/patterns/@aws-solutions-constructs/aws-fargate-kinesisstreams/test/cdk-integ.out.integ.farkin-noArguments.js.snapshot/manifest.json create mode 100644 source/patterns/@aws-solutions-constructs/aws-fargate-kinesisstreams/test/cdk-integ.out.integ.farkin-noArguments.js.snapshot/tree.json create mode 100644 source/patterns/@aws-solutions-constructs/aws-fargate-kinesisstreams/test/cdk-integ.out.integ.farkin-streamFromProps.js.snapshot/asset.dd5711540f04e06aa955d7f4862fc04e8cdea464cb590dae91ed2976bb78098e/__entrypoint__.js create mode 100644 source/patterns/@aws-solutions-constructs/aws-fargate-kinesisstreams/test/cdk-integ.out.integ.farkin-streamFromProps.js.snapshot/asset.dd5711540f04e06aa955d7f4862fc04e8cdea464cb590dae91ed2976bb78098e/index.js create mode 100644 source/patterns/@aws-solutions-constructs/aws-fargate-kinesisstreams/test/cdk-integ.out.integ.farkin-streamFromProps.js.snapshot/cdk.out create mode 100644 source/patterns/@aws-solutions-constructs/aws-fargate-kinesisstreams/test/cdk-integ.out.integ.farkin-streamFromProps.js.snapshot/farkin-streamFromProps.assets.json create mode 100644 source/patterns/@aws-solutions-constructs/aws-fargate-kinesisstreams/test/cdk-integ.out.integ.farkin-streamFromProps.js.snapshot/farkin-streamFromProps.template.json create mode 100644 source/patterns/@aws-solutions-constructs/aws-fargate-kinesisstreams/test/cdk-integ.out.integ.farkin-streamFromProps.js.snapshot/farkinstreamFromPropsIntegDefaultTestDeployAssertF891650B.assets.json create mode 100644 source/patterns/@aws-solutions-constructs/aws-fargate-kinesisstreams/test/cdk-integ.out.integ.farkin-streamFromProps.js.snapshot/farkinstreamFromPropsIntegDefaultTestDeployAssertF891650B.template.json create mode 100644 source/patterns/@aws-solutions-constructs/aws-fargate-kinesisstreams/test/cdk-integ.out.integ.farkin-streamFromProps.js.snapshot/integ.json create mode 100644 source/patterns/@aws-solutions-constructs/aws-fargate-kinesisstreams/test/cdk-integ.out.integ.farkin-streamFromProps.js.snapshot/manifest.json create mode 100644 source/patterns/@aws-solutions-constructs/aws-fargate-kinesisstreams/test/cdk-integ.out.integ.farkin-streamFromProps.js.snapshot/tree.json create mode 100644 source/patterns/@aws-solutions-constructs/aws-fargate-opensearch/test/cdk-integ.out.integ.faropn-existing-resources.js.snapshot/asset.dd5711540f04e06aa955d7f4862fc04e8cdea464cb590dae91ed2976bb78098e/__entrypoint__.js create mode 100644 source/patterns/@aws-solutions-constructs/aws-fargate-opensearch/test/cdk-integ.out.integ.faropn-existing-resources.js.snapshot/asset.dd5711540f04e06aa955d7f4862fc04e8cdea464cb590dae91ed2976bb78098e/index.js create mode 100644 source/patterns/@aws-solutions-constructs/aws-fargate-opensearch/test/cdk-integ.out.integ.faropn-existing-resources.js.snapshot/cdk.out create mode 100644 source/patterns/@aws-solutions-constructs/aws-fargate-opensearch/test/cdk-integ.out.integ.faropn-existing-resources.js.snapshot/faropn-existing-resources.assets.json create mode 100644 source/patterns/@aws-solutions-constructs/aws-fargate-opensearch/test/cdk-integ.out.integ.faropn-existing-resources.js.snapshot/faropn-existing-resources.template.json create mode 100644 source/patterns/@aws-solutions-constructs/aws-fargate-opensearch/test/cdk-integ.out.integ.faropn-existing-resources.js.snapshot/faropnexistingresourcesIntegDefaultTestDeployAssert753D5E58.assets.json create mode 100644 source/patterns/@aws-solutions-constructs/aws-fargate-opensearch/test/cdk-integ.out.integ.faropn-existing-resources.js.snapshot/faropnexistingresourcesIntegDefaultTestDeployAssert753D5E58.template.json create mode 100644 source/patterns/@aws-solutions-constructs/aws-fargate-opensearch/test/cdk-integ.out.integ.faropn-existing-resources.js.snapshot/integ.json create mode 100644 source/patterns/@aws-solutions-constructs/aws-fargate-opensearch/test/cdk-integ.out.integ.faropn-existing-resources.js.snapshot/manifest.json create mode 100644 source/patterns/@aws-solutions-constructs/aws-fargate-opensearch/test/cdk-integ.out.integ.faropn-existing-resources.js.snapshot/tree.json diff --git a/source/patterns/@aws-solutions-constructs/aws-eventbridge-stepfunctions/test/integ.evtstp-eventbridge-stepfunctions-existing-eventbus.js.snapshot/evtstp-eventbridge-stepfunctions-existing-eventbus.assets.json b/source/patterns/@aws-solutions-constructs/aws-eventbridge-stepfunctions/test/integ.evtstp-eventbridge-stepfunctions-existing-eventbus.js.snapshot/evtstp-eventbridge-stepfunctions-existing-eventbus.assets.json index 9d730e5df..f74431271 100644 --- a/source/patterns/@aws-solutions-constructs/aws-eventbridge-stepfunctions/test/integ.evtstp-eventbridge-stepfunctions-existing-eventbus.js.snapshot/evtstp-eventbridge-stepfunctions-existing-eventbus.assets.json +++ b/source/patterns/@aws-solutions-constructs/aws-eventbridge-stepfunctions/test/integ.evtstp-eventbridge-stepfunctions-existing-eventbus.js.snapshot/evtstp-eventbridge-stepfunctions-existing-eventbus.assets.json @@ -14,7 +14,7 @@ } } }, - "62240c65f7baad5fa1914548827b190052aa926d1392d7064a56cf64367924dc": { + "da11f95fde1d9075ed3264126ffcd826047a6aa868f5cbd98eff1d1a3df9bcdc": { "source": { "path": "evtstp-eventbridge-stepfunctions-existing-eventbus.template.json", "packaging": "file" @@ -22,7 +22,7 @@ "destinations": { "current_account-current_region": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", - "objectKey": "62240c65f7baad5fa1914548827b190052aa926d1392d7064a56cf64367924dc.json", + "objectKey": "da11f95fde1d9075ed3264126ffcd826047a6aa868f5cbd98eff1d1a3df9bcdc.json", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" } } diff --git a/source/patterns/@aws-solutions-constructs/aws-eventbridge-stepfunctions/test/integ.evtstp-eventbridge-stepfunctions-existing-eventbus.js.snapshot/evtstp-eventbridge-stepfunctions-existing-eventbus.template.json b/source/patterns/@aws-solutions-constructs/aws-eventbridge-stepfunctions/test/integ.evtstp-eventbridge-stepfunctions-existing-eventbus.js.snapshot/evtstp-eventbridge-stepfunctions-existing-eventbus.template.json index 1b952116b..733dec09f 100644 --- a/source/patterns/@aws-solutions-constructs/aws-eventbridge-stepfunctions/test/integ.evtstp-eventbridge-stepfunctions-existing-eventbus.js.snapshot/evtstp-eventbridge-stepfunctions-existing-eventbus.template.json +++ b/source/patterns/@aws-solutions-constructs/aws-eventbridge-stepfunctions/test/integ.evtstp-eventbridge-stepfunctions-existing-eventbus.js.snapshot/evtstp-eventbridge-stepfunctions-existing-eventbus.template.json @@ -217,11 +217,6 @@ "logs:ListLogDeliveries" ], "Effect": "Allow", - "Resource": "*" - }, - { - "Action": "lambda:InvokeFunction", - "Effect": "Allow", "Resource": [ { "Fn::GetAtt": [ @@ -245,6 +240,20 @@ } ] }, + { + "Action": [ + "logs:CreateLogDelivery", + "logs:DeleteLogDelivery", + "logs:DescribeLogGroups", + "logs:DescribeResourcePolicies", + "logs:GetLogDelivery", + "logs:ListLogDeliveries", + "logs:PutResourcePolicy", + "logs:UpdateLogDelivery" + ], + "Effect": "Allow", + "Resource": "*" + }, { "Action": [ "logs:DescribeLogGroups", diff --git a/source/patterns/@aws-solutions-constructs/aws-eventbridge-stepfunctions/test/integ.evtstp-eventbridge-stepfunctions-existing-eventbus.js.snapshot/manifest.json b/source/patterns/@aws-solutions-constructs/aws-eventbridge-stepfunctions/test/integ.evtstp-eventbridge-stepfunctions-existing-eventbus.js.snapshot/manifest.json index fe2f44d08..efbeec112 100644 --- a/source/patterns/@aws-solutions-constructs/aws-eventbridge-stepfunctions/test/integ.evtstp-eventbridge-stepfunctions-existing-eventbus.js.snapshot/manifest.json +++ b/source/patterns/@aws-solutions-constructs/aws-eventbridge-stepfunctions/test/integ.evtstp-eventbridge-stepfunctions-existing-eventbus.js.snapshot/manifest.json @@ -66,7 +66,7 @@ "validateOnSynth": false, "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}", "cloudFormationExecutionRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}", - "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/62240c65f7baad5fa1914548827b190052aa926d1392d7064a56cf64367924dc.json", + "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/da11f95fde1d9075ed3264126ffcd826047a6aa868f5cbd98eff1d1a3df9bcdc.json", "requiresBootstrapStackVersion": 6, "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version", "additionalDependencies": [ diff --git a/source/patterns/@aws-solutions-constructs/aws-eventbridge-stepfunctions/test/integ.evtstp-eventbridge-stepfunctions-existing-eventbus.js.snapshot/tree.json b/source/patterns/@aws-solutions-constructs/aws-eventbridge-stepfunctions/test/integ.evtstp-eventbridge-stepfunctions-existing-eventbus.js.snapshot/tree.json index 0710e7af0..f6505db18 100644 --- a/source/patterns/@aws-solutions-constructs/aws-eventbridge-stepfunctions/test/integ.evtstp-eventbridge-stepfunctions-existing-eventbus.js.snapshot/tree.json +++ b/source/patterns/@aws-solutions-constructs/aws-eventbridge-stepfunctions/test/integ.evtstp-eventbridge-stepfunctions-existing-eventbus.js.snapshot/tree.json @@ -17,7 +17,7 @@ "path": "evtstp-eventbridge-stepfunctions-existing-eventbus/LambdaFunctionServiceRole/ImportLambdaFunctionServiceRole", "constructInfo": { "fqn": "aws-cdk-lib.Resource", - "version": "2.118.0" + "version": "2.127.0" } }, "Resource": { @@ -80,7 +80,7 @@ }, "constructInfo": { "fqn": "aws-cdk-lib.aws_iam.CfnRole", - "version": "2.118.0" + "version": "2.127.0" } }, "DefaultPolicy": { @@ -116,19 +116,19 @@ }, "constructInfo": { "fqn": "aws-cdk-lib.aws_iam.CfnPolicy", - "version": "2.118.0" + "version": "2.127.0" } } }, "constructInfo": { "fqn": "aws-cdk-lib.aws_iam.Policy", - "version": "2.118.0" + "version": "2.127.0" } } }, "constructInfo": { "fqn": "aws-cdk-lib.aws_iam.Role", - "version": "2.118.0" + "version": "2.127.0" } }, "LambdaFunction": { @@ -144,7 +144,7 @@ "path": "evtstp-eventbridge-stepfunctions-existing-eventbus/LambdaFunction/Code/Stage", "constructInfo": { "fqn": "aws-cdk-lib.AssetStaging", - "version": "2.118.0" + "version": "2.127.0" } }, "AssetBucket": { @@ -152,13 +152,13 @@ "path": "evtstp-eventbridge-stepfunctions-existing-eventbus/LambdaFunction/Code/AssetBucket", "constructInfo": { "fqn": "aws-cdk-lib.aws_s3.BucketBase", - "version": "2.118.0" + "version": "2.127.0" } } }, "constructInfo": { "fqn": "aws-cdk-lib.aws_s3_assets.Asset", - "version": "2.118.0" + "version": "2.127.0" } }, "Resource": { @@ -193,13 +193,13 @@ }, "constructInfo": { "fqn": "aws-cdk-lib.aws_lambda.CfnFunction", - "version": "2.118.0" + "version": "2.127.0" } } }, "constructInfo": { "fqn": "aws-cdk-lib.aws_lambda.Function", - "version": "2.118.0" + "version": "2.127.0" } }, "LambdaTask": { @@ -207,7 +207,7 @@ "path": "evtstp-eventbridge-stepfunctions-existing-eventbus/LambdaTask", "constructInfo": { "fqn": "aws-cdk-lib.aws_stepfunctions_tasks.LambdaInvoke", - "version": "2.118.0" + "version": "2.127.0" } }, "StartState": { @@ -215,7 +215,7 @@ "path": "evtstp-eventbridge-stepfunctions-existing-eventbus/StartState", "constructInfo": { "fqn": "aws-cdk-lib.aws_stepfunctions.Pass", - "version": "2.118.0" + "version": "2.127.0" } }, "existing-event-bus": { @@ -233,13 +233,13 @@ }, "constructInfo": { "fqn": "aws-cdk-lib.aws_events.CfnEventBus", - "version": "2.118.0" + "version": "2.127.0" } } }, "constructInfo": { "fqn": "aws-cdk-lib.aws_events.EventBus", - "version": "2.118.0" + "version": "2.127.0" } }, "test-eventbridge-stepfunctions-new-eventbus-construct": { @@ -281,13 +281,13 @@ }, "constructInfo": { "fqn": "aws-cdk-lib.aws_logs.CfnLogGroup", - "version": "2.118.0" + "version": "2.127.0" } } }, "constructInfo": { "fqn": "aws-cdk-lib.aws_logs.LogGroup", - "version": "2.118.0" + "version": "2.127.0" } }, "StateMachine": { @@ -303,7 +303,7 @@ "path": "evtstp-eventbridge-stepfunctions-existing-eventbus/test-eventbridge-stepfunctions-new-eventbus-construct/StateMachine/Role/ImportRole", "constructInfo": { "fqn": "aws-cdk-lib.Resource", - "version": "2.118.0" + "version": "2.127.0" } }, "Resource": { @@ -328,7 +328,7 @@ }, "constructInfo": { "fqn": "aws-cdk-lib.aws_iam.CfnRole", - "version": "2.118.0" + "version": "2.127.0" } }, "DefaultPolicy": { @@ -343,20 +343,6 @@ "aws:cdk:cloudformation:props": { "policyDocument": { "Statement": [ - { - "Action": [ - "logs:CreateLogDelivery", - "logs:DeleteLogDelivery", - "logs:DescribeLogGroups", - "logs:DescribeResourcePolicies", - "logs:GetLogDelivery", - "logs:ListLogDeliveries", - "logs:PutResourcePolicy", - "logs:UpdateLogDelivery" - ], - "Effect": "Allow", - "Resource": "*" - }, { "Action": "lambda:InvokeFunction", "Effect": "Allow", @@ -383,6 +369,20 @@ } ] }, + { + "Action": [ + "logs:CreateLogDelivery", + "logs:DeleteLogDelivery", + "logs:DescribeLogGroups", + "logs:DescribeResourcePolicies", + "logs:GetLogDelivery", + "logs:ListLogDeliveries", + "logs:PutResourcePolicy", + "logs:UpdateLogDelivery" + ], + "Effect": "Allow", + "Resource": "*" + }, { "Action": [ "logs:DescribeLogGroups", @@ -424,19 +424,19 @@ }, "constructInfo": { "fqn": "aws-cdk-lib.aws_iam.CfnPolicy", - "version": "2.118.0" + "version": "2.127.0" } } }, "constructInfo": { "fqn": "aws-cdk-lib.aws_iam.Policy", - "version": "2.118.0" + "version": "2.127.0" } } }, "constructInfo": { "fqn": "aws-cdk-lib.aws_iam.Role", - "version": "2.118.0" + "version": "2.127.0" } }, "Resource": { @@ -489,13 +489,13 @@ }, "constructInfo": { "fqn": "aws-cdk-lib.aws_stepfunctions.CfnStateMachine", - "version": "2.118.0" + "version": "2.127.0" } } }, "constructInfo": { "fqn": "aws-cdk-lib.aws_stepfunctions.StateMachine", - "version": "2.118.0" + "version": "2.127.0" } }, "EventsRuleRole": { @@ -507,7 +507,7 @@ "path": "evtstp-eventbridge-stepfunctions-existing-eventbus/test-eventbridge-stepfunctions-new-eventbus-construct/EventsRuleRole/ImportEventsRuleRole", "constructInfo": { "fqn": "aws-cdk-lib.Resource", - "version": "2.118.0" + "version": "2.127.0" } }, "Resource": { @@ -532,7 +532,7 @@ }, "constructInfo": { "fqn": "aws-cdk-lib.aws_iam.CfnRole", - "version": "2.118.0" + "version": "2.127.0" } }, "DefaultPolicy": { @@ -567,19 +567,19 @@ }, "constructInfo": { "fqn": "aws-cdk-lib.aws_iam.CfnPolicy", - "version": "2.118.0" + "version": "2.127.0" } } }, "constructInfo": { "fqn": "aws-cdk-lib.aws_iam.Policy", - "version": "2.118.0" + "version": "2.127.0" } } }, "constructInfo": { "fqn": "aws-cdk-lib.aws_iam.Role", - "version": "2.118.0" + "version": "2.127.0" } }, "EventsRule": { @@ -619,13 +619,13 @@ }, "constructInfo": { "fqn": "aws-cdk-lib.aws_events.CfnRule", - "version": "2.118.0" + "version": "2.127.0" } } }, "constructInfo": { "fqn": "aws-cdk-lib.aws_events.Rule", - "version": "2.118.0" + "version": "2.127.0" } }, "ExecutionFailedAlarm": { @@ -658,13 +658,13 @@ }, "constructInfo": { "fqn": "aws-cdk-lib.aws_cloudwatch.CfnAlarm", - "version": "2.118.0" + "version": "2.127.0" } } }, "constructInfo": { "fqn": "aws-cdk-lib.aws_cloudwatch.Alarm", - "version": "2.118.0" + "version": "2.127.0" } }, "ExecutionThrottledAlarm": { @@ -697,13 +697,13 @@ }, "constructInfo": { "fqn": "aws-cdk-lib.aws_cloudwatch.CfnAlarm", - "version": "2.118.0" + "version": "2.127.0" } } }, "constructInfo": { "fqn": "aws-cdk-lib.aws_cloudwatch.Alarm", - "version": "2.118.0" + "version": "2.127.0" } }, "ExecutionAbortedAlarm": { @@ -736,19 +736,19 @@ }, "constructInfo": { "fqn": "aws-cdk-lib.aws_cloudwatch.CfnAlarm", - "version": "2.118.0" + "version": "2.127.0" } } }, "constructInfo": { "fqn": "aws-cdk-lib.aws_cloudwatch.Alarm", - "version": "2.118.0" + "version": "2.127.0" } } }, "constructInfo": { "fqn": "@aws-solutions-constructs/aws-eventbridge-stepfunctions.EventbridgeToStepfunctions", - "version": "2.50.0" + "version": "2.52.0" } }, "Integ": { @@ -764,7 +764,7 @@ "path": "evtstp-eventbridge-stepfunctions-existing-eventbus/Integ/DefaultTest/Default", "constructInfo": { "fqn": "constructs.Construct", - "version": "10.0.0" + "version": "10.3.0" } }, "DeployAssert": { @@ -776,7 +776,7 @@ "path": "evtstp-eventbridge-stepfunctions-existing-eventbus/Integ/DefaultTest/DeployAssert/BootstrapVersion", "constructInfo": { "fqn": "aws-cdk-lib.CfnParameter", - "version": "2.118.0" + "version": "2.127.0" } }, "CheckBootstrapVersion": { @@ -784,25 +784,25 @@ "path": "evtstp-eventbridge-stepfunctions-existing-eventbus/Integ/DefaultTest/DeployAssert/CheckBootstrapVersion", "constructInfo": { "fqn": "aws-cdk-lib.CfnRule", - "version": "2.118.0" + "version": "2.127.0" } } }, "constructInfo": { "fqn": "aws-cdk-lib.Stack", - "version": "2.118.0" + "version": "2.127.0" } } }, "constructInfo": { "fqn": "@aws-cdk/integ-tests-alpha.IntegTestCase", - "version": "2.118.0-alpha.0" + "version": "2.127.0-alpha.0" } } }, "constructInfo": { "fqn": "@aws-cdk/integ-tests-alpha.IntegTest", - "version": "2.118.0-alpha.0" + "version": "2.127.0-alpha.0" } }, "BootstrapVersion": { @@ -810,7 +810,7 @@ "path": "evtstp-eventbridge-stepfunctions-existing-eventbus/BootstrapVersion", "constructInfo": { "fqn": "aws-cdk-lib.CfnParameter", - "version": "2.118.0" + "version": "2.127.0" } }, "CheckBootstrapVersion": { @@ -818,13 +818,13 @@ "path": "evtstp-eventbridge-stepfunctions-existing-eventbus/CheckBootstrapVersion", "constructInfo": { "fqn": "aws-cdk-lib.CfnRule", - "version": "2.118.0" + "version": "2.127.0" } } }, "constructInfo": { "fqn": "aws-cdk-lib.Stack", - "version": "2.118.0" + "version": "2.127.0" } }, "Tree": { @@ -832,13 +832,13 @@ "path": "Tree", "constructInfo": { "fqn": "constructs.Construct", - "version": "10.0.0" + "version": "10.3.0" } } }, "constructInfo": { "fqn": "aws-cdk-lib.App", - "version": "2.118.0" + "version": "2.127.0" } } } \ No newline at end of file diff --git a/source/patterns/@aws-solutions-constructs/aws-eventbridge-stepfunctions/test/integ.evtstp-eventbridge-stepfunctions-new-eventbus.js.snapshot/evtstp-eventbridge-stepfunctions-new-eventbus.assets.json b/source/patterns/@aws-solutions-constructs/aws-eventbridge-stepfunctions/test/integ.evtstp-eventbridge-stepfunctions-new-eventbus.js.snapshot/evtstp-eventbridge-stepfunctions-new-eventbus.assets.json index 0ed97f66f..4c358967d 100644 --- a/source/patterns/@aws-solutions-constructs/aws-eventbridge-stepfunctions/test/integ.evtstp-eventbridge-stepfunctions-new-eventbus.js.snapshot/evtstp-eventbridge-stepfunctions-new-eventbus.assets.json +++ b/source/patterns/@aws-solutions-constructs/aws-eventbridge-stepfunctions/test/integ.evtstp-eventbridge-stepfunctions-new-eventbus.js.snapshot/evtstp-eventbridge-stepfunctions-new-eventbus.assets.json @@ -14,7 +14,7 @@ } } }, - "77eef7e739010c62019a5bfb6ef61e6023763053f1ea538684c0f435b18a7426": { + "d4212e8d929b062b40e40dcfbacaede417427324202a45b045106e146029e41f": { "source": { "path": "evtstp-eventbridge-stepfunctions-new-eventbus.template.json", "packaging": "file" @@ -22,7 +22,7 @@ "destinations": { "current_account-current_region": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", - "objectKey": "77eef7e739010c62019a5bfb6ef61e6023763053f1ea538684c0f435b18a7426.json", + "objectKey": "d4212e8d929b062b40e40dcfbacaede417427324202a45b045106e146029e41f.json", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" } } diff --git a/source/patterns/@aws-solutions-constructs/aws-eventbridge-stepfunctions/test/integ.evtstp-eventbridge-stepfunctions-new-eventbus.js.snapshot/evtstp-eventbridge-stepfunctions-new-eventbus.template.json b/source/patterns/@aws-solutions-constructs/aws-eventbridge-stepfunctions/test/integ.evtstp-eventbridge-stepfunctions-new-eventbus.js.snapshot/evtstp-eventbridge-stepfunctions-new-eventbus.template.json index 335b6777b..a5d72bae2 100644 --- a/source/patterns/@aws-solutions-constructs/aws-eventbridge-stepfunctions/test/integ.evtstp-eventbridge-stepfunctions-new-eventbus.js.snapshot/evtstp-eventbridge-stepfunctions-new-eventbus.template.json +++ b/source/patterns/@aws-solutions-constructs/aws-eventbridge-stepfunctions/test/integ.evtstp-eventbridge-stepfunctions-new-eventbus.js.snapshot/evtstp-eventbridge-stepfunctions-new-eventbus.template.json @@ -211,11 +211,6 @@ "logs:ListLogDeliveries" ], "Effect": "Allow", - "Resource": "*" - }, - { - "Action": "lambda:InvokeFunction", - "Effect": "Allow", "Resource": [ { "Fn::GetAtt": [ @@ -239,6 +234,20 @@ } ] }, + { + "Action": [ + "logs:CreateLogDelivery", + "logs:DeleteLogDelivery", + "logs:DescribeLogGroups", + "logs:DescribeResourcePolicies", + "logs:GetLogDelivery", + "logs:ListLogDeliveries", + "logs:PutResourcePolicy", + "logs:UpdateLogDelivery" + ], + "Effect": "Allow", + "Resource": "*" + }, { "Action": [ "logs:DescribeLogGroups", diff --git a/source/patterns/@aws-solutions-constructs/aws-eventbridge-stepfunctions/test/integ.evtstp-eventbridge-stepfunctions-new-eventbus.js.snapshot/manifest.json b/source/patterns/@aws-solutions-constructs/aws-eventbridge-stepfunctions/test/integ.evtstp-eventbridge-stepfunctions-new-eventbus.js.snapshot/manifest.json index 144ddaa10..a2406b4d9 100644 --- a/source/patterns/@aws-solutions-constructs/aws-eventbridge-stepfunctions/test/integ.evtstp-eventbridge-stepfunctions-new-eventbus.js.snapshot/manifest.json +++ b/source/patterns/@aws-solutions-constructs/aws-eventbridge-stepfunctions/test/integ.evtstp-eventbridge-stepfunctions-new-eventbus.js.snapshot/manifest.json @@ -66,7 +66,7 @@ "validateOnSynth": false, "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}", "cloudFormationExecutionRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}", - "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/77eef7e739010c62019a5bfb6ef61e6023763053f1ea538684c0f435b18a7426.json", + "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/d4212e8d929b062b40e40dcfbacaede417427324202a45b045106e146029e41f.json", "requiresBootstrapStackVersion": 6, "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version", "additionalDependencies": [ diff --git a/source/patterns/@aws-solutions-constructs/aws-eventbridge-stepfunctions/test/integ.evtstp-eventbridge-stepfunctions-new-eventbus.js.snapshot/tree.json b/source/patterns/@aws-solutions-constructs/aws-eventbridge-stepfunctions/test/integ.evtstp-eventbridge-stepfunctions-new-eventbus.js.snapshot/tree.json index ed038695c..d907f441a 100644 --- a/source/patterns/@aws-solutions-constructs/aws-eventbridge-stepfunctions/test/integ.evtstp-eventbridge-stepfunctions-new-eventbus.js.snapshot/tree.json +++ b/source/patterns/@aws-solutions-constructs/aws-eventbridge-stepfunctions/test/integ.evtstp-eventbridge-stepfunctions-new-eventbus.js.snapshot/tree.json @@ -17,7 +17,7 @@ "path": "evtstp-eventbridge-stepfunctions-new-eventbus/LambdaFunctionServiceRole/ImportLambdaFunctionServiceRole", "constructInfo": { "fqn": "aws-cdk-lib.Resource", - "version": "2.118.0" + "version": "2.127.0" } }, "Resource": { @@ -80,7 +80,7 @@ }, "constructInfo": { "fqn": "aws-cdk-lib.aws_iam.CfnRole", - "version": "2.118.0" + "version": "2.127.0" } }, "DefaultPolicy": { @@ -116,19 +116,19 @@ }, "constructInfo": { "fqn": "aws-cdk-lib.aws_iam.CfnPolicy", - "version": "2.118.0" + "version": "2.127.0" } } }, "constructInfo": { "fqn": "aws-cdk-lib.aws_iam.Policy", - "version": "2.118.0" + "version": "2.127.0" } } }, "constructInfo": { "fqn": "aws-cdk-lib.aws_iam.Role", - "version": "2.118.0" + "version": "2.127.0" } }, "LambdaFunction": { @@ -144,7 +144,7 @@ "path": "evtstp-eventbridge-stepfunctions-new-eventbus/LambdaFunction/Code/Stage", "constructInfo": { "fqn": "aws-cdk-lib.AssetStaging", - "version": "2.118.0" + "version": "2.127.0" } }, "AssetBucket": { @@ -152,13 +152,13 @@ "path": "evtstp-eventbridge-stepfunctions-new-eventbus/LambdaFunction/Code/AssetBucket", "constructInfo": { "fqn": "aws-cdk-lib.aws_s3.BucketBase", - "version": "2.118.0" + "version": "2.127.0" } } }, "constructInfo": { "fqn": "aws-cdk-lib.aws_s3_assets.Asset", - "version": "2.118.0" + "version": "2.127.0" } }, "Resource": { @@ -193,13 +193,13 @@ }, "constructInfo": { "fqn": "aws-cdk-lib.aws_lambda.CfnFunction", - "version": "2.118.0" + "version": "2.127.0" } } }, "constructInfo": { "fqn": "aws-cdk-lib.aws_lambda.Function", - "version": "2.118.0" + "version": "2.127.0" } }, "LambdaTask": { @@ -207,7 +207,7 @@ "path": "evtstp-eventbridge-stepfunctions-new-eventbus/LambdaTask", "constructInfo": { "fqn": "aws-cdk-lib.aws_stepfunctions_tasks.LambdaInvoke", - "version": "2.118.0" + "version": "2.127.0" } }, "StartState": { @@ -215,7 +215,7 @@ "path": "evtstp-eventbridge-stepfunctions-new-eventbus/StartState", "constructInfo": { "fqn": "aws-cdk-lib.aws_stepfunctions.Pass", - "version": "2.118.0" + "version": "2.127.0" } }, "test-eventbridge-stepfunctions-new-eventbus-construct": { @@ -257,13 +257,13 @@ }, "constructInfo": { "fqn": "aws-cdk-lib.aws_logs.CfnLogGroup", - "version": "2.118.0" + "version": "2.127.0" } } }, "constructInfo": { "fqn": "aws-cdk-lib.aws_logs.LogGroup", - "version": "2.118.0" + "version": "2.127.0" } }, "StateMachine": { @@ -279,7 +279,7 @@ "path": "evtstp-eventbridge-stepfunctions-new-eventbus/test-eventbridge-stepfunctions-new-eventbus-construct/StateMachine/Role/ImportRole", "constructInfo": { "fqn": "aws-cdk-lib.Resource", - "version": "2.118.0" + "version": "2.127.0" } }, "Resource": { @@ -304,7 +304,7 @@ }, "constructInfo": { "fqn": "aws-cdk-lib.aws_iam.CfnRole", - "version": "2.118.0" + "version": "2.127.0" } }, "DefaultPolicy": { @@ -319,20 +319,6 @@ "aws:cdk:cloudformation:props": { "policyDocument": { "Statement": [ - { - "Action": [ - "logs:CreateLogDelivery", - "logs:DeleteLogDelivery", - "logs:DescribeLogGroups", - "logs:DescribeResourcePolicies", - "logs:GetLogDelivery", - "logs:ListLogDeliveries", - "logs:PutResourcePolicy", - "logs:UpdateLogDelivery" - ], - "Effect": "Allow", - "Resource": "*" - }, { "Action": "lambda:InvokeFunction", "Effect": "Allow", @@ -359,6 +345,20 @@ } ] }, + { + "Action": [ + "logs:CreateLogDelivery", + "logs:DeleteLogDelivery", + "logs:DescribeLogGroups", + "logs:DescribeResourcePolicies", + "logs:GetLogDelivery", + "logs:ListLogDeliveries", + "logs:PutResourcePolicy", + "logs:UpdateLogDelivery" + ], + "Effect": "Allow", + "Resource": "*" + }, { "Action": [ "logs:DescribeLogGroups", @@ -400,19 +400,19 @@ }, "constructInfo": { "fqn": "aws-cdk-lib.aws_iam.CfnPolicy", - "version": "2.118.0" + "version": "2.127.0" } } }, "constructInfo": { "fqn": "aws-cdk-lib.aws_iam.Policy", - "version": "2.118.0" + "version": "2.127.0" } } }, "constructInfo": { "fqn": "aws-cdk-lib.aws_iam.Role", - "version": "2.118.0" + "version": "2.127.0" } }, "Resource": { @@ -465,13 +465,13 @@ }, "constructInfo": { "fqn": "aws-cdk-lib.aws_stepfunctions.CfnStateMachine", - "version": "2.118.0" + "version": "2.127.0" } } }, "constructInfo": { "fqn": "aws-cdk-lib.aws_stepfunctions.StateMachine", - "version": "2.118.0" + "version": "2.127.0" } }, "EventsRuleRole": { @@ -483,7 +483,7 @@ "path": "evtstp-eventbridge-stepfunctions-new-eventbus/test-eventbridge-stepfunctions-new-eventbus-construct/EventsRuleRole/ImportEventsRuleRole", "constructInfo": { "fqn": "aws-cdk-lib.Resource", - "version": "2.118.0" + "version": "2.127.0" } }, "Resource": { @@ -508,7 +508,7 @@ }, "constructInfo": { "fqn": "aws-cdk-lib.aws_iam.CfnRole", - "version": "2.118.0" + "version": "2.127.0" } }, "DefaultPolicy": { @@ -543,19 +543,19 @@ }, "constructInfo": { "fqn": "aws-cdk-lib.aws_iam.CfnPolicy", - "version": "2.118.0" + "version": "2.127.0" } } }, "constructInfo": { "fqn": "aws-cdk-lib.aws_iam.Policy", - "version": "2.118.0" + "version": "2.127.0" } } }, "constructInfo": { "fqn": "aws-cdk-lib.aws_iam.Role", - "version": "2.118.0" + "version": "2.127.0" } }, "test-new": { @@ -573,13 +573,13 @@ }, "constructInfo": { "fqn": "aws-cdk-lib.aws_events.CfnEventBus", - "version": "2.118.0" + "version": "2.127.0" } } }, "constructInfo": { "fqn": "aws-cdk-lib.aws_events.EventBus", - "version": "2.118.0" + "version": "2.127.0" } }, "EventsRule": { @@ -619,13 +619,13 @@ }, "constructInfo": { "fqn": "aws-cdk-lib.aws_events.CfnRule", - "version": "2.118.0" + "version": "2.127.0" } } }, "constructInfo": { "fqn": "aws-cdk-lib.aws_events.Rule", - "version": "2.118.0" + "version": "2.127.0" } }, "ExecutionFailedAlarm": { @@ -658,13 +658,13 @@ }, "constructInfo": { "fqn": "aws-cdk-lib.aws_cloudwatch.CfnAlarm", - "version": "2.118.0" + "version": "2.127.0" } } }, "constructInfo": { "fqn": "aws-cdk-lib.aws_cloudwatch.Alarm", - "version": "2.118.0" + "version": "2.127.0" } }, "ExecutionThrottledAlarm": { @@ -697,13 +697,13 @@ }, "constructInfo": { "fqn": "aws-cdk-lib.aws_cloudwatch.CfnAlarm", - "version": "2.118.0" + "version": "2.127.0" } } }, "constructInfo": { "fqn": "aws-cdk-lib.aws_cloudwatch.Alarm", - "version": "2.118.0" + "version": "2.127.0" } }, "ExecutionAbortedAlarm": { @@ -736,19 +736,19 @@ }, "constructInfo": { "fqn": "aws-cdk-lib.aws_cloudwatch.CfnAlarm", - "version": "2.118.0" + "version": "2.127.0" } } }, "constructInfo": { "fqn": "aws-cdk-lib.aws_cloudwatch.Alarm", - "version": "2.118.0" + "version": "2.127.0" } } }, "constructInfo": { "fqn": "@aws-solutions-constructs/aws-eventbridge-stepfunctions.EventbridgeToStepfunctions", - "version": "2.50.0" + "version": "2.52.0" } }, "Integ": { @@ -764,7 +764,7 @@ "path": "evtstp-eventbridge-stepfunctions-new-eventbus/Integ/DefaultTest/Default", "constructInfo": { "fqn": "constructs.Construct", - "version": "10.0.0" + "version": "10.3.0" } }, "DeployAssert": { @@ -776,7 +776,7 @@ "path": "evtstp-eventbridge-stepfunctions-new-eventbus/Integ/DefaultTest/DeployAssert/BootstrapVersion", "constructInfo": { "fqn": "aws-cdk-lib.CfnParameter", - "version": "2.118.0" + "version": "2.127.0" } }, "CheckBootstrapVersion": { @@ -784,25 +784,25 @@ "path": "evtstp-eventbridge-stepfunctions-new-eventbus/Integ/DefaultTest/DeployAssert/CheckBootstrapVersion", "constructInfo": { "fqn": "aws-cdk-lib.CfnRule", - "version": "2.118.0" + "version": "2.127.0" } } }, "constructInfo": { "fqn": "aws-cdk-lib.Stack", - "version": "2.118.0" + "version": "2.127.0" } } }, "constructInfo": { "fqn": "@aws-cdk/integ-tests-alpha.IntegTestCase", - "version": "2.118.0-alpha.0" + "version": "2.127.0-alpha.0" } } }, "constructInfo": { "fqn": "@aws-cdk/integ-tests-alpha.IntegTest", - "version": "2.118.0-alpha.0" + "version": "2.127.0-alpha.0" } }, "BootstrapVersion": { @@ -810,7 +810,7 @@ "path": "evtstp-eventbridge-stepfunctions-new-eventbus/BootstrapVersion", "constructInfo": { "fqn": "aws-cdk-lib.CfnParameter", - "version": "2.118.0" + "version": "2.127.0" } }, "CheckBootstrapVersion": { @@ -818,13 +818,13 @@ "path": "evtstp-eventbridge-stepfunctions-new-eventbus/CheckBootstrapVersion", "constructInfo": { "fqn": "aws-cdk-lib.CfnRule", - "version": "2.118.0" + "version": "2.127.0" } } }, "constructInfo": { "fqn": "aws-cdk-lib.Stack", - "version": "2.118.0" + "version": "2.127.0" } }, "Tree": { @@ -832,13 +832,13 @@ "path": "Tree", "constructInfo": { "fqn": "constructs.Construct", - "version": "10.0.0" + "version": "10.3.0" } } }, "constructInfo": { "fqn": "aws-cdk-lib.App", - "version": "2.118.0" + "version": "2.127.0" } } } \ No newline at end of file diff --git a/source/patterns/@aws-solutions-constructs/aws-eventbridge-stepfunctions/test/integ.evtstp-eventbridge-stepfunctions-with-lambda.js.snapshot/evtstp-eventbridge-stepfunctions-with-lambda.assets.json b/source/patterns/@aws-solutions-constructs/aws-eventbridge-stepfunctions/test/integ.evtstp-eventbridge-stepfunctions-with-lambda.js.snapshot/evtstp-eventbridge-stepfunctions-with-lambda.assets.json index 3287c13a6..c8c39f4ef 100644 --- a/source/patterns/@aws-solutions-constructs/aws-eventbridge-stepfunctions/test/integ.evtstp-eventbridge-stepfunctions-with-lambda.js.snapshot/evtstp-eventbridge-stepfunctions-with-lambda.assets.json +++ b/source/patterns/@aws-solutions-constructs/aws-eventbridge-stepfunctions/test/integ.evtstp-eventbridge-stepfunctions-with-lambda.js.snapshot/evtstp-eventbridge-stepfunctions-with-lambda.assets.json @@ -14,7 +14,7 @@ } } }, - "dacd4f9b2d08469a912b7e1105a34c34ba8abb30d1c329b5737cea180c211fa6": { + "776b897e19bdea233e7a06ee36ebc326740e1dea2cd3f8b004e3f74e904d70ad": { "source": { "path": "evtstp-eventbridge-stepfunctions-with-lambda.template.json", "packaging": "file" @@ -22,7 +22,7 @@ "destinations": { "current_account-current_region": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", - "objectKey": "dacd4f9b2d08469a912b7e1105a34c34ba8abb30d1c329b5737cea180c211fa6.json", + "objectKey": "776b897e19bdea233e7a06ee36ebc326740e1dea2cd3f8b004e3f74e904d70ad.json", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" } } diff --git a/source/patterns/@aws-solutions-constructs/aws-eventbridge-stepfunctions/test/integ.evtstp-eventbridge-stepfunctions-with-lambda.js.snapshot/evtstp-eventbridge-stepfunctions-with-lambda.template.json b/source/patterns/@aws-solutions-constructs/aws-eventbridge-stepfunctions/test/integ.evtstp-eventbridge-stepfunctions-with-lambda.js.snapshot/evtstp-eventbridge-stepfunctions-with-lambda.template.json index 4fd5ddff2..1cb94e839 100644 --- a/source/patterns/@aws-solutions-constructs/aws-eventbridge-stepfunctions/test/integ.evtstp-eventbridge-stepfunctions-with-lambda.js.snapshot/evtstp-eventbridge-stepfunctions-with-lambda.template.json +++ b/source/patterns/@aws-solutions-constructs/aws-eventbridge-stepfunctions/test/integ.evtstp-eventbridge-stepfunctions-with-lambda.js.snapshot/evtstp-eventbridge-stepfunctions-with-lambda.template.json @@ -211,11 +211,6 @@ "logs:ListLogDeliveries" ], "Effect": "Allow", - "Resource": "*" - }, - { - "Action": "lambda:InvokeFunction", - "Effect": "Allow", "Resource": [ { "Fn::GetAtt": [ @@ -239,6 +234,20 @@ } ] }, + { + "Action": [ + "logs:CreateLogDelivery", + "logs:DeleteLogDelivery", + "logs:DescribeLogGroups", + "logs:DescribeResourcePolicies", + "logs:GetLogDelivery", + "logs:ListLogDeliveries", + "logs:PutResourcePolicy", + "logs:UpdateLogDelivery" + ], + "Effect": "Allow", + "Resource": "*" + }, { "Action": [ "logs:DescribeLogGroups", diff --git a/source/patterns/@aws-solutions-constructs/aws-eventbridge-stepfunctions/test/integ.evtstp-eventbridge-stepfunctions-with-lambda.js.snapshot/manifest.json b/source/patterns/@aws-solutions-constructs/aws-eventbridge-stepfunctions/test/integ.evtstp-eventbridge-stepfunctions-with-lambda.js.snapshot/manifest.json index 5b3d625d9..72f57da58 100644 --- a/source/patterns/@aws-solutions-constructs/aws-eventbridge-stepfunctions/test/integ.evtstp-eventbridge-stepfunctions-with-lambda.js.snapshot/manifest.json +++ b/source/patterns/@aws-solutions-constructs/aws-eventbridge-stepfunctions/test/integ.evtstp-eventbridge-stepfunctions-with-lambda.js.snapshot/manifest.json @@ -66,7 +66,7 @@ "validateOnSynth": false, "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}", "cloudFormationExecutionRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}", - "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/dacd4f9b2d08469a912b7e1105a34c34ba8abb30d1c329b5737cea180c211fa6.json", + "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/776b897e19bdea233e7a06ee36ebc326740e1dea2cd3f8b004e3f74e904d70ad.json", "requiresBootstrapStackVersion": 6, "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version", "additionalDependencies": [ diff --git a/source/patterns/@aws-solutions-constructs/aws-eventbridge-stepfunctions/test/integ.evtstp-eventbridge-stepfunctions-with-lambda.js.snapshot/tree.json b/source/patterns/@aws-solutions-constructs/aws-eventbridge-stepfunctions/test/integ.evtstp-eventbridge-stepfunctions-with-lambda.js.snapshot/tree.json index 7bda26746..1c7514c45 100644 --- a/source/patterns/@aws-solutions-constructs/aws-eventbridge-stepfunctions/test/integ.evtstp-eventbridge-stepfunctions-with-lambda.js.snapshot/tree.json +++ b/source/patterns/@aws-solutions-constructs/aws-eventbridge-stepfunctions/test/integ.evtstp-eventbridge-stepfunctions-with-lambda.js.snapshot/tree.json @@ -17,7 +17,7 @@ "path": "evtstp-eventbridge-stepfunctions-with-lambda/LambdaFunctionServiceRole/ImportLambdaFunctionServiceRole", "constructInfo": { "fqn": "aws-cdk-lib.Resource", - "version": "2.118.0" + "version": "2.127.0" } }, "Resource": { @@ -80,7 +80,7 @@ }, "constructInfo": { "fqn": "aws-cdk-lib.aws_iam.CfnRole", - "version": "2.118.0" + "version": "2.127.0" } }, "DefaultPolicy": { @@ -116,19 +116,19 @@ }, "constructInfo": { "fqn": "aws-cdk-lib.aws_iam.CfnPolicy", - "version": "2.118.0" + "version": "2.127.0" } } }, "constructInfo": { "fqn": "aws-cdk-lib.aws_iam.Policy", - "version": "2.118.0" + "version": "2.127.0" } } }, "constructInfo": { "fqn": "aws-cdk-lib.aws_iam.Role", - "version": "2.118.0" + "version": "2.127.0" } }, "LambdaFunction": { @@ -144,7 +144,7 @@ "path": "evtstp-eventbridge-stepfunctions-with-lambda/LambdaFunction/Code/Stage", "constructInfo": { "fqn": "aws-cdk-lib.AssetStaging", - "version": "2.118.0" + "version": "2.127.0" } }, "AssetBucket": { @@ -152,13 +152,13 @@ "path": "evtstp-eventbridge-stepfunctions-with-lambda/LambdaFunction/Code/AssetBucket", "constructInfo": { "fqn": "aws-cdk-lib.aws_s3.BucketBase", - "version": "2.118.0" + "version": "2.127.0" } } }, "constructInfo": { "fqn": "aws-cdk-lib.aws_s3_assets.Asset", - "version": "2.118.0" + "version": "2.127.0" } }, "Resource": { @@ -193,13 +193,13 @@ }, "constructInfo": { "fqn": "aws-cdk-lib.aws_lambda.CfnFunction", - "version": "2.118.0" + "version": "2.127.0" } } }, "constructInfo": { "fqn": "aws-cdk-lib.aws_lambda.Function", - "version": "2.118.0" + "version": "2.127.0" } }, "LambdaTask": { @@ -207,7 +207,7 @@ "path": "evtstp-eventbridge-stepfunctions-with-lambda/LambdaTask", "constructInfo": { "fqn": "aws-cdk-lib.aws_stepfunctions_tasks.LambdaInvoke", - "version": "2.118.0" + "version": "2.127.0" } }, "StartState": { @@ -215,7 +215,7 @@ "path": "evtstp-eventbridge-stepfunctions-with-lambda/StartState", "constructInfo": { "fqn": "aws-cdk-lib.aws_stepfunctions.Pass", - "version": "2.118.0" + "version": "2.127.0" } }, "test-eventbridge-stepfunctions-and-lambda-construct": { @@ -257,13 +257,13 @@ }, "constructInfo": { "fqn": "aws-cdk-lib.aws_logs.CfnLogGroup", - "version": "2.118.0" + "version": "2.127.0" } } }, "constructInfo": { "fqn": "aws-cdk-lib.aws_logs.LogGroup", - "version": "2.118.0" + "version": "2.127.0" } }, "StateMachine": { @@ -279,7 +279,7 @@ "path": "evtstp-eventbridge-stepfunctions-with-lambda/test-eventbridge-stepfunctions-and-lambda-construct/StateMachine/Role/ImportRole", "constructInfo": { "fqn": "aws-cdk-lib.Resource", - "version": "2.118.0" + "version": "2.127.0" } }, "Resource": { @@ -304,7 +304,7 @@ }, "constructInfo": { "fqn": "aws-cdk-lib.aws_iam.CfnRole", - "version": "2.118.0" + "version": "2.127.0" } }, "DefaultPolicy": { @@ -319,20 +319,6 @@ "aws:cdk:cloudformation:props": { "policyDocument": { "Statement": [ - { - "Action": [ - "logs:CreateLogDelivery", - "logs:DeleteLogDelivery", - "logs:DescribeLogGroups", - "logs:DescribeResourcePolicies", - "logs:GetLogDelivery", - "logs:ListLogDeliveries", - "logs:PutResourcePolicy", - "logs:UpdateLogDelivery" - ], - "Effect": "Allow", - "Resource": "*" - }, { "Action": "lambda:InvokeFunction", "Effect": "Allow", @@ -359,6 +345,20 @@ } ] }, + { + "Action": [ + "logs:CreateLogDelivery", + "logs:DeleteLogDelivery", + "logs:DescribeLogGroups", + "logs:DescribeResourcePolicies", + "logs:GetLogDelivery", + "logs:ListLogDeliveries", + "logs:PutResourcePolicy", + "logs:UpdateLogDelivery" + ], + "Effect": "Allow", + "Resource": "*" + }, { "Action": [ "logs:DescribeLogGroups", @@ -400,19 +400,19 @@ }, "constructInfo": { "fqn": "aws-cdk-lib.aws_iam.CfnPolicy", - "version": "2.118.0" + "version": "2.127.0" } } }, "constructInfo": { "fqn": "aws-cdk-lib.aws_iam.Policy", - "version": "2.118.0" + "version": "2.127.0" } } }, "constructInfo": { "fqn": "aws-cdk-lib.aws_iam.Role", - "version": "2.118.0" + "version": "2.127.0" } }, "Resource": { @@ -465,13 +465,13 @@ }, "constructInfo": { "fqn": "aws-cdk-lib.aws_stepfunctions.CfnStateMachine", - "version": "2.118.0" + "version": "2.127.0" } } }, "constructInfo": { "fqn": "aws-cdk-lib.aws_stepfunctions.StateMachine", - "version": "2.118.0" + "version": "2.127.0" } }, "EventsRuleRole": { @@ -483,7 +483,7 @@ "path": "evtstp-eventbridge-stepfunctions-with-lambda/test-eventbridge-stepfunctions-and-lambda-construct/EventsRuleRole/ImportEventsRuleRole", "constructInfo": { "fqn": "aws-cdk-lib.Resource", - "version": "2.118.0" + "version": "2.127.0" } }, "Resource": { @@ -508,7 +508,7 @@ }, "constructInfo": { "fqn": "aws-cdk-lib.aws_iam.CfnRole", - "version": "2.118.0" + "version": "2.127.0" } }, "DefaultPolicy": { @@ -543,19 +543,19 @@ }, "constructInfo": { "fqn": "aws-cdk-lib.aws_iam.CfnPolicy", - "version": "2.118.0" + "version": "2.127.0" } } }, "constructInfo": { "fqn": "aws-cdk-lib.aws_iam.Policy", - "version": "2.118.0" + "version": "2.127.0" } } }, "constructInfo": { "fqn": "aws-cdk-lib.aws_iam.Role", - "version": "2.118.0" + "version": "2.127.0" } }, "EventsRule": { @@ -588,13 +588,13 @@ }, "constructInfo": { "fqn": "aws-cdk-lib.aws_events.CfnRule", - "version": "2.118.0" + "version": "2.127.0" } } }, "constructInfo": { "fqn": "aws-cdk-lib.aws_events.Rule", - "version": "2.118.0" + "version": "2.127.0" } }, "ExecutionFailedAlarm": { @@ -627,13 +627,13 @@ }, "constructInfo": { "fqn": "aws-cdk-lib.aws_cloudwatch.CfnAlarm", - "version": "2.118.0" + "version": "2.127.0" } } }, "constructInfo": { "fqn": "aws-cdk-lib.aws_cloudwatch.Alarm", - "version": "2.118.0" + "version": "2.127.0" } }, "ExecutionThrottledAlarm": { @@ -666,13 +666,13 @@ }, "constructInfo": { "fqn": "aws-cdk-lib.aws_cloudwatch.CfnAlarm", - "version": "2.118.0" + "version": "2.127.0" } } }, "constructInfo": { "fqn": "aws-cdk-lib.aws_cloudwatch.Alarm", - "version": "2.118.0" + "version": "2.127.0" } }, "ExecutionAbortedAlarm": { @@ -705,19 +705,19 @@ }, "constructInfo": { "fqn": "aws-cdk-lib.aws_cloudwatch.CfnAlarm", - "version": "2.118.0" + "version": "2.127.0" } } }, "constructInfo": { "fqn": "aws-cdk-lib.aws_cloudwatch.Alarm", - "version": "2.118.0" + "version": "2.127.0" } } }, "constructInfo": { "fqn": "@aws-solutions-constructs/aws-eventbridge-stepfunctions.EventbridgeToStepfunctions", - "version": "2.50.0" + "version": "2.52.0" } }, "Integ": { @@ -733,7 +733,7 @@ "path": "evtstp-eventbridge-stepfunctions-with-lambda/Integ/DefaultTest/Default", "constructInfo": { "fqn": "constructs.Construct", - "version": "10.0.0" + "version": "10.3.0" } }, "DeployAssert": { @@ -745,7 +745,7 @@ "path": "evtstp-eventbridge-stepfunctions-with-lambda/Integ/DefaultTest/DeployAssert/BootstrapVersion", "constructInfo": { "fqn": "aws-cdk-lib.CfnParameter", - "version": "2.118.0" + "version": "2.127.0" } }, "CheckBootstrapVersion": { @@ -753,25 +753,25 @@ "path": "evtstp-eventbridge-stepfunctions-with-lambda/Integ/DefaultTest/DeployAssert/CheckBootstrapVersion", "constructInfo": { "fqn": "aws-cdk-lib.CfnRule", - "version": "2.118.0" + "version": "2.127.0" } } }, "constructInfo": { "fqn": "aws-cdk-lib.Stack", - "version": "2.118.0" + "version": "2.127.0" } } }, "constructInfo": { "fqn": "@aws-cdk/integ-tests-alpha.IntegTestCase", - "version": "2.118.0-alpha.0" + "version": "2.127.0-alpha.0" } } }, "constructInfo": { "fqn": "@aws-cdk/integ-tests-alpha.IntegTest", - "version": "2.118.0-alpha.0" + "version": "2.127.0-alpha.0" } }, "BootstrapVersion": { @@ -779,7 +779,7 @@ "path": "evtstp-eventbridge-stepfunctions-with-lambda/BootstrapVersion", "constructInfo": { "fqn": "aws-cdk-lib.CfnParameter", - "version": "2.118.0" + "version": "2.127.0" } }, "CheckBootstrapVersion": { @@ -787,13 +787,13 @@ "path": "evtstp-eventbridge-stepfunctions-with-lambda/CheckBootstrapVersion", "constructInfo": { "fqn": "aws-cdk-lib.CfnRule", - "version": "2.118.0" + "version": "2.127.0" } } }, "constructInfo": { "fqn": "aws-cdk-lib.Stack", - "version": "2.118.0" + "version": "2.127.0" } }, "Tree": { @@ -801,13 +801,13 @@ "path": "Tree", "constructInfo": { "fqn": "constructs.Construct", - "version": "10.0.0" + "version": "10.3.0" } } }, "constructInfo": { "fqn": "aws-cdk-lib.App", - "version": "2.118.0" + "version": "2.127.0" } } } \ No newline at end of file diff --git a/source/patterns/@aws-solutions-constructs/aws-fargate-kinesisstreams/test/cdk-integ.out.integ.farkin-noArguments.js.snapshot/asset.dd5711540f04e06aa955d7f4862fc04e8cdea464cb590dae91ed2976bb78098e/__entrypoint__.js b/source/patterns/@aws-solutions-constructs/aws-fargate-kinesisstreams/test/cdk-integ.out.integ.farkin-noArguments.js.snapshot/asset.dd5711540f04e06aa955d7f4862fc04e8cdea464cb590dae91ed2976bb78098e/__entrypoint__.js new file mode 100644 index 000000000..5a1714e02 --- /dev/null +++ b/source/patterns/@aws-solutions-constructs/aws-fargate-kinesisstreams/test/cdk-integ.out.integ.farkin-noArguments.js.snapshot/asset.dd5711540f04e06aa955d7f4862fc04e8cdea464cb590dae91ed2976bb78098e/__entrypoint__.js @@ -0,0 +1 @@ +"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.withRetries=exports.handler=exports.external=void 0;const https=require("https"),url=require("url");exports.external={sendHttpRequest:defaultSendHttpRequest,log:defaultLog,includeStackTraces:!0,userHandlerIndex:"./index"};const CREATE_FAILED_PHYSICAL_ID_MARKER="AWSCDK::CustomResourceProviderFramework::CREATE_FAILED",MISSING_PHYSICAL_ID_MARKER="AWSCDK::CustomResourceProviderFramework::MISSING_PHYSICAL_ID";async function handler(event,context){const sanitizedEvent={...event,ResponseURL:"..."};if(exports.external.log(JSON.stringify(sanitizedEvent,void 0,2)),event.RequestType==="Delete"&&event.PhysicalResourceId===CREATE_FAILED_PHYSICAL_ID_MARKER){exports.external.log("ignoring DELETE event caused by a failed CREATE event"),await submitResponse("SUCCESS",event);return}try{const userHandler=require(exports.external.userHandlerIndex).handler,result=await userHandler(sanitizedEvent,context),responseEvent=renderResponse(event,result);await submitResponse("SUCCESS",responseEvent)}catch(e){const resp={...event,Reason:exports.external.includeStackTraces?e.stack:e.message};resp.PhysicalResourceId||(event.RequestType==="Create"?(exports.external.log("CREATE failed, responding with a marker physical resource id so that the subsequent DELETE will be ignored"),resp.PhysicalResourceId=CREATE_FAILED_PHYSICAL_ID_MARKER):exports.external.log(`ERROR: Malformed event. "PhysicalResourceId" is required: ${JSON.stringify(event)}`)),await submitResponse("FAILED",resp)}}exports.handler=handler;function renderResponse(cfnRequest,handlerResponse={}){const physicalResourceId=handlerResponse.PhysicalResourceId??cfnRequest.PhysicalResourceId??cfnRequest.RequestId;if(cfnRequest.RequestType==="Delete"&&physicalResourceId!==cfnRequest.PhysicalResourceId)throw new Error(`DELETE: cannot change the physical resource ID from "${cfnRequest.PhysicalResourceId}" to "${handlerResponse.PhysicalResourceId}" during deletion`);return{...cfnRequest,...handlerResponse,PhysicalResourceId:physicalResourceId}}async function submitResponse(status,event){const json={Status:status,Reason:event.Reason??status,StackId:event.StackId,RequestId:event.RequestId,PhysicalResourceId:event.PhysicalResourceId||MISSING_PHYSICAL_ID_MARKER,LogicalResourceId:event.LogicalResourceId,NoEcho:event.NoEcho,Data:event.Data};exports.external.log("submit response to cloudformation",json);const responseBody=JSON.stringify(json),parsedUrl=url.parse(event.ResponseURL),req={hostname:parsedUrl.hostname,path:parsedUrl.path,method:"PUT",headers:{"content-type":"","content-length":Buffer.byteLength(responseBody,"utf8")}};await withRetries({attempts:5,sleep:1e3},exports.external.sendHttpRequest)(req,responseBody)}async function defaultSendHttpRequest(options,responseBody){return new Promise((resolve,reject)=>{try{const request=https.request(options,_=>resolve());request.on("error",reject),request.write(responseBody),request.end()}catch(e){reject(e)}})}function defaultLog(fmt,...params){console.log(fmt,...params)}function withRetries(options,fn){return async(...xs)=>{let attempts=options.attempts,ms=options.sleep;for(;;)try{return await fn(...xs)}catch(e){if(attempts--<=0)throw e;await sleep(Math.floor(Math.random()*ms)),ms*=2}}}exports.withRetries=withRetries;async function sleep(ms){return new Promise(ok=>setTimeout(ok,ms))} diff --git a/source/patterns/@aws-solutions-constructs/aws-fargate-kinesisstreams/test/cdk-integ.out.integ.farkin-noArguments.js.snapshot/asset.dd5711540f04e06aa955d7f4862fc04e8cdea464cb590dae91ed2976bb78098e/index.js b/source/patterns/@aws-solutions-constructs/aws-fargate-kinesisstreams/test/cdk-integ.out.integ.farkin-noArguments.js.snapshot/asset.dd5711540f04e06aa955d7f4862fc04e8cdea464cb590dae91ed2976bb78098e/index.js new file mode 100644 index 000000000..9f1466d2e --- /dev/null +++ b/source/patterns/@aws-solutions-constructs/aws-fargate-kinesisstreams/test/cdk-integ.out.integ.farkin-noArguments.js.snapshot/asset.dd5711540f04e06aa955d7f4862fc04e8cdea464cb590dae91ed2976bb78098e/index.js @@ -0,0 +1 @@ +"use strict";var I=Object.create,t=Object.defineProperty,y=Object.getOwnPropertyDescriptor,P=Object.getOwnPropertyNames,g=Object.getPrototypeOf,l=Object.prototype.hasOwnProperty,G=(r,e)=>{for(var o in e)t(r,o,{get:e[o],enumerable:!0})},n=(r,e,o,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of P(e))!l.call(r,s)&&s!==o&&t(r,s,{get:()=>e[s],enumerable:!(i=y(e,s))||i.enumerable});return r},R=(r,e,o)=>(o=r!=null?I(g(r)):{},n(e||!r||!r.__esModule?t(o,"default",{value:r,enumerable:!0}):o,r)),S=r=>n(t({},"__esModule",{value:!0}),r),k={};G(k,{handler:()=>f}),module.exports=S(k);var a=R(require("@aws-sdk/client-ec2")),u=new a.EC2({});function c(r,e){return{GroupId:r,IpPermissions:[{UserIdGroupPairs:[{GroupId:r,UserId:e}],IpProtocol:"-1"}]}}function d(r){return{GroupId:r,IpPermissions:[{IpRanges:[{CidrIp:"0.0.0.0/0"}],IpProtocol:"-1"}]}}async function f(r){let e=r.ResourceProperties.DefaultSecurityGroupId,o=r.ResourceProperties.Account;switch(r.RequestType){case"Create":return p(e,o);case"Update":return h(r);case"Delete":return m(e,o)}}async function h(r){let e=r.OldResourceProperties.DefaultSecurityGroupId,o=r.ResourceProperties.DefaultSecurityGroupId;e!==o&&(await m(e,r.ResourceProperties.Account),await p(o,r.ResourceProperties.Account))}async function p(r,e){try{await u.revokeSecurityGroupEgress(d(r))}catch(o){if(o.name!=="InvalidPermission.NotFound")throw o}try{await u.revokeSecurityGroupIngress(c(r,e))}catch(o){if(o.name!=="InvalidPermission.NotFound")throw o}}async function m(r,e){await u.authorizeSecurityGroupIngress(c(r,e)),await u.authorizeSecurityGroupEgress(d(r))} diff --git a/source/patterns/@aws-solutions-constructs/aws-fargate-kinesisstreams/test/cdk-integ.out.integ.farkin-noArguments.js.snapshot/cdk.out b/source/patterns/@aws-solutions-constructs/aws-fargate-kinesisstreams/test/cdk-integ.out.integ.farkin-noArguments.js.snapshot/cdk.out new file mode 100644 index 000000000..1f0068d32 --- /dev/null +++ b/source/patterns/@aws-solutions-constructs/aws-fargate-kinesisstreams/test/cdk-integ.out.integ.farkin-noArguments.js.snapshot/cdk.out @@ -0,0 +1 @@ +{"version":"36.0.0"} \ No newline at end of file diff --git a/source/patterns/@aws-solutions-constructs/aws-fargate-kinesisstreams/test/cdk-integ.out.integ.farkin-noArguments.js.snapshot/farkin-noArguments.assets.json b/source/patterns/@aws-solutions-constructs/aws-fargate-kinesisstreams/test/cdk-integ.out.integ.farkin-noArguments.js.snapshot/farkin-noArguments.assets.json new file mode 100644 index 000000000..e7975998e --- /dev/null +++ b/source/patterns/@aws-solutions-constructs/aws-fargate-kinesisstreams/test/cdk-integ.out.integ.farkin-noArguments.js.snapshot/farkin-noArguments.assets.json @@ -0,0 +1,32 @@ +{ + "version": "36.0.0", + "files": { + "dd5711540f04e06aa955d7f4862fc04e8cdea464cb590dae91ed2976bb78098e": { + "source": { + "path": "asset.dd5711540f04e06aa955d7f4862fc04e8cdea464cb590dae91ed2976bb78098e", + "packaging": "zip" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "dd5711540f04e06aa955d7f4862fc04e8cdea464cb590dae91ed2976bb78098e.zip", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "f756454c9cc0436ac269f6a27baa117e453fc5997e449e776d9c8257c46ac547": { + "source": { + "path": "farkin-noArguments.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "f756454c9cc0436ac269f6a27baa117e453fc5997e449e776d9c8257c46ac547.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/source/patterns/@aws-solutions-constructs/aws-fargate-kinesisstreams/test/cdk-integ.out.integ.farkin-noArguments.js.snapshot/farkin-noArguments.template.json b/source/patterns/@aws-solutions-constructs/aws-fargate-kinesisstreams/test/cdk-integ.out.integ.farkin-noArguments.js.snapshot/farkin-noArguments.template.json new file mode 100644 index 000000000..16edf2f60 --- /dev/null +++ b/source/patterns/@aws-solutions-constructs/aws-fargate-kinesisstreams/test/cdk-integ.out.integ.farkin-noArguments.js.snapshot/farkin-noArguments.template.json @@ -0,0 +1,1225 @@ +{ + "Resources": { + "testfargatekinesisstreamsKinesisStreamD31BD614": { + "Type": "AWS::Kinesis::Stream", + "Properties": { + "RetentionPeriodHours": 24, + "ShardCount": 1, + "StreamEncryption": { + "EncryptionType": "KMS", + "KeyId": "alias/aws/kinesis" + } + } + }, + "testfargatekinesisstreamsKinesisStreamGetRecordsIteratorAgeAlarm60755E90": { + "Type": "AWS::CloudWatch::Alarm", + "Properties": { + "AlarmDescription": "Consumer Record Processing Falling Behind, there is risk for data loss due to record expiration.", + "ComparisonOperator": "GreaterThanOrEqualToThreshold", + "EvaluationPeriods": 1, + "MetricName": "GetRecords.IteratorAgeMilliseconds", + "Namespace": "AWS/Kinesis", + "Period": 300, + "Statistic": "Maximum", + "Threshold": 43200000 + } + }, + "testfargatekinesisstreamsKinesisStreamReadProvisionedThroughputExceededAlarmDE16A9F2": { + "Type": "AWS::CloudWatch::Alarm", + "Properties": { + "AlarmDescription": "Consumer Application is Reading at a Slower Rate Than Expected.", + "ComparisonOperator": "GreaterThanThreshold", + "EvaluationPeriods": 1, + "MetricName": "ReadProvisionedThroughputExceeded", + "Namespace": "AWS/Kinesis", + "Period": 300, + "Statistic": "Average", + "Threshold": 0 + } + }, + "Vpc8378EB38": { + "Type": "AWS::EC2::VPC", + "Properties": { + "CidrBlock": "10.0.0.0/16", + "EnableDnsHostnames": true, + "EnableDnsSupport": true, + "InstanceTenancy": "default", + "Tags": [ + { + "Key": "Name", + "Value": "farkin-noArguments/Vpc" + } + ] + } + }, + "VpcPublicSubnet1Subnet5C2D37C4": { + "Type": "AWS::EC2::Subnet", + "Properties": { + "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": "farkin-noArguments/Vpc/PublicSubnet1" + } + ], + "VpcId": { + "Ref": "Vpc8378EB38" + } + }, + "Metadata": { + "cfn_nag": { + "rules_to_suppress": [ + { + "id": "W33", + "reason": "Allow Public Subnets to have MapPublicIpOnLaunch set to true" + } + ] + } + } + }, + "VpcPublicSubnet1RouteTable6C95E38E": { + "Type": "AWS::EC2::RouteTable", + "Properties": { + "Tags": [ + { + "Key": "Name", + "Value": "farkin-noArguments/Vpc/PublicSubnet1" + } + ], + "VpcId": { + "Ref": "Vpc8378EB38" + } + } + }, + "VpcPublicSubnet1RouteTableAssociation97140677": { + "Type": "AWS::EC2::SubnetRouteTableAssociation", + "Properties": { + "RouteTableId": { + "Ref": "VpcPublicSubnet1RouteTable6C95E38E" + }, + "SubnetId": { + "Ref": "VpcPublicSubnet1Subnet5C2D37C4" + } + } + }, + "VpcPublicSubnet1DefaultRoute3DA9E72A": { + "Type": "AWS::EC2::Route", + "Properties": { + "DestinationCidrBlock": "0.0.0.0/0", + "GatewayId": { + "Ref": "VpcIGWD7BA715C" + }, + "RouteTableId": { + "Ref": "VpcPublicSubnet1RouteTable6C95E38E" + } + }, + "DependsOn": [ + "VpcVPCGWBF912B6E" + ] + }, + "VpcPublicSubnet1EIPD7E02669": { + "Type": "AWS::EC2::EIP", + "Properties": { + "Domain": "vpc", + "Tags": [ + { + "Key": "Name", + "Value": "farkin-noArguments/Vpc/PublicSubnet1" + } + ] + } + }, + "VpcPublicSubnet1NATGateway4D7517AA": { + "Type": "AWS::EC2::NatGateway", + "Properties": { + "AllocationId": { + "Fn::GetAtt": [ + "VpcPublicSubnet1EIPD7E02669", + "AllocationId" + ] + }, + "SubnetId": { + "Ref": "VpcPublicSubnet1Subnet5C2D37C4" + }, + "Tags": [ + { + "Key": "Name", + "Value": "farkin-noArguments/Vpc/PublicSubnet1" + } + ] + }, + "DependsOn": [ + "VpcPublicSubnet1DefaultRoute3DA9E72A", + "VpcPublicSubnet1RouteTableAssociation97140677" + ] + }, + "VpcPublicSubnet2Subnet691E08A3": { + "Type": "AWS::EC2::Subnet", + "Properties": { + "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": "farkin-noArguments/Vpc/PublicSubnet2" + } + ], + "VpcId": { + "Ref": "Vpc8378EB38" + } + }, + "Metadata": { + "cfn_nag": { + "rules_to_suppress": [ + { + "id": "W33", + "reason": "Allow Public Subnets to have MapPublicIpOnLaunch set to true" + } + ] + } + } + }, + "VpcPublicSubnet2RouteTable94F7E489": { + "Type": "AWS::EC2::RouteTable", + "Properties": { + "Tags": [ + { + "Key": "Name", + "Value": "farkin-noArguments/Vpc/PublicSubnet2" + } + ], + "VpcId": { + "Ref": "Vpc8378EB38" + } + } + }, + "VpcPublicSubnet2RouteTableAssociationDD5762D8": { + "Type": "AWS::EC2::SubnetRouteTableAssociation", + "Properties": { + "RouteTableId": { + "Ref": "VpcPublicSubnet2RouteTable94F7E489" + }, + "SubnetId": { + "Ref": "VpcPublicSubnet2Subnet691E08A3" + } + } + }, + "VpcPublicSubnet2DefaultRoute97F91067": { + "Type": "AWS::EC2::Route", + "Properties": { + "DestinationCidrBlock": "0.0.0.0/0", + "GatewayId": { + "Ref": "VpcIGWD7BA715C" + }, + "RouteTableId": { + "Ref": "VpcPublicSubnet2RouteTable94F7E489" + } + }, + "DependsOn": [ + "VpcVPCGWBF912B6E" + ] + }, + "VpcPublicSubnet2EIP3C605A87": { + "Type": "AWS::EC2::EIP", + "Properties": { + "Domain": "vpc", + "Tags": [ + { + "Key": "Name", + "Value": "farkin-noArguments/Vpc/PublicSubnet2" + } + ] + } + }, + "VpcPublicSubnet2NATGateway9182C01D": { + "Type": "AWS::EC2::NatGateway", + "Properties": { + "AllocationId": { + "Fn::GetAtt": [ + "VpcPublicSubnet2EIP3C605A87", + "AllocationId" + ] + }, + "SubnetId": { + "Ref": "VpcPublicSubnet2Subnet691E08A3" + }, + "Tags": [ + { + "Key": "Name", + "Value": "farkin-noArguments/Vpc/PublicSubnet2" + } + ] + }, + "DependsOn": [ + "VpcPublicSubnet2DefaultRoute97F91067", + "VpcPublicSubnet2RouteTableAssociationDD5762D8" + ] + }, + "VpcPrivateSubnet1Subnet536B997A": { + "Type": "AWS::EC2::Subnet", + "Properties": { + "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": "farkin-noArguments/Vpc/PrivateSubnet1" + } + ], + "VpcId": { + "Ref": "Vpc8378EB38" + } + } + }, + "VpcPrivateSubnet1RouteTableB2C5B500": { + "Type": "AWS::EC2::RouteTable", + "Properties": { + "Tags": [ + { + "Key": "Name", + "Value": "farkin-noArguments/Vpc/PrivateSubnet1" + } + ], + "VpcId": { + "Ref": "Vpc8378EB38" + } + } + }, + "VpcPrivateSubnet1RouteTableAssociation70C59FA6": { + "Type": "AWS::EC2::SubnetRouteTableAssociation", + "Properties": { + "RouteTableId": { + "Ref": "VpcPrivateSubnet1RouteTableB2C5B500" + }, + "SubnetId": { + "Ref": "VpcPrivateSubnet1Subnet536B997A" + } + } + }, + "VpcPrivateSubnet1DefaultRouteBE02A9ED": { + "Type": "AWS::EC2::Route", + "Properties": { + "DestinationCidrBlock": "0.0.0.0/0", + "NatGatewayId": { + "Ref": "VpcPublicSubnet1NATGateway4D7517AA" + }, + "RouteTableId": { + "Ref": "VpcPrivateSubnet1RouteTableB2C5B500" + } + } + }, + "VpcPrivateSubnet2Subnet3788AAA1": { + "Type": "AWS::EC2::Subnet", + "Properties": { + "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": "farkin-noArguments/Vpc/PrivateSubnet2" + } + ], + "VpcId": { + "Ref": "Vpc8378EB38" + } + } + }, + "VpcPrivateSubnet2RouteTableA678073B": { + "Type": "AWS::EC2::RouteTable", + "Properties": { + "Tags": [ + { + "Key": "Name", + "Value": "farkin-noArguments/Vpc/PrivateSubnet2" + } + ], + "VpcId": { + "Ref": "Vpc8378EB38" + } + } + }, + "VpcPrivateSubnet2RouteTableAssociationA89CAD56": { + "Type": "AWS::EC2::SubnetRouteTableAssociation", + "Properties": { + "RouteTableId": { + "Ref": "VpcPrivateSubnet2RouteTableA678073B" + }, + "SubnetId": { + "Ref": "VpcPrivateSubnet2Subnet3788AAA1" + } + } + }, + "VpcPrivateSubnet2DefaultRoute060D2087": { + "Type": "AWS::EC2::Route", + "Properties": { + "DestinationCidrBlock": "0.0.0.0/0", + "NatGatewayId": { + "Ref": "VpcPublicSubnet2NATGateway9182C01D" + }, + "RouteTableId": { + "Ref": "VpcPrivateSubnet2RouteTableA678073B" + } + } + }, + "VpcIGWD7BA715C": { + "Type": "AWS::EC2::InternetGateway", + "Properties": { + "Tags": [ + { + "Key": "Name", + "Value": "farkin-noArguments/Vpc" + } + ] + } + }, + "VpcVPCGWBF912B6E": { + "Type": "AWS::EC2::VPCGatewayAttachment", + "Properties": { + "InternetGatewayId": { + "Ref": "VpcIGWD7BA715C" + }, + "VpcId": { + "Ref": "Vpc8378EB38" + } + } + }, + "VpcRestrictDefaultSecurityGroupCustomResourceC73DA2BE": { + "Type": "Custom::VpcRestrictDefaultSG", + "Properties": { + "ServiceToken": { + "Fn::GetAtt": [ + "CustomVpcRestrictDefaultSGCustomResourceProviderHandlerDC833E5E", + "Arn" + ] + }, + "DefaultSecurityGroupId": { + "Fn::GetAtt": [ + "Vpc8378EB38", + "DefaultSecurityGroup" + ] + }, + "Account": { + "Ref": "AWS::AccountId" + } + }, + "UpdateReplacePolicy": "Delete", + "DeletionPolicy": "Delete" + }, + "VpcFlowLogIAMRole6A475D41": { + "Type": "AWS::IAM::Role", + "Properties": { + "AssumeRolePolicyDocument": { + "Statement": [ + { + "Action": "sts:AssumeRole", + "Effect": "Allow", + "Principal": { + "Service": "vpc-flow-logs.amazonaws.com" + } + } + ], + "Version": "2012-10-17" + }, + "Tags": [ + { + "Key": "Name", + "Value": "farkin-noArguments/Vpc/FlowLog" + } + ] + } + }, + "VpcFlowLogIAMRoleDefaultPolicy406FB995": { + "Type": "AWS::IAM::Policy", + "Properties": { + "PolicyDocument": { + "Statement": [ + { + "Action": [ + "logs:CreateLogStream", + "logs:DescribeLogStreams", + "logs:PutLogEvents" + ], + "Effect": "Allow", + "Resource": { + "Fn::GetAtt": [ + "VpcFlowLogLogGroup7B5C56B9", + "Arn" + ] + } + }, + { + "Action": "iam:PassRole", + "Effect": "Allow", + "Resource": { + "Fn::GetAtt": [ + "VpcFlowLogIAMRole6A475D41", + "Arn" + ] + } + } + ], + "Version": "2012-10-17" + }, + "PolicyName": "VpcFlowLogIAMRoleDefaultPolicy406FB995", + "Roles": [ + { + "Ref": "VpcFlowLogIAMRole6A475D41" + } + ] + } + }, + "VpcFlowLogLogGroup7B5C56B9": { + "Type": "AWS::Logs::LogGroup", + "Properties": { + "RetentionInDays": 731, + "Tags": [ + { + "Key": "Name", + "Value": "farkin-noArguments/Vpc/FlowLog" + } + ] + }, + "UpdateReplacePolicy": "Retain", + "DeletionPolicy": "Retain", + "Metadata": { + "cfn_nag": { + "rules_to_suppress": [ + { + "id": "W84", + "reason": "By default CloudWatchLogs LogGroups data is encrypted using the CloudWatch server-side encryption keys (AWS Managed Keys)" + } + ] + } + } + }, + "VpcFlowLog8FF33A73": { + "Type": "AWS::EC2::FlowLog", + "Properties": { + "DeliverLogsPermissionArn": { + "Fn::GetAtt": [ + "VpcFlowLogIAMRole6A475D41", + "Arn" + ] + }, + "LogDestinationType": "cloud-watch-logs", + "LogGroupName": { + "Ref": "VpcFlowLogLogGroup7B5C56B9" + }, + "ResourceId": { + "Ref": "Vpc8378EB38" + }, + "ResourceType": "VPC", + "Tags": [ + { + "Key": "Name", + "Value": "farkin-noArguments/Vpc/FlowLog" + } + ], + "TrafficType": "ALL" + } + }, + "VpcKINESISSTREAMSC07D91B5": { + "Type": "AWS::EC2::VPCEndpoint", + "Properties": { + "PrivateDnsEnabled": true, + "SecurityGroupIds": [ + { + "Fn::GetAtt": [ + "farkinnoArgumentsKINESISSTREAMSsecuritygroup96006AA6", + "GroupId" + ] + } + ], + "ServiceName": { + "Fn::Join": [ + "", + [ + "com.amazonaws.", + { + "Ref": "AWS::Region" + }, + ".kinesis-streams" + ] + ] + }, + "SubnetIds": [ + { + "Ref": "VpcPrivateSubnet1Subnet536B997A" + }, + { + "Ref": "VpcPrivateSubnet2Subnet3788AAA1" + } + ], + "VpcEndpointType": "Interface", + "VpcId": { + "Ref": "Vpc8378EB38" + } + } + }, + "VpcECRAPI9A3B6A2B": { + "Type": "AWS::EC2::VPCEndpoint", + "Properties": { + "PrivateDnsEnabled": true, + "SecurityGroupIds": [ + { + "Fn::GetAtt": [ + "farkinnoArgumentsECRAPIsecuritygroupC89CB01F", + "GroupId" + ] + } + ], + "ServiceName": { + "Fn::Join": [ + "", + [ + "com.amazonaws.", + { + "Ref": "AWS::Region" + }, + ".ecr.api" + ] + ] + }, + "SubnetIds": [ + { + "Ref": "VpcPrivateSubnet1Subnet536B997A" + }, + { + "Ref": "VpcPrivateSubnet2Subnet3788AAA1" + } + ], + "VpcEndpointType": "Interface", + "VpcId": { + "Ref": "Vpc8378EB38" + } + } + }, + "VpcECRDKR604E039F": { + "Type": "AWS::EC2::VPCEndpoint", + "Properties": { + "PrivateDnsEnabled": true, + "SecurityGroupIds": [ + { + "Fn::GetAtt": [ + "farkinnoArgumentsECRDKRsecuritygroupC8F0FF04", + "GroupId" + ] + } + ], + "ServiceName": { + "Fn::Join": [ + "", + [ + "com.amazonaws.", + { + "Ref": "AWS::Region" + }, + ".ecr.dkr" + ] + ] + }, + "SubnetIds": [ + { + "Ref": "VpcPrivateSubnet1Subnet536B997A" + }, + { + "Ref": "VpcPrivateSubnet2Subnet3788AAA1" + } + ], + "VpcEndpointType": "Interface", + "VpcId": { + "Ref": "Vpc8378EB38" + } + } + }, + "VpcS3A5408339": { + "Type": "AWS::EC2::VPCEndpoint", + "Properties": { + "RouteTableIds": [ + { + "Ref": "VpcPrivateSubnet1RouteTableB2C5B500" + }, + { + "Ref": "VpcPrivateSubnet2RouteTableA678073B" + }, + { + "Ref": "VpcPublicSubnet1RouteTable6C95E38E" + }, + { + "Ref": "VpcPublicSubnet2RouteTable94F7E489" + } + ], + "ServiceName": { + "Fn::Join": [ + "", + [ + "com.amazonaws.", + { + "Ref": "AWS::Region" + }, + ".s3" + ] + ] + }, + "VpcEndpointType": "Gateway", + "VpcId": { + "Ref": "Vpc8378EB38" + } + } + }, + "CustomVpcRestrictDefaultSGCustomResourceProviderRole26592FE0": { + "Type": "AWS::IAM::Role", + "Properties": { + "AssumeRolePolicyDocument": { + "Version": "2012-10-17", + "Statement": [ + { + "Action": "sts:AssumeRole", + "Effect": "Allow", + "Principal": { + "Service": "lambda.amazonaws.com" + } + } + ] + }, + "ManagedPolicyArns": [ + { + "Fn::Sub": "arn:${AWS::Partition}:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole" + } + ], + "Policies": [ + { + "PolicyName": "Inline", + "PolicyDocument": { + "Version": "2012-10-17", + "Statement": [ + { + "Effect": "Allow", + "Action": [ + "ec2:AuthorizeSecurityGroupIngress", + "ec2:AuthorizeSecurityGroupEgress", + "ec2:RevokeSecurityGroupIngress", + "ec2:RevokeSecurityGroupEgress" + ], + "Resource": [ + { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":ec2:", + { + "Ref": "AWS::Region" + }, + ":", + { + "Ref": "AWS::AccountId" + }, + ":security-group/", + { + "Fn::GetAtt": [ + "Vpc8378EB38", + "DefaultSecurityGroup" + ] + } + ] + ] + } + ] + } + ] + } + } + ] + } + }, + "CustomVpcRestrictDefaultSGCustomResourceProviderHandlerDC833E5E": { + "Type": "AWS::Lambda::Function", + "Properties": { + "Code": { + "S3Bucket": { + "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" + }, + "S3Key": "dd5711540f04e06aa955d7f4862fc04e8cdea464cb590dae91ed2976bb78098e.zip" + }, + "Timeout": 900, + "MemorySize": 128, + "Handler": "__entrypoint__.handler", + "Role": { + "Fn::GetAtt": [ + "CustomVpcRestrictDefaultSGCustomResourceProviderRole26592FE0", + "Arn" + ] + }, + "Runtime": "nodejs18.x", + "Description": "Lambda function for removing all inbound/outbound rules from the VPC default security group" + }, + "DependsOn": [ + "CustomVpcRestrictDefaultSGCustomResourceProviderRole26592FE0" + ], + "Metadata": { + "cfn_nag": { + "rules_to_suppress": [ + { + "id": "W58", + "reason": "CDK generated custom resource" + }, + { + "id": "W89", + "reason": "CDK generated custom resource" + }, + { + "id": "W92", + "reason": "CDK generated custom resource" + } + ] + } + } + }, + "farkinnoArgumentsKINESISSTREAMSsecuritygroup96006AA6": { + "Type": "AWS::EC2::SecurityGroup", + "Properties": { + "GroupDescription": "farkin-noArguments/farkin-noArguments-KINESIS_STREAMS-security-group", + "SecurityGroupEgress": [ + { + "CidrIp": "0.0.0.0/0", + "Description": "Allow all outbound traffic by default", + "IpProtocol": "-1" + } + ], + "SecurityGroupIngress": [ + { + "CidrIp": { + "Fn::GetAtt": [ + "Vpc8378EB38", + "CidrBlock" + ] + }, + "Description": { + "Fn::Join": [ + "", + [ + "from ", + { + "Fn::GetAtt": [ + "Vpc8378EB38", + "CidrBlock" + ] + }, + ":443" + ] + ] + }, + "FromPort": 443, + "IpProtocol": "tcp", + "ToPort": 443 + } + ], + "VpcId": { + "Ref": "Vpc8378EB38" + } + }, + "Metadata": { + "cfn_nag": { + "rules_to_suppress": [ + { + "id": "W5", + "reason": "Egress of 0.0.0.0/0 is default and generally considered OK" + }, + { + "id": "W40", + "reason": "Egress IPProtocol of -1 is default and generally considered OK" + } + ] + } + } + }, + "farkinnoArgumentsECRAPIsecuritygroupC89CB01F": { + "Type": "AWS::EC2::SecurityGroup", + "Properties": { + "GroupDescription": "farkin-noArguments/farkin-noArguments-ECR_API-security-group", + "SecurityGroupEgress": [ + { + "CidrIp": "0.0.0.0/0", + "Description": "Allow all outbound traffic by default", + "IpProtocol": "-1" + } + ], + "SecurityGroupIngress": [ + { + "CidrIp": { + "Fn::GetAtt": [ + "Vpc8378EB38", + "CidrBlock" + ] + }, + "Description": { + "Fn::Join": [ + "", + [ + "from ", + { + "Fn::GetAtt": [ + "Vpc8378EB38", + "CidrBlock" + ] + }, + ":443" + ] + ] + }, + "FromPort": 443, + "IpProtocol": "tcp", + "ToPort": 443 + } + ], + "VpcId": { + "Ref": "Vpc8378EB38" + } + }, + "Metadata": { + "cfn_nag": { + "rules_to_suppress": [ + { + "id": "W5", + "reason": "Egress of 0.0.0.0/0 is default and generally considered OK" + }, + { + "id": "W40", + "reason": "Egress IPProtocol of -1 is default and generally considered OK" + } + ] + } + } + }, + "farkinnoArgumentsECRDKRsecuritygroupC8F0FF04": { + "Type": "AWS::EC2::SecurityGroup", + "Properties": { + "GroupDescription": "farkin-noArguments/farkin-noArguments-ECR_DKR-security-group", + "SecurityGroupEgress": [ + { + "CidrIp": "0.0.0.0/0", + "Description": "Allow all outbound traffic by default", + "IpProtocol": "-1" + } + ], + "SecurityGroupIngress": [ + { + "CidrIp": { + "Fn::GetAtt": [ + "Vpc8378EB38", + "CidrBlock" + ] + }, + "Description": { + "Fn::Join": [ + "", + [ + "from ", + { + "Fn::GetAtt": [ + "Vpc8378EB38", + "CidrBlock" + ] + }, + ":443" + ] + ] + }, + "FromPort": 443, + "IpProtocol": "tcp", + "ToPort": 443 + } + ], + "VpcId": { + "Ref": "Vpc8378EB38" + } + }, + "Metadata": { + "cfn_nag": { + "rules_to_suppress": [ + { + "id": "W5", + "reason": "Egress of 0.0.0.0/0 is default and generally considered OK" + }, + { + "id": "W40", + "reason": "Egress IPProtocol of -1 is default and generally considered OK" + } + ] + } + } + }, + "testfargatekinesisstreamsclusterEA5A2AD7": { + "Type": "AWS::ECS::Cluster" + }, + "testfargatekinesisstreamstaskdefTaskRole9811F3BE": { + "Type": "AWS::IAM::Role", + "Properties": { + "AssumeRolePolicyDocument": { + "Statement": [ + { + "Action": "sts:AssumeRole", + "Effect": "Allow", + "Principal": { + "Service": "ecs-tasks.amazonaws.com" + } + } + ], + "Version": "2012-10-17" + } + } + }, + "testfargatekinesisstreamstaskdefTaskRoleDefaultPolicyAE7EF3E4": { + "Type": "AWS::IAM::Policy", + "Properties": { + "PolicyDocument": { + "Statement": [ + { + "Action": [ + "kinesis:ListShards", + "kinesis:PutRecord", + "kinesis:PutRecords" + ], + "Effect": "Allow", + "Resource": { + "Fn::GetAtt": [ + "testfargatekinesisstreamsKinesisStreamD31BD614", + "Arn" + ] + } + } + ], + "Version": "2012-10-17" + }, + "PolicyName": "testfargatekinesisstreamstaskdefTaskRoleDefaultPolicyAE7EF3E4", + "Roles": [ + { + "Ref": "testfargatekinesisstreamstaskdefTaskRole9811F3BE" + } + ] + } + }, + "testfargatekinesisstreamstaskdef402FE0B3": { + "Type": "AWS::ECS::TaskDefinition", + "Properties": { + "ContainerDefinitions": [ + { + "Environment": [ + { + "Name": "KINESIS_DATASTREAM_NAME", + "Value": { + "Ref": "testfargatekinesisstreamsKinesisStreamD31BD614" + } + } + ], + "Essential": true, + "Image": "nginx", + "MemoryReservation": 512, + "Name": "test-fargate-kinesisstreams-container", + "PortMappings": [ + { + "ContainerPort": 8080, + "Protocol": "tcp" + } + ] + } + ], + "Cpu": "256", + "Family": "farkinnoArgumentstestfargatekinesisstreamstaskdefE3913C8B", + "Memory": "512", + "NetworkMode": "awsvpc", + "RequiresCompatibilities": [ + "FARGATE" + ], + "TaskRoleArn": { + "Fn::GetAtt": [ + "testfargatekinesisstreamstaskdefTaskRole9811F3BE", + "Arn" + ] + } + } + }, + "testfargatekinesisstreamssgBA506AC6": { + "Type": "AWS::EC2::SecurityGroup", + "Properties": { + "GroupDescription": "Construct created security group", + "SecurityGroupEgress": [ + { + "CidrIp": "0.0.0.0/0", + "Description": "Allow all outbound traffic by default", + "IpProtocol": "-1" + } + ], + "VpcId": { + "Ref": "Vpc8378EB38" + } + }, + "Metadata": { + "cfn_nag": { + "rules_to_suppress": [ + { + "id": "W5", + "reason": "Egress of 0.0.0.0/0 is default and generally considered OK" + }, + { + "id": "W40", + "reason": "Egress IPProtocol of -1 is default and generally considered OK" + } + ] + } + } + }, + "testfargatekinesisstreamsserviceService5AE7AADF": { + "Type": "AWS::ECS::Service", + "Properties": { + "Cluster": { + "Ref": "testfargatekinesisstreamsclusterEA5A2AD7" + }, + "DeploymentConfiguration": { + "Alarms": { + "AlarmNames": [], + "Enable": false, + "Rollback": false + }, + "MaximumPercent": 150, + "MinimumHealthyPercent": 75 + }, + "DesiredCount": 2, + "EnableECSManagedTags": false, + "LaunchType": "FARGATE", + "NetworkConfiguration": { + "AwsvpcConfiguration": { + "AssignPublicIp": "DISABLED", + "SecurityGroups": [ + { + "Fn::GetAtt": [ + "testfargatekinesisstreamssgBA506AC6", + "GroupId" + ] + } + ], + "Subnets": [ + { + "Ref": "VpcPrivateSubnet1Subnet536B997A" + }, + { + "Ref": "VpcPrivateSubnet2Subnet3788AAA1" + } + ] + } + }, + "PlatformVersion": "LATEST", + "TaskDefinition": { + "Ref": "testfargatekinesisstreamstaskdef402FE0B3" + } + }, + "DependsOn": [ + "testfargatekinesisstreamstaskdefTaskRoleDefaultPolicyAE7EF3E4", + "testfargatekinesisstreamstaskdefTaskRole9811F3BE" + ] + } + }, + "Parameters": { + "BootstrapVersion": { + "Type": "AWS::SSM::Parameter::Value", + "Default": "/cdk-bootstrap/hnb659fds/version", + "Description": "Version of the CDK Bootstrap resources in this environment, automatically retrieved from SSM Parameter Store. [cdk:skip]" + } + }, + "Rules": { + "CheckBootstrapVersion": { + "Assertions": [ + { + "Assert": { + "Fn::Not": [ + { + "Fn::Contains": [ + [ + "1", + "2", + "3", + "4", + "5" + ], + { + "Ref": "BootstrapVersion" + } + ] + } + ] + }, + "AssertDescription": "CDK bootstrap stack version 6 required. Please run 'cdk bootstrap' with a recent version of the CDK CLI." + } + ] + } + } +} \ No newline at end of file diff --git a/source/patterns/@aws-solutions-constructs/aws-fargate-kinesisstreams/test/cdk-integ.out.integ.farkin-noArguments.js.snapshot/farkinnoArgumentsIntegDefaultTestDeployAssert5E204AE6.assets.json b/source/patterns/@aws-solutions-constructs/aws-fargate-kinesisstreams/test/cdk-integ.out.integ.farkin-noArguments.js.snapshot/farkinnoArgumentsIntegDefaultTestDeployAssert5E204AE6.assets.json new file mode 100644 index 000000000..8f9d9074e --- /dev/null +++ b/source/patterns/@aws-solutions-constructs/aws-fargate-kinesisstreams/test/cdk-integ.out.integ.farkin-noArguments.js.snapshot/farkinnoArgumentsIntegDefaultTestDeployAssert5E204AE6.assets.json @@ -0,0 +1,19 @@ +{ + "version": "36.0.0", + "files": { + "21fbb51d7b23f6a6c262b46a9caee79d744a3ac019fd45422d988b96d44b2a22": { + "source": { + "path": "farkinnoArgumentsIntegDefaultTestDeployAssert5E204AE6.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "21fbb51d7b23f6a6c262b46a9caee79d744a3ac019fd45422d988b96d44b2a22.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/source/patterns/@aws-solutions-constructs/aws-fargate-kinesisstreams/test/cdk-integ.out.integ.farkin-noArguments.js.snapshot/farkinnoArgumentsIntegDefaultTestDeployAssert5E204AE6.template.json b/source/patterns/@aws-solutions-constructs/aws-fargate-kinesisstreams/test/cdk-integ.out.integ.farkin-noArguments.js.snapshot/farkinnoArgumentsIntegDefaultTestDeployAssert5E204AE6.template.json new file mode 100644 index 000000000..ad9d0fb73 --- /dev/null +++ b/source/patterns/@aws-solutions-constructs/aws-fargate-kinesisstreams/test/cdk-integ.out.integ.farkin-noArguments.js.snapshot/farkinnoArgumentsIntegDefaultTestDeployAssert5E204AE6.template.json @@ -0,0 +1,36 @@ +{ + "Parameters": { + "BootstrapVersion": { + "Type": "AWS::SSM::Parameter::Value", + "Default": "/cdk-bootstrap/hnb659fds/version", + "Description": "Version of the CDK Bootstrap resources in this environment, automatically retrieved from SSM Parameter Store. [cdk:skip]" + } + }, + "Rules": { + "CheckBootstrapVersion": { + "Assertions": [ + { + "Assert": { + "Fn::Not": [ + { + "Fn::Contains": [ + [ + "1", + "2", + "3", + "4", + "5" + ], + { + "Ref": "BootstrapVersion" + } + ] + } + ] + }, + "AssertDescription": "CDK bootstrap stack version 6 required. Please run 'cdk bootstrap' with a recent version of the CDK CLI." + } + ] + } + } +} \ No newline at end of file diff --git a/source/patterns/@aws-solutions-constructs/aws-fargate-kinesisstreams/test/cdk-integ.out.integ.farkin-noArguments.js.snapshot/integ.json b/source/patterns/@aws-solutions-constructs/aws-fargate-kinesisstreams/test/cdk-integ.out.integ.farkin-noArguments.js.snapshot/integ.json new file mode 100644 index 000000000..294730cc1 --- /dev/null +++ b/source/patterns/@aws-solutions-constructs/aws-fargate-kinesisstreams/test/cdk-integ.out.integ.farkin-noArguments.js.snapshot/integ.json @@ -0,0 +1,12 @@ +{ + "version": "36.0.0", + "testCases": { + "farkin-noArguments/Integ/DefaultTest": { + "stacks": [ + "farkin-noArguments" + ], + "assertionStack": "farkin-noArguments/Integ/DefaultTest/DeployAssert", + "assertionStackName": "farkinnoArgumentsIntegDefaultTestDeployAssert5E204AE6" + } + } +} \ No newline at end of file diff --git a/source/patterns/@aws-solutions-constructs/aws-fargate-kinesisstreams/test/cdk-integ.out.integ.farkin-noArguments.js.snapshot/manifest.json b/source/patterns/@aws-solutions-constructs/aws-fargate-kinesisstreams/test/cdk-integ.out.integ.farkin-noArguments.js.snapshot/manifest.json new file mode 100644 index 000000000..b9fc5d780 --- /dev/null +++ b/source/patterns/@aws-solutions-constructs/aws-fargate-kinesisstreams/test/cdk-integ.out.integ.farkin-noArguments.js.snapshot/manifest.json @@ -0,0 +1,383 @@ +{ + "version": "36.0.0", + "artifacts": { + "farkinnoArgumentsIntegDefaultTestDeployAssert5E204AE6.assets": { + "type": "cdk:asset-manifest", + "properties": { + "file": "farkinnoArgumentsIntegDefaultTestDeployAssert5E204AE6.assets.json", + "requiresBootstrapStackVersion": 6, + "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version" + } + }, + "farkinnoArgumentsIntegDefaultTestDeployAssert5E204AE6": { + "type": "aws:cloudformation:stack", + "environment": "aws://unknown-account/unknown-region", + "properties": { + "templateFile": "farkinnoArgumentsIntegDefaultTestDeployAssert5E204AE6.template.json", + "terminationProtection": false, + "validateOnSynth": false, + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}", + "cloudFormationExecutionRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}", + "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/21fbb51d7b23f6a6c262b46a9caee79d744a3ac019fd45422d988b96d44b2a22.json", + "requiresBootstrapStackVersion": 6, + "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version", + "additionalDependencies": [ + "farkinnoArgumentsIntegDefaultTestDeployAssert5E204AE6.assets" + ], + "lookupRole": { + "arn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-lookup-role-${AWS::AccountId}-${AWS::Region}", + "requiresBootstrapStackVersion": 8, + "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version" + } + }, + "dependencies": [ + "farkinnoArgumentsIntegDefaultTestDeployAssert5E204AE6.assets" + ], + "metadata": { + "/farkin-noArguments/Integ/DefaultTest/DeployAssert/BootstrapVersion": [ + { + "type": "aws:cdk:logicalId", + "data": "BootstrapVersion" + } + ], + "/farkin-noArguments/Integ/DefaultTest/DeployAssert/CheckBootstrapVersion": [ + { + "type": "aws:cdk:logicalId", + "data": "CheckBootstrapVersion" + } + ] + }, + "displayName": "farkin-noArguments/Integ/DefaultTest/DeployAssert" + }, + "farkin-noArguments.assets": { + "type": "cdk:asset-manifest", + "properties": { + "file": "farkin-noArguments.assets.json", + "requiresBootstrapStackVersion": 6, + "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version" + } + }, + "farkin-noArguments": { + "type": "aws:cloudformation:stack", + "environment": "aws://unknown-account/unknown-region", + "properties": { + "templateFile": "farkin-noArguments.template.json", + "terminationProtection": false, + "validateOnSynth": false, + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}", + "cloudFormationExecutionRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}", + "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/f756454c9cc0436ac269f6a27baa117e453fc5997e449e776d9c8257c46ac547.json", + "requiresBootstrapStackVersion": 6, + "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version", + "additionalDependencies": [ + "farkin-noArguments.assets" + ], + "lookupRole": { + "arn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-lookup-role-${AWS::AccountId}-${AWS::Region}", + "requiresBootstrapStackVersion": 8, + "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version" + } + }, + "dependencies": [ + "farkin-noArguments.assets" + ], + "metadata": { + "/farkin-noArguments/test-fargate-kinesisstreams/KinesisStream/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "testfargatekinesisstreamsKinesisStreamD31BD614" + } + ], + "/farkin-noArguments/test-fargate-kinesisstreams/KinesisStreamGetRecordsIteratorAgeAlarm/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "testfargatekinesisstreamsKinesisStreamGetRecordsIteratorAgeAlarm60755E90" + } + ], + "/farkin-noArguments/test-fargate-kinesisstreams/KinesisStreamReadProvisionedThroughputExceededAlarm/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "testfargatekinesisstreamsKinesisStreamReadProvisionedThroughputExceededAlarmDE16A9F2" + } + ], + "/farkin-noArguments/Vpc/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "Vpc8378EB38" + } + ], + "/farkin-noArguments/Vpc/PublicSubnet1/Subnet": [ + { + "type": "aws:cdk:logicalId", + "data": "VpcPublicSubnet1Subnet5C2D37C4" + } + ], + "/farkin-noArguments/Vpc/PublicSubnet1/RouteTable": [ + { + "type": "aws:cdk:logicalId", + "data": "VpcPublicSubnet1RouteTable6C95E38E" + } + ], + "/farkin-noArguments/Vpc/PublicSubnet1/RouteTableAssociation": [ + { + "type": "aws:cdk:logicalId", + "data": "VpcPublicSubnet1RouteTableAssociation97140677" + } + ], + "/farkin-noArguments/Vpc/PublicSubnet1/DefaultRoute": [ + { + "type": "aws:cdk:logicalId", + "data": "VpcPublicSubnet1DefaultRoute3DA9E72A" + } + ], + "/farkin-noArguments/Vpc/PublicSubnet1/EIP": [ + { + "type": "aws:cdk:logicalId", + "data": "VpcPublicSubnet1EIPD7E02669" + } + ], + "/farkin-noArguments/Vpc/PublicSubnet1/NATGateway": [ + { + "type": "aws:cdk:logicalId", + "data": "VpcPublicSubnet1NATGateway4D7517AA" + } + ], + "/farkin-noArguments/Vpc/PublicSubnet2/Subnet": [ + { + "type": "aws:cdk:logicalId", + "data": "VpcPublicSubnet2Subnet691E08A3" + } + ], + "/farkin-noArguments/Vpc/PublicSubnet2/RouteTable": [ + { + "type": "aws:cdk:logicalId", + "data": "VpcPublicSubnet2RouteTable94F7E489" + } + ], + "/farkin-noArguments/Vpc/PublicSubnet2/RouteTableAssociation": [ + { + "type": "aws:cdk:logicalId", + "data": "VpcPublicSubnet2RouteTableAssociationDD5762D8" + } + ], + "/farkin-noArguments/Vpc/PublicSubnet2/DefaultRoute": [ + { + "type": "aws:cdk:logicalId", + "data": "VpcPublicSubnet2DefaultRoute97F91067" + } + ], + "/farkin-noArguments/Vpc/PublicSubnet2/EIP": [ + { + "type": "aws:cdk:logicalId", + "data": "VpcPublicSubnet2EIP3C605A87" + } + ], + "/farkin-noArguments/Vpc/PublicSubnet2/NATGateway": [ + { + "type": "aws:cdk:logicalId", + "data": "VpcPublicSubnet2NATGateway9182C01D" + } + ], + "/farkin-noArguments/Vpc/PrivateSubnet1/Subnet": [ + { + "type": "aws:cdk:logicalId", + "data": "VpcPrivateSubnet1Subnet536B997A" + } + ], + "/farkin-noArguments/Vpc/PrivateSubnet1/RouteTable": [ + { + "type": "aws:cdk:logicalId", + "data": "VpcPrivateSubnet1RouteTableB2C5B500" + } + ], + "/farkin-noArguments/Vpc/PrivateSubnet1/RouteTableAssociation": [ + { + "type": "aws:cdk:logicalId", + "data": "VpcPrivateSubnet1RouteTableAssociation70C59FA6" + } + ], + "/farkin-noArguments/Vpc/PrivateSubnet1/DefaultRoute": [ + { + "type": "aws:cdk:logicalId", + "data": "VpcPrivateSubnet1DefaultRouteBE02A9ED" + } + ], + "/farkin-noArguments/Vpc/PrivateSubnet2/Subnet": [ + { + "type": "aws:cdk:logicalId", + "data": "VpcPrivateSubnet2Subnet3788AAA1" + } + ], + "/farkin-noArguments/Vpc/PrivateSubnet2/RouteTable": [ + { + "type": "aws:cdk:logicalId", + "data": "VpcPrivateSubnet2RouteTableA678073B" + } + ], + "/farkin-noArguments/Vpc/PrivateSubnet2/RouteTableAssociation": [ + { + "type": "aws:cdk:logicalId", + "data": "VpcPrivateSubnet2RouteTableAssociationA89CAD56" + } + ], + "/farkin-noArguments/Vpc/PrivateSubnet2/DefaultRoute": [ + { + "type": "aws:cdk:logicalId", + "data": "VpcPrivateSubnet2DefaultRoute060D2087" + } + ], + "/farkin-noArguments/Vpc/IGW": [ + { + "type": "aws:cdk:logicalId", + "data": "VpcIGWD7BA715C" + } + ], + "/farkin-noArguments/Vpc/VPCGW": [ + { + "type": "aws:cdk:logicalId", + "data": "VpcVPCGWBF912B6E" + } + ], + "/farkin-noArguments/Vpc/RestrictDefaultSecurityGroupCustomResource/Default": [ + { + "type": "aws:cdk:logicalId", + "data": "VpcRestrictDefaultSecurityGroupCustomResourceC73DA2BE" + } + ], + "/farkin-noArguments/Vpc/FlowLog/IAMRole/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "VpcFlowLogIAMRole6A475D41" + } + ], + "/farkin-noArguments/Vpc/FlowLog/IAMRole/DefaultPolicy/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "VpcFlowLogIAMRoleDefaultPolicy406FB995" + } + ], + "/farkin-noArguments/Vpc/FlowLog/LogGroup/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "VpcFlowLogLogGroup7B5C56B9" + } + ], + "/farkin-noArguments/Vpc/FlowLog/FlowLog": [ + { + "type": "aws:cdk:logicalId", + "data": "VpcFlowLog8FF33A73" + } + ], + "/farkin-noArguments/Vpc/KINESIS_STREAMS/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "VpcKINESISSTREAMSC07D91B5" + } + ], + "/farkin-noArguments/Vpc/ECR_API/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "VpcECRAPI9A3B6A2B" + } + ], + "/farkin-noArguments/Vpc/ECR_DKR/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "VpcECRDKR604E039F" + } + ], + "/farkin-noArguments/Vpc/S3/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "VpcS3A5408339" + } + ], + "/farkin-noArguments/Custom::VpcRestrictDefaultSGCustomResourceProvider/Role": [ + { + "type": "aws:cdk:logicalId", + "data": "CustomVpcRestrictDefaultSGCustomResourceProviderRole26592FE0" + } + ], + "/farkin-noArguments/Custom::VpcRestrictDefaultSGCustomResourceProvider/Handler": [ + { + "type": "aws:cdk:logicalId", + "data": "CustomVpcRestrictDefaultSGCustomResourceProviderHandlerDC833E5E" + } + ], + "/farkin-noArguments/farkin-noArguments-KINESIS_STREAMS-security-group/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "farkinnoArgumentsKINESISSTREAMSsecuritygroup96006AA6" + } + ], + "/farkin-noArguments/farkin-noArguments-ECR_API-security-group/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "farkinnoArgumentsECRAPIsecuritygroupC89CB01F" + } + ], + "/farkin-noArguments/farkin-noArguments-ECR_DKR-security-group/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "farkinnoArgumentsECRDKRsecuritygroupC8F0FF04" + } + ], + "/farkin-noArguments/test-fargate-kinesisstreams-cluster/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "testfargatekinesisstreamsclusterEA5A2AD7" + } + ], + "/farkin-noArguments/test-fargate-kinesisstreams-taskdef/TaskRole/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "testfargatekinesisstreamstaskdefTaskRole9811F3BE" + } + ], + "/farkin-noArguments/test-fargate-kinesisstreams-taskdef/TaskRole/DefaultPolicy/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "testfargatekinesisstreamstaskdefTaskRoleDefaultPolicyAE7EF3E4" + } + ], + "/farkin-noArguments/test-fargate-kinesisstreams-taskdef/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "testfargatekinesisstreamstaskdef402FE0B3" + } + ], + "/farkin-noArguments/test-fargate-kinesisstreams-sg/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "testfargatekinesisstreamssgBA506AC6" + } + ], + "/farkin-noArguments/test-fargate-kinesisstreams-service/Service": [ + { + "type": "aws:cdk:logicalId", + "data": "testfargatekinesisstreamsserviceService5AE7AADF" + } + ], + "/farkin-noArguments/BootstrapVersion": [ + { + "type": "aws:cdk:logicalId", + "data": "BootstrapVersion" + } + ], + "/farkin-noArguments/CheckBootstrapVersion": [ + { + "type": "aws:cdk:logicalId", + "data": "CheckBootstrapVersion" + } + ] + }, + "displayName": "farkin-noArguments" + }, + "Tree": { + "type": "cdk:tree", + "properties": { + "file": "tree.json" + } + } + } +} \ No newline at end of file diff --git a/source/patterns/@aws-solutions-constructs/aws-fargate-kinesisstreams/test/cdk-integ.out.integ.farkin-noArguments.js.snapshot/tree.json b/source/patterns/@aws-solutions-constructs/aws-fargate-kinesisstreams/test/cdk-integ.out.integ.farkin-noArguments.js.snapshot/tree.json new file mode 100644 index 000000000..5ce65978f --- /dev/null +++ b/source/patterns/@aws-solutions-constructs/aws-fargate-kinesisstreams/test/cdk-integ.out.integ.farkin-noArguments.js.snapshot/tree.json @@ -0,0 +1,1761 @@ +{ + "version": "tree-0.1", + "tree": { + "id": "App", + "path": "", + "children": { + "farkin-noArguments": { + "id": "farkin-noArguments", + "path": "farkin-noArguments", + "children": { + "test-fargate-kinesisstreams": { + "id": "test-fargate-kinesisstreams", + "path": "farkin-noArguments/test-fargate-kinesisstreams", + "children": { + "KinesisStream": { + "id": "KinesisStream", + "path": "farkin-noArguments/test-fargate-kinesisstreams/KinesisStream", + "children": { + "Resource": { + "id": "Resource", + "path": "farkin-noArguments/test-fargate-kinesisstreams/KinesisStream/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::Kinesis::Stream", + "aws:cdk:cloudformation:props": { + "retentionPeriodHours": 24, + "shardCount": 1, + "streamEncryption": { + "encryptionType": "KMS", + "keyId": "alias/aws/kinesis" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_kinesis.CfnStream", + "version": "2.127.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_kinesis.Stream", + "version": "2.127.0" + } + }, + "KinesisStreamGetRecordsIteratorAgeAlarm": { + "id": "KinesisStreamGetRecordsIteratorAgeAlarm", + "path": "farkin-noArguments/test-fargate-kinesisstreams/KinesisStreamGetRecordsIteratorAgeAlarm", + "children": { + "Resource": { + "id": "Resource", + "path": "farkin-noArguments/test-fargate-kinesisstreams/KinesisStreamGetRecordsIteratorAgeAlarm/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::CloudWatch::Alarm", + "aws:cdk:cloudformation:props": { + "alarmDescription": "Consumer Record Processing Falling Behind, there is risk for data loss due to record expiration.", + "comparisonOperator": "GreaterThanOrEqualToThreshold", + "evaluationPeriods": 1, + "metricName": "GetRecords.IteratorAgeMilliseconds", + "namespace": "AWS/Kinesis", + "period": 300, + "statistic": "Maximum", + "threshold": 43200000 + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_cloudwatch.CfnAlarm", + "version": "2.127.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_cloudwatch.Alarm", + "version": "2.127.0" + } + }, + "KinesisStreamReadProvisionedThroughputExceededAlarm": { + "id": "KinesisStreamReadProvisionedThroughputExceededAlarm", + "path": "farkin-noArguments/test-fargate-kinesisstreams/KinesisStreamReadProvisionedThroughputExceededAlarm", + "children": { + "Resource": { + "id": "Resource", + "path": "farkin-noArguments/test-fargate-kinesisstreams/KinesisStreamReadProvisionedThroughputExceededAlarm/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::CloudWatch::Alarm", + "aws:cdk:cloudformation:props": { + "alarmDescription": "Consumer Application is Reading at a Slower Rate Than Expected.", + "comparisonOperator": "GreaterThanThreshold", + "evaluationPeriods": 1, + "metricName": "ReadProvisionedThroughputExceeded", + "namespace": "AWS/Kinesis", + "period": 300, + "statistic": "Average", + "threshold": 0 + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_cloudwatch.CfnAlarm", + "version": "2.127.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_cloudwatch.Alarm", + "version": "2.127.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-solutions-constructs/aws-fargate-kinesisstreams.FargateToKinesisStreams", + "version": "2.52.0" + } + }, + "Vpc": { + "id": "Vpc", + "path": "farkin-noArguments/Vpc", + "children": { + "Resource": { + "id": "Resource", + "path": "farkin-noArguments/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": "farkin-noArguments/Vpc" + } + ] + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.CfnVPC", + "version": "2.127.0" + } + }, + "PublicSubnet1": { + "id": "PublicSubnet1", + "path": "farkin-noArguments/Vpc/PublicSubnet1", + "children": { + "Subnet": { + "id": "Subnet", + "path": "farkin-noArguments/Vpc/PublicSubnet1/Subnet", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::Subnet", + "aws:cdk:cloudformation:props": { + "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": "farkin-noArguments/Vpc/PublicSubnet1" + } + ], + "vpcId": { + "Ref": "Vpc8378EB38" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.CfnSubnet", + "version": "2.127.0" + } + }, + "Acl": { + "id": "Acl", + "path": "farkin-noArguments/Vpc/PublicSubnet1/Acl", + "constructInfo": { + "fqn": "aws-cdk-lib.Resource", + "version": "2.127.0" + } + }, + "RouteTable": { + "id": "RouteTable", + "path": "farkin-noArguments/Vpc/PublicSubnet1/RouteTable", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::RouteTable", + "aws:cdk:cloudformation:props": { + "tags": [ + { + "key": "Name", + "value": "farkin-noArguments/Vpc/PublicSubnet1" + } + ], + "vpcId": { + "Ref": "Vpc8378EB38" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.CfnRouteTable", + "version": "2.127.0" + } + }, + "RouteTableAssociation": { + "id": "RouteTableAssociation", + "path": "farkin-noArguments/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-lib.aws_ec2.CfnSubnetRouteTableAssociation", + "version": "2.127.0" + } + }, + "DefaultRoute": { + "id": "DefaultRoute", + "path": "farkin-noArguments/Vpc/PublicSubnet1/DefaultRoute", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::Route", + "aws:cdk:cloudformation:props": { + "destinationCidrBlock": "0.0.0.0/0", + "gatewayId": { + "Ref": "VpcIGWD7BA715C" + }, + "routeTableId": { + "Ref": "VpcPublicSubnet1RouteTable6C95E38E" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.CfnRoute", + "version": "2.127.0" + } + }, + "EIP": { + "id": "EIP", + "path": "farkin-noArguments/Vpc/PublicSubnet1/EIP", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::EIP", + "aws:cdk:cloudformation:props": { + "domain": "vpc", + "tags": [ + { + "key": "Name", + "value": "farkin-noArguments/Vpc/PublicSubnet1" + } + ] + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.CfnEIP", + "version": "2.127.0" + } + }, + "NATGateway": { + "id": "NATGateway", + "path": "farkin-noArguments/Vpc/PublicSubnet1/NATGateway", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::NatGateway", + "aws:cdk:cloudformation:props": { + "allocationId": { + "Fn::GetAtt": [ + "VpcPublicSubnet1EIPD7E02669", + "AllocationId" + ] + }, + "subnetId": { + "Ref": "VpcPublicSubnet1Subnet5C2D37C4" + }, + "tags": [ + { + "key": "Name", + "value": "farkin-noArguments/Vpc/PublicSubnet1" + } + ] + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.CfnNatGateway", + "version": "2.127.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.PublicSubnet", + "version": "2.127.0" + } + }, + "PublicSubnet2": { + "id": "PublicSubnet2", + "path": "farkin-noArguments/Vpc/PublicSubnet2", + "children": { + "Subnet": { + "id": "Subnet", + "path": "farkin-noArguments/Vpc/PublicSubnet2/Subnet", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::Subnet", + "aws:cdk:cloudformation:props": { + "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": "farkin-noArguments/Vpc/PublicSubnet2" + } + ], + "vpcId": { + "Ref": "Vpc8378EB38" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.CfnSubnet", + "version": "2.127.0" + } + }, + "Acl": { + "id": "Acl", + "path": "farkin-noArguments/Vpc/PublicSubnet2/Acl", + "constructInfo": { + "fqn": "aws-cdk-lib.Resource", + "version": "2.127.0" + } + }, + "RouteTable": { + "id": "RouteTable", + "path": "farkin-noArguments/Vpc/PublicSubnet2/RouteTable", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::RouteTable", + "aws:cdk:cloudformation:props": { + "tags": [ + { + "key": "Name", + "value": "farkin-noArguments/Vpc/PublicSubnet2" + } + ], + "vpcId": { + "Ref": "Vpc8378EB38" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.CfnRouteTable", + "version": "2.127.0" + } + }, + "RouteTableAssociation": { + "id": "RouteTableAssociation", + "path": "farkin-noArguments/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-lib.aws_ec2.CfnSubnetRouteTableAssociation", + "version": "2.127.0" + } + }, + "DefaultRoute": { + "id": "DefaultRoute", + "path": "farkin-noArguments/Vpc/PublicSubnet2/DefaultRoute", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::Route", + "aws:cdk:cloudformation:props": { + "destinationCidrBlock": "0.0.0.0/0", + "gatewayId": { + "Ref": "VpcIGWD7BA715C" + }, + "routeTableId": { + "Ref": "VpcPublicSubnet2RouteTable94F7E489" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.CfnRoute", + "version": "2.127.0" + } + }, + "EIP": { + "id": "EIP", + "path": "farkin-noArguments/Vpc/PublicSubnet2/EIP", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::EIP", + "aws:cdk:cloudformation:props": { + "domain": "vpc", + "tags": [ + { + "key": "Name", + "value": "farkin-noArguments/Vpc/PublicSubnet2" + } + ] + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.CfnEIP", + "version": "2.127.0" + } + }, + "NATGateway": { + "id": "NATGateway", + "path": "farkin-noArguments/Vpc/PublicSubnet2/NATGateway", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::NatGateway", + "aws:cdk:cloudformation:props": { + "allocationId": { + "Fn::GetAtt": [ + "VpcPublicSubnet2EIP3C605A87", + "AllocationId" + ] + }, + "subnetId": { + "Ref": "VpcPublicSubnet2Subnet691E08A3" + }, + "tags": [ + { + "key": "Name", + "value": "farkin-noArguments/Vpc/PublicSubnet2" + } + ] + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.CfnNatGateway", + "version": "2.127.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.PublicSubnet", + "version": "2.127.0" + } + }, + "PrivateSubnet1": { + "id": "PrivateSubnet1", + "path": "farkin-noArguments/Vpc/PrivateSubnet1", + "children": { + "Subnet": { + "id": "Subnet", + "path": "farkin-noArguments/Vpc/PrivateSubnet1/Subnet", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::Subnet", + "aws:cdk:cloudformation:props": { + "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": "farkin-noArguments/Vpc/PrivateSubnet1" + } + ], + "vpcId": { + "Ref": "Vpc8378EB38" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.CfnSubnet", + "version": "2.127.0" + } + }, + "Acl": { + "id": "Acl", + "path": "farkin-noArguments/Vpc/PrivateSubnet1/Acl", + "constructInfo": { + "fqn": "aws-cdk-lib.Resource", + "version": "2.127.0" + } + }, + "RouteTable": { + "id": "RouteTable", + "path": "farkin-noArguments/Vpc/PrivateSubnet1/RouteTable", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::RouteTable", + "aws:cdk:cloudformation:props": { + "tags": [ + { + "key": "Name", + "value": "farkin-noArguments/Vpc/PrivateSubnet1" + } + ], + "vpcId": { + "Ref": "Vpc8378EB38" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.CfnRouteTable", + "version": "2.127.0" + } + }, + "RouteTableAssociation": { + "id": "RouteTableAssociation", + "path": "farkin-noArguments/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-lib.aws_ec2.CfnSubnetRouteTableAssociation", + "version": "2.127.0" + } + }, + "DefaultRoute": { + "id": "DefaultRoute", + "path": "farkin-noArguments/Vpc/PrivateSubnet1/DefaultRoute", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::Route", + "aws:cdk:cloudformation:props": { + "destinationCidrBlock": "0.0.0.0/0", + "natGatewayId": { + "Ref": "VpcPublicSubnet1NATGateway4D7517AA" + }, + "routeTableId": { + "Ref": "VpcPrivateSubnet1RouteTableB2C5B500" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.CfnRoute", + "version": "2.127.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.PrivateSubnet", + "version": "2.127.0" + } + }, + "PrivateSubnet2": { + "id": "PrivateSubnet2", + "path": "farkin-noArguments/Vpc/PrivateSubnet2", + "children": { + "Subnet": { + "id": "Subnet", + "path": "farkin-noArguments/Vpc/PrivateSubnet2/Subnet", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::Subnet", + "aws:cdk:cloudformation:props": { + "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": "farkin-noArguments/Vpc/PrivateSubnet2" + } + ], + "vpcId": { + "Ref": "Vpc8378EB38" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.CfnSubnet", + "version": "2.127.0" + } + }, + "Acl": { + "id": "Acl", + "path": "farkin-noArguments/Vpc/PrivateSubnet2/Acl", + "constructInfo": { + "fqn": "aws-cdk-lib.Resource", + "version": "2.127.0" + } + }, + "RouteTable": { + "id": "RouteTable", + "path": "farkin-noArguments/Vpc/PrivateSubnet2/RouteTable", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::RouteTable", + "aws:cdk:cloudformation:props": { + "tags": [ + { + "key": "Name", + "value": "farkin-noArguments/Vpc/PrivateSubnet2" + } + ], + "vpcId": { + "Ref": "Vpc8378EB38" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.CfnRouteTable", + "version": "2.127.0" + } + }, + "RouteTableAssociation": { + "id": "RouteTableAssociation", + "path": "farkin-noArguments/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-lib.aws_ec2.CfnSubnetRouteTableAssociation", + "version": "2.127.0" + } + }, + "DefaultRoute": { + "id": "DefaultRoute", + "path": "farkin-noArguments/Vpc/PrivateSubnet2/DefaultRoute", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::Route", + "aws:cdk:cloudformation:props": { + "destinationCidrBlock": "0.0.0.0/0", + "natGatewayId": { + "Ref": "VpcPublicSubnet2NATGateway9182C01D" + }, + "routeTableId": { + "Ref": "VpcPrivateSubnet2RouteTableA678073B" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.CfnRoute", + "version": "2.127.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.PrivateSubnet", + "version": "2.127.0" + } + }, + "IGW": { + "id": "IGW", + "path": "farkin-noArguments/Vpc/IGW", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::InternetGateway", + "aws:cdk:cloudformation:props": { + "tags": [ + { + "key": "Name", + "value": "farkin-noArguments/Vpc" + } + ] + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.CfnInternetGateway", + "version": "2.127.0" + } + }, + "VPCGW": { + "id": "VPCGW", + "path": "farkin-noArguments/Vpc/VPCGW", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::VPCGatewayAttachment", + "aws:cdk:cloudformation:props": { + "internetGatewayId": { + "Ref": "VpcIGWD7BA715C" + }, + "vpcId": { + "Ref": "Vpc8378EB38" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.CfnVPCGatewayAttachment", + "version": "2.127.0" + } + }, + "RestrictDefaultSecurityGroupCustomResource": { + "id": "RestrictDefaultSecurityGroupCustomResource", + "path": "farkin-noArguments/Vpc/RestrictDefaultSecurityGroupCustomResource", + "children": { + "Default": { + "id": "Default", + "path": "farkin-noArguments/Vpc/RestrictDefaultSecurityGroupCustomResource/Default", + "constructInfo": { + "fqn": "aws-cdk-lib.CfnResource", + "version": "2.127.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.CustomResource", + "version": "2.127.0" + } + }, + "FlowLog": { + "id": "FlowLog", + "path": "farkin-noArguments/Vpc/FlowLog", + "children": { + "IAMRole": { + "id": "IAMRole", + "path": "farkin-noArguments/Vpc/FlowLog/IAMRole", + "children": { + "ImportIAMRole": { + "id": "ImportIAMRole", + "path": "farkin-noArguments/Vpc/FlowLog/IAMRole/ImportIAMRole", + "constructInfo": { + "fqn": "aws-cdk-lib.Resource", + "version": "2.127.0" + } + }, + "Resource": { + "id": "Resource", + "path": "farkin-noArguments/Vpc/FlowLog/IAMRole/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::IAM::Role", + "aws:cdk:cloudformation:props": { + "assumeRolePolicyDocument": { + "Statement": [ + { + "Action": "sts:AssumeRole", + "Effect": "Allow", + "Principal": { + "Service": "vpc-flow-logs.amazonaws.com" + } + } + ], + "Version": "2012-10-17" + }, + "tags": [ + { + "key": "Name", + "value": "farkin-noArguments/Vpc/FlowLog" + } + ] + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_iam.CfnRole", + "version": "2.127.0" + } + }, + "DefaultPolicy": { + "id": "DefaultPolicy", + "path": "farkin-noArguments/Vpc/FlowLog/IAMRole/DefaultPolicy", + "children": { + "Resource": { + "id": "Resource", + "path": "farkin-noArguments/Vpc/FlowLog/IAMRole/DefaultPolicy/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::IAM::Policy", + "aws:cdk:cloudformation:props": { + "policyDocument": { + "Statement": [ + { + "Action": [ + "logs:CreateLogStream", + "logs:DescribeLogStreams", + "logs:PutLogEvents" + ], + "Effect": "Allow", + "Resource": { + "Fn::GetAtt": [ + "VpcFlowLogLogGroup7B5C56B9", + "Arn" + ] + } + }, + { + "Action": "iam:PassRole", + "Effect": "Allow", + "Resource": { + "Fn::GetAtt": [ + "VpcFlowLogIAMRole6A475D41", + "Arn" + ] + } + } + ], + "Version": "2012-10-17" + }, + "policyName": "VpcFlowLogIAMRoleDefaultPolicy406FB995", + "roles": [ + { + "Ref": "VpcFlowLogIAMRole6A475D41" + } + ] + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_iam.CfnPolicy", + "version": "2.127.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_iam.Policy", + "version": "2.127.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_iam.Role", + "version": "2.127.0" + } + }, + "LogGroup": { + "id": "LogGroup", + "path": "farkin-noArguments/Vpc/FlowLog/LogGroup", + "children": { + "Resource": { + "id": "Resource", + "path": "farkin-noArguments/Vpc/FlowLog/LogGroup/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::Logs::LogGroup", + "aws:cdk:cloudformation:props": { + "retentionInDays": 731, + "tags": [ + { + "key": "Name", + "value": "farkin-noArguments/Vpc/FlowLog" + } + ] + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_logs.CfnLogGroup", + "version": "2.127.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_logs.LogGroup", + "version": "2.127.0" + } + }, + "FlowLog": { + "id": "FlowLog", + "path": "farkin-noArguments/Vpc/FlowLog/FlowLog", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::FlowLog", + "aws:cdk:cloudformation:props": { + "deliverLogsPermissionArn": { + "Fn::GetAtt": [ + "VpcFlowLogIAMRole6A475D41", + "Arn" + ] + }, + "logDestinationType": "cloud-watch-logs", + "logGroupName": { + "Ref": "VpcFlowLogLogGroup7B5C56B9" + }, + "resourceId": { + "Ref": "Vpc8378EB38" + }, + "resourceType": "VPC", + "tags": [ + { + "key": "Name", + "value": "farkin-noArguments/Vpc/FlowLog" + } + ], + "trafficType": "ALL" + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.CfnFlowLog", + "version": "2.127.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.FlowLog", + "version": "2.127.0" + } + }, + "KINESIS_STREAMS": { + "id": "KINESIS_STREAMS", + "path": "farkin-noArguments/Vpc/KINESIS_STREAMS", + "children": { + "Resource": { + "id": "Resource", + "path": "farkin-noArguments/Vpc/KINESIS_STREAMS/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::VPCEndpoint", + "aws:cdk:cloudformation:props": { + "privateDnsEnabled": true, + "securityGroupIds": [ + { + "Fn::GetAtt": [ + "farkinnoArgumentsKINESISSTREAMSsecuritygroup96006AA6", + "GroupId" + ] + } + ], + "serviceName": { + "Fn::Join": [ + "", + [ + "com.amazonaws.", + { + "Ref": "AWS::Region" + }, + ".kinesis-streams" + ] + ] + }, + "subnetIds": [ + { + "Ref": "VpcPrivateSubnet1Subnet536B997A" + }, + { + "Ref": "VpcPrivateSubnet2Subnet3788AAA1" + } + ], + "vpcEndpointType": "Interface", + "vpcId": { + "Ref": "Vpc8378EB38" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.CfnVPCEndpoint", + "version": "2.127.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.InterfaceVpcEndpoint", + "version": "2.127.0" + } + }, + "ECR_API": { + "id": "ECR_API", + "path": "farkin-noArguments/Vpc/ECR_API", + "children": { + "Resource": { + "id": "Resource", + "path": "farkin-noArguments/Vpc/ECR_API/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::VPCEndpoint", + "aws:cdk:cloudformation:props": { + "privateDnsEnabled": true, + "securityGroupIds": [ + { + "Fn::GetAtt": [ + "farkinnoArgumentsECRAPIsecuritygroupC89CB01F", + "GroupId" + ] + } + ], + "serviceName": { + "Fn::Join": [ + "", + [ + "com.amazonaws.", + { + "Ref": "AWS::Region" + }, + ".ecr.api" + ] + ] + }, + "subnetIds": [ + { + "Ref": "VpcPrivateSubnet1Subnet536B997A" + }, + { + "Ref": "VpcPrivateSubnet2Subnet3788AAA1" + } + ], + "vpcEndpointType": "Interface", + "vpcId": { + "Ref": "Vpc8378EB38" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.CfnVPCEndpoint", + "version": "2.127.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.InterfaceVpcEndpoint", + "version": "2.127.0" + } + }, + "ECR_DKR": { + "id": "ECR_DKR", + "path": "farkin-noArguments/Vpc/ECR_DKR", + "children": { + "Resource": { + "id": "Resource", + "path": "farkin-noArguments/Vpc/ECR_DKR/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::VPCEndpoint", + "aws:cdk:cloudformation:props": { + "privateDnsEnabled": true, + "securityGroupIds": [ + { + "Fn::GetAtt": [ + "farkinnoArgumentsECRDKRsecuritygroupC8F0FF04", + "GroupId" + ] + } + ], + "serviceName": { + "Fn::Join": [ + "", + [ + "com.amazonaws.", + { + "Ref": "AWS::Region" + }, + ".ecr.dkr" + ] + ] + }, + "subnetIds": [ + { + "Ref": "VpcPrivateSubnet1Subnet536B997A" + }, + { + "Ref": "VpcPrivateSubnet2Subnet3788AAA1" + } + ], + "vpcEndpointType": "Interface", + "vpcId": { + "Ref": "Vpc8378EB38" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.CfnVPCEndpoint", + "version": "2.127.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.InterfaceVpcEndpoint", + "version": "2.127.0" + } + }, + "S3": { + "id": "S3", + "path": "farkin-noArguments/Vpc/S3", + "children": { + "Resource": { + "id": "Resource", + "path": "farkin-noArguments/Vpc/S3/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::VPCEndpoint", + "aws:cdk:cloudformation:props": { + "routeTableIds": [ + { + "Ref": "VpcPrivateSubnet1RouteTableB2C5B500" + }, + { + "Ref": "VpcPrivateSubnet2RouteTableA678073B" + }, + { + "Ref": "VpcPublicSubnet1RouteTable6C95E38E" + }, + { + "Ref": "VpcPublicSubnet2RouteTable94F7E489" + } + ], + "serviceName": { + "Fn::Join": [ + "", + [ + "com.amazonaws.", + { + "Ref": "AWS::Region" + }, + ".s3" + ] + ] + }, + "vpcEndpointType": "Gateway", + "vpcId": { + "Ref": "Vpc8378EB38" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.CfnVPCEndpoint", + "version": "2.127.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.GatewayVpcEndpoint", + "version": "2.127.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.Vpc", + "version": "2.127.0" + } + }, + "Custom::VpcRestrictDefaultSGCustomResourceProvider": { + "id": "Custom::VpcRestrictDefaultSGCustomResourceProvider", + "path": "farkin-noArguments/Custom::VpcRestrictDefaultSGCustomResourceProvider", + "children": { + "Staging": { + "id": "Staging", + "path": "farkin-noArguments/Custom::VpcRestrictDefaultSGCustomResourceProvider/Staging", + "constructInfo": { + "fqn": "aws-cdk-lib.AssetStaging", + "version": "2.127.0" + } + }, + "Role": { + "id": "Role", + "path": "farkin-noArguments/Custom::VpcRestrictDefaultSGCustomResourceProvider/Role", + "constructInfo": { + "fqn": "aws-cdk-lib.CfnResource", + "version": "2.127.0" + } + }, + "Handler": { + "id": "Handler", + "path": "farkin-noArguments/Custom::VpcRestrictDefaultSGCustomResourceProvider/Handler", + "constructInfo": { + "fqn": "aws-cdk-lib.CfnResource", + "version": "2.127.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.CustomResourceProviderBase", + "version": "2.127.0" + } + }, + "farkin-noArguments-KINESIS_STREAMS-security-group": { + "id": "farkin-noArguments-KINESIS_STREAMS-security-group", + "path": "farkin-noArguments/farkin-noArguments-KINESIS_STREAMS-security-group", + "children": { + "Resource": { + "id": "Resource", + "path": "farkin-noArguments/farkin-noArguments-KINESIS_STREAMS-security-group/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::SecurityGroup", + "aws:cdk:cloudformation:props": { + "groupDescription": "farkin-noArguments/farkin-noArguments-KINESIS_STREAMS-security-group", + "securityGroupEgress": [ + { + "cidrIp": "0.0.0.0/0", + "description": "Allow all outbound traffic by default", + "ipProtocol": "-1" + } + ], + "securityGroupIngress": [ + { + "cidrIp": { + "Fn::GetAtt": [ + "Vpc8378EB38", + "CidrBlock" + ] + }, + "ipProtocol": "tcp", + "fromPort": 443, + "toPort": 443, + "description": { + "Fn::Join": [ + "", + [ + "from ", + { + "Fn::GetAtt": [ + "Vpc8378EB38", + "CidrBlock" + ] + }, + ":443" + ] + ] + } + } + ], + "vpcId": { + "Ref": "Vpc8378EB38" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.CfnSecurityGroup", + "version": "2.127.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.SecurityGroup", + "version": "2.127.0" + } + }, + "farkin-noArguments-ECR_API-security-group": { + "id": "farkin-noArguments-ECR_API-security-group", + "path": "farkin-noArguments/farkin-noArguments-ECR_API-security-group", + "children": { + "Resource": { + "id": "Resource", + "path": "farkin-noArguments/farkin-noArguments-ECR_API-security-group/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::SecurityGroup", + "aws:cdk:cloudformation:props": { + "groupDescription": "farkin-noArguments/farkin-noArguments-ECR_API-security-group", + "securityGroupEgress": [ + { + "cidrIp": "0.0.0.0/0", + "description": "Allow all outbound traffic by default", + "ipProtocol": "-1" + } + ], + "securityGroupIngress": [ + { + "cidrIp": { + "Fn::GetAtt": [ + "Vpc8378EB38", + "CidrBlock" + ] + }, + "ipProtocol": "tcp", + "fromPort": 443, + "toPort": 443, + "description": { + "Fn::Join": [ + "", + [ + "from ", + { + "Fn::GetAtt": [ + "Vpc8378EB38", + "CidrBlock" + ] + }, + ":443" + ] + ] + } + } + ], + "vpcId": { + "Ref": "Vpc8378EB38" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.CfnSecurityGroup", + "version": "2.127.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.SecurityGroup", + "version": "2.127.0" + } + }, + "farkin-noArguments-ECR_DKR-security-group": { + "id": "farkin-noArguments-ECR_DKR-security-group", + "path": "farkin-noArguments/farkin-noArguments-ECR_DKR-security-group", + "children": { + "Resource": { + "id": "Resource", + "path": "farkin-noArguments/farkin-noArguments-ECR_DKR-security-group/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::SecurityGroup", + "aws:cdk:cloudformation:props": { + "groupDescription": "farkin-noArguments/farkin-noArguments-ECR_DKR-security-group", + "securityGroupEgress": [ + { + "cidrIp": "0.0.0.0/0", + "description": "Allow all outbound traffic by default", + "ipProtocol": "-1" + } + ], + "securityGroupIngress": [ + { + "cidrIp": { + "Fn::GetAtt": [ + "Vpc8378EB38", + "CidrBlock" + ] + }, + "ipProtocol": "tcp", + "fromPort": 443, + "toPort": 443, + "description": { + "Fn::Join": [ + "", + [ + "from ", + { + "Fn::GetAtt": [ + "Vpc8378EB38", + "CidrBlock" + ] + }, + ":443" + ] + ] + } + } + ], + "vpcId": { + "Ref": "Vpc8378EB38" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.CfnSecurityGroup", + "version": "2.127.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.SecurityGroup", + "version": "2.127.0" + } + }, + "test-fargate-kinesisstreams-cluster": { + "id": "test-fargate-kinesisstreams-cluster", + "path": "farkin-noArguments/test-fargate-kinesisstreams-cluster", + "children": { + "Resource": { + "id": "Resource", + "path": "farkin-noArguments/test-fargate-kinesisstreams-cluster/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::ECS::Cluster", + "aws:cdk:cloudformation:props": {} + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ecs.CfnCluster", + "version": "2.127.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ecs.Cluster", + "version": "2.127.0" + } + }, + "test-fargate-kinesisstreams-taskdef": { + "id": "test-fargate-kinesisstreams-taskdef", + "path": "farkin-noArguments/test-fargate-kinesisstreams-taskdef", + "children": { + "TaskRole": { + "id": "TaskRole", + "path": "farkin-noArguments/test-fargate-kinesisstreams-taskdef/TaskRole", + "children": { + "ImportTaskRole": { + "id": "ImportTaskRole", + "path": "farkin-noArguments/test-fargate-kinesisstreams-taskdef/TaskRole/ImportTaskRole", + "constructInfo": { + "fqn": "aws-cdk-lib.Resource", + "version": "2.127.0" + } + }, + "Resource": { + "id": "Resource", + "path": "farkin-noArguments/test-fargate-kinesisstreams-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-lib.aws_iam.CfnRole", + "version": "2.127.0" + } + }, + "DefaultPolicy": { + "id": "DefaultPolicy", + "path": "farkin-noArguments/test-fargate-kinesisstreams-taskdef/TaskRole/DefaultPolicy", + "children": { + "Resource": { + "id": "Resource", + "path": "farkin-noArguments/test-fargate-kinesisstreams-taskdef/TaskRole/DefaultPolicy/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::IAM::Policy", + "aws:cdk:cloudformation:props": { + "policyDocument": { + "Statement": [ + { + "Action": [ + "kinesis:ListShards", + "kinesis:PutRecord", + "kinesis:PutRecords" + ], + "Effect": "Allow", + "Resource": { + "Fn::GetAtt": [ + "testfargatekinesisstreamsKinesisStreamD31BD614", + "Arn" + ] + } + } + ], + "Version": "2012-10-17" + }, + "policyName": "testfargatekinesisstreamstaskdefTaskRoleDefaultPolicyAE7EF3E4", + "roles": [ + { + "Ref": "testfargatekinesisstreamstaskdefTaskRole9811F3BE" + } + ] + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_iam.CfnPolicy", + "version": "2.127.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_iam.Policy", + "version": "2.127.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_iam.Role", + "version": "2.127.0" + } + }, + "Resource": { + "id": "Resource", + "path": "farkin-noArguments/test-fargate-kinesisstreams-taskdef/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::ECS::TaskDefinition", + "aws:cdk:cloudformation:props": { + "containerDefinitions": [ + { + "essential": true, + "image": "nginx", + "memoryReservation": 512, + "name": "test-fargate-kinesisstreams-container", + "portMappings": [ + { + "containerPort": 8080, + "protocol": "tcp" + } + ], + "environment": [ + { + "name": "KINESIS_DATASTREAM_NAME", + "value": { + "Ref": "testfargatekinesisstreamsKinesisStreamD31BD614" + } + } + ] + } + ], + "cpu": "256", + "family": "farkinnoArgumentstestfargatekinesisstreamstaskdefE3913C8B", + "memory": "512", + "networkMode": "awsvpc", + "requiresCompatibilities": [ + "FARGATE" + ], + "taskRoleArn": { + "Fn::GetAtt": [ + "testfargatekinesisstreamstaskdefTaskRole9811F3BE", + "Arn" + ] + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ecs.CfnTaskDefinition", + "version": "2.127.0" + } + }, + "test-fargate-kinesisstreams-container": { + "id": "test-fargate-kinesisstreams-container", + "path": "farkin-noArguments/test-fargate-kinesisstreams-taskdef/test-fargate-kinesisstreams-container", + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ecs.ContainerDefinition", + "version": "2.127.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ecs.FargateTaskDefinition", + "version": "2.127.0" + } + }, + "test-fargate-kinesisstreams-sg": { + "id": "test-fargate-kinesisstreams-sg", + "path": "farkin-noArguments/test-fargate-kinesisstreams-sg", + "children": { + "Resource": { + "id": "Resource", + "path": "farkin-noArguments/test-fargate-kinesisstreams-sg/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::SecurityGroup", + "aws:cdk:cloudformation:props": { + "groupDescription": "Construct created security group", + "securityGroupEgress": [ + { + "cidrIp": "0.0.0.0/0", + "description": "Allow all outbound traffic by default", + "ipProtocol": "-1" + } + ], + "vpcId": { + "Ref": "Vpc8378EB38" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.CfnSecurityGroup", + "version": "2.127.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.SecurityGroup", + "version": "2.127.0" + } + }, + "test-fargate-kinesisstreams-service": { + "id": "test-fargate-kinesisstreams-service", + "path": "farkin-noArguments/test-fargate-kinesisstreams-service", + "children": { + "Service": { + "id": "Service", + "path": "farkin-noArguments/test-fargate-kinesisstreams-service/Service", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::ECS::Service", + "aws:cdk:cloudformation:props": { + "cluster": { + "Ref": "testfargatekinesisstreamsclusterEA5A2AD7" + }, + "deploymentConfiguration": { + "maximumPercent": 150, + "minimumHealthyPercent": 75, + "alarms": { + "alarmNames": [], + "enable": false, + "rollback": false + } + }, + "desiredCount": 2, + "enableEcsManagedTags": false, + "launchType": "FARGATE", + "networkConfiguration": { + "awsvpcConfiguration": { + "assignPublicIp": "DISABLED", + "subnets": [ + { + "Ref": "VpcPrivateSubnet1Subnet536B997A" + }, + { + "Ref": "VpcPrivateSubnet2Subnet3788AAA1" + } + ], + "securityGroups": [ + { + "Fn::GetAtt": [ + "testfargatekinesisstreamssgBA506AC6", + "GroupId" + ] + } + ] + } + }, + "platformVersion": "LATEST", + "taskDefinition": { + "Ref": "testfargatekinesisstreamstaskdef402FE0B3" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ecs.CfnService", + "version": "2.127.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ecs.FargateService", + "version": "2.127.0" + } + }, + "Integ": { + "id": "Integ", + "path": "farkin-noArguments/Integ", + "children": { + "DefaultTest": { + "id": "DefaultTest", + "path": "farkin-noArguments/Integ/DefaultTest", + "children": { + "Default": { + "id": "Default", + "path": "farkin-noArguments/Integ/DefaultTest/Default", + "constructInfo": { + "fqn": "constructs.Construct", + "version": "10.3.0" + } + }, + "DeployAssert": { + "id": "DeployAssert", + "path": "farkin-noArguments/Integ/DefaultTest/DeployAssert", + "children": { + "BootstrapVersion": { + "id": "BootstrapVersion", + "path": "farkin-noArguments/Integ/DefaultTest/DeployAssert/BootstrapVersion", + "constructInfo": { + "fqn": "aws-cdk-lib.CfnParameter", + "version": "2.127.0" + } + }, + "CheckBootstrapVersion": { + "id": "CheckBootstrapVersion", + "path": "farkin-noArguments/Integ/DefaultTest/DeployAssert/CheckBootstrapVersion", + "constructInfo": { + "fqn": "aws-cdk-lib.CfnRule", + "version": "2.127.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.Stack", + "version": "2.127.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/integ-tests-alpha.IntegTestCase", + "version": "2.127.0-alpha.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/integ-tests-alpha.IntegTest", + "version": "2.127.0-alpha.0" + } + }, + "BootstrapVersion": { + "id": "BootstrapVersion", + "path": "farkin-noArguments/BootstrapVersion", + "constructInfo": { + "fqn": "aws-cdk-lib.CfnParameter", + "version": "2.127.0" + } + }, + "CheckBootstrapVersion": { + "id": "CheckBootstrapVersion", + "path": "farkin-noArguments/CheckBootstrapVersion", + "constructInfo": { + "fqn": "aws-cdk-lib.CfnRule", + "version": "2.127.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.Stack", + "version": "2.127.0" + } + }, + "Tree": { + "id": "Tree", + "path": "Tree", + "constructInfo": { + "fqn": "constructs.Construct", + "version": "10.3.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.App", + "version": "2.127.0" + } + } +} \ No newline at end of file diff --git a/source/patterns/@aws-solutions-constructs/aws-fargate-kinesisstreams/test/cdk-integ.out.integ.farkin-streamFromProps.js.snapshot/asset.dd5711540f04e06aa955d7f4862fc04e8cdea464cb590dae91ed2976bb78098e/__entrypoint__.js b/source/patterns/@aws-solutions-constructs/aws-fargate-kinesisstreams/test/cdk-integ.out.integ.farkin-streamFromProps.js.snapshot/asset.dd5711540f04e06aa955d7f4862fc04e8cdea464cb590dae91ed2976bb78098e/__entrypoint__.js new file mode 100644 index 000000000..5a1714e02 --- /dev/null +++ b/source/patterns/@aws-solutions-constructs/aws-fargate-kinesisstreams/test/cdk-integ.out.integ.farkin-streamFromProps.js.snapshot/asset.dd5711540f04e06aa955d7f4862fc04e8cdea464cb590dae91ed2976bb78098e/__entrypoint__.js @@ -0,0 +1 @@ +"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.withRetries=exports.handler=exports.external=void 0;const https=require("https"),url=require("url");exports.external={sendHttpRequest:defaultSendHttpRequest,log:defaultLog,includeStackTraces:!0,userHandlerIndex:"./index"};const CREATE_FAILED_PHYSICAL_ID_MARKER="AWSCDK::CustomResourceProviderFramework::CREATE_FAILED",MISSING_PHYSICAL_ID_MARKER="AWSCDK::CustomResourceProviderFramework::MISSING_PHYSICAL_ID";async function handler(event,context){const sanitizedEvent={...event,ResponseURL:"..."};if(exports.external.log(JSON.stringify(sanitizedEvent,void 0,2)),event.RequestType==="Delete"&&event.PhysicalResourceId===CREATE_FAILED_PHYSICAL_ID_MARKER){exports.external.log("ignoring DELETE event caused by a failed CREATE event"),await submitResponse("SUCCESS",event);return}try{const userHandler=require(exports.external.userHandlerIndex).handler,result=await userHandler(sanitizedEvent,context),responseEvent=renderResponse(event,result);await submitResponse("SUCCESS",responseEvent)}catch(e){const resp={...event,Reason:exports.external.includeStackTraces?e.stack:e.message};resp.PhysicalResourceId||(event.RequestType==="Create"?(exports.external.log("CREATE failed, responding with a marker physical resource id so that the subsequent DELETE will be ignored"),resp.PhysicalResourceId=CREATE_FAILED_PHYSICAL_ID_MARKER):exports.external.log(`ERROR: Malformed event. "PhysicalResourceId" is required: ${JSON.stringify(event)}`)),await submitResponse("FAILED",resp)}}exports.handler=handler;function renderResponse(cfnRequest,handlerResponse={}){const physicalResourceId=handlerResponse.PhysicalResourceId??cfnRequest.PhysicalResourceId??cfnRequest.RequestId;if(cfnRequest.RequestType==="Delete"&&physicalResourceId!==cfnRequest.PhysicalResourceId)throw new Error(`DELETE: cannot change the physical resource ID from "${cfnRequest.PhysicalResourceId}" to "${handlerResponse.PhysicalResourceId}" during deletion`);return{...cfnRequest,...handlerResponse,PhysicalResourceId:physicalResourceId}}async function submitResponse(status,event){const json={Status:status,Reason:event.Reason??status,StackId:event.StackId,RequestId:event.RequestId,PhysicalResourceId:event.PhysicalResourceId||MISSING_PHYSICAL_ID_MARKER,LogicalResourceId:event.LogicalResourceId,NoEcho:event.NoEcho,Data:event.Data};exports.external.log("submit response to cloudformation",json);const responseBody=JSON.stringify(json),parsedUrl=url.parse(event.ResponseURL),req={hostname:parsedUrl.hostname,path:parsedUrl.path,method:"PUT",headers:{"content-type":"","content-length":Buffer.byteLength(responseBody,"utf8")}};await withRetries({attempts:5,sleep:1e3},exports.external.sendHttpRequest)(req,responseBody)}async function defaultSendHttpRequest(options,responseBody){return new Promise((resolve,reject)=>{try{const request=https.request(options,_=>resolve());request.on("error",reject),request.write(responseBody),request.end()}catch(e){reject(e)}})}function defaultLog(fmt,...params){console.log(fmt,...params)}function withRetries(options,fn){return async(...xs)=>{let attempts=options.attempts,ms=options.sleep;for(;;)try{return await fn(...xs)}catch(e){if(attempts--<=0)throw e;await sleep(Math.floor(Math.random()*ms)),ms*=2}}}exports.withRetries=withRetries;async function sleep(ms){return new Promise(ok=>setTimeout(ok,ms))} diff --git a/source/patterns/@aws-solutions-constructs/aws-fargate-kinesisstreams/test/cdk-integ.out.integ.farkin-streamFromProps.js.snapshot/asset.dd5711540f04e06aa955d7f4862fc04e8cdea464cb590dae91ed2976bb78098e/index.js b/source/patterns/@aws-solutions-constructs/aws-fargate-kinesisstreams/test/cdk-integ.out.integ.farkin-streamFromProps.js.snapshot/asset.dd5711540f04e06aa955d7f4862fc04e8cdea464cb590dae91ed2976bb78098e/index.js new file mode 100644 index 000000000..9f1466d2e --- /dev/null +++ b/source/patterns/@aws-solutions-constructs/aws-fargate-kinesisstreams/test/cdk-integ.out.integ.farkin-streamFromProps.js.snapshot/asset.dd5711540f04e06aa955d7f4862fc04e8cdea464cb590dae91ed2976bb78098e/index.js @@ -0,0 +1 @@ +"use strict";var I=Object.create,t=Object.defineProperty,y=Object.getOwnPropertyDescriptor,P=Object.getOwnPropertyNames,g=Object.getPrototypeOf,l=Object.prototype.hasOwnProperty,G=(r,e)=>{for(var o in e)t(r,o,{get:e[o],enumerable:!0})},n=(r,e,o,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of P(e))!l.call(r,s)&&s!==o&&t(r,s,{get:()=>e[s],enumerable:!(i=y(e,s))||i.enumerable});return r},R=(r,e,o)=>(o=r!=null?I(g(r)):{},n(e||!r||!r.__esModule?t(o,"default",{value:r,enumerable:!0}):o,r)),S=r=>n(t({},"__esModule",{value:!0}),r),k={};G(k,{handler:()=>f}),module.exports=S(k);var a=R(require("@aws-sdk/client-ec2")),u=new a.EC2({});function c(r,e){return{GroupId:r,IpPermissions:[{UserIdGroupPairs:[{GroupId:r,UserId:e}],IpProtocol:"-1"}]}}function d(r){return{GroupId:r,IpPermissions:[{IpRanges:[{CidrIp:"0.0.0.0/0"}],IpProtocol:"-1"}]}}async function f(r){let e=r.ResourceProperties.DefaultSecurityGroupId,o=r.ResourceProperties.Account;switch(r.RequestType){case"Create":return p(e,o);case"Update":return h(r);case"Delete":return m(e,o)}}async function h(r){let e=r.OldResourceProperties.DefaultSecurityGroupId,o=r.ResourceProperties.DefaultSecurityGroupId;e!==o&&(await m(e,r.ResourceProperties.Account),await p(o,r.ResourceProperties.Account))}async function p(r,e){try{await u.revokeSecurityGroupEgress(d(r))}catch(o){if(o.name!=="InvalidPermission.NotFound")throw o}try{await u.revokeSecurityGroupIngress(c(r,e))}catch(o){if(o.name!=="InvalidPermission.NotFound")throw o}}async function m(r,e){await u.authorizeSecurityGroupIngress(c(r,e)),await u.authorizeSecurityGroupEgress(d(r))} diff --git a/source/patterns/@aws-solutions-constructs/aws-fargate-kinesisstreams/test/cdk-integ.out.integ.farkin-streamFromProps.js.snapshot/cdk.out b/source/patterns/@aws-solutions-constructs/aws-fargate-kinesisstreams/test/cdk-integ.out.integ.farkin-streamFromProps.js.snapshot/cdk.out new file mode 100644 index 000000000..1f0068d32 --- /dev/null +++ b/source/patterns/@aws-solutions-constructs/aws-fargate-kinesisstreams/test/cdk-integ.out.integ.farkin-streamFromProps.js.snapshot/cdk.out @@ -0,0 +1 @@ +{"version":"36.0.0"} \ No newline at end of file diff --git a/source/patterns/@aws-solutions-constructs/aws-fargate-kinesisstreams/test/cdk-integ.out.integ.farkin-streamFromProps.js.snapshot/farkin-streamFromProps.assets.json b/source/patterns/@aws-solutions-constructs/aws-fargate-kinesisstreams/test/cdk-integ.out.integ.farkin-streamFromProps.js.snapshot/farkin-streamFromProps.assets.json new file mode 100644 index 000000000..0a0a4f866 --- /dev/null +++ b/source/patterns/@aws-solutions-constructs/aws-fargate-kinesisstreams/test/cdk-integ.out.integ.farkin-streamFromProps.js.snapshot/farkin-streamFromProps.assets.json @@ -0,0 +1,32 @@ +{ + "version": "36.0.0", + "files": { + "dd5711540f04e06aa955d7f4862fc04e8cdea464cb590dae91ed2976bb78098e": { + "source": { + "path": "asset.dd5711540f04e06aa955d7f4862fc04e8cdea464cb590dae91ed2976bb78098e", + "packaging": "zip" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "dd5711540f04e06aa955d7f4862fc04e8cdea464cb590dae91ed2976bb78098e.zip", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + }, + "7aba2427f3c6cf5fd95279160eaf0a8a3412820c0517426683760dd56acbb375": { + "source": { + "path": "farkin-streamFromProps.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "7aba2427f3c6cf5fd95279160eaf0a8a3412820c0517426683760dd56acbb375.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/source/patterns/@aws-solutions-constructs/aws-fargate-kinesisstreams/test/cdk-integ.out.integ.farkin-streamFromProps.js.snapshot/farkin-streamFromProps.template.json b/source/patterns/@aws-solutions-constructs/aws-fargate-kinesisstreams/test/cdk-integ.out.integ.farkin-streamFromProps.js.snapshot/farkin-streamFromProps.template.json new file mode 100644 index 000000000..342bdc003 --- /dev/null +++ b/source/patterns/@aws-solutions-constructs/aws-fargate-kinesisstreams/test/cdk-integ.out.integ.farkin-streamFromProps.js.snapshot/farkin-streamFromProps.template.json @@ -0,0 +1,1227 @@ +{ + "Resources": { + "testfargatekinesisstreamsKinesisStreamD31BD614": { + "Type": "AWS::Kinesis::Stream", + "Properties": { + "RetentionPeriodHours": 24, + "StreamEncryption": { + "EncryptionType": "KMS", + "KeyId": "alias/aws/kinesis" + }, + "StreamModeDetails": { + "StreamMode": "ON_DEMAND" + } + } + }, + "testfargatekinesisstreamsKinesisStreamGetRecordsIteratorAgeAlarm60755E90": { + "Type": "AWS::CloudWatch::Alarm", + "Properties": { + "AlarmDescription": "Consumer Record Processing Falling Behind, there is risk for data loss due to record expiration.", + "ComparisonOperator": "GreaterThanOrEqualToThreshold", + "EvaluationPeriods": 1, + "MetricName": "GetRecords.IteratorAgeMilliseconds", + "Namespace": "AWS/Kinesis", + "Period": 300, + "Statistic": "Maximum", + "Threshold": 43200000 + } + }, + "testfargatekinesisstreamsKinesisStreamReadProvisionedThroughputExceededAlarmDE16A9F2": { + "Type": "AWS::CloudWatch::Alarm", + "Properties": { + "AlarmDescription": "Consumer Application is Reading at a Slower Rate Than Expected.", + "ComparisonOperator": "GreaterThanThreshold", + "EvaluationPeriods": 1, + "MetricName": "ReadProvisionedThroughputExceeded", + "Namespace": "AWS/Kinesis", + "Period": 300, + "Statistic": "Average", + "Threshold": 0 + } + }, + "Vpc8378EB38": { + "Type": "AWS::EC2::VPC", + "Properties": { + "CidrBlock": "10.0.0.0/16", + "EnableDnsHostnames": true, + "EnableDnsSupport": true, + "InstanceTenancy": "default", + "Tags": [ + { + "Key": "Name", + "Value": "farkin-streamFromProps/Vpc" + } + ] + } + }, + "VpcPublicSubnet1Subnet5C2D37C4": { + "Type": "AWS::EC2::Subnet", + "Properties": { + "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": "farkin-streamFromProps/Vpc/PublicSubnet1" + } + ], + "VpcId": { + "Ref": "Vpc8378EB38" + } + }, + "Metadata": { + "cfn_nag": { + "rules_to_suppress": [ + { + "id": "W33", + "reason": "Allow Public Subnets to have MapPublicIpOnLaunch set to true" + } + ] + } + } + }, + "VpcPublicSubnet1RouteTable6C95E38E": { + "Type": "AWS::EC2::RouteTable", + "Properties": { + "Tags": [ + { + "Key": "Name", + "Value": "farkin-streamFromProps/Vpc/PublicSubnet1" + } + ], + "VpcId": { + "Ref": "Vpc8378EB38" + } + } + }, + "VpcPublicSubnet1RouteTableAssociation97140677": { + "Type": "AWS::EC2::SubnetRouteTableAssociation", + "Properties": { + "RouteTableId": { + "Ref": "VpcPublicSubnet1RouteTable6C95E38E" + }, + "SubnetId": { + "Ref": "VpcPublicSubnet1Subnet5C2D37C4" + } + } + }, + "VpcPublicSubnet1DefaultRoute3DA9E72A": { + "Type": "AWS::EC2::Route", + "Properties": { + "DestinationCidrBlock": "0.0.0.0/0", + "GatewayId": { + "Ref": "VpcIGWD7BA715C" + }, + "RouteTableId": { + "Ref": "VpcPublicSubnet1RouteTable6C95E38E" + } + }, + "DependsOn": [ + "VpcVPCGWBF912B6E" + ] + }, + "VpcPublicSubnet1EIPD7E02669": { + "Type": "AWS::EC2::EIP", + "Properties": { + "Domain": "vpc", + "Tags": [ + { + "Key": "Name", + "Value": "farkin-streamFromProps/Vpc/PublicSubnet1" + } + ] + } + }, + "VpcPublicSubnet1NATGateway4D7517AA": { + "Type": "AWS::EC2::NatGateway", + "Properties": { + "AllocationId": { + "Fn::GetAtt": [ + "VpcPublicSubnet1EIPD7E02669", + "AllocationId" + ] + }, + "SubnetId": { + "Ref": "VpcPublicSubnet1Subnet5C2D37C4" + }, + "Tags": [ + { + "Key": "Name", + "Value": "farkin-streamFromProps/Vpc/PublicSubnet1" + } + ] + }, + "DependsOn": [ + "VpcPublicSubnet1DefaultRoute3DA9E72A", + "VpcPublicSubnet1RouteTableAssociation97140677" + ] + }, + "VpcPublicSubnet2Subnet691E08A3": { + "Type": "AWS::EC2::Subnet", + "Properties": { + "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": "farkin-streamFromProps/Vpc/PublicSubnet2" + } + ], + "VpcId": { + "Ref": "Vpc8378EB38" + } + }, + "Metadata": { + "cfn_nag": { + "rules_to_suppress": [ + { + "id": "W33", + "reason": "Allow Public Subnets to have MapPublicIpOnLaunch set to true" + } + ] + } + } + }, + "VpcPublicSubnet2RouteTable94F7E489": { + "Type": "AWS::EC2::RouteTable", + "Properties": { + "Tags": [ + { + "Key": "Name", + "Value": "farkin-streamFromProps/Vpc/PublicSubnet2" + } + ], + "VpcId": { + "Ref": "Vpc8378EB38" + } + } + }, + "VpcPublicSubnet2RouteTableAssociationDD5762D8": { + "Type": "AWS::EC2::SubnetRouteTableAssociation", + "Properties": { + "RouteTableId": { + "Ref": "VpcPublicSubnet2RouteTable94F7E489" + }, + "SubnetId": { + "Ref": "VpcPublicSubnet2Subnet691E08A3" + } + } + }, + "VpcPublicSubnet2DefaultRoute97F91067": { + "Type": "AWS::EC2::Route", + "Properties": { + "DestinationCidrBlock": "0.0.0.0/0", + "GatewayId": { + "Ref": "VpcIGWD7BA715C" + }, + "RouteTableId": { + "Ref": "VpcPublicSubnet2RouteTable94F7E489" + } + }, + "DependsOn": [ + "VpcVPCGWBF912B6E" + ] + }, + "VpcPublicSubnet2EIP3C605A87": { + "Type": "AWS::EC2::EIP", + "Properties": { + "Domain": "vpc", + "Tags": [ + { + "Key": "Name", + "Value": "farkin-streamFromProps/Vpc/PublicSubnet2" + } + ] + } + }, + "VpcPublicSubnet2NATGateway9182C01D": { + "Type": "AWS::EC2::NatGateway", + "Properties": { + "AllocationId": { + "Fn::GetAtt": [ + "VpcPublicSubnet2EIP3C605A87", + "AllocationId" + ] + }, + "SubnetId": { + "Ref": "VpcPublicSubnet2Subnet691E08A3" + }, + "Tags": [ + { + "Key": "Name", + "Value": "farkin-streamFromProps/Vpc/PublicSubnet2" + } + ] + }, + "DependsOn": [ + "VpcPublicSubnet2DefaultRoute97F91067", + "VpcPublicSubnet2RouteTableAssociationDD5762D8" + ] + }, + "VpcPrivateSubnet1Subnet536B997A": { + "Type": "AWS::EC2::Subnet", + "Properties": { + "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": "farkin-streamFromProps/Vpc/PrivateSubnet1" + } + ], + "VpcId": { + "Ref": "Vpc8378EB38" + } + } + }, + "VpcPrivateSubnet1RouteTableB2C5B500": { + "Type": "AWS::EC2::RouteTable", + "Properties": { + "Tags": [ + { + "Key": "Name", + "Value": "farkin-streamFromProps/Vpc/PrivateSubnet1" + } + ], + "VpcId": { + "Ref": "Vpc8378EB38" + } + } + }, + "VpcPrivateSubnet1RouteTableAssociation70C59FA6": { + "Type": "AWS::EC2::SubnetRouteTableAssociation", + "Properties": { + "RouteTableId": { + "Ref": "VpcPrivateSubnet1RouteTableB2C5B500" + }, + "SubnetId": { + "Ref": "VpcPrivateSubnet1Subnet536B997A" + } + } + }, + "VpcPrivateSubnet1DefaultRouteBE02A9ED": { + "Type": "AWS::EC2::Route", + "Properties": { + "DestinationCidrBlock": "0.0.0.0/0", + "NatGatewayId": { + "Ref": "VpcPublicSubnet1NATGateway4D7517AA" + }, + "RouteTableId": { + "Ref": "VpcPrivateSubnet1RouteTableB2C5B500" + } + } + }, + "VpcPrivateSubnet2Subnet3788AAA1": { + "Type": "AWS::EC2::Subnet", + "Properties": { + "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": "farkin-streamFromProps/Vpc/PrivateSubnet2" + } + ], + "VpcId": { + "Ref": "Vpc8378EB38" + } + } + }, + "VpcPrivateSubnet2RouteTableA678073B": { + "Type": "AWS::EC2::RouteTable", + "Properties": { + "Tags": [ + { + "Key": "Name", + "Value": "farkin-streamFromProps/Vpc/PrivateSubnet2" + } + ], + "VpcId": { + "Ref": "Vpc8378EB38" + } + } + }, + "VpcPrivateSubnet2RouteTableAssociationA89CAD56": { + "Type": "AWS::EC2::SubnetRouteTableAssociation", + "Properties": { + "RouteTableId": { + "Ref": "VpcPrivateSubnet2RouteTableA678073B" + }, + "SubnetId": { + "Ref": "VpcPrivateSubnet2Subnet3788AAA1" + } + } + }, + "VpcPrivateSubnet2DefaultRoute060D2087": { + "Type": "AWS::EC2::Route", + "Properties": { + "DestinationCidrBlock": "0.0.0.0/0", + "NatGatewayId": { + "Ref": "VpcPublicSubnet2NATGateway9182C01D" + }, + "RouteTableId": { + "Ref": "VpcPrivateSubnet2RouteTableA678073B" + } + } + }, + "VpcIGWD7BA715C": { + "Type": "AWS::EC2::InternetGateway", + "Properties": { + "Tags": [ + { + "Key": "Name", + "Value": "farkin-streamFromProps/Vpc" + } + ] + } + }, + "VpcVPCGWBF912B6E": { + "Type": "AWS::EC2::VPCGatewayAttachment", + "Properties": { + "InternetGatewayId": { + "Ref": "VpcIGWD7BA715C" + }, + "VpcId": { + "Ref": "Vpc8378EB38" + } + } + }, + "VpcRestrictDefaultSecurityGroupCustomResourceC73DA2BE": { + "Type": "Custom::VpcRestrictDefaultSG", + "Properties": { + "ServiceToken": { + "Fn::GetAtt": [ + "CustomVpcRestrictDefaultSGCustomResourceProviderHandlerDC833E5E", + "Arn" + ] + }, + "DefaultSecurityGroupId": { + "Fn::GetAtt": [ + "Vpc8378EB38", + "DefaultSecurityGroup" + ] + }, + "Account": { + "Ref": "AWS::AccountId" + } + }, + "UpdateReplacePolicy": "Delete", + "DeletionPolicy": "Delete" + }, + "VpcFlowLogIAMRole6A475D41": { + "Type": "AWS::IAM::Role", + "Properties": { + "AssumeRolePolicyDocument": { + "Statement": [ + { + "Action": "sts:AssumeRole", + "Effect": "Allow", + "Principal": { + "Service": "vpc-flow-logs.amazonaws.com" + } + } + ], + "Version": "2012-10-17" + }, + "Tags": [ + { + "Key": "Name", + "Value": "farkin-streamFromProps/Vpc/FlowLog" + } + ] + } + }, + "VpcFlowLogIAMRoleDefaultPolicy406FB995": { + "Type": "AWS::IAM::Policy", + "Properties": { + "PolicyDocument": { + "Statement": [ + { + "Action": [ + "logs:CreateLogStream", + "logs:DescribeLogStreams", + "logs:PutLogEvents" + ], + "Effect": "Allow", + "Resource": { + "Fn::GetAtt": [ + "VpcFlowLogLogGroup7B5C56B9", + "Arn" + ] + } + }, + { + "Action": "iam:PassRole", + "Effect": "Allow", + "Resource": { + "Fn::GetAtt": [ + "VpcFlowLogIAMRole6A475D41", + "Arn" + ] + } + } + ], + "Version": "2012-10-17" + }, + "PolicyName": "VpcFlowLogIAMRoleDefaultPolicy406FB995", + "Roles": [ + { + "Ref": "VpcFlowLogIAMRole6A475D41" + } + ] + } + }, + "VpcFlowLogLogGroup7B5C56B9": { + "Type": "AWS::Logs::LogGroup", + "Properties": { + "RetentionInDays": 731, + "Tags": [ + { + "Key": "Name", + "Value": "farkin-streamFromProps/Vpc/FlowLog" + } + ] + }, + "UpdateReplacePolicy": "Retain", + "DeletionPolicy": "Retain", + "Metadata": { + "cfn_nag": { + "rules_to_suppress": [ + { + "id": "W84", + "reason": "By default CloudWatchLogs LogGroups data is encrypted using the CloudWatch server-side encryption keys (AWS Managed Keys)" + } + ] + } + } + }, + "VpcFlowLog8FF33A73": { + "Type": "AWS::EC2::FlowLog", + "Properties": { + "DeliverLogsPermissionArn": { + "Fn::GetAtt": [ + "VpcFlowLogIAMRole6A475D41", + "Arn" + ] + }, + "LogDestinationType": "cloud-watch-logs", + "LogGroupName": { + "Ref": "VpcFlowLogLogGroup7B5C56B9" + }, + "ResourceId": { + "Ref": "Vpc8378EB38" + }, + "ResourceType": "VPC", + "Tags": [ + { + "Key": "Name", + "Value": "farkin-streamFromProps/Vpc/FlowLog" + } + ], + "TrafficType": "ALL" + } + }, + "VpcKINESISSTREAMSC07D91B5": { + "Type": "AWS::EC2::VPCEndpoint", + "Properties": { + "PrivateDnsEnabled": true, + "SecurityGroupIds": [ + { + "Fn::GetAtt": [ + "farkinstreamFromPropsKINESISSTREAMSsecuritygroup17D52D6E", + "GroupId" + ] + } + ], + "ServiceName": { + "Fn::Join": [ + "", + [ + "com.amazonaws.", + { + "Ref": "AWS::Region" + }, + ".kinesis-streams" + ] + ] + }, + "SubnetIds": [ + { + "Ref": "VpcPrivateSubnet1Subnet536B997A" + }, + { + "Ref": "VpcPrivateSubnet2Subnet3788AAA1" + } + ], + "VpcEndpointType": "Interface", + "VpcId": { + "Ref": "Vpc8378EB38" + } + } + }, + "VpcECRAPI9A3B6A2B": { + "Type": "AWS::EC2::VPCEndpoint", + "Properties": { + "PrivateDnsEnabled": true, + "SecurityGroupIds": [ + { + "Fn::GetAtt": [ + "farkinstreamFromPropsECRAPIsecuritygroup9B78C16A", + "GroupId" + ] + } + ], + "ServiceName": { + "Fn::Join": [ + "", + [ + "com.amazonaws.", + { + "Ref": "AWS::Region" + }, + ".ecr.api" + ] + ] + }, + "SubnetIds": [ + { + "Ref": "VpcPrivateSubnet1Subnet536B997A" + }, + { + "Ref": "VpcPrivateSubnet2Subnet3788AAA1" + } + ], + "VpcEndpointType": "Interface", + "VpcId": { + "Ref": "Vpc8378EB38" + } + } + }, + "VpcECRDKR604E039F": { + "Type": "AWS::EC2::VPCEndpoint", + "Properties": { + "PrivateDnsEnabled": true, + "SecurityGroupIds": [ + { + "Fn::GetAtt": [ + "farkinstreamFromPropsECRDKRsecuritygroup153D1633", + "GroupId" + ] + } + ], + "ServiceName": { + "Fn::Join": [ + "", + [ + "com.amazonaws.", + { + "Ref": "AWS::Region" + }, + ".ecr.dkr" + ] + ] + }, + "SubnetIds": [ + { + "Ref": "VpcPrivateSubnet1Subnet536B997A" + }, + { + "Ref": "VpcPrivateSubnet2Subnet3788AAA1" + } + ], + "VpcEndpointType": "Interface", + "VpcId": { + "Ref": "Vpc8378EB38" + } + } + }, + "VpcS3A5408339": { + "Type": "AWS::EC2::VPCEndpoint", + "Properties": { + "RouteTableIds": [ + { + "Ref": "VpcPrivateSubnet1RouteTableB2C5B500" + }, + { + "Ref": "VpcPrivateSubnet2RouteTableA678073B" + }, + { + "Ref": "VpcPublicSubnet1RouteTable6C95E38E" + }, + { + "Ref": "VpcPublicSubnet2RouteTable94F7E489" + } + ], + "ServiceName": { + "Fn::Join": [ + "", + [ + "com.amazonaws.", + { + "Ref": "AWS::Region" + }, + ".s3" + ] + ] + }, + "VpcEndpointType": "Gateway", + "VpcId": { + "Ref": "Vpc8378EB38" + } + } + }, + "CustomVpcRestrictDefaultSGCustomResourceProviderRole26592FE0": { + "Type": "AWS::IAM::Role", + "Properties": { + "AssumeRolePolicyDocument": { + "Version": "2012-10-17", + "Statement": [ + { + "Action": "sts:AssumeRole", + "Effect": "Allow", + "Principal": { + "Service": "lambda.amazonaws.com" + } + } + ] + }, + "ManagedPolicyArns": [ + { + "Fn::Sub": "arn:${AWS::Partition}:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole" + } + ], + "Policies": [ + { + "PolicyName": "Inline", + "PolicyDocument": { + "Version": "2012-10-17", + "Statement": [ + { + "Effect": "Allow", + "Action": [ + "ec2:AuthorizeSecurityGroupIngress", + "ec2:AuthorizeSecurityGroupEgress", + "ec2:RevokeSecurityGroupIngress", + "ec2:RevokeSecurityGroupEgress" + ], + "Resource": [ + { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":ec2:", + { + "Ref": "AWS::Region" + }, + ":", + { + "Ref": "AWS::AccountId" + }, + ":security-group/", + { + "Fn::GetAtt": [ + "Vpc8378EB38", + "DefaultSecurityGroup" + ] + } + ] + ] + } + ] + } + ] + } + } + ] + } + }, + "CustomVpcRestrictDefaultSGCustomResourceProviderHandlerDC833E5E": { + "Type": "AWS::Lambda::Function", + "Properties": { + "Code": { + "S3Bucket": { + "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" + }, + "S3Key": "dd5711540f04e06aa955d7f4862fc04e8cdea464cb590dae91ed2976bb78098e.zip" + }, + "Timeout": 900, + "MemorySize": 128, + "Handler": "__entrypoint__.handler", + "Role": { + "Fn::GetAtt": [ + "CustomVpcRestrictDefaultSGCustomResourceProviderRole26592FE0", + "Arn" + ] + }, + "Runtime": "nodejs18.x", + "Description": "Lambda function for removing all inbound/outbound rules from the VPC default security group" + }, + "DependsOn": [ + "CustomVpcRestrictDefaultSGCustomResourceProviderRole26592FE0" + ], + "Metadata": { + "cfn_nag": { + "rules_to_suppress": [ + { + "id": "W58", + "reason": "CDK generated custom resource" + }, + { + "id": "W89", + "reason": "CDK generated custom resource" + }, + { + "id": "W92", + "reason": "CDK generated custom resource" + } + ] + } + } + }, + "farkinstreamFromPropsKINESISSTREAMSsecuritygroup17D52D6E": { + "Type": "AWS::EC2::SecurityGroup", + "Properties": { + "GroupDescription": "farkin-streamFromProps/farkin-streamFromProps-KINESIS_STREAMS-security-group", + "SecurityGroupEgress": [ + { + "CidrIp": "0.0.0.0/0", + "Description": "Allow all outbound traffic by default", + "IpProtocol": "-1" + } + ], + "SecurityGroupIngress": [ + { + "CidrIp": { + "Fn::GetAtt": [ + "Vpc8378EB38", + "CidrBlock" + ] + }, + "Description": { + "Fn::Join": [ + "", + [ + "from ", + { + "Fn::GetAtt": [ + "Vpc8378EB38", + "CidrBlock" + ] + }, + ":443" + ] + ] + }, + "FromPort": 443, + "IpProtocol": "tcp", + "ToPort": 443 + } + ], + "VpcId": { + "Ref": "Vpc8378EB38" + } + }, + "Metadata": { + "cfn_nag": { + "rules_to_suppress": [ + { + "id": "W5", + "reason": "Egress of 0.0.0.0/0 is default and generally considered OK" + }, + { + "id": "W40", + "reason": "Egress IPProtocol of -1 is default and generally considered OK" + } + ] + } + } + }, + "farkinstreamFromPropsECRAPIsecuritygroup9B78C16A": { + "Type": "AWS::EC2::SecurityGroup", + "Properties": { + "GroupDescription": "farkin-streamFromProps/farkin-streamFromProps-ECR_API-security-group", + "SecurityGroupEgress": [ + { + "CidrIp": "0.0.0.0/0", + "Description": "Allow all outbound traffic by default", + "IpProtocol": "-1" + } + ], + "SecurityGroupIngress": [ + { + "CidrIp": { + "Fn::GetAtt": [ + "Vpc8378EB38", + "CidrBlock" + ] + }, + "Description": { + "Fn::Join": [ + "", + [ + "from ", + { + "Fn::GetAtt": [ + "Vpc8378EB38", + "CidrBlock" + ] + }, + ":443" + ] + ] + }, + "FromPort": 443, + "IpProtocol": "tcp", + "ToPort": 443 + } + ], + "VpcId": { + "Ref": "Vpc8378EB38" + } + }, + "Metadata": { + "cfn_nag": { + "rules_to_suppress": [ + { + "id": "W5", + "reason": "Egress of 0.0.0.0/0 is default and generally considered OK" + }, + { + "id": "W40", + "reason": "Egress IPProtocol of -1 is default and generally considered OK" + } + ] + } + } + }, + "farkinstreamFromPropsECRDKRsecuritygroup153D1633": { + "Type": "AWS::EC2::SecurityGroup", + "Properties": { + "GroupDescription": "farkin-streamFromProps/farkin-streamFromProps-ECR_DKR-security-group", + "SecurityGroupEgress": [ + { + "CidrIp": "0.0.0.0/0", + "Description": "Allow all outbound traffic by default", + "IpProtocol": "-1" + } + ], + "SecurityGroupIngress": [ + { + "CidrIp": { + "Fn::GetAtt": [ + "Vpc8378EB38", + "CidrBlock" + ] + }, + "Description": { + "Fn::Join": [ + "", + [ + "from ", + { + "Fn::GetAtt": [ + "Vpc8378EB38", + "CidrBlock" + ] + }, + ":443" + ] + ] + }, + "FromPort": 443, + "IpProtocol": "tcp", + "ToPort": 443 + } + ], + "VpcId": { + "Ref": "Vpc8378EB38" + } + }, + "Metadata": { + "cfn_nag": { + "rules_to_suppress": [ + { + "id": "W5", + "reason": "Egress of 0.0.0.0/0 is default and generally considered OK" + }, + { + "id": "W40", + "reason": "Egress IPProtocol of -1 is default and generally considered OK" + } + ] + } + } + }, + "testfargatekinesisstreamsclusterEA5A2AD7": { + "Type": "AWS::ECS::Cluster" + }, + "testfargatekinesisstreamstaskdefTaskRole9811F3BE": { + "Type": "AWS::IAM::Role", + "Properties": { + "AssumeRolePolicyDocument": { + "Statement": [ + { + "Action": "sts:AssumeRole", + "Effect": "Allow", + "Principal": { + "Service": "ecs-tasks.amazonaws.com" + } + } + ], + "Version": "2012-10-17" + } + } + }, + "testfargatekinesisstreamstaskdefTaskRoleDefaultPolicyAE7EF3E4": { + "Type": "AWS::IAM::Policy", + "Properties": { + "PolicyDocument": { + "Statement": [ + { + "Action": [ + "kinesis:ListShards", + "kinesis:PutRecord", + "kinesis:PutRecords" + ], + "Effect": "Allow", + "Resource": { + "Fn::GetAtt": [ + "testfargatekinesisstreamsKinesisStreamD31BD614", + "Arn" + ] + } + } + ], + "Version": "2012-10-17" + }, + "PolicyName": "testfargatekinesisstreamstaskdefTaskRoleDefaultPolicyAE7EF3E4", + "Roles": [ + { + "Ref": "testfargatekinesisstreamstaskdefTaskRole9811F3BE" + } + ] + } + }, + "testfargatekinesisstreamstaskdef402FE0B3": { + "Type": "AWS::ECS::TaskDefinition", + "Properties": { + "ContainerDefinitions": [ + { + "Environment": [ + { + "Name": "KINESIS_DATASTREAM_NAME", + "Value": { + "Ref": "testfargatekinesisstreamsKinesisStreamD31BD614" + } + } + ], + "Essential": true, + "Image": "nginx", + "MemoryReservation": 512, + "Name": "test-fargate-kinesisstreams-container", + "PortMappings": [ + { + "ContainerPort": 8080, + "Protocol": "tcp" + } + ] + } + ], + "Cpu": "256", + "Family": "farkinstreamFromPropstestfargatekinesisstreamstaskdef47CE87EA", + "Memory": "512", + "NetworkMode": "awsvpc", + "RequiresCompatibilities": [ + "FARGATE" + ], + "TaskRoleArn": { + "Fn::GetAtt": [ + "testfargatekinesisstreamstaskdefTaskRole9811F3BE", + "Arn" + ] + } + } + }, + "testfargatekinesisstreamssgBA506AC6": { + "Type": "AWS::EC2::SecurityGroup", + "Properties": { + "GroupDescription": "Construct created security group", + "SecurityGroupEgress": [ + { + "CidrIp": "0.0.0.0/0", + "Description": "Allow all outbound traffic by default", + "IpProtocol": "-1" + } + ], + "VpcId": { + "Ref": "Vpc8378EB38" + } + }, + "Metadata": { + "cfn_nag": { + "rules_to_suppress": [ + { + "id": "W5", + "reason": "Egress of 0.0.0.0/0 is default and generally considered OK" + }, + { + "id": "W40", + "reason": "Egress IPProtocol of -1 is default and generally considered OK" + } + ] + } + } + }, + "testfargatekinesisstreamsserviceService5AE7AADF": { + "Type": "AWS::ECS::Service", + "Properties": { + "Cluster": { + "Ref": "testfargatekinesisstreamsclusterEA5A2AD7" + }, + "DeploymentConfiguration": { + "Alarms": { + "AlarmNames": [], + "Enable": false, + "Rollback": false + }, + "MaximumPercent": 150, + "MinimumHealthyPercent": 75 + }, + "DesiredCount": 2, + "EnableECSManagedTags": false, + "LaunchType": "FARGATE", + "NetworkConfiguration": { + "AwsvpcConfiguration": { + "AssignPublicIp": "DISABLED", + "SecurityGroups": [ + { + "Fn::GetAtt": [ + "testfargatekinesisstreamssgBA506AC6", + "GroupId" + ] + } + ], + "Subnets": [ + { + "Ref": "VpcPrivateSubnet1Subnet536B997A" + }, + { + "Ref": "VpcPrivateSubnet2Subnet3788AAA1" + } + ] + } + }, + "PlatformVersion": "LATEST", + "TaskDefinition": { + "Ref": "testfargatekinesisstreamstaskdef402FE0B3" + } + }, + "DependsOn": [ + "testfargatekinesisstreamstaskdefTaskRoleDefaultPolicyAE7EF3E4", + "testfargatekinesisstreamstaskdefTaskRole9811F3BE" + ] + } + }, + "Parameters": { + "BootstrapVersion": { + "Type": "AWS::SSM::Parameter::Value", + "Default": "/cdk-bootstrap/hnb659fds/version", + "Description": "Version of the CDK Bootstrap resources in this environment, automatically retrieved from SSM Parameter Store. [cdk:skip]" + } + }, + "Rules": { + "CheckBootstrapVersion": { + "Assertions": [ + { + "Assert": { + "Fn::Not": [ + { + "Fn::Contains": [ + [ + "1", + "2", + "3", + "4", + "5" + ], + { + "Ref": "BootstrapVersion" + } + ] + } + ] + }, + "AssertDescription": "CDK bootstrap stack version 6 required. Please run 'cdk bootstrap' with a recent version of the CDK CLI." + } + ] + } + } +} \ No newline at end of file diff --git a/source/patterns/@aws-solutions-constructs/aws-fargate-kinesisstreams/test/cdk-integ.out.integ.farkin-streamFromProps.js.snapshot/farkinstreamFromPropsIntegDefaultTestDeployAssertF891650B.assets.json b/source/patterns/@aws-solutions-constructs/aws-fargate-kinesisstreams/test/cdk-integ.out.integ.farkin-streamFromProps.js.snapshot/farkinstreamFromPropsIntegDefaultTestDeployAssertF891650B.assets.json new file mode 100644 index 000000000..da83c3c2d --- /dev/null +++ b/source/patterns/@aws-solutions-constructs/aws-fargate-kinesisstreams/test/cdk-integ.out.integ.farkin-streamFromProps.js.snapshot/farkinstreamFromPropsIntegDefaultTestDeployAssertF891650B.assets.json @@ -0,0 +1,19 @@ +{ + "version": "36.0.0", + "files": { + "21fbb51d7b23f6a6c262b46a9caee79d744a3ac019fd45422d988b96d44b2a22": { + "source": { + "path": "farkinstreamFromPropsIntegDefaultTestDeployAssertF891650B.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "21fbb51d7b23f6a6c262b46a9caee79d744a3ac019fd45422d988b96d44b2a22.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/source/patterns/@aws-solutions-constructs/aws-fargate-kinesisstreams/test/cdk-integ.out.integ.farkin-streamFromProps.js.snapshot/farkinstreamFromPropsIntegDefaultTestDeployAssertF891650B.template.json b/source/patterns/@aws-solutions-constructs/aws-fargate-kinesisstreams/test/cdk-integ.out.integ.farkin-streamFromProps.js.snapshot/farkinstreamFromPropsIntegDefaultTestDeployAssertF891650B.template.json new file mode 100644 index 000000000..ad9d0fb73 --- /dev/null +++ b/source/patterns/@aws-solutions-constructs/aws-fargate-kinesisstreams/test/cdk-integ.out.integ.farkin-streamFromProps.js.snapshot/farkinstreamFromPropsIntegDefaultTestDeployAssertF891650B.template.json @@ -0,0 +1,36 @@ +{ + "Parameters": { + "BootstrapVersion": { + "Type": "AWS::SSM::Parameter::Value", + "Default": "/cdk-bootstrap/hnb659fds/version", + "Description": "Version of the CDK Bootstrap resources in this environment, automatically retrieved from SSM Parameter Store. [cdk:skip]" + } + }, + "Rules": { + "CheckBootstrapVersion": { + "Assertions": [ + { + "Assert": { + "Fn::Not": [ + { + "Fn::Contains": [ + [ + "1", + "2", + "3", + "4", + "5" + ], + { + "Ref": "BootstrapVersion" + } + ] + } + ] + }, + "AssertDescription": "CDK bootstrap stack version 6 required. Please run 'cdk bootstrap' with a recent version of the CDK CLI." + } + ] + } + } +} \ No newline at end of file diff --git a/source/patterns/@aws-solutions-constructs/aws-fargate-kinesisstreams/test/cdk-integ.out.integ.farkin-streamFromProps.js.snapshot/integ.json b/source/patterns/@aws-solutions-constructs/aws-fargate-kinesisstreams/test/cdk-integ.out.integ.farkin-streamFromProps.js.snapshot/integ.json new file mode 100644 index 000000000..e07483b4a --- /dev/null +++ b/source/patterns/@aws-solutions-constructs/aws-fargate-kinesisstreams/test/cdk-integ.out.integ.farkin-streamFromProps.js.snapshot/integ.json @@ -0,0 +1,12 @@ +{ + "version": "36.0.0", + "testCases": { + "farkin-streamFromProps/Integ/DefaultTest": { + "stacks": [ + "farkin-streamFromProps" + ], + "assertionStack": "farkin-streamFromProps/Integ/DefaultTest/DeployAssert", + "assertionStackName": "farkinstreamFromPropsIntegDefaultTestDeployAssertF891650B" + } + } +} \ No newline at end of file diff --git a/source/patterns/@aws-solutions-constructs/aws-fargate-kinesisstreams/test/cdk-integ.out.integ.farkin-streamFromProps.js.snapshot/manifest.json b/source/patterns/@aws-solutions-constructs/aws-fargate-kinesisstreams/test/cdk-integ.out.integ.farkin-streamFromProps.js.snapshot/manifest.json new file mode 100644 index 000000000..f7d0ee9bf --- /dev/null +++ b/source/patterns/@aws-solutions-constructs/aws-fargate-kinesisstreams/test/cdk-integ.out.integ.farkin-streamFromProps.js.snapshot/manifest.json @@ -0,0 +1,383 @@ +{ + "version": "36.0.0", + "artifacts": { + "farkinstreamFromPropsIntegDefaultTestDeployAssertF891650B.assets": { + "type": "cdk:asset-manifest", + "properties": { + "file": "farkinstreamFromPropsIntegDefaultTestDeployAssertF891650B.assets.json", + "requiresBootstrapStackVersion": 6, + "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version" + } + }, + "farkinstreamFromPropsIntegDefaultTestDeployAssertF891650B": { + "type": "aws:cloudformation:stack", + "environment": "aws://unknown-account/unknown-region", + "properties": { + "templateFile": "farkinstreamFromPropsIntegDefaultTestDeployAssertF891650B.template.json", + "terminationProtection": false, + "validateOnSynth": false, + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}", + "cloudFormationExecutionRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}", + "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/21fbb51d7b23f6a6c262b46a9caee79d744a3ac019fd45422d988b96d44b2a22.json", + "requiresBootstrapStackVersion": 6, + "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version", + "additionalDependencies": [ + "farkinstreamFromPropsIntegDefaultTestDeployAssertF891650B.assets" + ], + "lookupRole": { + "arn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-lookup-role-${AWS::AccountId}-${AWS::Region}", + "requiresBootstrapStackVersion": 8, + "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version" + } + }, + "dependencies": [ + "farkinstreamFromPropsIntegDefaultTestDeployAssertF891650B.assets" + ], + "metadata": { + "/farkin-streamFromProps/Integ/DefaultTest/DeployAssert/BootstrapVersion": [ + { + "type": "aws:cdk:logicalId", + "data": "BootstrapVersion" + } + ], + "/farkin-streamFromProps/Integ/DefaultTest/DeployAssert/CheckBootstrapVersion": [ + { + "type": "aws:cdk:logicalId", + "data": "CheckBootstrapVersion" + } + ] + }, + "displayName": "farkin-streamFromProps/Integ/DefaultTest/DeployAssert" + }, + "farkin-streamFromProps.assets": { + "type": "cdk:asset-manifest", + "properties": { + "file": "farkin-streamFromProps.assets.json", + "requiresBootstrapStackVersion": 6, + "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version" + } + }, + "farkin-streamFromProps": { + "type": "aws:cloudformation:stack", + "environment": "aws://unknown-account/unknown-region", + "properties": { + "templateFile": "farkin-streamFromProps.template.json", + "terminationProtection": false, + "validateOnSynth": false, + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}", + "cloudFormationExecutionRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}", + "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/7aba2427f3c6cf5fd95279160eaf0a8a3412820c0517426683760dd56acbb375.json", + "requiresBootstrapStackVersion": 6, + "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version", + "additionalDependencies": [ + "farkin-streamFromProps.assets" + ], + "lookupRole": { + "arn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-lookup-role-${AWS::AccountId}-${AWS::Region}", + "requiresBootstrapStackVersion": 8, + "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version" + } + }, + "dependencies": [ + "farkin-streamFromProps.assets" + ], + "metadata": { + "/farkin-streamFromProps/test-fargate-kinesisstreams/KinesisStream/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "testfargatekinesisstreamsKinesisStreamD31BD614" + } + ], + "/farkin-streamFromProps/test-fargate-kinesisstreams/KinesisStreamGetRecordsIteratorAgeAlarm/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "testfargatekinesisstreamsKinesisStreamGetRecordsIteratorAgeAlarm60755E90" + } + ], + "/farkin-streamFromProps/test-fargate-kinesisstreams/KinesisStreamReadProvisionedThroughputExceededAlarm/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "testfargatekinesisstreamsKinesisStreamReadProvisionedThroughputExceededAlarmDE16A9F2" + } + ], + "/farkin-streamFromProps/Vpc/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "Vpc8378EB38" + } + ], + "/farkin-streamFromProps/Vpc/PublicSubnet1/Subnet": [ + { + "type": "aws:cdk:logicalId", + "data": "VpcPublicSubnet1Subnet5C2D37C4" + } + ], + "/farkin-streamFromProps/Vpc/PublicSubnet1/RouteTable": [ + { + "type": "aws:cdk:logicalId", + "data": "VpcPublicSubnet1RouteTable6C95E38E" + } + ], + "/farkin-streamFromProps/Vpc/PublicSubnet1/RouteTableAssociation": [ + { + "type": "aws:cdk:logicalId", + "data": "VpcPublicSubnet1RouteTableAssociation97140677" + } + ], + "/farkin-streamFromProps/Vpc/PublicSubnet1/DefaultRoute": [ + { + "type": "aws:cdk:logicalId", + "data": "VpcPublicSubnet1DefaultRoute3DA9E72A" + } + ], + "/farkin-streamFromProps/Vpc/PublicSubnet1/EIP": [ + { + "type": "aws:cdk:logicalId", + "data": "VpcPublicSubnet1EIPD7E02669" + } + ], + "/farkin-streamFromProps/Vpc/PublicSubnet1/NATGateway": [ + { + "type": "aws:cdk:logicalId", + "data": "VpcPublicSubnet1NATGateway4D7517AA" + } + ], + "/farkin-streamFromProps/Vpc/PublicSubnet2/Subnet": [ + { + "type": "aws:cdk:logicalId", + "data": "VpcPublicSubnet2Subnet691E08A3" + } + ], + "/farkin-streamFromProps/Vpc/PublicSubnet2/RouteTable": [ + { + "type": "aws:cdk:logicalId", + "data": "VpcPublicSubnet2RouteTable94F7E489" + } + ], + "/farkin-streamFromProps/Vpc/PublicSubnet2/RouteTableAssociation": [ + { + "type": "aws:cdk:logicalId", + "data": "VpcPublicSubnet2RouteTableAssociationDD5762D8" + } + ], + "/farkin-streamFromProps/Vpc/PublicSubnet2/DefaultRoute": [ + { + "type": "aws:cdk:logicalId", + "data": "VpcPublicSubnet2DefaultRoute97F91067" + } + ], + "/farkin-streamFromProps/Vpc/PublicSubnet2/EIP": [ + { + "type": "aws:cdk:logicalId", + "data": "VpcPublicSubnet2EIP3C605A87" + } + ], + "/farkin-streamFromProps/Vpc/PublicSubnet2/NATGateway": [ + { + "type": "aws:cdk:logicalId", + "data": "VpcPublicSubnet2NATGateway9182C01D" + } + ], + "/farkin-streamFromProps/Vpc/PrivateSubnet1/Subnet": [ + { + "type": "aws:cdk:logicalId", + "data": "VpcPrivateSubnet1Subnet536B997A" + } + ], + "/farkin-streamFromProps/Vpc/PrivateSubnet1/RouteTable": [ + { + "type": "aws:cdk:logicalId", + "data": "VpcPrivateSubnet1RouteTableB2C5B500" + } + ], + "/farkin-streamFromProps/Vpc/PrivateSubnet1/RouteTableAssociation": [ + { + "type": "aws:cdk:logicalId", + "data": "VpcPrivateSubnet1RouteTableAssociation70C59FA6" + } + ], + "/farkin-streamFromProps/Vpc/PrivateSubnet1/DefaultRoute": [ + { + "type": "aws:cdk:logicalId", + "data": "VpcPrivateSubnet1DefaultRouteBE02A9ED" + } + ], + "/farkin-streamFromProps/Vpc/PrivateSubnet2/Subnet": [ + { + "type": "aws:cdk:logicalId", + "data": "VpcPrivateSubnet2Subnet3788AAA1" + } + ], + "/farkin-streamFromProps/Vpc/PrivateSubnet2/RouteTable": [ + { + "type": "aws:cdk:logicalId", + "data": "VpcPrivateSubnet2RouteTableA678073B" + } + ], + "/farkin-streamFromProps/Vpc/PrivateSubnet2/RouteTableAssociation": [ + { + "type": "aws:cdk:logicalId", + "data": "VpcPrivateSubnet2RouteTableAssociationA89CAD56" + } + ], + "/farkin-streamFromProps/Vpc/PrivateSubnet2/DefaultRoute": [ + { + "type": "aws:cdk:logicalId", + "data": "VpcPrivateSubnet2DefaultRoute060D2087" + } + ], + "/farkin-streamFromProps/Vpc/IGW": [ + { + "type": "aws:cdk:logicalId", + "data": "VpcIGWD7BA715C" + } + ], + "/farkin-streamFromProps/Vpc/VPCGW": [ + { + "type": "aws:cdk:logicalId", + "data": "VpcVPCGWBF912B6E" + } + ], + "/farkin-streamFromProps/Vpc/RestrictDefaultSecurityGroupCustomResource/Default": [ + { + "type": "aws:cdk:logicalId", + "data": "VpcRestrictDefaultSecurityGroupCustomResourceC73DA2BE" + } + ], + "/farkin-streamFromProps/Vpc/FlowLog/IAMRole/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "VpcFlowLogIAMRole6A475D41" + } + ], + "/farkin-streamFromProps/Vpc/FlowLog/IAMRole/DefaultPolicy/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "VpcFlowLogIAMRoleDefaultPolicy406FB995" + } + ], + "/farkin-streamFromProps/Vpc/FlowLog/LogGroup/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "VpcFlowLogLogGroup7B5C56B9" + } + ], + "/farkin-streamFromProps/Vpc/FlowLog/FlowLog": [ + { + "type": "aws:cdk:logicalId", + "data": "VpcFlowLog8FF33A73" + } + ], + "/farkin-streamFromProps/Vpc/KINESIS_STREAMS/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "VpcKINESISSTREAMSC07D91B5" + } + ], + "/farkin-streamFromProps/Vpc/ECR_API/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "VpcECRAPI9A3B6A2B" + } + ], + "/farkin-streamFromProps/Vpc/ECR_DKR/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "VpcECRDKR604E039F" + } + ], + "/farkin-streamFromProps/Vpc/S3/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "VpcS3A5408339" + } + ], + "/farkin-streamFromProps/Custom::VpcRestrictDefaultSGCustomResourceProvider/Role": [ + { + "type": "aws:cdk:logicalId", + "data": "CustomVpcRestrictDefaultSGCustomResourceProviderRole26592FE0" + } + ], + "/farkin-streamFromProps/Custom::VpcRestrictDefaultSGCustomResourceProvider/Handler": [ + { + "type": "aws:cdk:logicalId", + "data": "CustomVpcRestrictDefaultSGCustomResourceProviderHandlerDC833E5E" + } + ], + "/farkin-streamFromProps/farkin-streamFromProps-KINESIS_STREAMS-security-group/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "farkinstreamFromPropsKINESISSTREAMSsecuritygroup17D52D6E" + } + ], + "/farkin-streamFromProps/farkin-streamFromProps-ECR_API-security-group/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "farkinstreamFromPropsECRAPIsecuritygroup9B78C16A" + } + ], + "/farkin-streamFromProps/farkin-streamFromProps-ECR_DKR-security-group/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "farkinstreamFromPropsECRDKRsecuritygroup153D1633" + } + ], + "/farkin-streamFromProps/test-fargate-kinesisstreams-cluster/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "testfargatekinesisstreamsclusterEA5A2AD7" + } + ], + "/farkin-streamFromProps/test-fargate-kinesisstreams-taskdef/TaskRole/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "testfargatekinesisstreamstaskdefTaskRole9811F3BE" + } + ], + "/farkin-streamFromProps/test-fargate-kinesisstreams-taskdef/TaskRole/DefaultPolicy/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "testfargatekinesisstreamstaskdefTaskRoleDefaultPolicyAE7EF3E4" + } + ], + "/farkin-streamFromProps/test-fargate-kinesisstreams-taskdef/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "testfargatekinesisstreamstaskdef402FE0B3" + } + ], + "/farkin-streamFromProps/test-fargate-kinesisstreams-sg/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "testfargatekinesisstreamssgBA506AC6" + } + ], + "/farkin-streamFromProps/test-fargate-kinesisstreams-service/Service": [ + { + "type": "aws:cdk:logicalId", + "data": "testfargatekinesisstreamsserviceService5AE7AADF" + } + ], + "/farkin-streamFromProps/BootstrapVersion": [ + { + "type": "aws:cdk:logicalId", + "data": "BootstrapVersion" + } + ], + "/farkin-streamFromProps/CheckBootstrapVersion": [ + { + "type": "aws:cdk:logicalId", + "data": "CheckBootstrapVersion" + } + ] + }, + "displayName": "farkin-streamFromProps" + }, + "Tree": { + "type": "cdk:tree", + "properties": { + "file": "tree.json" + } + } + } +} \ No newline at end of file diff --git a/source/patterns/@aws-solutions-constructs/aws-fargate-kinesisstreams/test/cdk-integ.out.integ.farkin-streamFromProps.js.snapshot/tree.json b/source/patterns/@aws-solutions-constructs/aws-fargate-kinesisstreams/test/cdk-integ.out.integ.farkin-streamFromProps.js.snapshot/tree.json new file mode 100644 index 000000000..5ff7c7935 --- /dev/null +++ b/source/patterns/@aws-solutions-constructs/aws-fargate-kinesisstreams/test/cdk-integ.out.integ.farkin-streamFromProps.js.snapshot/tree.json @@ -0,0 +1,1763 @@ +{ + "version": "tree-0.1", + "tree": { + "id": "App", + "path": "", + "children": { + "farkin-streamFromProps": { + "id": "farkin-streamFromProps", + "path": "farkin-streamFromProps", + "children": { + "test-fargate-kinesisstreams": { + "id": "test-fargate-kinesisstreams", + "path": "farkin-streamFromProps/test-fargate-kinesisstreams", + "children": { + "KinesisStream": { + "id": "KinesisStream", + "path": "farkin-streamFromProps/test-fargate-kinesisstreams/KinesisStream", + "children": { + "Resource": { + "id": "Resource", + "path": "farkin-streamFromProps/test-fargate-kinesisstreams/KinesisStream/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::Kinesis::Stream", + "aws:cdk:cloudformation:props": { + "retentionPeriodHours": 24, + "streamEncryption": { + "encryptionType": "KMS", + "keyId": "alias/aws/kinesis" + }, + "streamModeDetails": { + "streamMode": "ON_DEMAND" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_kinesis.CfnStream", + "version": "2.127.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_kinesis.Stream", + "version": "2.127.0" + } + }, + "KinesisStreamGetRecordsIteratorAgeAlarm": { + "id": "KinesisStreamGetRecordsIteratorAgeAlarm", + "path": "farkin-streamFromProps/test-fargate-kinesisstreams/KinesisStreamGetRecordsIteratorAgeAlarm", + "children": { + "Resource": { + "id": "Resource", + "path": "farkin-streamFromProps/test-fargate-kinesisstreams/KinesisStreamGetRecordsIteratorAgeAlarm/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::CloudWatch::Alarm", + "aws:cdk:cloudformation:props": { + "alarmDescription": "Consumer Record Processing Falling Behind, there is risk for data loss due to record expiration.", + "comparisonOperator": "GreaterThanOrEqualToThreshold", + "evaluationPeriods": 1, + "metricName": "GetRecords.IteratorAgeMilliseconds", + "namespace": "AWS/Kinesis", + "period": 300, + "statistic": "Maximum", + "threshold": 43200000 + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_cloudwatch.CfnAlarm", + "version": "2.127.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_cloudwatch.Alarm", + "version": "2.127.0" + } + }, + "KinesisStreamReadProvisionedThroughputExceededAlarm": { + "id": "KinesisStreamReadProvisionedThroughputExceededAlarm", + "path": "farkin-streamFromProps/test-fargate-kinesisstreams/KinesisStreamReadProvisionedThroughputExceededAlarm", + "children": { + "Resource": { + "id": "Resource", + "path": "farkin-streamFromProps/test-fargate-kinesisstreams/KinesisStreamReadProvisionedThroughputExceededAlarm/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::CloudWatch::Alarm", + "aws:cdk:cloudformation:props": { + "alarmDescription": "Consumer Application is Reading at a Slower Rate Than Expected.", + "comparisonOperator": "GreaterThanThreshold", + "evaluationPeriods": 1, + "metricName": "ReadProvisionedThroughputExceeded", + "namespace": "AWS/Kinesis", + "period": 300, + "statistic": "Average", + "threshold": 0 + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_cloudwatch.CfnAlarm", + "version": "2.127.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_cloudwatch.Alarm", + "version": "2.127.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-solutions-constructs/aws-fargate-kinesisstreams.FargateToKinesisStreams", + "version": "2.52.0" + } + }, + "Vpc": { + "id": "Vpc", + "path": "farkin-streamFromProps/Vpc", + "children": { + "Resource": { + "id": "Resource", + "path": "farkin-streamFromProps/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": "farkin-streamFromProps/Vpc" + } + ] + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.CfnVPC", + "version": "2.127.0" + } + }, + "PublicSubnet1": { + "id": "PublicSubnet1", + "path": "farkin-streamFromProps/Vpc/PublicSubnet1", + "children": { + "Subnet": { + "id": "Subnet", + "path": "farkin-streamFromProps/Vpc/PublicSubnet1/Subnet", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::Subnet", + "aws:cdk:cloudformation:props": { + "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": "farkin-streamFromProps/Vpc/PublicSubnet1" + } + ], + "vpcId": { + "Ref": "Vpc8378EB38" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.CfnSubnet", + "version": "2.127.0" + } + }, + "Acl": { + "id": "Acl", + "path": "farkin-streamFromProps/Vpc/PublicSubnet1/Acl", + "constructInfo": { + "fqn": "aws-cdk-lib.Resource", + "version": "2.127.0" + } + }, + "RouteTable": { + "id": "RouteTable", + "path": "farkin-streamFromProps/Vpc/PublicSubnet1/RouteTable", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::RouteTable", + "aws:cdk:cloudformation:props": { + "tags": [ + { + "key": "Name", + "value": "farkin-streamFromProps/Vpc/PublicSubnet1" + } + ], + "vpcId": { + "Ref": "Vpc8378EB38" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.CfnRouteTable", + "version": "2.127.0" + } + }, + "RouteTableAssociation": { + "id": "RouteTableAssociation", + "path": "farkin-streamFromProps/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-lib.aws_ec2.CfnSubnetRouteTableAssociation", + "version": "2.127.0" + } + }, + "DefaultRoute": { + "id": "DefaultRoute", + "path": "farkin-streamFromProps/Vpc/PublicSubnet1/DefaultRoute", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::Route", + "aws:cdk:cloudformation:props": { + "destinationCidrBlock": "0.0.0.0/0", + "gatewayId": { + "Ref": "VpcIGWD7BA715C" + }, + "routeTableId": { + "Ref": "VpcPublicSubnet1RouteTable6C95E38E" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.CfnRoute", + "version": "2.127.0" + } + }, + "EIP": { + "id": "EIP", + "path": "farkin-streamFromProps/Vpc/PublicSubnet1/EIP", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::EIP", + "aws:cdk:cloudformation:props": { + "domain": "vpc", + "tags": [ + { + "key": "Name", + "value": "farkin-streamFromProps/Vpc/PublicSubnet1" + } + ] + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.CfnEIP", + "version": "2.127.0" + } + }, + "NATGateway": { + "id": "NATGateway", + "path": "farkin-streamFromProps/Vpc/PublicSubnet1/NATGateway", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::NatGateway", + "aws:cdk:cloudformation:props": { + "allocationId": { + "Fn::GetAtt": [ + "VpcPublicSubnet1EIPD7E02669", + "AllocationId" + ] + }, + "subnetId": { + "Ref": "VpcPublicSubnet1Subnet5C2D37C4" + }, + "tags": [ + { + "key": "Name", + "value": "farkin-streamFromProps/Vpc/PublicSubnet1" + } + ] + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.CfnNatGateway", + "version": "2.127.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.PublicSubnet", + "version": "2.127.0" + } + }, + "PublicSubnet2": { + "id": "PublicSubnet2", + "path": "farkin-streamFromProps/Vpc/PublicSubnet2", + "children": { + "Subnet": { + "id": "Subnet", + "path": "farkin-streamFromProps/Vpc/PublicSubnet2/Subnet", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::Subnet", + "aws:cdk:cloudformation:props": { + "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": "farkin-streamFromProps/Vpc/PublicSubnet2" + } + ], + "vpcId": { + "Ref": "Vpc8378EB38" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.CfnSubnet", + "version": "2.127.0" + } + }, + "Acl": { + "id": "Acl", + "path": "farkin-streamFromProps/Vpc/PublicSubnet2/Acl", + "constructInfo": { + "fqn": "aws-cdk-lib.Resource", + "version": "2.127.0" + } + }, + "RouteTable": { + "id": "RouteTable", + "path": "farkin-streamFromProps/Vpc/PublicSubnet2/RouteTable", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::RouteTable", + "aws:cdk:cloudformation:props": { + "tags": [ + { + "key": "Name", + "value": "farkin-streamFromProps/Vpc/PublicSubnet2" + } + ], + "vpcId": { + "Ref": "Vpc8378EB38" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.CfnRouteTable", + "version": "2.127.0" + } + }, + "RouteTableAssociation": { + "id": "RouteTableAssociation", + "path": "farkin-streamFromProps/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-lib.aws_ec2.CfnSubnetRouteTableAssociation", + "version": "2.127.0" + } + }, + "DefaultRoute": { + "id": "DefaultRoute", + "path": "farkin-streamFromProps/Vpc/PublicSubnet2/DefaultRoute", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::Route", + "aws:cdk:cloudformation:props": { + "destinationCidrBlock": "0.0.0.0/0", + "gatewayId": { + "Ref": "VpcIGWD7BA715C" + }, + "routeTableId": { + "Ref": "VpcPublicSubnet2RouteTable94F7E489" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.CfnRoute", + "version": "2.127.0" + } + }, + "EIP": { + "id": "EIP", + "path": "farkin-streamFromProps/Vpc/PublicSubnet2/EIP", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::EIP", + "aws:cdk:cloudformation:props": { + "domain": "vpc", + "tags": [ + { + "key": "Name", + "value": "farkin-streamFromProps/Vpc/PublicSubnet2" + } + ] + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.CfnEIP", + "version": "2.127.0" + } + }, + "NATGateway": { + "id": "NATGateway", + "path": "farkin-streamFromProps/Vpc/PublicSubnet2/NATGateway", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::NatGateway", + "aws:cdk:cloudformation:props": { + "allocationId": { + "Fn::GetAtt": [ + "VpcPublicSubnet2EIP3C605A87", + "AllocationId" + ] + }, + "subnetId": { + "Ref": "VpcPublicSubnet2Subnet691E08A3" + }, + "tags": [ + { + "key": "Name", + "value": "farkin-streamFromProps/Vpc/PublicSubnet2" + } + ] + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.CfnNatGateway", + "version": "2.127.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.PublicSubnet", + "version": "2.127.0" + } + }, + "PrivateSubnet1": { + "id": "PrivateSubnet1", + "path": "farkin-streamFromProps/Vpc/PrivateSubnet1", + "children": { + "Subnet": { + "id": "Subnet", + "path": "farkin-streamFromProps/Vpc/PrivateSubnet1/Subnet", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::Subnet", + "aws:cdk:cloudformation:props": { + "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": "farkin-streamFromProps/Vpc/PrivateSubnet1" + } + ], + "vpcId": { + "Ref": "Vpc8378EB38" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.CfnSubnet", + "version": "2.127.0" + } + }, + "Acl": { + "id": "Acl", + "path": "farkin-streamFromProps/Vpc/PrivateSubnet1/Acl", + "constructInfo": { + "fqn": "aws-cdk-lib.Resource", + "version": "2.127.0" + } + }, + "RouteTable": { + "id": "RouteTable", + "path": "farkin-streamFromProps/Vpc/PrivateSubnet1/RouteTable", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::RouteTable", + "aws:cdk:cloudformation:props": { + "tags": [ + { + "key": "Name", + "value": "farkin-streamFromProps/Vpc/PrivateSubnet1" + } + ], + "vpcId": { + "Ref": "Vpc8378EB38" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.CfnRouteTable", + "version": "2.127.0" + } + }, + "RouteTableAssociation": { + "id": "RouteTableAssociation", + "path": "farkin-streamFromProps/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-lib.aws_ec2.CfnSubnetRouteTableAssociation", + "version": "2.127.0" + } + }, + "DefaultRoute": { + "id": "DefaultRoute", + "path": "farkin-streamFromProps/Vpc/PrivateSubnet1/DefaultRoute", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::Route", + "aws:cdk:cloudformation:props": { + "destinationCidrBlock": "0.0.0.0/0", + "natGatewayId": { + "Ref": "VpcPublicSubnet1NATGateway4D7517AA" + }, + "routeTableId": { + "Ref": "VpcPrivateSubnet1RouteTableB2C5B500" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.CfnRoute", + "version": "2.127.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.PrivateSubnet", + "version": "2.127.0" + } + }, + "PrivateSubnet2": { + "id": "PrivateSubnet2", + "path": "farkin-streamFromProps/Vpc/PrivateSubnet2", + "children": { + "Subnet": { + "id": "Subnet", + "path": "farkin-streamFromProps/Vpc/PrivateSubnet2/Subnet", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::Subnet", + "aws:cdk:cloudformation:props": { + "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": "farkin-streamFromProps/Vpc/PrivateSubnet2" + } + ], + "vpcId": { + "Ref": "Vpc8378EB38" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.CfnSubnet", + "version": "2.127.0" + } + }, + "Acl": { + "id": "Acl", + "path": "farkin-streamFromProps/Vpc/PrivateSubnet2/Acl", + "constructInfo": { + "fqn": "aws-cdk-lib.Resource", + "version": "2.127.0" + } + }, + "RouteTable": { + "id": "RouteTable", + "path": "farkin-streamFromProps/Vpc/PrivateSubnet2/RouteTable", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::RouteTable", + "aws:cdk:cloudformation:props": { + "tags": [ + { + "key": "Name", + "value": "farkin-streamFromProps/Vpc/PrivateSubnet2" + } + ], + "vpcId": { + "Ref": "Vpc8378EB38" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.CfnRouteTable", + "version": "2.127.0" + } + }, + "RouteTableAssociation": { + "id": "RouteTableAssociation", + "path": "farkin-streamFromProps/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-lib.aws_ec2.CfnSubnetRouteTableAssociation", + "version": "2.127.0" + } + }, + "DefaultRoute": { + "id": "DefaultRoute", + "path": "farkin-streamFromProps/Vpc/PrivateSubnet2/DefaultRoute", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::Route", + "aws:cdk:cloudformation:props": { + "destinationCidrBlock": "0.0.0.0/0", + "natGatewayId": { + "Ref": "VpcPublicSubnet2NATGateway9182C01D" + }, + "routeTableId": { + "Ref": "VpcPrivateSubnet2RouteTableA678073B" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.CfnRoute", + "version": "2.127.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.PrivateSubnet", + "version": "2.127.0" + } + }, + "IGW": { + "id": "IGW", + "path": "farkin-streamFromProps/Vpc/IGW", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::InternetGateway", + "aws:cdk:cloudformation:props": { + "tags": [ + { + "key": "Name", + "value": "farkin-streamFromProps/Vpc" + } + ] + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.CfnInternetGateway", + "version": "2.127.0" + } + }, + "VPCGW": { + "id": "VPCGW", + "path": "farkin-streamFromProps/Vpc/VPCGW", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::VPCGatewayAttachment", + "aws:cdk:cloudformation:props": { + "internetGatewayId": { + "Ref": "VpcIGWD7BA715C" + }, + "vpcId": { + "Ref": "Vpc8378EB38" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.CfnVPCGatewayAttachment", + "version": "2.127.0" + } + }, + "RestrictDefaultSecurityGroupCustomResource": { + "id": "RestrictDefaultSecurityGroupCustomResource", + "path": "farkin-streamFromProps/Vpc/RestrictDefaultSecurityGroupCustomResource", + "children": { + "Default": { + "id": "Default", + "path": "farkin-streamFromProps/Vpc/RestrictDefaultSecurityGroupCustomResource/Default", + "constructInfo": { + "fqn": "aws-cdk-lib.CfnResource", + "version": "2.127.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.CustomResource", + "version": "2.127.0" + } + }, + "FlowLog": { + "id": "FlowLog", + "path": "farkin-streamFromProps/Vpc/FlowLog", + "children": { + "IAMRole": { + "id": "IAMRole", + "path": "farkin-streamFromProps/Vpc/FlowLog/IAMRole", + "children": { + "ImportIAMRole": { + "id": "ImportIAMRole", + "path": "farkin-streamFromProps/Vpc/FlowLog/IAMRole/ImportIAMRole", + "constructInfo": { + "fqn": "aws-cdk-lib.Resource", + "version": "2.127.0" + } + }, + "Resource": { + "id": "Resource", + "path": "farkin-streamFromProps/Vpc/FlowLog/IAMRole/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::IAM::Role", + "aws:cdk:cloudformation:props": { + "assumeRolePolicyDocument": { + "Statement": [ + { + "Action": "sts:AssumeRole", + "Effect": "Allow", + "Principal": { + "Service": "vpc-flow-logs.amazonaws.com" + } + } + ], + "Version": "2012-10-17" + }, + "tags": [ + { + "key": "Name", + "value": "farkin-streamFromProps/Vpc/FlowLog" + } + ] + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_iam.CfnRole", + "version": "2.127.0" + } + }, + "DefaultPolicy": { + "id": "DefaultPolicy", + "path": "farkin-streamFromProps/Vpc/FlowLog/IAMRole/DefaultPolicy", + "children": { + "Resource": { + "id": "Resource", + "path": "farkin-streamFromProps/Vpc/FlowLog/IAMRole/DefaultPolicy/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::IAM::Policy", + "aws:cdk:cloudformation:props": { + "policyDocument": { + "Statement": [ + { + "Action": [ + "logs:CreateLogStream", + "logs:DescribeLogStreams", + "logs:PutLogEvents" + ], + "Effect": "Allow", + "Resource": { + "Fn::GetAtt": [ + "VpcFlowLogLogGroup7B5C56B9", + "Arn" + ] + } + }, + { + "Action": "iam:PassRole", + "Effect": "Allow", + "Resource": { + "Fn::GetAtt": [ + "VpcFlowLogIAMRole6A475D41", + "Arn" + ] + } + } + ], + "Version": "2012-10-17" + }, + "policyName": "VpcFlowLogIAMRoleDefaultPolicy406FB995", + "roles": [ + { + "Ref": "VpcFlowLogIAMRole6A475D41" + } + ] + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_iam.CfnPolicy", + "version": "2.127.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_iam.Policy", + "version": "2.127.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_iam.Role", + "version": "2.127.0" + } + }, + "LogGroup": { + "id": "LogGroup", + "path": "farkin-streamFromProps/Vpc/FlowLog/LogGroup", + "children": { + "Resource": { + "id": "Resource", + "path": "farkin-streamFromProps/Vpc/FlowLog/LogGroup/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::Logs::LogGroup", + "aws:cdk:cloudformation:props": { + "retentionInDays": 731, + "tags": [ + { + "key": "Name", + "value": "farkin-streamFromProps/Vpc/FlowLog" + } + ] + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_logs.CfnLogGroup", + "version": "2.127.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_logs.LogGroup", + "version": "2.127.0" + } + }, + "FlowLog": { + "id": "FlowLog", + "path": "farkin-streamFromProps/Vpc/FlowLog/FlowLog", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::FlowLog", + "aws:cdk:cloudformation:props": { + "deliverLogsPermissionArn": { + "Fn::GetAtt": [ + "VpcFlowLogIAMRole6A475D41", + "Arn" + ] + }, + "logDestinationType": "cloud-watch-logs", + "logGroupName": { + "Ref": "VpcFlowLogLogGroup7B5C56B9" + }, + "resourceId": { + "Ref": "Vpc8378EB38" + }, + "resourceType": "VPC", + "tags": [ + { + "key": "Name", + "value": "farkin-streamFromProps/Vpc/FlowLog" + } + ], + "trafficType": "ALL" + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.CfnFlowLog", + "version": "2.127.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.FlowLog", + "version": "2.127.0" + } + }, + "KINESIS_STREAMS": { + "id": "KINESIS_STREAMS", + "path": "farkin-streamFromProps/Vpc/KINESIS_STREAMS", + "children": { + "Resource": { + "id": "Resource", + "path": "farkin-streamFromProps/Vpc/KINESIS_STREAMS/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::VPCEndpoint", + "aws:cdk:cloudformation:props": { + "privateDnsEnabled": true, + "securityGroupIds": [ + { + "Fn::GetAtt": [ + "farkinstreamFromPropsKINESISSTREAMSsecuritygroup17D52D6E", + "GroupId" + ] + } + ], + "serviceName": { + "Fn::Join": [ + "", + [ + "com.amazonaws.", + { + "Ref": "AWS::Region" + }, + ".kinesis-streams" + ] + ] + }, + "subnetIds": [ + { + "Ref": "VpcPrivateSubnet1Subnet536B997A" + }, + { + "Ref": "VpcPrivateSubnet2Subnet3788AAA1" + } + ], + "vpcEndpointType": "Interface", + "vpcId": { + "Ref": "Vpc8378EB38" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.CfnVPCEndpoint", + "version": "2.127.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.InterfaceVpcEndpoint", + "version": "2.127.0" + } + }, + "ECR_API": { + "id": "ECR_API", + "path": "farkin-streamFromProps/Vpc/ECR_API", + "children": { + "Resource": { + "id": "Resource", + "path": "farkin-streamFromProps/Vpc/ECR_API/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::VPCEndpoint", + "aws:cdk:cloudformation:props": { + "privateDnsEnabled": true, + "securityGroupIds": [ + { + "Fn::GetAtt": [ + "farkinstreamFromPropsECRAPIsecuritygroup9B78C16A", + "GroupId" + ] + } + ], + "serviceName": { + "Fn::Join": [ + "", + [ + "com.amazonaws.", + { + "Ref": "AWS::Region" + }, + ".ecr.api" + ] + ] + }, + "subnetIds": [ + { + "Ref": "VpcPrivateSubnet1Subnet536B997A" + }, + { + "Ref": "VpcPrivateSubnet2Subnet3788AAA1" + } + ], + "vpcEndpointType": "Interface", + "vpcId": { + "Ref": "Vpc8378EB38" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.CfnVPCEndpoint", + "version": "2.127.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.InterfaceVpcEndpoint", + "version": "2.127.0" + } + }, + "ECR_DKR": { + "id": "ECR_DKR", + "path": "farkin-streamFromProps/Vpc/ECR_DKR", + "children": { + "Resource": { + "id": "Resource", + "path": "farkin-streamFromProps/Vpc/ECR_DKR/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::VPCEndpoint", + "aws:cdk:cloudformation:props": { + "privateDnsEnabled": true, + "securityGroupIds": [ + { + "Fn::GetAtt": [ + "farkinstreamFromPropsECRDKRsecuritygroup153D1633", + "GroupId" + ] + } + ], + "serviceName": { + "Fn::Join": [ + "", + [ + "com.amazonaws.", + { + "Ref": "AWS::Region" + }, + ".ecr.dkr" + ] + ] + }, + "subnetIds": [ + { + "Ref": "VpcPrivateSubnet1Subnet536B997A" + }, + { + "Ref": "VpcPrivateSubnet2Subnet3788AAA1" + } + ], + "vpcEndpointType": "Interface", + "vpcId": { + "Ref": "Vpc8378EB38" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.CfnVPCEndpoint", + "version": "2.127.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.InterfaceVpcEndpoint", + "version": "2.127.0" + } + }, + "S3": { + "id": "S3", + "path": "farkin-streamFromProps/Vpc/S3", + "children": { + "Resource": { + "id": "Resource", + "path": "farkin-streamFromProps/Vpc/S3/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::VPCEndpoint", + "aws:cdk:cloudformation:props": { + "routeTableIds": [ + { + "Ref": "VpcPrivateSubnet1RouteTableB2C5B500" + }, + { + "Ref": "VpcPrivateSubnet2RouteTableA678073B" + }, + { + "Ref": "VpcPublicSubnet1RouteTable6C95E38E" + }, + { + "Ref": "VpcPublicSubnet2RouteTable94F7E489" + } + ], + "serviceName": { + "Fn::Join": [ + "", + [ + "com.amazonaws.", + { + "Ref": "AWS::Region" + }, + ".s3" + ] + ] + }, + "vpcEndpointType": "Gateway", + "vpcId": { + "Ref": "Vpc8378EB38" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.CfnVPCEndpoint", + "version": "2.127.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.GatewayVpcEndpoint", + "version": "2.127.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.Vpc", + "version": "2.127.0" + } + }, + "Custom::VpcRestrictDefaultSGCustomResourceProvider": { + "id": "Custom::VpcRestrictDefaultSGCustomResourceProvider", + "path": "farkin-streamFromProps/Custom::VpcRestrictDefaultSGCustomResourceProvider", + "children": { + "Staging": { + "id": "Staging", + "path": "farkin-streamFromProps/Custom::VpcRestrictDefaultSGCustomResourceProvider/Staging", + "constructInfo": { + "fqn": "aws-cdk-lib.AssetStaging", + "version": "2.127.0" + } + }, + "Role": { + "id": "Role", + "path": "farkin-streamFromProps/Custom::VpcRestrictDefaultSGCustomResourceProvider/Role", + "constructInfo": { + "fqn": "aws-cdk-lib.CfnResource", + "version": "2.127.0" + } + }, + "Handler": { + "id": "Handler", + "path": "farkin-streamFromProps/Custom::VpcRestrictDefaultSGCustomResourceProvider/Handler", + "constructInfo": { + "fqn": "aws-cdk-lib.CfnResource", + "version": "2.127.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.CustomResourceProviderBase", + "version": "2.127.0" + } + }, + "farkin-streamFromProps-KINESIS_STREAMS-security-group": { + "id": "farkin-streamFromProps-KINESIS_STREAMS-security-group", + "path": "farkin-streamFromProps/farkin-streamFromProps-KINESIS_STREAMS-security-group", + "children": { + "Resource": { + "id": "Resource", + "path": "farkin-streamFromProps/farkin-streamFromProps-KINESIS_STREAMS-security-group/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::SecurityGroup", + "aws:cdk:cloudformation:props": { + "groupDescription": "farkin-streamFromProps/farkin-streamFromProps-KINESIS_STREAMS-security-group", + "securityGroupEgress": [ + { + "cidrIp": "0.0.0.0/0", + "description": "Allow all outbound traffic by default", + "ipProtocol": "-1" + } + ], + "securityGroupIngress": [ + { + "cidrIp": { + "Fn::GetAtt": [ + "Vpc8378EB38", + "CidrBlock" + ] + }, + "ipProtocol": "tcp", + "fromPort": 443, + "toPort": 443, + "description": { + "Fn::Join": [ + "", + [ + "from ", + { + "Fn::GetAtt": [ + "Vpc8378EB38", + "CidrBlock" + ] + }, + ":443" + ] + ] + } + } + ], + "vpcId": { + "Ref": "Vpc8378EB38" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.CfnSecurityGroup", + "version": "2.127.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.SecurityGroup", + "version": "2.127.0" + } + }, + "farkin-streamFromProps-ECR_API-security-group": { + "id": "farkin-streamFromProps-ECR_API-security-group", + "path": "farkin-streamFromProps/farkin-streamFromProps-ECR_API-security-group", + "children": { + "Resource": { + "id": "Resource", + "path": "farkin-streamFromProps/farkin-streamFromProps-ECR_API-security-group/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::SecurityGroup", + "aws:cdk:cloudformation:props": { + "groupDescription": "farkin-streamFromProps/farkin-streamFromProps-ECR_API-security-group", + "securityGroupEgress": [ + { + "cidrIp": "0.0.0.0/0", + "description": "Allow all outbound traffic by default", + "ipProtocol": "-1" + } + ], + "securityGroupIngress": [ + { + "cidrIp": { + "Fn::GetAtt": [ + "Vpc8378EB38", + "CidrBlock" + ] + }, + "ipProtocol": "tcp", + "fromPort": 443, + "toPort": 443, + "description": { + "Fn::Join": [ + "", + [ + "from ", + { + "Fn::GetAtt": [ + "Vpc8378EB38", + "CidrBlock" + ] + }, + ":443" + ] + ] + } + } + ], + "vpcId": { + "Ref": "Vpc8378EB38" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.CfnSecurityGroup", + "version": "2.127.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.SecurityGroup", + "version": "2.127.0" + } + }, + "farkin-streamFromProps-ECR_DKR-security-group": { + "id": "farkin-streamFromProps-ECR_DKR-security-group", + "path": "farkin-streamFromProps/farkin-streamFromProps-ECR_DKR-security-group", + "children": { + "Resource": { + "id": "Resource", + "path": "farkin-streamFromProps/farkin-streamFromProps-ECR_DKR-security-group/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::SecurityGroup", + "aws:cdk:cloudformation:props": { + "groupDescription": "farkin-streamFromProps/farkin-streamFromProps-ECR_DKR-security-group", + "securityGroupEgress": [ + { + "cidrIp": "0.0.0.0/0", + "description": "Allow all outbound traffic by default", + "ipProtocol": "-1" + } + ], + "securityGroupIngress": [ + { + "cidrIp": { + "Fn::GetAtt": [ + "Vpc8378EB38", + "CidrBlock" + ] + }, + "ipProtocol": "tcp", + "fromPort": 443, + "toPort": 443, + "description": { + "Fn::Join": [ + "", + [ + "from ", + { + "Fn::GetAtt": [ + "Vpc8378EB38", + "CidrBlock" + ] + }, + ":443" + ] + ] + } + } + ], + "vpcId": { + "Ref": "Vpc8378EB38" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.CfnSecurityGroup", + "version": "2.127.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.SecurityGroup", + "version": "2.127.0" + } + }, + "test-fargate-kinesisstreams-cluster": { + "id": "test-fargate-kinesisstreams-cluster", + "path": "farkin-streamFromProps/test-fargate-kinesisstreams-cluster", + "children": { + "Resource": { + "id": "Resource", + "path": "farkin-streamFromProps/test-fargate-kinesisstreams-cluster/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::ECS::Cluster", + "aws:cdk:cloudformation:props": {} + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ecs.CfnCluster", + "version": "2.127.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ecs.Cluster", + "version": "2.127.0" + } + }, + "test-fargate-kinesisstreams-taskdef": { + "id": "test-fargate-kinesisstreams-taskdef", + "path": "farkin-streamFromProps/test-fargate-kinesisstreams-taskdef", + "children": { + "TaskRole": { + "id": "TaskRole", + "path": "farkin-streamFromProps/test-fargate-kinesisstreams-taskdef/TaskRole", + "children": { + "ImportTaskRole": { + "id": "ImportTaskRole", + "path": "farkin-streamFromProps/test-fargate-kinesisstreams-taskdef/TaskRole/ImportTaskRole", + "constructInfo": { + "fqn": "aws-cdk-lib.Resource", + "version": "2.127.0" + } + }, + "Resource": { + "id": "Resource", + "path": "farkin-streamFromProps/test-fargate-kinesisstreams-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-lib.aws_iam.CfnRole", + "version": "2.127.0" + } + }, + "DefaultPolicy": { + "id": "DefaultPolicy", + "path": "farkin-streamFromProps/test-fargate-kinesisstreams-taskdef/TaskRole/DefaultPolicy", + "children": { + "Resource": { + "id": "Resource", + "path": "farkin-streamFromProps/test-fargate-kinesisstreams-taskdef/TaskRole/DefaultPolicy/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::IAM::Policy", + "aws:cdk:cloudformation:props": { + "policyDocument": { + "Statement": [ + { + "Action": [ + "kinesis:ListShards", + "kinesis:PutRecord", + "kinesis:PutRecords" + ], + "Effect": "Allow", + "Resource": { + "Fn::GetAtt": [ + "testfargatekinesisstreamsKinesisStreamD31BD614", + "Arn" + ] + } + } + ], + "Version": "2012-10-17" + }, + "policyName": "testfargatekinesisstreamstaskdefTaskRoleDefaultPolicyAE7EF3E4", + "roles": [ + { + "Ref": "testfargatekinesisstreamstaskdefTaskRole9811F3BE" + } + ] + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_iam.CfnPolicy", + "version": "2.127.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_iam.Policy", + "version": "2.127.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_iam.Role", + "version": "2.127.0" + } + }, + "Resource": { + "id": "Resource", + "path": "farkin-streamFromProps/test-fargate-kinesisstreams-taskdef/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::ECS::TaskDefinition", + "aws:cdk:cloudformation:props": { + "containerDefinitions": [ + { + "essential": true, + "image": "nginx", + "memoryReservation": 512, + "name": "test-fargate-kinesisstreams-container", + "portMappings": [ + { + "containerPort": 8080, + "protocol": "tcp" + } + ], + "environment": [ + { + "name": "KINESIS_DATASTREAM_NAME", + "value": { + "Ref": "testfargatekinesisstreamsKinesisStreamD31BD614" + } + } + ] + } + ], + "cpu": "256", + "family": "farkinstreamFromPropstestfargatekinesisstreamstaskdef47CE87EA", + "memory": "512", + "networkMode": "awsvpc", + "requiresCompatibilities": [ + "FARGATE" + ], + "taskRoleArn": { + "Fn::GetAtt": [ + "testfargatekinesisstreamstaskdefTaskRole9811F3BE", + "Arn" + ] + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ecs.CfnTaskDefinition", + "version": "2.127.0" + } + }, + "test-fargate-kinesisstreams-container": { + "id": "test-fargate-kinesisstreams-container", + "path": "farkin-streamFromProps/test-fargate-kinesisstreams-taskdef/test-fargate-kinesisstreams-container", + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ecs.ContainerDefinition", + "version": "2.127.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ecs.FargateTaskDefinition", + "version": "2.127.0" + } + }, + "test-fargate-kinesisstreams-sg": { + "id": "test-fargate-kinesisstreams-sg", + "path": "farkin-streamFromProps/test-fargate-kinesisstreams-sg", + "children": { + "Resource": { + "id": "Resource", + "path": "farkin-streamFromProps/test-fargate-kinesisstreams-sg/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::SecurityGroup", + "aws:cdk:cloudformation:props": { + "groupDescription": "Construct created security group", + "securityGroupEgress": [ + { + "cidrIp": "0.0.0.0/0", + "description": "Allow all outbound traffic by default", + "ipProtocol": "-1" + } + ], + "vpcId": { + "Ref": "Vpc8378EB38" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.CfnSecurityGroup", + "version": "2.127.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.SecurityGroup", + "version": "2.127.0" + } + }, + "test-fargate-kinesisstreams-service": { + "id": "test-fargate-kinesisstreams-service", + "path": "farkin-streamFromProps/test-fargate-kinesisstreams-service", + "children": { + "Service": { + "id": "Service", + "path": "farkin-streamFromProps/test-fargate-kinesisstreams-service/Service", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::ECS::Service", + "aws:cdk:cloudformation:props": { + "cluster": { + "Ref": "testfargatekinesisstreamsclusterEA5A2AD7" + }, + "deploymentConfiguration": { + "maximumPercent": 150, + "minimumHealthyPercent": 75, + "alarms": { + "alarmNames": [], + "enable": false, + "rollback": false + } + }, + "desiredCount": 2, + "enableEcsManagedTags": false, + "launchType": "FARGATE", + "networkConfiguration": { + "awsvpcConfiguration": { + "assignPublicIp": "DISABLED", + "subnets": [ + { + "Ref": "VpcPrivateSubnet1Subnet536B997A" + }, + { + "Ref": "VpcPrivateSubnet2Subnet3788AAA1" + } + ], + "securityGroups": [ + { + "Fn::GetAtt": [ + "testfargatekinesisstreamssgBA506AC6", + "GroupId" + ] + } + ] + } + }, + "platformVersion": "LATEST", + "taskDefinition": { + "Ref": "testfargatekinesisstreamstaskdef402FE0B3" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ecs.CfnService", + "version": "2.127.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ecs.FargateService", + "version": "2.127.0" + } + }, + "Integ": { + "id": "Integ", + "path": "farkin-streamFromProps/Integ", + "children": { + "DefaultTest": { + "id": "DefaultTest", + "path": "farkin-streamFromProps/Integ/DefaultTest", + "children": { + "Default": { + "id": "Default", + "path": "farkin-streamFromProps/Integ/DefaultTest/Default", + "constructInfo": { + "fqn": "constructs.Construct", + "version": "10.3.0" + } + }, + "DeployAssert": { + "id": "DeployAssert", + "path": "farkin-streamFromProps/Integ/DefaultTest/DeployAssert", + "children": { + "BootstrapVersion": { + "id": "BootstrapVersion", + "path": "farkin-streamFromProps/Integ/DefaultTest/DeployAssert/BootstrapVersion", + "constructInfo": { + "fqn": "aws-cdk-lib.CfnParameter", + "version": "2.127.0" + } + }, + "CheckBootstrapVersion": { + "id": "CheckBootstrapVersion", + "path": "farkin-streamFromProps/Integ/DefaultTest/DeployAssert/CheckBootstrapVersion", + "constructInfo": { + "fqn": "aws-cdk-lib.CfnRule", + "version": "2.127.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.Stack", + "version": "2.127.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/integ-tests-alpha.IntegTestCase", + "version": "2.127.0-alpha.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/integ-tests-alpha.IntegTest", + "version": "2.127.0-alpha.0" + } + }, + "BootstrapVersion": { + "id": "BootstrapVersion", + "path": "farkin-streamFromProps/BootstrapVersion", + "constructInfo": { + "fqn": "aws-cdk-lib.CfnParameter", + "version": "2.127.0" + } + }, + "CheckBootstrapVersion": { + "id": "CheckBootstrapVersion", + "path": "farkin-streamFromProps/CheckBootstrapVersion", + "constructInfo": { + "fqn": "aws-cdk-lib.CfnRule", + "version": "2.127.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.Stack", + "version": "2.127.0" + } + }, + "Tree": { + "id": "Tree", + "path": "Tree", + "constructInfo": { + "fqn": "constructs.Construct", + "version": "10.3.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.App", + "version": "2.127.0" + } + } +} \ No newline at end of file diff --git a/source/patterns/@aws-solutions-constructs/aws-fargate-opensearch/test/cdk-integ.out.integ.faropn-existing-resources.js.snapshot/asset.dd5711540f04e06aa955d7f4862fc04e8cdea464cb590dae91ed2976bb78098e/__entrypoint__.js b/source/patterns/@aws-solutions-constructs/aws-fargate-opensearch/test/cdk-integ.out.integ.faropn-existing-resources.js.snapshot/asset.dd5711540f04e06aa955d7f4862fc04e8cdea464cb590dae91ed2976bb78098e/__entrypoint__.js new file mode 100644 index 000000000..5a1714e02 --- /dev/null +++ b/source/patterns/@aws-solutions-constructs/aws-fargate-opensearch/test/cdk-integ.out.integ.faropn-existing-resources.js.snapshot/asset.dd5711540f04e06aa955d7f4862fc04e8cdea464cb590dae91ed2976bb78098e/__entrypoint__.js @@ -0,0 +1 @@ +"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.withRetries=exports.handler=exports.external=void 0;const https=require("https"),url=require("url");exports.external={sendHttpRequest:defaultSendHttpRequest,log:defaultLog,includeStackTraces:!0,userHandlerIndex:"./index"};const CREATE_FAILED_PHYSICAL_ID_MARKER="AWSCDK::CustomResourceProviderFramework::CREATE_FAILED",MISSING_PHYSICAL_ID_MARKER="AWSCDK::CustomResourceProviderFramework::MISSING_PHYSICAL_ID";async function handler(event,context){const sanitizedEvent={...event,ResponseURL:"..."};if(exports.external.log(JSON.stringify(sanitizedEvent,void 0,2)),event.RequestType==="Delete"&&event.PhysicalResourceId===CREATE_FAILED_PHYSICAL_ID_MARKER){exports.external.log("ignoring DELETE event caused by a failed CREATE event"),await submitResponse("SUCCESS",event);return}try{const userHandler=require(exports.external.userHandlerIndex).handler,result=await userHandler(sanitizedEvent,context),responseEvent=renderResponse(event,result);await submitResponse("SUCCESS",responseEvent)}catch(e){const resp={...event,Reason:exports.external.includeStackTraces?e.stack:e.message};resp.PhysicalResourceId||(event.RequestType==="Create"?(exports.external.log("CREATE failed, responding with a marker physical resource id so that the subsequent DELETE will be ignored"),resp.PhysicalResourceId=CREATE_FAILED_PHYSICAL_ID_MARKER):exports.external.log(`ERROR: Malformed event. "PhysicalResourceId" is required: ${JSON.stringify(event)}`)),await submitResponse("FAILED",resp)}}exports.handler=handler;function renderResponse(cfnRequest,handlerResponse={}){const physicalResourceId=handlerResponse.PhysicalResourceId??cfnRequest.PhysicalResourceId??cfnRequest.RequestId;if(cfnRequest.RequestType==="Delete"&&physicalResourceId!==cfnRequest.PhysicalResourceId)throw new Error(`DELETE: cannot change the physical resource ID from "${cfnRequest.PhysicalResourceId}" to "${handlerResponse.PhysicalResourceId}" during deletion`);return{...cfnRequest,...handlerResponse,PhysicalResourceId:physicalResourceId}}async function submitResponse(status,event){const json={Status:status,Reason:event.Reason??status,StackId:event.StackId,RequestId:event.RequestId,PhysicalResourceId:event.PhysicalResourceId||MISSING_PHYSICAL_ID_MARKER,LogicalResourceId:event.LogicalResourceId,NoEcho:event.NoEcho,Data:event.Data};exports.external.log("submit response to cloudformation",json);const responseBody=JSON.stringify(json),parsedUrl=url.parse(event.ResponseURL),req={hostname:parsedUrl.hostname,path:parsedUrl.path,method:"PUT",headers:{"content-type":"","content-length":Buffer.byteLength(responseBody,"utf8")}};await withRetries({attempts:5,sleep:1e3},exports.external.sendHttpRequest)(req,responseBody)}async function defaultSendHttpRequest(options,responseBody){return new Promise((resolve,reject)=>{try{const request=https.request(options,_=>resolve());request.on("error",reject),request.write(responseBody),request.end()}catch(e){reject(e)}})}function defaultLog(fmt,...params){console.log(fmt,...params)}function withRetries(options,fn){return async(...xs)=>{let attempts=options.attempts,ms=options.sleep;for(;;)try{return await fn(...xs)}catch(e){if(attempts--<=0)throw e;await sleep(Math.floor(Math.random()*ms)),ms*=2}}}exports.withRetries=withRetries;async function sleep(ms){return new Promise(ok=>setTimeout(ok,ms))} diff --git a/source/patterns/@aws-solutions-constructs/aws-fargate-opensearch/test/cdk-integ.out.integ.faropn-existing-resources.js.snapshot/asset.dd5711540f04e06aa955d7f4862fc04e8cdea464cb590dae91ed2976bb78098e/index.js b/source/patterns/@aws-solutions-constructs/aws-fargate-opensearch/test/cdk-integ.out.integ.faropn-existing-resources.js.snapshot/asset.dd5711540f04e06aa955d7f4862fc04e8cdea464cb590dae91ed2976bb78098e/index.js new file mode 100644 index 000000000..9f1466d2e --- /dev/null +++ b/source/patterns/@aws-solutions-constructs/aws-fargate-opensearch/test/cdk-integ.out.integ.faropn-existing-resources.js.snapshot/asset.dd5711540f04e06aa955d7f4862fc04e8cdea464cb590dae91ed2976bb78098e/index.js @@ -0,0 +1 @@ +"use strict";var I=Object.create,t=Object.defineProperty,y=Object.getOwnPropertyDescriptor,P=Object.getOwnPropertyNames,g=Object.getPrototypeOf,l=Object.prototype.hasOwnProperty,G=(r,e)=>{for(var o in e)t(r,o,{get:e[o],enumerable:!0})},n=(r,e,o,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of P(e))!l.call(r,s)&&s!==o&&t(r,s,{get:()=>e[s],enumerable:!(i=y(e,s))||i.enumerable});return r},R=(r,e,o)=>(o=r!=null?I(g(r)):{},n(e||!r||!r.__esModule?t(o,"default",{value:r,enumerable:!0}):o,r)),S=r=>n(t({},"__esModule",{value:!0}),r),k={};G(k,{handler:()=>f}),module.exports=S(k);var a=R(require("@aws-sdk/client-ec2")),u=new a.EC2({});function c(r,e){return{GroupId:r,IpPermissions:[{UserIdGroupPairs:[{GroupId:r,UserId:e}],IpProtocol:"-1"}]}}function d(r){return{GroupId:r,IpPermissions:[{IpRanges:[{CidrIp:"0.0.0.0/0"}],IpProtocol:"-1"}]}}async function f(r){let e=r.ResourceProperties.DefaultSecurityGroupId,o=r.ResourceProperties.Account;switch(r.RequestType){case"Create":return p(e,o);case"Update":return h(r);case"Delete":return m(e,o)}}async function h(r){let e=r.OldResourceProperties.DefaultSecurityGroupId,o=r.ResourceProperties.DefaultSecurityGroupId;e!==o&&(await m(e,r.ResourceProperties.Account),await p(o,r.ResourceProperties.Account))}async function p(r,e){try{await u.revokeSecurityGroupEgress(d(r))}catch(o){if(o.name!=="InvalidPermission.NotFound")throw o}try{await u.revokeSecurityGroupIngress(c(r,e))}catch(o){if(o.name!=="InvalidPermission.NotFound")throw o}}async function m(r,e){await u.authorizeSecurityGroupIngress(c(r,e)),await u.authorizeSecurityGroupEgress(d(r))} diff --git a/source/patterns/@aws-solutions-constructs/aws-fargate-opensearch/test/cdk-integ.out.integ.faropn-existing-resources.js.snapshot/cdk.out b/source/patterns/@aws-solutions-constructs/aws-fargate-opensearch/test/cdk-integ.out.integ.faropn-existing-resources.js.snapshot/cdk.out new file mode 100644 index 000000000..1f0068d32 --- /dev/null +++ b/source/patterns/@aws-solutions-constructs/aws-fargate-opensearch/test/cdk-integ.out.integ.faropn-existing-resources.js.snapshot/cdk.out @@ -0,0 +1 @@ +{"version":"36.0.0"} \ No newline at end of file diff --git a/source/patterns/@aws-solutions-constructs/aws-fargate-opensearch/test/cdk-integ.out.integ.faropn-existing-resources.js.snapshot/faropn-existing-resources.assets.json b/source/patterns/@aws-solutions-constructs/aws-fargate-opensearch/test/cdk-integ.out.integ.faropn-existing-resources.js.snapshot/faropn-existing-resources.assets.json new file mode 100644 index 000000000..cf777a02c --- /dev/null +++ b/source/patterns/@aws-solutions-constructs/aws-fargate-opensearch/test/cdk-integ.out.integ.faropn-existing-resources.js.snapshot/faropn-existing-resources.assets.json @@ -0,0 +1,34 @@ +{ + "version": "36.0.0", + "files": { + "dd5711540f04e06aa955d7f4862fc04e8cdea464cb590dae91ed2976bb78098e": { + "source": { + "path": "asset.dd5711540f04e06aa955d7f4862fc04e8cdea464cb590dae91ed2976bb78098e", + "packaging": "zip" + }, + "destinations": { + "current_account-us-east-1": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-us-east-1", + "objectKey": "dd5711540f04e06aa955d7f4862fc04e8cdea464cb590dae91ed2976bb78098e.zip", + "region": "us-east-1", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-us-east-1" + } + } + }, + "8915af6aa7b07b283b4d964f779b184656f182bd8e2f50c12a71daaf7a643a58": { + "source": { + "path": "faropn-existing-resources.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-us-east-1": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-us-east-1", + "objectKey": "8915af6aa7b07b283b4d964f779b184656f182bd8e2f50c12a71daaf7a643a58.json", + "region": "us-east-1", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-us-east-1" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/source/patterns/@aws-solutions-constructs/aws-fargate-opensearch/test/cdk-integ.out.integ.faropn-existing-resources.js.snapshot/faropn-existing-resources.template.json b/source/patterns/@aws-solutions-constructs/aws-fargate-opensearch/test/cdk-integ.out.integ.faropn-existing-resources.js.snapshot/faropn-existing-resources.template.json new file mode 100644 index 000000000..d28667160 --- /dev/null +++ b/source/patterns/@aws-solutions-constructs/aws-fargate-opensearch/test/cdk-integ.out.integ.faropn-existing-resources.js.snapshot/faropn-existing-resources.template.json @@ -0,0 +1,1709 @@ +{ + "Description": "Integration Test with existing VPC, Service and OpenSearch Service domain", + "Resources": { + "Vpc8378EB38": { + "Type": "AWS::EC2::VPC", + "Properties": { + "CidrBlock": "172.168.0.0/16", + "EnableDnsHostnames": true, + "EnableDnsSupport": true, + "InstanceTenancy": "default", + "Tags": [ + { + "Key": "Name", + "Value": "faropn-existing-resources/Vpc" + } + ] + } + }, + "VpcPublicSubnet1Subnet5C2D37C4": { + "Type": "AWS::EC2::Subnet", + "Properties": { + "AvailabilityZone": { + "Fn::Select": [ + 0, + { + "Fn::GetAZs": "" + } + ] + }, + "CidrBlock": "172.168.0.0/18", + "MapPublicIpOnLaunch": true, + "Tags": [ + { + "Key": "aws-cdk:subnet-name", + "Value": "Public" + }, + { + "Key": "aws-cdk:subnet-type", + "Value": "Public" + }, + { + "Key": "Name", + "Value": "faropn-existing-resources/Vpc/PublicSubnet1" + } + ], + "VpcId": { + "Ref": "Vpc8378EB38" + } + }, + "Metadata": { + "cfn_nag": { + "rules_to_suppress": [ + { + "id": "W33", + "reason": "Allow Public Subnets to have MapPublicIpOnLaunch set to true" + } + ] + } + } + }, + "VpcPublicSubnet1RouteTable6C95E38E": { + "Type": "AWS::EC2::RouteTable", + "Properties": { + "Tags": [ + { + "Key": "Name", + "Value": "faropn-existing-resources/Vpc/PublicSubnet1" + } + ], + "VpcId": { + "Ref": "Vpc8378EB38" + } + } + }, + "VpcPublicSubnet1RouteTableAssociation97140677": { + "Type": "AWS::EC2::SubnetRouteTableAssociation", + "Properties": { + "RouteTableId": { + "Ref": "VpcPublicSubnet1RouteTable6C95E38E" + }, + "SubnetId": { + "Ref": "VpcPublicSubnet1Subnet5C2D37C4" + } + } + }, + "VpcPublicSubnet1DefaultRoute3DA9E72A": { + "Type": "AWS::EC2::Route", + "Properties": { + "DestinationCidrBlock": "0.0.0.0/0", + "GatewayId": { + "Ref": "VpcIGWD7BA715C" + }, + "RouteTableId": { + "Ref": "VpcPublicSubnet1RouteTable6C95E38E" + } + }, + "DependsOn": [ + "VpcVPCGWBF912B6E" + ] + }, + "VpcPublicSubnet1EIPD7E02669": { + "Type": "AWS::EC2::EIP", + "Properties": { + "Domain": "vpc", + "Tags": [ + { + "Key": "Name", + "Value": "faropn-existing-resources/Vpc/PublicSubnet1" + } + ] + } + }, + "VpcPublicSubnet1NATGateway4D7517AA": { + "Type": "AWS::EC2::NatGateway", + "Properties": { + "AllocationId": { + "Fn::GetAtt": [ + "VpcPublicSubnet1EIPD7E02669", + "AllocationId" + ] + }, + "SubnetId": { + "Ref": "VpcPublicSubnet1Subnet5C2D37C4" + }, + "Tags": [ + { + "Key": "Name", + "Value": "faropn-existing-resources/Vpc/PublicSubnet1" + } + ] + }, + "DependsOn": [ + "VpcPublicSubnet1DefaultRoute3DA9E72A", + "VpcPublicSubnet1RouteTableAssociation97140677" + ] + }, + "VpcPublicSubnet2Subnet691E08A3": { + "Type": "AWS::EC2::Subnet", + "Properties": { + "AvailabilityZone": { + "Fn::Select": [ + 1, + { + "Fn::GetAZs": "" + } + ] + }, + "CidrBlock": "172.168.64.0/18", + "MapPublicIpOnLaunch": true, + "Tags": [ + { + "Key": "aws-cdk:subnet-name", + "Value": "Public" + }, + { + "Key": "aws-cdk:subnet-type", + "Value": "Public" + }, + { + "Key": "Name", + "Value": "faropn-existing-resources/Vpc/PublicSubnet2" + } + ], + "VpcId": { + "Ref": "Vpc8378EB38" + } + }, + "Metadata": { + "cfn_nag": { + "rules_to_suppress": [ + { + "id": "W33", + "reason": "Allow Public Subnets to have MapPublicIpOnLaunch set to true" + } + ] + } + } + }, + "VpcPublicSubnet2RouteTable94F7E489": { + "Type": "AWS::EC2::RouteTable", + "Properties": { + "Tags": [ + { + "Key": "Name", + "Value": "faropn-existing-resources/Vpc/PublicSubnet2" + } + ], + "VpcId": { + "Ref": "Vpc8378EB38" + } + } + }, + "VpcPublicSubnet2RouteTableAssociationDD5762D8": { + "Type": "AWS::EC2::SubnetRouteTableAssociation", + "Properties": { + "RouteTableId": { + "Ref": "VpcPublicSubnet2RouteTable94F7E489" + }, + "SubnetId": { + "Ref": "VpcPublicSubnet2Subnet691E08A3" + } + } + }, + "VpcPublicSubnet2DefaultRoute97F91067": { + "Type": "AWS::EC2::Route", + "Properties": { + "DestinationCidrBlock": "0.0.0.0/0", + "GatewayId": { + "Ref": "VpcIGWD7BA715C" + }, + "RouteTableId": { + "Ref": "VpcPublicSubnet2RouteTable94F7E489" + } + }, + "DependsOn": [ + "VpcVPCGWBF912B6E" + ] + }, + "VpcPublicSubnet2EIP3C605A87": { + "Type": "AWS::EC2::EIP", + "Properties": { + "Domain": "vpc", + "Tags": [ + { + "Key": "Name", + "Value": "faropn-existing-resources/Vpc/PublicSubnet2" + } + ] + } + }, + "VpcPublicSubnet2NATGateway9182C01D": { + "Type": "AWS::EC2::NatGateway", + "Properties": { + "AllocationId": { + "Fn::GetAtt": [ + "VpcPublicSubnet2EIP3C605A87", + "AllocationId" + ] + }, + "SubnetId": { + "Ref": "VpcPublicSubnet2Subnet691E08A3" + }, + "Tags": [ + { + "Key": "Name", + "Value": "faropn-existing-resources/Vpc/PublicSubnet2" + } + ] + }, + "DependsOn": [ + "VpcPublicSubnet2DefaultRoute97F91067", + "VpcPublicSubnet2RouteTableAssociationDD5762D8" + ] + }, + "VpcPrivateSubnet1Subnet536B997A": { + "Type": "AWS::EC2::Subnet", + "Properties": { + "AvailabilityZone": { + "Fn::Select": [ + 0, + { + "Fn::GetAZs": "" + } + ] + }, + "CidrBlock": "172.168.128.0/18", + "MapPublicIpOnLaunch": false, + "Tags": [ + { + "Key": "aws-cdk:subnet-name", + "Value": "Private" + }, + { + "Key": "aws-cdk:subnet-type", + "Value": "Private" + }, + { + "Key": "Name", + "Value": "faropn-existing-resources/Vpc/PrivateSubnet1" + } + ], + "VpcId": { + "Ref": "Vpc8378EB38" + } + } + }, + "VpcPrivateSubnet1RouteTableB2C5B500": { + "Type": "AWS::EC2::RouteTable", + "Properties": { + "Tags": [ + { + "Key": "Name", + "Value": "faropn-existing-resources/Vpc/PrivateSubnet1" + } + ], + "VpcId": { + "Ref": "Vpc8378EB38" + } + } + }, + "VpcPrivateSubnet1RouteTableAssociation70C59FA6": { + "Type": "AWS::EC2::SubnetRouteTableAssociation", + "Properties": { + "RouteTableId": { + "Ref": "VpcPrivateSubnet1RouteTableB2C5B500" + }, + "SubnetId": { + "Ref": "VpcPrivateSubnet1Subnet536B997A" + } + } + }, + "VpcPrivateSubnet1DefaultRouteBE02A9ED": { + "Type": "AWS::EC2::Route", + "Properties": { + "DestinationCidrBlock": "0.0.0.0/0", + "NatGatewayId": { + "Ref": "VpcPublicSubnet1NATGateway4D7517AA" + }, + "RouteTableId": { + "Ref": "VpcPrivateSubnet1RouteTableB2C5B500" + } + } + }, + "VpcPrivateSubnet2Subnet3788AAA1": { + "Type": "AWS::EC2::Subnet", + "Properties": { + "AvailabilityZone": { + "Fn::Select": [ + 1, + { + "Fn::GetAZs": "" + } + ] + }, + "CidrBlock": "172.168.192.0/18", + "MapPublicIpOnLaunch": false, + "Tags": [ + { + "Key": "aws-cdk:subnet-name", + "Value": "Private" + }, + { + "Key": "aws-cdk:subnet-type", + "Value": "Private" + }, + { + "Key": "Name", + "Value": "faropn-existing-resources/Vpc/PrivateSubnet2" + } + ], + "VpcId": { + "Ref": "Vpc8378EB38" + } + } + }, + "VpcPrivateSubnet2RouteTableA678073B": { + "Type": "AWS::EC2::RouteTable", + "Properties": { + "Tags": [ + { + "Key": "Name", + "Value": "faropn-existing-resources/Vpc/PrivateSubnet2" + } + ], + "VpcId": { + "Ref": "Vpc8378EB38" + } + } + }, + "VpcPrivateSubnet2RouteTableAssociationA89CAD56": { + "Type": "AWS::EC2::SubnetRouteTableAssociation", + "Properties": { + "RouteTableId": { + "Ref": "VpcPrivateSubnet2RouteTableA678073B" + }, + "SubnetId": { + "Ref": "VpcPrivateSubnet2Subnet3788AAA1" + } + } + }, + "VpcPrivateSubnet2DefaultRoute060D2087": { + "Type": "AWS::EC2::Route", + "Properties": { + "DestinationCidrBlock": "0.0.0.0/0", + "NatGatewayId": { + "Ref": "VpcPublicSubnet2NATGateway9182C01D" + }, + "RouteTableId": { + "Ref": "VpcPrivateSubnet2RouteTableA678073B" + } + } + }, + "VpcIGWD7BA715C": { + "Type": "AWS::EC2::InternetGateway", + "Properties": { + "Tags": [ + { + "Key": "Name", + "Value": "faropn-existing-resources/Vpc" + } + ] + } + }, + "VpcVPCGWBF912B6E": { + "Type": "AWS::EC2::VPCGatewayAttachment", + "Properties": { + "InternetGatewayId": { + "Ref": "VpcIGWD7BA715C" + }, + "VpcId": { + "Ref": "Vpc8378EB38" + } + } + }, + "VpcRestrictDefaultSecurityGroupCustomResourceC73DA2BE": { + "Type": "Custom::VpcRestrictDefaultSG", + "Properties": { + "ServiceToken": { + "Fn::GetAtt": [ + "CustomVpcRestrictDefaultSGCustomResourceProviderHandlerDC833E5E", + "Arn" + ] + }, + "DefaultSecurityGroupId": { + "Fn::GetAtt": [ + "Vpc8378EB38", + "DefaultSecurityGroup" + ] + }, + "Account": { + "Ref": "AWS::AccountId" + } + }, + "UpdateReplacePolicy": "Delete", + "DeletionPolicy": "Delete" + }, + "VpcFlowLogIAMRole6A475D41": { + "Type": "AWS::IAM::Role", + "Properties": { + "AssumeRolePolicyDocument": { + "Statement": [ + { + "Action": "sts:AssumeRole", + "Effect": "Allow", + "Principal": { + "Service": "vpc-flow-logs.amazonaws.com" + } + } + ], + "Version": "2012-10-17" + }, + "Tags": [ + { + "Key": "Name", + "Value": "faropn-existing-resources/Vpc/FlowLog" + } + ] + } + }, + "VpcFlowLogIAMRoleDefaultPolicy406FB995": { + "Type": "AWS::IAM::Policy", + "Properties": { + "PolicyDocument": { + "Statement": [ + { + "Action": [ + "logs:CreateLogStream", + "logs:DescribeLogStreams", + "logs:PutLogEvents" + ], + "Effect": "Allow", + "Resource": { + "Fn::GetAtt": [ + "VpcFlowLogLogGroup7B5C56B9", + "Arn" + ] + } + }, + { + "Action": "iam:PassRole", + "Effect": "Allow", + "Resource": { + "Fn::GetAtt": [ + "VpcFlowLogIAMRole6A475D41", + "Arn" + ] + } + } + ], + "Version": "2012-10-17" + }, + "PolicyName": "VpcFlowLogIAMRoleDefaultPolicy406FB995", + "Roles": [ + { + "Ref": "VpcFlowLogIAMRole6A475D41" + } + ] + } + }, + "VpcFlowLogLogGroup7B5C56B9": { + "Type": "AWS::Logs::LogGroup", + "Properties": { + "RetentionInDays": 731, + "Tags": [ + { + "Key": "Name", + "Value": "faropn-existing-resources/Vpc/FlowLog" + } + ] + }, + "UpdateReplacePolicy": "Retain", + "DeletionPolicy": "Retain", + "Metadata": { + "cfn_nag": { + "rules_to_suppress": [ + { + "id": "W84", + "reason": "By default CloudWatchLogs LogGroups data is encrypted using the CloudWatch server-side encryption keys (AWS Managed Keys)" + } + ] + } + } + }, + "VpcFlowLog8FF33A73": { + "Type": "AWS::EC2::FlowLog", + "Properties": { + "DeliverLogsPermissionArn": { + "Fn::GetAtt": [ + "VpcFlowLogIAMRole6A475D41", + "Arn" + ] + }, + "LogDestinationType": "cloud-watch-logs", + "LogGroupName": { + "Ref": "VpcFlowLogLogGroup7B5C56B9" + }, + "ResourceId": { + "Ref": "Vpc8378EB38" + }, + "ResourceType": "VPC", + "Tags": [ + { + "Key": "Name", + "Value": "faropn-existing-resources/Vpc/FlowLog" + } + ], + "TrafficType": "ALL" + } + }, + "VpcECRAPI9A3B6A2B": { + "Type": "AWS::EC2::VPCEndpoint", + "Properties": { + "PrivateDnsEnabled": true, + "SecurityGroupIds": [ + { + "Fn::GetAtt": [ + "faropnexistingresourcesECRAPIsecuritygroup9E21D9FB", + "GroupId" + ] + } + ], + "ServiceName": "com.amazonaws.us-east-1.ecr.api", + "SubnetIds": [ + { + "Ref": "VpcPrivateSubnet1Subnet536B997A" + }, + { + "Ref": "VpcPrivateSubnet2Subnet3788AAA1" + } + ], + "VpcEndpointType": "Interface", + "VpcId": { + "Ref": "Vpc8378EB38" + } + } + }, + "VpcECRDKR604E039F": { + "Type": "AWS::EC2::VPCEndpoint", + "Properties": { + "PrivateDnsEnabled": true, + "SecurityGroupIds": [ + { + "Fn::GetAtt": [ + "faropnexistingresourcesECRDKRsecuritygroupCF68611A", + "GroupId" + ] + } + ], + "ServiceName": "com.amazonaws.us-east-1.ecr.dkr", + "SubnetIds": [ + { + "Ref": "VpcPrivateSubnet1Subnet536B997A" + }, + { + "Ref": "VpcPrivateSubnet2Subnet3788AAA1" + } + ], + "VpcEndpointType": "Interface", + "VpcId": { + "Ref": "Vpc8378EB38" + } + } + }, + "VpcS3A5408339": { + "Type": "AWS::EC2::VPCEndpoint", + "Properties": { + "RouteTableIds": [ + { + "Ref": "VpcPrivateSubnet1RouteTableB2C5B500" + }, + { + "Ref": "VpcPrivateSubnet2RouteTableA678073B" + }, + { + "Ref": "VpcPublicSubnet1RouteTable6C95E38E" + }, + { + "Ref": "VpcPublicSubnet2RouteTable94F7E489" + } + ], + "ServiceName": { + "Fn::Join": [ + "", + [ + "com.amazonaws.", + { + "Ref": "AWS::Region" + }, + ".s3" + ] + ] + }, + "VpcEndpointType": "Gateway", + "VpcId": { + "Ref": "Vpc8378EB38" + } + } + }, + "CustomVpcRestrictDefaultSGCustomResourceProviderRole26592FE0": { + "Type": "AWS::IAM::Role", + "Properties": { + "AssumeRolePolicyDocument": { + "Version": "2012-10-17", + "Statement": [ + { + "Action": "sts:AssumeRole", + "Effect": "Allow", + "Principal": { + "Service": "lambda.amazonaws.com" + } + } + ] + }, + "ManagedPolicyArns": [ + { + "Fn::Sub": "arn:${AWS::Partition}:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole" + } + ], + "Policies": [ + { + "PolicyName": "Inline", + "PolicyDocument": { + "Version": "2012-10-17", + "Statement": [ + { + "Effect": "Allow", + "Action": [ + "ec2:AuthorizeSecurityGroupIngress", + "ec2:AuthorizeSecurityGroupEgress", + "ec2:RevokeSecurityGroupIngress", + "ec2:RevokeSecurityGroupEgress" + ], + "Resource": [ + { + "Fn::Join": [ + "", + [ + "arn:aws:ec2:us-east-1:", + { + "Ref": "AWS::AccountId" + }, + ":security-group/", + { + "Fn::GetAtt": [ + "Vpc8378EB38", + "DefaultSecurityGroup" + ] + } + ] + ] + } + ] + } + ] + } + } + ] + } + }, + "CustomVpcRestrictDefaultSGCustomResourceProviderHandlerDC833E5E": { + "Type": "AWS::Lambda::Function", + "Properties": { + "Code": { + "S3Bucket": { + "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-us-east-1" + }, + "S3Key": "dd5711540f04e06aa955d7f4862fc04e8cdea464cb590dae91ed2976bb78098e.zip" + }, + "Timeout": 900, + "MemorySize": 128, + "Handler": "__entrypoint__.handler", + "Role": { + "Fn::GetAtt": [ + "CustomVpcRestrictDefaultSGCustomResourceProviderRole26592FE0", + "Arn" + ] + }, + "Runtime": "nodejs18.x", + "Description": "Lambda function for removing all inbound/outbound rules from the VPC default security group" + }, + "DependsOn": [ + "CustomVpcRestrictDefaultSGCustomResourceProviderRole26592FE0" + ], + "Metadata": { + "cfn_nag": { + "rules_to_suppress": [ + { + "id": "W58", + "reason": "CDK generated custom resource" + }, + { + "id": "W89", + "reason": "CDK generated custom resource" + }, + { + "id": "W92", + "reason": "CDK generated custom resource" + } + ] + } + } + }, + "faropnexistingresourcesECRAPIsecuritygroup9E21D9FB": { + "Type": "AWS::EC2::SecurityGroup", + "Properties": { + "GroupDescription": "faropn-existing-resources/faropn-existing-resources-ECR_API-security-group", + "SecurityGroupEgress": [ + { + "CidrIp": "0.0.0.0/0", + "Description": "Allow all outbound traffic by default", + "IpProtocol": "-1" + } + ], + "SecurityGroupIngress": [ + { + "CidrIp": { + "Fn::GetAtt": [ + "Vpc8378EB38", + "CidrBlock" + ] + }, + "Description": { + "Fn::Join": [ + "", + [ + "from ", + { + "Fn::GetAtt": [ + "Vpc8378EB38", + "CidrBlock" + ] + }, + ":443" + ] + ] + }, + "FromPort": 443, + "IpProtocol": "tcp", + "ToPort": 443 + } + ], + "VpcId": { + "Ref": "Vpc8378EB38" + } + }, + "Metadata": { + "cfn_nag": { + "rules_to_suppress": [ + { + "id": "W5", + "reason": "Egress of 0.0.0.0/0 is default and generally considered OK" + }, + { + "id": "W40", + "reason": "Egress IPProtocol of -1 is default and generally considered OK" + } + ] + } + } + }, + "faropnexistingresourcesECRDKRsecuritygroupCF68611A": { + "Type": "AWS::EC2::SecurityGroup", + "Properties": { + "GroupDescription": "faropn-existing-resources/faropn-existing-resources-ECR_DKR-security-group", + "SecurityGroupEgress": [ + { + "CidrIp": "0.0.0.0/0", + "Description": "Allow all outbound traffic by default", + "IpProtocol": "-1" + } + ], + "SecurityGroupIngress": [ + { + "CidrIp": { + "Fn::GetAtt": [ + "Vpc8378EB38", + "CidrBlock" + ] + }, + "Description": { + "Fn::Join": [ + "", + [ + "from ", + { + "Fn::GetAtt": [ + "Vpc8378EB38", + "CidrBlock" + ] + }, + ":443" + ] + ] + }, + "FromPort": 443, + "IpProtocol": "tcp", + "ToPort": 443 + } + ], + "VpcId": { + "Ref": "Vpc8378EB38" + } + }, + "Metadata": { + "cfn_nag": { + "rules_to_suppress": [ + { + "id": "W5", + "reason": "Egress of 0.0.0.0/0 is default and generally considered OK" + }, + { + "id": "W40", + "reason": "Egress IPProtocol of -1 is default and generally considered OK" + } + ] + } + } + }, + "testclusterDF8B0D19": { + "Type": "AWS::ECS::Cluster" + }, + "testtaskdefTaskRoleB2DEF113": { + "Type": "AWS::IAM::Role", + "Properties": { + "AssumeRolePolicyDocument": { + "Statement": [ + { + "Action": "sts:AssumeRole", + "Effect": "Allow", + "Principal": { + "Service": "ecs-tasks.amazonaws.com" + } + } + ], + "Version": "2012-10-17" + } + } + }, + "testtaskdefF924AD58": { + "Type": "AWS::ECS::TaskDefinition", + "Properties": { + "ContainerDefinitions": [ + { + "Environment": [ + { + "Name": "CUSTOM_NAME", + "Value": { + "Fn::GetAtt": [ + "testconstructOpenSearchDomainD2A5B104", + "DomainEndpoint" + ] + } + } + ], + "Essential": true, + "Image": "nginx", + "MemoryReservation": 512, + "Name": "test-container", + "PortMappings": [ + { + "ContainerPort": 8080, + "Protocol": "tcp" + } + ] + } + ], + "Cpu": "256", + "Family": "faropnexistingresourcestesttaskdefE1B083DB", + "Memory": "512", + "NetworkMode": "awsvpc", + "RequiresCompatibilities": [ + "FARGATE" + ], + "TaskRoleArn": { + "Fn::GetAtt": [ + "testtaskdefTaskRoleB2DEF113", + "Arn" + ] + } + } + }, + "testsg872EB48A": { + "Type": "AWS::EC2::SecurityGroup", + "Properties": { + "GroupDescription": "Construct created security group", + "SecurityGroupEgress": [ + { + "CidrIp": "0.0.0.0/0", + "Description": "Allow all outbound traffic by default", + "IpProtocol": "-1" + } + ], + "VpcId": { + "Ref": "Vpc8378EB38" + } + }, + "Metadata": { + "cfn_nag": { + "rules_to_suppress": [ + { + "id": "W5", + "reason": "Egress of 0.0.0.0/0 is default and generally considered OK" + }, + { + "id": "W40", + "reason": "Egress IPProtocol of -1 is default and generally considered OK" + } + ] + } + } + }, + "testserviceService2730C249": { + "Type": "AWS::ECS::Service", + "Properties": { + "Cluster": { + "Ref": "testclusterDF8B0D19" + }, + "DeploymentConfiguration": { + "Alarms": { + "AlarmNames": [], + "Enable": false, + "Rollback": false + }, + "MaximumPercent": 150, + "MinimumHealthyPercent": 75 + }, + "DesiredCount": 2, + "EnableECSManagedTags": false, + "LaunchType": "FARGATE", + "NetworkConfiguration": { + "AwsvpcConfiguration": { + "AssignPublicIp": "DISABLED", + "SecurityGroups": [ + { + "Fn::GetAtt": [ + "testsg872EB48A", + "GroupId" + ] + } + ], + "Subnets": [ + { + "Ref": "VpcPrivateSubnet1Subnet536B997A" + }, + { + "Ref": "VpcPrivateSubnet2Subnet3788AAA1" + } + ] + } + }, + "PlatformVersion": "LATEST", + "TaskDefinition": { + "Ref": "testtaskdefF924AD58" + } + }, + "DependsOn": [ + "testtaskdefTaskRoleB2DEF113" + ] + }, + "testconstructCognitoUserPoolA4991355": { + "Type": "AWS::Cognito::UserPool", + "Properties": { + "AccountRecoverySetting": { + "RecoveryMechanisms": [ + { + "Name": "verified_phone_number", + "Priority": 1 + }, + { + "Name": "verified_email", + "Priority": 2 + } + ] + }, + "AdminCreateUserConfig": { + "AllowAdminCreateUserOnly": true + }, + "EmailVerificationMessage": "The verification code to your new account is {####}", + "EmailVerificationSubject": "Verify your new account", + "SmsVerificationMessage": "The verification code to your new account is {####}", + "UserPoolAddOns": { + "AdvancedSecurityMode": "ENFORCED" + }, + "VerificationMessageTemplate": { + "DefaultEmailOption": "CONFIRM_WITH_CODE", + "EmailMessage": "The verification code to your new account is {####}", + "EmailSubject": "Verify your new account", + "SmsMessage": "The verification code to your new account is {####}" + } + }, + "UpdateReplacePolicy": "Retain", + "DeletionPolicy": "Retain" + }, + "testconstructCognitoUserPoolClient36ACF012": { + "Type": "AWS::Cognito::UserPoolClient", + "Properties": { + "AllowedOAuthFlows": [ + "implicit", + "code" + ], + "AllowedOAuthFlowsUserPoolClient": true, + "AllowedOAuthScopes": [ + "profile", + "phone", + "email", + "openid", + "aws.cognito.signin.user.admin" + ], + "CallbackURLs": [ + "https://example.com" + ], + "SupportedIdentityProviders": [ + "COGNITO" + ], + "UserPoolId": { + "Ref": "testconstructCognitoUserPoolA4991355" + } + } + }, + "testconstructCognitoIdentityPool51EFD08D": { + "Type": "AWS::Cognito::IdentityPool", + "Properties": { + "AllowUnauthenticatedIdentities": false, + "CognitoIdentityProviders": [ + { + "ClientId": { + "Ref": "testconstructCognitoUserPoolClient36ACF012" + }, + "ProviderName": { + "Fn::GetAtt": [ + "testconstructCognitoUserPoolA4991355", + "ProviderName" + ] + }, + "ServerSideTokenCheck": true + } + ] + } + }, + "testconstructUserPoolDomain6B64F32F": { + "Type": "AWS::Cognito::UserPoolDomain", + "Properties": { + "Domain": { + "Fn::Join": [ + "-", + [ + "dmn", + { + "Fn::Select": [ + 4, + { + "Fn::Split": [ + "-", + { + "Fn::Select": [ + 2, + { + "Fn::Split": [ + "/", + { + "Ref": "AWS::StackId" + } + ] + } + ] + } + ] + } + ] + } + ] + ] + }, + "UserPoolId": { + "Ref": "testconstructCognitoUserPoolA4991355" + } + }, + "DependsOn": [ + "testconstructCognitoUserPoolA4991355" + ] + }, + "testconstructCognitoAuthorizedRole7BA83790": { + "Type": "AWS::IAM::Role", + "Properties": { + "AssumeRolePolicyDocument": { + "Statement": [ + { + "Action": "sts:AssumeRoleWithWebIdentity", + "Condition": { + "StringEquals": { + "cognito-identity.amazonaws.com:aud": { + "Ref": "testconstructCognitoIdentityPool51EFD08D" + } + }, + "ForAnyValue:StringLike": { + "cognito-identity.amazonaws.com:amr": "authenticated" + } + }, + "Effect": "Allow", + "Principal": { + "Federated": "cognito-identity.amazonaws.com" + } + } + ], + "Version": "2012-10-17" + }, + "Policies": [ + { + "PolicyDocument": { + "Statement": [ + { + "Action": "es:ESHttp*", + "Effect": "Allow", + "Resource": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":es:", + { + "Ref": "AWS::Region" + }, + ":", + { + "Ref": "AWS::AccountId" + }, + ":domain/", + { + "Fn::Join": [ + "-", + [ + "dmn", + { + "Fn::Select": [ + 4, + { + "Fn::Split": [ + "-", + { + "Fn::Select": [ + 2, + { + "Fn::Split": [ + "/", + { + "Ref": "AWS::StackId" + } + ] + } + ] + } + ] + } + ] + } + ] + ] + }, + "/*" + ] + ] + } + } + ], + "Version": "2012-10-17" + }, + "PolicyName": "CognitoAccessPolicy" + } + ] + } + }, + "testconstructIdentityPoolRoleMapping1391CBDD": { + "Type": "AWS::Cognito::IdentityPoolRoleAttachment", + "Properties": { + "IdentityPoolId": { + "Ref": "testconstructCognitoIdentityPool51EFD08D" + }, + "Roles": { + "authenticated": { + "Fn::GetAtt": [ + "testconstructCognitoAuthorizedRole7BA83790", + "Arn" + ] + } + } + } + }, + "testconstructCognitoDashboardConfigureRoleFA66EB70": { + "Type": "AWS::IAM::Role", + "Properties": { + "AssumeRolePolicyDocument": { + "Statement": [ + { + "Action": "sts:AssumeRole", + "Effect": "Allow", + "Principal": { + "Service": "es.amazonaws.com" + } + } + ], + "Version": "2012-10-17" + } + } + }, + "testconstructCognitoDashboardConfigureRolePolicy3EC6F1C4": { + "Type": "AWS::IAM::Policy", + "Properties": { + "PolicyDocument": { + "Statement": [ + { + "Action": [ + "cognito-identity:DescribeIdentityPool", + "cognito-identity:GetIdentityPoolRoles", + "cognito-identity:SetIdentityPoolRoles", + "cognito-identity:UpdateIdentityPool", + "cognito-idp:AdminInitiateAuth", + "cognito-idp:AdminUserGlobalSignOut", + "cognito-idp:CreateUserPoolClient", + "cognito-idp:DeleteUserPoolClient", + "cognito-idp:DescribeUserPool", + "cognito-idp:DescribeUserPoolClient", + "cognito-idp:ListUserPoolClients", + "es:UpdateDomainConfig" + ], + "Effect": "Allow", + "Resource": [ + { + "Fn::GetAtt": [ + "testconstructCognitoUserPoolA4991355", + "Arn" + ] + }, + { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":cognito-identity:", + { + "Ref": "AWS::Region" + }, + ":", + { + "Ref": "AWS::AccountId" + }, + ":identitypool/", + { + "Ref": "testconstructCognitoIdentityPool51EFD08D" + } + ] + ] + }, + { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":es:", + { + "Ref": "AWS::Region" + }, + ":", + { + "Ref": "AWS::AccountId" + }, + ":domain/", + { + "Fn::Join": [ + "-", + [ + "dmn", + { + "Fn::Select": [ + 4, + { + "Fn::Split": [ + "-", + { + "Fn::Select": [ + 2, + { + "Fn::Split": [ + "/", + { + "Ref": "AWS::StackId" + } + ] + } + ] + } + ] + } + ] + } + ] + ] + } + ] + ] + } + ] + }, + { + "Action": "iam:PassRole", + "Condition": { + "StringLike": { + "iam:PassedToService": "cognito-identity.amazonaws.com" + } + }, + "Effect": "Allow", + "Resource": { + "Fn::GetAtt": [ + "testconstructCognitoDashboardConfigureRoleFA66EB70", + "Arn" + ] + } + } + ], + "Version": "2012-10-17" + }, + "PolicyName": "testconstructCognitoDashboardConfigureRolePolicy3EC6F1C4", + "Roles": [ + { + "Ref": "testconstructCognitoDashboardConfigureRoleFA66EB70" + } + ] + } + }, + "testconstructOpenSearchDomainD2A5B104": { + "Type": "AWS::OpenSearchService::Domain", + "Properties": { + "AccessPolicies": { + "Statement": [ + { + "Action": "es:ESHttp*", + "Effect": "Allow", + "Principal": { + "AWS": { + "Fn::GetAtt": [ + "testconstructCognitoAuthorizedRole7BA83790", + "Arn" + ] + } + }, + "Resource": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":es:", + { + "Ref": "AWS::Region" + }, + ":", + { + "Ref": "AWS::AccountId" + }, + ":domain/", + { + "Fn::Join": [ + "-", + [ + "dmn", + { + "Fn::Select": [ + 4, + { + "Fn::Split": [ + "-", + { + "Fn::Select": [ + 2, + { + "Fn::Split": [ + "/", + { + "Ref": "AWS::StackId" + } + ] + } + ] + } + ] + } + ] + } + ] + ] + }, + "/*" + ] + ] + } + } + ], + "Version": "2012-10-17" + }, + "ClusterConfig": { + "DedicatedMasterCount": 3, + "DedicatedMasterEnabled": true, + "InstanceCount": 2, + "ZoneAwarenessConfig": { + "AvailabilityZoneCount": 2 + }, + "ZoneAwarenessEnabled": true + }, + "CognitoOptions": { + "Enabled": true, + "IdentityPoolId": { + "Ref": "testconstructCognitoIdentityPool51EFD08D" + }, + "RoleArn": { + "Fn::GetAtt": [ + "testconstructCognitoDashboardConfigureRoleFA66EB70", + "Arn" + ] + }, + "UserPoolId": { + "Ref": "testconstructCognitoUserPoolA4991355" + } + }, + "DomainEndpointOptions": { + "EnforceHTTPS": true, + "TLSSecurityPolicy": "Policy-Min-TLS-1-2-2019-07" + }, + "DomainName": { + "Fn::Join": [ + "-", + [ + "dmn", + { + "Fn::Select": [ + 4, + { + "Fn::Split": [ + "-", + { + "Fn::Select": [ + 2, + { + "Fn::Split": [ + "/", + { + "Ref": "AWS::StackId" + } + ] + } + ] + } + ] + } + ] + } + ] + ] + }, + "EBSOptions": { + "EBSEnabled": true, + "VolumeSize": 10 + }, + "EncryptionAtRestOptions": { + "Enabled": true + }, + "EngineVersion": "OpenSearch_1.3", + "NodeToNodeEncryptionOptions": { + "Enabled": true + }, + "SnapshotOptions": { + "AutomatedSnapshotStartHour": 1 + }, + "VPCOptions": { + "SecurityGroupIds": [ + { + "Fn::GetAtt": [ + "testsg872EB48A", + "GroupId" + ] + } + ], + "SubnetIds": [ + { + "Ref": "VpcPrivateSubnet1Subnet536B997A" + }, + { + "Ref": "VpcPrivateSubnet2Subnet3788AAA1" + } + ] + } + }, + "Metadata": { + "cfn_nag": { + "rules_to_suppress": [ + { + "id": "W28", + "reason": "The OpenSearch Service domain is passed dynamically as as parameter and explicitly specified to ensure that IAM policies are configured to lockdown access to this specific OpenSearch Service instance only" + }, + { + "id": "W90", + "reason": "This is not a rule for the general case, just for specific use cases/industries" + } + ] + } + } + }, + "testconstructStatusRedAlarmFBEA96DF": { + "Type": "AWS::CloudWatch::Alarm", + "Properties": { + "AlarmDescription": "At least one primary shard and its replicas are not allocated to a node. ", + "ComparisonOperator": "GreaterThanOrEqualToThreshold", + "EvaluationPeriods": 1, + "MetricName": "ClusterStatus.red", + "Namespace": "AWS/ES", + "Period": 60, + "Statistic": "Maximum", + "Threshold": 1 + } + }, + "testconstructStatusYellowAlarm3B8C3640": { + "Type": "AWS::CloudWatch::Alarm", + "Properties": { + "AlarmDescription": "At least one replica shard is not allocated to a node.", + "ComparisonOperator": "GreaterThanOrEqualToThreshold", + "EvaluationPeriods": 1, + "MetricName": "ClusterStatus.yellow", + "Namespace": "AWS/ES", + "Period": 60, + "Statistic": "Maximum", + "Threshold": 1 + } + }, + "testconstructFreeStorageSpaceTooLowAlarm08294658": { + "Type": "AWS::CloudWatch::Alarm", + "Properties": { + "AlarmDescription": "A node in your cluster is down to 20 GiB of free storage space.", + "ComparisonOperator": "LessThanOrEqualToThreshold", + "EvaluationPeriods": 1, + "MetricName": "FreeStorageSpace", + "Namespace": "AWS/ES", + "Period": 60, + "Statistic": "Minimum", + "Threshold": 20000 + } + }, + "testconstructIndexWritesBlockedTooHighAlarm06094A18": { + "Type": "AWS::CloudWatch::Alarm", + "Properties": { + "AlarmDescription": "Your cluster is blocking write requests.", + "ComparisonOperator": "GreaterThanOrEqualToThreshold", + "EvaluationPeriods": 1, + "MetricName": "ClusterIndexWritesBlocked", + "Namespace": "AWS/ES", + "Period": 300, + "Statistic": "Maximum", + "Threshold": 1 + } + }, + "testconstructAutomatedSnapshotFailureTooHighAlarm29E550A3": { + "Type": "AWS::CloudWatch::Alarm", + "Properties": { + "AlarmDescription": "An automated snapshot failed. This failure is often the result of a red cluster health status.", + "ComparisonOperator": "GreaterThanOrEqualToThreshold", + "EvaluationPeriods": 1, + "MetricName": "AutomatedSnapshotFailure", + "Namespace": "AWS/ES", + "Period": 60, + "Statistic": "Maximum", + "Threshold": 1 + } + }, + "testconstructCPUUtilizationTooHighAlarmD32179B7": { + "Type": "AWS::CloudWatch::Alarm", + "Properties": { + "AlarmDescription": "100% CPU utilization is not uncommon, but sustained high usage is problematic. Consider using larger instance types or adding instances.", + "ComparisonOperator": "GreaterThanOrEqualToThreshold", + "EvaluationPeriods": 3, + "MetricName": "CPUUtilization", + "Namespace": "AWS/ES", + "Period": 900, + "Statistic": "Average", + "Threshold": 80 + } + }, + "testconstructJVMMemoryPressureTooHighAlarmFD4175A0": { + "Type": "AWS::CloudWatch::Alarm", + "Properties": { + "AlarmDescription": "Average JVM memory pressure over last 15 minutes too high. Consider scaling vertically.", + "ComparisonOperator": "GreaterThanOrEqualToThreshold", + "EvaluationPeriods": 1, + "MetricName": "JVMMemoryPressure", + "Namespace": "AWS/ES", + "Period": 900, + "Statistic": "Average", + "Threshold": 80 + } + }, + "testconstructMasterCPUUtilizationTooHighAlarmAA50D0A7": { + "Type": "AWS::CloudWatch::Alarm", + "Properties": { + "AlarmDescription": "Average CPU utilization over last 45 minutes too high. Consider using larger instance types for your dedicated master nodes.", + "ComparisonOperator": "GreaterThanOrEqualToThreshold", + "EvaluationPeriods": 3, + "MetricName": "MasterCPUUtilization", + "Namespace": "AWS/ES", + "Period": 900, + "Statistic": "Average", + "Threshold": 50 + } + }, + "testconstructMasterJVMMemoryPressureTooHighAlarm5AE37D64": { + "Type": "AWS::CloudWatch::Alarm", + "Properties": { + "AlarmDescription": "Average JVM memory pressure over last 15 minutes too high. Consider scaling vertically.", + "ComparisonOperator": "GreaterThanOrEqualToThreshold", + "EvaluationPeriods": 1, + "MetricName": "MasterJVMMemoryPressure", + "Namespace": "AWS/ES", + "Period": 900, + "Statistic": "Average", + "Threshold": 50 + } + } + }, + "Parameters": { + "BootstrapVersion": { + "Type": "AWS::SSM::Parameter::Value", + "Default": "/cdk-bootstrap/hnb659fds/version", + "Description": "Version of the CDK Bootstrap resources in this environment, automatically retrieved from SSM Parameter Store. [cdk:skip]" + } + }, + "Rules": { + "CheckBootstrapVersion": { + "Assertions": [ + { + "Assert": { + "Fn::Not": [ + { + "Fn::Contains": [ + [ + "1", + "2", + "3", + "4", + "5" + ], + { + "Ref": "BootstrapVersion" + } + ] + } + ] + }, + "AssertDescription": "CDK bootstrap stack version 6 required. Please run 'cdk bootstrap' with a recent version of the CDK CLI." + } + ] + } + } +} \ No newline at end of file diff --git a/source/patterns/@aws-solutions-constructs/aws-fargate-opensearch/test/cdk-integ.out.integ.faropn-existing-resources.js.snapshot/faropnexistingresourcesIntegDefaultTestDeployAssert753D5E58.assets.json b/source/patterns/@aws-solutions-constructs/aws-fargate-opensearch/test/cdk-integ.out.integ.faropn-existing-resources.js.snapshot/faropnexistingresourcesIntegDefaultTestDeployAssert753D5E58.assets.json new file mode 100644 index 000000000..58338add7 --- /dev/null +++ b/source/patterns/@aws-solutions-constructs/aws-fargate-opensearch/test/cdk-integ.out.integ.faropn-existing-resources.js.snapshot/faropnexistingresourcesIntegDefaultTestDeployAssert753D5E58.assets.json @@ -0,0 +1,19 @@ +{ + "version": "36.0.0", + "files": { + "21fbb51d7b23f6a6c262b46a9caee79d744a3ac019fd45422d988b96d44b2a22": { + "source": { + "path": "faropnexistingresourcesIntegDefaultTestDeployAssert753D5E58.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "21fbb51d7b23f6a6c262b46a9caee79d744a3ac019fd45422d988b96d44b2a22.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/source/patterns/@aws-solutions-constructs/aws-fargate-opensearch/test/cdk-integ.out.integ.faropn-existing-resources.js.snapshot/faropnexistingresourcesIntegDefaultTestDeployAssert753D5E58.template.json b/source/patterns/@aws-solutions-constructs/aws-fargate-opensearch/test/cdk-integ.out.integ.faropn-existing-resources.js.snapshot/faropnexistingresourcesIntegDefaultTestDeployAssert753D5E58.template.json new file mode 100644 index 000000000..ad9d0fb73 --- /dev/null +++ b/source/patterns/@aws-solutions-constructs/aws-fargate-opensearch/test/cdk-integ.out.integ.faropn-existing-resources.js.snapshot/faropnexistingresourcesIntegDefaultTestDeployAssert753D5E58.template.json @@ -0,0 +1,36 @@ +{ + "Parameters": { + "BootstrapVersion": { + "Type": "AWS::SSM::Parameter::Value", + "Default": "/cdk-bootstrap/hnb659fds/version", + "Description": "Version of the CDK Bootstrap resources in this environment, automatically retrieved from SSM Parameter Store. [cdk:skip]" + } + }, + "Rules": { + "CheckBootstrapVersion": { + "Assertions": [ + { + "Assert": { + "Fn::Not": [ + { + "Fn::Contains": [ + [ + "1", + "2", + "3", + "4", + "5" + ], + { + "Ref": "BootstrapVersion" + } + ] + } + ] + }, + "AssertDescription": "CDK bootstrap stack version 6 required. Please run 'cdk bootstrap' with a recent version of the CDK CLI." + } + ] + } + } +} \ No newline at end of file diff --git a/source/patterns/@aws-solutions-constructs/aws-fargate-opensearch/test/cdk-integ.out.integ.faropn-existing-resources.js.snapshot/integ.json b/source/patterns/@aws-solutions-constructs/aws-fargate-opensearch/test/cdk-integ.out.integ.faropn-existing-resources.js.snapshot/integ.json new file mode 100644 index 000000000..a6658c012 --- /dev/null +++ b/source/patterns/@aws-solutions-constructs/aws-fargate-opensearch/test/cdk-integ.out.integ.faropn-existing-resources.js.snapshot/integ.json @@ -0,0 +1,12 @@ +{ + "version": "36.0.0", + "testCases": { + "faropn-existing-resources/Integ/DefaultTest": { + "stacks": [ + "faropn-existing-resources" + ], + "assertionStack": "faropn-existing-resources/Integ/DefaultTest/DeployAssert", + "assertionStackName": "faropnexistingresourcesIntegDefaultTestDeployAssert753D5E58" + } + } +} \ No newline at end of file diff --git a/source/patterns/@aws-solutions-constructs/aws-fargate-opensearch/test/cdk-integ.out.integ.faropn-existing-resources.js.snapshot/manifest.json b/source/patterns/@aws-solutions-constructs/aws-fargate-opensearch/test/cdk-integ.out.integ.faropn-existing-resources.js.snapshot/manifest.json new file mode 100644 index 000000000..2e51a8ce1 --- /dev/null +++ b/source/patterns/@aws-solutions-constructs/aws-fargate-opensearch/test/cdk-integ.out.integ.faropn-existing-resources.js.snapshot/manifest.json @@ -0,0 +1,455 @@ +{ + "version": "36.0.0", + "artifacts": { + "faropnexistingresourcesIntegDefaultTestDeployAssert753D5E58.assets": { + "type": "cdk:asset-manifest", + "properties": { + "file": "faropnexistingresourcesIntegDefaultTestDeployAssert753D5E58.assets.json", + "requiresBootstrapStackVersion": 6, + "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version" + } + }, + "faropnexistingresourcesIntegDefaultTestDeployAssert753D5E58": { + "type": "aws:cloudformation:stack", + "environment": "aws://unknown-account/unknown-region", + "properties": { + "templateFile": "faropnexistingresourcesIntegDefaultTestDeployAssert753D5E58.template.json", + "terminationProtection": false, + "validateOnSynth": false, + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}", + "cloudFormationExecutionRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}", + "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/21fbb51d7b23f6a6c262b46a9caee79d744a3ac019fd45422d988b96d44b2a22.json", + "requiresBootstrapStackVersion": 6, + "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version", + "additionalDependencies": [ + "faropnexistingresourcesIntegDefaultTestDeployAssert753D5E58.assets" + ], + "lookupRole": { + "arn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-lookup-role-${AWS::AccountId}-${AWS::Region}", + "requiresBootstrapStackVersion": 8, + "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version" + } + }, + "dependencies": [ + "faropnexistingresourcesIntegDefaultTestDeployAssert753D5E58.assets" + ], + "metadata": { + "/faropn-existing-resources/Integ/DefaultTest/DeployAssert/BootstrapVersion": [ + { + "type": "aws:cdk:logicalId", + "data": "BootstrapVersion" + } + ], + "/faropn-existing-resources/Integ/DefaultTest/DeployAssert/CheckBootstrapVersion": [ + { + "type": "aws:cdk:logicalId", + "data": "CheckBootstrapVersion" + } + ] + }, + "displayName": "faropn-existing-resources/Integ/DefaultTest/DeployAssert" + }, + "faropn-existing-resources.assets": { + "type": "cdk:asset-manifest", + "properties": { + "file": "faropn-existing-resources.assets.json", + "requiresBootstrapStackVersion": 6, + "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version" + } + }, + "faropn-existing-resources": { + "type": "aws:cloudformation:stack", + "environment": "aws://unknown-account/us-east-1", + "properties": { + "templateFile": "faropn-existing-resources.template.json", + "terminationProtection": false, + "validateOnSynth": false, + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-deploy-role-${AWS::AccountId}-us-east-1", + "cloudFormationExecutionRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-us-east-1", + "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-us-east-1/8915af6aa7b07b283b4d964f779b184656f182bd8e2f50c12a71daaf7a643a58.json", + "requiresBootstrapStackVersion": 6, + "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version", + "additionalDependencies": [ + "faropn-existing-resources.assets" + ], + "lookupRole": { + "arn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-lookup-role-${AWS::AccountId}-us-east-1", + "requiresBootstrapStackVersion": 8, + "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version" + } + }, + "dependencies": [ + "faropn-existing-resources.assets" + ], + "metadata": { + "/faropn-existing-resources/Vpc/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "Vpc8378EB38" + } + ], + "/faropn-existing-resources/Vpc/PublicSubnet1/Subnet": [ + { + "type": "aws:cdk:logicalId", + "data": "VpcPublicSubnet1Subnet5C2D37C4" + } + ], + "/faropn-existing-resources/Vpc/PublicSubnet1/RouteTable": [ + { + "type": "aws:cdk:logicalId", + "data": "VpcPublicSubnet1RouteTable6C95E38E" + } + ], + "/faropn-existing-resources/Vpc/PublicSubnet1/RouteTableAssociation": [ + { + "type": "aws:cdk:logicalId", + "data": "VpcPublicSubnet1RouteTableAssociation97140677" + } + ], + "/faropn-existing-resources/Vpc/PublicSubnet1/DefaultRoute": [ + { + "type": "aws:cdk:logicalId", + "data": "VpcPublicSubnet1DefaultRoute3DA9E72A" + } + ], + "/faropn-existing-resources/Vpc/PublicSubnet1/EIP": [ + { + "type": "aws:cdk:logicalId", + "data": "VpcPublicSubnet1EIPD7E02669" + } + ], + "/faropn-existing-resources/Vpc/PublicSubnet1/NATGateway": [ + { + "type": "aws:cdk:logicalId", + "data": "VpcPublicSubnet1NATGateway4D7517AA" + } + ], + "/faropn-existing-resources/Vpc/PublicSubnet2/Subnet": [ + { + "type": "aws:cdk:logicalId", + "data": "VpcPublicSubnet2Subnet691E08A3" + } + ], + "/faropn-existing-resources/Vpc/PublicSubnet2/RouteTable": [ + { + "type": "aws:cdk:logicalId", + "data": "VpcPublicSubnet2RouteTable94F7E489" + } + ], + "/faropn-existing-resources/Vpc/PublicSubnet2/RouteTableAssociation": [ + { + "type": "aws:cdk:logicalId", + "data": "VpcPublicSubnet2RouteTableAssociationDD5762D8" + } + ], + "/faropn-existing-resources/Vpc/PublicSubnet2/DefaultRoute": [ + { + "type": "aws:cdk:logicalId", + "data": "VpcPublicSubnet2DefaultRoute97F91067" + } + ], + "/faropn-existing-resources/Vpc/PublicSubnet2/EIP": [ + { + "type": "aws:cdk:logicalId", + "data": "VpcPublicSubnet2EIP3C605A87" + } + ], + "/faropn-existing-resources/Vpc/PublicSubnet2/NATGateway": [ + { + "type": "aws:cdk:logicalId", + "data": "VpcPublicSubnet2NATGateway9182C01D" + } + ], + "/faropn-existing-resources/Vpc/PrivateSubnet1/Subnet": [ + { + "type": "aws:cdk:logicalId", + "data": "VpcPrivateSubnet1Subnet536B997A" + } + ], + "/faropn-existing-resources/Vpc/PrivateSubnet1/RouteTable": [ + { + "type": "aws:cdk:logicalId", + "data": "VpcPrivateSubnet1RouteTableB2C5B500" + } + ], + "/faropn-existing-resources/Vpc/PrivateSubnet1/RouteTableAssociation": [ + { + "type": "aws:cdk:logicalId", + "data": "VpcPrivateSubnet1RouteTableAssociation70C59FA6" + } + ], + "/faropn-existing-resources/Vpc/PrivateSubnet1/DefaultRoute": [ + { + "type": "aws:cdk:logicalId", + "data": "VpcPrivateSubnet1DefaultRouteBE02A9ED" + } + ], + "/faropn-existing-resources/Vpc/PrivateSubnet2/Subnet": [ + { + "type": "aws:cdk:logicalId", + "data": "VpcPrivateSubnet2Subnet3788AAA1" + } + ], + "/faropn-existing-resources/Vpc/PrivateSubnet2/RouteTable": [ + { + "type": "aws:cdk:logicalId", + "data": "VpcPrivateSubnet2RouteTableA678073B" + } + ], + "/faropn-existing-resources/Vpc/PrivateSubnet2/RouteTableAssociation": [ + { + "type": "aws:cdk:logicalId", + "data": "VpcPrivateSubnet2RouteTableAssociationA89CAD56" + } + ], + "/faropn-existing-resources/Vpc/PrivateSubnet2/DefaultRoute": [ + { + "type": "aws:cdk:logicalId", + "data": "VpcPrivateSubnet2DefaultRoute060D2087" + } + ], + "/faropn-existing-resources/Vpc/IGW": [ + { + "type": "aws:cdk:logicalId", + "data": "VpcIGWD7BA715C" + } + ], + "/faropn-existing-resources/Vpc/VPCGW": [ + { + "type": "aws:cdk:logicalId", + "data": "VpcVPCGWBF912B6E" + } + ], + "/faropn-existing-resources/Vpc/RestrictDefaultSecurityGroupCustomResource/Default": [ + { + "type": "aws:cdk:logicalId", + "data": "VpcRestrictDefaultSecurityGroupCustomResourceC73DA2BE" + } + ], + "/faropn-existing-resources/Vpc/FlowLog/IAMRole/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "VpcFlowLogIAMRole6A475D41" + } + ], + "/faropn-existing-resources/Vpc/FlowLog/IAMRole/DefaultPolicy/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "VpcFlowLogIAMRoleDefaultPolicy406FB995" + } + ], + "/faropn-existing-resources/Vpc/FlowLog/LogGroup/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "VpcFlowLogLogGroup7B5C56B9" + } + ], + "/faropn-existing-resources/Vpc/FlowLog/FlowLog": [ + { + "type": "aws:cdk:logicalId", + "data": "VpcFlowLog8FF33A73" + } + ], + "/faropn-existing-resources/Vpc/ECR_API/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "VpcECRAPI9A3B6A2B" + } + ], + "/faropn-existing-resources/Vpc/ECR_DKR/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "VpcECRDKR604E039F" + } + ], + "/faropn-existing-resources/Vpc/S3/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "VpcS3A5408339" + } + ], + "/faropn-existing-resources/Custom::VpcRestrictDefaultSGCustomResourceProvider/Role": [ + { + "type": "aws:cdk:logicalId", + "data": "CustomVpcRestrictDefaultSGCustomResourceProviderRole26592FE0" + } + ], + "/faropn-existing-resources/Custom::VpcRestrictDefaultSGCustomResourceProvider/Handler": [ + { + "type": "aws:cdk:logicalId", + "data": "CustomVpcRestrictDefaultSGCustomResourceProviderHandlerDC833E5E" + } + ], + "/faropn-existing-resources/faropn-existing-resources-ECR_API-security-group/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "faropnexistingresourcesECRAPIsecuritygroup9E21D9FB" + } + ], + "/faropn-existing-resources/faropn-existing-resources-ECR_DKR-security-group/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "faropnexistingresourcesECRDKRsecuritygroupCF68611A" + } + ], + "/faropn-existing-resources/test-cluster/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "testclusterDF8B0D19" + } + ], + "/faropn-existing-resources/test-taskdef/TaskRole/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "testtaskdefTaskRoleB2DEF113" + } + ], + "/faropn-existing-resources/test-taskdef/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "testtaskdefF924AD58" + } + ], + "/faropn-existing-resources/test-sg/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "testsg872EB48A" + } + ], + "/faropn-existing-resources/test-service/Service": [ + { + "type": "aws:cdk:logicalId", + "data": "testserviceService2730C249" + } + ], + "/faropn-existing-resources/test-construct/CognitoUserPool/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "testconstructCognitoUserPoolA4991355" + } + ], + "/faropn-existing-resources/test-construct/CognitoUserPoolClient/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "testconstructCognitoUserPoolClient36ACF012" + } + ], + "/faropn-existing-resources/test-construct/CognitoIdentityPool": [ + { + "type": "aws:cdk:logicalId", + "data": "testconstructCognitoIdentityPool51EFD08D" + } + ], + "/faropn-existing-resources/test-construct/UserPoolDomain": [ + { + "type": "aws:cdk:logicalId", + "data": "testconstructUserPoolDomain6B64F32F" + } + ], + "/faropn-existing-resources/test-construct/CognitoAuthorizedRole/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "testconstructCognitoAuthorizedRole7BA83790" + } + ], + "/faropn-existing-resources/test-construct/IdentityPoolRoleMapping": [ + { + "type": "aws:cdk:logicalId", + "data": "testconstructIdentityPoolRoleMapping1391CBDD" + } + ], + "/faropn-existing-resources/test-construct/CognitoDashboardConfigureRole/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "testconstructCognitoDashboardConfigureRoleFA66EB70" + } + ], + "/faropn-existing-resources/test-construct/CognitoDashboardConfigureRolePolicy/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "testconstructCognitoDashboardConfigureRolePolicy3EC6F1C4" + } + ], + "/faropn-existing-resources/test-construct/OpenSearchDomain": [ + { + "type": "aws:cdk:logicalId", + "data": "testconstructOpenSearchDomainD2A5B104" + } + ], + "/faropn-existing-resources/test-construct/StatusRedAlarm/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "testconstructStatusRedAlarmFBEA96DF" + } + ], + "/faropn-existing-resources/test-construct/StatusYellowAlarm/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "testconstructStatusYellowAlarm3B8C3640" + } + ], + "/faropn-existing-resources/test-construct/FreeStorageSpaceTooLowAlarm/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "testconstructFreeStorageSpaceTooLowAlarm08294658" + } + ], + "/faropn-existing-resources/test-construct/IndexWritesBlockedTooHighAlarm/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "testconstructIndexWritesBlockedTooHighAlarm06094A18" + } + ], + "/faropn-existing-resources/test-construct/AutomatedSnapshotFailureTooHighAlarm/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "testconstructAutomatedSnapshotFailureTooHighAlarm29E550A3" + } + ], + "/faropn-existing-resources/test-construct/CPUUtilizationTooHighAlarm/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "testconstructCPUUtilizationTooHighAlarmD32179B7" + } + ], + "/faropn-existing-resources/test-construct/JVMMemoryPressureTooHighAlarm/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "testconstructJVMMemoryPressureTooHighAlarmFD4175A0" + } + ], + "/faropn-existing-resources/test-construct/MasterCPUUtilizationTooHighAlarm/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "testconstructMasterCPUUtilizationTooHighAlarmAA50D0A7" + } + ], + "/faropn-existing-resources/test-construct/MasterJVMMemoryPressureTooHighAlarm/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "testconstructMasterJVMMemoryPressureTooHighAlarm5AE37D64" + } + ], + "/faropn-existing-resources/BootstrapVersion": [ + { + "type": "aws:cdk:logicalId", + "data": "BootstrapVersion" + } + ], + "/faropn-existing-resources/CheckBootstrapVersion": [ + { + "type": "aws:cdk:logicalId", + "data": "CheckBootstrapVersion" + } + ] + }, + "displayName": "faropn-existing-resources" + }, + "Tree": { + "type": "cdk:tree", + "properties": { + "file": "tree.json" + } + } + } +} \ No newline at end of file diff --git a/source/patterns/@aws-solutions-constructs/aws-fargate-opensearch/test/cdk-integ.out.integ.faropn-existing-resources.js.snapshot/tree.json b/source/patterns/@aws-solutions-constructs/aws-fargate-opensearch/test/cdk-integ.out.integ.faropn-existing-resources.js.snapshot/tree.json new file mode 100644 index 000000000..5bc781ff0 --- /dev/null +++ b/source/patterns/@aws-solutions-constructs/aws-fargate-opensearch/test/cdk-integ.out.integ.faropn-existing-resources.js.snapshot/tree.json @@ -0,0 +1,2440 @@ +{ + "version": "tree-0.1", + "tree": { + "id": "App", + "path": "", + "children": { + "faropn-existing-resources": { + "id": "faropn-existing-resources", + "path": "faropn-existing-resources", + "children": { + "Vpc": { + "id": "Vpc", + "path": "faropn-existing-resources/Vpc", + "children": { + "Resource": { + "id": "Resource", + "path": "faropn-existing-resources/Vpc/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::VPC", + "aws:cdk:cloudformation:props": { + "cidrBlock": "172.168.0.0/16", + "enableDnsHostnames": true, + "enableDnsSupport": true, + "instanceTenancy": "default", + "tags": [ + { + "key": "Name", + "value": "faropn-existing-resources/Vpc" + } + ] + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.CfnVPC", + "version": "2.127.0" + } + }, + "PublicSubnet1": { + "id": "PublicSubnet1", + "path": "faropn-existing-resources/Vpc/PublicSubnet1", + "children": { + "Subnet": { + "id": "Subnet", + "path": "faropn-existing-resources/Vpc/PublicSubnet1/Subnet", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::Subnet", + "aws:cdk:cloudformation:props": { + "availabilityZone": { + "Fn::Select": [ + 0, + { + "Fn::GetAZs": "" + } + ] + }, + "cidrBlock": "172.168.0.0/18", + "mapPublicIpOnLaunch": true, + "tags": [ + { + "key": "aws-cdk:subnet-name", + "value": "Public" + }, + { + "key": "aws-cdk:subnet-type", + "value": "Public" + }, + { + "key": "Name", + "value": "faropn-existing-resources/Vpc/PublicSubnet1" + } + ], + "vpcId": { + "Ref": "Vpc8378EB38" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.CfnSubnet", + "version": "2.127.0" + } + }, + "Acl": { + "id": "Acl", + "path": "faropn-existing-resources/Vpc/PublicSubnet1/Acl", + "constructInfo": { + "fqn": "aws-cdk-lib.Resource", + "version": "2.127.0" + } + }, + "RouteTable": { + "id": "RouteTable", + "path": "faropn-existing-resources/Vpc/PublicSubnet1/RouteTable", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::RouteTable", + "aws:cdk:cloudformation:props": { + "tags": [ + { + "key": "Name", + "value": "faropn-existing-resources/Vpc/PublicSubnet1" + } + ], + "vpcId": { + "Ref": "Vpc8378EB38" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.CfnRouteTable", + "version": "2.127.0" + } + }, + "RouteTableAssociation": { + "id": "RouteTableAssociation", + "path": "faropn-existing-resources/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-lib.aws_ec2.CfnSubnetRouteTableAssociation", + "version": "2.127.0" + } + }, + "DefaultRoute": { + "id": "DefaultRoute", + "path": "faropn-existing-resources/Vpc/PublicSubnet1/DefaultRoute", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::Route", + "aws:cdk:cloudformation:props": { + "destinationCidrBlock": "0.0.0.0/0", + "gatewayId": { + "Ref": "VpcIGWD7BA715C" + }, + "routeTableId": { + "Ref": "VpcPublicSubnet1RouteTable6C95E38E" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.CfnRoute", + "version": "2.127.0" + } + }, + "EIP": { + "id": "EIP", + "path": "faropn-existing-resources/Vpc/PublicSubnet1/EIP", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::EIP", + "aws:cdk:cloudformation:props": { + "domain": "vpc", + "tags": [ + { + "key": "Name", + "value": "faropn-existing-resources/Vpc/PublicSubnet1" + } + ] + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.CfnEIP", + "version": "2.127.0" + } + }, + "NATGateway": { + "id": "NATGateway", + "path": "faropn-existing-resources/Vpc/PublicSubnet1/NATGateway", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::NatGateway", + "aws:cdk:cloudformation:props": { + "allocationId": { + "Fn::GetAtt": [ + "VpcPublicSubnet1EIPD7E02669", + "AllocationId" + ] + }, + "subnetId": { + "Ref": "VpcPublicSubnet1Subnet5C2D37C4" + }, + "tags": [ + { + "key": "Name", + "value": "faropn-existing-resources/Vpc/PublicSubnet1" + } + ] + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.CfnNatGateway", + "version": "2.127.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.PublicSubnet", + "version": "2.127.0" + } + }, + "PublicSubnet2": { + "id": "PublicSubnet2", + "path": "faropn-existing-resources/Vpc/PublicSubnet2", + "children": { + "Subnet": { + "id": "Subnet", + "path": "faropn-existing-resources/Vpc/PublicSubnet2/Subnet", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::Subnet", + "aws:cdk:cloudformation:props": { + "availabilityZone": { + "Fn::Select": [ + 1, + { + "Fn::GetAZs": "" + } + ] + }, + "cidrBlock": "172.168.64.0/18", + "mapPublicIpOnLaunch": true, + "tags": [ + { + "key": "aws-cdk:subnet-name", + "value": "Public" + }, + { + "key": "aws-cdk:subnet-type", + "value": "Public" + }, + { + "key": "Name", + "value": "faropn-existing-resources/Vpc/PublicSubnet2" + } + ], + "vpcId": { + "Ref": "Vpc8378EB38" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.CfnSubnet", + "version": "2.127.0" + } + }, + "Acl": { + "id": "Acl", + "path": "faropn-existing-resources/Vpc/PublicSubnet2/Acl", + "constructInfo": { + "fqn": "aws-cdk-lib.Resource", + "version": "2.127.0" + } + }, + "RouteTable": { + "id": "RouteTable", + "path": "faropn-existing-resources/Vpc/PublicSubnet2/RouteTable", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::RouteTable", + "aws:cdk:cloudformation:props": { + "tags": [ + { + "key": "Name", + "value": "faropn-existing-resources/Vpc/PublicSubnet2" + } + ], + "vpcId": { + "Ref": "Vpc8378EB38" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.CfnRouteTable", + "version": "2.127.0" + } + }, + "RouteTableAssociation": { + "id": "RouteTableAssociation", + "path": "faropn-existing-resources/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-lib.aws_ec2.CfnSubnetRouteTableAssociation", + "version": "2.127.0" + } + }, + "DefaultRoute": { + "id": "DefaultRoute", + "path": "faropn-existing-resources/Vpc/PublicSubnet2/DefaultRoute", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::Route", + "aws:cdk:cloudformation:props": { + "destinationCidrBlock": "0.0.0.0/0", + "gatewayId": { + "Ref": "VpcIGWD7BA715C" + }, + "routeTableId": { + "Ref": "VpcPublicSubnet2RouteTable94F7E489" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.CfnRoute", + "version": "2.127.0" + } + }, + "EIP": { + "id": "EIP", + "path": "faropn-existing-resources/Vpc/PublicSubnet2/EIP", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::EIP", + "aws:cdk:cloudformation:props": { + "domain": "vpc", + "tags": [ + { + "key": "Name", + "value": "faropn-existing-resources/Vpc/PublicSubnet2" + } + ] + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.CfnEIP", + "version": "2.127.0" + } + }, + "NATGateway": { + "id": "NATGateway", + "path": "faropn-existing-resources/Vpc/PublicSubnet2/NATGateway", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::NatGateway", + "aws:cdk:cloudformation:props": { + "allocationId": { + "Fn::GetAtt": [ + "VpcPublicSubnet2EIP3C605A87", + "AllocationId" + ] + }, + "subnetId": { + "Ref": "VpcPublicSubnet2Subnet691E08A3" + }, + "tags": [ + { + "key": "Name", + "value": "faropn-existing-resources/Vpc/PublicSubnet2" + } + ] + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.CfnNatGateway", + "version": "2.127.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.PublicSubnet", + "version": "2.127.0" + } + }, + "PrivateSubnet1": { + "id": "PrivateSubnet1", + "path": "faropn-existing-resources/Vpc/PrivateSubnet1", + "children": { + "Subnet": { + "id": "Subnet", + "path": "faropn-existing-resources/Vpc/PrivateSubnet1/Subnet", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::Subnet", + "aws:cdk:cloudformation:props": { + "availabilityZone": { + "Fn::Select": [ + 0, + { + "Fn::GetAZs": "" + } + ] + }, + "cidrBlock": "172.168.128.0/18", + "mapPublicIpOnLaunch": false, + "tags": [ + { + "key": "aws-cdk:subnet-name", + "value": "Private" + }, + { + "key": "aws-cdk:subnet-type", + "value": "Private" + }, + { + "key": "Name", + "value": "faropn-existing-resources/Vpc/PrivateSubnet1" + } + ], + "vpcId": { + "Ref": "Vpc8378EB38" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.CfnSubnet", + "version": "2.127.0" + } + }, + "Acl": { + "id": "Acl", + "path": "faropn-existing-resources/Vpc/PrivateSubnet1/Acl", + "constructInfo": { + "fqn": "aws-cdk-lib.Resource", + "version": "2.127.0" + } + }, + "RouteTable": { + "id": "RouteTable", + "path": "faropn-existing-resources/Vpc/PrivateSubnet1/RouteTable", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::RouteTable", + "aws:cdk:cloudformation:props": { + "tags": [ + { + "key": "Name", + "value": "faropn-existing-resources/Vpc/PrivateSubnet1" + } + ], + "vpcId": { + "Ref": "Vpc8378EB38" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.CfnRouteTable", + "version": "2.127.0" + } + }, + "RouteTableAssociation": { + "id": "RouteTableAssociation", + "path": "faropn-existing-resources/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-lib.aws_ec2.CfnSubnetRouteTableAssociation", + "version": "2.127.0" + } + }, + "DefaultRoute": { + "id": "DefaultRoute", + "path": "faropn-existing-resources/Vpc/PrivateSubnet1/DefaultRoute", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::Route", + "aws:cdk:cloudformation:props": { + "destinationCidrBlock": "0.0.0.0/0", + "natGatewayId": { + "Ref": "VpcPublicSubnet1NATGateway4D7517AA" + }, + "routeTableId": { + "Ref": "VpcPrivateSubnet1RouteTableB2C5B500" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.CfnRoute", + "version": "2.127.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.PrivateSubnet", + "version": "2.127.0" + } + }, + "PrivateSubnet2": { + "id": "PrivateSubnet2", + "path": "faropn-existing-resources/Vpc/PrivateSubnet2", + "children": { + "Subnet": { + "id": "Subnet", + "path": "faropn-existing-resources/Vpc/PrivateSubnet2/Subnet", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::Subnet", + "aws:cdk:cloudformation:props": { + "availabilityZone": { + "Fn::Select": [ + 1, + { + "Fn::GetAZs": "" + } + ] + }, + "cidrBlock": "172.168.192.0/18", + "mapPublicIpOnLaunch": false, + "tags": [ + { + "key": "aws-cdk:subnet-name", + "value": "Private" + }, + { + "key": "aws-cdk:subnet-type", + "value": "Private" + }, + { + "key": "Name", + "value": "faropn-existing-resources/Vpc/PrivateSubnet2" + } + ], + "vpcId": { + "Ref": "Vpc8378EB38" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.CfnSubnet", + "version": "2.127.0" + } + }, + "Acl": { + "id": "Acl", + "path": "faropn-existing-resources/Vpc/PrivateSubnet2/Acl", + "constructInfo": { + "fqn": "aws-cdk-lib.Resource", + "version": "2.127.0" + } + }, + "RouteTable": { + "id": "RouteTable", + "path": "faropn-existing-resources/Vpc/PrivateSubnet2/RouteTable", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::RouteTable", + "aws:cdk:cloudformation:props": { + "tags": [ + { + "key": "Name", + "value": "faropn-existing-resources/Vpc/PrivateSubnet2" + } + ], + "vpcId": { + "Ref": "Vpc8378EB38" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.CfnRouteTable", + "version": "2.127.0" + } + }, + "RouteTableAssociation": { + "id": "RouteTableAssociation", + "path": "faropn-existing-resources/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-lib.aws_ec2.CfnSubnetRouteTableAssociation", + "version": "2.127.0" + } + }, + "DefaultRoute": { + "id": "DefaultRoute", + "path": "faropn-existing-resources/Vpc/PrivateSubnet2/DefaultRoute", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::Route", + "aws:cdk:cloudformation:props": { + "destinationCidrBlock": "0.0.0.0/0", + "natGatewayId": { + "Ref": "VpcPublicSubnet2NATGateway9182C01D" + }, + "routeTableId": { + "Ref": "VpcPrivateSubnet2RouteTableA678073B" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.CfnRoute", + "version": "2.127.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.PrivateSubnet", + "version": "2.127.0" + } + }, + "IGW": { + "id": "IGW", + "path": "faropn-existing-resources/Vpc/IGW", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::InternetGateway", + "aws:cdk:cloudformation:props": { + "tags": [ + { + "key": "Name", + "value": "faropn-existing-resources/Vpc" + } + ] + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.CfnInternetGateway", + "version": "2.127.0" + } + }, + "VPCGW": { + "id": "VPCGW", + "path": "faropn-existing-resources/Vpc/VPCGW", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::VPCGatewayAttachment", + "aws:cdk:cloudformation:props": { + "internetGatewayId": { + "Ref": "VpcIGWD7BA715C" + }, + "vpcId": { + "Ref": "Vpc8378EB38" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.CfnVPCGatewayAttachment", + "version": "2.127.0" + } + }, + "RestrictDefaultSecurityGroupCustomResource": { + "id": "RestrictDefaultSecurityGroupCustomResource", + "path": "faropn-existing-resources/Vpc/RestrictDefaultSecurityGroupCustomResource", + "children": { + "Default": { + "id": "Default", + "path": "faropn-existing-resources/Vpc/RestrictDefaultSecurityGroupCustomResource/Default", + "constructInfo": { + "fqn": "aws-cdk-lib.CfnResource", + "version": "2.127.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.CustomResource", + "version": "2.127.0" + } + }, + "FlowLog": { + "id": "FlowLog", + "path": "faropn-existing-resources/Vpc/FlowLog", + "children": { + "IAMRole": { + "id": "IAMRole", + "path": "faropn-existing-resources/Vpc/FlowLog/IAMRole", + "children": { + "ImportIAMRole": { + "id": "ImportIAMRole", + "path": "faropn-existing-resources/Vpc/FlowLog/IAMRole/ImportIAMRole", + "constructInfo": { + "fqn": "aws-cdk-lib.Resource", + "version": "2.127.0" + } + }, + "Resource": { + "id": "Resource", + "path": "faropn-existing-resources/Vpc/FlowLog/IAMRole/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::IAM::Role", + "aws:cdk:cloudformation:props": { + "assumeRolePolicyDocument": { + "Statement": [ + { + "Action": "sts:AssumeRole", + "Effect": "Allow", + "Principal": { + "Service": "vpc-flow-logs.amazonaws.com" + } + } + ], + "Version": "2012-10-17" + }, + "tags": [ + { + "key": "Name", + "value": "faropn-existing-resources/Vpc/FlowLog" + } + ] + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_iam.CfnRole", + "version": "2.127.0" + } + }, + "DefaultPolicy": { + "id": "DefaultPolicy", + "path": "faropn-existing-resources/Vpc/FlowLog/IAMRole/DefaultPolicy", + "children": { + "Resource": { + "id": "Resource", + "path": "faropn-existing-resources/Vpc/FlowLog/IAMRole/DefaultPolicy/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::IAM::Policy", + "aws:cdk:cloudformation:props": { + "policyDocument": { + "Statement": [ + { + "Action": [ + "logs:CreateLogStream", + "logs:DescribeLogStreams", + "logs:PutLogEvents" + ], + "Effect": "Allow", + "Resource": { + "Fn::GetAtt": [ + "VpcFlowLogLogGroup7B5C56B9", + "Arn" + ] + } + }, + { + "Action": "iam:PassRole", + "Effect": "Allow", + "Resource": { + "Fn::GetAtt": [ + "VpcFlowLogIAMRole6A475D41", + "Arn" + ] + } + } + ], + "Version": "2012-10-17" + }, + "policyName": "VpcFlowLogIAMRoleDefaultPolicy406FB995", + "roles": [ + { + "Ref": "VpcFlowLogIAMRole6A475D41" + } + ] + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_iam.CfnPolicy", + "version": "2.127.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_iam.Policy", + "version": "2.127.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_iam.Role", + "version": "2.127.0" + } + }, + "LogGroup": { + "id": "LogGroup", + "path": "faropn-existing-resources/Vpc/FlowLog/LogGroup", + "children": { + "Resource": { + "id": "Resource", + "path": "faropn-existing-resources/Vpc/FlowLog/LogGroup/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::Logs::LogGroup", + "aws:cdk:cloudformation:props": { + "retentionInDays": 731, + "tags": [ + { + "key": "Name", + "value": "faropn-existing-resources/Vpc/FlowLog" + } + ] + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_logs.CfnLogGroup", + "version": "2.127.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_logs.LogGroup", + "version": "2.127.0" + } + }, + "FlowLog": { + "id": "FlowLog", + "path": "faropn-existing-resources/Vpc/FlowLog/FlowLog", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::FlowLog", + "aws:cdk:cloudformation:props": { + "deliverLogsPermissionArn": { + "Fn::GetAtt": [ + "VpcFlowLogIAMRole6A475D41", + "Arn" + ] + }, + "logDestinationType": "cloud-watch-logs", + "logGroupName": { + "Ref": "VpcFlowLogLogGroup7B5C56B9" + }, + "resourceId": { + "Ref": "Vpc8378EB38" + }, + "resourceType": "VPC", + "tags": [ + { + "key": "Name", + "value": "faropn-existing-resources/Vpc/FlowLog" + } + ], + "trafficType": "ALL" + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.CfnFlowLog", + "version": "2.127.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.FlowLog", + "version": "2.127.0" + } + }, + "ECR_API": { + "id": "ECR_API", + "path": "faropn-existing-resources/Vpc/ECR_API", + "children": { + "Resource": { + "id": "Resource", + "path": "faropn-existing-resources/Vpc/ECR_API/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::VPCEndpoint", + "aws:cdk:cloudformation:props": { + "privateDnsEnabled": true, + "securityGroupIds": [ + { + "Fn::GetAtt": [ + "faropnexistingresourcesECRAPIsecuritygroup9E21D9FB", + "GroupId" + ] + } + ], + "serviceName": "com.amazonaws.us-east-1.ecr.api", + "subnetIds": [ + { + "Ref": "VpcPrivateSubnet1Subnet536B997A" + }, + { + "Ref": "VpcPrivateSubnet2Subnet3788AAA1" + } + ], + "vpcEndpointType": "Interface", + "vpcId": { + "Ref": "Vpc8378EB38" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.CfnVPCEndpoint", + "version": "2.127.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.InterfaceVpcEndpoint", + "version": "2.127.0" + } + }, + "ECR_DKR": { + "id": "ECR_DKR", + "path": "faropn-existing-resources/Vpc/ECR_DKR", + "children": { + "Resource": { + "id": "Resource", + "path": "faropn-existing-resources/Vpc/ECR_DKR/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::VPCEndpoint", + "aws:cdk:cloudformation:props": { + "privateDnsEnabled": true, + "securityGroupIds": [ + { + "Fn::GetAtt": [ + "faropnexistingresourcesECRDKRsecuritygroupCF68611A", + "GroupId" + ] + } + ], + "serviceName": "com.amazonaws.us-east-1.ecr.dkr", + "subnetIds": [ + { + "Ref": "VpcPrivateSubnet1Subnet536B997A" + }, + { + "Ref": "VpcPrivateSubnet2Subnet3788AAA1" + } + ], + "vpcEndpointType": "Interface", + "vpcId": { + "Ref": "Vpc8378EB38" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.CfnVPCEndpoint", + "version": "2.127.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.InterfaceVpcEndpoint", + "version": "2.127.0" + } + }, + "S3": { + "id": "S3", + "path": "faropn-existing-resources/Vpc/S3", + "children": { + "Resource": { + "id": "Resource", + "path": "faropn-existing-resources/Vpc/S3/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::VPCEndpoint", + "aws:cdk:cloudformation:props": { + "routeTableIds": [ + { + "Ref": "VpcPrivateSubnet1RouteTableB2C5B500" + }, + { + "Ref": "VpcPrivateSubnet2RouteTableA678073B" + }, + { + "Ref": "VpcPublicSubnet1RouteTable6C95E38E" + }, + { + "Ref": "VpcPublicSubnet2RouteTable94F7E489" + } + ], + "serviceName": { + "Fn::Join": [ + "", + [ + "com.amazonaws.", + { + "Ref": "AWS::Region" + }, + ".s3" + ] + ] + }, + "vpcEndpointType": "Gateway", + "vpcId": { + "Ref": "Vpc8378EB38" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.CfnVPCEndpoint", + "version": "2.127.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.GatewayVpcEndpoint", + "version": "2.127.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.Vpc", + "version": "2.127.0" + } + }, + "Custom::VpcRestrictDefaultSGCustomResourceProvider": { + "id": "Custom::VpcRestrictDefaultSGCustomResourceProvider", + "path": "faropn-existing-resources/Custom::VpcRestrictDefaultSGCustomResourceProvider", + "children": { + "Staging": { + "id": "Staging", + "path": "faropn-existing-resources/Custom::VpcRestrictDefaultSGCustomResourceProvider/Staging", + "constructInfo": { + "fqn": "aws-cdk-lib.AssetStaging", + "version": "2.127.0" + } + }, + "Role": { + "id": "Role", + "path": "faropn-existing-resources/Custom::VpcRestrictDefaultSGCustomResourceProvider/Role", + "constructInfo": { + "fqn": "aws-cdk-lib.CfnResource", + "version": "2.127.0" + } + }, + "Handler": { + "id": "Handler", + "path": "faropn-existing-resources/Custom::VpcRestrictDefaultSGCustomResourceProvider/Handler", + "constructInfo": { + "fqn": "aws-cdk-lib.CfnResource", + "version": "2.127.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.CustomResourceProviderBase", + "version": "2.127.0" + } + }, + "faropn-existing-resources-ECR_API-security-group": { + "id": "faropn-existing-resources-ECR_API-security-group", + "path": "faropn-existing-resources/faropn-existing-resources-ECR_API-security-group", + "children": { + "Resource": { + "id": "Resource", + "path": "faropn-existing-resources/faropn-existing-resources-ECR_API-security-group/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::SecurityGroup", + "aws:cdk:cloudformation:props": { + "groupDescription": "faropn-existing-resources/faropn-existing-resources-ECR_API-security-group", + "securityGroupEgress": [ + { + "cidrIp": "0.0.0.0/0", + "description": "Allow all outbound traffic by default", + "ipProtocol": "-1" + } + ], + "securityGroupIngress": [ + { + "cidrIp": { + "Fn::GetAtt": [ + "Vpc8378EB38", + "CidrBlock" + ] + }, + "ipProtocol": "tcp", + "fromPort": 443, + "toPort": 443, + "description": { + "Fn::Join": [ + "", + [ + "from ", + { + "Fn::GetAtt": [ + "Vpc8378EB38", + "CidrBlock" + ] + }, + ":443" + ] + ] + } + } + ], + "vpcId": { + "Ref": "Vpc8378EB38" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.CfnSecurityGroup", + "version": "2.127.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.SecurityGroup", + "version": "2.127.0" + } + }, + "faropn-existing-resources-ECR_DKR-security-group": { + "id": "faropn-existing-resources-ECR_DKR-security-group", + "path": "faropn-existing-resources/faropn-existing-resources-ECR_DKR-security-group", + "children": { + "Resource": { + "id": "Resource", + "path": "faropn-existing-resources/faropn-existing-resources-ECR_DKR-security-group/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::SecurityGroup", + "aws:cdk:cloudformation:props": { + "groupDescription": "faropn-existing-resources/faropn-existing-resources-ECR_DKR-security-group", + "securityGroupEgress": [ + { + "cidrIp": "0.0.0.0/0", + "description": "Allow all outbound traffic by default", + "ipProtocol": "-1" + } + ], + "securityGroupIngress": [ + { + "cidrIp": { + "Fn::GetAtt": [ + "Vpc8378EB38", + "CidrBlock" + ] + }, + "ipProtocol": "tcp", + "fromPort": 443, + "toPort": 443, + "description": { + "Fn::Join": [ + "", + [ + "from ", + { + "Fn::GetAtt": [ + "Vpc8378EB38", + "CidrBlock" + ] + }, + ":443" + ] + ] + } + } + ], + "vpcId": { + "Ref": "Vpc8378EB38" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.CfnSecurityGroup", + "version": "2.127.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.SecurityGroup", + "version": "2.127.0" + } + }, + "test-cluster": { + "id": "test-cluster", + "path": "faropn-existing-resources/test-cluster", + "children": { + "Resource": { + "id": "Resource", + "path": "faropn-existing-resources/test-cluster/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::ECS::Cluster", + "aws:cdk:cloudformation:props": {} + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ecs.CfnCluster", + "version": "2.127.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ecs.Cluster", + "version": "2.127.0" + } + }, + "test-taskdef": { + "id": "test-taskdef", + "path": "faropn-existing-resources/test-taskdef", + "children": { + "TaskRole": { + "id": "TaskRole", + "path": "faropn-existing-resources/test-taskdef/TaskRole", + "children": { + "ImportTaskRole": { + "id": "ImportTaskRole", + "path": "faropn-existing-resources/test-taskdef/TaskRole/ImportTaskRole", + "constructInfo": { + "fqn": "aws-cdk-lib.Resource", + "version": "2.127.0" + } + }, + "Resource": { + "id": "Resource", + "path": "faropn-existing-resources/test-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-lib.aws_iam.CfnRole", + "version": "2.127.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_iam.Role", + "version": "2.127.0" + } + }, + "Resource": { + "id": "Resource", + "path": "faropn-existing-resources/test-taskdef/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::ECS::TaskDefinition", + "aws:cdk:cloudformation:props": { + "containerDefinitions": [ + { + "essential": true, + "image": "nginx", + "memoryReservation": 512, + "name": "test-container", + "portMappings": [ + { + "containerPort": 8080, + "protocol": "tcp" + } + ], + "environment": [ + { + "name": "CUSTOM_NAME", + "value": { + "Fn::GetAtt": [ + "testconstructOpenSearchDomainD2A5B104", + "DomainEndpoint" + ] + } + } + ] + } + ], + "cpu": "256", + "family": "faropnexistingresourcestesttaskdefE1B083DB", + "memory": "512", + "networkMode": "awsvpc", + "requiresCompatibilities": [ + "FARGATE" + ], + "taskRoleArn": { + "Fn::GetAtt": [ + "testtaskdefTaskRoleB2DEF113", + "Arn" + ] + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ecs.CfnTaskDefinition", + "version": "2.127.0" + } + }, + "test-container": { + "id": "test-container", + "path": "faropn-existing-resources/test-taskdef/test-container", + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ecs.ContainerDefinition", + "version": "2.127.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ecs.FargateTaskDefinition", + "version": "2.127.0" + } + }, + "test-sg": { + "id": "test-sg", + "path": "faropn-existing-resources/test-sg", + "children": { + "Resource": { + "id": "Resource", + "path": "faropn-existing-resources/test-sg/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::EC2::SecurityGroup", + "aws:cdk:cloudformation:props": { + "groupDescription": "Construct created security group", + "securityGroupEgress": [ + { + "cidrIp": "0.0.0.0/0", + "description": "Allow all outbound traffic by default", + "ipProtocol": "-1" + } + ], + "vpcId": { + "Ref": "Vpc8378EB38" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.CfnSecurityGroup", + "version": "2.127.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ec2.SecurityGroup", + "version": "2.127.0" + } + }, + "test-service": { + "id": "test-service", + "path": "faropn-existing-resources/test-service", + "children": { + "Service": { + "id": "Service", + "path": "faropn-existing-resources/test-service/Service", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::ECS::Service", + "aws:cdk:cloudformation:props": { + "cluster": { + "Ref": "testclusterDF8B0D19" + }, + "deploymentConfiguration": { + "maximumPercent": 150, + "minimumHealthyPercent": 75, + "alarms": { + "alarmNames": [], + "enable": false, + "rollback": false + } + }, + "desiredCount": 2, + "enableEcsManagedTags": false, + "launchType": "FARGATE", + "networkConfiguration": { + "awsvpcConfiguration": { + "assignPublicIp": "DISABLED", + "subnets": [ + { + "Ref": "VpcPrivateSubnet1Subnet536B997A" + }, + { + "Ref": "VpcPrivateSubnet2Subnet3788AAA1" + } + ], + "securityGroups": [ + { + "Fn::GetAtt": [ + "testsg872EB48A", + "GroupId" + ] + } + ] + } + }, + "platformVersion": "LATEST", + "taskDefinition": { + "Ref": "testtaskdefF924AD58" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ecs.CfnService", + "version": "2.127.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_ecs.FargateService", + "version": "2.127.0" + } + }, + "test-construct": { + "id": "test-construct", + "path": "faropn-existing-resources/test-construct", + "children": { + "CognitoUserPool": { + "id": "CognitoUserPool", + "path": "faropn-existing-resources/test-construct/CognitoUserPool", + "children": { + "Resource": { + "id": "Resource", + "path": "faropn-existing-resources/test-construct/CognitoUserPool/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::Cognito::UserPool", + "aws:cdk:cloudformation:props": { + "accountRecoverySetting": { + "recoveryMechanisms": [ + { + "name": "verified_phone_number", + "priority": 1 + }, + { + "name": "verified_email", + "priority": 2 + } + ] + }, + "adminCreateUserConfig": { + "allowAdminCreateUserOnly": true + }, + "emailVerificationMessage": "The verification code to your new account is {####}", + "emailVerificationSubject": "Verify your new account", + "smsVerificationMessage": "The verification code to your new account is {####}", + "userPoolAddOns": { + "advancedSecurityMode": "ENFORCED" + }, + "verificationMessageTemplate": { + "defaultEmailOption": "CONFIRM_WITH_CODE", + "emailMessage": "The verification code to your new account is {####}", + "emailSubject": "Verify your new account", + "smsMessage": "The verification code to your new account is {####}" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_cognito.CfnUserPool", + "version": "2.127.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_cognito.UserPool", + "version": "2.127.0" + } + }, + "CognitoUserPoolClient": { + "id": "CognitoUserPoolClient", + "path": "faropn-existing-resources/test-construct/CognitoUserPoolClient", + "children": { + "Resource": { + "id": "Resource", + "path": "faropn-existing-resources/test-construct/CognitoUserPoolClient/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::Cognito::UserPoolClient", + "aws:cdk:cloudformation:props": { + "allowedOAuthFlows": [ + "implicit", + "code" + ], + "allowedOAuthFlowsUserPoolClient": true, + "allowedOAuthScopes": [ + "profile", + "phone", + "email", + "openid", + "aws.cognito.signin.user.admin" + ], + "callbackUrLs": [ + "https://example.com" + ], + "supportedIdentityProviders": [ + "COGNITO" + ], + "userPoolId": { + "Ref": "testconstructCognitoUserPoolA4991355" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_cognito.CfnUserPoolClient", + "version": "2.127.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_cognito.UserPoolClient", + "version": "2.127.0" + } + }, + "CognitoIdentityPool": { + "id": "CognitoIdentityPool", + "path": "faropn-existing-resources/test-construct/CognitoIdentityPool", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::Cognito::IdentityPool", + "aws:cdk:cloudformation:props": { + "allowUnauthenticatedIdentities": false, + "cognitoIdentityProviders": [ + { + "clientId": { + "Ref": "testconstructCognitoUserPoolClient36ACF012" + }, + "providerName": { + "Fn::GetAtt": [ + "testconstructCognitoUserPoolA4991355", + "ProviderName" + ] + }, + "serverSideTokenCheck": true + } + ] + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_cognito.CfnIdentityPool", + "version": "2.127.0" + } + }, + "UserPoolDomain": { + "id": "UserPoolDomain", + "path": "faropn-existing-resources/test-construct/UserPoolDomain", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::Cognito::UserPoolDomain", + "aws:cdk:cloudformation:props": { + "domain": { + "Fn::Join": [ + "-", + [ + "dmn", + { + "Fn::Select": [ + 4, + { + "Fn::Split": [ + "-", + { + "Fn::Select": [ + 2, + { + "Fn::Split": [ + "/", + { + "Ref": "AWS::StackId" + } + ] + } + ] + } + ] + } + ] + } + ] + ] + }, + "userPoolId": { + "Ref": "testconstructCognitoUserPoolA4991355" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_cognito.CfnUserPoolDomain", + "version": "2.127.0" + } + }, + "CognitoAuthorizedRole": { + "id": "CognitoAuthorizedRole", + "path": "faropn-existing-resources/test-construct/CognitoAuthorizedRole", + "children": { + "ImportCognitoAuthorizedRole": { + "id": "ImportCognitoAuthorizedRole", + "path": "faropn-existing-resources/test-construct/CognitoAuthorizedRole/ImportCognitoAuthorizedRole", + "constructInfo": { + "fqn": "aws-cdk-lib.Resource", + "version": "2.127.0" + } + }, + "Resource": { + "id": "Resource", + "path": "faropn-existing-resources/test-construct/CognitoAuthorizedRole/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::IAM::Role", + "aws:cdk:cloudformation:props": { + "assumeRolePolicyDocument": { + "Statement": [ + { + "Action": "sts:AssumeRoleWithWebIdentity", + "Condition": { + "StringEquals": { + "cognito-identity.amazonaws.com:aud": { + "Ref": "testconstructCognitoIdentityPool51EFD08D" + } + }, + "ForAnyValue:StringLike": { + "cognito-identity.amazonaws.com:amr": "authenticated" + } + }, + "Effect": "Allow", + "Principal": { + "Federated": "cognito-identity.amazonaws.com" + } + } + ], + "Version": "2012-10-17" + }, + "policies": [ + { + "policyName": "CognitoAccessPolicy", + "policyDocument": { + "Statement": [ + { + "Action": "es:ESHttp*", + "Effect": "Allow", + "Resource": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":es:", + { + "Ref": "AWS::Region" + }, + ":", + { + "Ref": "AWS::AccountId" + }, + ":domain/", + { + "Fn::Join": [ + "-", + [ + "dmn", + { + "Fn::Select": [ + 4, + { + "Fn::Split": [ + "-", + { + "Fn::Select": [ + 2, + { + "Fn::Split": [ + "/", + { + "Ref": "AWS::StackId" + } + ] + } + ] + } + ] + } + ] + } + ] + ] + }, + "/*" + ] + ] + } + } + ], + "Version": "2012-10-17" + } + } + ] + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_iam.CfnRole", + "version": "2.127.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_iam.Role", + "version": "2.127.0" + } + }, + "IdentityPoolRoleMapping": { + "id": "IdentityPoolRoleMapping", + "path": "faropn-existing-resources/test-construct/IdentityPoolRoleMapping", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::Cognito::IdentityPoolRoleAttachment", + "aws:cdk:cloudformation:props": { + "identityPoolId": { + "Ref": "testconstructCognitoIdentityPool51EFD08D" + }, + "roles": { + "authenticated": { + "Fn::GetAtt": [ + "testconstructCognitoAuthorizedRole7BA83790", + "Arn" + ] + } + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_cognito.CfnIdentityPoolRoleAttachment", + "version": "2.127.0" + } + }, + "CognitoDashboardConfigureRole": { + "id": "CognitoDashboardConfigureRole", + "path": "faropn-existing-resources/test-construct/CognitoDashboardConfigureRole", + "children": { + "ImportCognitoDashboardConfigureRole": { + "id": "ImportCognitoDashboardConfigureRole", + "path": "faropn-existing-resources/test-construct/CognitoDashboardConfigureRole/ImportCognitoDashboardConfigureRole", + "constructInfo": { + "fqn": "aws-cdk-lib.Resource", + "version": "2.127.0" + } + }, + "Resource": { + "id": "Resource", + "path": "faropn-existing-resources/test-construct/CognitoDashboardConfigureRole/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::IAM::Role", + "aws:cdk:cloudformation:props": { + "assumeRolePolicyDocument": { + "Statement": [ + { + "Action": "sts:AssumeRole", + "Effect": "Allow", + "Principal": { + "Service": "es.amazonaws.com" + } + } + ], + "Version": "2012-10-17" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_iam.CfnRole", + "version": "2.127.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_iam.Role", + "version": "2.127.0" + } + }, + "CognitoDashboardConfigureRolePolicy": { + "id": "CognitoDashboardConfigureRolePolicy", + "path": "faropn-existing-resources/test-construct/CognitoDashboardConfigureRolePolicy", + "children": { + "Resource": { + "id": "Resource", + "path": "faropn-existing-resources/test-construct/CognitoDashboardConfigureRolePolicy/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::IAM::Policy", + "aws:cdk:cloudformation:props": { + "policyDocument": { + "Statement": [ + { + "Action": [ + "cognito-identity:DescribeIdentityPool", + "cognito-identity:GetIdentityPoolRoles", + "cognito-identity:SetIdentityPoolRoles", + "cognito-identity:UpdateIdentityPool", + "cognito-idp:AdminInitiateAuth", + "cognito-idp:AdminUserGlobalSignOut", + "cognito-idp:CreateUserPoolClient", + "cognito-idp:DeleteUserPoolClient", + "cognito-idp:DescribeUserPool", + "cognito-idp:DescribeUserPoolClient", + "cognito-idp:ListUserPoolClients", + "es:UpdateDomainConfig" + ], + "Effect": "Allow", + "Resource": [ + { + "Fn::GetAtt": [ + "testconstructCognitoUserPoolA4991355", + "Arn" + ] + }, + { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":cognito-identity:", + { + "Ref": "AWS::Region" + }, + ":", + { + "Ref": "AWS::AccountId" + }, + ":identitypool/", + { + "Ref": "testconstructCognitoIdentityPool51EFD08D" + } + ] + ] + }, + { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":es:", + { + "Ref": "AWS::Region" + }, + ":", + { + "Ref": "AWS::AccountId" + }, + ":domain/", + { + "Fn::Join": [ + "-", + [ + "dmn", + { + "Fn::Select": [ + 4, + { + "Fn::Split": [ + "-", + { + "Fn::Select": [ + 2, + { + "Fn::Split": [ + "/", + { + "Ref": "AWS::StackId" + } + ] + } + ] + } + ] + } + ] + } + ] + ] + } + ] + ] + } + ] + }, + { + "Action": "iam:PassRole", + "Condition": { + "StringLike": { + "iam:PassedToService": "cognito-identity.amazonaws.com" + } + }, + "Effect": "Allow", + "Resource": { + "Fn::GetAtt": [ + "testconstructCognitoDashboardConfigureRoleFA66EB70", + "Arn" + ] + } + } + ], + "Version": "2012-10-17" + }, + "policyName": "testconstructCognitoDashboardConfigureRolePolicy3EC6F1C4", + "roles": [ + { + "Ref": "testconstructCognitoDashboardConfigureRoleFA66EB70" + } + ] + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_iam.CfnPolicy", + "version": "2.127.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_iam.Policy", + "version": "2.127.0" + } + }, + "OpenSearchDomain": { + "id": "OpenSearchDomain", + "path": "faropn-existing-resources/test-construct/OpenSearchDomain", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::OpenSearchService::Domain", + "aws:cdk:cloudformation:props": { + "accessPolicies": { + "Statement": [ + { + "Action": "es:ESHttp*", + "Effect": "Allow", + "Principal": { + "AWS": { + "Fn::GetAtt": [ + "testconstructCognitoAuthorizedRole7BA83790", + "Arn" + ] + } + }, + "Resource": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":es:", + { + "Ref": "AWS::Region" + }, + ":", + { + "Ref": "AWS::AccountId" + }, + ":domain/", + { + "Fn::Join": [ + "-", + [ + "dmn", + { + "Fn::Select": [ + 4, + { + "Fn::Split": [ + "-", + { + "Fn::Select": [ + 2, + { + "Fn::Split": [ + "/", + { + "Ref": "AWS::StackId" + } + ] + } + ] + } + ] + } + ] + } + ] + ] + }, + "/*" + ] + ] + } + } + ], + "Version": "2012-10-17" + }, + "clusterConfig": { + "dedicatedMasterEnabled": true, + "dedicatedMasterCount": 3, + "zoneAwarenessEnabled": true, + "zoneAwarenessConfig": { + "availabilityZoneCount": 2 + }, + "instanceCount": 2 + }, + "cognitoOptions": { + "enabled": true, + "identityPoolId": { + "Ref": "testconstructCognitoIdentityPool51EFD08D" + }, + "userPoolId": { + "Ref": "testconstructCognitoUserPoolA4991355" + }, + "roleArn": { + "Fn::GetAtt": [ + "testconstructCognitoDashboardConfigureRoleFA66EB70", + "Arn" + ] + } + }, + "domainEndpointOptions": { + "enforceHttps": true, + "tlsSecurityPolicy": "Policy-Min-TLS-1-2-2019-07" + }, + "domainName": { + "Fn::Join": [ + "-", + [ + "dmn", + { + "Fn::Select": [ + 4, + { + "Fn::Split": [ + "-", + { + "Fn::Select": [ + 2, + { + "Fn::Split": [ + "/", + { + "Ref": "AWS::StackId" + } + ] + } + ] + } + ] + } + ] + } + ] + ] + }, + "ebsOptions": { + "ebsEnabled": true, + "volumeSize": 10 + }, + "encryptionAtRestOptions": { + "enabled": true + }, + "engineVersion": "OpenSearch_1.3", + "nodeToNodeEncryptionOptions": { + "enabled": true + }, + "snapshotOptions": { + "automatedSnapshotStartHour": 1 + }, + "vpcOptions": { + "subnetIds": [ + { + "Ref": "VpcPrivateSubnet1Subnet536B997A" + }, + { + "Ref": "VpcPrivateSubnet2Subnet3788AAA1" + } + ], + "securityGroupIds": [ + { + "Fn::GetAtt": [ + "testsg872EB48A", + "GroupId" + ] + } + ] + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_opensearchservice.CfnDomain", + "version": "2.127.0" + } + }, + "StatusRedAlarm": { + "id": "StatusRedAlarm", + "path": "faropn-existing-resources/test-construct/StatusRedAlarm", + "children": { + "Resource": { + "id": "Resource", + "path": "faropn-existing-resources/test-construct/StatusRedAlarm/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::CloudWatch::Alarm", + "aws:cdk:cloudformation:props": { + "alarmDescription": "At least one primary shard and its replicas are not allocated to a node. ", + "comparisonOperator": "GreaterThanOrEqualToThreshold", + "evaluationPeriods": 1, + "metricName": "ClusterStatus.red", + "namespace": "AWS/ES", + "period": 60, + "statistic": "Maximum", + "threshold": 1 + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_cloudwatch.CfnAlarm", + "version": "2.127.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_cloudwatch.Alarm", + "version": "2.127.0" + } + }, + "StatusYellowAlarm": { + "id": "StatusYellowAlarm", + "path": "faropn-existing-resources/test-construct/StatusYellowAlarm", + "children": { + "Resource": { + "id": "Resource", + "path": "faropn-existing-resources/test-construct/StatusYellowAlarm/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::CloudWatch::Alarm", + "aws:cdk:cloudformation:props": { + "alarmDescription": "At least one replica shard is not allocated to a node.", + "comparisonOperator": "GreaterThanOrEqualToThreshold", + "evaluationPeriods": 1, + "metricName": "ClusterStatus.yellow", + "namespace": "AWS/ES", + "period": 60, + "statistic": "Maximum", + "threshold": 1 + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_cloudwatch.CfnAlarm", + "version": "2.127.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_cloudwatch.Alarm", + "version": "2.127.0" + } + }, + "FreeStorageSpaceTooLowAlarm": { + "id": "FreeStorageSpaceTooLowAlarm", + "path": "faropn-existing-resources/test-construct/FreeStorageSpaceTooLowAlarm", + "children": { + "Resource": { + "id": "Resource", + "path": "faropn-existing-resources/test-construct/FreeStorageSpaceTooLowAlarm/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::CloudWatch::Alarm", + "aws:cdk:cloudformation:props": { + "alarmDescription": "A node in your cluster is down to 20 GiB of free storage space.", + "comparisonOperator": "LessThanOrEqualToThreshold", + "evaluationPeriods": 1, + "metricName": "FreeStorageSpace", + "namespace": "AWS/ES", + "period": 60, + "statistic": "Minimum", + "threshold": 20000 + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_cloudwatch.CfnAlarm", + "version": "2.127.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_cloudwatch.Alarm", + "version": "2.127.0" + } + }, + "IndexWritesBlockedTooHighAlarm": { + "id": "IndexWritesBlockedTooHighAlarm", + "path": "faropn-existing-resources/test-construct/IndexWritesBlockedTooHighAlarm", + "children": { + "Resource": { + "id": "Resource", + "path": "faropn-existing-resources/test-construct/IndexWritesBlockedTooHighAlarm/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::CloudWatch::Alarm", + "aws:cdk:cloudformation:props": { + "alarmDescription": "Your cluster is blocking write requests.", + "comparisonOperator": "GreaterThanOrEqualToThreshold", + "evaluationPeriods": 1, + "metricName": "ClusterIndexWritesBlocked", + "namespace": "AWS/ES", + "period": 300, + "statistic": "Maximum", + "threshold": 1 + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_cloudwatch.CfnAlarm", + "version": "2.127.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_cloudwatch.Alarm", + "version": "2.127.0" + } + }, + "AutomatedSnapshotFailureTooHighAlarm": { + "id": "AutomatedSnapshotFailureTooHighAlarm", + "path": "faropn-existing-resources/test-construct/AutomatedSnapshotFailureTooHighAlarm", + "children": { + "Resource": { + "id": "Resource", + "path": "faropn-existing-resources/test-construct/AutomatedSnapshotFailureTooHighAlarm/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::CloudWatch::Alarm", + "aws:cdk:cloudformation:props": { + "alarmDescription": "An automated snapshot failed. This failure is often the result of a red cluster health status.", + "comparisonOperator": "GreaterThanOrEqualToThreshold", + "evaluationPeriods": 1, + "metricName": "AutomatedSnapshotFailure", + "namespace": "AWS/ES", + "period": 60, + "statistic": "Maximum", + "threshold": 1 + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_cloudwatch.CfnAlarm", + "version": "2.127.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_cloudwatch.Alarm", + "version": "2.127.0" + } + }, + "CPUUtilizationTooHighAlarm": { + "id": "CPUUtilizationTooHighAlarm", + "path": "faropn-existing-resources/test-construct/CPUUtilizationTooHighAlarm", + "children": { + "Resource": { + "id": "Resource", + "path": "faropn-existing-resources/test-construct/CPUUtilizationTooHighAlarm/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::CloudWatch::Alarm", + "aws:cdk:cloudformation:props": { + "alarmDescription": "100% CPU utilization is not uncommon, but sustained high usage is problematic. Consider using larger instance types or adding instances.", + "comparisonOperator": "GreaterThanOrEqualToThreshold", + "evaluationPeriods": 3, + "metricName": "CPUUtilization", + "namespace": "AWS/ES", + "period": 900, + "statistic": "Average", + "threshold": 80 + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_cloudwatch.CfnAlarm", + "version": "2.127.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_cloudwatch.Alarm", + "version": "2.127.0" + } + }, + "JVMMemoryPressureTooHighAlarm": { + "id": "JVMMemoryPressureTooHighAlarm", + "path": "faropn-existing-resources/test-construct/JVMMemoryPressureTooHighAlarm", + "children": { + "Resource": { + "id": "Resource", + "path": "faropn-existing-resources/test-construct/JVMMemoryPressureTooHighAlarm/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::CloudWatch::Alarm", + "aws:cdk:cloudformation:props": { + "alarmDescription": "Average JVM memory pressure over last 15 minutes too high. Consider scaling vertically.", + "comparisonOperator": "GreaterThanOrEqualToThreshold", + "evaluationPeriods": 1, + "metricName": "JVMMemoryPressure", + "namespace": "AWS/ES", + "period": 900, + "statistic": "Average", + "threshold": 80 + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_cloudwatch.CfnAlarm", + "version": "2.127.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_cloudwatch.Alarm", + "version": "2.127.0" + } + }, + "MasterCPUUtilizationTooHighAlarm": { + "id": "MasterCPUUtilizationTooHighAlarm", + "path": "faropn-existing-resources/test-construct/MasterCPUUtilizationTooHighAlarm", + "children": { + "Resource": { + "id": "Resource", + "path": "faropn-existing-resources/test-construct/MasterCPUUtilizationTooHighAlarm/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::CloudWatch::Alarm", + "aws:cdk:cloudformation:props": { + "alarmDescription": "Average CPU utilization over last 45 minutes too high. Consider using larger instance types for your dedicated master nodes.", + "comparisonOperator": "GreaterThanOrEqualToThreshold", + "evaluationPeriods": 3, + "metricName": "MasterCPUUtilization", + "namespace": "AWS/ES", + "period": 900, + "statistic": "Average", + "threshold": 50 + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_cloudwatch.CfnAlarm", + "version": "2.127.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_cloudwatch.Alarm", + "version": "2.127.0" + } + }, + "MasterJVMMemoryPressureTooHighAlarm": { + "id": "MasterJVMMemoryPressureTooHighAlarm", + "path": "faropn-existing-resources/test-construct/MasterJVMMemoryPressureTooHighAlarm", + "children": { + "Resource": { + "id": "Resource", + "path": "faropn-existing-resources/test-construct/MasterJVMMemoryPressureTooHighAlarm/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::CloudWatch::Alarm", + "aws:cdk:cloudformation:props": { + "alarmDescription": "Average JVM memory pressure over last 15 minutes too high. Consider scaling vertically.", + "comparisonOperator": "GreaterThanOrEqualToThreshold", + "evaluationPeriods": 1, + "metricName": "MasterJVMMemoryPressure", + "namespace": "AWS/ES", + "period": 900, + "statistic": "Average", + "threshold": 50 + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_cloudwatch.CfnAlarm", + "version": "2.127.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_cloudwatch.Alarm", + "version": "2.127.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-solutions-constructs/aws-fargate-opensearch.FargateToOpenSearch", + "version": "2.52.0" + } + }, + "Integ": { + "id": "Integ", + "path": "faropn-existing-resources/Integ", + "children": { + "DefaultTest": { + "id": "DefaultTest", + "path": "faropn-existing-resources/Integ/DefaultTest", + "children": { + "Default": { + "id": "Default", + "path": "faropn-existing-resources/Integ/DefaultTest/Default", + "constructInfo": { + "fqn": "constructs.Construct", + "version": "10.3.0" + } + }, + "DeployAssert": { + "id": "DeployAssert", + "path": "faropn-existing-resources/Integ/DefaultTest/DeployAssert", + "children": { + "BootstrapVersion": { + "id": "BootstrapVersion", + "path": "faropn-existing-resources/Integ/DefaultTest/DeployAssert/BootstrapVersion", + "constructInfo": { + "fqn": "aws-cdk-lib.CfnParameter", + "version": "2.127.0" + } + }, + "CheckBootstrapVersion": { + "id": "CheckBootstrapVersion", + "path": "faropn-existing-resources/Integ/DefaultTest/DeployAssert/CheckBootstrapVersion", + "constructInfo": { + "fqn": "aws-cdk-lib.CfnRule", + "version": "2.127.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.Stack", + "version": "2.127.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/integ-tests-alpha.IntegTestCase", + "version": "2.127.0-alpha.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/integ-tests-alpha.IntegTest", + "version": "2.127.0-alpha.0" + } + }, + "BootstrapVersion": { + "id": "BootstrapVersion", + "path": "faropn-existing-resources/BootstrapVersion", + "constructInfo": { + "fqn": "aws-cdk-lib.CfnParameter", + "version": "2.127.0" + } + }, + "CheckBootstrapVersion": { + "id": "CheckBootstrapVersion", + "path": "faropn-existing-resources/CheckBootstrapVersion", + "constructInfo": { + "fqn": "aws-cdk-lib.CfnRule", + "version": "2.127.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.Stack", + "version": "2.127.0" + } + }, + "Tree": { + "id": "Tree", + "path": "Tree", + "constructInfo": { + "fqn": "constructs.Construct", + "version": "10.3.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.App", + "version": "2.127.0" + } + } +} \ No newline at end of file