// Jest Snapshot v1, https://goo.gl/fbAQLP exports[`stack snapshots 1`] = ` Object { "Description": "(SO0190-Website) - Automated Data Analytics on AWS. Version v1.2.0", "Outputs": Object { "AdaWebsiteCloudfrontDistributionCFDistribution28056574DomainName": Object { "Value": Object { "Fn::GetAtt": Array [ "CloudfrontDistributionCFDistribution03AB6969", "DomainName", ], }, }, "AdaWebsiteCloudfrontDistributionCFDistribution28056574Ref": Object { "Value": Object { "Ref": "CloudfrontDistributionCFDistribution03AB6969", }, }, "AdaWebsiteWebsiteBucket2F972870Arn": Object { "Value": Object { "Fn::GetAtt": Array [ "WebsiteBucket", "Arn", ], }, }, "AdaWebsiteWebsiteBucket2F972870Ref": Object { "Value": Object { "Ref": "WebsiteBucket", }, }, "CloudFrontUrl": Object { "Value": Object { "Fn::GetAtt": Array [ "CloudfrontDistributionCFDistribution03AB6969", "DomainName", ], }, }, }, "Parameters": Object { "referencetoAdaApiServiceNestedStackApiServiceNestedStackResourceBBF04FB4OutputsAdaApiServiceFederatedApiFederatedRestApi1FB0E4F5Ref": Object { "Type": "String", }, "referencetoAdaCognitoAuthNestedStackCognitoAuthNestedStackResource933F913EOutputsAdaCognitoAuthUserPoolCognitoDomain8B19C675Ref": Object { "Type": "String", }, "referencetoAdaCommonStackNestedStackCommonStackNestedStackResourceD51B693FOutputsAdaCommonStackAccessLogBucketB5B66FEDArn": Object { "Type": "String", }, "referencetoAdaCommonStackNestedStackCommonStackNestedStackResourceD51B693FOutputsAdaCommonStackAccessLogBucketB5B66FEDRef": Object { "Type": "String", }, "referencetoAdaCommonStackNestedStackCommonStackNestedStackResourceD51B693FOutputsAdaCommonStackAccessLogBucketB5B66FEDRegionalDomainName": Object { "Type": "String", }, "referencetoAdaCommonStackNestedStackCommonStackNestedStackResourceD51B693FOutputsAdaCommonStackAthenaOutputBucketFB25B94DDomainName": Object { "Type": "String", }, "referencetoAdaCommonStackNestedStackCommonStackNestedStackResourceD51B693FOutputsAdaCommonStackAthenaOutputBucketFB25B94DRef": Object { "Type": "String", }, "referencetoAdaCommonStackNestedStackCommonStackNestedStackResourceD51B693FOutputsAdaCommonStackAthenaOutputBucketFB25B94DRegionalDomainName": Object { "Type": "String", }, "referencetoAdaDataProductServiceNestedStackDataProductServiceNestedStackResourceA1CE38EDOutputsAdaDataProductServiceFileUploadBucket4C6FA9E4DomainName": Object { "Type": "String", }, "referencetoAdaDataProductServiceNestedStackDataProductServiceNestedStackResourceA1CE38EDOutputsAdaDataProductServiceFileUploadBucket4C6FA9E4Ref": Object { "Type": "String", }, "referencetoAdaDataProductServiceNestedStackDataProductServiceNestedStackResourceA1CE38EDOutputsAdaDataProductServiceFileUploadBucket4C6FA9E4RegionalDomainName": Object { "Type": "String", }, }, "Resources": Object { "AWS679F53Fac002430Cb0Da5B7982Bd22872D164C4C": Object { "DependsOn": Array [ "AWS679f53fac002430cb0da5b7982bd2287ServiceRoleC1EA0FF2", ], "Properties": Object { "Code": Object { "S3Bucket": "cdk-#####", "S3Key": "cdkhash######.zip", }, "Handler": "index.handler", "Role": Object { "Fn::GetAtt": Array [ "AWS679f53fac002430cb0da5b7982bd2287ServiceRoleC1EA0FF2", "Arn", ], }, "Runtime": "nodejs14.x", "Tags": Array [ Object { "Key": "Application", "Value": "Ada", }, ], "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", ], ], }, ], "Tags": Array [ Object { "Key": "Application", "Value": "Ada", }, ], }, "Type": "AWS::IAM::Role", }, "AppRegistryAssociation": Object { "Properties": Object { "Application": Object { "Fn::Join": Array [ "-", Array [ "Automated-Data-Analysis-on-AWS", Object { "Ref": "AWS::Region", }, Object { "Ref": "AWS::AccountId", }, ], ], }, "Resource": Object { "Ref": "AWS::StackId", }, "ResourceType": "CFN_STACK", }, "Type": "AWS::ServiceCatalogAppRegistry::ResourceAssociation", }, "CfWebACLDeliveryStream722E32A3": Object { "DeletionPolicy": "Delete", "DependsOn": Array [ "CfWebACLDeliveryStreamCustomResourcePolicy515FA67C", ], "Properties": Object { "Create": Object { "Fn::Join": Array [ "", Array [ "{\\"service\\":\\"Firehose\\",\\"action\\":\\"createDeliveryStream\\",\\"parameters\\":{\\"DeliveryStreamName\\":\\"aws-waf-logs-ada-cf-ds-website-web-acl-2284ghashx\\",\\"DeliveryStreamEncryptionConfigurationInput\\":{\\"KeyType\\":\\"AWS_OWNED_CMK\\"},\\"S3DestinationConfiguration\\":{\\"BucketARN\\":\\"", Object { "Ref": "referencetoAdaCommonStackNestedStackCommonStackNestedStackResourceD51B693FOutputsAdaCommonStackAccessLogBucketB5B66FEDArn", }, "\\",\\"RoleARN\\":\\"", Object { "Fn::GetAtt": Array [ "CfWebACLFirehoseToS3RoleFDC2E3B2", "Arn", ], }, "\\",\\"Prefix\\":\\"waf-cloudfront-website-web-acl-logs/\\",\\"ErrorOutputPrefix\\":\\"waf-cloudfront-website-web-acl-errors/\\",\\"BufferingHints\\":{\\"IntervalInSeconds\\":900,\\"SizeInMBs\\":128}}},\\"region\\":\\"us-east-1\\",\\"physicalResourceId\\":{\\"responsePath\\":\\"DeliveryStreamARN\\"}}", ], ], }, "Delete": "{\\"service\\":\\"Firehose\\",\\"action\\":\\"deleteDeliveryStream\\",\\"parameters\\":{\\"DeliveryStreamName\\":\\"aws-waf-logs-ada-cf-ds-website-web-acl-2284ghashx\\",\\"AllowForceDelete\\":true},\\"region\\":\\"us-east-1\\"}", "InstallLatestAwsSdk": true, "ServiceToken": Object { "Fn::GetAtt": Array [ "AWS679F53Fac002430Cb0Da5B7982Bd22872D164C4C", "Arn", ], }, }, "Type": "Custom::AWS", "UpdateReplacePolicy": "Delete", }, "CfWebACLDeliveryStreamCustomResourcePolicy515FA67C": Object { "Metadata": Object { "cfn_nag": Object { "rules_to_suppress": Array [ Object { "id": "W12", "reason": "Firehose requires * permissions for creating a delivery stream", }, ], }, }, "Properties": Object { "PolicyDocument": Object { "Statement": Array [ Object { "Action": Array [ "firehose:CreateDeliveryStream", "firehose:DeleteDeliveryStream", ], "Effect": "Allow", "Resource": "*", }, Object { "Action": "iam:PassRole", "Effect": "Allow", "Resource": Object { "Fn::GetAtt": Array [ "CfWebACLFirehoseToS3RoleFDC2E3B2", "Arn", ], }, }, ], "Version": "2012-10-17", }, "PolicyName": "CfWebACLDeliveryStreamCustomResourcePolicy515FA67C", "Roles": Array [ Object { "Ref": "AWS679f53fac002430cb0da5b7982bd2287ServiceRoleC1EA0FF2", }, ], }, "Type": "AWS::IAM::Policy", }, "CfWebACLFirehoseToS3RoleDefaultPolicyCFD7FFEA": Object { "Properties": Object { "PolicyDocument": Object { "Statement": Array [ Object { "Action": Array [ "s3:DeleteObject*", "s3:PutObject", "s3:PutObjectLegalHold", "s3:PutObjectRetention", "s3:PutObjectTagging", "s3:PutObjectVersionTagging", "s3:Abort*", ], "Effect": "Allow", "Resource": Array [ Object { "Ref": "referencetoAdaCommonStackNestedStackCommonStackNestedStackResourceD51B693FOutputsAdaCommonStackAccessLogBucketB5B66FEDArn", }, Object { "Fn::Join": Array [ "", Array [ Object { "Ref": "referencetoAdaCommonStackNestedStackCommonStackNestedStackResourceD51B693FOutputsAdaCommonStackAccessLogBucketB5B66FEDArn", }, "/*", ], ], }, ], }, ], "Version": "2012-10-17", }, "PolicyName": "CfWebACLFirehoseToS3RoleDefaultPolicyCFD7FFEA", "Roles": Array [ Object { "Ref": "CfWebACLFirehoseToS3RoleFDC2E3B2", }, ], }, "Type": "AWS::IAM::Policy", }, "CfWebACLFirehoseToS3RoleFDC2E3B2": Object { "Properties": Object { "AssumeRolePolicyDocument": Object { "Statement": Array [ Object { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": Object { "Service": "firehose.amazonaws.com", }, }, ], "Version": "2012-10-17", }, "Tags": Array [ Object { "Key": "Application", "Value": "Ada", }, ], }, "Type": "AWS::IAM::Role", }, "CfWebACLHandler105A4D48": Object { "DependsOn": Array [ "CfWebACLHandlerServiceRoleDefaultPolicy8D0C184A", "CfWebACLHandlerServiceRole76516F19", ], "Properties": Object { "Architectures": Array [ "x86_64", ], "Code": Object { "S3Bucket": "cdk-#####", "S3Key": "cdkhash######.zip", }, "Description": "TypescriptFunction Ada/Website/CfWebACL/Handler of handler.ts", "Environment": Object { "Variables": Object { "AWS_NODEJS_CONNECTION_REUSE_ENABLED": "1", }, }, "Handler": "index.handler", "MemorySize": 1024, "Role": Object { "Fn::GetAtt": Array [ "CfWebACLHandlerServiceRole76516F19", "Arn", ], }, "Runtime": "nodejs16.x", "Tags": Array [ Object { "Key": "Application", "Value": "Ada", }, ], "Timeout": 30, "TracingConfig": Object { "Mode": "Active", }, }, "Type": "AWS::Lambda::Function", }, "CfWebACLHandlerServiceRole76516F19": 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", ], ], }, ], "Tags": Array [ Object { "Key": "Application", "Value": "Ada", }, ], }, "Type": "AWS::IAM::Role", }, "CfWebACLHandlerServiceRoleDefaultPolicy8D0C184A": Object { "Metadata": Object { "cfn_nag": Object { "rules_to_suppress": Array [ Object { "id": "W12", "reason": "* resource required for creating the web acl", }, ], }, }, "Properties": Object { "PolicyDocument": Object { "Statement": Array [ Object { "Action": Array [ "xray:PutTraceSegments", "xray:PutTelemetryRecords", ], "Effect": "Allow", "Resource": "*", }, Object { "Action": Array [ "wafv2:CreateWebACL", "wafv2:DeleteWebACL", "wafv2:GetWebACL", "wafv2:UpdateWebACL", ], "Effect": "Allow", "Resource": "*", }, ], "Version": "2012-10-17", }, "PolicyName": "CfWebACLHandlerServiceRoleDefaultPolicy8D0C184A", "Roles": Array [ Object { "Ref": "CfWebACLHandlerServiceRole76516F19", }, ], }, "Type": "AWS::IAM::Policy", }, "CfWebACLPutLoggingConfiguration143C5EBB": Object { "DeletionPolicy": "Delete", "DependsOn": Array [ "CfWebACLPutLoggingConfigurationCustomResourcePolicy0E7E2E97", ], "Properties": Object { "Create": Object { "Fn::Join": Array [ "", Array [ "{\\"service\\":\\"WAFV2\\",\\"action\\":\\"putLoggingConfiguration\\",\\"parameters\\":{\\"LoggingConfiguration\\":{\\"LogDestinationConfigs\\":[\\"", Object { "Ref": "CfWebACLDeliveryStream722E32A3", }, "\\"],\\"ResourceArn\\":\\"", Object { "Fn::GetAtt": Array [ "CfWebACLWafWebAcl9391E9AC", "ARN", ], }, "\\"}},\\"region\\":\\"us-east-1\\",\\"physicalResourceId\\":{\\"responsePath\\":\\"LoggingConfiguration.ResourceArn\\"}}", ], ], }, "InstallLatestAwsSdk": true, "ServiceToken": Object { "Fn::GetAtt": Array [ "AWS679F53Fac002430Cb0Da5B7982Bd22872D164C4C", "Arn", ], }, }, "Type": "Custom::AWS", "UpdateReplacePolicy": "Delete", }, "CfWebACLPutLoggingConfigurationCustomResourcePolicy0E7E2E97": Object { "Metadata": Object { "cfn_nag": Object { "rules_to_suppress": Array [ Object { "id": "W12", "reason": "* resource required for creating a service linked role", }, ], }, }, "Properties": Object { "PolicyDocument": Object { "Statement": Array [ Object { "Action": "iam:CreateServiceLinkedRole", "Effect": "Allow", "Resource": "*", }, Object { "Action": "wafv2:PutLoggingConfiguration", "Effect": "Allow", "Resource": "*", }, ], "Version": "2012-10-17", }, "PolicyName": "CfWebACLPutLoggingConfigurationCustomResourcePolicy0E7E2E97", "Roles": Array [ Object { "Ref": "AWS679f53fac002430cb0da5b7982bd2287ServiceRoleC1EA0FF2", }, ], }, "Type": "AWS::IAM::Policy", }, "CfWebACLWafProviderFrameworkOnEvent5139FCE1": Object { "DependsOn": Array [ "CfWebACLWafProviderframeworkonEventServiceRoleDefaultPolicyBBBF6873", "CfWebACLWafProviderframeworkonEventServiceRoleF8ED42BA", ], "Properties": Object { "Code": Object { "S3Bucket": "cdk-#####", "S3Key": "cdkhash######.zip", }, "Description": "AWS CDK resource provider framework - onEvent (Ada/Website/CfWebACL/WafProvider)", "Environment": Object { "Variables": Object { "USER_ON_EVENT_FUNCTION_ARN": Object { "Fn::GetAtt": Array [ "CfWebACLHandler105A4D48", "Arn", ], }, }, }, "Handler": "framework.onEvent", "Role": Object { "Fn::GetAtt": Array [ "CfWebACLWafProviderframeworkonEventServiceRoleF8ED42BA", "Arn", ], }, "Runtime": "nodejs14.x", "Tags": Array [ Object { "Key": "Application", "Value": "Ada", }, ], "Timeout": 900, }, "Type": "AWS::Lambda::Function", }, "CfWebACLWafProviderframeworkonEventServiceRoleDefaultPolicyBBBF6873": Object { "Properties": Object { "PolicyDocument": Object { "Statement": Array [ Object { "Action": "lambda:InvokeFunction", "Effect": "Allow", "Resource": Array [ Object { "Fn::GetAtt": Array [ "CfWebACLHandler105A4D48", "Arn", ], }, Object { "Fn::Join": Array [ "", Array [ Object { "Fn::GetAtt": Array [ "CfWebACLHandler105A4D48", "Arn", ], }, ":*", ], ], }, ], }, ], "Version": "2012-10-17", }, "PolicyName": "CfWebACLWafProviderframeworkonEventServiceRoleDefaultPolicyBBBF6873", "Roles": Array [ Object { "Ref": "CfWebACLWafProviderframeworkonEventServiceRoleF8ED42BA", }, ], }, "Type": "AWS::IAM::Policy", }, "CfWebACLWafProviderframeworkonEventServiceRoleF8ED42BA": 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", ], ], }, ], "Tags": Array [ Object { "Key": "Application", "Value": "Ada", }, ], }, "Type": "AWS::IAM::Role", }, "CfWebACLWafWebAcl9391E9AC": Object { "DeletionPolicy": "Delete", "Properties": Object { "Details": "{\\"Name\\":\\"CloudFrontWebACL3586ghashx\\",\\"DefaultAction\\":{\\"Allow\\":{}},\\"VisibilityConfig\\":{\\"CloudWatchMetricsEnabled\\":true,\\"MetricName\\":\\"CfWebACL\\",\\"SampledRequestsEnabled\\":true},\\"Rules\\":[{\\"Name\\":\\"AWS-AWSManagedRulesCommonRuleSet\\",\\"Priority\\":0,\\"OverrideAction\\":{\\"None\\":{}},\\"Statement\\":{\\"ManagedRuleGroupStatement\\":{\\"Name\\":\\"AWSManagedRulesCommonRuleSet\\",\\"VendorName\\":\\"AWS\\",\\"ExcludedRules\\":[{\\"Name\\":\\"SizeRestrictions_BODY\\"}]}},\\"VisibilityConfig\\":{\\"CloudWatchMetricsEnabled\\":true,\\"MetricName\\":\\"awsCommonRules\\",\\"SampledRequestsEnabled\\":true}},{\\"Name\\":\\"AWS-AWSManagedRulesAmazonIpReputationList\\",\\"Priority\\":1,\\"OverrideAction\\":{\\"None\\":{}},\\"Statement\\":{\\"ManagedRuleGroupStatement\\":{\\"Name\\":\\"AWSManagedRulesAmazonIpReputationList\\",\\"VendorName\\":\\"AWS\\",\\"ExcludedRules\\":[]}},\\"VisibilityConfig\\":{\\"CloudWatchMetricsEnabled\\":true,\\"MetricName\\":\\"awsReputation\\",\\"SampledRequestsEnabled\\":true}},{\\"Name\\":\\"AWS-AWSManagedRulesKnownBadInputsRuleSet\\",\\"Priority\\":2,\\"OverrideAction\\":{\\"None\\":{}},\\"Statement\\":{\\"ManagedRuleGroupStatement\\":{\\"Name\\":\\"AWSManagedRulesKnownBadInputsRuleSet\\",\\"VendorName\\":\\"AWS\\",\\"ExcludedRules\\":[]}},\\"VisibilityConfig\\":{\\"CloudWatchMetricsEnabled\\":true,\\"MetricName\\":\\"awsBadInput\\",\\"SampledRequestsEnabled\\":true}}]}", "ServiceToken": Object { "Fn::GetAtt": Array [ "CfWebACLWafProviderFrameworkOnEvent5139FCE1", "Arn", ], }, }, "Type": "Custom::CloudfrontWebACL", "UpdateReplacePolicy": "Delete", }, "CloudfrontDistributionCFDistribution03AB6969": Object { "DependsOn": Array [ "ViewerResponseFunction8FFC6665", ], "Metadata": Object { "cfn_nag": Object { "rules_to_suppress": Array [ Object { "id": "W70", "reason": "Since the distribution uses the CloudFront domain name, CloudFront automatically sets the security policy to TLSv1 regardless of the value of MinimumProtocolVersion", }, ], }, }, "Properties": Object { "DistributionConfig": Object { "CacheBehaviors": Array [ Object { "AllowedMethods": Array [ "GET", "HEAD", ], "CachedMethods": Array [ "GET", "HEAD", ], "Compress": true, "DefaultTTL": 0, "ForwardedValues": Object { "Cookies": Object { "Forward": "none", }, "QueryString": false, }, "MaxTTL": 0, "MinTTL": 0, "PathPattern": "runtime-config.js", "TargetOriginId": "origin1", "ViewerProtocolPolicy": "https-only", }, ], "CustomErrorResponses": Array [ Object { "ErrorCode": 404, "ResponseCode": 200, "ResponsePagePath": "/index.html", }, ], "DefaultCacheBehavior": Object { "AllowedMethods": Array [ "GET", "HEAD", ], "CachedMethods": Array [ "GET", "HEAD", ], "Compress": true, "ForwardedValues": Object { "Cookies": Object { "Forward": "none", }, "QueryString": false, }, "FunctionAssociations": Array [ Object { "EventType": "viewer-response", "FunctionARN": Object { "Fn::GetAtt": Array [ "ViewerResponseFunction8FFC6665", "FunctionARN", ], }, }, ], "TargetOriginId": "origin1", "ViewerProtocolPolicy": "https-only", }, "DefaultRootObject": "index.html", "Enabled": true, "HttpVersion": "http2", "IPV6Enabled": true, "Logging": Object { "Bucket": Object { "Ref": "referencetoAdaCommonStackNestedStackCommonStackNestedStackResourceD51B693FOutputsAdaCommonStackAccessLogBucketB5B66FEDRegionalDomainName", }, "IncludeCookies": false, "Prefix": "web-cloudfront-logs/", }, "Origins": Array [ Object { "ConnectionAttempts": 3, "ConnectionTimeout": 10, "DomainName": Object { "Fn::GetAtt": Array [ "WebsiteBucket", "RegionalDomainName", ], }, "Id": "origin1", "S3OriginConfig": Object { "OriginAccessIdentity": Object { "Fn::Join": Array [ "", Array [ "origin-access-identity/cloudfront/", Object { "Ref": "CloudfrontOAI6D521D0D", }, ], ], }, }, }, ], "PriceClass": "PriceClass_100", "ViewerCertificate": Object { "CloudFrontDefaultCertificate": true, }, "WebACLId": Object { "Fn::GetAtt": Array [ "CfWebACLWafWebAcl9391E9AC", "ARN", ], }, }, "Tags": Array [ Object { "Key": "Application", "Value": "Ada", }, ], }, "Type": "AWS::CloudFront::Distribution", }, "CloudfrontOAI6D521D0D": Object { "Properties": Object { "CloudFrontOriginAccessIdentityConfig": Object { "Comment": "Allows CloudFront to reach the bucket", }, }, "Type": "AWS::CloudFront::CloudFrontOriginAccessIdentity", }, "CustomCDKBucketDeployment8693BB64968944B69AAFB0CC9EB8756C81C01536": Object { "DependsOn": Array [ "CustomCDKBucketDeployment8693BB64968944B69AAFB0CC9EB8756CServiceRoleDefaultPolicy88902FDF", "CustomCDKBucketDeployment8693BB64968944B69AAFB0CC9EB8756CServiceRole89A01265", ], "Properties": Object { "Code": Object { "S3Bucket": "cdk-#####", "S3Key": "cdkhash######.zip", }, "Handler": "index.handler", "Layers": Array [ Object { "Ref": "WebsiteDeploymentAwsCliLayer5BFD2264", }, ], "Role": Object { "Fn::GetAtt": Array [ "CustomCDKBucketDeployment8693BB64968944B69AAFB0CC9EB8756CServiceRole89A01265", "Arn", ], }, "Runtime": "python3.9", "Tags": Array [ Object { "Key": "Application", "Value": "Ada", }, ], "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", ], ], }, ], "Tags": Array [ Object { "Key": "Application", "Value": "Ada", }, ], }, "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:::cdk-hnb659fds-assets-1111111111-ap-southeast-1", ], ], }, Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":s3:::cdk-hnb659fds-assets-1111111111-ap-southeast-1/*", ], ], }, ], }, 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 [ "WebsiteBucket", "Arn", ], }, Object { "Fn::Join": Array [ "", Array [ Object { "Fn::GetAtt": Array [ "WebsiteBucket", "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": "cdk-#####", "S3Key": "cdkhash######.zip", }, "Description": Object { "Fn::Join": Array [ "", Array [ "Lambda function for auto-deleting objects in ", Object { "Ref": "WebsiteBucket", }, " S3 bucket.", ], ], }, "Handler": "__entrypoint__.handler", "MemorySize": 128, "Role": Object { "Fn::GetAtt": Array [ "CustomS3AutoDeleteObjectsCustomResourceProviderRole3B1BD092", "Arn", ], }, "Runtime": "nodejs14.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", }, "ViewerResponseFunction8FFC6665": Object { "Properties": Object { "AutoPublish": true, "FunctionCode": Object { "Fn::Join": Array [ "", Array [ "var CSP=\\"default-src 'self'; script-src 'self'; connect-src 'self' https://", Object { "Ref": "referencetoAdaApiServiceNestedStackApiServiceNestedStackResourceBBF04FB4OutputsAdaApiServiceFederatedApiFederatedRestApi1FB0E4F5Ref", }, ".execute-api.ap-southeast-1.amazonaws.com/prod/ https://", Object { "Ref": "referencetoAdaCognitoAuthNestedStackCognitoAuthNestedStackResource933F913EOutputsAdaCognitoAuthUserPoolCognitoDomain8B19C675Ref", }, ".auth.ap-southeast-1.amazoncognito.com https://cognito-idp.ap-southeast-1.amazonaws.com https://s3.ap-southeast-1.", Object { "Ref": "AWS::URLSuffix", }, "/", Object { "Ref": "referencetoAdaDataProductServiceNestedStackDataProductServiceNestedStackResourceA1CE38EDOutputsAdaDataProductServiceFileUploadBucket4C6FA9E4Ref", }, " https://", Object { "Ref": "referencetoAdaDataProductServiceNestedStackDataProductServiceNestedStackResourceA1CE38EDOutputsAdaDataProductServiceFileUploadBucket4C6FA9E4RegionalDomainName", }, " https://", Object { "Ref": "referencetoAdaDataProductServiceNestedStackDataProductServiceNestedStackResourceA1CE38EDOutputsAdaDataProductServiceFileUploadBucket4C6FA9E4DomainName", }, " https://s3.ap-southeast-1.", Object { "Ref": "AWS::URLSuffix", }, "/", Object { "Ref": "referencetoAdaCommonStackNestedStackCommonStackNestedStackResourceD51B693FOutputsAdaCommonStackAthenaOutputBucketFB25B94DRef", }, " https://", Object { "Ref": "referencetoAdaCommonStackNestedStackCommonStackNestedStackResourceD51B693FOutputsAdaCommonStackAthenaOutputBucketFB25B94DRegionalDomainName", }, " https://", Object { "Ref": "referencetoAdaCommonStackNestedStackCommonStackNestedStackResourceD51B693FOutputsAdaCommonStackAthenaOutputBucketFB25B94DDomainName", }, "; style-src 'self' 'unsafe-inline'; img-src 'self' awsstatic.com; object-src 'self' awsstatic.com;\\";function handler(event){var response=event.response,headers=response.headers;return headers[\\"x-frame-options\\"]={value:\\"deny\\"},headers[\\"x-xss-protection\\"]={value:\\"1; mode=block\\"},headers[\\"x-content-type-options\\"]={value:\\"nosniff\\"},headers[\\"strict-transport-security\\"]={value:\\"max-age=47304000; includeSubDomains\\"},event.request.uri.match(/^\\\\/docs\\\\//)?headers[\\"content-security-policy\\"]={value:\\"default-src 'self'; script-src 'self' 'unsafe-inline'; style-src 'self' 'unsafe-inline'; img-src 'self'; font-src * 'self'; media-src 'self'\\"}:headers[\\"content-security-policy\\"]={value:CSP},response}", ], ], }, "FunctionConfig": Object { "Comment": "AdaWebsiteViewerResponse3586ghashx", "Runtime": "cloudfront-js-1.0", }, "Name": "AdaWebsiteViewerResponse3586ghashx", }, "Type": "AWS::CloudFront::Function", }, "WebsiteBucket": Object { "DeletionPolicy": "Delete", "Properties": Object { "BucketEncryption": Object { "ServerSideEncryptionConfiguration": Array [ Object { "ServerSideEncryptionByDefault": Object { "SSEAlgorithm": "AES256", }, }, ], }, "LoggingConfiguration": Object { "DestinationBucketName": Object { "Ref": "referencetoAdaCommonStackNestedStackCommonStackNestedStackResourceD51B693FOutputsAdaCommonStackAccessLogBucketB5B66FEDRef", }, "LogFilePrefix": "website-logs/", }, "PublicAccessBlockConfiguration": Object { "BlockPublicAcls": true, "BlockPublicPolicy": true, "IgnorePublicAcls": true, "RestrictPublicBuckets": true, }, "Tags": Array [ Object { "Key": "Application", "Value": "Ada", }, Object { "Key": "aws-cdk:auto-delete-objects", "Value": "true", }, Object { "Key": "aws-cdk:cr-owned:53ab8b68", "Value": "true", }, ], "VersioningConfiguration": Object { "Status": "Enabled", }, "WebsiteConfiguration": Object { "IndexDocument": "index.html", }, }, "Type": "AWS::S3::Bucket", "UpdateReplacePolicy": "Delete", }, "WebsiteBucketAutoDeleteObjectsCustomResource8750E461": Object { "DeletionPolicy": "Delete", "DependsOn": Array [ "WebsiteBucketPolicyE10E3262", ], "Properties": Object { "BucketName": Object { "Ref": "WebsiteBucket", }, "ServiceToken": Object { "Fn::GetAtt": Array [ "CustomS3AutoDeleteObjectsCustomResourceProviderHandler9D90184F", "Arn", ], }, }, "Type": "Custom::S3AutoDeleteObjects", "UpdateReplacePolicy": "Delete", }, "WebsiteBucketPolicyE10E3262": Object { "Properties": Object { "Bucket": Object { "Ref": "WebsiteBucket", }, "PolicyDocument": Object { "Statement": Array [ Object { "Action": "s3:*", "Condition": Object { "Bool": Object { "aws:SecureTransport": "false", }, }, "Effect": "Deny", "Principal": Object { "AWS": "*", }, "Resource": Array [ Object { "Fn::GetAtt": Array [ "WebsiteBucket", "Arn", ], }, Object { "Fn::Join": Array [ "", Array [ Object { "Fn::GetAtt": Array [ "WebsiteBucket", "Arn", ], }, "/*", ], ], }, ], }, 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 [ "WebsiteBucket", "Arn", ], }, Object { "Fn::Join": Array [ "", Array [ Object { "Fn::GetAtt": Array [ "WebsiteBucket", "Arn", ], }, "/*", ], ], }, ], }, Object { "Action": Array [ "s3:GetObject*", "s3:GetBucket*", "s3:List*", ], "Effect": "Allow", "Principal": Object { "CanonicalUser": Object { "Fn::GetAtt": Array [ "CloudfrontOAI6D521D0D", "S3CanonicalUserId", ], }, }, "Resource": Array [ Object { "Fn::GetAtt": Array [ "WebsiteBucket", "Arn", ], }, Object { "Fn::Join": Array [ "", Array [ Object { "Fn::GetAtt": Array [ "WebsiteBucket", "Arn", ], }, "/*", ], ], }, ], }, Object { "Action": "s3:GetObject", "Effect": "Allow", "Principal": Object { "CanonicalUser": Object { "Fn::GetAtt": Array [ "CloudfrontOAI6D521D0D", "S3CanonicalUserId", ], }, }, "Resource": Object { "Fn::Join": Array [ "", Array [ Object { "Fn::GetAtt": Array [ "WebsiteBucket", "Arn", ], }, "/*", ], ], }, }, ], "Version": "2012-10-17", }, }, "Type": "AWS::S3::BucketPolicy", }, "WebsiteDeploymentAwsCliLayer5BFD2264": Object { "Properties": Object { "Content": Object { "S3Bucket": "cdk-#####", "S3Key": "cdkhash######.zip", }, "Description": "/opt/awscli/aws", }, "Type": "AWS::Lambda::LayerVersion", }, "WebsiteDeploymentCustomResourceA1782F82": Object { "DeletionPolicy": "Delete", "Properties": Object { "DestinationBucketName": Object { "Ref": "WebsiteBucket", }, "DistributionId": Object { "Ref": "CloudfrontDistributionCFDistribution03AB6969", }, "Prune": true, "ServiceToken": Object { "Fn::GetAtt": Array [ "CustomCDKBucketDeployment8693BB64968944B69AAFB0CC9EB8756C81C01536", "Arn", ], }, "SourceBucketNames": Array [ "cdk-#####", ], "SourceObjectKeys": Array [ "cdkhash######.zip", ], "SystemMetadata": Object { "sse": "AES256", }, }, "Type": "Custom::CDKBucketDeployment", "UpdateReplacePolicy": "Delete", }, }, } `;