// Jest Snapshot v1, https://goo.gl/fbAQLP exports[`Snapshot 1`] = ` Object { "Mappings": Object { "DefaultCrNodeVersionMap": Object { "af-south-1": Object { "value": "nodejs16.x", }, "ap-east-1": Object { "value": "nodejs16.x", }, "ap-northeast-1": Object { "value": "nodejs16.x", }, "ap-northeast-2": Object { "value": "nodejs16.x", }, "ap-northeast-3": Object { "value": "nodejs16.x", }, "ap-south-1": Object { "value": "nodejs16.x", }, "ap-south-2": Object { "value": "nodejs16.x", }, "ap-southeast-1": Object { "value": "nodejs16.x", }, "ap-southeast-2": Object { "value": "nodejs16.x", }, "ap-southeast-3": Object { "value": "nodejs16.x", }, "ca-central-1": Object { "value": "nodejs16.x", }, "cn-north-1": Object { "value": "nodejs16.x", }, "cn-northwest-1": Object { "value": "nodejs16.x", }, "eu-central-1": Object { "value": "nodejs16.x", }, "eu-central-2": Object { "value": "nodejs16.x", }, "eu-north-1": Object { "value": "nodejs16.x", }, "eu-south-1": Object { "value": "nodejs16.x", }, "eu-south-2": Object { "value": "nodejs16.x", }, "eu-west-1": Object { "value": "nodejs16.x", }, "eu-west-2": Object { "value": "nodejs16.x", }, "eu-west-3": Object { "value": "nodejs16.x", }, "me-central-1": Object { "value": "nodejs16.x", }, "me-south-1": Object { "value": "nodejs16.x", }, "sa-east-1": Object { "value": "nodejs16.x", }, "us-east-1": Object { "value": "nodejs16.x", }, "us-east-2": Object { "value": "nodejs16.x", }, "us-gov-east-1": Object { "value": "nodejs16.x", }, "us-gov-west-1": Object { "value": "nodejs16.x", }, "us-iso-east-1": Object { "value": "nodejs14.x", }, "us-iso-west-1": Object { "value": "nodejs14.x", }, "us-isob-east-1": Object { "value": "nodejs14.x", }, "us-west-1": Object { "value": "nodejs16.x", }, "us-west-2": Object { "value": "nodejs16.x", }, }, }, "Outputs": Object { "InfrastructureclickToCallApiEndpointFB01AAB3": Object { "Value": Object { "Fn::Join": Array [ "", Array [ "https://", Object { "Ref": "InfrastructureclickToCallApiEFC07FEC", }, ".execute-api.", Object { "Ref": "AWS::Region", }, ".", Object { "Ref": "AWS::URLSuffix", }, "/", Object { "Ref": "InfrastructureclickToCallApiDeploymentStageprodD09C17F5", }, "/", ], ], }, }, "fromNumber": Object { "Value": Object { "Fn::GetAtt": Array [ "ChimephoneNumberChimePhoneNumberpstnCustomResourceDFB46FB1", "phoneNumber", ], }, }, "site": Object { "Value": Object { "Fn::GetAtt": Array [ "SiteCloudfrontDistribution0794B6B8", "DomainName", ], }, }, "siteBucket": Object { "Value": Object { "Ref": "SitewebsiteBucketBC20A569", }, }, }, "Parameters": Object { "BootstrapVersion": Object { "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": Object { "ChimephoneNumberChimePhoneNumberPSTNResourceProviderframeworkonEvent48FEA3B8": Object { "DependsOn": Array [ "ChimephoneNumberChimePhoneNumberPSTNResourceProviderframeworkonEventServiceRoleDefaultPolicy4E05866C", "ChimephoneNumberChimePhoneNumberPSTNResourceProviderframeworkonEventServiceRole6BE92B60", ], "Properties": Object { "Code": Object { "S3Bucket": Object { "Fn::Sub": "cdk-hnb659fds-assets-\${AWS::AccountId}-\${AWS::Region}", }, "S3Key": "8e3d635893ea17fa3158623489cd42c680fad925b38de1ef51cb10d84f6e245e.zip", }, "Description": "AWS CDK resource provider framework - onEvent (test/Chime/phoneNumber/ChimePhoneNumber/PSTNResourceProvider)", "Environment": Object { "Variables": Object { "USER_ON_EVENT_FUNCTION_ARN": Object { "Fn::GetAtt": Array [ "ChimephoneNumberChimePhoneNumberpstnResourcesFunctionDCF1293A", "Arn", ], }, }, }, "Handler": "framework.onEvent", "Role": Object { "Fn::GetAtt": Array [ "ChimephoneNumberChimePhoneNumberPSTNResourceProviderframeworkonEventServiceRole6BE92B60", "Arn", ], }, "Runtime": "nodejs14.x", "Timeout": 900, }, "Type": "AWS::Lambda::Function", }, "ChimephoneNumberChimePhoneNumberPSTNResourceProviderframeworkonEventServiceRole6BE92B60": Object { "Properties": Object { "AssumeRolePolicyDocument": Object { "Statement": Array [ Object { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": Object { "Service": "lambda.amazonaws.com", }, }, ], "Version": "2012-10-17", }, "ManagedPolicyArns": Array [ Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole", ], ], }, ], }, "Type": "AWS::IAM::Role", }, "ChimephoneNumberChimePhoneNumberPSTNResourceProviderframeworkonEventServiceRoleDefaultPolicy4E05866C": Object { "Properties": Object { "PolicyDocument": Object { "Statement": Array [ Object { "Action": "lambda:InvokeFunction", "Effect": "Allow", "Resource": Array [ Object { "Fn::GetAtt": Array [ "ChimephoneNumberChimePhoneNumberpstnResourcesFunctionDCF1293A", "Arn", ], }, Object { "Fn::Join": Array [ "", Array [ Object { "Fn::GetAtt": Array [ "ChimephoneNumberChimePhoneNumberpstnResourcesFunctionDCF1293A", "Arn", ], }, ":*", ], ], }, ], }, ], "Version": "2012-10-17", }, "PolicyName": "ChimephoneNumberChimePhoneNumberPSTNResourceProviderframeworkonEventServiceRoleDefaultPolicy4E05866C", "Roles": Array [ Object { "Ref": "ChimephoneNumberChimePhoneNumberPSTNResourceProviderframeworkonEventServiceRole6BE92B60", }, ], }, "Type": "AWS::IAM::Policy", }, "ChimephoneNumberChimePhoneNumberpstnCustomResourceDFB46FB1": Object { "DeletionPolicy": "Delete", "Properties": Object { "ServiceToken": Object { "Fn::GetAtt": Array [ "ChimephoneNumberChimePhoneNumberPSTNResourceProviderframeworkonEvent48FEA3B8", "Arn", ], }, "properties": Object { "phoneCountry": "US", "phoneNumberType": "Local", "phoneProductType": "SipMediaApplicationDialIn", "phoneState": "IL", }, "resourceType": "PhoneNumber", "uid": "testChimephoneNumber9936B1A7", }, "Type": "AWS::CloudFormation::CustomResource", "UpdateReplacePolicy": "Delete", }, "ChimephoneNumberChimePhoneNumberpstnCustomResourceRole6F0C285E": Object { "Properties": Object { "AssumeRolePolicyDocument": Object { "Statement": Array [ Object { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": Object { "Service": "lambda.amazonaws.com", }, }, ], "Version": "2012-10-17", }, "Description": "Amazon Chime PSTN Resources", "ManagedPolicyArns": Array [ Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole", ], ], }, ], "Policies": Array [ Object { "PolicyDocument": Object { "Statement": Array [ Object { "Action": Array [ "chime:*VoiceProfileDomain*", "kms:CreateGrant", "kms:DescribeKey", "chime:*MediaInsightsPipelineConfiguration*", "chime:CreateSipRule", "chime:DeleteSipRule", "chime:UpdateSipRule", "chime:GetSipRule", "chime:CreateSipMediaApplication", "chime:DeleteSipMediaApplication", "chime:GetPhoneNumberOrder", "chime:SearchAvailablePhoneNumbers", "chime:CreatePhoneNumberOrder", "chime:DeletePhoneNumber", "chime:GetPhoneNumber", "chime:CreateVoiceConnector", "chime:PutVoiceConnectorStreamingConfiguration", "chime:PutVoiceConnectorTermination", "chime:PutVoiceConnectorOrigination", "chime:PutVoiceConnectorLoggingConfiguration", "chime:ListPhoneNumbers", "chime:AssociatePhoneNumbersWithVoiceConnector", "chime:DisassociatePhoneNumbersFromVoiceConnector", "chime:DeleteVoiceConnector", "chime:PutSipMediaApplicationAlexaSkillConfiguration", "chime:PutSipMediaApplicationLoggingConfiguration", "logs:GetLogDelivery", "logs:DeleteLogDelivery", "logs:ListLogDeliveries", "logs:CreateLogGroup", "logs:DescribeResourcePolicies", "logs:PutResourcePolicy", "logs:DescribeLogGroups", "logs:CreateLogDelivery", "lambda:GetPolicy", "lambda:AddPermission", "iam:PutRolePolicy", "iam:CreateServiceLinkedRole", ], "Effect": "Allow", "Resource": "*", }, Object { "Action": Array [ "ssm:PutParameter", "ssm:GetParameter", "ssm:DeleteParameter", ], "Effect": "Allow", "Resource": Object { "Fn::Join": Array [ "", Array [ "arn:aws:ssm:", Object { "Ref": "AWS::Region", }, ":", Object { "Ref": "AWS::AccountId", }, ":parameter/chime/*", ], ], }, }, ], "Version": "2012-10-17", }, "PolicyName": "chimePolicy", }, ], }, "Type": "AWS::IAM::Role", }, "ChimephoneNumberChimePhoneNumberpstnResourcesFunctionDCF1293A": Object { "DependsOn": Array [ "ChimephoneNumberChimePhoneNumberpstnCustomResourceRole6F0C285E", ], "Properties": Object { "Code": Object { "S3Bucket": Object { "Fn::Sub": "cdk-hnb659fds-assets-\${AWS::AccountId}-\${AWS::Region}", }, "S3Key": "18a21c219083043f3d7d56daa068e5c1be7706ffda18f115cae5a7d441a307fc.zip", }, "Description": "src/resources/pstn/pstn.lambda.ts", "Environment": Object { "Variables": Object { "AWS_NODEJS_CONNECTION_REUSE_ENABLED": "1", }, }, "Handler": "index.handler", "Role": Object { "Fn::GetAtt": Array [ "ChimephoneNumberChimePhoneNumberpstnCustomResourceRole6F0C285E", "Arn", ], }, "Runtime": "nodejs18.x", "Timeout": 60, }, "Type": "AWS::Lambda::Function", }, "ChimesipMediaAppsipMediaAppRequestPSTNResourceProviderframeworkonEventC21782EC": Object { "DependsOn": Array [ "ChimesipMediaAppsipMediaAppRequestPSTNResourceProviderframeworkonEventServiceRoleDefaultPolicyF2EE5D9F", "ChimesipMediaAppsipMediaAppRequestPSTNResourceProviderframeworkonEventServiceRoleD4EBDDE9", ], "Properties": Object { "Code": Object { "S3Bucket": Object { "Fn::Sub": "cdk-hnb659fds-assets-\${AWS::AccountId}-\${AWS::Region}", }, "S3Key": "8e3d635893ea17fa3158623489cd42c680fad925b38de1ef51cb10d84f6e245e.zip", }, "Description": "AWS CDK resource provider framework - onEvent (test/Chime/sipMediaApp/sipMediaAppRequest/PSTNResourceProvider)", "Environment": Object { "Variables": Object { "USER_ON_EVENT_FUNCTION_ARN": Object { "Fn::GetAtt": Array [ "ChimesipMediaAppsipMediaAppRequestpstnResourcesFunction51ED856E", "Arn", ], }, }, }, "Handler": "framework.onEvent", "Role": Object { "Fn::GetAtt": Array [ "ChimesipMediaAppsipMediaAppRequestPSTNResourceProviderframeworkonEventServiceRoleD4EBDDE9", "Arn", ], }, "Runtime": "nodejs14.x", "Timeout": 900, }, "Type": "AWS::Lambda::Function", }, "ChimesipMediaAppsipMediaAppRequestPSTNResourceProviderframeworkonEventServiceRoleD4EBDDE9": Object { "Properties": Object { "AssumeRolePolicyDocument": Object { "Statement": Array [ Object { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": Object { "Service": "lambda.amazonaws.com", }, }, ], "Version": "2012-10-17", }, "ManagedPolicyArns": Array [ Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole", ], ], }, ], }, "Type": "AWS::IAM::Role", }, "ChimesipMediaAppsipMediaAppRequestPSTNResourceProviderframeworkonEventServiceRoleDefaultPolicyF2EE5D9F": Object { "Properties": Object { "PolicyDocument": Object { "Statement": Array [ Object { "Action": "lambda:InvokeFunction", "Effect": "Allow", "Resource": Array [ Object { "Fn::GetAtt": Array [ "ChimesipMediaAppsipMediaAppRequestpstnResourcesFunction51ED856E", "Arn", ], }, Object { "Fn::Join": Array [ "", Array [ Object { "Fn::GetAtt": Array [ "ChimesipMediaAppsipMediaAppRequestpstnResourcesFunction51ED856E", "Arn", ], }, ":*", ], ], }, ], }, ], "Version": "2012-10-17", }, "PolicyName": "ChimesipMediaAppsipMediaAppRequestPSTNResourceProviderframeworkonEventServiceRoleDefaultPolicyF2EE5D9F", "Roles": Array [ Object { "Ref": "ChimesipMediaAppsipMediaAppRequestPSTNResourceProviderframeworkonEventServiceRoleD4EBDDE9", }, ], }, "Type": "AWS::IAM::Policy", }, "ChimesipMediaAppsipMediaAppRequestpstnCustomResource505FA3C9": Object { "DeletionPolicy": "Delete", "Properties": Object { "ServiceToken": Object { "Fn::GetAtt": Array [ "ChimesipMediaAppsipMediaAppRequestPSTNResourceProviderframeworkonEventC21782EC", "Arn", ], }, "properties": Object { "endpoint": Object { "Fn::GetAtt": Array [ "ChimesmaHandlerLambda51FE45BB", "Arn", ], }, "name": "testChimesipMediaAppEBAB42E6", "region": Object { "Ref": "AWS::Region", }, }, "resourceType": "SMA", "uid": "testChimesipMediaAppEBAB42E6", }, "Type": "AWS::CloudFormation::CustomResource", "UpdateReplacePolicy": "Delete", }, "ChimesipMediaAppsipMediaAppRequestpstnCustomResourceRoleD63D0A38": Object { "Properties": Object { "AssumeRolePolicyDocument": Object { "Statement": Array [ Object { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": Object { "Service": "lambda.amazonaws.com", }, }, ], "Version": "2012-10-17", }, "Description": "Amazon Chime PSTN Resources", "ManagedPolicyArns": Array [ Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole", ], ], }, ], "Policies": Array [ Object { "PolicyDocument": Object { "Statement": Array [ Object { "Action": Array [ "chime:*VoiceProfileDomain*", "kms:CreateGrant", "kms:DescribeKey", "chime:*MediaInsightsPipelineConfiguration*", "chime:CreateSipRule", "chime:DeleteSipRule", "chime:UpdateSipRule", "chime:GetSipRule", "chime:CreateSipMediaApplication", "chime:DeleteSipMediaApplication", "chime:GetPhoneNumberOrder", "chime:SearchAvailablePhoneNumbers", "chime:CreatePhoneNumberOrder", "chime:DeletePhoneNumber", "chime:GetPhoneNumber", "chime:CreateVoiceConnector", "chime:PutVoiceConnectorStreamingConfiguration", "chime:PutVoiceConnectorTermination", "chime:PutVoiceConnectorOrigination", "chime:PutVoiceConnectorLoggingConfiguration", "chime:ListPhoneNumbers", "chime:AssociatePhoneNumbersWithVoiceConnector", "chime:DisassociatePhoneNumbersFromVoiceConnector", "chime:DeleteVoiceConnector", "chime:PutSipMediaApplicationAlexaSkillConfiguration", "chime:PutSipMediaApplicationLoggingConfiguration", "logs:GetLogDelivery", "logs:DeleteLogDelivery", "logs:ListLogDeliveries", "logs:CreateLogGroup", "logs:DescribeResourcePolicies", "logs:PutResourcePolicy", "logs:DescribeLogGroups", "logs:CreateLogDelivery", "lambda:GetPolicy", "lambda:AddPermission", "iam:PutRolePolicy", "iam:CreateServiceLinkedRole", ], "Effect": "Allow", "Resource": "*", }, Object { "Action": Array [ "ssm:PutParameter", "ssm:GetParameter", "ssm:DeleteParameter", ], "Effect": "Allow", "Resource": Object { "Fn::Join": Array [ "", Array [ "arn:aws:ssm:", Object { "Ref": "AWS::Region", }, ":", Object { "Ref": "AWS::AccountId", }, ":parameter/chime/*", ], ], }, }, ], "Version": "2012-10-17", }, "PolicyName": "chimePolicy", }, ], }, "Type": "AWS::IAM::Role", }, "ChimesipMediaAppsipMediaAppRequestpstnResourcesFunction51ED856E": Object { "DependsOn": Array [ "ChimesipMediaAppsipMediaAppRequestpstnCustomResourceRoleD63D0A38", ], "Properties": Object { "Code": Object { "S3Bucket": Object { "Fn::Sub": "cdk-hnb659fds-assets-\${AWS::AccountId}-\${AWS::Region}", }, "S3Key": "18a21c219083043f3d7d56daa068e5c1be7706ffda18f115cae5a7d441a307fc.zip", }, "Description": "src/resources/pstn/pstn.lambda.ts", "Environment": Object { "Variables": Object { "AWS_NODEJS_CONNECTION_REUSE_ENABLED": "1", }, }, "Handler": "index.handler", "Role": Object { "Fn::GetAtt": Array [ "ChimesipMediaAppsipMediaAppRequestpstnCustomResourceRoleD63D0A38", "Arn", ], }, "Runtime": "nodejs18.x", "Timeout": 60, }, "Type": "AWS::Lambda::Function", }, "ChimesmaHandlerLambda51FE45BB": Object { "DependsOn": Array [ "ChimesmaHandlerRoleAB855B74", ], "Properties": Object { "Architectures": Array [ "arm64", ], "Code": Object { "S3Bucket": Object { "Fn::Sub": "cdk-hnb659fds-assets-\${AWS::AccountId}-\${AWS::Region}", }, "S3Key": "f9a8e75fa798b3c974604c18c5847e7d4cf8eb8b098874b025cf75725bf6a74a.zip", }, "Environment": Object { "Variables": Object { "AWS_NODEJS_CONNECTION_REUSE_ENABLED": "1", "FROM_NUMBER": Object { "Fn::GetAtt": Array [ "ChimephoneNumberChimePhoneNumberpstnCustomResourceDFB46FB1", "phoneNumber", ], }, }, }, "Handler": "index.lambdaHandler", "Role": Object { "Fn::GetAtt": Array [ "ChimesmaHandlerRoleAB855B74", "Arn", ], }, "Runtime": "nodejs18.x", "Timeout": 60, }, "Type": "AWS::Lambda::Function", }, "ChimesmaHandlerRoleAB855B74": Object { "Properties": Object { "AssumeRolePolicyDocument": Object { "Statement": Array [ Object { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": Object { "Service": "lambda.amazonaws.com", }, }, ], "Version": "2012-10-17", }, "ManagedPolicyArns": Array [ Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole", ], ], }, ], "Policies": Array [ Object { "PolicyDocument": Object { "Statement": Array [ Object { "Action": "chime:*", "Effect": "Allow", "Resource": "*", }, ], "Version": "2012-10-17", }, "PolicyName": "chimePolicy", }, ], }, "Type": "AWS::IAM::Role", }, "CognitoCognitoDefaultAuthenticatedRole162BCBED": Object { "Properties": Object { "AssumeRolePolicyDocument": Object { "Statement": Array [ Object { "Action": "sts:AssumeRoleWithWebIdentity", "Condition": Object { "ForAnyValue:StringLike": Object { "cognito-identity.amazonaws.com:amr": "authenticated", }, "StringEquals": Object { "cognito-identity.amazonaws.com:aud": Object { "Ref": "CognitocognitoIdentityPool626065C7", }, }, }, "Effect": "Allow", "Principal": Object { "Federated": "cognito-identity.amazonaws.com", }, }, ], "Version": "2012-10-17", }, }, "Type": "AWS::IAM::Role", }, "CognitoCognitoDefaultAuthenticatedRoleDefaultPolicyE55F5536": Object { "Properties": Object { "PolicyDocument": Object { "Statement": Array [ Object { "Action": Array [ "mobileanalytics:PutEvents", "cognito-sync:*", "cognito-identity:*", ], "Effect": "Allow", "Resource": "*", }, ], "Version": "2012-10-17", }, "PolicyName": "CognitoCognitoDefaultAuthenticatedRoleDefaultPolicyE55F5536", "Roles": Array [ Object { "Ref": "CognitoCognitoDefaultAuthenticatedRole162BCBED", }, ], }, "Type": "AWS::IAM::Policy", }, "CognitoCognitoDefaultUnauthenticatedRole7E1472DA": Object { "Properties": Object { "AssumeRolePolicyDocument": Object { "Statement": Array [ Object { "Action": "sts:AssumeRoleWithWebIdentity", "Condition": Object { "ForAnyValue:StringLike": Object { "cognito-identity.amazonaws.com:amr": "unauthenticated", }, "StringEquals": Object { "cognito-identity.amazonaws.com:aud": Object { "Ref": "CognitocognitoIdentityPool626065C7", }, }, }, "Effect": "Allow", "Principal": Object { "Federated": "cognito-identity.amazonaws.com", }, }, ], "Version": "2012-10-17", }, }, "Type": "AWS::IAM::Role", }, "CognitoCognitoDefaultUnauthenticatedRoleDefaultPolicyC106F210": Object { "Properties": Object { "PolicyDocument": Object { "Statement": Array [ Object { "Action": Array [ "mobileanalytics:PutEvents", "cognito-sync:*", ], "Effect": "Allow", "Resource": "*", }, ], "Version": "2012-10-17", }, "PolicyName": "CognitoCognitoDefaultUnauthenticatedRoleDefaultPolicyC106F210", "Roles": Array [ Object { "Ref": "CognitoCognitoDefaultUnauthenticatedRole7E1472DA", }, ], }, "Type": "AWS::IAM::Policy", }, "CognitoDefaultValid0F579DDB": Object { "Properties": Object { "IdentityPoolId": Object { "Ref": "CognitocognitoIdentityPool626065C7", }, "Roles": Object { "authenticated": Object { "Fn::GetAtt": Array [ "CognitoCognitoDefaultAuthenticatedRole162BCBED", "Arn", ], }, "unauthenticated": Object { "Fn::GetAtt": Array [ "CognitoCognitoDefaultUnauthenticatedRole7E1472DA", "Arn", ], }, }, }, "Type": "AWS::Cognito::IdentityPoolRoleAttachment", }, "CognitoUserPool279BBD48": Object { "DeletionPolicy": "Delete", "Properties": Object { "AccountRecoverySetting": Object { "RecoveryMechanisms": Array [ Object { "Name": "verified_email", "Priority": 1, }, ], }, "AdminCreateUserConfig": Object { "AllowAdminCreateUserOnly": false, "InviteMessageTemplate": Object { "EmailMessage": "Your Click-To-Call web app username is {username} and temporary password is {####}", "EmailSubject": "Your Click-To-Call web app temporary password", }, }, "AutoVerifiedAttributes": Array [ "email", ], "EmailVerificationMessage": "The verification code to your new Click-To-Call web app account is {####}", "EmailVerificationSubject": "Verify your new Click-To-Call web app account", "EnabledMfas": Array [ "SMS_MFA", "SOFTWARE_TOKEN_MFA", ], "LambdaConfig": Object { "PreSignUp": Object { "Fn::GetAtt": Array [ "CognitodomainValidatorC88C5FF9", "Arn", ], }, }, "MfaConfiguration": "OPTIONAL", "Schema": Array [ Object { "Mutable": true, "Name": "email", "Required": true, }, ], "SmsConfiguration": Object { "ExternalId": "testCognitoUserPoolA55211EF", "SnsCallerArn": Object { "Fn::GetAtt": Array [ "CognitoUserPoolsmsRole738960F0", "Arn", ], }, }, "SmsVerificationMessage": "The verification code to your new account is {####}", "UsernameAttributes": Array [ "email", ], "VerificationMessageTemplate": Object { "DefaultEmailOption": "CONFIRM_WITH_CODE", "EmailMessage": "The verification code to your new Click-To-Call web app account is {####}", "EmailSubject": "Verify your new Click-To-Call web app account", "SmsMessage": "The verification code to your new account is {####}", }, }, "Type": "AWS::Cognito::UserPool", "UpdateReplacePolicy": "Delete", }, "CognitoUserPoolClientEF2538C4": Object { "Properties": Object { "AllowedOAuthFlows": Array [ "implicit", "code", ], "AllowedOAuthFlowsUserPoolClient": true, "AllowedOAuthScopes": Array [ "profile", "phone", "email", "openid", "aws.cognito.signin.user.admin", ], "CallbackURLs": Array [ "https://example.com", ], "ExplicitAuthFlows": Array [ "ALLOW_CUSTOM_AUTH", "ALLOW_USER_SRP_AUTH", "ALLOW_REFRESH_TOKEN_AUTH", ], "GenerateSecret": false, "RefreshTokenValidity": 60, "SupportedIdentityProviders": Array [ "COGNITO", ], "TokenValidityUnits": Object { "RefreshToken": "minutes", }, "UserPoolId": Object { "Ref": "CognitoUserPool279BBD48", }, }, "Type": "AWS::Cognito::UserPoolClient", }, "CognitoUserPoolPreSignUpCognitoD07EA58F": Object { "Properties": Object { "Action": "lambda:InvokeFunction", "FunctionName": Object { "Fn::GetAtt": Array [ "CognitodomainValidatorC88C5FF9", "Arn", ], }, "Principal": "cognito-idp.amazonaws.com", "SourceArn": Object { "Fn::GetAtt": Array [ "CognitoUserPool279BBD48", "Arn", ], }, }, "Type": "AWS::Lambda::Permission", }, "CognitoUserPoolsmsRole738960F0": Object { "Properties": Object { "AssumeRolePolicyDocument": Object { "Statement": Array [ Object { "Action": "sts:AssumeRole", "Condition": Object { "StringEquals": Object { "sts:ExternalId": "testCognitoUserPoolA55211EF", }, }, "Effect": "Allow", "Principal": Object { "Service": "cognito-idp.amazonaws.com", }, }, ], "Version": "2012-10-17", }, "Policies": Array [ Object { "PolicyDocument": Object { "Statement": Array [ Object { "Action": "sns:Publish", "Effect": "Allow", "Resource": "*", }, ], "Version": "2012-10-17", }, "PolicyName": "sns-publish", }, ], }, "Type": "AWS::IAM::Role", }, "CognitocognitoIdentityPool626065C7": Object { "Properties": Object { "AllowUnauthenticatedIdentities": false, "CognitoIdentityProviders": Array [ Object { "ClientId": Object { "Ref": "CognitoUserPoolClientEF2538C4", }, "ProviderName": Object { "Fn::GetAtt": Array [ "CognitoUserPool279BBD48", "ProviderName", ], }, }, ], "IdentityPoolName": "cognitoIdentityPool", }, "Type": "AWS::Cognito::IdentityPool", }, "CognitodomainValidatorC88C5FF9": Object { "DependsOn": Array [ "CognitodomainValidatorServiceRole1B8A3BD4", ], "Properties": Object { "Architectures": Array [ "arm64", ], "Code": Object { "S3Bucket": Object { "Fn::Sub": "cdk-hnb659fds-assets-\${AWS::AccountId}-\${AWS::Region}", }, "S3Key": "39a95a21ff1981283a30ebc303dbee721493ff20f66c6bcbacc43b84f58f2a0d.zip", }, "Environment": Object { "Variables": Object { "ALLOWED_DOMAIN": "", "AWS_NODEJS_CONNECTION_REUSE_ENABLED": "1", }, }, "Handler": "index.handler", "Role": Object { "Fn::GetAtt": Array [ "CognitodomainValidatorServiceRole1B8A3BD4", "Arn", ], }, "Runtime": "nodejs14.x", "Timeout": 60, }, "Type": "AWS::Lambda::Function", }, "CognitodomainValidatorServiceRole1B8A3BD4": Object { "Properties": Object { "AssumeRolePolicyDocument": Object { "Statement": Array [ Object { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": Object { "Service": "lambda.amazonaws.com", }, }, ], "Version": "2012-10-17", }, "ManagedPolicyArns": Array [ Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole", ], ], }, ], }, "Type": "AWS::IAM::Role", }, "CustomCDKBucketDeployment8693BB64968944B69AAFB0CC9EB8756C81C01536": Object { "DependsOn": Array [ "CustomCDKBucketDeployment8693BB64968944B69AAFB0CC9EB8756CServiceRoleDefaultPolicy88902FDF", "CustomCDKBucketDeployment8693BB64968944B69AAFB0CC9EB8756CServiceRole89A01265", ], "Properties": Object { "Code": Object { "S3Bucket": Object { "Fn::Sub": "cdk-hnb659fds-assets-\${AWS::AccountId}-\${AWS::Region}", }, "S3Key": "9eb41a5505d37607ac419321497a4f8c21cf0ee1f9b4a6b29aa04301aea5c7fd.zip", }, "Environment": Object { "Variables": Object { "AWS_CA_BUNDLE": "/etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem", }, }, "Handler": "index.handler", "Layers": Array [ Object { "Ref": "SiteDeployBucketAwsCliLayerB1A3335C", }, ], "Role": Object { "Fn::GetAtt": Array [ "CustomCDKBucketDeployment8693BB64968944B69AAFB0CC9EB8756CServiceRole89A01265", "Arn", ], }, "Runtime": "python3.9", "Timeout": 900, }, "Type": "AWS::Lambda::Function", }, "CustomCDKBucketDeployment8693BB64968944B69AAFB0CC9EB8756CServiceRole89A01265": Object { "Properties": Object { "AssumeRolePolicyDocument": Object { "Statement": Array [ Object { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": Object { "Service": "lambda.amazonaws.com", }, }, ], "Version": "2012-10-17", }, "ManagedPolicyArns": Array [ Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole", ], ], }, ], }, "Type": "AWS::IAM::Role", }, "CustomCDKBucketDeployment8693BB64968944B69AAFB0CC9EB8756CServiceRoleDefaultPolicy88902FDF": Object { "Properties": Object { "PolicyDocument": Object { "Statement": Array [ Object { "Action": Array [ "s3:GetObject*", "s3:GetBucket*", "s3:List*", ], "Effect": "Allow", "Resource": Array [ Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":s3:::", Object { "Fn::Sub": "cdk-hnb659fds-assets-\${AWS::AccountId}-\${AWS::Region}", }, ], ], }, Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":s3:::", Object { "Fn::Sub": "cdk-hnb659fds-assets-\${AWS::AccountId}-\${AWS::Region}", }, "/*", ], ], }, ], }, Object { "Action": Array [ "s3:GetObject*", "s3:GetBucket*", "s3:List*", "s3:DeleteObject*", "s3:PutObject", "s3:PutObjectLegalHold", "s3:PutObjectRetention", "s3:PutObjectTagging", "s3:PutObjectVersionTagging", "s3:Abort*", ], "Effect": "Allow", "Resource": Array [ Object { "Fn::GetAtt": Array [ "SitewebsiteBucketBC20A569", "Arn", ], }, Object { "Fn::Join": Array [ "", Array [ Object { "Fn::GetAtt": Array [ "SitewebsiteBucketBC20A569", "Arn", ], }, "/*", ], ], }, ], }, Object { "Action": Array [ "cloudfront:GetInvalidation", "cloudfront:CreateInvalidation", ], "Effect": "Allow", "Resource": "*", }, ], "Version": "2012-10-17", }, "PolicyName": "CustomCDKBucketDeployment8693BB64968944B69AAFB0CC9EB8756CServiceRoleDefaultPolicy88902FDF", "Roles": Array [ Object { "Ref": "CustomCDKBucketDeployment8693BB64968944B69AAFB0CC9EB8756CServiceRole89A01265", }, ], }, "Type": "AWS::IAM::Policy", }, "CustomS3AutoDeleteObjectsCustomResourceProviderHandler9D90184F": Object { "DependsOn": Array [ "CustomS3AutoDeleteObjectsCustomResourceProviderRole3B1BD092", ], "Properties": Object { "Code": Object { "S3Bucket": Object { "Fn::Sub": "cdk-hnb659fds-assets-\${AWS::AccountId}-\${AWS::Region}", }, "S3Key": "350185a1069fa20a23a583e20c77f6844218bd73097902362dc94f1a108f5d89.zip", }, "Description": Object { "Fn::Join": Array [ "", Array [ "Lambda function for auto-deleting objects in ", Object { "Ref": "SitewebsiteBucketBC20A569", }, " S3 bucket.", ], ], }, "Handler": "__entrypoint__.handler", "MemorySize": 128, "Role": Object { "Fn::GetAtt": Array [ "CustomS3AutoDeleteObjectsCustomResourceProviderRole3B1BD092", "Arn", ], }, "Runtime": "nodejs16.x", "Timeout": 900, }, "Type": "AWS::Lambda::Function", }, "CustomS3AutoDeleteObjectsCustomResourceProviderRole3B1BD092": Object { "Properties": Object { "AssumeRolePolicyDocument": Object { "Statement": Array [ Object { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": Object { "Service": "lambda.amazonaws.com", }, }, ], "Version": "2012-10-17", }, "ManagedPolicyArns": Array [ Object { "Fn::Sub": "arn:\${AWS::Partition}:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole", }, ], }, "Type": "AWS::IAM::Role", }, "Infrastructureauth4BEB723B": Object { "Properties": Object { "IdentitySource": "method.request.header.Authorization", "Name": "testInfrastructureauthE9907576", "ProviderARNs": Array [ Object { "Fn::GetAtt": Array [ "CognitoUserPool279BBD48", "Arn", ], }, ], "RestApiId": Object { "Ref": "InfrastructureclickToCallApiEFC07FEC", }, "Type": "COGNITO_USER_POOLS", }, "Type": "AWS::ApiGateway::Authorizer", }, "InfrastructurecallControlLambdaD681613E": Object { "DependsOn": Array [ "InfrastructureinfrastructureRole80511D48", ], "Properties": Object { "Architectures": Array [ "arm64", ], "Code": Object { "S3Bucket": Object { "Fn::Sub": "cdk-hnb659fds-assets-\${AWS::AccountId}-\${AWS::Region}", }, "S3Key": "a176fe36fc09ff15cd917446308eee4965a879ad2f04b74eaaaa64500838fa22.zip", }, "Environment": Object { "Variables": Object { "AWS_NODEJS_CONNECTION_REUSE_ENABLED": "1", "FROM_NUMBER": Object { "Fn::GetAtt": Array [ "ChimephoneNumberChimePhoneNumberpstnCustomResourceDFB46FB1", "phoneNumber", ], }, "SMA_ID": Object { "Fn::GetAtt": Array [ "ChimesipMediaAppsipMediaAppRequestpstnCustomResource505FA3C9", "sipMediaAppId", ], }, "VOICE_CONNECTOR_ARN": "", "VOICE_CONNECTOR_PHONE": "", }, }, "Handler": "index.handler", "Role": Object { "Fn::GetAtt": Array [ "InfrastructureinfrastructureRole80511D48", "Arn", ], }, "Runtime": "nodejs18.x", "Timeout": 60, }, "Type": "AWS::Lambda::Function", }, "InfrastructureclickToCallApiAccountE88BF4DC": Object { "DeletionPolicy": "Retain", "DependsOn": Array [ "InfrastructureclickToCallApiEFC07FEC", ], "Properties": Object { "CloudWatchRoleArn": Object { "Fn::GetAtt": Array [ "InfrastructureclickToCallApiCloudWatchRoleBD5096AF", "Arn", ], }, }, "Type": "AWS::ApiGateway::Account", "UpdateReplacePolicy": "Retain", }, "InfrastructureclickToCallApiCloudWatchRoleBD5096AF": Object { "DeletionPolicy": "Retain", "Properties": Object { "AssumeRolePolicyDocument": Object { "Statement": Array [ Object { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": Object { "Service": "apigateway.amazonaws.com", }, }, ], "Version": "2012-10-17", }, "ManagedPolicyArns": Array [ Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":iam::aws:policy/service-role/AmazonAPIGatewayPushToCloudWatchLogs", ], ], }, ], }, "Type": "AWS::IAM::Role", "UpdateReplacePolicy": "Retain", }, "InfrastructureclickToCallApiDeployment2AA67CCCfe420dfd1b384fb369eff1c6fc62f240": Object { "DependsOn": Array [ "InfrastructureclickToCallApidialOPTIONS975A7DE2", "InfrastructureclickToCallApidialPOST9BBA9F9F", "InfrastructureclickToCallApidial4C740144", "InfrastructureclickToCallApiOPTIONS6DBD1FFC", "InfrastructureclickToCallApiupdateOPTIONS86D242F9", "InfrastructureclickToCallApiupdatePOST3E25D002", "InfrastructureclickToCallApiupdate3AB7B8DA", ], "Properties": Object { "Description": "Automatically created by the RestApi construct", "RestApiId": Object { "Ref": "InfrastructureclickToCallApiEFC07FEC", }, }, "Type": "AWS::ApiGateway::Deployment", }, "InfrastructureclickToCallApiDeploymentStageprodD09C17F5": Object { "DependsOn": Array [ "InfrastructureclickToCallApiAccountE88BF4DC", ], "Properties": Object { "DeploymentId": Object { "Ref": "InfrastructureclickToCallApiDeployment2AA67CCCfe420dfd1b384fb369eff1c6fc62f240", }, "MethodSettings": Array [ Object { "DataTraceEnabled": true, "HttpMethod": "*", "LoggingLevel": "INFO", "ResourcePath": "/*", }, ], "RestApiId": Object { "Ref": "InfrastructureclickToCallApiEFC07FEC", }, "StageName": "prod", }, "Type": "AWS::ApiGateway::Stage", }, "InfrastructureclickToCallApiEFC07FEC": Object { "Properties": Object { "EndpointConfiguration": Object { "Types": Array [ "REGIONAL", ], }, "Name": "clickToCallApi", }, "Type": "AWS::ApiGateway::RestApi", }, "InfrastructureclickToCallApiOPTIONS6DBD1FFC": Object { "Properties": Object { "ApiKeyRequired": false, "AuthorizationType": "NONE", "HttpMethod": "OPTIONS", "Integration": Object { "IntegrationResponses": Array [ Object { "ResponseParameters": Object { "method.response.header.Access-Control-Allow-Credentials": "'true'", "method.response.header.Access-Control-Allow-Headers": "'Content-Type,X-Amz-Date,Authorization,X-Api-Key'", "method.response.header.Access-Control-Allow-Methods": "'OPTIONS,POST'", "method.response.header.Access-Control-Allow-Origin": "'*'", }, "StatusCode": "204", }, ], "RequestTemplates": Object { "application/json": "{ statusCode: 200 }", }, "Type": "MOCK", }, "MethodResponses": Array [ Object { "ResponseParameters": Object { "method.response.header.Access-Control-Allow-Credentials": true, "method.response.header.Access-Control-Allow-Headers": true, "method.response.header.Access-Control-Allow-Methods": true, "method.response.header.Access-Control-Allow-Origin": true, }, "StatusCode": "204", }, ], "ResourceId": Object { "Fn::GetAtt": Array [ "InfrastructureclickToCallApiEFC07FEC", "RootResourceId", ], }, "RestApiId": Object { "Ref": "InfrastructureclickToCallApiEFC07FEC", }, }, "Type": "AWS::ApiGateway::Method", }, "InfrastructureclickToCallApidial4C740144": Object { "Properties": Object { "ParentId": Object { "Fn::GetAtt": Array [ "InfrastructureclickToCallApiEFC07FEC", "RootResourceId", ], }, "PathPart": "dial", "RestApiId": Object { "Ref": "InfrastructureclickToCallApiEFC07FEC", }, }, "Type": "AWS::ApiGateway::Resource", }, "InfrastructureclickToCallApidialOPTIONS975A7DE2": Object { "Properties": Object { "ApiKeyRequired": false, "AuthorizationType": "NONE", "HttpMethod": "OPTIONS", "Integration": Object { "IntegrationResponses": Array [ Object { "ResponseParameters": Object { "method.response.header.Access-Control-Allow-Credentials": "'true'", "method.response.header.Access-Control-Allow-Headers": "'Content-Type,X-Amz-Date,Authorization,X-Api-Key'", "method.response.header.Access-Control-Allow-Methods": "'OPTIONS,POST'", "method.response.header.Access-Control-Allow-Origin": "'*'", }, "StatusCode": "204", }, ], "RequestTemplates": Object { "application/json": "{ statusCode: 200 }", }, "Type": "MOCK", }, "MethodResponses": Array [ Object { "ResponseParameters": Object { "method.response.header.Access-Control-Allow-Credentials": true, "method.response.header.Access-Control-Allow-Headers": true, "method.response.header.Access-Control-Allow-Methods": true, "method.response.header.Access-Control-Allow-Origin": true, }, "StatusCode": "204", }, ], "ResourceId": Object { "Ref": "InfrastructureclickToCallApidial4C740144", }, "RestApiId": Object { "Ref": "InfrastructureclickToCallApiEFC07FEC", }, }, "Type": "AWS::ApiGateway::Method", }, "InfrastructureclickToCallApidialPOST9BBA9F9F": Object { "Properties": Object { "AuthorizationType": "COGNITO_USER_POOLS", "AuthorizerId": Object { "Ref": "Infrastructureauth4BEB723B", }, "HttpMethod": "POST", "Integration": Object { "IntegrationHttpMethod": "POST", "Type": "AWS_PROXY", "Uri": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":apigateway:", Object { "Ref": "AWS::Region", }, ":lambda:path/2015-03-31/functions/", Object { "Fn::GetAtt": Array [ "InfrastructurecallControlLambdaD681613E", "Arn", ], }, "/invocations", ], ], }, }, "ResourceId": Object { "Ref": "InfrastructureclickToCallApidial4C740144", }, "RestApiId": Object { "Ref": "InfrastructureclickToCallApiEFC07FEC", }, }, "Type": "AWS::ApiGateway::Method", }, "InfrastructureclickToCallApidialPOSTApiPermissionTesttestInfrastructureclickToCallApiE27EEFC3POSTdial8B2D38A5": Object { "Properties": Object { "Action": "lambda:InvokeFunction", "FunctionName": Object { "Fn::GetAtt": Array [ "InfrastructurecallControlLambdaD681613E", "Arn", ], }, "Principal": "apigateway.amazonaws.com", "SourceArn": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":execute-api:", Object { "Ref": "AWS::Region", }, ":", Object { "Ref": "AWS::AccountId", }, ":", Object { "Ref": "InfrastructureclickToCallApiEFC07FEC", }, "/test-invoke-stage/POST/dial", ], ], }, }, "Type": "AWS::Lambda::Permission", }, "InfrastructureclickToCallApidialPOSTApiPermissiontestInfrastructureclickToCallApiE27EEFC3POSTdialC14CB26E": Object { "Properties": Object { "Action": "lambda:InvokeFunction", "FunctionName": Object { "Fn::GetAtt": Array [ "InfrastructurecallControlLambdaD681613E", "Arn", ], }, "Principal": "apigateway.amazonaws.com", "SourceArn": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":execute-api:", Object { "Ref": "AWS::Region", }, ":", Object { "Ref": "AWS::AccountId", }, ":", Object { "Ref": "InfrastructureclickToCallApiEFC07FEC", }, "/", Object { "Ref": "InfrastructureclickToCallApiDeploymentStageprodD09C17F5", }, "/POST/dial", ], ], }, }, "Type": "AWS::Lambda::Permission", }, "InfrastructureclickToCallApiupdate3AB7B8DA": Object { "Properties": Object { "ParentId": Object { "Fn::GetAtt": Array [ "InfrastructureclickToCallApiEFC07FEC", "RootResourceId", ], }, "PathPart": "update", "RestApiId": Object { "Ref": "InfrastructureclickToCallApiEFC07FEC", }, }, "Type": "AWS::ApiGateway::Resource", }, "InfrastructureclickToCallApiupdateOPTIONS86D242F9": Object { "Properties": Object { "ApiKeyRequired": false, "AuthorizationType": "NONE", "HttpMethod": "OPTIONS", "Integration": Object { "IntegrationResponses": Array [ Object { "ResponseParameters": Object { "method.response.header.Access-Control-Allow-Credentials": "'true'", "method.response.header.Access-Control-Allow-Headers": "'Content-Type,X-Amz-Date,Authorization,X-Api-Key'", "method.response.header.Access-Control-Allow-Methods": "'OPTIONS,POST'", "method.response.header.Access-Control-Allow-Origin": "'*'", }, "StatusCode": "204", }, ], "RequestTemplates": Object { "application/json": "{ statusCode: 200 }", }, "Type": "MOCK", }, "MethodResponses": Array [ Object { "ResponseParameters": Object { "method.response.header.Access-Control-Allow-Credentials": true, "method.response.header.Access-Control-Allow-Headers": true, "method.response.header.Access-Control-Allow-Methods": true, "method.response.header.Access-Control-Allow-Origin": true, }, "StatusCode": "204", }, ], "ResourceId": Object { "Ref": "InfrastructureclickToCallApiupdate3AB7B8DA", }, "RestApiId": Object { "Ref": "InfrastructureclickToCallApiEFC07FEC", }, }, "Type": "AWS::ApiGateway::Method", }, "InfrastructureclickToCallApiupdatePOST3E25D002": Object { "Properties": Object { "AuthorizationType": "COGNITO_USER_POOLS", "AuthorizerId": Object { "Ref": "Infrastructureauth4BEB723B", }, "HttpMethod": "POST", "Integration": Object { "IntegrationHttpMethod": "POST", "Type": "AWS_PROXY", "Uri": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":apigateway:", Object { "Ref": "AWS::Region", }, ":lambda:path/2015-03-31/functions/", Object { "Fn::GetAtt": Array [ "InfrastructureupdateCallLambda46AFE9E4", "Arn", ], }, "/invocations", ], ], }, }, "ResourceId": Object { "Ref": "InfrastructureclickToCallApiupdate3AB7B8DA", }, "RestApiId": Object { "Ref": "InfrastructureclickToCallApiEFC07FEC", }, }, "Type": "AWS::ApiGateway::Method", }, "InfrastructureclickToCallApiupdatePOSTApiPermissionTesttestInfrastructureclickToCallApiE27EEFC3POSTupdate160F9CCF": Object { "Properties": Object { "Action": "lambda:InvokeFunction", "FunctionName": Object { "Fn::GetAtt": Array [ "InfrastructureupdateCallLambda46AFE9E4", "Arn", ], }, "Principal": "apigateway.amazonaws.com", "SourceArn": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":execute-api:", Object { "Ref": "AWS::Region", }, ":", Object { "Ref": "AWS::AccountId", }, ":", Object { "Ref": "InfrastructureclickToCallApiEFC07FEC", }, "/test-invoke-stage/POST/update", ], ], }, }, "Type": "AWS::Lambda::Permission", }, "InfrastructureclickToCallApiupdatePOSTApiPermissiontestInfrastructureclickToCallApiE27EEFC3POSTupdateB7D6A324": Object { "Properties": Object { "Action": "lambda:InvokeFunction", "FunctionName": Object { "Fn::GetAtt": Array [ "InfrastructureupdateCallLambda46AFE9E4", "Arn", ], }, "Principal": "apigateway.amazonaws.com", "SourceArn": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":execute-api:", Object { "Ref": "AWS::Region", }, ":", Object { "Ref": "AWS::AccountId", }, ":", Object { "Ref": "InfrastructureclickToCallApiEFC07FEC", }, "/", Object { "Ref": "InfrastructureclickToCallApiDeploymentStageprodD09C17F5", }, "/POST/update", ], ], }, }, "Type": "AWS::Lambda::Permission", }, "InfrastructureinfrastructureRole80511D48": Object { "Properties": Object { "AssumeRolePolicyDocument": Object { "Statement": Array [ Object { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": Object { "Service": "lambda.amazonaws.com", }, }, ], "Version": "2012-10-17", }, "ManagedPolicyArns": Array [ Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole", ], ], }, ], "Policies": Array [ Object { "PolicyDocument": Object { "Statement": Array [ Object { "Action": "chime:*", "Effect": "Allow", "Resource": "*", }, ], "Version": "2012-10-17", }, "PolicyName": "chimePolicy", }, ], }, "Type": "AWS::IAM::Role", }, "InfrastructureupdateCallLambda46AFE9E4": Object { "DependsOn": Array [ "InfrastructureinfrastructureRole80511D48", ], "Properties": Object { "Architectures": Array [ "arm64", ], "Code": Object { "S3Bucket": Object { "Fn::Sub": "cdk-hnb659fds-assets-\${AWS::AccountId}-\${AWS::Region}", }, "S3Key": "866c60db57cdf544af6648c68d5eda75a12521b99ebc81dc1f46a6d5a04fd274.zip", }, "Environment": Object { "Variables": Object { "AWS_NODEJS_CONNECTION_REUSE_ENABLED": "1", "FROM_NUMBER": Object { "Fn::GetAtt": Array [ "ChimephoneNumberChimePhoneNumberpstnCustomResourceDFB46FB1", "phoneNumber", ], }, "SMA_ID": Object { "Fn::GetAtt": Array [ "ChimesipMediaAppsipMediaAppRequestpstnCustomResource505FA3C9", "sipMediaAppId", ], }, "VOICE_CONNECTOR_ARN": "", "VOICE_CONNECTOR_PHONE": "", }, }, "Handler": "index.handler", "Role": Object { "Fn::GetAtt": Array [ "InfrastructureinfrastructureRole80511D48", "Arn", ], }, "Runtime": "nodejs18.x", "Timeout": 60, }, "Type": "AWS::Lambda::Function", }, "SiteCloudfrontDistribution0794B6B8": Object { "Properties": Object { "DistributionConfig": Object { "DefaultCacheBehavior": Object { "CachePolicyId": "4135ea2d-6df8-44a3-9df3-4b5a84be39ad", "Compress": true, "TargetOriginId": "testSiteCloudfrontDistributionOrigin14F75D719", "ViewerProtocolPolicy": "redirect-to-https", }, "DefaultRootObject": "index.html", "Enabled": true, "HttpVersion": "http2", "IPV6Enabled": true, "Origins": Array [ Object { "DomainName": Object { "Fn::GetAtt": Array [ "SitewebsiteBucketBC20A569", "RegionalDomainName", ], }, "Id": "testSiteCloudfrontDistributionOrigin14F75D719", "S3OriginConfig": Object { "OriginAccessIdentity": Object { "Fn::Join": Array [ "", Array [ "origin-access-identity/cloudfront/", Object { "Ref": "SiteCloudfrontDistributionOrigin1S3Origin4F2AB6D1", }, ], ], }, }, }, ], }, }, "Type": "AWS::CloudFront::Distribution", }, "SiteCloudfrontDistributionOrigin1S3Origin4F2AB6D1": Object { "Properties": Object { "CloudFrontOriginAccessIdentityConfig": Object { "Comment": "Identity for testSiteCloudfrontDistributionOrigin14F75D719", }, }, "Type": "AWS::CloudFront::CloudFrontOriginAccessIdentity", }, "SiteDeployBucketAwsCliLayerB1A3335C": Object { "Properties": Object { "Content": Object { "S3Bucket": Object { "Fn::Sub": "cdk-hnb659fds-assets-\${AWS::AccountId}-\${AWS::Region}", }, "S3Key": "88b83f5f61fe6f85ffcd0a37a09a8f3be90e7c090964b0b62b062eb8a5a1a3a7.zip", }, "Description": "/opt/awscli/aws", }, "Type": "AWS::Lambda::LayerVersion", }, "SiteDeployBucketCustomResource08EC962A": Object { "DeletionPolicy": "Delete", "Properties": Object { "DestinationBucketName": Object { "Ref": "SitewebsiteBucketBC20A569", }, "DistributionId": Object { "Ref": "SiteCloudfrontDistribution0794B6B8", }, "DistributionPaths": Array [ "/*", ], "Prune": true, "ServiceToken": Object { "Fn::GetAtt": Array [ "CustomCDKBucketDeployment8693BB64968944B69AAFB0CC9EB8756C81C01536", "Arn", ], }, "SourceBucketNames": Array [ Object { "Fn::Sub": "cdk-hnb659fds-assets-\${AWS::AccountId}-\${AWS::Region}", }, Object { "Fn::Sub": "cdk-hnb659fds-assets-\${AWS::AccountId}-\${AWS::Region}", }, ], "SourceMarkers": Array [ Object {}, Object { "<>": Object { "Ref": "InfrastructureclickToCallApiEFC07FEC", }, "<>": Object { "Ref": "AWS::Region", }, "<>": Object { "Ref": "AWS::URLSuffix", }, "<>": Object { "Ref": "InfrastructureclickToCallApiDeploymentStageprodD09C17F5", }, "<>": Object { "Ref": "AWS::Region", }, "<>": Object { "Ref": "CognitoUserPool279BBD48", }, "<>": Object { "Ref": "CognitoUserPoolClientEF2538C4", }, "<>": Object { "Ref": "CognitocognitoIdentityPool626065C7", }, }, ], "SourceObjectKeys": Array [ "7cdb3151fd485fa65b2159d44bc810ffd1b76f7ba7087638382c8ccc2c1537b8.zip", "7e2723da3d38f7cfb88b2c953d1b5da26dfd4aa7361cdb0bfcdf6041e0a71cad.zip", ], }, "Type": "Custom::CDKBucketDeployment", "UpdateReplacePolicy": "Delete", }, "SitewebsiteBucketAutoDeleteObjectsCustomResourceB62EAF63": Object { "DeletionPolicy": "Delete", "DependsOn": Array [ "SitewebsiteBucketPolicyC20F0243", ], "Properties": Object { "BucketName": Object { "Ref": "SitewebsiteBucketBC20A569", }, "ServiceToken": Object { "Fn::GetAtt": Array [ "CustomS3AutoDeleteObjectsCustomResourceProviderHandler9D90184F", "Arn", ], }, }, "Type": "Custom::S3AutoDeleteObjects", "UpdateReplacePolicy": "Delete", }, "SitewebsiteBucketBC20A569": Object { "DeletionPolicy": "Delete", "Properties": Object { "Tags": Array [ Object { "Key": "aws-cdk:auto-delete-objects", "Value": "true", }, Object { "Key": "aws-cdk:cr-owned:7d2ce709", "Value": "true", }, ], }, "Type": "AWS::S3::Bucket", "UpdateReplacePolicy": "Delete", }, "SitewebsiteBucketPolicyC20F0243": Object { "Properties": Object { "Bucket": Object { "Ref": "SitewebsiteBucketBC20A569", }, "PolicyDocument": Object { "Statement": Array [ Object { "Action": Array [ "s3:GetBucket*", "s3:List*", "s3:DeleteObject*", ], "Effect": "Allow", "Principal": Object { "AWS": Object { "Fn::GetAtt": Array [ "CustomS3AutoDeleteObjectsCustomResourceProviderRole3B1BD092", "Arn", ], }, }, "Resource": Array [ Object { "Fn::GetAtt": Array [ "SitewebsiteBucketBC20A569", "Arn", ], }, Object { "Fn::Join": Array [ "", Array [ Object { "Fn::GetAtt": Array [ "SitewebsiteBucketBC20A569", "Arn", ], }, "/*", ], ], }, ], }, Object { "Action": "s3:GetObject", "Effect": "Allow", "Principal": Object { "CanonicalUser": Object { "Fn::GetAtt": Array [ "SiteCloudfrontDistributionOrigin1S3Origin4F2AB6D1", "S3CanonicalUserId", ], }, }, "Resource": Object { "Fn::Join": Array [ "", Array [ Object { "Fn::GetAtt": Array [ "SitewebsiteBucketBC20A569", "Arn", ], }, "/*", ], ], }, }, ], "Version": "2012-10-17", }, }, "Type": "AWS::S3::BucketPolicy", }, }, "Rules": Object { "CheckBootstrapVersion": Object { "Assertions": Array [ Object { "Assert": Object { "Fn::Not": Array [ Object { "Fn::Contains": Array [ Array [ "1", "2", "3", "4", "5", ], Object { "Ref": "BootstrapVersion", }, ], }, ], }, "AssertDescription": "CDK bootstrap stack version 6 required. Please run 'cdk bootstrap' with a recent version of the CDK CLI.", }, ], }, }, } `; exports[`SnapshotWithAsterisk 1`] = ` Object { "Mappings": Object { "DefaultCrNodeVersionMap": Object { "af-south-1": Object { "value": "nodejs16.x", }, "ap-east-1": Object { "value": "nodejs16.x", }, "ap-northeast-1": Object { "value": "nodejs16.x", }, "ap-northeast-2": Object { "value": "nodejs16.x", }, "ap-northeast-3": Object { "value": "nodejs16.x", }, "ap-south-1": Object { "value": "nodejs16.x", }, "ap-south-2": Object { "value": "nodejs16.x", }, "ap-southeast-1": Object { "value": "nodejs16.x", }, "ap-southeast-2": Object { "value": "nodejs16.x", }, "ap-southeast-3": Object { "value": "nodejs16.x", }, "ca-central-1": Object { "value": "nodejs16.x", }, "cn-north-1": Object { "value": "nodejs16.x", }, "cn-northwest-1": Object { "value": "nodejs16.x", }, "eu-central-1": Object { "value": "nodejs16.x", }, "eu-central-2": Object { "value": "nodejs16.x", }, "eu-north-1": Object { "value": "nodejs16.x", }, "eu-south-1": Object { "value": "nodejs16.x", }, "eu-south-2": Object { "value": "nodejs16.x", }, "eu-west-1": Object { "value": "nodejs16.x", }, "eu-west-2": Object { "value": "nodejs16.x", }, "eu-west-3": Object { "value": "nodejs16.x", }, "me-central-1": Object { "value": "nodejs16.x", }, "me-south-1": Object { "value": "nodejs16.x", }, "sa-east-1": Object { "value": "nodejs16.x", }, "us-east-1": Object { "value": "nodejs16.x", }, "us-east-2": Object { "value": "nodejs16.x", }, "us-gov-east-1": Object { "value": "nodejs16.x", }, "us-gov-west-1": Object { "value": "nodejs16.x", }, "us-iso-east-1": Object { "value": "nodejs14.x", }, "us-iso-west-1": Object { "value": "nodejs14.x", }, "us-isob-east-1": Object { "value": "nodejs14.x", }, "us-west-1": Object { "value": "nodejs16.x", }, "us-west-2": Object { "value": "nodejs16.x", }, }, }, "Outputs": Object { "InfrastructureclickToCallApiEndpointFB01AAB3": Object { "Value": Object { "Fn::Join": Array [ "", Array [ "https://", Object { "Ref": "InfrastructureclickToCallApiEFC07FEC", }, ".execute-api.", Object { "Ref": "AWS::Region", }, ".", Object { "Ref": "AWS::URLSuffix", }, "/", Object { "Ref": "InfrastructureclickToCallApiDeploymentStageprodD09C17F5", }, "/", ], ], }, }, "fromNumber": Object { "Value": Object { "Fn::GetAtt": Array [ "ChimephoneNumberChimePhoneNumberpstnCustomResourceDFB46FB1", "phoneNumber", ], }, }, "instanceId": Object { "Value": Object { "Ref": "AsteriskInstanceDB13446260b0d1addfd226fd", }, }, "site": Object { "Value": Object { "Fn::GetAtt": Array [ "SiteCloudfrontDistribution0794B6B8", "DomainName", ], }, }, "siteBucket": Object { "Value": Object { "Ref": "SitewebsiteBucketBC20A569", }, }, "ssmCommand": Object { "Value": Object { "Fn::Join": Array [ "", Array [ "aws ssm start-session --target ", Object { "Ref": "AsteriskInstanceDB13446260b0d1addfd226fd", }, ], ], }, }, "voiceConnectorPhone": Object { "Value": Object { "Fn::GetAtt": Array [ "AsteriskvoiceConnectorPhoneNumberChimePhoneNumberpstnCustomResource9B765602", "phoneNumber", ], }, }, }, "Parameters": Object { "BootstrapVersion": Object { "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", }, "SsmParameterValueawsserviceamiamazonlinuxlatestamzn2amihvmarm64gp2C96584B6F00A464EAD1953AFF4B05118Parameter": Object { "Default": "/aws/service/ami-amazon-linux-latest/amzn2-ami-hvm-arm64-gp2", "Type": "AWS::SSM::Parameter::Value", }, }, "Resources": Object { "AWS679f53fac002430cb0da5b7982bd22872D164C4C": Object { "DependsOn": Array [ "AWS679f53fac002430cb0da5b7982bd2287ServiceRoleC1EA0FF2", ], "Properties": Object { "Code": Object { "S3Bucket": Object { "Fn::Sub": "cdk-hnb659fds-assets-\${AWS::AccountId}-\${AWS::Region}", }, "S3Key": "f9346b940b724b094a16ca051c017799995fa93df6da38a0539bf7c000fee50a.zip", }, "Handler": "index.handler", "Role": Object { "Fn::GetAtt": Array [ "AWS679f53fac002430cb0da5b7982bd2287ServiceRoleC1EA0FF2", "Arn", ], }, "Runtime": Object { "Fn::FindInMap": Array [ "DefaultCrNodeVersionMap", Object { "Ref": "AWS::Region", }, "value", ], }, "Timeout": 120, }, "Type": "AWS::Lambda::Function", }, "AWS679f53fac002430cb0da5b7982bd2287ServiceRoleC1EA0FF2": Object { "Properties": Object { "AssumeRolePolicyDocument": Object { "Statement": Array [ Object { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": Object { "Service": "lambda.amazonaws.com", }, }, ], "Version": "2012-10-17", }, "ManagedPolicyArns": Array [ Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole", ], ], }, ], }, "Type": "AWS::IAM::Role", }, "AsteriskAsteriskSecurityGroup2A659F86": Object { "Properties": Object { "GroupDescription": "Security Group for Asterisk Instance", "SecurityGroupEgress": Array [ Object { "CidrIp": "0.0.0.0/0", "Description": "Allow all outbound traffic by default", "IpProtocol": "-1", }, ], "SecurityGroupIngress": Array [ Object { "CidrIp": "3.80.16.0/23", "Description": "Allow Chime Voice Connector Signaling Access", "FromPort": 5060, "IpProtocol": "udp", "ToPort": 5060, }, Object { "CidrIp": "3.80.16.0/23", "Description": "Allow Chime Voice Connector Signaling Access", "FromPort": 5060, "IpProtocol": "tcp", "ToPort": 5061, }, Object { "CidrIp": "99.77.253.0/24", "Description": "Allow Chime Voice Connector Signaling Access", "FromPort": 5060, "IpProtocol": "udp", "ToPort": 5060, }, Object { "CidrIp": "99.77.253.0/24", "Description": "Allow Chime Voice Connector Signaling Access", "FromPort": 5060, "IpProtocol": "tcp", "ToPort": 5061, }, Object { "CidrIp": "99.77.253.0/24", "Description": "Allow Chime Voice Connector Signaling Access", "FromPort": 5000, "IpProtocol": "udp", "ToPort": 65000, }, Object { "CidrIp": "3.80.16.0/23", "Description": "Allow Chime Voice Connector Media Access", "FromPort": 5000, "IpProtocol": "udp", "ToPort": 65000, }, Object { "CidrIp": "52.55.62.128/25", "Description": "Allow Chime Voice Connector Media Access", "FromPort": 1024, "IpProtocol": "udp", "ToPort": 65535, }, Object { "CidrIp": "52.55.63.0/25", "Description": "Allow Chime Voice Connector Media Access", "FromPort": 1024, "IpProtocol": "udp", "ToPort": 65535, }, Object { "CidrIp": "34.212.95.128/25", "Description": "Allow Chime Voice Connector Media Access", "FromPort": 1024, "IpProtocol": "udp", "ToPort": 65535, }, Object { "CidrIp": "34.223.21.0/25", "Description": "Allow Chime Voice Connector Media Access", "FromPort": 1024, "IpProtocol": "udp", "ToPort": 65535, }, ], "VpcId": Object { "Ref": "AsteriskVPCFD344048", }, }, "Type": "AWS::EC2::SecurityGroup", }, "AsteriskEIPAssociation3A327365": Object { "Properties": Object { "EIP": Object { "Ref": "AsteriskasteriskEipB136F44F", }, "InstanceId": Object { "Ref": "AsteriskInstanceDB13446260b0d1addfd226fd", }, }, "Type": "AWS::EC2::EIPAssociation", }, "AsteriskInstanceDB13446260b0d1addfd226fd": Object { "CreationPolicy": Object { "ResourceSignal": Object { "Count": 1, "Timeout": "PT15M", }, }, "DependsOn": Array [ "AsteriskasteriskEc2RoleDefaultPolicyD6292042", "AsteriskasteriskEc2Role33F478B3", ], "Metadata": Object { "AWS::CloudFormation::Init": Object { "config": Object { "commands": Object { "000": Object { "command": "chmod +x /etc/config_asterisk.sh", }, "001": Object { "command": "/etc/config_asterisk.sh", }, }, "files": Object { "/etc/asterisk/asterisk.conf": Object { "content": "[options] runuser = asterisk rungroup = asterisk", "encoding": "plain", "group": "root", "mode": "000644", "owner": "root", }, "/etc/asterisk/extensions.conf": Object { "content": "; extensions.conf - the Asterisk dial plan ; [general] static=yes writeprotect=no clearglobalvars=no [catch-all] exten => _[+0-9].,1,Answer() exten => _[+0-9].,n,Wait(1) exten => _[+0-9].,n,Playback(hello-world) exten => _[+0-9].,n,Wait(1) exten => _[+0-9].,n,Echo() exten => _[+0-9].,n,Wait(1) exten => _[+0-9].,n,Hangup() [from-phone] include => outbound_phone [outbound_phone] exten => _+X.,1,NoOP(Outbound Normal) same => n,Dial(PJSIP/\${EXTEN}@VoiceConnector,20) same => n,Congestion [from-voiceConnector] include => phones include => catch-all [phones] exten => PHONE_NUMBER,1,Dial(PJSIP/PHONE_NUMBER)", "encoding": "plain", "group": "root", "mode": "000644", "owner": "root", }, "/etc/asterisk/logger.conf": Object { "content": "[general] [logfiles] console = verbose,notice,warning,error messages = notice,warning,error", "encoding": "plain", "group": "root", "mode": "000644", "owner": "root", }, "/etc/asterisk/modules.conf": Object { "content": "[modules] autoload = no ; This is a minimal module load. We are loading only the modules ; required for the Asterisk features used in the \\"Super Awesome ; Company\\" configuration. ; Applications load = app_bridgewait.so load = app_dial.so load = app_playback.so load = app_stack.so load = app_verbose.so load = app_voicemail.so load = app_directory.so load = app_confbridge.so load = app_queue.so load = app_echo.so ; Bridging load = bridge_builtin_features.so load = bridge_builtin_interval_features.so load = bridge_holding.so load = bridge_native_rtp.so load = bridge_simple.so load = bridge_softmix.so ; Call Detail Records load = cdr_custom.so ; Channel Drivers load = chan_bridge_media.so load = chan_pjsip.so ; Codecs load = codec_gsm.so load = codec_resample.so load = codec_ulaw.so load = codec_g722.so ; Formats load = format_gsm.so load = format_pcm.so load = format_wav_gsm.so load = format_wav.so ; Functions load = func_callerid.so load = func_cdr.so load = func_pjsip_endpoint.so load = func_sorcery.so load = func_devstate.so load = func_strings.so ; Core/PBX load = pbx_config.so ; Resources load = res_http_websocket.so load = res_musiconhold.so load = res_pjproject.so load = res_pjsip_acl.so load = res_pjsip_authenticator_digest.so load = res_pjsip_caller_id.so load = res_pjsip_dialog_info_body_generator.so load = res_pjsip_diversion.so load = res_pjsip_dtmf_info.so load = res_pjsip_endpoint_identifier_anonymous.so load = res_pjsip_endpoint_identifier_ip.so load = res_pjsip_endpoint_identifier_user.so load = res_pjsip_exten_state.so load = res_pjsip_header_funcs.so load = res_pjsip_logger.so load = res_pjsip_messaging.so load = res_pjsip_mwi_body_generator.so load = res_pjsip_mwi.so load = res_pjsip_nat.so load = res_pjsip_notify.so load = res_pjsip_one_touch_record_info.so load = res_pjsip_outbound_authenticator_digest.so load = res_pjsip_outbound_publish.so load = res_pjsip_outbound_registration.so load = res_pjsip_path.so load = res_pjsip_pidf_body_generator.so load = res_pjsip_pidf_digium_body_supplement.so load = res_pjsip_pidf_eyebeam_body_supplement.so load = res_pjsip_publish_asterisk.so load = res_pjsip_pubsub.so load = res_pjsip_refer.so load = res_pjsip_registrar.so load = res_pjsip_rfc3326.so load = res_pjsip_sdp_rtp.so load = res_pjsip_send_to_voicemail.so load = res_pjsip_session.so load = res_pjsip.so load = res_pjsip_t38.so load = res_pjsip_transport_websocket.so load = res_pjsip_xpidf_body_generator.so load = res_rtp_asterisk.so load = res_sorcery_astdb.so load = res_sorcery_config.so load = res_sorcery_memory.so load = res_sorcery_realtime.so load = res_timing_timerfd.so ; Do not load res_hep and kin unless you are using HEP monitoring ; in your network. noload = res_hep.so noload = res_hep_pjsip.so noload = res_hep_rtcp.so", "encoding": "plain", "group": "root", "mode": "000644", "owner": "root", }, "/etc/asterisk/pjsip.conf": Object { "content": "[udp] type=transport protocol=udp bind=0.0.0.0 external_media_address=IP_ADDRESS external_signaling_address=IP_ADDRESS allow_reload=yes [VoiceConnector] type=endpoint context=from-voiceConnector transport=udp disallow=all allow=ulaw aors=VoiceConnector direct_media=no ice_support=yes force_rport=yes [VoiceConnector] type=identify endpoint=VoiceConnector match=OUTBOUND_HOST_NAME [VoiceConnector] type=aor contact=sip:OUTBOUND_HOST_NAME [PHONE_NUMBER] type=endpoint context=from-phone disallow=all allow=ulaw transport=udp auth=PHONE_NUMBER aors=PHONE_NUMBER send_pai=yes direct_media=no rewrite_contact=yes ice_support=yes force_rport=yes [PHONE_NUMBER] type=auth auth_type=userpass password=ChimeDemo username=PHONE_NUMBER [PHONE_NUMBER] type=aor max_contacts=5", "encoding": "plain", "group": "root", "mode": "000644", "owner": "root", }, "/etc/config_asterisk.sh": Object { "content": "#!/bin/bash -xe IP=$( jq -r '.IP' /etc/config.json ) OUTBOUND_HOSTNAME=$( jq -r '.OutboundHostName' /etc/config.json ) PHONE_NUMBER=$( jq -r '.PhoneNumber' /etc/config.json ) sed -i \\"s/IP_ADDRESS/$IP/g\\" /etc/asterisk/pjsip.conf sed -i \\"s/OUTBOUND_HOST_NAME/$OUTBOUND_HOSTNAME/g\\" /etc/asterisk/pjsip.conf sed -i \\"s/PHONE_NUMBER/$PHONE_NUMBER/g\\" /etc/asterisk/pjsip.conf sed -i \\"s/PHONE_NUMBER/$PHONE_NUMBER/g\\" /etc/asterisk/extensions.conf groupadd asterisk useradd -r -d /var/lib/asterisk -g asterisk asterisk usermod -aG audio,dialout asterisk chown -R asterisk.asterisk /etc/asterisk chown -R asterisk.asterisk /var/{lib,log,spool}/asterisk echo '0 * * * * /sbin/asterisk -rx \\"core reload\\"' > /etc/asterisk/crontab.txt crontab /etc/asterisk/crontab.txt systemctl start asterisk", "encoding": "plain", "group": "root", "mode": "000644", "owner": "root", }, }, }, "configSets": Object { "default": Array [ "install", "config", ], }, "install": Object { "commands": Object { "000": Object { "command": "chmod +x /etc/install.sh", }, "001": Object { "command": "cd /tmp", }, "002": Object { "command": "/etc/install.sh 2>&1 | tee /var/log/asterisk_install.log", }, }, "files": Object { "/etc/config.json": Object { "content": Object { "IP": Object { "Ref": "AsteriskasteriskEipB136F44F", }, "OutboundHostName": Object { "Fn::Join": Array [ "", Array [ Object { "Fn::GetAtt": Array [ "AsteriskvoiceConnectorvoiceConnectorRequestpstnCustomResource89C81395", "voiceConnectorId", ], }, ".voiceconnector.chime.aws", ], ], }, "PhoneNumber": Object { "Fn::GetAtt": Array [ "AsteriskvoiceConnectorPhoneNumberChimePhoneNumberpstnCustomResource9B765602", "phoneNumber", ], }, "REGION": Object { "Ref": "AWS::Region", }, }, "group": "root", "mode": "000644", "owner": "root", }, "/etc/install.sh": Object { "content": "#!/bin/bash -xe ## Copyright Amazon.com Inc. or its affiliates. HOMEDIR=/home/ec2-user cd /tmp yum -y install make gcc gcc-c++ make subversion libxml2-devel ncurses-devel openssl-devel vim-enhanced man glibc-devel autoconf libnewt kernel-devel kernel-headers linux-headers openssl-devel zlib-devel libsrtp libsrtp-devel uuid libuuid-devel mariadb-server jansson-devel libsqlite3x libsqlite3x-devel epel-release.noarch bash-completion bash-completion-extras unixODBC unixODBC-devel libtool-ltdl libtool-ltdl-devel mysql-connector-odbc mlocate libiodbc sqlite sqlite-devel sql-devel.i686 sqlite-doc.noarch sqlite-tcl.x86_64 patch libedit-devel jq wget https://downloads.asterisk.org/pub/telephony/asterisk/asterisk-18-current.tar.gz tar xvzf asterisk-18-current.tar.gz cd asterisk-18*/ ./configure --libdir=/usr/lib64 --with-jansson-bundled make menuselect.makeopts menuselect/menuselect \\\\ --disable BUILD_NATIVE \\\\ --disable chan_sip \\\\ --disable chan_skinny \\\\ --enable cdr_csv \\\\ --enable res_snmp \\\\ --enable res_http_websocket \\\\ menuselect.makeopts make make install make basic-pbx touch /etc/redhat-release make config ldconfig ", "encoding": "plain", "group": "root", "mode": "000644", "owner": "root", }, }, }, }, }, "Properties": Object { "AvailabilityZone": Object { "Fn::Select": Array [ 0, Object { "Fn::GetAZs": "", }, ], }, "IamInstanceProfile": Object { "Ref": "AsteriskInstanceInstanceProfile6D34C8D3", }, "ImageId": Object { "Ref": "SsmParameterValueawsserviceamiamazonlinuxlatestamzn2amihvmarm64gp2C96584B6F00A464EAD1953AFF4B05118Parameter", }, "InstanceType": "c6g.medium", "SecurityGroupIds": Array [ Object { "Fn::GetAtt": Array [ "AsteriskAsteriskSecurityGroup2A659F86", "GroupId", ], }, ], "SubnetId": Object { "Ref": "AsteriskVPCAsteriskPublicSubnet1SubnetDC7F3989", }, "Tags": Array [ Object { "Key": "Name", "Value": "test/Asterisk/Instance", }, ], "UserData": Object { "Fn::Base64": Object { "Fn::Join": Array [ "", Array [ "#!/bin/bash # fingerprint: c0d8c37dea888467 ( set +e /opt/aws/bin/cfn-init -v --region ", Object { "Ref": "AWS::Region", }, " --stack ", Object { "Ref": "AWS::StackName", }, " --resource AsteriskInstanceDB13446260b0d1addfd226fd --url https://cloudformation.", Object { "Ref": "AWS::Region", }, ".", Object { "Ref": "AWS::URLSuffix", }, " --role ", Object { "Ref": "AsteriskasteriskEc2Role33F478B3", }, " -c default /opt/aws/bin/cfn-signal -e $? --region ", Object { "Ref": "AWS::Region", }, " --stack ", Object { "Ref": "AWS::StackName", }, " --resource AsteriskInstanceDB13446260b0d1addfd226fd --url https://cloudformation.", Object { "Ref": "AWS::Region", }, ".", Object { "Ref": "AWS::URLSuffix", }, " --role ", Object { "Ref": "AsteriskasteriskEc2Role33F478B3", }, " cat /var/log/cfn-init.log >&2 )", ], ], }, }, }, "Type": "AWS::EC2::Instance", }, "AsteriskInstanceInstanceProfile6D34C8D3": Object { "Properties": Object { "Roles": Array [ Object { "Ref": "AsteriskasteriskEc2Role33F478B3", }, ], }, "Type": "AWS::IAM::InstanceProfile", }, "AsteriskVPCAsteriskPublicSubnet1DefaultRoute7A5C457B": Object { "DependsOn": Array [ "AsteriskVPCVPCGWC32ED547", ], "Properties": Object { "DestinationCidrBlock": "0.0.0.0/0", "GatewayId": Object { "Ref": "AsteriskVPCIGWD859AFE2", }, "RouteTableId": Object { "Ref": "AsteriskVPCAsteriskPublicSubnet1RouteTable6CEBDD13", }, }, "Type": "AWS::EC2::Route", }, "AsteriskVPCAsteriskPublicSubnet1RouteTable6CEBDD13": Object { "Properties": Object { "Tags": Array [ Object { "Key": "Name", "Value": "test/Asterisk/VPC/AsteriskPublicSubnet1", }, ], "VpcId": Object { "Ref": "AsteriskVPCFD344048", }, }, "Type": "AWS::EC2::RouteTable", }, "AsteriskVPCAsteriskPublicSubnet1RouteTableAssociationA0859A80": Object { "Properties": Object { "RouteTableId": Object { "Ref": "AsteriskVPCAsteriskPublicSubnet1RouteTable6CEBDD13", }, "SubnetId": Object { "Ref": "AsteriskVPCAsteriskPublicSubnet1SubnetDC7F3989", }, }, "Type": "AWS::EC2::SubnetRouteTableAssociation", }, "AsteriskVPCAsteriskPublicSubnet1SubnetDC7F3989": Object { "Properties": Object { "AvailabilityZone": Object { "Fn::Select": Array [ 0, Object { "Fn::GetAZs": "", }, ], }, "CidrBlock": "10.0.0.0/24", "MapPublicIpOnLaunch": true, "Tags": Array [ Object { "Key": "aws-cdk:subnet-name", "Value": "AsteriskPublic", }, Object { "Key": "aws-cdk:subnet-type", "Value": "Public", }, Object { "Key": "Name", "Value": "test/Asterisk/VPC/AsteriskPublicSubnet1", }, ], "VpcId": Object { "Ref": "AsteriskVPCFD344048", }, }, "Type": "AWS::EC2::Subnet", }, "AsteriskVPCAsteriskPublicSubnet2DefaultRoute8E9CAB97": Object { "DependsOn": Array [ "AsteriskVPCVPCGWC32ED547", ], "Properties": Object { "DestinationCidrBlock": "0.0.0.0/0", "GatewayId": Object { "Ref": "AsteriskVPCIGWD859AFE2", }, "RouteTableId": Object { "Ref": "AsteriskVPCAsteriskPublicSubnet2RouteTable0491573C", }, }, "Type": "AWS::EC2::Route", }, "AsteriskVPCAsteriskPublicSubnet2RouteTable0491573C": Object { "Properties": Object { "Tags": Array [ Object { "Key": "Name", "Value": "test/Asterisk/VPC/AsteriskPublicSubnet2", }, ], "VpcId": Object { "Ref": "AsteriskVPCFD344048", }, }, "Type": "AWS::EC2::RouteTable", }, "AsteriskVPCAsteriskPublicSubnet2RouteTableAssociation9EAC0220": Object { "Properties": Object { "RouteTableId": Object { "Ref": "AsteriskVPCAsteriskPublicSubnet2RouteTable0491573C", }, "SubnetId": Object { "Ref": "AsteriskVPCAsteriskPublicSubnet2Subnet013C0E02", }, }, "Type": "AWS::EC2::SubnetRouteTableAssociation", }, "AsteriskVPCAsteriskPublicSubnet2Subnet013C0E02": Object { "Properties": Object { "AvailabilityZone": Object { "Fn::Select": Array [ 1, Object { "Fn::GetAZs": "", }, ], }, "CidrBlock": "10.0.1.0/24", "MapPublicIpOnLaunch": true, "Tags": Array [ Object { "Key": "aws-cdk:subnet-name", "Value": "AsteriskPublic", }, Object { "Key": "aws-cdk:subnet-type", "Value": "Public", }, Object { "Key": "Name", "Value": "test/Asterisk/VPC/AsteriskPublicSubnet2", }, ], "VpcId": Object { "Ref": "AsteriskVPCFD344048", }, }, "Type": "AWS::EC2::Subnet", }, "AsteriskVPCFD344048": Object { "Properties": Object { "CidrBlock": "10.0.0.0/16", "EnableDnsHostnames": true, "EnableDnsSupport": true, "InstanceTenancy": "default", "Tags": Array [ Object { "Key": "Name", "Value": "test/Asterisk/VPC", }, ], }, "Type": "AWS::EC2::VPC", }, "AsteriskVPCIGWD859AFE2": Object { "Properties": Object { "Tags": Array [ Object { "Key": "Name", "Value": "test/Asterisk/VPC", }, ], }, "Type": "AWS::EC2::InternetGateway", }, "AsteriskVPCVPCGWC32ED547": Object { "Properties": Object { "InternetGatewayId": Object { "Ref": "AsteriskVPCIGWD859AFE2", }, "VpcId": Object { "Ref": "AsteriskVPCFD344048", }, }, "Type": "AWS::EC2::VPCGatewayAttachment", }, "AsteriskasteriskEc2Role33F478B3": Object { "Properties": Object { "AssumeRolePolicyDocument": Object { "Statement": Array [ Object { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": Object { "Service": "ec2.amazonaws.com", }, }, ], "Version": "2012-10-17", }, "ManagedPolicyArns": Array [ Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":iam::aws:policy/AmazonSSMManagedInstanceCore", ], ], }, ], }, "Type": "AWS::IAM::Role", }, "AsteriskasteriskEc2RoleDefaultPolicyD6292042": Object { "Properties": Object { "PolicyDocument": Object { "Statement": Array [ Object { "Action": Array [ "cloudformation:DescribeStackResource", "cloudformation:SignalResource", ], "Effect": "Allow", "Resource": Object { "Ref": "AWS::StackId", }, }, ], "Version": "2012-10-17", }, "PolicyName": "AsteriskasteriskEc2RoleDefaultPolicyD6292042", "Roles": Array [ Object { "Ref": "AsteriskasteriskEc2Role33F478B3", }, ], }, "Type": "AWS::IAM::Policy", }, "AsteriskasteriskEipB136F44F": Object { "Type": "AWS::EC2::EIP", }, "AsteriskvoiceConnectorPhoneNumberChimePhoneNumberPSTNResourceProviderframeworkonEvent63C4935D": Object { "DependsOn": Array [ "AsteriskvoiceConnectorPhoneNumberChimePhoneNumberPSTNResourceProviderframeworkonEventServiceRoleDefaultPolicyFE072C2A", "AsteriskvoiceConnectorPhoneNumberChimePhoneNumberPSTNResourceProviderframeworkonEventServiceRole94BBFC78", ], "Properties": Object { "Code": Object { "S3Bucket": Object { "Fn::Sub": "cdk-hnb659fds-assets-\${AWS::AccountId}-\${AWS::Region}", }, "S3Key": "8e3d635893ea17fa3158623489cd42c680fad925b38de1ef51cb10d84f6e245e.zip", }, "Description": "AWS CDK resource provider framework - onEvent (test/Asterisk/voiceConnectorPhoneNumber/ChimePhoneNumber/PSTNResourceProvider)", "Environment": Object { "Variables": Object { "USER_ON_EVENT_FUNCTION_ARN": Object { "Fn::GetAtt": Array [ "AsteriskvoiceConnectorPhoneNumberChimePhoneNumberpstnResourcesFunction1518CFA6", "Arn", ], }, }, }, "Handler": "framework.onEvent", "Role": Object { "Fn::GetAtt": Array [ "AsteriskvoiceConnectorPhoneNumberChimePhoneNumberPSTNResourceProviderframeworkonEventServiceRole94BBFC78", "Arn", ], }, "Runtime": "nodejs14.x", "Timeout": 900, }, "Type": "AWS::Lambda::Function", }, "AsteriskvoiceConnectorPhoneNumberChimePhoneNumberPSTNResourceProviderframeworkonEventServiceRole94BBFC78": Object { "Properties": Object { "AssumeRolePolicyDocument": Object { "Statement": Array [ Object { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": Object { "Service": "lambda.amazonaws.com", }, }, ], "Version": "2012-10-17", }, "ManagedPolicyArns": Array [ Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole", ], ], }, ], }, "Type": "AWS::IAM::Role", }, "AsteriskvoiceConnectorPhoneNumberChimePhoneNumberPSTNResourceProviderframeworkonEventServiceRoleDefaultPolicyFE072C2A": Object { "Properties": Object { "PolicyDocument": Object { "Statement": Array [ Object { "Action": "lambda:InvokeFunction", "Effect": "Allow", "Resource": Array [ Object { "Fn::GetAtt": Array [ "AsteriskvoiceConnectorPhoneNumberChimePhoneNumberpstnResourcesFunction1518CFA6", "Arn", ], }, Object { "Fn::Join": Array [ "", Array [ Object { "Fn::GetAtt": Array [ "AsteriskvoiceConnectorPhoneNumberChimePhoneNumberpstnResourcesFunction1518CFA6", "Arn", ], }, ":*", ], ], }, ], }, ], "Version": "2012-10-17", }, "PolicyName": "AsteriskvoiceConnectorPhoneNumberChimePhoneNumberPSTNResourceProviderframeworkonEventServiceRoleDefaultPolicyFE072C2A", "Roles": Array [ Object { "Ref": "AsteriskvoiceConnectorPhoneNumberChimePhoneNumberPSTNResourceProviderframeworkonEventServiceRole94BBFC78", }, ], }, "Type": "AWS::IAM::Policy", }, "AsteriskvoiceConnectorPhoneNumberChimePhoneNumberpstnCustomResource9B765602": Object { "DeletionPolicy": "Delete", "Properties": Object { "ServiceToken": Object { "Fn::GetAtt": Array [ "AsteriskvoiceConnectorPhoneNumberChimePhoneNumberPSTNResourceProviderframeworkonEvent63C4935D", "Arn", ], }, "properties": Object { "phoneCountry": "US", "phoneNumberType": "Local", "phoneProductType": "VoiceConnector", "phoneState": "CA", }, "resourceType": "PhoneNumber", "uid": "testAsteriskvoiceConnectorPhoneNumber181D3555", }, "Type": "AWS::CloudFormation::CustomResource", "UpdateReplacePolicy": "Delete", }, "AsteriskvoiceConnectorPhoneNumberChimePhoneNumberpstnCustomResourceRole30BED212": Object { "Properties": Object { "AssumeRolePolicyDocument": Object { "Statement": Array [ Object { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": Object { "Service": "lambda.amazonaws.com", }, }, ], "Version": "2012-10-17", }, "Description": "Amazon Chime PSTN Resources", "ManagedPolicyArns": Array [ Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole", ], ], }, ], "Policies": Array [ Object { "PolicyDocument": Object { "Statement": Array [ Object { "Action": Array [ "chime:*VoiceProfileDomain*", "kms:CreateGrant", "kms:DescribeKey", "chime:*MediaInsightsPipelineConfiguration*", "chime:CreateSipRule", "chime:DeleteSipRule", "chime:UpdateSipRule", "chime:GetSipRule", "chime:CreateSipMediaApplication", "chime:DeleteSipMediaApplication", "chime:GetPhoneNumberOrder", "chime:SearchAvailablePhoneNumbers", "chime:CreatePhoneNumberOrder", "chime:DeletePhoneNumber", "chime:GetPhoneNumber", "chime:CreateVoiceConnector", "chime:PutVoiceConnectorStreamingConfiguration", "chime:PutVoiceConnectorTermination", "chime:PutVoiceConnectorOrigination", "chime:PutVoiceConnectorLoggingConfiguration", "chime:ListPhoneNumbers", "chime:AssociatePhoneNumbersWithVoiceConnector", "chime:DisassociatePhoneNumbersFromVoiceConnector", "chime:DeleteVoiceConnector", "chime:PutSipMediaApplicationAlexaSkillConfiguration", "chime:PutSipMediaApplicationLoggingConfiguration", "logs:GetLogDelivery", "logs:DeleteLogDelivery", "logs:ListLogDeliveries", "logs:CreateLogGroup", "logs:DescribeResourcePolicies", "logs:PutResourcePolicy", "logs:DescribeLogGroups", "logs:CreateLogDelivery", "lambda:GetPolicy", "lambda:AddPermission", "iam:PutRolePolicy", "iam:CreateServiceLinkedRole", ], "Effect": "Allow", "Resource": "*", }, Object { "Action": Array [ "ssm:PutParameter", "ssm:GetParameter", "ssm:DeleteParameter", ], "Effect": "Allow", "Resource": Object { "Fn::Join": Array [ "", Array [ "arn:aws:ssm:", Object { "Ref": "AWS::Region", }, ":", Object { "Ref": "AWS::AccountId", }, ":parameter/chime/*", ], ], }, }, ], "Version": "2012-10-17", }, "PolicyName": "chimePolicy", }, ], }, "Type": "AWS::IAM::Role", }, "AsteriskvoiceConnectorPhoneNumberChimePhoneNumberpstnResourcesFunction1518CFA6": Object { "DependsOn": Array [ "AsteriskvoiceConnectorPhoneNumberChimePhoneNumberpstnCustomResourceRole30BED212", ], "Properties": Object { "Code": Object { "S3Bucket": Object { "Fn::Sub": "cdk-hnb659fds-assets-\${AWS::AccountId}-\${AWS::Region}", }, "S3Key": "18a21c219083043f3d7d56daa068e5c1be7706ffda18f115cae5a7d441a307fc.zip", }, "Description": "src/resources/pstn/pstn.lambda.ts", "Environment": Object { "Variables": Object { "AWS_NODEJS_CONNECTION_REUSE_ENABLED": "1", }, }, "Handler": "index.handler", "Role": Object { "Fn::GetAtt": Array [ "AsteriskvoiceConnectorPhoneNumberChimePhoneNumberpstnCustomResourceRole30BED212", "Arn", ], }, "Runtime": "nodejs18.x", "Timeout": 60, }, "Type": "AWS::Lambda::Function", }, "AsteriskvoiceConnectorPhoneNumberphoneAssociation8DB0F44D": Object { "DeletionPolicy": "Delete", "DependsOn": Array [ "AsteriskvoiceConnectorPhoneNumberphoneAssociationCustomResourcePolicyD05A1771", ], "Properties": Object { "Create": Object { "Fn::Join": Array [ "", Array [ "{\\"service\\":\\"Chime\\",\\"action\\":\\"associatePhoneNumbersWithVoiceConnector\\",\\"region\\":\\"us-east-1\\",\\"parameters\\":{\\"E164PhoneNumbers\\":[\\"", Object { "Fn::GetAtt": Array [ "AsteriskvoiceConnectorPhoneNumberChimePhoneNumberpstnCustomResource9B765602", "phoneNumber", ], }, "\\"],\\"VoiceConnectorId\\":\\"", Object { "Fn::GetAtt": Array [ "AsteriskvoiceConnectorvoiceConnectorRequestpstnCustomResource89C81395", "voiceConnectorId", ], }, "\\",\\"ForceAssociate\\":true},\\"physicalResourceId\\":{\\"id\\":\\"testAsteriskvoiceConnectorPhoneNumberphoneAssociation434A7C48\\"}}", ], ], }, "Delete": Object { "Fn::Join": Array [ "", Array [ "{\\"service\\":\\"Chime\\",\\"action\\":\\"disassociatePhoneNumbersFromVoiceConnector\\",\\"region\\":\\"us-east-1\\",\\"parameters\\":{\\"E164PhoneNumbers\\":[\\"", Object { "Fn::GetAtt": Array [ "AsteriskvoiceConnectorPhoneNumberChimePhoneNumberpstnCustomResource9B765602", "phoneNumber", ], }, "\\"],\\"VoiceConnectorId\\":\\"", Object { "Fn::GetAtt": Array [ "AsteriskvoiceConnectorvoiceConnectorRequestpstnCustomResource89C81395", "voiceConnectorId", ], }, "\\"},\\"physicalResourceId\\":{\\"id\\":\\"testAsteriskvoiceConnectorPhoneNumberphoneAssociation434A7C48\\"}}", ], ], }, "InstallLatestAwsSdk": true, "ServiceToken": Object { "Fn::GetAtt": Array [ "AWS679f53fac002430cb0da5b7982bd22872D164C4C", "Arn", ], }, }, "Type": "Custom::AWS", "UpdateReplacePolicy": "Delete", }, "AsteriskvoiceConnectorPhoneNumberphoneAssociationCustomResourcePolicyD05A1771": Object { "Properties": Object { "PolicyDocument": Object { "Statement": Array [ Object { "Action": "chime:AssociatePhoneNumbersWithVoiceConnector", "Effect": "Allow", "Resource": "*", }, Object { "Action": "chime:DisassociatePhoneNumbersFromVoiceConnector", "Effect": "Allow", "Resource": "*", }, ], "Version": "2012-10-17", }, "PolicyName": "AsteriskvoiceConnectorPhoneNumberphoneAssociationCustomResourcePolicyD05A1771", "Roles": Array [ Object { "Ref": "AWS679f53fac002430cb0da5b7982bd2287ServiceRoleC1EA0FF2", }, ], }, "Type": "AWS::IAM::Policy", }, "AsteriskvoiceConnectorvoiceConnectorRequestPSTNResourceProviderframeworkonEvent3E99712F": Object { "DependsOn": Array [ "AsteriskvoiceConnectorvoiceConnectorRequestPSTNResourceProviderframeworkonEventServiceRoleDefaultPolicyA57CEF9A", "AsteriskvoiceConnectorvoiceConnectorRequestPSTNResourceProviderframeworkonEventServiceRole87517A26", ], "Properties": Object { "Code": Object { "S3Bucket": Object { "Fn::Sub": "cdk-hnb659fds-assets-\${AWS::AccountId}-\${AWS::Region}", }, "S3Key": "8e3d635893ea17fa3158623489cd42c680fad925b38de1ef51cb10d84f6e245e.zip", }, "Description": "AWS CDK resource provider framework - onEvent (test/Asterisk/voiceConnector/voiceConnectorRequest/PSTNResourceProvider)", "Environment": Object { "Variables": Object { "USER_ON_EVENT_FUNCTION_ARN": Object { "Fn::GetAtt": Array [ "AsteriskvoiceConnectorvoiceConnectorRequestpstnResourcesFunction9D6320FB", "Arn", ], }, }, }, "Handler": "framework.onEvent", "Role": Object { "Fn::GetAtt": Array [ "AsteriskvoiceConnectorvoiceConnectorRequestPSTNResourceProviderframeworkonEventServiceRole87517A26", "Arn", ], }, "Runtime": "nodejs14.x", "Timeout": 900, }, "Type": "AWS::Lambda::Function", }, "AsteriskvoiceConnectorvoiceConnectorRequestPSTNResourceProviderframeworkonEventServiceRole87517A26": Object { "Properties": Object { "AssumeRolePolicyDocument": Object { "Statement": Array [ Object { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": Object { "Service": "lambda.amazonaws.com", }, }, ], "Version": "2012-10-17", }, "ManagedPolicyArns": Array [ Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole", ], ], }, ], }, "Type": "AWS::IAM::Role", }, "AsteriskvoiceConnectorvoiceConnectorRequestPSTNResourceProviderframeworkonEventServiceRoleDefaultPolicyA57CEF9A": Object { "Properties": Object { "PolicyDocument": Object { "Statement": Array [ Object { "Action": "lambda:InvokeFunction", "Effect": "Allow", "Resource": Array [ Object { "Fn::GetAtt": Array [ "AsteriskvoiceConnectorvoiceConnectorRequestpstnResourcesFunction9D6320FB", "Arn", ], }, Object { "Fn::Join": Array [ "", Array [ Object { "Fn::GetAtt": Array [ "AsteriskvoiceConnectorvoiceConnectorRequestpstnResourcesFunction9D6320FB", "Arn", ], }, ":*", ], ], }, ], }, ], "Version": "2012-10-17", }, "PolicyName": "AsteriskvoiceConnectorvoiceConnectorRequestPSTNResourceProviderframeworkonEventServiceRoleDefaultPolicyA57CEF9A", "Roles": Array [ Object { "Ref": "AsteriskvoiceConnectorvoiceConnectorRequestPSTNResourceProviderframeworkonEventServiceRole87517A26", }, ], }, "Type": "AWS::IAM::Policy", }, "AsteriskvoiceConnectorvoiceConnectorRequestpstnCustomResource89C81395": Object { "DeletionPolicy": "Delete", "Properties": Object { "ServiceToken": Object { "Fn::GetAtt": Array [ "AsteriskvoiceConnectorvoiceConnectorRequestPSTNResourceProviderframeworkonEvent3E99712F", "Arn", ], }, "properties": Object { "encryption": false, "name": "testAsteriskvoiceConnectorED5430A6", "origination": Array [ Object { "host": Object { "Ref": "AsteriskasteriskEipB136F44F", }, "port": 5060, "priority": 1, "protocol": "UDP", "weight": 1, }, ], "region": Object { "Ref": "AWS::Region", }, "termination": Object { "callingRegions": Array [ "US", ], "terminationCidrs": Array [ Object { "Fn::Join": Array [ "", Array [ Object { "Ref": "AsteriskasteriskEipB136F44F", }, "/32", ], ], }, ], }, }, "resourceType": "VoiceConnector", "uid": "testAsteriskvoiceConnectorED5430A6", }, "Type": "AWS::CloudFormation::CustomResource", "UpdateReplacePolicy": "Delete", }, "AsteriskvoiceConnectorvoiceConnectorRequestpstnCustomResourceRole01DC36A4": Object { "Properties": Object { "AssumeRolePolicyDocument": Object { "Statement": Array [ Object { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": Object { "Service": "lambda.amazonaws.com", }, }, ], "Version": "2012-10-17", }, "Description": "Amazon Chime PSTN Resources", "ManagedPolicyArns": Array [ Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole", ], ], }, ], "Policies": Array [ Object { "PolicyDocument": Object { "Statement": Array [ Object { "Action": Array [ "chime:*VoiceProfileDomain*", "kms:CreateGrant", "kms:DescribeKey", "chime:*MediaInsightsPipelineConfiguration*", "chime:CreateSipRule", "chime:DeleteSipRule", "chime:UpdateSipRule", "chime:GetSipRule", "chime:CreateSipMediaApplication", "chime:DeleteSipMediaApplication", "chime:GetPhoneNumberOrder", "chime:SearchAvailablePhoneNumbers", "chime:CreatePhoneNumberOrder", "chime:DeletePhoneNumber", "chime:GetPhoneNumber", "chime:CreateVoiceConnector", "chime:PutVoiceConnectorStreamingConfiguration", "chime:PutVoiceConnectorTermination", "chime:PutVoiceConnectorOrigination", "chime:PutVoiceConnectorLoggingConfiguration", "chime:ListPhoneNumbers", "chime:AssociatePhoneNumbersWithVoiceConnector", "chime:DisassociatePhoneNumbersFromVoiceConnector", "chime:DeleteVoiceConnector", "chime:PutSipMediaApplicationAlexaSkillConfiguration", "chime:PutSipMediaApplicationLoggingConfiguration", "logs:GetLogDelivery", "logs:DeleteLogDelivery", "logs:ListLogDeliveries", "logs:CreateLogGroup", "logs:DescribeResourcePolicies", "logs:PutResourcePolicy", "logs:DescribeLogGroups", "logs:CreateLogDelivery", "lambda:GetPolicy", "lambda:AddPermission", "iam:PutRolePolicy", "iam:CreateServiceLinkedRole", ], "Effect": "Allow", "Resource": "*", }, Object { "Action": Array [ "ssm:PutParameter", "ssm:GetParameter", "ssm:DeleteParameter", ], "Effect": "Allow", "Resource": Object { "Fn::Join": Array [ "", Array [ "arn:aws:ssm:", Object { "Ref": "AWS::Region", }, ":", Object { "Ref": "AWS::AccountId", }, ":parameter/chime/*", ], ], }, }, ], "Version": "2012-10-17", }, "PolicyName": "chimePolicy", }, ], }, "Type": "AWS::IAM::Role", }, "AsteriskvoiceConnectorvoiceConnectorRequestpstnResourcesFunction9D6320FB": Object { "DependsOn": Array [ "AsteriskvoiceConnectorvoiceConnectorRequestpstnCustomResourceRole01DC36A4", ], "Properties": Object { "Code": Object { "S3Bucket": Object { "Fn::Sub": "cdk-hnb659fds-assets-\${AWS::AccountId}-\${AWS::Region}", }, "S3Key": "18a21c219083043f3d7d56daa068e5c1be7706ffda18f115cae5a7d441a307fc.zip", }, "Description": "src/resources/pstn/pstn.lambda.ts", "Environment": Object { "Variables": Object { "AWS_NODEJS_CONNECTION_REUSE_ENABLED": "1", }, }, "Handler": "index.handler", "Role": Object { "Fn::GetAtt": Array [ "AsteriskvoiceConnectorvoiceConnectorRequestpstnCustomResourceRole01DC36A4", "Arn", ], }, "Runtime": "nodejs18.x", "Timeout": 60, }, "Type": "AWS::Lambda::Function", }, "ChimephoneNumberChimePhoneNumberPSTNResourceProviderframeworkonEvent48FEA3B8": Object { "DependsOn": Array [ "ChimephoneNumberChimePhoneNumberPSTNResourceProviderframeworkonEventServiceRoleDefaultPolicy4E05866C", "ChimephoneNumberChimePhoneNumberPSTNResourceProviderframeworkonEventServiceRole6BE92B60", ], "Properties": Object { "Code": Object { "S3Bucket": Object { "Fn::Sub": "cdk-hnb659fds-assets-\${AWS::AccountId}-\${AWS::Region}", }, "S3Key": "8e3d635893ea17fa3158623489cd42c680fad925b38de1ef51cb10d84f6e245e.zip", }, "Description": "AWS CDK resource provider framework - onEvent (test/Chime/phoneNumber/ChimePhoneNumber/PSTNResourceProvider)", "Environment": Object { "Variables": Object { "USER_ON_EVENT_FUNCTION_ARN": Object { "Fn::GetAtt": Array [ "ChimephoneNumberChimePhoneNumberpstnResourcesFunctionDCF1293A", "Arn", ], }, }, }, "Handler": "framework.onEvent", "Role": Object { "Fn::GetAtt": Array [ "ChimephoneNumberChimePhoneNumberPSTNResourceProviderframeworkonEventServiceRole6BE92B60", "Arn", ], }, "Runtime": "nodejs14.x", "Timeout": 900, }, "Type": "AWS::Lambda::Function", }, "ChimephoneNumberChimePhoneNumberPSTNResourceProviderframeworkonEventServiceRole6BE92B60": Object { "Properties": Object { "AssumeRolePolicyDocument": Object { "Statement": Array [ Object { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": Object { "Service": "lambda.amazonaws.com", }, }, ], "Version": "2012-10-17", }, "ManagedPolicyArns": Array [ Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole", ], ], }, ], }, "Type": "AWS::IAM::Role", }, "ChimephoneNumberChimePhoneNumberPSTNResourceProviderframeworkonEventServiceRoleDefaultPolicy4E05866C": Object { "Properties": Object { "PolicyDocument": Object { "Statement": Array [ Object { "Action": "lambda:InvokeFunction", "Effect": "Allow", "Resource": Array [ Object { "Fn::GetAtt": Array [ "ChimephoneNumberChimePhoneNumberpstnResourcesFunctionDCF1293A", "Arn", ], }, Object { "Fn::Join": Array [ "", Array [ Object { "Fn::GetAtt": Array [ "ChimephoneNumberChimePhoneNumberpstnResourcesFunctionDCF1293A", "Arn", ], }, ":*", ], ], }, ], }, ], "Version": "2012-10-17", }, "PolicyName": "ChimephoneNumberChimePhoneNumberPSTNResourceProviderframeworkonEventServiceRoleDefaultPolicy4E05866C", "Roles": Array [ Object { "Ref": "ChimephoneNumberChimePhoneNumberPSTNResourceProviderframeworkonEventServiceRole6BE92B60", }, ], }, "Type": "AWS::IAM::Policy", }, "ChimephoneNumberChimePhoneNumberpstnCustomResourceDFB46FB1": Object { "DeletionPolicy": "Delete", "Properties": Object { "ServiceToken": Object { "Fn::GetAtt": Array [ "ChimephoneNumberChimePhoneNumberPSTNResourceProviderframeworkonEvent48FEA3B8", "Arn", ], }, "properties": Object { "phoneCountry": "US", "phoneNumberType": "Local", "phoneProductType": "SipMediaApplicationDialIn", "phoneState": "IL", }, "resourceType": "PhoneNumber", "uid": "testChimephoneNumber9936B1A7", }, "Type": "AWS::CloudFormation::CustomResource", "UpdateReplacePolicy": "Delete", }, "ChimephoneNumberChimePhoneNumberpstnCustomResourceRole6F0C285E": Object { "Properties": Object { "AssumeRolePolicyDocument": Object { "Statement": Array [ Object { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": Object { "Service": "lambda.amazonaws.com", }, }, ], "Version": "2012-10-17", }, "Description": "Amazon Chime PSTN Resources", "ManagedPolicyArns": Array [ Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole", ], ], }, ], "Policies": Array [ Object { "PolicyDocument": Object { "Statement": Array [ Object { "Action": Array [ "chime:*VoiceProfileDomain*", "kms:CreateGrant", "kms:DescribeKey", "chime:*MediaInsightsPipelineConfiguration*", "chime:CreateSipRule", "chime:DeleteSipRule", "chime:UpdateSipRule", "chime:GetSipRule", "chime:CreateSipMediaApplication", "chime:DeleteSipMediaApplication", "chime:GetPhoneNumberOrder", "chime:SearchAvailablePhoneNumbers", "chime:CreatePhoneNumberOrder", "chime:DeletePhoneNumber", "chime:GetPhoneNumber", "chime:CreateVoiceConnector", "chime:PutVoiceConnectorStreamingConfiguration", "chime:PutVoiceConnectorTermination", "chime:PutVoiceConnectorOrigination", "chime:PutVoiceConnectorLoggingConfiguration", "chime:ListPhoneNumbers", "chime:AssociatePhoneNumbersWithVoiceConnector", "chime:DisassociatePhoneNumbersFromVoiceConnector", "chime:DeleteVoiceConnector", "chime:PutSipMediaApplicationAlexaSkillConfiguration", "chime:PutSipMediaApplicationLoggingConfiguration", "logs:GetLogDelivery", "logs:DeleteLogDelivery", "logs:ListLogDeliveries", "logs:CreateLogGroup", "logs:DescribeResourcePolicies", "logs:PutResourcePolicy", "logs:DescribeLogGroups", "logs:CreateLogDelivery", "lambda:GetPolicy", "lambda:AddPermission", "iam:PutRolePolicy", "iam:CreateServiceLinkedRole", ], "Effect": "Allow", "Resource": "*", }, Object { "Action": Array [ "ssm:PutParameter", "ssm:GetParameter", "ssm:DeleteParameter", ], "Effect": "Allow", "Resource": Object { "Fn::Join": Array [ "", Array [ "arn:aws:ssm:", Object { "Ref": "AWS::Region", }, ":", Object { "Ref": "AWS::AccountId", }, ":parameter/chime/*", ], ], }, }, ], "Version": "2012-10-17", }, "PolicyName": "chimePolicy", }, ], }, "Type": "AWS::IAM::Role", }, "ChimephoneNumberChimePhoneNumberpstnResourcesFunctionDCF1293A": Object { "DependsOn": Array [ "ChimephoneNumberChimePhoneNumberpstnCustomResourceRole6F0C285E", ], "Properties": Object { "Code": Object { "S3Bucket": Object { "Fn::Sub": "cdk-hnb659fds-assets-\${AWS::AccountId}-\${AWS::Region}", }, "S3Key": "18a21c219083043f3d7d56daa068e5c1be7706ffda18f115cae5a7d441a307fc.zip", }, "Description": "src/resources/pstn/pstn.lambda.ts", "Environment": Object { "Variables": Object { "AWS_NODEJS_CONNECTION_REUSE_ENABLED": "1", }, }, "Handler": "index.handler", "Role": Object { "Fn::GetAtt": Array [ "ChimephoneNumberChimePhoneNumberpstnCustomResourceRole6F0C285E", "Arn", ], }, "Runtime": "nodejs18.x", "Timeout": 60, }, "Type": "AWS::Lambda::Function", }, "ChimesipMediaAppsipMediaAppRequestPSTNResourceProviderframeworkonEventC21782EC": Object { "DependsOn": Array [ "ChimesipMediaAppsipMediaAppRequestPSTNResourceProviderframeworkonEventServiceRoleDefaultPolicyF2EE5D9F", "ChimesipMediaAppsipMediaAppRequestPSTNResourceProviderframeworkonEventServiceRoleD4EBDDE9", ], "Properties": Object { "Code": Object { "S3Bucket": Object { "Fn::Sub": "cdk-hnb659fds-assets-\${AWS::AccountId}-\${AWS::Region}", }, "S3Key": "8e3d635893ea17fa3158623489cd42c680fad925b38de1ef51cb10d84f6e245e.zip", }, "Description": "AWS CDK resource provider framework - onEvent (test/Chime/sipMediaApp/sipMediaAppRequest/PSTNResourceProvider)", "Environment": Object { "Variables": Object { "USER_ON_EVENT_FUNCTION_ARN": Object { "Fn::GetAtt": Array [ "ChimesipMediaAppsipMediaAppRequestpstnResourcesFunction51ED856E", "Arn", ], }, }, }, "Handler": "framework.onEvent", "Role": Object { "Fn::GetAtt": Array [ "ChimesipMediaAppsipMediaAppRequestPSTNResourceProviderframeworkonEventServiceRoleD4EBDDE9", "Arn", ], }, "Runtime": "nodejs14.x", "Timeout": 900, }, "Type": "AWS::Lambda::Function", }, "ChimesipMediaAppsipMediaAppRequestPSTNResourceProviderframeworkonEventServiceRoleD4EBDDE9": Object { "Properties": Object { "AssumeRolePolicyDocument": Object { "Statement": Array [ Object { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": Object { "Service": "lambda.amazonaws.com", }, }, ], "Version": "2012-10-17", }, "ManagedPolicyArns": Array [ Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole", ], ], }, ], }, "Type": "AWS::IAM::Role", }, "ChimesipMediaAppsipMediaAppRequestPSTNResourceProviderframeworkonEventServiceRoleDefaultPolicyF2EE5D9F": Object { "Properties": Object { "PolicyDocument": Object { "Statement": Array [ Object { "Action": "lambda:InvokeFunction", "Effect": "Allow", "Resource": Array [ Object { "Fn::GetAtt": Array [ "ChimesipMediaAppsipMediaAppRequestpstnResourcesFunction51ED856E", "Arn", ], }, Object { "Fn::Join": Array [ "", Array [ Object { "Fn::GetAtt": Array [ "ChimesipMediaAppsipMediaAppRequestpstnResourcesFunction51ED856E", "Arn", ], }, ":*", ], ], }, ], }, ], "Version": "2012-10-17", }, "PolicyName": "ChimesipMediaAppsipMediaAppRequestPSTNResourceProviderframeworkonEventServiceRoleDefaultPolicyF2EE5D9F", "Roles": Array [ Object { "Ref": "ChimesipMediaAppsipMediaAppRequestPSTNResourceProviderframeworkonEventServiceRoleD4EBDDE9", }, ], }, "Type": "AWS::IAM::Policy", }, "ChimesipMediaAppsipMediaAppRequestpstnCustomResource505FA3C9": Object { "DeletionPolicy": "Delete", "Properties": Object { "ServiceToken": Object { "Fn::GetAtt": Array [ "ChimesipMediaAppsipMediaAppRequestPSTNResourceProviderframeworkonEventC21782EC", "Arn", ], }, "properties": Object { "endpoint": Object { "Fn::GetAtt": Array [ "ChimesmaHandlerLambda51FE45BB", "Arn", ], }, "name": "testChimesipMediaAppEBAB42E6", "region": Object { "Ref": "AWS::Region", }, }, "resourceType": "SMA", "uid": "testChimesipMediaAppEBAB42E6", }, "Type": "AWS::CloudFormation::CustomResource", "UpdateReplacePolicy": "Delete", }, "ChimesipMediaAppsipMediaAppRequestpstnCustomResourceRoleD63D0A38": Object { "Properties": Object { "AssumeRolePolicyDocument": Object { "Statement": Array [ Object { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": Object { "Service": "lambda.amazonaws.com", }, }, ], "Version": "2012-10-17", }, "Description": "Amazon Chime PSTN Resources", "ManagedPolicyArns": Array [ Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole", ], ], }, ], "Policies": Array [ Object { "PolicyDocument": Object { "Statement": Array [ Object { "Action": Array [ "chime:*VoiceProfileDomain*", "kms:CreateGrant", "kms:DescribeKey", "chime:*MediaInsightsPipelineConfiguration*", "chime:CreateSipRule", "chime:DeleteSipRule", "chime:UpdateSipRule", "chime:GetSipRule", "chime:CreateSipMediaApplication", "chime:DeleteSipMediaApplication", "chime:GetPhoneNumberOrder", "chime:SearchAvailablePhoneNumbers", "chime:CreatePhoneNumberOrder", "chime:DeletePhoneNumber", "chime:GetPhoneNumber", "chime:CreateVoiceConnector", "chime:PutVoiceConnectorStreamingConfiguration", "chime:PutVoiceConnectorTermination", "chime:PutVoiceConnectorOrigination", "chime:PutVoiceConnectorLoggingConfiguration", "chime:ListPhoneNumbers", "chime:AssociatePhoneNumbersWithVoiceConnector", "chime:DisassociatePhoneNumbersFromVoiceConnector", "chime:DeleteVoiceConnector", "chime:PutSipMediaApplicationAlexaSkillConfiguration", "chime:PutSipMediaApplicationLoggingConfiguration", "logs:GetLogDelivery", "logs:DeleteLogDelivery", "logs:ListLogDeliveries", "logs:CreateLogGroup", "logs:DescribeResourcePolicies", "logs:PutResourcePolicy", "logs:DescribeLogGroups", "logs:CreateLogDelivery", "lambda:GetPolicy", "lambda:AddPermission", "iam:PutRolePolicy", "iam:CreateServiceLinkedRole", ], "Effect": "Allow", "Resource": "*", }, Object { "Action": Array [ "ssm:PutParameter", "ssm:GetParameter", "ssm:DeleteParameter", ], "Effect": "Allow", "Resource": Object { "Fn::Join": Array [ "", Array [ "arn:aws:ssm:", Object { "Ref": "AWS::Region", }, ":", Object { "Ref": "AWS::AccountId", }, ":parameter/chime/*", ], ], }, }, ], "Version": "2012-10-17", }, "PolicyName": "chimePolicy", }, ], }, "Type": "AWS::IAM::Role", }, "ChimesipMediaAppsipMediaAppRequestpstnResourcesFunction51ED856E": Object { "DependsOn": Array [ "ChimesipMediaAppsipMediaAppRequestpstnCustomResourceRoleD63D0A38", ], "Properties": Object { "Code": Object { "S3Bucket": Object { "Fn::Sub": "cdk-hnb659fds-assets-\${AWS::AccountId}-\${AWS::Region}", }, "S3Key": "18a21c219083043f3d7d56daa068e5c1be7706ffda18f115cae5a7d441a307fc.zip", }, "Description": "src/resources/pstn/pstn.lambda.ts", "Environment": Object { "Variables": Object { "AWS_NODEJS_CONNECTION_REUSE_ENABLED": "1", }, }, "Handler": "index.handler", "Role": Object { "Fn::GetAtt": Array [ "ChimesipMediaAppsipMediaAppRequestpstnCustomResourceRoleD63D0A38", "Arn", ], }, "Runtime": "nodejs18.x", "Timeout": 60, }, "Type": "AWS::Lambda::Function", }, "ChimesmaHandlerLambda51FE45BB": Object { "DependsOn": Array [ "ChimesmaHandlerRoleAB855B74", ], "Properties": Object { "Architectures": Array [ "arm64", ], "Code": Object { "S3Bucket": Object { "Fn::Sub": "cdk-hnb659fds-assets-\${AWS::AccountId}-\${AWS::Region}", }, "S3Key": "f9a8e75fa798b3c974604c18c5847e7d4cf8eb8b098874b025cf75725bf6a74a.zip", }, "Environment": Object { "Variables": Object { "AWS_NODEJS_CONNECTION_REUSE_ENABLED": "1", "FROM_NUMBER": Object { "Fn::GetAtt": Array [ "ChimephoneNumberChimePhoneNumberpstnCustomResourceDFB46FB1", "phoneNumber", ], }, }, }, "Handler": "index.lambdaHandler", "Role": Object { "Fn::GetAtt": Array [ "ChimesmaHandlerRoleAB855B74", "Arn", ], }, "Runtime": "nodejs18.x", "Timeout": 60, }, "Type": "AWS::Lambda::Function", }, "ChimesmaHandlerRoleAB855B74": Object { "Properties": Object { "AssumeRolePolicyDocument": Object { "Statement": Array [ Object { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": Object { "Service": "lambda.amazonaws.com", }, }, ], "Version": "2012-10-17", }, "ManagedPolicyArns": Array [ Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole", ], ], }, ], "Policies": Array [ Object { "PolicyDocument": Object { "Statement": Array [ Object { "Action": "chime:*", "Effect": "Allow", "Resource": "*", }, ], "Version": "2012-10-17", }, "PolicyName": "chimePolicy", }, ], }, "Type": "AWS::IAM::Role", }, "CognitoCognitoDefaultAuthenticatedRole162BCBED": Object { "Properties": Object { "AssumeRolePolicyDocument": Object { "Statement": Array [ Object { "Action": "sts:AssumeRoleWithWebIdentity", "Condition": Object { "ForAnyValue:StringLike": Object { "cognito-identity.amazonaws.com:amr": "authenticated", }, "StringEquals": Object { "cognito-identity.amazonaws.com:aud": Object { "Ref": "CognitocognitoIdentityPool626065C7", }, }, }, "Effect": "Allow", "Principal": Object { "Federated": "cognito-identity.amazonaws.com", }, }, ], "Version": "2012-10-17", }, }, "Type": "AWS::IAM::Role", }, "CognitoCognitoDefaultAuthenticatedRoleDefaultPolicyE55F5536": Object { "Properties": Object { "PolicyDocument": Object { "Statement": Array [ Object { "Action": Array [ "mobileanalytics:PutEvents", "cognito-sync:*", "cognito-identity:*", ], "Effect": "Allow", "Resource": "*", }, ], "Version": "2012-10-17", }, "PolicyName": "CognitoCognitoDefaultAuthenticatedRoleDefaultPolicyE55F5536", "Roles": Array [ Object { "Ref": "CognitoCognitoDefaultAuthenticatedRole162BCBED", }, ], }, "Type": "AWS::IAM::Policy", }, "CognitoCognitoDefaultUnauthenticatedRole7E1472DA": Object { "Properties": Object { "AssumeRolePolicyDocument": Object { "Statement": Array [ Object { "Action": "sts:AssumeRoleWithWebIdentity", "Condition": Object { "ForAnyValue:StringLike": Object { "cognito-identity.amazonaws.com:amr": "unauthenticated", }, "StringEquals": Object { "cognito-identity.amazonaws.com:aud": Object { "Ref": "CognitocognitoIdentityPool626065C7", }, }, }, "Effect": "Allow", "Principal": Object { "Federated": "cognito-identity.amazonaws.com", }, }, ], "Version": "2012-10-17", }, }, "Type": "AWS::IAM::Role", }, "CognitoCognitoDefaultUnauthenticatedRoleDefaultPolicyC106F210": Object { "Properties": Object { "PolicyDocument": Object { "Statement": Array [ Object { "Action": Array [ "mobileanalytics:PutEvents", "cognito-sync:*", ], "Effect": "Allow", "Resource": "*", }, ], "Version": "2012-10-17", }, "PolicyName": "CognitoCognitoDefaultUnauthenticatedRoleDefaultPolicyC106F210", "Roles": Array [ Object { "Ref": "CognitoCognitoDefaultUnauthenticatedRole7E1472DA", }, ], }, "Type": "AWS::IAM::Policy", }, "CognitoDefaultValid0F579DDB": Object { "Properties": Object { "IdentityPoolId": Object { "Ref": "CognitocognitoIdentityPool626065C7", }, "Roles": Object { "authenticated": Object { "Fn::GetAtt": Array [ "CognitoCognitoDefaultAuthenticatedRole162BCBED", "Arn", ], }, "unauthenticated": Object { "Fn::GetAtt": Array [ "CognitoCognitoDefaultUnauthenticatedRole7E1472DA", "Arn", ], }, }, }, "Type": "AWS::Cognito::IdentityPoolRoleAttachment", }, "CognitoUserPool279BBD48": Object { "DeletionPolicy": "Delete", "Properties": Object { "AccountRecoverySetting": Object { "RecoveryMechanisms": Array [ Object { "Name": "verified_email", "Priority": 1, }, ], }, "AdminCreateUserConfig": Object { "AllowAdminCreateUserOnly": false, "InviteMessageTemplate": Object { "EmailMessage": "Your Click-To-Call web app username is {username} and temporary password is {####}", "EmailSubject": "Your Click-To-Call web app temporary password", }, }, "AutoVerifiedAttributes": Array [ "email", ], "EmailVerificationMessage": "The verification code to your new Click-To-Call web app account is {####}", "EmailVerificationSubject": "Verify your new Click-To-Call web app account", "EnabledMfas": Array [ "SMS_MFA", "SOFTWARE_TOKEN_MFA", ], "LambdaConfig": Object { "PreSignUp": Object { "Fn::GetAtt": Array [ "CognitodomainValidatorC88C5FF9", "Arn", ], }, }, "MfaConfiguration": "OPTIONAL", "Schema": Array [ Object { "Mutable": true, "Name": "email", "Required": true, }, ], "SmsConfiguration": Object { "ExternalId": "testCognitoUserPoolA55211EF", "SnsCallerArn": Object { "Fn::GetAtt": Array [ "CognitoUserPoolsmsRole738960F0", "Arn", ], }, }, "SmsVerificationMessage": "The verification code to your new account is {####}", "UsernameAttributes": Array [ "email", ], "VerificationMessageTemplate": Object { "DefaultEmailOption": "CONFIRM_WITH_CODE", "EmailMessage": "The verification code to your new Click-To-Call web app account is {####}", "EmailSubject": "Verify your new Click-To-Call web app account", "SmsMessage": "The verification code to your new account is {####}", }, }, "Type": "AWS::Cognito::UserPool", "UpdateReplacePolicy": "Delete", }, "CognitoUserPoolClientEF2538C4": Object { "Properties": Object { "AllowedOAuthFlows": Array [ "implicit", "code", ], "AllowedOAuthFlowsUserPoolClient": true, "AllowedOAuthScopes": Array [ "profile", "phone", "email", "openid", "aws.cognito.signin.user.admin", ], "CallbackURLs": Array [ "https://example.com", ], "ExplicitAuthFlows": Array [ "ALLOW_CUSTOM_AUTH", "ALLOW_USER_SRP_AUTH", "ALLOW_REFRESH_TOKEN_AUTH", ], "GenerateSecret": false, "RefreshTokenValidity": 60, "SupportedIdentityProviders": Array [ "COGNITO", ], "TokenValidityUnits": Object { "RefreshToken": "minutes", }, "UserPoolId": Object { "Ref": "CognitoUserPool279BBD48", }, }, "Type": "AWS::Cognito::UserPoolClient", }, "CognitoUserPoolPreSignUpCognitoD07EA58F": Object { "Properties": Object { "Action": "lambda:InvokeFunction", "FunctionName": Object { "Fn::GetAtt": Array [ "CognitodomainValidatorC88C5FF9", "Arn", ], }, "Principal": "cognito-idp.amazonaws.com", "SourceArn": Object { "Fn::GetAtt": Array [ "CognitoUserPool279BBD48", "Arn", ], }, }, "Type": "AWS::Lambda::Permission", }, "CognitoUserPoolsmsRole738960F0": Object { "Properties": Object { "AssumeRolePolicyDocument": Object { "Statement": Array [ Object { "Action": "sts:AssumeRole", "Condition": Object { "StringEquals": Object { "sts:ExternalId": "testCognitoUserPoolA55211EF", }, }, "Effect": "Allow", "Principal": Object { "Service": "cognito-idp.amazonaws.com", }, }, ], "Version": "2012-10-17", }, "Policies": Array [ Object { "PolicyDocument": Object { "Statement": Array [ Object { "Action": "sns:Publish", "Effect": "Allow", "Resource": "*", }, ], "Version": "2012-10-17", }, "PolicyName": "sns-publish", }, ], }, "Type": "AWS::IAM::Role", }, "CognitocognitoIdentityPool626065C7": Object { "Properties": Object { "AllowUnauthenticatedIdentities": false, "CognitoIdentityProviders": Array [ Object { "ClientId": Object { "Ref": "CognitoUserPoolClientEF2538C4", }, "ProviderName": Object { "Fn::GetAtt": Array [ "CognitoUserPool279BBD48", "ProviderName", ], }, }, ], "IdentityPoolName": "cognitoIdentityPool", }, "Type": "AWS::Cognito::IdentityPool", }, "CognitodomainValidatorC88C5FF9": Object { "DependsOn": Array [ "CognitodomainValidatorServiceRole1B8A3BD4", ], "Properties": Object { "Architectures": Array [ "arm64", ], "Code": Object { "S3Bucket": Object { "Fn::Sub": "cdk-hnb659fds-assets-\${AWS::AccountId}-\${AWS::Region}", }, "S3Key": "39a95a21ff1981283a30ebc303dbee721493ff20f66c6bcbacc43b84f58f2a0d.zip", }, "Environment": Object { "Variables": Object { "ALLOWED_DOMAIN": "", "AWS_NODEJS_CONNECTION_REUSE_ENABLED": "1", }, }, "Handler": "index.handler", "Role": Object { "Fn::GetAtt": Array [ "CognitodomainValidatorServiceRole1B8A3BD4", "Arn", ], }, "Runtime": "nodejs14.x", "Timeout": 60, }, "Type": "AWS::Lambda::Function", }, "CognitodomainValidatorServiceRole1B8A3BD4": Object { "Properties": Object { "AssumeRolePolicyDocument": Object { "Statement": Array [ Object { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": Object { "Service": "lambda.amazonaws.com", }, }, ], "Version": "2012-10-17", }, "ManagedPolicyArns": Array [ Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole", ], ], }, ], }, "Type": "AWS::IAM::Role", }, "CustomCDKBucketDeployment8693BB64968944B69AAFB0CC9EB8756C81C01536": Object { "DependsOn": Array [ "CustomCDKBucketDeployment8693BB64968944B69AAFB0CC9EB8756CServiceRoleDefaultPolicy88902FDF", "CustomCDKBucketDeployment8693BB64968944B69AAFB0CC9EB8756CServiceRole89A01265", ], "Properties": Object { "Code": Object { "S3Bucket": Object { "Fn::Sub": "cdk-hnb659fds-assets-\${AWS::AccountId}-\${AWS::Region}", }, "S3Key": "9eb41a5505d37607ac419321497a4f8c21cf0ee1f9b4a6b29aa04301aea5c7fd.zip", }, "Environment": Object { "Variables": Object { "AWS_CA_BUNDLE": "/etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem", }, }, "Handler": "index.handler", "Layers": Array [ Object { "Ref": "SiteDeployBucketAwsCliLayerB1A3335C", }, ], "Role": Object { "Fn::GetAtt": Array [ "CustomCDKBucketDeployment8693BB64968944B69AAFB0CC9EB8756CServiceRole89A01265", "Arn", ], }, "Runtime": "python3.9", "Timeout": 900, }, "Type": "AWS::Lambda::Function", }, "CustomCDKBucketDeployment8693BB64968944B69AAFB0CC9EB8756CServiceRole89A01265": Object { "Properties": Object { "AssumeRolePolicyDocument": Object { "Statement": Array [ Object { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": Object { "Service": "lambda.amazonaws.com", }, }, ], "Version": "2012-10-17", }, "ManagedPolicyArns": Array [ Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole", ], ], }, ], }, "Type": "AWS::IAM::Role", }, "CustomCDKBucketDeployment8693BB64968944B69AAFB0CC9EB8756CServiceRoleDefaultPolicy88902FDF": Object { "Properties": Object { "PolicyDocument": Object { "Statement": Array [ Object { "Action": Array [ "s3:GetObject*", "s3:GetBucket*", "s3:List*", ], "Effect": "Allow", "Resource": Array [ Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":s3:::", Object { "Fn::Sub": "cdk-hnb659fds-assets-\${AWS::AccountId}-\${AWS::Region}", }, ], ], }, Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":s3:::", Object { "Fn::Sub": "cdk-hnb659fds-assets-\${AWS::AccountId}-\${AWS::Region}", }, "/*", ], ], }, ], }, Object { "Action": Array [ "s3:GetObject*", "s3:GetBucket*", "s3:List*", "s3:DeleteObject*", "s3:PutObject", "s3:PutObjectLegalHold", "s3:PutObjectRetention", "s3:PutObjectTagging", "s3:PutObjectVersionTagging", "s3:Abort*", ], "Effect": "Allow", "Resource": Array [ Object { "Fn::GetAtt": Array [ "SitewebsiteBucketBC20A569", "Arn", ], }, Object { "Fn::Join": Array [ "", Array [ Object { "Fn::GetAtt": Array [ "SitewebsiteBucketBC20A569", "Arn", ], }, "/*", ], ], }, ], }, Object { "Action": Array [ "cloudfront:GetInvalidation", "cloudfront:CreateInvalidation", ], "Effect": "Allow", "Resource": "*", }, ], "Version": "2012-10-17", }, "PolicyName": "CustomCDKBucketDeployment8693BB64968944B69AAFB0CC9EB8756CServiceRoleDefaultPolicy88902FDF", "Roles": Array [ Object { "Ref": "CustomCDKBucketDeployment8693BB64968944B69AAFB0CC9EB8756CServiceRole89A01265", }, ], }, "Type": "AWS::IAM::Policy", }, "CustomS3AutoDeleteObjectsCustomResourceProviderHandler9D90184F": Object { "DependsOn": Array [ "CustomS3AutoDeleteObjectsCustomResourceProviderRole3B1BD092", ], "Properties": Object { "Code": Object { "S3Bucket": Object { "Fn::Sub": "cdk-hnb659fds-assets-\${AWS::AccountId}-\${AWS::Region}", }, "S3Key": "350185a1069fa20a23a583e20c77f6844218bd73097902362dc94f1a108f5d89.zip", }, "Description": Object { "Fn::Join": Array [ "", Array [ "Lambda function for auto-deleting objects in ", Object { "Ref": "SitewebsiteBucketBC20A569", }, " S3 bucket.", ], ], }, "Handler": "__entrypoint__.handler", "MemorySize": 128, "Role": Object { "Fn::GetAtt": Array [ "CustomS3AutoDeleteObjectsCustomResourceProviderRole3B1BD092", "Arn", ], }, "Runtime": "nodejs16.x", "Timeout": 900, }, "Type": "AWS::Lambda::Function", }, "CustomS3AutoDeleteObjectsCustomResourceProviderRole3B1BD092": Object { "Properties": Object { "AssumeRolePolicyDocument": Object { "Statement": Array [ Object { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": Object { "Service": "lambda.amazonaws.com", }, }, ], "Version": "2012-10-17", }, "ManagedPolicyArns": Array [ Object { "Fn::Sub": "arn:\${AWS::Partition}:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole", }, ], }, "Type": "AWS::IAM::Role", }, "Infrastructureauth4BEB723B": Object { "Properties": Object { "IdentitySource": "method.request.header.Authorization", "Name": "testInfrastructureauthE9907576", "ProviderARNs": Array [ Object { "Fn::GetAtt": Array [ "CognitoUserPool279BBD48", "Arn", ], }, ], "RestApiId": Object { "Ref": "InfrastructureclickToCallApiEFC07FEC", }, "Type": "COGNITO_USER_POOLS", }, "Type": "AWS::ApiGateway::Authorizer", }, "InfrastructurecallControlLambdaD681613E": Object { "DependsOn": Array [ "InfrastructureinfrastructureRole80511D48", ], "Properties": Object { "Architectures": Array [ "arm64", ], "Code": Object { "S3Bucket": Object { "Fn::Sub": "cdk-hnb659fds-assets-\${AWS::AccountId}-\${AWS::Region}", }, "S3Key": "a176fe36fc09ff15cd917446308eee4965a879ad2f04b74eaaaa64500838fa22.zip", }, "Environment": Object { "Variables": Object { "AWS_NODEJS_CONNECTION_REUSE_ENABLED": "1", "FROM_NUMBER": Object { "Fn::GetAtt": Array [ "ChimephoneNumberChimePhoneNumberpstnCustomResourceDFB46FB1", "phoneNumber", ], }, "SMA_ID": Object { "Fn::GetAtt": Array [ "ChimesipMediaAppsipMediaAppRequestpstnCustomResource505FA3C9", "sipMediaAppId", ], }, "VOICE_CONNECTOR_ARN": Object { "Fn::Join": Array [ "", Array [ "arn:aws:chime:", Object { "Ref": "AWS::Region", }, ":", Object { "Ref": "AWS::AccountId", }, ":vc/", Object { "Fn::GetAtt": Array [ "AsteriskvoiceConnectorvoiceConnectorRequestpstnCustomResource89C81395", "voiceConnectorId", ], }, ], ], }, "VOICE_CONNECTOR_PHONE": Object { "Fn::GetAtt": Array [ "AsteriskvoiceConnectorPhoneNumberChimePhoneNumberpstnCustomResource9B765602", "phoneNumber", ], }, }, }, "Handler": "index.handler", "Role": Object { "Fn::GetAtt": Array [ "InfrastructureinfrastructureRole80511D48", "Arn", ], }, "Runtime": "nodejs18.x", "Timeout": 60, }, "Type": "AWS::Lambda::Function", }, "InfrastructureclickToCallApiAccountE88BF4DC": Object { "DeletionPolicy": "Retain", "DependsOn": Array [ "InfrastructureclickToCallApiEFC07FEC", ], "Properties": Object { "CloudWatchRoleArn": Object { "Fn::GetAtt": Array [ "InfrastructureclickToCallApiCloudWatchRoleBD5096AF", "Arn", ], }, }, "Type": "AWS::ApiGateway::Account", "UpdateReplacePolicy": "Retain", }, "InfrastructureclickToCallApiCloudWatchRoleBD5096AF": Object { "DeletionPolicy": "Retain", "Properties": Object { "AssumeRolePolicyDocument": Object { "Statement": Array [ Object { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": Object { "Service": "apigateway.amazonaws.com", }, }, ], "Version": "2012-10-17", }, "ManagedPolicyArns": Array [ Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":iam::aws:policy/service-role/AmazonAPIGatewayPushToCloudWatchLogs", ], ], }, ], }, "Type": "AWS::IAM::Role", "UpdateReplacePolicy": "Retain", }, "InfrastructureclickToCallApiDeployment2AA67CCCfe420dfd1b384fb369eff1c6fc62f240": Object { "DependsOn": Array [ "InfrastructureclickToCallApidialOPTIONS975A7DE2", "InfrastructureclickToCallApidialPOST9BBA9F9F", "InfrastructureclickToCallApidial4C740144", "InfrastructureclickToCallApiOPTIONS6DBD1FFC", "InfrastructureclickToCallApiupdateOPTIONS86D242F9", "InfrastructureclickToCallApiupdatePOST3E25D002", "InfrastructureclickToCallApiupdate3AB7B8DA", ], "Properties": Object { "Description": "Automatically created by the RestApi construct", "RestApiId": Object { "Ref": "InfrastructureclickToCallApiEFC07FEC", }, }, "Type": "AWS::ApiGateway::Deployment", }, "InfrastructureclickToCallApiDeploymentStageprodD09C17F5": Object { "DependsOn": Array [ "InfrastructureclickToCallApiAccountE88BF4DC", ], "Properties": Object { "DeploymentId": Object { "Ref": "InfrastructureclickToCallApiDeployment2AA67CCCfe420dfd1b384fb369eff1c6fc62f240", }, "MethodSettings": Array [ Object { "DataTraceEnabled": true, "HttpMethod": "*", "LoggingLevel": "INFO", "ResourcePath": "/*", }, ], "RestApiId": Object { "Ref": "InfrastructureclickToCallApiEFC07FEC", }, "StageName": "prod", }, "Type": "AWS::ApiGateway::Stage", }, "InfrastructureclickToCallApiEFC07FEC": Object { "Properties": Object { "EndpointConfiguration": Object { "Types": Array [ "REGIONAL", ], }, "Name": "clickToCallApi", }, "Type": "AWS::ApiGateway::RestApi", }, "InfrastructureclickToCallApiOPTIONS6DBD1FFC": Object { "Properties": Object { "ApiKeyRequired": false, "AuthorizationType": "NONE", "HttpMethod": "OPTIONS", "Integration": Object { "IntegrationResponses": Array [ Object { "ResponseParameters": Object { "method.response.header.Access-Control-Allow-Credentials": "'true'", "method.response.header.Access-Control-Allow-Headers": "'Content-Type,X-Amz-Date,Authorization,X-Api-Key'", "method.response.header.Access-Control-Allow-Methods": "'OPTIONS,POST'", "method.response.header.Access-Control-Allow-Origin": "'*'", }, "StatusCode": "204", }, ], "RequestTemplates": Object { "application/json": "{ statusCode: 200 }", }, "Type": "MOCK", }, "MethodResponses": Array [ Object { "ResponseParameters": Object { "method.response.header.Access-Control-Allow-Credentials": true, "method.response.header.Access-Control-Allow-Headers": true, "method.response.header.Access-Control-Allow-Methods": true, "method.response.header.Access-Control-Allow-Origin": true, }, "StatusCode": "204", }, ], "ResourceId": Object { "Fn::GetAtt": Array [ "InfrastructureclickToCallApiEFC07FEC", "RootResourceId", ], }, "RestApiId": Object { "Ref": "InfrastructureclickToCallApiEFC07FEC", }, }, "Type": "AWS::ApiGateway::Method", }, "InfrastructureclickToCallApidial4C740144": Object { "Properties": Object { "ParentId": Object { "Fn::GetAtt": Array [ "InfrastructureclickToCallApiEFC07FEC", "RootResourceId", ], }, "PathPart": "dial", "RestApiId": Object { "Ref": "InfrastructureclickToCallApiEFC07FEC", }, }, "Type": "AWS::ApiGateway::Resource", }, "InfrastructureclickToCallApidialOPTIONS975A7DE2": Object { "Properties": Object { "ApiKeyRequired": false, "AuthorizationType": "NONE", "HttpMethod": "OPTIONS", "Integration": Object { "IntegrationResponses": Array [ Object { "ResponseParameters": Object { "method.response.header.Access-Control-Allow-Credentials": "'true'", "method.response.header.Access-Control-Allow-Headers": "'Content-Type,X-Amz-Date,Authorization,X-Api-Key'", "method.response.header.Access-Control-Allow-Methods": "'OPTIONS,POST'", "method.response.header.Access-Control-Allow-Origin": "'*'", }, "StatusCode": "204", }, ], "RequestTemplates": Object { "application/json": "{ statusCode: 200 }", }, "Type": "MOCK", }, "MethodResponses": Array [ Object { "ResponseParameters": Object { "method.response.header.Access-Control-Allow-Credentials": true, "method.response.header.Access-Control-Allow-Headers": true, "method.response.header.Access-Control-Allow-Methods": true, "method.response.header.Access-Control-Allow-Origin": true, }, "StatusCode": "204", }, ], "ResourceId": Object { "Ref": "InfrastructureclickToCallApidial4C740144", }, "RestApiId": Object { "Ref": "InfrastructureclickToCallApiEFC07FEC", }, }, "Type": "AWS::ApiGateway::Method", }, "InfrastructureclickToCallApidialPOST9BBA9F9F": Object { "Properties": Object { "AuthorizationType": "COGNITO_USER_POOLS", "AuthorizerId": Object { "Ref": "Infrastructureauth4BEB723B", }, "HttpMethod": "POST", "Integration": Object { "IntegrationHttpMethod": "POST", "Type": "AWS_PROXY", "Uri": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":apigateway:", Object { "Ref": "AWS::Region", }, ":lambda:path/2015-03-31/functions/", Object { "Fn::GetAtt": Array [ "InfrastructurecallControlLambdaD681613E", "Arn", ], }, "/invocations", ], ], }, }, "ResourceId": Object { "Ref": "InfrastructureclickToCallApidial4C740144", }, "RestApiId": Object { "Ref": "InfrastructureclickToCallApiEFC07FEC", }, }, "Type": "AWS::ApiGateway::Method", }, "InfrastructureclickToCallApidialPOSTApiPermissionTesttestInfrastructureclickToCallApiE27EEFC3POSTdial8B2D38A5": Object { "Properties": Object { "Action": "lambda:InvokeFunction", "FunctionName": Object { "Fn::GetAtt": Array [ "InfrastructurecallControlLambdaD681613E", "Arn", ], }, "Principal": "apigateway.amazonaws.com", "SourceArn": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":execute-api:", Object { "Ref": "AWS::Region", }, ":", Object { "Ref": "AWS::AccountId", }, ":", Object { "Ref": "InfrastructureclickToCallApiEFC07FEC", }, "/test-invoke-stage/POST/dial", ], ], }, }, "Type": "AWS::Lambda::Permission", }, "InfrastructureclickToCallApidialPOSTApiPermissiontestInfrastructureclickToCallApiE27EEFC3POSTdialC14CB26E": Object { "Properties": Object { "Action": "lambda:InvokeFunction", "FunctionName": Object { "Fn::GetAtt": Array [ "InfrastructurecallControlLambdaD681613E", "Arn", ], }, "Principal": "apigateway.amazonaws.com", "SourceArn": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":execute-api:", Object { "Ref": "AWS::Region", }, ":", Object { "Ref": "AWS::AccountId", }, ":", Object { "Ref": "InfrastructureclickToCallApiEFC07FEC", }, "/", Object { "Ref": "InfrastructureclickToCallApiDeploymentStageprodD09C17F5", }, "/POST/dial", ], ], }, }, "Type": "AWS::Lambda::Permission", }, "InfrastructureclickToCallApiupdate3AB7B8DA": Object { "Properties": Object { "ParentId": Object { "Fn::GetAtt": Array [ "InfrastructureclickToCallApiEFC07FEC", "RootResourceId", ], }, "PathPart": "update", "RestApiId": Object { "Ref": "InfrastructureclickToCallApiEFC07FEC", }, }, "Type": "AWS::ApiGateway::Resource", }, "InfrastructureclickToCallApiupdateOPTIONS86D242F9": Object { "Properties": Object { "ApiKeyRequired": false, "AuthorizationType": "NONE", "HttpMethod": "OPTIONS", "Integration": Object { "IntegrationResponses": Array [ Object { "ResponseParameters": Object { "method.response.header.Access-Control-Allow-Credentials": "'true'", "method.response.header.Access-Control-Allow-Headers": "'Content-Type,X-Amz-Date,Authorization,X-Api-Key'", "method.response.header.Access-Control-Allow-Methods": "'OPTIONS,POST'", "method.response.header.Access-Control-Allow-Origin": "'*'", }, "StatusCode": "204", }, ], "RequestTemplates": Object { "application/json": "{ statusCode: 200 }", }, "Type": "MOCK", }, "MethodResponses": Array [ Object { "ResponseParameters": Object { "method.response.header.Access-Control-Allow-Credentials": true, "method.response.header.Access-Control-Allow-Headers": true, "method.response.header.Access-Control-Allow-Methods": true, "method.response.header.Access-Control-Allow-Origin": true, }, "StatusCode": "204", }, ], "ResourceId": Object { "Ref": "InfrastructureclickToCallApiupdate3AB7B8DA", }, "RestApiId": Object { "Ref": "InfrastructureclickToCallApiEFC07FEC", }, }, "Type": "AWS::ApiGateway::Method", }, "InfrastructureclickToCallApiupdatePOST3E25D002": Object { "Properties": Object { "AuthorizationType": "COGNITO_USER_POOLS", "AuthorizerId": Object { "Ref": "Infrastructureauth4BEB723B", }, "HttpMethod": "POST", "Integration": Object { "IntegrationHttpMethod": "POST", "Type": "AWS_PROXY", "Uri": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":apigateway:", Object { "Ref": "AWS::Region", }, ":lambda:path/2015-03-31/functions/", Object { "Fn::GetAtt": Array [ "InfrastructureupdateCallLambda46AFE9E4", "Arn", ], }, "/invocations", ], ], }, }, "ResourceId": Object { "Ref": "InfrastructureclickToCallApiupdate3AB7B8DA", }, "RestApiId": Object { "Ref": "InfrastructureclickToCallApiEFC07FEC", }, }, "Type": "AWS::ApiGateway::Method", }, "InfrastructureclickToCallApiupdatePOSTApiPermissionTesttestInfrastructureclickToCallApiE27EEFC3POSTupdate160F9CCF": Object { "Properties": Object { "Action": "lambda:InvokeFunction", "FunctionName": Object { "Fn::GetAtt": Array [ "InfrastructureupdateCallLambda46AFE9E4", "Arn", ], }, "Principal": "apigateway.amazonaws.com", "SourceArn": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":execute-api:", Object { "Ref": "AWS::Region", }, ":", Object { "Ref": "AWS::AccountId", }, ":", Object { "Ref": "InfrastructureclickToCallApiEFC07FEC", }, "/test-invoke-stage/POST/update", ], ], }, }, "Type": "AWS::Lambda::Permission", }, "InfrastructureclickToCallApiupdatePOSTApiPermissiontestInfrastructureclickToCallApiE27EEFC3POSTupdateB7D6A324": Object { "Properties": Object { "Action": "lambda:InvokeFunction", "FunctionName": Object { "Fn::GetAtt": Array [ "InfrastructureupdateCallLambda46AFE9E4", "Arn", ], }, "Principal": "apigateway.amazonaws.com", "SourceArn": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":execute-api:", Object { "Ref": "AWS::Region", }, ":", Object { "Ref": "AWS::AccountId", }, ":", Object { "Ref": "InfrastructureclickToCallApiEFC07FEC", }, "/", Object { "Ref": "InfrastructureclickToCallApiDeploymentStageprodD09C17F5", }, "/POST/update", ], ], }, }, "Type": "AWS::Lambda::Permission", }, "InfrastructureinfrastructureRole80511D48": Object { "Properties": Object { "AssumeRolePolicyDocument": Object { "Statement": Array [ Object { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": Object { "Service": "lambda.amazonaws.com", }, }, ], "Version": "2012-10-17", }, "ManagedPolicyArns": Array [ Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole", ], ], }, ], "Policies": Array [ Object { "PolicyDocument": Object { "Statement": Array [ Object { "Action": "chime:*", "Effect": "Allow", "Resource": "*", }, ], "Version": "2012-10-17", }, "PolicyName": "chimePolicy", }, ], }, "Type": "AWS::IAM::Role", }, "InfrastructureupdateCallLambda46AFE9E4": Object { "DependsOn": Array [ "InfrastructureinfrastructureRole80511D48", ], "Properties": Object { "Architectures": Array [ "arm64", ], "Code": Object { "S3Bucket": Object { "Fn::Sub": "cdk-hnb659fds-assets-\${AWS::AccountId}-\${AWS::Region}", }, "S3Key": "866c60db57cdf544af6648c68d5eda75a12521b99ebc81dc1f46a6d5a04fd274.zip", }, "Environment": Object { "Variables": Object { "AWS_NODEJS_CONNECTION_REUSE_ENABLED": "1", "FROM_NUMBER": Object { "Fn::GetAtt": Array [ "ChimephoneNumberChimePhoneNumberpstnCustomResourceDFB46FB1", "phoneNumber", ], }, "SMA_ID": Object { "Fn::GetAtt": Array [ "ChimesipMediaAppsipMediaAppRequestpstnCustomResource505FA3C9", "sipMediaAppId", ], }, "VOICE_CONNECTOR_ARN": Object { "Fn::Join": Array [ "", Array [ "arn:aws:chime:", Object { "Ref": "AWS::Region", }, ":", Object { "Ref": "AWS::AccountId", }, ":vc/", Object { "Fn::GetAtt": Array [ "AsteriskvoiceConnectorvoiceConnectorRequestpstnCustomResource89C81395", "voiceConnectorId", ], }, ], ], }, "VOICE_CONNECTOR_PHONE": Object { "Fn::GetAtt": Array [ "AsteriskvoiceConnectorPhoneNumberChimePhoneNumberpstnCustomResource9B765602", "phoneNumber", ], }, }, }, "Handler": "index.handler", "Role": Object { "Fn::GetAtt": Array [ "InfrastructureinfrastructureRole80511D48", "Arn", ], }, "Runtime": "nodejs18.x", "Timeout": 60, }, "Type": "AWS::Lambda::Function", }, "SiteCloudfrontDistribution0794B6B8": Object { "Properties": Object { "DistributionConfig": Object { "DefaultCacheBehavior": Object { "CachePolicyId": "4135ea2d-6df8-44a3-9df3-4b5a84be39ad", "Compress": true, "TargetOriginId": "testSiteCloudfrontDistributionOrigin14F75D719", "ViewerProtocolPolicy": "redirect-to-https", }, "DefaultRootObject": "index.html", "Enabled": true, "HttpVersion": "http2", "IPV6Enabled": true, "Origins": Array [ Object { "DomainName": Object { "Fn::GetAtt": Array [ "SitewebsiteBucketBC20A569", "RegionalDomainName", ], }, "Id": "testSiteCloudfrontDistributionOrigin14F75D719", "S3OriginConfig": Object { "OriginAccessIdentity": Object { "Fn::Join": Array [ "", Array [ "origin-access-identity/cloudfront/", Object { "Ref": "SiteCloudfrontDistributionOrigin1S3Origin4F2AB6D1", }, ], ], }, }, }, ], }, }, "Type": "AWS::CloudFront::Distribution", }, "SiteCloudfrontDistributionOrigin1S3Origin4F2AB6D1": Object { "Properties": Object { "CloudFrontOriginAccessIdentityConfig": Object { "Comment": "Identity for testSiteCloudfrontDistributionOrigin14F75D719", }, }, "Type": "AWS::CloudFront::CloudFrontOriginAccessIdentity", }, "SiteDeployBucketAwsCliLayerB1A3335C": Object { "Properties": Object { "Content": Object { "S3Bucket": Object { "Fn::Sub": "cdk-hnb659fds-assets-\${AWS::AccountId}-\${AWS::Region}", }, "S3Key": "88b83f5f61fe6f85ffcd0a37a09a8f3be90e7c090964b0b62b062eb8a5a1a3a7.zip", }, "Description": "/opt/awscli/aws", }, "Type": "AWS::Lambda::LayerVersion", }, "SiteDeployBucketCustomResource08EC962A": Object { "DeletionPolicy": "Delete", "Properties": Object { "DestinationBucketName": Object { "Ref": "SitewebsiteBucketBC20A569", }, "DistributionId": Object { "Ref": "SiteCloudfrontDistribution0794B6B8", }, "DistributionPaths": Array [ "/*", ], "Prune": true, "ServiceToken": Object { "Fn::GetAtt": Array [ "CustomCDKBucketDeployment8693BB64968944B69AAFB0CC9EB8756C81C01536", "Arn", ], }, "SourceBucketNames": Array [ Object { "Fn::Sub": "cdk-hnb659fds-assets-\${AWS::AccountId}-\${AWS::Region}", }, Object { "Fn::Sub": "cdk-hnb659fds-assets-\${AWS::AccountId}-\${AWS::Region}", }, ], "SourceMarkers": Array [ Object {}, Object { "<>": Object { "Ref": "InfrastructureclickToCallApiEFC07FEC", }, "<>": Object { "Ref": "AWS::Region", }, "<>": Object { "Ref": "AWS::URLSuffix", }, "<>": Object { "Ref": "InfrastructureclickToCallApiDeploymentStageprodD09C17F5", }, "<>": Object { "Ref": "AWS::Region", }, "<>": Object { "Ref": "CognitoUserPool279BBD48", }, "<>": Object { "Ref": "CognitoUserPoolClientEF2538C4", }, "<>": Object { "Ref": "CognitocognitoIdentityPool626065C7", }, }, ], "SourceObjectKeys": Array [ "7cdb3151fd485fa65b2159d44bc810ffd1b76f7ba7087638382c8ccc2c1537b8.zip", "7e2723da3d38f7cfb88b2c953d1b5da26dfd4aa7361cdb0bfcdf6041e0a71cad.zip", ], }, "Type": "Custom::CDKBucketDeployment", "UpdateReplacePolicy": "Delete", }, "SitewebsiteBucketAutoDeleteObjectsCustomResourceB62EAF63": Object { "DeletionPolicy": "Delete", "DependsOn": Array [ "SitewebsiteBucketPolicyC20F0243", ], "Properties": Object { "BucketName": Object { "Ref": "SitewebsiteBucketBC20A569", }, "ServiceToken": Object { "Fn::GetAtt": Array [ "CustomS3AutoDeleteObjectsCustomResourceProviderHandler9D90184F", "Arn", ], }, }, "Type": "Custom::S3AutoDeleteObjects", "UpdateReplacePolicy": "Delete", }, "SitewebsiteBucketBC20A569": Object { "DeletionPolicy": "Delete", "Properties": Object { "Tags": Array [ Object { "Key": "aws-cdk:auto-delete-objects", "Value": "true", }, Object { "Key": "aws-cdk:cr-owned:7d2ce709", "Value": "true", }, ], }, "Type": "AWS::S3::Bucket", "UpdateReplacePolicy": "Delete", }, "SitewebsiteBucketPolicyC20F0243": Object { "Properties": Object { "Bucket": Object { "Ref": "SitewebsiteBucketBC20A569", }, "PolicyDocument": Object { "Statement": Array [ Object { "Action": Array [ "s3:GetBucket*", "s3:List*", "s3:DeleteObject*", ], "Effect": "Allow", "Principal": Object { "AWS": Object { "Fn::GetAtt": Array [ "CustomS3AutoDeleteObjectsCustomResourceProviderRole3B1BD092", "Arn", ], }, }, "Resource": Array [ Object { "Fn::GetAtt": Array [ "SitewebsiteBucketBC20A569", "Arn", ], }, Object { "Fn::Join": Array [ "", Array [ Object { "Fn::GetAtt": Array [ "SitewebsiteBucketBC20A569", "Arn", ], }, "/*", ], ], }, ], }, Object { "Action": "s3:GetObject", "Effect": "Allow", "Principal": Object { "CanonicalUser": Object { "Fn::GetAtt": Array [ "SiteCloudfrontDistributionOrigin1S3Origin4F2AB6D1", "S3CanonicalUserId", ], }, }, "Resource": Object { "Fn::Join": Array [ "", Array [ Object { "Fn::GetAtt": Array [ "SitewebsiteBucketBC20A569", "Arn", ], }, "/*", ], ], }, }, ], "Version": "2012-10-17", }, }, "Type": "AWS::S3::BucketPolicy", }, }, "Rules": Object { "CheckBootstrapVersion": Object { "Assertions": Array [ Object { "Assert": Object { "Fn::Not": Array [ Object { "Fn::Contains": Array [ Array [ "1", "2", "3", "4", "5", ], Object { "Ref": "BootstrapVersion", }, ], }, ], }, "AssertDescription": "CDK bootstrap stack version 6 required. Please run 'cdk bootstrap' with a recent version of the CDK CLI.", }, ], }, }, } `; exports[`SnapshotWithAsteriskAndCognito 1`] = ` Object { "Mappings": Object { "DefaultCrNodeVersionMap": Object { "af-south-1": Object { "value": "nodejs16.x", }, "ap-east-1": Object { "value": "nodejs16.x", }, "ap-northeast-1": Object { "value": "nodejs16.x", }, "ap-northeast-2": Object { "value": "nodejs16.x", }, "ap-northeast-3": Object { "value": "nodejs16.x", }, "ap-south-1": Object { "value": "nodejs16.x", }, "ap-south-2": Object { "value": "nodejs16.x", }, "ap-southeast-1": Object { "value": "nodejs16.x", }, "ap-southeast-2": Object { "value": "nodejs16.x", }, "ap-southeast-3": Object { "value": "nodejs16.x", }, "ca-central-1": Object { "value": "nodejs16.x", }, "cn-north-1": Object { "value": "nodejs16.x", }, "cn-northwest-1": Object { "value": "nodejs16.x", }, "eu-central-1": Object { "value": "nodejs16.x", }, "eu-central-2": Object { "value": "nodejs16.x", }, "eu-north-1": Object { "value": "nodejs16.x", }, "eu-south-1": Object { "value": "nodejs16.x", }, "eu-south-2": Object { "value": "nodejs16.x", }, "eu-west-1": Object { "value": "nodejs16.x", }, "eu-west-2": Object { "value": "nodejs16.x", }, "eu-west-3": Object { "value": "nodejs16.x", }, "me-central-1": Object { "value": "nodejs16.x", }, "me-south-1": Object { "value": "nodejs16.x", }, "sa-east-1": Object { "value": "nodejs16.x", }, "us-east-1": Object { "value": "nodejs16.x", }, "us-east-2": Object { "value": "nodejs16.x", }, "us-gov-east-1": Object { "value": "nodejs16.x", }, "us-gov-west-1": Object { "value": "nodejs16.x", }, "us-iso-east-1": Object { "value": "nodejs14.x", }, "us-iso-west-1": Object { "value": "nodejs14.x", }, "us-isob-east-1": Object { "value": "nodejs14.x", }, "us-west-1": Object { "value": "nodejs16.x", }, "us-west-2": Object { "value": "nodejs16.x", }, }, }, "Outputs": Object { "InfrastructureclickToCallApiEndpointFB01AAB3": Object { "Value": Object { "Fn::Join": Array [ "", Array [ "https://", Object { "Ref": "InfrastructureclickToCallApiEFC07FEC", }, ".execute-api.", Object { "Ref": "AWS::Region", }, ".", Object { "Ref": "AWS::URLSuffix", }, "/", Object { "Ref": "InfrastructureclickToCallApiDeploymentStageprodD09C17F5", }, "/", ], ], }, }, "fromNumber": Object { "Value": Object { "Fn::GetAtt": Array [ "ChimephoneNumberChimePhoneNumberpstnCustomResourceDFB46FB1", "phoneNumber", ], }, }, "instanceId": Object { "Value": Object { "Ref": "AsteriskInstanceDB13446260b0d1addfd226fd", }, }, "site": Object { "Value": Object { "Fn::GetAtt": Array [ "SiteCloudfrontDistribution0794B6B8", "DomainName", ], }, }, "siteBucket": Object { "Value": Object { "Ref": "SitewebsiteBucketBC20A569", }, }, "ssmCommand": Object { "Value": Object { "Fn::Join": Array [ "", Array [ "aws ssm start-session --target ", Object { "Ref": "AsteriskInstanceDB13446260b0d1addfd226fd", }, ], ], }, }, "voiceConnectorPhone": Object { "Value": Object { "Fn::GetAtt": Array [ "AsteriskvoiceConnectorPhoneNumberChimePhoneNumberpstnCustomResource9B765602", "phoneNumber", ], }, }, }, "Parameters": Object { "BootstrapVersion": Object { "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", }, "SsmParameterValueawsserviceamiamazonlinuxlatestamzn2amihvmarm64gp2C96584B6F00A464EAD1953AFF4B05118Parameter": Object { "Default": "/aws/service/ami-amazon-linux-latest/amzn2-ami-hvm-arm64-gp2", "Type": "AWS::SSM::Parameter::Value", }, }, "Resources": Object { "AWS679f53fac002430cb0da5b7982bd22872D164C4C": Object { "DependsOn": Array [ "AWS679f53fac002430cb0da5b7982bd2287ServiceRoleC1EA0FF2", ], "Properties": Object { "Code": Object { "S3Bucket": Object { "Fn::Sub": "cdk-hnb659fds-assets-\${AWS::AccountId}-\${AWS::Region}", }, "S3Key": "f9346b940b724b094a16ca051c017799995fa93df6da38a0539bf7c000fee50a.zip", }, "Handler": "index.handler", "Role": Object { "Fn::GetAtt": Array [ "AWS679f53fac002430cb0da5b7982bd2287ServiceRoleC1EA0FF2", "Arn", ], }, "Runtime": Object { "Fn::FindInMap": Array [ "DefaultCrNodeVersionMap", Object { "Ref": "AWS::Region", }, "value", ], }, "Timeout": 120, }, "Type": "AWS::Lambda::Function", }, "AWS679f53fac002430cb0da5b7982bd2287ServiceRoleC1EA0FF2": Object { "Properties": Object { "AssumeRolePolicyDocument": Object { "Statement": Array [ Object { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": Object { "Service": "lambda.amazonaws.com", }, }, ], "Version": "2012-10-17", }, "ManagedPolicyArns": Array [ Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole", ], ], }, ], }, "Type": "AWS::IAM::Role", }, "AsteriskAsteriskSecurityGroup2A659F86": Object { "Properties": Object { "GroupDescription": "Security Group for Asterisk Instance", "SecurityGroupEgress": Array [ Object { "CidrIp": "0.0.0.0/0", "Description": "Allow all outbound traffic by default", "IpProtocol": "-1", }, ], "SecurityGroupIngress": Array [ Object { "CidrIp": "3.80.16.0/23", "Description": "Allow Chime Voice Connector Signaling Access", "FromPort": 5060, "IpProtocol": "udp", "ToPort": 5060, }, Object { "CidrIp": "3.80.16.0/23", "Description": "Allow Chime Voice Connector Signaling Access", "FromPort": 5060, "IpProtocol": "tcp", "ToPort": 5061, }, Object { "CidrIp": "99.77.253.0/24", "Description": "Allow Chime Voice Connector Signaling Access", "FromPort": 5060, "IpProtocol": "udp", "ToPort": 5060, }, Object { "CidrIp": "99.77.253.0/24", "Description": "Allow Chime Voice Connector Signaling Access", "FromPort": 5060, "IpProtocol": "tcp", "ToPort": 5061, }, Object { "CidrIp": "99.77.253.0/24", "Description": "Allow Chime Voice Connector Signaling Access", "FromPort": 5000, "IpProtocol": "udp", "ToPort": 65000, }, Object { "CidrIp": "3.80.16.0/23", "Description": "Allow Chime Voice Connector Media Access", "FromPort": 5000, "IpProtocol": "udp", "ToPort": 65000, }, Object { "CidrIp": "52.55.62.128/25", "Description": "Allow Chime Voice Connector Media Access", "FromPort": 1024, "IpProtocol": "udp", "ToPort": 65535, }, Object { "CidrIp": "52.55.63.0/25", "Description": "Allow Chime Voice Connector Media Access", "FromPort": 1024, "IpProtocol": "udp", "ToPort": 65535, }, Object { "CidrIp": "34.212.95.128/25", "Description": "Allow Chime Voice Connector Media Access", "FromPort": 1024, "IpProtocol": "udp", "ToPort": 65535, }, Object { "CidrIp": "34.223.21.0/25", "Description": "Allow Chime Voice Connector Media Access", "FromPort": 1024, "IpProtocol": "udp", "ToPort": 65535, }, ], "VpcId": Object { "Ref": "AsteriskVPCFD344048", }, }, "Type": "AWS::EC2::SecurityGroup", }, "AsteriskEIPAssociation3A327365": Object { "Properties": Object { "EIP": Object { "Ref": "AsteriskasteriskEipB136F44F", }, "InstanceId": Object { "Ref": "AsteriskInstanceDB13446260b0d1addfd226fd", }, }, "Type": "AWS::EC2::EIPAssociation", }, "AsteriskInstanceDB13446260b0d1addfd226fd": Object { "CreationPolicy": Object { "ResourceSignal": Object { "Count": 1, "Timeout": "PT15M", }, }, "DependsOn": Array [ "AsteriskasteriskEc2RoleDefaultPolicyD6292042", "AsteriskasteriskEc2Role33F478B3", ], "Metadata": Object { "AWS::CloudFormation::Init": Object { "config": Object { "commands": Object { "000": Object { "command": "chmod +x /etc/config_asterisk.sh", }, "001": Object { "command": "/etc/config_asterisk.sh", }, }, "files": Object { "/etc/asterisk/asterisk.conf": Object { "content": "[options] runuser = asterisk rungroup = asterisk", "encoding": "plain", "group": "root", "mode": "000644", "owner": "root", }, "/etc/asterisk/extensions.conf": Object { "content": "; extensions.conf - the Asterisk dial plan ; [general] static=yes writeprotect=no clearglobalvars=no [catch-all] exten => _[+0-9].,1,Answer() exten => _[+0-9].,n,Wait(1) exten => _[+0-9].,n,Playback(hello-world) exten => _[+0-9].,n,Wait(1) exten => _[+0-9].,n,Echo() exten => _[+0-9].,n,Wait(1) exten => _[+0-9].,n,Hangup() [from-phone] include => outbound_phone [outbound_phone] exten => _+X.,1,NoOP(Outbound Normal) same => n,Dial(PJSIP/\${EXTEN}@VoiceConnector,20) same => n,Congestion [from-voiceConnector] include => phones include => catch-all [phones] exten => PHONE_NUMBER,1,Dial(PJSIP/PHONE_NUMBER)", "encoding": "plain", "group": "root", "mode": "000644", "owner": "root", }, "/etc/asterisk/logger.conf": Object { "content": "[general] [logfiles] console = verbose,notice,warning,error messages = notice,warning,error", "encoding": "plain", "group": "root", "mode": "000644", "owner": "root", }, "/etc/asterisk/modules.conf": Object { "content": "[modules] autoload = no ; This is a minimal module load. We are loading only the modules ; required for the Asterisk features used in the \\"Super Awesome ; Company\\" configuration. ; Applications load = app_bridgewait.so load = app_dial.so load = app_playback.so load = app_stack.so load = app_verbose.so load = app_voicemail.so load = app_directory.so load = app_confbridge.so load = app_queue.so load = app_echo.so ; Bridging load = bridge_builtin_features.so load = bridge_builtin_interval_features.so load = bridge_holding.so load = bridge_native_rtp.so load = bridge_simple.so load = bridge_softmix.so ; Call Detail Records load = cdr_custom.so ; Channel Drivers load = chan_bridge_media.so load = chan_pjsip.so ; Codecs load = codec_gsm.so load = codec_resample.so load = codec_ulaw.so load = codec_g722.so ; Formats load = format_gsm.so load = format_pcm.so load = format_wav_gsm.so load = format_wav.so ; Functions load = func_callerid.so load = func_cdr.so load = func_pjsip_endpoint.so load = func_sorcery.so load = func_devstate.so load = func_strings.so ; Core/PBX load = pbx_config.so ; Resources load = res_http_websocket.so load = res_musiconhold.so load = res_pjproject.so load = res_pjsip_acl.so load = res_pjsip_authenticator_digest.so load = res_pjsip_caller_id.so load = res_pjsip_dialog_info_body_generator.so load = res_pjsip_diversion.so load = res_pjsip_dtmf_info.so load = res_pjsip_endpoint_identifier_anonymous.so load = res_pjsip_endpoint_identifier_ip.so load = res_pjsip_endpoint_identifier_user.so load = res_pjsip_exten_state.so load = res_pjsip_header_funcs.so load = res_pjsip_logger.so load = res_pjsip_messaging.so load = res_pjsip_mwi_body_generator.so load = res_pjsip_mwi.so load = res_pjsip_nat.so load = res_pjsip_notify.so load = res_pjsip_one_touch_record_info.so load = res_pjsip_outbound_authenticator_digest.so load = res_pjsip_outbound_publish.so load = res_pjsip_outbound_registration.so load = res_pjsip_path.so load = res_pjsip_pidf_body_generator.so load = res_pjsip_pidf_digium_body_supplement.so load = res_pjsip_pidf_eyebeam_body_supplement.so load = res_pjsip_publish_asterisk.so load = res_pjsip_pubsub.so load = res_pjsip_refer.so load = res_pjsip_registrar.so load = res_pjsip_rfc3326.so load = res_pjsip_sdp_rtp.so load = res_pjsip_send_to_voicemail.so load = res_pjsip_session.so load = res_pjsip.so load = res_pjsip_t38.so load = res_pjsip_transport_websocket.so load = res_pjsip_xpidf_body_generator.so load = res_rtp_asterisk.so load = res_sorcery_astdb.so load = res_sorcery_config.so load = res_sorcery_memory.so load = res_sorcery_realtime.so load = res_timing_timerfd.so ; Do not load res_hep and kin unless you are using HEP monitoring ; in your network. noload = res_hep.so noload = res_hep_pjsip.so noload = res_hep_rtcp.so", "encoding": "plain", "group": "root", "mode": "000644", "owner": "root", }, "/etc/asterisk/pjsip.conf": Object { "content": "[udp] type=transport protocol=udp bind=0.0.0.0 external_media_address=IP_ADDRESS external_signaling_address=IP_ADDRESS allow_reload=yes [VoiceConnector] type=endpoint context=from-voiceConnector transport=udp disallow=all allow=ulaw aors=VoiceConnector direct_media=no ice_support=yes force_rport=yes [VoiceConnector] type=identify endpoint=VoiceConnector match=OUTBOUND_HOST_NAME [VoiceConnector] type=aor contact=sip:OUTBOUND_HOST_NAME [PHONE_NUMBER] type=endpoint context=from-phone disallow=all allow=ulaw transport=udp auth=PHONE_NUMBER aors=PHONE_NUMBER send_pai=yes direct_media=no rewrite_contact=yes ice_support=yes force_rport=yes [PHONE_NUMBER] type=auth auth_type=userpass password=ChimeDemo username=PHONE_NUMBER [PHONE_NUMBER] type=aor max_contacts=5", "encoding": "plain", "group": "root", "mode": "000644", "owner": "root", }, "/etc/config_asterisk.sh": Object { "content": "#!/bin/bash -xe IP=$( jq -r '.IP' /etc/config.json ) OUTBOUND_HOSTNAME=$( jq -r '.OutboundHostName' /etc/config.json ) PHONE_NUMBER=$( jq -r '.PhoneNumber' /etc/config.json ) sed -i \\"s/IP_ADDRESS/$IP/g\\" /etc/asterisk/pjsip.conf sed -i \\"s/OUTBOUND_HOST_NAME/$OUTBOUND_HOSTNAME/g\\" /etc/asterisk/pjsip.conf sed -i \\"s/PHONE_NUMBER/$PHONE_NUMBER/g\\" /etc/asterisk/pjsip.conf sed -i \\"s/PHONE_NUMBER/$PHONE_NUMBER/g\\" /etc/asterisk/extensions.conf groupadd asterisk useradd -r -d /var/lib/asterisk -g asterisk asterisk usermod -aG audio,dialout asterisk chown -R asterisk.asterisk /etc/asterisk chown -R asterisk.asterisk /var/{lib,log,spool}/asterisk echo '0 * * * * /sbin/asterisk -rx \\"core reload\\"' > /etc/asterisk/crontab.txt crontab /etc/asterisk/crontab.txt systemctl start asterisk", "encoding": "plain", "group": "root", "mode": "000644", "owner": "root", }, }, }, "configSets": Object { "default": Array [ "install", "config", ], }, "install": Object { "commands": Object { "000": Object { "command": "chmod +x /etc/install.sh", }, "001": Object { "command": "cd /tmp", }, "002": Object { "command": "/etc/install.sh 2>&1 | tee /var/log/asterisk_install.log", }, }, "files": Object { "/etc/config.json": Object { "content": Object { "IP": Object { "Ref": "AsteriskasteriskEipB136F44F", }, "OutboundHostName": Object { "Fn::Join": Array [ "", Array [ Object { "Fn::GetAtt": Array [ "AsteriskvoiceConnectorvoiceConnectorRequestpstnCustomResource89C81395", "voiceConnectorId", ], }, ".voiceconnector.chime.aws", ], ], }, "PhoneNumber": Object { "Fn::GetAtt": Array [ "AsteriskvoiceConnectorPhoneNumberChimePhoneNumberpstnCustomResource9B765602", "phoneNumber", ], }, "REGION": Object { "Ref": "AWS::Region", }, }, "group": "root", "mode": "000644", "owner": "root", }, "/etc/install.sh": Object { "content": "#!/bin/bash -xe ## Copyright Amazon.com Inc. or its affiliates. HOMEDIR=/home/ec2-user cd /tmp yum -y install make gcc gcc-c++ make subversion libxml2-devel ncurses-devel openssl-devel vim-enhanced man glibc-devel autoconf libnewt kernel-devel kernel-headers linux-headers openssl-devel zlib-devel libsrtp libsrtp-devel uuid libuuid-devel mariadb-server jansson-devel libsqlite3x libsqlite3x-devel epel-release.noarch bash-completion bash-completion-extras unixODBC unixODBC-devel libtool-ltdl libtool-ltdl-devel mysql-connector-odbc mlocate libiodbc sqlite sqlite-devel sql-devel.i686 sqlite-doc.noarch sqlite-tcl.x86_64 patch libedit-devel jq wget https://downloads.asterisk.org/pub/telephony/asterisk/asterisk-18-current.tar.gz tar xvzf asterisk-18-current.tar.gz cd asterisk-18*/ ./configure --libdir=/usr/lib64 --with-jansson-bundled make menuselect.makeopts menuselect/menuselect \\\\ --disable BUILD_NATIVE \\\\ --disable chan_sip \\\\ --disable chan_skinny \\\\ --enable cdr_csv \\\\ --enable res_snmp \\\\ --enable res_http_websocket \\\\ menuselect.makeopts make make install make basic-pbx touch /etc/redhat-release make config ldconfig ", "encoding": "plain", "group": "root", "mode": "000644", "owner": "root", }, }, }, }, }, "Properties": Object { "AvailabilityZone": Object { "Fn::Select": Array [ 0, Object { "Fn::GetAZs": "", }, ], }, "IamInstanceProfile": Object { "Ref": "AsteriskInstanceInstanceProfile6D34C8D3", }, "ImageId": Object { "Ref": "SsmParameterValueawsserviceamiamazonlinuxlatestamzn2amihvmarm64gp2C96584B6F00A464EAD1953AFF4B05118Parameter", }, "InstanceType": "c6g.medium", "SecurityGroupIds": Array [ Object { "Fn::GetAtt": Array [ "AsteriskAsteriskSecurityGroup2A659F86", "GroupId", ], }, ], "SubnetId": Object { "Ref": "AsteriskVPCAsteriskPublicSubnet1SubnetDC7F3989", }, "Tags": Array [ Object { "Key": "Name", "Value": "test/Asterisk/Instance", }, ], "UserData": Object { "Fn::Base64": Object { "Fn::Join": Array [ "", Array [ "#!/bin/bash # fingerprint: c0d8c37dea888467 ( set +e /opt/aws/bin/cfn-init -v --region ", Object { "Ref": "AWS::Region", }, " --stack ", Object { "Ref": "AWS::StackName", }, " --resource AsteriskInstanceDB13446260b0d1addfd226fd --url https://cloudformation.", Object { "Ref": "AWS::Region", }, ".", Object { "Ref": "AWS::URLSuffix", }, " --role ", Object { "Ref": "AsteriskasteriskEc2Role33F478B3", }, " -c default /opt/aws/bin/cfn-signal -e $? --region ", Object { "Ref": "AWS::Region", }, " --stack ", Object { "Ref": "AWS::StackName", }, " --resource AsteriskInstanceDB13446260b0d1addfd226fd --url https://cloudformation.", Object { "Ref": "AWS::Region", }, ".", Object { "Ref": "AWS::URLSuffix", }, " --role ", Object { "Ref": "AsteriskasteriskEc2Role33F478B3", }, " cat /var/log/cfn-init.log >&2 )", ], ], }, }, }, "Type": "AWS::EC2::Instance", }, "AsteriskInstanceInstanceProfile6D34C8D3": Object { "Properties": Object { "Roles": Array [ Object { "Ref": "AsteriskasteriskEc2Role33F478B3", }, ], }, "Type": "AWS::IAM::InstanceProfile", }, "AsteriskVPCAsteriskPublicSubnet1DefaultRoute7A5C457B": Object { "DependsOn": Array [ "AsteriskVPCVPCGWC32ED547", ], "Properties": Object { "DestinationCidrBlock": "0.0.0.0/0", "GatewayId": Object { "Ref": "AsteriskVPCIGWD859AFE2", }, "RouteTableId": Object { "Ref": "AsteriskVPCAsteriskPublicSubnet1RouteTable6CEBDD13", }, }, "Type": "AWS::EC2::Route", }, "AsteriskVPCAsteriskPublicSubnet1RouteTable6CEBDD13": Object { "Properties": Object { "Tags": Array [ Object { "Key": "Name", "Value": "test/Asterisk/VPC/AsteriskPublicSubnet1", }, ], "VpcId": Object { "Ref": "AsteriskVPCFD344048", }, }, "Type": "AWS::EC2::RouteTable", }, "AsteriskVPCAsteriskPublicSubnet1RouteTableAssociationA0859A80": Object { "Properties": Object { "RouteTableId": Object { "Ref": "AsteriskVPCAsteriskPublicSubnet1RouteTable6CEBDD13", }, "SubnetId": Object { "Ref": "AsteriskVPCAsteriskPublicSubnet1SubnetDC7F3989", }, }, "Type": "AWS::EC2::SubnetRouteTableAssociation", }, "AsteriskVPCAsteriskPublicSubnet1SubnetDC7F3989": Object { "Properties": Object { "AvailabilityZone": Object { "Fn::Select": Array [ 0, Object { "Fn::GetAZs": "", }, ], }, "CidrBlock": "10.0.0.0/24", "MapPublicIpOnLaunch": true, "Tags": Array [ Object { "Key": "aws-cdk:subnet-name", "Value": "AsteriskPublic", }, Object { "Key": "aws-cdk:subnet-type", "Value": "Public", }, Object { "Key": "Name", "Value": "test/Asterisk/VPC/AsteriskPublicSubnet1", }, ], "VpcId": Object { "Ref": "AsteriskVPCFD344048", }, }, "Type": "AWS::EC2::Subnet", }, "AsteriskVPCAsteriskPublicSubnet2DefaultRoute8E9CAB97": Object { "DependsOn": Array [ "AsteriskVPCVPCGWC32ED547", ], "Properties": Object { "DestinationCidrBlock": "0.0.0.0/0", "GatewayId": Object { "Ref": "AsteriskVPCIGWD859AFE2", }, "RouteTableId": Object { "Ref": "AsteriskVPCAsteriskPublicSubnet2RouteTable0491573C", }, }, "Type": "AWS::EC2::Route", }, "AsteriskVPCAsteriskPublicSubnet2RouteTable0491573C": Object { "Properties": Object { "Tags": Array [ Object { "Key": "Name", "Value": "test/Asterisk/VPC/AsteriskPublicSubnet2", }, ], "VpcId": Object { "Ref": "AsteriskVPCFD344048", }, }, "Type": "AWS::EC2::RouteTable", }, "AsteriskVPCAsteriskPublicSubnet2RouteTableAssociation9EAC0220": Object { "Properties": Object { "RouteTableId": Object { "Ref": "AsteriskVPCAsteriskPublicSubnet2RouteTable0491573C", }, "SubnetId": Object { "Ref": "AsteriskVPCAsteriskPublicSubnet2Subnet013C0E02", }, }, "Type": "AWS::EC2::SubnetRouteTableAssociation", }, "AsteriskVPCAsteriskPublicSubnet2Subnet013C0E02": Object { "Properties": Object { "AvailabilityZone": Object { "Fn::Select": Array [ 1, Object { "Fn::GetAZs": "", }, ], }, "CidrBlock": "10.0.1.0/24", "MapPublicIpOnLaunch": true, "Tags": Array [ Object { "Key": "aws-cdk:subnet-name", "Value": "AsteriskPublic", }, Object { "Key": "aws-cdk:subnet-type", "Value": "Public", }, Object { "Key": "Name", "Value": "test/Asterisk/VPC/AsteriskPublicSubnet2", }, ], "VpcId": Object { "Ref": "AsteriskVPCFD344048", }, }, "Type": "AWS::EC2::Subnet", }, "AsteriskVPCFD344048": Object { "Properties": Object { "CidrBlock": "10.0.0.0/16", "EnableDnsHostnames": true, "EnableDnsSupport": true, "InstanceTenancy": "default", "Tags": Array [ Object { "Key": "Name", "Value": "test/Asterisk/VPC", }, ], }, "Type": "AWS::EC2::VPC", }, "AsteriskVPCIGWD859AFE2": Object { "Properties": Object { "Tags": Array [ Object { "Key": "Name", "Value": "test/Asterisk/VPC", }, ], }, "Type": "AWS::EC2::InternetGateway", }, "AsteriskVPCVPCGWC32ED547": Object { "Properties": Object { "InternetGatewayId": Object { "Ref": "AsteriskVPCIGWD859AFE2", }, "VpcId": Object { "Ref": "AsteriskVPCFD344048", }, }, "Type": "AWS::EC2::VPCGatewayAttachment", }, "AsteriskasteriskEc2Role33F478B3": Object { "Properties": Object { "AssumeRolePolicyDocument": Object { "Statement": Array [ Object { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": Object { "Service": "ec2.amazonaws.com", }, }, ], "Version": "2012-10-17", }, "ManagedPolicyArns": Array [ Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":iam::aws:policy/AmazonSSMManagedInstanceCore", ], ], }, ], }, "Type": "AWS::IAM::Role", }, "AsteriskasteriskEc2RoleDefaultPolicyD6292042": Object { "Properties": Object { "PolicyDocument": Object { "Statement": Array [ Object { "Action": Array [ "cloudformation:DescribeStackResource", "cloudformation:SignalResource", ], "Effect": "Allow", "Resource": Object { "Ref": "AWS::StackId", }, }, ], "Version": "2012-10-17", }, "PolicyName": "AsteriskasteriskEc2RoleDefaultPolicyD6292042", "Roles": Array [ Object { "Ref": "AsteriskasteriskEc2Role33F478B3", }, ], }, "Type": "AWS::IAM::Policy", }, "AsteriskasteriskEipB136F44F": Object { "Type": "AWS::EC2::EIP", }, "AsteriskvoiceConnectorPhoneNumberChimePhoneNumberPSTNResourceProviderframeworkonEvent63C4935D": Object { "DependsOn": Array [ "AsteriskvoiceConnectorPhoneNumberChimePhoneNumberPSTNResourceProviderframeworkonEventServiceRoleDefaultPolicyFE072C2A", "AsteriskvoiceConnectorPhoneNumberChimePhoneNumberPSTNResourceProviderframeworkonEventServiceRole94BBFC78", ], "Properties": Object { "Code": Object { "S3Bucket": Object { "Fn::Sub": "cdk-hnb659fds-assets-\${AWS::AccountId}-\${AWS::Region}", }, "S3Key": "8e3d635893ea17fa3158623489cd42c680fad925b38de1ef51cb10d84f6e245e.zip", }, "Description": "AWS CDK resource provider framework - onEvent (test/Asterisk/voiceConnectorPhoneNumber/ChimePhoneNumber/PSTNResourceProvider)", "Environment": Object { "Variables": Object { "USER_ON_EVENT_FUNCTION_ARN": Object { "Fn::GetAtt": Array [ "AsteriskvoiceConnectorPhoneNumberChimePhoneNumberpstnResourcesFunction1518CFA6", "Arn", ], }, }, }, "Handler": "framework.onEvent", "Role": Object { "Fn::GetAtt": Array [ "AsteriskvoiceConnectorPhoneNumberChimePhoneNumberPSTNResourceProviderframeworkonEventServiceRole94BBFC78", "Arn", ], }, "Runtime": "nodejs14.x", "Timeout": 900, }, "Type": "AWS::Lambda::Function", }, "AsteriskvoiceConnectorPhoneNumberChimePhoneNumberPSTNResourceProviderframeworkonEventServiceRole94BBFC78": Object { "Properties": Object { "AssumeRolePolicyDocument": Object { "Statement": Array [ Object { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": Object { "Service": "lambda.amazonaws.com", }, }, ], "Version": "2012-10-17", }, "ManagedPolicyArns": Array [ Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole", ], ], }, ], }, "Type": "AWS::IAM::Role", }, "AsteriskvoiceConnectorPhoneNumberChimePhoneNumberPSTNResourceProviderframeworkonEventServiceRoleDefaultPolicyFE072C2A": Object { "Properties": Object { "PolicyDocument": Object { "Statement": Array [ Object { "Action": "lambda:InvokeFunction", "Effect": "Allow", "Resource": Array [ Object { "Fn::GetAtt": Array [ "AsteriskvoiceConnectorPhoneNumberChimePhoneNumberpstnResourcesFunction1518CFA6", "Arn", ], }, Object { "Fn::Join": Array [ "", Array [ Object { "Fn::GetAtt": Array [ "AsteriskvoiceConnectorPhoneNumberChimePhoneNumberpstnResourcesFunction1518CFA6", "Arn", ], }, ":*", ], ], }, ], }, ], "Version": "2012-10-17", }, "PolicyName": "AsteriskvoiceConnectorPhoneNumberChimePhoneNumberPSTNResourceProviderframeworkonEventServiceRoleDefaultPolicyFE072C2A", "Roles": Array [ Object { "Ref": "AsteriskvoiceConnectorPhoneNumberChimePhoneNumberPSTNResourceProviderframeworkonEventServiceRole94BBFC78", }, ], }, "Type": "AWS::IAM::Policy", }, "AsteriskvoiceConnectorPhoneNumberChimePhoneNumberpstnCustomResource9B765602": Object { "DeletionPolicy": "Delete", "Properties": Object { "ServiceToken": Object { "Fn::GetAtt": Array [ "AsteriskvoiceConnectorPhoneNumberChimePhoneNumberPSTNResourceProviderframeworkonEvent63C4935D", "Arn", ], }, "properties": Object { "phoneCountry": "US", "phoneNumberType": "Local", "phoneProductType": "VoiceConnector", "phoneState": "CA", }, "resourceType": "PhoneNumber", "uid": "testAsteriskvoiceConnectorPhoneNumber181D3555", }, "Type": "AWS::CloudFormation::CustomResource", "UpdateReplacePolicy": "Delete", }, "AsteriskvoiceConnectorPhoneNumberChimePhoneNumberpstnCustomResourceRole30BED212": Object { "Properties": Object { "AssumeRolePolicyDocument": Object { "Statement": Array [ Object { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": Object { "Service": "lambda.amazonaws.com", }, }, ], "Version": "2012-10-17", }, "Description": "Amazon Chime PSTN Resources", "ManagedPolicyArns": Array [ Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole", ], ], }, ], "Policies": Array [ Object { "PolicyDocument": Object { "Statement": Array [ Object { "Action": Array [ "chime:*VoiceProfileDomain*", "kms:CreateGrant", "kms:DescribeKey", "chime:*MediaInsightsPipelineConfiguration*", "chime:CreateSipRule", "chime:DeleteSipRule", "chime:UpdateSipRule", "chime:GetSipRule", "chime:CreateSipMediaApplication", "chime:DeleteSipMediaApplication", "chime:GetPhoneNumberOrder", "chime:SearchAvailablePhoneNumbers", "chime:CreatePhoneNumberOrder", "chime:DeletePhoneNumber", "chime:GetPhoneNumber", "chime:CreateVoiceConnector", "chime:PutVoiceConnectorStreamingConfiguration", "chime:PutVoiceConnectorTermination", "chime:PutVoiceConnectorOrigination", "chime:PutVoiceConnectorLoggingConfiguration", "chime:ListPhoneNumbers", "chime:AssociatePhoneNumbersWithVoiceConnector", "chime:DisassociatePhoneNumbersFromVoiceConnector", "chime:DeleteVoiceConnector", "chime:PutSipMediaApplicationAlexaSkillConfiguration", "chime:PutSipMediaApplicationLoggingConfiguration", "logs:GetLogDelivery", "logs:DeleteLogDelivery", "logs:ListLogDeliveries", "logs:CreateLogGroup", "logs:DescribeResourcePolicies", "logs:PutResourcePolicy", "logs:DescribeLogGroups", "logs:CreateLogDelivery", "lambda:GetPolicy", "lambda:AddPermission", "iam:PutRolePolicy", "iam:CreateServiceLinkedRole", ], "Effect": "Allow", "Resource": "*", }, Object { "Action": Array [ "ssm:PutParameter", "ssm:GetParameter", "ssm:DeleteParameter", ], "Effect": "Allow", "Resource": Object { "Fn::Join": Array [ "", Array [ "arn:aws:ssm:", Object { "Ref": "AWS::Region", }, ":", Object { "Ref": "AWS::AccountId", }, ":parameter/chime/*", ], ], }, }, ], "Version": "2012-10-17", }, "PolicyName": "chimePolicy", }, ], }, "Type": "AWS::IAM::Role", }, "AsteriskvoiceConnectorPhoneNumberChimePhoneNumberpstnResourcesFunction1518CFA6": Object { "DependsOn": Array [ "AsteriskvoiceConnectorPhoneNumberChimePhoneNumberpstnCustomResourceRole30BED212", ], "Properties": Object { "Code": Object { "S3Bucket": Object { "Fn::Sub": "cdk-hnb659fds-assets-\${AWS::AccountId}-\${AWS::Region}", }, "S3Key": "18a21c219083043f3d7d56daa068e5c1be7706ffda18f115cae5a7d441a307fc.zip", }, "Description": "src/resources/pstn/pstn.lambda.ts", "Environment": Object { "Variables": Object { "AWS_NODEJS_CONNECTION_REUSE_ENABLED": "1", }, }, "Handler": "index.handler", "Role": Object { "Fn::GetAtt": Array [ "AsteriskvoiceConnectorPhoneNumberChimePhoneNumberpstnCustomResourceRole30BED212", "Arn", ], }, "Runtime": "nodejs18.x", "Timeout": 60, }, "Type": "AWS::Lambda::Function", }, "AsteriskvoiceConnectorPhoneNumberphoneAssociation8DB0F44D": Object { "DeletionPolicy": "Delete", "DependsOn": Array [ "AsteriskvoiceConnectorPhoneNumberphoneAssociationCustomResourcePolicyD05A1771", ], "Properties": Object { "Create": Object { "Fn::Join": Array [ "", Array [ "{\\"service\\":\\"Chime\\",\\"action\\":\\"associatePhoneNumbersWithVoiceConnector\\",\\"region\\":\\"us-east-1\\",\\"parameters\\":{\\"E164PhoneNumbers\\":[\\"", Object { "Fn::GetAtt": Array [ "AsteriskvoiceConnectorPhoneNumberChimePhoneNumberpstnCustomResource9B765602", "phoneNumber", ], }, "\\"],\\"VoiceConnectorId\\":\\"", Object { "Fn::GetAtt": Array [ "AsteriskvoiceConnectorvoiceConnectorRequestpstnCustomResource89C81395", "voiceConnectorId", ], }, "\\",\\"ForceAssociate\\":true},\\"physicalResourceId\\":{\\"id\\":\\"testAsteriskvoiceConnectorPhoneNumberphoneAssociation434A7C48\\"}}", ], ], }, "Delete": Object { "Fn::Join": Array [ "", Array [ "{\\"service\\":\\"Chime\\",\\"action\\":\\"disassociatePhoneNumbersFromVoiceConnector\\",\\"region\\":\\"us-east-1\\",\\"parameters\\":{\\"E164PhoneNumbers\\":[\\"", Object { "Fn::GetAtt": Array [ "AsteriskvoiceConnectorPhoneNumberChimePhoneNumberpstnCustomResource9B765602", "phoneNumber", ], }, "\\"],\\"VoiceConnectorId\\":\\"", Object { "Fn::GetAtt": Array [ "AsteriskvoiceConnectorvoiceConnectorRequestpstnCustomResource89C81395", "voiceConnectorId", ], }, "\\"},\\"physicalResourceId\\":{\\"id\\":\\"testAsteriskvoiceConnectorPhoneNumberphoneAssociation434A7C48\\"}}", ], ], }, "InstallLatestAwsSdk": true, "ServiceToken": Object { "Fn::GetAtt": Array [ "AWS679f53fac002430cb0da5b7982bd22872D164C4C", "Arn", ], }, }, "Type": "Custom::AWS", "UpdateReplacePolicy": "Delete", }, "AsteriskvoiceConnectorPhoneNumberphoneAssociationCustomResourcePolicyD05A1771": Object { "Properties": Object { "PolicyDocument": Object { "Statement": Array [ Object { "Action": "chime:AssociatePhoneNumbersWithVoiceConnector", "Effect": "Allow", "Resource": "*", }, Object { "Action": "chime:DisassociatePhoneNumbersFromVoiceConnector", "Effect": "Allow", "Resource": "*", }, ], "Version": "2012-10-17", }, "PolicyName": "AsteriskvoiceConnectorPhoneNumberphoneAssociationCustomResourcePolicyD05A1771", "Roles": Array [ Object { "Ref": "AWS679f53fac002430cb0da5b7982bd2287ServiceRoleC1EA0FF2", }, ], }, "Type": "AWS::IAM::Policy", }, "AsteriskvoiceConnectorvoiceConnectorRequestPSTNResourceProviderframeworkonEvent3E99712F": Object { "DependsOn": Array [ "AsteriskvoiceConnectorvoiceConnectorRequestPSTNResourceProviderframeworkonEventServiceRoleDefaultPolicyA57CEF9A", "AsteriskvoiceConnectorvoiceConnectorRequestPSTNResourceProviderframeworkonEventServiceRole87517A26", ], "Properties": Object { "Code": Object { "S3Bucket": Object { "Fn::Sub": "cdk-hnb659fds-assets-\${AWS::AccountId}-\${AWS::Region}", }, "S3Key": "8e3d635893ea17fa3158623489cd42c680fad925b38de1ef51cb10d84f6e245e.zip", }, "Description": "AWS CDK resource provider framework - onEvent (test/Asterisk/voiceConnector/voiceConnectorRequest/PSTNResourceProvider)", "Environment": Object { "Variables": Object { "USER_ON_EVENT_FUNCTION_ARN": Object { "Fn::GetAtt": Array [ "AsteriskvoiceConnectorvoiceConnectorRequestpstnResourcesFunction9D6320FB", "Arn", ], }, }, }, "Handler": "framework.onEvent", "Role": Object { "Fn::GetAtt": Array [ "AsteriskvoiceConnectorvoiceConnectorRequestPSTNResourceProviderframeworkonEventServiceRole87517A26", "Arn", ], }, "Runtime": "nodejs14.x", "Timeout": 900, }, "Type": "AWS::Lambda::Function", }, "AsteriskvoiceConnectorvoiceConnectorRequestPSTNResourceProviderframeworkonEventServiceRole87517A26": Object { "Properties": Object { "AssumeRolePolicyDocument": Object { "Statement": Array [ Object { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": Object { "Service": "lambda.amazonaws.com", }, }, ], "Version": "2012-10-17", }, "ManagedPolicyArns": Array [ Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole", ], ], }, ], }, "Type": "AWS::IAM::Role", }, "AsteriskvoiceConnectorvoiceConnectorRequestPSTNResourceProviderframeworkonEventServiceRoleDefaultPolicyA57CEF9A": Object { "Properties": Object { "PolicyDocument": Object { "Statement": Array [ Object { "Action": "lambda:InvokeFunction", "Effect": "Allow", "Resource": Array [ Object { "Fn::GetAtt": Array [ "AsteriskvoiceConnectorvoiceConnectorRequestpstnResourcesFunction9D6320FB", "Arn", ], }, Object { "Fn::Join": Array [ "", Array [ Object { "Fn::GetAtt": Array [ "AsteriskvoiceConnectorvoiceConnectorRequestpstnResourcesFunction9D6320FB", "Arn", ], }, ":*", ], ], }, ], }, ], "Version": "2012-10-17", }, "PolicyName": "AsteriskvoiceConnectorvoiceConnectorRequestPSTNResourceProviderframeworkonEventServiceRoleDefaultPolicyA57CEF9A", "Roles": Array [ Object { "Ref": "AsteriskvoiceConnectorvoiceConnectorRequestPSTNResourceProviderframeworkonEventServiceRole87517A26", }, ], }, "Type": "AWS::IAM::Policy", }, "AsteriskvoiceConnectorvoiceConnectorRequestpstnCustomResource89C81395": Object { "DeletionPolicy": "Delete", "Properties": Object { "ServiceToken": Object { "Fn::GetAtt": Array [ "AsteriskvoiceConnectorvoiceConnectorRequestPSTNResourceProviderframeworkonEvent3E99712F", "Arn", ], }, "properties": Object { "encryption": false, "name": "testAsteriskvoiceConnectorED5430A6", "origination": Array [ Object { "host": Object { "Ref": "AsteriskasteriskEipB136F44F", }, "port": 5060, "priority": 1, "protocol": "UDP", "weight": 1, }, ], "region": Object { "Ref": "AWS::Region", }, "termination": Object { "callingRegions": Array [ "US", ], "terminationCidrs": Array [ Object { "Fn::Join": Array [ "", Array [ Object { "Ref": "AsteriskasteriskEipB136F44F", }, "/32", ], ], }, ], }, }, "resourceType": "VoiceConnector", "uid": "testAsteriskvoiceConnectorED5430A6", }, "Type": "AWS::CloudFormation::CustomResource", "UpdateReplacePolicy": "Delete", }, "AsteriskvoiceConnectorvoiceConnectorRequestpstnCustomResourceRole01DC36A4": Object { "Properties": Object { "AssumeRolePolicyDocument": Object { "Statement": Array [ Object { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": Object { "Service": "lambda.amazonaws.com", }, }, ], "Version": "2012-10-17", }, "Description": "Amazon Chime PSTN Resources", "ManagedPolicyArns": Array [ Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole", ], ], }, ], "Policies": Array [ Object { "PolicyDocument": Object { "Statement": Array [ Object { "Action": Array [ "chime:*VoiceProfileDomain*", "kms:CreateGrant", "kms:DescribeKey", "chime:*MediaInsightsPipelineConfiguration*", "chime:CreateSipRule", "chime:DeleteSipRule", "chime:UpdateSipRule", "chime:GetSipRule", "chime:CreateSipMediaApplication", "chime:DeleteSipMediaApplication", "chime:GetPhoneNumberOrder", "chime:SearchAvailablePhoneNumbers", "chime:CreatePhoneNumberOrder", "chime:DeletePhoneNumber", "chime:GetPhoneNumber", "chime:CreateVoiceConnector", "chime:PutVoiceConnectorStreamingConfiguration", "chime:PutVoiceConnectorTermination", "chime:PutVoiceConnectorOrigination", "chime:PutVoiceConnectorLoggingConfiguration", "chime:ListPhoneNumbers", "chime:AssociatePhoneNumbersWithVoiceConnector", "chime:DisassociatePhoneNumbersFromVoiceConnector", "chime:DeleteVoiceConnector", "chime:PutSipMediaApplicationAlexaSkillConfiguration", "chime:PutSipMediaApplicationLoggingConfiguration", "logs:GetLogDelivery", "logs:DeleteLogDelivery", "logs:ListLogDeliveries", "logs:CreateLogGroup", "logs:DescribeResourcePolicies", "logs:PutResourcePolicy", "logs:DescribeLogGroups", "logs:CreateLogDelivery", "lambda:GetPolicy", "lambda:AddPermission", "iam:PutRolePolicy", "iam:CreateServiceLinkedRole", ], "Effect": "Allow", "Resource": "*", }, Object { "Action": Array [ "ssm:PutParameter", "ssm:GetParameter", "ssm:DeleteParameter", ], "Effect": "Allow", "Resource": Object { "Fn::Join": Array [ "", Array [ "arn:aws:ssm:", Object { "Ref": "AWS::Region", }, ":", Object { "Ref": "AWS::AccountId", }, ":parameter/chime/*", ], ], }, }, ], "Version": "2012-10-17", }, "PolicyName": "chimePolicy", }, ], }, "Type": "AWS::IAM::Role", }, "AsteriskvoiceConnectorvoiceConnectorRequestpstnResourcesFunction9D6320FB": Object { "DependsOn": Array [ "AsteriskvoiceConnectorvoiceConnectorRequestpstnCustomResourceRole01DC36A4", ], "Properties": Object { "Code": Object { "S3Bucket": Object { "Fn::Sub": "cdk-hnb659fds-assets-\${AWS::AccountId}-\${AWS::Region}", }, "S3Key": "18a21c219083043f3d7d56daa068e5c1be7706ffda18f115cae5a7d441a307fc.zip", }, "Description": "src/resources/pstn/pstn.lambda.ts", "Environment": Object { "Variables": Object { "AWS_NODEJS_CONNECTION_REUSE_ENABLED": "1", }, }, "Handler": "index.handler", "Role": Object { "Fn::GetAtt": Array [ "AsteriskvoiceConnectorvoiceConnectorRequestpstnCustomResourceRole01DC36A4", "Arn", ], }, "Runtime": "nodejs18.x", "Timeout": 60, }, "Type": "AWS::Lambda::Function", }, "ChimephoneNumberChimePhoneNumberPSTNResourceProviderframeworkonEvent48FEA3B8": Object { "DependsOn": Array [ "ChimephoneNumberChimePhoneNumberPSTNResourceProviderframeworkonEventServiceRoleDefaultPolicy4E05866C", "ChimephoneNumberChimePhoneNumberPSTNResourceProviderframeworkonEventServiceRole6BE92B60", ], "Properties": Object { "Code": Object { "S3Bucket": Object { "Fn::Sub": "cdk-hnb659fds-assets-\${AWS::AccountId}-\${AWS::Region}", }, "S3Key": "8e3d635893ea17fa3158623489cd42c680fad925b38de1ef51cb10d84f6e245e.zip", }, "Description": "AWS CDK resource provider framework - onEvent (test/Chime/phoneNumber/ChimePhoneNumber/PSTNResourceProvider)", "Environment": Object { "Variables": Object { "USER_ON_EVENT_FUNCTION_ARN": Object { "Fn::GetAtt": Array [ "ChimephoneNumberChimePhoneNumberpstnResourcesFunctionDCF1293A", "Arn", ], }, }, }, "Handler": "framework.onEvent", "Role": Object { "Fn::GetAtt": Array [ "ChimephoneNumberChimePhoneNumberPSTNResourceProviderframeworkonEventServiceRole6BE92B60", "Arn", ], }, "Runtime": "nodejs14.x", "Timeout": 900, }, "Type": "AWS::Lambda::Function", }, "ChimephoneNumberChimePhoneNumberPSTNResourceProviderframeworkonEventServiceRole6BE92B60": Object { "Properties": Object { "AssumeRolePolicyDocument": Object { "Statement": Array [ Object { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": Object { "Service": "lambda.amazonaws.com", }, }, ], "Version": "2012-10-17", }, "ManagedPolicyArns": Array [ Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole", ], ], }, ], }, "Type": "AWS::IAM::Role", }, "ChimephoneNumberChimePhoneNumberPSTNResourceProviderframeworkonEventServiceRoleDefaultPolicy4E05866C": Object { "Properties": Object { "PolicyDocument": Object { "Statement": Array [ Object { "Action": "lambda:InvokeFunction", "Effect": "Allow", "Resource": Array [ Object { "Fn::GetAtt": Array [ "ChimephoneNumberChimePhoneNumberpstnResourcesFunctionDCF1293A", "Arn", ], }, Object { "Fn::Join": Array [ "", Array [ Object { "Fn::GetAtt": Array [ "ChimephoneNumberChimePhoneNumberpstnResourcesFunctionDCF1293A", "Arn", ], }, ":*", ], ], }, ], }, ], "Version": "2012-10-17", }, "PolicyName": "ChimephoneNumberChimePhoneNumberPSTNResourceProviderframeworkonEventServiceRoleDefaultPolicy4E05866C", "Roles": Array [ Object { "Ref": "ChimephoneNumberChimePhoneNumberPSTNResourceProviderframeworkonEventServiceRole6BE92B60", }, ], }, "Type": "AWS::IAM::Policy", }, "ChimephoneNumberChimePhoneNumberpstnCustomResourceDFB46FB1": Object { "DeletionPolicy": "Delete", "Properties": Object { "ServiceToken": Object { "Fn::GetAtt": Array [ "ChimephoneNumberChimePhoneNumberPSTNResourceProviderframeworkonEvent48FEA3B8", "Arn", ], }, "properties": Object { "phoneCountry": "US", "phoneNumberType": "Local", "phoneProductType": "SipMediaApplicationDialIn", "phoneState": "IL", }, "resourceType": "PhoneNumber", "uid": "testChimephoneNumber9936B1A7", }, "Type": "AWS::CloudFormation::CustomResource", "UpdateReplacePolicy": "Delete", }, "ChimephoneNumberChimePhoneNumberpstnCustomResourceRole6F0C285E": Object { "Properties": Object { "AssumeRolePolicyDocument": Object { "Statement": Array [ Object { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": Object { "Service": "lambda.amazonaws.com", }, }, ], "Version": "2012-10-17", }, "Description": "Amazon Chime PSTN Resources", "ManagedPolicyArns": Array [ Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole", ], ], }, ], "Policies": Array [ Object { "PolicyDocument": Object { "Statement": Array [ Object { "Action": Array [ "chime:*VoiceProfileDomain*", "kms:CreateGrant", "kms:DescribeKey", "chime:*MediaInsightsPipelineConfiguration*", "chime:CreateSipRule", "chime:DeleteSipRule", "chime:UpdateSipRule", "chime:GetSipRule", "chime:CreateSipMediaApplication", "chime:DeleteSipMediaApplication", "chime:GetPhoneNumberOrder", "chime:SearchAvailablePhoneNumbers", "chime:CreatePhoneNumberOrder", "chime:DeletePhoneNumber", "chime:GetPhoneNumber", "chime:CreateVoiceConnector", "chime:PutVoiceConnectorStreamingConfiguration", "chime:PutVoiceConnectorTermination", "chime:PutVoiceConnectorOrigination", "chime:PutVoiceConnectorLoggingConfiguration", "chime:ListPhoneNumbers", "chime:AssociatePhoneNumbersWithVoiceConnector", "chime:DisassociatePhoneNumbersFromVoiceConnector", "chime:DeleteVoiceConnector", "chime:PutSipMediaApplicationAlexaSkillConfiguration", "chime:PutSipMediaApplicationLoggingConfiguration", "logs:GetLogDelivery", "logs:DeleteLogDelivery", "logs:ListLogDeliveries", "logs:CreateLogGroup", "logs:DescribeResourcePolicies", "logs:PutResourcePolicy", "logs:DescribeLogGroups", "logs:CreateLogDelivery", "lambda:GetPolicy", "lambda:AddPermission", "iam:PutRolePolicy", "iam:CreateServiceLinkedRole", ], "Effect": "Allow", "Resource": "*", }, Object { "Action": Array [ "ssm:PutParameter", "ssm:GetParameter", "ssm:DeleteParameter", ], "Effect": "Allow", "Resource": Object { "Fn::Join": Array [ "", Array [ "arn:aws:ssm:", Object { "Ref": "AWS::Region", }, ":", Object { "Ref": "AWS::AccountId", }, ":parameter/chime/*", ], ], }, }, ], "Version": "2012-10-17", }, "PolicyName": "chimePolicy", }, ], }, "Type": "AWS::IAM::Role", }, "ChimephoneNumberChimePhoneNumberpstnResourcesFunctionDCF1293A": Object { "DependsOn": Array [ "ChimephoneNumberChimePhoneNumberpstnCustomResourceRole6F0C285E", ], "Properties": Object { "Code": Object { "S3Bucket": Object { "Fn::Sub": "cdk-hnb659fds-assets-\${AWS::AccountId}-\${AWS::Region}", }, "S3Key": "18a21c219083043f3d7d56daa068e5c1be7706ffda18f115cae5a7d441a307fc.zip", }, "Description": "src/resources/pstn/pstn.lambda.ts", "Environment": Object { "Variables": Object { "AWS_NODEJS_CONNECTION_REUSE_ENABLED": "1", }, }, "Handler": "index.handler", "Role": Object { "Fn::GetAtt": Array [ "ChimephoneNumberChimePhoneNumberpstnCustomResourceRole6F0C285E", "Arn", ], }, "Runtime": "nodejs18.x", "Timeout": 60, }, "Type": "AWS::Lambda::Function", }, "ChimesipMediaAppsipMediaAppRequestPSTNResourceProviderframeworkonEventC21782EC": Object { "DependsOn": Array [ "ChimesipMediaAppsipMediaAppRequestPSTNResourceProviderframeworkonEventServiceRoleDefaultPolicyF2EE5D9F", "ChimesipMediaAppsipMediaAppRequestPSTNResourceProviderframeworkonEventServiceRoleD4EBDDE9", ], "Properties": Object { "Code": Object { "S3Bucket": Object { "Fn::Sub": "cdk-hnb659fds-assets-\${AWS::AccountId}-\${AWS::Region}", }, "S3Key": "8e3d635893ea17fa3158623489cd42c680fad925b38de1ef51cb10d84f6e245e.zip", }, "Description": "AWS CDK resource provider framework - onEvent (test/Chime/sipMediaApp/sipMediaAppRequest/PSTNResourceProvider)", "Environment": Object { "Variables": Object { "USER_ON_EVENT_FUNCTION_ARN": Object { "Fn::GetAtt": Array [ "ChimesipMediaAppsipMediaAppRequestpstnResourcesFunction51ED856E", "Arn", ], }, }, }, "Handler": "framework.onEvent", "Role": Object { "Fn::GetAtt": Array [ "ChimesipMediaAppsipMediaAppRequestPSTNResourceProviderframeworkonEventServiceRoleD4EBDDE9", "Arn", ], }, "Runtime": "nodejs14.x", "Timeout": 900, }, "Type": "AWS::Lambda::Function", }, "ChimesipMediaAppsipMediaAppRequestPSTNResourceProviderframeworkonEventServiceRoleD4EBDDE9": Object { "Properties": Object { "AssumeRolePolicyDocument": Object { "Statement": Array [ Object { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": Object { "Service": "lambda.amazonaws.com", }, }, ], "Version": "2012-10-17", }, "ManagedPolicyArns": Array [ Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole", ], ], }, ], }, "Type": "AWS::IAM::Role", }, "ChimesipMediaAppsipMediaAppRequestPSTNResourceProviderframeworkonEventServiceRoleDefaultPolicyF2EE5D9F": Object { "Properties": Object { "PolicyDocument": Object { "Statement": Array [ Object { "Action": "lambda:InvokeFunction", "Effect": "Allow", "Resource": Array [ Object { "Fn::GetAtt": Array [ "ChimesipMediaAppsipMediaAppRequestpstnResourcesFunction51ED856E", "Arn", ], }, Object { "Fn::Join": Array [ "", Array [ Object { "Fn::GetAtt": Array [ "ChimesipMediaAppsipMediaAppRequestpstnResourcesFunction51ED856E", "Arn", ], }, ":*", ], ], }, ], }, ], "Version": "2012-10-17", }, "PolicyName": "ChimesipMediaAppsipMediaAppRequestPSTNResourceProviderframeworkonEventServiceRoleDefaultPolicyF2EE5D9F", "Roles": Array [ Object { "Ref": "ChimesipMediaAppsipMediaAppRequestPSTNResourceProviderframeworkonEventServiceRoleD4EBDDE9", }, ], }, "Type": "AWS::IAM::Policy", }, "ChimesipMediaAppsipMediaAppRequestpstnCustomResource505FA3C9": Object { "DeletionPolicy": "Delete", "Properties": Object { "ServiceToken": Object { "Fn::GetAtt": Array [ "ChimesipMediaAppsipMediaAppRequestPSTNResourceProviderframeworkonEventC21782EC", "Arn", ], }, "properties": Object { "endpoint": Object { "Fn::GetAtt": Array [ "ChimesmaHandlerLambda51FE45BB", "Arn", ], }, "name": "testChimesipMediaAppEBAB42E6", "region": Object { "Ref": "AWS::Region", }, }, "resourceType": "SMA", "uid": "testChimesipMediaAppEBAB42E6", }, "Type": "AWS::CloudFormation::CustomResource", "UpdateReplacePolicy": "Delete", }, "ChimesipMediaAppsipMediaAppRequestpstnCustomResourceRoleD63D0A38": Object { "Properties": Object { "AssumeRolePolicyDocument": Object { "Statement": Array [ Object { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": Object { "Service": "lambda.amazonaws.com", }, }, ], "Version": "2012-10-17", }, "Description": "Amazon Chime PSTN Resources", "ManagedPolicyArns": Array [ Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole", ], ], }, ], "Policies": Array [ Object { "PolicyDocument": Object { "Statement": Array [ Object { "Action": Array [ "chime:*VoiceProfileDomain*", "kms:CreateGrant", "kms:DescribeKey", "chime:*MediaInsightsPipelineConfiguration*", "chime:CreateSipRule", "chime:DeleteSipRule", "chime:UpdateSipRule", "chime:GetSipRule", "chime:CreateSipMediaApplication", "chime:DeleteSipMediaApplication", "chime:GetPhoneNumberOrder", "chime:SearchAvailablePhoneNumbers", "chime:CreatePhoneNumberOrder", "chime:DeletePhoneNumber", "chime:GetPhoneNumber", "chime:CreateVoiceConnector", "chime:PutVoiceConnectorStreamingConfiguration", "chime:PutVoiceConnectorTermination", "chime:PutVoiceConnectorOrigination", "chime:PutVoiceConnectorLoggingConfiguration", "chime:ListPhoneNumbers", "chime:AssociatePhoneNumbersWithVoiceConnector", "chime:DisassociatePhoneNumbersFromVoiceConnector", "chime:DeleteVoiceConnector", "chime:PutSipMediaApplicationAlexaSkillConfiguration", "chime:PutSipMediaApplicationLoggingConfiguration", "logs:GetLogDelivery", "logs:DeleteLogDelivery", "logs:ListLogDeliveries", "logs:CreateLogGroup", "logs:DescribeResourcePolicies", "logs:PutResourcePolicy", "logs:DescribeLogGroups", "logs:CreateLogDelivery", "lambda:GetPolicy", "lambda:AddPermission", "iam:PutRolePolicy", "iam:CreateServiceLinkedRole", ], "Effect": "Allow", "Resource": "*", }, Object { "Action": Array [ "ssm:PutParameter", "ssm:GetParameter", "ssm:DeleteParameter", ], "Effect": "Allow", "Resource": Object { "Fn::Join": Array [ "", Array [ "arn:aws:ssm:", Object { "Ref": "AWS::Region", }, ":", Object { "Ref": "AWS::AccountId", }, ":parameter/chime/*", ], ], }, }, ], "Version": "2012-10-17", }, "PolicyName": "chimePolicy", }, ], }, "Type": "AWS::IAM::Role", }, "ChimesipMediaAppsipMediaAppRequestpstnResourcesFunction51ED856E": Object { "DependsOn": Array [ "ChimesipMediaAppsipMediaAppRequestpstnCustomResourceRoleD63D0A38", ], "Properties": Object { "Code": Object { "S3Bucket": Object { "Fn::Sub": "cdk-hnb659fds-assets-\${AWS::AccountId}-\${AWS::Region}", }, "S3Key": "18a21c219083043f3d7d56daa068e5c1be7706ffda18f115cae5a7d441a307fc.zip", }, "Description": "src/resources/pstn/pstn.lambda.ts", "Environment": Object { "Variables": Object { "AWS_NODEJS_CONNECTION_REUSE_ENABLED": "1", }, }, "Handler": "index.handler", "Role": Object { "Fn::GetAtt": Array [ "ChimesipMediaAppsipMediaAppRequestpstnCustomResourceRoleD63D0A38", "Arn", ], }, "Runtime": "nodejs18.x", "Timeout": 60, }, "Type": "AWS::Lambda::Function", }, "ChimesmaHandlerLambda51FE45BB": Object { "DependsOn": Array [ "ChimesmaHandlerRoleAB855B74", ], "Properties": Object { "Architectures": Array [ "arm64", ], "Code": Object { "S3Bucket": Object { "Fn::Sub": "cdk-hnb659fds-assets-\${AWS::AccountId}-\${AWS::Region}", }, "S3Key": "f9a8e75fa798b3c974604c18c5847e7d4cf8eb8b098874b025cf75725bf6a74a.zip", }, "Environment": Object { "Variables": Object { "AWS_NODEJS_CONNECTION_REUSE_ENABLED": "1", "FROM_NUMBER": Object { "Fn::GetAtt": Array [ "ChimephoneNumberChimePhoneNumberpstnCustomResourceDFB46FB1", "phoneNumber", ], }, }, }, "Handler": "index.lambdaHandler", "Role": Object { "Fn::GetAtt": Array [ "ChimesmaHandlerRoleAB855B74", "Arn", ], }, "Runtime": "nodejs18.x", "Timeout": 60, }, "Type": "AWS::Lambda::Function", }, "ChimesmaHandlerRoleAB855B74": Object { "Properties": Object { "AssumeRolePolicyDocument": Object { "Statement": Array [ Object { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": Object { "Service": "lambda.amazonaws.com", }, }, ], "Version": "2012-10-17", }, "ManagedPolicyArns": Array [ Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole", ], ], }, ], "Policies": Array [ Object { "PolicyDocument": Object { "Statement": Array [ Object { "Action": "chime:*", "Effect": "Allow", "Resource": "*", }, ], "Version": "2012-10-17", }, "PolicyName": "chimePolicy", }, ], }, "Type": "AWS::IAM::Role", }, "CustomCDKBucketDeployment8693BB64968944B69AAFB0CC9EB8756C81C01536": Object { "DependsOn": Array [ "CustomCDKBucketDeployment8693BB64968944B69AAFB0CC9EB8756CServiceRoleDefaultPolicy88902FDF", "CustomCDKBucketDeployment8693BB64968944B69AAFB0CC9EB8756CServiceRole89A01265", ], "Properties": Object { "Code": Object { "S3Bucket": Object { "Fn::Sub": "cdk-hnb659fds-assets-\${AWS::AccountId}-\${AWS::Region}", }, "S3Key": "9eb41a5505d37607ac419321497a4f8c21cf0ee1f9b4a6b29aa04301aea5c7fd.zip", }, "Environment": Object { "Variables": Object { "AWS_CA_BUNDLE": "/etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem", }, }, "Handler": "index.handler", "Layers": Array [ Object { "Ref": "SiteDeployBucketAwsCliLayerB1A3335C", }, ], "Role": Object { "Fn::GetAtt": Array [ "CustomCDKBucketDeployment8693BB64968944B69AAFB0CC9EB8756CServiceRole89A01265", "Arn", ], }, "Runtime": "python3.9", "Timeout": 900, }, "Type": "AWS::Lambda::Function", }, "CustomCDKBucketDeployment8693BB64968944B69AAFB0CC9EB8756CServiceRole89A01265": Object { "Properties": Object { "AssumeRolePolicyDocument": Object { "Statement": Array [ Object { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": Object { "Service": "lambda.amazonaws.com", }, }, ], "Version": "2012-10-17", }, "ManagedPolicyArns": Array [ Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole", ], ], }, ], }, "Type": "AWS::IAM::Role", }, "CustomCDKBucketDeployment8693BB64968944B69AAFB0CC9EB8756CServiceRoleDefaultPolicy88902FDF": Object { "Properties": Object { "PolicyDocument": Object { "Statement": Array [ Object { "Action": Array [ "s3:GetObject*", "s3:GetBucket*", "s3:List*", ], "Effect": "Allow", "Resource": Array [ Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":s3:::", Object { "Fn::Sub": "cdk-hnb659fds-assets-\${AWS::AccountId}-\${AWS::Region}", }, ], ], }, Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":s3:::", Object { "Fn::Sub": "cdk-hnb659fds-assets-\${AWS::AccountId}-\${AWS::Region}", }, "/*", ], ], }, ], }, Object { "Action": Array [ "s3:GetObject*", "s3:GetBucket*", "s3:List*", "s3:DeleteObject*", "s3:PutObject", "s3:PutObjectLegalHold", "s3:PutObjectRetention", "s3:PutObjectTagging", "s3:PutObjectVersionTagging", "s3:Abort*", ], "Effect": "Allow", "Resource": Array [ Object { "Fn::GetAtt": Array [ "SitewebsiteBucketBC20A569", "Arn", ], }, Object { "Fn::Join": Array [ "", Array [ Object { "Fn::GetAtt": Array [ "SitewebsiteBucketBC20A569", "Arn", ], }, "/*", ], ], }, ], }, Object { "Action": Array [ "cloudfront:GetInvalidation", "cloudfront:CreateInvalidation", ], "Effect": "Allow", "Resource": "*", }, ], "Version": "2012-10-17", }, "PolicyName": "CustomCDKBucketDeployment8693BB64968944B69AAFB0CC9EB8756CServiceRoleDefaultPolicy88902FDF", "Roles": Array [ Object { "Ref": "CustomCDKBucketDeployment8693BB64968944B69AAFB0CC9EB8756CServiceRole89A01265", }, ], }, "Type": "AWS::IAM::Policy", }, "CustomS3AutoDeleteObjectsCustomResourceProviderHandler9D90184F": Object { "DependsOn": Array [ "CustomS3AutoDeleteObjectsCustomResourceProviderRole3B1BD092", ], "Properties": Object { "Code": Object { "S3Bucket": Object { "Fn::Sub": "cdk-hnb659fds-assets-\${AWS::AccountId}-\${AWS::Region}", }, "S3Key": "350185a1069fa20a23a583e20c77f6844218bd73097902362dc94f1a108f5d89.zip", }, "Description": Object { "Fn::Join": Array [ "", Array [ "Lambda function for auto-deleting objects in ", Object { "Ref": "SitewebsiteBucketBC20A569", }, " S3 bucket.", ], ], }, "Handler": "__entrypoint__.handler", "MemorySize": 128, "Role": Object { "Fn::GetAtt": Array [ "CustomS3AutoDeleteObjectsCustomResourceProviderRole3B1BD092", "Arn", ], }, "Runtime": "nodejs16.x", "Timeout": 900, }, "Type": "AWS::Lambda::Function", }, "CustomS3AutoDeleteObjectsCustomResourceProviderRole3B1BD092": Object { "Properties": Object { "AssumeRolePolicyDocument": Object { "Statement": Array [ Object { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": Object { "Service": "lambda.amazonaws.com", }, }, ], "Version": "2012-10-17", }, "ManagedPolicyArns": Array [ Object { "Fn::Sub": "arn:\${AWS::Partition}:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole", }, ], }, "Type": "AWS::IAM::Role", }, "Infrastructureauth4BEB723B": Object { "Properties": Object { "IdentitySource": "method.request.header.Authorization", "Name": "testInfrastructureauthE9907576", "ProviderARNs": Array [ "arn:aws:cognito-idp:us-east-1:104621577074:userpool/us-east-1_z8UDEjm17", ], "RestApiId": Object { "Ref": "InfrastructureclickToCallApiEFC07FEC", }, "Type": "COGNITO_USER_POOLS", }, "Type": "AWS::ApiGateway::Authorizer", }, "InfrastructurecallControlLambdaD681613E": Object { "DependsOn": Array [ "InfrastructureinfrastructureRole80511D48", ], "Properties": Object { "Architectures": Array [ "arm64", ], "Code": Object { "S3Bucket": Object { "Fn::Sub": "cdk-hnb659fds-assets-\${AWS::AccountId}-\${AWS::Region}", }, "S3Key": "a176fe36fc09ff15cd917446308eee4965a879ad2f04b74eaaaa64500838fa22.zip", }, "Environment": Object { "Variables": Object { "AWS_NODEJS_CONNECTION_REUSE_ENABLED": "1", "FROM_NUMBER": Object { "Fn::GetAtt": Array [ "ChimephoneNumberChimePhoneNumberpstnCustomResourceDFB46FB1", "phoneNumber", ], }, "SMA_ID": Object { "Fn::GetAtt": Array [ "ChimesipMediaAppsipMediaAppRequestpstnCustomResource505FA3C9", "sipMediaAppId", ], }, "VOICE_CONNECTOR_ARN": Object { "Fn::Join": Array [ "", Array [ "arn:aws:chime:", Object { "Ref": "AWS::Region", }, ":", Object { "Ref": "AWS::AccountId", }, ":vc/", Object { "Fn::GetAtt": Array [ "AsteriskvoiceConnectorvoiceConnectorRequestpstnCustomResource89C81395", "voiceConnectorId", ], }, ], ], }, "VOICE_CONNECTOR_PHONE": Object { "Fn::GetAtt": Array [ "AsteriskvoiceConnectorPhoneNumberChimePhoneNumberpstnCustomResource9B765602", "phoneNumber", ], }, }, }, "Handler": "index.handler", "Role": Object { "Fn::GetAtt": Array [ "InfrastructureinfrastructureRole80511D48", "Arn", ], }, "Runtime": "nodejs18.x", "Timeout": 60, }, "Type": "AWS::Lambda::Function", }, "InfrastructureclickToCallApiAccountE88BF4DC": Object { "DeletionPolicy": "Retain", "DependsOn": Array [ "InfrastructureclickToCallApiEFC07FEC", ], "Properties": Object { "CloudWatchRoleArn": Object { "Fn::GetAtt": Array [ "InfrastructureclickToCallApiCloudWatchRoleBD5096AF", "Arn", ], }, }, "Type": "AWS::ApiGateway::Account", "UpdateReplacePolicy": "Retain", }, "InfrastructureclickToCallApiCloudWatchRoleBD5096AF": Object { "DeletionPolicy": "Retain", "Properties": Object { "AssumeRolePolicyDocument": Object { "Statement": Array [ Object { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": Object { "Service": "apigateway.amazonaws.com", }, }, ], "Version": "2012-10-17", }, "ManagedPolicyArns": Array [ Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":iam::aws:policy/service-role/AmazonAPIGatewayPushToCloudWatchLogs", ], ], }, ], }, "Type": "AWS::IAM::Role", "UpdateReplacePolicy": "Retain", }, "InfrastructureclickToCallApiDeployment2AA67CCCfe420dfd1b384fb369eff1c6fc62f240": Object { "DependsOn": Array [ "InfrastructureclickToCallApidialOPTIONS975A7DE2", "InfrastructureclickToCallApidialPOST9BBA9F9F", "InfrastructureclickToCallApidial4C740144", "InfrastructureclickToCallApiOPTIONS6DBD1FFC", "InfrastructureclickToCallApiupdateOPTIONS86D242F9", "InfrastructureclickToCallApiupdatePOST3E25D002", "InfrastructureclickToCallApiupdate3AB7B8DA", ], "Properties": Object { "Description": "Automatically created by the RestApi construct", "RestApiId": Object { "Ref": "InfrastructureclickToCallApiEFC07FEC", }, }, "Type": "AWS::ApiGateway::Deployment", }, "InfrastructureclickToCallApiDeploymentStageprodD09C17F5": Object { "DependsOn": Array [ "InfrastructureclickToCallApiAccountE88BF4DC", ], "Properties": Object { "DeploymentId": Object { "Ref": "InfrastructureclickToCallApiDeployment2AA67CCCfe420dfd1b384fb369eff1c6fc62f240", }, "MethodSettings": Array [ Object { "DataTraceEnabled": true, "HttpMethod": "*", "LoggingLevel": "INFO", "ResourcePath": "/*", }, ], "RestApiId": Object { "Ref": "InfrastructureclickToCallApiEFC07FEC", }, "StageName": "prod", }, "Type": "AWS::ApiGateway::Stage", }, "InfrastructureclickToCallApiEFC07FEC": Object { "Properties": Object { "EndpointConfiguration": Object { "Types": Array [ "REGIONAL", ], }, "Name": "clickToCallApi", }, "Type": "AWS::ApiGateway::RestApi", }, "InfrastructureclickToCallApiOPTIONS6DBD1FFC": Object { "Properties": Object { "ApiKeyRequired": false, "AuthorizationType": "NONE", "HttpMethod": "OPTIONS", "Integration": Object { "IntegrationResponses": Array [ Object { "ResponseParameters": Object { "method.response.header.Access-Control-Allow-Credentials": "'true'", "method.response.header.Access-Control-Allow-Headers": "'Content-Type,X-Amz-Date,Authorization,X-Api-Key'", "method.response.header.Access-Control-Allow-Methods": "'OPTIONS,POST'", "method.response.header.Access-Control-Allow-Origin": "'*'", }, "StatusCode": "204", }, ], "RequestTemplates": Object { "application/json": "{ statusCode: 200 }", }, "Type": "MOCK", }, "MethodResponses": Array [ Object { "ResponseParameters": Object { "method.response.header.Access-Control-Allow-Credentials": true, "method.response.header.Access-Control-Allow-Headers": true, "method.response.header.Access-Control-Allow-Methods": true, "method.response.header.Access-Control-Allow-Origin": true, }, "StatusCode": "204", }, ], "ResourceId": Object { "Fn::GetAtt": Array [ "InfrastructureclickToCallApiEFC07FEC", "RootResourceId", ], }, "RestApiId": Object { "Ref": "InfrastructureclickToCallApiEFC07FEC", }, }, "Type": "AWS::ApiGateway::Method", }, "InfrastructureclickToCallApidial4C740144": Object { "Properties": Object { "ParentId": Object { "Fn::GetAtt": Array [ "InfrastructureclickToCallApiEFC07FEC", "RootResourceId", ], }, "PathPart": "dial", "RestApiId": Object { "Ref": "InfrastructureclickToCallApiEFC07FEC", }, }, "Type": "AWS::ApiGateway::Resource", }, "InfrastructureclickToCallApidialOPTIONS975A7DE2": Object { "Properties": Object { "ApiKeyRequired": false, "AuthorizationType": "NONE", "HttpMethod": "OPTIONS", "Integration": Object { "IntegrationResponses": Array [ Object { "ResponseParameters": Object { "method.response.header.Access-Control-Allow-Credentials": "'true'", "method.response.header.Access-Control-Allow-Headers": "'Content-Type,X-Amz-Date,Authorization,X-Api-Key'", "method.response.header.Access-Control-Allow-Methods": "'OPTIONS,POST'", "method.response.header.Access-Control-Allow-Origin": "'*'", }, "StatusCode": "204", }, ], "RequestTemplates": Object { "application/json": "{ statusCode: 200 }", }, "Type": "MOCK", }, "MethodResponses": Array [ Object { "ResponseParameters": Object { "method.response.header.Access-Control-Allow-Credentials": true, "method.response.header.Access-Control-Allow-Headers": true, "method.response.header.Access-Control-Allow-Methods": true, "method.response.header.Access-Control-Allow-Origin": true, }, "StatusCode": "204", }, ], "ResourceId": Object { "Ref": "InfrastructureclickToCallApidial4C740144", }, "RestApiId": Object { "Ref": "InfrastructureclickToCallApiEFC07FEC", }, }, "Type": "AWS::ApiGateway::Method", }, "InfrastructureclickToCallApidialPOST9BBA9F9F": Object { "Properties": Object { "AuthorizationType": "COGNITO_USER_POOLS", "AuthorizerId": Object { "Ref": "Infrastructureauth4BEB723B", }, "HttpMethod": "POST", "Integration": Object { "IntegrationHttpMethod": "POST", "Type": "AWS_PROXY", "Uri": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":apigateway:", Object { "Ref": "AWS::Region", }, ":lambda:path/2015-03-31/functions/", Object { "Fn::GetAtt": Array [ "InfrastructurecallControlLambdaD681613E", "Arn", ], }, "/invocations", ], ], }, }, "ResourceId": Object { "Ref": "InfrastructureclickToCallApidial4C740144", }, "RestApiId": Object { "Ref": "InfrastructureclickToCallApiEFC07FEC", }, }, "Type": "AWS::ApiGateway::Method", }, "InfrastructureclickToCallApidialPOSTApiPermissionTesttestInfrastructureclickToCallApiE27EEFC3POSTdial8B2D38A5": Object { "Properties": Object { "Action": "lambda:InvokeFunction", "FunctionName": Object { "Fn::GetAtt": Array [ "InfrastructurecallControlLambdaD681613E", "Arn", ], }, "Principal": "apigateway.amazonaws.com", "SourceArn": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":execute-api:", Object { "Ref": "AWS::Region", }, ":", Object { "Ref": "AWS::AccountId", }, ":", Object { "Ref": "InfrastructureclickToCallApiEFC07FEC", }, "/test-invoke-stage/POST/dial", ], ], }, }, "Type": "AWS::Lambda::Permission", }, "InfrastructureclickToCallApidialPOSTApiPermissiontestInfrastructureclickToCallApiE27EEFC3POSTdialC14CB26E": Object { "Properties": Object { "Action": "lambda:InvokeFunction", "FunctionName": Object { "Fn::GetAtt": Array [ "InfrastructurecallControlLambdaD681613E", "Arn", ], }, "Principal": "apigateway.amazonaws.com", "SourceArn": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":execute-api:", Object { "Ref": "AWS::Region", }, ":", Object { "Ref": "AWS::AccountId", }, ":", Object { "Ref": "InfrastructureclickToCallApiEFC07FEC", }, "/", Object { "Ref": "InfrastructureclickToCallApiDeploymentStageprodD09C17F5", }, "/POST/dial", ], ], }, }, "Type": "AWS::Lambda::Permission", }, "InfrastructureclickToCallApiupdate3AB7B8DA": Object { "Properties": Object { "ParentId": Object { "Fn::GetAtt": Array [ "InfrastructureclickToCallApiEFC07FEC", "RootResourceId", ], }, "PathPart": "update", "RestApiId": Object { "Ref": "InfrastructureclickToCallApiEFC07FEC", }, }, "Type": "AWS::ApiGateway::Resource", }, "InfrastructureclickToCallApiupdateOPTIONS86D242F9": Object { "Properties": Object { "ApiKeyRequired": false, "AuthorizationType": "NONE", "HttpMethod": "OPTIONS", "Integration": Object { "IntegrationResponses": Array [ Object { "ResponseParameters": Object { "method.response.header.Access-Control-Allow-Credentials": "'true'", "method.response.header.Access-Control-Allow-Headers": "'Content-Type,X-Amz-Date,Authorization,X-Api-Key'", "method.response.header.Access-Control-Allow-Methods": "'OPTIONS,POST'", "method.response.header.Access-Control-Allow-Origin": "'*'", }, "StatusCode": "204", }, ], "RequestTemplates": Object { "application/json": "{ statusCode: 200 }", }, "Type": "MOCK", }, "MethodResponses": Array [ Object { "ResponseParameters": Object { "method.response.header.Access-Control-Allow-Credentials": true, "method.response.header.Access-Control-Allow-Headers": true, "method.response.header.Access-Control-Allow-Methods": true, "method.response.header.Access-Control-Allow-Origin": true, }, "StatusCode": "204", }, ], "ResourceId": Object { "Ref": "InfrastructureclickToCallApiupdate3AB7B8DA", }, "RestApiId": Object { "Ref": "InfrastructureclickToCallApiEFC07FEC", }, }, "Type": "AWS::ApiGateway::Method", }, "InfrastructureclickToCallApiupdatePOST3E25D002": Object { "Properties": Object { "AuthorizationType": "COGNITO_USER_POOLS", "AuthorizerId": Object { "Ref": "Infrastructureauth4BEB723B", }, "HttpMethod": "POST", "Integration": Object { "IntegrationHttpMethod": "POST", "Type": "AWS_PROXY", "Uri": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":apigateway:", Object { "Ref": "AWS::Region", }, ":lambda:path/2015-03-31/functions/", Object { "Fn::GetAtt": Array [ "InfrastructureupdateCallLambda46AFE9E4", "Arn", ], }, "/invocations", ], ], }, }, "ResourceId": Object { "Ref": "InfrastructureclickToCallApiupdate3AB7B8DA", }, "RestApiId": Object { "Ref": "InfrastructureclickToCallApiEFC07FEC", }, }, "Type": "AWS::ApiGateway::Method", }, "InfrastructureclickToCallApiupdatePOSTApiPermissionTesttestInfrastructureclickToCallApiE27EEFC3POSTupdate160F9CCF": Object { "Properties": Object { "Action": "lambda:InvokeFunction", "FunctionName": Object { "Fn::GetAtt": Array [ "InfrastructureupdateCallLambda46AFE9E4", "Arn", ], }, "Principal": "apigateway.amazonaws.com", "SourceArn": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":execute-api:", Object { "Ref": "AWS::Region", }, ":", Object { "Ref": "AWS::AccountId", }, ":", Object { "Ref": "InfrastructureclickToCallApiEFC07FEC", }, "/test-invoke-stage/POST/update", ], ], }, }, "Type": "AWS::Lambda::Permission", }, "InfrastructureclickToCallApiupdatePOSTApiPermissiontestInfrastructureclickToCallApiE27EEFC3POSTupdateB7D6A324": Object { "Properties": Object { "Action": "lambda:InvokeFunction", "FunctionName": Object { "Fn::GetAtt": Array [ "InfrastructureupdateCallLambda46AFE9E4", "Arn", ], }, "Principal": "apigateway.amazonaws.com", "SourceArn": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":execute-api:", Object { "Ref": "AWS::Region", }, ":", Object { "Ref": "AWS::AccountId", }, ":", Object { "Ref": "InfrastructureclickToCallApiEFC07FEC", }, "/", Object { "Ref": "InfrastructureclickToCallApiDeploymentStageprodD09C17F5", }, "/POST/update", ], ], }, }, "Type": "AWS::Lambda::Permission", }, "InfrastructureinfrastructureRole80511D48": Object { "Properties": Object { "AssumeRolePolicyDocument": Object { "Statement": Array [ Object { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": Object { "Service": "lambda.amazonaws.com", }, }, ], "Version": "2012-10-17", }, "ManagedPolicyArns": Array [ Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole", ], ], }, ], "Policies": Array [ Object { "PolicyDocument": Object { "Statement": Array [ Object { "Action": "chime:*", "Effect": "Allow", "Resource": "*", }, ], "Version": "2012-10-17", }, "PolicyName": "chimePolicy", }, ], }, "Type": "AWS::IAM::Role", }, "InfrastructureupdateCallLambda46AFE9E4": Object { "DependsOn": Array [ "InfrastructureinfrastructureRole80511D48", ], "Properties": Object { "Architectures": Array [ "arm64", ], "Code": Object { "S3Bucket": Object { "Fn::Sub": "cdk-hnb659fds-assets-\${AWS::AccountId}-\${AWS::Region}", }, "S3Key": "866c60db57cdf544af6648c68d5eda75a12521b99ebc81dc1f46a6d5a04fd274.zip", }, "Environment": Object { "Variables": Object { "AWS_NODEJS_CONNECTION_REUSE_ENABLED": "1", "FROM_NUMBER": Object { "Fn::GetAtt": Array [ "ChimephoneNumberChimePhoneNumberpstnCustomResourceDFB46FB1", "phoneNumber", ], }, "SMA_ID": Object { "Fn::GetAtt": Array [ "ChimesipMediaAppsipMediaAppRequestpstnCustomResource505FA3C9", "sipMediaAppId", ], }, "VOICE_CONNECTOR_ARN": Object { "Fn::Join": Array [ "", Array [ "arn:aws:chime:", Object { "Ref": "AWS::Region", }, ":", Object { "Ref": "AWS::AccountId", }, ":vc/", Object { "Fn::GetAtt": Array [ "AsteriskvoiceConnectorvoiceConnectorRequestpstnCustomResource89C81395", "voiceConnectorId", ], }, ], ], }, "VOICE_CONNECTOR_PHONE": Object { "Fn::GetAtt": Array [ "AsteriskvoiceConnectorPhoneNumberChimePhoneNumberpstnCustomResource9B765602", "phoneNumber", ], }, }, }, "Handler": "index.handler", "Role": Object { "Fn::GetAtt": Array [ "InfrastructureinfrastructureRole80511D48", "Arn", ], }, "Runtime": "nodejs18.x", "Timeout": 60, }, "Type": "AWS::Lambda::Function", }, "SiteCloudfrontDistribution0794B6B8": Object { "Properties": Object { "DistributionConfig": Object { "DefaultCacheBehavior": Object { "CachePolicyId": "4135ea2d-6df8-44a3-9df3-4b5a84be39ad", "Compress": true, "TargetOriginId": "testSiteCloudfrontDistributionOrigin14F75D719", "ViewerProtocolPolicy": "redirect-to-https", }, "DefaultRootObject": "index.html", "Enabled": true, "HttpVersion": "http2", "IPV6Enabled": true, "Origins": Array [ Object { "DomainName": Object { "Fn::GetAtt": Array [ "SitewebsiteBucketBC20A569", "RegionalDomainName", ], }, "Id": "testSiteCloudfrontDistributionOrigin14F75D719", "S3OriginConfig": Object { "OriginAccessIdentity": Object { "Fn::Join": Array [ "", Array [ "origin-access-identity/cloudfront/", Object { "Ref": "SiteCloudfrontDistributionOrigin1S3Origin4F2AB6D1", }, ], ], }, }, }, ], }, }, "Type": "AWS::CloudFront::Distribution", }, "SiteCloudfrontDistributionOrigin1S3Origin4F2AB6D1": Object { "Properties": Object { "CloudFrontOriginAccessIdentityConfig": Object { "Comment": "Identity for testSiteCloudfrontDistributionOrigin14F75D719", }, }, "Type": "AWS::CloudFront::CloudFrontOriginAccessIdentity", }, "SiteDeployBucketAwsCliLayerB1A3335C": Object { "Properties": Object { "Content": Object { "S3Bucket": Object { "Fn::Sub": "cdk-hnb659fds-assets-\${AWS::AccountId}-\${AWS::Region}", }, "S3Key": "88b83f5f61fe6f85ffcd0a37a09a8f3be90e7c090964b0b62b062eb8a5a1a3a7.zip", }, "Description": "/opt/awscli/aws", }, "Type": "AWS::Lambda::LayerVersion", }, "SiteDeployBucketCustomResource08EC962A": Object { "DeletionPolicy": "Delete", "Properties": Object { "DestinationBucketName": Object { "Ref": "SitewebsiteBucketBC20A569", }, "DistributionId": Object { "Ref": "SiteCloudfrontDistribution0794B6B8", }, "DistributionPaths": Array [ "/*", ], "Prune": true, "ServiceToken": Object { "Fn::GetAtt": Array [ "CustomCDKBucketDeployment8693BB64968944B69AAFB0CC9EB8756C81C01536", "Arn", ], }, "SourceBucketNames": Array [ Object { "Fn::Sub": "cdk-hnb659fds-assets-\${AWS::AccountId}-\${AWS::Region}", }, Object { "Fn::Sub": "cdk-hnb659fds-assets-\${AWS::AccountId}-\${AWS::Region}", }, ], "SourceMarkers": Array [ Object {}, Object { "<>": Object { "Ref": "InfrastructureclickToCallApiEFC07FEC", }, "<>": Object { "Ref": "AWS::Region", }, "<>": Object { "Ref": "AWS::URLSuffix", }, "<>": Object { "Ref": "InfrastructureclickToCallApiDeploymentStageprodD09C17F5", }, }, ], "SourceObjectKeys": Array [ "7cdb3151fd485fa65b2159d44bc810ffd1b76f7ba7087638382c8ccc2c1537b8.zip", "2272d47b7930592306f0886c9384fc00495b5aa97b106999a98a1240351a4771.zip", ], }, "Type": "Custom::CDKBucketDeployment", "UpdateReplacePolicy": "Delete", }, "SitewebsiteBucketAutoDeleteObjectsCustomResourceB62EAF63": Object { "DeletionPolicy": "Delete", "DependsOn": Array [ "SitewebsiteBucketPolicyC20F0243", ], "Properties": Object { "BucketName": Object { "Ref": "SitewebsiteBucketBC20A569", }, "ServiceToken": Object { "Fn::GetAtt": Array [ "CustomS3AutoDeleteObjectsCustomResourceProviderHandler9D90184F", "Arn", ], }, }, "Type": "Custom::S3AutoDeleteObjects", "UpdateReplacePolicy": "Delete", }, "SitewebsiteBucketBC20A569": Object { "DeletionPolicy": "Delete", "Properties": Object { "Tags": Array [ Object { "Key": "aws-cdk:auto-delete-objects", "Value": "true", }, Object { "Key": "aws-cdk:cr-owned:7d2ce709", "Value": "true", }, ], }, "Type": "AWS::S3::Bucket", "UpdateReplacePolicy": "Delete", }, "SitewebsiteBucketPolicyC20F0243": Object { "Properties": Object { "Bucket": Object { "Ref": "SitewebsiteBucketBC20A569", }, "PolicyDocument": Object { "Statement": Array [ Object { "Action": Array [ "s3:GetBucket*", "s3:List*", "s3:DeleteObject*", ], "Effect": "Allow", "Principal": Object { "AWS": Object { "Fn::GetAtt": Array [ "CustomS3AutoDeleteObjectsCustomResourceProviderRole3B1BD092", "Arn", ], }, }, "Resource": Array [ Object { "Fn::GetAtt": Array [ "SitewebsiteBucketBC20A569", "Arn", ], }, Object { "Fn::Join": Array [ "", Array [ Object { "Fn::GetAtt": Array [ "SitewebsiteBucketBC20A569", "Arn", ], }, "/*", ], ], }, ], }, Object { "Action": "s3:GetObject", "Effect": "Allow", "Principal": Object { "CanonicalUser": Object { "Fn::GetAtt": Array [ "SiteCloudfrontDistributionOrigin1S3Origin4F2AB6D1", "S3CanonicalUserId", ], }, }, "Resource": Object { "Fn::Join": Array [ "", Array [ Object { "Fn::GetAtt": Array [ "SitewebsiteBucketBC20A569", "Arn", ], }, "/*", ], ], }, }, ], "Version": "2012-10-17", }, }, "Type": "AWS::S3::BucketPolicy", }, }, "Rules": Object { "CheckBootstrapVersion": Object { "Assertions": Array [ Object { "Assert": Object { "Fn::Not": Array [ Object { "Fn::Contains": Array [ Array [ "1", "2", "3", "4", "5", ], Object { "Ref": "BootstrapVersion", }, ], }, ], }, "AssertDescription": "CDK bootstrap stack version 6 required. Please run 'cdk bootstrap' with a recent version of the CDK CLI.", }, ], }, }, } `;