// Jest Snapshot v1, https://goo.gl/fbAQLP exports[`BLEAFSI-AnalyticsPlatform snapshot check Sample Stacks 1`] = ` { "Mappings": { "DefaultCrNodeVersionMap": { "af-south-1": { "value": "nodejs16.x", }, "ap-east-1": { "value": "nodejs16.x", }, "ap-northeast-1": { "value": "nodejs16.x", }, "ap-northeast-2": { "value": "nodejs16.x", }, "ap-northeast-3": { "value": "nodejs16.x", }, "ap-south-1": { "value": "nodejs16.x", }, "ap-south-2": { "value": "nodejs16.x", }, "ap-southeast-1": { "value": "nodejs16.x", }, "ap-southeast-2": { "value": "nodejs16.x", }, "ap-southeast-3": { "value": "nodejs16.x", }, "ca-central-1": { "value": "nodejs16.x", }, "cn-north-1": { "value": "nodejs16.x", }, "cn-northwest-1": { "value": "nodejs16.x", }, "eu-central-1": { "value": "nodejs16.x", }, "eu-central-2": { "value": "nodejs16.x", }, "eu-north-1": { "value": "nodejs16.x", }, "eu-south-1": { "value": "nodejs16.x", }, "eu-south-2": { "value": "nodejs16.x", }, "eu-west-1": { "value": "nodejs16.x", }, "eu-west-2": { "value": "nodejs16.x", }, "eu-west-3": { "value": "nodejs16.x", }, "me-central-1": { "value": "nodejs16.x", }, "me-south-1": { "value": "nodejs16.x", }, "sa-east-1": { "value": "nodejs16.x", }, "us-east-1": { "value": "nodejs16.x", }, "us-east-2": { "value": "nodejs16.x", }, "us-gov-east-1": { "value": "nodejs16.x", }, "us-gov-west-1": { "value": "nodejs16.x", }, "us-iso-east-1": { "value": "nodejs14.x", }, "us-iso-west-1": { "value": "nodejs14.x", }, "us-isob-east-1": { "value": "nodejs14.x", }, "us-west-1": { "value": "nodejs16.x", }, "us-west-2": { "value": "nodejs16.x", }, }, "ServiceprincipalMap": { "af-south-1": { "states": "states.af-south-1.amazonaws.com", }, "ap-east-1": { "states": "states.ap-east-1.amazonaws.com", }, "ap-northeast-1": { "states": "states.ap-northeast-1.amazonaws.com", }, "ap-northeast-2": { "states": "states.ap-northeast-2.amazonaws.com", }, "ap-northeast-3": { "states": "states.ap-northeast-3.amazonaws.com", }, "ap-south-1": { "states": "states.ap-south-1.amazonaws.com", }, "ap-south-2": { "states": "states.ap-south-2.amazonaws.com", }, "ap-southeast-1": { "states": "states.ap-southeast-1.amazonaws.com", }, "ap-southeast-2": { "states": "states.ap-southeast-2.amazonaws.com", }, "ap-southeast-3": { "states": "states.ap-southeast-3.amazonaws.com", }, "ca-central-1": { "states": "states.ca-central-1.amazonaws.com", }, "cn-north-1": { "states": "states.cn-north-1.amazonaws.com", }, "cn-northwest-1": { "states": "states.cn-northwest-1.amazonaws.com", }, "eu-central-1": { "states": "states.eu-central-1.amazonaws.com", }, "eu-central-2": { "states": "states.eu-central-2.amazonaws.com", }, "eu-north-1": { "states": "states.eu-north-1.amazonaws.com", }, "eu-south-1": { "states": "states.eu-south-1.amazonaws.com", }, "eu-south-2": { "states": "states.eu-south-2.amazonaws.com", }, "eu-west-1": { "states": "states.eu-west-1.amazonaws.com", }, "eu-west-2": { "states": "states.eu-west-2.amazonaws.com", }, "eu-west-3": { "states": "states.eu-west-3.amazonaws.com", }, "me-central-1": { "states": "states.me-central-1.amazonaws.com", }, "me-south-1": { "states": "states.me-south-1.amazonaws.com", }, "sa-east-1": { "states": "states.sa-east-1.amazonaws.com", }, "us-east-1": { "states": "states.us-east-1.amazonaws.com", }, "us-east-2": { "states": "states.us-east-2.amazonaws.com", }, "us-gov-east-1": { "states": "states.us-gov-east-1.amazonaws.com", }, "us-gov-west-1": { "states": "states.us-gov-west-1.amazonaws.com", }, "us-iso-east-1": { "states": "states.amazonaws.com", }, "us-iso-west-1": { "states": "states.amazonaws.com", }, "us-isob-east-1": { "states": "states.amazonaws.com", }, "us-west-1": { "states": "states.us-west-1.amazonaws.com", }, "us-west-2": { "states": "states.us-west-2.amazonaws.com", }, }, }, "Outputs": { "S3BucketurlforOrigindata": { "Description": "S3 Bucket for Origin data", "Value": { "Fn::Join": [ "", [ "s3://", { "Ref": "BucketForOriginData7A7ED22B", }, ], ], }, }, }, "Parameters": { "BootstrapVersion": { "Default": "/cdk-bootstrap/hnb659fds/version", "Description": "Version of the CDK Bootstrap resources in this environment, automatically retrieved from SSM Parameter Store. [cdk:skip]", "Type": "AWS::SSM::Parameter::Value", }, }, "Resources": { "AthenaWorkGroup": { "Properties": { "Description": "athena workgroup for analytics platform", "Name": "bleafsi-analyticsplatform-workgroup", "WorkGroupConfiguration": { "EnforceWorkGroupConfiguration": true, "EngineVersion": { "SelectedEngineVersion": "Athena engine version 3", }, "ResultConfiguration": { "EncryptionConfiguration": { "EncryptionOption": "SSE_KMS", "KmsKey": { "Ref": "AthenaWorkGroupEncryptionKey89E2456F", }, }, "OutputLocation": { "Fn::Join": [ "", [ "s3://", { "Ref": "BucketForAthenaQueryOutput220D8000", }, "/", ], ], }, }, }, }, "Type": "AWS::Athena::WorkGroup", }, "AthenaWorkGroupEncryptionKey89E2456F": { "DeletionPolicy": "Retain", "Properties": { "Description": "this key is used for encryption of AthenaWorkGroup such as query result ", "EnableKeyRotation": true, "KeyPolicy": { "Statement": [ { "Action": "kms:*", "Effect": "Allow", "Principal": { "AWS": { "Fn::Join": [ "", [ "arn:", { "Ref": "AWS::Partition", }, ":iam::", { "Ref": "AWS::AccountId", }, ":root", ], ], }, }, "Resource": "*", }, { "Action": [ "kms:Encrypt*", "kms:Decrypt*", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:Describe*", ], "Effect": "Allow", "Principal": { "Service": { "Fn::Join": [ "", [ "logs.", { "Ref": "AWS::Region", }, ".amazonaws.com", ], ], }, }, "Resource": "*", }, ], "Version": "2012-10-17", }, }, "Type": "AWS::KMS::Key", "UpdateReplacePolicy": "Retain", }, "BucketForAnalyticsAccessLogs32A91FDB": { "DeletionPolicy": "Delete", "Properties": { "AccessControl": "LogDeliveryWrite", "BucketEncryption": { "ServerSideEncryptionConfiguration": [ { "ServerSideEncryptionByDefault": { "SSEAlgorithm": "AES256", }, }, ], }, "BucketName": { "Fn::Join": [ "", [ "bleafsi-analyticsplatform-analytics-", { "Ref": "AWS::AccountId", }, "-logs", ], ], }, "LifecycleConfiguration": { "Rules": [ { "ExpirationInDays": 2555, "Status": "Enabled", "Transitions": [ { "StorageClass": "GLACIER", "TransitionInDays": 90, }, ], }, ], }, "OwnershipControls": { "Rules": [ { "ObjectOwnership": "ObjectWriter", }, ], }, "PublicAccessBlockConfiguration": { "BlockPublicAcls": true, "BlockPublicPolicy": true, "IgnorePublicAcls": true, "RestrictPublicBuckets": true, }, "Tags": [ { "Key": "aws-cdk:auto-delete-objects", "Value": "true", }, ], "VersioningConfiguration": { "Status": "Enabled", }, }, "Type": "AWS::S3::Bucket", "UpdateReplacePolicy": "Delete", }, "BucketForAnalyticsAccessLogsAutoDeleteObjectsCustomResource0ABABBD8": { "DeletionPolicy": "Delete", "DependsOn": [ "BucketForAnalyticsAccessLogsPolicy60493664", ], "Properties": { "BucketName": { "Ref": "BucketForAnalyticsAccessLogs32A91FDB", }, "ServiceToken": { "Fn::GetAtt": [ "CustomS3AutoDeleteObjectsCustomResourceProviderHandler9D90184F", "Arn", ], }, }, "Type": "Custom::S3AutoDeleteObjects", "UpdateReplacePolicy": "Delete", }, "BucketForAnalyticsAccessLogsPolicy60493664": { "Properties": { "Bucket": { "Ref": "BucketForAnalyticsAccessLogs32A91FDB", }, "PolicyDocument": { "Statement": [ { "Action": "s3:*", "Condition": { "Bool": { "aws:SecureTransport": "false", }, }, "Effect": "Deny", "Principal": { "AWS": "*", }, "Resource": [ { "Fn::GetAtt": [ "BucketForAnalyticsAccessLogs32A91FDB", "Arn", ], }, { "Fn::Join": [ "", [ { "Fn::GetAtt": [ "BucketForAnalyticsAccessLogs32A91FDB", "Arn", ], }, "/*", ], ], }, ], }, { "Action": [ "s3:GetBucket*", "s3:List*", "s3:DeleteObject*", ], "Effect": "Allow", "Principal": { "AWS": { "Fn::GetAtt": [ "CustomS3AutoDeleteObjectsCustomResourceProviderRole3B1BD092", "Arn", ], }, }, "Resource": [ { "Fn::GetAtt": [ "BucketForAnalyticsAccessLogs32A91FDB", "Arn", ], }, { "Fn::Join": [ "", [ { "Fn::GetAtt": [ "BucketForAnalyticsAccessLogs32A91FDB", "Arn", ], }, "/*", ], ], }, ], }, { "Action": "s3:DeleteObject", "Effect": "Deny", "Principal": { "AWS": "*", }, "Resource": { "Fn::Join": [ "", [ { "Fn::GetAtt": [ "BucketForAnalyticsAccessLogs32A91FDB", "Arn", ], }, "/*", ], ], }, "Sid": "Restrict Delete* Actions", }, ], "Version": "2012-10-17", }, }, "Type": "AWS::S3::BucketPolicy", }, "BucketForAnalyticsAutoDeleteObjectsCustomResourceF10183F6": { "DeletionPolicy": "Delete", "DependsOn": [ "BucketForAnalyticsPolicy7B6AB215", ], "Properties": { "BucketName": { "Ref": "BucketForAnalyticsCB669397", }, "ServiceToken": { "Fn::GetAtt": [ "CustomS3AutoDeleteObjectsCustomResourceProviderHandler9D90184F", "Arn", ], }, }, "Type": "Custom::S3AutoDeleteObjects", "UpdateReplacePolicy": "Delete", }, "BucketForAnalyticsCB669397": { "DeletionPolicy": "Delete", "Properties": { "AccessControl": "Private", "BucketEncryption": { "ServerSideEncryptionConfiguration": [ { "ServerSideEncryptionByDefault": { "KMSMasterKeyID": { "Fn::GetAtt": [ "S3BuketEncryptionKeyE78C9176", "Arn", ], }, "SSEAlgorithm": "aws:kms", }, }, ], }, "BucketName": { "Fn::Join": [ "", [ "bleafsi-analyticsplatform-analytics-", { "Ref": "AWS::AccountId", }, ], ], }, "LoggingConfiguration": { "DestinationBucketName": { "Ref": "BucketForAnalyticsAccessLogs32A91FDB", }, }, "PublicAccessBlockConfiguration": { "BlockPublicAcls": true, "BlockPublicPolicy": true, "IgnorePublicAcls": true, "RestrictPublicBuckets": true, }, "Tags": [ { "Key": "aws-cdk:auto-delete-objects", "Value": "true", }, ], "VersioningConfiguration": { "Status": "Enabled", }, }, "Type": "AWS::S3::Bucket", "UpdateReplacePolicy": "Delete", }, "BucketForAnalyticsPolicy7B6AB215": { "Properties": { "Bucket": { "Ref": "BucketForAnalyticsCB669397", }, "PolicyDocument": { "Statement": [ { "Action": "s3:*", "Condition": { "Bool": { "aws:SecureTransport": "false", }, }, "Effect": "Deny", "Principal": { "AWS": "*", }, "Resource": [ { "Fn::GetAtt": [ "BucketForAnalyticsCB669397", "Arn", ], }, { "Fn::Join": [ "", [ { "Fn::GetAtt": [ "BucketForAnalyticsCB669397", "Arn", ], }, "/*", ], ], }, ], }, { "Action": [ "s3:GetBucket*", "s3:List*", "s3:DeleteObject*", ], "Effect": "Allow", "Principal": { "AWS": { "Fn::GetAtt": [ "CustomS3AutoDeleteObjectsCustomResourceProviderRole3B1BD092", "Arn", ], }, }, "Resource": [ { "Fn::GetAtt": [ "BucketForAnalyticsCB669397", "Arn", ], }, { "Fn::Join": [ "", [ { "Fn::GetAtt": [ "BucketForAnalyticsCB669397", "Arn", ], }, "/*", ], ], }, ], }, ], "Version": "2012-10-17", }, }, "Type": "AWS::S3::BucketPolicy", }, "BucketForAthenaQueryOutput220D8000": { "DeletionPolicy": "Delete", "Properties": { "AccessControl": "Private", "BucketEncryption": { "ServerSideEncryptionConfiguration": [ { "ServerSideEncryptionByDefault": { "SSEAlgorithm": "AES256", }, }, ], }, "BucketName": { "Fn::Join": [ "", [ "bleafsi-analyticsplatform-athenaquery-output-", { "Ref": "AWS::AccountId", }, ], ], }, "PublicAccessBlockConfiguration": { "BlockPublicAcls": true, "BlockPublicPolicy": true, "IgnorePublicAcls": true, "RestrictPublicBuckets": true, }, "Tags": [ { "Key": "aws-cdk:auto-delete-objects", "Value": "true", }, ], "VersioningConfiguration": { "Status": "Enabled", }, }, "Type": "AWS::S3::Bucket", "UpdateReplacePolicy": "Delete", }, "BucketForAthenaQueryOutputAutoDeleteObjectsCustomResourceC0626173": { "DeletionPolicy": "Delete", "DependsOn": [ "BucketForAthenaQueryOutputPolicy741A900C", ], "Properties": { "BucketName": { "Ref": "BucketForAthenaQueryOutput220D8000", }, "ServiceToken": { "Fn::GetAtt": [ "CustomS3AutoDeleteObjectsCustomResourceProviderHandler9D90184F", "Arn", ], }, }, "Type": "Custom::S3AutoDeleteObjects", "UpdateReplacePolicy": "Delete", }, "BucketForAthenaQueryOutputPolicy741A900C": { "Properties": { "Bucket": { "Ref": "BucketForAthenaQueryOutput220D8000", }, "PolicyDocument": { "Statement": [ { "Action": "s3:*", "Condition": { "Bool": { "aws:SecureTransport": "false", }, }, "Effect": "Deny", "Principal": { "AWS": "*", }, "Resource": [ { "Fn::GetAtt": [ "BucketForAthenaQueryOutput220D8000", "Arn", ], }, { "Fn::Join": [ "", [ { "Fn::GetAtt": [ "BucketForAthenaQueryOutput220D8000", "Arn", ], }, "/*", ], ], }, ], }, { "Action": [ "s3:GetBucket*", "s3:List*", "s3:DeleteObject*", ], "Effect": "Allow", "Principal": { "AWS": { "Fn::GetAtt": [ "CustomS3AutoDeleteObjectsCustomResourceProviderRole3B1BD092", "Arn", ], }, }, "Resource": [ { "Fn::GetAtt": [ "BucketForAthenaQueryOutput220D8000", "Arn", ], }, { "Fn::Join": [ "", [ { "Fn::GetAtt": [ "BucketForAthenaQueryOutput220D8000", "Arn", ], }, "/*", ], ], }, ], }, ], "Version": "2012-10-17", }, }, "Type": "AWS::S3::BucketPolicy", }, "BucketForMasterDataAccessLogs283ABE40": { "DeletionPolicy": "Delete", "Properties": { "AccessControl": "LogDeliveryWrite", "BucketEncryption": { "ServerSideEncryptionConfiguration": [ { "ServerSideEncryptionByDefault": { "SSEAlgorithm": "AES256", }, }, ], }, "BucketName": { "Fn::Join": [ "", [ "bleafsi-analyticsplatform-master-", { "Ref": "AWS::AccountId", }, "-logs", ], ], }, "LifecycleConfiguration": { "Rules": [ { "ExpirationInDays": 2555, "Status": "Enabled", "Transitions": [ { "StorageClass": "GLACIER", "TransitionInDays": 90, }, ], }, ], }, "OwnershipControls": { "Rules": [ { "ObjectOwnership": "ObjectWriter", }, ], }, "PublicAccessBlockConfiguration": { "BlockPublicAcls": true, "BlockPublicPolicy": true, "IgnorePublicAcls": true, "RestrictPublicBuckets": true, }, "Tags": [ { "Key": "aws-cdk:auto-delete-objects", "Value": "true", }, ], "VersioningConfiguration": { "Status": "Enabled", }, }, "Type": "AWS::S3::Bucket", "UpdateReplacePolicy": "Delete", }, "BucketForMasterDataAccessLogsAutoDeleteObjectsCustomResource52B3BDCC": { "DeletionPolicy": "Delete", "DependsOn": [ "BucketForMasterDataAccessLogsPolicyA9A71D65", ], "Properties": { "BucketName": { "Ref": "BucketForMasterDataAccessLogs283ABE40", }, "ServiceToken": { "Fn::GetAtt": [ "CustomS3AutoDeleteObjectsCustomResourceProviderHandler9D90184F", "Arn", ], }, }, "Type": "Custom::S3AutoDeleteObjects", "UpdateReplacePolicy": "Delete", }, "BucketForMasterDataAccessLogsPolicyA9A71D65": { "Properties": { "Bucket": { "Ref": "BucketForMasterDataAccessLogs283ABE40", }, "PolicyDocument": { "Statement": [ { "Action": "s3:*", "Condition": { "Bool": { "aws:SecureTransport": "false", }, }, "Effect": "Deny", "Principal": { "AWS": "*", }, "Resource": [ { "Fn::GetAtt": [ "BucketForMasterDataAccessLogs283ABE40", "Arn", ], }, { "Fn::Join": [ "", [ { "Fn::GetAtt": [ "BucketForMasterDataAccessLogs283ABE40", "Arn", ], }, "/*", ], ], }, ], }, { "Action": [ "s3:GetBucket*", "s3:List*", "s3:DeleteObject*", ], "Effect": "Allow", "Principal": { "AWS": { "Fn::GetAtt": [ "CustomS3AutoDeleteObjectsCustomResourceProviderRole3B1BD092", "Arn", ], }, }, "Resource": [ { "Fn::GetAtt": [ "BucketForMasterDataAccessLogs283ABE40", "Arn", ], }, { "Fn::Join": [ "", [ { "Fn::GetAtt": [ "BucketForMasterDataAccessLogs283ABE40", "Arn", ], }, "/*", ], ], }, ], }, { "Action": "s3:DeleteObject", "Effect": "Deny", "Principal": { "AWS": "*", }, "Resource": { "Fn::Join": [ "", [ { "Fn::GetAtt": [ "BucketForMasterDataAccessLogs283ABE40", "Arn", ], }, "/*", ], ], }, "Sid": "Restrict Delete* Actions", }, ], "Version": "2012-10-17", }, }, "Type": "AWS::S3::BucketPolicy", }, "BucketForMasterDataAutoDeleteObjectsCustomResource3D10A09E": { "DeletionPolicy": "Delete", "DependsOn": [ "BucketForMasterDataPolicyB353AB96", ], "Properties": { "BucketName": { "Ref": "BucketForMasterDataD3CA646A", }, "ServiceToken": { "Fn::GetAtt": [ "CustomS3AutoDeleteObjectsCustomResourceProviderHandler9D90184F", "Arn", ], }, }, "Type": "Custom::S3AutoDeleteObjects", "UpdateReplacePolicy": "Delete", }, "BucketForMasterDataD3CA646A": { "DeletionPolicy": "Delete", "Properties": { "AccessControl": "Private", "BucketEncryption": { "ServerSideEncryptionConfiguration": [ { "ServerSideEncryptionByDefault": { "KMSMasterKeyID": { "Fn::GetAtt": [ "S3BuketEncryptionKeyE78C9176", "Arn", ], }, "SSEAlgorithm": "aws:kms", }, }, ], }, "BucketName": { "Fn::Join": [ "", [ "bleafsi-analyticsplatform-master-", { "Ref": "AWS::AccountId", }, ], ], }, "LoggingConfiguration": { "DestinationBucketName": { "Ref": "BucketForMasterDataAccessLogs283ABE40", }, }, "PublicAccessBlockConfiguration": { "BlockPublicAcls": true, "BlockPublicPolicy": true, "IgnorePublicAcls": true, "RestrictPublicBuckets": true, }, "Tags": [ { "Key": "aws-cdk:auto-delete-objects", "Value": "true", }, { "Key": "aws-cdk:cr-owned:master_acct:054149b2", "Value": "true", }, { "Key": "aws-cdk:cr-owned:master_branch:094f78b1", "Value": "true", }, { "Key": "aws-cdk:cr-owned:master_trx_type:e968a594", "Value": "true", }, ], "VersioningConfiguration": { "Status": "Enabled", }, }, "Type": "AWS::S3::Bucket", "UpdateReplacePolicy": "Delete", }, "BucketForMasterDataPolicyB353AB96": { "Properties": { "Bucket": { "Ref": "BucketForMasterDataD3CA646A", }, "PolicyDocument": { "Statement": [ { "Action": "s3:*", "Condition": { "Bool": { "aws:SecureTransport": "false", }, }, "Effect": "Deny", "Principal": { "AWS": "*", }, "Resource": [ { "Fn::GetAtt": [ "BucketForMasterDataD3CA646A", "Arn", ], }, { "Fn::Join": [ "", [ { "Fn::GetAtt": [ "BucketForMasterDataD3CA646A", "Arn", ], }, "/*", ], ], }, ], }, { "Action": [ "s3:GetBucket*", "s3:List*", "s3:DeleteObject*", ], "Effect": "Allow", "Principal": { "AWS": { "Fn::GetAtt": [ "CustomS3AutoDeleteObjectsCustomResourceProviderRole3B1BD092", "Arn", ], }, }, "Resource": [ { "Fn::GetAtt": [ "BucketForMasterDataD3CA646A", "Arn", ], }, { "Fn::Join": [ "", [ { "Fn::GetAtt": [ "BucketForMasterDataD3CA646A", "Arn", ], }, "/*", ], ], }, ], }, ], "Version": "2012-10-17", }, }, "Type": "AWS::S3::BucketPolicy", }, "BucketForNormalizedDataAccessLogs3B058D32": { "DeletionPolicy": "Delete", "Properties": { "AccessControl": "LogDeliveryWrite", "BucketEncryption": { "ServerSideEncryptionConfiguration": [ { "ServerSideEncryptionByDefault": { "SSEAlgorithm": "AES256", }, }, ], }, "BucketName": { "Fn::Join": [ "", [ "bleafsi-analyticsplatform-normalized-", { "Ref": "AWS::AccountId", }, "-logs", ], ], }, "LifecycleConfiguration": { "Rules": [ { "ExpirationInDays": 2555, "Status": "Enabled", "Transitions": [ { "StorageClass": "GLACIER", "TransitionInDays": 90, }, ], }, ], }, "OwnershipControls": { "Rules": [ { "ObjectOwnership": "ObjectWriter", }, ], }, "PublicAccessBlockConfiguration": { "BlockPublicAcls": true, "BlockPublicPolicy": true, "IgnorePublicAcls": true, "RestrictPublicBuckets": true, }, "Tags": [ { "Key": "aws-cdk:auto-delete-objects", "Value": "true", }, ], "VersioningConfiguration": { "Status": "Enabled", }, }, "Type": "AWS::S3::Bucket", "UpdateReplacePolicy": "Delete", }, "BucketForNormalizedDataAccessLogsAutoDeleteObjectsCustomResourceA3E3FA06": { "DeletionPolicy": "Delete", "DependsOn": [ "BucketForNormalizedDataAccessLogsPolicy78165A14", ], "Properties": { "BucketName": { "Ref": "BucketForNormalizedDataAccessLogs3B058D32", }, "ServiceToken": { "Fn::GetAtt": [ "CustomS3AutoDeleteObjectsCustomResourceProviderHandler9D90184F", "Arn", ], }, }, "Type": "Custom::S3AutoDeleteObjects", "UpdateReplacePolicy": "Delete", }, "BucketForNormalizedDataAccessLogsPolicy78165A14": { "Properties": { "Bucket": { "Ref": "BucketForNormalizedDataAccessLogs3B058D32", }, "PolicyDocument": { "Statement": [ { "Action": "s3:*", "Condition": { "Bool": { "aws:SecureTransport": "false", }, }, "Effect": "Deny", "Principal": { "AWS": "*", }, "Resource": [ { "Fn::GetAtt": [ "BucketForNormalizedDataAccessLogs3B058D32", "Arn", ], }, { "Fn::Join": [ "", [ { "Fn::GetAtt": [ "BucketForNormalizedDataAccessLogs3B058D32", "Arn", ], }, "/*", ], ], }, ], }, { "Action": [ "s3:GetBucket*", "s3:List*", "s3:DeleteObject*", ], "Effect": "Allow", "Principal": { "AWS": { "Fn::GetAtt": [ "CustomS3AutoDeleteObjectsCustomResourceProviderRole3B1BD092", "Arn", ], }, }, "Resource": [ { "Fn::GetAtt": [ "BucketForNormalizedDataAccessLogs3B058D32", "Arn", ], }, { "Fn::Join": [ "", [ { "Fn::GetAtt": [ "BucketForNormalizedDataAccessLogs3B058D32", "Arn", ], }, "/*", ], ], }, ], }, { "Action": "s3:DeleteObject", "Effect": "Deny", "Principal": { "AWS": "*", }, "Resource": { "Fn::Join": [ "", [ { "Fn::GetAtt": [ "BucketForNormalizedDataAccessLogs3B058D32", "Arn", ], }, "/*", ], ], }, "Sid": "Restrict Delete* Actions", }, ], "Version": "2012-10-17", }, }, "Type": "AWS::S3::BucketPolicy", }, "BucketForNormalizedDataAutoDeleteObjectsCustomResource738D0AE5": { "DeletionPolicy": "Delete", "DependsOn": [ "BucketForNormalizedDataPolicy45F4F84F", ], "Properties": { "BucketName": { "Ref": "BucketForNormalizedDataFC4FE75F", }, "ServiceToken": { "Fn::GetAtt": [ "CustomS3AutoDeleteObjectsCustomResourceProviderHandler9D90184F", "Arn", ], }, }, "Type": "Custom::S3AutoDeleteObjects", "UpdateReplacePolicy": "Delete", }, "BucketForNormalizedDataFC4FE75F": { "DeletionPolicy": "Delete", "Properties": { "AccessControl": "Private", "BucketEncryption": { "ServerSideEncryptionConfiguration": [ { "ServerSideEncryptionByDefault": { "KMSMasterKeyID": { "Fn::GetAtt": [ "S3BuketEncryptionKeyE78C9176", "Arn", ], }, "SSEAlgorithm": "aws:kms", }, }, ], }, "BucketName": { "Fn::Join": [ "", [ "bleafsi-analyticsplatform-normalized-", { "Ref": "AWS::AccountId", }, ], ], }, "LoggingConfiguration": { "DestinationBucketName": { "Ref": "BucketForNormalizedDataAccessLogs3B058D32", }, }, "PublicAccessBlockConfiguration": { "BlockPublicAcls": true, "BlockPublicPolicy": true, "IgnorePublicAcls": true, "RestrictPublicBuckets": true, }, "Tags": [ { "Key": "aws-cdk:auto-delete-objects", "Value": "true", }, ], "VersioningConfiguration": { "Status": "Enabled", }, }, "Type": "AWS::S3::Bucket", "UpdateReplacePolicy": "Delete", }, "BucketForNormalizedDataPolicy45F4F84F": { "Properties": { "Bucket": { "Ref": "BucketForNormalizedDataFC4FE75F", }, "PolicyDocument": { "Statement": [ { "Action": "s3:*", "Condition": { "Bool": { "aws:SecureTransport": "false", }, }, "Effect": "Deny", "Principal": { "AWS": "*", }, "Resource": [ { "Fn::GetAtt": [ "BucketForNormalizedDataFC4FE75F", "Arn", ], }, { "Fn::Join": [ "", [ { "Fn::GetAtt": [ "BucketForNormalizedDataFC4FE75F", "Arn", ], }, "/*", ], ], }, ], }, { "Action": [ "s3:GetBucket*", "s3:List*", "s3:DeleteObject*", ], "Effect": "Allow", "Principal": { "AWS": { "Fn::GetAtt": [ "CustomS3AutoDeleteObjectsCustomResourceProviderRole3B1BD092", "Arn", ], }, }, "Resource": [ { "Fn::GetAtt": [ "BucketForNormalizedDataFC4FE75F", "Arn", ], }, { "Fn::Join": [ "", [ { "Fn::GetAtt": [ "BucketForNormalizedDataFC4FE75F", "Arn", ], }, "/*", ], ], }, ], }, ], "Version": "2012-10-17", }, }, "Type": "AWS::S3::BucketPolicy", }, "BucketForOriginData7A7ED22B": { "DeletionPolicy": "Delete", "Properties": { "AccessControl": "Private", "BucketEncryption": { "ServerSideEncryptionConfiguration": [ { "ServerSideEncryptionByDefault": { "KMSMasterKeyID": { "Fn::GetAtt": [ "S3BuketEncryptionKeyE78C9176", "Arn", ], }, "SSEAlgorithm": "aws:kms", }, }, ], }, "BucketName": { "Fn::Join": [ "", [ "bleafsi-analyticsplatform-origin-", { "Ref": "AWS::AccountId", }, ], ], }, "LoggingConfiguration": { "DestinationBucketName": { "Ref": "BucketForOriginDataAccessLogsE44BF6A6", }, }, "PublicAccessBlockConfiguration": { "BlockPublicAcls": true, "BlockPublicPolicy": true, "IgnorePublicAcls": true, "RestrictPublicBuckets": true, }, "Tags": [ { "Key": "aws-cdk:auto-delete-objects", "Value": "true", }, ], "VersioningConfiguration": { "Status": "Enabled", }, }, "Type": "AWS::S3::Bucket", "UpdateReplacePolicy": "Delete", }, "BucketForOriginDataAccessLogsAutoDeleteObjectsCustomResourceF8AB8864": { "DeletionPolicy": "Delete", "DependsOn": [ "BucketForOriginDataAccessLogsPolicy5047E40D", ], "Properties": { "BucketName": { "Ref": "BucketForOriginDataAccessLogsE44BF6A6", }, "ServiceToken": { "Fn::GetAtt": [ "CustomS3AutoDeleteObjectsCustomResourceProviderHandler9D90184F", "Arn", ], }, }, "Type": "Custom::S3AutoDeleteObjects", "UpdateReplacePolicy": "Delete", }, "BucketForOriginDataAccessLogsE44BF6A6": { "DeletionPolicy": "Delete", "Properties": { "AccessControl": "LogDeliveryWrite", "BucketEncryption": { "ServerSideEncryptionConfiguration": [ { "ServerSideEncryptionByDefault": { "SSEAlgorithm": "AES256", }, }, ], }, "BucketName": { "Fn::Join": [ "", [ "bleafsi-analyticsplatform-origin-", { "Ref": "AWS::AccountId", }, "-logs", ], ], }, "LifecycleConfiguration": { "Rules": [ { "ExpirationInDays": 2555, "Status": "Enabled", "Transitions": [ { "StorageClass": "GLACIER", "TransitionInDays": 90, }, ], }, ], }, "OwnershipControls": { "Rules": [ { "ObjectOwnership": "ObjectWriter", }, ], }, "PublicAccessBlockConfiguration": { "BlockPublicAcls": true, "BlockPublicPolicy": true, "IgnorePublicAcls": true, "RestrictPublicBuckets": true, }, "Tags": [ { "Key": "aws-cdk:auto-delete-objects", "Value": "true", }, ], "VersioningConfiguration": { "Status": "Enabled", }, }, "Type": "AWS::S3::Bucket", "UpdateReplacePolicy": "Delete", }, "BucketForOriginDataAccessLogsPolicy5047E40D": { "Properties": { "Bucket": { "Ref": "BucketForOriginDataAccessLogsE44BF6A6", }, "PolicyDocument": { "Statement": [ { "Action": "s3:*", "Condition": { "Bool": { "aws:SecureTransport": "false", }, }, "Effect": "Deny", "Principal": { "AWS": "*", }, "Resource": [ { "Fn::GetAtt": [ "BucketForOriginDataAccessLogsE44BF6A6", "Arn", ], }, { "Fn::Join": [ "", [ { "Fn::GetAtt": [ "BucketForOriginDataAccessLogsE44BF6A6", "Arn", ], }, "/*", ], ], }, ], }, { "Action": [ "s3:GetBucket*", "s3:List*", "s3:DeleteObject*", ], "Effect": "Allow", "Principal": { "AWS": { "Fn::GetAtt": [ "CustomS3AutoDeleteObjectsCustomResourceProviderRole3B1BD092", "Arn", ], }, }, "Resource": [ { "Fn::GetAtt": [ "BucketForOriginDataAccessLogsE44BF6A6", "Arn", ], }, { "Fn::Join": [ "", [ { "Fn::GetAtt": [ "BucketForOriginDataAccessLogsE44BF6A6", "Arn", ], }, "/*", ], ], }, ], }, { "Action": "s3:DeleteObject", "Effect": "Deny", "Principal": { "AWS": "*", }, "Resource": { "Fn::Join": [ "", [ { "Fn::GetAtt": [ "BucketForOriginDataAccessLogsE44BF6A6", "Arn", ], }, "/*", ], ], }, "Sid": "Restrict Delete* Actions", }, ], "Version": "2012-10-17", }, }, "Type": "AWS::S3::BucketPolicy", }, "BucketForOriginDataAutoDeleteObjectsCustomResource3EF9540F": { "DeletionPolicy": "Delete", "DependsOn": [ "BucketForOriginDataPolicy80537C50", ], "Properties": { "BucketName": { "Ref": "BucketForOriginData7A7ED22B", }, "ServiceToken": { "Fn::GetAtt": [ "CustomS3AutoDeleteObjectsCustomResourceProviderHandler9D90184F", "Arn", ], }, }, "Type": "Custom::S3AutoDeleteObjects", "UpdateReplacePolicy": "Delete", }, "BucketForOriginDataPolicy80537C50": { "Properties": { "Bucket": { "Ref": "BucketForOriginData7A7ED22B", }, "PolicyDocument": { "Statement": [ { "Action": "s3:*", "Condition": { "Bool": { "aws:SecureTransport": "false", }, }, "Effect": "Deny", "Principal": { "AWS": "*", }, "Resource": [ { "Fn::GetAtt": [ "BucketForOriginData7A7ED22B", "Arn", ], }, { "Fn::Join": [ "", [ { "Fn::GetAtt": [ "BucketForOriginData7A7ED22B", "Arn", ], }, "/*", ], ], }, ], }, { "Action": [ "s3:GetBucket*", "s3:List*", "s3:DeleteObject*", ], "Effect": "Allow", "Principal": { "AWS": { "Fn::GetAtt": [ "CustomS3AutoDeleteObjectsCustomResourceProviderRole3B1BD092", "Arn", ], }, }, "Resource": [ { "Fn::GetAtt": [ "BucketForOriginData7A7ED22B", "Arn", ], }, { "Fn::Join": [ "", [ { "Fn::GetAtt": [ "BucketForOriginData7A7ED22B", "Arn", ], }, "/*", ], ], }, ], }, ], "Version": "2012-10-17", }, }, "Type": "AWS::S3::BucketPolicy", }, "BucketForRawData7F45C148": { "DeletionPolicy": "Delete", "Properties": { "AccessControl": "Private", "BucketEncryption": { "ServerSideEncryptionConfiguration": [ { "ServerSideEncryptionByDefault": { "KMSMasterKeyID": { "Fn::GetAtt": [ "S3BuketEncryptionKeyE78C9176", "Arn", ], }, "SSEAlgorithm": "aws:kms", }, }, ], }, "BucketName": { "Fn::Join": [ "", [ "bleafsi-analyticsplatform-raw-", { "Ref": "AWS::AccountId", }, ], ], }, "LoggingConfiguration": { "DestinationBucketName": { "Ref": "BucketForRawDataAccessLogs12D03782", }, }, "PublicAccessBlockConfiguration": { "BlockPublicAcls": true, "BlockPublicPolicy": true, "IgnorePublicAcls": true, "RestrictPublicBuckets": true, }, "Tags": [ { "Key": "aws-cdk:auto-delete-objects", "Value": "true", }, ], "VersioningConfiguration": { "Status": "Enabled", }, }, "Type": "AWS::S3::Bucket", "UpdateReplacePolicy": "Delete", }, "BucketForRawDataAccessLogs12D03782": { "DeletionPolicy": "Delete", "Properties": { "AccessControl": "LogDeliveryWrite", "BucketEncryption": { "ServerSideEncryptionConfiguration": [ { "ServerSideEncryptionByDefault": { "SSEAlgorithm": "AES256", }, }, ], }, "BucketName": { "Fn::Join": [ "", [ "bleafsi-analyticsplatform-raw-", { "Ref": "AWS::AccountId", }, "-logs", ], ], }, "LifecycleConfiguration": { "Rules": [ { "ExpirationInDays": 2555, "Status": "Enabled", "Transitions": [ { "StorageClass": "GLACIER", "TransitionInDays": 90, }, ], }, ], }, "OwnershipControls": { "Rules": [ { "ObjectOwnership": "ObjectWriter", }, ], }, "PublicAccessBlockConfiguration": { "BlockPublicAcls": true, "BlockPublicPolicy": true, "IgnorePublicAcls": true, "RestrictPublicBuckets": true, }, "Tags": [ { "Key": "aws-cdk:auto-delete-objects", "Value": "true", }, ], "VersioningConfiguration": { "Status": "Enabled", }, }, "Type": "AWS::S3::Bucket", "UpdateReplacePolicy": "Delete", }, "BucketForRawDataAccessLogsAutoDeleteObjectsCustomResource125CEDA5": { "DeletionPolicy": "Delete", "DependsOn": [ "BucketForRawDataAccessLogsPolicy6A764266", ], "Properties": { "BucketName": { "Ref": "BucketForRawDataAccessLogs12D03782", }, "ServiceToken": { "Fn::GetAtt": [ "CustomS3AutoDeleteObjectsCustomResourceProviderHandler9D90184F", "Arn", ], }, }, "Type": "Custom::S3AutoDeleteObjects", "UpdateReplacePolicy": "Delete", }, "BucketForRawDataAccessLogsPolicy6A764266": { "Properties": { "Bucket": { "Ref": "BucketForRawDataAccessLogs12D03782", }, "PolicyDocument": { "Statement": [ { "Action": "s3:*", "Condition": { "Bool": { "aws:SecureTransport": "false", }, }, "Effect": "Deny", "Principal": { "AWS": "*", }, "Resource": [ { "Fn::GetAtt": [ "BucketForRawDataAccessLogs12D03782", "Arn", ], }, { "Fn::Join": [ "", [ { "Fn::GetAtt": [ "BucketForRawDataAccessLogs12D03782", "Arn", ], }, "/*", ], ], }, ], }, { "Action": [ "s3:GetBucket*", "s3:List*", "s3:DeleteObject*", ], "Effect": "Allow", "Principal": { "AWS": { "Fn::GetAtt": [ "CustomS3AutoDeleteObjectsCustomResourceProviderRole3B1BD092", "Arn", ], }, }, "Resource": [ { "Fn::GetAtt": [ "BucketForRawDataAccessLogs12D03782", "Arn", ], }, { "Fn::Join": [ "", [ { "Fn::GetAtt": [ "BucketForRawDataAccessLogs12D03782", "Arn", ], }, "/*", ], ], }, ], }, { "Action": "s3:DeleteObject", "Effect": "Deny", "Principal": { "AWS": "*", }, "Resource": { "Fn::Join": [ "", [ { "Fn::GetAtt": [ "BucketForRawDataAccessLogs12D03782", "Arn", ], }, "/*", ], ], }, "Sid": "Restrict Delete* Actions", }, ], "Version": "2012-10-17", }, }, "Type": "AWS::S3::BucketPolicy", }, "BucketForRawDataAutoDeleteObjectsCustomResourceB41559E0": { "DeletionPolicy": "Delete", "DependsOn": [ "BucketForRawDataPolicy573951D8", ], "Properties": { "BucketName": { "Ref": "BucketForRawData7F45C148", }, "ServiceToken": { "Fn::GetAtt": [ "CustomS3AutoDeleteObjectsCustomResourceProviderHandler9D90184F", "Arn", ], }, }, "Type": "Custom::S3AutoDeleteObjects", "UpdateReplacePolicy": "Delete", }, "BucketForRawDataPolicy573951D8": { "Properties": { "Bucket": { "Ref": "BucketForRawData7F45C148", }, "PolicyDocument": { "Statement": [ { "Action": "s3:*", "Condition": { "Bool": { "aws:SecureTransport": "false", }, }, "Effect": "Deny", "Principal": { "AWS": "*", }, "Resource": [ { "Fn::GetAtt": [ "BucketForRawData7F45C148", "Arn", ], }, { "Fn::Join": [ "", [ { "Fn::GetAtt": [ "BucketForRawData7F45C148", "Arn", ], }, "/*", ], ], }, ], }, { "Action": [ "s3:GetBucket*", "s3:List*", "s3:DeleteObject*", ], "Effect": "Allow", "Principal": { "AWS": { "Fn::GetAtt": [ "CustomS3AutoDeleteObjectsCustomResourceProviderRole3B1BD092", "Arn", ], }, }, "Resource": [ { "Fn::GetAtt": [ "BucketForRawData7F45C148", "Arn", ], }, { "Fn::Join": [ "", [ { "Fn::GetAtt": [ "BucketForRawData7F45C148", "Arn", ], }, "/*", ], ], }, ], }, ], "Version": "2012-10-17", }, }, "Type": "AWS::S3::BucketPolicy", }, "CustomCDKBucketDeployment8693BB64968944B69AAFB0CC9EB8756C81C01536": { "DependsOn": [ "CustomCDKBucketDeployment8693BB64968944B69AAFB0CC9EB8756CServiceRoleDefaultPolicy88902FDF", "CustomCDKBucketDeployment8693BB64968944B69AAFB0CC9EB8756CServiceRole89A01265", ], "Properties": { "Code": { "S3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-\${AWS::AccountId}-\${AWS::Region}", }, "S3Key": "9eb41a5505d37607ac419321497a4f8c21cf0ee1f9b4a6b29aa04301aea5c7fd.zip", }, "Environment": { "Variables": { "AWS_CA_BUNDLE": "/etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem", }, }, "Handler": "index.handler", "Layers": [ { "Ref": "uploadmasterTrxTypeAwsCliLayerA3C5C5D5", }, ], "Role": { "Fn::GetAtt": [ "CustomCDKBucketDeployment8693BB64968944B69AAFB0CC9EB8756CServiceRole89A01265", "Arn", ], }, "Runtime": "python3.9", "Timeout": 900, }, "Type": "AWS::Lambda::Function", }, "CustomCDKBucketDeployment8693BB64968944B69AAFB0CC9EB8756CServiceRole89A01265": { "Properties": { "AssumeRolePolicyDocument": { "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "Service": "lambda.amazonaws.com", }, }, ], "Version": "2012-10-17", }, "ManagedPolicyArns": [ { "Fn::Join": [ "", [ "arn:", { "Ref": "AWS::Partition", }, ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole", ], ], }, ], }, "Type": "AWS::IAM::Role", }, "CustomCDKBucketDeployment8693BB64968944B69AAFB0CC9EB8756CServiceRoleDefaultPolicy88902FDF": { "Properties": { "PolicyDocument": { "Statement": [ { "Action": [ "s3:GetObject*", "s3:GetBucket*", "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": [ "s3:GetObject*", "s3:GetBucket*", "s3:List*", "s3:DeleteObject*", "s3:PutObject", "s3:PutObjectLegalHold", "s3:PutObjectRetention", "s3:PutObjectTagging", "s3:PutObjectVersionTagging", "s3:Abort*", ], "Effect": "Allow", "Resource": [ { "Fn::GetAtt": [ "BucketForMasterDataD3CA646A", "Arn", ], }, { "Fn::Join": [ "", [ { "Fn::GetAtt": [ "BucketForMasterDataD3CA646A", "Arn", ], }, "/*", ], ], }, ], }, { "Action": [ "kms:Decrypt", "kms:DescribeKey", "kms:Encrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", ], "Effect": "Allow", "Resource": { "Fn::GetAtt": [ "S3BuketEncryptionKeyE78C9176", "Arn", ], }, }, { "Action": [ "s3:GetObject*", "s3:GetBucket*", "s3:List*", "s3:DeleteObject*", "s3:PutObject", "s3:PutObjectLegalHold", "s3:PutObjectRetention", "s3:PutObjectTagging", "s3:PutObjectVersionTagging", "s3:Abort*", ], "Effect": "Allow", "Resource": [ { "Fn::GetAtt": [ "GluePipelineBucketForGlueAssest78DC3612", "Arn", ], }, { "Fn::Join": [ "", [ { "Fn::GetAtt": [ "GluePipelineBucketForGlueAssest78DC3612", "Arn", ], }, "/*", ], ], }, ], }, { "Action": [ "kms:Decrypt", "kms:DescribeKey", "kms:Encrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", ], "Effect": "Allow", "Resource": { "Fn::GetAtt": [ "GluePipelineBucketForGlueAssestKeyDD6DEB0B", "Arn", ], }, }, ], "Version": "2012-10-17", }, "PolicyName": "CustomCDKBucketDeployment8693BB64968944B69AAFB0CC9EB8756CServiceRoleDefaultPolicy88902FDF", "Roles": [ { "Ref": "CustomCDKBucketDeployment8693BB64968944B69AAFB0CC9EB8756CServiceRole89A01265", }, ], }, "Type": "AWS::IAM::Policy", }, "CustomS3AutoDeleteObjectsCustomResourceProviderHandler9D90184F": { "DependsOn": [ "CustomS3AutoDeleteObjectsCustomResourceProviderRole3B1BD092", ], "Properties": { "Code": { "S3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-\${AWS::AccountId}-\${AWS::Region}", }, "S3Key": "64267bdade6530c78c99e1df05c9336e81c8dad82fdb06133ee90f7390f69d26.zip", }, "Description": { "Fn::Join": [ "", [ "Lambda function for auto-deleting objects in ", { "Ref": "BucketForOriginDataAccessLogsE44BF6A6", }, " S3 bucket.", ], ], }, "Handler": "index.handler", "MemorySize": 128, "Role": { "Fn::GetAtt": [ "CustomS3AutoDeleteObjectsCustomResourceProviderRole3B1BD092", "Arn", ], }, "Runtime": "nodejs16.x", "Timeout": 900, }, "Type": "AWS::Lambda::Function", }, "CustomS3AutoDeleteObjectsCustomResourceProviderRole3B1BD092": { "Properties": { "AssumeRolePolicyDocument": { "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "Service": "lambda.amazonaws.com", }, }, ], "Version": "2012-10-17", }, "ManagedPolicyArns": [ { "Fn::Sub": "arn:\${AWS::Partition}:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole", }, ], }, "Type": "AWS::IAM::Role", }, "CustomerAccountTable8A8D0203": { "Properties": { "CatalogId": { "Ref": "AWS::AccountId", }, "DatabaseName": { "Ref": "glueDatabaseForOriginData4BC6CB85", }, "TableInput": { "Description": "customeraccount generated by CDK", "Name": "customeraccount", "Parameters": { "classification": "csv", "has_encrypted_data": true, "skip.header.line.count": "1", }, "PartitionKeys": [], "StorageDescriptor": { "Columns": [ { "Name": "br_num", "Type": "string", }, { "Name": "acct_code", "Type": "string", }, { "Name": "account_num", "Type": "string", }, { "Name": "account_open_date", "Type": "string", }, { "Name": "f_main_account", "Type": "string", }, { "Name": "ma_br_num", "Type": "string", }, { "Name": "ma_acct_code", "Type": "string", }, { "Name": "ma_account_num", "Type": "string", }, ], "Compressed": false, "InputFormat": "org.apache.hadoop.mapred.TextInputFormat", "Location": { "Fn::Join": [ "", [ "s3://", { "Ref": "BucketForOriginData7A7ED22B", }, "/CustomerAccount", ], ], }, "OutputFormat": "org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat", "SerdeInfo": { "SerializationLibrary": "org.apache.hadoop.hive.serde2.OpenCSVSerde", }, "StoredAsSubDirectories": false, }, "TableType": "EXTERNAL_TABLE", }, }, "Type": "AWS::Glue::Table", }, "CustomerTableBB8DAB31": { "Properties": { "CatalogId": { "Ref": "AWS::AccountId", }, "DatabaseName": { "Ref": "glueDatabaseForOriginData4BC6CB85", }, "TableInput": { "Description": "customer generated by CDK", "Name": "customer", "Parameters": { "classification": "csv", "has_encrypted_data": true, "skip.header.line.count": "1", }, "PartitionKeys": [], "StorageDescriptor": { "Columns": [ { "Name": "cif_num", "Type": "string", }, { "Name": "last_name", "Type": "string", }, { "Name": "first_name", "Type": "string", }, { "Name": "middle_name", "Type": "string", }, { "Name": "phone_number", "Type": "string", }, { "Name": "town_code", "Type": "string", }, { "Name": "post_code", "Type": "string", }, { "Name": "address", "Type": "string", }, { "Name": "sex", "Type": "string", }, { "Name": "birthday", "Type": "string", }, { "Name": "income_range", "Type": "string", }, { "Name": "marriage", "Type": "string", }, { "Name": "br_num", "Type": "string", }, { "Name": "acct_code", "Type": "string", }, { "Name": "account_num", "Type": "string", }, { "Name": "blacklisted", "Type": "string", }, { "Name": "blacklist_info", "Type": "string", }, { "Name": "blacklist_date", "Type": "string", }, { "Name": "blacklist_time", "Type": "string", }, ], "Compressed": false, "InputFormat": "org.apache.hadoop.mapred.TextInputFormat", "Location": { "Fn::Join": [ "", [ "s3://", { "Ref": "BucketForOriginData7A7ED22B", }, "/Customer", ], ], }, "OutputFormat": "org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat", "SerdeInfo": { "SerializationLibrary": "org.apache.hadoop.hive.serde2.OpenCSVSerde", }, "StoredAsSubDirectories": false, }, "TableType": "EXTERNAL_TABLE", }, }, "Type": "AWS::Glue::Table", }, "DepositWithdrawHistoryTable1019CD95": { "Properties": { "CatalogId": { "Ref": "AWS::AccountId", }, "DatabaseName": { "Ref": "glueDatabaseForOriginData4BC6CB85", }, "TableInput": { "Description": "depositwithdrawhistory generated by CDK", "Name": "depositwithdrawhistory", "Parameters": { "classification": "csv", "has_encrypted_data": true, "skip.header.line.count": "1", }, "PartitionKeys": [], "StorageDescriptor": { "Columns": [ { "Name": "br_num", "Type": "string", }, { "Name": "acct_code", "Type": "string", }, { "Name": "account_num", "Type": "string", }, { "Name": "trx_date", "Type": "string", }, { "Name": "trx_time", "Type": "string", }, { "Name": "calc_date", "Type": "string", }, { "Name": "deposit", "Type": "string", }, { "Name": "withdrawal", "Type": "string", }, { "Name": "check_type", "Type": "string", }, { "Name": "check_num", "Type": "string", }, { "Name": "balance", "Type": "string", }, { "Name": "trx_type", "Type": "string", }, { "Name": "dst_fin_institute_num", "Type": "string", }, { "Name": "dst_fin_br_num", "Type": "string", }, { "Name": "dst_fin_acct_code", "Type": "string", }, { "Name": "dst_fin_acct_num", "Type": "string", }, { "Name": "notes", "Type": "string", }, ], "Compressed": false, "InputFormat": "org.apache.hadoop.mapred.TextInputFormat", "Location": { "Fn::Join": [ "", [ "s3://", { "Ref": "BucketForOriginData7A7ED22B", }, "/DepositWithdrawHistory", ], ], }, "OutputFormat": "org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat", "SerdeInfo": { "SerializationLibrary": "org.apache.hadoop.hive.serde2.OpenCSVSerde", }, "StoredAsSubDirectories": false, }, "TableType": "EXTERNAL_TABLE", }, }, "Type": "AWS::Glue::Table", }, "GlueConnectionSecurityGroup47F0E7E3": { "Properties": { "GroupDescription": "Security group for Glue connection", "SecurityGroupEgress": [ { "CidrIpv6": "::/0", "Description": "from ::/0:ALL TRAFFIC", "IpProtocol": "-1", }, { "CidrIp": "0.0.0.0/0", "Description": "Allow all outbound traffic by default", "IpProtocol": "-1", }, ], "VpcId": { "Ref": "SampleVpcB65C16C5", }, }, "Type": "AWS::EC2::SecurityGroup", }, "GlueConnectionSecurityGroupfromBLEAFSIAnalyticsPlatformGlueConnectionSecurityGroupFD4DF4E2ALLTRAFFIC01F58B92": { "Properties": { "Description": "allow self referencing", "GroupId": { "Fn::GetAtt": [ "GlueConnectionSecurityGroup47F0E7E3", "GroupId", ], }, "IpProtocol": "-1", "SourceSecurityGroupId": { "Fn::GetAtt": [ "GlueConnectionSecurityGroup47F0E7E3", "GroupId", ], }, }, "Type": "AWS::EC2::SecurityGroupIngress", }, "GluePipelineBleaForFSISimpleDatalakeGlueJobsLogGroupA4A3536D": { "DeletionPolicy": "Retain", "Properties": { "RetentionInDays": 731, }, "Type": "AWS::Logs::LogGroup", "UpdateReplacePolicy": "Retain", }, "GluePipelineBucketForGlueAssest78DC3612": { "DeletionPolicy": "Delete", "Properties": { "AccessControl": "Private", "BucketEncryption": { "ServerSideEncryptionConfiguration": [ { "ServerSideEncryptionByDefault": { "KMSMasterKeyID": { "Fn::GetAtt": [ "GluePipelineBucketForGlueAssestKeyDD6DEB0B", "Arn", ], }, "SSEAlgorithm": "aws:kms", }, }, ], }, "BucketName": { "Fn::Join": [ "", [ "glue-job-asset-", { "Ref": "AWS::AccountId", }, ], ], }, "LoggingConfiguration": { "DestinationBucketName": { "Ref": "GluePipelineBucketForGlueAssestAccessLogs8C6926BD", }, }, "PublicAccessBlockConfiguration": { "BlockPublicAcls": true, "BlockPublicPolicy": true, "IgnorePublicAcls": true, "RestrictPublicBuckets": true, }, "Tags": [ { "Key": "aws-cdk:auto-delete-objects", "Value": "true", }, { "Key": "aws-cdk:cr-owned:scripts:d614dc2f", "Value": "true", }, ], "VersioningConfiguration": { "Status": "Enabled", }, }, "Type": "AWS::S3::Bucket", "UpdateReplacePolicy": "Delete", }, "GluePipelineBucketForGlueAssestAccessLogs8C6926BD": { "DeletionPolicy": "Delete", "Properties": { "AccessControl": "LogDeliveryWrite", "BucketEncryption": { "ServerSideEncryptionConfiguration": [ { "ServerSideEncryptionByDefault": { "SSEAlgorithm": "AES256", }, }, ], }, "BucketName": { "Fn::Join": [ "", [ "glue-job-asset-", { "Ref": "AWS::AccountId", }, "-logs", ], ], }, "LifecycleConfiguration": { "Rules": [ { "ExpirationInDays": 2555, "Status": "Enabled", "Transitions": [ { "StorageClass": "GLACIER", "TransitionInDays": 90, }, ], }, ], }, "OwnershipControls": { "Rules": [ { "ObjectOwnership": "ObjectWriter", }, ], }, "PublicAccessBlockConfiguration": { "BlockPublicAcls": true, "BlockPublicPolicy": true, "IgnorePublicAcls": true, "RestrictPublicBuckets": true, }, "Tags": [ { "Key": "aws-cdk:auto-delete-objects", "Value": "true", }, ], "VersioningConfiguration": { "Status": "Enabled", }, }, "Type": "AWS::S3::Bucket", "UpdateReplacePolicy": "Delete", }, "GluePipelineBucketForGlueAssestAccessLogsAutoDeleteObjectsCustomResourceA9357515": { "DeletionPolicy": "Delete", "DependsOn": [ "GluePipelineBucketForGlueAssestAccessLogsPolicy98C8F646", ], "Properties": { "BucketName": { "Ref": "GluePipelineBucketForGlueAssestAccessLogs8C6926BD", }, "ServiceToken": { "Fn::GetAtt": [ "CustomS3AutoDeleteObjectsCustomResourceProviderHandler9D90184F", "Arn", ], }, }, "Type": "Custom::S3AutoDeleteObjects", "UpdateReplacePolicy": "Delete", }, "GluePipelineBucketForGlueAssestAccessLogsPolicy98C8F646": { "Properties": { "Bucket": { "Ref": "GluePipelineBucketForGlueAssestAccessLogs8C6926BD", }, "PolicyDocument": { "Statement": [ { "Action": "s3:*", "Condition": { "Bool": { "aws:SecureTransport": "false", }, }, "Effect": "Deny", "Principal": { "AWS": "*", }, "Resource": [ { "Fn::GetAtt": [ "GluePipelineBucketForGlueAssestAccessLogs8C6926BD", "Arn", ], }, { "Fn::Join": [ "", [ { "Fn::GetAtt": [ "GluePipelineBucketForGlueAssestAccessLogs8C6926BD", "Arn", ], }, "/*", ], ], }, ], }, { "Action": [ "s3:GetBucket*", "s3:List*", "s3:DeleteObject*", ], "Effect": "Allow", "Principal": { "AWS": { "Fn::GetAtt": [ "CustomS3AutoDeleteObjectsCustomResourceProviderRole3B1BD092", "Arn", ], }, }, "Resource": [ { "Fn::GetAtt": [ "GluePipelineBucketForGlueAssestAccessLogs8C6926BD", "Arn", ], }, { "Fn::Join": [ "", [ { "Fn::GetAtt": [ "GluePipelineBucketForGlueAssestAccessLogs8C6926BD", "Arn", ], }, "/*", ], ], }, ], }, { "Action": "s3:DeleteObject", "Effect": "Deny", "Principal": { "AWS": "*", }, "Resource": { "Fn::Join": [ "", [ { "Fn::GetAtt": [ "GluePipelineBucketForGlueAssestAccessLogs8C6926BD", "Arn", ], }, "/*", ], ], }, "Sid": "Restrict Delete* Actions", }, ], "Version": "2012-10-17", }, }, "Type": "AWS::S3::BucketPolicy", }, "GluePipelineBucketForGlueAssestAutoDeleteObjectsCustomResource75E8D3A7": { "DeletionPolicy": "Delete", "DependsOn": [ "GluePipelineBucketForGlueAssestPolicy755F1C5B", ], "Properties": { "BucketName": { "Ref": "GluePipelineBucketForGlueAssest78DC3612", }, "ServiceToken": { "Fn::GetAtt": [ "CustomS3AutoDeleteObjectsCustomResourceProviderHandler9D90184F", "Arn", ], }, }, "Type": "Custom::S3AutoDeleteObjects", "UpdateReplacePolicy": "Delete", }, "GluePipelineBucketForGlueAssestKeyAlias68DD6C08": { "Properties": { "AliasName": "alias/BucketForGlueAssest-for-s3-encryption", "TargetKeyId": { "Fn::GetAtt": [ "GluePipelineBucketForGlueAssestKeyDD6DEB0B", "Arn", ], }, }, "Type": "AWS::KMS::Alias", }, "GluePipelineBucketForGlueAssestKeyDD6DEB0B": { "DeletionPolicy": "Retain", "Properties": { "Description": "for S3 Encryption", "EnableKeyRotation": true, "KeyPolicy": { "Statement": [ { "Action": "kms:*", "Effect": "Allow", "Principal": { "AWS": { "Fn::Join": [ "", [ "arn:", { "Ref": "AWS::Partition", }, ":iam::", { "Ref": "AWS::AccountId", }, ":root", ], ], }, }, "Resource": "*", }, ], "Version": "2012-10-17", }, }, "Type": "AWS::KMS::Key", "UpdateReplacePolicy": "Retain", }, "GluePipelineBucketForGlueAssestPolicy755F1C5B": { "Properties": { "Bucket": { "Ref": "GluePipelineBucketForGlueAssest78DC3612", }, "PolicyDocument": { "Statement": [ { "Action": "s3:*", "Condition": { "Bool": { "aws:SecureTransport": "false", }, }, "Effect": "Deny", "Principal": { "AWS": "*", }, "Resource": [ { "Fn::GetAtt": [ "GluePipelineBucketForGlueAssest78DC3612", "Arn", ], }, { "Fn::Join": [ "", [ { "Fn::GetAtt": [ "GluePipelineBucketForGlueAssest78DC3612", "Arn", ], }, "/*", ], ], }, ], }, { "Action": [ "s3:GetBucket*", "s3:List*", "s3:DeleteObject*", ], "Effect": "Allow", "Principal": { "AWS": { "Fn::GetAtt": [ "CustomS3AutoDeleteObjectsCustomResourceProviderRole3B1BD092", "Arn", ], }, }, "Resource": [ { "Fn::GetAtt": [ "GluePipelineBucketForGlueAssest78DC3612", "Arn", ], }, { "Fn::Join": [ "", [ { "Fn::GetAtt": [ "GluePipelineBucketForGlueAssest78DC3612", "Arn", ], }, "/*", ], ], }, ], }, ], "Version": "2012-10-17", }, }, "Type": "AWS::S3::BucketPolicy", }, "GluePipelineBucketForSparkUILog6DFB99D2": { "DeletionPolicy": "Delete", "Properties": { "AccessControl": "Private", "BucketEncryption": { "ServerSideEncryptionConfiguration": [ { "ServerSideEncryptionByDefault": { "KMSMasterKeyID": { "Fn::GetAtt": [ "GluePipelineBucketForSparkUILogKey27833FE2", "Arn", ], }, "SSEAlgorithm": "aws:kms", }, }, ], }, "BucketName": { "Fn::Join": [ "", [ "sparkui-log-", { "Ref": "AWS::AccountId", }, ], ], }, "LoggingConfiguration": { "DestinationBucketName": { "Ref": "GluePipelineBucketForSparkUILogAccessLogsE26645A6", }, }, "PublicAccessBlockConfiguration": { "BlockPublicAcls": true, "BlockPublicPolicy": true, "IgnorePublicAcls": true, "RestrictPublicBuckets": true, }, "Tags": [ { "Key": "aws-cdk:auto-delete-objects", "Value": "true", }, ], "VersioningConfiguration": { "Status": "Enabled", }, }, "Type": "AWS::S3::Bucket", "UpdateReplacePolicy": "Delete", }, "GluePipelineBucketForSparkUILogAccessLogsAutoDeleteObjectsCustomResource5B5FED4E": { "DeletionPolicy": "Delete", "DependsOn": [ "GluePipelineBucketForSparkUILogAccessLogsPolicyF3B977E1", ], "Properties": { "BucketName": { "Ref": "GluePipelineBucketForSparkUILogAccessLogsE26645A6", }, "ServiceToken": { "Fn::GetAtt": [ "CustomS3AutoDeleteObjectsCustomResourceProviderHandler9D90184F", "Arn", ], }, }, "Type": "Custom::S3AutoDeleteObjects", "UpdateReplacePolicy": "Delete", }, "GluePipelineBucketForSparkUILogAccessLogsE26645A6": { "DeletionPolicy": "Delete", "Properties": { "AccessControl": "LogDeliveryWrite", "BucketEncryption": { "ServerSideEncryptionConfiguration": [ { "ServerSideEncryptionByDefault": { "SSEAlgorithm": "AES256", }, }, ], }, "BucketName": { "Fn::Join": [ "", [ "sparkui-log-", { "Ref": "AWS::AccountId", }, "-logs", ], ], }, "LifecycleConfiguration": { "Rules": [ { "ExpirationInDays": 2555, "Status": "Enabled", "Transitions": [ { "StorageClass": "GLACIER", "TransitionInDays": 90, }, ], }, ], }, "OwnershipControls": { "Rules": [ { "ObjectOwnership": "ObjectWriter", }, ], }, "PublicAccessBlockConfiguration": { "BlockPublicAcls": true, "BlockPublicPolicy": true, "IgnorePublicAcls": true, "RestrictPublicBuckets": true, }, "Tags": [ { "Key": "aws-cdk:auto-delete-objects", "Value": "true", }, ], "VersioningConfiguration": { "Status": "Enabled", }, }, "Type": "AWS::S3::Bucket", "UpdateReplacePolicy": "Delete", }, "GluePipelineBucketForSparkUILogAccessLogsPolicyF3B977E1": { "Properties": { "Bucket": { "Ref": "GluePipelineBucketForSparkUILogAccessLogsE26645A6", }, "PolicyDocument": { "Statement": [ { "Action": "s3:*", "Condition": { "Bool": { "aws:SecureTransport": "false", }, }, "Effect": "Deny", "Principal": { "AWS": "*", }, "Resource": [ { "Fn::GetAtt": [ "GluePipelineBucketForSparkUILogAccessLogsE26645A6", "Arn", ], }, { "Fn::Join": [ "", [ { "Fn::GetAtt": [ "GluePipelineBucketForSparkUILogAccessLogsE26645A6", "Arn", ], }, "/*", ], ], }, ], }, { "Action": [ "s3:GetBucket*", "s3:List*", "s3:DeleteObject*", ], "Effect": "Allow", "Principal": { "AWS": { "Fn::GetAtt": [ "CustomS3AutoDeleteObjectsCustomResourceProviderRole3B1BD092", "Arn", ], }, }, "Resource": [ { "Fn::GetAtt": [ "GluePipelineBucketForSparkUILogAccessLogsE26645A6", "Arn", ], }, { "Fn::Join": [ "", [ { "Fn::GetAtt": [ "GluePipelineBucketForSparkUILogAccessLogsE26645A6", "Arn", ], }, "/*", ], ], }, ], }, { "Action": "s3:DeleteObject", "Effect": "Deny", "Principal": { "AWS": "*", }, "Resource": { "Fn::Join": [ "", [ { "Fn::GetAtt": [ "GluePipelineBucketForSparkUILogAccessLogsE26645A6", "Arn", ], }, "/*", ], ], }, "Sid": "Restrict Delete* Actions", }, ], "Version": "2012-10-17", }, }, "Type": "AWS::S3::BucketPolicy", }, "GluePipelineBucketForSparkUILogAutoDeleteObjectsCustomResource7FC1BF2B": { "DeletionPolicy": "Delete", "DependsOn": [ "GluePipelineBucketForSparkUILogPolicyDBCA45A2", ], "Properties": { "BucketName": { "Ref": "GluePipelineBucketForSparkUILog6DFB99D2", }, "ServiceToken": { "Fn::GetAtt": [ "CustomS3AutoDeleteObjectsCustomResourceProviderHandler9D90184F", "Arn", ], }, }, "Type": "Custom::S3AutoDeleteObjects", "UpdateReplacePolicy": "Delete", }, "GluePipelineBucketForSparkUILogKey27833FE2": { "DeletionPolicy": "Retain", "Properties": { "Description": "for S3 Encryption", "EnableKeyRotation": true, "KeyPolicy": { "Statement": [ { "Action": "kms:*", "Effect": "Allow", "Principal": { "AWS": { "Fn::Join": [ "", [ "arn:", { "Ref": "AWS::Partition", }, ":iam::", { "Ref": "AWS::AccountId", }, ":root", ], ], }, }, "Resource": "*", }, ], "Version": "2012-10-17", }, }, "Type": "AWS::KMS::Key", "UpdateReplacePolicy": "Retain", }, "GluePipelineBucketForSparkUILogKeyAlias4987A6F9": { "Properties": { "AliasName": "alias/BucketForSparkUILog-for-s3-encryption", "TargetKeyId": { "Fn::GetAtt": [ "GluePipelineBucketForSparkUILogKey27833FE2", "Arn", ], }, }, "Type": "AWS::KMS::Alias", }, "GluePipelineBucketForSparkUILogPolicyDBCA45A2": { "Properties": { "Bucket": { "Ref": "GluePipelineBucketForSparkUILog6DFB99D2", }, "PolicyDocument": { "Statement": [ { "Action": "s3:*", "Condition": { "Bool": { "aws:SecureTransport": "false", }, }, "Effect": "Deny", "Principal": { "AWS": "*", }, "Resource": [ { "Fn::GetAtt": [ "GluePipelineBucketForSparkUILog6DFB99D2", "Arn", ], }, { "Fn::Join": [ "", [ { "Fn::GetAtt": [ "GluePipelineBucketForSparkUILog6DFB99D2", "Arn", ], }, "/*", ], ], }, ], }, { "Action": [ "s3:GetBucket*", "s3:List*", "s3:DeleteObject*", ], "Effect": "Allow", "Principal": { "AWS": { "Fn::GetAtt": [ "CustomS3AutoDeleteObjectsCustomResourceProviderRole3B1BD092", "Arn", ], }, }, "Resource": [ { "Fn::GetAtt": [ "GluePipelineBucketForSparkUILog6DFB99D2", "Arn", ], }, { "Fn::Join": [ "", [ { "Fn::GetAtt": [ "GluePipelineBucketForSparkUILog6DFB99D2", "Arn", ], }, "/*", ], ], }, ], }, ], "Version": "2012-10-17", }, }, "Type": "AWS::S3::BucketPolicy", }, "GluePipelineIamRoleForNormalizedDataglueJobRole6FD2BEE1": { "Properties": { "AssumeRolePolicyDocument": { "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "Service": "glue.amazonaws.com", }, }, ], "Version": "2012-10-17", }, "ManagedPolicyArns": [ { "Ref": "GluePipelineIamRoleForNormalizedDataglueJobRolePolicyF44FEB7A", }, { "Fn::Join": [ "", [ "arn:", { "Ref": "AWS::Partition", }, ":iam::aws:policy/service-role/AWSGlueServiceRole", ], ], }, ], }, "Type": "AWS::IAM::Role", }, "GluePipelineIamRoleForNormalizedDataglueJobRoleDefaultPolicyA650002A": { "Properties": { "PolicyDocument": { "Statement": [ { "Action": [ "s3:GetObject*", "s3:GetBucket*", "s3:List*", "s3:DeleteObject*", "s3:PutObject", "s3:PutObjectLegalHold", "s3:PutObjectRetention", "s3:PutObjectTagging", "s3:PutObjectVersionTagging", "s3:Abort*", ], "Effect": "Allow", "Resource": [ { "Fn::GetAtt": [ "GluePipelineBucketForSparkUILog6DFB99D2", "Arn", ], }, { "Fn::Join": [ "", [ { "Fn::GetAtt": [ "GluePipelineBucketForSparkUILog6DFB99D2", "Arn", ], }, "/*", ], ], }, ], }, { "Action": [ "kms:Decrypt", "kms:DescribeKey", "kms:Encrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", ], "Effect": "Allow", "Resource": { "Fn::GetAtt": [ "GluePipelineBucketForSparkUILogKey27833FE2", "Arn", ], }, }, { "Action": [ "logs:CreateLogStream", "logs:PutLogEvents", ], "Effect": "Allow", "Resource": { "Fn::GetAtt": [ "GluePipelineNormalizedToAnalyticsInternetBankingPeriodGlueJobNormalizedToAnalyticsInternetBankingPeriodA18231F7", "Arn", ], }, }, { "Action": [ "s3:GetObject*", "s3:GetBucket*", "s3:List*", ], "Effect": "Allow", "Resource": [ { "Fn::GetAtt": [ "GluePipelineBucketForGlueAssest78DC3612", "Arn", ], }, { "Fn::Join": [ "", [ { "Fn::GetAtt": [ "GluePipelineBucketForGlueAssest78DC3612", "Arn", ], }, "/scripts/NormalizedToAnalytics_InternetBankingPeriod.py", ], ], }, ], }, { "Action": [ "kms:Decrypt", "kms:DescribeKey", ], "Effect": "Allow", "Resource": { "Fn::GetAtt": [ "GluePipelineBucketForGlueAssestKeyDD6DEB0B", "Arn", ], }, }, { "Action": [ "logs:CreateLogStream", "logs:PutLogEvents", ], "Effect": "Allow", "Resource": { "Fn::GetAtt": [ "GluePipelineNormalizedToAnalyticsCustomerAccountDepositsGlueJobNormalizedToAnalyticsCustomerAccountDepositsF824C769", "Arn", ], }, }, { "Action": [ "s3:GetObject*", "s3:GetBucket*", "s3:List*", ], "Effect": "Allow", "Resource": [ { "Fn::GetAtt": [ "GluePipelineBucketForGlueAssest78DC3612", "Arn", ], }, { "Fn::Join": [ "", [ { "Fn::GetAtt": [ "GluePipelineBucketForGlueAssest78DC3612", "Arn", ], }, "/scripts/NormalizedToAnalytics_CustomerAccountDeposits.py", ], ], }, ], }, ], "Version": "2012-10-17", }, "PolicyName": "GluePipelineIamRoleForNormalizedDataglueJobRoleDefaultPolicyA650002A", "Roles": [ { "Ref": "GluePipelineIamRoleForNormalizedDataglueJobRole6FD2BEE1", }, ], }, "Type": "AWS::IAM::Policy", }, "GluePipelineIamRoleForNormalizedDataglueJobRolePolicyF44FEB7A": { "Properties": { "Description": "", "Path": "/", "PolicyDocument": { "Statement": [ { "Action": [ "s3:GetObject", "s3:PutObject", "s3:DeleteObject", "s3:ListBucket", ], "Effect": "Allow", "Resource": { "Fn::Join": [ "", [ { "Fn::GetAtt": [ "BucketForNormalizedDataFC4FE75F", "Arn", ], }, "/*", ], ], }, }, { "Action": [ "s3:GetObject", "s3:PutObject", "s3:DeleteObject", "s3:ListBucket", ], "Effect": "Allow", "Resource": { "Fn::Join": [ "", [ { "Fn::GetAtt": [ "BucketForAnalyticsCB669397", "Arn", ], }, "/*", ], ], }, }, { "Action": [ "s3:GetObject", "s3:PutObject", "s3:DeleteObject", "s3:ListBucket", ], "Effect": "Allow", "Resource": { "Fn::Join": [ "", [ { "Fn::GetAtt": [ "GluePipelineBucketForGlueAssest78DC3612", "Arn", ], }, "/*", ], ], }, }, { "Action": [ "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey", "kms:Decrypt", "logs:AssociateKmsKey", ], "Effect": "Allow", "Resource": [ "arn:aws:logs:*:*:/aws-glue/*", { "Fn::GetAtt": [ "AthenaWorkGroupEncryptionKey89E2456F", "Arn", ], }, { "Fn::GetAtt": [ "S3BuketEncryptionKeyE78C9176", "Arn", ], }, { "Fn::GetAtt": [ "GluePipelineBucketForGlueAssestKeyDD6DEB0B", "Arn", ], }, ], }, ], "Version": "2012-10-17", }, }, "Type": "AWS::IAM::ManagedPolicy", }, "GluePipelineIamRoleForOriginDataglueJobRoleDefaultPolicyCFAABE85": { "Properties": { "PolicyDocument": { "Statement": [ { "Action": [ "s3:GetObject*", "s3:GetBucket*", "s3:List*", "s3:DeleteObject*", "s3:PutObject", "s3:PutObjectLegalHold", "s3:PutObjectRetention", "s3:PutObjectTagging", "s3:PutObjectVersionTagging", "s3:Abort*", ], "Effect": "Allow", "Resource": [ { "Fn::GetAtt": [ "GluePipelineBucketForSparkUILog6DFB99D2", "Arn", ], }, { "Fn::Join": [ "", [ { "Fn::GetAtt": [ "GluePipelineBucketForSparkUILog6DFB99D2", "Arn", ], }, "/*", ], ], }, ], }, { "Action": [ "kms:Decrypt", "kms:DescribeKey", "kms:Encrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", ], "Effect": "Allow", "Resource": { "Fn::GetAtt": [ "GluePipelineBucketForSparkUILogKey27833FE2", "Arn", ], }, }, { "Action": [ "logs:CreateLogStream", "logs:PutLogEvents", ], "Effect": "Allow", "Resource": { "Fn::GetAtt": [ "GluePipelineOriginToRawCustomerGlueJobOriginToRawCustomer5F30E115", "Arn", ], }, }, { "Action": [ "s3:GetObject*", "s3:GetBucket*", "s3:List*", ], "Effect": "Allow", "Resource": [ { "Fn::GetAtt": [ "GluePipelineBucketForGlueAssest78DC3612", "Arn", ], }, { "Fn::Join": [ "", [ { "Fn::GetAtt": [ "GluePipelineBucketForGlueAssest78DC3612", "Arn", ], }, "/scripts/OriginToRaw_Customer.py", ], ], }, ], }, { "Action": [ "kms:Decrypt", "kms:DescribeKey", ], "Effect": "Allow", "Resource": { "Fn::GetAtt": [ "GluePipelineBucketForGlueAssestKeyDD6DEB0B", "Arn", ], }, }, { "Action": [ "logs:CreateLogStream", "logs:PutLogEvents", ], "Effect": "Allow", "Resource": { "Fn::GetAtt": [ "GluePipelineOriginToRawInternetBankingUserGlueJobOriginToRawInternetBankingUser1C6606D1", "Arn", ], }, }, { "Action": [ "s3:GetObject*", "s3:GetBucket*", "s3:List*", ], "Effect": "Allow", "Resource": [ { "Fn::GetAtt": [ "GluePipelineBucketForGlueAssest78DC3612", "Arn", ], }, { "Fn::Join": [ "", [ { "Fn::GetAtt": [ "GluePipelineBucketForGlueAssest78DC3612", "Arn", ], }, "/scripts/OriginToRaw_InternetBankingUser.py", ], ], }, ], }, { "Action": [ "logs:CreateLogStream", "logs:PutLogEvents", ], "Effect": "Allow", "Resource": { "Fn::GetAtt": [ "GluePipelineOriginToRawCustomerAccountGlueJobOriginToRawCustomerAccount54D28404", "Arn", ], }, }, { "Action": [ "s3:GetObject*", "s3:GetBucket*", "s3:List*", ], "Effect": "Allow", "Resource": [ { "Fn::GetAtt": [ "GluePipelineBucketForGlueAssest78DC3612", "Arn", ], }, { "Fn::Join": [ "", [ { "Fn::GetAtt": [ "GluePipelineBucketForGlueAssest78DC3612", "Arn", ], }, "/scripts/OriginToRaw_CustomerAccount.py", ], ], }, ], }, { "Action": [ "logs:CreateLogStream", "logs:PutLogEvents", ], "Effect": "Allow", "Resource": { "Fn::GetAtt": [ "GluePipelineOriginToRawDepositWithdrawHistoryGlueJobOriginToRawDepositWithdrawHistory226CA239", "Arn", ], }, }, { "Action": [ "s3:GetObject*", "s3:GetBucket*", "s3:List*", ], "Effect": "Allow", "Resource": [ { "Fn::GetAtt": [ "GluePipelineBucketForGlueAssest78DC3612", "Arn", ], }, { "Fn::Join": [ "", [ { "Fn::GetAtt": [ "GluePipelineBucketForGlueAssest78DC3612", "Arn", ], }, "/scripts/OriginToRaw_DepositWithdrawHistory.py", ], ], }, ], }, ], "Version": "2012-10-17", }, "PolicyName": "GluePipelineIamRoleForOriginDataglueJobRoleDefaultPolicyCFAABE85", "Roles": [ { "Ref": "GluePipelineIamRoleForOriginDataglueJobRoleF8CCF957", }, ], }, "Type": "AWS::IAM::Policy", }, "GluePipelineIamRoleForOriginDataglueJobRoleF8CCF957": { "Properties": { "AssumeRolePolicyDocument": { "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "Service": "glue.amazonaws.com", }, }, ], "Version": "2012-10-17", }, "ManagedPolicyArns": [ { "Ref": "GluePipelineIamRoleForOriginDataglueJobRolePolicy7E6230C7", }, { "Fn::Join": [ "", [ "arn:", { "Ref": "AWS::Partition", }, ":iam::aws:policy/service-role/AWSGlueServiceRole", ], ], }, ], }, "Type": "AWS::IAM::Role", }, "GluePipelineIamRoleForOriginDataglueJobRolePolicy7E6230C7": { "Properties": { "Description": "", "Path": "/", "PolicyDocument": { "Statement": [ { "Action": [ "s3:GetObject", "s3:PutObject", "s3:DeleteObject", "s3:ListBucket", ], "Effect": "Allow", "Resource": { "Fn::Join": [ "", [ { "Fn::GetAtt": [ "BucketForOriginData7A7ED22B", "Arn", ], }, "/*", ], ], }, }, { "Action": [ "s3:GetObject", "s3:PutObject", "s3:DeleteObject", "s3:ListBucket", ], "Effect": "Allow", "Resource": { "Fn::Join": [ "", [ { "Fn::GetAtt": [ "BucketForRawData7F45C148", "Arn", ], }, "/*", ], ], }, }, { "Action": [ "s3:GetObject", "s3:PutObject", "s3:DeleteObject", "s3:ListBucket", ], "Effect": "Allow", "Resource": { "Fn::Join": [ "", [ { "Fn::GetAtt": [ "GluePipelineBucketForGlueAssest78DC3612", "Arn", ], }, "/*", ], ], }, }, { "Action": [ "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey", "kms:Decrypt", "logs:AssociateKmsKey", ], "Effect": "Allow", "Resource": [ "arn:aws:logs:*:*:/aws-glue/*", { "Fn::GetAtt": [ "AthenaWorkGroupEncryptionKey89E2456F", "Arn", ], }, { "Fn::GetAtt": [ "S3BuketEncryptionKeyE78C9176", "Arn", ], }, { "Fn::GetAtt": [ "GluePipelineBucketForGlueAssestKeyDD6DEB0B", "Arn", ], }, ], }, ], "Version": "2012-10-17", }, }, "Type": "AWS::IAM::ManagedPolicy", }, "GluePipelineIamRoleForRawDataglueJobRoleDefaultPolicy2D291D4D": { "Properties": { "PolicyDocument": { "Statement": [ { "Action": [ "s3:GetObject*", "s3:GetBucket*", "s3:List*", "s3:DeleteObject*", "s3:PutObject", "s3:PutObjectLegalHold", "s3:PutObjectRetention", "s3:PutObjectTagging", "s3:PutObjectVersionTagging", "s3:Abort*", ], "Effect": "Allow", "Resource": [ { "Fn::GetAtt": [ "GluePipelineBucketForSparkUILog6DFB99D2", "Arn", ], }, { "Fn::Join": [ "", [ { "Fn::GetAtt": [ "GluePipelineBucketForSparkUILog6DFB99D2", "Arn", ], }, "/*", ], ], }, ], }, { "Action": [ "kms:Decrypt", "kms:DescribeKey", "kms:Encrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", ], "Effect": "Allow", "Resource": { "Fn::GetAtt": [ "GluePipelineBucketForSparkUILogKey27833FE2", "Arn", ], }, }, { "Action": [ "logs:CreateLogStream", "logs:PutLogEvents", ], "Effect": "Allow", "Resource": { "Fn::GetAtt": [ "GluePipelineRawToNormalizedCustomerGlueJobRawToNormalizedCustomer6F37EC7B", "Arn", ], }, }, { "Action": [ "s3:GetObject*", "s3:GetBucket*", "s3:List*", ], "Effect": "Allow", "Resource": [ { "Fn::GetAtt": [ "GluePipelineBucketForGlueAssest78DC3612", "Arn", ], }, { "Fn::Join": [ "", [ { "Fn::GetAtt": [ "GluePipelineBucketForGlueAssest78DC3612", "Arn", ], }, "/scripts/RawToNormalized_Customer.py", ], ], }, ], }, { "Action": [ "kms:Decrypt", "kms:DescribeKey", ], "Effect": "Allow", "Resource": { "Fn::GetAtt": [ "GluePipelineBucketForGlueAssestKeyDD6DEB0B", "Arn", ], }, }, { "Action": [ "logs:CreateLogStream", "logs:PutLogEvents", ], "Effect": "Allow", "Resource": { "Fn::GetAtt": [ "GluePipelineRawToNormalizedInternetBankingUserGlueJobRawToNormalizedInternetBankingUser8E15019B", "Arn", ], }, }, { "Action": [ "s3:GetObject*", "s3:GetBucket*", "s3:List*", ], "Effect": "Allow", "Resource": [ { "Fn::GetAtt": [ "GluePipelineBucketForGlueAssest78DC3612", "Arn", ], }, { "Fn::Join": [ "", [ { "Fn::GetAtt": [ "GluePipelineBucketForGlueAssest78DC3612", "Arn", ], }, "/scripts/RawToNormalized_InternetBankingUser.py", ], ], }, ], }, { "Action": [ "logs:CreateLogStream", "logs:PutLogEvents", ], "Effect": "Allow", "Resource": { "Fn::GetAtt": [ "GluePipelineRawToNormalizedCustomerAccountGlueJobRawToNormalizedCustomerAccount5322D334", "Arn", ], }, }, { "Action": [ "s3:GetObject*", "s3:GetBucket*", "s3:List*", ], "Effect": "Allow", "Resource": [ { "Fn::GetAtt": [ "GluePipelineBucketForGlueAssest78DC3612", "Arn", ], }, { "Fn::Join": [ "", [ { "Fn::GetAtt": [ "GluePipelineBucketForGlueAssest78DC3612", "Arn", ], }, "/scripts/RawToNormalized_CustomerAccount.py", ], ], }, ], }, { "Action": [ "logs:CreateLogStream", "logs:PutLogEvents", ], "Effect": "Allow", "Resource": { "Fn::GetAtt": [ "GluePipelineRawToNormalizedDepositWithdrawHistoryGlueJobRawToNormalizedDepositWithdrawHistoryA76B8774", "Arn", ], }, }, { "Action": [ "s3:GetObject*", "s3:GetBucket*", "s3:List*", ], "Effect": "Allow", "Resource": [ { "Fn::GetAtt": [ "GluePipelineBucketForGlueAssest78DC3612", "Arn", ], }, { "Fn::Join": [ "", [ { "Fn::GetAtt": [ "GluePipelineBucketForGlueAssest78DC3612", "Arn", ], }, "/scripts/RawToNormalized_DepositWithdrawHistory.py", ], ], }, ], }, ], "Version": "2012-10-17", }, "PolicyName": "GluePipelineIamRoleForRawDataglueJobRoleDefaultPolicy2D291D4D", "Roles": [ { "Ref": "GluePipelineIamRoleForRawDataglueJobRoleE0FFB830", }, ], }, "Type": "AWS::IAM::Policy", }, "GluePipelineIamRoleForRawDataglueJobRoleE0FFB830": { "Properties": { "AssumeRolePolicyDocument": { "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "Service": "glue.amazonaws.com", }, }, ], "Version": "2012-10-17", }, "ManagedPolicyArns": [ { "Ref": "GluePipelineIamRoleForRawDataglueJobRolePolicyCBB29140", }, { "Fn::Join": [ "", [ "arn:", { "Ref": "AWS::Partition", }, ":iam::aws:policy/service-role/AWSGlueServiceRole", ], ], }, ], }, "Type": "AWS::IAM::Role", }, "GluePipelineIamRoleForRawDataglueJobRolePolicyCBB29140": { "Properties": { "Description": "", "Path": "/", "PolicyDocument": { "Statement": [ { "Action": [ "s3:GetObject", "s3:PutObject", "s3:DeleteObject", "s3:ListBucket", ], "Effect": "Allow", "Resource": { "Fn::Join": [ "", [ { "Fn::GetAtt": [ "BucketForRawData7F45C148", "Arn", ], }, "/*", ], ], }, }, { "Action": [ "s3:GetObject", "s3:PutObject", "s3:DeleteObject", "s3:ListBucket", ], "Effect": "Allow", "Resource": { "Fn::Join": [ "", [ { "Fn::GetAtt": [ "BucketForNormalizedDataFC4FE75F", "Arn", ], }, "/*", ], ], }, }, { "Action": [ "s3:GetObject", "s3:PutObject", "s3:DeleteObject", "s3:ListBucket", ], "Effect": "Allow", "Resource": { "Fn::Join": [ "", [ { "Fn::GetAtt": [ "GluePipelineBucketForGlueAssest78DC3612", "Arn", ], }, "/*", ], ], }, }, { "Action": [ "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey", "kms:Decrypt", "logs:AssociateKmsKey", ], "Effect": "Allow", "Resource": [ "arn:aws:logs:*:*:/aws-glue/*", { "Fn::GetAtt": [ "AthenaWorkGroupEncryptionKey89E2456F", "Arn", ], }, { "Fn::GetAtt": [ "S3BuketEncryptionKeyE78C9176", "Arn", ], }, { "Fn::GetAtt": [ "GluePipelineBucketForGlueAssestKeyDD6DEB0B", "Arn", ], }, ], }, ], "Version": "2012-10-17", }, }, "Type": "AWS::IAM::ManagedPolicy", }, "GluePipelineMySecurityConfiguration1C0F87B2": { "Properties": { "EncryptionConfiguration": { "CloudWatchEncryption": { "CloudWatchEncryptionMode": "SSE-KMS", "KmsKeyArn": { "Fn::GetAtt": [ "AthenaWorkGroupEncryptionKey89E2456F", "Arn", ], }, }, "JobBookmarksEncryption": { "JobBookmarksEncryptionMode": "CSE-KMS", "KmsKeyArn": { "Fn::GetAtt": [ "AthenaWorkGroupEncryptionKey89E2456F", "Arn", ], }, }, "S3Encryptions": [ { "KmsKeyArn": { "Fn::GetAtt": [ "AthenaWorkGroupEncryptionKey89E2456F", "Arn", ], }, "S3EncryptionMode": "SSE-KMS", }, ], }, "Name": "BLEAFSIAnalyticsPlatformGluePipelineMySecurityConfiguration04DFA244", }, "Type": "AWS::Glue::SecurityConfiguration", }, "GluePipelineNormalizedToAnalyticsCustomerAccountDepositsF4A6BCD0": { "Properties": { "Command": { "Name": "glueetl", "PythonVersion": "3", "ScriptLocation": { "Fn::Join": [ "", [ "s3://", { "Ref": "GluePipelineBucketForGlueAssest78DC3612", }, "/scripts/NormalizedToAnalytics_CustomerAccountDeposits.py", ], ], }, }, "Connections": { "Connections": [ { "Ref": "PrivateConnection7791052B", }, ], }, "DefaultArguments": { "--TempDir": { "Fn::Join": [ "", [ "s3://", { "Ref": "GluePipelineBucketForGlueAssest78DC3612", }, "/output/temp/", ], ], }, "--continuous-log-logGroup": { "Ref": "GluePipelineNormalizedToAnalyticsCustomerAccountDepositsGlueJobNormalizedToAnalyticsCustomerAccountDepositsF824C769", }, "--enable-auto-scaling": "true", "--enable-continuous-cloudwatch-log": "true", "--enable-continuous-log-filter": "true", "--enable-glue-datacatalog": "true", "--enable-job-insights": "true", "--enable-metrics": "true", "--enable-spark-ui": "true", "--job-bookmark-option": "job-bookmark-disable", "--job-language": "python", "--source_glue_database": { "Ref": "glueDatabaseForNormalizedData470A63A7", }, "--spark-event-logs-path": { "Fn::Join": [ "", [ "s3://", { "Ref": "GluePipelineBucketForGlueAssest78DC3612", }, "/output/logs/", ], ], }, "--target_bucket_name": { "Ref": "BucketForAnalyticsCB669397", }, "--target_glue_database": { "Ref": "glueDatabaseForAnalyticsData9910134F", }, }, "Description": "PySpark job forNormalizedToAnalytics_CustomerAccountDeposits", "ExecutionProperty": { "MaxConcurrentRuns": 1, }, "GlueVersion": "4.0", "MaxRetries": 0, "Name": "NormalizedToAnalytics_CustomerAccountDeposits", "NumberOfWorkers": 5, "Role": { "Fn::GetAtt": [ "GluePipelineIamRoleForNormalizedDataglueJobRole6FD2BEE1", "Arn", ], }, "SecurityConfiguration": { "Ref": "GluePipelineMySecurityConfiguration1C0F87B2", }, "WorkerType": "G.1X", }, "Type": "AWS::Glue::Job", }, "GluePipelineNormalizedToAnalyticsCustomerAccountDepositsGlueJobNormalizedToAnalyticsCustomerAccountDepositsF824C769": { "DeletionPolicy": "Retain", "Properties": { "RetentionInDays": 731, }, "Type": "AWS::Logs::LogGroup", "UpdateReplacePolicy": "Retain", }, "GluePipelineNormalizedToAnalyticsInternetBankingPeriod70C1BE61": { "Properties": { "Command": { "Name": "glueetl", "PythonVersion": "3", "ScriptLocation": { "Fn::Join": [ "", [ "s3://", { "Ref": "GluePipelineBucketForGlueAssest78DC3612", }, "/scripts/NormalizedToAnalytics_InternetBankingPeriod.py", ], ], }, }, "Connections": { "Connections": [ { "Ref": "PrivateConnection7791052B", }, ], }, "DefaultArguments": { "--TempDir": { "Fn::Join": [ "", [ "s3://", { "Ref": "GluePipelineBucketForGlueAssest78DC3612", }, "/output/temp/", ], ], }, "--continuous-log-logGroup": { "Ref": "GluePipelineNormalizedToAnalyticsInternetBankingPeriodGlueJobNormalizedToAnalyticsInternetBankingPeriodA18231F7", }, "--enable-auto-scaling": "true", "--enable-continuous-cloudwatch-log": "true", "--enable-continuous-log-filter": "true", "--enable-glue-datacatalog": "true", "--enable-job-insights": "true", "--enable-metrics": "true", "--enable-spark-ui": "true", "--job-bookmark-option": "job-bookmark-disable", "--job-language": "python", "--source_glue_database": { "Ref": "glueDatabaseForNormalizedData470A63A7", }, "--spark-event-logs-path": { "Fn::Join": [ "", [ "s3://", { "Ref": "GluePipelineBucketForGlueAssest78DC3612", }, "/output/logs/", ], ], }, "--target_bucket_name": { "Ref": "BucketForAnalyticsCB669397", }, "--target_glue_database": { "Ref": "glueDatabaseForAnalyticsData9910134F", }, }, "Description": "PySpark job forNormalizedToAnalytics_InternetBankingPeriod", "ExecutionProperty": { "MaxConcurrentRuns": 1, }, "GlueVersion": "4.0", "MaxRetries": 0, "Name": "NormalizedToAnalytics_InternetBankingPeriod", "NumberOfWorkers": 2, "Role": { "Fn::GetAtt": [ "GluePipelineIamRoleForNormalizedDataglueJobRole6FD2BEE1", "Arn", ], }, "SecurityConfiguration": { "Ref": "GluePipelineMySecurityConfiguration1C0F87B2", }, "WorkerType": "G.1X", }, "Type": "AWS::Glue::Job", }, "GluePipelineNormalizedToAnalyticsInternetBankingPeriodGlueJobNormalizedToAnalyticsInternetBankingPeriodA18231F7": { "DeletionPolicy": "Retain", "Properties": { "RetentionInDays": 731, }, "Type": "AWS::Logs::LogGroup", "UpdateReplacePolicy": "Retain", }, "GluePipelineOriginToRawCustomer367C65A4": { "Properties": { "Command": { "Name": "glueetl", "PythonVersion": "3", "ScriptLocation": { "Fn::Join": [ "", [ "s3://", { "Ref": "GluePipelineBucketForGlueAssest78DC3612", }, "/scripts/OriginToRaw_Customer.py", ], ], }, }, "Connections": { "Connections": [ { "Ref": "PrivateConnection7791052B", }, ], }, "DefaultArguments": { "--TempDir": { "Fn::Join": [ "", [ "s3://", { "Ref": "GluePipelineBucketForGlueAssest78DC3612", }, "/output/temp/", ], ], }, "--continuous-log-logGroup": { "Ref": "GluePipelineOriginToRawCustomerGlueJobOriginToRawCustomer5F30E115", }, "--enable-auto-scaling": "true", "--enable-continuous-cloudwatch-log": "true", "--enable-continuous-log-filter": "true", "--enable-glue-datacatalog": "true", "--enable-job-insights": "true", "--enable-metrics": "true", "--enable-spark-ui": "true", "--job-bookmark-option": "job-bookmark-disable", "--job-language": "python", "--source_bucket_name": { "Ref": "BucketForOriginData7A7ED22B", }, "--source_glue_database": { "Ref": "glueDatabaseForOriginData4BC6CB85", }, "--spark-event-logs-path": { "Fn::Join": [ "", [ "s3://", { "Ref": "GluePipelineBucketForGlueAssest78DC3612", }, "/output/logs/", ], ], }, "--target_bucket_name": { "Ref": "BucketForRawData7F45C148", }, "--target_glue_database": { "Ref": "glueDatabaseForRawDataCB892846", }, }, "Description": "PySpark job forOriginToRaw_Customer", "ExecutionProperty": { "MaxConcurrentRuns": 1, }, "GlueVersion": "4.0", "MaxRetries": 0, "Name": "OriginToRaw_Customer", "NumberOfWorkers": 2, "Role": { "Fn::GetAtt": [ "GluePipelineIamRoleForOriginDataglueJobRoleF8CCF957", "Arn", ], }, "SecurityConfiguration": { "Ref": "GluePipelineMySecurityConfiguration1C0F87B2", }, "WorkerType": "G.1X", }, "Type": "AWS::Glue::Job", }, "GluePipelineOriginToRawCustomerAccount7AFFE1A8": { "Properties": { "Command": { "Name": "glueetl", "PythonVersion": "3", "ScriptLocation": { "Fn::Join": [ "", [ "s3://", { "Ref": "GluePipelineBucketForGlueAssest78DC3612", }, "/scripts/OriginToRaw_CustomerAccount.py", ], ], }, }, "Connections": { "Connections": [ { "Ref": "PrivateConnection7791052B", }, ], }, "DefaultArguments": { "--TempDir": { "Fn::Join": [ "", [ "s3://", { "Ref": "GluePipelineBucketForGlueAssest78DC3612", }, "/output/temp/", ], ], }, "--continuous-log-logGroup": { "Ref": "GluePipelineOriginToRawCustomerAccountGlueJobOriginToRawCustomerAccount54D28404", }, "--enable-auto-scaling": "true", "--enable-continuous-cloudwatch-log": "true", "--enable-continuous-log-filter": "true", "--enable-glue-datacatalog": "true", "--enable-job-insights": "true", "--enable-metrics": "true", "--enable-spark-ui": "true", "--job-bookmark-option": "job-bookmark-disable", "--job-language": "python", "--source_bucket_name": { "Ref": "BucketForOriginData7A7ED22B", }, "--source_glue_database": { "Ref": "glueDatabaseForOriginData4BC6CB85", }, "--spark-event-logs-path": { "Fn::Join": [ "", [ "s3://", { "Ref": "GluePipelineBucketForGlueAssest78DC3612", }, "/output/logs/", ], ], }, "--target_bucket_name": { "Ref": "BucketForRawData7F45C148", }, "--target_glue_database": { "Ref": "glueDatabaseForRawDataCB892846", }, }, "Description": "PySpark job forOriginToRaw_CustomerAccount", "ExecutionProperty": { "MaxConcurrentRuns": 1, }, "GlueVersion": "4.0", "MaxRetries": 0, "Name": "OriginToRaw_CustomerAccount", "NumberOfWorkers": 2, "Role": { "Fn::GetAtt": [ "GluePipelineIamRoleForOriginDataglueJobRoleF8CCF957", "Arn", ], }, "SecurityConfiguration": { "Ref": "GluePipelineMySecurityConfiguration1C0F87B2", }, "WorkerType": "G.1X", }, "Type": "AWS::Glue::Job", }, "GluePipelineOriginToRawCustomerAccountGlueJobOriginToRawCustomerAccount54D28404": { "DeletionPolicy": "Retain", "Properties": { "RetentionInDays": 731, }, "Type": "AWS::Logs::LogGroup", "UpdateReplacePolicy": "Retain", }, "GluePipelineOriginToRawCustomerGlueJobOriginToRawCustomer5F30E115": { "DeletionPolicy": "Retain", "Properties": { "RetentionInDays": 731, }, "Type": "AWS::Logs::LogGroup", "UpdateReplacePolicy": "Retain", }, "GluePipelineOriginToRawDepositWithdrawHistory9EBC172F": { "Properties": { "Command": { "Name": "glueetl", "PythonVersion": "3", "ScriptLocation": { "Fn::Join": [ "", [ "s3://", { "Ref": "GluePipelineBucketForGlueAssest78DC3612", }, "/scripts/OriginToRaw_DepositWithdrawHistory.py", ], ], }, }, "Connections": { "Connections": [ { "Ref": "PrivateConnection7791052B", }, ], }, "DefaultArguments": { "--TempDir": { "Fn::Join": [ "", [ "s3://", { "Ref": "GluePipelineBucketForGlueAssest78DC3612", }, "/output/temp/", ], ], }, "--continuous-log-logGroup": { "Ref": "GluePipelineOriginToRawDepositWithdrawHistoryGlueJobOriginToRawDepositWithdrawHistory226CA239", }, "--enable-auto-scaling": "true", "--enable-continuous-cloudwatch-log": "true", "--enable-continuous-log-filter": "true", "--enable-glue-datacatalog": "true", "--enable-job-insights": "true", "--enable-metrics": "true", "--enable-spark-ui": "true", "--job-bookmark-option": "job-bookmark-disable", "--job-language": "python", "--source_bucket_name": { "Ref": "BucketForOriginData7A7ED22B", }, "--source_glue_database": { "Ref": "glueDatabaseForOriginData4BC6CB85", }, "--spark-event-logs-path": { "Fn::Join": [ "", [ "s3://", { "Ref": "GluePipelineBucketForGlueAssest78DC3612", }, "/output/logs/", ], ], }, "--target_bucket_name": { "Ref": "BucketForRawData7F45C148", }, "--target_glue_database": { "Ref": "glueDatabaseForRawDataCB892846", }, }, "Description": "PySpark job forOriginToRaw_DepositWithdrawHistory", "ExecutionProperty": { "MaxConcurrentRuns": 1, }, "GlueVersion": "4.0", "MaxRetries": 0, "Name": "OriginToRaw_DepositWithdrawHistory", "NumberOfWorkers": 5, "Role": { "Fn::GetAtt": [ "GluePipelineIamRoleForOriginDataglueJobRoleF8CCF957", "Arn", ], }, "SecurityConfiguration": { "Ref": "GluePipelineMySecurityConfiguration1C0F87B2", }, "WorkerType": "G.1X", }, "Type": "AWS::Glue::Job", }, "GluePipelineOriginToRawDepositWithdrawHistoryGlueJobOriginToRawDepositWithdrawHistory226CA239": { "DeletionPolicy": "Retain", "Properties": { "RetentionInDays": 731, }, "Type": "AWS::Logs::LogGroup", "UpdateReplacePolicy": "Retain", }, "GluePipelineOriginToRawInternetBankingUser5AC819C7": { "Properties": { "Command": { "Name": "glueetl", "PythonVersion": "3", "ScriptLocation": { "Fn::Join": [ "", [ "s3://", { "Ref": "GluePipelineBucketForGlueAssest78DC3612", }, "/scripts/OriginToRaw_InternetBankingUser.py", ], ], }, }, "Connections": { "Connections": [ { "Ref": "PrivateConnection7791052B", }, ], }, "DefaultArguments": { "--TempDir": { "Fn::Join": [ "", [ "s3://", { "Ref": "GluePipelineBucketForGlueAssest78DC3612", }, "/output/temp/", ], ], }, "--continuous-log-logGroup": { "Ref": "GluePipelineOriginToRawInternetBankingUserGlueJobOriginToRawInternetBankingUser1C6606D1", }, "--enable-auto-scaling": "true", "--enable-continuous-cloudwatch-log": "true", "--enable-continuous-log-filter": "true", "--enable-glue-datacatalog": "true", "--enable-job-insights": "true", "--enable-metrics": "true", "--enable-spark-ui": "true", "--job-bookmark-option": "job-bookmark-disable", "--job-language": "python", "--source_bucket_name": { "Ref": "BucketForOriginData7A7ED22B", }, "--source_glue_database": { "Ref": "glueDatabaseForOriginData4BC6CB85", }, "--spark-event-logs-path": { "Fn::Join": [ "", [ "s3://", { "Ref": "GluePipelineBucketForGlueAssest78DC3612", }, "/output/logs/", ], ], }, "--target_bucket_name": { "Ref": "BucketForRawData7F45C148", }, "--target_glue_database": { "Ref": "glueDatabaseForRawDataCB892846", }, }, "Description": "PySpark job forOriginToRaw_InternetBankingUser", "ExecutionProperty": { "MaxConcurrentRuns": 1, }, "GlueVersion": "4.0", "MaxRetries": 0, "Name": "OriginToRaw_InternetBankingUser", "NumberOfWorkers": 2, "Role": { "Fn::GetAtt": [ "GluePipelineIamRoleForOriginDataglueJobRoleF8CCF957", "Arn", ], }, "SecurityConfiguration": { "Ref": "GluePipelineMySecurityConfiguration1C0F87B2", }, "WorkerType": "G.1X", }, "Type": "AWS::Glue::Job", }, "GluePipelineOriginToRawInternetBankingUserGlueJobOriginToRawInternetBankingUser1C6606D1": { "DeletionPolicy": "Retain", "Properties": { "RetentionInDays": 731, }, "Type": "AWS::Logs::LogGroup", "UpdateReplacePolicy": "Retain", }, "GluePipelineRawToNormalizedCustomer351F5972": { "Properties": { "Command": { "Name": "glueetl", "PythonVersion": "3", "ScriptLocation": { "Fn::Join": [ "", [ "s3://", { "Ref": "GluePipelineBucketForGlueAssest78DC3612", }, "/scripts/RawToNormalized_Customer.py", ], ], }, }, "Connections": { "Connections": [ { "Ref": "PrivateConnection7791052B", }, ], }, "DefaultArguments": { "--TempDir": { "Fn::Join": [ "", [ "s3://", { "Ref": "GluePipelineBucketForGlueAssest78DC3612", }, "/output/temp/", ], ], }, "--continuous-log-logGroup": { "Ref": "GluePipelineRawToNormalizedCustomerGlueJobRawToNormalizedCustomer6F37EC7B", }, "--enable-auto-scaling": "true", "--enable-continuous-cloudwatch-log": "true", "--enable-continuous-log-filter": "true", "--enable-glue-datacatalog": "true", "--enable-job-insights": "true", "--enable-metrics": "true", "--enable-spark-ui": "true", "--job-bookmark-option": "job-bookmark-disable", "--job-language": "python", "--source_glue_database": { "Ref": "glueDatabaseForRawDataCB892846", }, "--spark-event-logs-path": { "Fn::Join": [ "", [ "s3://", { "Ref": "GluePipelineBucketForGlueAssest78DC3612", }, "/output/logs/", ], ], }, "--target_bucket_name": { "Ref": "BucketForNormalizedDataFC4FE75F", }, "--target_glue_database": { "Ref": "glueDatabaseForNormalizedData470A63A7", }, }, "Description": "PySpark job forRawToNormalized_Customer", "ExecutionProperty": { "MaxConcurrentRuns": 1, }, "GlueVersion": "4.0", "MaxRetries": 0, "Name": "RawToNormalized_Customer", "NumberOfWorkers": 2, "Role": { "Fn::GetAtt": [ "GluePipelineIamRoleForRawDataglueJobRoleE0FFB830", "Arn", ], }, "SecurityConfiguration": { "Ref": "GluePipelineMySecurityConfiguration1C0F87B2", }, "WorkerType": "G.1X", }, "Type": "AWS::Glue::Job", }, "GluePipelineRawToNormalizedCustomerAccount36DB0B00": { "Properties": { "Command": { "Name": "glueetl", "PythonVersion": "3", "ScriptLocation": { "Fn::Join": [ "", [ "s3://", { "Ref": "GluePipelineBucketForGlueAssest78DC3612", }, "/scripts/RawToNormalized_CustomerAccount.py", ], ], }, }, "Connections": { "Connections": [ { "Ref": "PrivateConnection7791052B", }, ], }, "DefaultArguments": { "--TempDir": { "Fn::Join": [ "", [ "s3://", { "Ref": "GluePipelineBucketForGlueAssest78DC3612", }, "/output/temp/", ], ], }, "--continuous-log-logGroup": { "Ref": "GluePipelineRawToNormalizedCustomerAccountGlueJobRawToNormalizedCustomerAccount5322D334", }, "--enable-auto-scaling": "true", "--enable-continuous-cloudwatch-log": "true", "--enable-continuous-log-filter": "true", "--enable-glue-datacatalog": "true", "--enable-job-insights": "true", "--enable-metrics": "true", "--enable-spark-ui": "true", "--job-bookmark-option": "job-bookmark-disable", "--job-language": "python", "--source_glue_database": { "Ref": "glueDatabaseForRawDataCB892846", }, "--spark-event-logs-path": { "Fn::Join": [ "", [ "s3://", { "Ref": "GluePipelineBucketForGlueAssest78DC3612", }, "/output/logs/", ], ], }, "--target_bucket_name": { "Ref": "BucketForNormalizedDataFC4FE75F", }, "--target_glue_database": { "Ref": "glueDatabaseForNormalizedData470A63A7", }, }, "Description": "PySpark job forRawToNormalized_CustomerAccount", "ExecutionProperty": { "MaxConcurrentRuns": 1, }, "GlueVersion": "4.0", "MaxRetries": 0, "Name": "RawToNormalized_CustomerAccount", "NumberOfWorkers": 2, "Role": { "Fn::GetAtt": [ "GluePipelineIamRoleForRawDataglueJobRoleE0FFB830", "Arn", ], }, "SecurityConfiguration": { "Ref": "GluePipelineMySecurityConfiguration1C0F87B2", }, "WorkerType": "G.1X", }, "Type": "AWS::Glue::Job", }, "GluePipelineRawToNormalizedCustomerAccountGlueJobRawToNormalizedCustomerAccount5322D334": { "DeletionPolicy": "Retain", "Properties": { "RetentionInDays": 731, }, "Type": "AWS::Logs::LogGroup", "UpdateReplacePolicy": "Retain", }, "GluePipelineRawToNormalizedCustomerGlueJobRawToNormalizedCustomer6F37EC7B": { "DeletionPolicy": "Retain", "Properties": { "RetentionInDays": 731, }, "Type": "AWS::Logs::LogGroup", "UpdateReplacePolicy": "Retain", }, "GluePipelineRawToNormalizedDepositWithdrawHistory96858082": { "Properties": { "Command": { "Name": "glueetl", "PythonVersion": "3", "ScriptLocation": { "Fn::Join": [ "", [ "s3://", { "Ref": "GluePipelineBucketForGlueAssest78DC3612", }, "/scripts/RawToNormalized_DepositWithdrawHistory.py", ], ], }, }, "Connections": { "Connections": [ { "Ref": "PrivateConnection7791052B", }, ], }, "DefaultArguments": { "--TempDir": { "Fn::Join": [ "", [ "s3://", { "Ref": "GluePipelineBucketForGlueAssest78DC3612", }, "/output/temp/", ], ], }, "--continuous-log-logGroup": { "Ref": "GluePipelineRawToNormalizedDepositWithdrawHistoryGlueJobRawToNormalizedDepositWithdrawHistoryA76B8774", }, "--enable-auto-scaling": "true", "--enable-continuous-cloudwatch-log": "true", "--enable-continuous-log-filter": "true", "--enable-glue-datacatalog": "true", "--enable-job-insights": "true", "--enable-metrics": "true", "--enable-spark-ui": "true", "--job-bookmark-option": "job-bookmark-disable", "--job-language": "python", "--source_glue_database": { "Ref": "glueDatabaseForRawDataCB892846", }, "--spark-event-logs-path": { "Fn::Join": [ "", [ "s3://", { "Ref": "GluePipelineBucketForGlueAssest78DC3612", }, "/output/logs/", ], ], }, "--target_bucket_name": { "Ref": "BucketForNormalizedDataFC4FE75F", }, "--target_glue_database": { "Ref": "glueDatabaseForNormalizedData470A63A7", }, }, "Description": "PySpark job forRawToNormalized_DepositWithdrawHistory", "ExecutionProperty": { "MaxConcurrentRuns": 1, }, "GlueVersion": "4.0", "MaxRetries": 0, "Name": "RawToNormalized_DepositWithdrawHistory", "NumberOfWorkers": 5, "Role": { "Fn::GetAtt": [ "GluePipelineIamRoleForRawDataglueJobRoleE0FFB830", "Arn", ], }, "SecurityConfiguration": { "Ref": "GluePipelineMySecurityConfiguration1C0F87B2", }, "WorkerType": "G.1X", }, "Type": "AWS::Glue::Job", }, "GluePipelineRawToNormalizedDepositWithdrawHistoryGlueJobRawToNormalizedDepositWithdrawHistoryA76B8774": { "DeletionPolicy": "Retain", "Properties": { "RetentionInDays": 731, }, "Type": "AWS::Logs::LogGroup", "UpdateReplacePolicy": "Retain", }, "GluePipelineRawToNormalizedInternetBankingUser0738218C": { "Properties": { "Command": { "Name": "glueetl", "PythonVersion": "3", "ScriptLocation": { "Fn::Join": [ "", [ "s3://", { "Ref": "GluePipelineBucketForGlueAssest78DC3612", }, "/scripts/RawToNormalized_InternetBankingUser.py", ], ], }, }, "Connections": { "Connections": [ { "Ref": "PrivateConnection7791052B", }, ], }, "DefaultArguments": { "--TempDir": { "Fn::Join": [ "", [ "s3://", { "Ref": "GluePipelineBucketForGlueAssest78DC3612", }, "/output/temp/", ], ], }, "--continuous-log-logGroup": { "Ref": "GluePipelineRawToNormalizedInternetBankingUserGlueJobRawToNormalizedInternetBankingUser8E15019B", }, "--enable-auto-scaling": "true", "--enable-continuous-cloudwatch-log": "true", "--enable-continuous-log-filter": "true", "--enable-glue-datacatalog": "true", "--enable-job-insights": "true", "--enable-metrics": "true", "--enable-spark-ui": "true", "--job-bookmark-option": "job-bookmark-disable", "--job-language": "python", "--source_glue_database": { "Ref": "glueDatabaseForRawDataCB892846", }, "--spark-event-logs-path": { "Fn::Join": [ "", [ "s3://", { "Ref": "GluePipelineBucketForGlueAssest78DC3612", }, "/output/logs/", ], ], }, "--target_bucket_name": { "Ref": "BucketForNormalizedDataFC4FE75F", }, "--target_glue_database": { "Ref": "glueDatabaseForNormalizedData470A63A7", }, }, "Description": "PySpark job forRawToNormalized_InternetBankingUser", "ExecutionProperty": { "MaxConcurrentRuns": 1, }, "GlueVersion": "4.0", "MaxRetries": 0, "Name": "RawToNormalized_InternetBankingUser", "NumberOfWorkers": 2, "Role": { "Fn::GetAtt": [ "GluePipelineIamRoleForRawDataglueJobRoleE0FFB830", "Arn", ], }, "SecurityConfiguration": { "Ref": "GluePipelineMySecurityConfiguration1C0F87B2", }, "WorkerType": "G.1X", }, "Type": "AWS::Glue::Job", }, "GluePipelineRawToNormalizedInternetBankingUserGlueJobRawToNormalizedInternetBankingUser8E15019B": { "DeletionPolicy": "Retain", "Properties": { "RetentionInDays": 731, }, "Type": "AWS::Logs::LogGroup", "UpdateReplacePolicy": "Retain", }, "GluePipelineScriptUploadAwsCliLayer2D616E0D": { "Properties": { "Content": { "S3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-\${AWS::AccountId}-\${AWS::Region}", }, "S3Key": "e2277687077a2abf9ae1af1cc9565e6715e2ebb62f79ec53aa75a1af9298f642.zip", }, "Description": "/opt/awscli/aws", }, "Type": "AWS::Lambda::LayerVersion", }, "GluePipelineScriptUploadCustomResource7B497919": { "DeletionPolicy": "Delete", "Properties": { "DestinationBucketKeyPrefix": "scripts", "DestinationBucketName": { "Ref": "GluePipelineBucketForGlueAssest78DC3612", }, "Prune": true, "ServiceToken": { "Fn::GetAtt": [ "CustomCDKBucketDeployment8693BB64968944B69AAFB0CC9EB8756C81C01536", "Arn", ], }, "SourceBucketNames": [ { "Fn::Sub": "cdk-hnb659fds-assets-\${AWS::AccountId}-\${AWS::Region}", }, ], "SourceObjectKeys": [ "1ca8a1d86cc212b0135422f5b57db6f99bf948b4becf37b4610659f909acf4b2.zip", ], }, "Type": "Custom::CDKBucketDeployment", "UpdateReplacePolicy": "Delete", }, "GluePipelineStepFunctionScheduleRunRoleForStepFunctionsRunDefaultPolicyCA27F502": { "Properties": { "PolicyDocument": { "Statement": [ { "Action": "states:StartExecution", "Effect": "Allow", "Resource": { "Ref": "GluePipelinegluejobpipelineF1F871A4", }, }, ], "Version": "2012-10-17", }, "PolicyName": "GluePipelineStepFunctionScheduleRunRoleForStepFunctionsRunDefaultPolicyCA27F502", "Roles": [ { "Ref": "GluePipelineStepFunctionScheduleRunRoleForStepFunctionsRunF3B84FF8", }, ], }, "Type": "AWS::IAM::Policy", }, "GluePipelineStepFunctionScheduleRunRoleForStepFunctionsRunF3B84FF8": { "Properties": { "AssumeRolePolicyDocument": { "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "Service": "events.amazonaws.com", }, }, ], "Version": "2012-10-17", }, "ManagedPolicyArns": [ { "Ref": "GluePipelineStepFunctionScheduleRunRoleForStepFunctionsRunPolicy39A57975", }, ], }, "Type": "AWS::IAM::Role", }, "GluePipelineStepFunctionScheduleRunRoleForStepFunctionsRunPolicy39A57975": { "Properties": { "Description": "", "Path": "/", "PolicyDocument": { "Statement": [ { "Action": "states:StartExecution", "Effect": "Allow", "Resource": { "Ref": "GluePipelinegluejobpipelineF1F871A4", }, }, ], "Version": "2012-10-17", }, }, "Type": "AWS::IAM::ManagedPolicy", }, "GluePipelineStepFunctionScheduleRunRule7DB59AF2": { "Properties": { "Description": "BLEA for FSI simple datalake GludJobsを定期実行", "Name": "bleafsi-simple-datalake-jobs-run", "ScheduleExpression": "cron(0 15 * * ? *)", "State": "ENABLED", "Targets": [ { "Arn": { "Ref": "GluePipelinegluejobpipelineF1F871A4", }, "Id": "Target0", "Input": "{}", "RoleArn": { "Fn::GetAtt": [ "GluePipelineStepFunctionScheduleRunRoleForStepFunctionsRunF3B84FF8", "Arn", ], }, }, ], }, "Type": "AWS::Events::Rule", }, "GluePipelinecloudwatchalarm82AE40EA": { "Type": "AWS::SNS::Topic", }, "GluePipelinecloudwatchalarmCWAlarmUnauthorizedAttempts4BC3B43B": { "Properties": { "ActionsEnabled": true, "AlarmActions": [ { "Ref": "GluePipelinecloudwatchalarm82AE40EA", }, ], "AlarmDescription": "BLEA for FSI: simple datalake Glue Job run failed", "ComparisonOperator": "GreaterThanOrEqualToThreshold", "DatapointsToAlarm": 1, "EvaluationPeriods": 1, "MetricName": "SFnTaskFailed", "Namespace": "GlueJobMetrics", "Period": 60, "Statistic": "Sum", "Threshold": 1, }, "Type": "AWS::CloudWatch::Alarm", }, "GluePipelinecloudwatchalarmEmail973704B3": { "Properties": { "Endpoint": "example@amazon.com", "Protocol": "email", "TopicArn": { "Ref": "GluePipelinecloudwatchalarm82AE40EA", }, }, "Type": "AWS::SNS::Subscription", }, "GluePipelinecloudwatchalarmMetricFilterSFnTaskFailed1F9564CD": { "Properties": { "FilterPattern": "{($.type=TaskFailed)}", "LogGroupName": { "Ref": "GluePipelineBleaForFSISimpleDatalakeGlueJobsLogGroupA4A3536D", }, "MetricTransformations": [ { "MetricName": "SFnTaskFailed", "MetricNamespace": "GlueJobMetrics", "MetricValue": "1", }, ], }, "Type": "AWS::Logs::MetricFilter", }, "GluePipelinecloudwatchalarmPolicy4D512A9F": { "Properties": { "PolicyDocument": { "Statement": [ { "Action": "sns:Publish", "Effect": "Allow", "Principal": { "Service": "cloudwatch.amazonaws.com", }, "Resource": { "Ref": "GluePipelinecloudwatchalarm82AE40EA", }, "Sid": "0", }, { "Action": "sns:Publish", "Condition": { "Bool": { "aws:SecureTransport": false, }, }, "Effect": "Deny", "Principal": "*", "Resource": { "Ref": "GluePipelinecloudwatchalarm82AE40EA", }, "Sid": "EnforcePublishersToUseSSL", }, ], "Version": "2012-10-17", }, "Topics": [ { "Ref": "GluePipelinecloudwatchalarm82AE40EA", }, ], }, "Type": "AWS::SNS::TopicPolicy", }, "GluePipelinegluejobpipelineF1F871A4": { "DeletionPolicy": "Delete", "DependsOn": [ "GluePipelinegluejobpipelineRoleDefaultPolicyF5E7453E", "GluePipelinegluejobpipelineRole050BA718", ], "Properties": { "DefinitionString": { "Fn::Join": [ "", [ "{"StartAt":"Parameter Check","States":{"Parameter Check":{"Type":"Choice","Choices":[{"Variable":"$.import_date","IsPresent":true,"Next":"OriginToRaw"}],"Default":"Parameter Supplement"},"Parameter Supplement":{"Type":"Pass","Parameters":{"import_date":"previous date"},"Next":"OriginToRaw"},"OriginToRaw":{"Type":"Parallel","ResultPath":null,"Next":"RawToNormalize","Branches":[{"StartAt":"sfntask_origintoraw_customer","States":{"sfntask_origintoraw_customer":{"End":true,"Retry":[{"ErrorEquals":["States.ALL"],"IntervalSeconds":30}],"Type":"Task","Resource":"arn:", { "Ref": "AWS::Partition", }, ":states:::glue:startJobRun.sync","Parameters":{"JobName":"OriginToRaw_Customer"}}}},{"StartAt":"sfntask_origintoraw_internetbankinguser","States":{"sfntask_origintoraw_internetbankinguser":{"End":true,"Retry":[{"ErrorEquals":["States.ALL"],"IntervalSeconds":30}],"Type":"Task","Resource":"arn:", { "Ref": "AWS::Partition", }, ":states:::glue:startJobRun.sync","Parameters":{"JobName":"OriginToRaw_InternetBankingUser"}}}},{"StartAt":"sfntask_origintoraw_customeraccount","States":{"sfntask_origintoraw_customeraccount":{"End":true,"Retry":[{"ErrorEquals":["States.ALL"],"IntervalSeconds":30}],"Type":"Task","Resource":"arn:", { "Ref": "AWS::Partition", }, ":states:::glue:startJobRun.sync","Parameters":{"JobName":"OriginToRaw_CustomerAccount"}}}},{"StartAt":"sfntask_origintoraw_depositwithdrawhistory","States":{"sfntask_origintoraw_depositwithdrawhistory":{"End":true,"Retry":[{"ErrorEquals":["States.ALL"],"IntervalSeconds":30}],"Type":"Task","Resource":"arn:", { "Ref": "AWS::Partition", }, ":states:::glue:startJobRun.sync","Parameters":{"JobName":"OriginToRaw_DepositWithdrawHistory"}}}}]},"RawToNormalize":{"Type":"Parallel","Next":"NormalizeToAnalysis","Branches":[{"StartAt":"sfntask_rawtonormalized_customer","States":{"sfntask_rawtonormalized_customer":{"End":true,"Retry":[{"ErrorEquals":["States.ALL"],"IntervalSeconds":30}],"Type":"Task","Resource":"arn:", { "Ref": "AWS::Partition", }, ":states:::glue:startJobRun.sync","Parameters":{"JobName":"RawToNormalized_Customer"}}}},{"StartAt":"sfntask_rawtonormalized_internetbankinguser","States":{"sfntask_rawtonormalized_internetbankinguser":{"End":true,"Retry":[{"ErrorEquals":["States.ALL"],"IntervalSeconds":30}],"Type":"Task","Resource":"arn:", { "Ref": "AWS::Partition", }, ":states:::glue:startJobRun.sync","Parameters":{"JobName":"RawToNormalized_InternetBankingUser"}}}},{"StartAt":"sfntask_rawtonormalized_customeraccount","States":{"sfntask_rawtonormalized_customeraccount":{"End":true,"Retry":[{"ErrorEquals":["States.ALL"],"IntervalSeconds":30}],"Type":"Task","Resource":"arn:", { "Ref": "AWS::Partition", }, ":states:::glue:startJobRun.sync","Parameters":{"JobName":"RawToNormalized_CustomerAccount"}}}},{"StartAt":"sfntask_rawtonormalized_depositwithdrawhistory","States":{"sfntask_rawtonormalized_depositwithdrawhistory":{"End":true,"Retry":[{"ErrorEquals":["States.ALL"],"IntervalSeconds":30}],"Type":"Task","Resource":"arn:", { "Ref": "AWS::Partition", }, ":states:::glue:startJobRun.sync","Parameters":{"JobName":"RawToNormalized_DepositWithdrawHistory","Arguments":{"--import_date.$":"$.import_date"}}}}}]},"NormalizeToAnalysis":{"Type":"Parallel","End":true,"Branches":[{"StartAt":"sfntask_normalizedtoanalytics_internetbankingperiod","States":{"sfntask_normalizedtoanalytics_internetbankingperiod":{"End":true,"Retry":[{"ErrorEquals":["States.ALL"],"IntervalSeconds":30}],"Type":"Task","Resource":"arn:", { "Ref": "AWS::Partition", }, ":states:::glue:startJobRun.sync","Parameters":{"JobName":"NormalizedToAnalytics_InternetBankingPeriod"}}}},{"StartAt":"sfntask_normalizedtoanalytics_customeraccountdeposits","States":{"sfntask_normalizedtoanalytics_customeraccountdeposits":{"End":true,"Retry":[{"ErrorEquals":["States.ALL"],"IntervalSeconds":30}],"Type":"Task","Resource":"arn:", { "Ref": "AWS::Partition", }, ":states:::glue:startJobRun.sync","Parameters":{"JobName":"NormalizedToAnalytics_CustomerAccountDeposits"}}}}]}}}", ], ], }, "LoggingConfiguration": { "Destinations": [ { "CloudWatchLogsLogGroup": { "LogGroupArn": { "Fn::GetAtt": [ "GluePipelineBleaForFSISimpleDatalakeGlueJobsLogGroupA4A3536D", "Arn", ], }, }, }, ], "Level": "ALL", }, "RoleArn": { "Fn::GetAtt": [ "GluePipelinegluejobpipelineRole050BA718", "Arn", ], }, "StateMachineName": "bleafsi-analyticsplatform-glue-job-pipeline", "StateMachineType": "STANDARD", }, "Type": "AWS::StepFunctions::StateMachine", "UpdateReplacePolicy": "Delete", }, "GluePipelinegluejobpipelineRole050BA718": { "Properties": { "AssumeRolePolicyDocument": { "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "Service": { "Fn::FindInMap": [ "ServiceprincipalMap", { "Ref": "AWS::Region", }, "states", ], }, }, }, ], "Version": "2012-10-17", }, }, "Type": "AWS::IAM::Role", }, "GluePipelinegluejobpipelineRoleDefaultPolicyF5E7453E": { "Properties": { "PolicyDocument": { "Statement": [ { "Action": [ "logs:CreateLogDelivery", "logs:GetLogDelivery", "logs:UpdateLogDelivery", "logs:DeleteLogDelivery", "logs:ListLogDeliveries", "logs:PutResourcePolicy", "logs:DescribeResourcePolicies", "logs:DescribeLogGroups", ], "Effect": "Allow", "Resource": "*", }, { "Action": [ "glue:StartJobRun", "glue:GetJobRun", "glue:GetJobRuns", "glue:BatchStopJobRun", ], "Effect": "Allow", "Resource": { "Fn::Join": [ "", [ "arn:", { "Ref": "AWS::Partition", }, ":glue:", { "Ref": "AWS::Region", }, ":", { "Ref": "AWS::AccountId", }, ":job/NormalizedToAnalytics_InternetBankingPeriod", ], ], }, }, { "Action": [ "glue:StartJobRun", "glue:GetJobRun", "glue:GetJobRuns", "glue:BatchStopJobRun", ], "Effect": "Allow", "Resource": { "Fn::Join": [ "", [ "arn:", { "Ref": "AWS::Partition", }, ":glue:", { "Ref": "AWS::Region", }, ":", { "Ref": "AWS::AccountId", }, ":job/NormalizedToAnalytics_CustomerAccountDeposits", ], ], }, }, { "Action": [ "glue:StartJobRun", "glue:GetJobRun", "glue:GetJobRuns", "glue:BatchStopJobRun", ], "Effect": "Allow", "Resource": { "Fn::Join": [ "", [ "arn:", { "Ref": "AWS::Partition", }, ":glue:", { "Ref": "AWS::Region", }, ":", { "Ref": "AWS::AccountId", }, ":job/RawToNormalized_Customer", ], ], }, }, { "Action": [ "glue:StartJobRun", "glue:GetJobRun", "glue:GetJobRuns", "glue:BatchStopJobRun", ], "Effect": "Allow", "Resource": { "Fn::Join": [ "", [ "arn:", { "Ref": "AWS::Partition", }, ":glue:", { "Ref": "AWS::Region", }, ":", { "Ref": "AWS::AccountId", }, ":job/RawToNormalized_InternetBankingUser", ], ], }, }, { "Action": [ "glue:StartJobRun", "glue:GetJobRun", "glue:GetJobRuns", "glue:BatchStopJobRun", ], "Effect": "Allow", "Resource": { "Fn::Join": [ "", [ "arn:", { "Ref": "AWS::Partition", }, ":glue:", { "Ref": "AWS::Region", }, ":", { "Ref": "AWS::AccountId", }, ":job/RawToNormalized_CustomerAccount", ], ], }, }, { "Action": [ "glue:StartJobRun", "glue:GetJobRun", "glue:GetJobRuns", "glue:BatchStopJobRun", ], "Effect": "Allow", "Resource": { "Fn::Join": [ "", [ "arn:", { "Ref": "AWS::Partition", }, ":glue:", { "Ref": "AWS::Region", }, ":", { "Ref": "AWS::AccountId", }, ":job/RawToNormalized_DepositWithdrawHistory", ], ], }, }, { "Action": [ "glue:StartJobRun", "glue:GetJobRun", "glue:GetJobRuns", "glue:BatchStopJobRun", ], "Effect": "Allow", "Resource": { "Fn::Join": [ "", [ "arn:", { "Ref": "AWS::Partition", }, ":glue:", { "Ref": "AWS::Region", }, ":", { "Ref": "AWS::AccountId", }, ":job/OriginToRaw_Customer", ], ], }, }, { "Action": [ "glue:StartJobRun", "glue:GetJobRun", "glue:GetJobRuns", "glue:BatchStopJobRun", ], "Effect": "Allow", "Resource": { "Fn::Join": [ "", [ "arn:", { "Ref": "AWS::Partition", }, ":glue:", { "Ref": "AWS::Region", }, ":", { "Ref": "AWS::AccountId", }, ":job/OriginToRaw_InternetBankingUser", ], ], }, }, { "Action": [ "glue:StartJobRun", "glue:GetJobRun", "glue:GetJobRuns", "glue:BatchStopJobRun", ], "Effect": "Allow", "Resource": { "Fn::Join": [ "", [ "arn:", { "Ref": "AWS::Partition", }, ":glue:", { "Ref": "AWS::Region", }, ":", { "Ref": "AWS::AccountId", }, ":job/OriginToRaw_CustomerAccount", ], ], }, }, { "Action": [ "glue:StartJobRun", "glue:GetJobRun", "glue:GetJobRuns", "glue:BatchStopJobRun", ], "Effect": "Allow", "Resource": { "Fn::Join": [ "", [ "arn:", { "Ref": "AWS::Partition", }, ":glue:", { "Ref": "AWS::Region", }, ":", { "Ref": "AWS::AccountId", }, ":job/OriginToRaw_DepositWithdrawHistory", ], ], }, }, ], "Version": "2012-10-17", }, "PolicyName": "GluePipelinegluejobpipelineRoleDefaultPolicyF5E7453E", "Roles": [ { "Ref": "GluePipelinegluejobpipelineRole050BA718", }, ], }, "Type": "AWS::IAM::Policy", }, "InternetBankingUserTable7AB95A3F": { "Properties": { "CatalogId": { "Ref": "AWS::AccountId", }, "DatabaseName": { "Ref": "glueDatabaseForOriginData4BC6CB85", }, "TableInput": { "Description": "internetbankinguser generated by CDK", "Name": "internetbankinguser", "Parameters": { "classification": "csv", "has_encrypted_data": true, "skip.header.line.count": "1", }, "PartitionKeys": [], "StorageDescriptor": { "Columns": [ { "Name": "cif_num", "Type": "string", }, { "Name": "email_address", "Type": "string", }, { "Name": "userid", "Type": "string", }, { "Name": "password", "Type": "string", }, { "Name": "recent_password", "Type": "string", }, { "Name": "join_date", "Type": "string", }, ], "Compressed": false, "InputFormat": "org.apache.hadoop.mapred.TextInputFormat", "Location": { "Fn::Join": [ "", [ "s3://", { "Ref": "BucketForOriginData7A7ED22B", }, "/InternetBankingUser", ], ], }, "OutputFormat": "org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat", "SerdeInfo": { "SerializationLibrary": "org.apache.hadoop.hive.serde2.OpenCSVSerde", }, "StoredAsSubDirectories": false, }, "TableType": "EXTERNAL_TABLE", }, }, "Type": "AWS::Glue::Table", }, "MyCfnDataCatalogEncryptionSettings": { "Properties": { "CatalogId": { "Ref": "AWS::AccountId", }, "DataCatalogEncryptionSettings": { "ConnectionPasswordEncryption": { "KmsKeyId": { "Ref": "AthenaWorkGroupEncryptionKey89E2456F", }, "ReturnConnectionPasswordEncrypted": true, }, "EncryptionAtRest": { "CatalogEncryptionMode": "SSE-KMS", "SseAwsKmsKeyId": { "Ref": "AthenaWorkGroupEncryptionKey89E2456F", }, }, }, }, "Type": "AWS::Glue::DataCatalogEncryptionSettings", }, "PrivateConnection7791052B": { "Properties": { "CatalogId": { "Ref": "AWS::AccountId", }, "ConnectionInput": { "ConnectionType": "NETWORK", "PhysicalConnectionRequirements": { "AvailabilityZone": { "Fn::Select": [ 0, { "Fn::GetAZs": "", }, ], }, "SecurityGroupIdList": [ { "Fn::GetAtt": [ "GlueConnectionSecurityGroup47F0E7E3", "GroupId", ], }, ], "SubnetId": { "Ref": "SampleVpcPrivateSubnet1Subnet5F17E634", }, }, }, }, "Type": "AWS::Glue::Connection", }, "QuickSightRolePolicyQuickSightRole519A65D2": { "Properties": { "AssumeRolePolicyDocument": { "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "Service": "quicksight.amazonaws.com", }, }, ], "Version": "2012-10-17", }, "ManagedPolicyArns": [ { "Ref": "QuickSightRolePolicyQuickSightRoleManagedPolicy56F83DAD", }, { "Fn::Join": [ "", [ "arn:", { "Ref": "AWS::Partition", }, ":iam::aws:policy/service-role/AWSQuicksightAthenaAccess", ], ], }, ], "RoleName": "bleafsi-quicksight-role", }, "Type": "AWS::IAM::Role", }, "QuickSightRolePolicyQuickSightRoleManagedPolicy56F83DAD": { "Properties": { "Description": "", "ManagedPolicyName": "policyName-c86cb75fe3202762f5de442e4c024485d6bb25997e", "Path": "/", "PolicyDocument": { "Statement": [ { "Action": [ "kms:Decrypt", "kms:GenerateDataKey", ], "Effect": "Allow", "Resource": [ { "Fn::GetAtt": [ "AthenaWorkGroupEncryptionKey89E2456F", "Arn", ], }, { "Fn::GetAtt": [ "S3BuketEncryptionKeyE78C9176", "Arn", ], }, ], }, { "Action": "s3:ListBucket", "Effect": "Allow", "Resource": [ { "Fn::Join": [ "", [ "arn:aws:s3:::bleafsi-analyticsplatform-normalized-", { "Ref": "AWS::AccountId", }, ], ], }, { "Fn::Join": [ "", [ "arn:aws:s3:::bleafsi-analyticsplatform-analytics-", { "Ref": "AWS::AccountId", }, ], ], }, { "Fn::Join": [ "", [ "arn:aws:s3:::bleafsi-analyticsplatform-master-", { "Ref": "AWS::AccountId", }, ], ], }, ], }, { "Action": [ "s3:GetObject", "s3:GetObjectVersion", ], "Effect": "Allow", "Resource": [ { "Fn::Join": [ "", [ "arn:aws:s3:::bleafsi-analyticsplatform-normalized-", { "Ref": "AWS::AccountId", }, "/*", ], ], }, { "Fn::Join": [ "", [ "arn:aws:s3:::bleafsi-analyticsplatform-analytics-", { "Ref": "AWS::AccountId", }, "/*", ], ], }, { "Fn::Join": [ "", [ "arn:aws:s3:::bleafsi-analyticsplatform-master-", { "Ref": "AWS::AccountId", }, "/*", ], ], }, ], }, { "Action": [ "s3:ListBucketMultipartUploads", "s3:GetBucketLocation", ], "Effect": "Allow", "Resource": { "Fn::Join": [ "", [ "arn:aws:s3:::bleafsi-analyticsplatform-athenaquery-output-", { "Ref": "AWS::AccountId", }, ], ], }, }, { "Action": [ "s3:PutObject", "s3:GetObject", "s3:AbortMultipartUpload", "s3:ListMultipartUploadParts", ], "Effect": "Allow", "Resource": { "Fn::Join": [ "", [ "arn:aws:s3:::bleafsi-analyticsplatform-athenaquery-output-", { "Ref": "AWS::AccountId", }, "/*", ], ], }, }, ], "Version": "2012-10-17", }, }, "Type": "AWS::IAM::ManagedPolicy", }, "S3BuketEncryptionKeyE78C9176": { "DeletionPolicy": "Retain", "Properties": { "Description": "this key is used for encryption of S3 Buckets in Bleafsi datalake", "EnableKeyRotation": true, "KeyPolicy": { "Statement": [ { "Action": "kms:*", "Effect": "Allow", "Principal": { "AWS": { "Fn::Join": [ "", [ "arn:", { "Ref": "AWS::Partition", }, ":iam::", { "Ref": "AWS::AccountId", }, ":root", ], ], }, }, "Resource": "*", }, ], "Version": "2012-10-17", }, }, "Type": "AWS::KMS::Key", "UpdateReplacePolicy": "Retain", }, "SampleVpcB65C16C5": { "Properties": { "CidrBlock": "10.4.0.0/16", "EnableDnsHostnames": true, "EnableDnsSupport": true, "InstanceTenancy": "default", "Tags": [ { "Key": "Name", "Value": "BLEAFSI-AnalyticsPlatform/SampleVpc/Vpc", }, ], }, "Type": "AWS::EC2::VPC", }, "SampleVpcGlueEndpoint043FF6F9": { "Properties": { "PrivateDnsEnabled": true, "SecurityGroupIds": [ { "Fn::GetAtt": [ "SampleVpcGlueEndpointSecurityGroupAD61FB32", "GroupId", ], }, ], "ServiceName": { "Fn::Join": [ "", [ "com.amazonaws.", { "Ref": "AWS::Region", }, ".glue", ], ], }, "SubnetIds": [ { "Ref": "SampleVpcPrivateSubnet1Subnet5F17E634", }, { "Ref": "SampleVpcPrivateSubnet2Subnet6FEF7941", }, ], "VpcEndpointType": "Interface", "VpcId": { "Ref": "SampleVpcB65C16C5", }, }, "Type": "AWS::EC2::VPCEndpoint", }, "SampleVpcGlueEndpointSecurityGroupAD61FB32": { "Properties": { "GroupDescription": "BLEAFSI-AnalyticsPlatform/SampleVpc/Vpc/GlueEndpoint/SecurityGroup", "SecurityGroupEgress": [ { "CidrIp": "0.0.0.0/0", "Description": "Allow all outbound traffic by default", "IpProtocol": "-1", }, ], "SecurityGroupIngress": [ { "CidrIp": { "Fn::GetAtt": [ "SampleVpcB65C16C5", "CidrBlock", ], }, "Description": { "Fn::Join": [ "", [ "from ", { "Fn::GetAtt": [ "SampleVpcB65C16C5", "CidrBlock", ], }, ":443", ], ], }, "FromPort": 443, "IpProtocol": "tcp", "ToPort": 443, }, ], "Tags": [ { "Key": "Name", "Value": "BLEAFSI-AnalyticsPlatform/SampleVpc/Vpc", }, ], "VpcId": { "Ref": "SampleVpcB65C16C5", }, }, "Type": "AWS::EC2::SecurityGroup", }, "SampleVpcKMSEndpointB12CD053": { "Properties": { "PrivateDnsEnabled": true, "SecurityGroupIds": [ { "Fn::GetAtt": [ "SampleVpcKMSEndpointSecurityGroup35357FEA", "GroupId", ], }, ], "ServiceName": { "Fn::Join": [ "", [ "com.amazonaws.", { "Ref": "AWS::Region", }, ".kms", ], ], }, "SubnetIds": [ { "Ref": "SampleVpcPrivateSubnet1Subnet5F17E634", }, { "Ref": "SampleVpcPrivateSubnet2Subnet6FEF7941", }, ], "VpcEndpointType": "Interface", "VpcId": { "Ref": "SampleVpcB65C16C5", }, }, "Type": "AWS::EC2::VPCEndpoint", }, "SampleVpcKMSEndpointSecurityGroup35357FEA": { "Properties": { "GroupDescription": "BLEAFSI-AnalyticsPlatform/SampleVpc/Vpc/KMSEndpoint/SecurityGroup", "SecurityGroupEgress": [ { "CidrIp": "0.0.0.0/0", "Description": "Allow all outbound traffic by default", "IpProtocol": "-1", }, ], "SecurityGroupIngress": [ { "CidrIp": { "Fn::GetAtt": [ "SampleVpcB65C16C5", "CidrBlock", ], }, "Description": { "Fn::Join": [ "", [ "from ", { "Fn::GetAtt": [ "SampleVpcB65C16C5", "CidrBlock", ], }, ":443", ], ], }, "FromPort": 443, "IpProtocol": "tcp", "ToPort": 443, }, ], "Tags": [ { "Key": "Name", "Value": "BLEAFSI-AnalyticsPlatform/SampleVpc/Vpc", }, ], "VpcId": { "Ref": "SampleVpcB65C16C5", }, }, "Type": "AWS::EC2::SecurityGroup", }, "SampleVpcPrivateSubnet1RouteTable369165BF": { "Properties": { "Tags": [ { "Key": "Name", "Value": "BLEAFSI-AnalyticsPlatform/SampleVpc/Vpc/PrivateSubnet1", }, ], "VpcId": { "Ref": "SampleVpcB65C16C5", }, }, "Type": "AWS::EC2::RouteTable", }, "SampleVpcPrivateSubnet1RouteTableAssociation0576BF5E": { "Properties": { "RouteTableId": { "Ref": "SampleVpcPrivateSubnet1RouteTable369165BF", }, "SubnetId": { "Ref": "SampleVpcPrivateSubnet1Subnet5F17E634", }, }, "Type": "AWS::EC2::SubnetRouteTableAssociation", }, "SampleVpcPrivateSubnet1Subnet5F17E634": { "Properties": { "AvailabilityZone": { "Fn::Select": [ 0, { "Fn::GetAZs": "", }, ], }, "CidrBlock": "10.4.0.0/17", "MapPublicIpOnLaunch": false, "Tags": [ { "Key": "aws-cdk:subnet-name", "Value": "Private", }, { "Key": "aws-cdk:subnet-type", "Value": "Isolated", }, { "Key": "Name", "Value": "BLEAFSI-AnalyticsPlatform/SampleVpc/Vpc/PrivateSubnet1", }, ], "VpcId": { "Ref": "SampleVpcB65C16C5", }, }, "Type": "AWS::EC2::Subnet", }, "SampleVpcPrivateSubnet2RouteTableAssociationAAD68C05": { "Properties": { "RouteTableId": { "Ref": "SampleVpcPrivateSubnet2RouteTableDBF8826C", }, "SubnetId": { "Ref": "SampleVpcPrivateSubnet2Subnet6FEF7941", }, }, "Type": "AWS::EC2::SubnetRouteTableAssociation", }, "SampleVpcPrivateSubnet2RouteTableDBF8826C": { "Properties": { "Tags": [ { "Key": "Name", "Value": "BLEAFSI-AnalyticsPlatform/SampleVpc/Vpc/PrivateSubnet2", }, ], "VpcId": { "Ref": "SampleVpcB65C16C5", }, }, "Type": "AWS::EC2::RouteTable", }, "SampleVpcPrivateSubnet2Subnet6FEF7941": { "Properties": { "AvailabilityZone": { "Fn::Select": [ 1, { "Fn::GetAZs": "", }, ], }, "CidrBlock": "10.4.128.0/17", "MapPublicIpOnLaunch": false, "Tags": [ { "Key": "aws-cdk:subnet-name", "Value": "Private", }, { "Key": "aws-cdk:subnet-type", "Value": "Isolated", }, { "Key": "Name", "Value": "BLEAFSI-AnalyticsPlatform/SampleVpc/Vpc/PrivateSubnet2", }, ], "VpcId": { "Ref": "SampleVpcB65C16C5", }, }, "Type": "AWS::EC2::Subnet", }, "SampleVpcS3GatewayEndpoint5F6D4F31": { "Properties": { "RouteTableIds": [ { "Ref": "SampleVpcPrivateSubnet1RouteTable369165BF", }, { "Ref": "SampleVpcPrivateSubnet2RouteTableDBF8826C", }, ], "ServiceName": { "Fn::Join": [ "", [ "com.amazonaws.", { "Ref": "AWS::Region", }, ".s3", ], ], }, "VpcEndpointType": "Gateway", "VpcId": { "Ref": "SampleVpcB65C16C5", }, }, "Type": "AWS::EC2::VPCEndpoint", }, "SampleVpcVpcFlowLogsFlowLog75D4B421": { "Properties": { "DeliverLogsPermissionArn": { "Fn::GetAtt": [ "SampleVpcVpcFlowLogsLogRole5E986C05", "Arn", ], }, "LogDestinationType": "cloud-watch-logs", "LogGroupName": { "Ref": "SampleVpcVpcFlowLogsLogGroup208C436D", }, "ResourceId": { "Ref": "SampleVpcB65C16C5", }, "ResourceType": "VPC", "TrafficType": "ALL", }, "Type": "AWS::EC2::FlowLog", }, "SampleVpcVpcFlowLogsLogGroup208C436D": { "DeletionPolicy": "Retain", "Properties": { "RetentionInDays": 180, }, "Type": "AWS::Logs::LogGroup", "UpdateReplacePolicy": "Retain", }, "SampleVpcVpcFlowLogsLogRole5E986C05": { "Properties": { "AssumeRolePolicyDocument": { "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "Service": "vpc-flow-logs.amazonaws.com", }, }, ], "Version": "2012-10-17", }, }, "Type": "AWS::IAM::Role", }, "SampleVpcVpcFlowLogsLogRoleDefaultPolicy6ADC2893": { "Properties": { "PolicyDocument": { "Statement": [ { "Action": [ "logs:CreateLogStream", "logs:PutLogEvents", "logs:DescribeLogStreams", ], "Effect": "Allow", "Resource": { "Fn::GetAtt": [ "SampleVpcVpcFlowLogsLogGroup208C436D", "Arn", ], }, }, { "Action": "iam:PassRole", "Effect": "Allow", "Resource": { "Fn::GetAtt": [ "SampleVpcVpcFlowLogsLogRole5E986C05", "Arn", ], }, }, ], "Version": "2012-10-17", }, "PolicyName": "SampleVpcVpcFlowLogsLogRoleDefaultPolicy6ADC2893", "Roles": [ { "Ref": "SampleVpcVpcFlowLogsLogRole5E986C05", }, ], }, "Type": "AWS::IAM::Policy", }, "glueDatabaseForAnalyticsData9910134F": { "Properties": { "CatalogId": { "Ref": "AWS::AccountId", }, "DatabaseInput": { "Name": "analytics", }, }, "Type": "AWS::Glue::Database", }, "glueDatabaseForMasterDataD0805143": { "Properties": { "CatalogId": { "Ref": "AWS::AccountId", }, "DatabaseInput": { "Name": "master", }, }, "Type": "AWS::Glue::Database", }, "glueDatabaseForNormalizedData470A63A7": { "Properties": { "CatalogId": { "Ref": "AWS::AccountId", }, "DatabaseInput": { "Name": "normalized", }, }, "Type": "AWS::Glue::Database", }, "glueDatabaseForOriginData4BC6CB85": { "Properties": { "CatalogId": { "Ref": "AWS::AccountId", }, "DatabaseInput": { "Name": "origin", }, }, "Type": "AWS::Glue::Database", }, "glueDatabaseForRawDataCB892846": { "Properties": { "CatalogId": { "Ref": "AWS::AccountId", }, "DatabaseInput": { "Name": "raw", }, }, "Type": "AWS::Glue::Database", }, "masteracctTableED4B326F": { "Properties": { "CatalogId": { "Ref": "AWS::AccountId", }, "DatabaseName": { "Ref": "glueDatabaseForMasterDataD0805143", }, "TableInput": { "Description": "master_acct generated by CDK", "Name": "master_acct", "Parameters": { "classification": "csv", "has_encrypted_data": true, "skip.header.line.count": "1", }, "PartitionKeys": [], "StorageDescriptor": { "Columns": [ { "Name": "acct_code", "Type": "string", }, { "Name": "acct_name", "Type": "string", }, ], "Compressed": false, "InputFormat": "org.apache.hadoop.mapred.TextInputFormat", "Location": { "Fn::Join": [ "", [ "s3://", { "Ref": "BucketForMasterDataD3CA646A", }, "/master_acct", ], ], }, "OutputFormat": "org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat", "SerdeInfo": { "SerializationLibrary": "org.apache.hadoop.hive.serde2.OpenCSVSerde", }, "StoredAsSubDirectories": false, }, "TableType": "EXTERNAL_TABLE", }, }, "Type": "AWS::Glue::Table", }, "masterbranchTable6EA9E893": { "Properties": { "CatalogId": { "Ref": "AWS::AccountId", }, "DatabaseName": { "Ref": "glueDatabaseForMasterDataD0805143", }, "TableInput": { "Description": "master_branch generated by CDK", "Name": "master_branch", "Parameters": { "has_encrypted_data": true, "skip.header.line.count": "1", }, "PartitionKeys": [], "StorageDescriptor": { "Columns": [ { "Name": "base_date", "Type": "date", }, { "Name": "bank_code", "Type": "string", }, { "Name": "bank_name_half_kana", "Type": "string", }, { "Name": "bank_name_kanji", "Type": "string", }, { "Name": "branch_code", "Type": "string", }, { "Name": "branch_name_half_kana", "Type": "string", }, { "Name": "branch_name_kanji", "Type": "string", }, ], "Compressed": false, "InputFormat": "org.apache.hadoop.mapred.TextInputFormat", "Location": { "Fn::Join": [ "", [ "s3://", { "Ref": "BucketForMasterDataD3CA646A", }, "/master_branch", ], ], }, "OutputFormat": "org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat", "SerdeInfo": { "Parameters": { "field.delim": ",", "serialization.format": ",", }, "SerializationLibrary": "org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe", }, "StoredAsSubDirectories": false, }, "TableType": "EXTERNAL_TABLE", }, }, "Type": "AWS::Glue::Table", }, "mastertrxtypeTableA532975D": { "Properties": { "CatalogId": { "Ref": "AWS::AccountId", }, "DatabaseName": { "Ref": "glueDatabaseForMasterDataD0805143", }, "TableInput": { "Description": "master_trx_type generated by CDK", "Name": "master_trx_type", "Parameters": { "classification": "csv", "has_encrypted_data": true, "skip.header.line.count": "1", }, "PartitionKeys": [], "StorageDescriptor": { "Columns": [ { "Name": "trx_type_code", "Type": "string", }, { "Name": "trx_type_name", "Type": "string", }, ], "Compressed": false, "InputFormat": "org.apache.hadoop.mapred.TextInputFormat", "Location": { "Fn::Join": [ "", [ "s3://", { "Ref": "BucketForMasterDataD3CA646A", }, "/master_trx_type", ], ], }, "OutputFormat": "org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat", "SerdeInfo": { "SerializationLibrary": "org.apache.hadoop.hive.serde2.OpenCSVSerde", }, "StoredAsSubDirectories": false, }, "TableType": "EXTERNAL_TABLE", }, }, "Type": "AWS::Glue::Table", }, "uploadmasterAcctAwsCliLayer7D0E9D3B": { "Properties": { "Content": { "S3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-\${AWS::AccountId}-\${AWS::Region}", }, "S3Key": "e2277687077a2abf9ae1af1cc9565e6715e2ebb62f79ec53aa75a1af9298f642.zip", }, "Description": "/opt/awscli/aws", }, "Type": "AWS::Lambda::LayerVersion", }, "uploadmasterAcctCustomResource54C44318": { "DeletionPolicy": "Delete", "Properties": { "DestinationBucketKeyPrefix": "master_acct", "DestinationBucketName": { "Ref": "BucketForMasterDataD3CA646A", }, "Prune": true, "ServiceToken": { "Fn::GetAtt": [ "CustomCDKBucketDeployment8693BB64968944B69AAFB0CC9EB8756C81C01536", "Arn", ], }, "SourceBucketNames": [ { "Fn::Sub": "cdk-hnb659fds-assets-\${AWS::AccountId}-\${AWS::Region}", }, ], "SourceObjectKeys": [ "b608f093ab1b0a8bc2a9c169af8d00c7bf4659d3a269c76e601d9b9877bdb506.zip", ], }, "Type": "Custom::CDKBucketDeployment", "UpdateReplacePolicy": "Delete", }, "uploadmasterBranchAwsCliLayer4BD64918": { "Properties": { "Content": { "S3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-\${AWS::AccountId}-\${AWS::Region}", }, "S3Key": "e2277687077a2abf9ae1af1cc9565e6715e2ebb62f79ec53aa75a1af9298f642.zip", }, "Description": "/opt/awscli/aws", }, "Type": "AWS::Lambda::LayerVersion", }, "uploadmasterBranchCustomResource08615DB3": { "DeletionPolicy": "Delete", "Properties": { "DestinationBucketKeyPrefix": "master_branch", "DestinationBucketName": { "Ref": "BucketForMasterDataD3CA646A", }, "Prune": true, "ServiceToken": { "Fn::GetAtt": [ "CustomCDKBucketDeployment8693BB64968944B69AAFB0CC9EB8756C81C01536", "Arn", ], }, "SourceBucketNames": [ { "Fn::Sub": "cdk-hnb659fds-assets-\${AWS::AccountId}-\${AWS::Region}", }, ], "SourceObjectKeys": [ "60b84c5b06e9c79ad53a2dfcfeee31b2c922c7175436feb6b982101cf055bc11.zip", ], }, "Type": "Custom::CDKBucketDeployment", "UpdateReplacePolicy": "Delete", }, "uploadmasterTrxTypeAwsCliLayerA3C5C5D5": { "Properties": { "Content": { "S3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-\${AWS::AccountId}-\${AWS::Region}", }, "S3Key": "e2277687077a2abf9ae1af1cc9565e6715e2ebb62f79ec53aa75a1af9298f642.zip", }, "Description": "/opt/awscli/aws", }, "Type": "AWS::Lambda::LayerVersion", }, "uploadmasterTrxTypeCustomResource27BDACB2": { "DeletionPolicy": "Delete", "Properties": { "DestinationBucketKeyPrefix": "master_trx_type", "DestinationBucketName": { "Ref": "BucketForMasterDataD3CA646A", }, "Prune": true, "ServiceToken": { "Fn::GetAtt": [ "CustomCDKBucketDeployment8693BB64968944B69AAFB0CC9EB8756C81C01536", "Arn", ], }, "SourceBucketNames": [ { "Fn::Sub": "cdk-hnb659fds-assets-\${AWS::AccountId}-\${AWS::Region}", }, ], "SourceObjectKeys": [ "f6a526100c425f1c605940baecee53c9b774da062fbd8cfd735797095528f39f.zip", ], }, "Type": "Custom::CDKBucketDeployment", "UpdateReplacePolicy": "Delete", }, }, "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.", }, ], }, }, } `;