From b3b9aa8a4584e178808f5babe0583749d1a87da5 Mon Sep 17 00:00:00 2001 From: mazyu36 Date: Thu, 19 Sep 2024 06:12:14 +0900 Subject: [PATCH] feat(kinesisanalytics-flink): support Apache Flink 1.20 (#31349) ### Issue # (if applicable) N/A ### Reason for this change Support new runtime. Ref: https://aws.amazon.com/about-aws/whats-new/2024/09/amazon-managed-service-apache-flink-1-20/ ### Description of changes * Add Flink 1.20 to enum * Improve unit tests and integ test to test all runtime versions ### Description of how you validated changes Ran improved unit tests and integ tests. ### Checklist - [x] My code adheres to the [CONTRIBUTING GUIDE](https://github.com/aws/aws-cdk/blob/main/CONTRIBUTING.md) and [DESIGN GUIDELINES](https://github.com/aws/aws-cdk/blob/main/docs/DESIGN_GUIDELINES.md) ---- *By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license* --- .../README.md | 6 +- .../lib/types.ts | 3 + .../test/application.test.ts | 19 +- ...efaultTestDeployAssertF9C5F731.assets.json | 19 + ...aultTestDeployAssertF9C5F731.template.json | 36 + .../FlinkAppTest.assets.json | 6 +- .../FlinkAppTest.template.json | 1895 ++++++++++- .../integ.application.lit.js.snapshot/cdk.out | 2 +- .../integ.json | 12 +- .../manifest.json | 437 ++- .../tree.json | 2955 ++++++++++++++++- .../test/integ.application.lit.ts | 36 +- 12 files changed, 5325 insertions(+), 101 deletions(-) create mode 100644 packages/@aws-cdk/aws-kinesisanalytics-flink-alpha/test/integ.application.lit.js.snapshot/ApplicationTestDefaultTestDeployAssertF9C5F731.assets.json create mode 100644 packages/@aws-cdk/aws-kinesisanalytics-flink-alpha/test/integ.application.lit.js.snapshot/ApplicationTestDefaultTestDeployAssertF9C5F731.template.json diff --git a/packages/@aws-cdk/aws-kinesisanalytics-flink-alpha/README.md b/packages/@aws-cdk/aws-kinesisanalytics-flink-alpha/README.md index 4dccb1716255f..49a6d1fe10d1c 100644 --- a/packages/@aws-cdk/aws-kinesisanalytics-flink-alpha/README.md +++ b/packages/@aws-cdk/aws-kinesisanalytics-flink-alpha/README.md @@ -46,7 +46,7 @@ const flinkApp = new flink.Application(this, 'Application', { }, }, // ... - runtime: flink.Runtime.FLINK_1_19, + runtime: flink.Runtime.FLINK_1_20, code: flink.ApplicationCode.fromBucket(bucket, 'my-app.jar'), }); ``` @@ -59,7 +59,7 @@ snapshotting, monitoring, and parallelism. declare const bucket: s3.Bucket; const flinkApp = new flink.Application(this, 'Application', { code: flink.ApplicationCode.fromBucket(bucket, 'my-app.jar'), - runtime: flink.Runtime.FLINK_1_19, + runtime: flink.Runtime.FLINK_1_20, checkpointingEnabled: true, // default is true checkpointInterval: Duration.seconds(30), // default is 1 minute minPauseBetweenCheckpoints: Duration.seconds(10), // default is 5 seconds @@ -80,7 +80,7 @@ declare const bucket: s3.Bucket; declare const vpc: ec2.Vpc; const flinkApp = new flink.Application(this, 'Application', { code: flink.ApplicationCode.fromBucket(bucket, 'my-app.jar'), - runtime: flink.Runtime.FLINK_1_19, + runtime: flink.Runtime.FLINK_1_20, vpc, }); ``` diff --git a/packages/@aws-cdk/aws-kinesisanalytics-flink-alpha/lib/types.ts b/packages/@aws-cdk/aws-kinesisanalytics-flink-alpha/lib/types.ts index 6e4dad7da8ea9..024d8f2496923 100644 --- a/packages/@aws-cdk/aws-kinesisanalytics-flink-alpha/lib/types.ts +++ b/packages/@aws-cdk/aws-kinesisanalytics-flink-alpha/lib/types.ts @@ -72,6 +72,9 @@ export class Runtime { /** Flink Version 1.19 */ public static readonly FLINK_1_19 = Runtime.of('FLINK-1_19'); + /** Flink Version 1.20 */ + public static readonly FLINK_1_20 = Runtime.of('FLINK-1_20'); + /** Create a new Runtime with with an arbitrary Flink version string */ public static of(value: string) { return new Runtime(value); diff --git a/packages/@aws-cdk/aws-kinesisanalytics-flink-alpha/test/application.test.ts b/packages/@aws-cdk/aws-kinesisanalytics-flink-alpha/test/application.test.ts index e9323c26d3fef..3f4d4a4224d0a 100644 --- a/packages/@aws-cdk/aws-kinesisanalytics-flink-alpha/test/application.test.ts +++ b/packages/@aws-cdk/aws-kinesisanalytics-flink-alpha/test/application.test.ts @@ -21,21 +21,32 @@ describe('Application', () => { stack = new core.Stack(); bucket = new s3.Bucket(stack, 'CodeBucket'); requiredProps = { - runtime: flink.Runtime.FLINK_1_19, + runtime: flink.Runtime.FLINK_1_20, code: flink.ApplicationCode.fromBucket(bucket, 'my-app.jar'), }; }); - test('default Flink Application', () => { + const flinkRuntimes = [ + flink.Runtime.FLINK_1_6, + flink.Runtime.FLINK_1_8, + flink.Runtime.FLINK_1_11, + flink.Runtime.FLINK_1_13, + flink.Runtime.FLINK_1_15, + flink.Runtime.FLINK_1_18, + flink.Runtime.FLINK_1_19, + flink.Runtime.FLINK_1_20, + ]; + + test.each(flinkRuntimes)('Flink Application with %s', (runtime) => { new flink.Application(stack, 'FlinkApplication', { - runtime: flink.Runtime.FLINK_1_19, + runtime, code: flink.ApplicationCode.fromBucket(bucket, 'my-app.jar'), applicationName: 'MyFlinkApplication', }); Template.fromStack(stack).hasResourceProperties('AWS::KinesisAnalyticsV2::Application', { ApplicationName: 'MyFlinkApplication', - RuntimeEnvironment: 'FLINK-1_19', + RuntimeEnvironment: runtime.value, ServiceExecutionRole: { 'Fn::GetAtt': [ 'FlinkApplicationRole2F7BCBF6', diff --git a/packages/@aws-cdk/aws-kinesisanalytics-flink-alpha/test/integ.application.lit.js.snapshot/ApplicationTestDefaultTestDeployAssertF9C5F731.assets.json b/packages/@aws-cdk/aws-kinesisanalytics-flink-alpha/test/integ.application.lit.js.snapshot/ApplicationTestDefaultTestDeployAssertF9C5F731.assets.json new file mode 100644 index 0000000000000..953b9c1586861 --- /dev/null +++ b/packages/@aws-cdk/aws-kinesisanalytics-flink-alpha/test/integ.application.lit.js.snapshot/ApplicationTestDefaultTestDeployAssertF9C5F731.assets.json @@ -0,0 +1,19 @@ +{ + "version": "36.0.5", + "files": { + "21fbb51d7b23f6a6c262b46a9caee79d744a3ac019fd45422d988b96d44b2a22": { + "source": { + "path": "ApplicationTestDefaultTestDeployAssertF9C5F731.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "21fbb51d7b23f6a6c262b46a9caee79d744a3ac019fd45422d988b96d44b2a22.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-kinesisanalytics-flink-alpha/test/integ.application.lit.js.snapshot/ApplicationTestDefaultTestDeployAssertF9C5F731.template.json b/packages/@aws-cdk/aws-kinesisanalytics-flink-alpha/test/integ.application.lit.js.snapshot/ApplicationTestDefaultTestDeployAssertF9C5F731.template.json new file mode 100644 index 0000000000000..ad9d0fb73d1dd --- /dev/null +++ b/packages/@aws-cdk/aws-kinesisanalytics-flink-alpha/test/integ.application.lit.js.snapshot/ApplicationTestDefaultTestDeployAssertF9C5F731.template.json @@ -0,0 +1,36 @@ +{ + "Parameters": { + "BootstrapVersion": { + "Type": "AWS::SSM::Parameter::Value", + "Default": "/cdk-bootstrap/hnb659fds/version", + "Description": "Version of the CDK Bootstrap resources in this environment, automatically retrieved from SSM Parameter Store. [cdk:skip]" + } + }, + "Rules": { + "CheckBootstrapVersion": { + "Assertions": [ + { + "Assert": { + "Fn::Not": [ + { + "Fn::Contains": [ + [ + "1", + "2", + "3", + "4", + "5" + ], + { + "Ref": "BootstrapVersion" + } + ] + } + ] + }, + "AssertDescription": "CDK bootstrap stack version 6 required. Please run 'cdk bootstrap' with a recent version of the CDK CLI." + } + ] + } + } +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-kinesisanalytics-flink-alpha/test/integ.application.lit.js.snapshot/FlinkAppTest.assets.json b/packages/@aws-cdk/aws-kinesisanalytics-flink-alpha/test/integ.application.lit.js.snapshot/FlinkAppTest.assets.json index dce3d0ca52cd9..74f371abf38d8 100644 --- a/packages/@aws-cdk/aws-kinesisanalytics-flink-alpha/test/integ.application.lit.js.snapshot/FlinkAppTest.assets.json +++ b/packages/@aws-cdk/aws-kinesisanalytics-flink-alpha/test/integ.application.lit.js.snapshot/FlinkAppTest.assets.json @@ -1,5 +1,5 @@ { - "version": "36.0.0", + "version": "36.0.5", "files": { "8be9e0b5f53d41e9a3b1d51c9572c65f24f8170a7188d0ed57fb7d571de4d577": { "source": { @@ -14,7 +14,7 @@ } } }, - "1c62c36f9601016c7fec8f26431c7c7438490b95747135095f9af7ecd84ddb1d": { + "539ea479a53381b85109d0220f8067dd583db122c2272078f2e00d541ee3738d": { "source": { "path": "FlinkAppTest.template.json", "packaging": "file" @@ -22,7 +22,7 @@ "destinations": { "current_account-current_region": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", - "objectKey": "1c62c36f9601016c7fec8f26431c7c7438490b95747135095f9af7ecd84ddb1d.json", + "objectKey": "539ea479a53381b85109d0220f8067dd583db122c2272078f2e00d541ee3738d.json", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" } } diff --git a/packages/@aws-cdk/aws-kinesisanalytics-flink-alpha/test/integ.application.lit.js.snapshot/FlinkAppTest.template.json b/packages/@aws-cdk/aws-kinesisanalytics-flink-alpha/test/integ.application.lit.js.snapshot/FlinkAppTest.template.json index e818a2566e993..922954d200785 100644 --- a/packages/@aws-cdk/aws-kinesisanalytics-flink-alpha/test/integ.application.lit.js.snapshot/FlinkAppTest.template.json +++ b/packages/@aws-cdk/aws-kinesisanalytics-flink-alpha/test/integ.application.lit.js.snapshot/FlinkAppTest.template.json @@ -1,6 +1,6 @@ { "Resources": { - "AppRole1AF9B530": { + "AppFLINK16RoleA21DF652": { "Type": "AWS::IAM::Role", "Properties": { "AssumeRolePolicyDocument": { @@ -17,7 +17,7 @@ } } }, - "AppRoleDefaultPolicy9CADBAA1": { + "AppFLINK16RoleDefaultPolicy312C949D": { "Type": "AWS::IAM::Policy", "Properties": { "PolicyDocument": { @@ -97,7 +97,7 @@ "Effect": "Allow", "Resource": { "Fn::GetAtt": [ - "AppLogGroupC72EEC8C", + "AppFLINK16LogGroup6709DAA8", "Arn" ] } @@ -123,11 +123,11 @@ }, ":log-group:", { - "Ref": "AppLogGroupC72EEC8C" + "Ref": "AppFLINK16LogGroup6709DAA8" }, ":log-stream:", { - "Ref": "AppLogStream3CAF66A7" + "Ref": "AppFLINK16LogStream203A3C4A" } ] ] @@ -136,15 +136,1605 @@ ], "Version": "2012-10-17" }, - "PolicyName": "AppRoleDefaultPolicy9CADBAA1", + "PolicyName": "AppFLINK16RoleDefaultPolicy312C949D", "Roles": [ { - "Ref": "AppRole1AF9B530" + "Ref": "AppFLINK16RoleA21DF652" } ] } }, - "AppF1B96344": { + "AppFLINK16C87388A5": { + "Type": "AWS::KinesisAnalyticsV2::Application", + "Properties": { + "ApplicationConfiguration": { + "ApplicationCodeConfiguration": { + "CodeContent": { + "S3ContentLocation": { + "BucketARN": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":s3:::", + { + "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" + } + ] + ] + }, + "FileKey": "8be9e0b5f53d41e9a3b1d51c9572c65f24f8170a7188d0ed57fb7d571de4d577.zip" + } + }, + "CodeContentType": "ZIPFILE" + }, + "ApplicationSnapshotConfiguration": { + "SnapshotsEnabled": true + } + }, + "RuntimeEnvironment": "FLINK-1_6", + "ServiceExecutionRole": { + "Fn::GetAtt": [ + "AppFLINK16RoleA21DF652", + "Arn" + ] + } + }, + "DependsOn": [ + "AppFLINK16RoleDefaultPolicy312C949D", + "AppFLINK16RoleA21DF652" + ], + "UpdateReplacePolicy": "Delete", + "DeletionPolicy": "Delete" + }, + "AppFLINK16LogGroup6709DAA8": { + "Type": "AWS::Logs::LogGroup", + "Properties": { + "RetentionInDays": 731 + }, + "UpdateReplacePolicy": "Retain", + "DeletionPolicy": "Retain" + }, + "AppFLINK16LogStream203A3C4A": { + "Type": "AWS::Logs::LogStream", + "Properties": { + "LogGroupName": { + "Ref": "AppFLINK16LogGroup6709DAA8" + } + }, + "UpdateReplacePolicy": "Retain", + "DeletionPolicy": "Retain" + }, + "AppFLINK16LoggingOption6A093E18": { + "Type": "AWS::KinesisAnalyticsV2::ApplicationCloudWatchLoggingOption", + "Properties": { + "ApplicationName": { + "Ref": "AppFLINK16C87388A5" + }, + "CloudWatchLoggingOption": { + "LogStreamARN": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":logs:", + { + "Ref": "AWS::Region" + }, + ":", + { + "Ref": "AWS::AccountId" + }, + ":log-group:", + { + "Ref": "AppFLINK16LogGroup6709DAA8" + }, + ":log-stream:", + { + "Ref": "AppFLINK16LogStream203A3C4A" + } + ] + ] + } + } + } + }, + "AlarmFLINK16629EC33E": { + "Type": "AWS::CloudWatch::Alarm", + "Properties": { + "ComparisonOperator": "GreaterThanOrEqualToThreshold", + "Dimensions": [ + { + "Name": "Application", + "Value": { + "Ref": "AppFLINK16C87388A5" + } + } + ], + "EvaluationPeriods": 1, + "MetricName": "fullRestarts", + "Namespace": "AWS/KinesisAnalytics", + "Period": 300, + "Statistic": "Sum", + "Threshold": 3 + } + }, + "AppFLINK18RoleF2B5E704": { + "Type": "AWS::IAM::Role", + "Properties": { + "AssumeRolePolicyDocument": { + "Statement": [ + { + "Action": "sts:AssumeRole", + "Effect": "Allow", + "Principal": { + "Service": "kinesisanalytics.amazonaws.com" + } + } + ], + "Version": "2012-10-17" + } + } + }, + "AppFLINK18RoleDefaultPolicy3E0E376C": { + "Type": "AWS::IAM::Policy", + "Properties": { + "PolicyDocument": { + "Statement": [ + { + "Action": "cloudwatch:PutMetricData", + "Effect": "Allow", + "Resource": "*" + }, + { + "Action": [ + "s3:GetBucket*", + "s3:GetObject*", + "s3:List*" + ], + "Effect": "Allow", + "Resource": [ + { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":s3:::", + { + "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" + }, + "/*" + ] + ] + }, + { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":s3:::", + { + "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" + } + ] + ] + } + ] + }, + { + "Action": "logs:DescribeLogGroups", + "Effect": "Allow", + "Resource": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":logs:", + { + "Ref": "AWS::Region" + }, + ":", + { + "Ref": "AWS::AccountId" + }, + ":log-group:*" + ] + ] + } + }, + { + "Action": "logs:DescribeLogStreams", + "Effect": "Allow", + "Resource": { + "Fn::GetAtt": [ + "AppFLINK18LogGroupEC247BE6", + "Arn" + ] + } + }, + { + "Action": "logs:PutLogEvents", + "Effect": "Allow", + "Resource": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":logs:", + { + "Ref": "AWS::Region" + }, + ":", + { + "Ref": "AWS::AccountId" + }, + ":log-group:", + { + "Ref": "AppFLINK18LogGroupEC247BE6" + }, + ":log-stream:", + { + "Ref": "AppFLINK18LogStream773D6792" + } + ] + ] + } + } + ], + "Version": "2012-10-17" + }, + "PolicyName": "AppFLINK18RoleDefaultPolicy3E0E376C", + "Roles": [ + { + "Ref": "AppFLINK18RoleF2B5E704" + } + ] + } + }, + "AppFLINK18DFC0B750": { + "Type": "AWS::KinesisAnalyticsV2::Application", + "Properties": { + "ApplicationConfiguration": { + "ApplicationCodeConfiguration": { + "CodeContent": { + "S3ContentLocation": { + "BucketARN": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":s3:::", + { + "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" + } + ] + ] + }, + "FileKey": "8be9e0b5f53d41e9a3b1d51c9572c65f24f8170a7188d0ed57fb7d571de4d577.zip" + } + }, + "CodeContentType": "ZIPFILE" + }, + "ApplicationSnapshotConfiguration": { + "SnapshotsEnabled": true + } + }, + "RuntimeEnvironment": "FLINK-1_8", + "ServiceExecutionRole": { + "Fn::GetAtt": [ + "AppFLINK18RoleF2B5E704", + "Arn" + ] + } + }, + "DependsOn": [ + "AppFLINK18RoleDefaultPolicy3E0E376C", + "AppFLINK18RoleF2B5E704" + ], + "UpdateReplacePolicy": "Delete", + "DeletionPolicy": "Delete" + }, + "AppFLINK18LogGroupEC247BE6": { + "Type": "AWS::Logs::LogGroup", + "Properties": { + "RetentionInDays": 731 + }, + "UpdateReplacePolicy": "Retain", + "DeletionPolicy": "Retain" + }, + "AppFLINK18LogStream773D6792": { + "Type": "AWS::Logs::LogStream", + "Properties": { + "LogGroupName": { + "Ref": "AppFLINK18LogGroupEC247BE6" + } + }, + "UpdateReplacePolicy": "Retain", + "DeletionPolicy": "Retain" + }, + "AppFLINK18LoggingOptionFA3821B9": { + "Type": "AWS::KinesisAnalyticsV2::ApplicationCloudWatchLoggingOption", + "Properties": { + "ApplicationName": { + "Ref": "AppFLINK18DFC0B750" + }, + "CloudWatchLoggingOption": { + "LogStreamARN": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":logs:", + { + "Ref": "AWS::Region" + }, + ":", + { + "Ref": "AWS::AccountId" + }, + ":log-group:", + { + "Ref": "AppFLINK18LogGroupEC247BE6" + }, + ":log-stream:", + { + "Ref": "AppFLINK18LogStream773D6792" + } + ] + ] + } + } + } + }, + "AlarmFLINK188AA6547E": { + "Type": "AWS::CloudWatch::Alarm", + "Properties": { + "ComparisonOperator": "GreaterThanOrEqualToThreshold", + "Dimensions": [ + { + "Name": "Application", + "Value": { + "Ref": "AppFLINK18DFC0B750" + } + } + ], + "EvaluationPeriods": 1, + "MetricName": "fullRestarts", + "Namespace": "AWS/KinesisAnalytics", + "Period": 300, + "Statistic": "Sum", + "Threshold": 3 + } + }, + "AppFLINK111Role85754B20": { + "Type": "AWS::IAM::Role", + "Properties": { + "AssumeRolePolicyDocument": { + "Statement": [ + { + "Action": "sts:AssumeRole", + "Effect": "Allow", + "Principal": { + "Service": "kinesisanalytics.amazonaws.com" + } + } + ], + "Version": "2012-10-17" + } + } + }, + "AppFLINK111RoleDefaultPolicy76505541": { + "Type": "AWS::IAM::Policy", + "Properties": { + "PolicyDocument": { + "Statement": [ + { + "Action": "cloudwatch:PutMetricData", + "Effect": "Allow", + "Resource": "*" + }, + { + "Action": [ + "s3:GetBucket*", + "s3:GetObject*", + "s3:List*" + ], + "Effect": "Allow", + "Resource": [ + { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":s3:::", + { + "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" + }, + "/*" + ] + ] + }, + { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":s3:::", + { + "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" + } + ] + ] + } + ] + }, + { + "Action": "logs:DescribeLogGroups", + "Effect": "Allow", + "Resource": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":logs:", + { + "Ref": "AWS::Region" + }, + ":", + { + "Ref": "AWS::AccountId" + }, + ":log-group:*" + ] + ] + } + }, + { + "Action": "logs:DescribeLogStreams", + "Effect": "Allow", + "Resource": { + "Fn::GetAtt": [ + "AppFLINK111LogGroup8B96ECB4", + "Arn" + ] + } + }, + { + "Action": "logs:PutLogEvents", + "Effect": "Allow", + "Resource": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":logs:", + { + "Ref": "AWS::Region" + }, + ":", + { + "Ref": "AWS::AccountId" + }, + ":log-group:", + { + "Ref": "AppFLINK111LogGroup8B96ECB4" + }, + ":log-stream:", + { + "Ref": "AppFLINK111LogStream9FBA643C" + } + ] + ] + } + } + ], + "Version": "2012-10-17" + }, + "PolicyName": "AppFLINK111RoleDefaultPolicy76505541", + "Roles": [ + { + "Ref": "AppFLINK111Role85754B20" + } + ] + } + }, + "AppFLINK1115BD3FEB8": { + "Type": "AWS::KinesisAnalyticsV2::Application", + "Properties": { + "ApplicationConfiguration": { + "ApplicationCodeConfiguration": { + "CodeContent": { + "S3ContentLocation": { + "BucketARN": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":s3:::", + { + "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" + } + ] + ] + }, + "FileKey": "8be9e0b5f53d41e9a3b1d51c9572c65f24f8170a7188d0ed57fb7d571de4d577.zip" + } + }, + "CodeContentType": "ZIPFILE" + }, + "ApplicationSnapshotConfiguration": { + "SnapshotsEnabled": true + } + }, + "RuntimeEnvironment": "FLINK-1_11", + "ServiceExecutionRole": { + "Fn::GetAtt": [ + "AppFLINK111Role85754B20", + "Arn" + ] + } + }, + "DependsOn": [ + "AppFLINK111RoleDefaultPolicy76505541", + "AppFLINK111Role85754B20" + ], + "UpdateReplacePolicy": "Delete", + "DeletionPolicy": "Delete" + }, + "AppFLINK111LogGroup8B96ECB4": { + "Type": "AWS::Logs::LogGroup", + "Properties": { + "RetentionInDays": 731 + }, + "UpdateReplacePolicy": "Retain", + "DeletionPolicy": "Retain" + }, + "AppFLINK111LogStream9FBA643C": { + "Type": "AWS::Logs::LogStream", + "Properties": { + "LogGroupName": { + "Ref": "AppFLINK111LogGroup8B96ECB4" + } + }, + "UpdateReplacePolicy": "Retain", + "DeletionPolicy": "Retain" + }, + "AppFLINK111LoggingOptionB868A248": { + "Type": "AWS::KinesisAnalyticsV2::ApplicationCloudWatchLoggingOption", + "Properties": { + "ApplicationName": { + "Ref": "AppFLINK1115BD3FEB8" + }, + "CloudWatchLoggingOption": { + "LogStreamARN": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":logs:", + { + "Ref": "AWS::Region" + }, + ":", + { + "Ref": "AWS::AccountId" + }, + ":log-group:", + { + "Ref": "AppFLINK111LogGroup8B96ECB4" + }, + ":log-stream:", + { + "Ref": "AppFLINK111LogStream9FBA643C" + } + ] + ] + } + } + } + }, + "AlarmFLINK111B1BFA12F": { + "Type": "AWS::CloudWatch::Alarm", + "Properties": { + "ComparisonOperator": "GreaterThanOrEqualToThreshold", + "Dimensions": [ + { + "Name": "Application", + "Value": { + "Ref": "AppFLINK1115BD3FEB8" + } + } + ], + "EvaluationPeriods": 1, + "MetricName": "fullRestarts", + "Namespace": "AWS/KinesisAnalytics", + "Period": 300, + "Statistic": "Sum", + "Threshold": 3 + } + }, + "AppFLINK113RoleE0638828": { + "Type": "AWS::IAM::Role", + "Properties": { + "AssumeRolePolicyDocument": { + "Statement": [ + { + "Action": "sts:AssumeRole", + "Effect": "Allow", + "Principal": { + "Service": "kinesisanalytics.amazonaws.com" + } + } + ], + "Version": "2012-10-17" + } + } + }, + "AppFLINK113RoleDefaultPolicy701032C8": { + "Type": "AWS::IAM::Policy", + "Properties": { + "PolicyDocument": { + "Statement": [ + { + "Action": "cloudwatch:PutMetricData", + "Effect": "Allow", + "Resource": "*" + }, + { + "Action": [ + "s3:GetBucket*", + "s3:GetObject*", + "s3:List*" + ], + "Effect": "Allow", + "Resource": [ + { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":s3:::", + { + "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" + }, + "/*" + ] + ] + }, + { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":s3:::", + { + "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" + } + ] + ] + } + ] + }, + { + "Action": "logs:DescribeLogGroups", + "Effect": "Allow", + "Resource": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":logs:", + { + "Ref": "AWS::Region" + }, + ":", + { + "Ref": "AWS::AccountId" + }, + ":log-group:*" + ] + ] + } + }, + { + "Action": "logs:DescribeLogStreams", + "Effect": "Allow", + "Resource": { + "Fn::GetAtt": [ + "AppFLINK113LogGroupF5F42067", + "Arn" + ] + } + }, + { + "Action": "logs:PutLogEvents", + "Effect": "Allow", + "Resource": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":logs:", + { + "Ref": "AWS::Region" + }, + ":", + { + "Ref": "AWS::AccountId" + }, + ":log-group:", + { + "Ref": "AppFLINK113LogGroupF5F42067" + }, + ":log-stream:", + { + "Ref": "AppFLINK113LogStream63C2732B" + } + ] + ] + } + } + ], + "Version": "2012-10-17" + }, + "PolicyName": "AppFLINK113RoleDefaultPolicy701032C8", + "Roles": [ + { + "Ref": "AppFLINK113RoleE0638828" + } + ] + } + }, + "AppFLINK1138C7FE76E": { + "Type": "AWS::KinesisAnalyticsV2::Application", + "Properties": { + "ApplicationConfiguration": { + "ApplicationCodeConfiguration": { + "CodeContent": { + "S3ContentLocation": { + "BucketARN": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":s3:::", + { + "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" + } + ] + ] + }, + "FileKey": "8be9e0b5f53d41e9a3b1d51c9572c65f24f8170a7188d0ed57fb7d571de4d577.zip" + } + }, + "CodeContentType": "ZIPFILE" + }, + "ApplicationSnapshotConfiguration": { + "SnapshotsEnabled": true + } + }, + "RuntimeEnvironment": "FLINK-1_13", + "ServiceExecutionRole": { + "Fn::GetAtt": [ + "AppFLINK113RoleE0638828", + "Arn" + ] + } + }, + "DependsOn": [ + "AppFLINK113RoleDefaultPolicy701032C8", + "AppFLINK113RoleE0638828" + ], + "UpdateReplacePolicy": "Delete", + "DeletionPolicy": "Delete" + }, + "AppFLINK113LogGroupF5F42067": { + "Type": "AWS::Logs::LogGroup", + "Properties": { + "RetentionInDays": 731 + }, + "UpdateReplacePolicy": "Retain", + "DeletionPolicy": "Retain" + }, + "AppFLINK113LogStream63C2732B": { + "Type": "AWS::Logs::LogStream", + "Properties": { + "LogGroupName": { + "Ref": "AppFLINK113LogGroupF5F42067" + } + }, + "UpdateReplacePolicy": "Retain", + "DeletionPolicy": "Retain" + }, + "AppFLINK113LoggingOption98F806DA": { + "Type": "AWS::KinesisAnalyticsV2::ApplicationCloudWatchLoggingOption", + "Properties": { + "ApplicationName": { + "Ref": "AppFLINK1138C7FE76E" + }, + "CloudWatchLoggingOption": { + "LogStreamARN": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":logs:", + { + "Ref": "AWS::Region" + }, + ":", + { + "Ref": "AWS::AccountId" + }, + ":log-group:", + { + "Ref": "AppFLINK113LogGroupF5F42067" + }, + ":log-stream:", + { + "Ref": "AppFLINK113LogStream63C2732B" + } + ] + ] + } + } + } + }, + "AlarmFLINK1136262934D": { + "Type": "AWS::CloudWatch::Alarm", + "Properties": { + "ComparisonOperator": "GreaterThanOrEqualToThreshold", + "Dimensions": [ + { + "Name": "Application", + "Value": { + "Ref": "AppFLINK1138C7FE76E" + } + } + ], + "EvaluationPeriods": 1, + "MetricName": "fullRestarts", + "Namespace": "AWS/KinesisAnalytics", + "Period": 300, + "Statistic": "Sum", + "Threshold": 3 + } + }, + "AppFLINK115RoleD758509C": { + "Type": "AWS::IAM::Role", + "Properties": { + "AssumeRolePolicyDocument": { + "Statement": [ + { + "Action": "sts:AssumeRole", + "Effect": "Allow", + "Principal": { + "Service": "kinesisanalytics.amazonaws.com" + } + } + ], + "Version": "2012-10-17" + } + } + }, + "AppFLINK115RoleDefaultPolicy402697BF": { + "Type": "AWS::IAM::Policy", + "Properties": { + "PolicyDocument": { + "Statement": [ + { + "Action": "cloudwatch:PutMetricData", + "Effect": "Allow", + "Resource": "*" + }, + { + "Action": [ + "s3:GetBucket*", + "s3:GetObject*", + "s3:List*" + ], + "Effect": "Allow", + "Resource": [ + { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":s3:::", + { + "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" + }, + "/*" + ] + ] + }, + { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":s3:::", + { + "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" + } + ] + ] + } + ] + }, + { + "Action": "logs:DescribeLogGroups", + "Effect": "Allow", + "Resource": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":logs:", + { + "Ref": "AWS::Region" + }, + ":", + { + "Ref": "AWS::AccountId" + }, + ":log-group:*" + ] + ] + } + }, + { + "Action": "logs:DescribeLogStreams", + "Effect": "Allow", + "Resource": { + "Fn::GetAtt": [ + "AppFLINK115LogGroupBACCAB69", + "Arn" + ] + } + }, + { + "Action": "logs:PutLogEvents", + "Effect": "Allow", + "Resource": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":logs:", + { + "Ref": "AWS::Region" + }, + ":", + { + "Ref": "AWS::AccountId" + }, + ":log-group:", + { + "Ref": "AppFLINK115LogGroupBACCAB69" + }, + ":log-stream:", + { + "Ref": "AppFLINK115LogStreamD7900E5F" + } + ] + ] + } + } + ], + "Version": "2012-10-17" + }, + "PolicyName": "AppFLINK115RoleDefaultPolicy402697BF", + "Roles": [ + { + "Ref": "AppFLINK115RoleD758509C" + } + ] + } + }, + "AppFLINK11548C6DD0B": { + "Type": "AWS::KinesisAnalyticsV2::Application", + "Properties": { + "ApplicationConfiguration": { + "ApplicationCodeConfiguration": { + "CodeContent": { + "S3ContentLocation": { + "BucketARN": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":s3:::", + { + "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" + } + ] + ] + }, + "FileKey": "8be9e0b5f53d41e9a3b1d51c9572c65f24f8170a7188d0ed57fb7d571de4d577.zip" + } + }, + "CodeContentType": "ZIPFILE" + }, + "ApplicationSnapshotConfiguration": { + "SnapshotsEnabled": true + } + }, + "RuntimeEnvironment": "FLINK-1_15", + "ServiceExecutionRole": { + "Fn::GetAtt": [ + "AppFLINK115RoleD758509C", + "Arn" + ] + } + }, + "DependsOn": [ + "AppFLINK115RoleDefaultPolicy402697BF", + "AppFLINK115RoleD758509C" + ], + "UpdateReplacePolicy": "Delete", + "DeletionPolicy": "Delete" + }, + "AppFLINK115LogGroupBACCAB69": { + "Type": "AWS::Logs::LogGroup", + "Properties": { + "RetentionInDays": 731 + }, + "UpdateReplacePolicy": "Retain", + "DeletionPolicy": "Retain" + }, + "AppFLINK115LogStreamD7900E5F": { + "Type": "AWS::Logs::LogStream", + "Properties": { + "LogGroupName": { + "Ref": "AppFLINK115LogGroupBACCAB69" + } + }, + "UpdateReplacePolicy": "Retain", + "DeletionPolicy": "Retain" + }, + "AppFLINK115LoggingOption201B75CF": { + "Type": "AWS::KinesisAnalyticsV2::ApplicationCloudWatchLoggingOption", + "Properties": { + "ApplicationName": { + "Ref": "AppFLINK11548C6DD0B" + }, + "CloudWatchLoggingOption": { + "LogStreamARN": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":logs:", + { + "Ref": "AWS::Region" + }, + ":", + { + "Ref": "AWS::AccountId" + }, + ":log-group:", + { + "Ref": "AppFLINK115LogGroupBACCAB69" + }, + ":log-stream:", + { + "Ref": "AppFLINK115LogStreamD7900E5F" + } + ] + ] + } + } + } + }, + "AlarmFLINK1151BBA9866": { + "Type": "AWS::CloudWatch::Alarm", + "Properties": { + "ComparisonOperator": "GreaterThanOrEqualToThreshold", + "Dimensions": [ + { + "Name": "Application", + "Value": { + "Ref": "AppFLINK11548C6DD0B" + } + } + ], + "EvaluationPeriods": 1, + "MetricName": "fullRestarts", + "Namespace": "AWS/KinesisAnalytics", + "Period": 300, + "Statistic": "Sum", + "Threshold": 3 + } + }, + "AppFLINK118Role1B878112": { + "Type": "AWS::IAM::Role", + "Properties": { + "AssumeRolePolicyDocument": { + "Statement": [ + { + "Action": "sts:AssumeRole", + "Effect": "Allow", + "Principal": { + "Service": "kinesisanalytics.amazonaws.com" + } + } + ], + "Version": "2012-10-17" + } + } + }, + "AppFLINK118RoleDefaultPolicy1D8097BB": { + "Type": "AWS::IAM::Policy", + "Properties": { + "PolicyDocument": { + "Statement": [ + { + "Action": "cloudwatch:PutMetricData", + "Effect": "Allow", + "Resource": "*" + }, + { + "Action": [ + "s3:GetBucket*", + "s3:GetObject*", + "s3:List*" + ], + "Effect": "Allow", + "Resource": [ + { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":s3:::", + { + "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" + }, + "/*" + ] + ] + }, + { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":s3:::", + { + "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" + } + ] + ] + } + ] + }, + { + "Action": "logs:DescribeLogGroups", + "Effect": "Allow", + "Resource": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":logs:", + { + "Ref": "AWS::Region" + }, + ":", + { + "Ref": "AWS::AccountId" + }, + ":log-group:*" + ] + ] + } + }, + { + "Action": "logs:DescribeLogStreams", + "Effect": "Allow", + "Resource": { + "Fn::GetAtt": [ + "AppFLINK118LogGroupEF87F95A", + "Arn" + ] + } + }, + { + "Action": "logs:PutLogEvents", + "Effect": "Allow", + "Resource": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":logs:", + { + "Ref": "AWS::Region" + }, + ":", + { + "Ref": "AWS::AccountId" + }, + ":log-group:", + { + "Ref": "AppFLINK118LogGroupEF87F95A" + }, + ":log-stream:", + { + "Ref": "AppFLINK118LogStreamAFAF3379" + } + ] + ] + } + } + ], + "Version": "2012-10-17" + }, + "PolicyName": "AppFLINK118RoleDefaultPolicy1D8097BB", + "Roles": [ + { + "Ref": "AppFLINK118Role1B878112" + } + ] + } + }, + "AppFLINK118BEACE639": { + "Type": "AWS::KinesisAnalyticsV2::Application", + "Properties": { + "ApplicationConfiguration": { + "ApplicationCodeConfiguration": { + "CodeContent": { + "S3ContentLocation": { + "BucketARN": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":s3:::", + { + "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" + } + ] + ] + }, + "FileKey": "8be9e0b5f53d41e9a3b1d51c9572c65f24f8170a7188d0ed57fb7d571de4d577.zip" + } + }, + "CodeContentType": "ZIPFILE" + }, + "ApplicationSnapshotConfiguration": { + "SnapshotsEnabled": true + } + }, + "RuntimeEnvironment": "FLINK-1_18", + "ServiceExecutionRole": { + "Fn::GetAtt": [ + "AppFLINK118Role1B878112", + "Arn" + ] + } + }, + "DependsOn": [ + "AppFLINK118RoleDefaultPolicy1D8097BB", + "AppFLINK118Role1B878112" + ], + "UpdateReplacePolicy": "Delete", + "DeletionPolicy": "Delete" + }, + "AppFLINK118LogGroupEF87F95A": { + "Type": "AWS::Logs::LogGroup", + "Properties": { + "RetentionInDays": 731 + }, + "UpdateReplacePolicy": "Retain", + "DeletionPolicy": "Retain" + }, + "AppFLINK118LogStreamAFAF3379": { + "Type": "AWS::Logs::LogStream", + "Properties": { + "LogGroupName": { + "Ref": "AppFLINK118LogGroupEF87F95A" + } + }, + "UpdateReplacePolicy": "Retain", + "DeletionPolicy": "Retain" + }, + "AppFLINK118LoggingOption6EEBD514": { + "Type": "AWS::KinesisAnalyticsV2::ApplicationCloudWatchLoggingOption", + "Properties": { + "ApplicationName": { + "Ref": "AppFLINK118BEACE639" + }, + "CloudWatchLoggingOption": { + "LogStreamARN": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":logs:", + { + "Ref": "AWS::Region" + }, + ":", + { + "Ref": "AWS::AccountId" + }, + ":log-group:", + { + "Ref": "AppFLINK118LogGroupEF87F95A" + }, + ":log-stream:", + { + "Ref": "AppFLINK118LogStreamAFAF3379" + } + ] + ] + } + } + } + }, + "AlarmFLINK118680AE078": { + "Type": "AWS::CloudWatch::Alarm", + "Properties": { + "ComparisonOperator": "GreaterThanOrEqualToThreshold", + "Dimensions": [ + { + "Name": "Application", + "Value": { + "Ref": "AppFLINK118BEACE639" + } + } + ], + "EvaluationPeriods": 1, + "MetricName": "fullRestarts", + "Namespace": "AWS/KinesisAnalytics", + "Period": 300, + "Statistic": "Sum", + "Threshold": 3 + } + }, + "AppFLINK119Role6594F124": { + "Type": "AWS::IAM::Role", + "Properties": { + "AssumeRolePolicyDocument": { + "Statement": [ + { + "Action": "sts:AssumeRole", + "Effect": "Allow", + "Principal": { + "Service": "kinesisanalytics.amazonaws.com" + } + } + ], + "Version": "2012-10-17" + } + } + }, + "AppFLINK119RoleDefaultPolicy6EB1C39D": { + "Type": "AWS::IAM::Policy", + "Properties": { + "PolicyDocument": { + "Statement": [ + { + "Action": "cloudwatch:PutMetricData", + "Effect": "Allow", + "Resource": "*" + }, + { + "Action": [ + "s3:GetBucket*", + "s3:GetObject*", + "s3:List*" + ], + "Effect": "Allow", + "Resource": [ + { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":s3:::", + { + "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" + }, + "/*" + ] + ] + }, + { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":s3:::", + { + "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" + } + ] + ] + } + ] + }, + { + "Action": "logs:DescribeLogGroups", + "Effect": "Allow", + "Resource": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":logs:", + { + "Ref": "AWS::Region" + }, + ":", + { + "Ref": "AWS::AccountId" + }, + ":log-group:*" + ] + ] + } + }, + { + "Action": "logs:DescribeLogStreams", + "Effect": "Allow", + "Resource": { + "Fn::GetAtt": [ + "AppFLINK119LogGroup472EA32B", + "Arn" + ] + } + }, + { + "Action": "logs:PutLogEvents", + "Effect": "Allow", + "Resource": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":logs:", + { + "Ref": "AWS::Region" + }, + ":", + { + "Ref": "AWS::AccountId" + }, + ":log-group:", + { + "Ref": "AppFLINK119LogGroup472EA32B" + }, + ":log-stream:", + { + "Ref": "AppFLINK119LogStream5FD726B5" + } + ] + ] + } + } + ], + "Version": "2012-10-17" + }, + "PolicyName": "AppFLINK119RoleDefaultPolicy6EB1C39D", + "Roles": [ + { + "Ref": "AppFLINK119Role6594F124" + } + ] + } + }, + "AppFLINK119DAC5CF3C": { "Type": "AWS::KinesisAnalyticsV2::Application", "Properties": { "ApplicationConfiguration": { @@ -178,19 +1768,284 @@ "RuntimeEnvironment": "FLINK-1_19", "ServiceExecutionRole": { "Fn::GetAtt": [ - "AppRole1AF9B530", + "AppFLINK119Role6594F124", + "Arn" + ] + } + }, + "DependsOn": [ + "AppFLINK119RoleDefaultPolicy6EB1C39D", + "AppFLINK119Role6594F124" + ], + "UpdateReplacePolicy": "Delete", + "DeletionPolicy": "Delete" + }, + "AppFLINK119LogGroup472EA32B": { + "Type": "AWS::Logs::LogGroup", + "Properties": { + "RetentionInDays": 731 + }, + "UpdateReplacePolicy": "Retain", + "DeletionPolicy": "Retain" + }, + "AppFLINK119LogStream5FD726B5": { + "Type": "AWS::Logs::LogStream", + "Properties": { + "LogGroupName": { + "Ref": "AppFLINK119LogGroup472EA32B" + } + }, + "UpdateReplacePolicy": "Retain", + "DeletionPolicy": "Retain" + }, + "AppFLINK119LoggingOption224F0C40": { + "Type": "AWS::KinesisAnalyticsV2::ApplicationCloudWatchLoggingOption", + "Properties": { + "ApplicationName": { + "Ref": "AppFLINK119DAC5CF3C" + }, + "CloudWatchLoggingOption": { + "LogStreamARN": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":logs:", + { + "Ref": "AWS::Region" + }, + ":", + { + "Ref": "AWS::AccountId" + }, + ":log-group:", + { + "Ref": "AppFLINK119LogGroup472EA32B" + }, + ":log-stream:", + { + "Ref": "AppFLINK119LogStream5FD726B5" + } + ] + ] + } + } + } + }, + "AlarmFLINK1194841405B": { + "Type": "AWS::CloudWatch::Alarm", + "Properties": { + "ComparisonOperator": "GreaterThanOrEqualToThreshold", + "Dimensions": [ + { + "Name": "Application", + "Value": { + "Ref": "AppFLINK119DAC5CF3C" + } + } + ], + "EvaluationPeriods": 1, + "MetricName": "fullRestarts", + "Namespace": "AWS/KinesisAnalytics", + "Period": 300, + "Statistic": "Sum", + "Threshold": 3 + } + }, + "AppFLINK120RoleDC5875D6": { + "Type": "AWS::IAM::Role", + "Properties": { + "AssumeRolePolicyDocument": { + "Statement": [ + { + "Action": "sts:AssumeRole", + "Effect": "Allow", + "Principal": { + "Service": "kinesisanalytics.amazonaws.com" + } + } + ], + "Version": "2012-10-17" + } + } + }, + "AppFLINK120RoleDefaultPolicy2540C6BA": { + "Type": "AWS::IAM::Policy", + "Properties": { + "PolicyDocument": { + "Statement": [ + { + "Action": "cloudwatch:PutMetricData", + "Effect": "Allow", + "Resource": "*" + }, + { + "Action": [ + "s3:GetBucket*", + "s3:GetObject*", + "s3:List*" + ], + "Effect": "Allow", + "Resource": [ + { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":s3:::", + { + "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" + }, + "/*" + ] + ] + }, + { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":s3:::", + { + "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" + } + ] + ] + } + ] + }, + { + "Action": "logs:DescribeLogGroups", + "Effect": "Allow", + "Resource": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":logs:", + { + "Ref": "AWS::Region" + }, + ":", + { + "Ref": "AWS::AccountId" + }, + ":log-group:*" + ] + ] + } + }, + { + "Action": "logs:DescribeLogStreams", + "Effect": "Allow", + "Resource": { + "Fn::GetAtt": [ + "AppFLINK120LogGroupFFF89194", + "Arn" + ] + } + }, + { + "Action": "logs:PutLogEvents", + "Effect": "Allow", + "Resource": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":logs:", + { + "Ref": "AWS::Region" + }, + ":", + { + "Ref": "AWS::AccountId" + }, + ":log-group:", + { + "Ref": "AppFLINK120LogGroupFFF89194" + }, + ":log-stream:", + { + "Ref": "AppFLINK120LogStream155EEEF9" + } + ] + ] + } + } + ], + "Version": "2012-10-17" + }, + "PolicyName": "AppFLINK120RoleDefaultPolicy2540C6BA", + "Roles": [ + { + "Ref": "AppFLINK120RoleDC5875D6" + } + ] + } + }, + "AppFLINK120E80F19CE": { + "Type": "AWS::KinesisAnalyticsV2::Application", + "Properties": { + "ApplicationConfiguration": { + "ApplicationCodeConfiguration": { + "CodeContent": { + "S3ContentLocation": { + "BucketARN": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":s3:::", + { + "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" + } + ] + ] + }, + "FileKey": "8be9e0b5f53d41e9a3b1d51c9572c65f24f8170a7188d0ed57fb7d571de4d577.zip" + } + }, + "CodeContentType": "ZIPFILE" + }, + "ApplicationSnapshotConfiguration": { + "SnapshotsEnabled": true + } + }, + "RuntimeEnvironment": "FLINK-1_20", + "ServiceExecutionRole": { + "Fn::GetAtt": [ + "AppFLINK120RoleDC5875D6", "Arn" ] } }, "DependsOn": [ - "AppRoleDefaultPolicy9CADBAA1", - "AppRole1AF9B530" + "AppFLINK120RoleDefaultPolicy2540C6BA", + "AppFLINK120RoleDC5875D6" ], "UpdateReplacePolicy": "Delete", "DeletionPolicy": "Delete" }, - "AppLogGroupC72EEC8C": { + "AppFLINK120LogGroupFFF89194": { "Type": "AWS::Logs::LogGroup", "Properties": { "RetentionInDays": 731 @@ -198,21 +2053,21 @@ "UpdateReplacePolicy": "Retain", "DeletionPolicy": "Retain" }, - "AppLogStream3CAF66A7": { + "AppFLINK120LogStream155EEEF9": { "Type": "AWS::Logs::LogStream", "Properties": { "LogGroupName": { - "Ref": "AppLogGroupC72EEC8C" + "Ref": "AppFLINK120LogGroupFFF89194" } }, "UpdateReplacePolicy": "Retain", "DeletionPolicy": "Retain" }, - "AppLoggingOption75BE995E": { + "AppFLINK120LoggingOption6B00A786": { "Type": "AWS::KinesisAnalyticsV2::ApplicationCloudWatchLoggingOption", "Properties": { "ApplicationName": { - "Ref": "AppF1B96344" + "Ref": "AppFLINK120E80F19CE" }, "CloudWatchLoggingOption": { "LogStreamARN": { @@ -233,11 +2088,11 @@ }, ":log-group:", { - "Ref": "AppLogGroupC72EEC8C" + "Ref": "AppFLINK120LogGroupFFF89194" }, ":log-stream:", { - "Ref": "AppLogStream3CAF66A7" + "Ref": "AppFLINK120LogStream155EEEF9" } ] ] @@ -245,7 +2100,7 @@ } } }, - "Alarm7103F465": { + "AlarmFLINK120DB2152C4": { "Type": "AWS::CloudWatch::Alarm", "Properties": { "ComparisonOperator": "GreaterThanOrEqualToThreshold", @@ -253,7 +2108,7 @@ { "Name": "Application", "Value": { - "Ref": "AppF1B96344" + "Ref": "AppFLINK120E80F19CE" } } ], diff --git a/packages/@aws-cdk/aws-kinesisanalytics-flink-alpha/test/integ.application.lit.js.snapshot/cdk.out b/packages/@aws-cdk/aws-kinesisanalytics-flink-alpha/test/integ.application.lit.js.snapshot/cdk.out index 1f0068d32659a..bd5311dc372de 100644 --- a/packages/@aws-cdk/aws-kinesisanalytics-flink-alpha/test/integ.application.lit.js.snapshot/cdk.out +++ b/packages/@aws-cdk/aws-kinesisanalytics-flink-alpha/test/integ.application.lit.js.snapshot/cdk.out @@ -1 +1 @@ -{"version":"36.0.0"} \ No newline at end of file +{"version":"36.0.5"} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-kinesisanalytics-flink-alpha/test/integ.application.lit.js.snapshot/integ.json b/packages/@aws-cdk/aws-kinesisanalytics-flink-alpha/test/integ.application.lit.js.snapshot/integ.json index a0d917194b8c1..cb069974a7eea 100644 --- a/packages/@aws-cdk/aws-kinesisanalytics-flink-alpha/test/integ.application.lit.js.snapshot/integ.json +++ b/packages/@aws-cdk/aws-kinesisanalytics-flink-alpha/test/integ.application.lit.js.snapshot/integ.json @@ -1,14 +1,12 @@ { - "version": "36.0.0", + "version": "36.0.5", "testCases": { - "integ.application.lit": { + "ApplicationTest/DefaultTest": { "stacks": [ "FlinkAppTest" ], - "diffAssets": false, - "stackUpdateWorkflow": true + "assertionStack": "ApplicationTest/DefaultTest/DeployAssert", + "assertionStackName": "ApplicationTestDefaultTestDeployAssertF9C5F731" } - }, - "synthContext": {}, - "enableLookups": false + } } \ No newline at end of file diff --git a/packages/@aws-cdk/aws-kinesisanalytics-flink-alpha/test/integ.application.lit.js.snapshot/manifest.json b/packages/@aws-cdk/aws-kinesisanalytics-flink-alpha/test/integ.application.lit.js.snapshot/manifest.json index 0109af83fd75c..fe18f4181fca4 100644 --- a/packages/@aws-cdk/aws-kinesisanalytics-flink-alpha/test/integ.application.lit.js.snapshot/manifest.json +++ b/packages/@aws-cdk/aws-kinesisanalytics-flink-alpha/test/integ.application.lit.js.snapshot/manifest.json @@ -1,5 +1,5 @@ { - "version": "36.0.0", + "version": "36.0.5", "artifacts": { "FlinkAppTest.assets": { "type": "cdk:asset-manifest", @@ -18,7 +18,7 @@ "validateOnSynth": false, "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}", "cloudFormationExecutionRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}", - "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/1c62c36f9601016c7fec8f26431c7c7438490b95747135095f9af7ecd84ddb1d.json", + "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/539ea479a53381b85109d0220f8067dd583db122c2272078f2e00d541ee3738d.json", "requiresBootstrapStackVersion": 6, "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version", "additionalDependencies": [ @@ -34,68 +34,467 @@ "FlinkAppTest.assets" ], "metadata": { - "/FlinkAppTest/App/Role/Resource": [ + "/FlinkAppTest/App-FLINK-1_6/Role/Resource": [ { "type": "aws:cdk:logicalId", - "data": "AppRole1AF9B530" + "data": "AppFLINK16RoleA21DF652" } ], - "/FlinkAppTest/App/Role/DefaultPolicy/Resource": [ + "/FlinkAppTest/App-FLINK-1_6/Role/DefaultPolicy/Resource": [ { "type": "aws:cdk:logicalId", - "data": "AppRoleDefaultPolicy9CADBAA1" + "data": "AppFLINK16RoleDefaultPolicy312C949D" } ], - "/FlinkAppTest/App/Resource": [ + "/FlinkAppTest/App-FLINK-1_6/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "AppFLINK16C87388A5" + } + ], + "/FlinkAppTest/App-FLINK-1_6/LogGroup/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "AppFLINK16LogGroup6709DAA8" + } + ], + "/FlinkAppTest/App-FLINK-1_6/LogStream/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "AppFLINK16LogStream203A3C4A" + } + ], + "/FlinkAppTest/App-FLINK-1_6/LoggingOption": [ + { + "type": "aws:cdk:logicalId", + "data": "AppFLINK16LoggingOption6A093E18" + } + ], + "/FlinkAppTest/Alarm-FLINK-1_6/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "AlarmFLINK16629EC33E" + } + ], + "/FlinkAppTest/App-FLINK-1_8/Role/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "AppFLINK18RoleF2B5E704" + } + ], + "/FlinkAppTest/App-FLINK-1_8/Role/DefaultPolicy/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "AppFLINK18RoleDefaultPolicy3E0E376C" + } + ], + "/FlinkAppTest/App-FLINK-1_8/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "AppFLINK18DFC0B750" + } + ], + "/FlinkAppTest/App-FLINK-1_8/LogGroup/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "AppFLINK18LogGroupEC247BE6" + } + ], + "/FlinkAppTest/App-FLINK-1_8/LogStream/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "AppFLINK18LogStream773D6792" + } + ], + "/FlinkAppTest/App-FLINK-1_8/LoggingOption": [ + { + "type": "aws:cdk:logicalId", + "data": "AppFLINK18LoggingOptionFA3821B9" + } + ], + "/FlinkAppTest/Alarm-FLINK-1_8/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "AlarmFLINK188AA6547E" + } + ], + "/FlinkAppTest/App-FLINK-1_11/Role/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "AppFLINK111Role85754B20" + } + ], + "/FlinkAppTest/App-FLINK-1_11/Role/DefaultPolicy/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "AppFLINK111RoleDefaultPolicy76505541" + } + ], + "/FlinkAppTest/App-FLINK-1_11/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "AppFLINK1115BD3FEB8" + } + ], + "/FlinkAppTest/App-FLINK-1_11/LogGroup/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "AppFLINK111LogGroup8B96ECB4" + } + ], + "/FlinkAppTest/App-FLINK-1_11/LogStream/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "AppFLINK111LogStream9FBA643C" + } + ], + "/FlinkAppTest/App-FLINK-1_11/LoggingOption": [ + { + "type": "aws:cdk:logicalId", + "data": "AppFLINK111LoggingOptionB868A248" + } + ], + "/FlinkAppTest/Alarm-FLINK-1_11/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "AlarmFLINK111B1BFA12F" + } + ], + "/FlinkAppTest/App-FLINK-1_13/Role/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "AppFLINK113RoleE0638828" + } + ], + "/FlinkAppTest/App-FLINK-1_13/Role/DefaultPolicy/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "AppFLINK113RoleDefaultPolicy701032C8" + } + ], + "/FlinkAppTest/App-FLINK-1_13/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "AppFLINK1138C7FE76E" + } + ], + "/FlinkAppTest/App-FLINK-1_13/LogGroup/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "AppFLINK113LogGroupF5F42067" + } + ], + "/FlinkAppTest/App-FLINK-1_13/LogStream/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "AppFLINK113LogStream63C2732B" + } + ], + "/FlinkAppTest/App-FLINK-1_13/LoggingOption": [ + { + "type": "aws:cdk:logicalId", + "data": "AppFLINK113LoggingOption98F806DA" + } + ], + "/FlinkAppTest/Alarm-FLINK-1_13/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "AlarmFLINK1136262934D" + } + ], + "/FlinkAppTest/App-FLINK-1_15/Role/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "AppFLINK115RoleD758509C" + } + ], + "/FlinkAppTest/App-FLINK-1_15/Role/DefaultPolicy/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "AppFLINK115RoleDefaultPolicy402697BF" + } + ], + "/FlinkAppTest/App-FLINK-1_15/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "AppFLINK11548C6DD0B" + } + ], + "/FlinkAppTest/App-FLINK-1_15/LogGroup/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "AppFLINK115LogGroupBACCAB69" + } + ], + "/FlinkAppTest/App-FLINK-1_15/LogStream/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "AppFLINK115LogStreamD7900E5F" + } + ], + "/FlinkAppTest/App-FLINK-1_15/LoggingOption": [ + { + "type": "aws:cdk:logicalId", + "data": "AppFLINK115LoggingOption201B75CF" + } + ], + "/FlinkAppTest/Alarm-FLINK-1_15/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "AlarmFLINK1151BBA9866" + } + ], + "/FlinkAppTest/App-FLINK-1_18/Role/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "AppFLINK118Role1B878112" + } + ], + "/FlinkAppTest/App-FLINK-1_18/Role/DefaultPolicy/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "AppFLINK118RoleDefaultPolicy1D8097BB" + } + ], + "/FlinkAppTest/App-FLINK-1_18/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "AppFLINK118BEACE639" + } + ], + "/FlinkAppTest/App-FLINK-1_18/LogGroup/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "AppFLINK118LogGroupEF87F95A" + } + ], + "/FlinkAppTest/App-FLINK-1_18/LogStream/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "AppFLINK118LogStreamAFAF3379" + } + ], + "/FlinkAppTest/App-FLINK-1_18/LoggingOption": [ + { + "type": "aws:cdk:logicalId", + "data": "AppFLINK118LoggingOption6EEBD514" + } + ], + "/FlinkAppTest/Alarm-FLINK-1_18/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "AlarmFLINK118680AE078" + } + ], + "/FlinkAppTest/App-FLINK-1_19/Role/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "AppFLINK119Role6594F124" + } + ], + "/FlinkAppTest/App-FLINK-1_19/Role/DefaultPolicy/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "AppFLINK119RoleDefaultPolicy6EB1C39D" + } + ], + "/FlinkAppTest/App-FLINK-1_19/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "AppFLINK119DAC5CF3C" + } + ], + "/FlinkAppTest/App-FLINK-1_19/LogGroup/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "AppFLINK119LogGroup472EA32B" + } + ], + "/FlinkAppTest/App-FLINK-1_19/LogStream/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "AppFLINK119LogStream5FD726B5" + } + ], + "/FlinkAppTest/App-FLINK-1_19/LoggingOption": [ + { + "type": "aws:cdk:logicalId", + "data": "AppFLINK119LoggingOption224F0C40" + } + ], + "/FlinkAppTest/Alarm-FLINK-1_19/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "AlarmFLINK1194841405B" + } + ], + "/FlinkAppTest/App-FLINK-1_20/Role/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "AppFLINK120RoleDC5875D6" + } + ], + "/FlinkAppTest/App-FLINK-1_20/Role/DefaultPolicy/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "AppFLINK120RoleDefaultPolicy2540C6BA" + } + ], + "/FlinkAppTest/App-FLINK-1_20/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "AppFLINK120E80F19CE" + } + ], + "/FlinkAppTest/App-FLINK-1_20/LogGroup/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "AppFLINK120LogGroupFFF89194" + } + ], + "/FlinkAppTest/App-FLINK-1_20/LogStream/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "AppFLINK120LogStream155EEEF9" + } + ], + "/FlinkAppTest/App-FLINK-1_20/LoggingOption": [ + { + "type": "aws:cdk:logicalId", + "data": "AppFLINK120LoggingOption6B00A786" + } + ], + "/FlinkAppTest/Alarm-FLINK-1_20/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "AlarmFLINK120DB2152C4" + } + ], + "/FlinkAppTest/BootstrapVersion": [ + { + "type": "aws:cdk:logicalId", + "data": "BootstrapVersion" + } + ], + "/FlinkAppTest/CheckBootstrapVersion": [ + { + "type": "aws:cdk:logicalId", + "data": "CheckBootstrapVersion" + } + ], + "AppRole1AF9B530": [ + { + "type": "aws:cdk:logicalId", + "data": "AppRole1AF9B530", + "trace": [ + "!!DESTRUCTIVE_CHANGES: WILL_DESTROY" + ] + } + ], + "AppRoleDefaultPolicy9CADBAA1": [ + { + "type": "aws:cdk:logicalId", + "data": "AppRoleDefaultPolicy9CADBAA1", + "trace": [ + "!!DESTRUCTIVE_CHANGES: WILL_DESTROY" + ] + } + ], + "AppF1B96344": [ { "type": "aws:cdk:logicalId", "data": "AppF1B96344", "trace": [ - "!!DESTRUCTIVE_CHANGES: WILL_REPLACE" + "!!DESTRUCTIVE_CHANGES: WILL_DESTROY" ] } ], - "/FlinkAppTest/App/LogGroup/Resource": [ + "AppLogGroupC72EEC8C": [ { "type": "aws:cdk:logicalId", - "data": "AppLogGroupC72EEC8C" + "data": "AppLogGroupC72EEC8C", + "trace": [ + "!!DESTRUCTIVE_CHANGES: WILL_DESTROY" + ] } ], - "/FlinkAppTest/App/LogStream/Resource": [ + "AppLogStream3CAF66A7": [ { "type": "aws:cdk:logicalId", - "data": "AppLogStream3CAF66A7" + "data": "AppLogStream3CAF66A7", + "trace": [ + "!!DESTRUCTIVE_CHANGES: WILL_DESTROY" + ] } ], - "/FlinkAppTest/App/LoggingOption": [ + "AppLoggingOption75BE995E": [ { "type": "aws:cdk:logicalId", "data": "AppLoggingOption75BE995E", "trace": [ - "!!DESTRUCTIVE_CHANGES: WILL_REPLACE" + "!!DESTRUCTIVE_CHANGES: WILL_DESTROY" ] } ], - "/FlinkAppTest/Alarm/Resource": [ + "Alarm7103F465": [ { "type": "aws:cdk:logicalId", - "data": "Alarm7103F465" + "data": "Alarm7103F465", + "trace": [ + "!!DESTRUCTIVE_CHANGES: WILL_DESTROY" + ] } + ] + }, + "displayName": "FlinkAppTest" + }, + "ApplicationTestDefaultTestDeployAssertF9C5F731.assets": { + "type": "cdk:asset-manifest", + "properties": { + "file": "ApplicationTestDefaultTestDeployAssertF9C5F731.assets.json", + "requiresBootstrapStackVersion": 6, + "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version" + } + }, + "ApplicationTestDefaultTestDeployAssertF9C5F731": { + "type": "aws:cloudformation:stack", + "environment": "aws://unknown-account/unknown-region", + "properties": { + "templateFile": "ApplicationTestDefaultTestDeployAssertF9C5F731.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": [ + "ApplicationTestDefaultTestDeployAssertF9C5F731.assets" ], - "/FlinkAppTest/BootstrapVersion": [ + "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": [ + "ApplicationTestDefaultTestDeployAssertF9C5F731.assets" + ], + "metadata": { + "/ApplicationTest/DefaultTest/DeployAssert/BootstrapVersion": [ { "type": "aws:cdk:logicalId", "data": "BootstrapVersion" } ], - "/FlinkAppTest/CheckBootstrapVersion": [ + "/ApplicationTest/DefaultTest/DeployAssert/CheckBootstrapVersion": [ { "type": "aws:cdk:logicalId", "data": "CheckBootstrapVersion" } ] }, - "displayName": "FlinkAppTest" + "displayName": "ApplicationTest/DefaultTest/DeployAssert" }, "Tree": { "type": "cdk:tree", diff --git a/packages/@aws-cdk/aws-kinesisanalytics-flink-alpha/test/integ.application.lit.js.snapshot/tree.json b/packages/@aws-cdk/aws-kinesisanalytics-flink-alpha/test/integ.application.lit.js.snapshot/tree.json index a5810d986631b..8e7c036a3ed0e 100644 --- a/packages/@aws-cdk/aws-kinesisanalytics-flink-alpha/test/integ.application.lit.js.snapshot/tree.json +++ b/packages/@aws-cdk/aws-kinesisanalytics-flink-alpha/test/integ.application.lit.js.snapshot/tree.json @@ -8,17 +8,17 @@ "id": "FlinkAppTest", "path": "FlinkAppTest", "children": { - "App": { - "id": "App", - "path": "FlinkAppTest/App", + "App-FLINK-1_6": { + "id": "App-FLINK-1_6", + "path": "FlinkAppTest/App-FLINK-1_6", "children": { "Role": { "id": "Role", - "path": "FlinkAppTest/App/Role", + "path": "FlinkAppTest/App-FLINK-1_6/Role", "children": { "ImportRole": { "id": "ImportRole", - "path": "FlinkAppTest/App/Role/ImportRole", + "path": "FlinkAppTest/App-FLINK-1_6/Role/ImportRole", "constructInfo": { "fqn": "aws-cdk-lib.Resource", "version": "0.0.0" @@ -26,7 +26,7 @@ }, "Resource": { "id": "Resource", - "path": "FlinkAppTest/App/Role/Resource", + "path": "FlinkAppTest/App-FLINK-1_6/Role/Resource", "attributes": { "aws:cdk:cloudformation:type": "AWS::IAM::Role", "aws:cdk:cloudformation:props": { @@ -51,11 +51,11 @@ }, "DefaultPolicy": { "id": "DefaultPolicy", - "path": "FlinkAppTest/App/Role/DefaultPolicy", + "path": "FlinkAppTest/App-FLINK-1_6/Role/DefaultPolicy", "children": { "Resource": { "id": "Resource", - "path": "FlinkAppTest/App/Role/DefaultPolicy/Resource", + "path": "FlinkAppTest/App-FLINK-1_6/Role/DefaultPolicy/Resource", "attributes": { "aws:cdk:cloudformation:type": "AWS::IAM::Policy", "aws:cdk:cloudformation:props": { @@ -136,7 +136,7 @@ "Effect": "Allow", "Resource": { "Fn::GetAtt": [ - "AppLogGroupC72EEC8C", + "AppFLINK16LogGroup6709DAA8", "Arn" ] } @@ -162,11 +162,11 @@ }, ":log-group:", { - "Ref": "AppLogGroupC72EEC8C" + "Ref": "AppFLINK16LogGroup6709DAA8" }, ":log-stream:", { - "Ref": "AppLogStream3CAF66A7" + "Ref": "AppFLINK16LogStream203A3C4A" } ] ] @@ -175,10 +175,10 @@ ], "Version": "2012-10-17" }, - "policyName": "AppRoleDefaultPolicy9CADBAA1", + "policyName": "AppFLINK16RoleDefaultPolicy312C949D", "roles": [ { - "Ref": "AppRole1AF9B530" + "Ref": "AppFLINK16RoleA21DF652" } ] } @@ -202,11 +202,11 @@ }, "Code": { "id": "Code", - "path": "FlinkAppTest/App/Code", + "path": "FlinkAppTest/App-FLINK-1_6/Code", "children": { "Stage": { "id": "Stage", - "path": "FlinkAppTest/App/Code/Stage", + "path": "FlinkAppTest/App-FLINK-1_6/Code/Stage", "constructInfo": { "fqn": "aws-cdk-lib.AssetStaging", "version": "0.0.0" @@ -214,7 +214,7 @@ }, "AssetBucket": { "id": "AssetBucket", - "path": "FlinkAppTest/App/Code/AssetBucket", + "path": "FlinkAppTest/App-FLINK-1_6/Code/AssetBucket", "constructInfo": { "fqn": "aws-cdk-lib.aws_s3.BucketBase", "version": "0.0.0" @@ -228,7 +228,2437 @@ }, "Resource": { "id": "Resource", - "path": "FlinkAppTest/App/Resource", + "path": "FlinkAppTest/App-FLINK-1_6/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::KinesisAnalyticsV2::Application", + "aws:cdk:cloudformation:props": { + "applicationConfiguration": { + "applicationCodeConfiguration": { + "codeContent": { + "s3ContentLocation": { + "bucketArn": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":s3:::", + { + "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" + } + ] + ] + }, + "fileKey": "8be9e0b5f53d41e9a3b1d51c9572c65f24f8170a7188d0ed57fb7d571de4d577.zip" + } + }, + "codeContentType": "ZIPFILE" + }, + "applicationSnapshotConfiguration": { + "snapshotsEnabled": true + } + }, + "runtimeEnvironment": "FLINK-1_6", + "serviceExecutionRole": { + "Fn::GetAtt": [ + "AppFLINK16RoleA21DF652", + "Arn" + ] + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_kinesisanalytics.CfnApplicationV2", + "version": "0.0.0" + } + }, + "LogGroup": { + "id": "LogGroup", + "path": "FlinkAppTest/App-FLINK-1_6/LogGroup", + "children": { + "Resource": { + "id": "Resource", + "path": "FlinkAppTest/App-FLINK-1_6/LogGroup/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::Logs::LogGroup", + "aws:cdk:cloudformation:props": { + "retentionInDays": 731 + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_logs.CfnLogGroup", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_logs.LogGroup", + "version": "0.0.0" + } + }, + "LogStream": { + "id": "LogStream", + "path": "FlinkAppTest/App-FLINK-1_6/LogStream", + "children": { + "Resource": { + "id": "Resource", + "path": "FlinkAppTest/App-FLINK-1_6/LogStream/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::Logs::LogStream", + "aws:cdk:cloudformation:props": { + "logGroupName": { + "Ref": "AppFLINK16LogGroup6709DAA8" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_logs.CfnLogStream", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_logs.LogStream", + "version": "0.0.0" + } + }, + "LoggingOption": { + "id": "LoggingOption", + "path": "FlinkAppTest/App-FLINK-1_6/LoggingOption", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::KinesisAnalyticsV2::ApplicationCloudWatchLoggingOption", + "aws:cdk:cloudformation:props": { + "applicationName": { + "Ref": "AppFLINK16C87388A5" + }, + "cloudWatchLoggingOption": { + "logStreamArn": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":logs:", + { + "Ref": "AWS::Region" + }, + ":", + { + "Ref": "AWS::AccountId" + }, + ":log-group:", + { + "Ref": "AppFLINK16LogGroup6709DAA8" + }, + ":log-stream:", + { + "Ref": "AppFLINK16LogStream203A3C4A" + } + ] + ] + } + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_kinesisanalytics.CfnApplicationCloudWatchLoggingOptionV2", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.Resource", + "version": "0.0.0" + } + }, + "Alarm-FLINK-1_6": { + "id": "Alarm-FLINK-1_6", + "path": "FlinkAppTest/Alarm-FLINK-1_6", + "children": { + "Resource": { + "id": "Resource", + "path": "FlinkAppTest/Alarm-FLINK-1_6/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::CloudWatch::Alarm", + "aws:cdk:cloudformation:props": { + "comparisonOperator": "GreaterThanOrEqualToThreshold", + "dimensions": [ + { + "name": "Application", + "value": { + "Ref": "AppFLINK16C87388A5" + } + } + ], + "evaluationPeriods": 1, + "metricName": "fullRestarts", + "namespace": "AWS/KinesisAnalytics", + "period": 300, + "statistic": "Sum", + "threshold": 3 + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_cloudwatch.CfnAlarm", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_cloudwatch.Alarm", + "version": "0.0.0" + } + }, + "App-FLINK-1_8": { + "id": "App-FLINK-1_8", + "path": "FlinkAppTest/App-FLINK-1_8", + "children": { + "Role": { + "id": "Role", + "path": "FlinkAppTest/App-FLINK-1_8/Role", + "children": { + "ImportRole": { + "id": "ImportRole", + "path": "FlinkAppTest/App-FLINK-1_8/Role/ImportRole", + "constructInfo": { + "fqn": "aws-cdk-lib.Resource", + "version": "0.0.0" + } + }, + "Resource": { + "id": "Resource", + "path": "FlinkAppTest/App-FLINK-1_8/Role/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::IAM::Role", + "aws:cdk:cloudformation:props": { + "assumeRolePolicyDocument": { + "Statement": [ + { + "Action": "sts:AssumeRole", + "Effect": "Allow", + "Principal": { + "Service": "kinesisanalytics.amazonaws.com" + } + } + ], + "Version": "2012-10-17" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_iam.CfnRole", + "version": "0.0.0" + } + }, + "DefaultPolicy": { + "id": "DefaultPolicy", + "path": "FlinkAppTest/App-FLINK-1_8/Role/DefaultPolicy", + "children": { + "Resource": { + "id": "Resource", + "path": "FlinkAppTest/App-FLINK-1_8/Role/DefaultPolicy/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::IAM::Policy", + "aws:cdk:cloudformation:props": { + "policyDocument": { + "Statement": [ + { + "Action": "cloudwatch:PutMetricData", + "Effect": "Allow", + "Resource": "*" + }, + { + "Action": [ + "s3:GetBucket*", + "s3:GetObject*", + "s3:List*" + ], + "Effect": "Allow", + "Resource": [ + { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":s3:::", + { + "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" + }, + "/*" + ] + ] + }, + { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":s3:::", + { + "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" + } + ] + ] + } + ] + }, + { + "Action": "logs:DescribeLogGroups", + "Effect": "Allow", + "Resource": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":logs:", + { + "Ref": "AWS::Region" + }, + ":", + { + "Ref": "AWS::AccountId" + }, + ":log-group:*" + ] + ] + } + }, + { + "Action": "logs:DescribeLogStreams", + "Effect": "Allow", + "Resource": { + "Fn::GetAtt": [ + "AppFLINK18LogGroupEC247BE6", + "Arn" + ] + } + }, + { + "Action": "logs:PutLogEvents", + "Effect": "Allow", + "Resource": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":logs:", + { + "Ref": "AWS::Region" + }, + ":", + { + "Ref": "AWS::AccountId" + }, + ":log-group:", + { + "Ref": "AppFLINK18LogGroupEC247BE6" + }, + ":log-stream:", + { + "Ref": "AppFLINK18LogStream773D6792" + } + ] + ] + } + } + ], + "Version": "2012-10-17" + }, + "policyName": "AppFLINK18RoleDefaultPolicy3E0E376C", + "roles": [ + { + "Ref": "AppFLINK18RoleF2B5E704" + } + ] + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_iam.CfnPolicy", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_iam.Policy", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_iam.Role", + "version": "0.0.0" + } + }, + "Code": { + "id": "Code", + "path": "FlinkAppTest/App-FLINK-1_8/Code", + "children": { + "Stage": { + "id": "Stage", + "path": "FlinkAppTest/App-FLINK-1_8/Code/Stage", + "constructInfo": { + "fqn": "aws-cdk-lib.AssetStaging", + "version": "0.0.0" + } + }, + "AssetBucket": { + "id": "AssetBucket", + "path": "FlinkAppTest/App-FLINK-1_8/Code/AssetBucket", + "constructInfo": { + "fqn": "aws-cdk-lib.aws_s3.BucketBase", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_s3_assets.Asset", + "version": "0.0.0" + } + }, + "Resource": { + "id": "Resource", + "path": "FlinkAppTest/App-FLINK-1_8/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::KinesisAnalyticsV2::Application", + "aws:cdk:cloudformation:props": { + "applicationConfiguration": { + "applicationCodeConfiguration": { + "codeContent": { + "s3ContentLocation": { + "bucketArn": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":s3:::", + { + "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" + } + ] + ] + }, + "fileKey": "8be9e0b5f53d41e9a3b1d51c9572c65f24f8170a7188d0ed57fb7d571de4d577.zip" + } + }, + "codeContentType": "ZIPFILE" + }, + "applicationSnapshotConfiguration": { + "snapshotsEnabled": true + } + }, + "runtimeEnvironment": "FLINK-1_8", + "serviceExecutionRole": { + "Fn::GetAtt": [ + "AppFLINK18RoleF2B5E704", + "Arn" + ] + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_kinesisanalytics.CfnApplicationV2", + "version": "0.0.0" + } + }, + "LogGroup": { + "id": "LogGroup", + "path": "FlinkAppTest/App-FLINK-1_8/LogGroup", + "children": { + "Resource": { + "id": "Resource", + "path": "FlinkAppTest/App-FLINK-1_8/LogGroup/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::Logs::LogGroup", + "aws:cdk:cloudformation:props": { + "retentionInDays": 731 + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_logs.CfnLogGroup", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_logs.LogGroup", + "version": "0.0.0" + } + }, + "LogStream": { + "id": "LogStream", + "path": "FlinkAppTest/App-FLINK-1_8/LogStream", + "children": { + "Resource": { + "id": "Resource", + "path": "FlinkAppTest/App-FLINK-1_8/LogStream/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::Logs::LogStream", + "aws:cdk:cloudformation:props": { + "logGroupName": { + "Ref": "AppFLINK18LogGroupEC247BE6" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_logs.CfnLogStream", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_logs.LogStream", + "version": "0.0.0" + } + }, + "LoggingOption": { + "id": "LoggingOption", + "path": "FlinkAppTest/App-FLINK-1_8/LoggingOption", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::KinesisAnalyticsV2::ApplicationCloudWatchLoggingOption", + "aws:cdk:cloudformation:props": { + "applicationName": { + "Ref": "AppFLINK18DFC0B750" + }, + "cloudWatchLoggingOption": { + "logStreamArn": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":logs:", + { + "Ref": "AWS::Region" + }, + ":", + { + "Ref": "AWS::AccountId" + }, + ":log-group:", + { + "Ref": "AppFLINK18LogGroupEC247BE6" + }, + ":log-stream:", + { + "Ref": "AppFLINK18LogStream773D6792" + } + ] + ] + } + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_kinesisanalytics.CfnApplicationCloudWatchLoggingOptionV2", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.Resource", + "version": "0.0.0" + } + }, + "Alarm-FLINK-1_8": { + "id": "Alarm-FLINK-1_8", + "path": "FlinkAppTest/Alarm-FLINK-1_8", + "children": { + "Resource": { + "id": "Resource", + "path": "FlinkAppTest/Alarm-FLINK-1_8/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::CloudWatch::Alarm", + "aws:cdk:cloudformation:props": { + "comparisonOperator": "GreaterThanOrEqualToThreshold", + "dimensions": [ + { + "name": "Application", + "value": { + "Ref": "AppFLINK18DFC0B750" + } + } + ], + "evaluationPeriods": 1, + "metricName": "fullRestarts", + "namespace": "AWS/KinesisAnalytics", + "period": 300, + "statistic": "Sum", + "threshold": 3 + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_cloudwatch.CfnAlarm", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_cloudwatch.Alarm", + "version": "0.0.0" + } + }, + "App-FLINK-1_11": { + "id": "App-FLINK-1_11", + "path": "FlinkAppTest/App-FLINK-1_11", + "children": { + "Role": { + "id": "Role", + "path": "FlinkAppTest/App-FLINK-1_11/Role", + "children": { + "ImportRole": { + "id": "ImportRole", + "path": "FlinkAppTest/App-FLINK-1_11/Role/ImportRole", + "constructInfo": { + "fqn": "aws-cdk-lib.Resource", + "version": "0.0.0" + } + }, + "Resource": { + "id": "Resource", + "path": "FlinkAppTest/App-FLINK-1_11/Role/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::IAM::Role", + "aws:cdk:cloudformation:props": { + "assumeRolePolicyDocument": { + "Statement": [ + { + "Action": "sts:AssumeRole", + "Effect": "Allow", + "Principal": { + "Service": "kinesisanalytics.amazonaws.com" + } + } + ], + "Version": "2012-10-17" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_iam.CfnRole", + "version": "0.0.0" + } + }, + "DefaultPolicy": { + "id": "DefaultPolicy", + "path": "FlinkAppTest/App-FLINK-1_11/Role/DefaultPolicy", + "children": { + "Resource": { + "id": "Resource", + "path": "FlinkAppTest/App-FLINK-1_11/Role/DefaultPolicy/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::IAM::Policy", + "aws:cdk:cloudformation:props": { + "policyDocument": { + "Statement": [ + { + "Action": "cloudwatch:PutMetricData", + "Effect": "Allow", + "Resource": "*" + }, + { + "Action": [ + "s3:GetBucket*", + "s3:GetObject*", + "s3:List*" + ], + "Effect": "Allow", + "Resource": [ + { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":s3:::", + { + "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" + }, + "/*" + ] + ] + }, + { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":s3:::", + { + "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" + } + ] + ] + } + ] + }, + { + "Action": "logs:DescribeLogGroups", + "Effect": "Allow", + "Resource": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":logs:", + { + "Ref": "AWS::Region" + }, + ":", + { + "Ref": "AWS::AccountId" + }, + ":log-group:*" + ] + ] + } + }, + { + "Action": "logs:DescribeLogStreams", + "Effect": "Allow", + "Resource": { + "Fn::GetAtt": [ + "AppFLINK111LogGroup8B96ECB4", + "Arn" + ] + } + }, + { + "Action": "logs:PutLogEvents", + "Effect": "Allow", + "Resource": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":logs:", + { + "Ref": "AWS::Region" + }, + ":", + { + "Ref": "AWS::AccountId" + }, + ":log-group:", + { + "Ref": "AppFLINK111LogGroup8B96ECB4" + }, + ":log-stream:", + { + "Ref": "AppFLINK111LogStream9FBA643C" + } + ] + ] + } + } + ], + "Version": "2012-10-17" + }, + "policyName": "AppFLINK111RoleDefaultPolicy76505541", + "roles": [ + { + "Ref": "AppFLINK111Role85754B20" + } + ] + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_iam.CfnPolicy", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_iam.Policy", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_iam.Role", + "version": "0.0.0" + } + }, + "Code": { + "id": "Code", + "path": "FlinkAppTest/App-FLINK-1_11/Code", + "children": { + "Stage": { + "id": "Stage", + "path": "FlinkAppTest/App-FLINK-1_11/Code/Stage", + "constructInfo": { + "fqn": "aws-cdk-lib.AssetStaging", + "version": "0.0.0" + } + }, + "AssetBucket": { + "id": "AssetBucket", + "path": "FlinkAppTest/App-FLINK-1_11/Code/AssetBucket", + "constructInfo": { + "fqn": "aws-cdk-lib.aws_s3.BucketBase", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_s3_assets.Asset", + "version": "0.0.0" + } + }, + "Resource": { + "id": "Resource", + "path": "FlinkAppTest/App-FLINK-1_11/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::KinesisAnalyticsV2::Application", + "aws:cdk:cloudformation:props": { + "applicationConfiguration": { + "applicationCodeConfiguration": { + "codeContent": { + "s3ContentLocation": { + "bucketArn": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":s3:::", + { + "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" + } + ] + ] + }, + "fileKey": "8be9e0b5f53d41e9a3b1d51c9572c65f24f8170a7188d0ed57fb7d571de4d577.zip" + } + }, + "codeContentType": "ZIPFILE" + }, + "applicationSnapshotConfiguration": { + "snapshotsEnabled": true + } + }, + "runtimeEnvironment": "FLINK-1_11", + "serviceExecutionRole": { + "Fn::GetAtt": [ + "AppFLINK111Role85754B20", + "Arn" + ] + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_kinesisanalytics.CfnApplicationV2", + "version": "0.0.0" + } + }, + "LogGroup": { + "id": "LogGroup", + "path": "FlinkAppTest/App-FLINK-1_11/LogGroup", + "children": { + "Resource": { + "id": "Resource", + "path": "FlinkAppTest/App-FLINK-1_11/LogGroup/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::Logs::LogGroup", + "aws:cdk:cloudformation:props": { + "retentionInDays": 731 + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_logs.CfnLogGroup", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_logs.LogGroup", + "version": "0.0.0" + } + }, + "LogStream": { + "id": "LogStream", + "path": "FlinkAppTest/App-FLINK-1_11/LogStream", + "children": { + "Resource": { + "id": "Resource", + "path": "FlinkAppTest/App-FLINK-1_11/LogStream/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::Logs::LogStream", + "aws:cdk:cloudformation:props": { + "logGroupName": { + "Ref": "AppFLINK111LogGroup8B96ECB4" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_logs.CfnLogStream", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_logs.LogStream", + "version": "0.0.0" + } + }, + "LoggingOption": { + "id": "LoggingOption", + "path": "FlinkAppTest/App-FLINK-1_11/LoggingOption", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::KinesisAnalyticsV2::ApplicationCloudWatchLoggingOption", + "aws:cdk:cloudformation:props": { + "applicationName": { + "Ref": "AppFLINK1115BD3FEB8" + }, + "cloudWatchLoggingOption": { + "logStreamArn": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":logs:", + { + "Ref": "AWS::Region" + }, + ":", + { + "Ref": "AWS::AccountId" + }, + ":log-group:", + { + "Ref": "AppFLINK111LogGroup8B96ECB4" + }, + ":log-stream:", + { + "Ref": "AppFLINK111LogStream9FBA643C" + } + ] + ] + } + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_kinesisanalytics.CfnApplicationCloudWatchLoggingOptionV2", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.Resource", + "version": "0.0.0" + } + }, + "Alarm-FLINK-1_11": { + "id": "Alarm-FLINK-1_11", + "path": "FlinkAppTest/Alarm-FLINK-1_11", + "children": { + "Resource": { + "id": "Resource", + "path": "FlinkAppTest/Alarm-FLINK-1_11/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::CloudWatch::Alarm", + "aws:cdk:cloudformation:props": { + "comparisonOperator": "GreaterThanOrEqualToThreshold", + "dimensions": [ + { + "name": "Application", + "value": { + "Ref": "AppFLINK1115BD3FEB8" + } + } + ], + "evaluationPeriods": 1, + "metricName": "fullRestarts", + "namespace": "AWS/KinesisAnalytics", + "period": 300, + "statistic": "Sum", + "threshold": 3 + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_cloudwatch.CfnAlarm", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_cloudwatch.Alarm", + "version": "0.0.0" + } + }, + "App-FLINK-1_13": { + "id": "App-FLINK-1_13", + "path": "FlinkAppTest/App-FLINK-1_13", + "children": { + "Role": { + "id": "Role", + "path": "FlinkAppTest/App-FLINK-1_13/Role", + "children": { + "ImportRole": { + "id": "ImportRole", + "path": "FlinkAppTest/App-FLINK-1_13/Role/ImportRole", + "constructInfo": { + "fqn": "aws-cdk-lib.Resource", + "version": "0.0.0" + } + }, + "Resource": { + "id": "Resource", + "path": "FlinkAppTest/App-FLINK-1_13/Role/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::IAM::Role", + "aws:cdk:cloudformation:props": { + "assumeRolePolicyDocument": { + "Statement": [ + { + "Action": "sts:AssumeRole", + "Effect": "Allow", + "Principal": { + "Service": "kinesisanalytics.amazonaws.com" + } + } + ], + "Version": "2012-10-17" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_iam.CfnRole", + "version": "0.0.0" + } + }, + "DefaultPolicy": { + "id": "DefaultPolicy", + "path": "FlinkAppTest/App-FLINK-1_13/Role/DefaultPolicy", + "children": { + "Resource": { + "id": "Resource", + "path": "FlinkAppTest/App-FLINK-1_13/Role/DefaultPolicy/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::IAM::Policy", + "aws:cdk:cloudformation:props": { + "policyDocument": { + "Statement": [ + { + "Action": "cloudwatch:PutMetricData", + "Effect": "Allow", + "Resource": "*" + }, + { + "Action": [ + "s3:GetBucket*", + "s3:GetObject*", + "s3:List*" + ], + "Effect": "Allow", + "Resource": [ + { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":s3:::", + { + "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" + }, + "/*" + ] + ] + }, + { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":s3:::", + { + "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" + } + ] + ] + } + ] + }, + { + "Action": "logs:DescribeLogGroups", + "Effect": "Allow", + "Resource": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":logs:", + { + "Ref": "AWS::Region" + }, + ":", + { + "Ref": "AWS::AccountId" + }, + ":log-group:*" + ] + ] + } + }, + { + "Action": "logs:DescribeLogStreams", + "Effect": "Allow", + "Resource": { + "Fn::GetAtt": [ + "AppFLINK113LogGroupF5F42067", + "Arn" + ] + } + }, + { + "Action": "logs:PutLogEvents", + "Effect": "Allow", + "Resource": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":logs:", + { + "Ref": "AWS::Region" + }, + ":", + { + "Ref": "AWS::AccountId" + }, + ":log-group:", + { + "Ref": "AppFLINK113LogGroupF5F42067" + }, + ":log-stream:", + { + "Ref": "AppFLINK113LogStream63C2732B" + } + ] + ] + } + } + ], + "Version": "2012-10-17" + }, + "policyName": "AppFLINK113RoleDefaultPolicy701032C8", + "roles": [ + { + "Ref": "AppFLINK113RoleE0638828" + } + ] + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_iam.CfnPolicy", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_iam.Policy", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_iam.Role", + "version": "0.0.0" + } + }, + "Code": { + "id": "Code", + "path": "FlinkAppTest/App-FLINK-1_13/Code", + "children": { + "Stage": { + "id": "Stage", + "path": "FlinkAppTest/App-FLINK-1_13/Code/Stage", + "constructInfo": { + "fqn": "aws-cdk-lib.AssetStaging", + "version": "0.0.0" + } + }, + "AssetBucket": { + "id": "AssetBucket", + "path": "FlinkAppTest/App-FLINK-1_13/Code/AssetBucket", + "constructInfo": { + "fqn": "aws-cdk-lib.aws_s3.BucketBase", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_s3_assets.Asset", + "version": "0.0.0" + } + }, + "Resource": { + "id": "Resource", + "path": "FlinkAppTest/App-FLINK-1_13/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::KinesisAnalyticsV2::Application", + "aws:cdk:cloudformation:props": { + "applicationConfiguration": { + "applicationCodeConfiguration": { + "codeContent": { + "s3ContentLocation": { + "bucketArn": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":s3:::", + { + "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" + } + ] + ] + }, + "fileKey": "8be9e0b5f53d41e9a3b1d51c9572c65f24f8170a7188d0ed57fb7d571de4d577.zip" + } + }, + "codeContentType": "ZIPFILE" + }, + "applicationSnapshotConfiguration": { + "snapshotsEnabled": true + } + }, + "runtimeEnvironment": "FLINK-1_13", + "serviceExecutionRole": { + "Fn::GetAtt": [ + "AppFLINK113RoleE0638828", + "Arn" + ] + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_kinesisanalytics.CfnApplicationV2", + "version": "0.0.0" + } + }, + "LogGroup": { + "id": "LogGroup", + "path": "FlinkAppTest/App-FLINK-1_13/LogGroup", + "children": { + "Resource": { + "id": "Resource", + "path": "FlinkAppTest/App-FLINK-1_13/LogGroup/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::Logs::LogGroup", + "aws:cdk:cloudformation:props": { + "retentionInDays": 731 + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_logs.CfnLogGroup", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_logs.LogGroup", + "version": "0.0.0" + } + }, + "LogStream": { + "id": "LogStream", + "path": "FlinkAppTest/App-FLINK-1_13/LogStream", + "children": { + "Resource": { + "id": "Resource", + "path": "FlinkAppTest/App-FLINK-1_13/LogStream/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::Logs::LogStream", + "aws:cdk:cloudformation:props": { + "logGroupName": { + "Ref": "AppFLINK113LogGroupF5F42067" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_logs.CfnLogStream", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_logs.LogStream", + "version": "0.0.0" + } + }, + "LoggingOption": { + "id": "LoggingOption", + "path": "FlinkAppTest/App-FLINK-1_13/LoggingOption", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::KinesisAnalyticsV2::ApplicationCloudWatchLoggingOption", + "aws:cdk:cloudformation:props": { + "applicationName": { + "Ref": "AppFLINK1138C7FE76E" + }, + "cloudWatchLoggingOption": { + "logStreamArn": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":logs:", + { + "Ref": "AWS::Region" + }, + ":", + { + "Ref": "AWS::AccountId" + }, + ":log-group:", + { + "Ref": "AppFLINK113LogGroupF5F42067" + }, + ":log-stream:", + { + "Ref": "AppFLINK113LogStream63C2732B" + } + ] + ] + } + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_kinesisanalytics.CfnApplicationCloudWatchLoggingOptionV2", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.Resource", + "version": "0.0.0" + } + }, + "Alarm-FLINK-1_13": { + "id": "Alarm-FLINK-1_13", + "path": "FlinkAppTest/Alarm-FLINK-1_13", + "children": { + "Resource": { + "id": "Resource", + "path": "FlinkAppTest/Alarm-FLINK-1_13/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::CloudWatch::Alarm", + "aws:cdk:cloudformation:props": { + "comparisonOperator": "GreaterThanOrEqualToThreshold", + "dimensions": [ + { + "name": "Application", + "value": { + "Ref": "AppFLINK1138C7FE76E" + } + } + ], + "evaluationPeriods": 1, + "metricName": "fullRestarts", + "namespace": "AWS/KinesisAnalytics", + "period": 300, + "statistic": "Sum", + "threshold": 3 + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_cloudwatch.CfnAlarm", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_cloudwatch.Alarm", + "version": "0.0.0" + } + }, + "App-FLINK-1_15": { + "id": "App-FLINK-1_15", + "path": "FlinkAppTest/App-FLINK-1_15", + "children": { + "Role": { + "id": "Role", + "path": "FlinkAppTest/App-FLINK-1_15/Role", + "children": { + "ImportRole": { + "id": "ImportRole", + "path": "FlinkAppTest/App-FLINK-1_15/Role/ImportRole", + "constructInfo": { + "fqn": "aws-cdk-lib.Resource", + "version": "0.0.0" + } + }, + "Resource": { + "id": "Resource", + "path": "FlinkAppTest/App-FLINK-1_15/Role/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::IAM::Role", + "aws:cdk:cloudformation:props": { + "assumeRolePolicyDocument": { + "Statement": [ + { + "Action": "sts:AssumeRole", + "Effect": "Allow", + "Principal": { + "Service": "kinesisanalytics.amazonaws.com" + } + } + ], + "Version": "2012-10-17" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_iam.CfnRole", + "version": "0.0.0" + } + }, + "DefaultPolicy": { + "id": "DefaultPolicy", + "path": "FlinkAppTest/App-FLINK-1_15/Role/DefaultPolicy", + "children": { + "Resource": { + "id": "Resource", + "path": "FlinkAppTest/App-FLINK-1_15/Role/DefaultPolicy/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::IAM::Policy", + "aws:cdk:cloudformation:props": { + "policyDocument": { + "Statement": [ + { + "Action": "cloudwatch:PutMetricData", + "Effect": "Allow", + "Resource": "*" + }, + { + "Action": [ + "s3:GetBucket*", + "s3:GetObject*", + "s3:List*" + ], + "Effect": "Allow", + "Resource": [ + { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":s3:::", + { + "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" + }, + "/*" + ] + ] + }, + { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":s3:::", + { + "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" + } + ] + ] + } + ] + }, + { + "Action": "logs:DescribeLogGroups", + "Effect": "Allow", + "Resource": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":logs:", + { + "Ref": "AWS::Region" + }, + ":", + { + "Ref": "AWS::AccountId" + }, + ":log-group:*" + ] + ] + } + }, + { + "Action": "logs:DescribeLogStreams", + "Effect": "Allow", + "Resource": { + "Fn::GetAtt": [ + "AppFLINK115LogGroupBACCAB69", + "Arn" + ] + } + }, + { + "Action": "logs:PutLogEvents", + "Effect": "Allow", + "Resource": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":logs:", + { + "Ref": "AWS::Region" + }, + ":", + { + "Ref": "AWS::AccountId" + }, + ":log-group:", + { + "Ref": "AppFLINK115LogGroupBACCAB69" + }, + ":log-stream:", + { + "Ref": "AppFLINK115LogStreamD7900E5F" + } + ] + ] + } + } + ], + "Version": "2012-10-17" + }, + "policyName": "AppFLINK115RoleDefaultPolicy402697BF", + "roles": [ + { + "Ref": "AppFLINK115RoleD758509C" + } + ] + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_iam.CfnPolicy", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_iam.Policy", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_iam.Role", + "version": "0.0.0" + } + }, + "Code": { + "id": "Code", + "path": "FlinkAppTest/App-FLINK-1_15/Code", + "children": { + "Stage": { + "id": "Stage", + "path": "FlinkAppTest/App-FLINK-1_15/Code/Stage", + "constructInfo": { + "fqn": "aws-cdk-lib.AssetStaging", + "version": "0.0.0" + } + }, + "AssetBucket": { + "id": "AssetBucket", + "path": "FlinkAppTest/App-FLINK-1_15/Code/AssetBucket", + "constructInfo": { + "fqn": "aws-cdk-lib.aws_s3.BucketBase", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_s3_assets.Asset", + "version": "0.0.0" + } + }, + "Resource": { + "id": "Resource", + "path": "FlinkAppTest/App-FLINK-1_15/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::KinesisAnalyticsV2::Application", + "aws:cdk:cloudformation:props": { + "applicationConfiguration": { + "applicationCodeConfiguration": { + "codeContent": { + "s3ContentLocation": { + "bucketArn": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":s3:::", + { + "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" + } + ] + ] + }, + "fileKey": "8be9e0b5f53d41e9a3b1d51c9572c65f24f8170a7188d0ed57fb7d571de4d577.zip" + } + }, + "codeContentType": "ZIPFILE" + }, + "applicationSnapshotConfiguration": { + "snapshotsEnabled": true + } + }, + "runtimeEnvironment": "FLINK-1_15", + "serviceExecutionRole": { + "Fn::GetAtt": [ + "AppFLINK115RoleD758509C", + "Arn" + ] + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_kinesisanalytics.CfnApplicationV2", + "version": "0.0.0" + } + }, + "LogGroup": { + "id": "LogGroup", + "path": "FlinkAppTest/App-FLINK-1_15/LogGroup", + "children": { + "Resource": { + "id": "Resource", + "path": "FlinkAppTest/App-FLINK-1_15/LogGroup/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::Logs::LogGroup", + "aws:cdk:cloudformation:props": { + "retentionInDays": 731 + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_logs.CfnLogGroup", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_logs.LogGroup", + "version": "0.0.0" + } + }, + "LogStream": { + "id": "LogStream", + "path": "FlinkAppTest/App-FLINK-1_15/LogStream", + "children": { + "Resource": { + "id": "Resource", + "path": "FlinkAppTest/App-FLINK-1_15/LogStream/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::Logs::LogStream", + "aws:cdk:cloudformation:props": { + "logGroupName": { + "Ref": "AppFLINK115LogGroupBACCAB69" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_logs.CfnLogStream", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_logs.LogStream", + "version": "0.0.0" + } + }, + "LoggingOption": { + "id": "LoggingOption", + "path": "FlinkAppTest/App-FLINK-1_15/LoggingOption", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::KinesisAnalyticsV2::ApplicationCloudWatchLoggingOption", + "aws:cdk:cloudformation:props": { + "applicationName": { + "Ref": "AppFLINK11548C6DD0B" + }, + "cloudWatchLoggingOption": { + "logStreamArn": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":logs:", + { + "Ref": "AWS::Region" + }, + ":", + { + "Ref": "AWS::AccountId" + }, + ":log-group:", + { + "Ref": "AppFLINK115LogGroupBACCAB69" + }, + ":log-stream:", + { + "Ref": "AppFLINK115LogStreamD7900E5F" + } + ] + ] + } + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_kinesisanalytics.CfnApplicationCloudWatchLoggingOptionV2", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.Resource", + "version": "0.0.0" + } + }, + "Alarm-FLINK-1_15": { + "id": "Alarm-FLINK-1_15", + "path": "FlinkAppTest/Alarm-FLINK-1_15", + "children": { + "Resource": { + "id": "Resource", + "path": "FlinkAppTest/Alarm-FLINK-1_15/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::CloudWatch::Alarm", + "aws:cdk:cloudformation:props": { + "comparisonOperator": "GreaterThanOrEqualToThreshold", + "dimensions": [ + { + "name": "Application", + "value": { + "Ref": "AppFLINK11548C6DD0B" + } + } + ], + "evaluationPeriods": 1, + "metricName": "fullRestarts", + "namespace": "AWS/KinesisAnalytics", + "period": 300, + "statistic": "Sum", + "threshold": 3 + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_cloudwatch.CfnAlarm", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_cloudwatch.Alarm", + "version": "0.0.0" + } + }, + "App-FLINK-1_18": { + "id": "App-FLINK-1_18", + "path": "FlinkAppTest/App-FLINK-1_18", + "children": { + "Role": { + "id": "Role", + "path": "FlinkAppTest/App-FLINK-1_18/Role", + "children": { + "ImportRole": { + "id": "ImportRole", + "path": "FlinkAppTest/App-FLINK-1_18/Role/ImportRole", + "constructInfo": { + "fqn": "aws-cdk-lib.Resource", + "version": "0.0.0" + } + }, + "Resource": { + "id": "Resource", + "path": "FlinkAppTest/App-FLINK-1_18/Role/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::IAM::Role", + "aws:cdk:cloudformation:props": { + "assumeRolePolicyDocument": { + "Statement": [ + { + "Action": "sts:AssumeRole", + "Effect": "Allow", + "Principal": { + "Service": "kinesisanalytics.amazonaws.com" + } + } + ], + "Version": "2012-10-17" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_iam.CfnRole", + "version": "0.0.0" + } + }, + "DefaultPolicy": { + "id": "DefaultPolicy", + "path": "FlinkAppTest/App-FLINK-1_18/Role/DefaultPolicy", + "children": { + "Resource": { + "id": "Resource", + "path": "FlinkAppTest/App-FLINK-1_18/Role/DefaultPolicy/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::IAM::Policy", + "aws:cdk:cloudformation:props": { + "policyDocument": { + "Statement": [ + { + "Action": "cloudwatch:PutMetricData", + "Effect": "Allow", + "Resource": "*" + }, + { + "Action": [ + "s3:GetBucket*", + "s3:GetObject*", + "s3:List*" + ], + "Effect": "Allow", + "Resource": [ + { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":s3:::", + { + "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" + }, + "/*" + ] + ] + }, + { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":s3:::", + { + "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" + } + ] + ] + } + ] + }, + { + "Action": "logs:DescribeLogGroups", + "Effect": "Allow", + "Resource": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":logs:", + { + "Ref": "AWS::Region" + }, + ":", + { + "Ref": "AWS::AccountId" + }, + ":log-group:*" + ] + ] + } + }, + { + "Action": "logs:DescribeLogStreams", + "Effect": "Allow", + "Resource": { + "Fn::GetAtt": [ + "AppFLINK118LogGroupEF87F95A", + "Arn" + ] + } + }, + { + "Action": "logs:PutLogEvents", + "Effect": "Allow", + "Resource": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":logs:", + { + "Ref": "AWS::Region" + }, + ":", + { + "Ref": "AWS::AccountId" + }, + ":log-group:", + { + "Ref": "AppFLINK118LogGroupEF87F95A" + }, + ":log-stream:", + { + "Ref": "AppFLINK118LogStreamAFAF3379" + } + ] + ] + } + } + ], + "Version": "2012-10-17" + }, + "policyName": "AppFLINK118RoleDefaultPolicy1D8097BB", + "roles": [ + { + "Ref": "AppFLINK118Role1B878112" + } + ] + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_iam.CfnPolicy", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_iam.Policy", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_iam.Role", + "version": "0.0.0" + } + }, + "Code": { + "id": "Code", + "path": "FlinkAppTest/App-FLINK-1_18/Code", + "children": { + "Stage": { + "id": "Stage", + "path": "FlinkAppTest/App-FLINK-1_18/Code/Stage", + "constructInfo": { + "fqn": "aws-cdk-lib.AssetStaging", + "version": "0.0.0" + } + }, + "AssetBucket": { + "id": "AssetBucket", + "path": "FlinkAppTest/App-FLINK-1_18/Code/AssetBucket", + "constructInfo": { + "fqn": "aws-cdk-lib.aws_s3.BucketBase", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_s3_assets.Asset", + "version": "0.0.0" + } + }, + "Resource": { + "id": "Resource", + "path": "FlinkAppTest/App-FLINK-1_18/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::KinesisAnalyticsV2::Application", + "aws:cdk:cloudformation:props": { + "applicationConfiguration": { + "applicationCodeConfiguration": { + "codeContent": { + "s3ContentLocation": { + "bucketArn": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":s3:::", + { + "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" + } + ] + ] + }, + "fileKey": "8be9e0b5f53d41e9a3b1d51c9572c65f24f8170a7188d0ed57fb7d571de4d577.zip" + } + }, + "codeContentType": "ZIPFILE" + }, + "applicationSnapshotConfiguration": { + "snapshotsEnabled": true + } + }, + "runtimeEnvironment": "FLINK-1_18", + "serviceExecutionRole": { + "Fn::GetAtt": [ + "AppFLINK118Role1B878112", + "Arn" + ] + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_kinesisanalytics.CfnApplicationV2", + "version": "0.0.0" + } + }, + "LogGroup": { + "id": "LogGroup", + "path": "FlinkAppTest/App-FLINK-1_18/LogGroup", + "children": { + "Resource": { + "id": "Resource", + "path": "FlinkAppTest/App-FLINK-1_18/LogGroup/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::Logs::LogGroup", + "aws:cdk:cloudformation:props": { + "retentionInDays": 731 + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_logs.CfnLogGroup", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_logs.LogGroup", + "version": "0.0.0" + } + }, + "LogStream": { + "id": "LogStream", + "path": "FlinkAppTest/App-FLINK-1_18/LogStream", + "children": { + "Resource": { + "id": "Resource", + "path": "FlinkAppTest/App-FLINK-1_18/LogStream/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::Logs::LogStream", + "aws:cdk:cloudformation:props": { + "logGroupName": { + "Ref": "AppFLINK118LogGroupEF87F95A" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_logs.CfnLogStream", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_logs.LogStream", + "version": "0.0.0" + } + }, + "LoggingOption": { + "id": "LoggingOption", + "path": "FlinkAppTest/App-FLINK-1_18/LoggingOption", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::KinesisAnalyticsV2::ApplicationCloudWatchLoggingOption", + "aws:cdk:cloudformation:props": { + "applicationName": { + "Ref": "AppFLINK118BEACE639" + }, + "cloudWatchLoggingOption": { + "logStreamArn": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":logs:", + { + "Ref": "AWS::Region" + }, + ":", + { + "Ref": "AWS::AccountId" + }, + ":log-group:", + { + "Ref": "AppFLINK118LogGroupEF87F95A" + }, + ":log-stream:", + { + "Ref": "AppFLINK118LogStreamAFAF3379" + } + ] + ] + } + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_kinesisanalytics.CfnApplicationCloudWatchLoggingOptionV2", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.Resource", + "version": "0.0.0" + } + }, + "Alarm-FLINK-1_18": { + "id": "Alarm-FLINK-1_18", + "path": "FlinkAppTest/Alarm-FLINK-1_18", + "children": { + "Resource": { + "id": "Resource", + "path": "FlinkAppTest/Alarm-FLINK-1_18/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::CloudWatch::Alarm", + "aws:cdk:cloudformation:props": { + "comparisonOperator": "GreaterThanOrEqualToThreshold", + "dimensions": [ + { + "name": "Application", + "value": { + "Ref": "AppFLINK118BEACE639" + } + } + ], + "evaluationPeriods": 1, + "metricName": "fullRestarts", + "namespace": "AWS/KinesisAnalytics", + "period": 300, + "statistic": "Sum", + "threshold": 3 + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_cloudwatch.CfnAlarm", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_cloudwatch.Alarm", + "version": "0.0.0" + } + }, + "App-FLINK-1_19": { + "id": "App-FLINK-1_19", + "path": "FlinkAppTest/App-FLINK-1_19", + "children": { + "Role": { + "id": "Role", + "path": "FlinkAppTest/App-FLINK-1_19/Role", + "children": { + "ImportRole": { + "id": "ImportRole", + "path": "FlinkAppTest/App-FLINK-1_19/Role/ImportRole", + "constructInfo": { + "fqn": "aws-cdk-lib.Resource", + "version": "0.0.0" + } + }, + "Resource": { + "id": "Resource", + "path": "FlinkAppTest/App-FLINK-1_19/Role/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::IAM::Role", + "aws:cdk:cloudformation:props": { + "assumeRolePolicyDocument": { + "Statement": [ + { + "Action": "sts:AssumeRole", + "Effect": "Allow", + "Principal": { + "Service": "kinesisanalytics.amazonaws.com" + } + } + ], + "Version": "2012-10-17" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_iam.CfnRole", + "version": "0.0.0" + } + }, + "DefaultPolicy": { + "id": "DefaultPolicy", + "path": "FlinkAppTest/App-FLINK-1_19/Role/DefaultPolicy", + "children": { + "Resource": { + "id": "Resource", + "path": "FlinkAppTest/App-FLINK-1_19/Role/DefaultPolicy/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::IAM::Policy", + "aws:cdk:cloudformation:props": { + "policyDocument": { + "Statement": [ + { + "Action": "cloudwatch:PutMetricData", + "Effect": "Allow", + "Resource": "*" + }, + { + "Action": [ + "s3:GetBucket*", + "s3:GetObject*", + "s3:List*" + ], + "Effect": "Allow", + "Resource": [ + { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":s3:::", + { + "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" + }, + "/*" + ] + ] + }, + { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":s3:::", + { + "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" + } + ] + ] + } + ] + }, + { + "Action": "logs:DescribeLogGroups", + "Effect": "Allow", + "Resource": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":logs:", + { + "Ref": "AWS::Region" + }, + ":", + { + "Ref": "AWS::AccountId" + }, + ":log-group:*" + ] + ] + } + }, + { + "Action": "logs:DescribeLogStreams", + "Effect": "Allow", + "Resource": { + "Fn::GetAtt": [ + "AppFLINK119LogGroup472EA32B", + "Arn" + ] + } + }, + { + "Action": "logs:PutLogEvents", + "Effect": "Allow", + "Resource": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":logs:", + { + "Ref": "AWS::Region" + }, + ":", + { + "Ref": "AWS::AccountId" + }, + ":log-group:", + { + "Ref": "AppFLINK119LogGroup472EA32B" + }, + ":log-stream:", + { + "Ref": "AppFLINK119LogStream5FD726B5" + } + ] + ] + } + } + ], + "Version": "2012-10-17" + }, + "policyName": "AppFLINK119RoleDefaultPolicy6EB1C39D", + "roles": [ + { + "Ref": "AppFLINK119Role6594F124" + } + ] + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_iam.CfnPolicy", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_iam.Policy", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_iam.Role", + "version": "0.0.0" + } + }, + "Code": { + "id": "Code", + "path": "FlinkAppTest/App-FLINK-1_19/Code", + "children": { + "Stage": { + "id": "Stage", + "path": "FlinkAppTest/App-FLINK-1_19/Code/Stage", + "constructInfo": { + "fqn": "aws-cdk-lib.AssetStaging", + "version": "0.0.0" + } + }, + "AssetBucket": { + "id": "AssetBucket", + "path": "FlinkAppTest/App-FLINK-1_19/Code/AssetBucket", + "constructInfo": { + "fqn": "aws-cdk-lib.aws_s3.BucketBase", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_s3_assets.Asset", + "version": "0.0.0" + } + }, + "Resource": { + "id": "Resource", + "path": "FlinkAppTest/App-FLINK-1_19/Resource", "attributes": { "aws:cdk:cloudformation:type": "AWS::KinesisAnalyticsV2::Application", "aws:cdk:cloudformation:props": { @@ -263,7 +2693,412 @@ "runtimeEnvironment": "FLINK-1_19", "serviceExecutionRole": { "Fn::GetAtt": [ - "AppRole1AF9B530", + "AppFLINK119Role6594F124", + "Arn" + ] + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_kinesisanalytics.CfnApplicationV2", + "version": "0.0.0" + } + }, + "LogGroup": { + "id": "LogGroup", + "path": "FlinkAppTest/App-FLINK-1_19/LogGroup", + "children": { + "Resource": { + "id": "Resource", + "path": "FlinkAppTest/App-FLINK-1_19/LogGroup/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::Logs::LogGroup", + "aws:cdk:cloudformation:props": { + "retentionInDays": 731 + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_logs.CfnLogGroup", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_logs.LogGroup", + "version": "0.0.0" + } + }, + "LogStream": { + "id": "LogStream", + "path": "FlinkAppTest/App-FLINK-1_19/LogStream", + "children": { + "Resource": { + "id": "Resource", + "path": "FlinkAppTest/App-FLINK-1_19/LogStream/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::Logs::LogStream", + "aws:cdk:cloudformation:props": { + "logGroupName": { + "Ref": "AppFLINK119LogGroup472EA32B" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_logs.CfnLogStream", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_logs.LogStream", + "version": "0.0.0" + } + }, + "LoggingOption": { + "id": "LoggingOption", + "path": "FlinkAppTest/App-FLINK-1_19/LoggingOption", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::KinesisAnalyticsV2::ApplicationCloudWatchLoggingOption", + "aws:cdk:cloudformation:props": { + "applicationName": { + "Ref": "AppFLINK119DAC5CF3C" + }, + "cloudWatchLoggingOption": { + "logStreamArn": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":logs:", + { + "Ref": "AWS::Region" + }, + ":", + { + "Ref": "AWS::AccountId" + }, + ":log-group:", + { + "Ref": "AppFLINK119LogGroup472EA32B" + }, + ":log-stream:", + { + "Ref": "AppFLINK119LogStream5FD726B5" + } + ] + ] + } + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_kinesisanalytics.CfnApplicationCloudWatchLoggingOptionV2", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.Resource", + "version": "0.0.0" + } + }, + "Alarm-FLINK-1_19": { + "id": "Alarm-FLINK-1_19", + "path": "FlinkAppTest/Alarm-FLINK-1_19", + "children": { + "Resource": { + "id": "Resource", + "path": "FlinkAppTest/Alarm-FLINK-1_19/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::CloudWatch::Alarm", + "aws:cdk:cloudformation:props": { + "comparisonOperator": "GreaterThanOrEqualToThreshold", + "dimensions": [ + { + "name": "Application", + "value": { + "Ref": "AppFLINK119DAC5CF3C" + } + } + ], + "evaluationPeriods": 1, + "metricName": "fullRestarts", + "namespace": "AWS/KinesisAnalytics", + "period": 300, + "statistic": "Sum", + "threshold": 3 + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_cloudwatch.CfnAlarm", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_cloudwatch.Alarm", + "version": "0.0.0" + } + }, + "App-FLINK-1_20": { + "id": "App-FLINK-1_20", + "path": "FlinkAppTest/App-FLINK-1_20", + "children": { + "Role": { + "id": "Role", + "path": "FlinkAppTest/App-FLINK-1_20/Role", + "children": { + "ImportRole": { + "id": "ImportRole", + "path": "FlinkAppTest/App-FLINK-1_20/Role/ImportRole", + "constructInfo": { + "fqn": "aws-cdk-lib.Resource", + "version": "0.0.0" + } + }, + "Resource": { + "id": "Resource", + "path": "FlinkAppTest/App-FLINK-1_20/Role/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::IAM::Role", + "aws:cdk:cloudformation:props": { + "assumeRolePolicyDocument": { + "Statement": [ + { + "Action": "sts:AssumeRole", + "Effect": "Allow", + "Principal": { + "Service": "kinesisanalytics.amazonaws.com" + } + } + ], + "Version": "2012-10-17" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_iam.CfnRole", + "version": "0.0.0" + } + }, + "DefaultPolicy": { + "id": "DefaultPolicy", + "path": "FlinkAppTest/App-FLINK-1_20/Role/DefaultPolicy", + "children": { + "Resource": { + "id": "Resource", + "path": "FlinkAppTest/App-FLINK-1_20/Role/DefaultPolicy/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::IAM::Policy", + "aws:cdk:cloudformation:props": { + "policyDocument": { + "Statement": [ + { + "Action": "cloudwatch:PutMetricData", + "Effect": "Allow", + "Resource": "*" + }, + { + "Action": [ + "s3:GetBucket*", + "s3:GetObject*", + "s3:List*" + ], + "Effect": "Allow", + "Resource": [ + { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":s3:::", + { + "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" + }, + "/*" + ] + ] + }, + { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":s3:::", + { + "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" + } + ] + ] + } + ] + }, + { + "Action": "logs:DescribeLogGroups", + "Effect": "Allow", + "Resource": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":logs:", + { + "Ref": "AWS::Region" + }, + ":", + { + "Ref": "AWS::AccountId" + }, + ":log-group:*" + ] + ] + } + }, + { + "Action": "logs:DescribeLogStreams", + "Effect": "Allow", + "Resource": { + "Fn::GetAtt": [ + "AppFLINK120LogGroupFFF89194", + "Arn" + ] + } + }, + { + "Action": "logs:PutLogEvents", + "Effect": "Allow", + "Resource": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":logs:", + { + "Ref": "AWS::Region" + }, + ":", + { + "Ref": "AWS::AccountId" + }, + ":log-group:", + { + "Ref": "AppFLINK120LogGroupFFF89194" + }, + ":log-stream:", + { + "Ref": "AppFLINK120LogStream155EEEF9" + } + ] + ] + } + } + ], + "Version": "2012-10-17" + }, + "policyName": "AppFLINK120RoleDefaultPolicy2540C6BA", + "roles": [ + { + "Ref": "AppFLINK120RoleDC5875D6" + } + ] + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_iam.CfnPolicy", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_iam.Policy", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_iam.Role", + "version": "0.0.0" + } + }, + "Code": { + "id": "Code", + "path": "FlinkAppTest/App-FLINK-1_20/Code", + "children": { + "Stage": { + "id": "Stage", + "path": "FlinkAppTest/App-FLINK-1_20/Code/Stage", + "constructInfo": { + "fqn": "aws-cdk-lib.AssetStaging", + "version": "0.0.0" + } + }, + "AssetBucket": { + "id": "AssetBucket", + "path": "FlinkAppTest/App-FLINK-1_20/Code/AssetBucket", + "constructInfo": { + "fqn": "aws-cdk-lib.aws_s3.BucketBase", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_s3_assets.Asset", + "version": "0.0.0" + } + }, + "Resource": { + "id": "Resource", + "path": "FlinkAppTest/App-FLINK-1_20/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::KinesisAnalyticsV2::Application", + "aws:cdk:cloudformation:props": { + "applicationConfiguration": { + "applicationCodeConfiguration": { + "codeContent": { + "s3ContentLocation": { + "bucketArn": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":s3:::", + { + "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}" + } + ] + ] + }, + "fileKey": "8be9e0b5f53d41e9a3b1d51c9572c65f24f8170a7188d0ed57fb7d571de4d577.zip" + } + }, + "codeContentType": "ZIPFILE" + }, + "applicationSnapshotConfiguration": { + "snapshotsEnabled": true + } + }, + "runtimeEnvironment": "FLINK-1_20", + "serviceExecutionRole": { + "Fn::GetAtt": [ + "AppFLINK120RoleDC5875D6", "Arn" ] } @@ -276,11 +3111,11 @@ }, "LogGroup": { "id": "LogGroup", - "path": "FlinkAppTest/App/LogGroup", + "path": "FlinkAppTest/App-FLINK-1_20/LogGroup", "children": { "Resource": { "id": "Resource", - "path": "FlinkAppTest/App/LogGroup/Resource", + "path": "FlinkAppTest/App-FLINK-1_20/LogGroup/Resource", "attributes": { "aws:cdk:cloudformation:type": "AWS::Logs::LogGroup", "aws:cdk:cloudformation:props": { @@ -300,16 +3135,16 @@ }, "LogStream": { "id": "LogStream", - "path": "FlinkAppTest/App/LogStream", + "path": "FlinkAppTest/App-FLINK-1_20/LogStream", "children": { "Resource": { "id": "Resource", - "path": "FlinkAppTest/App/LogStream/Resource", + "path": "FlinkAppTest/App-FLINK-1_20/LogStream/Resource", "attributes": { "aws:cdk:cloudformation:type": "AWS::Logs::LogStream", "aws:cdk:cloudformation:props": { "logGroupName": { - "Ref": "AppLogGroupC72EEC8C" + "Ref": "AppFLINK120LogGroupFFF89194" } } }, @@ -326,12 +3161,12 @@ }, "LoggingOption": { "id": "LoggingOption", - "path": "FlinkAppTest/App/LoggingOption", + "path": "FlinkAppTest/App-FLINK-1_20/LoggingOption", "attributes": { "aws:cdk:cloudformation:type": "AWS::KinesisAnalyticsV2::ApplicationCloudWatchLoggingOption", "aws:cdk:cloudformation:props": { "applicationName": { - "Ref": "AppF1B96344" + "Ref": "AppFLINK120E80F19CE" }, "cloudWatchLoggingOption": { "logStreamArn": { @@ -352,11 +3187,11 @@ }, ":log-group:", { - "Ref": "AppLogGroupC72EEC8C" + "Ref": "AppFLINK120LogGroupFFF89194" }, ":log-stream:", { - "Ref": "AppLogStream3CAF66A7" + "Ref": "AppFLINK120LogStream155EEEF9" } ] ] @@ -371,17 +3206,17 @@ } }, "constructInfo": { - "fqn": "@aws-cdk/aws-kinesisanalytics-flink-alpha.Application", + "fqn": "aws-cdk-lib.Resource", "version": "0.0.0" } }, - "Alarm": { - "id": "Alarm", - "path": "FlinkAppTest/Alarm", + "Alarm-FLINK-1_20": { + "id": "Alarm-FLINK-1_20", + "path": "FlinkAppTest/Alarm-FLINK-1_20", "children": { "Resource": { "id": "Resource", - "path": "FlinkAppTest/Alarm/Resource", + "path": "FlinkAppTest/Alarm-FLINK-1_20/Resource", "attributes": { "aws:cdk:cloudformation:type": "AWS::CloudWatch::Alarm", "aws:cdk:cloudformation:props": { @@ -390,7 +3225,7 @@ { "name": "Application", "value": { - "Ref": "AppF1B96344" + "Ref": "AppFLINK120E80F19CE" } } ], @@ -435,6 +3270,60 @@ "version": "0.0.0" } }, + "ApplicationTest": { + "id": "ApplicationTest", + "path": "ApplicationTest", + "children": { + "DefaultTest": { + "id": "DefaultTest", + "path": "ApplicationTest/DefaultTest", + "children": { + "Default": { + "id": "Default", + "path": "ApplicationTest/DefaultTest/Default", + "constructInfo": { + "fqn": "constructs.Construct", + "version": "10.3.0" + } + }, + "DeployAssert": { + "id": "DeployAssert", + "path": "ApplicationTest/DefaultTest/DeployAssert", + "children": { + "BootstrapVersion": { + "id": "BootstrapVersion", + "path": "ApplicationTest/DefaultTest/DeployAssert/BootstrapVersion", + "constructInfo": { + "fqn": "aws-cdk-lib.CfnParameter", + "version": "0.0.0" + } + }, + "CheckBootstrapVersion": { + "id": "CheckBootstrapVersion", + "path": "ApplicationTest/DefaultTest/DeployAssert/CheckBootstrapVersion", + "constructInfo": { + "fqn": "aws-cdk-lib.CfnRule", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.Stack", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/integ-tests-alpha.IntegTestCase", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/integ-tests-alpha.IntegTest", + "version": "0.0.0" + } + }, "Tree": { "id": "Tree", "path": "Tree", diff --git a/packages/@aws-cdk/aws-kinesisanalytics-flink-alpha/test/integ.application.lit.ts b/packages/@aws-cdk/aws-kinesisanalytics-flink-alpha/test/integ.application.lit.ts index 392d8290c1a1b..00b88316ff8a6 100644 --- a/packages/@aws-cdk/aws-kinesisanalytics-flink-alpha/test/integ.application.lit.ts +++ b/packages/@aws-cdk/aws-kinesisanalytics-flink-alpha/test/integ.application.lit.ts @@ -1,22 +1,36 @@ -///! show import * as path from 'path'; import * as cloudwatch from 'aws-cdk-lib/aws-cloudwatch'; import * as core from 'aws-cdk-lib'; +import * as integ from '@aws-cdk/integ-tests-alpha'; import * as flink from '../lib'; const app = new core.App(); const stack = new core.Stack(app, 'FlinkAppTest'); -const flinkApp = new flink.Application(stack, 'App', { - code: flink.ApplicationCode.fromAsset(path.join(__dirname, 'code-asset')), - runtime: flink.Runtime.FLINK_1_19, -}); +const flinkRuntimes = [ + flink.Runtime.FLINK_1_6, + flink.Runtime.FLINK_1_8, + flink.Runtime.FLINK_1_11, + flink.Runtime.FLINK_1_13, + flink.Runtime.FLINK_1_15, + flink.Runtime.FLINK_1_18, + flink.Runtime.FLINK_1_19, + flink.Runtime.FLINK_1_20, +]; + +flinkRuntimes.forEach((runtime) => { + const flinkApp = new flink.Application(stack, `App-${runtime.value}`, { + code: flink.ApplicationCode.fromAsset(path.join(__dirname, 'code-asset')), + runtime: runtime, + }); -new cloudwatch.Alarm(stack, 'Alarm', { - metric: flinkApp.metricFullRestarts(), - evaluationPeriods: 1, - threshold: 3, + new cloudwatch.Alarm(stack, `Alarm-${runtime.value}`, { + metric: flinkApp.metricFullRestarts(), + evaluationPeriods: 1, + threshold: 3, + }); }); -///! hide -app.synth(); +new integ.IntegTest(app, 'ApplicationTest', { + testCases: [stack], +});