// Jest Snapshot v1, https://goo.gl/fbAQLP exports[`snapshot check Customer channel sample stacks 1`] = ` { "Outputs": { "OutboundSampleStartOutboundApiEndpointAD611110": { "Value": { "Fn::Join": [ "", [ "https://", { "Ref": "OutboundSampleStartOutboundApi8DB6C22A", }, ".execute-api.ap-northeast-1.", { "Ref": "AWS::URLSuffix", }, "/", { "Ref": "OutboundSampleStartOutboundApiDeploymentStageprodBBD05D7A", }, "/", ], ], }, }, "OutboundSampleStartOutboundCurlCommand24CAFD8E": { "Value": { "Fn::Join": [ "", [ "source <(aws configure export-credentials --format env-no-export) && curl -vvv -X POST -H "Content-Type: application/json" -H "X-Amz-Security-Token: \${AWS_SESSION_TOKEN}" --user "\${AWS_ACCESS_KEY_ID}:\${AWS_SECRET_ACCESS_KEY}" --aws-sigv4 "aws:amz:ap-northeast-1:execute-api" -d '{"DestinationPhoneNumber": "+81xxxxxxxxx", "SourcePhoneNumber":"+81xxxxxxxxxx", "Message": "Enter your message here"}' https://", { "Ref": "OutboundSampleStartOutboundApi8DB6C22A", }, ".execute-api.ap-northeast-1.", { "Ref": "AWS::URLSuffix", }, "/", { "Ref": "OutboundSampleStartOutboundApiDeploymentStageprodBBD05D7A", }, "/", ], ], }, }, }, "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": { "AccessLogsBucket83982689": { "DeletionPolicy": "Retain", "Metadata": { "cdk_nag": { "rules_to_suppress": [ { "id": "AwsSolutions-S1", "reason": "CloudTrail record S3 accesses", }, ], }, }, "Properties": { "BucketEncryption": { "ServerSideEncryptionConfiguration": [ { "ServerSideEncryptionByDefault": { "SSEAlgorithm": "AES256", }, }, ], }, "OwnershipControls": { "Rules": [ { "ObjectOwnership": "BucketOwnerEnforced", }, ], }, "PublicAccessBlockConfiguration": { "BlockPublicAcls": true, "BlockPublicPolicy": true, "IgnorePublicAcls": true, "RestrictPublicBuckets": true, }, "Tags": [ { "Key": "Environment", "Value": "Development", }, ], "VersioningConfiguration": { "Status": "Enabled", }, }, "Type": "AWS::S3::Bucket", "UpdateReplacePolicy": "Retain", }, "AccessLogsBucketPolicy7F77476F": { "Properties": { "Bucket": { "Ref": "AccessLogsBucket83982689", }, "PolicyDocument": { "Statement": [ { "Action": "s3:*", "Condition": { "Bool": { "aws:SecureTransport": "false", }, }, "Effect": "Deny", "Principal": { "AWS": "*", }, "Resource": [ { "Fn::GetAtt": [ "AccessLogsBucket83982689", "Arn", ], }, { "Fn::Join": [ "", [ { "Fn::GetAtt": [ "AccessLogsBucket83982689", "Arn", ], }, "/*", ], ], }, ], }, { "Action": "s3:PutObject", "Condition": { "ArnLike": { "aws:SourceArn": { "Fn::GetAtt": [ "RecordingBucket03AEF6D2", "Arn", ], }, }, "StringEquals": { "aws:SourceAccount": { "Ref": "AWS::AccountId", }, }, }, "Effect": "Allow", "Principal": { "Service": "logging.s3.amazonaws.com", }, "Resource": { "Fn::Join": [ "", [ { "Fn::GetAtt": [ "AccessLogsBucket83982689", "Arn", ], }, "/access-logs/primary/*", ], ], }, }, ], "Version": "2012-10-17", }, }, "Type": "AWS::S3::BucketPolicy", }, "BasicQueue": { "DeletionPolicy": "Delete", "Properties": { "Parameters": { "InstanceId": { "Fn::GetAtt": [ "ConnectInstance90E42A0C", "InstanceId", ], }, "QueueName": "BasicQueue", }, "ServiceToken": { "Fn::GetAtt": [ "ImportedQueueProviderframeworkonEvent888A2D55", "Arn", ], }, }, "Type": "AWS::CloudFormation::CustomResource", "UpdateReplacePolicy": "Delete", }, "ConnectInstance90E42A0C": { "DeletionPolicy": "Delete", "Properties": { "IdentityManagementType": "CONNECT_MANAGED", "InboundCallsEnabled": true, "InstanceAlias": "my-connect-instance-yyyymmdd-primary", "OutboundCallsEnabled": true, "ServiceToken": { "Fn::GetAtt": [ "InstanceProviderframeworkonEvent963FA0C2", "Arn", ], }, }, "Type": "AWS::CloudFormation::CustomResource", "UpdateReplacePolicy": "Delete", }, "ConnectInstanceCallRecordingConfigInstanceStorageConfig24667574": { "DeletionPolicy": "Delete", "DependsOn": [ "ConnectInstance90E42A0C", "RecordingBucketPolicyE50392DB", "RecordingBucket03AEF6D2", "RecordingKey3B2234F2", ], "Properties": { "Parameters": { "InstanceId": { "Fn::GetAtt": [ "ConnectInstance90E42A0C", "InstanceId", ], }, "ResourceType": "CALL_RECORDINGS", "StorageConfig": { "S3Config": { "BucketName": { "Ref": "RecordingBucket03AEF6D2", }, "BucketPrefix": "primary/call-recordings", "EncryptionConfig": { "EncryptionType": "KMS", "KeyId": { "Fn::GetAtt": [ "RecordingKey3B2234F2", "Arn", ], }, }, }, "StorageType": "S3", }, }, "ServiceToken": { "Fn::GetAtt": [ "InstanceStorageConfigProviderframeworkonEventF4B82BDF", "Arn", ], }, }, "Type": "AWS::CloudFormation::CustomResource", "UpdateReplacePolicy": "Delete", }, "ConnectInstanceChatTranscriptConfigInstanceStorageConfig6EC12501": { "DeletionPolicy": "Delete", "DependsOn": [ "ConnectInstance90E42A0C", "RecordingBucketPolicyE50392DB", "RecordingBucket03AEF6D2", "RecordingKey3B2234F2", ], "Properties": { "Parameters": { "InstanceId": { "Fn::GetAtt": [ "ConnectInstance90E42A0C", "InstanceId", ], }, "ResourceType": "CHAT_TRANSCRIPTS", "StorageConfig": { "S3Config": { "BucketName": { "Ref": "RecordingBucket03AEF6D2", }, "BucketPrefix": "primary/chat-transcripts", "EncryptionConfig": { "EncryptionType": "KMS", "KeyId": { "Fn::GetAtt": [ "RecordingKey3B2234F2", "Arn", ], }, }, }, "StorageType": "S3", }, }, "ServiceToken": { "Fn::GetAtt": [ "InstanceStorageConfigProviderframeworkonEventF4B82BDF", "Arn", ], }, }, "Type": "AWS::CloudFormation::CustomResource", "UpdateReplacePolicy": "Delete", }, "ConnectInstanceContactFlowSampleInboundContactFlowAFBD72DD": { "DependsOn": [ "ConnectInstance90E42A0C", ], "Properties": { "Content": "{ "Version": "2019-10-30", "StartAction": "593e4a0c-60df-4723-b0d9-b63c790ccf2d", "Metadata": { "entryPointPosition": { "x": 20, "y": 20 }, "snapToGrid": false, "ActionMetadata": { "593e4a0c-60df-4723-b0d9-b63c790ccf2d": { "position": { "x": 189, "y": 34 }, "useDynamic": false }, "3568bd08-3927-4f66-9e51-a45506bd4de9": { "position": { "x": 428, "y": 89 } } } }, "Actions": [ { "Identifier": "593e4a0c-60df-4723-b0d9-b63c790ccf2d", "Parameters": { "Text": "Hello!" }, "Transitions": { "NextAction": "3568bd08-3927-4f66-9e51-a45506bd4de9", "Errors": [{ "NextAction": "3568bd08-3927-4f66-9e51-a45506bd4de9", "ErrorType": "NoMatchingError" }], "Conditions": [] }, "Type": "MessageParticipant" }, { "Identifier": "3568bd08-3927-4f66-9e51-a45506bd4de9", "Type": "DisconnectParticipant", "Parameters": {}, "Transitions": {} } ] } ", "InstanceArn": { "Fn::Join": [ "", [ "arn:aws:connect:ap-northeast-1:", { "Ref": "AWS::AccountId", }, ":instance/", { "Fn::GetAtt": [ "ConnectInstance90E42A0C", "InstanceId", ], }, ], ], }, "Name": "SampleInboundContactFlow", "Tags": [ { "Key": "Environment", "Value": "Development", }, ], "Type": "CONTACT_FLOW", }, "Type": "AWS::Connect::ContactFlow", }, "ConnectInstanceCtrDeliveryStreamCD0085B0": { "DependsOn": [ "ConnectInstanceCtrDeliveryStreamRoleDefaultPolicy41AFA80D", "ConnectInstanceCtrDeliveryStreamRoleF6F5DD9F", ], "Properties": { "DeliveryStreamEncryptionConfigurationInput": { "KeyARN": { "Fn::GetAtt": [ "RecordingKey3B2234F2", "Arn", ], }, "KeyType": "CUSTOMER_MANAGED_CMK", }, "DeliveryStreamName": "CtrDeliveryStream", "DeliveryStreamType": "DirectPut", "S3DestinationConfiguration": { "BucketARN": { "Fn::GetAtt": [ "RecordingBucket03AEF6D2", "Arn", ], }, "EncryptionConfiguration": { "KMSEncryptionConfig": { "AWSKMSKeyARN": { "Fn::GetAtt": [ "RecordingKey3B2234F2", "Arn", ], }, }, }, "Prefix": "primary/contact-trace-records/", "RoleARN": { "Fn::GetAtt": [ "ConnectInstanceCtrDeliveryStreamRoleF6F5DD9F", "Arn", ], }, }, "Tags": [ { "Key": "Environment", "Value": "Development", }, ], }, "Type": "AWS::KinesisFirehose::DeliveryStream", }, "ConnectInstanceCtrDeliveryStreamConfigInstanceStorageConfig3E752FF8": { "DeletionPolicy": "Delete", "DependsOn": [ "ConnectInstanceCtrDeliveryStreamCD0085B0", ], "Properties": { "Parameters": { "InstanceId": { "Fn::GetAtt": [ "ConnectInstance90E42A0C", "InstanceId", ], }, "ResourceType": "CONTACT_TRACE_RECORDS", "StorageConfig": { "KinesisFirehoseConfig": { "FirehoseArn": { "Fn::GetAtt": [ "ConnectInstanceCtrDeliveryStreamCD0085B0", "Arn", ], }, }, "StorageType": "KINESIS_FIREHOSE", }, }, "ServiceToken": { "Fn::GetAtt": [ "InstanceStorageConfigProviderframeworkonEventF4B82BDF", "Arn", ], }, }, "Type": "AWS::CloudFormation::CustomResource", "UpdateReplacePolicy": "Delete", }, "ConnectInstanceCtrDeliveryStreamRoleDefaultPolicy41AFA80D": { "Metadata": { "cdk_nag": { "rules_to_suppress": [ { "id": "AwsSolutions-IAM5", "reason": "Role for delivery stream requires wildcard to save contact trace records", }, ], }, }, "Properties": { "PolicyDocument": { "Statement": [ { "Action": [ "s3:GetBucketLocation", "s3:ListBucket", "s3:ListBucketMultipartUploads", ], "Effect": "Allow", "Resource": { "Fn::GetAtt": [ "RecordingBucket03AEF6D2", "Arn", ], }, }, { "Action": [ "s3:AbortMultipartUpload", "s3:GetObject", "s3:PutObject", ], "Effect": "Allow", "Resource": { "Fn::Join": [ "", [ { "Fn::GetAtt": [ "RecordingBucket03AEF6D2", "Arn", ], }, "/primary/contact-trace-records/*", ], ], }, }, { "Action": [ "kms:Decrypt", "kms:GenerateDataKey", ], "Condition": { "StringEquals": { "kms:EncryptionContext:aws:s3:arn": { "Fn::GetAtt": [ "RecordingBucket03AEF6D2", "Arn", ], }, "kms:ViaService": "s3.ap-northeast-1.amazonaws.com", }, }, "Effect": "Allow", "Resource": { "Fn::GetAtt": [ "RecordingKey3B2234F2", "Arn", ], }, }, ], "Version": "2012-10-17", }, "PolicyName": "ConnectInstanceCtrDeliveryStreamRoleDefaultPolicy41AFA80D", "Roles": [ { "Ref": "ConnectInstanceCtrDeliveryStreamRoleF6F5DD9F", }, ], }, "Type": "AWS::IAM::Policy", }, "ConnectInstanceCtrDeliveryStreamRoleF6F5DD9F": { "Metadata": { "cdk_nag": { "rules_to_suppress": [ { "id": "AwsSolutions-IAM5", "reason": "Role for delivery stream requires wildcard to save contact trace records", }, ], }, }, "Properties": { "AssumeRolePolicyDocument": { "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "Service": "firehose.amazonaws.com", }, }, ], "Version": "2012-10-17", }, "Tags": [ { "Key": "Environment", "Value": "Development", }, ], }, "Type": "AWS::IAM::Role", }, "ConnectInstanceScheduledReportsConfigInstanceStorageConfig84A05622": { "DeletionPolicy": "Delete", "DependsOn": [ "ConnectInstance90E42A0C", "RecordingBucketPolicyE50392DB", "RecordingBucket03AEF6D2", "RecordingKey3B2234F2", ], "Properties": { "Parameters": { "InstanceId": { "Fn::GetAtt": [ "ConnectInstance90E42A0C", "InstanceId", ], }, "ResourceType": "SCHEDULED_REPORTS", "StorageConfig": { "S3Config": { "BucketName": { "Ref": "RecordingBucket03AEF6D2", }, "BucketPrefix": "primary/scheduled-reports", "EncryptionConfig": { "EncryptionType": "KMS", "KeyId": { "Fn::GetAtt": [ "RecordingKey3B2234F2", "Arn", ], }, }, }, "StorageType": "S3", }, }, "ServiceToken": { "Fn::GetAtt": [ "InstanceStorageConfigProviderframeworkonEventF4B82BDF", "Arn", ], }, }, "Type": "AWS::CloudFormation::CustomResource", "UpdateReplacePolicy": "Delete", }, "ImportedQueueProviderOnEventHandler3B18F3AC": { "DependsOn": [ "ImportedQueueProviderOnEventHandlerServiceRoleDefaultPolicy44C82BB9", "ImportedQueueProviderOnEventHandlerServiceRole7E4FDBCD", ], "Properties": { "Code": { "S3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-\${AWS::AccountId}-ap-northeast-1", }, "S3Key": "a383522dadcea6459cc48c1c9bb81067ddb5eb23d35425757e74d3f732168d91.zip", }, "Description": "Provider handler for connect.listQueues()", "Environment": { "Variables": { "AWS_NODEJS_CONNECTION_REUSE_ENABLED": "1", }, }, "Handler": "index.onEvent", "Role": { "Fn::GetAtt": [ "ImportedQueueProviderOnEventHandlerServiceRole7E4FDBCD", "Arn", ], }, "Runtime": "nodejs18.x", "Tags": [ { "Key": "Environment", "Value": "Development", }, ], "Timeout": 15, }, "Type": "AWS::Lambda::Function", }, "ImportedQueueProviderOnEventHandlerServiceRole7E4FDBCD": { "Metadata": { "cdk_nag": { "rules_to_suppress": [ { "id": "AwsSolutions-IAM4", "reason": "AWSLambdaBasicExecutionRole is used", }, { "id": "AwsSolutions-IAM5", "reason": "Wildcard is required to list queues", }, ], }, }, "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", ], ], }, ], "Tags": [ { "Key": "Environment", "Value": "Development", }, ], }, "Type": "AWS::IAM::Role", }, "ImportedQueueProviderOnEventHandlerServiceRoleDefaultPolicy44C82BB9": { "Metadata": { "cdk_nag": { "rules_to_suppress": [ { "id": "AwsSolutions-IAM5", "reason": "Wildcard is required to list queues", }, ], }, }, "Properties": { "PolicyDocument": { "Statement": [ { "Action": "connect:ListQueues", "Effect": "Allow", "Resource": { "Fn::Join": [ "", [ "arn:aws:connect:ap-northeast-1:", { "Ref": "AWS::AccountId", }, ":instance/", { "Fn::GetAtt": [ "ConnectInstance90E42A0C", "InstanceId", ], }, "/queue/*", ], ], }, }, ], "Version": "2012-10-17", }, "PolicyName": "ImportedQueueProviderOnEventHandlerServiceRoleDefaultPolicy44C82BB9", "Roles": [ { "Ref": "ImportedQueueProviderOnEventHandlerServiceRole7E4FDBCD", }, ], }, "Type": "AWS::IAM::Policy", }, "ImportedQueueProviderframeworkonEvent888A2D55": { "DependsOn": [ "ImportedQueueProviderframeworkonEventServiceRoleDefaultPolicy1531B46E", "ImportedQueueProviderframeworkonEventServiceRole0AABAB06", ], "Metadata": { "cdk_nag": { "rules_to_suppress": [ { "id": "AwsSolutions-L1", "reason": "Non-latest nodejs function is used inside Provider", }, { "id": "AwsSolutions-IAM4", "reason": "AWSLambdaBasicExecutionRole is used inside Provider", }, { "id": "AwsSolutions-IAM5", "reason": "Wildcard policy is used inside Provider", }, ], }, }, "Properties": { "Code": { "S3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-\${AWS::AccountId}-ap-northeast-1", }, "S3Key": "8e3d635893ea17fa3158623489cd42c680fad925b38de1ef51cb10d84f6e245e.zip", }, "Description": "AWS CDK resource provider framework - onEvent (BLEAFSI-CustomerChannel-Development-Primary/ImportedQueueProvider/Provider)", "Environment": { "Variables": { "USER_ON_EVENT_FUNCTION_ARN": { "Fn::GetAtt": [ "ImportedQueueProviderOnEventHandler3B18F3AC", "Arn", ], }, }, }, "Handler": "framework.onEvent", "Role": { "Fn::GetAtt": [ "ImportedQueueProviderframeworkonEventServiceRole0AABAB06", "Arn", ], }, "Runtime": "nodejs16.x", "Tags": [ { "Key": "Environment", "Value": "Development", }, ], "Timeout": 900, }, "Type": "AWS::Lambda::Function", }, "ImportedQueueProviderframeworkonEventServiceRole0AABAB06": { "Metadata": { "cdk_nag": { "rules_to_suppress": [ { "id": "AwsSolutions-L1", "reason": "Non-latest nodejs function is used inside Provider", }, { "id": "AwsSolutions-IAM4", "reason": "AWSLambdaBasicExecutionRole is used inside Provider", }, { "id": "AwsSolutions-IAM5", "reason": "Wildcard policy is used inside Provider", }, ], }, }, "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", ], ], }, ], "Tags": [ { "Key": "Environment", "Value": "Development", }, ], }, "Type": "AWS::IAM::Role", }, "ImportedQueueProviderframeworkonEventServiceRoleDefaultPolicy1531B46E": { "Metadata": { "cdk_nag": { "rules_to_suppress": [ { "id": "AwsSolutions-L1", "reason": "Non-latest nodejs function is used inside Provider", }, { "id": "AwsSolutions-IAM4", "reason": "AWSLambdaBasicExecutionRole is used inside Provider", }, { "id": "AwsSolutions-IAM5", "reason": "Wildcard policy is used inside Provider", }, ], }, }, "Properties": { "PolicyDocument": { "Statement": [ { "Action": "lambda:InvokeFunction", "Effect": "Allow", "Resource": [ { "Fn::GetAtt": [ "ImportedQueueProviderOnEventHandler3B18F3AC", "Arn", ], }, { "Fn::Join": [ "", [ { "Fn::GetAtt": [ "ImportedQueueProviderOnEventHandler3B18F3AC", "Arn", ], }, ":*", ], ], }, ], }, ], "Version": "2012-10-17", }, "PolicyName": "ImportedQueueProviderframeworkonEventServiceRoleDefaultPolicy1531B46E", "Roles": [ { "Ref": "ImportedQueueProviderframeworkonEventServiceRole0AABAB06", }, ], }, "Type": "AWS::IAM::Policy", }, "InboundSampleIdentificationAgentWhisperFlowA1657AF4": { "Properties": { "Content": "{ "Version": "2019-10-30", "StartAction": "c74a7aba-296e-4359-8706-ea910fa9c21b", "Metadata": { "entryPointPosition": { "x": 40, "y": 40 }, "ActionMetadata": { "5c8fdb92-8900-467c-baa6-c1ab168a81bf": { "position": { "x": 418.40000000000003, "y": 42.400000000000006 } }, "c74a7aba-296e-4359-8706-ea910fa9c21b": { "position": { "x": 176.8, "y": 42.400000000000006 } } } }, "Actions": [ { "Parameters": {}, "Identifier": "5c8fdb92-8900-467c-baa6-c1ab168a81bf", "Type": "EndFlowExecution", "Transitions": {} }, { "Parameters": { "SSML": "お客様番号は $.CustomerId です。" }, "Identifier": "c74a7aba-296e-4359-8706-ea910fa9c21b", "Type": "MessageParticipant", "Transitions": { "NextAction": "5c8fdb92-8900-467c-baa6-c1ab168a81bf" } } ] } ", "InstanceArn": { "Fn::Join": [ "", [ "arn:aws:connect:ap-northeast-1:", { "Ref": "AWS::AccountId", }, ":instance/", { "Fn::GetAtt": [ "ConnectInstance90E42A0C", "InstanceId", ], }, ], ], }, "Name": "IdentificationAgentWhisperFlow", "Tags": [ { "Key": "Environment", "Value": "Development", }, ], "Type": "AGENT_WHISPER", }, "Type": "AWS::Connect::ContactFlow", }, "InboundSampleIdentificationBotACA06EE3": { "DependsOn": [ "InboundSampleIdentificationBotRoleDefaultPolicy40AF959B", "InboundSampleIdentificationBotRole2C1B06B9", ], "Properties": { "AutoBuildBotLocales": true, "BotLocales": [ { "Intents": [ { "Name": "FallbackIntent", "ParentIntentSignature": "AMAZON.FallbackIntent", }, { "IntentConfirmationSetting": { "DeclinationResponse": { "MessageGroupsList": [ { "Message": { "SSMLMessage": { "Value": "承知しました。", }, }, }, ], }, "PromptSpecification": { "MaxRetries": 0, "MessageGroupsList": [ { "Message": { "SSMLMessage": { "Value": "ありがとうございます。お客様番号は {CustomerNumber} でよろしいでしょうか?", }, }, }, ], }, }, "Name": "CustomerIdentificationIntent", "SampleUtterances": [ { "Utterance": "担当者と話したいです", }, { "Utterance": "担当者", }, ], "SlotPriorities": [ { "Priority": 1, "SlotName": "CustomerNumber", }, { "Priority": 2, "SlotName": "BirthDate", }, ], "Slots": [ { "Name": "CustomerNumber", "SlotTypeName": "AMAZON.Number", "ValueElicitationSetting": { "PromptSpecification": { "MaxRetries": 4, "MessageGroupsList": [ { "Message": { "SSMLMessage": { "Value": " ご本人様確認のため、 お客様番号をゆっくり、 はっきりとおっしゃってください。 ", }, }, }, ], }, "SlotConstraint": "Required", }, }, { "Name": "BirthDate", "SlotTypeName": "AMAZON.Date", "ValueElicitationSetting": { "PromptSpecification": { "MaxRetries": 4, "MessageGroupsList": [ { "Message": { "SSMLMessage": { "Value": "ご契約者様の生年月日をおっしゃってください。", }, }, }, ], }, "SlotConstraint": "Required", }, }, ], }, ], "LocaleId": "ja_JP", "NluConfidenceThreshold": 0.4, }, ], "DataPrivacy": { "ChildDirected": false, }, "IdleSessionTTLInSeconds": 300, "Name": "IdentificationBot", "RoleArn": { "Fn::GetAtt": [ "InboundSampleIdentificationBotRole2C1B06B9", "Arn", ], }, }, "Type": "AWS::Lex::Bot", }, "InboundSampleIdentificationBotAliasA3223E16": { "Properties": { "BotAliasLocaleSettings": [ { "BotAliasLocaleSetting": { "Enabled": true, }, "LocaleId": "ja_JP", }, ], "BotAliasName": "IdentificationBotAlias", "BotId": { "Fn::GetAtt": [ "InboundSampleIdentificationBotACA06EE3", "Id", ], }, "BotVersion": { "Fn::GetAtt": [ "InboundSampleIdentificationBotVersion18E8E2DB", "BotVersion", ], }, }, "Type": "AWS::Lex::BotAlias", }, "InboundSampleIdentificationBotAssociationLexBotAssociation6A590397": { "DeletionPolicy": "Delete", "DependsOn": [ "ConnectInstanceCallRecordingConfigInstanceStorageConfig24667574", "ConnectInstanceChatTranscriptConfigInstanceStorageConfig6EC12501", "ConnectInstanceContactFlowSampleInboundContactFlowAFBD72DD", "ConnectInstanceCtrDeliveryStreamCD0085B0", "ConnectInstanceCtrDeliveryStreamConfigInstanceStorageConfig3E752FF8", "ConnectInstanceCtrDeliveryStreamRoleDefaultPolicy41AFA80D", "ConnectInstanceCtrDeliveryStreamRoleF6F5DD9F", "ConnectInstance90E42A0C", "ConnectInstanceScheduledReportsConfigInstanceStorageConfig84A05622", "InboundSampleIdentificationBotACA06EE3", ], "Properties": { "Parameters": { "InstanceId": { "Fn::GetAtt": [ "ConnectInstance90E42A0C", "InstanceId", ], }, "LexV2Bot": { "AliasArn": { "Fn::GetAtt": [ "InboundSampleIdentificationBotAliasA3223E16", "Arn", ], }, }, }, "ServiceToken": { "Fn::GetAtt": [ "LexBotAssociationProviderframeworkonEventCFCA5349", "Arn", ], }, }, "Type": "AWS::CloudFormation::CustomResource", "UpdateReplacePolicy": "Delete", }, "InboundSampleIdentificationBotRole2C1B06B9": { "Metadata": { "cdk_nag": { "rules_to_suppress": [ { "id": "AwsSolutions-IAM5", "reason": "Wildcard is required to use polly", }, ], }, }, "Properties": { "AssumeRolePolicyDocument": { "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "Service": "lexv2.amazonaws.com", }, }, ], "Version": "2012-10-17", }, "Tags": [ { "Key": "Environment", "Value": "Development", }, ], }, "Type": "AWS::IAM::Role", }, "InboundSampleIdentificationBotRoleDefaultPolicy40AF959B": { "Metadata": { "cdk_nag": { "rules_to_suppress": [ { "id": "AwsSolutions-IAM5", "reason": "Wildcard is required to use polly", }, ], }, }, "Properties": { "PolicyDocument": { "Statement": [ { "Action": "polly:SynthesizeSpeech", "Effect": "Allow", "Resource": "*", }, ], "Version": "2012-10-17", }, "PolicyName": "InboundSampleIdentificationBotRoleDefaultPolicy40AF959B", "Roles": [ { "Ref": "InboundSampleIdentificationBotRole2C1B06B9", }, ], }, "Type": "AWS::IAM::Policy", }, "InboundSampleIdentificationBotVersion18E8E2DB": { "Properties": { "BotId": { "Fn::GetAtt": [ "InboundSampleIdentificationBotACA06EE3", "Id", ], }, "BotVersionLocaleSpecification": [ { "BotVersionLocaleDetails": { "SourceBotVersion": "DRAFT", }, "LocaleId": "ja_JP", }, ], }, "Type": "AWS::Lex::BotVersion", }, "InboundSampleIdentificationInboundContactFlow5A258AD6": { "DependsOn": [ "InboundSampleIdentificationAgentWhisperFlowA1657AF4", ], "Properties": { "Content": { "Fn::Join": [ "", [ "{ "Version": "2019-10-30", "StartAction": "18cfbfa6-46ed-4cde-986f-410d858277c1", "Metadata": { "entryPointPosition": { "x": 40, "y": 40 }, "ActionMetadata": { "3cff7668-4b01-4d4f-8d4b-71d742ac1b0e": { "position": { "x": 614.4000000000001, "y": 39.2 }, "children": ["783c84db-e551-4182-b190-99d3e08671a6"], "overrideConsoleVoice": true, "fragments": { "SetContactData": "783c84db-e551-4182-b190-99d3e08671a6" }, "overrideLanguageAttribute": true }, "783c84db-e551-4182-b190-99d3e08671a6": { "position": { "x": 614.4000000000001, "y": 39.2 }, "dynamicParams": [] }, "c9099a6c-b014-4f8f-aff9-f2b6f3314ad4": { "position": { "x": 1079.2, "y": 40 }, "children": ["d5969db0-c4b2-48c3-b500-5e6235b05e86"], "dynamicParams": [] }, "d5969db0-c4b2-48c3-b500-5e6235b05e86": { "position": { "x": 1079.2, "y": 40 }, "voiceAuthenticationUseDynamic": false, "voiceAuthenticationResponseTimeUseDynamic": false, "fraudDetectionUseDynamic": false, "fragments": { "SetContactData": "c9099a6c-b014-4f8f-aff9-f2b6f3314ad4" } }, "18cfbfa6-46ed-4cde-986f-410d858277c1": { "position": { "x": 152, "y": 43.2 } }, "27c05c76-c55b-43ef-8536-14d616097589": { "position": { "x": 378.40000000000003, "y": 42.400000000000006 } }, "067cda22-daf5-474d-bdd4-35c994a80e4b": { "position": { "x": 851.2, "y": 39.2 } }, "672848c8-ab5a-4259-b472-2d7bfbdf5f64": { "position": { "x": 590.4, "y": 286.40000000000003 } }, "c2e317b5-4df1-4b6c-93e1-067ccd952e51": { "position": { "x": 348.8, "y": 279.2 }, "parameters": { "CustomerId": { "useDynamic": true } }, "dynamicParams": ["customerId"] }, "2974aa32-c91d-472d-88ea-881437be1049": { "position": { "x": 216.8, "y": 572 } }, "5d41c3f0-6d95-449f-8e6e-13c479bf5d27": { "position": { "x": 63.2, "y": 234.4 }, "parameters": { "LexV2Bot": { "AliasArn": { "displayName": "IdentificationBotAlias", "useLexBotDropdown": true, "lexV2BotName": "IdentificationBot" } } }, "useLexBotDropdown": true, "lexV2BotName": "IdentificationBot", "lexV2BotAliasName": "IdentificationBotAlias", "conditionMetadata": [ { "id": "8eee9198-d59d-4020-be18-263c8eee0cbc", "operator": { "name": "Equals", "value": "Equals", "shortDisplay": "=" }, "value": "CustomerIdentificationIntent" } ] }, "19795223-ec94-49f9-bdb3-218fb4d0ed80": { "position": { "x": 900.8000000000001, "y": 277.6 } }, "a82b236c-3bb8-4740-a809-d4c4ef732c82": { "position": { "x": 904, "y": 459.20000000000005 } }, "bb8e603d-e51e-4cab-aa3e-a25cdc03e490": { "position": { "x": 884.8000000000001, "y": 663.2 } }, "b9e070bd-bf37-418b-acb8-d340e8cfad76": { "position": { "x": 887.2, "y": 844.8000000000001 } }, "a2531b23-3140-4b13-9ab9-0836d855093c": { "position": { "x": 837.6, "y": 1039.2 } }, "f2ef3d8b-7281-4bbc-b286-03ff3ef1516c": { "position": { "x": 1145.6000000000001, "y": 336 } }, "73151cab-18dd-411b-bedb-b431a0d10886": { "position": { "x": 1476.8000000000002, "y": 820.8000000000001 } }, "66cbb408-8eee-446f-9093-78c9909967ae": { "position": { "x": 1396, "y": 336.8 }, "parameters": { "QueueId": { "displayName": "BasicQueue" } }, "queue": { "text": "BasicQueue" } }, "a465f433-9163-4069-875f-c90723cb92f4": { "position": { "x": 1240.8000000000002, "y": 791.2 } }, "8a54eec9-82be-4ecb-8bc2-a078cdb32804": { "position": { "x": 1260.8000000000002, "y": 564.8000000000001 }, "parameters": { "EventHooks": { "AgentWhisper": { "displayName": "IdentificationAgentWhisperFlow" } } }, "contactFlow": { "text": "IdentificationAgentWhisperFlow", "id": "", { "Fn::GetAtt": [ "InboundSampleIdentificationAgentWhisperFlowA1657AF4", "ContactFlowArn", ], }, "" }, "customerOrAgent": false } } }, "Actions": [ { "Parameters": { "TextToSpeechVoice": "Takumi", "TextToSpeechEngine": "Neural", "TextToSpeechStyle": "None" }, "Identifier": "3cff7668-4b01-4d4f-8d4b-71d742ac1b0e", "Type": "UpdateContactTextToSpeechVoice", "Transitions": { "NextAction": "783c84db-e551-4182-b190-99d3e08671a6" } }, { "Parameters": { "LanguageCode": "ja-JP" }, "Identifier": "783c84db-e551-4182-b190-99d3e08671a6", "Type": "UpdateContactData", "Transitions": { "NextAction": "067cda22-daf5-474d-bdd4-35c994a80e4b", "Errors": [ { "NextAction": "067cda22-daf5-474d-bdd4-35c994a80e4b", "ErrorType": "NoMatchingError" } ] } }, { "Parameters": { "IsVoiceIdStreamingEnabled": "true", "IsFraudDetectionEnabled": "true", "IsVoiceAuthenticationEnabled": "true", "VoiceAuthenticationThreshold": "90", "VoiceAuthenticationResponseTime": "5", "FraudDetectionThreshold": "50" }, "Identifier": "c9099a6c-b014-4f8f-aff9-f2b6f3314ad4", "Type": "UpdateContactData", "Transitions": { "NextAction": "d5969db0-c4b2-48c3-b500-5e6235b05e86", "Errors": [ { "NextAction": "5d41c3f0-6d95-449f-8e6e-13c479bf5d27", "ErrorType": "NoMatchingError" } ] } }, { "Parameters": {}, "Identifier": "d5969db0-c4b2-48c3-b500-5e6235b05e86", "Type": "StartVoiceIdStream", "Transitions": { "NextAction": "5d41c3f0-6d95-449f-8e6e-13c479bf5d27", "Errors": [ { "NextAction": "5d41c3f0-6d95-449f-8e6e-13c479bf5d27", "ErrorType": "NoMatchingError" } ] } }, { "Parameters": { "FlowLoggingBehavior": "Enabled" }, "Identifier": "18cfbfa6-46ed-4cde-986f-410d858277c1", "Type": "UpdateFlowLoggingBehavior", "Transitions": { "NextAction": "27c05c76-c55b-43ef-8536-14d616097589" } }, { "Parameters": { "RecordingBehavior": { "RecordedParticipants": ["Agent", "Customer"] }, "AnalyticsBehavior": { "Enabled": "True", "AnalyticsLanguage": "ja-JP", "AnalyticsRedactionBehavior": "Disabled", "AnalyticsRedactionResults": "None", "ChannelConfiguration": { "Chat": { "AnalyticsModes": ["ContactLens"] }, "Voice": { "AnalyticsModes": ["RealTime"] } } } }, "Identifier": "27c05c76-c55b-43ef-8536-14d616097589", "Type": "UpdateContactRecordingBehavior", "Transitions": { "NextAction": "3cff7668-4b01-4d4f-8d4b-71d742ac1b0e" } }, { "Parameters": { "SSML": "お電話ありがとうございます。アマゾンコネクト株式会社でございます。" }, "Identifier": "067cda22-daf5-474d-bdd4-35c994a80e4b", "Type": "MessageParticipant", "Transitions": { "NextAction": "c9099a6c-b014-4f8f-aff9-f2b6f3314ad4", "Errors": [ { "NextAction": "c9099a6c-b014-4f8f-aff9-f2b6f3314ad4", "ErrorType": "NoMatchingError" } ] } }, { "Parameters": { "CheckVoiceIdOption": "voiceAuthentication" }, "Identifier": "672848c8-ab5a-4259-b472-2d7bfbdf5f64", "Type": "CheckVoiceId", "Transitions": { "NextAction": "2974aa32-c91d-472d-88ea-881437be1049", "Conditions": [ { "NextAction": "19795223-ec94-49f9-bdb3-218fb4d0ed80", "Condition": { "Operator": "Equals", "Operands": ["Authenticated"] } }, { "NextAction": "a82b236c-3bb8-4740-a809-d4c4ef732c82", "Condition": { "Operator": "Equals", "Operands": ["NotAuthenticated"] } }, { "NextAction": "bb8e603d-e51e-4cab-aa3e-a25cdc03e490", "Condition": { "Operator": "Equals", "Operands": ["Inconclusive"] } }, { "NextAction": "b9e070bd-bf37-418b-acb8-d340e8cfad76", "Condition": { "Operator": "Equals", "Operands": ["NotEnrolled"] } }, { "NextAction": "a2531b23-3140-4b13-9ab9-0836d855093c", "Condition": { "Operator": "Equals", "Operands": ["OptedOut"] } } ], "Errors": [ { "NextAction": "2974aa32-c91d-472d-88ea-881437be1049", "ErrorType": "NoMatchingError" } ] } }, { "Parameters": { "CustomerId": "$.Lex.Slots.CustomerNumber" }, "Identifier": "c2e317b5-4df1-4b6c-93e1-067ccd952e51", "Type": "UpdateContactData", "Transitions": { "NextAction": "672848c8-ab5a-4259-b472-2d7bfbdf5f64", "Errors": [ { "NextAction": "2974aa32-c91d-472d-88ea-881437be1049", "ErrorType": "NoMatchingError" } ] } }, { "Parameters": { "SSML": "恐れ入りますが、最初からやり直してください。" }, "Identifier": "2974aa32-c91d-472d-88ea-881437be1049", "Type": "MessageParticipant", "Transitions": { "NextAction": "5d41c3f0-6d95-449f-8e6e-13c479bf5d27", "Errors": [ { "NextAction": "5d41c3f0-6d95-449f-8e6e-13c479bf5d27", "ErrorType": "NoMatchingError" } ] } }, { "Parameters": { "SSML": "ご用件をおっしゃってください。", "LexV2Bot": { "AliasArn": "", { "Fn::GetAtt": [ "InboundSampleIdentificationBotAliasA3223E16", "Arn", ], }, "" } }, "Identifier": "5d41c3f0-6d95-449f-8e6e-13c479bf5d27", "Type": "ConnectParticipantWithLexBot", "Transitions": { "NextAction": "2974aa32-c91d-472d-88ea-881437be1049", "Conditions": [ { "NextAction": "c2e317b5-4df1-4b6c-93e1-067ccd952e51", "Condition": { "Operator": "Equals", "Operands": ["CustomerIdentificationIntent"] } } ], "Errors": [ { "NextAction": "2974aa32-c91d-472d-88ea-881437be1049", "ErrorType": "NoMatchingCondition" }, { "NextAction": "2974aa32-c91d-472d-88ea-881437be1049", "ErrorType": "NoMatchingError" } ] } }, { "Parameters": { "SSML": "声紋によりお客様ご本人と確認できました。" }, "Identifier": "19795223-ec94-49f9-bdb3-218fb4d0ed80", "Type": "MessageParticipant", "Transitions": { "NextAction": "f2ef3d8b-7281-4bbc-b286-03ff3ef1516c", "Errors": [ { "NextAction": "f2ef3d8b-7281-4bbc-b286-03ff3ef1516c", "ErrorType": "NoMatchingError" } ] } }, { "Parameters": { "SSML": "声紋による認証ができませんでした。詳細はオペレーターに確認してください。" }, "Identifier": "a82b236c-3bb8-4740-a809-d4c4ef732c82", "Type": "MessageParticipant", "Transitions": { "NextAction": "f2ef3d8b-7281-4bbc-b286-03ff3ef1516c", "Errors": [ { "NextAction": "f2ef3d8b-7281-4bbc-b286-03ff3ef1516c", "ErrorType": "NoMatchingError" } ] } }, { "Parameters": { "SSML": "恐れ入りますが、声紋によりお客様と判断できませんでした。詳細はオペレーターに確認してください。" }, "Identifier": "bb8e603d-e51e-4cab-aa3e-a25cdc03e490", "Type": "MessageParticipant", "Transitions": { "NextAction": "f2ef3d8b-7281-4bbc-b286-03ff3ef1516c", "Errors": [ { "NextAction": "f2ef3d8b-7281-4bbc-b286-03ff3ef1516c", "ErrorType": "NoMatchingError" } ] } }, { "Parameters": { "SSML": "お客様はまだ声紋を登録されていないようです。" }, "Identifier": "b9e070bd-bf37-418b-acb8-d340e8cfad76", "Type": "MessageParticipant", "Transitions": { "NextAction": "f2ef3d8b-7281-4bbc-b286-03ff3ef1516c", "Errors": [ { "NextAction": "f2ef3d8b-7281-4bbc-b286-03ff3ef1516c", "ErrorType": "NoMatchingError" } ] } }, { "Parameters": { "SSML": "声紋による認証がオプトアウトされています。" }, "Identifier": "a2531b23-3140-4b13-9ab9-0836d855093c", "Type": "MessageParticipant", "Transitions": { "NextAction": "f2ef3d8b-7281-4bbc-b286-03ff3ef1516c", "Errors": [ { "NextAction": "f2ef3d8b-7281-4bbc-b286-03ff3ef1516c", "ErrorType": "NoMatchingError" } ] } }, { "Parameters": { "SSML": "オペレーターにおつなぎいたします。" }, "Identifier": "f2ef3d8b-7281-4bbc-b286-03ff3ef1516c", "Type": "MessageParticipant", "Transitions": { "NextAction": "66cbb408-8eee-446f-9093-78c9909967ae", "Errors": [ { "NextAction": "66cbb408-8eee-446f-9093-78c9909967ae", "ErrorType": "NoMatchingError" } ] } }, { "Parameters": {}, "Identifier": "73151cab-18dd-411b-bedb-b431a0d10886", "Type": "DisconnectParticipant", "Transitions": {} }, { "Parameters": { "QueueId": "", { "Fn::GetAtt": [ "BasicQueue", "QueueArn", ], }, "" }, "Identifier": "66cbb408-8eee-446f-9093-78c9909967ae", "Type": "UpdateContactTargetQueue", "Transitions": { "NextAction": "8a54eec9-82be-4ecb-8bc2-a078cdb32804", "Errors": [ { "NextAction": "8a54eec9-82be-4ecb-8bc2-a078cdb32804", "ErrorType": "NoMatchingError" } ] } }, { "Parameters": {}, "Identifier": "a465f433-9163-4069-875f-c90723cb92f4", "Type": "TransferContactToQueue", "Transitions": { "NextAction": "73151cab-18dd-411b-bedb-b431a0d10886", "Errors": [ { "NextAction": "73151cab-18dd-411b-bedb-b431a0d10886", "ErrorType": "QueueAtCapacity" }, { "NextAction": "73151cab-18dd-411b-bedb-b431a0d10886", "ErrorType": "NoMatchingError" } ] } }, { "Parameters": { "EventHooks": { "AgentWhisper": "", { "Fn::GetAtt": [ "InboundSampleIdentificationAgentWhisperFlowA1657AF4", "ContactFlowArn", ], }, "" } }, "Identifier": "8a54eec9-82be-4ecb-8bc2-a078cdb32804", "Type": "UpdateContactEventHooks", "Transitions": { "NextAction": "a465f433-9163-4069-875f-c90723cb92f4", "Errors": [ { "NextAction": "a465f433-9163-4069-875f-c90723cb92f4", "ErrorType": "NoMatchingError" } ] } } ] } ", ], ], }, "InstanceArn": { "Fn::Join": [ "", [ "arn:aws:connect:ap-northeast-1:", { "Ref": "AWS::AccountId", }, ":instance/", { "Fn::GetAtt": [ "ConnectInstance90E42A0C", "InstanceId", ], }, ], ], }, "Name": "IdentificationInboundContactFlow", "Tags": [ { "Key": "Environment", "Value": "Development", }, ], "Type": "CONTACT_FLOW", }, "Type": "AWS::Connect::ContactFlow", }, "InstanceProviderIsCompleteHandlerE43F2F73": { "DependsOn": [ "InstanceProviderIsCompleteHandlerServiceRoleDefaultPolicyD784B681", "InstanceProviderIsCompleteHandlerServiceRoleE885FB3D", ], "Properties": { "Code": { "S3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-\${AWS::AccountId}-ap-northeast-1", }, "S3Key": "9c92e3c3326576ca67bd69cc0a381152203e00a0b49b933bd078da77083a14d2.zip", }, "Description": "Provider handler for Connect.describeInstance()", "Environment": { "Variables": { "AWS_NODEJS_CONNECTION_REUSE_ENABLED": "1", }, }, "Handler": "index.isComplete", "Role": { "Fn::GetAtt": [ "InstanceProviderIsCompleteHandlerServiceRoleE885FB3D", "Arn", ], }, "Runtime": "nodejs18.x", "Tags": [ { "Key": "Environment", "Value": "Development", }, ], "Timeout": 15, }, "Type": "AWS::Lambda::Function", }, "InstanceProviderIsCompleteHandlerServiceRoleDefaultPolicyD784B681": { "Metadata": { "cdk_nag": { "rules_to_suppress": [ { "id": "AwsSolutions-IAM5", "reason": "Wildcard is required to create a new Amazon Connect instance", }, ], }, }, "Properties": { "PolicyDocument": { "Statement": [ { "Action": [ "connect:DescribeInstance", "ds:DescribeDirectories", ], "Effect": "Allow", "Resource": "*", }, ], "Version": "2012-10-17", }, "PolicyName": "InstanceProviderIsCompleteHandlerServiceRoleDefaultPolicyD784B681", "Roles": [ { "Ref": "InstanceProviderIsCompleteHandlerServiceRoleE885FB3D", }, ], }, "Type": "AWS::IAM::Policy", }, "InstanceProviderIsCompleteHandlerServiceRoleE885FB3D": { "Metadata": { "cdk_nag": { "rules_to_suppress": [ { "id": "AwsSolutions-IAM4", "reason": "AWSLambdaBasicExecutionRole is used", }, { "id": "AwsSolutions-IAM5", "reason": "Wildcard is required to create a new Amazon Connect instance", }, ], }, }, "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", ], ], }, ], "Tags": [ { "Key": "Environment", "Value": "Development", }, ], }, "Type": "AWS::IAM::Role", }, "InstanceProviderOnEventHandlerCDB7D5B8": { "DependsOn": [ "InstanceProviderOnEventHandlerServiceRoleDefaultPolicyC5145360", "InstanceProviderOnEventHandlerServiceRoleE2CDC320", ], "Properties": { "Code": { "S3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-\${AWS::AccountId}-ap-northeast-1", }, "S3Key": "c2c0d7c4d082d2eb4286bd05bd14d23f58ef52624adb40af2adaee159962435e.zip", }, "Description": "Provider handler for Connect.createInstance() & deleteInstance()", "Environment": { "Variables": { "AWS_NODEJS_CONNECTION_REUSE_ENABLED": "1", }, }, "Handler": "index.onEvent", "Role": { "Fn::GetAtt": [ "InstanceProviderOnEventHandlerServiceRoleE2CDC320", "Arn", ], }, "Runtime": "nodejs18.x", "Tags": [ { "Key": "Environment", "Value": "Development", }, ], "Timeout": 15, }, "Type": "AWS::Lambda::Function", }, "InstanceProviderOnEventHandlerServiceRoleDefaultPolicyC5145360": { "Metadata": { "cdk_nag": { "rules_to_suppress": [ { "id": "AwsSolutions-IAM5", "reason": "Wildcard is required to create a new Amazon Connect instance", }, ], }, }, "Properties": { "PolicyDocument": { "Statement": [ { "Action": [ "connect:CreateInstance", "connect:DescribeInstance", "connect:DeleteInstance", "connect:UpdateInstanceAttribute", "ds:CheckAlias", "ds:CreateAlias", "ds:CreateIdentityPoolDirectory", "ds:DescribeDirectories", "ds:CreateDirectory", "ds:DeleteDirectory", "ds:AuthorizeApplication", "ds:UnauthorizeApplication", ], "Effect": "Allow", "Resource": "*", }, { "Action": "iam:CreateServiceLinkedRole", "Condition": { "StringLike": { "iam:AWSServiceName": "connect.amazonaws.com", }, }, "Effect": "Allow", "Resource": "*", }, ], "Version": "2012-10-17", }, "PolicyName": "InstanceProviderOnEventHandlerServiceRoleDefaultPolicyC5145360", "Roles": [ { "Ref": "InstanceProviderOnEventHandlerServiceRoleE2CDC320", }, ], }, "Type": "AWS::IAM::Policy", }, "InstanceProviderOnEventHandlerServiceRoleE2CDC320": { "Metadata": { "cdk_nag": { "rules_to_suppress": [ { "id": "AwsSolutions-IAM4", "reason": "AWSLambdaBasicExecutionRole is used", }, { "id": "AwsSolutions-IAM5", "reason": "Wildcard is required to create a new Amazon Connect instance", }, ], }, }, "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", ], ], }, ], "Tags": [ { "Key": "Environment", "Value": "Development", }, ], }, "Type": "AWS::IAM::Role", }, "InstanceProviderframeworkisComplete68BCC0D8": { "DependsOn": [ "InstanceProviderframeworkisCompleteServiceRoleDefaultPolicyAFC3AADB", "InstanceProviderframeworkisCompleteServiceRole8D05D0FE", ], "Metadata": { "cdk_nag": { "rules_to_suppress": [ { "id": "AwsSolutions-L1", "reason": "Non-latest nodejs function is used inside Provider", }, { "id": "AwsSolutions-IAM4", "reason": "AWSLambdaBasicExecutionRole is used inside Provider", }, { "id": "AwsSolutions-IAM5", "reason": "Wildcard policy is used inside Provider", }, ], }, }, "Properties": { "Code": { "S3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-\${AWS::AccountId}-ap-northeast-1", }, "S3Key": "8e3d635893ea17fa3158623489cd42c680fad925b38de1ef51cb10d84f6e245e.zip", }, "Description": "AWS CDK resource provider framework - isComplete (BLEAFSI-CustomerChannel-Development-Primary/InstanceProvider/Provider)", "Environment": { "Variables": { "USER_IS_COMPLETE_FUNCTION_ARN": { "Fn::GetAtt": [ "InstanceProviderIsCompleteHandlerE43F2F73", "Arn", ], }, "USER_ON_EVENT_FUNCTION_ARN": { "Fn::GetAtt": [ "InstanceProviderOnEventHandlerCDB7D5B8", "Arn", ], }, }, }, "Handler": "framework.isComplete", "Role": { "Fn::GetAtt": [ "InstanceProviderframeworkisCompleteServiceRole8D05D0FE", "Arn", ], }, "Runtime": "nodejs16.x", "Tags": [ { "Key": "Environment", "Value": "Development", }, ], "Timeout": 900, }, "Type": "AWS::Lambda::Function", }, "InstanceProviderframeworkisCompleteServiceRole8D05D0FE": { "Metadata": { "cdk_nag": { "rules_to_suppress": [ { "id": "AwsSolutions-L1", "reason": "Non-latest nodejs function is used inside Provider", }, { "id": "AwsSolutions-IAM4", "reason": "AWSLambdaBasicExecutionRole is used inside Provider", }, { "id": "AwsSolutions-IAM5", "reason": "Wildcard policy is used inside Provider", }, ], }, }, "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", ], ], }, ], "Tags": [ { "Key": "Environment", "Value": "Development", }, ], }, "Type": "AWS::IAM::Role", }, "InstanceProviderframeworkisCompleteServiceRoleDefaultPolicyAFC3AADB": { "Metadata": { "cdk_nag": { "rules_to_suppress": [ { "id": "AwsSolutions-L1", "reason": "Non-latest nodejs function is used inside Provider", }, { "id": "AwsSolutions-IAM4", "reason": "AWSLambdaBasicExecutionRole is used inside Provider", }, { "id": "AwsSolutions-IAM5", "reason": "Wildcard policy is used inside Provider", }, ], }, }, "Properties": { "PolicyDocument": { "Statement": [ { "Action": "lambda:InvokeFunction", "Effect": "Allow", "Resource": [ { "Fn::GetAtt": [ "InstanceProviderOnEventHandlerCDB7D5B8", "Arn", ], }, { "Fn::Join": [ "", [ { "Fn::GetAtt": [ "InstanceProviderOnEventHandlerCDB7D5B8", "Arn", ], }, ":*", ], ], }, ], }, { "Action": "lambda:InvokeFunction", "Effect": "Allow", "Resource": [ { "Fn::GetAtt": [ "InstanceProviderIsCompleteHandlerE43F2F73", "Arn", ], }, { "Fn::Join": [ "", [ { "Fn::GetAtt": [ "InstanceProviderIsCompleteHandlerE43F2F73", "Arn", ], }, ":*", ], ], }, ], }, ], "Version": "2012-10-17", }, "PolicyName": "InstanceProviderframeworkisCompleteServiceRoleDefaultPolicyAFC3AADB", "Roles": [ { "Ref": "InstanceProviderframeworkisCompleteServiceRole8D05D0FE", }, ], }, "Type": "AWS::IAM::Policy", }, "InstanceProviderframeworkonEvent963FA0C2": { "DependsOn": [ "InstanceProviderframeworkonEventServiceRoleDefaultPolicy129D159F", "InstanceProviderframeworkonEventServiceRoleCEA506E0", ], "Metadata": { "cdk_nag": { "rules_to_suppress": [ { "id": "AwsSolutions-L1", "reason": "Non-latest nodejs function is used inside Provider", }, { "id": "AwsSolutions-IAM4", "reason": "AWSLambdaBasicExecutionRole is used inside Provider", }, { "id": "AwsSolutions-IAM5", "reason": "Wildcard policy is used inside Provider", }, ], }, }, "Properties": { "Code": { "S3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-\${AWS::AccountId}-ap-northeast-1", }, "S3Key": "8e3d635893ea17fa3158623489cd42c680fad925b38de1ef51cb10d84f6e245e.zip", }, "Description": "AWS CDK resource provider framework - onEvent (BLEAFSI-CustomerChannel-Development-Primary/InstanceProvider/Provider)", "Environment": { "Variables": { "USER_IS_COMPLETE_FUNCTION_ARN": { "Fn::GetAtt": [ "InstanceProviderIsCompleteHandlerE43F2F73", "Arn", ], }, "USER_ON_EVENT_FUNCTION_ARN": { "Fn::GetAtt": [ "InstanceProviderOnEventHandlerCDB7D5B8", "Arn", ], }, "WAITER_STATE_MACHINE_ARN": { "Ref": "InstanceProviderwaiterstatemachineA2C8D42D", }, }, }, "Handler": "framework.onEvent", "Role": { "Fn::GetAtt": [ "InstanceProviderframeworkonEventServiceRoleCEA506E0", "Arn", ], }, "Runtime": "nodejs16.x", "Tags": [ { "Key": "Environment", "Value": "Development", }, ], "Timeout": 900, }, "Type": "AWS::Lambda::Function", }, "InstanceProviderframeworkonEventServiceRoleCEA506E0": { "Metadata": { "cdk_nag": { "rules_to_suppress": [ { "id": "AwsSolutions-L1", "reason": "Non-latest nodejs function is used inside Provider", }, { "id": "AwsSolutions-IAM4", "reason": "AWSLambdaBasicExecutionRole is used inside Provider", }, { "id": "AwsSolutions-IAM5", "reason": "Wildcard policy is used inside Provider", }, ], }, }, "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", ], ], }, ], "Tags": [ { "Key": "Environment", "Value": "Development", }, ], }, "Type": "AWS::IAM::Role", }, "InstanceProviderframeworkonEventServiceRoleDefaultPolicy129D159F": { "Metadata": { "cdk_nag": { "rules_to_suppress": [ { "id": "AwsSolutions-L1", "reason": "Non-latest nodejs function is used inside Provider", }, { "id": "AwsSolutions-IAM4", "reason": "AWSLambdaBasicExecutionRole is used inside Provider", }, { "id": "AwsSolutions-IAM5", "reason": "Wildcard policy is used inside Provider", }, ], }, }, "Properties": { "PolicyDocument": { "Statement": [ { "Action": "lambda:InvokeFunction", "Effect": "Allow", "Resource": [ { "Fn::GetAtt": [ "InstanceProviderOnEventHandlerCDB7D5B8", "Arn", ], }, { "Fn::Join": [ "", [ { "Fn::GetAtt": [ "InstanceProviderOnEventHandlerCDB7D5B8", "Arn", ], }, ":*", ], ], }, ], }, { "Action": "lambda:InvokeFunction", "Effect": "Allow", "Resource": [ { "Fn::GetAtt": [ "InstanceProviderIsCompleteHandlerE43F2F73", "Arn", ], }, { "Fn::Join": [ "", [ { "Fn::GetAtt": [ "InstanceProviderIsCompleteHandlerE43F2F73", "Arn", ], }, ":*", ], ], }, ], }, { "Action": "states:StartExecution", "Effect": "Allow", "Resource": { "Ref": "InstanceProviderwaiterstatemachineA2C8D42D", }, }, ], "Version": "2012-10-17", }, "PolicyName": "InstanceProviderframeworkonEventServiceRoleDefaultPolicy129D159F", "Roles": [ { "Ref": "InstanceProviderframeworkonEventServiceRoleCEA506E0", }, ], }, "Type": "AWS::IAM::Policy", }, "InstanceProviderframeworkonTimeoutE1C9D87C": { "DependsOn": [ "InstanceProviderframeworkonTimeoutServiceRoleDefaultPolicyBC76C244", "InstanceProviderframeworkonTimeoutServiceRole82B2F9DA", ], "Metadata": { "cdk_nag": { "rules_to_suppress": [ { "id": "AwsSolutions-L1", "reason": "Non-latest nodejs function is used inside Provider", }, { "id": "AwsSolutions-IAM4", "reason": "AWSLambdaBasicExecutionRole is used inside Provider", }, { "id": "AwsSolutions-IAM5", "reason": "Wildcard policy is used inside Provider", }, ], }, }, "Properties": { "Code": { "S3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-\${AWS::AccountId}-ap-northeast-1", }, "S3Key": "8e3d635893ea17fa3158623489cd42c680fad925b38de1ef51cb10d84f6e245e.zip", }, "Description": "AWS CDK resource provider framework - onTimeout (BLEAFSI-CustomerChannel-Development-Primary/InstanceProvider/Provider)", "Environment": { "Variables": { "USER_IS_COMPLETE_FUNCTION_ARN": { "Fn::GetAtt": [ "InstanceProviderIsCompleteHandlerE43F2F73", "Arn", ], }, "USER_ON_EVENT_FUNCTION_ARN": { "Fn::GetAtt": [ "InstanceProviderOnEventHandlerCDB7D5B8", "Arn", ], }, }, }, "Handler": "framework.onTimeout", "Role": { "Fn::GetAtt": [ "InstanceProviderframeworkonTimeoutServiceRole82B2F9DA", "Arn", ], }, "Runtime": "nodejs16.x", "Tags": [ { "Key": "Environment", "Value": "Development", }, ], "Timeout": 900, }, "Type": "AWS::Lambda::Function", }, "InstanceProviderframeworkonTimeoutServiceRole82B2F9DA": { "Metadata": { "cdk_nag": { "rules_to_suppress": [ { "id": "AwsSolutions-L1", "reason": "Non-latest nodejs function is used inside Provider", }, { "id": "AwsSolutions-IAM4", "reason": "AWSLambdaBasicExecutionRole is used inside Provider", }, { "id": "AwsSolutions-IAM5", "reason": "Wildcard policy is used inside Provider", }, ], }, }, "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", ], ], }, ], "Tags": [ { "Key": "Environment", "Value": "Development", }, ], }, "Type": "AWS::IAM::Role", }, "InstanceProviderframeworkonTimeoutServiceRoleDefaultPolicyBC76C244": { "Metadata": { "cdk_nag": { "rules_to_suppress": [ { "id": "AwsSolutions-L1", "reason": "Non-latest nodejs function is used inside Provider", }, { "id": "AwsSolutions-IAM4", "reason": "AWSLambdaBasicExecutionRole is used inside Provider", }, { "id": "AwsSolutions-IAM5", "reason": "Wildcard policy is used inside Provider", }, ], }, }, "Properties": { "PolicyDocument": { "Statement": [ { "Action": "lambda:InvokeFunction", "Effect": "Allow", "Resource": [ { "Fn::GetAtt": [ "InstanceProviderOnEventHandlerCDB7D5B8", "Arn", ], }, { "Fn::Join": [ "", [ { "Fn::GetAtt": [ "InstanceProviderOnEventHandlerCDB7D5B8", "Arn", ], }, ":*", ], ], }, ], }, { "Action": "lambda:InvokeFunction", "Effect": "Allow", "Resource": [ { "Fn::GetAtt": [ "InstanceProviderIsCompleteHandlerE43F2F73", "Arn", ], }, { "Fn::Join": [ "", [ { "Fn::GetAtt": [ "InstanceProviderIsCompleteHandlerE43F2F73", "Arn", ], }, ":*", ], ], }, ], }, ], "Version": "2012-10-17", }, "PolicyName": "InstanceProviderframeworkonTimeoutServiceRoleDefaultPolicyBC76C244", "Roles": [ { "Ref": "InstanceProviderframeworkonTimeoutServiceRole82B2F9DA", }, ], }, "Type": "AWS::IAM::Policy", }, "InstanceProviderwaiterstatemachineA2C8D42D": { "DependsOn": [ "InstanceProviderwaiterstatemachineRoleDefaultPolicy182AF42F", "InstanceProviderwaiterstatemachineRole1F2D0456", ], "Metadata": { "cdk_nag": { "rules_to_suppress": [ { "id": "AwsSolutions-L1", "reason": "Non-latest nodejs function is used inside Provider", }, { "id": "AwsSolutions-IAM4", "reason": "AWSLambdaBasicExecutionRole is used inside Provider", }, { "id": "AwsSolutions-IAM5", "reason": "Wildcard policy is used inside Provider", }, ], }, }, "Properties": { "DefinitionString": { "Fn::Join": [ "", [ "{"StartAt":"framework-isComplete-task","States":{"framework-isComplete-task":{"End":true,"Retry":[{"ErrorEquals":["States.ALL"],"IntervalSeconds":5,"MaxAttempts":360,"BackoffRate":1}],"Catch":[{"ErrorEquals":["States.ALL"],"Next":"framework-onTimeout-task"}],"Type":"Task","Resource":"", { "Fn::GetAtt": [ "InstanceProviderframeworkisComplete68BCC0D8", "Arn", ], }, ""},"framework-onTimeout-task":{"End":true,"Type":"Task","Resource":"", { "Fn::GetAtt": [ "InstanceProviderframeworkonTimeoutE1C9D87C", "Arn", ], }, ""}}}", ], ], }, "RoleArn": { "Fn::GetAtt": [ "InstanceProviderwaiterstatemachineRole1F2D0456", "Arn", ], }, }, "Type": "AWS::StepFunctions::StateMachine", }, "InstanceProviderwaiterstatemachineRole1F2D0456": { "Metadata": { "cdk_nag": { "rules_to_suppress": [ { "id": "AwsSolutions-L1", "reason": "Non-latest nodejs function is used inside Provider", }, { "id": "AwsSolutions-IAM4", "reason": "AWSLambdaBasicExecutionRole is used inside Provider", }, { "id": "AwsSolutions-IAM5", "reason": "Wildcard policy is used inside Provider", }, ], }, }, "Properties": { "AssumeRolePolicyDocument": { "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "Service": "states.ap-northeast-1.amazonaws.com", }, }, ], "Version": "2012-10-17", }, "Tags": [ { "Key": "Environment", "Value": "Development", }, ], }, "Type": "AWS::IAM::Role", }, "InstanceProviderwaiterstatemachineRoleDefaultPolicy182AF42F": { "Metadata": { "cdk_nag": { "rules_to_suppress": [ { "id": "AwsSolutions-L1", "reason": "Non-latest nodejs function is used inside Provider", }, { "id": "AwsSolutions-IAM4", "reason": "AWSLambdaBasicExecutionRole is used inside Provider", }, { "id": "AwsSolutions-IAM5", "reason": "Wildcard policy is used inside Provider", }, ], }, }, "Properties": { "PolicyDocument": { "Statement": [ { "Action": "lambda:InvokeFunction", "Effect": "Allow", "Resource": [ { "Fn::GetAtt": [ "InstanceProviderframeworkisComplete68BCC0D8", "Arn", ], }, { "Fn::Join": [ "", [ { "Fn::GetAtt": [ "InstanceProviderframeworkisComplete68BCC0D8", "Arn", ], }, ":*", ], ], }, ], }, { "Action": "lambda:InvokeFunction", "Effect": "Allow", "Resource": [ { "Fn::GetAtt": [ "InstanceProviderframeworkonTimeoutE1C9D87C", "Arn", ], }, { "Fn::Join": [ "", [ { "Fn::GetAtt": [ "InstanceProviderframeworkonTimeoutE1C9D87C", "Arn", ], }, ":*", ], ], }, ], }, ], "Version": "2012-10-17", }, "PolicyName": "InstanceProviderwaiterstatemachineRoleDefaultPolicy182AF42F", "Roles": [ { "Ref": "InstanceProviderwaiterstatemachineRole1F2D0456", }, ], }, "Type": "AWS::IAM::Policy", }, "InstanceStorageConfigProviderOnEventHandlerA1455F6A": { "DependsOn": [ "InstanceStorageConfigProviderOnEventHandlerServiceRoleDefaultPolicy727529C4", "InstanceStorageConfigProviderOnEventHandlerServiceRole054F441A", ], "Properties": { "Code": { "S3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-\${AWS::AccountId}-ap-northeast-1", }, "S3Key": "6d5396e158a524c4c7ca72bcb955521b4acec56c94a2d4efcb4709f319904f11.zip", }, "Description": "Provider handler for Connect.associateInstanceStorageConfig() & disassociateInstanceStorageConfig()", "Environment": { "Variables": { "AWS_NODEJS_CONNECTION_REUSE_ENABLED": "1", }, }, "Handler": "index.onEvent", "Role": { "Fn::GetAtt": [ "InstanceStorageConfigProviderOnEventHandlerServiceRole054F441A", "Arn", ], }, "Runtime": "nodejs18.x", "Tags": [ { "Key": "Environment", "Value": "Development", }, ], "Timeout": 15, }, "Type": "AWS::Lambda::Function", }, "InstanceStorageConfigProviderOnEventHandlerServiceRole054F441A": { "Metadata": { "cdk_nag": { "rules_to_suppress": [ { "id": "AwsSolutions-IAM4", "reason": "AWSLambdaBasicExecutionRole is used", }, ], }, }, "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", ], ], }, ], "Tags": [ { "Key": "Environment", "Value": "Development", }, ], }, "Type": "AWS::IAM::Role", }, "InstanceStorageConfigProviderOnEventHandlerServiceRoleDefaultPolicy727529C4": { "Properties": { "PolicyDocument": { "Statement": [ { "Action": [ "connect:AssociateInstanceStorageConfig", "connect:UpdateInstanceStorageConfig", "connect:DisassociateInstanceStorageConfig", ], "Effect": "Allow", "Resource": { "Fn::Join": [ "", [ "arn:aws:connect:ap-northeast-1:", { "Ref": "AWS::AccountId", }, ":instance/", { "Fn::GetAtt": [ "ConnectInstance90E42A0C", "InstanceId", ], }, ], ], }, }, { "Action": "iam:PutRolePolicy", "Effect": "Allow", "Resource": { "Fn::GetAtt": [ "ConnectInstance90E42A0C", "ServiceRole", ], }, }, { "Action": [ "s3:GetBucketLocation", "s3:GetBucketAcl", ], "Effect": "Allow", "Resource": { "Fn::Join": [ "", [ "arn:", { "Ref": "AWS::Partition", }, ":s3:::", { "Ref": "RecordingBucket03AEF6D2", }, ], ], }, }, { "Action": [ "kms:CreateGrant", "kms:DescribeKey", "kms:ListAliases", "kms:RetireGrant", ], "Effect": "Allow", "Resource": { "Fn::GetAtt": [ "RecordingKey3B2234F2", "Arn", ], }, }, { "Action": [ "firehose:DescribeDeliveryStream", "firehose:PutRecord", "firehose:PutRecordBatch", ], "Effect": "Allow", "Resource": { "Fn::GetAtt": [ "ConnectInstanceCtrDeliveryStreamCD0085B0", "Arn", ], }, }, ], "Version": "2012-10-17", }, "PolicyName": "InstanceStorageConfigProviderOnEventHandlerServiceRoleDefaultPolicy727529C4", "Roles": [ { "Ref": "InstanceStorageConfigProviderOnEventHandlerServiceRole054F441A", }, ], }, "Type": "AWS::IAM::Policy", }, "InstanceStorageConfigProviderframeworkonEventF4B82BDF": { "DependsOn": [ "InstanceStorageConfigProviderframeworkonEventServiceRoleDefaultPolicy1C78B94B", "InstanceStorageConfigProviderframeworkonEventServiceRole9EA1F8D0", ], "Metadata": { "cdk_nag": { "rules_to_suppress": [ { "id": "AwsSolutions-L1", "reason": "Non-latest nodejs function is used inside Provider", }, { "id": "AwsSolutions-IAM4", "reason": "AWSLambdaBasicExecutionRole is used inside Provider", }, { "id": "AwsSolutions-IAM5", "reason": "Wildcard policy is used inside Provider", }, ], }, }, "Properties": { "Code": { "S3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-\${AWS::AccountId}-ap-northeast-1", }, "S3Key": "8e3d635893ea17fa3158623489cd42c680fad925b38de1ef51cb10d84f6e245e.zip", }, "Description": "AWS CDK resource provider framework - onEvent (BLEAFSI-CustomerChannel-Development-Primary/InstanceStorageConfigProvider/Provider)", "Environment": { "Variables": { "USER_ON_EVENT_FUNCTION_ARN": { "Fn::GetAtt": [ "InstanceStorageConfigProviderOnEventHandlerA1455F6A", "Arn", ], }, }, }, "Handler": "framework.onEvent", "Role": { "Fn::GetAtt": [ "InstanceStorageConfigProviderframeworkonEventServiceRole9EA1F8D0", "Arn", ], }, "Runtime": "nodejs16.x", "Tags": [ { "Key": "Environment", "Value": "Development", }, ], "Timeout": 900, }, "Type": "AWS::Lambda::Function", }, "InstanceStorageConfigProviderframeworkonEventServiceRole9EA1F8D0": { "Metadata": { "cdk_nag": { "rules_to_suppress": [ { "id": "AwsSolutions-L1", "reason": "Non-latest nodejs function is used inside Provider", }, { "id": "AwsSolutions-IAM4", "reason": "AWSLambdaBasicExecutionRole is used inside Provider", }, { "id": "AwsSolutions-IAM5", "reason": "Wildcard policy is used inside Provider", }, ], }, }, "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", ], ], }, ], "Tags": [ { "Key": "Environment", "Value": "Development", }, ], }, "Type": "AWS::IAM::Role", }, "InstanceStorageConfigProviderframeworkonEventServiceRoleDefaultPolicy1C78B94B": { "Metadata": { "cdk_nag": { "rules_to_suppress": [ { "id": "AwsSolutions-L1", "reason": "Non-latest nodejs function is used inside Provider", }, { "id": "AwsSolutions-IAM4", "reason": "AWSLambdaBasicExecutionRole is used inside Provider", }, { "id": "AwsSolutions-IAM5", "reason": "Wildcard policy is used inside Provider", }, ], }, }, "Properties": { "PolicyDocument": { "Statement": [ { "Action": "lambda:InvokeFunction", "Effect": "Allow", "Resource": [ { "Fn::GetAtt": [ "InstanceStorageConfigProviderOnEventHandlerA1455F6A", "Arn", ], }, { "Fn::Join": [ "", [ { "Fn::GetAtt": [ "InstanceStorageConfigProviderOnEventHandlerA1455F6A", "Arn", ], }, ":*", ], ], }, ], }, ], "Version": "2012-10-17", }, "PolicyName": "InstanceStorageConfigProviderframeworkonEventServiceRoleDefaultPolicy1C78B94B", "Roles": [ { "Ref": "InstanceStorageConfigProviderframeworkonEventServiceRole9EA1F8D0", }, ], }, "Type": "AWS::IAM::Policy", }, "LexBotAssociationProviderOnEventHandler1090ED28": { "DependsOn": [ "LexBotAssociationProviderOnEventHandlerServiceRoleDefaultPolicyFAFC1156", "LexBotAssociationProviderOnEventHandlerServiceRoleA3FBF339", ], "Properties": { "Code": { "S3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-\${AWS::AccountId}-ap-northeast-1", }, "S3Key": "2d7db793a84be304a29b54535e46267e01861d475c32ba675e267ded39669832.zip", }, "Description": "Provider handler for Connect.associateBot() & disassociateBot()", "Environment": { "Variables": { "AWS_NODEJS_CONNECTION_REUSE_ENABLED": "1", }, }, "Handler": "index.onEvent", "Role": { "Fn::GetAtt": [ "LexBotAssociationProviderOnEventHandlerServiceRoleA3FBF339", "Arn", ], }, "Runtime": "nodejs18.x", "Tags": [ { "Key": "Environment", "Value": "Development", }, ], "Timeout": 15, }, "Type": "AWS::Lambda::Function", }, "LexBotAssociationProviderOnEventHandlerServiceRoleA3FBF339": { "Metadata": { "cdk_nag": { "rules_to_suppress": [ { "id": "AwsSolutions-IAM4", "reason": "AWSLambdaBasicExecutionRole is used", }, ], }, }, "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", ], ], }, ], "Tags": [ { "Key": "Environment", "Value": "Development", }, ], }, "Type": "AWS::IAM::Role", }, "LexBotAssociationProviderOnEventHandlerServiceRoleDefaultPolicyFAFC1156": { "Properties": { "PolicyDocument": { "Statement": [ { "Action": [ "connect:AssociateBot", "connect:DisassociateBot", ], "Effect": "Allow", "Resource": { "Fn::Join": [ "", [ "arn:aws:connect:ap-northeast-1:", { "Ref": "AWS::AccountId", }, ":instance/", { "Fn::GetAtt": [ "ConnectInstance90E42A0C", "InstanceId", ], }, ], ], }, }, { "Action": [ "lex:CreateResourcePolicy", "lex:DeleteResourcePolicy", "lex:UpdateResourcePolicy", "lex:DescribeBotAlias", ], "Effect": "Allow", "Resource": { "Fn::GetAtt": [ "InboundSampleIdentificationBotAliasA3223E16", "Arn", ], }, }, ], "Version": "2012-10-17", }, "PolicyName": "LexBotAssociationProviderOnEventHandlerServiceRoleDefaultPolicyFAFC1156", "Roles": [ { "Ref": "LexBotAssociationProviderOnEventHandlerServiceRoleA3FBF339", }, ], }, "Type": "AWS::IAM::Policy", }, "LexBotAssociationProviderframeworkonEventCFCA5349": { "DependsOn": [ "LexBotAssociationProviderframeworkonEventServiceRoleDefaultPolicy3EA64DCF", "LexBotAssociationProviderframeworkonEventServiceRole0724DBEC", ], "Metadata": { "cdk_nag": { "rules_to_suppress": [ { "id": "AwsSolutions-L1", "reason": "Non-latest nodejs function is used inside Provider", }, { "id": "AwsSolutions-IAM4", "reason": "AWSLambdaBasicExecutionRole is used inside Provider", }, { "id": "AwsSolutions-IAM5", "reason": "Wildcard policy is used inside Provider", }, ], }, }, "Properties": { "Code": { "S3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-\${AWS::AccountId}-ap-northeast-1", }, "S3Key": "8e3d635893ea17fa3158623489cd42c680fad925b38de1ef51cb10d84f6e245e.zip", }, "Description": "AWS CDK resource provider framework - onEvent (BLEAFSI-CustomerChannel-Development-Primary/LexBotAssociationProvider/Provider)", "Environment": { "Variables": { "USER_ON_EVENT_FUNCTION_ARN": { "Fn::GetAtt": [ "LexBotAssociationProviderOnEventHandler1090ED28", "Arn", ], }, }, }, "Handler": "framework.onEvent", "Role": { "Fn::GetAtt": [ "LexBotAssociationProviderframeworkonEventServiceRole0724DBEC", "Arn", ], }, "Runtime": "nodejs16.x", "Tags": [ { "Key": "Environment", "Value": "Development", }, ], "Timeout": 900, }, "Type": "AWS::Lambda::Function", }, "LexBotAssociationProviderframeworkonEventServiceRole0724DBEC": { "Metadata": { "cdk_nag": { "rules_to_suppress": [ { "id": "AwsSolutions-L1", "reason": "Non-latest nodejs function is used inside Provider", }, { "id": "AwsSolutions-IAM4", "reason": "AWSLambdaBasicExecutionRole is used inside Provider", }, { "id": "AwsSolutions-IAM5", "reason": "Wildcard policy is used inside Provider", }, ], }, }, "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", ], ], }, ], "Tags": [ { "Key": "Environment", "Value": "Development", }, ], }, "Type": "AWS::IAM::Role", }, "LexBotAssociationProviderframeworkonEventServiceRoleDefaultPolicy3EA64DCF": { "Metadata": { "cdk_nag": { "rules_to_suppress": [ { "id": "AwsSolutions-L1", "reason": "Non-latest nodejs function is used inside Provider", }, { "id": "AwsSolutions-IAM4", "reason": "AWSLambdaBasicExecutionRole is used inside Provider", }, { "id": "AwsSolutions-IAM5", "reason": "Wildcard policy is used inside Provider", }, ], }, }, "Properties": { "PolicyDocument": { "Statement": [ { "Action": "lambda:InvokeFunction", "Effect": "Allow", "Resource": [ { "Fn::GetAtt": [ "LexBotAssociationProviderOnEventHandler1090ED28", "Arn", ], }, { "Fn::Join": [ "", [ { "Fn::GetAtt": [ "LexBotAssociationProviderOnEventHandler1090ED28", "Arn", ], }, ":*", ], ], }, ], }, ], "Version": "2012-10-17", }, "PolicyName": "LexBotAssociationProviderframeworkonEventServiceRoleDefaultPolicy3EA64DCF", "Roles": [ { "Ref": "LexBotAssociationProviderframeworkonEventServiceRole0724DBEC", }, ], }, "Type": "AWS::IAM::Policy", }, "LogRetentionaae0aa3c5b4d4f87b02d85b201efdd8aFD4BFC8A": { "DependsOn": [ "LogRetentionaae0aa3c5b4d4f87b02d85b201efdd8aServiceRoleDefaultPolicyADDA7DEB", "LogRetentionaae0aa3c5b4d4f87b02d85b201efdd8aServiceRole9741ECFB", ], "Metadata": { "cdk_nag": { "rules_to_suppress": [ { "id": "AwsSolutions-IAM4", "reason": "LogRetention uses AWSLambdaBasicExecutionRole", }, { "id": "AwsSolutions-IAM5", "reason": "LogRetention uses wildcard policy", }, ], }, }, "Properties": { "Code": { "S3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-\${AWS::AccountId}-ap-northeast-1", }, "S3Key": "5fa1330271b8967d9254ba2d4a07144f8acefe8b77e6d6bba38261373a50d5f8.zip", }, "Handler": "index.handler", "Role": { "Fn::GetAtt": [ "LogRetentionaae0aa3c5b4d4f87b02d85b201efdd8aServiceRole9741ECFB", "Arn", ], }, "Runtime": "nodejs16.x", "Tags": [ { "Key": "Environment", "Value": "Development", }, ], }, "Type": "AWS::Lambda::Function", }, "LogRetentionaae0aa3c5b4d4f87b02d85b201efdd8aServiceRole9741ECFB": { "Metadata": { "cdk_nag": { "rules_to_suppress": [ { "id": "AwsSolutions-IAM4", "reason": "LogRetention uses AWSLambdaBasicExecutionRole", }, { "id": "AwsSolutions-IAM5", "reason": "LogRetention uses wildcard policy", }, ], }, }, "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", ], ], }, ], "Tags": [ { "Key": "Environment", "Value": "Development", }, ], }, "Type": "AWS::IAM::Role", }, "LogRetentionaae0aa3c5b4d4f87b02d85b201efdd8aServiceRoleDefaultPolicyADDA7DEB": { "Metadata": { "cdk_nag": { "rules_to_suppress": [ { "id": "AwsSolutions-IAM4", "reason": "LogRetention uses AWSLambdaBasicExecutionRole", }, { "id": "AwsSolutions-IAM5", "reason": "LogRetention uses wildcard policy", }, ], }, }, "Properties": { "PolicyDocument": { "Statement": [ { "Action": [ "logs:PutRetentionPolicy", "logs:DeleteRetentionPolicy", ], "Effect": "Allow", "Resource": "*", }, ], "Version": "2012-10-17", }, "PolicyName": "LogRetentionaae0aa3c5b4d4f87b02d85b201efdd8aServiceRoleDefaultPolicyADDA7DEB", "Roles": [ { "Ref": "LogRetentionaae0aa3c5b4d4f87b02d85b201efdd8aServiceRole9741ECFB", }, ], }, "Type": "AWS::IAM::Policy", }, "OutboundSampleContactTableB726880A": { "DeletionPolicy": "Retain", "Properties": { "AttributeDefinitions": [ { "AttributeName": "ContactId", "AttributeType": "S", }, ], "KeySchema": [ { "AttributeName": "ContactId", "KeyType": "HASH", }, ], "ProvisionedThroughput": { "ReadCapacityUnits": 5, "WriteCapacityUnits": 5, }, "Tags": [ { "Key": "Environment", "Value": "Development", }, ], }, "Type": "AWS::DynamoDB::Table", "UpdateReplacePolicy": "Retain", }, "OutboundSampleEndOutboundContactRule43579C4A": { "Properties": { "EventPattern": { "detail": { "channel": [ "VOICE", ], "eventType": [ "DISCONNECTED", ], "instanceArn": [ { "Fn::Join": [ "", [ "arn:aws:connect:ap-northeast-1:", { "Ref": "AWS::AccountId", }, ":instance/", { "Fn::GetAtt": [ "ConnectInstance90E42A0C", "InstanceId", ], }, ], ], }, ], }, "detail-type": [ "Amazon Connect Contact Event", ], "source": [ "aws.connect", ], }, "State": "ENABLED", "Targets": [ { "Arn": { "Ref": "OutboundSampleEndOutboundContactStateMachine27AE15CE", }, "Id": "Target0", "RoleArn": { "Fn::GetAtt": [ "OutboundSampleEndOutboundContactStateMachineEventsRoleC450987B", "Arn", ], }, }, ], }, "Type": "AWS::Events::Rule", }, "OutboundSampleEndOutboundContactStateMachine27AE15CE": { "DeletionPolicy": "Delete", "DependsOn": [ "OutboundSampleEndOutboundContactStateMachineRoleDefaultPolicy2C9D3E28", "OutboundSampleEndOutboundContactStateMachineRole22A63EFA", ], "Properties": { "DefinitionString": { "Fn::Join": [ "", [ "{"StartAt":"GetContactAttributes","States":{"GetContactAttributes":{"Next":"UpdateItem","Type":"Task","ResultPath":"$.AttributesResult","Resource":"arn:", { "Ref": "AWS::Partition", }, ":states:::aws-sdk:connect:getContactAttributes","Parameters":{"InitialContactId.$":"$.detail.contactId","InstanceId":"", { "Fn::GetAtt": [ "ConnectInstance90E42A0C", "InstanceId", ], }, ""}},"UpdateItem":{"End":true,"Type":"Task","Resource":"arn:", { "Ref": "AWS::Partition", }, ":states:::aws-sdk:dynamodb:updateItem","Parameters":{"TableName":"", { "Ref": "OutboundSampleContactTableB726880A", }, "","Key":{"ContactId":{"S.$":"$.detail.contactId"}},"UpdateExpression":"SET EndTime=:EndTime, #St=:St, Responded=:Responded","ExpressionAttributeNames":{"#St":"State"},"ExpressionAttributeValues":{":EndTime":{"S.$":"$$.State.EnteredTime"},":St":{"S":"DISCONNECTED"},":Responded":{"Bool.$":"$.AttributesResult.Attributes.Responded"}}}}}}", ], ], }, "LoggingConfiguration": { "Destinations": [ { "CloudWatchLogsLogGroup": { "LogGroupArn": { "Fn::GetAtt": [ "OutboundSampleEndOutboundLogGroup63C30EF6", "Arn", ], }, }, }, ], "Level": "ALL", }, "RoleArn": { "Fn::GetAtt": [ "OutboundSampleEndOutboundContactStateMachineRole22A63EFA", "Arn", ], }, "Tags": [ { "Key": "Environment", "Value": "Development", }, ], "TracingConfiguration": { "Enabled": true, }, }, "Type": "AWS::StepFunctions::StateMachine", "UpdateReplacePolicy": "Delete", }, "OutboundSampleEndOutboundContactStateMachineEventsRoleC450987B": { "Properties": { "AssumeRolePolicyDocument": { "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "Service": "events.amazonaws.com", }, }, ], "Version": "2012-10-17", }, "Tags": [ { "Key": "Environment", "Value": "Development", }, ], }, "Type": "AWS::IAM::Role", }, "OutboundSampleEndOutboundContactStateMachineEventsRoleDefaultPolicyC3FEDA2F": { "Properties": { "PolicyDocument": { "Statement": [ { "Action": "states:StartExecution", "Effect": "Allow", "Resource": { "Ref": "OutboundSampleEndOutboundContactStateMachine27AE15CE", }, }, ], "Version": "2012-10-17", }, "PolicyName": "OutboundSampleEndOutboundContactStateMachineEventsRoleDefaultPolicyC3FEDA2F", "Roles": [ { "Ref": "OutboundSampleEndOutboundContactStateMachineEventsRoleC450987B", }, ], }, "Type": "AWS::IAM::Policy", }, "OutboundSampleEndOutboundContactStateMachineRole22A63EFA": { "Metadata": { "cdk_nag": { "rules_to_suppress": [ { "id": "AwsSolutions-IAM5", "reason": "Wildcard is required to invoke connect:GetContactAttributes", }, ], }, }, "Properties": { "AssumeRolePolicyDocument": { "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "Service": "states.ap-northeast-1.amazonaws.com", }, }, ], "Version": "2012-10-17", }, "Tags": [ { "Key": "Environment", "Value": "Development", }, ], }, "Type": "AWS::IAM::Role", }, "OutboundSampleEndOutboundContactStateMachineRoleDefaultPolicy2C9D3E28": { "Metadata": { "cdk_nag": { "rules_to_suppress": [ { "id": "AwsSolutions-IAM5", "reason": "Wildcard is required to invoke connect:GetContactAttributes", }, ], }, }, "Properties": { "PolicyDocument": { "Statement": [ { "Action": [ "logs:CreateLogDelivery", "logs:GetLogDelivery", "logs:UpdateLogDelivery", "logs:DeleteLogDelivery", "logs:ListLogDeliveries", "logs:PutResourcePolicy", "logs:DescribeResourcePolicies", "logs:DescribeLogGroups", ], "Effect": "Allow", "Resource": "*", }, { "Action": [ "xray:PutTraceSegments", "xray:PutTelemetryRecords", "xray:GetSamplingRules", "xray:GetSamplingTargets", ], "Effect": "Allow", "Resource": "*", }, { "Action": "connect:getContactAttributes", "Effect": "Allow", "Resource": { "Fn::Join": [ "", [ "arn:aws:connect:ap-northeast-1:", { "Ref": "AWS::AccountId", }, ":instance/", { "Fn::GetAtt": [ "ConnectInstance90E42A0C", "InstanceId", ], }, "/contact/*", ], ], }, }, { "Action": "dynamodb:updateItem", "Effect": "Allow", "Resource": { "Fn::GetAtt": [ "OutboundSampleContactTableB726880A", "Arn", ], }, }, ], "Version": "2012-10-17", }, "PolicyName": "OutboundSampleEndOutboundContactStateMachineRoleDefaultPolicy2C9D3E28", "Roles": [ { "Ref": "OutboundSampleEndOutboundContactStateMachineRole22A63EFA", }, ], }, "Type": "AWS::IAM::Policy", }, "OutboundSampleEndOutboundLogGroup63C30EF6": { "DeletionPolicy": "Retain", "Properties": { "RetentionInDays": 731, "Tags": [ { "Key": "Environment", "Value": "Development", }, ], }, "Type": "AWS::Logs::LogGroup", "UpdateReplacePolicy": "Retain", }, "OutboundSampleOutboundContactFlowF2BEB850": { "Properties": { "Content": "{ "Version": "2019-10-30", "StartAction": "f3d301a2-64a8-43d5-857e-bc0a84381492", "Metadata": { "entryPointPosition": { "x": 15, "y": 20 }, "snapToGrid": false, "ActionMetadata": { "8e7fe768-ae38-4813-872e-57d6c7357a91": { "position": { "x": 394, "y": 334 }, "useDynamic": true }, "f3d301a2-64a8-43d5-857e-bc0a84381492": { "position": { "x": 186, "y": 85 } }, "86cfd0f7-84a8-4224-a812-d444ea47a8a8": { "position": { "x": 159, "y": 430 }, "useDynamic": false }, "2be36159-15b8-46f1-99b9-fcd6a2c43ce7": { "position": { "x": 433, "y": 82 }, "overrideConsoleVoice": true, "defaultVoice": "None" }, "05e97d58-508b-450c-8a57-53d90d9e5db3": { "position": { "x": 669, "y": 71 }, "dynamicParams": [] }, "e61ba98f-557c-41bd-830a-e7b46042ae7f": { "position": { "x": 535, "y": 735 } }, "ce1d25c9-d23d-451f-b6cc-c4df060d79ef": { "position": { "x": 647, "y": 347 }, "conditionMetadata": [{ "id": "eb56a59e-b65f-466a-98cf-1caa7c42db92", "value": "1" }], "useDynamic": false, "useLexBotDropdown": true, "useDynamicLexBotArn": false }, "a9da46cc-770b-4aeb-9f4b-2284a1ae0901": { "position": { "x": 905, "y": 385 }, "dynamicParams": [] } } }, "Actions": [ { "Identifier": "8e7fe768-ae38-4813-872e-57d6c7357a91", "Parameters": { "Text": "$.Attributes.Message" }, "Transitions": { "NextAction": "ce1d25c9-d23d-451f-b6cc-c4df060d79ef", "Errors": [{ "NextAction": "e61ba98f-557c-41bd-830a-e7b46042ae7f", "ErrorType": "NoMatchingError" }], "Conditions": [] }, "Type": "MessageParticipant" }, { "Identifier": "f3d301a2-64a8-43d5-857e-bc0a84381492", "Parameters": { "FlowLoggingBehavior": "Enabled" }, "Transitions": { "NextAction": "2be36159-15b8-46f1-99b9-fcd6a2c43ce7", "Errors": [], "Conditions": [] }, "Type": "UpdateFlowLoggingBehavior" }, { "Identifier": "86cfd0f7-84a8-4224-a812-d444ea47a8a8", "Parameters": { "LoopCount": "10" }, "Transitions": { "NextAction": "e61ba98f-557c-41bd-830a-e7b46042ae7f", "Errors": [], "Conditions": [ { "NextAction": "e61ba98f-557c-41bd-830a-e7b46042ae7f", "Condition": { "Operator": "Equals", "Operands": ["DoneLooping"] } }, { "NextAction": "8e7fe768-ae38-4813-872e-57d6c7357a91", "Condition": { "Operator": "Equals", "Operands": ["ContinueLooping"] } } ] }, "Type": "Loop" }, { "Identifier": "2be36159-15b8-46f1-99b9-fcd6a2c43ce7", "Parameters": { "TextToSpeechVoice": "Takumi", "TextToSpeechEngine": "Neural", "TextToSpeechStyle": "None" }, "Transitions": { "NextAction": "05e97d58-508b-450c-8a57-53d90d9e5db3", "Errors": [], "Conditions": [] }, "Type": "UpdateContactTextToSpeechVoice" }, { "Identifier": "05e97d58-508b-450c-8a57-53d90d9e5db3", "Parameters": { "Attributes": { "Responded": "false" } }, "Transitions": { "NextAction": "86cfd0f7-84a8-4224-a812-d444ea47a8a8", "Errors": [{ "NextAction": "86cfd0f7-84a8-4224-a812-d444ea47a8a8", "ErrorType": "NoMatchingError" }], "Conditions": [] }, "Type": "UpdateContactAttributes" }, { "Identifier": "e61ba98f-557c-41bd-830a-e7b46042ae7f", "Type": "DisconnectParticipant", "Parameters": {}, "Transitions": {} }, { "Identifier": "ce1d25c9-d23d-451f-b6cc-c4df060d79ef", "Parameters": { "Text": "確認できたら 1 を押してください。", "StoreInput": "False", "InputTimeLimitSeconds": "3" }, "Transitions": { "NextAction": "86cfd0f7-84a8-4224-a812-d444ea47a8a8", "Errors": [ { "NextAction": "86cfd0f7-84a8-4224-a812-d444ea47a8a8", "ErrorType": "NoMatchingError" }, { "NextAction": "86cfd0f7-84a8-4224-a812-d444ea47a8a8", "ErrorType": "NoMatchingCondition" }, { "NextAction": "86cfd0f7-84a8-4224-a812-d444ea47a8a8", "ErrorType": "InputTimeLimitExceeded" } ], "Conditions": [ { "NextAction": "a9da46cc-770b-4aeb-9f4b-2284a1ae0901", "Condition": { "Operator": "Equals", "Operands": ["1"] } } ] }, "Type": "GetParticipantInput" }, { "Identifier": "a9da46cc-770b-4aeb-9f4b-2284a1ae0901", "Parameters": { "Attributes": { "Responded": "true" } }, "Transitions": { "NextAction": "e61ba98f-557c-41bd-830a-e7b46042ae7f", "Errors": [{ "NextAction": "e61ba98f-557c-41bd-830a-e7b46042ae7f", "ErrorType": "NoMatchingError" }], "Conditions": [] }, "Type": "UpdateContactAttributes" } ] } ", "InstanceArn": { "Fn::Join": [ "", [ "arn:aws:connect:ap-northeast-1:", { "Ref": "AWS::AccountId", }, ":instance/", { "Fn::GetAtt": [ "ConnectInstance90E42A0C", "InstanceId", ], }, ], ], }, "Name": "SampleOutboundContactFlow", "Tags": [ { "Key": "Environment", "Value": "Development", }, ], "Type": "CONTACT_FLOW", }, "Type": "AWS::Connect::ContactFlow", }, "OutboundSampleStartOutboundApi8DB6C22A": { "Metadata": { "cdk_nag": { "rules_to_suppress": [ { "id": "AwsSolutions-IAM4", "reason": "API Gateway uses AmazonAPIGatewayPushToCloudWatchLogs", }, { "id": "AwsSolutions-APIG2", "reason": "This API Gateway is a sample implementation. No schema", }, ], }, }, "Properties": { "Name": "StartOutboundApi", "Tags": [ { "Key": "Environment", "Value": "Development", }, ], }, "Type": "AWS::ApiGateway::RestApi", }, "OutboundSampleStartOutboundApiANYFFFAE841": { "Metadata": { "cdk_nag": { "rules_to_suppress": [ { "id": "AwsSolutions-COG4", "reason": "IAM authorizer is intentionally used", }, ], }, }, "Properties": { "AuthorizationType": "AWS_IAM", "HttpMethod": "ANY", "Integration": { "Credentials": { "Fn::GetAtt": [ "OutboundSampleStartOutboundApiANYStartSyncExecutionRole00307BE9", "Arn", ], }, "IntegrationHttpMethod": "POST", "IntegrationResponses": [ { "ResponseTemplates": { "application/json": "#set($inputRoot = $input.path('$')) #if($input.path('$.status').toString().equals("FAILED")) #set($context.responseOverride.status = 500) { "error": "$input.path('$.error')", "cause": "$input.path('$.cause')" } #else $input.path('$.output') #end", }, "StatusCode": "200", }, { "ResponseTemplates": { "application/json": "{ "error": "Bad request!" }", }, "SelectionPattern": "4\\d{2}", "StatusCode": "400", }, { "ResponseTemplates": { "application/json": ""error": $input.path('$.error')", }, "SelectionPattern": "5\\d{2}", "StatusCode": "500", }, ], "PassthroughBehavior": "NEVER", "RequestTemplates": { "application/json": { "Fn::Join": [ "", [ "## Velocity Template used for API Gateway request mapping template ## ## This template forwards the request body, header, path, and querystring ## to the execution input of the state machine. ## ## "@@" is used here as a placeholder for '"' to avoid using escape characters. #set($inputString = '') #set($includeHeaders = false) #set($includeQueryString = true) #set($includePath = true) #set($includeAuthorizer = false) #set($allParams = $input.params()) { "stateMachineArn": "", { "Ref": "OutboundSampleStartOutboundStateMachine21DFBAB6", }, "", #set($inputString = "$inputString,@@body@@: $input.body") #if ($includeHeaders) #set($inputString = "$inputString, @@header@@:{") #foreach($paramName in $allParams.header.keySet()) #set($inputString = "$inputString @@$paramName@@: @@$util.escapeJavaScript($allParams.header.get($paramName))@@") #if($foreach.hasNext) #set($inputString = "$inputString,") #end #end #set($inputString = "$inputString }") #end #if ($includeQueryString) #set($inputString = "$inputString, @@querystring@@:{") #foreach($paramName in $allParams.querystring.keySet()) #set($inputString = "$inputString @@$paramName@@: @@$util.escapeJavaScript($allParams.querystring.get($paramName))@@") #if($foreach.hasNext) #set($inputString = "$inputString,") #end #end #set($inputString = "$inputString }") #end #if ($includePath) #set($inputString = "$inputString, @@path@@:{") #foreach($paramName in $allParams.path.keySet()) #set($inputString = "$inputString @@$paramName@@: @@$util.escapeJavaScript($allParams.path.get($paramName))@@") #if($foreach.hasNext) #set($inputString = "$inputString,") #end #end #set($inputString = "$inputString }") #end #if ($includeAuthorizer) #set($inputString = "$inputString, @@authorizer@@:{") #foreach($paramName in $context.authorizer.keySet()) #set($inputString = "$inputString @@$paramName@@: @@$util.escapeJavaScript($context.authorizer.get($paramName))@@") #if($foreach.hasNext) #set($inputString = "$inputString,") #end #end #set($inputString = "$inputString }") #end #set($requestContext = "") ## Check if the request context should be included as part of the execution input #if($requestContext && !$requestContext.empty) #set($inputString = "$inputString,") #set($inputString = "$inputString @@requestContext@@: $requestContext") #end #set($inputString = "$inputString}") #set($inputString = $inputString.replaceAll("@@",'"')) #set($len = $inputString.length() - 1) "input": "{$util.escapeJavaScript($inputString.substring(1,$len)).replaceAll("\\\\'","'")}" } ", ], ], }, }, "Type": "AWS", "Uri": { "Fn::Join": [ "", [ "arn:", { "Ref": "AWS::Partition", }, ":apigateway:ap-northeast-1:states:action/StartSyncExecution", ], ], }, }, "MethodResponses": [ { "ResponseModels": { "application/json": "Empty", }, "StatusCode": "200", }, { "ResponseModels": { "application/json": "Error", }, "StatusCode": "400", }, { "ResponseModels": { "application/json": "Error", }, "StatusCode": "500", }, ], "RequestModels": { "application/json": { "Ref": "OutboundSampleStartOutboundApiStartOutboundApiModelA9A32B44", }, }, "RequestValidatorId": { "Ref": "OutboundSampleStartOutboundApiStartOutboundRequestValidatorFAD4AEFD", }, "ResourceId": { "Fn::GetAtt": [ "OutboundSampleStartOutboundApi8DB6C22A", "RootResourceId", ], }, "RestApiId": { "Ref": "OutboundSampleStartOutboundApi8DB6C22A", }, }, "Type": "AWS::ApiGateway::Method", }, "OutboundSampleStartOutboundApiANYStartSyncExecutionRole00307BE9": { "Metadata": { "cdk_nag": { "rules_to_suppress": [ { "id": "AwsSolutions-COG4", "reason": "IAM authorizer is intentionally used", }, ], }, }, "Properties": { "AssumeRolePolicyDocument": { "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "Service": "apigateway.amazonaws.com", }, }, ], "Version": "2012-10-17", }, "Tags": [ { "Key": "Environment", "Value": "Development", }, ], }, "Type": "AWS::IAM::Role", }, "OutboundSampleStartOutboundApiANYStartSyncExecutionRoleDefaultPolicyDA4347F4": { "Metadata": { "cdk_nag": { "rules_to_suppress": [ { "id": "AwsSolutions-COG4", "reason": "IAM authorizer is intentionally used", }, ], }, }, "Properties": { "PolicyDocument": { "Statement": [ { "Action": "states:StartSyncExecution", "Effect": "Allow", "Resource": { "Ref": "OutboundSampleStartOutboundStateMachine21DFBAB6", }, }, ], "Version": "2012-10-17", }, "PolicyName": "OutboundSampleStartOutboundApiANYStartSyncExecutionRoleDefaultPolicyDA4347F4", "Roles": [ { "Ref": "OutboundSampleStartOutboundApiANYStartSyncExecutionRole00307BE9", }, ], }, "Type": "AWS::IAM::Policy", }, "OutboundSampleStartOutboundApiAccount890A0E7C": { "DeletionPolicy": "Retain", "DependsOn": [ "OutboundSampleStartOutboundApi8DB6C22A", ], "Metadata": { "cdk_nag": { "rules_to_suppress": [ { "id": "AwsSolutions-IAM4", "reason": "API Gateway uses AmazonAPIGatewayPushToCloudWatchLogs", }, { "id": "AwsSolutions-APIG2", "reason": "This API Gateway is a sample implementation. No schema", }, ], }, }, "Properties": { "CloudWatchRoleArn": { "Fn::GetAtt": [ "OutboundSampleStartOutboundApiCloudWatchRoleE9D939ED", "Arn", ], }, }, "Type": "AWS::ApiGateway::Account", "UpdateReplacePolicy": "Retain", }, "OutboundSampleStartOutboundApiCloudWatchRoleE9D939ED": { "DeletionPolicy": "Retain", "Metadata": { "cdk_nag": { "rules_to_suppress": [ { "id": "AwsSolutions-IAM4", "reason": "API Gateway uses AmazonAPIGatewayPushToCloudWatchLogs", }, { "id": "AwsSolutions-APIG2", "reason": "This API Gateway is a sample implementation. No schema", }, ], }, }, "Properties": { "AssumeRolePolicyDocument": { "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "Service": "apigateway.amazonaws.com", }, }, ], "Version": "2012-10-17", }, "ManagedPolicyArns": [ { "Fn::Join": [ "", [ "arn:", { "Ref": "AWS::Partition", }, ":iam::aws:policy/service-role/AmazonAPIGatewayPushToCloudWatchLogs", ], ], }, ], "Tags": [ { "Key": "Environment", "Value": "Development", }, ], }, "Type": "AWS::IAM::Role", "UpdateReplacePolicy": "Retain", }, "OutboundSampleStartOutboundApiDeploymentEAC394333485b36bcc3b2c34a45e9fefcac6ffbc": { "DependsOn": [ "OutboundSampleStartOutboundApiANYFFFAE841", "OutboundSampleStartOutboundApiStartOutboundApiModelA9A32B44", "OutboundSampleStartOutboundApiStartOutboundRequestValidatorFAD4AEFD", ], "Metadata": { "cdk_nag": { "rules_to_suppress": [ { "id": "AwsSolutions-IAM4", "reason": "API Gateway uses AmazonAPIGatewayPushToCloudWatchLogs", }, { "id": "AwsSolutions-APIG2", "reason": "This API Gateway is a sample implementation. No schema", }, ], }, }, "Properties": { "Description": "Automatically created by the RestApi construct", "RestApiId": { "Ref": "OutboundSampleStartOutboundApi8DB6C22A", }, }, "Type": "AWS::ApiGateway::Deployment", }, "OutboundSampleStartOutboundApiDeploymentStageprodBBD05D7A": { "DependsOn": [ "OutboundSampleStartOutboundApiAccount890A0E7C", ], "Metadata": { "cdk_nag": { "rules_to_suppress": [ { "id": "AwsSolutions-IAM4", "reason": "API Gateway uses AmazonAPIGatewayPushToCloudWatchLogs", }, { "id": "AwsSolutions-APIG2", "reason": "This API Gateway is a sample implementation. No schema", }, ], }, }, "Properties": { "AccessLogSetting": { "DestinationArn": { "Fn::GetAtt": [ "OutboundSampleStartOutboundApiLogGroup49E27BD3", "Arn", ], }, "Format": "$context.identity.sourceIp $context.identity.caller $context.identity.user [$context.requestTime] "$context.httpMethod $context.resourcePath $context.protocol" $context.status $context.responseLength $context.requestId", }, "DeploymentId": { "Ref": "OutboundSampleStartOutboundApiDeploymentEAC394333485b36bcc3b2c34a45e9fefcac6ffbc", }, "MethodSettings": [ { "DataTraceEnabled": false, "HttpMethod": "*", "LoggingLevel": "INFO", "ResourcePath": "/*", }, ], "RestApiId": { "Ref": "OutboundSampleStartOutboundApi8DB6C22A", }, "StageName": "prod", "Tags": [ { "Key": "Environment", "Value": "Development", }, ], }, "Type": "AWS::ApiGateway::Stage", }, "OutboundSampleStartOutboundApiLogGroup49E27BD3": { "DeletionPolicy": "Retain", "Properties": { "RetentionInDays": 731, "Tags": [ { "Key": "Environment", "Value": "Development", }, ], }, "Type": "AWS::Logs::LogGroup", "UpdateReplacePolicy": "Retain", }, "OutboundSampleStartOutboundApiStartOutboundApiModelA9A32B44": { "Properties": { "ContentType": "application/json", "RestApiId": { "Ref": "OutboundSampleStartOutboundApi8DB6C22A", }, "Schema": { "$schema": "http://json-schema.org/draft-04/schema#", "properties": { "DestinationPhoneNumber": { "type": "string", }, "Message": { "type": "string", }, "SourcePhoneNumber": { "type": "string", }, }, "required": [ "DestinationPhoneNumber", "SourcePhoneNumber", "Message", ], "type": "object", }, }, "Type": "AWS::ApiGateway::Model", }, "OutboundSampleStartOutboundApiStartOutboundRequestValidatorFAD4AEFD": { "Properties": { "RestApiId": { "Ref": "OutboundSampleStartOutboundApi8DB6C22A", }, "ValidateRequestBody": true, }, "Type": "AWS::ApiGateway::RequestValidator", }, "OutboundSampleStartOutboundStateMachine21DFBAB6": { "DeletionPolicy": "Delete", "DependsOn": [ "OutboundSampleStartOutboundStateMachineRoleDefaultPolicyF54943C5", "OutboundSampleStartOutboundStateMachineRoleCDAA911E", ], "Properties": { "DefinitionString": { "Fn::Join": [ "", [ "{"StartAt":"StartOutboundVoiceContact","States":{"StartOutboundVoiceContact":{"Next":"PutItem","Type":"Task","ResultPath":"$.StartOutboundVoiceContactResult","Resource":"arn:", { "Ref": "AWS::Partition", }, ":states:::aws-sdk:connect:startOutboundVoiceContact","Parameters":{"ContactFlowId":"", { "Fn::Select": [ 3, { "Fn::Split": [ "/", { "Fn::GetAtt": [ "OutboundSampleOutboundContactFlowF2BEB850", "ContactFlowArn", ], }, ], }, ], }, "","InstanceId":"", { "Fn::GetAtt": [ "ConnectInstance90E42A0C", "InstanceId", ], }, "","DestinationPhoneNumber.$":"$.body.DestinationPhoneNumber","SourcePhoneNumber.$":"$.body.SourcePhoneNumber","Attributes":{"Message.$":"$.body.Message"}}},"PutItem":{"End":true,"Type":"Task","Resource":"arn:", { "Ref": "AWS::Partition", }, ":states:::aws-sdk:dynamodb:putItem","Parameters":{"TableName":"", { "Ref": "OutboundSampleContactTableB726880A", }, "","Item":{"ContactId":{"S.$":"$.StartOutboundVoiceContactResult.ContactId"},"State":{"S":"INITIATED"},"Message":{"S.$":"$.body.Message"},"StartTime":{"S.$":"$$.State.EnteredTime"}}}}}}", ], ], }, "LoggingConfiguration": { "Destinations": [ { "CloudWatchLogsLogGroup": { "LogGroupArn": { "Fn::GetAtt": [ "OutboundSampleStartOutboundStateMachineLogGroupCFB208E5", "Arn", ], }, }, }, ], "Level": "ALL", }, "RoleArn": { "Fn::GetAtt": [ "OutboundSampleStartOutboundStateMachineRoleCDAA911E", "Arn", ], }, "StateMachineType": "EXPRESS", "Tags": [ { "Key": "Environment", "Value": "Development", }, ], "TracingConfiguration": { "Enabled": true, }, }, "Type": "AWS::StepFunctions::StateMachine", "UpdateReplacePolicy": "Delete", }, "OutboundSampleStartOutboundStateMachineLogGroupCFB208E5": { "DeletionPolicy": "Retain", "Properties": { "RetentionInDays": 731, "Tags": [ { "Key": "Environment", "Value": "Development", }, ], }, "Type": "AWS::Logs::LogGroup", "UpdateReplacePolicy": "Retain", }, "OutboundSampleStartOutboundStateMachineRoleCDAA911E": { "Metadata": { "cdk_nag": { "rules_to_suppress": [ { "id": "AwsSolutions-IAM5", "reason": "Wildcard is required to invoke connect:StartOutboundVoiceContact", }, ], }, }, "Properties": { "AssumeRolePolicyDocument": { "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "Service": "states.ap-northeast-1.amazonaws.com", }, }, ], "Version": "2012-10-17", }, "Tags": [ { "Key": "Environment", "Value": "Development", }, ], }, "Type": "AWS::IAM::Role", }, "OutboundSampleStartOutboundStateMachineRoleDefaultPolicyF54943C5": { "Metadata": { "cdk_nag": { "rules_to_suppress": [ { "id": "AwsSolutions-IAM5", "reason": "Wildcard is required to invoke connect:StartOutboundVoiceContact", }, ], }, }, "Properties": { "PolicyDocument": { "Statement": [ { "Action": [ "logs:CreateLogDelivery", "logs:GetLogDelivery", "logs:UpdateLogDelivery", "logs:DeleteLogDelivery", "logs:ListLogDeliveries", "logs:PutResourcePolicy", "logs:DescribeResourcePolicies", "logs:DescribeLogGroups", ], "Effect": "Allow", "Resource": "*", }, { "Action": [ "xray:PutTraceSegments", "xray:PutTelemetryRecords", "xray:GetSamplingRules", "xray:GetSamplingTargets", ], "Effect": "Allow", "Resource": "*", }, { "Action": "connect:startOutboundVoiceContact", "Effect": "Allow", "Resource": { "Fn::Join": [ "", [ "arn:aws:connect:ap-northeast-1:", { "Ref": "AWS::AccountId", }, ":instance/", { "Fn::GetAtt": [ "ConnectInstance90E42A0C", "InstanceId", ], }, "/contact/*", ], ], }, }, { "Action": "dynamodb:putItem", "Effect": "Allow", "Resource": { "Fn::GetAtt": [ "OutboundSampleContactTableB726880A", "Arn", ], }, }, ], "Version": "2012-10-17", }, "PolicyName": "OutboundSampleStartOutboundStateMachineRoleDefaultPolicyF54943C5", "Roles": [ { "Ref": "OutboundSampleStartOutboundStateMachineRoleCDAA911E", }, ], }, "Type": "AWS::IAM::Policy", }, "RecordingBucket03AEF6D2": { "DeletionPolicy": "Retain", "Metadata": { "cdk_nag": { "rules_to_suppress": [ { "id": "AwsSolutions-S1", "reason": "CloudTrail record S3 accesses", }, ], }, }, "Properties": { "BucketEncryption": { "ServerSideEncryptionConfiguration": [ { "BucketKeyEnabled": true, "ServerSideEncryptionByDefault": { "KMSMasterKeyID": { "Fn::GetAtt": [ "RecordingKey3B2234F2", "Arn", ], }, "SSEAlgorithm": "aws:kms", }, }, ], }, "LoggingConfiguration": { "DestinationBucketName": { "Ref": "AccessLogsBucket83982689", }, "LogFilePrefix": "access-logs/primary/", }, "OwnershipControls": { "Rules": [ { "ObjectOwnership": "BucketOwnerEnforced", }, ], }, "PublicAccessBlockConfiguration": { "BlockPublicAcls": true, "BlockPublicPolicy": true, "IgnorePublicAcls": true, "RestrictPublicBuckets": true, }, "ReplicationConfiguration": { "Role": { "Fn::GetAtt": [ "RecordingReplicationReplicationRole94AE1FAF", "Arn", ], }, "Rules": [ { "Destination": { "Bucket": { "Fn::GetAtt": [ "TertiaryStackOutputsSsmParameters6A17FF8B", "/CustomerChannelTertiaryStack/BLEAFSI-CustomerChannel-Development-Tertiary/backupBucketArn", ], }, "EncryptionConfiguration": { "ReplicaKmsKeyID": { "Fn::GetAtt": [ "TertiaryStackOutputsSsmParameters6A17FF8B", "/CustomerChannelTertiaryStack/BLEAFSI-CustomerChannel-Development-Tertiary/backupKeyArn", ], }, }, }, "SourceSelectionCriteria": { "SseKmsEncryptedObjects": { "Status": "Enabled", }, }, "Status": "Enabled", }, ], }, "Tags": [ { "Key": "Environment", "Value": "Development", }, ], "VersioningConfiguration": { "Status": "Enabled", }, }, "Type": "AWS::S3::Bucket", "UpdateReplacePolicy": "Retain", }, "RecordingBucketPolicyE50392DB": { "Properties": { "Bucket": { "Ref": "RecordingBucket03AEF6D2", }, "PolicyDocument": { "Statement": [ { "Action": "s3:*", "Condition": { "Bool": { "aws:SecureTransport": "false", }, }, "Effect": "Deny", "Principal": { "AWS": "*", }, "Resource": [ { "Fn::GetAtt": [ "RecordingBucket03AEF6D2", "Arn", ], }, { "Fn::Join": [ "", [ { "Fn::GetAtt": [ "RecordingBucket03AEF6D2", "Arn", ], }, "/*", ], ], }, ], }, ], "Version": "2012-10-17", }, }, "Type": "AWS::S3::BucketPolicy", }, "RecordingKey3B2234F2": { "DeletionPolicy": "Retain", "Properties": { "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", }, "Tags": [ { "Key": "Environment", "Value": "Development", }, ], }, "Type": "AWS::KMS::Key", "UpdateReplacePolicy": "Retain", }, "RecordingReplicationReplicationRole94AE1FAF": { "Metadata": { "cdk_nag": { "rules_to_suppress": [ { "id": "AwsSolutions-IAM5", "reason": "Wildcard is used to replicate all of the objects in the source bucket", }, ], }, }, "Properties": { "AssumeRolePolicyDocument": { "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "Service": "s3.amazonaws.com", }, }, ], "Version": "2012-10-17", }, "Tags": [ { "Key": "Environment", "Value": "Development", }, ], }, "Type": "AWS::IAM::Role", }, "RecordingReplicationReplicationRoleDefaultPolicy37D642CB": { "Metadata": { "cdk_nag": { "rules_to_suppress": [ { "id": "AwsSolutions-IAM5", "reason": "Wildcard is used to replicate all of the objects in the source bucket", }, ], }, }, "Properties": { "PolicyDocument": { "Statement": [ { "Action": [ "s3:GetReplicationConfiguration", "s3:ListBucket", ], "Effect": "Allow", "Resource": { "Fn::GetAtt": [ "RecordingBucket03AEF6D2", "Arn", ], }, }, { "Action": [ "s3:GetObjectVersionForReplication", "s3:GetObjectVersionAcl", "s3:GetObjectVersionTagging", ], "Effect": "Allow", "Resource": { "Fn::Join": [ "", [ { "Fn::GetAtt": [ "RecordingBucket03AEF6D2", "Arn", ], }, "/*", ], ], }, }, { "Action": "kms:Decrypt", "Effect": "Allow", "Resource": { "Fn::GetAtt": [ "RecordingKey3B2234F2", "Arn", ], }, }, { "Action": "kms:GenerateDataKey", "Effect": "Allow", "Resource": { "Fn::GetAtt": [ "RecordingKey3B2234F2", "Arn", ], }, }, { "Action": [ "s3:ReplicateObject", "s3:ReplicateDelete", "s3:ReplicateTags", ], "Effect": "Allow", "Resource": { "Fn::Join": [ "", [ { "Fn::GetAtt": [ "TertiaryStackOutputsSsmParameters6A17FF8B", "/CustomerChannelTertiaryStack/BLEAFSI-CustomerChannel-Development-Tertiary/backupBucketArn", ], }, "/*", ], ], }, }, { "Action": [ "kms:Encrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", ], "Effect": "Allow", "Resource": { "Fn::GetAtt": [ "TertiaryStackOutputsSsmParameters6A17FF8B", "/CustomerChannelTertiaryStack/BLEAFSI-CustomerChannel-Development-Tertiary/backupKeyArn", ], }, }, { "Action": "kms:GenerateDataKey", "Effect": "Allow", "Resource": { "Fn::GetAtt": [ "TertiaryStackOutputsSsmParameters6A17FF8B", "/CustomerChannelTertiaryStack/BLEAFSI-CustomerChannel-Development-Tertiary/backupKeyArn", ], }, }, ], "Version": "2012-10-17", }, "PolicyName": "RecordingReplicationReplicationRoleDefaultPolicy37D642CB", "Roles": [ { "Ref": "RecordingReplicationReplicationRole94AE1FAF", }, ], }, "Type": "AWS::IAM::Policy", }, "TertiaryStackOutputsMyHandler7E3A17D8": { "DependsOn": [ "TertiaryStackOutputsMyHandlerServiceRoleDefaultPolicy14393B6D", "TertiaryStackOutputsMyHandlerServiceRole6DFF8061", ], "Metadata": { "cdk_nag": { "rules_to_suppress": [ { "id": "AwsSolutions-L1", "reason": "Non-latest nodejs function is used inside RemoteParameters", }, { "id": "AwsSolutions-IAM4", "reason": "AWSLambdaBasicExecutionRole is used inside RemoteParameters", }, { "id": "AwsSolutions-IAM5", "reason": "Wildcard policy is used inside RemoteParameters", }, ], }, }, "Properties": { "Code": { "S3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-\${AWS::AccountId}-ap-northeast-1", }, "S3Key": "3803df2f6849acf50bb6577ee095a669940670e799f70a2be34893a399777bc3.zip", }, "Handler": "remote-parameters.on_event", "Role": { "Fn::GetAtt": [ "TertiaryStackOutputsMyHandlerServiceRole6DFF8061", "Arn", ], }, "Runtime": "python3.8", "Tags": [ { "Key": "Environment", "Value": "Development", }, ], }, "Type": "AWS::Lambda::Function", }, "TertiaryStackOutputsMyHandlerServiceRole6DFF8061": { "Metadata": { "cdk_nag": { "rules_to_suppress": [ { "id": "AwsSolutions-L1", "reason": "Non-latest nodejs function is used inside RemoteParameters", }, { "id": "AwsSolutions-IAM4", "reason": "AWSLambdaBasicExecutionRole is used inside RemoteParameters", }, { "id": "AwsSolutions-IAM5", "reason": "Wildcard policy is used inside RemoteParameters", }, ], }, }, "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", ], ], }, ], "Tags": [ { "Key": "Environment", "Value": "Development", }, ], }, "Type": "AWS::IAM::Role", }, "TertiaryStackOutputsMyHandlerServiceRoleDefaultPolicy14393B6D": { "Metadata": { "cdk_nag": { "rules_to_suppress": [ { "id": "AwsSolutions-L1", "reason": "Non-latest nodejs function is used inside RemoteParameters", }, { "id": "AwsSolutions-IAM4", "reason": "AWSLambdaBasicExecutionRole is used inside RemoteParameters", }, { "id": "AwsSolutions-IAM5", "reason": "Wildcard policy is used inside RemoteParameters", }, ], }, }, "Properties": { "PolicyDocument": { "Statement": [ { "Action": "ssm:GetParametersByPath", "Effect": "Allow", "Resource": "*", }, ], "Version": "2012-10-17", }, "PolicyName": "TertiaryStackOutputsMyHandlerServiceRoleDefaultPolicy14393B6D", "Roles": [ { "Ref": "TertiaryStackOutputsMyHandlerServiceRole6DFF8061", }, ], }, "Type": "AWS::IAM::Policy", }, "TertiaryStackOutputsMyProviderframeworkonEvent99B0C45B": { "DependsOn": [ "TertiaryStackOutputsMyProviderframeworkonEventServiceRoleDefaultPolicyAA327F35", "TertiaryStackOutputsMyProviderframeworkonEventServiceRole1E76C4C4", ], "Metadata": { "cdk_nag": { "rules_to_suppress": [ { "id": "AwsSolutions-L1", "reason": "Non-latest nodejs function is used inside RemoteParameters", }, { "id": "AwsSolutions-IAM4", "reason": "AWSLambdaBasicExecutionRole is used inside RemoteParameters", }, { "id": "AwsSolutions-IAM5", "reason": "Wildcard policy is used inside RemoteParameters", }, ], }, }, "Properties": { "Code": { "S3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-\${AWS::AccountId}-ap-northeast-1", }, "S3Key": "8e3d635893ea17fa3158623489cd42c680fad925b38de1ef51cb10d84f6e245e.zip", }, "Description": "AWS CDK resource provider framework - onEvent (BLEAFSI-CustomerChannel-Development-Primary/TertiaryStackOutputs/MyProvider)", "Environment": { "Variables": { "USER_ON_EVENT_FUNCTION_ARN": { "Fn::GetAtt": [ "TertiaryStackOutputsMyHandler7E3A17D8", "Arn", ], }, }, }, "Handler": "framework.onEvent", "Role": { "Fn::GetAtt": [ "TertiaryStackOutputsMyProviderframeworkonEventServiceRole1E76C4C4", "Arn", ], }, "Runtime": "nodejs16.x", "Tags": [ { "Key": "Environment", "Value": "Development", }, ], "Timeout": 900, }, "Type": "AWS::Lambda::Function", }, "TertiaryStackOutputsMyProviderframeworkonEventLogRetention47B49687": { "Metadata": { "cdk_nag": { "rules_to_suppress": [ { "id": "AwsSolutions-L1", "reason": "Non-latest nodejs function is used inside RemoteParameters", }, { "id": "AwsSolutions-IAM4", "reason": "AWSLambdaBasicExecutionRole is used inside RemoteParameters", }, { "id": "AwsSolutions-IAM5", "reason": "Wildcard policy is used inside RemoteParameters", }, ], }, }, "Properties": { "LogGroupName": { "Fn::Join": [ "", [ "/aws/lambda/", { "Ref": "TertiaryStackOutputsMyProviderframeworkonEvent99B0C45B", }, ], ], }, "RetentionInDays": 1, "ServiceToken": { "Fn::GetAtt": [ "LogRetentionaae0aa3c5b4d4f87b02d85b201efdd8aFD4BFC8A", "Arn", ], }, }, "Type": "Custom::LogRetention", }, "TertiaryStackOutputsMyProviderframeworkonEventServiceRole1E76C4C4": { "Metadata": { "cdk_nag": { "rules_to_suppress": [ { "id": "AwsSolutions-L1", "reason": "Non-latest nodejs function is used inside RemoteParameters", }, { "id": "AwsSolutions-IAM4", "reason": "AWSLambdaBasicExecutionRole is used inside RemoteParameters", }, { "id": "AwsSolutions-IAM5", "reason": "Wildcard policy is used inside RemoteParameters", }, ], }, }, "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", ], ], }, ], "Tags": [ { "Key": "Environment", "Value": "Development", }, ], }, "Type": "AWS::IAM::Role", }, "TertiaryStackOutputsMyProviderframeworkonEventServiceRoleDefaultPolicyAA327F35": { "Metadata": { "cdk_nag": { "rules_to_suppress": [ { "id": "AwsSolutions-L1", "reason": "Non-latest nodejs function is used inside RemoteParameters", }, { "id": "AwsSolutions-IAM4", "reason": "AWSLambdaBasicExecutionRole is used inside RemoteParameters", }, { "id": "AwsSolutions-IAM5", "reason": "Wildcard policy is used inside RemoteParameters", }, ], }, }, "Properties": { "PolicyDocument": { "Statement": [ { "Action": "lambda:InvokeFunction", "Effect": "Allow", "Resource": [ { "Fn::GetAtt": [ "TertiaryStackOutputsMyHandler7E3A17D8", "Arn", ], }, { "Fn::Join": [ "", [ { "Fn::GetAtt": [ "TertiaryStackOutputsMyHandler7E3A17D8", "Arn", ], }, ":*", ], ], }, ], }, ], "Version": "2012-10-17", }, "PolicyName": "TertiaryStackOutputsMyProviderframeworkonEventServiceRoleDefaultPolicyAA327F35", "Roles": [ { "Ref": "TertiaryStackOutputsMyProviderframeworkonEventServiceRole1E76C4C4", }, ], }, "Type": "AWS::IAM::Policy", }, "TertiaryStackOutputsSsmParameters6A17FF8B": { "DeletionPolicy": "Delete", "Metadata": { "cdk_nag": { "rules_to_suppress": [ { "id": "AwsSolutions-L1", "reason": "Non-latest nodejs function is used inside RemoteParameters", }, { "id": "AwsSolutions-IAM4", "reason": "AWSLambdaBasicExecutionRole is used inside RemoteParameters", }, { "id": "AwsSolutions-IAM5", "reason": "Wildcard policy is used inside RemoteParameters", }, ], }, }, "Properties": { "ServiceToken": { "Fn::GetAtt": [ "TertiaryStackOutputsMyProviderframeworkonEvent99B0C45B", "Arn", ], }, "parameterPath": "/CustomerChannelTertiaryStack/BLEAFSI-CustomerChannel-Development-Tertiary", "regionName": "ap-northeast-3", "stackName": "BLEAFSI-CustomerChannel-Development-Primary", }, "Type": "AWS::CloudFormation::CustomResource", "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.", }, ], }, }, } `; exports[`snapshot check Customer channel sample stacks 2`] = ` { "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": { "ConnectInstance90E42A0C": { "DeletionPolicy": "Delete", "Properties": { "IdentityManagementType": "CONNECT_MANAGED", "InboundCallsEnabled": true, "InstanceAlias": "my-connect-instance-yyyymmdd-secondary", "OutboundCallsEnabled": true, "ServiceToken": { "Fn::GetAtt": [ "InstanceProviderframeworkonEvent963FA0C2", "Arn", ], }, }, "Type": "AWS::CloudFormation::CustomResource", "UpdateReplacePolicy": "Delete", }, "ConnectInstanceCallRecordingConfigInstanceStorageConfig24667574": { "DeletionPolicy": "Delete", "DependsOn": [ "ConnectInstance90E42A0C", ], "Properties": { "Parameters": { "InstanceId": { "Fn::GetAtt": [ "ConnectInstance90E42A0C", "InstanceId", ], }, "ResourceType": "CALL_RECORDINGS", "StorageConfig": { "S3Config": { "BucketName": { "Fn::Select": [ 0, { "Fn::Split": [ "/", { "Fn::Select": [ 5, { "Fn::Split": [ ":", { "Fn::GetAtt": [ "TertiaryStackOutputsSsmParameters6A17FF8B", "/CustomerChannelTertiaryStack/BLEAFSI-CustomerChannel-Development-Tertiary/backupBucketArn", ], }, ], }, ], }, ], }, ], }, "BucketPrefix": "secondary/call-recordings", "EncryptionConfig": { "EncryptionType": "KMS", "KeyId": { "Fn::GetAtt": [ "TertiaryStackOutputsSsmParameters6A17FF8B", "/CustomerChannelTertiaryStack/BLEAFSI-CustomerChannel-Development-Tertiary/backupKeyArn", ], }, }, }, "StorageType": "S3", }, }, "ServiceToken": { "Fn::GetAtt": [ "InstanceStorageConfigProviderframeworkonEventF4B82BDF", "Arn", ], }, }, "Type": "AWS::CloudFormation::CustomResource", "UpdateReplacePolicy": "Delete", }, "ConnectInstanceChatTranscriptConfigInstanceStorageConfig6EC12501": { "DeletionPolicy": "Delete", "DependsOn": [ "ConnectInstance90E42A0C", ], "Properties": { "Parameters": { "InstanceId": { "Fn::GetAtt": [ "ConnectInstance90E42A0C", "InstanceId", ], }, "ResourceType": "CHAT_TRANSCRIPTS", "StorageConfig": { "S3Config": { "BucketName": { "Fn::Select": [ 0, { "Fn::Split": [ "/", { "Fn::Select": [ 5, { "Fn::Split": [ ":", { "Fn::GetAtt": [ "TertiaryStackOutputsSsmParameters6A17FF8B", "/CustomerChannelTertiaryStack/BLEAFSI-CustomerChannel-Development-Tertiary/backupBucketArn", ], }, ], }, ], }, ], }, ], }, "BucketPrefix": "secondary/chat-transcripts", "EncryptionConfig": { "EncryptionType": "KMS", "KeyId": { "Fn::GetAtt": [ "TertiaryStackOutputsSsmParameters6A17FF8B", "/CustomerChannelTertiaryStack/BLEAFSI-CustomerChannel-Development-Tertiary/backupKeyArn", ], }, }, }, "StorageType": "S3", }, }, "ServiceToken": { "Fn::GetAtt": [ "InstanceStorageConfigProviderframeworkonEventF4B82BDF", "Arn", ], }, }, "Type": "AWS::CloudFormation::CustomResource", "UpdateReplacePolicy": "Delete", }, "ConnectInstanceCtrDeliveryStreamCD0085B0": { "DependsOn": [ "ConnectInstanceCtrDeliveryStreamRoleDefaultPolicy41AFA80D", "ConnectInstanceCtrDeliveryStreamRoleF6F5DD9F", ], "Properties": { "DeliveryStreamEncryptionConfigurationInput": { "KeyARN": { "Fn::GetAtt": [ "LocalRecordingKey898BA0F1", "Arn", ], }, "KeyType": "CUSTOMER_MANAGED_CMK", }, "DeliveryStreamName": "CtrDeliveryStream", "DeliveryStreamType": "DirectPut", "S3DestinationConfiguration": { "BucketARN": { "Fn::GetAtt": [ "TertiaryStackOutputsSsmParameters6A17FF8B", "/CustomerChannelTertiaryStack/BLEAFSI-CustomerChannel-Development-Tertiary/backupBucketArn", ], }, "EncryptionConfiguration": { "KMSEncryptionConfig": { "AWSKMSKeyARN": { "Fn::GetAtt": [ "TertiaryStackOutputsSsmParameters6A17FF8B", "/CustomerChannelTertiaryStack/BLEAFSI-CustomerChannel-Development-Tertiary/backupKeyArn", ], }, }, }, "Prefix": "secondary/contact-trace-records/", "RoleARN": { "Fn::GetAtt": [ "ConnectInstanceCtrDeliveryStreamRoleF6F5DD9F", "Arn", ], }, }, "Tags": [ { "Key": "Environment", "Value": "Development", }, ], }, "Type": "AWS::KinesisFirehose::DeliveryStream", }, "ConnectInstanceCtrDeliveryStreamConfigInstanceStorageConfig3E752FF8": { "DeletionPolicy": "Delete", "DependsOn": [ "ConnectInstanceCtrDeliveryStreamCD0085B0", ], "Properties": { "Parameters": { "InstanceId": { "Fn::GetAtt": [ "ConnectInstance90E42A0C", "InstanceId", ], }, "ResourceType": "CONTACT_TRACE_RECORDS", "StorageConfig": { "KinesisFirehoseConfig": { "FirehoseArn": { "Fn::GetAtt": [ "ConnectInstanceCtrDeliveryStreamCD0085B0", "Arn", ], }, }, "StorageType": "KINESIS_FIREHOSE", }, }, "ServiceToken": { "Fn::GetAtt": [ "InstanceStorageConfigProviderframeworkonEventF4B82BDF", "Arn", ], }, }, "Type": "AWS::CloudFormation::CustomResource", "UpdateReplacePolicy": "Delete", }, "ConnectInstanceCtrDeliveryStreamRoleDefaultPolicy41AFA80D": { "Metadata": { "cdk_nag": { "rules_to_suppress": [ { "id": "AwsSolutions-IAM5", "reason": "Role for delivery stream requires wildcard to save contact trace records", }, ], }, }, "Properties": { "PolicyDocument": { "Statement": [ { "Action": [ "s3:GetBucketLocation", "s3:ListBucket", "s3:ListBucketMultipartUploads", ], "Effect": "Allow", "Resource": { "Fn::GetAtt": [ "TertiaryStackOutputsSsmParameters6A17FF8B", "/CustomerChannelTertiaryStack/BLEAFSI-CustomerChannel-Development-Tertiary/backupBucketArn", ], }, }, { "Action": [ "s3:AbortMultipartUpload", "s3:GetObject", "s3:PutObject", ], "Effect": "Allow", "Resource": { "Fn::Join": [ "", [ { "Fn::GetAtt": [ "TertiaryStackOutputsSsmParameters6A17FF8B", "/CustomerChannelTertiaryStack/BLEAFSI-CustomerChannel-Development-Tertiary/backupBucketArn", ], }, "/secondary/contact-trace-records/*", ], ], }, }, { "Action": [ "kms:Decrypt", "kms:GenerateDataKey", ], "Condition": { "StringEquals": { "kms:EncryptionContext:aws:s3:arn": { "Fn::GetAtt": [ "TertiaryStackOutputsSsmParameters6A17FF8B", "/CustomerChannelTertiaryStack/BLEAFSI-CustomerChannel-Development-Tertiary/backupBucketArn", ], }, "kms:ViaService": "s3.ap-southeast-1.amazonaws.com", }, }, "Effect": "Allow", "Resource": { "Fn::GetAtt": [ "TertiaryStackOutputsSsmParameters6A17FF8B", "/CustomerChannelTertiaryStack/BLEAFSI-CustomerChannel-Development-Tertiary/backupKeyArn", ], }, }, ], "Version": "2012-10-17", }, "PolicyName": "ConnectInstanceCtrDeliveryStreamRoleDefaultPolicy41AFA80D", "Roles": [ { "Ref": "ConnectInstanceCtrDeliveryStreamRoleF6F5DD9F", }, ], }, "Type": "AWS::IAM::Policy", }, "ConnectInstanceCtrDeliveryStreamRoleF6F5DD9F": { "Metadata": { "cdk_nag": { "rules_to_suppress": [ { "id": "AwsSolutions-IAM5", "reason": "Role for delivery stream requires wildcard to save contact trace records", }, ], }, }, "Properties": { "AssumeRolePolicyDocument": { "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "Service": "firehose.amazonaws.com", }, }, ], "Version": "2012-10-17", }, "Tags": [ { "Key": "Environment", "Value": "Development", }, ], }, "Type": "AWS::IAM::Role", }, "ConnectInstanceScheduledReportsConfigInstanceStorageConfig84A05622": { "DeletionPolicy": "Delete", "DependsOn": [ "ConnectInstance90E42A0C", ], "Properties": { "Parameters": { "InstanceId": { "Fn::GetAtt": [ "ConnectInstance90E42A0C", "InstanceId", ], }, "ResourceType": "SCHEDULED_REPORTS", "StorageConfig": { "S3Config": { "BucketName": { "Fn::Select": [ 0, { "Fn::Split": [ "/", { "Fn::Select": [ 5, { "Fn::Split": [ ":", { "Fn::GetAtt": [ "TertiaryStackOutputsSsmParameters6A17FF8B", "/CustomerChannelTertiaryStack/BLEAFSI-CustomerChannel-Development-Tertiary/backupBucketArn", ], }, ], }, ], }, ], }, ], }, "BucketPrefix": "secondary/scheduled-reports", "EncryptionConfig": { "EncryptionType": "KMS", "KeyId": { "Fn::GetAtt": [ "TertiaryStackOutputsSsmParameters6A17FF8B", "/CustomerChannelTertiaryStack/BLEAFSI-CustomerChannel-Development-Tertiary/backupKeyArn", ], }, }, }, "StorageType": "S3", }, }, "ServiceToken": { "Fn::GetAtt": [ "InstanceStorageConfigProviderframeworkonEventF4B82BDF", "Arn", ], }, }, "Type": "AWS::CloudFormation::CustomResource", "UpdateReplacePolicy": "Delete", }, "InstanceProviderIsCompleteHandlerE43F2F73": { "DependsOn": [ "InstanceProviderIsCompleteHandlerServiceRoleDefaultPolicyD784B681", "InstanceProviderIsCompleteHandlerServiceRoleE885FB3D", ], "Properties": { "Code": { "S3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-\${AWS::AccountId}-ap-southeast-1", }, "S3Key": "9c92e3c3326576ca67bd69cc0a381152203e00a0b49b933bd078da77083a14d2.zip", }, "Description": "Provider handler for Connect.describeInstance()", "Environment": { "Variables": { "AWS_NODEJS_CONNECTION_REUSE_ENABLED": "1", }, }, "Handler": "index.isComplete", "Role": { "Fn::GetAtt": [ "InstanceProviderIsCompleteHandlerServiceRoleE885FB3D", "Arn", ], }, "Runtime": "nodejs18.x", "Tags": [ { "Key": "Environment", "Value": "Development", }, ], "Timeout": 15, }, "Type": "AWS::Lambda::Function", }, "InstanceProviderIsCompleteHandlerServiceRoleDefaultPolicyD784B681": { "Metadata": { "cdk_nag": { "rules_to_suppress": [ { "id": "AwsSolutions-IAM5", "reason": "Wildcard is required to create a new Amazon Connect instance", }, ], }, }, "Properties": { "PolicyDocument": { "Statement": [ { "Action": [ "connect:DescribeInstance", "ds:DescribeDirectories", ], "Effect": "Allow", "Resource": "*", }, ], "Version": "2012-10-17", }, "PolicyName": "InstanceProviderIsCompleteHandlerServiceRoleDefaultPolicyD784B681", "Roles": [ { "Ref": "InstanceProviderIsCompleteHandlerServiceRoleE885FB3D", }, ], }, "Type": "AWS::IAM::Policy", }, "InstanceProviderIsCompleteHandlerServiceRoleE885FB3D": { "Metadata": { "cdk_nag": { "rules_to_suppress": [ { "id": "AwsSolutions-IAM4", "reason": "AWSLambdaBasicExecutionRole is used", }, { "id": "AwsSolutions-IAM5", "reason": "Wildcard is required to create a new Amazon Connect instance", }, ], }, }, "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", ], ], }, ], "Tags": [ { "Key": "Environment", "Value": "Development", }, ], }, "Type": "AWS::IAM::Role", }, "InstanceProviderOnEventHandlerCDB7D5B8": { "DependsOn": [ "InstanceProviderOnEventHandlerServiceRoleDefaultPolicyC5145360", "InstanceProviderOnEventHandlerServiceRoleE2CDC320", ], "Properties": { "Code": { "S3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-\${AWS::AccountId}-ap-southeast-1", }, "S3Key": "c2c0d7c4d082d2eb4286bd05bd14d23f58ef52624adb40af2adaee159962435e.zip", }, "Description": "Provider handler for Connect.createInstance() & deleteInstance()", "Environment": { "Variables": { "AWS_NODEJS_CONNECTION_REUSE_ENABLED": "1", }, }, "Handler": "index.onEvent", "Role": { "Fn::GetAtt": [ "InstanceProviderOnEventHandlerServiceRoleE2CDC320", "Arn", ], }, "Runtime": "nodejs18.x", "Tags": [ { "Key": "Environment", "Value": "Development", }, ], "Timeout": 15, }, "Type": "AWS::Lambda::Function", }, "InstanceProviderOnEventHandlerServiceRoleDefaultPolicyC5145360": { "Metadata": { "cdk_nag": { "rules_to_suppress": [ { "id": "AwsSolutions-IAM5", "reason": "Wildcard is required to create a new Amazon Connect instance", }, ], }, }, "Properties": { "PolicyDocument": { "Statement": [ { "Action": [ "connect:CreateInstance", "connect:DescribeInstance", "connect:DeleteInstance", "connect:UpdateInstanceAttribute", "ds:CheckAlias", "ds:CreateAlias", "ds:CreateIdentityPoolDirectory", "ds:DescribeDirectories", "ds:CreateDirectory", "ds:DeleteDirectory", "ds:AuthorizeApplication", "ds:UnauthorizeApplication", ], "Effect": "Allow", "Resource": "*", }, { "Action": "iam:CreateServiceLinkedRole", "Condition": { "StringLike": { "iam:AWSServiceName": "connect.amazonaws.com", }, }, "Effect": "Allow", "Resource": "*", }, ], "Version": "2012-10-17", }, "PolicyName": "InstanceProviderOnEventHandlerServiceRoleDefaultPolicyC5145360", "Roles": [ { "Ref": "InstanceProviderOnEventHandlerServiceRoleE2CDC320", }, ], }, "Type": "AWS::IAM::Policy", }, "InstanceProviderOnEventHandlerServiceRoleE2CDC320": { "Metadata": { "cdk_nag": { "rules_to_suppress": [ { "id": "AwsSolutions-IAM4", "reason": "AWSLambdaBasicExecutionRole is used", }, { "id": "AwsSolutions-IAM5", "reason": "Wildcard is required to create a new Amazon Connect instance", }, ], }, }, "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", ], ], }, ], "Tags": [ { "Key": "Environment", "Value": "Development", }, ], }, "Type": "AWS::IAM::Role", }, "InstanceProviderframeworkisComplete68BCC0D8": { "DependsOn": [ "InstanceProviderframeworkisCompleteServiceRoleDefaultPolicyAFC3AADB", "InstanceProviderframeworkisCompleteServiceRole8D05D0FE", ], "Metadata": { "cdk_nag": { "rules_to_suppress": [ { "id": "AwsSolutions-L1", "reason": "Non-latest nodejs function is used inside Provider", }, { "id": "AwsSolutions-IAM4", "reason": "AWSLambdaBasicExecutionRole is used inside Provider", }, { "id": "AwsSolutions-IAM5", "reason": "Wildcard policy is used inside Provider", }, ], }, }, "Properties": { "Code": { "S3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-\${AWS::AccountId}-ap-southeast-1", }, "S3Key": "8e3d635893ea17fa3158623489cd42c680fad925b38de1ef51cb10d84f6e245e.zip", }, "Description": "AWS CDK resource provider framework - isComplete (BLEAFSI-CustomerChannel-Development-Secondary/InstanceProvider/Provider)", "Environment": { "Variables": { "USER_IS_COMPLETE_FUNCTION_ARN": { "Fn::GetAtt": [ "InstanceProviderIsCompleteHandlerE43F2F73", "Arn", ], }, "USER_ON_EVENT_FUNCTION_ARN": { "Fn::GetAtt": [ "InstanceProviderOnEventHandlerCDB7D5B8", "Arn", ], }, }, }, "Handler": "framework.isComplete", "Role": { "Fn::GetAtt": [ "InstanceProviderframeworkisCompleteServiceRole8D05D0FE", "Arn", ], }, "Runtime": "nodejs16.x", "Tags": [ { "Key": "Environment", "Value": "Development", }, ], "Timeout": 900, }, "Type": "AWS::Lambda::Function", }, "InstanceProviderframeworkisCompleteServiceRole8D05D0FE": { "Metadata": { "cdk_nag": { "rules_to_suppress": [ { "id": "AwsSolutions-L1", "reason": "Non-latest nodejs function is used inside Provider", }, { "id": "AwsSolutions-IAM4", "reason": "AWSLambdaBasicExecutionRole is used inside Provider", }, { "id": "AwsSolutions-IAM5", "reason": "Wildcard policy is used inside Provider", }, ], }, }, "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", ], ], }, ], "Tags": [ { "Key": "Environment", "Value": "Development", }, ], }, "Type": "AWS::IAM::Role", }, "InstanceProviderframeworkisCompleteServiceRoleDefaultPolicyAFC3AADB": { "Metadata": { "cdk_nag": { "rules_to_suppress": [ { "id": "AwsSolutions-L1", "reason": "Non-latest nodejs function is used inside Provider", }, { "id": "AwsSolutions-IAM4", "reason": "AWSLambdaBasicExecutionRole is used inside Provider", }, { "id": "AwsSolutions-IAM5", "reason": "Wildcard policy is used inside Provider", }, ], }, }, "Properties": { "PolicyDocument": { "Statement": [ { "Action": "lambda:InvokeFunction", "Effect": "Allow", "Resource": [ { "Fn::GetAtt": [ "InstanceProviderOnEventHandlerCDB7D5B8", "Arn", ], }, { "Fn::Join": [ "", [ { "Fn::GetAtt": [ "InstanceProviderOnEventHandlerCDB7D5B8", "Arn", ], }, ":*", ], ], }, ], }, { "Action": "lambda:InvokeFunction", "Effect": "Allow", "Resource": [ { "Fn::GetAtt": [ "InstanceProviderIsCompleteHandlerE43F2F73", "Arn", ], }, { "Fn::Join": [ "", [ { "Fn::GetAtt": [ "InstanceProviderIsCompleteHandlerE43F2F73", "Arn", ], }, ":*", ], ], }, ], }, ], "Version": "2012-10-17", }, "PolicyName": "InstanceProviderframeworkisCompleteServiceRoleDefaultPolicyAFC3AADB", "Roles": [ { "Ref": "InstanceProviderframeworkisCompleteServiceRole8D05D0FE", }, ], }, "Type": "AWS::IAM::Policy", }, "InstanceProviderframeworkonEvent963FA0C2": { "DependsOn": [ "InstanceProviderframeworkonEventServiceRoleDefaultPolicy129D159F", "InstanceProviderframeworkonEventServiceRoleCEA506E0", ], "Metadata": { "cdk_nag": { "rules_to_suppress": [ { "id": "AwsSolutions-L1", "reason": "Non-latest nodejs function is used inside Provider", }, { "id": "AwsSolutions-IAM4", "reason": "AWSLambdaBasicExecutionRole is used inside Provider", }, { "id": "AwsSolutions-IAM5", "reason": "Wildcard policy is used inside Provider", }, ], }, }, "Properties": { "Code": { "S3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-\${AWS::AccountId}-ap-southeast-1", }, "S3Key": "8e3d635893ea17fa3158623489cd42c680fad925b38de1ef51cb10d84f6e245e.zip", }, "Description": "AWS CDK resource provider framework - onEvent (BLEAFSI-CustomerChannel-Development-Secondary/InstanceProvider/Provider)", "Environment": { "Variables": { "USER_IS_COMPLETE_FUNCTION_ARN": { "Fn::GetAtt": [ "InstanceProviderIsCompleteHandlerE43F2F73", "Arn", ], }, "USER_ON_EVENT_FUNCTION_ARN": { "Fn::GetAtt": [ "InstanceProviderOnEventHandlerCDB7D5B8", "Arn", ], }, "WAITER_STATE_MACHINE_ARN": { "Ref": "InstanceProviderwaiterstatemachineA2C8D42D", }, }, }, "Handler": "framework.onEvent", "Role": { "Fn::GetAtt": [ "InstanceProviderframeworkonEventServiceRoleCEA506E0", "Arn", ], }, "Runtime": "nodejs16.x", "Tags": [ { "Key": "Environment", "Value": "Development", }, ], "Timeout": 900, }, "Type": "AWS::Lambda::Function", }, "InstanceProviderframeworkonEventServiceRoleCEA506E0": { "Metadata": { "cdk_nag": { "rules_to_suppress": [ { "id": "AwsSolutions-L1", "reason": "Non-latest nodejs function is used inside Provider", }, { "id": "AwsSolutions-IAM4", "reason": "AWSLambdaBasicExecutionRole is used inside Provider", }, { "id": "AwsSolutions-IAM5", "reason": "Wildcard policy is used inside Provider", }, ], }, }, "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", ], ], }, ], "Tags": [ { "Key": "Environment", "Value": "Development", }, ], }, "Type": "AWS::IAM::Role", }, "InstanceProviderframeworkonEventServiceRoleDefaultPolicy129D159F": { "Metadata": { "cdk_nag": { "rules_to_suppress": [ { "id": "AwsSolutions-L1", "reason": "Non-latest nodejs function is used inside Provider", }, { "id": "AwsSolutions-IAM4", "reason": "AWSLambdaBasicExecutionRole is used inside Provider", }, { "id": "AwsSolutions-IAM5", "reason": "Wildcard policy is used inside Provider", }, ], }, }, "Properties": { "PolicyDocument": { "Statement": [ { "Action": "lambda:InvokeFunction", "Effect": "Allow", "Resource": [ { "Fn::GetAtt": [ "InstanceProviderOnEventHandlerCDB7D5B8", "Arn", ], }, { "Fn::Join": [ "", [ { "Fn::GetAtt": [ "InstanceProviderOnEventHandlerCDB7D5B8", "Arn", ], }, ":*", ], ], }, ], }, { "Action": "lambda:InvokeFunction", "Effect": "Allow", "Resource": [ { "Fn::GetAtt": [ "InstanceProviderIsCompleteHandlerE43F2F73", "Arn", ], }, { "Fn::Join": [ "", [ { "Fn::GetAtt": [ "InstanceProviderIsCompleteHandlerE43F2F73", "Arn", ], }, ":*", ], ], }, ], }, { "Action": "states:StartExecution", "Effect": "Allow", "Resource": { "Ref": "InstanceProviderwaiterstatemachineA2C8D42D", }, }, ], "Version": "2012-10-17", }, "PolicyName": "InstanceProviderframeworkonEventServiceRoleDefaultPolicy129D159F", "Roles": [ { "Ref": "InstanceProviderframeworkonEventServiceRoleCEA506E0", }, ], }, "Type": "AWS::IAM::Policy", }, "InstanceProviderframeworkonTimeoutE1C9D87C": { "DependsOn": [ "InstanceProviderframeworkonTimeoutServiceRoleDefaultPolicyBC76C244", "InstanceProviderframeworkonTimeoutServiceRole82B2F9DA", ], "Metadata": { "cdk_nag": { "rules_to_suppress": [ { "id": "AwsSolutions-L1", "reason": "Non-latest nodejs function is used inside Provider", }, { "id": "AwsSolutions-IAM4", "reason": "AWSLambdaBasicExecutionRole is used inside Provider", }, { "id": "AwsSolutions-IAM5", "reason": "Wildcard policy is used inside Provider", }, ], }, }, "Properties": { "Code": { "S3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-\${AWS::AccountId}-ap-southeast-1", }, "S3Key": "8e3d635893ea17fa3158623489cd42c680fad925b38de1ef51cb10d84f6e245e.zip", }, "Description": "AWS CDK resource provider framework - onTimeout (BLEAFSI-CustomerChannel-Development-Secondary/InstanceProvider/Provider)", "Environment": { "Variables": { "USER_IS_COMPLETE_FUNCTION_ARN": { "Fn::GetAtt": [ "InstanceProviderIsCompleteHandlerE43F2F73", "Arn", ], }, "USER_ON_EVENT_FUNCTION_ARN": { "Fn::GetAtt": [ "InstanceProviderOnEventHandlerCDB7D5B8", "Arn", ], }, }, }, "Handler": "framework.onTimeout", "Role": { "Fn::GetAtt": [ "InstanceProviderframeworkonTimeoutServiceRole82B2F9DA", "Arn", ], }, "Runtime": "nodejs16.x", "Tags": [ { "Key": "Environment", "Value": "Development", }, ], "Timeout": 900, }, "Type": "AWS::Lambda::Function", }, "InstanceProviderframeworkonTimeoutServiceRole82B2F9DA": { "Metadata": { "cdk_nag": { "rules_to_suppress": [ { "id": "AwsSolutions-L1", "reason": "Non-latest nodejs function is used inside Provider", }, { "id": "AwsSolutions-IAM4", "reason": "AWSLambdaBasicExecutionRole is used inside Provider", }, { "id": "AwsSolutions-IAM5", "reason": "Wildcard policy is used inside Provider", }, ], }, }, "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", ], ], }, ], "Tags": [ { "Key": "Environment", "Value": "Development", }, ], }, "Type": "AWS::IAM::Role", }, "InstanceProviderframeworkonTimeoutServiceRoleDefaultPolicyBC76C244": { "Metadata": { "cdk_nag": { "rules_to_suppress": [ { "id": "AwsSolutions-L1", "reason": "Non-latest nodejs function is used inside Provider", }, { "id": "AwsSolutions-IAM4", "reason": "AWSLambdaBasicExecutionRole is used inside Provider", }, { "id": "AwsSolutions-IAM5", "reason": "Wildcard policy is used inside Provider", }, ], }, }, "Properties": { "PolicyDocument": { "Statement": [ { "Action": "lambda:InvokeFunction", "Effect": "Allow", "Resource": [ { "Fn::GetAtt": [ "InstanceProviderOnEventHandlerCDB7D5B8", "Arn", ], }, { "Fn::Join": [ "", [ { "Fn::GetAtt": [ "InstanceProviderOnEventHandlerCDB7D5B8", "Arn", ], }, ":*", ], ], }, ], }, { "Action": "lambda:InvokeFunction", "Effect": "Allow", "Resource": [ { "Fn::GetAtt": [ "InstanceProviderIsCompleteHandlerE43F2F73", "Arn", ], }, { "Fn::Join": [ "", [ { "Fn::GetAtt": [ "InstanceProviderIsCompleteHandlerE43F2F73", "Arn", ], }, ":*", ], ], }, ], }, ], "Version": "2012-10-17", }, "PolicyName": "InstanceProviderframeworkonTimeoutServiceRoleDefaultPolicyBC76C244", "Roles": [ { "Ref": "InstanceProviderframeworkonTimeoutServiceRole82B2F9DA", }, ], }, "Type": "AWS::IAM::Policy", }, "InstanceProviderwaiterstatemachineA2C8D42D": { "DependsOn": [ "InstanceProviderwaiterstatemachineRoleDefaultPolicy182AF42F", "InstanceProviderwaiterstatemachineRole1F2D0456", ], "Metadata": { "cdk_nag": { "rules_to_suppress": [ { "id": "AwsSolutions-L1", "reason": "Non-latest nodejs function is used inside Provider", }, { "id": "AwsSolutions-IAM4", "reason": "AWSLambdaBasicExecutionRole is used inside Provider", }, { "id": "AwsSolutions-IAM5", "reason": "Wildcard policy is used inside Provider", }, ], }, }, "Properties": { "DefinitionString": { "Fn::Join": [ "", [ "{"StartAt":"framework-isComplete-task","States":{"framework-isComplete-task":{"End":true,"Retry":[{"ErrorEquals":["States.ALL"],"IntervalSeconds":5,"MaxAttempts":360,"BackoffRate":1}],"Catch":[{"ErrorEquals":["States.ALL"],"Next":"framework-onTimeout-task"}],"Type":"Task","Resource":"", { "Fn::GetAtt": [ "InstanceProviderframeworkisComplete68BCC0D8", "Arn", ], }, ""},"framework-onTimeout-task":{"End":true,"Type":"Task","Resource":"", { "Fn::GetAtt": [ "InstanceProviderframeworkonTimeoutE1C9D87C", "Arn", ], }, ""}}}", ], ], }, "RoleArn": { "Fn::GetAtt": [ "InstanceProviderwaiterstatemachineRole1F2D0456", "Arn", ], }, }, "Type": "AWS::StepFunctions::StateMachine", }, "InstanceProviderwaiterstatemachineRole1F2D0456": { "Metadata": { "cdk_nag": { "rules_to_suppress": [ { "id": "AwsSolutions-L1", "reason": "Non-latest nodejs function is used inside Provider", }, { "id": "AwsSolutions-IAM4", "reason": "AWSLambdaBasicExecutionRole is used inside Provider", }, { "id": "AwsSolutions-IAM5", "reason": "Wildcard policy is used inside Provider", }, ], }, }, "Properties": { "AssumeRolePolicyDocument": { "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "Service": "states.ap-southeast-1.amazonaws.com", }, }, ], "Version": "2012-10-17", }, "Tags": [ { "Key": "Environment", "Value": "Development", }, ], }, "Type": "AWS::IAM::Role", }, "InstanceProviderwaiterstatemachineRoleDefaultPolicy182AF42F": { "Metadata": { "cdk_nag": { "rules_to_suppress": [ { "id": "AwsSolutions-L1", "reason": "Non-latest nodejs function is used inside Provider", }, { "id": "AwsSolutions-IAM4", "reason": "AWSLambdaBasicExecutionRole is used inside Provider", }, { "id": "AwsSolutions-IAM5", "reason": "Wildcard policy is used inside Provider", }, ], }, }, "Properties": { "PolicyDocument": { "Statement": [ { "Action": "lambda:InvokeFunction", "Effect": "Allow", "Resource": [ { "Fn::GetAtt": [ "InstanceProviderframeworkisComplete68BCC0D8", "Arn", ], }, { "Fn::Join": [ "", [ { "Fn::GetAtt": [ "InstanceProviderframeworkisComplete68BCC0D8", "Arn", ], }, ":*", ], ], }, ], }, { "Action": "lambda:InvokeFunction", "Effect": "Allow", "Resource": [ { "Fn::GetAtt": [ "InstanceProviderframeworkonTimeoutE1C9D87C", "Arn", ], }, { "Fn::Join": [ "", [ { "Fn::GetAtt": [ "InstanceProviderframeworkonTimeoutE1C9D87C", "Arn", ], }, ":*", ], ], }, ], }, ], "Version": "2012-10-17", }, "PolicyName": "InstanceProviderwaiterstatemachineRoleDefaultPolicy182AF42F", "Roles": [ { "Ref": "InstanceProviderwaiterstatemachineRole1F2D0456", }, ], }, "Type": "AWS::IAM::Policy", }, "InstanceStorageConfigProviderOnEventHandlerA1455F6A": { "DependsOn": [ "InstanceStorageConfigProviderOnEventHandlerServiceRoleDefaultPolicy727529C4", "InstanceStorageConfigProviderOnEventHandlerServiceRole054F441A", ], "Properties": { "Code": { "S3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-\${AWS::AccountId}-ap-southeast-1", }, "S3Key": "6d5396e158a524c4c7ca72bcb955521b4acec56c94a2d4efcb4709f319904f11.zip", }, "Description": "Provider handler for Connect.associateInstanceStorageConfig() & disassociateInstanceStorageConfig()", "Environment": { "Variables": { "AWS_NODEJS_CONNECTION_REUSE_ENABLED": "1", }, }, "Handler": "index.onEvent", "Role": { "Fn::GetAtt": [ "InstanceStorageConfigProviderOnEventHandlerServiceRole054F441A", "Arn", ], }, "Runtime": "nodejs18.x", "Tags": [ { "Key": "Environment", "Value": "Development", }, ], "Timeout": 15, }, "Type": "AWS::Lambda::Function", }, "InstanceStorageConfigProviderOnEventHandlerServiceRole054F441A": { "Metadata": { "cdk_nag": { "rules_to_suppress": [ { "id": "AwsSolutions-IAM4", "reason": "AWSLambdaBasicExecutionRole is used", }, ], }, }, "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", ], ], }, ], "Tags": [ { "Key": "Environment", "Value": "Development", }, ], }, "Type": "AWS::IAM::Role", }, "InstanceStorageConfigProviderOnEventHandlerServiceRoleDefaultPolicy727529C4": { "Properties": { "PolicyDocument": { "Statement": [ { "Action": [ "connect:AssociateInstanceStorageConfig", "connect:UpdateInstanceStorageConfig", "connect:DisassociateInstanceStorageConfig", ], "Effect": "Allow", "Resource": { "Fn::Join": [ "", [ "arn:aws:connect:ap-southeast-1:", { "Ref": "AWS::AccountId", }, ":instance/", { "Fn::GetAtt": [ "ConnectInstance90E42A0C", "InstanceId", ], }, ], ], }, }, { "Action": "iam:PutRolePolicy", "Effect": "Allow", "Resource": { "Fn::GetAtt": [ "ConnectInstance90E42A0C", "ServiceRole", ], }, }, { "Action": [ "s3:GetBucketLocation", "s3:GetBucketAcl", ], "Effect": "Allow", "Resource": { "Fn::Join": [ "", [ "arn:", { "Ref": "AWS::Partition", }, ":s3:::", { "Fn::Select": [ 0, { "Fn::Split": [ "/", { "Fn::Select": [ 5, { "Fn::Split": [ ":", { "Fn::GetAtt": [ "TertiaryStackOutputsSsmParameters6A17FF8B", "/CustomerChannelTertiaryStack/BLEAFSI-CustomerChannel-Development-Tertiary/backupBucketArn", ], }, ], }, ], }, ], }, ], }, ], ], }, }, { "Action": [ "kms:CreateGrant", "kms:DescribeKey", "kms:ListAliases", "kms:RetireGrant", ], "Effect": "Allow", "Resource": { "Fn::GetAtt": [ "TertiaryStackOutputsSsmParameters6A17FF8B", "/CustomerChannelTertiaryStack/BLEAFSI-CustomerChannel-Development-Tertiary/backupKeyArn", ], }, }, { "Action": [ "firehose:DescribeDeliveryStream", "firehose:PutRecord", "firehose:PutRecordBatch", ], "Effect": "Allow", "Resource": { "Fn::GetAtt": [ "ConnectInstanceCtrDeliveryStreamCD0085B0", "Arn", ], }, }, ], "Version": "2012-10-17", }, "PolicyName": "InstanceStorageConfigProviderOnEventHandlerServiceRoleDefaultPolicy727529C4", "Roles": [ { "Ref": "InstanceStorageConfigProviderOnEventHandlerServiceRole054F441A", }, ], }, "Type": "AWS::IAM::Policy", }, "InstanceStorageConfigProviderframeworkonEventF4B82BDF": { "DependsOn": [ "InstanceStorageConfigProviderframeworkonEventServiceRoleDefaultPolicy1C78B94B", "InstanceStorageConfigProviderframeworkonEventServiceRole9EA1F8D0", ], "Metadata": { "cdk_nag": { "rules_to_suppress": [ { "id": "AwsSolutions-L1", "reason": "Non-latest nodejs function is used inside Provider", }, { "id": "AwsSolutions-IAM4", "reason": "AWSLambdaBasicExecutionRole is used inside Provider", }, { "id": "AwsSolutions-IAM5", "reason": "Wildcard policy is used inside Provider", }, ], }, }, "Properties": { "Code": { "S3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-\${AWS::AccountId}-ap-southeast-1", }, "S3Key": "8e3d635893ea17fa3158623489cd42c680fad925b38de1ef51cb10d84f6e245e.zip", }, "Description": "AWS CDK resource provider framework - onEvent (BLEAFSI-CustomerChannel-Development-Secondary/InstanceStorageConfigProvider/Provider)", "Environment": { "Variables": { "USER_ON_EVENT_FUNCTION_ARN": { "Fn::GetAtt": [ "InstanceStorageConfigProviderOnEventHandlerA1455F6A", "Arn", ], }, }, }, "Handler": "framework.onEvent", "Role": { "Fn::GetAtt": [ "InstanceStorageConfigProviderframeworkonEventServiceRole9EA1F8D0", "Arn", ], }, "Runtime": "nodejs16.x", "Tags": [ { "Key": "Environment", "Value": "Development", }, ], "Timeout": 900, }, "Type": "AWS::Lambda::Function", }, "InstanceStorageConfigProviderframeworkonEventServiceRole9EA1F8D0": { "Metadata": { "cdk_nag": { "rules_to_suppress": [ { "id": "AwsSolutions-L1", "reason": "Non-latest nodejs function is used inside Provider", }, { "id": "AwsSolutions-IAM4", "reason": "AWSLambdaBasicExecutionRole is used inside Provider", }, { "id": "AwsSolutions-IAM5", "reason": "Wildcard policy is used inside Provider", }, ], }, }, "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", ], ], }, ], "Tags": [ { "Key": "Environment", "Value": "Development", }, ], }, "Type": "AWS::IAM::Role", }, "InstanceStorageConfigProviderframeworkonEventServiceRoleDefaultPolicy1C78B94B": { "Metadata": { "cdk_nag": { "rules_to_suppress": [ { "id": "AwsSolutions-L1", "reason": "Non-latest nodejs function is used inside Provider", }, { "id": "AwsSolutions-IAM4", "reason": "AWSLambdaBasicExecutionRole is used inside Provider", }, { "id": "AwsSolutions-IAM5", "reason": "Wildcard policy is used inside Provider", }, ], }, }, "Properties": { "PolicyDocument": { "Statement": [ { "Action": "lambda:InvokeFunction", "Effect": "Allow", "Resource": [ { "Fn::GetAtt": [ "InstanceStorageConfigProviderOnEventHandlerA1455F6A", "Arn", ], }, { "Fn::Join": [ "", [ { "Fn::GetAtt": [ "InstanceStorageConfigProviderOnEventHandlerA1455F6A", "Arn", ], }, ":*", ], ], }, ], }, ], "Version": "2012-10-17", }, "PolicyName": "InstanceStorageConfigProviderframeworkonEventServiceRoleDefaultPolicy1C78B94B", "Roles": [ { "Ref": "InstanceStorageConfigProviderframeworkonEventServiceRole9EA1F8D0", }, ], }, "Type": "AWS::IAM::Policy", }, "LocalRecordingKey898BA0F1": { "DeletionPolicy": "Retain", "Properties": { "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", }, "Tags": [ { "Key": "Environment", "Value": "Development", }, ], }, "Type": "AWS::KMS::Key", "UpdateReplacePolicy": "Retain", }, "LogRetentionaae0aa3c5b4d4f87b02d85b201efdd8aFD4BFC8A": { "DependsOn": [ "LogRetentionaae0aa3c5b4d4f87b02d85b201efdd8aServiceRoleDefaultPolicyADDA7DEB", "LogRetentionaae0aa3c5b4d4f87b02d85b201efdd8aServiceRole9741ECFB", ], "Properties": { "Code": { "S3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-\${AWS::AccountId}-ap-southeast-1", }, "S3Key": "5fa1330271b8967d9254ba2d4a07144f8acefe8b77e6d6bba38261373a50d5f8.zip", }, "Handler": "index.handler", "Role": { "Fn::GetAtt": [ "LogRetentionaae0aa3c5b4d4f87b02d85b201efdd8aServiceRole9741ECFB", "Arn", ], }, "Runtime": "nodejs16.x", "Tags": [ { "Key": "Environment", "Value": "Development", }, ], }, "Type": "AWS::Lambda::Function", }, "LogRetentionaae0aa3c5b4d4f87b02d85b201efdd8aServiceRole9741ECFB": { "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", ], ], }, ], "Tags": [ { "Key": "Environment", "Value": "Development", }, ], }, "Type": "AWS::IAM::Role", }, "LogRetentionaae0aa3c5b4d4f87b02d85b201efdd8aServiceRoleDefaultPolicyADDA7DEB": { "Properties": { "PolicyDocument": { "Statement": [ { "Action": [ "logs:PutRetentionPolicy", "logs:DeleteRetentionPolicy", ], "Effect": "Allow", "Resource": "*", }, ], "Version": "2012-10-17", }, "PolicyName": "LogRetentionaae0aa3c5b4d4f87b02d85b201efdd8aServiceRoleDefaultPolicyADDA7DEB", "Roles": [ { "Ref": "LogRetentionaae0aa3c5b4d4f87b02d85b201efdd8aServiceRole9741ECFB", }, ], }, "Type": "AWS::IAM::Policy", }, "TertiaryStackOutputsMyHandler7E3A17D8": { "DependsOn": [ "TertiaryStackOutputsMyHandlerServiceRoleDefaultPolicy14393B6D", "TertiaryStackOutputsMyHandlerServiceRole6DFF8061", ], "Metadata": { "cdk_nag": { "rules_to_suppress": [ { "id": "AwsSolutions-L1", "reason": "Non-latest nodejs function is used inside RemoteParameters", }, { "id": "AwsSolutions-IAM4", "reason": "AWSLambdaBasicExecutionRole is used inside RemoteParameters", }, { "id": "AwsSolutions-IAM5", "reason": "Wildcard policy is used inside RemoteParameters", }, ], }, }, "Properties": { "Code": { "S3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-\${AWS::AccountId}-ap-southeast-1", }, "S3Key": "3803df2f6849acf50bb6577ee095a669940670e799f70a2be34893a399777bc3.zip", }, "Handler": "remote-parameters.on_event", "Role": { "Fn::GetAtt": [ "TertiaryStackOutputsMyHandlerServiceRole6DFF8061", "Arn", ], }, "Runtime": "python3.8", "Tags": [ { "Key": "Environment", "Value": "Development", }, ], }, "Type": "AWS::Lambda::Function", }, "TertiaryStackOutputsMyHandlerServiceRole6DFF8061": { "Metadata": { "cdk_nag": { "rules_to_suppress": [ { "id": "AwsSolutions-L1", "reason": "Non-latest nodejs function is used inside RemoteParameters", }, { "id": "AwsSolutions-IAM4", "reason": "AWSLambdaBasicExecutionRole is used inside RemoteParameters", }, { "id": "AwsSolutions-IAM5", "reason": "Wildcard policy is used inside RemoteParameters", }, ], }, }, "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", ], ], }, ], "Tags": [ { "Key": "Environment", "Value": "Development", }, ], }, "Type": "AWS::IAM::Role", }, "TertiaryStackOutputsMyHandlerServiceRoleDefaultPolicy14393B6D": { "Metadata": { "cdk_nag": { "rules_to_suppress": [ { "id": "AwsSolutions-L1", "reason": "Non-latest nodejs function is used inside RemoteParameters", }, { "id": "AwsSolutions-IAM4", "reason": "AWSLambdaBasicExecutionRole is used inside RemoteParameters", }, { "id": "AwsSolutions-IAM5", "reason": "Wildcard policy is used inside RemoteParameters", }, ], }, }, "Properties": { "PolicyDocument": { "Statement": [ { "Action": "ssm:GetParametersByPath", "Effect": "Allow", "Resource": "*", }, ], "Version": "2012-10-17", }, "PolicyName": "TertiaryStackOutputsMyHandlerServiceRoleDefaultPolicy14393B6D", "Roles": [ { "Ref": "TertiaryStackOutputsMyHandlerServiceRole6DFF8061", }, ], }, "Type": "AWS::IAM::Policy", }, "TertiaryStackOutputsMyProviderframeworkonEvent99B0C45B": { "DependsOn": [ "TertiaryStackOutputsMyProviderframeworkonEventServiceRoleDefaultPolicyAA327F35", "TertiaryStackOutputsMyProviderframeworkonEventServiceRole1E76C4C4", ], "Metadata": { "cdk_nag": { "rules_to_suppress": [ { "id": "AwsSolutions-L1", "reason": "Non-latest nodejs function is used inside RemoteParameters", }, { "id": "AwsSolutions-IAM4", "reason": "AWSLambdaBasicExecutionRole is used inside RemoteParameters", }, { "id": "AwsSolutions-IAM5", "reason": "Wildcard policy is used inside RemoteParameters", }, ], }, }, "Properties": { "Code": { "S3Bucket": { "Fn::Sub": "cdk-hnb659fds-assets-\${AWS::AccountId}-ap-southeast-1", }, "S3Key": "8e3d635893ea17fa3158623489cd42c680fad925b38de1ef51cb10d84f6e245e.zip", }, "Description": "AWS CDK resource provider framework - onEvent (BLEAFSI-CustomerChannel-Development-Secondary/TertiaryStackOutputs/MyProvider)", "Environment": { "Variables": { "USER_ON_EVENT_FUNCTION_ARN": { "Fn::GetAtt": [ "TertiaryStackOutputsMyHandler7E3A17D8", "Arn", ], }, }, }, "Handler": "framework.onEvent", "Role": { "Fn::GetAtt": [ "TertiaryStackOutputsMyProviderframeworkonEventServiceRole1E76C4C4", "Arn", ], }, "Runtime": "nodejs16.x", "Tags": [ { "Key": "Environment", "Value": "Development", }, ], "Timeout": 900, }, "Type": "AWS::Lambda::Function", }, "TertiaryStackOutputsMyProviderframeworkonEventLogRetention47B49687": { "Metadata": { "cdk_nag": { "rules_to_suppress": [ { "id": "AwsSolutions-L1", "reason": "Non-latest nodejs function is used inside RemoteParameters", }, { "id": "AwsSolutions-IAM4", "reason": "AWSLambdaBasicExecutionRole is used inside RemoteParameters", }, { "id": "AwsSolutions-IAM5", "reason": "Wildcard policy is used inside RemoteParameters", }, ], }, }, "Properties": { "LogGroupName": { "Fn::Join": [ "", [ "/aws/lambda/", { "Ref": "TertiaryStackOutputsMyProviderframeworkonEvent99B0C45B", }, ], ], }, "RetentionInDays": 1, "ServiceToken": { "Fn::GetAtt": [ "LogRetentionaae0aa3c5b4d4f87b02d85b201efdd8aFD4BFC8A", "Arn", ], }, }, "Type": "Custom::LogRetention", }, "TertiaryStackOutputsMyProviderframeworkonEventServiceRole1E76C4C4": { "Metadata": { "cdk_nag": { "rules_to_suppress": [ { "id": "AwsSolutions-L1", "reason": "Non-latest nodejs function is used inside RemoteParameters", }, { "id": "AwsSolutions-IAM4", "reason": "AWSLambdaBasicExecutionRole is used inside RemoteParameters", }, { "id": "AwsSolutions-IAM5", "reason": "Wildcard policy is used inside RemoteParameters", }, ], }, }, "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", ], ], }, ], "Tags": [ { "Key": "Environment", "Value": "Development", }, ], }, "Type": "AWS::IAM::Role", }, "TertiaryStackOutputsMyProviderframeworkonEventServiceRoleDefaultPolicyAA327F35": { "Metadata": { "cdk_nag": { "rules_to_suppress": [ { "id": "AwsSolutions-L1", "reason": "Non-latest nodejs function is used inside RemoteParameters", }, { "id": "AwsSolutions-IAM4", "reason": "AWSLambdaBasicExecutionRole is used inside RemoteParameters", }, { "id": "AwsSolutions-IAM5", "reason": "Wildcard policy is used inside RemoteParameters", }, ], }, }, "Properties": { "PolicyDocument": { "Statement": [ { "Action": "lambda:InvokeFunction", "Effect": "Allow", "Resource": [ { "Fn::GetAtt": [ "TertiaryStackOutputsMyHandler7E3A17D8", "Arn", ], }, { "Fn::Join": [ "", [ { "Fn::GetAtt": [ "TertiaryStackOutputsMyHandler7E3A17D8", "Arn", ], }, ":*", ], ], }, ], }, ], "Version": "2012-10-17", }, "PolicyName": "TertiaryStackOutputsMyProviderframeworkonEventServiceRoleDefaultPolicyAA327F35", "Roles": [ { "Ref": "TertiaryStackOutputsMyProviderframeworkonEventServiceRole1E76C4C4", }, ], }, "Type": "AWS::IAM::Policy", }, "TertiaryStackOutputsSsmParameters6A17FF8B": { "DeletionPolicy": "Delete", "Metadata": { "cdk_nag": { "rules_to_suppress": [ { "id": "AwsSolutions-L1", "reason": "Non-latest nodejs function is used inside RemoteParameters", }, { "id": "AwsSolutions-IAM4", "reason": "AWSLambdaBasicExecutionRole is used inside RemoteParameters", }, { "id": "AwsSolutions-IAM5", "reason": "Wildcard policy is used inside RemoteParameters", }, ], }, }, "Properties": { "ServiceToken": { "Fn::GetAtt": [ "TertiaryStackOutputsMyProviderframeworkonEvent99B0C45B", "Arn", ], }, "parameterPath": "/CustomerChannelTertiaryStack/BLEAFSI-CustomerChannel-Development-Tertiary", "regionName": "ap-northeast-3", "stackName": "BLEAFSI-CustomerChannel-Development-Secondary", }, "Type": "AWS::CloudFormation::CustomResource", "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.", }, ], }, }, } `; exports[`snapshot check Customer channel sample stacks 3`] = ` { "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": { "BackupAccessLogsBucketDD8A3B82": { "DeletionPolicy": "Retain", "Metadata": { "cdk_nag": { "rules_to_suppress": [ { "id": "AwsSolutions-S1", "reason": "CloudTrail record S3 accesses", }, ], }, }, "Properties": { "BucketEncryption": { "ServerSideEncryptionConfiguration": [ { "ServerSideEncryptionByDefault": { "SSEAlgorithm": "AES256", }, }, ], }, "OwnershipControls": { "Rules": [ { "ObjectOwnership": "BucketOwnerEnforced", }, ], }, "PublicAccessBlockConfiguration": { "BlockPublicAcls": true, "BlockPublicPolicy": true, "IgnorePublicAcls": true, "RestrictPublicBuckets": true, }, "Tags": [ { "Key": "Environment", "Value": "Development", }, ], "VersioningConfiguration": { "Status": "Enabled", }, }, "Type": "AWS::S3::Bucket", "UpdateReplacePolicy": "Retain", }, "BackupAccessLogsBucketPolicyA7A9C77D": { "Properties": { "Bucket": { "Ref": "BackupAccessLogsBucketDD8A3B82", }, "PolicyDocument": { "Statement": [ { "Action": "s3:*", "Condition": { "Bool": { "aws:SecureTransport": "false", }, }, "Effect": "Deny", "Principal": { "AWS": "*", }, "Resource": [ { "Fn::GetAtt": [ "BackupAccessLogsBucketDD8A3B82", "Arn", ], }, { "Fn::Join": [ "", [ { "Fn::GetAtt": [ "BackupAccessLogsBucketDD8A3B82", "Arn", ], }, "/*", ], ], }, ], }, { "Action": "s3:PutObject", "Condition": { "ArnLike": { "aws:SourceArn": { "Fn::GetAtt": [ "BackupBucket26B8E51C", "Arn", ], }, }, "StringEquals": { "aws:SourceAccount": { "Ref": "AWS::AccountId", }, }, }, "Effect": "Allow", "Principal": { "Service": "logging.s3.amazonaws.com", }, "Resource": { "Fn::Join": [ "", [ { "Fn::GetAtt": [ "BackupAccessLogsBucketDD8A3B82", "Arn", ], }, "/access-logs/tertiary/*", ], ], }, }, ], "Version": "2012-10-17", }, }, "Type": "AWS::S3::BucketPolicy", }, "BackupBucket26B8E51C": { "DeletionPolicy": "Retain", "Metadata": { "cdk_nag": { "rules_to_suppress": [ { "id": "AwsSolutions-S1", "reason": "CloudTrail record S3 accesses", }, ], }, }, "Properties": { "BucketEncryption": { "ServerSideEncryptionConfiguration": [ { "BucketKeyEnabled": true, "ServerSideEncryptionByDefault": { "KMSMasterKeyID": { "Fn::GetAtt": [ "BackupKey60B97760", "Arn", ], }, "SSEAlgorithm": "aws:kms", }, }, ], }, "LoggingConfiguration": { "DestinationBucketName": { "Ref": "BackupAccessLogsBucketDD8A3B82", }, "LogFilePrefix": "access-logs/tertiary/", }, "OwnershipControls": { "Rules": [ { "ObjectOwnership": "BucketOwnerEnforced", }, ], }, "PublicAccessBlockConfiguration": { "BlockPublicAcls": true, "BlockPublicPolicy": true, "IgnorePublicAcls": true, "RestrictPublicBuckets": true, }, "Tags": [ { "Key": "Environment", "Value": "Development", }, ], "VersioningConfiguration": { "Status": "Enabled", }, }, "Type": "AWS::S3::Bucket", "UpdateReplacePolicy": "Retain", }, "BackupBucketArnParameter292DFA4A": { "Properties": { "Name": "/CustomerChannelTertiaryStack/BLEAFSI-CustomerChannel-Development-Tertiary/backupBucketArn", "Tags": { "Environment": "Development", }, "Type": "String", "Value": { "Fn::GetAtt": [ "BackupBucket26B8E51C", "Arn", ], }, }, "Type": "AWS::SSM::Parameter", }, "BackupBucketPolicy8C403F71": { "Properties": { "Bucket": { "Ref": "BackupBucket26B8E51C", }, "PolicyDocument": { "Statement": [ { "Action": "s3:*", "Condition": { "Bool": { "aws:SecureTransport": "false", }, }, "Effect": "Deny", "Principal": { "AWS": "*", }, "Resource": [ { "Fn::GetAtt": [ "BackupBucket26B8E51C", "Arn", ], }, { "Fn::Join": [ "", [ { "Fn::GetAtt": [ "BackupBucket26B8E51C", "Arn", ], }, "/*", ], ], }, ], }, ], "Version": "2012-10-17", }, }, "Type": "AWS::S3::BucketPolicy", }, "BackupKey60B97760": { "DeletionPolicy": "Retain", "Properties": { "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", }, "Tags": [ { "Key": "Environment", "Value": "Development", }, ], }, "Type": "AWS::KMS::Key", "UpdateReplacePolicy": "Retain", }, "BackupKeyArnParameterF14A94B3": { "Properties": { "Name": "/CustomerChannelTertiaryStack/BLEAFSI-CustomerChannel-Development-Tertiary/backupKeyArn", "Tags": { "Environment": "Development", }, "Type": "String", "Value": { "Fn::GetAtt": [ "BackupKey60B97760", "Arn", ], }, }, "Type": "AWS::SSM::Parameter", }, }, "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.", }, ], }, }, } `;