{"version":"2","toolVersion":"1.84.0","snippets":{"10bd60d716c0026654038306c399171ff86952eb7729868c89b673ff498d0c60":{"translations":{"python":{"source":"# Creates a distribution from an S3 bucket.\nmy_bucket = s3.Bucket(self, \"myBucket\")\ncloudfront.Distribution(self, \"myDist\",\n    default_behavior=cloudfront.BehaviorOptions(origin=origins.S3Origin(my_bucket))\n)","version":"2"},"csharp":{"source":"// Creates a distribution from an S3 bucket.\nvar myBucket = new Bucket(this, \"myBucket\");\nnew Distribution(this, \"myDist\", new DistributionProps {\n    DefaultBehavior = new BehaviorOptions { Origin = new S3Origin(myBucket) }\n});","version":"1"},"java":{"source":"// Creates a distribution from an S3 bucket.\nBucket myBucket = new Bucket(this, \"myBucket\");\nDistribution.Builder.create(this, \"myDist\")\n        .defaultBehavior(BehaviorOptions.builder().origin(new S3Origin(myBucket)).build())\n        .build();","version":"1"},"go":{"source":"// Creates a distribution from an S3 bucket.\nmyBucket := s3.NewBucket(this, jsii.String(\"myBucket\"))\ncloudfront.NewDistribution(this, jsii.String(\"myDist\"), &DistributionProps{\n\tDefaultBehavior: &BehaviorOptions{\n\t\tOrigin: origins.NewS3Origin(myBucket),\n\t},\n})","version":"1"},"$":{"source":"// Creates a distribution from an S3 bucket.\nconst myBucket = new s3.Bucket(this, 'myBucket');\nnew cloudfront.Distribution(this, 'myDist', {\n  defaultBehavior: { origin: new origins.S3Origin(myBucket) },\n});","version":"0"}},"location":{"api":{"api":"moduleReadme","moduleFqn":"@aws-cdk/aws-cloudfront"},"field":{"field":"markdown","line":46}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront-origins.S3Origin","@aws-cdk/aws-cloudfront.BehaviorOptions","@aws-cdk/aws-cloudfront.Distribution","@aws-cdk/aws-cloudfront.DistributionProps","@aws-cdk/aws-cloudfront.IOrigin","@aws-cdk/aws-s3.Bucket","@aws-cdk/aws-s3.IBucket","constructs.Construct"],"fullSource":"import { Construct } from 'constructs';\nimport { Duration, Stack } from '@aws-cdk/core';\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nimport * as origins from '@aws-cdk/aws-cloudfront-origins';\nimport * as s3 from '@aws-cdk/aws-s3';\nimport * as ec2 from '@aws-cdk/aws-ec2';\nimport * as elbv2 from '@aws-cdk/aws-elasticloadbalancingv2';\nimport * as lambda from '@aws-cdk/aws-lambda';\nimport * as path from 'path';\n\nclass Context extends Stack {\n  constructor(scope: Construct, id: string) {\n    super(scope, id);\n\n    // Code snippet begins after !show marker below\n/// !show\n// Creates a distribution from an S3 bucket.\nconst myBucket = new s3.Bucket(this, 'myBucket');\nnew cloudfront.Distribution(this, 'myDist', {\n  defaultBehavior: { origin: new origins.S3Origin(myBucket) },\n});\n/// !hide\n// Code snippet ended before !hide marker above\n  }\n}\n","syntaxKindCounter":{"10":2,"75":10,"104":2,"193":2,"194":3,"197":3,"225":1,"226":1,"242":1,"243":1,"281":2},"fqnsFingerprint":"6054c3dea3fc10aee00036440bb01052c5da960b61f593cd0ffe90e4c34b1bc9"},"0eb41a91dbb6bf95b75f9eccf49aa981f61c0ea1edb1a877918ab75abf65e66c":{"translations":{"python":{"source":"# Creates a distribution from an ELBv2 load balancer\n# vpc: ec2.Vpc\n\n# Create an application load balancer in a VPC. 'internetFacing' must be 'true'\n# for CloudFront to access the load balancer and use it as an origin.\nlb = elbv2.ApplicationLoadBalancer(self, \"LB\",\n    vpc=vpc,\n    internet_facing=True\n)\ncloudfront.Distribution(self, \"myDist\",\n    default_behavior=cloudfront.BehaviorOptions(origin=origins.LoadBalancerV2Origin(lb))\n)","version":"2"},"csharp":{"source":"// Creates a distribution from an ELBv2 load balancer\nVpc vpc;\n\n// Create an application load balancer in a VPC. 'internetFacing' must be 'true'\n// for CloudFront to access the load balancer and use it as an origin.\nvar lb = new ApplicationLoadBalancer(this, \"LB\", new ApplicationLoadBalancerProps {\n    Vpc = vpc,\n    InternetFacing = true\n});\nnew Distribution(this, \"myDist\", new DistributionProps {\n    DefaultBehavior = new BehaviorOptions { Origin = new LoadBalancerV2Origin(lb) }\n});","version":"1"},"java":{"source":"// Creates a distribution from an ELBv2 load balancer\nVpc vpc;\n\n// Create an application load balancer in a VPC. 'internetFacing' must be 'true'\n// for CloudFront to access the load balancer and use it as an origin.\nApplicationLoadBalancer lb = ApplicationLoadBalancer.Builder.create(this, \"LB\")\n        .vpc(vpc)\n        .internetFacing(true)\n        .build();\nDistribution.Builder.create(this, \"myDist\")\n        .defaultBehavior(BehaviorOptions.builder().origin(new LoadBalancerV2Origin(lb)).build())\n        .build();","version":"1"},"go":{"source":"// Creates a distribution from an ELBv2 load balancer\nvar vpc vpc\n\n// Create an application load balancer in a VPC. 'internetFacing' must be 'true'\n// for CloudFront to access the load balancer and use it as an origin.\nlb := elbv2.NewApplicationLoadBalancer(this, jsii.String(\"LB\"), &ApplicationLoadBalancerProps{\n\tVpc: Vpc,\n\tInternetFacing: jsii.Boolean(true),\n})\ncloudfront.NewDistribution(this, jsii.String(\"myDist\"), &DistributionProps{\n\tDefaultBehavior: &BehaviorOptions{\n\t\tOrigin: origins.NewLoadBalancerV2Origin(lb),\n\t},\n})","version":"1"},"$":{"source":"// Creates a distribution from an ELBv2 load balancer\ndeclare const vpc: ec2.Vpc;\n// Create an application load balancer in a VPC. 'internetFacing' must be 'true'\n// for CloudFront to access the load balancer and use it as an origin.\nconst lb = new elbv2.ApplicationLoadBalancer(this, 'LB', {\n  vpc,\n  internetFacing: true,\n});\nnew cloudfront.Distribution(this, 'myDist', {\n  defaultBehavior: { origin: new origins.LoadBalancerV2Origin(lb) },\n});","version":"0"}},"location":{"api":{"api":"moduleReadme","moduleFqn":"@aws-cdk/aws-cloudfront"},"field":{"field":"markdown","line":65}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront-origins.LoadBalancerV2Origin","@aws-cdk/aws-cloudfront.BehaviorOptions","@aws-cdk/aws-cloudfront.Distribution","@aws-cdk/aws-cloudfront.DistributionProps","@aws-cdk/aws-cloudfront.IOrigin","@aws-cdk/aws-ec2.IVpc","@aws-cdk/aws-elasticloadbalancingv2.ApplicationLoadBalancer","@aws-cdk/aws-elasticloadbalancingv2.ApplicationLoadBalancerProps","@aws-cdk/aws-elasticloadbalancingv2.ILoadBalancerV2","constructs.Construct"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// Creates a distribution from an ELBv2 load balancer\ndeclare const vpc: ec2.Vpc;\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from 'constructs';\nimport { Duration, Stack } from '@aws-cdk/core';\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nimport * as origins from '@aws-cdk/aws-cloudfront-origins';\nimport * as s3 from '@aws-cdk/aws-s3';\nimport * as ec2 from '@aws-cdk/aws-ec2';\nimport * as elbv2 from '@aws-cdk/aws-elasticloadbalancingv2';\nimport * as lambda from '@aws-cdk/aws-lambda';\nimport * as path from 'path';\n\nclass Context extends Stack {\n  constructor(scope: Construct, id: string) {\n    super(scope, id);\n\n    // Code snippet begins after !show marker below\n/// !show\n\n// Create an application load balancer in a VPC. 'internetFacing' must be 'true'\n// for CloudFront to access the load balancer and use it as an origin.\nconst lb = new elbv2.ApplicationLoadBalancer(this, 'LB', {\n  vpc,\n  internetFacing: true,\n});\nnew cloudfront.Distribution(this, 'myDist', {\n  defaultBehavior: { origin: new origins.LoadBalancerV2Origin(lb) },\n});\n/// !hide\n// Code snippet ended before !hide marker above\n  }\n}\n","syntaxKindCounter":{"10":2,"75":15,"104":2,"106":1,"130":1,"153":1,"169":1,"193":3,"194":3,"197":3,"225":2,"226":1,"242":2,"243":2,"281":3,"282":1,"290":1},"fqnsFingerprint":"e8fe61df5ea6779d1786c8e56fac606fa3fc998ec51aa9b1fffb3cf6a5288c47"},"0d13777da28c0044f97c3b4fff394de8f2645067eb97f53765a9c7e13fe12b4e":{"translations":{"python":{"source":"# Creates a distribution from an HTTP endpoint\ncloudfront.Distribution(self, \"myDist\",\n    default_behavior=cloudfront.BehaviorOptions(origin=origins.HttpOrigin(\"www.example.com\"))\n)","version":"2"},"csharp":{"source":"// Creates a distribution from an HTTP endpoint\n// Creates a distribution from an HTTP endpoint\nnew Distribution(this, \"myDist\", new DistributionProps {\n    DefaultBehavior = new BehaviorOptions { Origin = new HttpOrigin(\"www.example.com\") }\n});","version":"1"},"java":{"source":"// Creates a distribution from an HTTP endpoint\n// Creates a distribution from an HTTP endpoint\nDistribution.Builder.create(this, \"myDist\")\n        .defaultBehavior(BehaviorOptions.builder().origin(new HttpOrigin(\"www.example.com\")).build())\n        .build();","version":"1"},"go":{"source":"// Creates a distribution from an HTTP endpoint\n// Creates a distribution from an HTTP endpoint\ncloudfront.NewDistribution(this, jsii.String(\"myDist\"), &DistributionProps{\n\tDefaultBehavior: &BehaviorOptions{\n\t\tOrigin: origins.NewHttpOrigin(jsii.String(\"www.example.com\")),\n\t},\n})","version":"1"},"$":{"source":"// Creates a distribution from an HTTP endpoint\nnew cloudfront.Distribution(this, 'myDist', {\n  defaultBehavior: { origin: new origins.HttpOrigin('www.example.com') },\n});","version":"0"}},"location":{"api":{"api":"moduleReadme","moduleFqn":"@aws-cdk/aws-cloudfront"},"field":{"field":"markdown","line":83}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront-origins.HttpOrigin","@aws-cdk/aws-cloudfront.BehaviorOptions","@aws-cdk/aws-cloudfront.Distribution","@aws-cdk/aws-cloudfront.DistributionProps","@aws-cdk/aws-cloudfront.IOrigin","constructs.Construct"],"fullSource":"import { Construct } from 'constructs';\nimport { Duration, Stack } from '@aws-cdk/core';\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nimport * as origins from '@aws-cdk/aws-cloudfront-origins';\nimport * as s3 from '@aws-cdk/aws-s3';\nimport * as ec2 from '@aws-cdk/aws-ec2';\nimport * as elbv2 from '@aws-cdk/aws-elasticloadbalancingv2';\nimport * as lambda from '@aws-cdk/aws-lambda';\nimport * as path from 'path';\n\nclass Context extends Stack {\n  constructor(scope: Construct, id: string) {\n    super(scope, id);\n\n    // Code snippet begins after !show marker below\n/// !show\n// Creates a distribution from an HTTP endpoint\nnew cloudfront.Distribution(this, 'myDist', {\n  defaultBehavior: { origin: new origins.HttpOrigin('www.example.com') },\n});\n/// !hide\n// Code snippet ended before !hide marker above\n  }\n}\n","syntaxKindCounter":{"10":2,"75":6,"104":1,"193":2,"194":2,"197":2,"226":1,"281":2},"fqnsFingerprint":"9d4e5701c24c3d19592174d8634a0b76aa3c9a7351b3fee53c97e10691972495"},"97d3c5a4afcb2902fc47831913f37a29426f7d0628f4bdfc4015763535020bb8":{"translations":{"python":{"source":"# To use your own domain name in a Distribution, you must associate a certificate\nimport aws_cdk.aws_certificatemanager as acm\nimport aws_cdk.aws_route53 as route53\n\n# hosted_zone: route53.HostedZone\n\n# my_bucket: s3.Bucket\n\nmy_certificate = acm.DnsValidatedCertificate(self, \"mySiteCert\",\n    domain_name=\"www.example.com\",\n    hosted_zone=hosted_zone\n)\ncloudfront.Distribution(self, \"myDist\",\n    default_behavior=cloudfront.BehaviorOptions(origin=origins.S3Origin(my_bucket)),\n    domain_names=[\"www.example.com\"],\n    certificate=my_certificate\n)","version":"2"},"csharp":{"source":"// To use your own domain name in a Distribution, you must associate a certificate\nusing Amazon.CDK.AWS.CertificateManager;\nusing Amazon.CDK.AWS.Route53;\n\nHostedZone hostedZone;\n\nBucket myBucket;\n\nvar myCertificate = new DnsValidatedCertificate(this, \"mySiteCert\", new DnsValidatedCertificateProps {\n    DomainName = \"www.example.com\",\n    HostedZone = hostedZone\n});\nnew Distribution(this, \"myDist\", new DistributionProps {\n    DefaultBehavior = new BehaviorOptions { Origin = new S3Origin(myBucket) },\n    DomainNames = new [] { \"www.example.com\" },\n    Certificate = myCertificate\n});","version":"1"},"java":{"source":"// To use your own domain name in a Distribution, you must associate a certificate\nimport software.amazon.awscdk.services.certificatemanager.*;\nimport software.amazon.awscdk.services.route53.*;\n\nHostedZone hostedZone;\n\nBucket myBucket;\n\nDnsValidatedCertificate myCertificate = DnsValidatedCertificate.Builder.create(this, \"mySiteCert\")\n        .domainName(\"www.example.com\")\n        .hostedZone(hostedZone)\n        .build();\nDistribution.Builder.create(this, \"myDist\")\n        .defaultBehavior(BehaviorOptions.builder().origin(new S3Origin(myBucket)).build())\n        .domainNames(List.of(\"www.example.com\"))\n        .certificate(myCertificate)\n        .build();","version":"1"},"go":{"source":"// To use your own domain name in a Distribution, you must associate a certificate\nimport acm \"github.com/aws-samples/dummy/awscdkawscertificatemanager\"\nimport route53 \"github.com/aws-samples/dummy/awscdkawsroute53\"\n\nvar hostedZone hostedZone\n\nvar myBucket bucket\n\nmyCertificate := acm.NewDnsValidatedCertificate(this, jsii.String(\"mySiteCert\"), &DnsValidatedCertificateProps{\n\tDomainName: jsii.String(\"www.example.com\"),\n\tHostedZone: HostedZone,\n})\ncloudfront.NewDistribution(this, jsii.String(\"myDist\"), &DistributionProps{\n\tDefaultBehavior: &BehaviorOptions{\n\t\tOrigin: origins.NewS3Origin(myBucket),\n\t},\n\tDomainNames: []*string{\n\t\tjsii.String(\"www.example.com\"),\n\t},\n\tCertificate: myCertificate,\n})","version":"1"},"$":{"source":"// To use your own domain name in a Distribution, you must associate a certificate\nimport * as acm from '@aws-cdk/aws-certificatemanager';\nimport * as route53 from '@aws-cdk/aws-route53';\n\ndeclare const hostedZone: route53.HostedZone;\nconst myCertificate = new acm.DnsValidatedCertificate(this, 'mySiteCert', {\n  domainName: 'www.example.com',\n  hostedZone,\n});\n\ndeclare const myBucket: s3.Bucket;\nnew cloudfront.Distribution(this, 'myDist', {\n  defaultBehavior: { origin: new origins.S3Origin(myBucket) },\n  domainNames: ['www.example.com'],\n  certificate: myCertificate,\n});","version":"0"}},"location":{"api":{"api":"moduleReadme","moduleFqn":"@aws-cdk/aws-cloudfront"},"field":{"field":"markdown","line":101}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-certificatemanager.DnsValidatedCertificate","@aws-cdk/aws-certificatemanager.DnsValidatedCertificateProps","@aws-cdk/aws-certificatemanager.ICertificate","@aws-cdk/aws-cloudfront-origins.S3Origin","@aws-cdk/aws-cloudfront.BehaviorOptions","@aws-cdk/aws-cloudfront.Distribution","@aws-cdk/aws-cloudfront.DistributionProps","@aws-cdk/aws-cloudfront.IOrigin","@aws-cdk/aws-route53.IHostedZone","@aws-cdk/aws-s3.IBucket","constructs.Construct"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// To use your own domain name in a Distribution, you must associate a certificate\nimport * as acm from '@aws-cdk/aws-certificatemanager';\nimport * as route53 from '@aws-cdk/aws-route53';\n\ndeclare const hostedZone: route53.HostedZone;\n\ndeclare const myBucket: s3.Bucket;\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from 'constructs';\nimport { Duration, Stack } from '@aws-cdk/core';\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nimport * as origins from '@aws-cdk/aws-cloudfront-origins';\nimport * as s3 from '@aws-cdk/aws-s3';\nimport * as ec2 from '@aws-cdk/aws-ec2';\nimport * as elbv2 from '@aws-cdk/aws-elasticloadbalancingv2';\nimport * as lambda from '@aws-cdk/aws-lambda';\nimport * as path from 'path';\n\nclass Context extends Stack {\n  constructor(scope: Construct, id: string) {\n    super(scope, id);\n\n    // Code snippet begins after !show marker below\n/// !show\n\nconst myCertificate = new acm.DnsValidatedCertificate(this, 'mySiteCert', {\n  domainName: 'www.example.com',\n  hostedZone,\n});\nnew cloudfront.Distribution(this, 'myDist', {\n  defaultBehavior: { origin: new origins.S3Origin(myBucket) },\n  domainNames: ['www.example.com'],\n  certificate: myCertificate,\n});\n/// !hide\n// Code snippet ended before !hide marker above\n  }\n}\n","syntaxKindCounter":{"10":6,"75":23,"104":2,"130":2,"153":2,"169":2,"192":1,"193":3,"194":3,"197":3,"225":3,"226":1,"242":3,"243":3,"254":2,"255":2,"256":2,"281":5,"282":1,"290":1},"fqnsFingerprint":"b3d42a7e82a953feb554a11491f0f0d5b1ad75a47a1c8ea8331d466d1bc807c8"},"60e33da81d7b188ed87bff364c5b18f6f846e155127f116834ecba505a4a06e9":{"translations":{"python":{"source":"# Create a Distribution with a custom domain name and a minimum protocol version.\n# my_bucket: s3.Bucket\n\ncloudfront.Distribution(self, \"myDist\",\n    default_behavior=cloudfront.BehaviorOptions(origin=origins.S3Origin(my_bucket)),\n    domain_names=[\"www.example.com\"],\n    minimum_protocol_version=cloudfront.SecurityPolicyProtocol.TLS_V1_2016,\n    ssl_support_method=cloudfront.SSLMethod.SNI\n)","version":"2"},"csharp":{"source":"// Create a Distribution with a custom domain name and a minimum protocol version.\nBucket myBucket;\n\nnew Distribution(this, \"myDist\", new DistributionProps {\n    DefaultBehavior = new BehaviorOptions { Origin = new S3Origin(myBucket) },\n    DomainNames = new [] { \"www.example.com\" },\n    MinimumProtocolVersion = SecurityPolicyProtocol.TLS_V1_2016,\n    SslSupportMethod = SSLMethod.SNI\n});","version":"1"},"java":{"source":"// Create a Distribution with a custom domain name and a minimum protocol version.\nBucket myBucket;\n\nDistribution.Builder.create(this, \"myDist\")\n        .defaultBehavior(BehaviorOptions.builder().origin(new S3Origin(myBucket)).build())\n        .domainNames(List.of(\"www.example.com\"))\n        .minimumProtocolVersion(SecurityPolicyProtocol.TLS_V1_2016)\n        .sslSupportMethod(SSLMethod.SNI)\n        .build();","version":"1"},"go":{"source":"// Create a Distribution with a custom domain name and a minimum protocol version.\nvar myBucket bucket\n\ncloudfront.NewDistribution(this, jsii.String(\"myDist\"), &DistributionProps{\n\tDefaultBehavior: &BehaviorOptions{\n\t\tOrigin: origins.NewS3Origin(myBucket),\n\t},\n\tDomainNames: []*string{\n\t\tjsii.String(\"www.example.com\"),\n\t},\n\tMinimumProtocolVersion: cloudfront.SecurityPolicyProtocol_TLS_V1_2016,\n\tSslSupportMethod: cloudfront.SSLMethod_SNI,\n})","version":"1"},"$":{"source":"// Create a Distribution with a custom domain name and a minimum protocol version.\ndeclare const myBucket: s3.Bucket;\nnew cloudfront.Distribution(this, 'myDist', {\n  defaultBehavior: { origin: new origins.S3Origin(myBucket) },\n  domainNames: ['www.example.com'],\n  minimumProtocolVersion: cloudfront.SecurityPolicyProtocol.TLS_V1_2016,\n  sslSupportMethod: cloudfront.SSLMethod.SNI,\n});","version":"0"}},"location":{"api":{"api":"moduleReadme","moduleFqn":"@aws-cdk/aws-cloudfront"},"field":{"field":"markdown","line":122}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront-origins.S3Origin","@aws-cdk/aws-cloudfront.BehaviorOptions","@aws-cdk/aws-cloudfront.Distribution","@aws-cdk/aws-cloudfront.DistributionProps","@aws-cdk/aws-cloudfront.IOrigin","@aws-cdk/aws-cloudfront.SSLMethod","@aws-cdk/aws-cloudfront.SSLMethod#SNI","@aws-cdk/aws-cloudfront.SecurityPolicyProtocol","@aws-cdk/aws-cloudfront.SecurityPolicyProtocol#TLS_V1_2016","@aws-cdk/aws-s3.IBucket","constructs.Construct"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// Create a Distribution with a custom domain name and a minimum protocol version.\ndeclare const myBucket: s3.Bucket;\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from 'constructs';\nimport { Duration, Stack } from '@aws-cdk/core';\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nimport * as origins from '@aws-cdk/aws-cloudfront-origins';\nimport * as s3 from '@aws-cdk/aws-s3';\nimport * as ec2 from '@aws-cdk/aws-ec2';\nimport * as elbv2 from '@aws-cdk/aws-elasticloadbalancingv2';\nimport * as lambda from '@aws-cdk/aws-lambda';\nimport * as path from 'path';\n\nclass Context extends Stack {\n  constructor(scope: Construct, id: string) {\n    super(scope, id);\n\n    // Code snippet begins after !show marker below\n/// !show\n\nnew cloudfront.Distribution(this, 'myDist', {\n  defaultBehavior: { origin: new origins.S3Origin(myBucket) },\n  domainNames: ['www.example.com'],\n  minimumProtocolVersion: cloudfront.SecurityPolicyProtocol.TLS_V1_2016,\n  sslSupportMethod: cloudfront.SSLMethod.SNI,\n});\n/// !hide\n// Code snippet ended before !hide marker above\n  }\n}\n","syntaxKindCounter":{"10":2,"75":19,"104":1,"130":1,"153":1,"169":1,"192":1,"193":2,"194":6,"197":2,"225":1,"226":1,"242":1,"243":1,"281":5,"290":1},"fqnsFingerprint":"b5076c304f4d95e1d23ca6a7eb322d7cc88e04d6de70b8eaacc21588fe93797a"},"b31553e50f4abe07077cb3c2b53a0a33d2f29893a1cec5199b849a4ec7f1204d":{"translations":{"python":{"source":"# Create a Distribution with configured HTTP methods and viewer protocol policy of the cache.\n# my_bucket: s3.Bucket\n\nmy_web_distribution = cloudfront.Distribution(self, \"myDist\",\n    default_behavior=cloudfront.BehaviorOptions(\n        origin=origins.S3Origin(my_bucket),\n        allowed_methods=cloudfront.AllowedMethods.ALLOW_ALL,\n        viewer_protocol_policy=cloudfront.ViewerProtocolPolicy.REDIRECT_TO_HTTPS\n    )\n)","version":"2"},"csharp":{"source":"// Create a Distribution with configured HTTP methods and viewer protocol policy of the cache.\nBucket myBucket;\n\nvar myWebDistribution = new Distribution(this, \"myDist\", new DistributionProps {\n    DefaultBehavior = new BehaviorOptions {\n        Origin = new S3Origin(myBucket),\n        AllowedMethods = AllowedMethods.ALLOW_ALL,\n        ViewerProtocolPolicy = ViewerProtocolPolicy.REDIRECT_TO_HTTPS\n    }\n});","version":"1"},"java":{"source":"// Create a Distribution with configured HTTP methods and viewer protocol policy of the cache.\nBucket myBucket;\n\nDistribution myWebDistribution = Distribution.Builder.create(this, \"myDist\")\n        .defaultBehavior(BehaviorOptions.builder()\n                .origin(new S3Origin(myBucket))\n                .allowedMethods(AllowedMethods.ALLOW_ALL)\n                .viewerProtocolPolicy(ViewerProtocolPolicy.REDIRECT_TO_HTTPS)\n                .build())\n        .build();","version":"1"},"go":{"source":"// Create a Distribution with configured HTTP methods and viewer protocol policy of the cache.\nvar myBucket bucket\n\nmyWebDistribution := cloudfront.NewDistribution(this, jsii.String(\"myDist\"), &DistributionProps{\n\tDefaultBehavior: &BehaviorOptions{\n\t\tOrigin: origins.NewS3Origin(myBucket),\n\t\tAllowedMethods: cloudfront.AllowedMethods_ALLOW_ALL(),\n\t\tViewerProtocolPolicy: cloudfront.ViewerProtocolPolicy_REDIRECT_TO_HTTPS,\n\t},\n})","version":"1"},"$":{"source":"// Create a Distribution with configured HTTP methods and viewer protocol policy of the cache.\ndeclare const myBucket: s3.Bucket;\nconst myWebDistribution = new cloudfront.Distribution(this, 'myDist', {\n  defaultBehavior: {\n    origin: new origins.S3Origin(myBucket),\n    allowedMethods: cloudfront.AllowedMethods.ALLOW_ALL,\n    viewerProtocolPolicy: cloudfront.ViewerProtocolPolicy.REDIRECT_TO_HTTPS,\n  },\n});","version":"0"}},"location":{"api":{"api":"moduleReadme","moduleFqn":"@aws-cdk/aws-cloudfront"},"field":{"field":"markdown","line":142}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront-origins.S3Origin","@aws-cdk/aws-cloudfront.AllowedMethods","@aws-cdk/aws-cloudfront.AllowedMethods#ALLOW_ALL","@aws-cdk/aws-cloudfront.BehaviorOptions","@aws-cdk/aws-cloudfront.Distribution","@aws-cdk/aws-cloudfront.DistributionProps","@aws-cdk/aws-cloudfront.IOrigin","@aws-cdk/aws-cloudfront.ViewerProtocolPolicy","@aws-cdk/aws-cloudfront.ViewerProtocolPolicy#REDIRECT_TO_HTTPS","@aws-cdk/aws-s3.IBucket","constructs.Construct"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// Create a Distribution with configured HTTP methods and viewer protocol policy of the cache.\ndeclare const myBucket: s3.Bucket;\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from 'constructs';\nimport { Duration, Stack } from '@aws-cdk/core';\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nimport * as origins from '@aws-cdk/aws-cloudfront-origins';\nimport * as s3 from '@aws-cdk/aws-s3';\nimport * as ec2 from '@aws-cdk/aws-ec2';\nimport * as elbv2 from '@aws-cdk/aws-elasticloadbalancingv2';\nimport * as lambda from '@aws-cdk/aws-lambda';\nimport * as path from 'path';\n\nclass Context extends Stack {\n  constructor(scope: Construct, id: string) {\n    super(scope, id);\n\n    // Code snippet begins after !show marker below\n/// !show\n\nconst myWebDistribution = new cloudfront.Distribution(this, 'myDist', {\n  defaultBehavior: {\n    origin: new origins.S3Origin(myBucket),\n    allowedMethods: cloudfront.AllowedMethods.ALLOW_ALL,\n    viewerProtocolPolicy: cloudfront.ViewerProtocolPolicy.REDIRECT_TO_HTTPS,\n  },\n});\n/// !hide\n// Code snippet ended before !hide marker above\n  }\n}\n","syntaxKindCounter":{"10":1,"75":19,"104":1,"130":1,"153":1,"169":1,"193":2,"194":6,"197":2,"225":2,"242":2,"243":2,"281":4,"290":1},"fqnsFingerprint":"50620db3ad080e54f01a59a38a6a5c8fb0c235dcdf48e49e85c101f75cb744ce"},"ee481812c9e0ba0fa7206118893206e3c448d74d688840df077d04a7086a15df":{"translations":{"python":{"source":"# Add a behavior to a Distribution after initial creation.\n# my_bucket: s3.Bucket\n# my_web_distribution: cloudfront.Distribution\n\nmy_web_distribution.add_behavior(\"/images/*.jpg\", origins.S3Origin(my_bucket),\n    viewer_protocol_policy=cloudfront.ViewerProtocolPolicy.REDIRECT_TO_HTTPS\n)","version":"2"},"csharp":{"source":"// Add a behavior to a Distribution after initial creation.\nBucket myBucket;\nDistribution myWebDistribution;\n\nmyWebDistribution.AddBehavior(\"/images/*.jpg\", new S3Origin(myBucket), new AddBehaviorOptions {\n    ViewerProtocolPolicy = ViewerProtocolPolicy.REDIRECT_TO_HTTPS\n});","version":"1"},"java":{"source":"// Add a behavior to a Distribution after initial creation.\nBucket myBucket;\nDistribution myWebDistribution;\n\nmyWebDistribution.addBehavior(\"/images/*.jpg\", new S3Origin(myBucket), AddBehaviorOptions.builder()\n        .viewerProtocolPolicy(ViewerProtocolPolicy.REDIRECT_TO_HTTPS)\n        .build());","version":"1"},"go":{"source":"// Add a behavior to a Distribution after initial creation.\nvar myBucket bucket\nvar myWebDistribution distribution\n\nmyWebDistribution.AddBehavior(jsii.String(\"/images/*.jpg\"), origins.NewS3Origin(myBucket), &AddBehaviorOptions{\n\tViewerProtocolPolicy: cloudfront.ViewerProtocolPolicy_REDIRECT_TO_HTTPS,\n})","version":"1"},"$":{"source":"// Add a behavior to a Distribution after initial creation.\ndeclare const myBucket: s3.Bucket;\ndeclare const myWebDistribution: cloudfront.Distribution;\nmyWebDistribution.addBehavior('/images/*.jpg', new origins.S3Origin(myBucket), {\n  viewerProtocolPolicy: cloudfront.ViewerProtocolPolicy.REDIRECT_TO_HTTPS,\n});","version":"0"}},"location":{"api":{"api":"moduleReadme","moduleFqn":"@aws-cdk/aws-cloudfront"},"field":{"field":"markdown","line":158}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront-origins.S3Origin","@aws-cdk/aws-cloudfront.AddBehaviorOptions","@aws-cdk/aws-cloudfront.Distribution#addBehavior","@aws-cdk/aws-cloudfront.IOrigin","@aws-cdk/aws-cloudfront.ViewerProtocolPolicy","@aws-cdk/aws-cloudfront.ViewerProtocolPolicy#REDIRECT_TO_HTTPS","@aws-cdk/aws-s3.IBucket"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// Add a behavior to a Distribution after initial creation.\ndeclare const myBucket: s3.Bucket;\ndeclare const myWebDistribution: cloudfront.Distribution;\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from 'constructs';\nimport { Duration, Stack } from '@aws-cdk/core';\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nimport * as origins from '@aws-cdk/aws-cloudfront-origins';\nimport * as s3 from '@aws-cdk/aws-s3';\nimport * as ec2 from '@aws-cdk/aws-ec2';\nimport * as elbv2 from '@aws-cdk/aws-elasticloadbalancingv2';\nimport * as lambda from '@aws-cdk/aws-lambda';\nimport * as path from 'path';\n\nclass Context extends Stack {\n  constructor(scope: Construct, id: string) {\n    super(scope, id);\n\n    // Code snippet begins after !show marker below\n/// !show\n\nmyWebDistribution.addBehavior('/images/*.jpg', new origins.S3Origin(myBucket), {\n  viewerProtocolPolicy: cloudfront.ViewerProtocolPolicy.REDIRECT_TO_HTTPS,\n});\n/// !hide\n// Code snippet ended before !hide marker above\n  }\n}\n","syntaxKindCounter":{"10":1,"75":15,"130":2,"153":2,"169":2,"193":1,"194":4,"196":1,"197":1,"225":2,"226":1,"242":2,"243":2,"281":1,"290":1},"fqnsFingerprint":"b9b3498bcb1a5ffdb7676e952efcc6329c8dc4456407e8b4e6f5a84fa87b77e9"},"3c209d169258e09da4dd7e751c2e8e6acfe3a0f7203538907d8ac233df5cdaed":{"translations":{"python":{"source":"# Create a Distribution with additional behaviors at creation time.\n# my_bucket: s3.Bucket\n\nbucket_origin = origins.S3Origin(my_bucket)\ncloudfront.Distribution(self, \"myDist\",\n    default_behavior=cloudfront.BehaviorOptions(\n        origin=bucket_origin,\n        allowed_methods=cloudfront.AllowedMethods.ALLOW_ALL,\n        viewer_protocol_policy=cloudfront.ViewerProtocolPolicy.REDIRECT_TO_HTTPS\n    ),\n    additional_behaviors={\n        \"/images/*.jpg\": cloudfront.BehaviorOptions(\n            origin=bucket_origin,\n            viewer_protocol_policy=cloudfront.ViewerProtocolPolicy.REDIRECT_TO_HTTPS\n        )\n    }\n)","version":"2"},"csharp":{"source":"// Create a Distribution with additional behaviors at creation time.\nBucket myBucket;\n\nvar bucketOrigin = new S3Origin(myBucket);\nnew Distribution(this, \"myDist\", new DistributionProps {\n    DefaultBehavior = new BehaviorOptions {\n        Origin = bucketOrigin,\n        AllowedMethods = AllowedMethods.ALLOW_ALL,\n        ViewerProtocolPolicy = ViewerProtocolPolicy.REDIRECT_TO_HTTPS\n    },\n    AdditionalBehaviors = new Dictionary<string, BehaviorOptions> {\n        { \"/images/*.jpg\", new BehaviorOptions {\n            Origin = bucketOrigin,\n            ViewerProtocolPolicy = ViewerProtocolPolicy.REDIRECT_TO_HTTPS\n        } }\n    }\n});","version":"1"},"java":{"source":"// Create a Distribution with additional behaviors at creation time.\nBucket myBucket;\n\nS3Origin bucketOrigin = new S3Origin(myBucket);\nDistribution.Builder.create(this, \"myDist\")\n        .defaultBehavior(BehaviorOptions.builder()\n                .origin(bucketOrigin)\n                .allowedMethods(AllowedMethods.ALLOW_ALL)\n                .viewerProtocolPolicy(ViewerProtocolPolicy.REDIRECT_TO_HTTPS)\n                .build())\n        .additionalBehaviors(Map.of(\n                \"/images/*.jpg\", BehaviorOptions.builder()\n                        .origin(bucketOrigin)\n                        .viewerProtocolPolicy(ViewerProtocolPolicy.REDIRECT_TO_HTTPS)\n                        .build()))\n        .build();","version":"1"},"go":{"source":"// Create a Distribution with additional behaviors at creation time.\nvar myBucket bucket\n\nbucketOrigin := origins.NewS3Origin(myBucket)\ncloudfront.NewDistribution(this, jsii.String(\"myDist\"), &DistributionProps{\n\tDefaultBehavior: &BehaviorOptions{\n\t\tOrigin: bucketOrigin,\n\t\tAllowedMethods: cloudfront.AllowedMethods_ALLOW_ALL(),\n\t\tViewerProtocolPolicy: cloudfront.ViewerProtocolPolicy_REDIRECT_TO_HTTPS,\n\t},\n\tAdditionalBehaviors: map[string]behaviorOptions{\n\t\t\"/images/*.jpg\": &behaviorOptions{\n\t\t\t\"origin\": bucketOrigin,\n\t\t\t\"viewerProtocolPolicy\": cloudfront.ViewerProtocolPolicy_REDIRECT_TO_HTTPS,\n\t\t},\n\t},\n})","version":"1"},"$":{"source":"// Create a Distribution with additional behaviors at creation time.\ndeclare const myBucket: s3.Bucket;\nconst bucketOrigin = new origins.S3Origin(myBucket);\nnew cloudfront.Distribution(this, 'myDist', {\n  defaultBehavior: {\n    origin: bucketOrigin,\n    allowedMethods: cloudfront.AllowedMethods.ALLOW_ALL,\n    viewerProtocolPolicy: cloudfront.ViewerProtocolPolicy.REDIRECT_TO_HTTPS,\n  },\n  additionalBehaviors: {\n    '/images/*.jpg': {\n      origin: bucketOrigin,\n      viewerProtocolPolicy: cloudfront.ViewerProtocolPolicy.REDIRECT_TO_HTTPS,\n    },\n  },\n});","version":"0"}},"location":{"api":{"api":"moduleReadme","moduleFqn":"@aws-cdk/aws-cloudfront"},"field":{"field":"markdown","line":169}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront-origins.S3Origin","@aws-cdk/aws-cloudfront.AllowedMethods","@aws-cdk/aws-cloudfront.AllowedMethods#ALLOW_ALL","@aws-cdk/aws-cloudfront.BehaviorOptions","@aws-cdk/aws-cloudfront.Distribution","@aws-cdk/aws-cloudfront.DistributionProps","@aws-cdk/aws-cloudfront.IOrigin","@aws-cdk/aws-cloudfront.ViewerProtocolPolicy","@aws-cdk/aws-cloudfront.ViewerProtocolPolicy#REDIRECT_TO_HTTPS","@aws-cdk/aws-s3.IBucket","constructs.Construct"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// Create a Distribution with additional behaviors at creation time.\ndeclare const myBucket: s3.Bucket;\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from 'constructs';\nimport { Duration, Stack } from '@aws-cdk/core';\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nimport * as origins from '@aws-cdk/aws-cloudfront-origins';\nimport * as s3 from '@aws-cdk/aws-s3';\nimport * as ec2 from '@aws-cdk/aws-ec2';\nimport * as elbv2 from '@aws-cdk/aws-elasticloadbalancingv2';\nimport * as lambda from '@aws-cdk/aws-lambda';\nimport * as path from 'path';\n\nclass Context extends Stack {\n  constructor(scope: Construct, id: string) {\n    super(scope, id);\n\n    // Code snippet begins after !show marker below\n/// !show\n\nconst bucketOrigin = new origins.S3Origin(myBucket);\nnew cloudfront.Distribution(this, 'myDist', {\n  defaultBehavior: {\n    origin: bucketOrigin,\n    allowedMethods: cloudfront.AllowedMethods.ALLOW_ALL,\n    viewerProtocolPolicy: cloudfront.ViewerProtocolPolicy.REDIRECT_TO_HTTPS,\n  },\n  additionalBehaviors: {\n    '/images/*.jpg': {\n      origin: bucketOrigin,\n      viewerProtocolPolicy: cloudfront.ViewerProtocolPolicy.REDIRECT_TO_HTTPS,\n    },\n  },\n});\n/// !hide\n// Code snippet ended before !hide marker above\n  }\n}\n","syntaxKindCounter":{"10":2,"75":27,"104":1,"130":1,"153":1,"169":1,"193":4,"194":8,"197":2,"225":2,"226":1,"242":2,"243":2,"281":8,"290":1},"fqnsFingerprint":"50620db3ad080e54f01a59a38a6a5c8fb0c235dcdf48e49e85c101f75cb744ce"},"160ef535872897af2c865f7d27f5730b5c555eb9d7fa69432177420b52092196":{"translations":{"python":{"source":"# Using an existing cache policy for a Distribution\n# bucket_origin: origins.S3Origin\n\ncloudfront.Distribution(self, \"myDistManagedPolicy\",\n    default_behavior=cloudfront.BehaviorOptions(\n        origin=bucket_origin,\n        cache_policy=cloudfront.CachePolicy.CACHING_OPTIMIZED\n    )\n)","version":"2"},"csharp":{"source":"// Using an existing cache policy for a Distribution\nS3Origin bucketOrigin;\n\nnew Distribution(this, \"myDistManagedPolicy\", new DistributionProps {\n    DefaultBehavior = new BehaviorOptions {\n        Origin = bucketOrigin,\n        CachePolicy = CachePolicy.CACHING_OPTIMIZED\n    }\n});","version":"1"},"java":{"source":"// Using an existing cache policy for a Distribution\nS3Origin bucketOrigin;\n\nDistribution.Builder.create(this, \"myDistManagedPolicy\")\n        .defaultBehavior(BehaviorOptions.builder()\n                .origin(bucketOrigin)\n                .cachePolicy(CachePolicy.CACHING_OPTIMIZED)\n                .build())\n        .build();","version":"1"},"go":{"source":"// Using an existing cache policy for a Distribution\nvar bucketOrigin s3Origin\n\ncloudfront.NewDistribution(this, jsii.String(\"myDistManagedPolicy\"), &DistributionProps{\n\tDefaultBehavior: &BehaviorOptions{\n\t\tOrigin: bucketOrigin,\n\t\tCachePolicy: cloudfront.CachePolicy_CACHING_OPTIMIZED(),\n\t},\n})","version":"1"},"$":{"source":"// Using an existing cache policy for a Distribution\ndeclare const bucketOrigin: origins.S3Origin;\nnew cloudfront.Distribution(this, 'myDistManagedPolicy', {\n  defaultBehavior: {\n    origin: bucketOrigin,\n    cachePolicy: cloudfront.CachePolicy.CACHING_OPTIMIZED,\n  },\n});","version":"0"}},"location":{"api":{"api":"moduleReadme","moduleFqn":"@aws-cdk/aws-cloudfront"},"field":{"field":"markdown","line":196}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.BehaviorOptions","@aws-cdk/aws-cloudfront.CachePolicy","@aws-cdk/aws-cloudfront.CachePolicy#CACHING_OPTIMIZED","@aws-cdk/aws-cloudfront.Distribution","@aws-cdk/aws-cloudfront.DistributionProps","@aws-cdk/aws-cloudfront.ICachePolicy","@aws-cdk/aws-cloudfront.IOrigin","constructs.Construct"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// Using an existing cache policy for a Distribution\ndeclare const bucketOrigin: origins.S3Origin;\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from 'constructs';\nimport { Duration, Stack } from '@aws-cdk/core';\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nimport * as origins from '@aws-cdk/aws-cloudfront-origins';\nimport * as s3 from '@aws-cdk/aws-s3';\nimport * as ec2 from '@aws-cdk/aws-ec2';\nimport * as elbv2 from '@aws-cdk/aws-elasticloadbalancingv2';\nimport * as lambda from '@aws-cdk/aws-lambda';\nimport * as path from 'path';\n\nclass Context extends Stack {\n  constructor(scope: Construct, id: string) {\n    super(scope, id);\n\n    // Code snippet begins after !show marker below\n/// !show\n\nnew cloudfront.Distribution(this, 'myDistManagedPolicy', {\n  defaultBehavior: {\n    origin: bucketOrigin,\n    cachePolicy: cloudfront.CachePolicy.CACHING_OPTIMIZED,\n  },\n});\n/// !hide\n// Code snippet ended before !hide marker above\n  }\n}\n","syntaxKindCounter":{"10":1,"75":12,"104":1,"130":1,"153":1,"169":1,"193":2,"194":3,"197":1,"225":1,"226":1,"242":1,"243":1,"281":3,"290":1},"fqnsFingerprint":"63646c469d057face3493b8b3fc84d3aec7e3b2e47c724b72cefb4aeaa70618b"},"08d6d241625c0a27be8c3d900148462ef0cc763ad7b076753f787479b5f95625":{"translations":{"python":{"source":"# Creating a custom cache policy for a Distribution -- all parameters optional\n# bucket_origin: origins.S3Origin\n\nmy_cache_policy = cloudfront.CachePolicy(self, \"myCachePolicy\",\n    cache_policy_name=\"MyPolicy\",\n    comment=\"A default policy\",\n    default_ttl=Duration.days(2),\n    min_ttl=Duration.minutes(1),\n    max_ttl=Duration.days(10),\n    cookie_behavior=cloudfront.CacheCookieBehavior.all(),\n    header_behavior=cloudfront.CacheHeaderBehavior.allow_list(\"X-CustomHeader\"),\n    query_string_behavior=cloudfront.CacheQueryStringBehavior.deny_list(\"username\"),\n    enable_accept_encoding_gzip=True,\n    enable_accept_encoding_brotli=True\n)\ncloudfront.Distribution(self, \"myDistCustomPolicy\",\n    default_behavior=cloudfront.BehaviorOptions(\n        origin=bucket_origin,\n        cache_policy=my_cache_policy\n    )\n)","version":"2"},"csharp":{"source":"// Creating a custom cache policy for a Distribution -- all parameters optional\nS3Origin bucketOrigin;\n\nvar myCachePolicy = new CachePolicy(this, \"myCachePolicy\", new CachePolicyProps {\n    CachePolicyName = \"MyPolicy\",\n    Comment = \"A default policy\",\n    DefaultTtl = Duration.Days(2),\n    MinTtl = Duration.Minutes(1),\n    MaxTtl = Duration.Days(10),\n    CookieBehavior = CacheCookieBehavior.All(),\n    HeaderBehavior = CacheHeaderBehavior.AllowList(\"X-CustomHeader\"),\n    QueryStringBehavior = CacheQueryStringBehavior.DenyList(\"username\"),\n    EnableAcceptEncodingGzip = true,\n    EnableAcceptEncodingBrotli = true\n});\nnew Distribution(this, \"myDistCustomPolicy\", new DistributionProps {\n    DefaultBehavior = new BehaviorOptions {\n        Origin = bucketOrigin,\n        CachePolicy = myCachePolicy\n    }\n});","version":"1"},"java":{"source":"// Creating a custom cache policy for a Distribution -- all parameters optional\nS3Origin bucketOrigin;\n\nCachePolicy myCachePolicy = CachePolicy.Builder.create(this, \"myCachePolicy\")\n        .cachePolicyName(\"MyPolicy\")\n        .comment(\"A default policy\")\n        .defaultTtl(Duration.days(2))\n        .minTtl(Duration.minutes(1))\n        .maxTtl(Duration.days(10))\n        .cookieBehavior(CacheCookieBehavior.all())\n        .headerBehavior(CacheHeaderBehavior.allowList(\"X-CustomHeader\"))\n        .queryStringBehavior(CacheQueryStringBehavior.denyList(\"username\"))\n        .enableAcceptEncodingGzip(true)\n        .enableAcceptEncodingBrotli(true)\n        .build();\nDistribution.Builder.create(this, \"myDistCustomPolicy\")\n        .defaultBehavior(BehaviorOptions.builder()\n                .origin(bucketOrigin)\n                .cachePolicy(myCachePolicy)\n                .build())\n        .build();","version":"1"},"go":{"source":"// Creating a custom cache policy for a Distribution -- all parameters optional\nvar bucketOrigin s3Origin\n\nmyCachePolicy := cloudfront.NewCachePolicy(this, jsii.String(\"myCachePolicy\"), &CachePolicyProps{\n\tCachePolicyName: jsii.String(\"MyPolicy\"),\n\tComment: jsii.String(\"A default policy\"),\n\tDefaultTtl: awscdkcore.Duration_Days(jsii.Number(2)),\n\tMinTtl: *awscdkcore.Duration_Minutes(jsii.Number(1)),\n\tMaxTtl: *awscdkcore.Duration_*Days(jsii.Number(10)),\n\tCookieBehavior: cloudfront.CacheCookieBehavior_All(),\n\tHeaderBehavior: cloudfront.CacheHeaderBehavior_AllowList(jsii.String(\"X-CustomHeader\")),\n\tQueryStringBehavior: cloudfront.CacheQueryStringBehavior_DenyList(jsii.String(\"username\")),\n\tEnableAcceptEncodingGzip: jsii.Boolean(true),\n\tEnableAcceptEncodingBrotli: jsii.Boolean(true),\n})\ncloudfront.NewDistribution(this, jsii.String(\"myDistCustomPolicy\"), &DistributionProps{\n\tDefaultBehavior: &BehaviorOptions{\n\t\tOrigin: bucketOrigin,\n\t\tCachePolicy: myCachePolicy,\n\t},\n})","version":"1"},"$":{"source":"// Creating a custom cache policy for a Distribution -- all parameters optional\ndeclare const bucketOrigin: origins.S3Origin;\nconst myCachePolicy = new cloudfront.CachePolicy(this, 'myCachePolicy', {\n  cachePolicyName: 'MyPolicy',\n  comment: 'A default policy',\n  defaultTtl: Duration.days(2),\n  minTtl: Duration.minutes(1),\n  maxTtl: Duration.days(10),\n  cookieBehavior: cloudfront.CacheCookieBehavior.all(),\n  headerBehavior: cloudfront.CacheHeaderBehavior.allowList('X-CustomHeader'),\n  queryStringBehavior: cloudfront.CacheQueryStringBehavior.denyList('username'),\n  enableAcceptEncodingGzip: true,\n  enableAcceptEncodingBrotli: true,\n});\nnew cloudfront.Distribution(this, 'myDistCustomPolicy', {\n  defaultBehavior: {\n    origin: bucketOrigin,\n    cachePolicy: myCachePolicy,\n  },\n});","version":"0"}},"location":{"api":{"api":"moduleReadme","moduleFqn":"@aws-cdk/aws-cloudfront"},"field":{"field":"markdown","line":207}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.BehaviorOptions","@aws-cdk/aws-cloudfront.CacheCookieBehavior","@aws-cdk/aws-cloudfront.CacheCookieBehavior#all","@aws-cdk/aws-cloudfront.CacheHeaderBehavior","@aws-cdk/aws-cloudfront.CacheHeaderBehavior#allowList","@aws-cdk/aws-cloudfront.CachePolicy","@aws-cdk/aws-cloudfront.CachePolicyProps","@aws-cdk/aws-cloudfront.CacheQueryStringBehavior","@aws-cdk/aws-cloudfront.CacheQueryStringBehavior#denyList","@aws-cdk/aws-cloudfront.Distribution","@aws-cdk/aws-cloudfront.DistributionProps","@aws-cdk/aws-cloudfront.ICachePolicy","@aws-cdk/aws-cloudfront.IOrigin","@aws-cdk/core.Duration","@aws-cdk/core.Duration#days","@aws-cdk/core.Duration#minutes","constructs.Construct"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// Creating a custom cache policy for a Distribution -- all parameters optional\ndeclare const bucketOrigin: origins.S3Origin;\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from 'constructs';\nimport { Duration, Stack } from '@aws-cdk/core';\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nimport * as origins from '@aws-cdk/aws-cloudfront-origins';\nimport * as s3 from '@aws-cdk/aws-s3';\nimport * as ec2 from '@aws-cdk/aws-ec2';\nimport * as elbv2 from '@aws-cdk/aws-elasticloadbalancingv2';\nimport * as lambda from '@aws-cdk/aws-lambda';\nimport * as path from 'path';\n\nclass Context extends Stack {\n  constructor(scope: Construct, id: string) {\n    super(scope, id);\n\n    // Code snippet begins after !show marker below\n/// !show\n\nconst myCachePolicy = new cloudfront.CachePolicy(this, 'myCachePolicy', {\n  cachePolicyName: 'MyPolicy',\n  comment: 'A default policy',\n  defaultTtl: Duration.days(2),\n  minTtl: Duration.minutes(1),\n  maxTtl: Duration.days(10),\n  cookieBehavior: cloudfront.CacheCookieBehavior.all(),\n  headerBehavior: cloudfront.CacheHeaderBehavior.allowList('X-CustomHeader'),\n  queryStringBehavior: cloudfront.CacheQueryStringBehavior.denyList('username'),\n  enableAcceptEncodingGzip: true,\n  enableAcceptEncodingBrotli: true,\n});\nnew cloudfront.Distribution(this, 'myDistCustomPolicy', {\n  defaultBehavior: {\n    origin: bucketOrigin,\n    cachePolicy: myCachePolicy,\n  },\n});\n/// !hide\n// Code snippet ended before !hide marker above\n  }\n}\n","syntaxKindCounter":{"8":3,"10":6,"75":38,"104":2,"106":2,"130":1,"153":1,"169":1,"193":3,"194":11,"196":6,"197":2,"225":2,"226":1,"242":2,"243":2,"281":13,"290":1},"fqnsFingerprint":"851e6039c3b10f9f5796b96b5a647776847d78c524a226036048783bcdc9df22"},"ffe3421a8c1a8ba18ce437e9871b55c1c73931deeec884d8eb294d1dac19d420":{"translations":{"python":{"source":"# Using an existing origin request policy for a Distribution\n# bucket_origin: origins.S3Origin\n\ncloudfront.Distribution(self, \"myDistManagedPolicy\",\n    default_behavior=cloudfront.BehaviorOptions(\n        origin=bucket_origin,\n        origin_request_policy=cloudfront.OriginRequestPolicy.CORS_S3_ORIGIN\n    )\n)","version":"2"},"csharp":{"source":"// Using an existing origin request policy for a Distribution\nS3Origin bucketOrigin;\n\nnew Distribution(this, \"myDistManagedPolicy\", new DistributionProps {\n    DefaultBehavior = new BehaviorOptions {\n        Origin = bucketOrigin,\n        OriginRequestPolicy = OriginRequestPolicy.CORS_S3_ORIGIN\n    }\n});","version":"1"},"java":{"source":"// Using an existing origin request policy for a Distribution\nS3Origin bucketOrigin;\n\nDistribution.Builder.create(this, \"myDistManagedPolicy\")\n        .defaultBehavior(BehaviorOptions.builder()\n                .origin(bucketOrigin)\n                .originRequestPolicy(OriginRequestPolicy.CORS_S3_ORIGIN)\n                .build())\n        .build();","version":"1"},"go":{"source":"// Using an existing origin request policy for a Distribution\nvar bucketOrigin s3Origin\n\ncloudfront.NewDistribution(this, jsii.String(\"myDistManagedPolicy\"), &DistributionProps{\n\tDefaultBehavior: &BehaviorOptions{\n\t\tOrigin: bucketOrigin,\n\t\tOriginRequestPolicy: cloudfront.OriginRequestPolicy_CORS_S3_ORIGIN(),\n\t},\n})","version":"1"},"$":{"source":"// Using an existing origin request policy for a Distribution\ndeclare const bucketOrigin: origins.S3Origin;\nnew cloudfront.Distribution(this, 'myDistManagedPolicy', {\n  defaultBehavior: {\n    origin: bucketOrigin,\n    originRequestPolicy: cloudfront.OriginRequestPolicy.CORS_S3_ORIGIN,\n  },\n});","version":"0"}},"location":{"api":{"api":"moduleReadme","moduleFqn":"@aws-cdk/aws-cloudfront"},"field":{"field":"markdown","line":239}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.BehaviorOptions","@aws-cdk/aws-cloudfront.Distribution","@aws-cdk/aws-cloudfront.DistributionProps","@aws-cdk/aws-cloudfront.IOrigin","@aws-cdk/aws-cloudfront.IOriginRequestPolicy","@aws-cdk/aws-cloudfront.OriginRequestPolicy","@aws-cdk/aws-cloudfront.OriginRequestPolicy#CORS_S3_ORIGIN","constructs.Construct"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// Using an existing origin request policy for a Distribution\ndeclare const bucketOrigin: origins.S3Origin;\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from 'constructs';\nimport { Duration, Stack } from '@aws-cdk/core';\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nimport * as origins from '@aws-cdk/aws-cloudfront-origins';\nimport * as s3 from '@aws-cdk/aws-s3';\nimport * as ec2 from '@aws-cdk/aws-ec2';\nimport * as elbv2 from '@aws-cdk/aws-elasticloadbalancingv2';\nimport * as lambda from '@aws-cdk/aws-lambda';\nimport * as path from 'path';\n\nclass Context extends Stack {\n  constructor(scope: Construct, id: string) {\n    super(scope, id);\n\n    // Code snippet begins after !show marker below\n/// !show\n\nnew cloudfront.Distribution(this, 'myDistManagedPolicy', {\n  defaultBehavior: {\n    origin: bucketOrigin,\n    originRequestPolicy: cloudfront.OriginRequestPolicy.CORS_S3_ORIGIN,\n  },\n});\n/// !hide\n// Code snippet ended before !hide marker above\n  }\n}\n","syntaxKindCounter":{"10":1,"75":12,"104":1,"130":1,"153":1,"169":1,"193":2,"194":3,"197":1,"225":1,"226":1,"242":1,"243":1,"281":3,"290":1},"fqnsFingerprint":"22707050c1349ad0b5deb3a9f2da316eac917ed5911941bc8551604ff6652d2c"},"34d891b0103ddd4e8a0d9994eacfe606a83eb36968d7665bb25a6209b0a12656":{"translations":{"python":{"source":"# Creating a custom origin request policy for a Distribution -- all parameters optional\n# bucket_origin: origins.S3Origin\n\nmy_origin_request_policy = cloudfront.OriginRequestPolicy(self, \"OriginRequestPolicy\",\n    origin_request_policy_name=\"MyPolicy\",\n    comment=\"A default policy\",\n    cookie_behavior=cloudfront.OriginRequestCookieBehavior.none(),\n    header_behavior=cloudfront.OriginRequestHeaderBehavior.all(\"CloudFront-Is-Android-Viewer\"),\n    query_string_behavior=cloudfront.OriginRequestQueryStringBehavior.allow_list(\"username\")\n)\n\ncloudfront.Distribution(self, \"myDistCustomPolicy\",\n    default_behavior=cloudfront.BehaviorOptions(\n        origin=bucket_origin,\n        origin_request_policy=my_origin_request_policy\n    )\n)","version":"2"},"csharp":{"source":"// Creating a custom origin request policy for a Distribution -- all parameters optional\nS3Origin bucketOrigin;\n\nvar myOriginRequestPolicy = new OriginRequestPolicy(this, \"OriginRequestPolicy\", new OriginRequestPolicyProps {\n    OriginRequestPolicyName = \"MyPolicy\",\n    Comment = \"A default policy\",\n    CookieBehavior = OriginRequestCookieBehavior.None(),\n    HeaderBehavior = OriginRequestHeaderBehavior.All(\"CloudFront-Is-Android-Viewer\"),\n    QueryStringBehavior = OriginRequestQueryStringBehavior.AllowList(\"username\")\n});\n\nnew Distribution(this, \"myDistCustomPolicy\", new DistributionProps {\n    DefaultBehavior = new BehaviorOptions {\n        Origin = bucketOrigin,\n        OriginRequestPolicy = myOriginRequestPolicy\n    }\n});","version":"1"},"java":{"source":"// Creating a custom origin request policy for a Distribution -- all parameters optional\nS3Origin bucketOrigin;\n\nOriginRequestPolicy myOriginRequestPolicy = OriginRequestPolicy.Builder.create(this, \"OriginRequestPolicy\")\n        .originRequestPolicyName(\"MyPolicy\")\n        .comment(\"A default policy\")\n        .cookieBehavior(OriginRequestCookieBehavior.none())\n        .headerBehavior(OriginRequestHeaderBehavior.all(\"CloudFront-Is-Android-Viewer\"))\n        .queryStringBehavior(OriginRequestQueryStringBehavior.allowList(\"username\"))\n        .build();\n\nDistribution.Builder.create(this, \"myDistCustomPolicy\")\n        .defaultBehavior(BehaviorOptions.builder()\n                .origin(bucketOrigin)\n                .originRequestPolicy(myOriginRequestPolicy)\n                .build())\n        .build();","version":"1"},"go":{"source":"// Creating a custom origin request policy for a Distribution -- all parameters optional\nvar bucketOrigin s3Origin\n\nmyOriginRequestPolicy := cloudfront.NewOriginRequestPolicy(this, jsii.String(\"OriginRequestPolicy\"), &OriginRequestPolicyProps{\n\tOriginRequestPolicyName: jsii.String(\"MyPolicy\"),\n\tComment: jsii.String(\"A default policy\"),\n\tCookieBehavior: cloudfront.OriginRequestCookieBehavior_None(),\n\tHeaderBehavior: cloudfront.OriginRequestHeaderBehavior_All(jsii.String(\"CloudFront-Is-Android-Viewer\")),\n\tQueryStringBehavior: cloudfront.OriginRequestQueryStringBehavior_AllowList(jsii.String(\"username\")),\n})\n\ncloudfront.NewDistribution(this, jsii.String(\"myDistCustomPolicy\"), &DistributionProps{\n\tDefaultBehavior: &BehaviorOptions{\n\t\tOrigin: bucketOrigin,\n\t\tOriginRequestPolicy: myOriginRequestPolicy,\n\t},\n})","version":"1"},"$":{"source":"// Creating a custom origin request policy for a Distribution -- all parameters optional\ndeclare const bucketOrigin: origins.S3Origin;\nconst myOriginRequestPolicy = new cloudfront.OriginRequestPolicy(this, 'OriginRequestPolicy', {\n  originRequestPolicyName: 'MyPolicy',\n  comment: 'A default policy',\n  cookieBehavior: cloudfront.OriginRequestCookieBehavior.none(),\n  headerBehavior: cloudfront.OriginRequestHeaderBehavior.all('CloudFront-Is-Android-Viewer'),\n  queryStringBehavior: cloudfront.OriginRequestQueryStringBehavior.allowList('username'),\n});\n\nnew cloudfront.Distribution(this, 'myDistCustomPolicy', {\n  defaultBehavior: {\n    origin: bucketOrigin,\n    originRequestPolicy: myOriginRequestPolicy,\n  },\n});","version":"0"}},"location":{"api":{"api":"moduleReadme","moduleFqn":"@aws-cdk/aws-cloudfront"},"field":{"field":"markdown","line":250}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.BehaviorOptions","@aws-cdk/aws-cloudfront.Distribution","@aws-cdk/aws-cloudfront.DistributionProps","@aws-cdk/aws-cloudfront.IOrigin","@aws-cdk/aws-cloudfront.IOriginRequestPolicy","@aws-cdk/aws-cloudfront.OriginRequestCookieBehavior","@aws-cdk/aws-cloudfront.OriginRequestCookieBehavior#none","@aws-cdk/aws-cloudfront.OriginRequestHeaderBehavior","@aws-cdk/aws-cloudfront.OriginRequestHeaderBehavior#all","@aws-cdk/aws-cloudfront.OriginRequestPolicy","@aws-cdk/aws-cloudfront.OriginRequestPolicyProps","@aws-cdk/aws-cloudfront.OriginRequestQueryStringBehavior","@aws-cdk/aws-cloudfront.OriginRequestQueryStringBehavior#allowList","constructs.Construct"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// Creating a custom origin request policy for a Distribution -- all parameters optional\ndeclare const bucketOrigin: origins.S3Origin;\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from 'constructs';\nimport { Duration, Stack } from '@aws-cdk/core';\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nimport * as origins from '@aws-cdk/aws-cloudfront-origins';\nimport * as s3 from '@aws-cdk/aws-s3';\nimport * as ec2 from '@aws-cdk/aws-ec2';\nimport * as elbv2 from '@aws-cdk/aws-elasticloadbalancingv2';\nimport * as lambda from '@aws-cdk/aws-lambda';\nimport * as path from 'path';\n\nclass Context extends Stack {\n  constructor(scope: Construct, id: string) {\n    super(scope, id);\n\n    // Code snippet begins after !show marker below\n/// !show\n\nconst myOriginRequestPolicy = new cloudfront.OriginRequestPolicy(this, 'OriginRequestPolicy', {\n  originRequestPolicyName: 'MyPolicy',\n  comment: 'A default policy',\n  cookieBehavior: cloudfront.OriginRequestCookieBehavior.none(),\n  headerBehavior: cloudfront.OriginRequestHeaderBehavior.all('CloudFront-Is-Android-Viewer'),\n  queryStringBehavior: cloudfront.OriginRequestQueryStringBehavior.allowList('username'),\n});\n\nnew cloudfront.Distribution(this, 'myDistCustomPolicy', {\n  defaultBehavior: {\n    origin: bucketOrigin,\n    originRequestPolicy: myOriginRequestPolicy,\n  },\n});\n/// !hide\n// Code snippet ended before !hide marker above\n  }\n}\n","syntaxKindCounter":{"10":6,"75":27,"104":2,"130":1,"153":1,"169":1,"193":3,"194":8,"196":3,"197":2,"225":2,"226":1,"242":2,"243":2,"281":8,"290":1},"fqnsFingerprint":"05968f9212199cb0b55a64aeb9510210d75a639e64dfcf91901cc1f201662d76"},"4e8538e36deaef58b5e374314b127f0cd32ef6e316c584e18cbc9c4ffcf5ff9d":{"translations":{"python":{"source":"# Using an existing managed response headers policy\n# bucket_origin: origins.S3Origin\n\ncloudfront.Distribution(self, \"myDistManagedPolicy\",\n    default_behavior=cloudfront.BehaviorOptions(\n        origin=bucket_origin,\n        response_headers_policy=cloudfront.ResponseHeadersPolicy.CORS_ALLOW_ALL_ORIGINS\n    )\n)\n\n# Creating a custom response headers policy -- all parameters optional\nmy_response_headers_policy = cloudfront.ResponseHeadersPolicy(self, \"ResponseHeadersPolicy\",\n    response_headers_policy_name=\"MyPolicy\",\n    comment=\"A default policy\",\n    cors_behavior=cloudfront.ResponseHeadersCorsBehavior(\n        access_control_allow_credentials=False,\n        access_control_allow_headers=[\"X-Custom-Header-1\", \"X-Custom-Header-2\"],\n        access_control_allow_methods=[\"GET\", \"POST\"],\n        access_control_allow_origins=[\"*\"],\n        access_control_expose_headers=[\"X-Custom-Header-1\", \"X-Custom-Header-2\"],\n        access_control_max_age=Duration.seconds(600),\n        origin_override=True\n    ),\n    custom_headers_behavior=cloudfront.ResponseCustomHeadersBehavior(\n        custom_headers=[cloudfront.ResponseCustomHeader(header=\"X-Amz-Date\", value=\"some-value\", override=True), cloudfront.ResponseCustomHeader(header=\"X-Amz-Security-Token\", value=\"some-value\", override=False)\n        ]\n    ),\n    security_headers_behavior=cloudfront.ResponseSecurityHeadersBehavior(\n        content_security_policy=cloudfront.ResponseHeadersContentSecurityPolicy(content_security_policy=\"default-src https:;\", override=True),\n        content_type_options=cloudfront.ResponseHeadersContentTypeOptions(override=True),\n        frame_options=cloudfront.ResponseHeadersFrameOptions(frame_option=cloudfront.HeadersFrameOption.DENY, override=True),\n        referrer_policy=cloudfront.ResponseHeadersReferrerPolicy(referrer_policy=cloudfront.HeadersReferrerPolicy.NO_REFERRER, override=True),\n        strict_transport_security=cloudfront.ResponseHeadersStrictTransportSecurity(access_control_max_age=Duration.seconds(600), include_subdomains=True, override=True),\n        xss_protection=cloudfront.ResponseHeadersXSSProtection(protection=True, mode_block=True, report_uri=\"https://example.com/csp-report\", override=True)\n    )\n)\ncloudfront.Distribution(self, \"myDistCustomPolicy\",\n    default_behavior=cloudfront.BehaviorOptions(\n        origin=bucket_origin,\n        response_headers_policy=my_response_headers_policy\n    )\n)","version":"2"},"csharp":{"source":"// Using an existing managed response headers policy\nS3Origin bucketOrigin;\n\nnew Distribution(this, \"myDistManagedPolicy\", new DistributionProps {\n    DefaultBehavior = new BehaviorOptions {\n        Origin = bucketOrigin,\n        ResponseHeadersPolicy = ResponseHeadersPolicy.CORS_ALLOW_ALL_ORIGINS\n    }\n});\n\n// Creating a custom response headers policy -- all parameters optional\nvar myResponseHeadersPolicy = new ResponseHeadersPolicy(this, \"ResponseHeadersPolicy\", new ResponseHeadersPolicyProps {\n    ResponseHeadersPolicyName = \"MyPolicy\",\n    Comment = \"A default policy\",\n    CorsBehavior = new ResponseHeadersCorsBehavior {\n        AccessControlAllowCredentials = false,\n        AccessControlAllowHeaders = new [] { \"X-Custom-Header-1\", \"X-Custom-Header-2\" },\n        AccessControlAllowMethods = new [] { \"GET\", \"POST\" },\n        AccessControlAllowOrigins = new [] { \"*\" },\n        AccessControlExposeHeaders = new [] { \"X-Custom-Header-1\", \"X-Custom-Header-2\" },\n        AccessControlMaxAge = Duration.Seconds(600),\n        OriginOverride = true\n    },\n    CustomHeadersBehavior = new ResponseCustomHeadersBehavior {\n        CustomHeaders = new [] { new ResponseCustomHeader { Header = \"X-Amz-Date\", Value = \"some-value\", Override = true }, new ResponseCustomHeader { Header = \"X-Amz-Security-Token\", Value = \"some-value\", Override = false } }\n    },\n    SecurityHeadersBehavior = new ResponseSecurityHeadersBehavior {\n        ContentSecurityPolicy = new ResponseHeadersContentSecurityPolicy { ContentSecurityPolicy = \"default-src https:;\", Override = true },\n        ContentTypeOptions = new ResponseHeadersContentTypeOptions { Override = true },\n        FrameOptions = new ResponseHeadersFrameOptions { FrameOption = HeadersFrameOption.DENY, Override = true },\n        ReferrerPolicy = new ResponseHeadersReferrerPolicy { ReferrerPolicy = HeadersReferrerPolicy.NO_REFERRER, Override = true },\n        StrictTransportSecurity = new ResponseHeadersStrictTransportSecurity { AccessControlMaxAge = Duration.Seconds(600), IncludeSubdomains = true, Override = true },\n        XssProtection = new ResponseHeadersXSSProtection { Protection = true, ModeBlock = true, ReportUri = \"https://example.com/csp-report\", Override = true }\n    }\n});\nnew Distribution(this, \"myDistCustomPolicy\", new DistributionProps {\n    DefaultBehavior = new BehaviorOptions {\n        Origin = bucketOrigin,\n        ResponseHeadersPolicy = myResponseHeadersPolicy\n    }\n});","version":"1"},"java":{"source":"// Using an existing managed response headers policy\nS3Origin bucketOrigin;\n\nDistribution.Builder.create(this, \"myDistManagedPolicy\")\n        .defaultBehavior(BehaviorOptions.builder()\n                .origin(bucketOrigin)\n                .responseHeadersPolicy(ResponseHeadersPolicy.CORS_ALLOW_ALL_ORIGINS)\n                .build())\n        .build();\n\n// Creating a custom response headers policy -- all parameters optional\nResponseHeadersPolicy myResponseHeadersPolicy = ResponseHeadersPolicy.Builder.create(this, \"ResponseHeadersPolicy\")\n        .responseHeadersPolicyName(\"MyPolicy\")\n        .comment(\"A default policy\")\n        .corsBehavior(ResponseHeadersCorsBehavior.builder()\n                .accessControlAllowCredentials(false)\n                .accessControlAllowHeaders(List.of(\"X-Custom-Header-1\", \"X-Custom-Header-2\"))\n                .accessControlAllowMethods(List.of(\"GET\", \"POST\"))\n                .accessControlAllowOrigins(List.of(\"*\"))\n                .accessControlExposeHeaders(List.of(\"X-Custom-Header-1\", \"X-Custom-Header-2\"))\n                .accessControlMaxAge(Duration.seconds(600))\n                .originOverride(true)\n                .build())\n        .customHeadersBehavior(ResponseCustomHeadersBehavior.builder()\n                .customHeaders(List.of(ResponseCustomHeader.builder().header(\"X-Amz-Date\").value(\"some-value\").override(true).build(), ResponseCustomHeader.builder().header(\"X-Amz-Security-Token\").value(\"some-value\").override(false).build()))\n                .build())\n        .securityHeadersBehavior(ResponseSecurityHeadersBehavior.builder()\n                .contentSecurityPolicy(ResponseHeadersContentSecurityPolicy.builder().contentSecurityPolicy(\"default-src https:;\").override(true).build())\n                .contentTypeOptions(ResponseHeadersContentTypeOptions.builder().override(true).build())\n                .frameOptions(ResponseHeadersFrameOptions.builder().frameOption(HeadersFrameOption.DENY).override(true).build())\n                .referrerPolicy(ResponseHeadersReferrerPolicy.builder().referrerPolicy(HeadersReferrerPolicy.NO_REFERRER).override(true).build())\n                .strictTransportSecurity(ResponseHeadersStrictTransportSecurity.builder().accessControlMaxAge(Duration.seconds(600)).includeSubdomains(true).override(true).build())\n                .xssProtection(ResponseHeadersXSSProtection.builder().protection(true).modeBlock(true).reportUri(\"https://example.com/csp-report\").override(true).build())\n                .build())\n        .build();\nDistribution.Builder.create(this, \"myDistCustomPolicy\")\n        .defaultBehavior(BehaviorOptions.builder()\n                .origin(bucketOrigin)\n                .responseHeadersPolicy(myResponseHeadersPolicy)\n                .build())\n        .build();","version":"1"},"go":{"source":"// Using an existing managed response headers policy\nvar bucketOrigin s3Origin\n\ncloudfront.NewDistribution(this, jsii.String(\"myDistManagedPolicy\"), &DistributionProps{\n\tDefaultBehavior: &BehaviorOptions{\n\t\tOrigin: bucketOrigin,\n\t\tResponseHeadersPolicy: cloudfront.ResponseHeadersPolicy_CORS_ALLOW_ALL_ORIGINS(),\n\t},\n})\n\n// Creating a custom response headers policy -- all parameters optional\nmyResponseHeadersPolicy := cloudfront.NewResponseHeadersPolicy(this, jsii.String(\"ResponseHeadersPolicy\"), &ResponseHeadersPolicyProps{\n\tResponseHeadersPolicyName: jsii.String(\"MyPolicy\"),\n\tComment: jsii.String(\"A default policy\"),\n\tCorsBehavior: &ResponseHeadersCorsBehavior{\n\t\tAccessControlAllowCredentials: jsii.Boolean(false),\n\t\tAccessControlAllowHeaders: []*string{\n\t\t\tjsii.String(\"X-Custom-Header-1\"),\n\t\t\tjsii.String(\"X-Custom-Header-2\"),\n\t\t},\n\t\tAccessControlAllowMethods: []*string{\n\t\t\tjsii.String(\"GET\"),\n\t\t\tjsii.String(\"POST\"),\n\t\t},\n\t\tAccessControlAllowOrigins: []*string{\n\t\t\tjsii.String(\"*\"),\n\t\t},\n\t\tAccessControlExposeHeaders: []*string{\n\t\t\tjsii.String(\"X-Custom-Header-1\"),\n\t\t\tjsii.String(\"X-Custom-Header-2\"),\n\t\t},\n\t\tAccessControlMaxAge: awscdkcore.Duration_Seconds(jsii.Number(600)),\n\t\tOriginOverride: jsii.Boolean(true),\n\t},\n\tCustomHeadersBehavior: &ResponseCustomHeadersBehavior{\n\t\tCustomHeaders: []responseCustomHeader{\n\t\t\t&responseCustomHeader{\n\t\t\t\tHeader: jsii.String(\"X-Amz-Date\"),\n\t\t\t\tValue: jsii.String(\"some-value\"),\n\t\t\t\tOverride: jsii.Boolean(true),\n\t\t\t},\n\t\t\t&responseCustomHeader{\n\t\t\t\tHeader: jsii.String(\"X-Amz-Security-Token\"),\n\t\t\t\tValue: jsii.String(\"some-value\"),\n\t\t\t\tOverride: jsii.Boolean(false),\n\t\t\t},\n\t\t},\n\t},\n\tSecurityHeadersBehavior: &ResponseSecurityHeadersBehavior{\n\t\tContentSecurityPolicy: &ResponseHeadersContentSecurityPolicy{\n\t\t\tContentSecurityPolicy: jsii.String(\"default-src https:;\"),\n\t\t\tOverride: jsii.Boolean(true),\n\t\t},\n\t\tContentTypeOptions: &ResponseHeadersContentTypeOptions{\n\t\t\tOverride: jsii.Boolean(true),\n\t\t},\n\t\tFrameOptions: &ResponseHeadersFrameOptions{\n\t\t\tFrameOption: cloudfront.HeadersFrameOption_DENY,\n\t\t\tOverride: jsii.Boolean(true),\n\t\t},\n\t\tReferrerPolicy: &ResponseHeadersReferrerPolicy{\n\t\t\tReferrerPolicy: cloudfront.HeadersReferrerPolicy_NO_REFERRER,\n\t\t\tOverride: jsii.Boolean(true),\n\t\t},\n\t\tStrictTransportSecurity: &ResponseHeadersStrictTransportSecurity{\n\t\t\tAccessControlMaxAge: *awscdkcore.Duration_*Seconds(jsii.Number(600)),\n\t\t\tIncludeSubdomains: jsii.Boolean(true),\n\t\t\tOverride: jsii.Boolean(true),\n\t\t},\n\t\tXssProtection: &ResponseHeadersXSSProtection{\n\t\t\tProtection: jsii.Boolean(true),\n\t\t\tModeBlock: jsii.Boolean(true),\n\t\t\tReportUri: jsii.String(\"https://example.com/csp-report\"),\n\t\t\tOverride: jsii.Boolean(true),\n\t\t},\n\t},\n})\ncloudfront.NewDistribution(this, jsii.String(\"myDistCustomPolicy\"), &DistributionProps{\n\tDefaultBehavior: &BehaviorOptions{\n\t\tOrigin: bucketOrigin,\n\t\tResponseHeadersPolicy: myResponseHeadersPolicy,\n\t},\n})","version":"1"},"$":{"source":"// Using an existing managed response headers policy\ndeclare const bucketOrigin: origins.S3Origin;\nnew cloudfront.Distribution(this, 'myDistManagedPolicy', {\n  defaultBehavior: {\n    origin: bucketOrigin,\n    responseHeadersPolicy: cloudfront.ResponseHeadersPolicy.CORS_ALLOW_ALL_ORIGINS,\n  },\n});\n\n// Creating a custom response headers policy -- all parameters optional\nconst myResponseHeadersPolicy = new cloudfront.ResponseHeadersPolicy(this, 'ResponseHeadersPolicy', {\n  responseHeadersPolicyName: 'MyPolicy',\n  comment: 'A default policy',\n  corsBehavior: {\n    accessControlAllowCredentials: false,\n    accessControlAllowHeaders: ['X-Custom-Header-1', 'X-Custom-Header-2'],\n    accessControlAllowMethods: ['GET', 'POST'],\n    accessControlAllowOrigins: ['*'],\n    accessControlExposeHeaders: ['X-Custom-Header-1', 'X-Custom-Header-2'],\n    accessControlMaxAge: Duration.seconds(600),\n    originOverride: true,\n  },\n  customHeadersBehavior: {\n    customHeaders: [\n      { header: 'X-Amz-Date', value: 'some-value', override: true },\n      { header: 'X-Amz-Security-Token', value: 'some-value', override: false },\n    ],\n  },\n  securityHeadersBehavior: {\n    contentSecurityPolicy: { contentSecurityPolicy: 'default-src https:;', override: true },\n    contentTypeOptions: { override: true },\n    frameOptions: { frameOption: cloudfront.HeadersFrameOption.DENY, override: true },\n    referrerPolicy: { referrerPolicy: cloudfront.HeadersReferrerPolicy.NO_REFERRER, override: true },\n    strictTransportSecurity: { accessControlMaxAge: Duration.seconds(600), includeSubdomains: true, override: true },\n    xssProtection: { protection: true, modeBlock: true, reportUri: 'https://example.com/csp-report', override: true },\n  },\n});\nnew cloudfront.Distribution(this, 'myDistCustomPolicy', {\n  defaultBehavior: {\n    origin: bucketOrigin,\n    responseHeadersPolicy: myResponseHeadersPolicy,\n  },\n});","version":"0"}},"location":{"api":{"api":"moduleReadme","moduleFqn":"@aws-cdk/aws-cloudfront"},"field":{"field":"markdown","line":275}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.BehaviorOptions","@aws-cdk/aws-cloudfront.Distribution","@aws-cdk/aws-cloudfront.DistributionProps","@aws-cdk/aws-cloudfront.HeadersFrameOption","@aws-cdk/aws-cloudfront.HeadersFrameOption#DENY","@aws-cdk/aws-cloudfront.HeadersReferrerPolicy","@aws-cdk/aws-cloudfront.HeadersReferrerPolicy#NO_REFERRER","@aws-cdk/aws-cloudfront.IOrigin","@aws-cdk/aws-cloudfront.IResponseHeadersPolicy","@aws-cdk/aws-cloudfront.ResponseCustomHeadersBehavior","@aws-cdk/aws-cloudfront.ResponseHeadersContentSecurityPolicy","@aws-cdk/aws-cloudfront.ResponseHeadersContentTypeOptions","@aws-cdk/aws-cloudfront.ResponseHeadersCorsBehavior","@aws-cdk/aws-cloudfront.ResponseHeadersFrameOptions","@aws-cdk/aws-cloudfront.ResponseHeadersPolicy","@aws-cdk/aws-cloudfront.ResponseHeadersPolicy#CORS_ALLOW_ALL_ORIGINS","@aws-cdk/aws-cloudfront.ResponseHeadersPolicyProps","@aws-cdk/aws-cloudfront.ResponseHeadersReferrerPolicy","@aws-cdk/aws-cloudfront.ResponseHeadersStrictTransportSecurity","@aws-cdk/aws-cloudfront.ResponseHeadersXSSProtection","@aws-cdk/aws-cloudfront.ResponseSecurityHeadersBehavior","@aws-cdk/core.Duration","@aws-cdk/core.Duration#seconds","constructs.Construct"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// Using an existing managed response headers policy\ndeclare const bucketOrigin: origins.S3Origin;\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from 'constructs';\nimport { Duration, Stack } from '@aws-cdk/core';\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nimport * as origins from '@aws-cdk/aws-cloudfront-origins';\nimport * as s3 from '@aws-cdk/aws-s3';\nimport * as ec2 from '@aws-cdk/aws-ec2';\nimport * as elbv2 from '@aws-cdk/aws-elasticloadbalancingv2';\nimport * as lambda from '@aws-cdk/aws-lambda';\nimport * as path from 'path';\n\nclass Context extends Stack {\n  constructor(scope: Construct, id: string) {\n    super(scope, id);\n\n    // Code snippet begins after !show marker below\n/// !show\n\nnew cloudfront.Distribution(this, 'myDistManagedPolicy', {\n  defaultBehavior: {\n    origin: bucketOrigin,\n    responseHeadersPolicy: cloudfront.ResponseHeadersPolicy.CORS_ALLOW_ALL_ORIGINS,\n  },\n});\n\n// Creating a custom response headers policy -- all parameters optional\nconst myResponseHeadersPolicy = new cloudfront.ResponseHeadersPolicy(this, 'ResponseHeadersPolicy', {\n  responseHeadersPolicyName: 'MyPolicy',\n  comment: 'A default policy',\n  corsBehavior: {\n    accessControlAllowCredentials: false,\n    accessControlAllowHeaders: ['X-Custom-Header-1', 'X-Custom-Header-2'],\n    accessControlAllowMethods: ['GET', 'POST'],\n    accessControlAllowOrigins: ['*'],\n    accessControlExposeHeaders: ['X-Custom-Header-1', 'X-Custom-Header-2'],\n    accessControlMaxAge: Duration.seconds(600),\n    originOverride: true,\n  },\n  customHeadersBehavior: {\n    customHeaders: [\n      { header: 'X-Amz-Date', value: 'some-value', override: true },\n      { header: 'X-Amz-Security-Token', value: 'some-value', override: false },\n    ],\n  },\n  securityHeadersBehavior: {\n    contentSecurityPolicy: { contentSecurityPolicy: 'default-src https:;', override: true },\n    contentTypeOptions: { override: true },\n    frameOptions: { frameOption: cloudfront.HeadersFrameOption.DENY, override: true },\n    referrerPolicy: { referrerPolicy: cloudfront.HeadersReferrerPolicy.NO_REFERRER, override: true },\n    strictTransportSecurity: { accessControlMaxAge: Duration.seconds(600), includeSubdomains: true, override: true },\n    xssProtection: { protection: true, modeBlock: true, reportUri: 'https://example.com/csp-report', override: true },\n  },\n});\nnew cloudfront.Distribution(this, 'myDistCustomPolicy', {\n  defaultBehavior: {\n    origin: bucketOrigin,\n    responseHeadersPolicy: myResponseHeadersPolicy,\n  },\n});\n/// !hide\n// Code snippet ended before !hide marker above\n  }\n}\n","syntaxKindCounter":{"8":2,"10":18,"75":71,"91":2,"104":3,"106":11,"130":1,"153":1,"169":1,"192":5,"193":16,"194":11,"196":2,"197":3,"225":2,"226":2,"242":2,"243":2,"281":45,"290":1},"fqnsFingerprint":"de7c89c01af6e4d1c64703e7256d7328023b8aa2e9f1257ee5a6f6ff30b30710"},"bb2366809c65054044c134b74d7a56ed027185b2ec1ae9889a42a21c4280df99":{"translations":{"python":{"source":"# Validating signed URLs or signed cookies with Trusted Key Groups\n\n# public key in PEM format\n# public_key: str\n\npub_key = cloudfront.PublicKey(self, \"MyPubKey\",\n    encoded_key=public_key\n)\n\nkey_group = cloudfront.KeyGroup(self, \"MyKeyGroup\",\n    items=[pub_key\n    ]\n)\n\ncloudfront.Distribution(self, \"Dist\",\n    default_behavior=cloudfront.BehaviorOptions(\n        origin=origins.HttpOrigin(\"www.example.com\"),\n        trusted_key_groups=[key_group\n        ]\n    )\n)","version":"2"},"csharp":{"source":"// Validating signed URLs or signed cookies with Trusted Key Groups\n\n// public key in PEM format\nstring publicKey;\n\nvar pubKey = new PublicKey(this, \"MyPubKey\", new PublicKeyProps {\n    EncodedKey = publicKey\n});\n\nvar keyGroup = new KeyGroup(this, \"MyKeyGroup\", new KeyGroupProps {\n    Items = new [] { pubKey }\n});\n\nnew Distribution(this, \"Dist\", new DistributionProps {\n    DefaultBehavior = new BehaviorOptions {\n        Origin = new HttpOrigin(\"www.example.com\"),\n        TrustedKeyGroups = new [] { keyGroup }\n    }\n});","version":"1"},"java":{"source":"// Validating signed URLs or signed cookies with Trusted Key Groups\n\n// public key in PEM format\nString publicKey;\n\nPublicKey pubKey = PublicKey.Builder.create(this, \"MyPubKey\")\n        .encodedKey(publicKey)\n        .build();\n\nKeyGroup keyGroup = KeyGroup.Builder.create(this, \"MyKeyGroup\")\n        .items(List.of(pubKey))\n        .build();\n\nDistribution.Builder.create(this, \"Dist\")\n        .defaultBehavior(BehaviorOptions.builder()\n                .origin(new HttpOrigin(\"www.example.com\"))\n                .trustedKeyGroups(List.of(keyGroup))\n                .build())\n        .build();","version":"1"},"go":{"source":"// Validating signed URLs or signed cookies with Trusted Key Groups\n\n// public key in PEM format\nvar publicKey string\n\npubKey := cloudfront.NewPublicKey(this, jsii.String(\"MyPubKey\"), &PublicKeyProps{\n\tEncodedKey: publicKey,\n})\n\nkeyGroup := cloudfront.NewKeyGroup(this, jsii.String(\"MyKeyGroup\"), &KeyGroupProps{\n\tItems: []iPublicKey{\n\t\tpubKey,\n\t},\n})\n\ncloudfront.NewDistribution(this, jsii.String(\"Dist\"), &DistributionProps{\n\tDefaultBehavior: &BehaviorOptions{\n\t\tOrigin: origins.NewHttpOrigin(jsii.String(\"www.example.com\")),\n\t\tTrustedKeyGroups: []iKeyGroup{\n\t\t\tkeyGroup,\n\t\t},\n\t},\n})","version":"1"},"$":{"source":"// Validating signed URLs or signed cookies with Trusted Key Groups\n\n// public key in PEM format\ndeclare const publicKey: string;\nconst pubKey = new cloudfront.PublicKey(this, 'MyPubKey', {\n  encodedKey: publicKey,\n});\n\nconst keyGroup = new cloudfront.KeyGroup(this, 'MyKeyGroup', {\n  items: [\n    pubKey,\n  ],\n});\n\nnew cloudfront.Distribution(this, 'Dist', {\n  defaultBehavior: {\n    origin: new origins.HttpOrigin('www.example.com'),\n    trustedKeyGroups: [\n      keyGroup,\n    ],\n  },\n});","version":"0"}},"location":{"api":{"api":"moduleReadme","moduleFqn":"@aws-cdk/aws-cloudfront"},"field":{"field":"markdown","line":327}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront-origins.HttpOrigin","@aws-cdk/aws-cloudfront.BehaviorOptions","@aws-cdk/aws-cloudfront.Distribution","@aws-cdk/aws-cloudfront.DistributionProps","@aws-cdk/aws-cloudfront.IOrigin","@aws-cdk/aws-cloudfront.KeyGroup","@aws-cdk/aws-cloudfront.KeyGroupProps","@aws-cdk/aws-cloudfront.PublicKey","@aws-cdk/aws-cloudfront.PublicKeyProps","constructs.Construct"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// Validating signed URLs or signed cookies with Trusted Key Groups\n\n// public key in PEM format\ndeclare const publicKey: string;\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from 'constructs';\nimport { Duration, Stack } from '@aws-cdk/core';\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nimport * as origins from '@aws-cdk/aws-cloudfront-origins';\nimport * as s3 from '@aws-cdk/aws-s3';\nimport * as ec2 from '@aws-cdk/aws-ec2';\nimport * as elbv2 from '@aws-cdk/aws-elasticloadbalancingv2';\nimport * as lambda from '@aws-cdk/aws-lambda';\nimport * as path from 'path';\n\nclass Context extends Stack {\n  constructor(scope: Construct, id: string) {\n    super(scope, id);\n\n    // Code snippet begins after !show marker below\n/// !show\n\nconst pubKey = new cloudfront.PublicKey(this, 'MyPubKey', {\n  encodedKey: publicKey,\n});\n\nconst keyGroup = new cloudfront.KeyGroup(this, 'MyKeyGroup', {\n  items: [\n    pubKey,\n  ],\n});\n\nnew cloudfront.Distribution(this, 'Dist', {\n  defaultBehavior: {\n    origin: new origins.HttpOrigin('www.example.com'),\n    trustedKeyGroups: [\n      keyGroup,\n    ],\n  },\n});\n/// !hide\n// Code snippet ended before !hide marker above\n  }\n}\n","syntaxKindCounter":{"10":4,"75":19,"104":3,"130":1,"143":1,"192":2,"193":4,"194":4,"197":4,"225":3,"226":1,"242":3,"243":3,"281":5,"290":1},"fqnsFingerprint":"3ad307a97cef2618550323674a3aca38ac179d755c6f984025a53a1d879abe6a"},"bdf94de411da6dadcbbc912092e60175db02b8b1bccac5129fd6212c5f72f9ab":{"translations":{"python":{"source":"# my_bucket: s3.Bucket\n# A Lambda@Edge function added to default behavior of a Distribution\n# and triggered on every request\nmy_func = cloudfront.experimental.EdgeFunction(self, \"MyFunction\",\n    runtime=lambda_.Runtime.NODEJS_14_X,\n    handler=\"index.handler\",\n    code=lambda_.Code.from_asset(path.join(__dirname, \"lambda-handler\"))\n)\ncloudfront.Distribution(self, \"myDist\",\n    default_behavior=cloudfront.BehaviorOptions(\n        origin=origins.S3Origin(my_bucket),\n        edge_lambdas=[cloudfront.EdgeLambda(\n            function_version=my_func.current_version,\n            event_type=cloudfront.LambdaEdgeEventType.VIEWER_REQUEST\n        )\n        ]\n    )\n)","version":"2"},"csharp":{"source":"Bucket myBucket;\n// A Lambda@Edge function added to default behavior of a Distribution\n// and triggered on every request\nvar myFunc = new Experimental.EdgeFunction(this, \"MyFunction\", new EdgeFunctionProps {\n    Runtime = Runtime.NODEJS_14_X,\n    Handler = \"index.handler\",\n    Code = Code.FromAsset(Join(__dirname, \"lambda-handler\"))\n});\nnew Distribution(this, \"myDist\", new DistributionProps {\n    DefaultBehavior = new BehaviorOptions {\n        Origin = new S3Origin(myBucket),\n        EdgeLambdas = new [] { new EdgeLambda {\n            FunctionVersion = myFunc.CurrentVersion,\n            EventType = LambdaEdgeEventType.VIEWER_REQUEST\n        } }\n    }\n});","version":"1"},"java":{"source":"Bucket myBucket;\n// A Lambda@Edge function added to default behavior of a Distribution\n// and triggered on every request\nEdgeFunction myFunc = EdgeFunction.Builder.create(this, \"MyFunction\")\n        .runtime(Runtime.NODEJS_14_X)\n        .handler(\"index.handler\")\n        .code(Code.fromAsset(join(__dirname, \"lambda-handler\")))\n        .build();\nDistribution.Builder.create(this, \"myDist\")\n        .defaultBehavior(BehaviorOptions.builder()\n                .origin(new S3Origin(myBucket))\n                .edgeLambdas(List.of(EdgeLambda.builder()\n                        .functionVersion(myFunc.getCurrentVersion())\n                        .eventType(LambdaEdgeEventType.VIEWER_REQUEST)\n                        .build()))\n                .build())\n        .build();","version":"1"},"go":{"source":"var myBucket bucket\n// A Lambda@Edge function added to default behavior of a Distribution\n// and triggered on every request\nmyFunc := experimental.NewEdgeFunction(this, jsii.String(\"MyFunction\"), &EdgeFunctionProps{\n\tRuntime: lambda.Runtime_NODEJS_14_X(),\n\tHandler: jsii.String(\"index.handler\"),\n\tCode: lambda.Code_FromAsset(path.join(__dirname, jsii.String(\"lambda-handler\"))),\n})\ncloudfront.NewDistribution(this, jsii.String(\"myDist\"), &DistributionProps{\n\tDefaultBehavior: &BehaviorOptions{\n\t\tOrigin: origins.NewS3Origin(myBucket),\n\t\tEdgeLambdas: []edgeLambda{\n\t\t\t&edgeLambda{\n\t\t\t\tFunctionVersion: myFunc.currentVersion,\n\t\t\t\tEventType: cloudfront.LambdaEdgeEventType_VIEWER_REQUEST,\n\t\t\t},\n\t\t},\n\t},\n})","version":"1"},"$":{"source":"// A Lambda@Edge function added to default behavior of a Distribution\n// and triggered on every request\nconst myFunc = new cloudfront.experimental.EdgeFunction(this, 'MyFunction', {\n  runtime: lambda.Runtime.NODEJS_14_X,\n  handler: 'index.handler',\n  code: lambda.Code.fromAsset(path.join(__dirname, 'lambda-handler')),\n});\n\ndeclare const myBucket: s3.Bucket;\nnew cloudfront.Distribution(this, 'myDist', {\n  defaultBehavior: {\n    origin: new origins.S3Origin(myBucket),\n    edgeLambdas: [\n      {\n        functionVersion: myFunc.currentVersion,\n        eventType: cloudfront.LambdaEdgeEventType.VIEWER_REQUEST,\n      }\n    ],\n  },\n});","version":"0"}},"location":{"api":{"api":"moduleReadme","moduleFqn":"@aws-cdk/aws-cloudfront"},"field":{"field":"markdown","line":365}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront-origins.S3Origin","@aws-cdk/aws-cloudfront.BehaviorOptions","@aws-cdk/aws-cloudfront.Distribution","@aws-cdk/aws-cloudfront.DistributionProps","@aws-cdk/aws-cloudfront.IOrigin","@aws-cdk/aws-cloudfront.LambdaEdgeEventType","@aws-cdk/aws-cloudfront.LambdaEdgeEventType#VIEWER_REQUEST","@aws-cdk/aws-cloudfront.experimental","@aws-cdk/aws-cloudfront.experimental.EdgeFunction","@aws-cdk/aws-cloudfront.experimental.EdgeFunctionProps","@aws-cdk/aws-lambda.Code","@aws-cdk/aws-lambda.Code#fromAsset","@aws-cdk/aws-lambda.IVersion","@aws-cdk/aws-lambda.Runtime","@aws-cdk/aws-lambda.Runtime#NODEJS_14_X","@aws-cdk/aws-s3.IBucket","constructs.Construct"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n\n\ndeclare const myBucket: s3.Bucket;\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from 'constructs';\nimport { Duration, Stack } from '@aws-cdk/core';\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nimport * as origins from '@aws-cdk/aws-cloudfront-origins';\nimport * as s3 from '@aws-cdk/aws-s3';\nimport * as ec2 from '@aws-cdk/aws-ec2';\nimport * as elbv2 from '@aws-cdk/aws-elasticloadbalancingv2';\nimport * as lambda from '@aws-cdk/aws-lambda';\nimport * as path from 'path';\n\nclass Context extends Stack {\n  constructor(scope: Construct, id: string) {\n    super(scope, id);\n\n    // Code snippet begins after !show marker below\n/// !show\n// A Lambda@Edge function added to default behavior of a Distribution\n// and triggered on every request\nconst myFunc = new cloudfront.experimental.EdgeFunction(this, 'MyFunction', {\n  runtime: lambda.Runtime.NODEJS_14_X,\n  handler: 'index.handler',\n  code: lambda.Code.fromAsset(path.join(__dirname, 'lambda-handler')),\n});\nnew cloudfront.Distribution(this, 'myDist', {\n  defaultBehavior: {\n    origin: new origins.S3Origin(myBucket),\n    edgeLambdas: [\n      {\n        functionVersion: myFunc.currentVersion,\n        eventType: cloudfront.LambdaEdgeEventType.VIEWER_REQUEST,\n      }\n    ],\n  },\n});\n/// !hide\n// Code snippet ended before !hide marker above\n  }\n}\n","syntaxKindCounter":{"10":4,"75":34,"104":2,"130":1,"153":1,"169":1,"192":1,"193":4,"194":12,"196":2,"197":3,"225":2,"226":1,"242":2,"243":2,"281":8,"290":1},"fqnsFingerprint":"02b892326549a952196fa477919f4801bcdca3d61c99b33c78df9a86e00a9d31"},"0199bfebdbb2ac42d5872c4fcbccadfdce36749ffc888d932bf7fca49c57a7e7":{"translations":{"python":{"source":"# Using a lambda Function instead of an EdgeFunction for stacks in `us-east-`.\nmy_func = lambda_.Function(self, \"MyFunction\",\n    runtime=lambda_.Runtime.NODEJS_14_X,\n    handler=\"index.handler\",\n    code=lambda_.Code.from_asset(path.join(__dirname, \"lambda-handler\"))\n)","version":"2"},"csharp":{"source":"// Using a lambda Function instead of an EdgeFunction for stacks in `us-east-`.\nvar myFunc = new Function(this, \"MyFunction\", new FunctionProps {\n    Runtime = Runtime.NODEJS_14_X,\n    Handler = \"index.handler\",\n    Code = Code.FromAsset(Join(__dirname, \"lambda-handler\"))\n});","version":"1"},"java":{"source":"// Using a lambda Function instead of an EdgeFunction for stacks in `us-east-`.\nFunction myFunc = Function.Builder.create(this, \"MyFunction\")\n        .runtime(Runtime.NODEJS_14_X)\n        .handler(\"index.handler\")\n        .code(Code.fromAsset(join(__dirname, \"lambda-handler\")))\n        .build();","version":"1"},"go":{"source":"// Using a lambda Function instead of an EdgeFunction for stacks in `us-east-`.\nmyFunc := lambda.NewFunction(this, jsii.String(\"MyFunction\"), &FunctionProps{\n\tRuntime: lambda.Runtime_NODEJS_14_X(),\n\tHandler: jsii.String(\"index.handler\"),\n\tCode: lambda.Code_FromAsset(path.join(__dirname, jsii.String(\"lambda-handler\"))),\n})","version":"1"},"$":{"source":"// Using a lambda Function instead of an EdgeFunction for stacks in `us-east-`.\nconst myFunc = new lambda.Function(this, 'MyFunction', {\n  runtime: lambda.Runtime.NODEJS_14_X,\n  handler: 'index.handler',\n  code: lambda.Code.fromAsset(path.join(__dirname, 'lambda-handler')),\n});","version":"0"}},"location":{"api":{"api":"moduleReadme","moduleFqn":"@aws-cdk/aws-cloudfront"},"field":{"field":"markdown","line":397}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-lambda.Code","@aws-cdk/aws-lambda.Code#fromAsset","@aws-cdk/aws-lambda.Function","@aws-cdk/aws-lambda.FunctionProps","@aws-cdk/aws-lambda.Runtime","@aws-cdk/aws-lambda.Runtime#NODEJS_14_X","constructs.Construct"],"fullSource":"import { Construct } from 'constructs';\nimport { Duration, Stack } from '@aws-cdk/core';\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nimport * as origins from '@aws-cdk/aws-cloudfront-origins';\nimport * as s3 from '@aws-cdk/aws-s3';\nimport * as ec2 from '@aws-cdk/aws-ec2';\nimport * as elbv2 from '@aws-cdk/aws-elasticloadbalancingv2';\nimport * as lambda from '@aws-cdk/aws-lambda';\nimport * as path from 'path';\n\nclass Context extends Stack {\n  constructor(scope: Construct, id: string) {\n    super(scope, id);\n\n    // Code snippet begins after !show marker below\n/// !show\n// Using a lambda Function instead of an EdgeFunction for stacks in `us-east-`.\nconst myFunc = new lambda.Function(this, 'MyFunction', {\n  runtime: lambda.Runtime.NODEJS_14_X,\n  handler: 'index.handler',\n  code: lambda.Code.fromAsset(path.join(__dirname, 'lambda-handler')),\n});\n/// !hide\n// Code snippet ended before !hide marker above\n  }\n}\n","syntaxKindCounter":{"10":3,"75":15,"104":1,"193":1,"194":6,"196":2,"197":1,"225":1,"242":1,"243":1,"281":3},"fqnsFingerprint":"e00223af093e99e80e462bae40c11d772ede52f97cfbf201ecdcfe477cb57249"},"0e011610e11382dc1691755d3d5f1d0a3df8d2a7f1e5d60ce468b0cb0f8e4a28":{"translations":{"python":{"source":"# Setting stackIds for EdgeFunctions that can be referenced from different applications\n# on the same account.\nmy_func1 = cloudfront.experimental.EdgeFunction(self, \"MyFunction1\",\n    runtime=lambda_.Runtime.NODEJS_14_X,\n    handler=\"index.handler\",\n    code=lambda_.Code.from_asset(path.join(__dirname, \"lambda-handler1\")),\n    stack_id=\"edge-lambda-stack-id-1\"\n)\n\nmy_func2 = cloudfront.experimental.EdgeFunction(self, \"MyFunction2\",\n    runtime=lambda_.Runtime.NODEJS_14_X,\n    handler=\"index.handler\",\n    code=lambda_.Code.from_asset(path.join(__dirname, \"lambda-handler2\")),\n    stack_id=\"edge-lambda-stack-id-2\"\n)","version":"2"},"csharp":{"source":"// Setting stackIds for EdgeFunctions that can be referenced from different applications\n// on the same account.\nvar myFunc1 = new Experimental.EdgeFunction(this, \"MyFunction1\", new EdgeFunctionProps {\n    Runtime = Runtime.NODEJS_14_X,\n    Handler = \"index.handler\",\n    Code = Code.FromAsset(Join(__dirname, \"lambda-handler1\")),\n    StackId = \"edge-lambda-stack-id-1\"\n});\n\nvar myFunc2 = new Experimental.EdgeFunction(this, \"MyFunction2\", new EdgeFunctionProps {\n    Runtime = Runtime.NODEJS_14_X,\n    Handler = \"index.handler\",\n    Code = Code.FromAsset(Join(__dirname, \"lambda-handler2\")),\n    StackId = \"edge-lambda-stack-id-2\"\n});","version":"1"},"java":{"source":"// Setting stackIds for EdgeFunctions that can be referenced from different applications\n// on the same account.\nEdgeFunction myFunc1 = EdgeFunction.Builder.create(this, \"MyFunction1\")\n        .runtime(Runtime.NODEJS_14_X)\n        .handler(\"index.handler\")\n        .code(Code.fromAsset(join(__dirname, \"lambda-handler1\")))\n        .stackId(\"edge-lambda-stack-id-1\")\n        .build();\n\nEdgeFunction myFunc2 = EdgeFunction.Builder.create(this, \"MyFunction2\")\n        .runtime(Runtime.NODEJS_14_X)\n        .handler(\"index.handler\")\n        .code(Code.fromAsset(join(__dirname, \"lambda-handler2\")))\n        .stackId(\"edge-lambda-stack-id-2\")\n        .build();","version":"1"},"go":{"source":"// Setting stackIds for EdgeFunctions that can be referenced from different applications\n// on the same account.\nmyFunc1 := experimental.NewEdgeFunction(this, jsii.String(\"MyFunction1\"), &EdgeFunctionProps{\n\tRuntime: lambda.Runtime_NODEJS_14_X(),\n\tHandler: jsii.String(\"index.handler\"),\n\tCode: lambda.Code_FromAsset(path.join(__dirname, jsii.String(\"lambda-handler1\"))),\n\tStackId: jsii.String(\"edge-lambda-stack-id-1\"),\n})\n\nmyFunc2 := experimental.NewEdgeFunction(this, jsii.String(\"MyFunction2\"), &EdgeFunctionProps{\n\tRuntime: lambda.Runtime_NODEJS_14_X(),\n\tHandler: jsii.String(\"index.handler\"),\n\tCode: lambda.Code_*FromAsset(path.join(__dirname, jsii.String(\"lambda-handler2\"))),\n\tStackId: jsii.String(\"edge-lambda-stack-id-2\"),\n})","version":"1"},"$":{"source":"// Setting stackIds for EdgeFunctions that can be referenced from different applications\n// on the same account.\nconst myFunc1 = new cloudfront.experimental.EdgeFunction(this, 'MyFunction1', {\n  runtime: lambda.Runtime.NODEJS_14_X,\n  handler: 'index.handler',\n  code: lambda.Code.fromAsset(path.join(__dirname, 'lambda-handler1')),\n  stackId: 'edge-lambda-stack-id-1',\n});\n\nconst myFunc2 = new cloudfront.experimental.EdgeFunction(this, 'MyFunction2', {\n  runtime: lambda.Runtime.NODEJS_14_X,\n  handler: 'index.handler',\n  code: lambda.Code.fromAsset(path.join(__dirname, 'lambda-handler2')),\n  stackId: 'edge-lambda-stack-id-2',\n});","version":"0"}},"location":{"api":{"api":"moduleReadme","moduleFqn":"@aws-cdk/aws-cloudfront"},"field":{"field":"markdown","line":409}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.experimental","@aws-cdk/aws-cloudfront.experimental.EdgeFunction","@aws-cdk/aws-cloudfront.experimental.EdgeFunctionProps","@aws-cdk/aws-lambda.Code","@aws-cdk/aws-lambda.Code#fromAsset","@aws-cdk/aws-lambda.Runtime","@aws-cdk/aws-lambda.Runtime#NODEJS_14_X","constructs.Construct"],"fullSource":"import { Construct } from 'constructs';\nimport { Duration, Stack } from '@aws-cdk/core';\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nimport * as origins from '@aws-cdk/aws-cloudfront-origins';\nimport * as s3 from '@aws-cdk/aws-s3';\nimport * as ec2 from '@aws-cdk/aws-ec2';\nimport * as elbv2 from '@aws-cdk/aws-elasticloadbalancingv2';\nimport * as lambda from '@aws-cdk/aws-lambda';\nimport * as path from 'path';\n\nclass Context extends Stack {\n  constructor(scope: Construct, id: string) {\n    super(scope, id);\n\n    // Code snippet begins after !show marker below\n/// !show\n// Setting stackIds for EdgeFunctions that can be referenced from different applications\n// on the same account.\nconst myFunc1 = new cloudfront.experimental.EdgeFunction(this, 'MyFunction1', {\n  runtime: lambda.Runtime.NODEJS_14_X,\n  handler: 'index.handler',\n  code: lambda.Code.fromAsset(path.join(__dirname, 'lambda-handler1')),\n  stackId: 'edge-lambda-stack-id-1',\n});\n\nconst myFunc2 = new cloudfront.experimental.EdgeFunction(this, 'MyFunction2', {\n  runtime: lambda.Runtime.NODEJS_14_X,\n  handler: 'index.handler',\n  code: lambda.Code.fromAsset(path.join(__dirname, 'lambda-handler2')),\n  stackId: 'edge-lambda-stack-id-2',\n});\n/// !hide\n// Code snippet ended before !hide marker above\n  }\n}\n","syntaxKindCounter":{"10":8,"75":34,"104":2,"193":2,"194":14,"196":4,"197":2,"225":2,"242":2,"243":2,"281":8},"fqnsFingerprint":"2334555bc474ee5398d6600daceff5b919066b389f34bf6aaf7b1d55ebaa593a"},"53df40a93223ec6e91d5e2794825f738a4eb41d799a22153af0c838c2e262e52":{"translations":{"python":{"source":"# Associating a Lambda@Edge function with additional behaviors.\n\n# my_func: cloudfront.experimental.EdgeFunction\n# assigning at Distribution creation\n# my_bucket: s3.Bucket\n\nmy_origin = origins.S3Origin(my_bucket)\nmy_distribution = cloudfront.Distribution(self, \"myDist\",\n    default_behavior=cloudfront.BehaviorOptions(origin=my_origin),\n    additional_behaviors={\n        \"images/*\": cloudfront.BehaviorOptions(\n            origin=my_origin,\n            edge_lambdas=[cloudfront.EdgeLambda(\n                function_version=my_func.current_version,\n                event_type=cloudfront.LambdaEdgeEventType.ORIGIN_REQUEST,\n                include_body=True\n            )\n            ]\n        )\n    }\n)\n\n# assigning after creation\nmy_distribution.add_behavior(\"images/*\", my_origin,\n    edge_lambdas=[cloudfront.EdgeLambda(\n        function_version=my_func.current_version,\n        event_type=cloudfront.LambdaEdgeEventType.VIEWER_RESPONSE\n    )\n    ]\n)","version":"2"},"csharp":{"source":"// Associating a Lambda@Edge function with additional behaviors.\n\nEdgeFunction myFunc;\n// assigning at Distribution creation\nBucket myBucket;\n\nvar myOrigin = new S3Origin(myBucket);\nvar myDistribution = new Distribution(this, \"myDist\", new DistributionProps {\n    DefaultBehavior = new BehaviorOptions { Origin = myOrigin },\n    AdditionalBehaviors = new Dictionary<string, BehaviorOptions> {\n        { \"images/*\", new BehaviorOptions {\n            Origin = myOrigin,\n            EdgeLambdas = new [] { new EdgeLambda {\n                FunctionVersion = myFunc.CurrentVersion,\n                EventType = LambdaEdgeEventType.ORIGIN_REQUEST,\n                IncludeBody = true\n            } }\n        } }\n    }\n});\n\n// assigning after creation\nmyDistribution.AddBehavior(\"images/*\", myOrigin, new AddBehaviorOptions {\n    EdgeLambdas = new [] { new EdgeLambda {\n        FunctionVersion = myFunc.CurrentVersion,\n        EventType = LambdaEdgeEventType.VIEWER_RESPONSE\n    } }\n});","version":"1"},"java":{"source":"// Associating a Lambda@Edge function with additional behaviors.\n\nEdgeFunction myFunc;\n// assigning at Distribution creation\nBucket myBucket;\n\nS3Origin myOrigin = new S3Origin(myBucket);\nDistribution myDistribution = Distribution.Builder.create(this, \"myDist\")\n        .defaultBehavior(BehaviorOptions.builder().origin(myOrigin).build())\n        .additionalBehaviors(Map.of(\n                \"images/*\", BehaviorOptions.builder()\n                        .origin(myOrigin)\n                        .edgeLambdas(List.of(EdgeLambda.builder()\n                                .functionVersion(myFunc.getCurrentVersion())\n                                .eventType(LambdaEdgeEventType.ORIGIN_REQUEST)\n                                .includeBody(true)\n                                .build()))\n                        .build()))\n        .build();\n\n// assigning after creation\nmyDistribution.addBehavior(\"images/*\", myOrigin, AddBehaviorOptions.builder()\n        .edgeLambdas(List.of(EdgeLambda.builder()\n                .functionVersion(myFunc.getCurrentVersion())\n                .eventType(LambdaEdgeEventType.VIEWER_RESPONSE)\n                .build()))\n        .build());","version":"1"},"go":{"source":"// Associating a Lambda@Edge function with additional behaviors.\n\nvar myFunc edgeFunction\n// assigning at Distribution creation\nvar myBucket bucket\n\nmyOrigin := origins.NewS3Origin(myBucket)\nmyDistribution := cloudfront.NewDistribution(this, jsii.String(\"myDist\"), &DistributionProps{\n\tDefaultBehavior: &BehaviorOptions{\n\t\tOrigin: myOrigin,\n\t},\n\tAdditionalBehaviors: map[string]behaviorOptions{\n\t\t\"images/*\": &behaviorOptions{\n\t\t\t\"origin\": myOrigin,\n\t\t\t\"edgeLambdas\": []EdgeLambda{\n\t\t\t\t&EdgeLambda{\n\t\t\t\t\t\"functionVersion\": myFunc.currentVersion,\n\t\t\t\t\t\"eventType\": cloudfront.LambdaEdgeEventType_ORIGIN_REQUEST,\n\t\t\t\t\t\"includeBody\": jsii.Boolean(true),\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n})\n\n// assigning after creation\nmyDistribution.AddBehavior(jsii.String(\"images/*\"), myOrigin, &AddBehaviorOptions{\n\tEdgeLambdas: []edgeLambda{\n\t\t&edgeLambda{\n\t\t\tFunctionVersion: myFunc.currentVersion,\n\t\t\tEventType: cloudfront.LambdaEdgeEventType_VIEWER_RESPONSE,\n\t\t},\n\t},\n})","version":"1"},"$":{"source":"// Associating a Lambda@Edge function with additional behaviors.\n\ndeclare const myFunc: cloudfront.experimental.EdgeFunction;\n// assigning at Distribution creation\ndeclare const myBucket: s3.Bucket;\nconst myOrigin = new origins.S3Origin(myBucket);\nconst myDistribution = new cloudfront.Distribution(this, 'myDist', {\n  defaultBehavior: { origin: myOrigin },\n  additionalBehaviors: {\n    'images/*': {\n      origin: myOrigin,\n      edgeLambdas: [\n        {\n          functionVersion: myFunc.currentVersion,\n          eventType: cloudfront.LambdaEdgeEventType.ORIGIN_REQUEST,\n          includeBody: true, // Optional - defaults to false\n        },\n      ],\n    },\n  },\n});\n\n// assigning after creation\nmyDistribution.addBehavior('images/*', myOrigin, {\n  edgeLambdas: [\n    {\n      functionVersion: myFunc.currentVersion,\n      eventType: cloudfront.LambdaEdgeEventType.VIEWER_RESPONSE,\n    },\n  ],\n});","version":"0"}},"location":{"api":{"api":"moduleReadme","moduleFqn":"@aws-cdk/aws-cloudfront"},"field":{"field":"markdown","line":430}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront-origins.S3Origin","@aws-cdk/aws-cloudfront.AddBehaviorOptions","@aws-cdk/aws-cloudfront.BehaviorOptions","@aws-cdk/aws-cloudfront.Distribution","@aws-cdk/aws-cloudfront.Distribution#addBehavior","@aws-cdk/aws-cloudfront.DistributionProps","@aws-cdk/aws-cloudfront.IOrigin","@aws-cdk/aws-cloudfront.LambdaEdgeEventType","@aws-cdk/aws-cloudfront.LambdaEdgeEventType#ORIGIN_REQUEST","@aws-cdk/aws-cloudfront.LambdaEdgeEventType#VIEWER_RESPONSE","@aws-cdk/aws-lambda.IVersion","@aws-cdk/aws-s3.IBucket","constructs.Construct"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// Associating a Lambda@Edge function with additional behaviors.\n\ndeclare const myFunc: cloudfront.experimental.EdgeFunction;\n// assigning at Distribution creation\ndeclare const myBucket: s3.Bucket;\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from 'constructs';\nimport { Duration, Stack } from '@aws-cdk/core';\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nimport * as origins from '@aws-cdk/aws-cloudfront-origins';\nimport * as s3 from '@aws-cdk/aws-s3';\nimport * as ec2 from '@aws-cdk/aws-ec2';\nimport * as elbv2 from '@aws-cdk/aws-elasticloadbalancingv2';\nimport * as lambda from '@aws-cdk/aws-lambda';\nimport * as path from 'path';\n\nclass Context extends Stack {\n  constructor(scope: Construct, id: string) {\n    super(scope, id);\n\n    // Code snippet begins after !show marker below\n/// !show\n\nconst myOrigin = new origins.S3Origin(myBucket);\nconst myDistribution = new cloudfront.Distribution(this, 'myDist', {\n  defaultBehavior: { origin: myOrigin },\n  additionalBehaviors: {\n    'images/*': {\n      origin: myOrigin,\n      edgeLambdas: [\n        {\n          functionVersion: myFunc.currentVersion,\n          eventType: cloudfront.LambdaEdgeEventType.ORIGIN_REQUEST,\n          includeBody: true, // Optional - defaults to false\n        },\n      ],\n    },\n  },\n});\n\n// assigning after creation\nmyDistribution.addBehavior('images/*', myOrigin, {\n  edgeLambdas: [\n    {\n      functionVersion: myFunc.currentVersion,\n      eventType: cloudfront.LambdaEdgeEventType.VIEWER_RESPONSE,\n    },\n  ],\n});\n/// !hide\n// Code snippet ended before !hide marker above\n  }\n}\n","syntaxKindCounter":{"10":3,"75":40,"104":1,"106":1,"130":2,"153":3,"169":2,"192":2,"193":7,"194":9,"196":1,"197":2,"225":4,"226":1,"242":4,"243":4,"281":12,"290":1},"fqnsFingerprint":"b69f4e8bc2a1d746ce9fe5a05f2a533c71db9e6f810f5ac2d50f1ff4339f78dd"},"f22d1f0b7ef4eaea5be65528986ee430d377a85fc51b36bdc531ac1d5985e904":{"translations":{"python":{"source":"# Adding an existing Lambda@Edge function created in a different stack\n# to a CloudFront distribution.\n# s3_bucket: s3.Bucket\n\nfunction_version = lambda_.Version.from_version_arn(self, \"Version\", \"arn:aws:lambda:us-east-1:123456789012:function:functionName:1\")\n\ncloudfront.Distribution(self, \"distro\",\n    default_behavior=cloudfront.BehaviorOptions(\n        origin=origins.S3Origin(s3_bucket),\n        edge_lambdas=[cloudfront.EdgeLambda(\n            function_version=function_version,\n            event_type=cloudfront.LambdaEdgeEventType.VIEWER_REQUEST\n        )\n        ]\n    )\n)","version":"2"},"csharp":{"source":"// Adding an existing Lambda@Edge function created in a different stack\n// to a CloudFront distribution.\nBucket s3Bucket;\n\nvar functionVersion = Version.FromVersionArn(this, \"Version\", \"arn:aws:lambda:us-east-1:123456789012:function:functionName:1\");\n\nnew Distribution(this, \"distro\", new DistributionProps {\n    DefaultBehavior = new BehaviorOptions {\n        Origin = new S3Origin(s3Bucket),\n        EdgeLambdas = new [] { new EdgeLambda {\n            FunctionVersion = functionVersion,\n            EventType = LambdaEdgeEventType.VIEWER_REQUEST\n        } }\n    }\n});","version":"1"},"java":{"source":"// Adding an existing Lambda@Edge function created in a different stack\n// to a CloudFront distribution.\nBucket s3Bucket;\n\nIVersion functionVersion = Version.fromVersionArn(this, \"Version\", \"arn:aws:lambda:us-east-1:123456789012:function:functionName:1\");\n\nDistribution.Builder.create(this, \"distro\")\n        .defaultBehavior(BehaviorOptions.builder()\n                .origin(new S3Origin(s3Bucket))\n                .edgeLambdas(List.of(EdgeLambda.builder()\n                        .functionVersion(functionVersion)\n                        .eventType(LambdaEdgeEventType.VIEWER_REQUEST)\n                        .build()))\n                .build())\n        .build();","version":"1"},"go":{"source":"// Adding an existing Lambda@Edge function created in a different stack\n// to a CloudFront distribution.\nvar s3Bucket bucket\n\nfunctionVersion := lambda.Version_FromVersionArn(this, jsii.String(\"Version\"), jsii.String(\"arn:aws:lambda:us-east-1:123456789012:function:functionName:1\"))\n\ncloudfront.NewDistribution(this, jsii.String(\"distro\"), &DistributionProps{\n\tDefaultBehavior: &BehaviorOptions{\n\t\tOrigin: origins.NewS3Origin(s3Bucket),\n\t\tEdgeLambdas: []edgeLambda{\n\t\t\t&edgeLambda{\n\t\t\t\tFunctionVersion: *FunctionVersion,\n\t\t\t\tEventType: cloudfront.LambdaEdgeEventType_VIEWER_REQUEST,\n\t\t\t},\n\t\t},\n\t},\n})","version":"1"},"$":{"source":"// Adding an existing Lambda@Edge function created in a different stack\n// to a CloudFront distribution.\ndeclare const s3Bucket: s3.Bucket;\nconst functionVersion = lambda.Version.fromVersionArn(this, 'Version', 'arn:aws:lambda:us-east-1:123456789012:function:functionName:1');\n\nnew cloudfront.Distribution(this, 'distro', {\n  defaultBehavior: {\n    origin: new origins.S3Origin(s3Bucket),\n    edgeLambdas: [\n      {\n        functionVersion,\n        eventType: cloudfront.LambdaEdgeEventType.VIEWER_REQUEST,\n      },\n    ],\n  },\n});","version":"0"}},"location":{"api":{"api":"moduleReadme","moduleFqn":"@aws-cdk/aws-cloudfront"},"field":{"field":"markdown","line":466}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront-origins.S3Origin","@aws-cdk/aws-cloudfront.BehaviorOptions","@aws-cdk/aws-cloudfront.Distribution","@aws-cdk/aws-cloudfront.DistributionProps","@aws-cdk/aws-cloudfront.IOrigin","@aws-cdk/aws-cloudfront.LambdaEdgeEventType","@aws-cdk/aws-cloudfront.LambdaEdgeEventType#VIEWER_REQUEST","@aws-cdk/aws-lambda.IVersion","@aws-cdk/aws-lambda.Version","@aws-cdk/aws-lambda.Version#fromVersionArn","@aws-cdk/aws-s3.IBucket","constructs.Construct"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// Adding an existing Lambda@Edge function created in a different stack\n// to a CloudFront distribution.\ndeclare const s3Bucket: s3.Bucket;\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from 'constructs';\nimport { Duration, Stack } from '@aws-cdk/core';\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nimport * as origins from '@aws-cdk/aws-cloudfront-origins';\nimport * as s3 from '@aws-cdk/aws-s3';\nimport * as ec2 from '@aws-cdk/aws-ec2';\nimport * as elbv2 from '@aws-cdk/aws-elasticloadbalancingv2';\nimport * as lambda from '@aws-cdk/aws-lambda';\nimport * as path from 'path';\n\nclass Context extends Stack {\n  constructor(scope: Construct, id: string) {\n    super(scope, id);\n\n    // Code snippet begins after !show marker below\n/// !show\n\nconst functionVersion = lambda.Version.fromVersionArn(this, 'Version', 'arn:aws:lambda:us-east-1:123456789012:function:functionName:1');\n\nnew cloudfront.Distribution(this, 'distro', {\n  defaultBehavior: {\n    origin: new origins.S3Origin(s3Bucket),\n    edgeLambdas: [\n      {\n        functionVersion,\n        eventType: cloudfront.LambdaEdgeEventType.VIEWER_REQUEST,\n      },\n    ],\n  },\n});\n/// !hide\n// Code snippet ended before !hide marker above\n  }\n}\n","syntaxKindCounter":{"10":3,"75":20,"104":2,"130":1,"153":1,"169":1,"192":1,"193":3,"194":6,"196":1,"197":2,"225":2,"226":1,"242":2,"243":2,"281":4,"282":1,"290":1},"fqnsFingerprint":"ed7d20f26b1f4e4dbade5657199847f143c35c149fbeb49e54402db9c319793a"},"9e526c1bf5adf2d31cf667b33ee2abd72027fa818ba9539535d86c90e12769fe":{"translations":{"python":{"source":"# s3_bucket: s3.Bucket\n# Add a cloudfront Function to a Distribution\ncf_function = cloudfront.Function(self, \"Function\",\n    code=cloudfront.FunctionCode.from_inline(\"function handler(event) { return event.request }\")\n)\ncloudfront.Distribution(self, \"distro\",\n    default_behavior=cloudfront.BehaviorOptions(\n        origin=origins.S3Origin(s3_bucket),\n        function_associations=[cloudfront.FunctionAssociation(\n            function=cf_function,\n            event_type=cloudfront.FunctionEventType.VIEWER_REQUEST\n        )]\n    )\n)","version":"2"},"csharp":{"source":"Bucket s3Bucket;\n// Add a cloudfront Function to a Distribution\nvar cfFunction = new Function(this, \"Function\", new FunctionProps {\n    Code = FunctionCode.FromInline(\"function handler(event) { return event.request }\")\n});\nnew Distribution(this, \"distro\", new DistributionProps {\n    DefaultBehavior = new BehaviorOptions {\n        Origin = new S3Origin(s3Bucket),\n        FunctionAssociations = new [] { new FunctionAssociation {\n            Function = cfFunction,\n            EventType = FunctionEventType.VIEWER_REQUEST\n        } }\n    }\n});","version":"1"},"java":{"source":"Bucket s3Bucket;\n// Add a cloudfront Function to a Distribution\nFunction cfFunction = Function.Builder.create(this, \"Function\")\n        .code(FunctionCode.fromInline(\"function handler(event) { return event.request }\"))\n        .build();\nDistribution.Builder.create(this, \"distro\")\n        .defaultBehavior(BehaviorOptions.builder()\n                .origin(new S3Origin(s3Bucket))\n                .functionAssociations(List.of(FunctionAssociation.builder()\n                        .function(cfFunction)\n                        .eventType(FunctionEventType.VIEWER_REQUEST)\n                        .build()))\n                .build())\n        .build();","version":"1"},"go":{"source":"var s3Bucket bucket\n// Add a cloudfront Function to a Distribution\ncfFunction := cloudfront.NewFunction(this, jsii.String(\"Function\"), &FunctionProps{\n\tCode: cloudfront.FunctionCode_FromInline(jsii.String(\"function handler(event) { return event.request }\")),\n})\ncloudfront.NewDistribution(this, jsii.String(\"distro\"), &DistributionProps{\n\tDefaultBehavior: &BehaviorOptions{\n\t\tOrigin: origins.NewS3Origin(s3Bucket),\n\t\tFunctionAssociations: []functionAssociation{\n\t\t\t&functionAssociation{\n\t\t\t\tFunction: cfFunction,\n\t\t\t\tEventType: cloudfront.FunctionEventType_VIEWER_REQUEST,\n\t\t\t},\n\t\t},\n\t},\n})","version":"1"},"$":{"source":"// Add a cloudfront Function to a Distribution\nconst cfFunction = new cloudfront.Function(this, 'Function', {\n  code: cloudfront.FunctionCode.fromInline('function handler(event) { return event.request }'),\n});\n\ndeclare const s3Bucket: s3.Bucket;\nnew cloudfront.Distribution(this, 'distro', {\n  defaultBehavior: {\n    origin: new origins.S3Origin(s3Bucket),\n    functionAssociations: [{\n      function: cfFunction,\n      eventType: cloudfront.FunctionEventType.VIEWER_REQUEST,\n    }],\n  },\n});","version":"0"}},"location":{"api":{"api":"moduleReadme","moduleFqn":"@aws-cdk/aws-cloudfront"},"field":{"field":"markdown","line":489}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront-origins.S3Origin","@aws-cdk/aws-cloudfront.BehaviorOptions","@aws-cdk/aws-cloudfront.Distribution","@aws-cdk/aws-cloudfront.DistributionProps","@aws-cdk/aws-cloudfront.Function","@aws-cdk/aws-cloudfront.FunctionCode","@aws-cdk/aws-cloudfront.FunctionCode#fromInline","@aws-cdk/aws-cloudfront.FunctionEventType","@aws-cdk/aws-cloudfront.FunctionEventType#VIEWER_REQUEST","@aws-cdk/aws-cloudfront.FunctionProps","@aws-cdk/aws-cloudfront.IFunction","@aws-cdk/aws-cloudfront.IOrigin","@aws-cdk/aws-s3.IBucket","constructs.Construct"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n\n\ndeclare const s3Bucket: s3.Bucket;\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from 'constructs';\nimport { Duration, Stack } from '@aws-cdk/core';\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nimport * as origins from '@aws-cdk/aws-cloudfront-origins';\nimport * as s3 from '@aws-cdk/aws-s3';\nimport * as ec2 from '@aws-cdk/aws-ec2';\nimport * as elbv2 from '@aws-cdk/aws-elasticloadbalancingv2';\nimport * as lambda from '@aws-cdk/aws-lambda';\nimport * as path from 'path';\n\nclass Context extends Stack {\n  constructor(scope: Construct, id: string) {\n    super(scope, id);\n\n    // Code snippet begins after !show marker below\n/// !show\n// Add a cloudfront Function to a Distribution\nconst cfFunction = new cloudfront.Function(this, 'Function', {\n  code: cloudfront.FunctionCode.fromInline('function handler(event) { return event.request }'),\n});\nnew cloudfront.Distribution(this, 'distro', {\n  defaultBehavior: {\n    origin: new origins.S3Origin(s3Bucket),\n    functionAssociations: [{\n      function: cfFunction,\n      eventType: cloudfront.FunctionEventType.VIEWER_REQUEST,\n    }],\n  },\n});\n/// !hide\n// Code snippet ended before !hide marker above\n  }\n}\n","syntaxKindCounter":{"10":3,"75":24,"104":2,"130":1,"153":1,"169":1,"192":1,"193":4,"194":7,"196":1,"197":3,"225":2,"226":1,"242":2,"243":2,"281":6,"290":1},"fqnsFingerprint":"eb23cdf87f7e3c03f6b84e9ed8bce59909e06e2a1c978943e56f1a80a18b4bd8"},"41f52ac8e150a3a991f9e83ad772b55a2087020623667e37e1ddb5e9faafdc68":{"translations":{"python":{"source":"# Configure logging for Distributions\n\n# Simplest form - creates a new bucket and logs to it.\ncloudfront.Distribution(self, \"myDist\",\n    default_behavior=cloudfront.BehaviorOptions(origin=origins.HttpOrigin(\"www.example.com\")),\n    enable_logging=True\n)\n\n# You can optionally log to a specific bucket, configure whether cookies are logged, and give the log files a prefix.\ncloudfront.Distribution(self, \"myDist\",\n    default_behavior=cloudfront.BehaviorOptions(origin=origins.HttpOrigin(\"www.example.com\")),\n    enable_logging=True,  # Optional, this is implied if logBucket is specified\n    log_bucket=s3.Bucket(self, \"LogBucket\"),\n    log_file_prefix=\"distribution-access-logs/\",\n    log_includes_cookies=True\n)","version":"2"},"csharp":{"source":"// Configure logging for Distributions\n\n// Simplest form - creates a new bucket and logs to it.\n// Configure logging for Distributions\n// Simplest form - creates a new bucket and logs to it.\nnew Distribution(this, \"myDist\", new DistributionProps {\n    DefaultBehavior = new BehaviorOptions { Origin = new HttpOrigin(\"www.example.com\") },\n    EnableLogging = true\n});\n\n// You can optionally log to a specific bucket, configure whether cookies are logged, and give the log files a prefix.\n// You can optionally log to a specific bucket, configure whether cookies are logged, and give the log files a prefix.\nnew Distribution(this, \"myDist\", new DistributionProps {\n    DefaultBehavior = new BehaviorOptions { Origin = new HttpOrigin(\"www.example.com\") },\n    EnableLogging = true,  // Optional, this is implied if logBucket is specified\n    LogBucket = new Bucket(this, \"LogBucket\"),\n    LogFilePrefix = \"distribution-access-logs/\",\n    LogIncludesCookies = true\n});","version":"1"},"java":{"source":"// Configure logging for Distributions\n\n// Simplest form - creates a new bucket and logs to it.\n// Configure logging for Distributions\n// Simplest form - creates a new bucket and logs to it.\nDistribution.Builder.create(this, \"myDist\")\n        .defaultBehavior(BehaviorOptions.builder().origin(new HttpOrigin(\"www.example.com\")).build())\n        .enableLogging(true)\n        .build();\n\n// You can optionally log to a specific bucket, configure whether cookies are logged, and give the log files a prefix.\n// You can optionally log to a specific bucket, configure whether cookies are logged, and give the log files a prefix.\nDistribution.Builder.create(this, \"myDist\")\n        .defaultBehavior(BehaviorOptions.builder().origin(new HttpOrigin(\"www.example.com\")).build())\n        .enableLogging(true) // Optional, this is implied if logBucket is specified\n        .logBucket(new Bucket(this, \"LogBucket\"))\n        .logFilePrefix(\"distribution-access-logs/\")\n        .logIncludesCookies(true)\n        .build();","version":"1"},"go":{"source":"// Configure logging for Distributions\n\n// Simplest form - creates a new bucket and logs to it.\n// Configure logging for Distributions\n// Simplest form - creates a new bucket and logs to it.\ncloudfront.NewDistribution(this, jsii.String(\"myDist\"), &DistributionProps{\n\tDefaultBehavior: &BehaviorOptions{\n\t\tOrigin: origins.NewHttpOrigin(jsii.String(\"www.example.com\")),\n\t},\n\tEnableLogging: jsii.Boolean(true),\n})\n\n// You can optionally log to a specific bucket, configure whether cookies are logged, and give the log files a prefix.\n// You can optionally log to a specific bucket, configure whether cookies are logged, and give the log files a prefix.\ncloudfront.NewDistribution(this, jsii.String(\"myDist\"), &DistributionProps{\n\tDefaultBehavior: &BehaviorOptions{\n\t\tOrigin: origins.NewHttpOrigin(jsii.String(\"www.example.com\")),\n\t},\n\tEnableLogging: jsii.Boolean(true),\n\t // Optional, this is implied if logBucket is specified\n\tLogBucket: s3.NewBucket(this, jsii.String(\"LogBucket\")),\n\tLogFilePrefix: jsii.String(\"distribution-access-logs/\"),\n\tLogIncludesCookies: jsii.Boolean(true),\n})","version":"1"},"$":{"source":"// Configure logging for Distributions\n\n// Simplest form - creates a new bucket and logs to it.\nnew cloudfront.Distribution(this, 'myDist', {\n  defaultBehavior: { origin: new origins.HttpOrigin('www.example.com') },\n  enableLogging: true,\n});\n\n// You can optionally log to a specific bucket, configure whether cookies are logged, and give the log files a prefix.\nnew cloudfront.Distribution(this, 'myDist', {\n  defaultBehavior: { origin: new origins.HttpOrigin('www.example.com') },\n  enableLogging: true, // Optional, this is implied if logBucket is specified\n  logBucket: new s3.Bucket(this, 'LogBucket'),\n  logFilePrefix: 'distribution-access-logs/',\n  logIncludesCookies: true,\n});","version":"0"}},"location":{"api":{"api":"moduleReadme","moduleFqn":"@aws-cdk/aws-cloudfront"},"field":{"field":"markdown","line":516}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront-origins.HttpOrigin","@aws-cdk/aws-cloudfront.BehaviorOptions","@aws-cdk/aws-cloudfront.Distribution","@aws-cdk/aws-cloudfront.DistributionProps","@aws-cdk/aws-cloudfront.IOrigin","@aws-cdk/aws-s3.Bucket","@aws-cdk/aws-s3.IBucket","constructs.Construct"],"fullSource":"import { Construct } from 'constructs';\nimport { Duration, Stack } from '@aws-cdk/core';\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nimport * as origins from '@aws-cdk/aws-cloudfront-origins';\nimport * as s3 from '@aws-cdk/aws-s3';\nimport * as ec2 from '@aws-cdk/aws-ec2';\nimport * as elbv2 from '@aws-cdk/aws-elasticloadbalancingv2';\nimport * as lambda from '@aws-cdk/aws-lambda';\nimport * as path from 'path';\n\nclass Context extends Stack {\n  constructor(scope: Construct, id: string) {\n    super(scope, id);\n\n    // Code snippet begins after !show marker below\n/// !show\n// Configure logging for Distributions\n\n// Simplest form - creates a new bucket and logs to it.\nnew cloudfront.Distribution(this, 'myDist', {\n  defaultBehavior: { origin: new origins.HttpOrigin('www.example.com') },\n  enableLogging: true,\n});\n\n// You can optionally log to a specific bucket, configure whether cookies are logged, and give the log files a prefix.\nnew cloudfront.Distribution(this, 'myDist', {\n  defaultBehavior: { origin: new origins.HttpOrigin('www.example.com') },\n  enableLogging: true, // Optional, this is implied if logBucket is specified\n  logBucket: new s3.Bucket(this, 'LogBucket'),\n  logFilePrefix: 'distribution-access-logs/',\n  logIncludesCookies: true,\n});\n/// !hide\n// Code snippet ended before !hide marker above\n  }\n}\n","syntaxKindCounter":{"10":6,"75":19,"104":3,"106":3,"193":4,"194":5,"197":5,"226":2,"281":9},"fqnsFingerprint":"fd069b302c61004765f73ebc665aefbc81f53c6742b64c4aa765e51863f41c5e"},"b9012789b445bb22245a1dcf53ecb8556a69d867f5aa221a7324450ef06dcfcb":{"translations":{"python":{"source":"# Using a reference to an imported Distribution\ndistribution = cloudfront.Distribution.from_distribution_attributes(self, \"ImportedDist\",\n    domain_name=\"d111111abcdef8.cloudfront.net\",\n    distribution_id=\"012345ABCDEF\"\n)","version":"2"},"csharp":{"source":"// Using a reference to an imported Distribution\nvar distribution = Distribution.FromDistributionAttributes(this, \"ImportedDist\", new DistributionAttributes {\n    DomainName = \"d111111abcdef8.cloudfront.net\",\n    DistributionId = \"012345ABCDEF\"\n});","version":"1"},"java":{"source":"// Using a reference to an imported Distribution\nIDistribution distribution = Distribution.fromDistributionAttributes(this, \"ImportedDist\", DistributionAttributes.builder()\n        .domainName(\"d111111abcdef8.cloudfront.net\")\n        .distributionId(\"012345ABCDEF\")\n        .build());","version":"1"},"go":{"source":"// Using a reference to an imported Distribution\ndistribution := cloudfront.Distribution_FromDistributionAttributes(this, jsii.String(\"ImportedDist\"), &DistributionAttributes{\n\tDomainName: jsii.String(\"d111111abcdef8.cloudfront.net\"),\n\tDistributionId: jsii.String(\"012345ABCDEF\"),\n})","version":"1"},"$":{"source":"// Using a reference to an imported Distribution\nconst distribution = cloudfront.Distribution.fromDistributionAttributes(this, 'ImportedDist', {\n  domainName: 'd111111abcdef8.cloudfront.net',\n  distributionId: '012345ABCDEF',\n});","version":"0"}},"location":{"api":{"api":"moduleReadme","moduleFqn":"@aws-cdk/aws-cloudfront"},"field":{"field":"markdown","line":540}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.Distribution","@aws-cdk/aws-cloudfront.Distribution#fromDistributionAttributes","@aws-cdk/aws-cloudfront.DistributionAttributes","@aws-cdk/aws-cloudfront.IDistribution","constructs.Construct"],"fullSource":"import { Construct } from 'constructs';\nimport { Duration, Stack } from '@aws-cdk/core';\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nimport * as origins from '@aws-cdk/aws-cloudfront-origins';\nimport * as s3 from '@aws-cdk/aws-s3';\nimport * as ec2 from '@aws-cdk/aws-ec2';\nimport * as elbv2 from '@aws-cdk/aws-elasticloadbalancingv2';\nimport * as lambda from '@aws-cdk/aws-lambda';\nimport * as path from 'path';\n\nclass Context extends Stack {\n  constructor(scope: Construct, id: string) {\n    super(scope, id);\n\n    // Code snippet begins after !show marker below\n/// !show\n// Using a reference to an imported Distribution\nconst distribution = cloudfront.Distribution.fromDistributionAttributes(this, 'ImportedDist', {\n  domainName: 'd111111abcdef8.cloudfront.net',\n  distributionId: '012345ABCDEF',\n});\n/// !hide\n// Code snippet ended before !hide marker above\n  }\n}\n","syntaxKindCounter":{"10":3,"75":6,"104":1,"193":1,"194":2,"196":1,"225":1,"242":1,"243":1,"281":2},"fqnsFingerprint":"8d06d4f4f8c8554f131e9859c2581f56f35e2e925571fef3b0bc6fc3ad66631f"},"e0bf7333b0c8b3d8057440f282c49c8148cfd5305e8b75e1d855e0f98ecf9f20":{"translations":{"python":{"source":"# source_bucket: s3.Bucket\n\n\nmy_distribution = cloudfront.Distribution(self, \"MyCfWebDistribution\",\n    default_behavior=cloudfront.BehaviorOptions(\n        origin=origins.S3Origin(source_bucket)\n    )\n)\ncfn_distribution = my_distribution.node.default_child\ncfn_distribution.override_logical_id(\"MyDistributionCFDistribution3H55TI9Q\")","version":"2"},"csharp":{"source":"Bucket sourceBucket;\n\n\nvar myDistribution = new Distribution(this, \"MyCfWebDistribution\", new DistributionProps {\n    DefaultBehavior = new BehaviorOptions {\n        Origin = new S3Origin(sourceBucket)\n    }\n});\nvar cfnDistribution = (CfnDistribution)myDistribution.Node.DefaultChild;\ncfnDistribution.OverrideLogicalId(\"MyDistributionCFDistribution3H55TI9Q\");","version":"1"},"java":{"source":"Bucket sourceBucket;\n\n\nDistribution myDistribution = Distribution.Builder.create(this, \"MyCfWebDistribution\")\n        .defaultBehavior(BehaviorOptions.builder()\n                .origin(new S3Origin(sourceBucket))\n                .build())\n        .build();\nCfnDistribution cfnDistribution = (CfnDistribution)myDistribution.getNode().getDefaultChild();\ncfnDistribution.overrideLogicalId(\"MyDistributionCFDistribution3H55TI9Q\");","version":"1"},"go":{"source":"var sourceBucket bucket\n\n\nmyDistribution := cloudfront.NewDistribution(this, jsii.String(\"MyCfWebDistribution\"), &DistributionProps{\n\tDefaultBehavior: &BehaviorOptions{\n\t\tOrigin: origins.NewS3Origin(sourceBucket),\n\t},\n})\ncfnDistribution := myDistribution.Node.defaultChild.(cfnDistribution)\ncfnDistribution.OverrideLogicalId(jsii.String(\"MyDistributionCFDistribution3H55TI9Q\"))","version":"1"},"$":{"source":"declare const sourceBucket: s3.Bucket;\n\nconst myDistribution = new cloudfront.Distribution(this, 'MyCfWebDistribution', {\n  defaultBehavior: {\n    origin: new origins.S3Origin(sourceBucket),\n  },\n});\nconst cfnDistribution = myDistribution.node.defaultChild as cloudfront.CfnDistribution;\ncfnDistribution.overrideLogicalId('MyDistributionCFDistribution3H55TI9Q');","version":"0"}},"location":{"api":{"api":"moduleReadme","moduleFqn":"@aws-cdk/aws-cloudfront"},"field":{"field":"markdown","line":571}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront-origins.S3Origin","@aws-cdk/aws-cloudfront.BehaviorOptions","@aws-cdk/aws-cloudfront.CfnDistribution","@aws-cdk/aws-cloudfront.Distribution","@aws-cdk/aws-cloudfront.DistributionProps","@aws-cdk/aws-cloudfront.IOrigin","@aws-cdk/aws-s3.IBucket","@aws-cdk/core.CfnElement#overrideLogicalId","@aws-cdk/core.Construct#node","constructs.Construct"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\ndeclare const sourceBucket: s3.Bucket;\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from 'constructs';\nimport { Duration, Stack } from '@aws-cdk/core';\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nimport * as origins from '@aws-cdk/aws-cloudfront-origins';\nimport * as s3 from '@aws-cdk/aws-s3';\nimport * as ec2 from '@aws-cdk/aws-ec2';\nimport * as elbv2 from '@aws-cdk/aws-elasticloadbalancingv2';\nimport * as lambda from '@aws-cdk/aws-lambda';\nimport * as path from 'path';\n\nclass Context extends Stack {\n  constructor(scope: Construct, id: string) {\n    super(scope, id);\n\n    // Code snippet begins after !show marker below\n/// !show\n\n\nconst myDistribution = new cloudfront.Distribution(this, 'MyCfWebDistribution', {\n  defaultBehavior: {\n    origin: new origins.S3Origin(sourceBucket),\n  },\n});\nconst cfnDistribution = myDistribution.node.defaultChild as cloudfront.CfnDistribution;\ncfnDistribution.overrideLogicalId('MyDistributionCFDistribution3H55TI9Q');\n/// !hide\n// Code snippet ended before !hide marker above\n  }\n}\n","syntaxKindCounter":{"10":2,"75":19,"104":1,"130":1,"153":2,"169":2,"193":2,"194":5,"196":1,"197":2,"217":1,"225":3,"226":1,"242":3,"243":3,"281":2,"290":1},"fqnsFingerprint":"dfb57b90661f19037f72c02b730c2aef4a2075193ef28933112e9942d9add749"},"630aa5be51275fea8101fbb3f58ae923959ae82995f63c17386212caa64351b2":{"translations":{"python":{"source":"# source_bucket: s3.Bucket\n# oai: cloudfront.OriginAccessIdentity\n\n\ncloudfront.CloudFrontWebDistribution(self, \"MyCfWebDistribution\",\n    origin_configs=[cloudfront.SourceConfiguration(\n        s3_origin_source=cloudfront.S3OriginConfig(\n            s3_bucket_source=source_bucket,\n            origin_access_identity=oai\n        ),\n        behaviors=[cloudfront.Behavior(is_default_behavior=True)]\n    )\n    ]\n)","version":"2"},"csharp":{"source":"Bucket sourceBucket;\nOriginAccessIdentity oai;\n\n\nnew CloudFrontWebDistribution(this, \"MyCfWebDistribution\", new CloudFrontWebDistributionProps {\n    OriginConfigs = new [] { new SourceConfiguration {\n        S3OriginSource = new S3OriginConfig {\n            S3BucketSource = sourceBucket,\n            OriginAccessIdentity = oai\n        },\n        Behaviors = new [] { new Behavior { IsDefaultBehavior = true } }\n    } }\n});","version":"1"},"java":{"source":"Bucket sourceBucket;\nOriginAccessIdentity oai;\n\n\nCloudFrontWebDistribution.Builder.create(this, \"MyCfWebDistribution\")\n        .originConfigs(List.of(SourceConfiguration.builder()\n                .s3OriginSource(S3OriginConfig.builder()\n                        .s3BucketSource(sourceBucket)\n                        .originAccessIdentity(oai)\n                        .build())\n                .behaviors(List.of(Behavior.builder().isDefaultBehavior(true).build()))\n                .build()))\n        .build();","version":"1"},"go":{"source":"var sourceBucket bucket\nvar oai originAccessIdentity\n\n\ncloudfront.NewCloudFrontWebDistribution(this, jsii.String(\"MyCfWebDistribution\"), &CloudFrontWebDistributionProps{\n\tOriginConfigs: []sourceConfiguration{\n\t\t&sourceConfiguration{\n\t\t\tS3OriginSource: &S3OriginConfig{\n\t\t\t\tS3BucketSource: sourceBucket,\n\t\t\t\tOriginAccessIdentity: oai,\n\t\t\t},\n\t\t\tBehaviors: []behavior{\n\t\t\t\t&behavior{\n\t\t\t\t\tIsDefaultBehavior: jsii.Boolean(true),\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n})","version":"1"},"$":{"source":"declare const sourceBucket: s3.Bucket;\ndeclare const oai: cloudfront.OriginAccessIdentity;\n\nnew cloudfront.CloudFrontWebDistribution(this, 'MyCfWebDistribution', {\n  originConfigs: [\n    {\n      s3OriginSource: {\n        s3BucketSource: sourceBucket,\n        originAccessIdentity: oai,\n      },\n      behaviors : [ {isDefaultBehavior: true}],\n    },\n  ],\n});","version":"0"}},"location":{"api":{"api":"moduleReadme","moduleFqn":"@aws-cdk/aws-cloudfront"},"field":{"field":"markdown","line":587}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.CloudFrontWebDistribution","@aws-cdk/aws-cloudfront.CloudFrontWebDistributionProps","@aws-cdk/aws-cloudfront.IOriginAccessIdentity","@aws-cdk/aws-cloudfront.S3OriginConfig","@aws-cdk/aws-s3.IBucket","constructs.Construct"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\ndeclare const sourceBucket: s3.Bucket;\ndeclare const oai: cloudfront.OriginAccessIdentity;\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from 'constructs';\nimport { Duration, Stack } from '@aws-cdk/core';\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nimport * as origins from '@aws-cdk/aws-cloudfront-origins';\nimport * as s3 from '@aws-cdk/aws-s3';\nimport * as ec2 from '@aws-cdk/aws-ec2';\nimport * as elbv2 from '@aws-cdk/aws-elasticloadbalancingv2';\nimport * as lambda from '@aws-cdk/aws-lambda';\nimport * as path from 'path';\n\nclass Context extends Stack {\n  constructor(scope: Construct, id: string) {\n    super(scope, id);\n\n    // Code snippet begins after !show marker below\n/// !show\n\n\nnew cloudfront.CloudFrontWebDistribution(this, 'MyCfWebDistribution', {\n  originConfigs: [\n    {\n      s3OriginSource: {\n        s3BucketSource: sourceBucket,\n        originAccessIdentity: oai,\n      },\n      behaviors : [ {isDefaultBehavior: true}],\n    },\n  ],\n});\n/// !hide\n// Code snippet ended before !hide marker above\n  }\n}\n","syntaxKindCounter":{"10":1,"75":16,"104":1,"106":1,"130":2,"153":2,"169":2,"192":2,"193":4,"194":1,"197":1,"225":2,"226":1,"242":2,"243":2,"281":6,"290":1},"fqnsFingerprint":"b06fa71edbdffbdf690f8b83cfec5c1aeb4eda3e87eebddd508d7c35d9863e3f"},"507456ca199cb2a94182e8aa35334aecbd935c9bf55779197d56775ba3da6bc9":{"translations":{"python":{"source":"# source_bucket: s3.Bucket\n\n\ndistribution = cloudfront.Distribution(self, \"MyCfWebDistribution\",\n    default_behavior=cloudfront.BehaviorOptions(\n        origin=origins.S3Origin(source_bucket)\n    )\n)","version":"2"},"csharp":{"source":"Bucket sourceBucket;\n\n\nvar distribution = new Distribution(this, \"MyCfWebDistribution\", new DistributionProps {\n    DefaultBehavior = new BehaviorOptions {\n        Origin = new S3Origin(sourceBucket)\n    }\n});","version":"1"},"java":{"source":"Bucket sourceBucket;\n\n\nDistribution distribution = Distribution.Builder.create(this, \"MyCfWebDistribution\")\n        .defaultBehavior(BehaviorOptions.builder()\n                .origin(new S3Origin(sourceBucket))\n                .build())\n        .build();","version":"1"},"go":{"source":"var sourceBucket bucket\n\n\ndistribution := cloudfront.NewDistribution(this, jsii.String(\"MyCfWebDistribution\"), &DistributionProps{\n\tDefaultBehavior: &BehaviorOptions{\n\t\tOrigin: origins.NewS3Origin(sourceBucket),\n\t},\n})","version":"1"},"$":{"source":"declare const sourceBucket: s3.Bucket;\n\nconst distribution = new cloudfront.Distribution(this, 'MyCfWebDistribution', {\n  defaultBehavior: {\n    origin: new origins.S3Origin(sourceBucket) // This class automatically creates an Origin Access Identity\n  },\n});","version":"0"}},"location":{"api":{"api":"moduleReadme","moduleFqn":"@aws-cdk/aws-cloudfront"},"field":{"field":"markdown","line":606}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront-origins.S3Origin","@aws-cdk/aws-cloudfront.BehaviorOptions","@aws-cdk/aws-cloudfront.Distribution","@aws-cdk/aws-cloudfront.DistributionProps","@aws-cdk/aws-cloudfront.IOrigin","@aws-cdk/aws-s3.IBucket","constructs.Construct"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\ndeclare const sourceBucket: s3.Bucket;\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from 'constructs';\nimport { Duration, Stack } from '@aws-cdk/core';\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nimport * as origins from '@aws-cdk/aws-cloudfront-origins';\nimport * as s3 from '@aws-cdk/aws-s3';\nimport * as ec2 from '@aws-cdk/aws-ec2';\nimport * as elbv2 from '@aws-cdk/aws-elasticloadbalancingv2';\nimport * as lambda from '@aws-cdk/aws-lambda';\nimport * as path from 'path';\n\nclass Context extends Stack {\n  constructor(scope: Construct, id: string) {\n    super(scope, id);\n\n    // Code snippet begins after !show marker below\n/// !show\n\n\nconst distribution = new cloudfront.Distribution(this, 'MyCfWebDistribution', {\n  defaultBehavior: {\n    origin: new origins.S3Origin(sourceBucket) // This class automatically creates an Origin Access Identity\n  },\n});\n/// !hide\n// Code snippet ended before !hide marker above\n  }\n}\n","syntaxKindCounter":{"10":1,"75":11,"104":1,"130":1,"153":1,"169":1,"193":2,"194":2,"197":2,"225":2,"242":2,"243":2,"281":2,"290":1},"fqnsFingerprint":"e11ab7a78f4d08460f7652897f29a0ec477367e62990049550ab0375cd2bb34a"},"fe8971be3a86974f75b8df0e025514292ae0f4e71f2fd14f2ddb31b043391987":{"translations":{"python":{"source":"# source_bucket: s3.Bucket\n# oai: cloudfront.OriginAccessIdentity\n\n\ncloudfront.CloudFrontWebDistribution(self, \"MyCfWebDistribution\",\n    origin_configs=[cloudfront.SourceConfiguration(\n        s3_origin_source=cloudfront.S3OriginConfig(\n            s3_bucket_source=source_bucket,\n            origin_access_identity=oai\n        ),\n        behaviors=[cloudfront.Behavior(is_default_behavior=True)]\n    ), cloudfront.SourceConfiguration(\n        custom_origin_source=cloudfront.CustomOriginConfig(\n            domain_name=\"MYALIAS\"\n        ),\n        behaviors=[cloudfront.Behavior(path_pattern=\"/somewhere\")]\n    )\n    ]\n)","version":"2"},"csharp":{"source":"Bucket sourceBucket;\nOriginAccessIdentity oai;\n\n\nnew CloudFrontWebDistribution(this, \"MyCfWebDistribution\", new CloudFrontWebDistributionProps {\n    OriginConfigs = new [] { new SourceConfiguration {\n        S3OriginSource = new S3OriginConfig {\n            S3BucketSource = sourceBucket,\n            OriginAccessIdentity = oai\n        },\n        Behaviors = new [] { new Behavior { IsDefaultBehavior = true } }\n    }, new SourceConfiguration {\n        CustomOriginSource = new CustomOriginConfig {\n            DomainName = \"MYALIAS\"\n        },\n        Behaviors = new [] { new Behavior { PathPattern = \"/somewhere\" } }\n    } }\n});","version":"1"},"java":{"source":"Bucket sourceBucket;\nOriginAccessIdentity oai;\n\n\nCloudFrontWebDistribution.Builder.create(this, \"MyCfWebDistribution\")\n        .originConfigs(List.of(SourceConfiguration.builder()\n                .s3OriginSource(S3OriginConfig.builder()\n                        .s3BucketSource(sourceBucket)\n                        .originAccessIdentity(oai)\n                        .build())\n                .behaviors(List.of(Behavior.builder().isDefaultBehavior(true).build()))\n                .build(), SourceConfiguration.builder()\n                .customOriginSource(CustomOriginConfig.builder()\n                        .domainName(\"MYALIAS\")\n                        .build())\n                .behaviors(List.of(Behavior.builder().pathPattern(\"/somewhere\").build()))\n                .build()))\n        .build();","version":"1"},"go":{"source":"var sourceBucket bucket\nvar oai originAccessIdentity\n\n\ncloudfront.NewCloudFrontWebDistribution(this, jsii.String(\"MyCfWebDistribution\"), &CloudFrontWebDistributionProps{\n\tOriginConfigs: []sourceConfiguration{\n\t\t&sourceConfiguration{\n\t\t\tS3OriginSource: &S3OriginConfig{\n\t\t\t\tS3BucketSource: sourceBucket,\n\t\t\t\tOriginAccessIdentity: oai,\n\t\t\t},\n\t\t\tBehaviors: []behavior{\n\t\t\t\t&behavior{\n\t\t\t\t\tIsDefaultBehavior: jsii.Boolean(true),\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t&sourceConfiguration{\n\t\t\tCustomOriginSource: &CustomOriginConfig{\n\t\t\t\tDomainName: jsii.String(\"MYALIAS\"),\n\t\t\t},\n\t\t\tBehaviors: []*behavior{\n\t\t\t\t&behavior{\n\t\t\t\t\tPathPattern: jsii.String(\"/somewhere\"),\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n})","version":"1"},"$":{"source":"declare const sourceBucket: s3.Bucket;\ndeclare const oai: cloudfront.OriginAccessIdentity;\n\nnew cloudfront.CloudFrontWebDistribution(this, 'MyCfWebDistribution', {\n  originConfigs: [\n    {\n      s3OriginSource: {\n        s3BucketSource: sourceBucket,\n        originAccessIdentity: oai,\n      },\n      behaviors: [ {isDefaultBehavior: true}],\n    },\n    {\n      customOriginSource: {\n        domainName: 'MYALIAS',\n      },\n      behaviors: [{ pathPattern: '/somewhere' }]\n    }\n  ],\n});","version":"0"}},"location":{"api":{"api":"moduleReadme","moduleFqn":"@aws-cdk/aws-cloudfront"},"field":{"field":"markdown","line":618}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.CloudFrontWebDistribution","@aws-cdk/aws-cloudfront.CloudFrontWebDistributionProps","@aws-cdk/aws-cloudfront.CustomOriginConfig","@aws-cdk/aws-cloudfront.IOriginAccessIdentity","@aws-cdk/aws-cloudfront.S3OriginConfig","@aws-cdk/aws-s3.IBucket","constructs.Construct"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\ndeclare const sourceBucket: s3.Bucket;\ndeclare const oai: cloudfront.OriginAccessIdentity;\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from 'constructs';\nimport { Duration, Stack } from '@aws-cdk/core';\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nimport * as origins from '@aws-cdk/aws-cloudfront-origins';\nimport * as s3 from '@aws-cdk/aws-s3';\nimport * as ec2 from '@aws-cdk/aws-ec2';\nimport * as elbv2 from '@aws-cdk/aws-elasticloadbalancingv2';\nimport * as lambda from '@aws-cdk/aws-lambda';\nimport * as path from 'path';\n\nclass Context extends Stack {\n  constructor(scope: Construct, id: string) {\n    super(scope, id);\n\n    // Code snippet begins after !show marker below\n/// !show\n\n\nnew cloudfront.CloudFrontWebDistribution(this, 'MyCfWebDistribution', {\n  originConfigs: [\n    {\n      s3OriginSource: {\n        s3BucketSource: sourceBucket,\n        originAccessIdentity: oai,\n      },\n      behaviors: [ {isDefaultBehavior: true}],\n    },\n    {\n      customOriginSource: {\n        domainName: 'MYALIAS',\n      },\n      behaviors: [{ pathPattern: '/somewhere' }]\n    }\n  ],\n});\n/// !hide\n// Code snippet ended before !hide marker above\n  }\n}\n","syntaxKindCounter":{"10":3,"75":20,"104":1,"106":1,"130":2,"153":2,"169":2,"192":3,"193":7,"194":1,"197":1,"225":2,"226":1,"242":2,"243":2,"281":10,"290":1},"fqnsFingerprint":"e42b6ad2904ab97cd49ef90216e6fbe6881d2117a01768be093280982f9b66b3"},"b4cdbe7de60753e1b1efe038d7536325cf4ce1a59486d8444b36a20acd456233":{"translations":{"python":{"source":"# source_bucket: s3.Bucket\n\n\ndistribution = cloudfront.Distribution(self, \"MyCfWebDistribution\",\n    default_behavior=cloudfront.BehaviorOptions(\n        origin=origins.S3Origin(source_bucket)\n    ),\n    additional_behaviors={\n        \"/somewhere\": cloudfront.BehaviorOptions(\n            origin=origins.HttpOrigin(\"MYALIAS\")\n        )\n    }\n)","version":"2"},"csharp":{"source":"Bucket sourceBucket;\n\n\nvar distribution = new Distribution(this, \"MyCfWebDistribution\", new DistributionProps {\n    DefaultBehavior = new BehaviorOptions {\n        Origin = new S3Origin(sourceBucket)\n    },\n    AdditionalBehaviors = new Dictionary<string, BehaviorOptions> {\n        { \"/somewhere\", new BehaviorOptions {\n            Origin = new HttpOrigin(\"MYALIAS\")\n        } }\n    }\n});","version":"1"},"java":{"source":"Bucket sourceBucket;\n\n\nDistribution distribution = Distribution.Builder.create(this, \"MyCfWebDistribution\")\n        .defaultBehavior(BehaviorOptions.builder()\n                .origin(new S3Origin(sourceBucket))\n                .build())\n        .additionalBehaviors(Map.of(\n                \"/somewhere\", BehaviorOptions.builder()\n                        .origin(new HttpOrigin(\"MYALIAS\"))\n                        .build()))\n        .build();","version":"1"},"go":{"source":"var sourceBucket bucket\n\n\ndistribution := cloudfront.NewDistribution(this, jsii.String(\"MyCfWebDistribution\"), &DistributionProps{\n\tDefaultBehavior: &BehaviorOptions{\n\t\tOrigin: origins.NewS3Origin(sourceBucket),\n\t},\n\tAdditionalBehaviors: map[string]behaviorOptions{\n\t\t\"/somewhere\": &behaviorOptions{\n\t\t\t\"origin\": origins.NewHttpOrigin(jsii.String(\"MYALIAS\")),\n\t\t},\n\t},\n})","version":"1"},"$":{"source":"declare const sourceBucket: s3.Bucket;\n\nconst distribution = new cloudfront.Distribution(this, 'MyCfWebDistribution', {\n  defaultBehavior: {\n    origin: new origins.S3Origin(sourceBucket) // This class automatically creates an Origin Access Identity\n  },\n  additionalBehaviors: {\n    '/somewhere': {\n      origin: new origins.HttpOrigin('MYALIAS'),\n    }\n  }\n});","version":"0"}},"location":{"api":{"api":"moduleReadme","moduleFqn":"@aws-cdk/aws-cloudfront"},"field":{"field":"markdown","line":643}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront-origins.HttpOrigin","@aws-cdk/aws-cloudfront-origins.S3Origin","@aws-cdk/aws-cloudfront.BehaviorOptions","@aws-cdk/aws-cloudfront.Distribution","@aws-cdk/aws-cloudfront.DistributionProps","@aws-cdk/aws-cloudfront.IOrigin","@aws-cdk/aws-s3.IBucket","constructs.Construct"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\ndeclare const sourceBucket: s3.Bucket;\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from 'constructs';\nimport { Duration, Stack } from '@aws-cdk/core';\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nimport * as origins from '@aws-cdk/aws-cloudfront-origins';\nimport * as s3 from '@aws-cdk/aws-s3';\nimport * as ec2 from '@aws-cdk/aws-ec2';\nimport * as elbv2 from '@aws-cdk/aws-elasticloadbalancingv2';\nimport * as lambda from '@aws-cdk/aws-lambda';\nimport * as path from 'path';\n\nclass Context extends Stack {\n  constructor(scope: Construct, id: string) {\n    super(scope, id);\n\n    // Code snippet begins after !show marker below\n/// !show\n\n\nconst distribution = new cloudfront.Distribution(this, 'MyCfWebDistribution', {\n  defaultBehavior: {\n    origin: new origins.S3Origin(sourceBucket) // This class automatically creates an Origin Access Identity\n  },\n  additionalBehaviors: {\n    '/somewhere': {\n      origin: new origins.HttpOrigin('MYALIAS'),\n    }\n  }\n});\n/// !hide\n// Code snippet ended before !hide marker above\n  }\n}\n","syntaxKindCounter":{"10":3,"75":15,"104":1,"130":1,"153":1,"169":1,"193":4,"194":3,"197":3,"225":2,"242":2,"243":2,"281":5,"290":1},"fqnsFingerprint":"d1e4fa629b938e3463f6d28f45f0c749acd28d84f49e914b30937156f9eda88a"},"afc346a0d65703fc2e56349cdcbdca4da3c0c69b57ee8da8132aae95c7032ae3":{"translations":{"python":{"source":"import aws_cdk.aws_certificatemanager as acm\n# certificate: acm.Certificate\n# source_bucket: s3.Bucket\n\n\nviewer_certificate = cloudfront.ViewerCertificate.from_acm_certificate(certificate,\n    aliases=[\"MYALIAS\"]\n)\n\ncloudfront.CloudFrontWebDistribution(self, \"MyCfWebDistribution\",\n    origin_configs=[cloudfront.SourceConfiguration(\n        s3_origin_source=cloudfront.S3OriginConfig(\n            s3_bucket_source=source_bucket\n        ),\n        behaviors=[cloudfront.Behavior(is_default_behavior=True)]\n    )\n    ],\n    viewer_certificate=viewer_certificate\n)","version":"2"},"csharp":{"source":"using Amazon.CDK.AWS.CertificateManager;\nCertificate certificate;\nBucket sourceBucket;\n\n\nvar viewerCertificate = ViewerCertificate.FromAcmCertificate(certificate, new ViewerCertificateOptions {\n    Aliases = new [] { \"MYALIAS\" }\n});\n\nnew CloudFrontWebDistribution(this, \"MyCfWebDistribution\", new CloudFrontWebDistributionProps {\n    OriginConfigs = new [] { new SourceConfiguration {\n        S3OriginSource = new S3OriginConfig {\n            S3BucketSource = sourceBucket\n        },\n        Behaviors = new [] { new Behavior { IsDefaultBehavior = true } }\n    } },\n    ViewerCertificate = viewerCertificate\n});","version":"1"},"java":{"source":"import software.amazon.awscdk.services.certificatemanager.*;\nCertificate certificate;\nBucket sourceBucket;\n\n\nViewerCertificate viewerCertificate = ViewerCertificate.fromAcmCertificate(certificate, ViewerCertificateOptions.builder()\n        .aliases(List.of(\"MYALIAS\"))\n        .build());\n\nCloudFrontWebDistribution.Builder.create(this, \"MyCfWebDistribution\")\n        .originConfigs(List.of(SourceConfiguration.builder()\n                .s3OriginSource(S3OriginConfig.builder()\n                        .s3BucketSource(sourceBucket)\n                        .build())\n                .behaviors(List.of(Behavior.builder().isDefaultBehavior(true).build()))\n                .build()))\n        .viewerCertificate(viewerCertificate)\n        .build();","version":"1"},"go":{"source":"import acm \"github.com/aws-samples/dummy/awscdkawscertificatemanager\"\nvar certificate certificate\nvar sourceBucket bucket\n\n\nviewerCertificate := cloudfront.ViewerCertificate_FromAcmCertificate(certificate, &ViewerCertificateOptions{\n\tAliases: []*string{\n\t\tjsii.String(\"MYALIAS\"),\n\t},\n})\n\ncloudfront.NewCloudFrontWebDistribution(this, jsii.String(\"MyCfWebDistribution\"), &CloudFrontWebDistributionProps{\n\tOriginConfigs: []sourceConfiguration{\n\t\t&sourceConfiguration{\n\t\t\tS3OriginSource: &S3OriginConfig{\n\t\t\t\tS3BucketSource: sourceBucket,\n\t\t\t},\n\t\t\tBehaviors: []behavior{\n\t\t\t\t&behavior{\n\t\t\t\t\tIsDefaultBehavior: jsii.Boolean(true),\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n\tViewerCertificate: viewerCertificate,\n})","version":"1"},"$":{"source":"import * as acm from '@aws-cdk/aws-certificatemanager';\ndeclare const certificate: acm.Certificate;\ndeclare const sourceBucket: s3.Bucket;\n\nconst viewerCertificate = cloudfront.ViewerCertificate.fromAcmCertificate(certificate, {\n  aliases: ['MYALIAS'],\n});\n\nnew cloudfront.CloudFrontWebDistribution(this, 'MyCfWebDistribution', {\n  originConfigs: [\n    {\n      s3OriginSource: {\n        s3BucketSource: sourceBucket,\n      },\n      behaviors : [ {isDefaultBehavior: true} ],\n    },\n  ],\n  viewerCertificate: viewerCertificate,\n});","version":"0"}},"location":{"api":{"api":"moduleReadme","moduleFqn":"@aws-cdk/aws-cloudfront"},"field":{"field":"markdown","line":663}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-certificatemanager.ICertificate","@aws-cdk/aws-cloudfront.CloudFrontWebDistribution","@aws-cdk/aws-cloudfront.CloudFrontWebDistributionProps","@aws-cdk/aws-cloudfront.S3OriginConfig","@aws-cdk/aws-cloudfront.ViewerCertificate","@aws-cdk/aws-cloudfront.ViewerCertificate#fromAcmCertificate","@aws-cdk/aws-cloudfront.ViewerCertificateOptions","@aws-cdk/aws-s3.IBucket","constructs.Construct"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\nimport * as acm from '@aws-cdk/aws-certificatemanager';\ndeclare const certificate: acm.Certificate;\ndeclare const sourceBucket: s3.Bucket;\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from 'constructs';\nimport { Duration, Stack } from '@aws-cdk/core';\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nimport * as origins from '@aws-cdk/aws-cloudfront-origins';\nimport * as s3 from '@aws-cdk/aws-s3';\nimport * as ec2 from '@aws-cdk/aws-ec2';\nimport * as elbv2 from '@aws-cdk/aws-elasticloadbalancingv2';\nimport * as lambda from '@aws-cdk/aws-lambda';\nimport * as path from 'path';\n\nclass Context extends Stack {\n  constructor(scope: Construct, id: string) {\n    super(scope, id);\n\n    // Code snippet begins after !show marker below\n/// !show\n\n\nconst viewerCertificate = cloudfront.ViewerCertificate.fromAcmCertificate(certificate, {\n  aliases: ['MYALIAS'],\n});\n\nnew cloudfront.CloudFrontWebDistribution(this, 'MyCfWebDistribution', {\n  originConfigs: [\n    {\n      s3OriginSource: {\n        s3BucketSource: sourceBucket,\n      },\n      behaviors : [ {isDefaultBehavior: true} ],\n    },\n  ],\n  viewerCertificate: viewerCertificate,\n});\n/// !hide\n// Code snippet ended before !hide marker above\n  }\n}\n","syntaxKindCounter":{"10":3,"75":23,"104":1,"106":1,"130":2,"153":2,"169":2,"192":3,"193":5,"194":3,"196":1,"197":1,"225":3,"226":1,"242":3,"243":3,"254":1,"255":1,"256":1,"281":7,"290":1},"fqnsFingerprint":"ea2f660b81f3a58b2a318d88a3062973e550bfdbb5d86d1e66877d751c5c45f1"},"86bb8ed762c779ff06069d12206b99418cc8f437d4ec8ba5db4d3bbcca295b6a":{"translations":{"python":{"source":"import aws_cdk.aws_certificatemanager as acm\n# certificate: acm.Certificate\n# source_bucket: s3.Bucket\n\n\ndistribution = cloudfront.Distribution(self, \"MyCfWebDistribution\",\n    default_behavior=cloudfront.BehaviorOptions(\n        origin=origins.S3Origin(source_bucket)\n    ),\n    domain_names=[\"MYALIAS\"],\n    certificate=certificate\n)","version":"2"},"csharp":{"source":"using Amazon.CDK.AWS.CertificateManager;\nCertificate certificate;\nBucket sourceBucket;\n\n\nvar distribution = new Distribution(this, \"MyCfWebDistribution\", new DistributionProps {\n    DefaultBehavior = new BehaviorOptions {\n        Origin = new S3Origin(sourceBucket)\n    },\n    DomainNames = new [] { \"MYALIAS\" },\n    Certificate = certificate\n});","version":"1"},"java":{"source":"import software.amazon.awscdk.services.certificatemanager.*;\nCertificate certificate;\nBucket sourceBucket;\n\n\nDistribution distribution = Distribution.Builder.create(this, \"MyCfWebDistribution\")\n        .defaultBehavior(BehaviorOptions.builder()\n                .origin(new S3Origin(sourceBucket))\n                .build())\n        .domainNames(List.of(\"MYALIAS\"))\n        .certificate(certificate)\n        .build();","version":"1"},"go":{"source":"import acm \"github.com/aws-samples/dummy/awscdkawscertificatemanager\"\nvar certificate certificate\nvar sourceBucket bucket\n\n\ndistribution := cloudfront.NewDistribution(this, jsii.String(\"MyCfWebDistribution\"), &DistributionProps{\n\tDefaultBehavior: &BehaviorOptions{\n\t\tOrigin: origins.NewS3Origin(sourceBucket),\n\t},\n\tDomainNames: []*string{\n\t\tjsii.String(\"MYALIAS\"),\n\t},\n\tCertificate: certificate,\n})","version":"1"},"$":{"source":"import * as acm from '@aws-cdk/aws-certificatemanager';\ndeclare const certificate: acm.Certificate;\ndeclare const sourceBucket: s3.Bucket;\n\nconst distribution = new cloudfront.Distribution(this, 'MyCfWebDistribution', {\n  defaultBehavior: {\n    origin: new origins.S3Origin(sourceBucket),\n  },\n  domainNames: ['MYALIAS'],\n  certificate: certificate,\n});","version":"0"}},"location":{"api":{"api":"moduleReadme","moduleFqn":"@aws-cdk/aws-cloudfront"},"field":{"field":"markdown","line":687}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-certificatemanager.ICertificate","@aws-cdk/aws-cloudfront-origins.S3Origin","@aws-cdk/aws-cloudfront.BehaviorOptions","@aws-cdk/aws-cloudfront.Distribution","@aws-cdk/aws-cloudfront.DistributionProps","@aws-cdk/aws-cloudfront.IOrigin","@aws-cdk/aws-s3.IBucket","constructs.Construct"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\nimport * as acm from '@aws-cdk/aws-certificatemanager';\ndeclare const certificate: acm.Certificate;\ndeclare const sourceBucket: s3.Bucket;\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from 'constructs';\nimport { Duration, Stack } from '@aws-cdk/core';\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nimport * as origins from '@aws-cdk/aws-cloudfront-origins';\nimport * as s3 from '@aws-cdk/aws-s3';\nimport * as ec2 from '@aws-cdk/aws-ec2';\nimport * as elbv2 from '@aws-cdk/aws-elasticloadbalancingv2';\nimport * as lambda from '@aws-cdk/aws-lambda';\nimport * as path from 'path';\n\nclass Context extends Stack {\n  constructor(scope: Construct, id: string) {\n    super(scope, id);\n\n    // Code snippet begins after !show marker below\n/// !show\n\n\nconst distribution = new cloudfront.Distribution(this, 'MyCfWebDistribution', {\n  defaultBehavior: {\n    origin: new origins.S3Origin(sourceBucket),\n  },\n  domainNames: ['MYALIAS'],\n  certificate: certificate,\n});\n/// !hide\n// Code snippet ended before !hide marker above\n  }\n}\n","syntaxKindCounter":{"10":3,"75":18,"104":1,"130":2,"153":2,"169":2,"192":1,"193":2,"194":2,"197":2,"225":3,"242":3,"243":3,"254":1,"255":1,"256":1,"281":4,"290":1},"fqnsFingerprint":"12061b2be7b25a600a050d2aec40b0085cda321e7e6ff21f2acea7dfeffe1cb1"},"137f2657e80c88efa7627f8643996098a0b2119cc90e4e91ffc84f481af0acad":{"translations":{"python":{"source":"# source_bucket: s3.Bucket\n\nviewer_certificate = cloudfront.ViewerCertificate.from_iam_certificate(\"MYIAMROLEIDENTIFIER\",\n    aliases=[\"MYALIAS\"]\n)\n\ncloudfront.CloudFrontWebDistribution(self, \"MyCfWebDistribution\",\n    origin_configs=[cloudfront.SourceConfiguration(\n        s3_origin_source=cloudfront.S3OriginConfig(\n            s3_bucket_source=source_bucket\n        ),\n        behaviors=[cloudfront.Behavior(is_default_behavior=True)]\n    )\n    ],\n    viewer_certificate=viewer_certificate\n)","version":"2"},"csharp":{"source":"Bucket sourceBucket;\n\nvar viewerCertificate = ViewerCertificate.FromIamCertificate(\"MYIAMROLEIDENTIFIER\", new ViewerCertificateOptions {\n    Aliases = new [] { \"MYALIAS\" }\n});\n\nnew CloudFrontWebDistribution(this, \"MyCfWebDistribution\", new CloudFrontWebDistributionProps {\n    OriginConfigs = new [] { new SourceConfiguration {\n        S3OriginSource = new S3OriginConfig {\n            S3BucketSource = sourceBucket\n        },\n        Behaviors = new [] { new Behavior { IsDefaultBehavior = true } }\n    } },\n    ViewerCertificate = viewerCertificate\n});","version":"1"},"java":{"source":"Bucket sourceBucket;\n\nViewerCertificate viewerCertificate = ViewerCertificate.fromIamCertificate(\"MYIAMROLEIDENTIFIER\", ViewerCertificateOptions.builder()\n        .aliases(List.of(\"MYALIAS\"))\n        .build());\n\nCloudFrontWebDistribution.Builder.create(this, \"MyCfWebDistribution\")\n        .originConfigs(List.of(SourceConfiguration.builder()\n                .s3OriginSource(S3OriginConfig.builder()\n                        .s3BucketSource(sourceBucket)\n                        .build())\n                .behaviors(List.of(Behavior.builder().isDefaultBehavior(true).build()))\n                .build()))\n        .viewerCertificate(viewerCertificate)\n        .build();","version":"1"},"go":{"source":"var sourceBucket bucket\n\nviewerCertificate := cloudfront.ViewerCertificate_FromIamCertificate(jsii.String(\"MYIAMROLEIDENTIFIER\"), &ViewerCertificateOptions{\n\tAliases: []*string{\n\t\tjsii.String(\"MYALIAS\"),\n\t},\n})\n\ncloudfront.NewCloudFrontWebDistribution(this, jsii.String(\"MyCfWebDistribution\"), &CloudFrontWebDistributionProps{\n\tOriginConfigs: []sourceConfiguration{\n\t\t&sourceConfiguration{\n\t\t\tS3OriginSource: &S3OriginConfig{\n\t\t\t\tS3BucketSource: sourceBucket,\n\t\t\t},\n\t\t\tBehaviors: []behavior{\n\t\t\t\t&behavior{\n\t\t\t\t\tIsDefaultBehavior: jsii.Boolean(true),\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n\tViewerCertificate: viewerCertificate,\n})","version":"1"},"$":{"source":"declare const sourceBucket: s3.Bucket;\nconst viewerCertificate = cloudfront.ViewerCertificate.fromIamCertificate('MYIAMROLEIDENTIFIER', {\n  aliases: ['MYALIAS'],\n});\n\nnew cloudfront.CloudFrontWebDistribution(this, 'MyCfWebDistribution', {\n  originConfigs: [\n    {\n      s3OriginSource: {\n        s3BucketSource: sourceBucket,\n      },\n      behaviors : [ {isDefaultBehavior: true} ],\n    },\n  ],\n  viewerCertificate: viewerCertificate,\n});","version":"0"}},"location":{"api":{"api":"moduleReadme","moduleFqn":"@aws-cdk/aws-cloudfront"},"field":{"field":"markdown","line":703}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.CloudFrontWebDistribution","@aws-cdk/aws-cloudfront.CloudFrontWebDistributionProps","@aws-cdk/aws-cloudfront.S3OriginConfig","@aws-cdk/aws-cloudfront.ViewerCertificate","@aws-cdk/aws-cloudfront.ViewerCertificate#fromIamCertificate","@aws-cdk/aws-cloudfront.ViewerCertificateOptions","@aws-cdk/aws-s3.IBucket","constructs.Construct"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\ndeclare const sourceBucket: s3.Bucket;\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from 'constructs';\nimport { Duration, Stack } from '@aws-cdk/core';\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nimport * as origins from '@aws-cdk/aws-cloudfront-origins';\nimport * as s3 from '@aws-cdk/aws-s3';\nimport * as ec2 from '@aws-cdk/aws-ec2';\nimport * as elbv2 from '@aws-cdk/aws-elasticloadbalancingv2';\nimport * as lambda from '@aws-cdk/aws-lambda';\nimport * as path from 'path';\n\nclass Context extends Stack {\n  constructor(scope: Construct, id: string) {\n    super(scope, id);\n\n    // Code snippet begins after !show marker below\n/// !show\n\nconst viewerCertificate = cloudfront.ViewerCertificate.fromIamCertificate('MYIAMROLEIDENTIFIER', {\n  aliases: ['MYALIAS'],\n});\n\nnew cloudfront.CloudFrontWebDistribution(this, 'MyCfWebDistribution', {\n  originConfigs: [\n    {\n      s3OriginSource: {\n        s3BucketSource: sourceBucket,\n      },\n      behaviors : [ {isDefaultBehavior: true} ],\n    },\n  ],\n  viewerCertificate: viewerCertificate,\n});\n/// !hide\n// Code snippet ended before !hide marker above\n  }\n}\n","syntaxKindCounter":{"10":3,"75":18,"104":1,"106":1,"130":1,"153":1,"169":1,"192":3,"193":5,"194":3,"196":1,"197":1,"225":2,"226":1,"242":2,"243":2,"281":7,"290":1},"fqnsFingerprint":"dc85e0e66756c7ca4ca260fa52258db75a8634baf4e3cb2bd68bffa4dc45a896"},"55a82401ba8e473f44485582df98d9a2aee696083e52f1bf8c4d52830d854d44":{"translations":{"python":{"source":"# source_bucket: s3.Bucket\n\ndistribution = cloudfront.Distribution(self, \"MyCfWebDistribution\",\n    default_behavior=cloudfront.BehaviorOptions(\n        origin=origins.S3Origin(source_bucket)\n    ),\n    domain_names=[\"MYALIAS\"]\n)\n\ncfn_distribution = distribution.node.default_child\n\ncfn_distribution.add_property_override(\"ViewerCertificate.IamCertificateId\", \"MYIAMROLEIDENTIFIER\")\ncfn_distribution.add_property_override(\"ViewerCertificate.SslSupportMethod\", \"sni-only\")","version":"2"},"csharp":{"source":"Bucket sourceBucket;\n\nvar distribution = new Distribution(this, \"MyCfWebDistribution\", new DistributionProps {\n    DefaultBehavior = new BehaviorOptions {\n        Origin = new S3Origin(sourceBucket)\n    },\n    DomainNames = new [] { \"MYALIAS\" }\n});\n\nvar cfnDistribution = (CfnDistribution)distribution.Node.DefaultChild;\n\ncfnDistribution.AddPropertyOverride(\"ViewerCertificate.IamCertificateId\", \"MYIAMROLEIDENTIFIER\");\ncfnDistribution.AddPropertyOverride(\"ViewerCertificate.SslSupportMethod\", \"sni-only\");","version":"1"},"java":{"source":"Bucket sourceBucket;\n\nDistribution distribution = Distribution.Builder.create(this, \"MyCfWebDistribution\")\n        .defaultBehavior(BehaviorOptions.builder()\n                .origin(new S3Origin(sourceBucket))\n                .build())\n        .domainNames(List.of(\"MYALIAS\"))\n        .build();\n\nCfnDistribution cfnDistribution = (CfnDistribution)distribution.getNode().getDefaultChild();\n\ncfnDistribution.addPropertyOverride(\"ViewerCertificate.IamCertificateId\", \"MYIAMROLEIDENTIFIER\");\ncfnDistribution.addPropertyOverride(\"ViewerCertificate.SslSupportMethod\", \"sni-only\");","version":"1"},"go":{"source":"var sourceBucket bucket\n\ndistribution := cloudfront.NewDistribution(this, jsii.String(\"MyCfWebDistribution\"), &DistributionProps{\n\tDefaultBehavior: &BehaviorOptions{\n\t\tOrigin: origins.NewS3Origin(sourceBucket),\n\t},\n\tDomainNames: []*string{\n\t\tjsii.String(\"MYALIAS\"),\n\t},\n})\n\ncfnDistribution := distribution.Node.defaultChild.(cfnDistribution)\n\ncfnDistribution.AddPropertyOverride(jsii.String(\"ViewerCertificate.IamCertificateId\"), jsii.String(\"MYIAMROLEIDENTIFIER\"))\ncfnDistribution.AddPropertyOverride(jsii.String(\"ViewerCertificate.SslSupportMethod\"), jsii.String(\"sni-only\"))","version":"1"},"$":{"source":"declare const sourceBucket: s3.Bucket;\nconst distribution = new cloudfront.Distribution(this, 'MyCfWebDistribution', {\n  defaultBehavior: {\n    origin: new origins.S3Origin(sourceBucket),\n  },\n  domainNames: ['MYALIAS'],\n});\n\nconst cfnDistribution = distribution.node.defaultChild as cloudfront.CfnDistribution;\n\ncfnDistribution.addPropertyOverride('ViewerCertificate.IamCertificateId', 'MYIAMROLEIDENTIFIER');\ncfnDistribution.addPropertyOverride('ViewerCertificate.SslSupportMethod', 'sni-only');","version":"0"}},"location":{"api":{"api":"moduleReadme","moduleFqn":"@aws-cdk/aws-cloudfront"},"field":{"field":"markdown","line":724}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront-origins.S3Origin","@aws-cdk/aws-cloudfront.BehaviorOptions","@aws-cdk/aws-cloudfront.CfnDistribution","@aws-cdk/aws-cloudfront.Distribution","@aws-cdk/aws-cloudfront.DistributionProps","@aws-cdk/aws-cloudfront.IOrigin","@aws-cdk/aws-s3.IBucket","@aws-cdk/core.CfnResource#addPropertyOverride","@aws-cdk/core.Construct#node","constructs.Construct"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\ndeclare const sourceBucket: s3.Bucket;\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from 'constructs';\nimport { Duration, Stack } from '@aws-cdk/core';\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nimport * as origins from '@aws-cdk/aws-cloudfront-origins';\nimport * as s3 from '@aws-cdk/aws-s3';\nimport * as ec2 from '@aws-cdk/aws-ec2';\nimport * as elbv2 from '@aws-cdk/aws-elasticloadbalancingv2';\nimport * as lambda from '@aws-cdk/aws-lambda';\nimport * as path from 'path';\n\nclass Context extends Stack {\n  constructor(scope: Construct, id: string) {\n    super(scope, id);\n\n    // Code snippet begins after !show marker below\n/// !show\n\nconst distribution = new cloudfront.Distribution(this, 'MyCfWebDistribution', {\n  defaultBehavior: {\n    origin: new origins.S3Origin(sourceBucket),\n  },\n  domainNames: ['MYALIAS'],\n});\n\nconst cfnDistribution = distribution.node.defaultChild as cloudfront.CfnDistribution;\n\ncfnDistribution.addPropertyOverride('ViewerCertificate.IamCertificateId', 'MYIAMROLEIDENTIFIER');\ncfnDistribution.addPropertyOverride('ViewerCertificate.SslSupportMethod', 'sni-only');\n/// !hide\n// Code snippet ended before !hide marker above\n  }\n}\n","syntaxKindCounter":{"10":6,"75":22,"104":1,"130":1,"153":2,"169":2,"192":1,"193":2,"194":6,"196":2,"197":2,"217":1,"225":3,"226":2,"242":3,"243":3,"281":3,"290":1},"fqnsFingerprint":"6616892443325e2e410fc6632ed2bbc3903ad7f38f9997bce276a11bd9998f9e"},"5c430625d5d51ba98093c8a71467d98c285d4b498cd6e2b2f3ea675339ec40cd":{"translations":{"python":{"source":"# Using a CloudFrontWebDistribution construct.\n\n# source_bucket: s3.Bucket\n\ndistribution = cloudfront.CloudFrontWebDistribution(self, \"MyDistribution\",\n    origin_configs=[cloudfront.SourceConfiguration(\n        s3_origin_source=cloudfront.S3OriginConfig(\n            s3_bucket_source=source_bucket\n        ),\n        behaviors=[cloudfront.Behavior(is_default_behavior=True)]\n    )\n    ]\n)","version":"2"},"csharp":{"source":"// Using a CloudFrontWebDistribution construct.\n\nBucket sourceBucket;\n\nvar distribution = new CloudFrontWebDistribution(this, \"MyDistribution\", new CloudFrontWebDistributionProps {\n    OriginConfigs = new [] { new SourceConfiguration {\n        S3OriginSource = new S3OriginConfig {\n            S3BucketSource = sourceBucket\n        },\n        Behaviors = new [] { new Behavior { IsDefaultBehavior = true } }\n    } }\n});","version":"1"},"java":{"source":"// Using a CloudFrontWebDistribution construct.\n\nBucket sourceBucket;\n\nCloudFrontWebDistribution distribution = CloudFrontWebDistribution.Builder.create(this, \"MyDistribution\")\n        .originConfigs(List.of(SourceConfiguration.builder()\n                .s3OriginSource(S3OriginConfig.builder()\n                        .s3BucketSource(sourceBucket)\n                        .build())\n                .behaviors(List.of(Behavior.builder().isDefaultBehavior(true).build()))\n                .build()))\n        .build();","version":"1"},"go":{"source":"// Using a CloudFrontWebDistribution construct.\n\nvar sourceBucket bucket\n\ndistribution := cloudfront.NewCloudFrontWebDistribution(this, jsii.String(\"MyDistribution\"), &CloudFrontWebDistributionProps{\n\tOriginConfigs: []sourceConfiguration{\n\t\t&sourceConfiguration{\n\t\t\tS3OriginSource: &S3OriginConfig{\n\t\t\t\tS3BucketSource: sourceBucket,\n\t\t\t},\n\t\t\tBehaviors: []behavior{\n\t\t\t\t&behavior{\n\t\t\t\t\tIsDefaultBehavior: jsii.Boolean(true),\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n})","version":"1"},"$":{"source":"// Using a CloudFrontWebDistribution construct.\n\ndeclare const sourceBucket: s3.Bucket;\nconst distribution = new cloudfront.CloudFrontWebDistribution(this, 'MyDistribution', {\n  originConfigs: [\n    {\n      s3OriginSource: {\n        s3BucketSource: sourceBucket,\n      },\n      behaviors : [ {isDefaultBehavior: true}],\n    },\n  ],\n});","version":"0"}},"location":{"api":{"api":"moduleReadme","moduleFqn":"@aws-cdk/aws-cloudfront"},"field":{"field":"markdown","line":752}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.CloudFrontWebDistribution","@aws-cdk/aws-cloudfront.CloudFrontWebDistributionProps","@aws-cdk/aws-cloudfront.S3OriginConfig","@aws-cdk/aws-s3.IBucket","constructs.Construct"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// Using a CloudFrontWebDistribution construct.\n\ndeclare const sourceBucket: s3.Bucket;\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from 'constructs';\nimport { Duration, Stack } from '@aws-cdk/core';\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nimport * as origins from '@aws-cdk/aws-cloudfront-origins';\nimport * as s3 from '@aws-cdk/aws-s3';\nimport * as ec2 from '@aws-cdk/aws-ec2';\nimport * as elbv2 from '@aws-cdk/aws-elasticloadbalancingv2';\nimport * as lambda from '@aws-cdk/aws-lambda';\nimport * as path from 'path';\n\nclass Context extends Stack {\n  constructor(scope: Construct, id: string) {\n    super(scope, id);\n\n    // Code snippet begins after !show marker below\n/// !show\n\nconst distribution = new cloudfront.CloudFrontWebDistribution(this, 'MyDistribution', {\n  originConfigs: [\n    {\n      s3OriginSource: {\n        s3BucketSource: sourceBucket,\n      },\n      behaviors : [ {isDefaultBehavior: true}],\n    },\n  ],\n});\n/// !hide\n// Code snippet ended before !hide marker above\n  }\n}\n","syntaxKindCounter":{"10":1,"75":12,"104":1,"106":1,"130":1,"153":1,"169":1,"192":2,"193":4,"194":1,"197":1,"225":2,"242":2,"243":2,"281":5,"290":1},"fqnsFingerprint":"b89366c2ce8bfd748e4569ca8f4aedddc903f1bc0385ec0b33bfb8c45d7174e0"},"9009b3b7e72025b8d5039f8809659af96c26a8746adb6a6534c795d1776ea357":{"translations":{"python":{"source":"s3_bucket_source = s3.Bucket(self, \"Bucket\")\n\ndistribution = cloudfront.CloudFrontWebDistribution(self, \"AnAmazingWebsiteProbably\",\n    origin_configs=[cloudfront.SourceConfiguration(\n        s3_origin_source=cloudfront.S3OriginConfig(s3_bucket_source=s3_bucket_source),\n        behaviors=[cloudfront.Behavior(is_default_behavior=True)]\n    )],\n    viewer_certificate=cloudfront.ViewerCertificate.from_cloud_front_default_certificate(\"www.example.com\")\n)","version":"2"},"csharp":{"source":"var s3BucketSource = new Bucket(this, \"Bucket\");\n\nvar distribution = new CloudFrontWebDistribution(this, \"AnAmazingWebsiteProbably\", new CloudFrontWebDistributionProps {\n    OriginConfigs = new [] { new SourceConfiguration {\n        S3OriginSource = new S3OriginConfig { S3BucketSource = s3BucketSource },\n        Behaviors = new [] { new Behavior { IsDefaultBehavior = true } }\n    } },\n    ViewerCertificate = ViewerCertificate.FromCloudFrontDefaultCertificate(\"www.example.com\")\n});","version":"1"},"java":{"source":"Bucket s3BucketSource = new Bucket(this, \"Bucket\");\n\nCloudFrontWebDistribution distribution = CloudFrontWebDistribution.Builder.create(this, \"AnAmazingWebsiteProbably\")\n        .originConfigs(List.of(SourceConfiguration.builder()\n                .s3OriginSource(S3OriginConfig.builder().s3BucketSource(s3BucketSource).build())\n                .behaviors(List.of(Behavior.builder().isDefaultBehavior(true).build()))\n                .build()))\n        .viewerCertificate(ViewerCertificate.fromCloudFrontDefaultCertificate(\"www.example.com\"))\n        .build();","version":"1"},"go":{"source":"s3BucketSource := s3.NewBucket(this, jsii.String(\"Bucket\"))\n\ndistribution := cloudfront.NewCloudFrontWebDistribution(this, jsii.String(\"AnAmazingWebsiteProbably\"), &CloudFrontWebDistributionProps{\n\tOriginConfigs: []sourceConfiguration{\n\t\t&sourceConfiguration{\n\t\t\tS3OriginSource: &S3OriginConfig{\n\t\t\t\tS3BucketSource: *S3BucketSource,\n\t\t\t},\n\t\t\tBehaviors: []behavior{\n\t\t\t\t&behavior{\n\t\t\t\t\tIsDefaultBehavior: jsii.Boolean(true),\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n\tViewerCertificate: cloudfront.ViewerCertificate_FromCloudFrontDefaultCertificate(jsii.String(\"www.example.com\")),\n})","version":"1"},"$":{"source":"    const s3BucketSource = new s3.Bucket(this, 'Bucket');\n\n    const distribution = new cloudfront.CloudFrontWebDistribution(this, 'AnAmazingWebsiteProbably', {\n      originConfigs: [{\n        s3OriginSource: { s3BucketSource },\n        behaviors: [{ isDefaultBehavior: true }],\n      }],\n      viewerCertificate: cloudfront.ViewerCertificate.fromCloudFrontDefaultCertificate(\n        'www.example.com',\n      ),\n    });","version":"0"}},"location":{"api":{"api":"moduleReadme","moduleFqn":"@aws-cdk/aws-cloudfront"},"field":{"field":"markdown","line":782}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.CloudFrontWebDistribution","@aws-cdk/aws-cloudfront.CloudFrontWebDistributionProps","@aws-cdk/aws-cloudfront.S3OriginConfig","@aws-cdk/aws-cloudfront.ViewerCertificate","@aws-cdk/aws-cloudfront.ViewerCertificate#fromCloudFrontDefaultCertificate","@aws-cdk/aws-s3.Bucket","@aws-cdk/aws-s3.IBucket","constructs.Construct"],"fullSource":"import * as s3 from '@aws-cdk/aws-s3';\nimport { App, Stack } from '@aws-cdk/core';\nimport { Construct } from 'constructs';\nimport * as cloudfront from '../lib';\n\nclass AcmCertificateAliasStack extends Stack {\n  constructor(scope: Construct, id: string) {\n    super(scope, id);\n    /// !show\n    const s3BucketSource = new s3.Bucket(this, 'Bucket');\n\n    const distribution = new cloudfront.CloudFrontWebDistribution(this, 'AnAmazingWebsiteProbably', {\n      originConfigs: [{\n        s3OriginSource: { s3BucketSource },\n        behaviors: [{ isDefaultBehavior: true }],\n      }],\n      viewerCertificate: cloudfront.ViewerCertificate.fromCloudFrontDefaultCertificate(\n        'www.example.com',\n      ),\n    });\n    /// !hide\n\n    Array.isArray(s3BucketSource);\n    Array.isArray(distribution);\n  }\n}\n\nconst app = new App();\nnew AcmCertificateAliasStack(app, 'AcmCertificateAliasStack');\napp.synth();\n","syntaxKindCounter":{"10":3,"75":15,"104":2,"106":1,"192":2,"193":4,"194":4,"196":1,"197":2,"225":2,"242":2,"243":2,"281":5,"282":1},"fqnsFingerprint":"904093642e1c6e7f50e877e6d28863e2f8655a9194d010b68f984883a2c14fc2"},"34a0cd545bf5a1dcafc40aefb926b7449dd3d37488cf74126ef7c21cfb50a735":{"translations":{"python":{"source":"s3_bucket_source = s3.Bucket(self, \"Bucket\")\n\ncertificate = certificatemanager.Certificate(self, \"Certificate\",\n    domain_name=\"example.com\",\n    subject_alternative_names=[\"*.example.com\"]\n)\n\ndistribution = cloudfront.CloudFrontWebDistribution(self, \"AnAmazingWebsiteProbably\",\n    origin_configs=[cloudfront.SourceConfiguration(\n        s3_origin_source=cloudfront.S3OriginConfig(s3_bucket_source=s3_bucket_source),\n        behaviors=[cloudfront.Behavior(is_default_behavior=True)]\n    )],\n    viewer_certificate=cloudfront.ViewerCertificate.from_acm_certificate(certificate,\n        aliases=[\"example.com\", \"www.example.com\"],\n        security_policy=cloudfront.SecurityPolicyProtocol.TLS_V1,  # default\n        ssl_method=cloudfront.SSLMethod.SNI\n    )\n)","version":"2"},"csharp":{"source":"var s3BucketSource = new Bucket(this, \"Bucket\");\n\nvar certificate = new Certificate(this, \"Certificate\", new CertificateProps {\n    DomainName = \"example.com\",\n    SubjectAlternativeNames = new [] { \"*.example.com\" }\n});\n\nvar distribution = new CloudFrontWebDistribution(this, \"AnAmazingWebsiteProbably\", new CloudFrontWebDistributionProps {\n    OriginConfigs = new [] { new SourceConfiguration {\n        S3OriginSource = new S3OriginConfig { S3BucketSource = s3BucketSource },\n        Behaviors = new [] { new Behavior { IsDefaultBehavior = true } }\n    } },\n    ViewerCertificate = ViewerCertificate.FromAcmCertificate(certificate, new ViewerCertificateOptions {\n        Aliases = new [] { \"example.com\", \"www.example.com\" },\n        SecurityPolicy = SecurityPolicyProtocol.TLS_V1,  // default\n        SslMethod = SSLMethod.SNI\n    })\n});","version":"1"},"java":{"source":"Bucket s3BucketSource = new Bucket(this, \"Bucket\");\n\nCertificate certificate = Certificate.Builder.create(this, \"Certificate\")\n        .domainName(\"example.com\")\n        .subjectAlternativeNames(List.of(\"*.example.com\"))\n        .build();\n\nCloudFrontWebDistribution distribution = CloudFrontWebDistribution.Builder.create(this, \"AnAmazingWebsiteProbably\")\n        .originConfigs(List.of(SourceConfiguration.builder()\n                .s3OriginSource(S3OriginConfig.builder().s3BucketSource(s3BucketSource).build())\n                .behaviors(List.of(Behavior.builder().isDefaultBehavior(true).build()))\n                .build()))\n        .viewerCertificate(ViewerCertificate.fromAcmCertificate(certificate, ViewerCertificateOptions.builder()\n                .aliases(List.of(\"example.com\", \"www.example.com\"))\n                .securityPolicy(SecurityPolicyProtocol.TLS_V1) // default\n                .sslMethod(SSLMethod.SNI)\n                .build()))\n        .build();","version":"1"},"go":{"source":"s3BucketSource := s3.NewBucket(this, jsii.String(\"Bucket\"))\n\ncertificate := certificatemanager.NewCertificate(this, jsii.String(\"Certificate\"), &CertificateProps{\n\tDomainName: jsii.String(\"example.com\"),\n\tSubjectAlternativeNames: []*string{\n\t\tjsii.String(\"*.example.com\"),\n\t},\n})\n\ndistribution := cloudfront.NewCloudFrontWebDistribution(this, jsii.String(\"AnAmazingWebsiteProbably\"), &CloudFrontWebDistributionProps{\n\tOriginConfigs: []sourceConfiguration{\n\t\t&sourceConfiguration{\n\t\t\tS3OriginSource: &S3OriginConfig{\n\t\t\t\tS3BucketSource: *S3BucketSource,\n\t\t\t},\n\t\t\tBehaviors: []behavior{\n\t\t\t\t&behavior{\n\t\t\t\t\tIsDefaultBehavior: jsii.Boolean(true),\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n\tViewerCertificate: cloudfront.ViewerCertificate_FromAcmCertificate(certificate, &ViewerCertificateOptions{\n\t\tAliases: []*string{\n\t\t\tjsii.String(\"example.com\"),\n\t\t\tjsii.String(\"www.example.com\"),\n\t\t},\n\t\tSecurityPolicy: cloudfront.SecurityPolicyProtocol_TLS_V1,\n\t\t // default\n\t\tSslMethod: cloudfront.SSLMethod_SNI,\n\t}),\n})","version":"1"},"$":{"source":"    const s3BucketSource = new s3.Bucket(this, 'Bucket');\n\n    const certificate = new certificatemanager.Certificate(this, 'Certificate', {\n      domainName: 'example.com',\n      subjectAlternativeNames: ['*.example.com'],\n    });\n\n    const distribution = new cloudfront.CloudFrontWebDistribution(this, 'AnAmazingWebsiteProbably', {\n      originConfigs: [{\n        s3OriginSource: { s3BucketSource },\n        behaviors: [{ isDefaultBehavior: true }],\n      }],\n      viewerCertificate: cloudfront.ViewerCertificate.fromAcmCertificate(\n        certificate,\n        {\n          aliases: ['example.com', 'www.example.com'],\n          securityPolicy: cloudfront.SecurityPolicyProtocol.TLS_V1, // default\n          sslMethod: cloudfront.SSLMethod.SNI, // default\n        },\n      ),\n    });","version":"0"}},"location":{"api":{"api":"moduleReadme","moduleFqn":"@aws-cdk/aws-cloudfront"},"field":{"field":"markdown","line":808}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-certificatemanager.Certificate","@aws-cdk/aws-certificatemanager.CertificateProps","@aws-cdk/aws-certificatemanager.ICertificate","@aws-cdk/aws-cloudfront.CloudFrontWebDistribution","@aws-cdk/aws-cloudfront.CloudFrontWebDistributionProps","@aws-cdk/aws-cloudfront.S3OriginConfig","@aws-cdk/aws-cloudfront.SSLMethod","@aws-cdk/aws-cloudfront.SSLMethod#SNI","@aws-cdk/aws-cloudfront.SecurityPolicyProtocol","@aws-cdk/aws-cloudfront.SecurityPolicyProtocol#TLS_V1","@aws-cdk/aws-cloudfront.ViewerCertificate","@aws-cdk/aws-cloudfront.ViewerCertificate#fromAcmCertificate","@aws-cdk/aws-cloudfront.ViewerCertificateOptions","@aws-cdk/aws-s3.Bucket","@aws-cdk/aws-s3.IBucket","constructs.Construct"],"fullSource":"import * as certificatemanager from '@aws-cdk/aws-certificatemanager';\nimport * as s3 from '@aws-cdk/aws-s3';\nimport { App, Stack } from '@aws-cdk/core';\nimport { Construct } from 'constructs';\nimport * as cloudfront from '../lib';\n\nclass AcmCertificateAliasStack extends Stack {\n  constructor(scope: Construct, id: string) {\n    super(scope, id);\n    /// !show\n    const s3BucketSource = new s3.Bucket(this, 'Bucket');\n\n    const certificate = new certificatemanager.Certificate(this, 'Certificate', {\n      domainName: 'example.com',\n      subjectAlternativeNames: ['*.example.com'],\n    });\n\n    const distribution = new cloudfront.CloudFrontWebDistribution(this, 'AnAmazingWebsiteProbably', {\n      originConfigs: [{\n        s3OriginSource: { s3BucketSource },\n        behaviors: [{ isDefaultBehavior: true }],\n      }],\n      viewerCertificate: cloudfront.ViewerCertificate.fromAcmCertificate(\n        certificate,\n        {\n          aliases: ['example.com', 'www.example.com'],\n          securityPolicy: cloudfront.SecurityPolicyProtocol.TLS_V1, // default\n          sslMethod: cloudfront.SSLMethod.SNI, // default\n        },\n      ),\n    });\n    /// !hide\n\n    Array.isArray(s3BucketSource);\n    Array.isArray(certificate);\n    Array.isArray(distribution);\n  }\n}\n\nconst app = new App();\nnew AcmCertificateAliasStack(app, 'AcmCertificateAliasStack');\napp.synth();\n","syntaxKindCounter":{"10":7,"75":30,"104":3,"106":1,"192":4,"193":6,"194":9,"196":1,"197":3,"225":3,"242":3,"243":3,"281":10,"282":1},"fqnsFingerprint":"e35872587824506ebd902707371ab567066773b1f2a6f68c57e8e03966be5d56"},"3beaf5a9271eea4efdd84ea93b388aa3eafdec3d8bb5f4f2e70c27d6b3736f2b":{"translations":{"python":{"source":"s3_bucket_source = s3.Bucket(self, \"Bucket\")\n\ndistribution = cloudfront.CloudFrontWebDistribution(self, \"AnAmazingWebsiteProbably\",\n    origin_configs=[cloudfront.SourceConfiguration(\n        s3_origin_source=cloudfront.S3OriginConfig(s3_bucket_source=s3_bucket_source),\n        behaviors=[cloudfront.Behavior(is_default_behavior=True)]\n    )],\n    viewer_certificate=cloudfront.ViewerCertificate.from_iam_certificate(\"certificateId\",\n        aliases=[\"example.com\"],\n        security_policy=cloudfront.SecurityPolicyProtocol.SSL_V3,  # default\n        ssl_method=cloudfront.SSLMethod.SNI\n    )\n)","version":"2"},"csharp":{"source":"var s3BucketSource = new Bucket(this, \"Bucket\");\n\nvar distribution = new CloudFrontWebDistribution(this, \"AnAmazingWebsiteProbably\", new CloudFrontWebDistributionProps {\n    OriginConfigs = new [] { new SourceConfiguration {\n        S3OriginSource = new S3OriginConfig { S3BucketSource = s3BucketSource },\n        Behaviors = new [] { new Behavior { IsDefaultBehavior = true } }\n    } },\n    ViewerCertificate = ViewerCertificate.FromIamCertificate(\"certificateId\", new ViewerCertificateOptions {\n        Aliases = new [] { \"example.com\" },\n        SecurityPolicy = SecurityPolicyProtocol.SSL_V3,  // default\n        SslMethod = SSLMethod.SNI\n    })\n});","version":"1"},"java":{"source":"Bucket s3BucketSource = new Bucket(this, \"Bucket\");\n\nCloudFrontWebDistribution distribution = CloudFrontWebDistribution.Builder.create(this, \"AnAmazingWebsiteProbably\")\n        .originConfigs(List.of(SourceConfiguration.builder()\n                .s3OriginSource(S3OriginConfig.builder().s3BucketSource(s3BucketSource).build())\n                .behaviors(List.of(Behavior.builder().isDefaultBehavior(true).build()))\n                .build()))\n        .viewerCertificate(ViewerCertificate.fromIamCertificate(\"certificateId\", ViewerCertificateOptions.builder()\n                .aliases(List.of(\"example.com\"))\n                .securityPolicy(SecurityPolicyProtocol.SSL_V3) // default\n                .sslMethod(SSLMethod.SNI)\n                .build()))\n        .build();","version":"1"},"go":{"source":"s3BucketSource := s3.NewBucket(this, jsii.String(\"Bucket\"))\n\ndistribution := cloudfront.NewCloudFrontWebDistribution(this, jsii.String(\"AnAmazingWebsiteProbably\"), &CloudFrontWebDistributionProps{\n\tOriginConfigs: []sourceConfiguration{\n\t\t&sourceConfiguration{\n\t\t\tS3OriginSource: &S3OriginConfig{\n\t\t\t\tS3BucketSource: *S3BucketSource,\n\t\t\t},\n\t\t\tBehaviors: []behavior{\n\t\t\t\t&behavior{\n\t\t\t\t\tIsDefaultBehavior: jsii.Boolean(true),\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n\tViewerCertificate: cloudfront.ViewerCertificate_FromIamCertificate(jsii.String(\"certificateId\"), &ViewerCertificateOptions{\n\t\tAliases: []*string{\n\t\t\tjsii.String(\"example.com\"),\n\t\t},\n\t\tSecurityPolicy: cloudfront.SecurityPolicyProtocol_SSL_V3,\n\t\t // default\n\t\tSslMethod: cloudfront.SSLMethod_SNI,\n\t}),\n})","version":"1"},"$":{"source":"    const s3BucketSource = new s3.Bucket(this, 'Bucket');\n\n    const distribution = new cloudfront.CloudFrontWebDistribution(this, 'AnAmazingWebsiteProbably', {\n      originConfigs: [{\n        s3OriginSource: { s3BucketSource },\n        behaviors: [{ isDefaultBehavior: true }],\n      }],\n      viewerCertificate: cloudfront.ViewerCertificate.fromIamCertificate(\n        'certificateId',\n        {\n          aliases: ['example.com'],\n          securityPolicy: cloudfront.SecurityPolicyProtocol.SSL_V3, // default\n          sslMethod: cloudfront.SSLMethod.SNI, // default\n        },\n      ),\n    });","version":"0"}},"location":{"api":{"api":"moduleReadme","moduleFqn":"@aws-cdk/aws-cloudfront"},"field":{"field":"markdown","line":840}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.CloudFrontWebDistribution","@aws-cdk/aws-cloudfront.CloudFrontWebDistributionProps","@aws-cdk/aws-cloudfront.S3OriginConfig","@aws-cdk/aws-cloudfront.SSLMethod","@aws-cdk/aws-cloudfront.SSLMethod#SNI","@aws-cdk/aws-cloudfront.SecurityPolicyProtocol","@aws-cdk/aws-cloudfront.SecurityPolicyProtocol#SSL_V3","@aws-cdk/aws-cloudfront.ViewerCertificate","@aws-cdk/aws-cloudfront.ViewerCertificate#fromIamCertificate","@aws-cdk/aws-cloudfront.ViewerCertificateOptions","@aws-cdk/aws-s3.Bucket","@aws-cdk/aws-s3.IBucket","constructs.Construct"],"fullSource":"import * as s3 from '@aws-cdk/aws-s3';\nimport { App, Stack } from '@aws-cdk/core';\nimport { Construct } from 'constructs';\nimport * as cloudfront from '../lib';\n\nclass AcmCertificateAliasStack extends Stack {\n  constructor(scope: Construct, id: string) {\n    super(scope, id);\n    /// !show\n    const s3BucketSource = new s3.Bucket(this, 'Bucket');\n\n    const distribution = new cloudfront.CloudFrontWebDistribution(this, 'AnAmazingWebsiteProbably', {\n      originConfigs: [{\n        s3OriginSource: { s3BucketSource },\n        behaviors: [{ isDefaultBehavior: true }],\n      }],\n      viewerCertificate: cloudfront.ViewerCertificate.fromIamCertificate(\n        'certificateId',\n        {\n          aliases: ['example.com'],\n          securityPolicy: cloudfront.SecurityPolicyProtocol.SSL_V3, // default\n          sslMethod: cloudfront.SSLMethod.SNI, // default\n        },\n      ),\n    });\n    /// !hide\n\n    Array.isArray(s3BucketSource);\n    Array.isArray(distribution);\n  }\n}\n\nconst app = new App();\nnew AcmCertificateAliasStack(app, 'AcmCertificateAliasStack');\napp.synth();\n","syntaxKindCounter":{"10":4,"75":24,"104":2,"106":1,"192":3,"193":5,"194":8,"196":1,"197":2,"225":2,"242":2,"243":2,"281":8,"282":1},"fqnsFingerprint":"553e0e84141237f23233031cbf607034ad3d9c6bd9373a50a3b4012e74732b57"},"3c2c6734aeca72056919b23c683818365f4e450ef7634dddecd536a1ab10d5d5":{"translations":{"python":{"source":"# Using trusted key groups for Cloudfront Web Distributions.\n# source_bucket: s3.Bucket\n# public_key: str\n\npub_key = cloudfront.PublicKey(self, \"MyPubKey\",\n    encoded_key=public_key\n)\n\nkey_group = cloudfront.KeyGroup(self, \"MyKeyGroup\",\n    items=[pub_key\n    ]\n)\n\ncloudfront.CloudFrontWebDistribution(self, \"AnAmazingWebsiteProbably\",\n    origin_configs=[cloudfront.SourceConfiguration(\n        s3_origin_source=cloudfront.S3OriginConfig(\n            s3_bucket_source=source_bucket\n        ),\n        behaviors=[cloudfront.Behavior(\n            is_default_behavior=True,\n            trusted_key_groups=[key_group\n            ]\n        )\n        ]\n    )\n    ]\n)","version":"2"},"csharp":{"source":"// Using trusted key groups for Cloudfront Web Distributions.\nBucket sourceBucket;\nstring publicKey;\n\nvar pubKey = new PublicKey(this, \"MyPubKey\", new PublicKeyProps {\n    EncodedKey = publicKey\n});\n\nvar keyGroup = new KeyGroup(this, \"MyKeyGroup\", new KeyGroupProps {\n    Items = new [] { pubKey }\n});\n\nnew CloudFrontWebDistribution(this, \"AnAmazingWebsiteProbably\", new CloudFrontWebDistributionProps {\n    OriginConfigs = new [] { new SourceConfiguration {\n        S3OriginSource = new S3OriginConfig {\n            S3BucketSource = sourceBucket\n        },\n        Behaviors = new [] { new Behavior {\n            IsDefaultBehavior = true,\n            TrustedKeyGroups = new [] { keyGroup }\n        } }\n    } }\n});","version":"1"},"java":{"source":"// Using trusted key groups for Cloudfront Web Distributions.\nBucket sourceBucket;\nString publicKey;\n\nPublicKey pubKey = PublicKey.Builder.create(this, \"MyPubKey\")\n        .encodedKey(publicKey)\n        .build();\n\nKeyGroup keyGroup = KeyGroup.Builder.create(this, \"MyKeyGroup\")\n        .items(List.of(pubKey))\n        .build();\n\nCloudFrontWebDistribution.Builder.create(this, \"AnAmazingWebsiteProbably\")\n        .originConfigs(List.of(SourceConfiguration.builder()\n                .s3OriginSource(S3OriginConfig.builder()\n                        .s3BucketSource(sourceBucket)\n                        .build())\n                .behaviors(List.of(Behavior.builder()\n                        .isDefaultBehavior(true)\n                        .trustedKeyGroups(List.of(keyGroup))\n                        .build()))\n                .build()))\n        .build();","version":"1"},"go":{"source":"// Using trusted key groups for Cloudfront Web Distributions.\nvar sourceBucket bucket\nvar publicKey string\n\npubKey := cloudfront.NewPublicKey(this, jsii.String(\"MyPubKey\"), &PublicKeyProps{\n\tEncodedKey: publicKey,\n})\n\nkeyGroup := cloudfront.NewKeyGroup(this, jsii.String(\"MyKeyGroup\"), &KeyGroupProps{\n\tItems: []iPublicKey{\n\t\tpubKey,\n\t},\n})\n\ncloudfront.NewCloudFrontWebDistribution(this, jsii.String(\"AnAmazingWebsiteProbably\"), &CloudFrontWebDistributionProps{\n\tOriginConfigs: []sourceConfiguration{\n\t\t&sourceConfiguration{\n\t\t\tS3OriginSource: &S3OriginConfig{\n\t\t\t\tS3BucketSource: sourceBucket,\n\t\t\t},\n\t\t\tBehaviors: []behavior{\n\t\t\t\t&behavior{\n\t\t\t\t\tIsDefaultBehavior: jsii.Boolean(true),\n\t\t\t\t\tTrustedKeyGroups: []iKeyGroup{\n\t\t\t\t\t\tkeyGroup,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n})","version":"1"},"$":{"source":"// Using trusted key groups for Cloudfront Web Distributions.\ndeclare const sourceBucket: s3.Bucket;\ndeclare const publicKey: string;\nconst pubKey = new cloudfront.PublicKey(this, 'MyPubKey', {\n  encodedKey: publicKey,\n});\n\nconst keyGroup = new cloudfront.KeyGroup(this, 'MyKeyGroup', {\n  items: [\n    pubKey,\n  ],\n});\n\nnew cloudfront.CloudFrontWebDistribution(this, 'AnAmazingWebsiteProbably', {\n  originConfigs: [\n    {\n      s3OriginSource: {\n        s3BucketSource: sourceBucket,\n      },\n      behaviors: [\n        {\n          isDefaultBehavior: true,\n          trustedKeyGroups: [\n            keyGroup,\n          ],\n        },\n      ],\n    },\n  ],\n});","version":"0"}},"location":{"api":{"api":"moduleReadme","moduleFqn":"@aws-cdk/aws-cloudfront"},"field":{"field":"markdown","line":866}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.CloudFrontWebDistribution","@aws-cdk/aws-cloudfront.CloudFrontWebDistributionProps","@aws-cdk/aws-cloudfront.KeyGroup","@aws-cdk/aws-cloudfront.KeyGroupProps","@aws-cdk/aws-cloudfront.PublicKey","@aws-cdk/aws-cloudfront.PublicKeyProps","@aws-cdk/aws-cloudfront.S3OriginConfig","@aws-cdk/aws-s3.IBucket","constructs.Construct"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// Using trusted key groups for Cloudfront Web Distributions.\ndeclare const sourceBucket: s3.Bucket;\ndeclare const publicKey: string;\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from 'constructs';\nimport { Duration, Stack } from '@aws-cdk/core';\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nimport * as origins from '@aws-cdk/aws-cloudfront-origins';\nimport * as s3 from '@aws-cdk/aws-s3';\nimport * as ec2 from '@aws-cdk/aws-ec2';\nimport * as elbv2 from '@aws-cdk/aws-elasticloadbalancingv2';\nimport * as lambda from '@aws-cdk/aws-lambda';\nimport * as path from 'path';\n\nclass Context extends Stack {\n  constructor(scope: Construct, id: string) {\n    super(scope, id);\n\n    // Code snippet begins after !show marker below\n/// !show\n\nconst pubKey = new cloudfront.PublicKey(this, 'MyPubKey', {\n  encodedKey: publicKey,\n});\n\nconst keyGroup = new cloudfront.KeyGroup(this, 'MyKeyGroup', {\n  items: [\n    pubKey,\n  ],\n});\n\nnew cloudfront.CloudFrontWebDistribution(this, 'AnAmazingWebsiteProbably', {\n  originConfigs: [\n    {\n      s3OriginSource: {\n        s3BucketSource: sourceBucket,\n      },\n      behaviors: [\n        {\n          isDefaultBehavior: true,\n          trustedKeyGroups: [\n            keyGroup,\n          ],\n        },\n      ],\n    },\n  ],\n});\n/// !hide\n// Code snippet ended before !hide marker above\n  }\n}\n","syntaxKindCounter":{"10":3,"75":24,"104":3,"106":1,"130":2,"143":1,"153":1,"169":1,"192":4,"193":6,"194":3,"197":3,"225":4,"226":1,"242":4,"243":4,"281":8,"290":1},"fqnsFingerprint":"86f592a692c792709050fa4cfac5ed3fa0563493fd1f9c88f7e833f0d8d41b45"},"4340fae2e721d2ce815b4d6b0f2d483d964388d6f6cba94f7af8634b458a169a":{"translations":{"python":{"source":"# Adding restrictions to a Cloudfront Web Distribution.\n# source_bucket: s3.Bucket\n\ncloudfront.CloudFrontWebDistribution(self, \"MyDistribution\",\n    origin_configs=[cloudfront.SourceConfiguration(\n        s3_origin_source=cloudfront.S3OriginConfig(\n            s3_bucket_source=source_bucket\n        ),\n        behaviors=[cloudfront.Behavior(is_default_behavior=True)]\n    )\n    ],\n    geo_restriction=cloudfront.GeoRestriction.allowlist(\"US\", \"GB\")\n)","version":"2"},"csharp":{"source":"// Adding restrictions to a Cloudfront Web Distribution.\nBucket sourceBucket;\n\nnew CloudFrontWebDistribution(this, \"MyDistribution\", new CloudFrontWebDistributionProps {\n    OriginConfigs = new [] { new SourceConfiguration {\n        S3OriginSource = new S3OriginConfig {\n            S3BucketSource = sourceBucket\n        },\n        Behaviors = new [] { new Behavior { IsDefaultBehavior = true } }\n    } },\n    GeoRestriction = GeoRestriction.Allowlist(\"US\", \"GB\")\n});","version":"1"},"java":{"source":"// Adding restrictions to a Cloudfront Web Distribution.\nBucket sourceBucket;\n\nCloudFrontWebDistribution.Builder.create(this, \"MyDistribution\")\n        .originConfigs(List.of(SourceConfiguration.builder()\n                .s3OriginSource(S3OriginConfig.builder()\n                        .s3BucketSource(sourceBucket)\n                        .build())\n                .behaviors(List.of(Behavior.builder().isDefaultBehavior(true).build()))\n                .build()))\n        .geoRestriction(GeoRestriction.allowlist(\"US\", \"GB\"))\n        .build();","version":"1"},"go":{"source":"// Adding restrictions to a Cloudfront Web Distribution.\nvar sourceBucket bucket\n\ncloudfront.NewCloudFrontWebDistribution(this, jsii.String(\"MyDistribution\"), &CloudFrontWebDistributionProps{\n\tOriginConfigs: []sourceConfiguration{\n\t\t&sourceConfiguration{\n\t\t\tS3OriginSource: &S3OriginConfig{\n\t\t\t\tS3BucketSource: sourceBucket,\n\t\t\t},\n\t\t\tBehaviors: []behavior{\n\t\t\t\t&behavior{\n\t\t\t\t\tIsDefaultBehavior: jsii.Boolean(true),\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n\tGeoRestriction: cloudfront.GeoRestriction_Allowlist(jsii.String(\"US\"), jsii.String(\"GB\")),\n})","version":"1"},"$":{"source":"// Adding restrictions to a Cloudfront Web Distribution.\ndeclare const sourceBucket: s3.Bucket;\nnew cloudfront.CloudFrontWebDistribution(this, 'MyDistribution', {\n  originConfigs: [\n    {\n      s3OriginSource: {\n        s3BucketSource: sourceBucket,\n      },\n      behaviors : [ {isDefaultBehavior: true}],\n    },\n  ],\n  geoRestriction: cloudfront.GeoRestriction.allowlist('US', 'GB'),\n});","version":"0"}},"location":{"api":{"api":"moduleReadme","moduleFqn":"@aws-cdk/aws-cloudfront"},"field":{"field":"markdown","line":907}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.CloudFrontWebDistribution","@aws-cdk/aws-cloudfront.CloudFrontWebDistributionProps","@aws-cdk/aws-cloudfront.GeoRestriction","@aws-cdk/aws-cloudfront.GeoRestriction#allowlist","@aws-cdk/aws-cloudfront.S3OriginConfig","@aws-cdk/aws-s3.IBucket","constructs.Construct"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// Adding restrictions to a Cloudfront Web Distribution.\ndeclare const sourceBucket: s3.Bucket;\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from 'constructs';\nimport { Duration, Stack } from '@aws-cdk/core';\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nimport * as origins from '@aws-cdk/aws-cloudfront-origins';\nimport * as s3 from '@aws-cdk/aws-s3';\nimport * as ec2 from '@aws-cdk/aws-ec2';\nimport * as elbv2 from '@aws-cdk/aws-elasticloadbalancingv2';\nimport * as lambda from '@aws-cdk/aws-lambda';\nimport * as path from 'path';\n\nclass Context extends Stack {\n  constructor(scope: Construct, id: string) {\n    super(scope, id);\n\n    // Code snippet begins after !show marker below\n/// !show\n\nnew cloudfront.CloudFrontWebDistribution(this, 'MyDistribution', {\n  originConfigs: [\n    {\n      s3OriginSource: {\n        s3BucketSource: sourceBucket,\n      },\n      behaviors : [ {isDefaultBehavior: true}],\n    },\n  ],\n  geoRestriction: cloudfront.GeoRestriction.allowlist('US', 'GB'),\n});\n/// !hide\n// Code snippet ended before !hide marker above\n  }\n}\n","syntaxKindCounter":{"10":3,"75":15,"104":1,"106":1,"130":1,"153":1,"169":1,"192":2,"193":4,"194":3,"196":1,"197":1,"225":1,"226":1,"242":1,"243":1,"281":6,"290":1},"fqnsFingerprint":"79eb242a60769e400095abf3210d66d01bb3d0c863504047525dc7288aca90b0"},"9a4e15d9eb5dc6666d8b44390b49b9fef74a233abb2a491451f1272a15868213":{"translations":{"python":{"source":"# Configuring connection behaviors between Cloudfront and your origin\ndistribution = cloudfront.CloudFrontWebDistribution(self, \"MyDistribution\",\n    origin_configs=[cloudfront.SourceConfiguration(\n        connection_attempts=3,\n        connection_timeout=Duration.seconds(10),\n        behaviors=[cloudfront.Behavior(\n            is_default_behavior=True\n        )\n        ]\n    )\n    ]\n)","version":"2"},"csharp":{"source":"// Configuring connection behaviors between Cloudfront and your origin\nvar distribution = new CloudFrontWebDistribution(this, \"MyDistribution\", new CloudFrontWebDistributionProps {\n    OriginConfigs = new [] { new SourceConfiguration {\n        ConnectionAttempts = 3,\n        ConnectionTimeout = Duration.Seconds(10),\n        Behaviors = new [] { new Behavior {\n            IsDefaultBehavior = true\n        } }\n    } }\n});","version":"1"},"java":{"source":"// Configuring connection behaviors between Cloudfront and your origin\nCloudFrontWebDistribution distribution = CloudFrontWebDistribution.Builder.create(this, \"MyDistribution\")\n        .originConfigs(List.of(SourceConfiguration.builder()\n                .connectionAttempts(3)\n                .connectionTimeout(Duration.seconds(10))\n                .behaviors(List.of(Behavior.builder()\n                        .isDefaultBehavior(true)\n                        .build()))\n                .build()))\n        .build();","version":"1"},"go":{"source":"// Configuring connection behaviors between Cloudfront and your origin\ndistribution := cloudfront.NewCloudFrontWebDistribution(this, jsii.String(\"MyDistribution\"), &CloudFrontWebDistributionProps{\n\tOriginConfigs: []sourceConfiguration{\n\t\t&sourceConfiguration{\n\t\t\tConnectionAttempts: jsii.Number(3),\n\t\t\tConnectionTimeout: awscdkcore.Duration_Seconds(jsii.Number(10)),\n\t\t\tBehaviors: []behavior{\n\t\t\t\t&behavior{\n\t\t\t\t\tIsDefaultBehavior: jsii.Boolean(true),\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n})","version":"1"},"$":{"source":"// Configuring connection behaviors between Cloudfront and your origin\nconst distribution = new cloudfront.CloudFrontWebDistribution(this, 'MyDistribution', {\n  originConfigs: [\n    {\n      connectionAttempts: 3,\n      connectionTimeout: Duration.seconds(10),\n      behaviors: [\n        {\n          isDefaultBehavior: true,\n        },\n      ],\n    },\n  ],\n});","version":"0"}},"location":{"api":{"api":"moduleReadme","moduleFqn":"@aws-cdk/aws-cloudfront"},"field":{"field":"markdown","line":934}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.CloudFrontWebDistribution","@aws-cdk/aws-cloudfront.CloudFrontWebDistributionProps","@aws-cdk/core.Duration","@aws-cdk/core.Duration#seconds","constructs.Construct"],"fullSource":"import { Construct } from 'constructs';\nimport { Duration, Stack } from '@aws-cdk/core';\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nimport * as origins from '@aws-cdk/aws-cloudfront-origins';\nimport * as s3 from '@aws-cdk/aws-s3';\nimport * as ec2 from '@aws-cdk/aws-ec2';\nimport * as elbv2 from '@aws-cdk/aws-elasticloadbalancingv2';\nimport * as lambda from '@aws-cdk/aws-lambda';\nimport * as path from 'path';\n\nclass Context extends Stack {\n  constructor(scope: Construct, id: string) {\n    super(scope, id);\n\n    // Code snippet begins after !show marker below\n/// !show\n// Configuring connection behaviors between Cloudfront and your origin\nconst distribution = new cloudfront.CloudFrontWebDistribution(this, 'MyDistribution', {\n  originConfigs: [\n    {\n      connectionAttempts: 3,\n      connectionTimeout: Duration.seconds(10),\n      behaviors: [\n        {\n          isDefaultBehavior: true,\n        },\n      ],\n    },\n  ],\n});\n/// !hide\n// Code snippet ended before !hide marker above\n  }\n}\n","syntaxKindCounter":{"8":2,"10":1,"75":10,"104":1,"106":1,"192":2,"193":3,"194":2,"196":1,"197":1,"225":1,"242":1,"243":1,"281":5},"fqnsFingerprint":"ef1d1903d4d7b392bd386962c09e51a6fe1bc6647f175fe3ed3a0e6a5aa5d247"},"ec35ea62c72f95a7ae4f5cb0b3c1021e37cf463c2891265dd82e450c810b1bd5":{"translations":{"python":{"source":"# Configuring origin fallback options for the CloudFrontWebDistribution\ncloudfront.CloudFrontWebDistribution(self, \"ADistribution\",\n    origin_configs=[cloudfront.SourceConfiguration(\n        s3_origin_source=cloudfront.S3OriginConfig(\n            s3_bucket_source=s3.Bucket.from_bucket_name(self, \"aBucket\", \"myoriginbucket\"),\n            origin_path=\"/\",\n            origin_headers={\n                \"myHeader\": \"42\"\n            },\n            origin_shield_region=\"us-west-2\"\n        ),\n        failover_s3_origin_source=cloudfront.S3OriginConfig(\n            s3_bucket_source=s3.Bucket.from_bucket_name(self, \"aBucketFallback\", \"myoriginbucketfallback\"),\n            origin_path=\"/somewhere\",\n            origin_headers={\n                \"myHeader2\": \"21\"\n            },\n            origin_shield_region=\"us-east-1\"\n        ),\n        failover_criteria_status_codes=[cloudfront.FailoverStatusCode.INTERNAL_SERVER_ERROR],\n        behaviors=[cloudfront.Behavior(\n            is_default_behavior=True\n        )\n        ]\n    )\n    ]\n)","version":"2"},"csharp":{"source":"// Configuring origin fallback options for the CloudFrontWebDistribution\n// Configuring origin fallback options for the CloudFrontWebDistribution\nnew CloudFrontWebDistribution(this, \"ADistribution\", new CloudFrontWebDistributionProps {\n    OriginConfigs = new [] { new SourceConfiguration {\n        S3OriginSource = new S3OriginConfig {\n            S3BucketSource = Bucket.FromBucketName(this, \"aBucket\", \"myoriginbucket\"),\n            OriginPath = \"/\",\n            OriginHeaders = new Dictionary<string, string> {\n                { \"myHeader\", \"42\" }\n            },\n            OriginShieldRegion = \"us-west-2\"\n        },\n        FailoverS3OriginSource = new S3OriginConfig {\n            S3BucketSource = Bucket.FromBucketName(this, \"aBucketFallback\", \"myoriginbucketfallback\"),\n            OriginPath = \"/somewhere\",\n            OriginHeaders = new Dictionary<string, string> {\n                { \"myHeader2\", \"21\" }\n            },\n            OriginShieldRegion = \"us-east-1\"\n        },\n        FailoverCriteriaStatusCodes = new [] { FailoverStatusCode.INTERNAL_SERVER_ERROR },\n        Behaviors = new [] { new Behavior {\n            IsDefaultBehavior = true\n        } }\n    } }\n});","version":"1"},"java":{"source":"// Configuring origin fallback options for the CloudFrontWebDistribution\n// Configuring origin fallback options for the CloudFrontWebDistribution\nCloudFrontWebDistribution.Builder.create(this, \"ADistribution\")\n        .originConfigs(List.of(SourceConfiguration.builder()\n                .s3OriginSource(S3OriginConfig.builder()\n                        .s3BucketSource(Bucket.fromBucketName(this, \"aBucket\", \"myoriginbucket\"))\n                        .originPath(\"/\")\n                        .originHeaders(Map.of(\n                                \"myHeader\", \"42\"))\n                        .originShieldRegion(\"us-west-2\")\n                        .build())\n                .failoverS3OriginSource(S3OriginConfig.builder()\n                        .s3BucketSource(Bucket.fromBucketName(this, \"aBucketFallback\", \"myoriginbucketfallback\"))\n                        .originPath(\"/somewhere\")\n                        .originHeaders(Map.of(\n                                \"myHeader2\", \"21\"))\n                        .originShieldRegion(\"us-east-1\")\n                        .build())\n                .failoverCriteriaStatusCodes(List.of(FailoverStatusCode.INTERNAL_SERVER_ERROR))\n                .behaviors(List.of(Behavior.builder()\n                        .isDefaultBehavior(true)\n                        .build()))\n                .build()))\n        .build();","version":"1"},"go":{"source":"// Configuring origin fallback options for the CloudFrontWebDistribution\n// Configuring origin fallback options for the CloudFrontWebDistribution\ncloudfront.NewCloudFrontWebDistribution(this, jsii.String(\"ADistribution\"), &CloudFrontWebDistributionProps{\n\tOriginConfigs: []sourceConfiguration{\n\t\t&sourceConfiguration{\n\t\t\tS3OriginSource: &S3OriginConfig{\n\t\t\t\tS3BucketSource: s3.Bucket_FromBucketName(this, jsii.String(\"aBucket\"), jsii.String(\"myoriginbucket\")),\n\t\t\t\tOriginPath: jsii.String(\"/\"),\n\t\t\t\tOriginHeaders: map[string]*string{\n\t\t\t\t\t\"myHeader\": jsii.String(\"42\"),\n\t\t\t\t},\n\t\t\t\tOriginShieldRegion: jsii.String(\"us-west-2\"),\n\t\t\t},\n\t\t\tFailoverS3OriginSource: &S3OriginConfig{\n\t\t\t\tS3BucketSource: s3.Bucket_*FromBucketName(this, jsii.String(\"aBucketFallback\"), jsii.String(\"myoriginbucketfallback\")),\n\t\t\t\tOriginPath: jsii.String(\"/somewhere\"),\n\t\t\t\tOriginHeaders: map[string]*string{\n\t\t\t\t\t\"myHeader2\": jsii.String(\"21\"),\n\t\t\t\t},\n\t\t\t\tOriginShieldRegion: jsii.String(\"us-east-1\"),\n\t\t\t},\n\t\t\tFailoverCriteriaStatusCodes: []failoverStatusCode{\n\t\t\t\tcloudfront.*failoverStatusCode_INTERNAL_SERVER_ERROR,\n\t\t\t},\n\t\t\tBehaviors: []behavior{\n\t\t\t\t&behavior{\n\t\t\t\t\tIsDefaultBehavior: jsii.Boolean(true),\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n})","version":"1"},"$":{"source":"// Configuring origin fallback options for the CloudFrontWebDistribution\nnew cloudfront.CloudFrontWebDistribution(this, 'ADistribution', {\n  originConfigs: [\n    {\n      s3OriginSource: {\n        s3BucketSource: s3.Bucket.fromBucketName(this, 'aBucket', 'myoriginbucket'),\n        originPath: '/',\n        originHeaders: {\n          'myHeader': '42',\n        },\n        originShieldRegion: 'us-west-2',\n      },\n      failoverS3OriginSource: {\n        s3BucketSource: s3.Bucket.fromBucketName(this, 'aBucketFallback', 'myoriginbucketfallback'),\n        originPath: '/somewhere',\n        originHeaders: {\n          'myHeader2': '21',\n        },\n        originShieldRegion: 'us-east-1',\n      },\n      failoverCriteriaStatusCodes: [cloudfront.FailoverStatusCode.INTERNAL_SERVER_ERROR],\n      behaviors: [\n        {\n          isDefaultBehavior: true,\n        },\n      ],\n    },\n  ],\n});","version":"0"}},"location":{"api":{"api":"moduleReadme","moduleFqn":"@aws-cdk/aws-cloudfront"},"field":{"field":"markdown","line":956}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.CloudFrontWebDistribution","@aws-cdk/aws-cloudfront.CloudFrontWebDistributionProps","@aws-cdk/aws-cloudfront.FailoverStatusCode","@aws-cdk/aws-cloudfront.FailoverStatusCode#INTERNAL_SERVER_ERROR","@aws-cdk/aws-cloudfront.S3OriginConfig","@aws-cdk/aws-s3.Bucket","@aws-cdk/aws-s3.Bucket#fromBucketName","@aws-cdk/aws-s3.IBucket","constructs.Construct"],"fullSource":"import { Construct } from 'constructs';\nimport { Duration, Stack } from '@aws-cdk/core';\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nimport * as origins from '@aws-cdk/aws-cloudfront-origins';\nimport * as s3 from '@aws-cdk/aws-s3';\nimport * as ec2 from '@aws-cdk/aws-ec2';\nimport * as elbv2 from '@aws-cdk/aws-elasticloadbalancingv2';\nimport * as lambda from '@aws-cdk/aws-lambda';\nimport * as path from 'path';\n\nclass Context extends Stack {\n  constructor(scope: Construct, id: string) {\n    super(scope, id);\n\n    // Code snippet begins after !show marker below\n/// !show\n// Configuring origin fallback options for the CloudFrontWebDistribution\nnew cloudfront.CloudFrontWebDistribution(this, 'ADistribution', {\n  originConfigs: [\n    {\n      s3OriginSource: {\n        s3BucketSource: s3.Bucket.fromBucketName(this, 'aBucket', 'myoriginbucket'),\n        originPath: '/',\n        originHeaders: {\n          'myHeader': '42',\n        },\n        originShieldRegion: 'us-west-2',\n      },\n      failoverS3OriginSource: {\n        s3BucketSource: s3.Bucket.fromBucketName(this, 'aBucketFallback', 'myoriginbucketfallback'),\n        originPath: '/somewhere',\n        originHeaders: {\n          'myHeader2': '21',\n        },\n        originShieldRegion: 'us-east-1',\n      },\n      failoverCriteriaStatusCodes: [cloudfront.FailoverStatusCode.INTERNAL_SERVER_ERROR],\n      behaviors: [\n        {\n          isDefaultBehavior: true,\n        },\n      ],\n    },\n  ],\n});\n/// !hide\n// Code snippet ended before !hide marker above\n  }\n}\n","syntaxKindCounter":{"10":13,"75":25,"104":3,"106":1,"192":3,"193":7,"194":7,"196":2,"197":1,"226":1,"281":16},"fqnsFingerprint":"82356cd08f3db635ce3f6185909729045ed304c0947e473c176aec42dbc62507"},"da74c7c69e1edc96abcab7d325732b86f0d9d3dd957d13aad1ab977223e07edc":{"translations":{"python":{"source":"# Create a key group to use with CloudFront signed URLs and signed cookies.\ncloudfront.KeyGroup(self, \"MyKeyGroup\",\n    items=[\n        cloudfront.PublicKey(self, \"MyPublicKey\",\n            encoded_key=\"...\"\n        )\n    ]\n)","version":"2"},"csharp":{"source":"// Create a key group to use with CloudFront signed URLs and signed cookies.\n// Create a key group to use with CloudFront signed URLs and signed cookies.\nnew KeyGroup(this, \"MyKeyGroup\", new KeyGroupProps {\n    Items = new [] {\n        new PublicKey(this, \"MyPublicKey\", new PublicKeyProps {\n            EncodedKey = \"...\"\n        }) }\n});","version":"1"},"java":{"source":"// Create a key group to use with CloudFront signed URLs and signed cookies.\n// Create a key group to use with CloudFront signed URLs and signed cookies.\nKeyGroup.Builder.create(this, \"MyKeyGroup\")\n        .items(List.of(\n            PublicKey.Builder.create(this, \"MyPublicKey\")\n                    .encodedKey(\"...\")\n                    .build()))\n        .build();","version":"1"},"go":{"source":"// Create a key group to use with CloudFront signed URLs and signed cookies.\n// Create a key group to use with CloudFront signed URLs and signed cookies.\ncloudfront.NewKeyGroup(this, jsii.String(\"MyKeyGroup\"), &KeyGroupProps{\n\tItems: []iPublicKey{\n\t\tcloudfront.NewPublicKey(this, jsii.String(\"MyPublicKey\"), &PublicKeyProps{\n\t\t\tEncodedKey: jsii.String(\"...\"),\n\t\t}),\n\t},\n})","version":"1"},"$":{"source":"// Create a key group to use with CloudFront signed URLs and signed cookies.\nnew cloudfront.KeyGroup(this, 'MyKeyGroup', {\n  items: [\n    new cloudfront.PublicKey(this, 'MyPublicKey', {\n      encodedKey: '...', // contents of public_key.pem file\n      // comment: 'Key is expiring on ...',\n    }),\n  ],\n  // comment: 'Key group containing public keys ...',\n});","version":"0"}},"location":{"api":{"api":"moduleReadme","moduleFqn":"@aws-cdk/aws-cloudfront"},"field":{"field":"markdown","line":1009}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.KeyGroup","@aws-cdk/aws-cloudfront.KeyGroupProps","@aws-cdk/aws-cloudfront.PublicKey","@aws-cdk/aws-cloudfront.PublicKeyProps","constructs.Construct"],"fullSource":"import { Construct } from 'constructs';\nimport { Duration, Stack } from '@aws-cdk/core';\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nimport * as origins from '@aws-cdk/aws-cloudfront-origins';\nimport * as s3 from '@aws-cdk/aws-s3';\nimport * as ec2 from '@aws-cdk/aws-ec2';\nimport * as elbv2 from '@aws-cdk/aws-elasticloadbalancingv2';\nimport * as lambda from '@aws-cdk/aws-lambda';\nimport * as path from 'path';\n\nclass Context extends Stack {\n  constructor(scope: Construct, id: string) {\n    super(scope, id);\n\n    // Code snippet begins after !show marker below\n/// !show\n// Create a key group to use with CloudFront signed URLs and signed cookies.\nnew cloudfront.KeyGroup(this, 'MyKeyGroup', {\n  items: [\n    new cloudfront.PublicKey(this, 'MyPublicKey', {\n      encodedKey: '...', // contents of public_key.pem file\n      // comment: 'Key is expiring on ...',\n    }),\n  ],\n  // comment: 'Key group containing public keys ...',\n});\n/// !hide\n// Code snippet ended before !hide marker above\n  }\n}\n","syntaxKindCounter":{"10":3,"75":6,"104":2,"192":1,"193":2,"194":2,"197":2,"226":1,"281":2},"fqnsFingerprint":"e737c67dcc1d08abb41cbb543795a7ef1d082ee3a6a08a0a0af76995fa923f02"},"2a372a835478ba2d59830f53996c1aa60af1e11b37c5b2f36f83dccf3c6744fd":{"translations":{"python":{"source":"# Add a behavior to a Distribution after initial creation.\n# my_bucket: s3.Bucket\n# my_web_distribution: cloudfront.Distribution\n\nmy_web_distribution.add_behavior(\"/images/*.jpg\", origins.S3Origin(my_bucket),\n    viewer_protocol_policy=cloudfront.ViewerProtocolPolicy.REDIRECT_TO_HTTPS\n)","version":"2"},"csharp":{"source":"// Add a behavior to a Distribution after initial creation.\nBucket myBucket;\nDistribution myWebDistribution;\n\nmyWebDistribution.AddBehavior(\"/images/*.jpg\", new S3Origin(myBucket), new AddBehaviorOptions {\n    ViewerProtocolPolicy = ViewerProtocolPolicy.REDIRECT_TO_HTTPS\n});","version":"1"},"java":{"source":"// Add a behavior to a Distribution after initial creation.\nBucket myBucket;\nDistribution myWebDistribution;\n\nmyWebDistribution.addBehavior(\"/images/*.jpg\", new S3Origin(myBucket), AddBehaviorOptions.builder()\n        .viewerProtocolPolicy(ViewerProtocolPolicy.REDIRECT_TO_HTTPS)\n        .build());","version":"1"},"go":{"source":"// Add a behavior to a Distribution after initial creation.\nvar myBucket bucket\nvar myWebDistribution distribution\n\nmyWebDistribution.AddBehavior(jsii.String(\"/images/*.jpg\"), origins.NewS3Origin(myBucket), &AddBehaviorOptions{\n\tViewerProtocolPolicy: cloudfront.ViewerProtocolPolicy_REDIRECT_TO_HTTPS,\n})","version":"1"},"$":{"source":"// Add a behavior to a Distribution after initial creation.\ndeclare const myBucket: s3.Bucket;\ndeclare const myWebDistribution: cloudfront.Distribution;\nmyWebDistribution.addBehavior('/images/*.jpg', new origins.S3Origin(myBucket), {\n  viewerProtocolPolicy: cloudfront.ViewerProtocolPolicy.REDIRECT_TO_HTTPS,\n});","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.AddBehaviorOptions"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront-origins.S3Origin","@aws-cdk/aws-cloudfront.AddBehaviorOptions","@aws-cdk/aws-cloudfront.Distribution#addBehavior","@aws-cdk/aws-cloudfront.IOrigin","@aws-cdk/aws-cloudfront.ViewerProtocolPolicy","@aws-cdk/aws-cloudfront.ViewerProtocolPolicy#REDIRECT_TO_HTTPS","@aws-cdk/aws-s3.IBucket"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// Add a behavior to a Distribution after initial creation.\ndeclare const myBucket: s3.Bucket;\ndeclare const myWebDistribution: cloudfront.Distribution;\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from 'constructs';\nimport { Duration, Stack } from '@aws-cdk/core';\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nimport * as origins from '@aws-cdk/aws-cloudfront-origins';\nimport * as s3 from '@aws-cdk/aws-s3';\nimport * as ec2 from '@aws-cdk/aws-ec2';\nimport * as elbv2 from '@aws-cdk/aws-elasticloadbalancingv2';\nimport * as lambda from '@aws-cdk/aws-lambda';\nimport * as path from 'path';\n\nclass Context extends Stack {\n  constructor(scope: Construct, id: string) {\n    super(scope, id);\n\n    // Code snippet begins after !show marker below\n/// !show\n\nmyWebDistribution.addBehavior('/images/*.jpg', new origins.S3Origin(myBucket), {\n  viewerProtocolPolicy: cloudfront.ViewerProtocolPolicy.REDIRECT_TO_HTTPS,\n});\n/// !hide\n// Code snippet ended before !hide marker above\n  }\n}\n","syntaxKindCounter":{"10":1,"75":15,"130":2,"153":2,"169":2,"193":1,"194":4,"196":1,"197":1,"225":2,"226":1,"242":2,"243":2,"281":1,"290":1},"fqnsFingerprint":"b9b3498bcb1a5ffdb7676e952efcc6329c8dc4456407e8b4e6f5a84fa87b77e9"},"02562864f093063527d5fe750badb4240e66aeff82759c1a179fa9d85ea27def":{"translations":{"python":{"source":"# The code below shows an example of how to instantiate this type.\n# The values are placeholders you should change.\nimport aws_cdk.aws_cloudfront as cloudfront\n\nalias_configuration = cloudfront.AliasConfiguration(\n    acm_cert_ref=\"acmCertRef\",\n    names=[\"names\"],\n\n    # the properties below are optional\n    security_policy=cloudfront.SecurityPolicyProtocol.SSL_V3,\n    ssl_method=cloudfront.SSLMethod.SNI\n)","version":"2"},"csharp":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nusing Amazon.CDK.AWS.CloudFront;\n\nvar aliasConfiguration = new AliasConfiguration {\n    AcmCertRef = \"acmCertRef\",\n    Names = new [] { \"names\" },\n\n    // the properties below are optional\n    SecurityPolicy = SecurityPolicyProtocol.SSL_V3,\n    SslMethod = SSLMethod.SNI\n};","version":"1"},"java":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport software.amazon.awscdk.services.cloudfront.*;\n\nAliasConfiguration aliasConfiguration = AliasConfiguration.builder()\n        .acmCertRef(\"acmCertRef\")\n        .names(List.of(\"names\"))\n\n        // the properties below are optional\n        .securityPolicy(SecurityPolicyProtocol.SSL_V3)\n        .sslMethod(SSLMethod.SNI)\n        .build();","version":"1"},"go":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport \"github.com/aws-samples/dummy/awscdkawscloudfront\"\n\naliasConfiguration := &AliasConfiguration{\n\tAcmCertRef: jsii.String(\"acmCertRef\"),\n\tNames: []*string{\n\t\tjsii.String(\"names\"),\n\t},\n\n\t// the properties below are optional\n\tSecurityPolicy: cloudfront.SecurityPolicyProtocol_SSL_V3,\n\tSslMethod: cloudfront.SSLMethod_SNI,\n}","version":"1"},"$":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nconst aliasConfiguration: cloudfront.AliasConfiguration = {\n  acmCertRef: 'acmCertRef',\n  names: ['names'],\n\n  // the properties below are optional\n  securityPolicy: cloudfront.SecurityPolicyProtocol.SSL_V3,\n  sslMethod: cloudfront.SSLMethod.SNI,\n};","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.AliasConfiguration"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.AliasConfiguration","@aws-cdk/aws-cloudfront.SSLMethod","@aws-cdk/aws-cloudfront.SSLMethod#SNI","@aws-cdk/aws-cloudfront.SecurityPolicyProtocol","@aws-cdk/aws-cloudfront.SecurityPolicyProtocol#SSL_V3"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from \"@aws-cdk/core\";\nclass MyConstruct extends Construct {\nconstructor(scope: Construct, id: string) {\nsuper(scope, id);\n// Code snippet begins after !show marker below\n/// !show\n\nconst aliasConfiguration: cloudfront.AliasConfiguration = {\n  acmCertRef: 'acmCertRef',\n  names: ['names'],\n\n  // the properties below are optional\n  securityPolicy: cloudfront.SecurityPolicyProtocol.SSL_V3,\n  sslMethod: cloudfront.SSLMethod.SNI,\n};\n/// !hide\n// Code snippet ended before !hide marker above\n} }","syntaxKindCounter":{"10":3,"75":14,"153":1,"169":1,"192":1,"193":1,"194":4,"225":1,"242":1,"243":1,"254":1,"255":1,"256":1,"281":4,"290":1},"fqnsFingerprint":"262fd57018b60ff300d3e05a0cff95e87976fc26c7fddb464a6b51674ba081d8"},"e1e732849b2a56fcc8331352df136c60ec72a9b09ee3816661337dae68d6e904":{"translations":{"python":{"source":"# Create a Distribution with configured HTTP methods and viewer protocol policy of the cache.\n# my_bucket: s3.Bucket\n\nmy_web_distribution = cloudfront.Distribution(self, \"myDist\",\n    default_behavior=cloudfront.BehaviorOptions(\n        origin=origins.S3Origin(my_bucket),\n        allowed_methods=cloudfront.AllowedMethods.ALLOW_ALL,\n        viewer_protocol_policy=cloudfront.ViewerProtocolPolicy.REDIRECT_TO_HTTPS\n    )\n)","version":"2"},"csharp":{"source":"// Create a Distribution with configured HTTP methods and viewer protocol policy of the cache.\nBucket myBucket;\n\nvar myWebDistribution = new Distribution(this, \"myDist\", new DistributionProps {\n    DefaultBehavior = new BehaviorOptions {\n        Origin = new S3Origin(myBucket),\n        AllowedMethods = AllowedMethods.ALLOW_ALL,\n        ViewerProtocolPolicy = ViewerProtocolPolicy.REDIRECT_TO_HTTPS\n    }\n});","version":"1"},"java":{"source":"// Create a Distribution with configured HTTP methods and viewer protocol policy of the cache.\nBucket myBucket;\n\nDistribution myWebDistribution = Distribution.Builder.create(this, \"myDist\")\n        .defaultBehavior(BehaviorOptions.builder()\n                .origin(new S3Origin(myBucket))\n                .allowedMethods(AllowedMethods.ALLOW_ALL)\n                .viewerProtocolPolicy(ViewerProtocolPolicy.REDIRECT_TO_HTTPS)\n                .build())\n        .build();","version":"1"},"go":{"source":"// Create a Distribution with configured HTTP methods and viewer protocol policy of the cache.\nvar myBucket bucket\n\nmyWebDistribution := cloudfront.NewDistribution(this, jsii.String(\"myDist\"), &DistributionProps{\n\tDefaultBehavior: &BehaviorOptions{\n\t\tOrigin: origins.NewS3Origin(myBucket),\n\t\tAllowedMethods: cloudfront.AllowedMethods_ALLOW_ALL(),\n\t\tViewerProtocolPolicy: cloudfront.ViewerProtocolPolicy_REDIRECT_TO_HTTPS,\n\t},\n})","version":"1"},"$":{"source":"// Create a Distribution with configured HTTP methods and viewer protocol policy of the cache.\ndeclare const myBucket: s3.Bucket;\nconst myWebDistribution = new cloudfront.Distribution(this, 'myDist', {\n  defaultBehavior: {\n    origin: new origins.S3Origin(myBucket),\n    allowedMethods: cloudfront.AllowedMethods.ALLOW_ALL,\n    viewerProtocolPolicy: cloudfront.ViewerProtocolPolicy.REDIRECT_TO_HTTPS,\n  },\n});","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.AllowedMethods"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront-origins.S3Origin","@aws-cdk/aws-cloudfront.AllowedMethods","@aws-cdk/aws-cloudfront.AllowedMethods#ALLOW_ALL","@aws-cdk/aws-cloudfront.BehaviorOptions","@aws-cdk/aws-cloudfront.Distribution","@aws-cdk/aws-cloudfront.DistributionProps","@aws-cdk/aws-cloudfront.IOrigin","@aws-cdk/aws-cloudfront.ViewerProtocolPolicy","@aws-cdk/aws-cloudfront.ViewerProtocolPolicy#REDIRECT_TO_HTTPS","@aws-cdk/aws-s3.IBucket","constructs.Construct"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// Create a Distribution with configured HTTP methods and viewer protocol policy of the cache.\ndeclare const myBucket: s3.Bucket;\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from 'constructs';\nimport { Duration, Stack } from '@aws-cdk/core';\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nimport * as origins from '@aws-cdk/aws-cloudfront-origins';\nimport * as s3 from '@aws-cdk/aws-s3';\nimport * as ec2 from '@aws-cdk/aws-ec2';\nimport * as elbv2 from '@aws-cdk/aws-elasticloadbalancingv2';\nimport * as lambda from '@aws-cdk/aws-lambda';\nimport * as path from 'path';\n\nclass Context extends Stack {\n  constructor(scope: Construct, id: string) {\n    super(scope, id);\n\n    // Code snippet begins after !show marker below\n/// !show\n\nconst myWebDistribution = new cloudfront.Distribution(this, 'myDist', {\n  defaultBehavior: {\n    origin: new origins.S3Origin(myBucket),\n    allowedMethods: cloudfront.AllowedMethods.ALLOW_ALL,\n    viewerProtocolPolicy: cloudfront.ViewerProtocolPolicy.REDIRECT_TO_HTTPS,\n  },\n});\n/// !hide\n// Code snippet ended before !hide marker above\n  }\n}\n","syntaxKindCounter":{"10":1,"75":19,"104":1,"130":1,"153":1,"169":1,"193":2,"194":6,"197":2,"225":2,"242":2,"243":2,"281":4,"290":1},"fqnsFingerprint":"50620db3ad080e54f01a59a38a6a5c8fb0c235dcdf48e49e85c101f75cb744ce"},"69b40b13e4e07b1700f224446914bd03e4177ce656b9a887eae8ddd62ff2967f":{"translations":{"python":{"source":"# The code below shows an example of how to instantiate this type.\n# The values are placeholders you should change.\nimport aws_cdk.aws_cloudfront as cloudfront\nimport aws_cdk.aws_lambda as lambda_\nimport aws_cdk.core as cdk\n\n# function_: cloudfront.Function\n# key_group: cloudfront.KeyGroup\n# version: lambda.Version\n\nbehavior = cloudfront.Behavior(\n    allowed_methods=cloudfront.CloudFrontAllowedMethods.GET_HEAD,\n    cached_methods=cloudfront.CloudFrontAllowedCachedMethods.GET_HEAD,\n    compress=False,\n    default_ttl=cdk.Duration.minutes(30),\n    forwarded_values=cloudfront.CfnDistribution.ForwardedValuesProperty(\n        query_string=False,\n\n        # the properties below are optional\n        cookies=cloudfront.CfnDistribution.CookiesProperty(\n            forward=\"forward\",\n\n            # the properties below are optional\n            whitelisted_names=[\"whitelistedNames\"]\n        ),\n        headers=[\"headers\"],\n        query_string_cache_keys=[\"queryStringCacheKeys\"]\n    ),\n    function_associations=[cloudfront.FunctionAssociation(\n        event_type=cloudfront.FunctionEventType.VIEWER_REQUEST,\n        function=function_\n    )],\n    is_default_behavior=False,\n    lambda_function_associations=[cloudfront.LambdaFunctionAssociation(\n        event_type=cloudfront.LambdaEdgeEventType.ORIGIN_REQUEST,\n        lambda_function=version,\n\n        # the properties below are optional\n        include_body=False\n    )],\n    max_ttl=cdk.Duration.minutes(30),\n    min_ttl=cdk.Duration.minutes(30),\n    path_pattern=\"pathPattern\",\n    trusted_key_groups=[key_group],\n    trusted_signers=[\"trustedSigners\"],\n    viewer_protocol_policy=cloudfront.ViewerProtocolPolicy.HTTPS_ONLY\n)","version":"2"},"csharp":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nusing Amazon.CDK.AWS.CloudFront;\nusing Amazon.CDK.AWS.Lambda;\nusing Amazon.CDK;\n\nFunction function_;\nKeyGroup keyGroup;\nVersion version;\nvar behavior = new Behavior {\n    AllowedMethods = CloudFrontAllowedMethods.GET_HEAD,\n    CachedMethods = CloudFrontAllowedCachedMethods.GET_HEAD,\n    Compress = false,\n    DefaultTtl = Duration.Minutes(30),\n    ForwardedValues = new ForwardedValuesProperty {\n        QueryString = false,\n\n        // the properties below are optional\n        Cookies = new CookiesProperty {\n            Forward = \"forward\",\n\n            // the properties below are optional\n            WhitelistedNames = new [] { \"whitelistedNames\" }\n        },\n        Headers = new [] { \"headers\" },\n        QueryStringCacheKeys = new [] { \"queryStringCacheKeys\" }\n    },\n    FunctionAssociations = new [] { new FunctionAssociation {\n        EventType = FunctionEventType.VIEWER_REQUEST,\n        Function = function_\n    } },\n    IsDefaultBehavior = false,\n    LambdaFunctionAssociations = new [] { new LambdaFunctionAssociation {\n        EventType = LambdaEdgeEventType.ORIGIN_REQUEST,\n        LambdaFunction = version,\n\n        // the properties below are optional\n        IncludeBody = false\n    } },\n    MaxTtl = Duration.Minutes(30),\n    MinTtl = Duration.Minutes(30),\n    PathPattern = \"pathPattern\",\n    TrustedKeyGroups = new [] { keyGroup },\n    TrustedSigners = new [] { \"trustedSigners\" },\n    ViewerProtocolPolicy = ViewerProtocolPolicy.HTTPS_ONLY\n};","version":"1"},"java":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport software.amazon.awscdk.services.cloudfront.*;\nimport software.amazon.awscdk.services.lambda.*;\nimport software.amazon.awscdk.core.*;\n\nFunction function_;\nKeyGroup keyGroup;\nVersion version;\n\nBehavior behavior = Behavior.builder()\n        .allowedMethods(CloudFrontAllowedMethods.GET_HEAD)\n        .cachedMethods(CloudFrontAllowedCachedMethods.GET_HEAD)\n        .compress(false)\n        .defaultTtl(Duration.minutes(30))\n        .forwardedValues(ForwardedValuesProperty.builder()\n                .queryString(false)\n\n                // the properties below are optional\n                .cookies(CookiesProperty.builder()\n                        .forward(\"forward\")\n\n                        // the properties below are optional\n                        .whitelistedNames(List.of(\"whitelistedNames\"))\n                        .build())\n                .headers(List.of(\"headers\"))\n                .queryStringCacheKeys(List.of(\"queryStringCacheKeys\"))\n                .build())\n        .functionAssociations(List.of(FunctionAssociation.builder()\n                .eventType(FunctionEventType.VIEWER_REQUEST)\n                .function(function_)\n                .build()))\n        .isDefaultBehavior(false)\n        .lambdaFunctionAssociations(List.of(LambdaFunctionAssociation.builder()\n                .eventType(LambdaEdgeEventType.ORIGIN_REQUEST)\n                .lambdaFunction(version)\n\n                // the properties below are optional\n                .includeBody(false)\n                .build()))\n        .maxTtl(Duration.minutes(30))\n        .minTtl(Duration.minutes(30))\n        .pathPattern(\"pathPattern\")\n        .trustedKeyGroups(List.of(keyGroup))\n        .trustedSigners(List.of(\"trustedSigners\"))\n        .viewerProtocolPolicy(ViewerProtocolPolicy.HTTPS_ONLY)\n        .build();","version":"1"},"go":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport \"github.com/aws-samples/dummy/awscdkawscloudfront\"\nimport lambda \"github.com/aws-samples/dummy/awscdkawslambda\"\nimport \"github.com/aws-samples/dummy/awscdkcore\"\n\nvar function_ function\nvar keyGroup keyGroup\nvar version version\n\nbehavior := &Behavior{\n\tAllowedMethods: cloudfront.CloudFrontAllowedMethods_GET_HEAD,\n\tCachedMethods: cloudfront.CloudFrontAllowedCachedMethods_GET_HEAD,\n\tCompress: jsii.Boolean(false),\n\tDefaultTtl: cdk.Duration_Minutes(jsii.Number(30)),\n\tForwardedValues: &ForwardedValuesProperty{\n\t\tQueryString: jsii.Boolean(false),\n\n\t\t// the properties below are optional\n\t\tCookies: &CookiesProperty{\n\t\t\tForward: jsii.String(\"forward\"),\n\n\t\t\t// the properties below are optional\n\t\t\tWhitelistedNames: []*string{\n\t\t\t\tjsii.String(\"whitelistedNames\"),\n\t\t\t},\n\t\t},\n\t\tHeaders: []*string{\n\t\t\tjsii.String(\"headers\"),\n\t\t},\n\t\tQueryStringCacheKeys: []*string{\n\t\t\tjsii.String(\"queryStringCacheKeys\"),\n\t\t},\n\t},\n\tFunctionAssociations: []functionAssociation{\n\t\t&functionAssociation{\n\t\t\tEventType: cloudfront.FunctionEventType_VIEWER_REQUEST,\n\t\t\tFunction: function_,\n\t\t},\n\t},\n\tIsDefaultBehavior: jsii.Boolean(false),\n\tLambdaFunctionAssociations: []lambdaFunctionAssociation{\n\t\t&lambdaFunctionAssociation{\n\t\t\tEventType: cloudfront.LambdaEdgeEventType_ORIGIN_REQUEST,\n\t\t\tLambdaFunction: version,\n\n\t\t\t// the properties below are optional\n\t\t\tIncludeBody: jsii.Boolean(false),\n\t\t},\n\t},\n\tMaxTtl: cdk.Duration_*Minutes(jsii.Number(30)),\n\tMinTtl: cdk.Duration_*Minutes(jsii.Number(30)),\n\tPathPattern: jsii.String(\"pathPattern\"),\n\tTrustedKeyGroups: []iKeyGroup{\n\t\tkeyGroup,\n\t},\n\tTrustedSigners: []*string{\n\t\tjsii.String(\"trustedSigners\"),\n\t},\n\tViewerProtocolPolicy: cloudfront.ViewerProtocolPolicy_HTTPS_ONLY,\n}","version":"1"},"$":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nimport * as lambda from '@aws-cdk/aws-lambda';\nimport * as cdk from '@aws-cdk/core';\n\ndeclare const function_: cloudfront.Function;\ndeclare const keyGroup: cloudfront.KeyGroup;\ndeclare const version: lambda.Version;\nconst behavior: cloudfront.Behavior = {\n  allowedMethods: cloudfront.CloudFrontAllowedMethods.GET_HEAD,\n  cachedMethods: cloudfront.CloudFrontAllowedCachedMethods.GET_HEAD,\n  compress: false,\n  defaultTtl: cdk.Duration.minutes(30),\n  forwardedValues: {\n    queryString: false,\n\n    // the properties below are optional\n    cookies: {\n      forward: 'forward',\n\n      // the properties below are optional\n      whitelistedNames: ['whitelistedNames'],\n    },\n    headers: ['headers'],\n    queryStringCacheKeys: ['queryStringCacheKeys'],\n  },\n  functionAssociations: [{\n    eventType: cloudfront.FunctionEventType.VIEWER_REQUEST,\n    function: function_,\n  }],\n  isDefaultBehavior: false,\n  lambdaFunctionAssociations: [{\n    eventType: cloudfront.LambdaEdgeEventType.ORIGIN_REQUEST,\n    lambdaFunction: version,\n\n    // the properties below are optional\n    includeBody: false,\n  }],\n  maxTtl: cdk.Duration.minutes(30),\n  minTtl: cdk.Duration.minutes(30),\n  pathPattern: 'pathPattern',\n  trustedKeyGroups: [keyGroup],\n  trustedSigners: ['trustedSigners'],\n  viewerProtocolPolicy: cloudfront.ViewerProtocolPolicy.HTTPS_ONLY,\n};","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.Behavior"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.Behavior","@aws-cdk/aws-cloudfront.CfnDistribution.ForwardedValuesProperty","@aws-cdk/aws-cloudfront.CloudFrontAllowedCachedMethods","@aws-cdk/aws-cloudfront.CloudFrontAllowedCachedMethods#GET_HEAD","@aws-cdk/aws-cloudfront.CloudFrontAllowedMethods","@aws-cdk/aws-cloudfront.CloudFrontAllowedMethods#GET_HEAD","@aws-cdk/aws-cloudfront.FunctionEventType","@aws-cdk/aws-cloudfront.FunctionEventType#VIEWER_REQUEST","@aws-cdk/aws-cloudfront.IFunction","@aws-cdk/aws-cloudfront.LambdaEdgeEventType","@aws-cdk/aws-cloudfront.LambdaEdgeEventType#ORIGIN_REQUEST","@aws-cdk/aws-cloudfront.ViewerProtocolPolicy","@aws-cdk/aws-cloudfront.ViewerProtocolPolicy#HTTPS_ONLY","@aws-cdk/aws-lambda.IVersion","@aws-cdk/core.Duration","@aws-cdk/core.Duration#minutes"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nimport * as lambda from '@aws-cdk/aws-lambda';\nimport * as cdk from '@aws-cdk/core';\n\ndeclare const function_: cloudfront.Function;\ndeclare const keyGroup: cloudfront.KeyGroup;\ndeclare const version: lambda.Version;\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from \"@aws-cdk/core\";\nclass MyConstruct extends Construct {\nconstructor(scope: Construct, id: string) {\nsuper(scope, id);\n// Code snippet begins after !show marker below\n/// !show\n\nconst behavior: cloudfront.Behavior = {\n  allowedMethods: cloudfront.CloudFrontAllowedMethods.GET_HEAD,\n  cachedMethods: cloudfront.CloudFrontAllowedCachedMethods.GET_HEAD,\n  compress: false,\n  defaultTtl: cdk.Duration.minutes(30),\n  forwardedValues: {\n    queryString: false,\n\n    // the properties below are optional\n    cookies: {\n      forward: 'forward',\n\n      // the properties below are optional\n      whitelistedNames: ['whitelistedNames'],\n    },\n    headers: ['headers'],\n    queryStringCacheKeys: ['queryStringCacheKeys'],\n  },\n  functionAssociations: [{\n    eventType: cloudfront.FunctionEventType.VIEWER_REQUEST,\n    function: function_,\n  }],\n  isDefaultBehavior: false,\n  lambdaFunctionAssociations: [{\n    eventType: cloudfront.LambdaEdgeEventType.ORIGIN_REQUEST,\n    lambdaFunction: version,\n\n    // the properties below are optional\n    includeBody: false,\n  }],\n  maxTtl: cdk.Duration.minutes(30),\n  minTtl: cdk.Duration.minutes(30),\n  pathPattern: 'pathPattern',\n  trustedKeyGroups: [keyGroup],\n  trustedSigners: ['trustedSigners'],\n  viewerProtocolPolicy: cloudfront.ViewerProtocolPolicy.HTTPS_ONLY,\n};\n/// !hide\n// Code snippet ended before !hide marker above\n} }","syntaxKindCounter":{"8":3,"10":9,"75":67,"91":4,"130":3,"153":4,"169":4,"192":7,"193":5,"194":16,"196":3,"225":4,"242":4,"243":4,"254":3,"255":3,"256":3,"281":25,"290":1},"fqnsFingerprint":"85d2fa5201054e442223bcfe3f4f12aee88892120afc4b5e098310cb8e583241"},"6a0aea7896f15cba047d8fd8d984d73733d47966d5ba361c4c1917efee31a659":{"translations":{"python":{"source":"# Adding an existing Lambda@Edge function created in a different stack\n# to a CloudFront distribution.\n# s3_bucket: s3.Bucket\n\nfunction_version = lambda_.Version.from_version_arn(self, \"Version\", \"arn:aws:lambda:us-east-1:123456789012:function:functionName:1\")\n\ncloudfront.Distribution(self, \"distro\",\n    default_behavior=cloudfront.BehaviorOptions(\n        origin=origins.S3Origin(s3_bucket),\n        edge_lambdas=[cloudfront.EdgeLambda(\n            function_version=function_version,\n            event_type=cloudfront.LambdaEdgeEventType.VIEWER_REQUEST\n        )\n        ]\n    )\n)","version":"2"},"csharp":{"source":"// Adding an existing Lambda@Edge function created in a different stack\n// to a CloudFront distribution.\nBucket s3Bucket;\n\nvar functionVersion = Version.FromVersionArn(this, \"Version\", \"arn:aws:lambda:us-east-1:123456789012:function:functionName:1\");\n\nnew Distribution(this, \"distro\", new DistributionProps {\n    DefaultBehavior = new BehaviorOptions {\n        Origin = new S3Origin(s3Bucket),\n        EdgeLambdas = new [] { new EdgeLambda {\n            FunctionVersion = functionVersion,\n            EventType = LambdaEdgeEventType.VIEWER_REQUEST\n        } }\n    }\n});","version":"1"},"java":{"source":"// Adding an existing Lambda@Edge function created in a different stack\n// to a CloudFront distribution.\nBucket s3Bucket;\n\nIVersion functionVersion = Version.fromVersionArn(this, \"Version\", \"arn:aws:lambda:us-east-1:123456789012:function:functionName:1\");\n\nDistribution.Builder.create(this, \"distro\")\n        .defaultBehavior(BehaviorOptions.builder()\n                .origin(new S3Origin(s3Bucket))\n                .edgeLambdas(List.of(EdgeLambda.builder()\n                        .functionVersion(functionVersion)\n                        .eventType(LambdaEdgeEventType.VIEWER_REQUEST)\n                        .build()))\n                .build())\n        .build();","version":"1"},"go":{"source":"// Adding an existing Lambda@Edge function created in a different stack\n// to a CloudFront distribution.\nvar s3Bucket bucket\n\nfunctionVersion := lambda.Version_FromVersionArn(this, jsii.String(\"Version\"), jsii.String(\"arn:aws:lambda:us-east-1:123456789012:function:functionName:1\"))\n\ncloudfront.NewDistribution(this, jsii.String(\"distro\"), &DistributionProps{\n\tDefaultBehavior: &BehaviorOptions{\n\t\tOrigin: origins.NewS3Origin(s3Bucket),\n\t\tEdgeLambdas: []edgeLambda{\n\t\t\t&edgeLambda{\n\t\t\t\tFunctionVersion: *FunctionVersion,\n\t\t\t\tEventType: cloudfront.LambdaEdgeEventType_VIEWER_REQUEST,\n\t\t\t},\n\t\t},\n\t},\n})","version":"1"},"$":{"source":"// Adding an existing Lambda@Edge function created in a different stack\n// to a CloudFront distribution.\ndeclare const s3Bucket: s3.Bucket;\nconst functionVersion = lambda.Version.fromVersionArn(this, 'Version', 'arn:aws:lambda:us-east-1:123456789012:function:functionName:1');\n\nnew cloudfront.Distribution(this, 'distro', {\n  defaultBehavior: {\n    origin: new origins.S3Origin(s3Bucket),\n    edgeLambdas: [\n      {\n        functionVersion,\n        eventType: cloudfront.LambdaEdgeEventType.VIEWER_REQUEST,\n      },\n    ],\n  },\n});","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.BehaviorOptions"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront-origins.S3Origin","@aws-cdk/aws-cloudfront.BehaviorOptions","@aws-cdk/aws-cloudfront.Distribution","@aws-cdk/aws-cloudfront.DistributionProps","@aws-cdk/aws-cloudfront.IOrigin","@aws-cdk/aws-cloudfront.LambdaEdgeEventType","@aws-cdk/aws-cloudfront.LambdaEdgeEventType#VIEWER_REQUEST","@aws-cdk/aws-lambda.IVersion","@aws-cdk/aws-lambda.Version","@aws-cdk/aws-lambda.Version#fromVersionArn","@aws-cdk/aws-s3.IBucket","constructs.Construct"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// Adding an existing Lambda@Edge function created in a different stack\n// to a CloudFront distribution.\ndeclare const s3Bucket: s3.Bucket;\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from 'constructs';\nimport { Duration, Stack } from '@aws-cdk/core';\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nimport * as origins from '@aws-cdk/aws-cloudfront-origins';\nimport * as s3 from '@aws-cdk/aws-s3';\nimport * as ec2 from '@aws-cdk/aws-ec2';\nimport * as elbv2 from '@aws-cdk/aws-elasticloadbalancingv2';\nimport * as lambda from '@aws-cdk/aws-lambda';\nimport * as path from 'path';\n\nclass Context extends Stack {\n  constructor(scope: Construct, id: string) {\n    super(scope, id);\n\n    // Code snippet begins after !show marker below\n/// !show\n\nconst functionVersion = lambda.Version.fromVersionArn(this, 'Version', 'arn:aws:lambda:us-east-1:123456789012:function:functionName:1');\n\nnew cloudfront.Distribution(this, 'distro', {\n  defaultBehavior: {\n    origin: new origins.S3Origin(s3Bucket),\n    edgeLambdas: [\n      {\n        functionVersion,\n        eventType: cloudfront.LambdaEdgeEventType.VIEWER_REQUEST,\n      },\n    ],\n  },\n});\n/// !hide\n// Code snippet ended before !hide marker above\n  }\n}\n","syntaxKindCounter":{"10":3,"75":20,"104":2,"130":1,"153":1,"169":1,"192":1,"193":3,"194":6,"196":1,"197":2,"225":2,"226":1,"242":2,"243":2,"281":4,"282":1,"290":1},"fqnsFingerprint":"ed7d20f26b1f4e4dbade5657199847f143c35c149fbeb49e54402db9c319793a"},"6e1a860f99dfb4e7365dd5cd30137f2e751834c23a3771140986fd380dd2b764":{"translations":{"python":{"source":"# Creating a custom cache policy for a Distribution -- all parameters optional\n# bucket_origin: origins.S3Origin\n\nmy_cache_policy = cloudfront.CachePolicy(self, \"myCachePolicy\",\n    cache_policy_name=\"MyPolicy\",\n    comment=\"A default policy\",\n    default_ttl=Duration.days(2),\n    min_ttl=Duration.minutes(1),\n    max_ttl=Duration.days(10),\n    cookie_behavior=cloudfront.CacheCookieBehavior.all(),\n    header_behavior=cloudfront.CacheHeaderBehavior.allow_list(\"X-CustomHeader\"),\n    query_string_behavior=cloudfront.CacheQueryStringBehavior.deny_list(\"username\"),\n    enable_accept_encoding_gzip=True,\n    enable_accept_encoding_brotli=True\n)\ncloudfront.Distribution(self, \"myDistCustomPolicy\",\n    default_behavior=cloudfront.BehaviorOptions(\n        origin=bucket_origin,\n        cache_policy=my_cache_policy\n    )\n)","version":"2"},"csharp":{"source":"// Creating a custom cache policy for a Distribution -- all parameters optional\nS3Origin bucketOrigin;\n\nvar myCachePolicy = new CachePolicy(this, \"myCachePolicy\", new CachePolicyProps {\n    CachePolicyName = \"MyPolicy\",\n    Comment = \"A default policy\",\n    DefaultTtl = Duration.Days(2),\n    MinTtl = Duration.Minutes(1),\n    MaxTtl = Duration.Days(10),\n    CookieBehavior = CacheCookieBehavior.All(),\n    HeaderBehavior = CacheHeaderBehavior.AllowList(\"X-CustomHeader\"),\n    QueryStringBehavior = CacheQueryStringBehavior.DenyList(\"username\"),\n    EnableAcceptEncodingGzip = true,\n    EnableAcceptEncodingBrotli = true\n});\nnew Distribution(this, \"myDistCustomPolicy\", new DistributionProps {\n    DefaultBehavior = new BehaviorOptions {\n        Origin = bucketOrigin,\n        CachePolicy = myCachePolicy\n    }\n});","version":"1"},"java":{"source":"// Creating a custom cache policy for a Distribution -- all parameters optional\nS3Origin bucketOrigin;\n\nCachePolicy myCachePolicy = CachePolicy.Builder.create(this, \"myCachePolicy\")\n        .cachePolicyName(\"MyPolicy\")\n        .comment(\"A default policy\")\n        .defaultTtl(Duration.days(2))\n        .minTtl(Duration.minutes(1))\n        .maxTtl(Duration.days(10))\n        .cookieBehavior(CacheCookieBehavior.all())\n        .headerBehavior(CacheHeaderBehavior.allowList(\"X-CustomHeader\"))\n        .queryStringBehavior(CacheQueryStringBehavior.denyList(\"username\"))\n        .enableAcceptEncodingGzip(true)\n        .enableAcceptEncodingBrotli(true)\n        .build();\nDistribution.Builder.create(this, \"myDistCustomPolicy\")\n        .defaultBehavior(BehaviorOptions.builder()\n                .origin(bucketOrigin)\n                .cachePolicy(myCachePolicy)\n                .build())\n        .build();","version":"1"},"go":{"source":"// Creating a custom cache policy for a Distribution -- all parameters optional\nvar bucketOrigin s3Origin\n\nmyCachePolicy := cloudfront.NewCachePolicy(this, jsii.String(\"myCachePolicy\"), &CachePolicyProps{\n\tCachePolicyName: jsii.String(\"MyPolicy\"),\n\tComment: jsii.String(\"A default policy\"),\n\tDefaultTtl: awscdkcore.Duration_Days(jsii.Number(2)),\n\tMinTtl: *awscdkcore.Duration_Minutes(jsii.Number(1)),\n\tMaxTtl: *awscdkcore.Duration_*Days(jsii.Number(10)),\n\tCookieBehavior: cloudfront.CacheCookieBehavior_All(),\n\tHeaderBehavior: cloudfront.CacheHeaderBehavior_AllowList(jsii.String(\"X-CustomHeader\")),\n\tQueryStringBehavior: cloudfront.CacheQueryStringBehavior_DenyList(jsii.String(\"username\")),\n\tEnableAcceptEncodingGzip: jsii.Boolean(true),\n\tEnableAcceptEncodingBrotli: jsii.Boolean(true),\n})\ncloudfront.NewDistribution(this, jsii.String(\"myDistCustomPolicy\"), &DistributionProps{\n\tDefaultBehavior: &BehaviorOptions{\n\t\tOrigin: bucketOrigin,\n\t\tCachePolicy: myCachePolicy,\n\t},\n})","version":"1"},"$":{"source":"// Creating a custom cache policy for a Distribution -- all parameters optional\ndeclare const bucketOrigin: origins.S3Origin;\nconst myCachePolicy = new cloudfront.CachePolicy(this, 'myCachePolicy', {\n  cachePolicyName: 'MyPolicy',\n  comment: 'A default policy',\n  defaultTtl: Duration.days(2),\n  minTtl: Duration.minutes(1),\n  maxTtl: Duration.days(10),\n  cookieBehavior: cloudfront.CacheCookieBehavior.all(),\n  headerBehavior: cloudfront.CacheHeaderBehavior.allowList('X-CustomHeader'),\n  queryStringBehavior: cloudfront.CacheQueryStringBehavior.denyList('username'),\n  enableAcceptEncodingGzip: true,\n  enableAcceptEncodingBrotli: true,\n});\nnew cloudfront.Distribution(this, 'myDistCustomPolicy', {\n  defaultBehavior: {\n    origin: bucketOrigin,\n    cachePolicy: myCachePolicy,\n  },\n});","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.CacheCookieBehavior"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.BehaviorOptions","@aws-cdk/aws-cloudfront.CacheCookieBehavior","@aws-cdk/aws-cloudfront.CacheCookieBehavior#all","@aws-cdk/aws-cloudfront.CacheHeaderBehavior","@aws-cdk/aws-cloudfront.CacheHeaderBehavior#allowList","@aws-cdk/aws-cloudfront.CachePolicy","@aws-cdk/aws-cloudfront.CachePolicyProps","@aws-cdk/aws-cloudfront.CacheQueryStringBehavior","@aws-cdk/aws-cloudfront.CacheQueryStringBehavior#denyList","@aws-cdk/aws-cloudfront.Distribution","@aws-cdk/aws-cloudfront.DistributionProps","@aws-cdk/aws-cloudfront.ICachePolicy","@aws-cdk/aws-cloudfront.IOrigin","@aws-cdk/core.Duration","@aws-cdk/core.Duration#days","@aws-cdk/core.Duration#minutes","constructs.Construct"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// Creating a custom cache policy for a Distribution -- all parameters optional\ndeclare const bucketOrigin: origins.S3Origin;\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from 'constructs';\nimport { Duration, Stack } from '@aws-cdk/core';\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nimport * as origins from '@aws-cdk/aws-cloudfront-origins';\nimport * as s3 from '@aws-cdk/aws-s3';\nimport * as ec2 from '@aws-cdk/aws-ec2';\nimport * as elbv2 from '@aws-cdk/aws-elasticloadbalancingv2';\nimport * as lambda from '@aws-cdk/aws-lambda';\nimport * as path from 'path';\n\nclass Context extends Stack {\n  constructor(scope: Construct, id: string) {\n    super(scope, id);\n\n    // Code snippet begins after !show marker below\n/// !show\n\nconst myCachePolicy = new cloudfront.CachePolicy(this, 'myCachePolicy', {\n  cachePolicyName: 'MyPolicy',\n  comment: 'A default policy',\n  defaultTtl: Duration.days(2),\n  minTtl: Duration.minutes(1),\n  maxTtl: Duration.days(10),\n  cookieBehavior: cloudfront.CacheCookieBehavior.all(),\n  headerBehavior: cloudfront.CacheHeaderBehavior.allowList('X-CustomHeader'),\n  queryStringBehavior: cloudfront.CacheQueryStringBehavior.denyList('username'),\n  enableAcceptEncodingGzip: true,\n  enableAcceptEncodingBrotli: true,\n});\nnew cloudfront.Distribution(this, 'myDistCustomPolicy', {\n  defaultBehavior: {\n    origin: bucketOrigin,\n    cachePolicy: myCachePolicy,\n  },\n});\n/// !hide\n// Code snippet ended before !hide marker above\n  }\n}\n","syntaxKindCounter":{"8":3,"10":6,"75":38,"104":2,"106":2,"130":1,"153":1,"169":1,"193":3,"194":11,"196":6,"197":2,"225":2,"226":1,"242":2,"243":2,"281":13,"290":1},"fqnsFingerprint":"851e6039c3b10f9f5796b96b5a647776847d78c524a226036048783bcdc9df22"},"c1dbbaddef1efbbaf51515152c8ace81ac473e7c9e5bb320b85545886653f918":{"translations":{"python":{"source":"# Creating a custom cache policy for a Distribution -- all parameters optional\n# bucket_origin: origins.S3Origin\n\nmy_cache_policy = cloudfront.CachePolicy(self, \"myCachePolicy\",\n    cache_policy_name=\"MyPolicy\",\n    comment=\"A default policy\",\n    default_ttl=Duration.days(2),\n    min_ttl=Duration.minutes(1),\n    max_ttl=Duration.days(10),\n    cookie_behavior=cloudfront.CacheCookieBehavior.all(),\n    header_behavior=cloudfront.CacheHeaderBehavior.allow_list(\"X-CustomHeader\"),\n    query_string_behavior=cloudfront.CacheQueryStringBehavior.deny_list(\"username\"),\n    enable_accept_encoding_gzip=True,\n    enable_accept_encoding_brotli=True\n)\ncloudfront.Distribution(self, \"myDistCustomPolicy\",\n    default_behavior=cloudfront.BehaviorOptions(\n        origin=bucket_origin,\n        cache_policy=my_cache_policy\n    )\n)","version":"2"},"csharp":{"source":"// Creating a custom cache policy for a Distribution -- all parameters optional\nS3Origin bucketOrigin;\n\nvar myCachePolicy = new CachePolicy(this, \"myCachePolicy\", new CachePolicyProps {\n    CachePolicyName = \"MyPolicy\",\n    Comment = \"A default policy\",\n    DefaultTtl = Duration.Days(2),\n    MinTtl = Duration.Minutes(1),\n    MaxTtl = Duration.Days(10),\n    CookieBehavior = CacheCookieBehavior.All(),\n    HeaderBehavior = CacheHeaderBehavior.AllowList(\"X-CustomHeader\"),\n    QueryStringBehavior = CacheQueryStringBehavior.DenyList(\"username\"),\n    EnableAcceptEncodingGzip = true,\n    EnableAcceptEncodingBrotli = true\n});\nnew Distribution(this, \"myDistCustomPolicy\", new DistributionProps {\n    DefaultBehavior = new BehaviorOptions {\n        Origin = bucketOrigin,\n        CachePolicy = myCachePolicy\n    }\n});","version":"1"},"java":{"source":"// Creating a custom cache policy for a Distribution -- all parameters optional\nS3Origin bucketOrigin;\n\nCachePolicy myCachePolicy = CachePolicy.Builder.create(this, \"myCachePolicy\")\n        .cachePolicyName(\"MyPolicy\")\n        .comment(\"A default policy\")\n        .defaultTtl(Duration.days(2))\n        .minTtl(Duration.minutes(1))\n        .maxTtl(Duration.days(10))\n        .cookieBehavior(CacheCookieBehavior.all())\n        .headerBehavior(CacheHeaderBehavior.allowList(\"X-CustomHeader\"))\n        .queryStringBehavior(CacheQueryStringBehavior.denyList(\"username\"))\n        .enableAcceptEncodingGzip(true)\n        .enableAcceptEncodingBrotli(true)\n        .build();\nDistribution.Builder.create(this, \"myDistCustomPolicy\")\n        .defaultBehavior(BehaviorOptions.builder()\n                .origin(bucketOrigin)\n                .cachePolicy(myCachePolicy)\n                .build())\n        .build();","version":"1"},"go":{"source":"// Creating a custom cache policy for a Distribution -- all parameters optional\nvar bucketOrigin s3Origin\n\nmyCachePolicy := cloudfront.NewCachePolicy(this, jsii.String(\"myCachePolicy\"), &CachePolicyProps{\n\tCachePolicyName: jsii.String(\"MyPolicy\"),\n\tComment: jsii.String(\"A default policy\"),\n\tDefaultTtl: awscdkcore.Duration_Days(jsii.Number(2)),\n\tMinTtl: *awscdkcore.Duration_Minutes(jsii.Number(1)),\n\tMaxTtl: *awscdkcore.Duration_*Days(jsii.Number(10)),\n\tCookieBehavior: cloudfront.CacheCookieBehavior_All(),\n\tHeaderBehavior: cloudfront.CacheHeaderBehavior_AllowList(jsii.String(\"X-CustomHeader\")),\n\tQueryStringBehavior: cloudfront.CacheQueryStringBehavior_DenyList(jsii.String(\"username\")),\n\tEnableAcceptEncodingGzip: jsii.Boolean(true),\n\tEnableAcceptEncodingBrotli: jsii.Boolean(true),\n})\ncloudfront.NewDistribution(this, jsii.String(\"myDistCustomPolicy\"), &DistributionProps{\n\tDefaultBehavior: &BehaviorOptions{\n\t\tOrigin: bucketOrigin,\n\t\tCachePolicy: myCachePolicy,\n\t},\n})","version":"1"},"$":{"source":"// Creating a custom cache policy for a Distribution -- all parameters optional\ndeclare const bucketOrigin: origins.S3Origin;\nconst myCachePolicy = new cloudfront.CachePolicy(this, 'myCachePolicy', {\n  cachePolicyName: 'MyPolicy',\n  comment: 'A default policy',\n  defaultTtl: Duration.days(2),\n  minTtl: Duration.minutes(1),\n  maxTtl: Duration.days(10),\n  cookieBehavior: cloudfront.CacheCookieBehavior.all(),\n  headerBehavior: cloudfront.CacheHeaderBehavior.allowList('X-CustomHeader'),\n  queryStringBehavior: cloudfront.CacheQueryStringBehavior.denyList('username'),\n  enableAcceptEncodingGzip: true,\n  enableAcceptEncodingBrotli: true,\n});\nnew cloudfront.Distribution(this, 'myDistCustomPolicy', {\n  defaultBehavior: {\n    origin: bucketOrigin,\n    cachePolicy: myCachePolicy,\n  },\n});","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.CacheHeaderBehavior"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.BehaviorOptions","@aws-cdk/aws-cloudfront.CacheCookieBehavior","@aws-cdk/aws-cloudfront.CacheCookieBehavior#all","@aws-cdk/aws-cloudfront.CacheHeaderBehavior","@aws-cdk/aws-cloudfront.CacheHeaderBehavior#allowList","@aws-cdk/aws-cloudfront.CachePolicy","@aws-cdk/aws-cloudfront.CachePolicyProps","@aws-cdk/aws-cloudfront.CacheQueryStringBehavior","@aws-cdk/aws-cloudfront.CacheQueryStringBehavior#denyList","@aws-cdk/aws-cloudfront.Distribution","@aws-cdk/aws-cloudfront.DistributionProps","@aws-cdk/aws-cloudfront.ICachePolicy","@aws-cdk/aws-cloudfront.IOrigin","@aws-cdk/core.Duration","@aws-cdk/core.Duration#days","@aws-cdk/core.Duration#minutes","constructs.Construct"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// Creating a custom cache policy for a Distribution -- all parameters optional\ndeclare const bucketOrigin: origins.S3Origin;\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from 'constructs';\nimport { Duration, Stack } from '@aws-cdk/core';\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nimport * as origins from '@aws-cdk/aws-cloudfront-origins';\nimport * as s3 from '@aws-cdk/aws-s3';\nimport * as ec2 from '@aws-cdk/aws-ec2';\nimport * as elbv2 from '@aws-cdk/aws-elasticloadbalancingv2';\nimport * as lambda from '@aws-cdk/aws-lambda';\nimport * as path from 'path';\n\nclass Context extends Stack {\n  constructor(scope: Construct, id: string) {\n    super(scope, id);\n\n    // Code snippet begins after !show marker below\n/// !show\n\nconst myCachePolicy = new cloudfront.CachePolicy(this, 'myCachePolicy', {\n  cachePolicyName: 'MyPolicy',\n  comment: 'A default policy',\n  defaultTtl: Duration.days(2),\n  minTtl: Duration.minutes(1),\n  maxTtl: Duration.days(10),\n  cookieBehavior: cloudfront.CacheCookieBehavior.all(),\n  headerBehavior: cloudfront.CacheHeaderBehavior.allowList('X-CustomHeader'),\n  queryStringBehavior: cloudfront.CacheQueryStringBehavior.denyList('username'),\n  enableAcceptEncodingGzip: true,\n  enableAcceptEncodingBrotli: true,\n});\nnew cloudfront.Distribution(this, 'myDistCustomPolicy', {\n  defaultBehavior: {\n    origin: bucketOrigin,\n    cachePolicy: myCachePolicy,\n  },\n});\n/// !hide\n// Code snippet ended before !hide marker above\n  }\n}\n","syntaxKindCounter":{"8":3,"10":6,"75":38,"104":2,"106":2,"130":1,"153":1,"169":1,"193":3,"194":11,"196":6,"197":2,"225":2,"226":1,"242":2,"243":2,"281":13,"290":1},"fqnsFingerprint":"851e6039c3b10f9f5796b96b5a647776847d78c524a226036048783bcdc9df22"},"895785075f9790d848a9d28e79604e9cb125837f03591d790bd8f83f1326d60a":{"translations":{"python":{"source":"# Using an existing cache policy for a Distribution\n# bucket_origin: origins.S3Origin\n\ncloudfront.Distribution(self, \"myDistManagedPolicy\",\n    default_behavior=cloudfront.BehaviorOptions(\n        origin=bucket_origin,\n        cache_policy=cloudfront.CachePolicy.CACHING_OPTIMIZED\n    )\n)","version":"2"},"csharp":{"source":"// Using an existing cache policy for a Distribution\nS3Origin bucketOrigin;\n\nnew Distribution(this, \"myDistManagedPolicy\", new DistributionProps {\n    DefaultBehavior = new BehaviorOptions {\n        Origin = bucketOrigin,\n        CachePolicy = CachePolicy.CACHING_OPTIMIZED\n    }\n});","version":"1"},"java":{"source":"// Using an existing cache policy for a Distribution\nS3Origin bucketOrigin;\n\nDistribution.Builder.create(this, \"myDistManagedPolicy\")\n        .defaultBehavior(BehaviorOptions.builder()\n                .origin(bucketOrigin)\n                .cachePolicy(CachePolicy.CACHING_OPTIMIZED)\n                .build())\n        .build();","version":"1"},"go":{"source":"// Using an existing cache policy for a Distribution\nvar bucketOrigin s3Origin\n\ncloudfront.NewDistribution(this, jsii.String(\"myDistManagedPolicy\"), &DistributionProps{\n\tDefaultBehavior: &BehaviorOptions{\n\t\tOrigin: bucketOrigin,\n\t\tCachePolicy: cloudfront.CachePolicy_CACHING_OPTIMIZED(),\n\t},\n})","version":"1"},"$":{"source":"// Using an existing cache policy for a Distribution\ndeclare const bucketOrigin: origins.S3Origin;\nnew cloudfront.Distribution(this, 'myDistManagedPolicy', {\n  defaultBehavior: {\n    origin: bucketOrigin,\n    cachePolicy: cloudfront.CachePolicy.CACHING_OPTIMIZED,\n  },\n});","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.CachePolicy"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.BehaviorOptions","@aws-cdk/aws-cloudfront.CachePolicy","@aws-cdk/aws-cloudfront.CachePolicy#CACHING_OPTIMIZED","@aws-cdk/aws-cloudfront.Distribution","@aws-cdk/aws-cloudfront.DistributionProps","@aws-cdk/aws-cloudfront.ICachePolicy","@aws-cdk/aws-cloudfront.IOrigin","constructs.Construct"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// Using an existing cache policy for a Distribution\ndeclare const bucketOrigin: origins.S3Origin;\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from 'constructs';\nimport { Duration, Stack } from '@aws-cdk/core';\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nimport * as origins from '@aws-cdk/aws-cloudfront-origins';\nimport * as s3 from '@aws-cdk/aws-s3';\nimport * as ec2 from '@aws-cdk/aws-ec2';\nimport * as elbv2 from '@aws-cdk/aws-elasticloadbalancingv2';\nimport * as lambda from '@aws-cdk/aws-lambda';\nimport * as path from 'path';\n\nclass Context extends Stack {\n  constructor(scope: Construct, id: string) {\n    super(scope, id);\n\n    // Code snippet begins after !show marker below\n/// !show\n\nnew cloudfront.Distribution(this, 'myDistManagedPolicy', {\n  defaultBehavior: {\n    origin: bucketOrigin,\n    cachePolicy: cloudfront.CachePolicy.CACHING_OPTIMIZED,\n  },\n});\n/// !hide\n// Code snippet ended before !hide marker above\n  }\n}\n","syntaxKindCounter":{"10":1,"75":12,"104":1,"130":1,"153":1,"169":1,"193":2,"194":3,"197":1,"225":1,"226":1,"242":1,"243":1,"281":3,"290":1},"fqnsFingerprint":"63646c469d057face3493b8b3fc84d3aec7e3b2e47c724b72cefb4aeaa70618b"},"54e8e20a859b8e6e723f1491956098ac1b8632b8f917259e1d8c41ac29c4fef9":{"translations":{"python":{"source":"# Creating a custom cache policy for a Distribution -- all parameters optional\n# bucket_origin: origins.S3Origin\n\nmy_cache_policy = cloudfront.CachePolicy(self, \"myCachePolicy\",\n    cache_policy_name=\"MyPolicy\",\n    comment=\"A default policy\",\n    default_ttl=Duration.days(2),\n    min_ttl=Duration.minutes(1),\n    max_ttl=Duration.days(10),\n    cookie_behavior=cloudfront.CacheCookieBehavior.all(),\n    header_behavior=cloudfront.CacheHeaderBehavior.allow_list(\"X-CustomHeader\"),\n    query_string_behavior=cloudfront.CacheQueryStringBehavior.deny_list(\"username\"),\n    enable_accept_encoding_gzip=True,\n    enable_accept_encoding_brotli=True\n)\ncloudfront.Distribution(self, \"myDistCustomPolicy\",\n    default_behavior=cloudfront.BehaviorOptions(\n        origin=bucket_origin,\n        cache_policy=my_cache_policy\n    )\n)","version":"2"},"csharp":{"source":"// Creating a custom cache policy for a Distribution -- all parameters optional\nS3Origin bucketOrigin;\n\nvar myCachePolicy = new CachePolicy(this, \"myCachePolicy\", new CachePolicyProps {\n    CachePolicyName = \"MyPolicy\",\n    Comment = \"A default policy\",\n    DefaultTtl = Duration.Days(2),\n    MinTtl = Duration.Minutes(1),\n    MaxTtl = Duration.Days(10),\n    CookieBehavior = CacheCookieBehavior.All(),\n    HeaderBehavior = CacheHeaderBehavior.AllowList(\"X-CustomHeader\"),\n    QueryStringBehavior = CacheQueryStringBehavior.DenyList(\"username\"),\n    EnableAcceptEncodingGzip = true,\n    EnableAcceptEncodingBrotli = true\n});\nnew Distribution(this, \"myDistCustomPolicy\", new DistributionProps {\n    DefaultBehavior = new BehaviorOptions {\n        Origin = bucketOrigin,\n        CachePolicy = myCachePolicy\n    }\n});","version":"1"},"java":{"source":"// Creating a custom cache policy for a Distribution -- all parameters optional\nS3Origin bucketOrigin;\n\nCachePolicy myCachePolicy = CachePolicy.Builder.create(this, \"myCachePolicy\")\n        .cachePolicyName(\"MyPolicy\")\n        .comment(\"A default policy\")\n        .defaultTtl(Duration.days(2))\n        .minTtl(Duration.minutes(1))\n        .maxTtl(Duration.days(10))\n        .cookieBehavior(CacheCookieBehavior.all())\n        .headerBehavior(CacheHeaderBehavior.allowList(\"X-CustomHeader\"))\n        .queryStringBehavior(CacheQueryStringBehavior.denyList(\"username\"))\n        .enableAcceptEncodingGzip(true)\n        .enableAcceptEncodingBrotli(true)\n        .build();\nDistribution.Builder.create(this, \"myDistCustomPolicy\")\n        .defaultBehavior(BehaviorOptions.builder()\n                .origin(bucketOrigin)\n                .cachePolicy(myCachePolicy)\n                .build())\n        .build();","version":"1"},"go":{"source":"// Creating a custom cache policy for a Distribution -- all parameters optional\nvar bucketOrigin s3Origin\n\nmyCachePolicy := cloudfront.NewCachePolicy(this, jsii.String(\"myCachePolicy\"), &CachePolicyProps{\n\tCachePolicyName: jsii.String(\"MyPolicy\"),\n\tComment: jsii.String(\"A default policy\"),\n\tDefaultTtl: awscdkcore.Duration_Days(jsii.Number(2)),\n\tMinTtl: *awscdkcore.Duration_Minutes(jsii.Number(1)),\n\tMaxTtl: *awscdkcore.Duration_*Days(jsii.Number(10)),\n\tCookieBehavior: cloudfront.CacheCookieBehavior_All(),\n\tHeaderBehavior: cloudfront.CacheHeaderBehavior_AllowList(jsii.String(\"X-CustomHeader\")),\n\tQueryStringBehavior: cloudfront.CacheQueryStringBehavior_DenyList(jsii.String(\"username\")),\n\tEnableAcceptEncodingGzip: jsii.Boolean(true),\n\tEnableAcceptEncodingBrotli: jsii.Boolean(true),\n})\ncloudfront.NewDistribution(this, jsii.String(\"myDistCustomPolicy\"), &DistributionProps{\n\tDefaultBehavior: &BehaviorOptions{\n\t\tOrigin: bucketOrigin,\n\t\tCachePolicy: myCachePolicy,\n\t},\n})","version":"1"},"$":{"source":"// Creating a custom cache policy for a Distribution -- all parameters optional\ndeclare const bucketOrigin: origins.S3Origin;\nconst myCachePolicy = new cloudfront.CachePolicy(this, 'myCachePolicy', {\n  cachePolicyName: 'MyPolicy',\n  comment: 'A default policy',\n  defaultTtl: Duration.days(2),\n  minTtl: Duration.minutes(1),\n  maxTtl: Duration.days(10),\n  cookieBehavior: cloudfront.CacheCookieBehavior.all(),\n  headerBehavior: cloudfront.CacheHeaderBehavior.allowList('X-CustomHeader'),\n  queryStringBehavior: cloudfront.CacheQueryStringBehavior.denyList('username'),\n  enableAcceptEncodingGzip: true,\n  enableAcceptEncodingBrotli: true,\n});\nnew cloudfront.Distribution(this, 'myDistCustomPolicy', {\n  defaultBehavior: {\n    origin: bucketOrigin,\n    cachePolicy: myCachePolicy,\n  },\n});","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.CachePolicyProps"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.BehaviorOptions","@aws-cdk/aws-cloudfront.CacheCookieBehavior","@aws-cdk/aws-cloudfront.CacheCookieBehavior#all","@aws-cdk/aws-cloudfront.CacheHeaderBehavior","@aws-cdk/aws-cloudfront.CacheHeaderBehavior#allowList","@aws-cdk/aws-cloudfront.CachePolicy","@aws-cdk/aws-cloudfront.CachePolicyProps","@aws-cdk/aws-cloudfront.CacheQueryStringBehavior","@aws-cdk/aws-cloudfront.CacheQueryStringBehavior#denyList","@aws-cdk/aws-cloudfront.Distribution","@aws-cdk/aws-cloudfront.DistributionProps","@aws-cdk/aws-cloudfront.ICachePolicy","@aws-cdk/aws-cloudfront.IOrigin","@aws-cdk/core.Duration","@aws-cdk/core.Duration#days","@aws-cdk/core.Duration#minutes","constructs.Construct"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// Creating a custom cache policy for a Distribution -- all parameters optional\ndeclare const bucketOrigin: origins.S3Origin;\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from 'constructs';\nimport { Duration, Stack } from '@aws-cdk/core';\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nimport * as origins from '@aws-cdk/aws-cloudfront-origins';\nimport * as s3 from '@aws-cdk/aws-s3';\nimport * as ec2 from '@aws-cdk/aws-ec2';\nimport * as elbv2 from '@aws-cdk/aws-elasticloadbalancingv2';\nimport * as lambda from '@aws-cdk/aws-lambda';\nimport * as path from 'path';\n\nclass Context extends Stack {\n  constructor(scope: Construct, id: string) {\n    super(scope, id);\n\n    // Code snippet begins after !show marker below\n/// !show\n\nconst myCachePolicy = new cloudfront.CachePolicy(this, 'myCachePolicy', {\n  cachePolicyName: 'MyPolicy',\n  comment: 'A default policy',\n  defaultTtl: Duration.days(2),\n  minTtl: Duration.minutes(1),\n  maxTtl: Duration.days(10),\n  cookieBehavior: cloudfront.CacheCookieBehavior.all(),\n  headerBehavior: cloudfront.CacheHeaderBehavior.allowList('X-CustomHeader'),\n  queryStringBehavior: cloudfront.CacheQueryStringBehavior.denyList('username'),\n  enableAcceptEncodingGzip: true,\n  enableAcceptEncodingBrotli: true,\n});\nnew cloudfront.Distribution(this, 'myDistCustomPolicy', {\n  defaultBehavior: {\n    origin: bucketOrigin,\n    cachePolicy: myCachePolicy,\n  },\n});\n/// !hide\n// Code snippet ended before !hide marker above\n  }\n}\n","syntaxKindCounter":{"8":3,"10":6,"75":38,"104":2,"106":2,"130":1,"153":1,"169":1,"193":3,"194":11,"196":6,"197":2,"225":2,"226":1,"242":2,"243":2,"281":13,"290":1},"fqnsFingerprint":"851e6039c3b10f9f5796b96b5a647776847d78c524a226036048783bcdc9df22"},"0ae7a22190e74c579fa617557d16cf9c5a7288562a7beefb03514831416bae92":{"translations":{"python":{"source":"# Creating a custom cache policy for a Distribution -- all parameters optional\n# bucket_origin: origins.S3Origin\n\nmy_cache_policy = cloudfront.CachePolicy(self, \"myCachePolicy\",\n    cache_policy_name=\"MyPolicy\",\n    comment=\"A default policy\",\n    default_ttl=Duration.days(2),\n    min_ttl=Duration.minutes(1),\n    max_ttl=Duration.days(10),\n    cookie_behavior=cloudfront.CacheCookieBehavior.all(),\n    header_behavior=cloudfront.CacheHeaderBehavior.allow_list(\"X-CustomHeader\"),\n    query_string_behavior=cloudfront.CacheQueryStringBehavior.deny_list(\"username\"),\n    enable_accept_encoding_gzip=True,\n    enable_accept_encoding_brotli=True\n)\ncloudfront.Distribution(self, \"myDistCustomPolicy\",\n    default_behavior=cloudfront.BehaviorOptions(\n        origin=bucket_origin,\n        cache_policy=my_cache_policy\n    )\n)","version":"2"},"csharp":{"source":"// Creating a custom cache policy for a Distribution -- all parameters optional\nS3Origin bucketOrigin;\n\nvar myCachePolicy = new CachePolicy(this, \"myCachePolicy\", new CachePolicyProps {\n    CachePolicyName = \"MyPolicy\",\n    Comment = \"A default policy\",\n    DefaultTtl = Duration.Days(2),\n    MinTtl = Duration.Minutes(1),\n    MaxTtl = Duration.Days(10),\n    CookieBehavior = CacheCookieBehavior.All(),\n    HeaderBehavior = CacheHeaderBehavior.AllowList(\"X-CustomHeader\"),\n    QueryStringBehavior = CacheQueryStringBehavior.DenyList(\"username\"),\n    EnableAcceptEncodingGzip = true,\n    EnableAcceptEncodingBrotli = true\n});\nnew Distribution(this, \"myDistCustomPolicy\", new DistributionProps {\n    DefaultBehavior = new BehaviorOptions {\n        Origin = bucketOrigin,\n        CachePolicy = myCachePolicy\n    }\n});","version":"1"},"java":{"source":"// Creating a custom cache policy for a Distribution -- all parameters optional\nS3Origin bucketOrigin;\n\nCachePolicy myCachePolicy = CachePolicy.Builder.create(this, \"myCachePolicy\")\n        .cachePolicyName(\"MyPolicy\")\n        .comment(\"A default policy\")\n        .defaultTtl(Duration.days(2))\n        .minTtl(Duration.minutes(1))\n        .maxTtl(Duration.days(10))\n        .cookieBehavior(CacheCookieBehavior.all())\n        .headerBehavior(CacheHeaderBehavior.allowList(\"X-CustomHeader\"))\n        .queryStringBehavior(CacheQueryStringBehavior.denyList(\"username\"))\n        .enableAcceptEncodingGzip(true)\n        .enableAcceptEncodingBrotli(true)\n        .build();\nDistribution.Builder.create(this, \"myDistCustomPolicy\")\n        .defaultBehavior(BehaviorOptions.builder()\n                .origin(bucketOrigin)\n                .cachePolicy(myCachePolicy)\n                .build())\n        .build();","version":"1"},"go":{"source":"// Creating a custom cache policy for a Distribution -- all parameters optional\nvar bucketOrigin s3Origin\n\nmyCachePolicy := cloudfront.NewCachePolicy(this, jsii.String(\"myCachePolicy\"), &CachePolicyProps{\n\tCachePolicyName: jsii.String(\"MyPolicy\"),\n\tComment: jsii.String(\"A default policy\"),\n\tDefaultTtl: awscdkcore.Duration_Days(jsii.Number(2)),\n\tMinTtl: *awscdkcore.Duration_Minutes(jsii.Number(1)),\n\tMaxTtl: *awscdkcore.Duration_*Days(jsii.Number(10)),\n\tCookieBehavior: cloudfront.CacheCookieBehavior_All(),\n\tHeaderBehavior: cloudfront.CacheHeaderBehavior_AllowList(jsii.String(\"X-CustomHeader\")),\n\tQueryStringBehavior: cloudfront.CacheQueryStringBehavior_DenyList(jsii.String(\"username\")),\n\tEnableAcceptEncodingGzip: jsii.Boolean(true),\n\tEnableAcceptEncodingBrotli: jsii.Boolean(true),\n})\ncloudfront.NewDistribution(this, jsii.String(\"myDistCustomPolicy\"), &DistributionProps{\n\tDefaultBehavior: &BehaviorOptions{\n\t\tOrigin: bucketOrigin,\n\t\tCachePolicy: myCachePolicy,\n\t},\n})","version":"1"},"$":{"source":"// Creating a custom cache policy for a Distribution -- all parameters optional\ndeclare const bucketOrigin: origins.S3Origin;\nconst myCachePolicy = new cloudfront.CachePolicy(this, 'myCachePolicy', {\n  cachePolicyName: 'MyPolicy',\n  comment: 'A default policy',\n  defaultTtl: Duration.days(2),\n  minTtl: Duration.minutes(1),\n  maxTtl: Duration.days(10),\n  cookieBehavior: cloudfront.CacheCookieBehavior.all(),\n  headerBehavior: cloudfront.CacheHeaderBehavior.allowList('X-CustomHeader'),\n  queryStringBehavior: cloudfront.CacheQueryStringBehavior.denyList('username'),\n  enableAcceptEncodingGzip: true,\n  enableAcceptEncodingBrotli: true,\n});\nnew cloudfront.Distribution(this, 'myDistCustomPolicy', {\n  defaultBehavior: {\n    origin: bucketOrigin,\n    cachePolicy: myCachePolicy,\n  },\n});","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.CacheQueryStringBehavior"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.BehaviorOptions","@aws-cdk/aws-cloudfront.CacheCookieBehavior","@aws-cdk/aws-cloudfront.CacheCookieBehavior#all","@aws-cdk/aws-cloudfront.CacheHeaderBehavior","@aws-cdk/aws-cloudfront.CacheHeaderBehavior#allowList","@aws-cdk/aws-cloudfront.CachePolicy","@aws-cdk/aws-cloudfront.CachePolicyProps","@aws-cdk/aws-cloudfront.CacheQueryStringBehavior","@aws-cdk/aws-cloudfront.CacheQueryStringBehavior#denyList","@aws-cdk/aws-cloudfront.Distribution","@aws-cdk/aws-cloudfront.DistributionProps","@aws-cdk/aws-cloudfront.ICachePolicy","@aws-cdk/aws-cloudfront.IOrigin","@aws-cdk/core.Duration","@aws-cdk/core.Duration#days","@aws-cdk/core.Duration#minutes","constructs.Construct"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// Creating a custom cache policy for a Distribution -- all parameters optional\ndeclare const bucketOrigin: origins.S3Origin;\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from 'constructs';\nimport { Duration, Stack } from '@aws-cdk/core';\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nimport * as origins from '@aws-cdk/aws-cloudfront-origins';\nimport * as s3 from '@aws-cdk/aws-s3';\nimport * as ec2 from '@aws-cdk/aws-ec2';\nimport * as elbv2 from '@aws-cdk/aws-elasticloadbalancingv2';\nimport * as lambda from '@aws-cdk/aws-lambda';\nimport * as path from 'path';\n\nclass Context extends Stack {\n  constructor(scope: Construct, id: string) {\n    super(scope, id);\n\n    // Code snippet begins after !show marker below\n/// !show\n\nconst myCachePolicy = new cloudfront.CachePolicy(this, 'myCachePolicy', {\n  cachePolicyName: 'MyPolicy',\n  comment: 'A default policy',\n  defaultTtl: Duration.days(2),\n  minTtl: Duration.minutes(1),\n  maxTtl: Duration.days(10),\n  cookieBehavior: cloudfront.CacheCookieBehavior.all(),\n  headerBehavior: cloudfront.CacheHeaderBehavior.allowList('X-CustomHeader'),\n  queryStringBehavior: cloudfront.CacheQueryStringBehavior.denyList('username'),\n  enableAcceptEncodingGzip: true,\n  enableAcceptEncodingBrotli: true,\n});\nnew cloudfront.Distribution(this, 'myDistCustomPolicy', {\n  defaultBehavior: {\n    origin: bucketOrigin,\n    cachePolicy: myCachePolicy,\n  },\n});\n/// !hide\n// Code snippet ended before !hide marker above\n  }\n}\n","syntaxKindCounter":{"8":3,"10":6,"75":38,"104":2,"106":2,"130":1,"153":1,"169":1,"193":3,"194":11,"196":6,"197":2,"225":2,"226":1,"242":2,"243":2,"281":13,"290":1},"fqnsFingerprint":"851e6039c3b10f9f5796b96b5a647776847d78c524a226036048783bcdc9df22"},"0db0c5bde086940f35963201f30370b8a0249dabb2ca2c9864fcc696575ddafa":{"translations":{"python":{"source":"# The code below shows an example of how to instantiate this type.\n# The values are placeholders you should change.\nimport aws_cdk.aws_cloudfront as cloudfront\n\ncached_methods = cloudfront.CachedMethods.CACHE_GET_HEAD","version":"2"},"csharp":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nusing Amazon.CDK.AWS.CloudFront;\n\nvar cachedMethods = CachedMethods.CACHE_GET_HEAD;","version":"1"},"java":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport software.amazon.awscdk.services.cloudfront.*;\n\nCachedMethods cachedMethods = CachedMethods.CACHE_GET_HEAD;","version":"1"},"go":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport cloudfront \"github.com/aws-samples/dummy/awscdkawscloudfront\"\n\ncachedMethods := cloudfront.CachedMethods_CACHE_GET_HEAD()","version":"1"},"$":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nconst cachedMethods = cloudfront.CachedMethods.CACHE_GET_HEAD;","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.CachedMethods"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.CachedMethods","@aws-cdk/aws-cloudfront.CachedMethods#CACHE_GET_HEAD"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from \"@aws-cdk/core\";\nclass MyConstruct extends Construct {\nconstructor(scope: Construct, id: string) {\nsuper(scope, id);\n// Code snippet begins after !show marker below\n/// !show\n\nconst cachedMethods = cloudfront.CachedMethods.CACHE_GET_HEAD;\n/// !hide\n// Code snippet ended before !hide marker above\n} }","syntaxKindCounter":{"10":1,"75":5,"194":2,"225":1,"242":1,"243":1,"254":1,"255":1,"256":1,"290":1},"fqnsFingerprint":"86ee01d801f842aa3aad2cbd65c711603d9a5dc26c158d88860bfef7460c23a8"},"c2e369bf9d79ecb3adb0422384355f10c90ff256312d38e17f2da20b5689d79c":{"translations":{"python":{"source":"# The code below shows an example of how to instantiate this type.\n# The values are placeholders you should change.\nimport aws_cdk.aws_cloudfront as cloudfront\n\ncfn_cache_policy = cloudfront.CfnCachePolicy(self, \"MyCfnCachePolicy\",\n    cache_policy_config=cloudfront.CfnCachePolicy.CachePolicyConfigProperty(\n        default_ttl=123,\n        max_ttl=123,\n        min_ttl=123,\n        name=\"name\",\n        parameters_in_cache_key_and_forwarded_to_origin=cloudfront.CfnCachePolicy.ParametersInCacheKeyAndForwardedToOriginProperty(\n            cookies_config=cloudfront.CfnCachePolicy.CookiesConfigProperty(\n                cookie_behavior=\"cookieBehavior\",\n\n                # the properties below are optional\n                cookies=[\"cookies\"]\n            ),\n            enable_accept_encoding_gzip=False,\n            headers_config=cloudfront.CfnCachePolicy.HeadersConfigProperty(\n                header_behavior=\"headerBehavior\",\n\n                # the properties below are optional\n                headers=[\"headers\"]\n            ),\n            query_strings_config=cloudfront.CfnCachePolicy.QueryStringsConfigProperty(\n                query_string_behavior=\"queryStringBehavior\",\n\n                # the properties below are optional\n                query_strings=[\"queryStrings\"]\n            ),\n\n            # the properties below are optional\n            enable_accept_encoding_brotli=False\n        ),\n\n        # the properties below are optional\n        comment=\"comment\"\n    )\n)","version":"2"},"csharp":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nusing Amazon.CDK.AWS.CloudFront;\n\nvar cfnCachePolicy = new CfnCachePolicy(this, \"MyCfnCachePolicy\", new CfnCachePolicyProps {\n    CachePolicyConfig = new CachePolicyConfigProperty {\n        DefaultTtl = 123,\n        MaxTtl = 123,\n        MinTtl = 123,\n        Name = \"name\",\n        ParametersInCacheKeyAndForwardedToOrigin = new ParametersInCacheKeyAndForwardedToOriginProperty {\n            CookiesConfig = new CookiesConfigProperty {\n                CookieBehavior = \"cookieBehavior\",\n\n                // the properties below are optional\n                Cookies = new [] { \"cookies\" }\n            },\n            EnableAcceptEncodingGzip = false,\n            HeadersConfig = new HeadersConfigProperty {\n                HeaderBehavior = \"headerBehavior\",\n\n                // the properties below are optional\n                Headers = new [] { \"headers\" }\n            },\n            QueryStringsConfig = new QueryStringsConfigProperty {\n                QueryStringBehavior = \"queryStringBehavior\",\n\n                // the properties below are optional\n                QueryStrings = new [] { \"queryStrings\" }\n            },\n\n            // the properties below are optional\n            EnableAcceptEncodingBrotli = false\n        },\n\n        // the properties below are optional\n        Comment = \"comment\"\n    }\n});","version":"1"},"java":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport software.amazon.awscdk.services.cloudfront.*;\n\nCfnCachePolicy cfnCachePolicy = CfnCachePolicy.Builder.create(this, \"MyCfnCachePolicy\")\n        .cachePolicyConfig(CachePolicyConfigProperty.builder()\n                .defaultTtl(123)\n                .maxTtl(123)\n                .minTtl(123)\n                .name(\"name\")\n                .parametersInCacheKeyAndForwardedToOrigin(ParametersInCacheKeyAndForwardedToOriginProperty.builder()\n                        .cookiesConfig(CookiesConfigProperty.builder()\n                                .cookieBehavior(\"cookieBehavior\")\n\n                                // the properties below are optional\n                                .cookies(List.of(\"cookies\"))\n                                .build())\n                        .enableAcceptEncodingGzip(false)\n                        .headersConfig(HeadersConfigProperty.builder()\n                                .headerBehavior(\"headerBehavior\")\n\n                                // the properties below are optional\n                                .headers(List.of(\"headers\"))\n                                .build())\n                        .queryStringsConfig(QueryStringsConfigProperty.builder()\n                                .queryStringBehavior(\"queryStringBehavior\")\n\n                                // the properties below are optional\n                                .queryStrings(List.of(\"queryStrings\"))\n                                .build())\n\n                        // the properties below are optional\n                        .enableAcceptEncodingBrotli(false)\n                        .build())\n\n                // the properties below are optional\n                .comment(\"comment\")\n                .build())\n        .build();","version":"1"},"go":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport cloudfront \"github.com/aws-samples/dummy/awscdkawscloudfront\"\n\ncfnCachePolicy := cloudfront.NewCfnCachePolicy(this, jsii.String(\"MyCfnCachePolicy\"), &CfnCachePolicyProps{\n\tCachePolicyConfig: &CachePolicyConfigProperty{\n\t\tDefaultTtl: jsii.Number(123),\n\t\tMaxTtl: jsii.Number(123),\n\t\tMinTtl: jsii.Number(123),\n\t\tName: jsii.String(\"name\"),\n\t\tParametersInCacheKeyAndForwardedToOrigin: &ParametersInCacheKeyAndForwardedToOriginProperty{\n\t\t\tCookiesConfig: &CookiesConfigProperty{\n\t\t\t\tCookieBehavior: jsii.String(\"cookieBehavior\"),\n\n\t\t\t\t// the properties below are optional\n\t\t\t\tCookies: []*string{\n\t\t\t\t\tjsii.String(\"cookies\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tEnableAcceptEncodingGzip: jsii.Boolean(false),\n\t\t\tHeadersConfig: &HeadersConfigProperty{\n\t\t\t\tHeaderBehavior: jsii.String(\"headerBehavior\"),\n\n\t\t\t\t// the properties below are optional\n\t\t\t\tHeaders: []*string{\n\t\t\t\t\tjsii.String(\"headers\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tQueryStringsConfig: &QueryStringsConfigProperty{\n\t\t\t\tQueryStringBehavior: jsii.String(\"queryStringBehavior\"),\n\n\t\t\t\t// the properties below are optional\n\t\t\t\tQueryStrings: []*string{\n\t\t\t\t\tjsii.String(\"queryStrings\"),\n\t\t\t\t},\n\t\t\t},\n\n\t\t\t// the properties below are optional\n\t\t\tEnableAcceptEncodingBrotli: jsii.Boolean(false),\n\t\t},\n\n\t\t// the properties below are optional\n\t\tComment: jsii.String(\"comment\"),\n\t},\n})","version":"1"},"$":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nconst cfnCachePolicy = new cloudfront.CfnCachePolicy(this, 'MyCfnCachePolicy', {\n  cachePolicyConfig: {\n    defaultTtl: 123,\n    maxTtl: 123,\n    minTtl: 123,\n    name: 'name',\n    parametersInCacheKeyAndForwardedToOrigin: {\n      cookiesConfig: {\n        cookieBehavior: 'cookieBehavior',\n\n        // the properties below are optional\n        cookies: ['cookies'],\n      },\n      enableAcceptEncodingGzip: false,\n      headersConfig: {\n        headerBehavior: 'headerBehavior',\n\n        // the properties below are optional\n        headers: ['headers'],\n      },\n      queryStringsConfig: {\n        queryStringBehavior: 'queryStringBehavior',\n\n        // the properties below are optional\n        queryStrings: ['queryStrings'],\n      },\n\n      // the properties below are optional\n      enableAcceptEncodingBrotli: false,\n    },\n\n    // the properties below are optional\n    comment: 'comment',\n  },\n});","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.CfnCachePolicy"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.CfnCachePolicy","@aws-cdk/aws-cloudfront.CfnCachePolicyProps","@aws-cdk/core.Construct"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from \"@aws-cdk/core\";\nclass MyConstruct extends Construct {\nconstructor(scope: Construct, id: string) {\nsuper(scope, id);\n// Code snippet begins after !show marker below\n/// !show\n\nconst cfnCachePolicy = new cloudfront.CfnCachePolicy(this, 'MyCfnCachePolicy', {\n  cachePolicyConfig: {\n    defaultTtl: 123,\n    maxTtl: 123,\n    minTtl: 123,\n    name: 'name',\n    parametersInCacheKeyAndForwardedToOrigin: {\n      cookiesConfig: {\n        cookieBehavior: 'cookieBehavior',\n\n        // the properties below are optional\n        cookies: ['cookies'],\n      },\n      enableAcceptEncodingGzip: false,\n      headersConfig: {\n        headerBehavior: 'headerBehavior',\n\n        // the properties below are optional\n        headers: ['headers'],\n      },\n      queryStringsConfig: {\n        queryStringBehavior: 'queryStringBehavior',\n\n        // the properties below are optional\n        queryStrings: ['queryStrings'],\n      },\n\n      // the properties below are optional\n      enableAcceptEncodingBrotli: false,\n    },\n\n    // the properties below are optional\n    comment: 'comment',\n  },\n});\n/// !hide\n// Code snippet ended before !hide marker above\n} }","syntaxKindCounter":{"8":3,"10":10,"75":22,"91":2,"104":1,"192":3,"193":6,"194":1,"197":1,"225":1,"242":1,"243":1,"254":1,"255":1,"256":1,"281":18,"290":1},"fqnsFingerprint":"da4dbf6c66c1cf6de062b9c2042346f44d042c03d1e7b0409f1c774293465afa"},"2a3a788fe43c00ad0a38e9b30c350b5e94e3015c9a435420a9054949c6d03044":{"translations":{"python":{"source":"# The code below shows an example of how to instantiate this type.\n# The values are placeholders you should change.\nimport aws_cdk.aws_cloudfront as cloudfront\n\ncache_policy_config_property = cloudfront.CfnCachePolicy.CachePolicyConfigProperty(\n    default_ttl=123,\n    max_ttl=123,\n    min_ttl=123,\n    name=\"name\",\n    parameters_in_cache_key_and_forwarded_to_origin=cloudfront.CfnCachePolicy.ParametersInCacheKeyAndForwardedToOriginProperty(\n        cookies_config=cloudfront.CfnCachePolicy.CookiesConfigProperty(\n            cookie_behavior=\"cookieBehavior\",\n\n            # the properties below are optional\n            cookies=[\"cookies\"]\n        ),\n        enable_accept_encoding_gzip=False,\n        headers_config=cloudfront.CfnCachePolicy.HeadersConfigProperty(\n            header_behavior=\"headerBehavior\",\n\n            # the properties below are optional\n            headers=[\"headers\"]\n        ),\n        query_strings_config=cloudfront.CfnCachePolicy.QueryStringsConfigProperty(\n            query_string_behavior=\"queryStringBehavior\",\n\n            # the properties below are optional\n            query_strings=[\"queryStrings\"]\n        ),\n\n        # the properties below are optional\n        enable_accept_encoding_brotli=False\n    ),\n\n    # the properties below are optional\n    comment=\"comment\"\n)","version":"2"},"csharp":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nusing Amazon.CDK.AWS.CloudFront;\n\nvar cachePolicyConfigProperty = new CachePolicyConfigProperty {\n    DefaultTtl = 123,\n    MaxTtl = 123,\n    MinTtl = 123,\n    Name = \"name\",\n    ParametersInCacheKeyAndForwardedToOrigin = new ParametersInCacheKeyAndForwardedToOriginProperty {\n        CookiesConfig = new CookiesConfigProperty {\n            CookieBehavior = \"cookieBehavior\",\n\n            // the properties below are optional\n            Cookies = new [] { \"cookies\" }\n        },\n        EnableAcceptEncodingGzip = false,\n        HeadersConfig = new HeadersConfigProperty {\n            HeaderBehavior = \"headerBehavior\",\n\n            // the properties below are optional\n            Headers = new [] { \"headers\" }\n        },\n        QueryStringsConfig = new QueryStringsConfigProperty {\n            QueryStringBehavior = \"queryStringBehavior\",\n\n            // the properties below are optional\n            QueryStrings = new [] { \"queryStrings\" }\n        },\n\n        // the properties below are optional\n        EnableAcceptEncodingBrotli = false\n    },\n\n    // the properties below are optional\n    Comment = \"comment\"\n};","version":"1"},"java":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport software.amazon.awscdk.services.cloudfront.*;\n\nCachePolicyConfigProperty cachePolicyConfigProperty = CachePolicyConfigProperty.builder()\n        .defaultTtl(123)\n        .maxTtl(123)\n        .minTtl(123)\n        .name(\"name\")\n        .parametersInCacheKeyAndForwardedToOrigin(ParametersInCacheKeyAndForwardedToOriginProperty.builder()\n                .cookiesConfig(CookiesConfigProperty.builder()\n                        .cookieBehavior(\"cookieBehavior\")\n\n                        // the properties below are optional\n                        .cookies(List.of(\"cookies\"))\n                        .build())\n                .enableAcceptEncodingGzip(false)\n                .headersConfig(HeadersConfigProperty.builder()\n                        .headerBehavior(\"headerBehavior\")\n\n                        // the properties below are optional\n                        .headers(List.of(\"headers\"))\n                        .build())\n                .queryStringsConfig(QueryStringsConfigProperty.builder()\n                        .queryStringBehavior(\"queryStringBehavior\")\n\n                        // the properties below are optional\n                        .queryStrings(List.of(\"queryStrings\"))\n                        .build())\n\n                // the properties below are optional\n                .enableAcceptEncodingBrotli(false)\n                .build())\n\n        // the properties below are optional\n        .comment(\"comment\")\n        .build();","version":"1"},"go":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport cloudfront \"github.com/aws-samples/dummy/awscdkawscloudfront\"\n\ncachePolicyConfigProperty := &CachePolicyConfigProperty{\n\tDefaultTtl: jsii.Number(123),\n\tMaxTtl: jsii.Number(123),\n\tMinTtl: jsii.Number(123),\n\tName: jsii.String(\"name\"),\n\tParametersInCacheKeyAndForwardedToOrigin: &ParametersInCacheKeyAndForwardedToOriginProperty{\n\t\tCookiesConfig: &CookiesConfigProperty{\n\t\t\tCookieBehavior: jsii.String(\"cookieBehavior\"),\n\n\t\t\t// the properties below are optional\n\t\t\tCookies: []*string{\n\t\t\t\tjsii.String(\"cookies\"),\n\t\t\t},\n\t\t},\n\t\tEnableAcceptEncodingGzip: jsii.Boolean(false),\n\t\tHeadersConfig: &HeadersConfigProperty{\n\t\t\tHeaderBehavior: jsii.String(\"headerBehavior\"),\n\n\t\t\t// the properties below are optional\n\t\t\tHeaders: []*string{\n\t\t\t\tjsii.String(\"headers\"),\n\t\t\t},\n\t\t},\n\t\tQueryStringsConfig: &QueryStringsConfigProperty{\n\t\t\tQueryStringBehavior: jsii.String(\"queryStringBehavior\"),\n\n\t\t\t// the properties below are optional\n\t\t\tQueryStrings: []*string{\n\t\t\t\tjsii.String(\"queryStrings\"),\n\t\t\t},\n\t\t},\n\n\t\t// the properties below are optional\n\t\tEnableAcceptEncodingBrotli: jsii.Boolean(false),\n\t},\n\n\t// the properties below are optional\n\tComment: jsii.String(\"comment\"),\n}","version":"1"},"$":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nconst cachePolicyConfigProperty: cloudfront.CfnCachePolicy.CachePolicyConfigProperty = {\n  defaultTtl: 123,\n  maxTtl: 123,\n  minTtl: 123,\n  name: 'name',\n  parametersInCacheKeyAndForwardedToOrigin: {\n    cookiesConfig: {\n      cookieBehavior: 'cookieBehavior',\n\n      // the properties below are optional\n      cookies: ['cookies'],\n    },\n    enableAcceptEncodingGzip: false,\n    headersConfig: {\n      headerBehavior: 'headerBehavior',\n\n      // the properties below are optional\n      headers: ['headers'],\n    },\n    queryStringsConfig: {\n      queryStringBehavior: 'queryStringBehavior',\n\n      // the properties below are optional\n      queryStrings: ['queryStrings'],\n    },\n\n    // the properties below are optional\n    enableAcceptEncodingBrotli: false,\n  },\n\n  // the properties below are optional\n  comment: 'comment',\n};","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.CfnCachePolicy.CachePolicyConfigProperty"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.CfnCachePolicy.CachePolicyConfigProperty"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from \"@aws-cdk/core\";\nclass MyConstruct extends Construct {\nconstructor(scope: Construct, id: string) {\nsuper(scope, id);\n// Code snippet begins after !show marker below\n/// !show\n\nconst cachePolicyConfigProperty: cloudfront.CfnCachePolicy.CachePolicyConfigProperty = {\n  defaultTtl: 123,\n  maxTtl: 123,\n  minTtl: 123,\n  name: 'name',\n  parametersInCacheKeyAndForwardedToOrigin: {\n    cookiesConfig: {\n      cookieBehavior: 'cookieBehavior',\n\n      // the properties below are optional\n      cookies: ['cookies'],\n    },\n    enableAcceptEncodingGzip: false,\n    headersConfig: {\n      headerBehavior: 'headerBehavior',\n\n      // the properties below are optional\n      headers: ['headers'],\n    },\n    queryStringsConfig: {\n      queryStringBehavior: 'queryStringBehavior',\n\n      // the properties below are optional\n      queryStrings: ['queryStrings'],\n    },\n\n    // the properties below are optional\n    enableAcceptEncodingBrotli: false,\n  },\n\n  // the properties below are optional\n  comment: 'comment',\n};\n/// !hide\n// Code snippet ended before !hide marker above\n} }","syntaxKindCounter":{"8":3,"10":9,"75":22,"91":2,"153":2,"169":1,"192":3,"193":5,"225":1,"242":1,"243":1,"254":1,"255":1,"256":1,"281":17,"290":1},"fqnsFingerprint":"813e83d34f07635c69766491aaf696e782878d8a47f88c3151ed5b57c7933a01"},"0dad172c0085aa575267e7f2449522d55ec3d315d1d5b5dcc4dbc50f0c1f9c01":{"translations":{"python":{"source":"# The code below shows an example of how to instantiate this type.\n# The values are placeholders you should change.\nimport aws_cdk.aws_cloudfront as cloudfront\n\ncookies_config_property = cloudfront.CfnCachePolicy.CookiesConfigProperty(\n    cookie_behavior=\"cookieBehavior\",\n\n    # the properties below are optional\n    cookies=[\"cookies\"]\n)","version":"2"},"csharp":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nusing Amazon.CDK.AWS.CloudFront;\n\nvar cookiesConfigProperty = new CookiesConfigProperty {\n    CookieBehavior = \"cookieBehavior\",\n\n    // the properties below are optional\n    Cookies = new [] { \"cookies\" }\n};","version":"1"},"java":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport software.amazon.awscdk.services.cloudfront.*;\n\nCookiesConfigProperty cookiesConfigProperty = CookiesConfigProperty.builder()\n        .cookieBehavior(\"cookieBehavior\")\n\n        // the properties below are optional\n        .cookies(List.of(\"cookies\"))\n        .build();","version":"1"},"go":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport cloudfront \"github.com/aws-samples/dummy/awscdkawscloudfront\"\n\ncookiesConfigProperty := &CookiesConfigProperty{\n\tCookieBehavior: jsii.String(\"cookieBehavior\"),\n\n\t// the properties below are optional\n\tCookies: []*string{\n\t\tjsii.String(\"cookies\"),\n\t},\n}","version":"1"},"$":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nconst cookiesConfigProperty: cloudfront.CfnCachePolicy.CookiesConfigProperty = {\n  cookieBehavior: 'cookieBehavior',\n\n  // the properties below are optional\n  cookies: ['cookies'],\n};","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.CfnCachePolicy.CookiesConfigProperty"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.CfnCachePolicy.CookiesConfigProperty"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from \"@aws-cdk/core\";\nclass MyConstruct extends Construct {\nconstructor(scope: Construct, id: string) {\nsuper(scope, id);\n// Code snippet begins after !show marker below\n/// !show\n\nconst cookiesConfigProperty: cloudfront.CfnCachePolicy.CookiesConfigProperty = {\n  cookieBehavior: 'cookieBehavior',\n\n  // the properties below are optional\n  cookies: ['cookies'],\n};\n/// !hide\n// Code snippet ended before !hide marker above\n} }","syntaxKindCounter":{"10":3,"75":7,"153":2,"169":1,"192":1,"193":1,"225":1,"242":1,"243":1,"254":1,"255":1,"256":1,"281":2,"290":1},"fqnsFingerprint":"5597de9d712397986cb5fdeab6d9004bd5172d3be4cfab3c196457e450cb04d7"},"f2aa4e795faf1e1fb774817ed850d9a3d158bb98ae98fcd40b6af35d13df89d2":{"translations":{"python":{"source":"# The code below shows an example of how to instantiate this type.\n# The values are placeholders you should change.\nimport aws_cdk.aws_cloudfront as cloudfront\n\nheaders_config_property = cloudfront.CfnCachePolicy.HeadersConfigProperty(\n    header_behavior=\"headerBehavior\",\n\n    # the properties below are optional\n    headers=[\"headers\"]\n)","version":"2"},"csharp":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nusing Amazon.CDK.AWS.CloudFront;\n\nvar headersConfigProperty = new HeadersConfigProperty {\n    HeaderBehavior = \"headerBehavior\",\n\n    // the properties below are optional\n    Headers = new [] { \"headers\" }\n};","version":"1"},"java":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport software.amazon.awscdk.services.cloudfront.*;\n\nHeadersConfigProperty headersConfigProperty = HeadersConfigProperty.builder()\n        .headerBehavior(\"headerBehavior\")\n\n        // the properties below are optional\n        .headers(List.of(\"headers\"))\n        .build();","version":"1"},"go":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport cloudfront \"github.com/aws-samples/dummy/awscdkawscloudfront\"\n\nheadersConfigProperty := &HeadersConfigProperty{\n\tHeaderBehavior: jsii.String(\"headerBehavior\"),\n\n\t// the properties below are optional\n\tHeaders: []*string{\n\t\tjsii.String(\"headers\"),\n\t},\n}","version":"1"},"$":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nconst headersConfigProperty: cloudfront.CfnCachePolicy.HeadersConfigProperty = {\n  headerBehavior: 'headerBehavior',\n\n  // the properties below are optional\n  headers: ['headers'],\n};","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.CfnCachePolicy.HeadersConfigProperty"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.CfnCachePolicy.HeadersConfigProperty"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from \"@aws-cdk/core\";\nclass MyConstruct extends Construct {\nconstructor(scope: Construct, id: string) {\nsuper(scope, id);\n// Code snippet begins after !show marker below\n/// !show\n\nconst headersConfigProperty: cloudfront.CfnCachePolicy.HeadersConfigProperty = {\n  headerBehavior: 'headerBehavior',\n\n  // the properties below are optional\n  headers: ['headers'],\n};\n/// !hide\n// Code snippet ended before !hide marker above\n} }","syntaxKindCounter":{"10":3,"75":7,"153":2,"169":1,"192":1,"193":1,"225":1,"242":1,"243":1,"254":1,"255":1,"256":1,"281":2,"290":1},"fqnsFingerprint":"905cf6fc1ac7a3a4decdec7676d0f1326c450ee46b90c8515d6db411fdda2741"},"4981d98366c16092d63be8f29a8ab5c086a440e55ffd6573f674d1f198866211":{"translations":{"python":{"source":"# The code below shows an example of how to instantiate this type.\n# The values are placeholders you should change.\nimport aws_cdk.aws_cloudfront as cloudfront\n\nparameters_in_cache_key_and_forwarded_to_origin_property = cloudfront.CfnCachePolicy.ParametersInCacheKeyAndForwardedToOriginProperty(\n    cookies_config=cloudfront.CfnCachePolicy.CookiesConfigProperty(\n        cookie_behavior=\"cookieBehavior\",\n\n        # the properties below are optional\n        cookies=[\"cookies\"]\n    ),\n    enable_accept_encoding_gzip=False,\n    headers_config=cloudfront.CfnCachePolicy.HeadersConfigProperty(\n        header_behavior=\"headerBehavior\",\n\n        # the properties below are optional\n        headers=[\"headers\"]\n    ),\n    query_strings_config=cloudfront.CfnCachePolicy.QueryStringsConfigProperty(\n        query_string_behavior=\"queryStringBehavior\",\n\n        # the properties below are optional\n        query_strings=[\"queryStrings\"]\n    ),\n\n    # the properties below are optional\n    enable_accept_encoding_brotli=False\n)","version":"2"},"csharp":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nusing Amazon.CDK.AWS.CloudFront;\n\nvar parametersInCacheKeyAndForwardedToOriginProperty = new ParametersInCacheKeyAndForwardedToOriginProperty {\n    CookiesConfig = new CookiesConfigProperty {\n        CookieBehavior = \"cookieBehavior\",\n\n        // the properties below are optional\n        Cookies = new [] { \"cookies\" }\n    },\n    EnableAcceptEncodingGzip = false,\n    HeadersConfig = new HeadersConfigProperty {\n        HeaderBehavior = \"headerBehavior\",\n\n        // the properties below are optional\n        Headers = new [] { \"headers\" }\n    },\n    QueryStringsConfig = new QueryStringsConfigProperty {\n        QueryStringBehavior = \"queryStringBehavior\",\n\n        // the properties below are optional\n        QueryStrings = new [] { \"queryStrings\" }\n    },\n\n    // the properties below are optional\n    EnableAcceptEncodingBrotli = false\n};","version":"1"},"java":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport software.amazon.awscdk.services.cloudfront.*;\n\nParametersInCacheKeyAndForwardedToOriginProperty parametersInCacheKeyAndForwardedToOriginProperty = ParametersInCacheKeyAndForwardedToOriginProperty.builder()\n        .cookiesConfig(CookiesConfigProperty.builder()\n                .cookieBehavior(\"cookieBehavior\")\n\n                // the properties below are optional\n                .cookies(List.of(\"cookies\"))\n                .build())\n        .enableAcceptEncodingGzip(false)\n        .headersConfig(HeadersConfigProperty.builder()\n                .headerBehavior(\"headerBehavior\")\n\n                // the properties below are optional\n                .headers(List.of(\"headers\"))\n                .build())\n        .queryStringsConfig(QueryStringsConfigProperty.builder()\n                .queryStringBehavior(\"queryStringBehavior\")\n\n                // the properties below are optional\n                .queryStrings(List.of(\"queryStrings\"))\n                .build())\n\n        // the properties below are optional\n        .enableAcceptEncodingBrotli(false)\n        .build();","version":"1"},"go":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport cloudfront \"github.com/aws-samples/dummy/awscdkawscloudfront\"\n\nparametersInCacheKeyAndForwardedToOriginProperty := &ParametersInCacheKeyAndForwardedToOriginProperty{\n\tCookiesConfig: &CookiesConfigProperty{\n\t\tCookieBehavior: jsii.String(\"cookieBehavior\"),\n\n\t\t// the properties below are optional\n\t\tCookies: []*string{\n\t\t\tjsii.String(\"cookies\"),\n\t\t},\n\t},\n\tEnableAcceptEncodingGzip: jsii.Boolean(false),\n\tHeadersConfig: &HeadersConfigProperty{\n\t\tHeaderBehavior: jsii.String(\"headerBehavior\"),\n\n\t\t// the properties below are optional\n\t\tHeaders: []*string{\n\t\t\tjsii.String(\"headers\"),\n\t\t},\n\t},\n\tQueryStringsConfig: &QueryStringsConfigProperty{\n\t\tQueryStringBehavior: jsii.String(\"queryStringBehavior\"),\n\n\t\t// the properties below are optional\n\t\tQueryStrings: []*string{\n\t\t\tjsii.String(\"queryStrings\"),\n\t\t},\n\t},\n\n\t// the properties below are optional\n\tEnableAcceptEncodingBrotli: jsii.Boolean(false),\n}","version":"1"},"$":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nconst parametersInCacheKeyAndForwardedToOriginProperty: cloudfront.CfnCachePolicy.ParametersInCacheKeyAndForwardedToOriginProperty = {\n  cookiesConfig: {\n    cookieBehavior: 'cookieBehavior',\n\n    // the properties below are optional\n    cookies: ['cookies'],\n  },\n  enableAcceptEncodingGzip: false,\n  headersConfig: {\n    headerBehavior: 'headerBehavior',\n\n    // the properties below are optional\n    headers: ['headers'],\n  },\n  queryStringsConfig: {\n    queryStringBehavior: 'queryStringBehavior',\n\n    // the properties below are optional\n    queryStrings: ['queryStrings'],\n  },\n\n  // the properties below are optional\n  enableAcceptEncodingBrotli: false,\n};","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.CfnCachePolicy.ParametersInCacheKeyAndForwardedToOriginProperty"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.CfnCachePolicy.ParametersInCacheKeyAndForwardedToOriginProperty"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from \"@aws-cdk/core\";\nclass MyConstruct extends Construct {\nconstructor(scope: Construct, id: string) {\nsuper(scope, id);\n// Code snippet begins after !show marker below\n/// !show\n\nconst parametersInCacheKeyAndForwardedToOriginProperty: cloudfront.CfnCachePolicy.ParametersInCacheKeyAndForwardedToOriginProperty = {\n  cookiesConfig: {\n    cookieBehavior: 'cookieBehavior',\n\n    // the properties below are optional\n    cookies: ['cookies'],\n  },\n  enableAcceptEncodingGzip: false,\n  headersConfig: {\n    headerBehavior: 'headerBehavior',\n\n    // the properties below are optional\n    headers: ['headers'],\n  },\n  queryStringsConfig: {\n    queryStringBehavior: 'queryStringBehavior',\n\n    // the properties below are optional\n    queryStrings: ['queryStrings'],\n  },\n\n  // the properties below are optional\n  enableAcceptEncodingBrotli: false,\n};\n/// !hide\n// Code snippet ended before !hide marker above\n} }","syntaxKindCounter":{"10":7,"75":16,"91":2,"153":2,"169":1,"192":3,"193":4,"225":1,"242":1,"243":1,"254":1,"255":1,"256":1,"281":11,"290":1},"fqnsFingerprint":"29dd6f57deedd0fa028b8f7fe0b0fa8b0b7df2232111edb27b24eb4abff160fe"},"d54776c3cc3d6f7dec59864481b7ce4deccb682e7c25123a83f0a20f85f8a9bb":{"translations":{"python":{"source":"# The code below shows an example of how to instantiate this type.\n# The values are placeholders you should change.\nimport aws_cdk.aws_cloudfront as cloudfront\n\nquery_strings_config_property = cloudfront.CfnCachePolicy.QueryStringsConfigProperty(\n    query_string_behavior=\"queryStringBehavior\",\n\n    # the properties below are optional\n    query_strings=[\"queryStrings\"]\n)","version":"2"},"csharp":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nusing Amazon.CDK.AWS.CloudFront;\n\nvar queryStringsConfigProperty = new QueryStringsConfigProperty {\n    QueryStringBehavior = \"queryStringBehavior\",\n\n    // the properties below are optional\n    QueryStrings = new [] { \"queryStrings\" }\n};","version":"1"},"java":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport software.amazon.awscdk.services.cloudfront.*;\n\nQueryStringsConfigProperty queryStringsConfigProperty = QueryStringsConfigProperty.builder()\n        .queryStringBehavior(\"queryStringBehavior\")\n\n        // the properties below are optional\n        .queryStrings(List.of(\"queryStrings\"))\n        .build();","version":"1"},"go":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport cloudfront \"github.com/aws-samples/dummy/awscdkawscloudfront\"\n\nqueryStringsConfigProperty := &QueryStringsConfigProperty{\n\tQueryStringBehavior: jsii.String(\"queryStringBehavior\"),\n\n\t// the properties below are optional\n\tQueryStrings: []*string{\n\t\tjsii.String(\"queryStrings\"),\n\t},\n}","version":"1"},"$":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nconst queryStringsConfigProperty: cloudfront.CfnCachePolicy.QueryStringsConfigProperty = {\n  queryStringBehavior: 'queryStringBehavior',\n\n  // the properties below are optional\n  queryStrings: ['queryStrings'],\n};","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.CfnCachePolicy.QueryStringsConfigProperty"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.CfnCachePolicy.QueryStringsConfigProperty"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from \"@aws-cdk/core\";\nclass MyConstruct extends Construct {\nconstructor(scope: Construct, id: string) {\nsuper(scope, id);\n// Code snippet begins after !show marker below\n/// !show\n\nconst queryStringsConfigProperty: cloudfront.CfnCachePolicy.QueryStringsConfigProperty = {\n  queryStringBehavior: 'queryStringBehavior',\n\n  // the properties below are optional\n  queryStrings: ['queryStrings'],\n};\n/// !hide\n// Code snippet ended before !hide marker above\n} }","syntaxKindCounter":{"10":3,"75":7,"153":2,"169":1,"192":1,"193":1,"225":1,"242":1,"243":1,"254":1,"255":1,"256":1,"281":2,"290":1},"fqnsFingerprint":"c74adbf5092dfe5d93aa24976d5c81474f18207a0e7e195013261744fad89651"},"66dd7e0efc32331bc4d5422acc76c0f3b928ab84c1a5e5e95db73f1b611ba839":{"translations":{"python":{"source":"# The code below shows an example of how to instantiate this type.\n# The values are placeholders you should change.\nimport aws_cdk.aws_cloudfront as cloudfront\n\ncfn_cache_policy_props = cloudfront.CfnCachePolicyProps(\n    cache_policy_config=cloudfront.CfnCachePolicy.CachePolicyConfigProperty(\n        default_ttl=123,\n        max_ttl=123,\n        min_ttl=123,\n        name=\"name\",\n        parameters_in_cache_key_and_forwarded_to_origin=cloudfront.CfnCachePolicy.ParametersInCacheKeyAndForwardedToOriginProperty(\n            cookies_config=cloudfront.CfnCachePolicy.CookiesConfigProperty(\n                cookie_behavior=\"cookieBehavior\",\n\n                # the properties below are optional\n                cookies=[\"cookies\"]\n            ),\n            enable_accept_encoding_gzip=False,\n            headers_config=cloudfront.CfnCachePolicy.HeadersConfigProperty(\n                header_behavior=\"headerBehavior\",\n\n                # the properties below are optional\n                headers=[\"headers\"]\n            ),\n            query_strings_config=cloudfront.CfnCachePolicy.QueryStringsConfigProperty(\n                query_string_behavior=\"queryStringBehavior\",\n\n                # the properties below are optional\n                query_strings=[\"queryStrings\"]\n            ),\n\n            # the properties below are optional\n            enable_accept_encoding_brotli=False\n        ),\n\n        # the properties below are optional\n        comment=\"comment\"\n    )\n)","version":"2"},"csharp":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nusing Amazon.CDK.AWS.CloudFront;\n\nvar cfnCachePolicyProps = new CfnCachePolicyProps {\n    CachePolicyConfig = new CachePolicyConfigProperty {\n        DefaultTtl = 123,\n        MaxTtl = 123,\n        MinTtl = 123,\n        Name = \"name\",\n        ParametersInCacheKeyAndForwardedToOrigin = new ParametersInCacheKeyAndForwardedToOriginProperty {\n            CookiesConfig = new CookiesConfigProperty {\n                CookieBehavior = \"cookieBehavior\",\n\n                // the properties below are optional\n                Cookies = new [] { \"cookies\" }\n            },\n            EnableAcceptEncodingGzip = false,\n            HeadersConfig = new HeadersConfigProperty {\n                HeaderBehavior = \"headerBehavior\",\n\n                // the properties below are optional\n                Headers = new [] { \"headers\" }\n            },\n            QueryStringsConfig = new QueryStringsConfigProperty {\n                QueryStringBehavior = \"queryStringBehavior\",\n\n                // the properties below are optional\n                QueryStrings = new [] { \"queryStrings\" }\n            },\n\n            // the properties below are optional\n            EnableAcceptEncodingBrotli = false\n        },\n\n        // the properties below are optional\n        Comment = \"comment\"\n    }\n};","version":"1"},"java":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport software.amazon.awscdk.services.cloudfront.*;\n\nCfnCachePolicyProps cfnCachePolicyProps = CfnCachePolicyProps.builder()\n        .cachePolicyConfig(CachePolicyConfigProperty.builder()\n                .defaultTtl(123)\n                .maxTtl(123)\n                .minTtl(123)\n                .name(\"name\")\n                .parametersInCacheKeyAndForwardedToOrigin(ParametersInCacheKeyAndForwardedToOriginProperty.builder()\n                        .cookiesConfig(CookiesConfigProperty.builder()\n                                .cookieBehavior(\"cookieBehavior\")\n\n                                // the properties below are optional\n                                .cookies(List.of(\"cookies\"))\n                                .build())\n                        .enableAcceptEncodingGzip(false)\n                        .headersConfig(HeadersConfigProperty.builder()\n                                .headerBehavior(\"headerBehavior\")\n\n                                // the properties below are optional\n                                .headers(List.of(\"headers\"))\n                                .build())\n                        .queryStringsConfig(QueryStringsConfigProperty.builder()\n                                .queryStringBehavior(\"queryStringBehavior\")\n\n                                // the properties below are optional\n                                .queryStrings(List.of(\"queryStrings\"))\n                                .build())\n\n                        // the properties below are optional\n                        .enableAcceptEncodingBrotli(false)\n                        .build())\n\n                // the properties below are optional\n                .comment(\"comment\")\n                .build())\n        .build();","version":"1"},"go":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport cloudfront \"github.com/aws-samples/dummy/awscdkawscloudfront\"\n\ncfnCachePolicyProps := &CfnCachePolicyProps{\n\tCachePolicyConfig: &CachePolicyConfigProperty{\n\t\tDefaultTtl: jsii.Number(123),\n\t\tMaxTtl: jsii.Number(123),\n\t\tMinTtl: jsii.Number(123),\n\t\tName: jsii.String(\"name\"),\n\t\tParametersInCacheKeyAndForwardedToOrigin: &ParametersInCacheKeyAndForwardedToOriginProperty{\n\t\t\tCookiesConfig: &CookiesConfigProperty{\n\t\t\t\tCookieBehavior: jsii.String(\"cookieBehavior\"),\n\n\t\t\t\t// the properties below are optional\n\t\t\t\tCookies: []*string{\n\t\t\t\t\tjsii.String(\"cookies\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tEnableAcceptEncodingGzip: jsii.Boolean(false),\n\t\t\tHeadersConfig: &HeadersConfigProperty{\n\t\t\t\tHeaderBehavior: jsii.String(\"headerBehavior\"),\n\n\t\t\t\t// the properties below are optional\n\t\t\t\tHeaders: []*string{\n\t\t\t\t\tjsii.String(\"headers\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tQueryStringsConfig: &QueryStringsConfigProperty{\n\t\t\t\tQueryStringBehavior: jsii.String(\"queryStringBehavior\"),\n\n\t\t\t\t// the properties below are optional\n\t\t\t\tQueryStrings: []*string{\n\t\t\t\t\tjsii.String(\"queryStrings\"),\n\t\t\t\t},\n\t\t\t},\n\n\t\t\t// the properties below are optional\n\t\t\tEnableAcceptEncodingBrotli: jsii.Boolean(false),\n\t\t},\n\n\t\t// the properties below are optional\n\t\tComment: jsii.String(\"comment\"),\n\t},\n}","version":"1"},"$":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nconst cfnCachePolicyProps: cloudfront.CfnCachePolicyProps = {\n  cachePolicyConfig: {\n    defaultTtl: 123,\n    maxTtl: 123,\n    minTtl: 123,\n    name: 'name',\n    parametersInCacheKeyAndForwardedToOrigin: {\n      cookiesConfig: {\n        cookieBehavior: 'cookieBehavior',\n\n        // the properties below are optional\n        cookies: ['cookies'],\n      },\n      enableAcceptEncodingGzip: false,\n      headersConfig: {\n        headerBehavior: 'headerBehavior',\n\n        // the properties below are optional\n        headers: ['headers'],\n      },\n      queryStringsConfig: {\n        queryStringBehavior: 'queryStringBehavior',\n\n        // the properties below are optional\n        queryStrings: ['queryStrings'],\n      },\n\n      // the properties below are optional\n      enableAcceptEncodingBrotli: false,\n    },\n\n    // the properties below are optional\n    comment: 'comment',\n  },\n};","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.CfnCachePolicyProps"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.CfnCachePolicyProps"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from \"@aws-cdk/core\";\nclass MyConstruct extends Construct {\nconstructor(scope: Construct, id: string) {\nsuper(scope, id);\n// Code snippet begins after !show marker below\n/// !show\n\nconst cfnCachePolicyProps: cloudfront.CfnCachePolicyProps = {\n  cachePolicyConfig: {\n    defaultTtl: 123,\n    maxTtl: 123,\n    minTtl: 123,\n    name: 'name',\n    parametersInCacheKeyAndForwardedToOrigin: {\n      cookiesConfig: {\n        cookieBehavior: 'cookieBehavior',\n\n        // the properties below are optional\n        cookies: ['cookies'],\n      },\n      enableAcceptEncodingGzip: false,\n      headersConfig: {\n        headerBehavior: 'headerBehavior',\n\n        // the properties below are optional\n        headers: ['headers'],\n      },\n      queryStringsConfig: {\n        queryStringBehavior: 'queryStringBehavior',\n\n        // the properties below are optional\n        queryStrings: ['queryStrings'],\n      },\n\n      // the properties below are optional\n      enableAcceptEncodingBrotli: false,\n    },\n\n    // the properties below are optional\n    comment: 'comment',\n  },\n};\n/// !hide\n// Code snippet ended before !hide marker above\n} }","syntaxKindCounter":{"8":3,"10":9,"75":22,"91":2,"153":1,"169":1,"192":3,"193":6,"225":1,"242":1,"243":1,"254":1,"255":1,"256":1,"281":18,"290":1},"fqnsFingerprint":"2880e5d636584758ab576a7bbb62f90bd9c8b3f18756e72e5f53f2792c5343d1"},"e7a8f0aea04a4ab517717c2c5d4c3dcf8f0072c9cf980de4b19105b44fda5769":{"translations":{"python":{"source":"# The code below shows an example of how to instantiate this type.\n# The values are placeholders you should change.\nimport aws_cdk.aws_cloudfront as cloudfront\n\ncfn_cloud_front_origin_access_identity = cloudfront.CfnCloudFrontOriginAccessIdentity(self, \"MyCfnCloudFrontOriginAccessIdentity\",\n    cloud_front_origin_access_identity_config=cloudfront.CfnCloudFrontOriginAccessIdentity.CloudFrontOriginAccessIdentityConfigProperty(\n        comment=\"comment\"\n    )\n)","version":"2"},"csharp":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nusing Amazon.CDK.AWS.CloudFront;\n\nvar cfnCloudFrontOriginAccessIdentity = new CfnCloudFrontOriginAccessIdentity(this, \"MyCfnCloudFrontOriginAccessIdentity\", new CfnCloudFrontOriginAccessIdentityProps {\n    CloudFrontOriginAccessIdentityConfig = new CloudFrontOriginAccessIdentityConfigProperty {\n        Comment = \"comment\"\n    }\n});","version":"1"},"java":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport software.amazon.awscdk.services.cloudfront.*;\n\nCfnCloudFrontOriginAccessIdentity cfnCloudFrontOriginAccessIdentity = CfnCloudFrontOriginAccessIdentity.Builder.create(this, \"MyCfnCloudFrontOriginAccessIdentity\")\n        .cloudFrontOriginAccessIdentityConfig(CloudFrontOriginAccessIdentityConfigProperty.builder()\n                .comment(\"comment\")\n                .build())\n        .build();","version":"1"},"go":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport cloudfront \"github.com/aws-samples/dummy/awscdkawscloudfront\"\n\ncfnCloudFrontOriginAccessIdentity := cloudfront.NewCfnCloudFrontOriginAccessIdentity(this, jsii.String(\"MyCfnCloudFrontOriginAccessIdentity\"), &CfnCloudFrontOriginAccessIdentityProps{\n\tCloudFrontOriginAccessIdentityConfig: &CloudFrontOriginAccessIdentityConfigProperty{\n\t\tComment: jsii.String(\"comment\"),\n\t},\n})","version":"1"},"$":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nconst cfnCloudFrontOriginAccessIdentity = new cloudfront.CfnCloudFrontOriginAccessIdentity(this, 'MyCfnCloudFrontOriginAccessIdentity', {\n  cloudFrontOriginAccessIdentityConfig: {\n    comment: 'comment',\n  },\n});","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.CfnCloudFrontOriginAccessIdentity"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.CfnCloudFrontOriginAccessIdentity","@aws-cdk/aws-cloudfront.CfnCloudFrontOriginAccessIdentityProps","@aws-cdk/core.Construct"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from \"@aws-cdk/core\";\nclass MyConstruct extends Construct {\nconstructor(scope: Construct, id: string) {\nsuper(scope, id);\n// Code snippet begins after !show marker below\n/// !show\n\nconst cfnCloudFrontOriginAccessIdentity = new cloudfront.CfnCloudFrontOriginAccessIdentity(this, 'MyCfnCloudFrontOriginAccessIdentity', {\n  cloudFrontOriginAccessIdentityConfig: {\n    comment: 'comment',\n  },\n});\n/// !hide\n// Code snippet ended before !hide marker above\n} }","syntaxKindCounter":{"10":3,"75":6,"104":1,"193":2,"194":1,"197":1,"225":1,"242":1,"243":1,"254":1,"255":1,"256":1,"281":2,"290":1},"fqnsFingerprint":"910a3987a26f9866b407142a819705d9672d990718c8d42012b967713f5c4221"},"3610eb83dbc0d09da005b7d55e5415353babb0e3685195b48c9c2ba10bb15606":{"translations":{"python":{"source":"# The code below shows an example of how to instantiate this type.\n# The values are placeholders you should change.\nimport aws_cdk.aws_cloudfront as cloudfront\n\ncloud_front_origin_access_identity_config_property = cloudfront.CfnCloudFrontOriginAccessIdentity.CloudFrontOriginAccessIdentityConfigProperty(\n    comment=\"comment\"\n)","version":"2"},"csharp":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nusing Amazon.CDK.AWS.CloudFront;\n\nvar cloudFrontOriginAccessIdentityConfigProperty = new CloudFrontOriginAccessIdentityConfigProperty {\n    Comment = \"comment\"\n};","version":"1"},"java":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport software.amazon.awscdk.services.cloudfront.*;\n\nCloudFrontOriginAccessIdentityConfigProperty cloudFrontOriginAccessIdentityConfigProperty = CloudFrontOriginAccessIdentityConfigProperty.builder()\n        .comment(\"comment\")\n        .build();","version":"1"},"go":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport cloudfront \"github.com/aws-samples/dummy/awscdkawscloudfront\"\n\ncloudFrontOriginAccessIdentityConfigProperty := &CloudFrontOriginAccessIdentityConfigProperty{\n\tComment: jsii.String(\"comment\"),\n}","version":"1"},"$":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nconst cloudFrontOriginAccessIdentityConfigProperty: cloudfront.CfnCloudFrontOriginAccessIdentity.CloudFrontOriginAccessIdentityConfigProperty = {\n  comment: 'comment',\n};","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.CfnCloudFrontOriginAccessIdentity.CloudFrontOriginAccessIdentityConfigProperty"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.CfnCloudFrontOriginAccessIdentity.CloudFrontOriginAccessIdentityConfigProperty"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from \"@aws-cdk/core\";\nclass MyConstruct extends Construct {\nconstructor(scope: Construct, id: string) {\nsuper(scope, id);\n// Code snippet begins after !show marker below\n/// !show\n\nconst cloudFrontOriginAccessIdentityConfigProperty: cloudfront.CfnCloudFrontOriginAccessIdentity.CloudFrontOriginAccessIdentityConfigProperty = {\n  comment: 'comment',\n};\n/// !hide\n// Code snippet ended before !hide marker above\n} }","syntaxKindCounter":{"10":2,"75":6,"153":2,"169":1,"193":1,"225":1,"242":1,"243":1,"254":1,"255":1,"256":1,"281":1,"290":1},"fqnsFingerprint":"3f71f43fe657b1999f48bb302bcad72f4a13301d9f789c0729eb76b60fdcc144"},"9c683d354e45ed06a15e3f175941e14fc8c06e21cb85e4437612a054ff18a151":{"translations":{"python":{"source":"# The code below shows an example of how to instantiate this type.\n# The values are placeholders you should change.\nimport aws_cdk.aws_cloudfront as cloudfront\n\ncfn_cloud_front_origin_access_identity_props = cloudfront.CfnCloudFrontOriginAccessIdentityProps(\n    cloud_front_origin_access_identity_config=cloudfront.CfnCloudFrontOriginAccessIdentity.CloudFrontOriginAccessIdentityConfigProperty(\n        comment=\"comment\"\n    )\n)","version":"2"},"csharp":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nusing Amazon.CDK.AWS.CloudFront;\n\nvar cfnCloudFrontOriginAccessIdentityProps = new CfnCloudFrontOriginAccessIdentityProps {\n    CloudFrontOriginAccessIdentityConfig = new CloudFrontOriginAccessIdentityConfigProperty {\n        Comment = \"comment\"\n    }\n};","version":"1"},"java":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport software.amazon.awscdk.services.cloudfront.*;\n\nCfnCloudFrontOriginAccessIdentityProps cfnCloudFrontOriginAccessIdentityProps = CfnCloudFrontOriginAccessIdentityProps.builder()\n        .cloudFrontOriginAccessIdentityConfig(CloudFrontOriginAccessIdentityConfigProperty.builder()\n                .comment(\"comment\")\n                .build())\n        .build();","version":"1"},"go":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport cloudfront \"github.com/aws-samples/dummy/awscdkawscloudfront\"\n\ncfnCloudFrontOriginAccessIdentityProps := &CfnCloudFrontOriginAccessIdentityProps{\n\tCloudFrontOriginAccessIdentityConfig: &CloudFrontOriginAccessIdentityConfigProperty{\n\t\tComment: jsii.String(\"comment\"),\n\t},\n}","version":"1"},"$":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nconst cfnCloudFrontOriginAccessIdentityProps: cloudfront.CfnCloudFrontOriginAccessIdentityProps = {\n  cloudFrontOriginAccessIdentityConfig: {\n    comment: 'comment',\n  },\n};","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.CfnCloudFrontOriginAccessIdentityProps"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.CfnCloudFrontOriginAccessIdentityProps"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from \"@aws-cdk/core\";\nclass MyConstruct extends Construct {\nconstructor(scope: Construct, id: string) {\nsuper(scope, id);\n// Code snippet begins after !show marker below\n/// !show\n\nconst cfnCloudFrontOriginAccessIdentityProps: cloudfront.CfnCloudFrontOriginAccessIdentityProps = {\n  cloudFrontOriginAccessIdentityConfig: {\n    comment: 'comment',\n  },\n};\n/// !hide\n// Code snippet ended before !hide marker above\n} }","syntaxKindCounter":{"10":2,"75":6,"153":1,"169":1,"193":2,"225":1,"242":1,"243":1,"254":1,"255":1,"256":1,"281":2,"290":1},"fqnsFingerprint":"7908b58f710fed674800567f32b23cfdf409531ab643e77c121554c06f497982"},"9aeb7a15917a2b55fac8033faeaadcdad1a1fe815afe95b84333093f8a8e4989":{"translations":{"python":{"source":"# The code below shows an example of how to instantiate this type.\n# The values are placeholders you should change.\nimport aws_cdk.aws_cloudfront as cloudfront\n\ncfn_continuous_deployment_policy = cloudfront.CfnContinuousDeploymentPolicy(self, \"MyCfnContinuousDeploymentPolicy\",\n    continuous_deployment_policy_config=cloudfront.CfnContinuousDeploymentPolicy.ContinuousDeploymentPolicyConfigProperty(\n        enabled=False,\n        staging_distribution_dns_names=[\"stagingDistributionDnsNames\"],\n\n        # the properties below are optional\n        traffic_config=cloudfront.CfnContinuousDeploymentPolicy.TrafficConfigProperty(\n            type=\"type\",\n\n            # the properties below are optional\n            single_header_config=cloudfront.CfnContinuousDeploymentPolicy.SingleHeaderConfigProperty(\n                header=\"header\",\n                value=\"value\"\n            ),\n            single_weight_config=cloudfront.CfnContinuousDeploymentPolicy.SingleWeightConfigProperty(\n                weight=123,\n\n                # the properties below are optional\n                session_stickiness_config=cloudfront.CfnContinuousDeploymentPolicy.SessionStickinessConfigProperty(\n                    idle_ttl=123,\n                    maximum_ttl=123\n                )\n            )\n        )\n    )\n)","version":"2"},"csharp":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nusing Amazon.CDK.AWS.CloudFront;\n\nvar cfnContinuousDeploymentPolicy = new CfnContinuousDeploymentPolicy(this, \"MyCfnContinuousDeploymentPolicy\", new CfnContinuousDeploymentPolicyProps {\n    ContinuousDeploymentPolicyConfig = new ContinuousDeploymentPolicyConfigProperty {\n        Enabled = false,\n        StagingDistributionDnsNames = new [] { \"stagingDistributionDnsNames\" },\n\n        // the properties below are optional\n        TrafficConfig = new TrafficConfigProperty {\n            Type = \"type\",\n\n            // the properties below are optional\n            SingleHeaderConfig = new SingleHeaderConfigProperty {\n                Header = \"header\",\n                Value = \"value\"\n            },\n            SingleWeightConfig = new SingleWeightConfigProperty {\n                Weight = 123,\n\n                // the properties below are optional\n                SessionStickinessConfig = new SessionStickinessConfigProperty {\n                    IdleTtl = 123,\n                    MaximumTtl = 123\n                }\n            }\n        }\n    }\n});","version":"1"},"java":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport software.amazon.awscdk.services.cloudfront.*;\n\nCfnContinuousDeploymentPolicy cfnContinuousDeploymentPolicy = CfnContinuousDeploymentPolicy.Builder.create(this, \"MyCfnContinuousDeploymentPolicy\")\n        .continuousDeploymentPolicyConfig(ContinuousDeploymentPolicyConfigProperty.builder()\n                .enabled(false)\n                .stagingDistributionDnsNames(List.of(\"stagingDistributionDnsNames\"))\n\n                // the properties below are optional\n                .trafficConfig(TrafficConfigProperty.builder()\n                        .type(\"type\")\n\n                        // the properties below are optional\n                        .singleHeaderConfig(SingleHeaderConfigProperty.builder()\n                                .header(\"header\")\n                                .value(\"value\")\n                                .build())\n                        .singleWeightConfig(SingleWeightConfigProperty.builder()\n                                .weight(123)\n\n                                // the properties below are optional\n                                .sessionStickinessConfig(SessionStickinessConfigProperty.builder()\n                                        .idleTtl(123)\n                                        .maximumTtl(123)\n                                        .build())\n                                .build())\n                        .build())\n                .build())\n        .build();","version":"1"},"go":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport cloudfront \"github.com/aws-samples/dummy/awscdkawscloudfront\"\n\ncfnContinuousDeploymentPolicy := cloudfront.NewCfnContinuousDeploymentPolicy(this, jsii.String(\"MyCfnContinuousDeploymentPolicy\"), &CfnContinuousDeploymentPolicyProps{\n\tContinuousDeploymentPolicyConfig: &ContinuousDeploymentPolicyConfigProperty{\n\t\tEnabled: jsii.Boolean(false),\n\t\tStagingDistributionDnsNames: []*string{\n\t\t\tjsii.String(\"stagingDistributionDnsNames\"),\n\t\t},\n\n\t\t// the properties below are optional\n\t\tTrafficConfig: &TrafficConfigProperty{\n\t\t\tType: jsii.String(\"type\"),\n\n\t\t\t// the properties below are optional\n\t\t\tSingleHeaderConfig: &SingleHeaderConfigProperty{\n\t\t\t\tHeader: jsii.String(\"header\"),\n\t\t\t\tValue: jsii.String(\"value\"),\n\t\t\t},\n\t\t\tSingleWeightConfig: &SingleWeightConfigProperty{\n\t\t\t\tWeight: jsii.Number(123),\n\n\t\t\t\t// the properties below are optional\n\t\t\t\tSessionStickinessConfig: &SessionStickinessConfigProperty{\n\t\t\t\t\tIdleTtl: jsii.Number(123),\n\t\t\t\t\tMaximumTtl: jsii.Number(123),\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n})","version":"1"},"$":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nconst cfnContinuousDeploymentPolicy = new cloudfront.CfnContinuousDeploymentPolicy(this, 'MyCfnContinuousDeploymentPolicy', {\n  continuousDeploymentPolicyConfig: {\n    enabled: false,\n    stagingDistributionDnsNames: ['stagingDistributionDnsNames'],\n\n    // the properties below are optional\n    trafficConfig: {\n      type: 'type',\n\n      // the properties below are optional\n      singleHeaderConfig: {\n        header: 'header',\n        value: 'value',\n      },\n      singleWeightConfig: {\n        weight: 123,\n\n        // the properties below are optional\n        sessionStickinessConfig: {\n          idleTtl: 123,\n          maximumTtl: 123,\n        },\n      },\n    },\n  },\n});","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.CfnContinuousDeploymentPolicy"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.CfnContinuousDeploymentPolicy","@aws-cdk/aws-cloudfront.CfnContinuousDeploymentPolicyProps","@aws-cdk/core.Construct"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from \"@aws-cdk/core\";\nclass MyConstruct extends Construct {\nconstructor(scope: Construct, id: string) {\nsuper(scope, id);\n// Code snippet begins after !show marker below\n/// !show\n\nconst cfnContinuousDeploymentPolicy = new cloudfront.CfnContinuousDeploymentPolicy(this, 'MyCfnContinuousDeploymentPolicy', {\n  continuousDeploymentPolicyConfig: {\n    enabled: false,\n    stagingDistributionDnsNames: ['stagingDistributionDnsNames'],\n\n    // the properties below are optional\n    trafficConfig: {\n      type: 'type',\n\n      // the properties below are optional\n      singleHeaderConfig: {\n        header: 'header',\n        value: 'value',\n      },\n      singleWeightConfig: {\n        weight: 123,\n\n        // the properties below are optional\n        sessionStickinessConfig: {\n          idleTtl: 123,\n          maximumTtl: 123,\n        },\n      },\n    },\n  },\n});\n/// !hide\n// Code snippet ended before !hide marker above\n} }","syntaxKindCounter":{"8":3,"10":6,"75":17,"91":1,"104":1,"192":1,"193":6,"194":1,"197":1,"225":1,"242":1,"243":1,"254":1,"255":1,"256":1,"281":13,"290":1},"fqnsFingerprint":"370c23f195d9eb20f04b82b9959129438c2aad21ce7beed2d2c0350843d4eeb2"},"f381d2318a332fff4a4d1296aa8dad6e0132d2ef0a95c3ddd664e080a44ee604":{"translations":{"python":{"source":"# The code below shows an example of how to instantiate this type.\n# The values are placeholders you should change.\nimport aws_cdk.aws_cloudfront as cloudfront\n\ncontinuous_deployment_policy_config_property = cloudfront.CfnContinuousDeploymentPolicy.ContinuousDeploymentPolicyConfigProperty(\n    enabled=False,\n    staging_distribution_dns_names=[\"stagingDistributionDnsNames\"],\n\n    # the properties below are optional\n    traffic_config=cloudfront.CfnContinuousDeploymentPolicy.TrafficConfigProperty(\n        type=\"type\",\n\n        # the properties below are optional\n        single_header_config=cloudfront.CfnContinuousDeploymentPolicy.SingleHeaderConfigProperty(\n            header=\"header\",\n            value=\"value\"\n        ),\n        single_weight_config=cloudfront.CfnContinuousDeploymentPolicy.SingleWeightConfigProperty(\n            weight=123,\n\n            # the properties below are optional\n            session_stickiness_config=cloudfront.CfnContinuousDeploymentPolicy.SessionStickinessConfigProperty(\n                idle_ttl=123,\n                maximum_ttl=123\n            )\n        )\n    )\n)","version":"2"},"csharp":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nusing Amazon.CDK.AWS.CloudFront;\n\nvar continuousDeploymentPolicyConfigProperty = new ContinuousDeploymentPolicyConfigProperty {\n    Enabled = false,\n    StagingDistributionDnsNames = new [] { \"stagingDistributionDnsNames\" },\n\n    // the properties below are optional\n    TrafficConfig = new TrafficConfigProperty {\n        Type = \"type\",\n\n        // the properties below are optional\n        SingleHeaderConfig = new SingleHeaderConfigProperty {\n            Header = \"header\",\n            Value = \"value\"\n        },\n        SingleWeightConfig = new SingleWeightConfigProperty {\n            Weight = 123,\n\n            // the properties below are optional\n            SessionStickinessConfig = new SessionStickinessConfigProperty {\n                IdleTtl = 123,\n                MaximumTtl = 123\n            }\n        }\n    }\n};","version":"1"},"java":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport software.amazon.awscdk.services.cloudfront.*;\n\nContinuousDeploymentPolicyConfigProperty continuousDeploymentPolicyConfigProperty = ContinuousDeploymentPolicyConfigProperty.builder()\n        .enabled(false)\n        .stagingDistributionDnsNames(List.of(\"stagingDistributionDnsNames\"))\n\n        // the properties below are optional\n        .trafficConfig(TrafficConfigProperty.builder()\n                .type(\"type\")\n\n                // the properties below are optional\n                .singleHeaderConfig(SingleHeaderConfigProperty.builder()\n                        .header(\"header\")\n                        .value(\"value\")\n                        .build())\n                .singleWeightConfig(SingleWeightConfigProperty.builder()\n                        .weight(123)\n\n                        // the properties below are optional\n                        .sessionStickinessConfig(SessionStickinessConfigProperty.builder()\n                                .idleTtl(123)\n                                .maximumTtl(123)\n                                .build())\n                        .build())\n                .build())\n        .build();","version":"1"},"go":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport cloudfront \"github.com/aws-samples/dummy/awscdkawscloudfront\"\n\ncontinuousDeploymentPolicyConfigProperty := &ContinuousDeploymentPolicyConfigProperty{\n\tEnabled: jsii.Boolean(false),\n\tStagingDistributionDnsNames: []*string{\n\t\tjsii.String(\"stagingDistributionDnsNames\"),\n\t},\n\n\t// the properties below are optional\n\tTrafficConfig: &TrafficConfigProperty{\n\t\tType: jsii.String(\"type\"),\n\n\t\t// the properties below are optional\n\t\tSingleHeaderConfig: &SingleHeaderConfigProperty{\n\t\t\tHeader: jsii.String(\"header\"),\n\t\t\tValue: jsii.String(\"value\"),\n\t\t},\n\t\tSingleWeightConfig: &SingleWeightConfigProperty{\n\t\t\tWeight: jsii.Number(123),\n\n\t\t\t// the properties below are optional\n\t\t\tSessionStickinessConfig: &SessionStickinessConfigProperty{\n\t\t\t\tIdleTtl: jsii.Number(123),\n\t\t\t\tMaximumTtl: jsii.Number(123),\n\t\t\t},\n\t\t},\n\t},\n}","version":"1"},"$":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nconst continuousDeploymentPolicyConfigProperty: cloudfront.CfnContinuousDeploymentPolicy.ContinuousDeploymentPolicyConfigProperty = {\n  enabled: false,\n  stagingDistributionDnsNames: ['stagingDistributionDnsNames'],\n\n  // the properties below are optional\n  trafficConfig: {\n    type: 'type',\n\n    // the properties below are optional\n    singleHeaderConfig: {\n      header: 'header',\n      value: 'value',\n    },\n    singleWeightConfig: {\n      weight: 123,\n\n      // the properties below are optional\n      sessionStickinessConfig: {\n        idleTtl: 123,\n        maximumTtl: 123,\n      },\n    },\n  },\n};","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.CfnContinuousDeploymentPolicy.ContinuousDeploymentPolicyConfigProperty"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.CfnContinuousDeploymentPolicy.ContinuousDeploymentPolicyConfigProperty"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from \"@aws-cdk/core\";\nclass MyConstruct extends Construct {\nconstructor(scope: Construct, id: string) {\nsuper(scope, id);\n// Code snippet begins after !show marker below\n/// !show\n\nconst continuousDeploymentPolicyConfigProperty: cloudfront.CfnContinuousDeploymentPolicy.ContinuousDeploymentPolicyConfigProperty = {\n  enabled: false,\n  stagingDistributionDnsNames: ['stagingDistributionDnsNames'],\n\n  // the properties below are optional\n  trafficConfig: {\n    type: 'type',\n\n    // the properties below are optional\n    singleHeaderConfig: {\n      header: 'header',\n      value: 'value',\n    },\n    singleWeightConfig: {\n      weight: 123,\n\n      // the properties below are optional\n      sessionStickinessConfig: {\n        idleTtl: 123,\n        maximumTtl: 123,\n      },\n    },\n  },\n};\n/// !hide\n// Code snippet ended before !hide marker above\n} }","syntaxKindCounter":{"8":3,"10":5,"75":17,"91":1,"153":2,"169":1,"192":1,"193":5,"225":1,"242":1,"243":1,"254":1,"255":1,"256":1,"281":12,"290":1},"fqnsFingerprint":"d78f70a3f4bf11662998f8ce20ddd4b1366149e25ae8fdbbbccc82983bdcf785"},"6701234cb5591214f99114f43239dbdc5521a4658f94f8ae66e6c4e5efb5f7b5":{"translations":{"python":{"source":"# The code below shows an example of how to instantiate this type.\n# The values are placeholders you should change.\nimport aws_cdk.aws_cloudfront as cloudfront\n\nsession_stickiness_config_property = cloudfront.CfnContinuousDeploymentPolicy.SessionStickinessConfigProperty(\n    idle_ttl=123,\n    maximum_ttl=123\n)","version":"2"},"csharp":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nusing Amazon.CDK.AWS.CloudFront;\n\nvar sessionStickinessConfigProperty = new SessionStickinessConfigProperty {\n    IdleTtl = 123,\n    MaximumTtl = 123\n};","version":"1"},"java":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport software.amazon.awscdk.services.cloudfront.*;\n\nSessionStickinessConfigProperty sessionStickinessConfigProperty = SessionStickinessConfigProperty.builder()\n        .idleTtl(123)\n        .maximumTtl(123)\n        .build();","version":"1"},"go":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport cloudfront \"github.com/aws-samples/dummy/awscdkawscloudfront\"\n\nsessionStickinessConfigProperty := &SessionStickinessConfigProperty{\n\tIdleTtl: jsii.Number(123),\n\tMaximumTtl: jsii.Number(123),\n}","version":"1"},"$":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nconst sessionStickinessConfigProperty: cloudfront.CfnContinuousDeploymentPolicy.SessionStickinessConfigProperty = {\n  idleTtl: 123,\n  maximumTtl: 123,\n};","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.CfnContinuousDeploymentPolicy.SessionStickinessConfigProperty"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.CfnContinuousDeploymentPolicy.SessionStickinessConfigProperty"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from \"@aws-cdk/core\";\nclass MyConstruct extends Construct {\nconstructor(scope: Construct, id: string) {\nsuper(scope, id);\n// Code snippet begins after !show marker below\n/// !show\n\nconst sessionStickinessConfigProperty: cloudfront.CfnContinuousDeploymentPolicy.SessionStickinessConfigProperty = {\n  idleTtl: 123,\n  maximumTtl: 123,\n};\n/// !hide\n// Code snippet ended before !hide marker above\n} }","syntaxKindCounter":{"8":2,"10":1,"75":7,"153":2,"169":1,"193":1,"225":1,"242":1,"243":1,"254":1,"255":1,"256":1,"281":2,"290":1},"fqnsFingerprint":"fa8cf86b27ea5edd39fc64edc1b7b5cfe61ccd40f4da496110f894370b280057"},"1e70a49b954114b07a5f346b2794c132223513c49654b32d689f7440f0946cd5":{"translations":{"python":{"source":"# The code below shows an example of how to instantiate this type.\n# The values are placeholders you should change.\nimport aws_cdk.aws_cloudfront as cloudfront\n\nsingle_header_config_property = cloudfront.CfnContinuousDeploymentPolicy.SingleHeaderConfigProperty(\n    header=\"header\",\n    value=\"value\"\n)","version":"2"},"csharp":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nusing Amazon.CDK.AWS.CloudFront;\n\nvar singleHeaderConfigProperty = new SingleHeaderConfigProperty {\n    Header = \"header\",\n    Value = \"value\"\n};","version":"1"},"java":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport software.amazon.awscdk.services.cloudfront.*;\n\nSingleHeaderConfigProperty singleHeaderConfigProperty = SingleHeaderConfigProperty.builder()\n        .header(\"header\")\n        .value(\"value\")\n        .build();","version":"1"},"go":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport cloudfront \"github.com/aws-samples/dummy/awscdkawscloudfront\"\n\nsingleHeaderConfigProperty := &SingleHeaderConfigProperty{\n\tHeader: jsii.String(\"header\"),\n\tValue: jsii.String(\"value\"),\n}","version":"1"},"$":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nconst singleHeaderConfigProperty: cloudfront.CfnContinuousDeploymentPolicy.SingleHeaderConfigProperty = {\n  header: 'header',\n  value: 'value',\n};","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.CfnContinuousDeploymentPolicy.SingleHeaderConfigProperty"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.CfnContinuousDeploymentPolicy.SingleHeaderConfigProperty"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from \"@aws-cdk/core\";\nclass MyConstruct extends Construct {\nconstructor(scope: Construct, id: string) {\nsuper(scope, id);\n// Code snippet begins after !show marker below\n/// !show\n\nconst singleHeaderConfigProperty: cloudfront.CfnContinuousDeploymentPolicy.SingleHeaderConfigProperty = {\n  header: 'header',\n  value: 'value',\n};\n/// !hide\n// Code snippet ended before !hide marker above\n} }","syntaxKindCounter":{"10":3,"75":7,"153":2,"169":1,"193":1,"225":1,"242":1,"243":1,"254":1,"255":1,"256":1,"281":2,"290":1},"fqnsFingerprint":"dffd1fd82645719e873c66db80d9075e74cf7fd3723fdffe33c707ddd43cb717"},"ee140d4aa6df31e5202c132de0883a88403dbeba01ba6675659726475b4049be":{"translations":{"python":{"source":"# The code below shows an example of how to instantiate this type.\n# The values are placeholders you should change.\nimport aws_cdk.aws_cloudfront as cloudfront\n\nsingle_weight_config_property = cloudfront.CfnContinuousDeploymentPolicy.SingleWeightConfigProperty(\n    weight=123,\n\n    # the properties below are optional\n    session_stickiness_config=cloudfront.CfnContinuousDeploymentPolicy.SessionStickinessConfigProperty(\n        idle_ttl=123,\n        maximum_ttl=123\n    )\n)","version":"2"},"csharp":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nusing Amazon.CDK.AWS.CloudFront;\n\nvar singleWeightConfigProperty = new SingleWeightConfigProperty {\n    Weight = 123,\n\n    // the properties below are optional\n    SessionStickinessConfig = new SessionStickinessConfigProperty {\n        IdleTtl = 123,\n        MaximumTtl = 123\n    }\n};","version":"1"},"java":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport software.amazon.awscdk.services.cloudfront.*;\n\nSingleWeightConfigProperty singleWeightConfigProperty = SingleWeightConfigProperty.builder()\n        .weight(123)\n\n        // the properties below are optional\n        .sessionStickinessConfig(SessionStickinessConfigProperty.builder()\n                .idleTtl(123)\n                .maximumTtl(123)\n                .build())\n        .build();","version":"1"},"go":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport cloudfront \"github.com/aws-samples/dummy/awscdkawscloudfront\"\n\nsingleWeightConfigProperty := &SingleWeightConfigProperty{\n\tWeight: jsii.Number(123),\n\n\t// the properties below are optional\n\tSessionStickinessConfig: &SessionStickinessConfigProperty{\n\t\tIdleTtl: jsii.Number(123),\n\t\tMaximumTtl: jsii.Number(123),\n\t},\n}","version":"1"},"$":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nconst singleWeightConfigProperty: cloudfront.CfnContinuousDeploymentPolicy.SingleWeightConfigProperty = {\n  weight: 123,\n\n  // the properties below are optional\n  sessionStickinessConfig: {\n    idleTtl: 123,\n    maximumTtl: 123,\n  },\n};","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.CfnContinuousDeploymentPolicy.SingleWeightConfigProperty"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.CfnContinuousDeploymentPolicy.SingleWeightConfigProperty"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from \"@aws-cdk/core\";\nclass MyConstruct extends Construct {\nconstructor(scope: Construct, id: string) {\nsuper(scope, id);\n// Code snippet begins after !show marker below\n/// !show\n\nconst singleWeightConfigProperty: cloudfront.CfnContinuousDeploymentPolicy.SingleWeightConfigProperty = {\n  weight: 123,\n\n  // the properties below are optional\n  sessionStickinessConfig: {\n    idleTtl: 123,\n    maximumTtl: 123,\n  },\n};\n/// !hide\n// Code snippet ended before !hide marker above\n} }","syntaxKindCounter":{"8":3,"10":1,"75":9,"153":2,"169":1,"193":2,"225":1,"242":1,"243":1,"254":1,"255":1,"256":1,"281":4,"290":1},"fqnsFingerprint":"1377d0a764eab9cb417939c1eb1a125f06886c824b0cdfe384249187e36ff748"},"c6498a880665491d21e38a75c33cc8bc2cdbde3c79def18dad5c3c57a8a329bb":{"translations":{"python":{"source":"# The code below shows an example of how to instantiate this type.\n# The values are placeholders you should change.\nimport aws_cdk.aws_cloudfront as cloudfront\n\ntraffic_config_property = cloudfront.CfnContinuousDeploymentPolicy.TrafficConfigProperty(\n    type=\"type\",\n\n    # the properties below are optional\n    single_header_config=cloudfront.CfnContinuousDeploymentPolicy.SingleHeaderConfigProperty(\n        header=\"header\",\n        value=\"value\"\n    ),\n    single_weight_config=cloudfront.CfnContinuousDeploymentPolicy.SingleWeightConfigProperty(\n        weight=123,\n\n        # the properties below are optional\n        session_stickiness_config=cloudfront.CfnContinuousDeploymentPolicy.SessionStickinessConfigProperty(\n            idle_ttl=123,\n            maximum_ttl=123\n        )\n    )\n)","version":"2"},"csharp":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nusing Amazon.CDK.AWS.CloudFront;\n\nvar trafficConfigProperty = new TrafficConfigProperty {\n    Type = \"type\",\n\n    // the properties below are optional\n    SingleHeaderConfig = new SingleHeaderConfigProperty {\n        Header = \"header\",\n        Value = \"value\"\n    },\n    SingleWeightConfig = new SingleWeightConfigProperty {\n        Weight = 123,\n\n        // the properties below are optional\n        SessionStickinessConfig = new SessionStickinessConfigProperty {\n            IdleTtl = 123,\n            MaximumTtl = 123\n        }\n    }\n};","version":"1"},"java":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport software.amazon.awscdk.services.cloudfront.*;\n\nTrafficConfigProperty trafficConfigProperty = TrafficConfigProperty.builder()\n        .type(\"type\")\n\n        // the properties below are optional\n        .singleHeaderConfig(SingleHeaderConfigProperty.builder()\n                .header(\"header\")\n                .value(\"value\")\n                .build())\n        .singleWeightConfig(SingleWeightConfigProperty.builder()\n                .weight(123)\n\n                // the properties below are optional\n                .sessionStickinessConfig(SessionStickinessConfigProperty.builder()\n                        .idleTtl(123)\n                        .maximumTtl(123)\n                        .build())\n                .build())\n        .build();","version":"1"},"go":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport cloudfront \"github.com/aws-samples/dummy/awscdkawscloudfront\"\n\ntrafficConfigProperty := &TrafficConfigProperty{\n\tType: jsii.String(\"type\"),\n\n\t// the properties below are optional\n\tSingleHeaderConfig: &SingleHeaderConfigProperty{\n\t\tHeader: jsii.String(\"header\"),\n\t\tValue: jsii.String(\"value\"),\n\t},\n\tSingleWeightConfig: &SingleWeightConfigProperty{\n\t\tWeight: jsii.Number(123),\n\n\t\t// the properties below are optional\n\t\tSessionStickinessConfig: &SessionStickinessConfigProperty{\n\t\t\tIdleTtl: jsii.Number(123),\n\t\t\tMaximumTtl: jsii.Number(123),\n\t\t},\n\t},\n}","version":"1"},"$":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nconst trafficConfigProperty: cloudfront.CfnContinuousDeploymentPolicy.TrafficConfigProperty = {\n  type: 'type',\n\n  // the properties below are optional\n  singleHeaderConfig: {\n    header: 'header',\n    value: 'value',\n  },\n  singleWeightConfig: {\n    weight: 123,\n\n    // the properties below are optional\n    sessionStickinessConfig: {\n      idleTtl: 123,\n      maximumTtl: 123,\n    },\n  },\n};","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.CfnContinuousDeploymentPolicy.TrafficConfigProperty"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.CfnContinuousDeploymentPolicy.TrafficConfigProperty"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from \"@aws-cdk/core\";\nclass MyConstruct extends Construct {\nconstructor(scope: Construct, id: string) {\nsuper(scope, id);\n// Code snippet begins after !show marker below\n/// !show\n\nconst trafficConfigProperty: cloudfront.CfnContinuousDeploymentPolicy.TrafficConfigProperty = {\n  type: 'type',\n\n  // the properties below are optional\n  singleHeaderConfig: {\n    header: 'header',\n    value: 'value',\n  },\n  singleWeightConfig: {\n    weight: 123,\n\n    // the properties below are optional\n    sessionStickinessConfig: {\n      idleTtl: 123,\n      maximumTtl: 123,\n    },\n  },\n};\n/// !hide\n// Code snippet ended before !hide marker above\n} }","syntaxKindCounter":{"8":3,"10":4,"75":14,"153":2,"169":1,"193":4,"225":1,"242":1,"243":1,"254":1,"255":1,"256":1,"281":9,"290":1},"fqnsFingerprint":"9bc90a69634d76fbf8d0b980f8995ffbc9d2500b2a5f1fab05131e7582de53c1"},"454aa101df4eba25d0e379a4d664c55c7d7479003878b3c249a268b706c4574d":{"translations":{"python":{"source":"# The code below shows an example of how to instantiate this type.\n# The values are placeholders you should change.\nimport aws_cdk.aws_cloudfront as cloudfront\n\ncfn_continuous_deployment_policy_props = cloudfront.CfnContinuousDeploymentPolicyProps(\n    continuous_deployment_policy_config=cloudfront.CfnContinuousDeploymentPolicy.ContinuousDeploymentPolicyConfigProperty(\n        enabled=False,\n        staging_distribution_dns_names=[\"stagingDistributionDnsNames\"],\n\n        # the properties below are optional\n        traffic_config=cloudfront.CfnContinuousDeploymentPolicy.TrafficConfigProperty(\n            type=\"type\",\n\n            # the properties below are optional\n            single_header_config=cloudfront.CfnContinuousDeploymentPolicy.SingleHeaderConfigProperty(\n                header=\"header\",\n                value=\"value\"\n            ),\n            single_weight_config=cloudfront.CfnContinuousDeploymentPolicy.SingleWeightConfigProperty(\n                weight=123,\n\n                # the properties below are optional\n                session_stickiness_config=cloudfront.CfnContinuousDeploymentPolicy.SessionStickinessConfigProperty(\n                    idle_ttl=123,\n                    maximum_ttl=123\n                )\n            )\n        )\n    )\n)","version":"2"},"csharp":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nusing Amazon.CDK.AWS.CloudFront;\n\nvar cfnContinuousDeploymentPolicyProps = new CfnContinuousDeploymentPolicyProps {\n    ContinuousDeploymentPolicyConfig = new ContinuousDeploymentPolicyConfigProperty {\n        Enabled = false,\n        StagingDistributionDnsNames = new [] { \"stagingDistributionDnsNames\" },\n\n        // the properties below are optional\n        TrafficConfig = new TrafficConfigProperty {\n            Type = \"type\",\n\n            // the properties below are optional\n            SingleHeaderConfig = new SingleHeaderConfigProperty {\n                Header = \"header\",\n                Value = \"value\"\n            },\n            SingleWeightConfig = new SingleWeightConfigProperty {\n                Weight = 123,\n\n                // the properties below are optional\n                SessionStickinessConfig = new SessionStickinessConfigProperty {\n                    IdleTtl = 123,\n                    MaximumTtl = 123\n                }\n            }\n        }\n    }\n};","version":"1"},"java":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport software.amazon.awscdk.services.cloudfront.*;\n\nCfnContinuousDeploymentPolicyProps cfnContinuousDeploymentPolicyProps = CfnContinuousDeploymentPolicyProps.builder()\n        .continuousDeploymentPolicyConfig(ContinuousDeploymentPolicyConfigProperty.builder()\n                .enabled(false)\n                .stagingDistributionDnsNames(List.of(\"stagingDistributionDnsNames\"))\n\n                // the properties below are optional\n                .trafficConfig(TrafficConfigProperty.builder()\n                        .type(\"type\")\n\n                        // the properties below are optional\n                        .singleHeaderConfig(SingleHeaderConfigProperty.builder()\n                                .header(\"header\")\n                                .value(\"value\")\n                                .build())\n                        .singleWeightConfig(SingleWeightConfigProperty.builder()\n                                .weight(123)\n\n                                // the properties below are optional\n                                .sessionStickinessConfig(SessionStickinessConfigProperty.builder()\n                                        .idleTtl(123)\n                                        .maximumTtl(123)\n                                        .build())\n                                .build())\n                        .build())\n                .build())\n        .build();","version":"1"},"go":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport cloudfront \"github.com/aws-samples/dummy/awscdkawscloudfront\"\n\ncfnContinuousDeploymentPolicyProps := &CfnContinuousDeploymentPolicyProps{\n\tContinuousDeploymentPolicyConfig: &ContinuousDeploymentPolicyConfigProperty{\n\t\tEnabled: jsii.Boolean(false),\n\t\tStagingDistributionDnsNames: []*string{\n\t\t\tjsii.String(\"stagingDistributionDnsNames\"),\n\t\t},\n\n\t\t// the properties below are optional\n\t\tTrafficConfig: &TrafficConfigProperty{\n\t\t\tType: jsii.String(\"type\"),\n\n\t\t\t// the properties below are optional\n\t\t\tSingleHeaderConfig: &SingleHeaderConfigProperty{\n\t\t\t\tHeader: jsii.String(\"header\"),\n\t\t\t\tValue: jsii.String(\"value\"),\n\t\t\t},\n\t\t\tSingleWeightConfig: &SingleWeightConfigProperty{\n\t\t\t\tWeight: jsii.Number(123),\n\n\t\t\t\t// the properties below are optional\n\t\t\t\tSessionStickinessConfig: &SessionStickinessConfigProperty{\n\t\t\t\t\tIdleTtl: jsii.Number(123),\n\t\t\t\t\tMaximumTtl: jsii.Number(123),\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n}","version":"1"},"$":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nconst cfnContinuousDeploymentPolicyProps: cloudfront.CfnContinuousDeploymentPolicyProps = {\n  continuousDeploymentPolicyConfig: {\n    enabled: false,\n    stagingDistributionDnsNames: ['stagingDistributionDnsNames'],\n\n    // the properties below are optional\n    trafficConfig: {\n      type: 'type',\n\n      // the properties below are optional\n      singleHeaderConfig: {\n        header: 'header',\n        value: 'value',\n      },\n      singleWeightConfig: {\n        weight: 123,\n\n        // the properties below are optional\n        sessionStickinessConfig: {\n          idleTtl: 123,\n          maximumTtl: 123,\n        },\n      },\n    },\n  },\n};","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.CfnContinuousDeploymentPolicyProps"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.CfnContinuousDeploymentPolicyProps"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from \"@aws-cdk/core\";\nclass MyConstruct extends Construct {\nconstructor(scope: Construct, id: string) {\nsuper(scope, id);\n// Code snippet begins after !show marker below\n/// !show\n\nconst cfnContinuousDeploymentPolicyProps: cloudfront.CfnContinuousDeploymentPolicyProps = {\n  continuousDeploymentPolicyConfig: {\n    enabled: false,\n    stagingDistributionDnsNames: ['stagingDistributionDnsNames'],\n\n    // the properties below are optional\n    trafficConfig: {\n      type: 'type',\n\n      // the properties below are optional\n      singleHeaderConfig: {\n        header: 'header',\n        value: 'value',\n      },\n      singleWeightConfig: {\n        weight: 123,\n\n        // the properties below are optional\n        sessionStickinessConfig: {\n          idleTtl: 123,\n          maximumTtl: 123,\n        },\n      },\n    },\n  },\n};\n/// !hide\n// Code snippet ended before !hide marker above\n} }","syntaxKindCounter":{"8":3,"10":5,"75":17,"91":1,"153":1,"169":1,"192":1,"193":6,"225":1,"242":1,"243":1,"254":1,"255":1,"256":1,"281":13,"290":1},"fqnsFingerprint":"96b974f1b16899ef21fe48d815025b1b287e63ced45aa30ca5e5761ff581a880"},"20c49b2f1cd351386f501f836aee1af8e7d78773f705d0f11720f3f751374b62":{"translations":{"python":{"source":"# source_bucket: s3.Bucket\n\n\nmy_distribution = cloudfront.Distribution(self, \"MyCfWebDistribution\",\n    default_behavior=cloudfront.BehaviorOptions(\n        origin=origins.S3Origin(source_bucket)\n    )\n)\ncfn_distribution = my_distribution.node.default_child\ncfn_distribution.override_logical_id(\"MyDistributionCFDistribution3H55TI9Q\")","version":"2"},"csharp":{"source":"Bucket sourceBucket;\n\n\nvar myDistribution = new Distribution(this, \"MyCfWebDistribution\", new DistributionProps {\n    DefaultBehavior = new BehaviorOptions {\n        Origin = new S3Origin(sourceBucket)\n    }\n});\nvar cfnDistribution = (CfnDistribution)myDistribution.Node.DefaultChild;\ncfnDistribution.OverrideLogicalId(\"MyDistributionCFDistribution3H55TI9Q\");","version":"1"},"java":{"source":"Bucket sourceBucket;\n\n\nDistribution myDistribution = Distribution.Builder.create(this, \"MyCfWebDistribution\")\n        .defaultBehavior(BehaviorOptions.builder()\n                .origin(new S3Origin(sourceBucket))\n                .build())\n        .build();\nCfnDistribution cfnDistribution = (CfnDistribution)myDistribution.getNode().getDefaultChild();\ncfnDistribution.overrideLogicalId(\"MyDistributionCFDistribution3H55TI9Q\");","version":"1"},"go":{"source":"var sourceBucket bucket\n\n\nmyDistribution := cloudfront.NewDistribution(this, jsii.String(\"MyCfWebDistribution\"), &DistributionProps{\n\tDefaultBehavior: &BehaviorOptions{\n\t\tOrigin: origins.NewS3Origin(sourceBucket),\n\t},\n})\ncfnDistribution := myDistribution.Node.defaultChild.(cfnDistribution)\ncfnDistribution.OverrideLogicalId(jsii.String(\"MyDistributionCFDistribution3H55TI9Q\"))","version":"1"},"$":{"source":"declare const sourceBucket: s3.Bucket;\n\nconst myDistribution = new cloudfront.Distribution(this, 'MyCfWebDistribution', {\n  defaultBehavior: {\n    origin: new origins.S3Origin(sourceBucket),\n  },\n});\nconst cfnDistribution = myDistribution.node.defaultChild as cloudfront.CfnDistribution;\ncfnDistribution.overrideLogicalId('MyDistributionCFDistribution3H55TI9Q');","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.CfnDistribution"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront-origins.S3Origin","@aws-cdk/aws-cloudfront.BehaviorOptions","@aws-cdk/aws-cloudfront.CfnDistribution","@aws-cdk/aws-cloudfront.Distribution","@aws-cdk/aws-cloudfront.DistributionProps","@aws-cdk/aws-cloudfront.IOrigin","@aws-cdk/aws-s3.IBucket","@aws-cdk/core.CfnElement#overrideLogicalId","@aws-cdk/core.Construct#node","constructs.Construct"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\ndeclare const sourceBucket: s3.Bucket;\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from 'constructs';\nimport { Duration, Stack } from '@aws-cdk/core';\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nimport * as origins from '@aws-cdk/aws-cloudfront-origins';\nimport * as s3 from '@aws-cdk/aws-s3';\nimport * as ec2 from '@aws-cdk/aws-ec2';\nimport * as elbv2 from '@aws-cdk/aws-elasticloadbalancingv2';\nimport * as lambda from '@aws-cdk/aws-lambda';\nimport * as path from 'path';\n\nclass Context extends Stack {\n  constructor(scope: Construct, id: string) {\n    super(scope, id);\n\n    // Code snippet begins after !show marker below\n/// !show\n\n\nconst myDistribution = new cloudfront.Distribution(this, 'MyCfWebDistribution', {\n  defaultBehavior: {\n    origin: new origins.S3Origin(sourceBucket),\n  },\n});\nconst cfnDistribution = myDistribution.node.defaultChild as cloudfront.CfnDistribution;\ncfnDistribution.overrideLogicalId('MyDistributionCFDistribution3H55TI9Q');\n/// !hide\n// Code snippet ended before !hide marker above\n  }\n}\n","syntaxKindCounter":{"10":2,"75":19,"104":1,"130":1,"153":2,"169":2,"193":2,"194":5,"196":1,"197":2,"217":1,"225":3,"226":1,"242":3,"243":3,"281":2,"290":1},"fqnsFingerprint":"dfb57b90661f19037f72c02b730c2aef4a2075193ef28933112e9942d9add749"},"8ec517e7140b6e9f4a2f9971780e06c0351827fb530e659d292aee31b1cdaff0":{"translations":{"python":{"source":"# The code below shows an example of how to instantiate this type.\n# The values are placeholders you should change.\nimport aws_cdk.aws_cloudfront as cloudfront\n\ncache_behavior_property = cloudfront.CfnDistribution.CacheBehaviorProperty(\n    path_pattern=\"pathPattern\",\n    target_origin_id=\"targetOriginId\",\n    viewer_protocol_policy=\"viewerProtocolPolicy\",\n\n    # the properties below are optional\n    allowed_methods=[\"allowedMethods\"],\n    cached_methods=[\"cachedMethods\"],\n    cache_policy_id=\"cachePolicyId\",\n    compress=False,\n    default_ttl=123,\n    field_level_encryption_id=\"fieldLevelEncryptionId\",\n    forwarded_values=cloudfront.CfnDistribution.ForwardedValuesProperty(\n        query_string=False,\n\n        # the properties below are optional\n        cookies=cloudfront.CfnDistribution.CookiesProperty(\n            forward=\"forward\",\n\n            # the properties below are optional\n            whitelisted_names=[\"whitelistedNames\"]\n        ),\n        headers=[\"headers\"],\n        query_string_cache_keys=[\"queryStringCacheKeys\"]\n    ),\n    function_associations=[cloudfront.CfnDistribution.FunctionAssociationProperty(\n        event_type=\"eventType\",\n        function_arn=\"functionArn\"\n    )],\n    lambda_function_associations=[cloudfront.CfnDistribution.LambdaFunctionAssociationProperty(\n        event_type=\"eventType\",\n        include_body=False,\n        lambda_function_arn=\"lambdaFunctionArn\"\n    )],\n    max_ttl=123,\n    min_ttl=123,\n    origin_request_policy_id=\"originRequestPolicyId\",\n    realtime_log_config_arn=\"realtimeLogConfigArn\",\n    response_headers_policy_id=\"responseHeadersPolicyId\",\n    smooth_streaming=False,\n    trusted_key_groups=[\"trustedKeyGroups\"],\n    trusted_signers=[\"trustedSigners\"]\n)","version":"2"},"csharp":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nusing Amazon.CDK.AWS.CloudFront;\n\nvar cacheBehaviorProperty = new CacheBehaviorProperty {\n    PathPattern = \"pathPattern\",\n    TargetOriginId = \"targetOriginId\",\n    ViewerProtocolPolicy = \"viewerProtocolPolicy\",\n\n    // the properties below are optional\n    AllowedMethods = new [] { \"allowedMethods\" },\n    CachedMethods = new [] { \"cachedMethods\" },\n    CachePolicyId = \"cachePolicyId\",\n    Compress = false,\n    DefaultTtl = 123,\n    FieldLevelEncryptionId = \"fieldLevelEncryptionId\",\n    ForwardedValues = new ForwardedValuesProperty {\n        QueryString = false,\n\n        // the properties below are optional\n        Cookies = new CookiesProperty {\n            Forward = \"forward\",\n\n            // the properties below are optional\n            WhitelistedNames = new [] { \"whitelistedNames\" }\n        },\n        Headers = new [] { \"headers\" },\n        QueryStringCacheKeys = new [] { \"queryStringCacheKeys\" }\n    },\n    FunctionAssociations = new [] { new FunctionAssociationProperty {\n        EventType = \"eventType\",\n        FunctionArn = \"functionArn\"\n    } },\n    LambdaFunctionAssociations = new [] { new LambdaFunctionAssociationProperty {\n        EventType = \"eventType\",\n        IncludeBody = false,\n        LambdaFunctionArn = \"lambdaFunctionArn\"\n    } },\n    MaxTtl = 123,\n    MinTtl = 123,\n    OriginRequestPolicyId = \"originRequestPolicyId\",\n    RealtimeLogConfigArn = \"realtimeLogConfigArn\",\n    ResponseHeadersPolicyId = \"responseHeadersPolicyId\",\n    SmoothStreaming = false,\n    TrustedKeyGroups = new [] { \"trustedKeyGroups\" },\n    TrustedSigners = new [] { \"trustedSigners\" }\n};","version":"1"},"java":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport software.amazon.awscdk.services.cloudfront.*;\n\nCacheBehaviorProperty cacheBehaviorProperty = CacheBehaviorProperty.builder()\n        .pathPattern(\"pathPattern\")\n        .targetOriginId(\"targetOriginId\")\n        .viewerProtocolPolicy(\"viewerProtocolPolicy\")\n\n        // the properties below are optional\n        .allowedMethods(List.of(\"allowedMethods\"))\n        .cachedMethods(List.of(\"cachedMethods\"))\n        .cachePolicyId(\"cachePolicyId\")\n        .compress(false)\n        .defaultTtl(123)\n        .fieldLevelEncryptionId(\"fieldLevelEncryptionId\")\n        .forwardedValues(ForwardedValuesProperty.builder()\n                .queryString(false)\n\n                // the properties below are optional\n                .cookies(CookiesProperty.builder()\n                        .forward(\"forward\")\n\n                        // the properties below are optional\n                        .whitelistedNames(List.of(\"whitelistedNames\"))\n                        .build())\n                .headers(List.of(\"headers\"))\n                .queryStringCacheKeys(List.of(\"queryStringCacheKeys\"))\n                .build())\n        .functionAssociations(List.of(FunctionAssociationProperty.builder()\n                .eventType(\"eventType\")\n                .functionArn(\"functionArn\")\n                .build()))\n        .lambdaFunctionAssociations(List.of(LambdaFunctionAssociationProperty.builder()\n                .eventType(\"eventType\")\n                .includeBody(false)\n                .lambdaFunctionArn(\"lambdaFunctionArn\")\n                .build()))\n        .maxTtl(123)\n        .minTtl(123)\n        .originRequestPolicyId(\"originRequestPolicyId\")\n        .realtimeLogConfigArn(\"realtimeLogConfigArn\")\n        .responseHeadersPolicyId(\"responseHeadersPolicyId\")\n        .smoothStreaming(false)\n        .trustedKeyGroups(List.of(\"trustedKeyGroups\"))\n        .trustedSigners(List.of(\"trustedSigners\"))\n        .build();","version":"1"},"go":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport cloudfront \"github.com/aws-samples/dummy/awscdkawscloudfront\"\n\ncacheBehaviorProperty := &CacheBehaviorProperty{\n\tPathPattern: jsii.String(\"pathPattern\"),\n\tTargetOriginId: jsii.String(\"targetOriginId\"),\n\tViewerProtocolPolicy: jsii.String(\"viewerProtocolPolicy\"),\n\n\t// the properties below are optional\n\tAllowedMethods: []*string{\n\t\tjsii.String(\"allowedMethods\"),\n\t},\n\tCachedMethods: []*string{\n\t\tjsii.String(\"cachedMethods\"),\n\t},\n\tCachePolicyId: jsii.String(\"cachePolicyId\"),\n\tCompress: jsii.Boolean(false),\n\tDefaultTtl: jsii.Number(123),\n\tFieldLevelEncryptionId: jsii.String(\"fieldLevelEncryptionId\"),\n\tForwardedValues: &ForwardedValuesProperty{\n\t\tQueryString: jsii.Boolean(false),\n\n\t\t// the properties below are optional\n\t\tCookies: &CookiesProperty{\n\t\t\tForward: jsii.String(\"forward\"),\n\n\t\t\t// the properties below are optional\n\t\t\tWhitelistedNames: []*string{\n\t\t\t\tjsii.String(\"whitelistedNames\"),\n\t\t\t},\n\t\t},\n\t\tHeaders: []*string{\n\t\t\tjsii.String(\"headers\"),\n\t\t},\n\t\tQueryStringCacheKeys: []*string{\n\t\t\tjsii.String(\"queryStringCacheKeys\"),\n\t\t},\n\t},\n\tFunctionAssociations: []interface{}{\n\t\t&FunctionAssociationProperty{\n\t\t\tEventType: jsii.String(\"eventType\"),\n\t\t\tFunctionArn: jsii.String(\"functionArn\"),\n\t\t},\n\t},\n\tLambdaFunctionAssociations: []interface{}{\n\t\t&LambdaFunctionAssociationProperty{\n\t\t\tEventType: jsii.String(\"eventType\"),\n\t\t\tIncludeBody: jsii.Boolean(false),\n\t\t\tLambdaFunctionArn: jsii.String(\"lambdaFunctionArn\"),\n\t\t},\n\t},\n\tMaxTtl: jsii.Number(123),\n\tMinTtl: jsii.Number(123),\n\tOriginRequestPolicyId: jsii.String(\"originRequestPolicyId\"),\n\tRealtimeLogConfigArn: jsii.String(\"realtimeLogConfigArn\"),\n\tResponseHeadersPolicyId: jsii.String(\"responseHeadersPolicyId\"),\n\tSmoothStreaming: jsii.Boolean(false),\n\tTrustedKeyGroups: []*string{\n\t\tjsii.String(\"trustedKeyGroups\"),\n\t},\n\tTrustedSigners: []*string{\n\t\tjsii.String(\"trustedSigners\"),\n\t},\n}","version":"1"},"$":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nconst cacheBehaviorProperty: cloudfront.CfnDistribution.CacheBehaviorProperty = {\n  pathPattern: 'pathPattern',\n  targetOriginId: 'targetOriginId',\n  viewerProtocolPolicy: 'viewerProtocolPolicy',\n\n  // the properties below are optional\n  allowedMethods: ['allowedMethods'],\n  cachedMethods: ['cachedMethods'],\n  cachePolicyId: 'cachePolicyId',\n  compress: false,\n  defaultTtl: 123,\n  fieldLevelEncryptionId: 'fieldLevelEncryptionId',\n  forwardedValues: {\n    queryString: false,\n\n    // the properties below are optional\n    cookies: {\n      forward: 'forward',\n\n      // the properties below are optional\n      whitelistedNames: ['whitelistedNames'],\n    },\n    headers: ['headers'],\n    queryStringCacheKeys: ['queryStringCacheKeys'],\n  },\n  functionAssociations: [{\n    eventType: 'eventType',\n    functionArn: 'functionArn',\n  }],\n  lambdaFunctionAssociations: [{\n    eventType: 'eventType',\n    includeBody: false,\n    lambdaFunctionArn: 'lambdaFunctionArn',\n  }],\n  maxTtl: 123,\n  minTtl: 123,\n  originRequestPolicyId: 'originRequestPolicyId',\n  realtimeLogConfigArn: 'realtimeLogConfigArn',\n  responseHeadersPolicyId: 'responseHeadersPolicyId',\n  smoothStreaming: false,\n  trustedKeyGroups: ['trustedKeyGroups'],\n  trustedSigners: ['trustedSigners'],\n};","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.CfnDistribution.CacheBehaviorProperty"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.CfnDistribution.CacheBehaviorProperty"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from \"@aws-cdk/core\";\nclass MyConstruct extends Construct {\nconstructor(scope: Construct, id: string) {\nsuper(scope, id);\n// Code snippet begins after !show marker below\n/// !show\n\nconst cacheBehaviorProperty: cloudfront.CfnDistribution.CacheBehaviorProperty = {\n  pathPattern: 'pathPattern',\n  targetOriginId: 'targetOriginId',\n  viewerProtocolPolicy: 'viewerProtocolPolicy',\n\n  // the properties below are optional\n  allowedMethods: ['allowedMethods'],\n  cachedMethods: ['cachedMethods'],\n  cachePolicyId: 'cachePolicyId',\n  compress: false,\n  defaultTtl: 123,\n  fieldLevelEncryptionId: 'fieldLevelEncryptionId',\n  forwardedValues: {\n    queryString: false,\n\n    // the properties below are optional\n    cookies: {\n      forward: 'forward',\n\n      // the properties below are optional\n      whitelistedNames: ['whitelistedNames'],\n    },\n    headers: ['headers'],\n    queryStringCacheKeys: ['queryStringCacheKeys'],\n  },\n  functionAssociations: [{\n    eventType: 'eventType',\n    functionArn: 'functionArn',\n  }],\n  lambdaFunctionAssociations: [{\n    eventType: 'eventType',\n    includeBody: false,\n    lambdaFunctionArn: 'lambdaFunctionArn',\n  }],\n  maxTtl: 123,\n  minTtl: 123,\n  originRequestPolicyId: 'originRequestPolicyId',\n  realtimeLogConfigArn: 'realtimeLogConfigArn',\n  responseHeadersPolicyId: 'responseHeadersPolicyId',\n  smoothStreaming: false,\n  trustedKeyGroups: ['trustedKeyGroups'],\n  trustedSigners: ['trustedSigners'],\n};\n/// !hide\n// Code snippet ended before !hide marker above\n} }","syntaxKindCounter":{"8":3,"10":21,"75":36,"91":4,"153":2,"169":1,"192":9,"193":5,"225":1,"242":1,"243":1,"254":1,"255":1,"256":1,"281":31,"290":1},"fqnsFingerprint":"cde67030ea23aa7def7e5552300f44c0161b881a2d79e348e710adaaed53882f"},"d9fba543cf0a4ff2b4c57b707912acfbedfb1e78830f0e2aea64230f3964f08d":{"translations":{"python":{"source":"# The code below shows an example of how to instantiate this type.\n# The values are placeholders you should change.\nimport aws_cdk.aws_cloudfront as cloudfront\n\ncookies_property = cloudfront.CfnDistribution.CookiesProperty(\n    forward=\"forward\",\n\n    # the properties below are optional\n    whitelisted_names=[\"whitelistedNames\"]\n)","version":"2"},"csharp":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nusing Amazon.CDK.AWS.CloudFront;\n\nvar cookiesProperty = new CookiesProperty {\n    Forward = \"forward\",\n\n    // the properties below are optional\n    WhitelistedNames = new [] { \"whitelistedNames\" }\n};","version":"1"},"java":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport software.amazon.awscdk.services.cloudfront.*;\n\nCookiesProperty cookiesProperty = CookiesProperty.builder()\n        .forward(\"forward\")\n\n        // the properties below are optional\n        .whitelistedNames(List.of(\"whitelistedNames\"))\n        .build();","version":"1"},"go":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport cloudfront \"github.com/aws-samples/dummy/awscdkawscloudfront\"\n\ncookiesProperty := &CookiesProperty{\n\tForward: jsii.String(\"forward\"),\n\n\t// the properties below are optional\n\tWhitelistedNames: []*string{\n\t\tjsii.String(\"whitelistedNames\"),\n\t},\n}","version":"1"},"$":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nconst cookiesProperty: cloudfront.CfnDistribution.CookiesProperty = {\n  forward: 'forward',\n\n  // the properties below are optional\n  whitelistedNames: ['whitelistedNames'],\n};","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.CfnDistribution.CookiesProperty"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.CfnDistribution.CookiesProperty"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from \"@aws-cdk/core\";\nclass MyConstruct extends Construct {\nconstructor(scope: Construct, id: string) {\nsuper(scope, id);\n// Code snippet begins after !show marker below\n/// !show\n\nconst cookiesProperty: cloudfront.CfnDistribution.CookiesProperty = {\n  forward: 'forward',\n\n  // the properties below are optional\n  whitelistedNames: ['whitelistedNames'],\n};\n/// !hide\n// Code snippet ended before !hide marker above\n} }","syntaxKindCounter":{"10":3,"75":7,"153":2,"169":1,"192":1,"193":1,"225":1,"242":1,"243":1,"254":1,"255":1,"256":1,"281":2,"290":1},"fqnsFingerprint":"55a9ee4049745910b7520e52fc9d910be6cdfeae70585249c337a221107337e0"},"a854315154e9b9aba0f086392004b1efa2b01522598037b188554a67afa65f5b":{"translations":{"python":{"source":"# The code below shows an example of how to instantiate this type.\n# The values are placeholders you should change.\nimport aws_cdk.aws_cloudfront as cloudfront\n\ncustom_error_response_property = cloudfront.CfnDistribution.CustomErrorResponseProperty(\n    error_code=123,\n\n    # the properties below are optional\n    error_caching_min_ttl=123,\n    response_code=123,\n    response_page_path=\"responsePagePath\"\n)","version":"2"},"csharp":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nusing Amazon.CDK.AWS.CloudFront;\n\nvar customErrorResponseProperty = new CustomErrorResponseProperty {\n    ErrorCode = 123,\n\n    // the properties below are optional\n    ErrorCachingMinTtl = 123,\n    ResponseCode = 123,\n    ResponsePagePath = \"responsePagePath\"\n};","version":"1"},"java":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport software.amazon.awscdk.services.cloudfront.*;\n\nCustomErrorResponseProperty customErrorResponseProperty = CustomErrorResponseProperty.builder()\n        .errorCode(123)\n\n        // the properties below are optional\n        .errorCachingMinTtl(123)\n        .responseCode(123)\n        .responsePagePath(\"responsePagePath\")\n        .build();","version":"1"},"go":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport cloudfront \"github.com/aws-samples/dummy/awscdkawscloudfront\"\n\ncustomErrorResponseProperty := &CustomErrorResponseProperty{\n\tErrorCode: jsii.Number(123),\n\n\t// the properties below are optional\n\tErrorCachingMinTtl: jsii.Number(123),\n\tResponseCode: jsii.Number(123),\n\tResponsePagePath: jsii.String(\"responsePagePath\"),\n}","version":"1"},"$":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nconst customErrorResponseProperty: cloudfront.CfnDistribution.CustomErrorResponseProperty = {\n  errorCode: 123,\n\n  // the properties below are optional\n  errorCachingMinTtl: 123,\n  responseCode: 123,\n  responsePagePath: 'responsePagePath',\n};","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.CfnDistribution.CustomErrorResponseProperty"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.CfnDistribution.CustomErrorResponseProperty"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from \"@aws-cdk/core\";\nclass MyConstruct extends Construct {\nconstructor(scope: Construct, id: string) {\nsuper(scope, id);\n// Code snippet begins after !show marker below\n/// !show\n\nconst customErrorResponseProperty: cloudfront.CfnDistribution.CustomErrorResponseProperty = {\n  errorCode: 123,\n\n  // the properties below are optional\n  errorCachingMinTtl: 123,\n  responseCode: 123,\n  responsePagePath: 'responsePagePath',\n};\n/// !hide\n// Code snippet ended before !hide marker above\n} }","syntaxKindCounter":{"8":3,"10":2,"75":9,"153":2,"169":1,"193":1,"225":1,"242":1,"243":1,"254":1,"255":1,"256":1,"281":4,"290":1},"fqnsFingerprint":"4f193ce942abcb9bbbf394e139b9d508657173e57b207ba1b81e7a18ea972801"},"c3e7df39e9abb89613e337c7a2de8f897ec2f39ef647518050692675a2314ca0":{"translations":{"python":{"source":"# The code below shows an example of how to instantiate this type.\n# The values are placeholders you should change.\nimport aws_cdk.aws_cloudfront as cloudfront\n\ncustom_origin_config_property = cloudfront.CfnDistribution.CustomOriginConfigProperty(\n    origin_protocol_policy=\"originProtocolPolicy\",\n\n    # the properties below are optional\n    http_port=123,\n    https_port=123,\n    origin_keepalive_timeout=123,\n    origin_read_timeout=123,\n    origin_ssl_protocols=[\"originSslProtocols\"]\n)","version":"2"},"csharp":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nusing Amazon.CDK.AWS.CloudFront;\n\nvar customOriginConfigProperty = new CustomOriginConfigProperty {\n    OriginProtocolPolicy = \"originProtocolPolicy\",\n\n    // the properties below are optional\n    HttpPort = 123,\n    HttpsPort = 123,\n    OriginKeepaliveTimeout = 123,\n    OriginReadTimeout = 123,\n    OriginSslProtocols = new [] { \"originSslProtocols\" }\n};","version":"1"},"java":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport software.amazon.awscdk.services.cloudfront.*;\n\nCustomOriginConfigProperty customOriginConfigProperty = CustomOriginConfigProperty.builder()\n        .originProtocolPolicy(\"originProtocolPolicy\")\n\n        // the properties below are optional\n        .httpPort(123)\n        .httpsPort(123)\n        .originKeepaliveTimeout(123)\n        .originReadTimeout(123)\n        .originSslProtocols(List.of(\"originSslProtocols\"))\n        .build();","version":"1"},"go":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport cloudfront \"github.com/aws-samples/dummy/awscdkawscloudfront\"\n\ncustomOriginConfigProperty := &CustomOriginConfigProperty{\n\tOriginProtocolPolicy: jsii.String(\"originProtocolPolicy\"),\n\n\t// the properties below are optional\n\tHttpPort: jsii.Number(123),\n\tHttpsPort: jsii.Number(123),\n\tOriginKeepaliveTimeout: jsii.Number(123),\n\tOriginReadTimeout: jsii.Number(123),\n\tOriginSslProtocols: []*string{\n\t\tjsii.String(\"originSslProtocols\"),\n\t},\n}","version":"1"},"$":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nconst customOriginConfigProperty: cloudfront.CfnDistribution.CustomOriginConfigProperty = {\n  originProtocolPolicy: 'originProtocolPolicy',\n\n  // the properties below are optional\n  httpPort: 123,\n  httpsPort: 123,\n  originKeepaliveTimeout: 123,\n  originReadTimeout: 123,\n  originSslProtocols: ['originSslProtocols'],\n};","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.CfnDistribution.CustomOriginConfigProperty"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.CfnDistribution.CustomOriginConfigProperty"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from \"@aws-cdk/core\";\nclass MyConstruct extends Construct {\nconstructor(scope: Construct, id: string) {\nsuper(scope, id);\n// Code snippet begins after !show marker below\n/// !show\n\nconst customOriginConfigProperty: cloudfront.CfnDistribution.CustomOriginConfigProperty = {\n  originProtocolPolicy: 'originProtocolPolicy',\n\n  // the properties below are optional\n  httpPort: 123,\n  httpsPort: 123,\n  originKeepaliveTimeout: 123,\n  originReadTimeout: 123,\n  originSslProtocols: ['originSslProtocols'],\n};\n/// !hide\n// Code snippet ended before !hide marker above\n} }","syntaxKindCounter":{"8":4,"10":3,"75":11,"153":2,"169":1,"192":1,"193":1,"225":1,"242":1,"243":1,"254":1,"255":1,"256":1,"281":6,"290":1},"fqnsFingerprint":"17ad3dc14b56595ff30fd35ddf3b90367eb4e271e92eea522ea253b6b23411d7"},"554fd19e21c441d0fdc78bcaf480179f4181460c93869bbec460282b88adff99":{"translations":{"python":{"source":"# The code below shows an example of how to instantiate this type.\n# The values are placeholders you should change.\nimport aws_cdk.aws_cloudfront as cloudfront\n\ndefault_cache_behavior_property = cloudfront.CfnDistribution.DefaultCacheBehaviorProperty(\n    target_origin_id=\"targetOriginId\",\n    viewer_protocol_policy=\"viewerProtocolPolicy\",\n\n    # the properties below are optional\n    allowed_methods=[\"allowedMethods\"],\n    cached_methods=[\"cachedMethods\"],\n    cache_policy_id=\"cachePolicyId\",\n    compress=False,\n    default_ttl=123,\n    field_level_encryption_id=\"fieldLevelEncryptionId\",\n    forwarded_values=cloudfront.CfnDistribution.ForwardedValuesProperty(\n        query_string=False,\n\n        # the properties below are optional\n        cookies=cloudfront.CfnDistribution.CookiesProperty(\n            forward=\"forward\",\n\n            # the properties below are optional\n            whitelisted_names=[\"whitelistedNames\"]\n        ),\n        headers=[\"headers\"],\n        query_string_cache_keys=[\"queryStringCacheKeys\"]\n    ),\n    function_associations=[cloudfront.CfnDistribution.FunctionAssociationProperty(\n        event_type=\"eventType\",\n        function_arn=\"functionArn\"\n    )],\n    lambda_function_associations=[cloudfront.CfnDistribution.LambdaFunctionAssociationProperty(\n        event_type=\"eventType\",\n        include_body=False,\n        lambda_function_arn=\"lambdaFunctionArn\"\n    )],\n    max_ttl=123,\n    min_ttl=123,\n    origin_request_policy_id=\"originRequestPolicyId\",\n    realtime_log_config_arn=\"realtimeLogConfigArn\",\n    response_headers_policy_id=\"responseHeadersPolicyId\",\n    smooth_streaming=False,\n    trusted_key_groups=[\"trustedKeyGroups\"],\n    trusted_signers=[\"trustedSigners\"]\n)","version":"2"},"csharp":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nusing Amazon.CDK.AWS.CloudFront;\n\nvar defaultCacheBehaviorProperty = new DefaultCacheBehaviorProperty {\n    TargetOriginId = \"targetOriginId\",\n    ViewerProtocolPolicy = \"viewerProtocolPolicy\",\n\n    // the properties below are optional\n    AllowedMethods = new [] { \"allowedMethods\" },\n    CachedMethods = new [] { \"cachedMethods\" },\n    CachePolicyId = \"cachePolicyId\",\n    Compress = false,\n    DefaultTtl = 123,\n    FieldLevelEncryptionId = \"fieldLevelEncryptionId\",\n    ForwardedValues = new ForwardedValuesProperty {\n        QueryString = false,\n\n        // the properties below are optional\n        Cookies = new CookiesProperty {\n            Forward = \"forward\",\n\n            // the properties below are optional\n            WhitelistedNames = new [] { \"whitelistedNames\" }\n        },\n        Headers = new [] { \"headers\" },\n        QueryStringCacheKeys = new [] { \"queryStringCacheKeys\" }\n    },\n    FunctionAssociations = new [] { new FunctionAssociationProperty {\n        EventType = \"eventType\",\n        FunctionArn = \"functionArn\"\n    } },\n    LambdaFunctionAssociations = new [] { new LambdaFunctionAssociationProperty {\n        EventType = \"eventType\",\n        IncludeBody = false,\n        LambdaFunctionArn = \"lambdaFunctionArn\"\n    } },\n    MaxTtl = 123,\n    MinTtl = 123,\n    OriginRequestPolicyId = \"originRequestPolicyId\",\n    RealtimeLogConfigArn = \"realtimeLogConfigArn\",\n    ResponseHeadersPolicyId = \"responseHeadersPolicyId\",\n    SmoothStreaming = false,\n    TrustedKeyGroups = new [] { \"trustedKeyGroups\" },\n    TrustedSigners = new [] { \"trustedSigners\" }\n};","version":"1"},"java":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport software.amazon.awscdk.services.cloudfront.*;\n\nDefaultCacheBehaviorProperty defaultCacheBehaviorProperty = DefaultCacheBehaviorProperty.builder()\n        .targetOriginId(\"targetOriginId\")\n        .viewerProtocolPolicy(\"viewerProtocolPolicy\")\n\n        // the properties below are optional\n        .allowedMethods(List.of(\"allowedMethods\"))\n        .cachedMethods(List.of(\"cachedMethods\"))\n        .cachePolicyId(\"cachePolicyId\")\n        .compress(false)\n        .defaultTtl(123)\n        .fieldLevelEncryptionId(\"fieldLevelEncryptionId\")\n        .forwardedValues(ForwardedValuesProperty.builder()\n                .queryString(false)\n\n                // the properties below are optional\n                .cookies(CookiesProperty.builder()\n                        .forward(\"forward\")\n\n                        // the properties below are optional\n                        .whitelistedNames(List.of(\"whitelistedNames\"))\n                        .build())\n                .headers(List.of(\"headers\"))\n                .queryStringCacheKeys(List.of(\"queryStringCacheKeys\"))\n                .build())\n        .functionAssociations(List.of(FunctionAssociationProperty.builder()\n                .eventType(\"eventType\")\n                .functionArn(\"functionArn\")\n                .build()))\n        .lambdaFunctionAssociations(List.of(LambdaFunctionAssociationProperty.builder()\n                .eventType(\"eventType\")\n                .includeBody(false)\n                .lambdaFunctionArn(\"lambdaFunctionArn\")\n                .build()))\n        .maxTtl(123)\n        .minTtl(123)\n        .originRequestPolicyId(\"originRequestPolicyId\")\n        .realtimeLogConfigArn(\"realtimeLogConfigArn\")\n        .responseHeadersPolicyId(\"responseHeadersPolicyId\")\n        .smoothStreaming(false)\n        .trustedKeyGroups(List.of(\"trustedKeyGroups\"))\n        .trustedSigners(List.of(\"trustedSigners\"))\n        .build();","version":"1"},"go":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport cloudfront \"github.com/aws-samples/dummy/awscdkawscloudfront\"\n\ndefaultCacheBehaviorProperty := &DefaultCacheBehaviorProperty{\n\tTargetOriginId: jsii.String(\"targetOriginId\"),\n\tViewerProtocolPolicy: jsii.String(\"viewerProtocolPolicy\"),\n\n\t// the properties below are optional\n\tAllowedMethods: []*string{\n\t\tjsii.String(\"allowedMethods\"),\n\t},\n\tCachedMethods: []*string{\n\t\tjsii.String(\"cachedMethods\"),\n\t},\n\tCachePolicyId: jsii.String(\"cachePolicyId\"),\n\tCompress: jsii.Boolean(false),\n\tDefaultTtl: jsii.Number(123),\n\tFieldLevelEncryptionId: jsii.String(\"fieldLevelEncryptionId\"),\n\tForwardedValues: &ForwardedValuesProperty{\n\t\tQueryString: jsii.Boolean(false),\n\n\t\t// the properties below are optional\n\t\tCookies: &CookiesProperty{\n\t\t\tForward: jsii.String(\"forward\"),\n\n\t\t\t// the properties below are optional\n\t\t\tWhitelistedNames: []*string{\n\t\t\t\tjsii.String(\"whitelistedNames\"),\n\t\t\t},\n\t\t},\n\t\tHeaders: []*string{\n\t\t\tjsii.String(\"headers\"),\n\t\t},\n\t\tQueryStringCacheKeys: []*string{\n\t\t\tjsii.String(\"queryStringCacheKeys\"),\n\t\t},\n\t},\n\tFunctionAssociations: []interface{}{\n\t\t&FunctionAssociationProperty{\n\t\t\tEventType: jsii.String(\"eventType\"),\n\t\t\tFunctionArn: jsii.String(\"functionArn\"),\n\t\t},\n\t},\n\tLambdaFunctionAssociations: []interface{}{\n\t\t&LambdaFunctionAssociationProperty{\n\t\t\tEventType: jsii.String(\"eventType\"),\n\t\t\tIncludeBody: jsii.Boolean(false),\n\t\t\tLambdaFunctionArn: jsii.String(\"lambdaFunctionArn\"),\n\t\t},\n\t},\n\tMaxTtl: jsii.Number(123),\n\tMinTtl: jsii.Number(123),\n\tOriginRequestPolicyId: jsii.String(\"originRequestPolicyId\"),\n\tRealtimeLogConfigArn: jsii.String(\"realtimeLogConfigArn\"),\n\tResponseHeadersPolicyId: jsii.String(\"responseHeadersPolicyId\"),\n\tSmoothStreaming: jsii.Boolean(false),\n\tTrustedKeyGroups: []*string{\n\t\tjsii.String(\"trustedKeyGroups\"),\n\t},\n\tTrustedSigners: []*string{\n\t\tjsii.String(\"trustedSigners\"),\n\t},\n}","version":"1"},"$":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nconst defaultCacheBehaviorProperty: cloudfront.CfnDistribution.DefaultCacheBehaviorProperty = {\n  targetOriginId: 'targetOriginId',\n  viewerProtocolPolicy: 'viewerProtocolPolicy',\n\n  // the properties below are optional\n  allowedMethods: ['allowedMethods'],\n  cachedMethods: ['cachedMethods'],\n  cachePolicyId: 'cachePolicyId',\n  compress: false,\n  defaultTtl: 123,\n  fieldLevelEncryptionId: 'fieldLevelEncryptionId',\n  forwardedValues: {\n    queryString: false,\n\n    // the properties below are optional\n    cookies: {\n      forward: 'forward',\n\n      // the properties below are optional\n      whitelistedNames: ['whitelistedNames'],\n    },\n    headers: ['headers'],\n    queryStringCacheKeys: ['queryStringCacheKeys'],\n  },\n  functionAssociations: [{\n    eventType: 'eventType',\n    functionArn: 'functionArn',\n  }],\n  lambdaFunctionAssociations: [{\n    eventType: 'eventType',\n    includeBody: false,\n    lambdaFunctionArn: 'lambdaFunctionArn',\n  }],\n  maxTtl: 123,\n  minTtl: 123,\n  originRequestPolicyId: 'originRequestPolicyId',\n  realtimeLogConfigArn: 'realtimeLogConfigArn',\n  responseHeadersPolicyId: 'responseHeadersPolicyId',\n  smoothStreaming: false,\n  trustedKeyGroups: ['trustedKeyGroups'],\n  trustedSigners: ['trustedSigners'],\n};","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.CfnDistribution.DefaultCacheBehaviorProperty"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.CfnDistribution.DefaultCacheBehaviorProperty"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from \"@aws-cdk/core\";\nclass MyConstruct extends Construct {\nconstructor(scope: Construct, id: string) {\nsuper(scope, id);\n// Code snippet begins after !show marker below\n/// !show\n\nconst defaultCacheBehaviorProperty: cloudfront.CfnDistribution.DefaultCacheBehaviorProperty = {\n  targetOriginId: 'targetOriginId',\n  viewerProtocolPolicy: 'viewerProtocolPolicy',\n\n  // the properties below are optional\n  allowedMethods: ['allowedMethods'],\n  cachedMethods: ['cachedMethods'],\n  cachePolicyId: 'cachePolicyId',\n  compress: false,\n  defaultTtl: 123,\n  fieldLevelEncryptionId: 'fieldLevelEncryptionId',\n  forwardedValues: {\n    queryString: false,\n\n    // the properties below are optional\n    cookies: {\n      forward: 'forward',\n\n      // the properties below are optional\n      whitelistedNames: ['whitelistedNames'],\n    },\n    headers: ['headers'],\n    queryStringCacheKeys: ['queryStringCacheKeys'],\n  },\n  functionAssociations: [{\n    eventType: 'eventType',\n    functionArn: 'functionArn',\n  }],\n  lambdaFunctionAssociations: [{\n    eventType: 'eventType',\n    includeBody: false,\n    lambdaFunctionArn: 'lambdaFunctionArn',\n  }],\n  maxTtl: 123,\n  minTtl: 123,\n  originRequestPolicyId: 'originRequestPolicyId',\n  realtimeLogConfigArn: 'realtimeLogConfigArn',\n  responseHeadersPolicyId: 'responseHeadersPolicyId',\n  smoothStreaming: false,\n  trustedKeyGroups: ['trustedKeyGroups'],\n  trustedSigners: ['trustedSigners'],\n};\n/// !hide\n// Code snippet ended before !hide marker above\n} }","syntaxKindCounter":{"8":3,"10":20,"75":35,"91":4,"153":2,"169":1,"192":9,"193":5,"225":1,"242":1,"243":1,"254":1,"255":1,"256":1,"281":30,"290":1},"fqnsFingerprint":"c145fa2e3600241e45f792556a1fe594797669d62279a8e28307d989e29052ce"},"56c38b09f80a729619f6a45672a80cf281ee2a01b258f6bcd79487cdd136a2b3":{"translations":{"python":{"source":"# The code below shows an example of how to instantiate this type.\n# The values are placeholders you should change.\nimport aws_cdk.aws_cloudfront as cloudfront\n\ndistribution_config_property = cloudfront.CfnDistribution.DistributionConfigProperty(\n    default_cache_behavior=cloudfront.CfnDistribution.DefaultCacheBehaviorProperty(\n        target_origin_id=\"targetOriginId\",\n        viewer_protocol_policy=\"viewerProtocolPolicy\",\n\n        # the properties below are optional\n        allowed_methods=[\"allowedMethods\"],\n        cached_methods=[\"cachedMethods\"],\n        cache_policy_id=\"cachePolicyId\",\n        compress=False,\n        default_ttl=123,\n        field_level_encryption_id=\"fieldLevelEncryptionId\",\n        forwarded_values=cloudfront.CfnDistribution.ForwardedValuesProperty(\n            query_string=False,\n\n            # the properties below are optional\n            cookies=cloudfront.CfnDistribution.CookiesProperty(\n                forward=\"forward\",\n\n                # the properties below are optional\n                whitelisted_names=[\"whitelistedNames\"]\n            ),\n            headers=[\"headers\"],\n            query_string_cache_keys=[\"queryStringCacheKeys\"]\n        ),\n        function_associations=[cloudfront.CfnDistribution.FunctionAssociationProperty(\n            event_type=\"eventType\",\n            function_arn=\"functionArn\"\n        )],\n        lambda_function_associations=[cloudfront.CfnDistribution.LambdaFunctionAssociationProperty(\n            event_type=\"eventType\",\n            include_body=False,\n            lambda_function_arn=\"lambdaFunctionArn\"\n        )],\n        max_ttl=123,\n        min_ttl=123,\n        origin_request_policy_id=\"originRequestPolicyId\",\n        realtime_log_config_arn=\"realtimeLogConfigArn\",\n        response_headers_policy_id=\"responseHeadersPolicyId\",\n        smooth_streaming=False,\n        trusted_key_groups=[\"trustedKeyGroups\"],\n        trusted_signers=[\"trustedSigners\"]\n    ),\n    enabled=False,\n\n    # the properties below are optional\n    aliases=[\"aliases\"],\n    cache_behaviors=[cloudfront.CfnDistribution.CacheBehaviorProperty(\n        path_pattern=\"pathPattern\",\n        target_origin_id=\"targetOriginId\",\n        viewer_protocol_policy=\"viewerProtocolPolicy\",\n\n        # the properties below are optional\n        allowed_methods=[\"allowedMethods\"],\n        cached_methods=[\"cachedMethods\"],\n        cache_policy_id=\"cachePolicyId\",\n        compress=False,\n        default_ttl=123,\n        field_level_encryption_id=\"fieldLevelEncryptionId\",\n        forwarded_values=cloudfront.CfnDistribution.ForwardedValuesProperty(\n            query_string=False,\n\n            # the properties below are optional\n            cookies=cloudfront.CfnDistribution.CookiesProperty(\n                forward=\"forward\",\n\n                # the properties below are optional\n                whitelisted_names=[\"whitelistedNames\"]\n            ),\n            headers=[\"headers\"],\n            query_string_cache_keys=[\"queryStringCacheKeys\"]\n        ),\n        function_associations=[cloudfront.CfnDistribution.FunctionAssociationProperty(\n            event_type=\"eventType\",\n            function_arn=\"functionArn\"\n        )],\n        lambda_function_associations=[cloudfront.CfnDistribution.LambdaFunctionAssociationProperty(\n            event_type=\"eventType\",\n            include_body=False,\n            lambda_function_arn=\"lambdaFunctionArn\"\n        )],\n        max_ttl=123,\n        min_ttl=123,\n        origin_request_policy_id=\"originRequestPolicyId\",\n        realtime_log_config_arn=\"realtimeLogConfigArn\",\n        response_headers_policy_id=\"responseHeadersPolicyId\",\n        smooth_streaming=False,\n        trusted_key_groups=[\"trustedKeyGroups\"],\n        trusted_signers=[\"trustedSigners\"]\n    )],\n    cnam_es=[\"cnamEs\"],\n    comment=\"comment\",\n    continuous_deployment_policy_id=\"continuousDeploymentPolicyId\",\n    custom_error_responses=[cloudfront.CfnDistribution.CustomErrorResponseProperty(\n        error_code=123,\n\n        # the properties below are optional\n        error_caching_min_ttl=123,\n        response_code=123,\n        response_page_path=\"responsePagePath\"\n    )],\n    custom_origin=cloudfront.CfnDistribution.LegacyCustomOriginProperty(\n        dns_name=\"dnsName\",\n        origin_protocol_policy=\"originProtocolPolicy\",\n        origin_ssl_protocols=[\"originSslProtocols\"],\n\n        # the properties below are optional\n        http_port=123,\n        https_port=123\n    ),\n    default_root_object=\"defaultRootObject\",\n    http_version=\"httpVersion\",\n    ipv6_enabled=False,\n    logging=cloudfront.CfnDistribution.LoggingProperty(\n        bucket=\"bucket\",\n\n        # the properties below are optional\n        include_cookies=False,\n        prefix=\"prefix\"\n    ),\n    origin_groups=cloudfront.CfnDistribution.OriginGroupsProperty(\n        quantity=123,\n\n        # the properties below are optional\n        items=[cloudfront.CfnDistribution.OriginGroupProperty(\n            failover_criteria=cloudfront.CfnDistribution.OriginGroupFailoverCriteriaProperty(\n                status_codes=cloudfront.CfnDistribution.StatusCodesProperty(\n                    items=[123],\n                    quantity=123\n                )\n            ),\n            id=\"id\",\n            members=cloudfront.CfnDistribution.OriginGroupMembersProperty(\n                items=[cloudfront.CfnDistribution.OriginGroupMemberProperty(\n                    origin_id=\"originId\"\n                )],\n                quantity=123\n            )\n        )]\n    ),\n    origins=[cloudfront.CfnDistribution.OriginProperty(\n        domain_name=\"domainName\",\n        id=\"id\",\n\n        # the properties below are optional\n        connection_attempts=123,\n        connection_timeout=123,\n        custom_origin_config=cloudfront.CfnDistribution.CustomOriginConfigProperty(\n            origin_protocol_policy=\"originProtocolPolicy\",\n\n            # the properties below are optional\n            http_port=123,\n            https_port=123,\n            origin_keepalive_timeout=123,\n            origin_read_timeout=123,\n            origin_ssl_protocols=[\"originSslProtocols\"]\n        ),\n        origin_access_control_id=\"originAccessControlId\",\n        origin_custom_headers=[cloudfront.CfnDistribution.OriginCustomHeaderProperty(\n            header_name=\"headerName\",\n            header_value=\"headerValue\"\n        )],\n        origin_path=\"originPath\",\n        origin_shield=cloudfront.CfnDistribution.OriginShieldProperty(\n            enabled=False,\n            origin_shield_region=\"originShieldRegion\"\n        ),\n        s3_origin_config=cloudfront.CfnDistribution.S3OriginConfigProperty(\n            origin_access_identity=\"originAccessIdentity\"\n        )\n    )],\n    price_class=\"priceClass\",\n    restrictions=cloudfront.CfnDistribution.RestrictionsProperty(\n        geo_restriction=cloudfront.CfnDistribution.GeoRestrictionProperty(\n            restriction_type=\"restrictionType\",\n\n            # the properties below are optional\n            locations=[\"locations\"]\n        )\n    ),\n    s3_origin=cloudfront.CfnDistribution.LegacyS3OriginProperty(\n        dns_name=\"dnsName\",\n\n        # the properties below are optional\n        origin_access_identity=\"originAccessIdentity\"\n    ),\n    staging=False,\n    viewer_certificate=cloudfront.CfnDistribution.ViewerCertificateProperty(\n        acm_certificate_arn=\"acmCertificateArn\",\n        cloud_front_default_certificate=False,\n        iam_certificate_id=\"iamCertificateId\",\n        minimum_protocol_version=\"minimumProtocolVersion\",\n        ssl_support_method=\"sslSupportMethod\"\n    ),\n    web_acl_id=\"webAclId\"\n)","version":"2"},"csharp":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nusing Amazon.CDK.AWS.CloudFront;\n\nvar distributionConfigProperty = new DistributionConfigProperty {\n    DefaultCacheBehavior = new DefaultCacheBehaviorProperty {\n        TargetOriginId = \"targetOriginId\",\n        ViewerProtocolPolicy = \"viewerProtocolPolicy\",\n\n        // the properties below are optional\n        AllowedMethods = new [] { \"allowedMethods\" },\n        CachedMethods = new [] { \"cachedMethods\" },\n        CachePolicyId = \"cachePolicyId\",\n        Compress = false,\n        DefaultTtl = 123,\n        FieldLevelEncryptionId = \"fieldLevelEncryptionId\",\n        ForwardedValues = new ForwardedValuesProperty {\n            QueryString = false,\n\n            // the properties below are optional\n            Cookies = new CookiesProperty {\n                Forward = \"forward\",\n\n                // the properties below are optional\n                WhitelistedNames = new [] { \"whitelistedNames\" }\n            },\n            Headers = new [] { \"headers\" },\n            QueryStringCacheKeys = new [] { \"queryStringCacheKeys\" }\n        },\n        FunctionAssociations = new [] { new FunctionAssociationProperty {\n            EventType = \"eventType\",\n            FunctionArn = \"functionArn\"\n        } },\n        LambdaFunctionAssociations = new [] { new LambdaFunctionAssociationProperty {\n            EventType = \"eventType\",\n            IncludeBody = false,\n            LambdaFunctionArn = \"lambdaFunctionArn\"\n        } },\n        MaxTtl = 123,\n        MinTtl = 123,\n        OriginRequestPolicyId = \"originRequestPolicyId\",\n        RealtimeLogConfigArn = \"realtimeLogConfigArn\",\n        ResponseHeadersPolicyId = \"responseHeadersPolicyId\",\n        SmoothStreaming = false,\n        TrustedKeyGroups = new [] { \"trustedKeyGroups\" },\n        TrustedSigners = new [] { \"trustedSigners\" }\n    },\n    Enabled = false,\n\n    // the properties below are optional\n    Aliases = new [] { \"aliases\" },\n    CacheBehaviors = new [] { new CacheBehaviorProperty {\n        PathPattern = \"pathPattern\",\n        TargetOriginId = \"targetOriginId\",\n        ViewerProtocolPolicy = \"viewerProtocolPolicy\",\n\n        // the properties below are optional\n        AllowedMethods = new [] { \"allowedMethods\" },\n        CachedMethods = new [] { \"cachedMethods\" },\n        CachePolicyId = \"cachePolicyId\",\n        Compress = false,\n        DefaultTtl = 123,\n        FieldLevelEncryptionId = \"fieldLevelEncryptionId\",\n        ForwardedValues = new ForwardedValuesProperty {\n            QueryString = false,\n\n            // the properties below are optional\n            Cookies = new CookiesProperty {\n                Forward = \"forward\",\n\n                // the properties below are optional\n                WhitelistedNames = new [] { \"whitelistedNames\" }\n            },\n            Headers = new [] { \"headers\" },\n            QueryStringCacheKeys = new [] { \"queryStringCacheKeys\" }\n        },\n        FunctionAssociations = new [] { new FunctionAssociationProperty {\n            EventType = \"eventType\",\n            FunctionArn = \"functionArn\"\n        } },\n        LambdaFunctionAssociations = new [] { new LambdaFunctionAssociationProperty {\n            EventType = \"eventType\",\n            IncludeBody = false,\n            LambdaFunctionArn = \"lambdaFunctionArn\"\n        } },\n        MaxTtl = 123,\n        MinTtl = 123,\n        OriginRequestPolicyId = \"originRequestPolicyId\",\n        RealtimeLogConfigArn = \"realtimeLogConfigArn\",\n        ResponseHeadersPolicyId = \"responseHeadersPolicyId\",\n        SmoothStreaming = false,\n        TrustedKeyGroups = new [] { \"trustedKeyGroups\" },\n        TrustedSigners = new [] { \"trustedSigners\" }\n    } },\n    CnamEs = new [] { \"cnamEs\" },\n    Comment = \"comment\",\n    ContinuousDeploymentPolicyId = \"continuousDeploymentPolicyId\",\n    CustomErrorResponses = new [] { new CustomErrorResponseProperty {\n        ErrorCode = 123,\n\n        // the properties below are optional\n        ErrorCachingMinTtl = 123,\n        ResponseCode = 123,\n        ResponsePagePath = \"responsePagePath\"\n    } },\n    CustomOrigin = new LegacyCustomOriginProperty {\n        DnsName = \"dnsName\",\n        OriginProtocolPolicy = \"originProtocolPolicy\",\n        OriginSslProtocols = new [] { \"originSslProtocols\" },\n\n        // the properties below are optional\n        HttpPort = 123,\n        HttpsPort = 123\n    },\n    DefaultRootObject = \"defaultRootObject\",\n    HttpVersion = \"httpVersion\",\n    Ipv6Enabled = false,\n    Logging = new LoggingProperty {\n        Bucket = \"bucket\",\n\n        // the properties below are optional\n        IncludeCookies = false,\n        Prefix = \"prefix\"\n    },\n    OriginGroups = new OriginGroupsProperty {\n        Quantity = 123,\n\n        // the properties below are optional\n        Items = new [] { new OriginGroupProperty {\n            FailoverCriteria = new OriginGroupFailoverCriteriaProperty {\n                StatusCodes = new StatusCodesProperty {\n                    Items = new [] { 123 },\n                    Quantity = 123\n                }\n            },\n            Id = \"id\",\n            Members = new OriginGroupMembersProperty {\n                Items = new [] { new OriginGroupMemberProperty {\n                    OriginId = \"originId\"\n                } },\n                Quantity = 123\n            }\n        } }\n    },\n    Origins = new [] { new OriginProperty {\n        DomainName = \"domainName\",\n        Id = \"id\",\n\n        // the properties below are optional\n        ConnectionAttempts = 123,\n        ConnectionTimeout = 123,\n        CustomOriginConfig = new CustomOriginConfigProperty {\n            OriginProtocolPolicy = \"originProtocolPolicy\",\n\n            // the properties below are optional\n            HttpPort = 123,\n            HttpsPort = 123,\n            OriginKeepaliveTimeout = 123,\n            OriginReadTimeout = 123,\n            OriginSslProtocols = new [] { \"originSslProtocols\" }\n        },\n        OriginAccessControlId = \"originAccessControlId\",\n        OriginCustomHeaders = new [] { new OriginCustomHeaderProperty {\n            HeaderName = \"headerName\",\n            HeaderValue = \"headerValue\"\n        } },\n        OriginPath = \"originPath\",\n        OriginShield = new OriginShieldProperty {\n            Enabled = false,\n            OriginShieldRegion = \"originShieldRegion\"\n        },\n        S3OriginConfig = new S3OriginConfigProperty {\n            OriginAccessIdentity = \"originAccessIdentity\"\n        }\n    } },\n    PriceClass = \"priceClass\",\n    Restrictions = new RestrictionsProperty {\n        GeoRestriction = new GeoRestrictionProperty {\n            RestrictionType = \"restrictionType\",\n\n            // the properties below are optional\n            Locations = new [] { \"locations\" }\n        }\n    },\n    S3Origin = new LegacyS3OriginProperty {\n        DnsName = \"dnsName\",\n\n        // the properties below are optional\n        OriginAccessIdentity = \"originAccessIdentity\"\n    },\n    Staging = false,\n    ViewerCertificate = new ViewerCertificateProperty {\n        AcmCertificateArn = \"acmCertificateArn\",\n        CloudFrontDefaultCertificate = false,\n        IamCertificateId = \"iamCertificateId\",\n        MinimumProtocolVersion = \"minimumProtocolVersion\",\n        SslSupportMethod = \"sslSupportMethod\"\n    },\n    WebAclId = \"webAclId\"\n};","version":"1"},"java":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport software.amazon.awscdk.services.cloudfront.*;\n\nDistributionConfigProperty distributionConfigProperty = DistributionConfigProperty.builder()\n        .defaultCacheBehavior(DefaultCacheBehaviorProperty.builder()\n                .targetOriginId(\"targetOriginId\")\n                .viewerProtocolPolicy(\"viewerProtocolPolicy\")\n\n                // the properties below are optional\n                .allowedMethods(List.of(\"allowedMethods\"))\n                .cachedMethods(List.of(\"cachedMethods\"))\n                .cachePolicyId(\"cachePolicyId\")\n                .compress(false)\n                .defaultTtl(123)\n                .fieldLevelEncryptionId(\"fieldLevelEncryptionId\")\n                .forwardedValues(ForwardedValuesProperty.builder()\n                        .queryString(false)\n\n                        // the properties below are optional\n                        .cookies(CookiesProperty.builder()\n                                .forward(\"forward\")\n\n                                // the properties below are optional\n                                .whitelistedNames(List.of(\"whitelistedNames\"))\n                                .build())\n                        .headers(List.of(\"headers\"))\n                        .queryStringCacheKeys(List.of(\"queryStringCacheKeys\"))\n                        .build())\n                .functionAssociations(List.of(FunctionAssociationProperty.builder()\n                        .eventType(\"eventType\")\n                        .functionArn(\"functionArn\")\n                        .build()))\n                .lambdaFunctionAssociations(List.of(LambdaFunctionAssociationProperty.builder()\n                        .eventType(\"eventType\")\n                        .includeBody(false)\n                        .lambdaFunctionArn(\"lambdaFunctionArn\")\n                        .build()))\n                .maxTtl(123)\n                .minTtl(123)\n                .originRequestPolicyId(\"originRequestPolicyId\")\n                .realtimeLogConfigArn(\"realtimeLogConfigArn\")\n                .responseHeadersPolicyId(\"responseHeadersPolicyId\")\n                .smoothStreaming(false)\n                .trustedKeyGroups(List.of(\"trustedKeyGroups\"))\n                .trustedSigners(List.of(\"trustedSigners\"))\n                .build())\n        .enabled(false)\n\n        // the properties below are optional\n        .aliases(List.of(\"aliases\"))\n        .cacheBehaviors(List.of(CacheBehaviorProperty.builder()\n                .pathPattern(\"pathPattern\")\n                .targetOriginId(\"targetOriginId\")\n                .viewerProtocolPolicy(\"viewerProtocolPolicy\")\n\n                // the properties below are optional\n                .allowedMethods(List.of(\"allowedMethods\"))\n                .cachedMethods(List.of(\"cachedMethods\"))\n                .cachePolicyId(\"cachePolicyId\")\n                .compress(false)\n                .defaultTtl(123)\n                .fieldLevelEncryptionId(\"fieldLevelEncryptionId\")\n                .forwardedValues(ForwardedValuesProperty.builder()\n                        .queryString(false)\n\n                        // the properties below are optional\n                        .cookies(CookiesProperty.builder()\n                                .forward(\"forward\")\n\n                                // the properties below are optional\n                                .whitelistedNames(List.of(\"whitelistedNames\"))\n                                .build())\n                        .headers(List.of(\"headers\"))\n                        .queryStringCacheKeys(List.of(\"queryStringCacheKeys\"))\n                        .build())\n                .functionAssociations(List.of(FunctionAssociationProperty.builder()\n                        .eventType(\"eventType\")\n                        .functionArn(\"functionArn\")\n                        .build()))\n                .lambdaFunctionAssociations(List.of(LambdaFunctionAssociationProperty.builder()\n                        .eventType(\"eventType\")\n                        .includeBody(false)\n                        .lambdaFunctionArn(\"lambdaFunctionArn\")\n                        .build()))\n                .maxTtl(123)\n                .minTtl(123)\n                .originRequestPolicyId(\"originRequestPolicyId\")\n                .realtimeLogConfigArn(\"realtimeLogConfigArn\")\n                .responseHeadersPolicyId(\"responseHeadersPolicyId\")\n                .smoothStreaming(false)\n                .trustedKeyGroups(List.of(\"trustedKeyGroups\"))\n                .trustedSigners(List.of(\"trustedSigners\"))\n                .build()))\n        .cnamEs(List.of(\"cnamEs\"))\n        .comment(\"comment\")\n        .continuousDeploymentPolicyId(\"continuousDeploymentPolicyId\")\n        .customErrorResponses(List.of(CustomErrorResponseProperty.builder()\n                .errorCode(123)\n\n                // the properties below are optional\n                .errorCachingMinTtl(123)\n                .responseCode(123)\n                .responsePagePath(\"responsePagePath\")\n                .build()))\n        .customOrigin(LegacyCustomOriginProperty.builder()\n                .dnsName(\"dnsName\")\n                .originProtocolPolicy(\"originProtocolPolicy\")\n                .originSslProtocols(List.of(\"originSslProtocols\"))\n\n                // the properties below are optional\n                .httpPort(123)\n                .httpsPort(123)\n                .build())\n        .defaultRootObject(\"defaultRootObject\")\n        .httpVersion(\"httpVersion\")\n        .ipv6Enabled(false)\n        .logging(LoggingProperty.builder()\n                .bucket(\"bucket\")\n\n                // the properties below are optional\n                .includeCookies(false)\n                .prefix(\"prefix\")\n                .build())\n        .originGroups(OriginGroupsProperty.builder()\n                .quantity(123)\n\n                // the properties below are optional\n                .items(List.of(OriginGroupProperty.builder()\n                        .failoverCriteria(OriginGroupFailoverCriteriaProperty.builder()\n                                .statusCodes(StatusCodesProperty.builder()\n                                        .items(List.of(123))\n                                        .quantity(123)\n                                        .build())\n                                .build())\n                        .id(\"id\")\n                        .members(OriginGroupMembersProperty.builder()\n                                .items(List.of(OriginGroupMemberProperty.builder()\n                                        .originId(\"originId\")\n                                        .build()))\n                                .quantity(123)\n                                .build())\n                        .build()))\n                .build())\n        .origins(List.of(OriginProperty.builder()\n                .domainName(\"domainName\")\n                .id(\"id\")\n\n                // the properties below are optional\n                .connectionAttempts(123)\n                .connectionTimeout(123)\n                .customOriginConfig(CustomOriginConfigProperty.builder()\n                        .originProtocolPolicy(\"originProtocolPolicy\")\n\n                        // the properties below are optional\n                        .httpPort(123)\n                        .httpsPort(123)\n                        .originKeepaliveTimeout(123)\n                        .originReadTimeout(123)\n                        .originSslProtocols(List.of(\"originSslProtocols\"))\n                        .build())\n                .originAccessControlId(\"originAccessControlId\")\n                .originCustomHeaders(List.of(OriginCustomHeaderProperty.builder()\n                        .headerName(\"headerName\")\n                        .headerValue(\"headerValue\")\n                        .build()))\n                .originPath(\"originPath\")\n                .originShield(OriginShieldProperty.builder()\n                        .enabled(false)\n                        .originShieldRegion(\"originShieldRegion\")\n                        .build())\n                .s3OriginConfig(S3OriginConfigProperty.builder()\n                        .originAccessIdentity(\"originAccessIdentity\")\n                        .build())\n                .build()))\n        .priceClass(\"priceClass\")\n        .restrictions(RestrictionsProperty.builder()\n                .geoRestriction(GeoRestrictionProperty.builder()\n                        .restrictionType(\"restrictionType\")\n\n                        // the properties below are optional\n                        .locations(List.of(\"locations\"))\n                        .build())\n                .build())\n        .s3Origin(LegacyS3OriginProperty.builder()\n                .dnsName(\"dnsName\")\n\n                // the properties below are optional\n                .originAccessIdentity(\"originAccessIdentity\")\n                .build())\n        .staging(false)\n        .viewerCertificate(ViewerCertificateProperty.builder()\n                .acmCertificateArn(\"acmCertificateArn\")\n                .cloudFrontDefaultCertificate(false)\n                .iamCertificateId(\"iamCertificateId\")\n                .minimumProtocolVersion(\"minimumProtocolVersion\")\n                .sslSupportMethod(\"sslSupportMethod\")\n                .build())\n        .webAclId(\"webAclId\")\n        .build();","version":"1"},"go":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport cloudfront \"github.com/aws-samples/dummy/awscdkawscloudfront\"\n\ndistributionConfigProperty := &DistributionConfigProperty{\n\tDefaultCacheBehavior: &DefaultCacheBehaviorProperty{\n\t\tTargetOriginId: jsii.String(\"targetOriginId\"),\n\t\tViewerProtocolPolicy: jsii.String(\"viewerProtocolPolicy\"),\n\n\t\t// the properties below are optional\n\t\tAllowedMethods: []*string{\n\t\t\tjsii.String(\"allowedMethods\"),\n\t\t},\n\t\tCachedMethods: []*string{\n\t\t\tjsii.String(\"cachedMethods\"),\n\t\t},\n\t\tCachePolicyId: jsii.String(\"cachePolicyId\"),\n\t\tCompress: jsii.Boolean(false),\n\t\tDefaultTtl: jsii.Number(123),\n\t\tFieldLevelEncryptionId: jsii.String(\"fieldLevelEncryptionId\"),\n\t\tForwardedValues: &ForwardedValuesProperty{\n\t\t\tQueryString: jsii.Boolean(false),\n\n\t\t\t// the properties below are optional\n\t\t\tCookies: &CookiesProperty{\n\t\t\t\tForward: jsii.String(\"forward\"),\n\n\t\t\t\t// the properties below are optional\n\t\t\t\tWhitelistedNames: []*string{\n\t\t\t\t\tjsii.String(\"whitelistedNames\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tHeaders: []*string{\n\t\t\t\tjsii.String(\"headers\"),\n\t\t\t},\n\t\t\tQueryStringCacheKeys: []*string{\n\t\t\t\tjsii.String(\"queryStringCacheKeys\"),\n\t\t\t},\n\t\t},\n\t\tFunctionAssociations: []interface{}{\n\t\t\t&FunctionAssociationProperty{\n\t\t\t\tEventType: jsii.String(\"eventType\"),\n\t\t\t\tFunctionArn: jsii.String(\"functionArn\"),\n\t\t\t},\n\t\t},\n\t\tLambdaFunctionAssociations: []interface{}{\n\t\t\t&LambdaFunctionAssociationProperty{\n\t\t\t\tEventType: jsii.String(\"eventType\"),\n\t\t\t\tIncludeBody: jsii.Boolean(false),\n\t\t\t\tLambdaFunctionArn: jsii.String(\"lambdaFunctionArn\"),\n\t\t\t},\n\t\t},\n\t\tMaxTtl: jsii.Number(123),\n\t\tMinTtl: jsii.Number(123),\n\t\tOriginRequestPolicyId: jsii.String(\"originRequestPolicyId\"),\n\t\tRealtimeLogConfigArn: jsii.String(\"realtimeLogConfigArn\"),\n\t\tResponseHeadersPolicyId: jsii.String(\"responseHeadersPolicyId\"),\n\t\tSmoothStreaming: jsii.Boolean(false),\n\t\tTrustedKeyGroups: []*string{\n\t\t\tjsii.String(\"trustedKeyGroups\"),\n\t\t},\n\t\tTrustedSigners: []*string{\n\t\t\tjsii.String(\"trustedSigners\"),\n\t\t},\n\t},\n\tEnabled: jsii.Boolean(false),\n\n\t// the properties below are optional\n\tAliases: []*string{\n\t\tjsii.String(\"aliases\"),\n\t},\n\tCacheBehaviors: []interface{}{\n\t\t&CacheBehaviorProperty{\n\t\t\tPathPattern: jsii.String(\"pathPattern\"),\n\t\t\tTargetOriginId: jsii.String(\"targetOriginId\"),\n\t\t\tViewerProtocolPolicy: jsii.String(\"viewerProtocolPolicy\"),\n\n\t\t\t// the properties below are optional\n\t\t\tAllowedMethods: []*string{\n\t\t\t\tjsii.String(\"allowedMethods\"),\n\t\t\t},\n\t\t\tCachedMethods: []*string{\n\t\t\t\tjsii.String(\"cachedMethods\"),\n\t\t\t},\n\t\t\tCachePolicyId: jsii.String(\"cachePolicyId\"),\n\t\t\tCompress: jsii.Boolean(false),\n\t\t\tDefaultTtl: jsii.Number(123),\n\t\t\tFieldLevelEncryptionId: jsii.String(\"fieldLevelEncryptionId\"),\n\t\t\tForwardedValues: &ForwardedValuesProperty{\n\t\t\t\tQueryString: jsii.Boolean(false),\n\n\t\t\t\t// the properties below are optional\n\t\t\t\tCookies: &CookiesProperty{\n\t\t\t\t\tForward: jsii.String(\"forward\"),\n\n\t\t\t\t\t// the properties below are optional\n\t\t\t\t\tWhitelistedNames: []*string{\n\t\t\t\t\t\tjsii.String(\"whitelistedNames\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tHeaders: []*string{\n\t\t\t\t\tjsii.String(\"headers\"),\n\t\t\t\t},\n\t\t\t\tQueryStringCacheKeys: []*string{\n\t\t\t\t\tjsii.String(\"queryStringCacheKeys\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tFunctionAssociations: []interface{}{\n\t\t\t\t&FunctionAssociationProperty{\n\t\t\t\t\tEventType: jsii.String(\"eventType\"),\n\t\t\t\t\tFunctionArn: jsii.String(\"functionArn\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tLambdaFunctionAssociations: []interface{}{\n\t\t\t\t&LambdaFunctionAssociationProperty{\n\t\t\t\t\tEventType: jsii.String(\"eventType\"),\n\t\t\t\t\tIncludeBody: jsii.Boolean(false),\n\t\t\t\t\tLambdaFunctionArn: jsii.String(\"lambdaFunctionArn\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tMaxTtl: jsii.Number(123),\n\t\t\tMinTtl: jsii.Number(123),\n\t\t\tOriginRequestPolicyId: jsii.String(\"originRequestPolicyId\"),\n\t\t\tRealtimeLogConfigArn: jsii.String(\"realtimeLogConfigArn\"),\n\t\t\tResponseHeadersPolicyId: jsii.String(\"responseHeadersPolicyId\"),\n\t\t\tSmoothStreaming: jsii.Boolean(false),\n\t\t\tTrustedKeyGroups: []*string{\n\t\t\t\tjsii.String(\"trustedKeyGroups\"),\n\t\t\t},\n\t\t\tTrustedSigners: []*string{\n\t\t\t\tjsii.String(\"trustedSigners\"),\n\t\t\t},\n\t\t},\n\t},\n\tCnamEs: []*string{\n\t\tjsii.String(\"cnamEs\"),\n\t},\n\tComment: jsii.String(\"comment\"),\n\tContinuousDeploymentPolicyId: jsii.String(\"continuousDeploymentPolicyId\"),\n\tCustomErrorResponses: []interface{}{\n\t\t&CustomErrorResponseProperty{\n\t\t\tErrorCode: jsii.Number(123),\n\n\t\t\t// the properties below are optional\n\t\t\tErrorCachingMinTtl: jsii.Number(123),\n\t\t\tResponseCode: jsii.Number(123),\n\t\t\tResponsePagePath: jsii.String(\"responsePagePath\"),\n\t\t},\n\t},\n\tCustomOrigin: &LegacyCustomOriginProperty{\n\t\tDnsName: jsii.String(\"dnsName\"),\n\t\tOriginProtocolPolicy: jsii.String(\"originProtocolPolicy\"),\n\t\tOriginSslProtocols: []*string{\n\t\t\tjsii.String(\"originSslProtocols\"),\n\t\t},\n\n\t\t// the properties below are optional\n\t\tHttpPort: jsii.Number(123),\n\t\tHttpsPort: jsii.Number(123),\n\t},\n\tDefaultRootObject: jsii.String(\"defaultRootObject\"),\n\tHttpVersion: jsii.String(\"httpVersion\"),\n\tIpv6Enabled: jsii.Boolean(false),\n\tLogging: &LoggingProperty{\n\t\tBucket: jsii.String(\"bucket\"),\n\n\t\t// the properties below are optional\n\t\tIncludeCookies: jsii.Boolean(false),\n\t\tPrefix: jsii.String(\"prefix\"),\n\t},\n\tOriginGroups: &OriginGroupsProperty{\n\t\tQuantity: jsii.Number(123),\n\n\t\t// the properties below are optional\n\t\tItems: []interface{}{\n\t\t\t&OriginGroupProperty{\n\t\t\t\tFailoverCriteria: &OriginGroupFailoverCriteriaProperty{\n\t\t\t\t\tStatusCodes: &StatusCodesProperty{\n\t\t\t\t\t\tItems: []interface{}{\n\t\t\t\t\t\t\tjsii.Number(123),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tQuantity: jsii.Number(123),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tId: jsii.String(\"id\"),\n\t\t\t\tMembers: &OriginGroupMembersProperty{\n\t\t\t\t\tItems: []interface{}{\n\t\t\t\t\t\t&OriginGroupMemberProperty{\n\t\t\t\t\t\t\tOriginId: jsii.String(\"originId\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tQuantity: jsii.Number(123),\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n\tOrigins: []interface{}{\n\t\t&OriginProperty{\n\t\t\tDomainName: jsii.String(\"domainName\"),\n\t\t\tId: jsii.String(\"id\"),\n\n\t\t\t// the properties below are optional\n\t\t\tConnectionAttempts: jsii.Number(123),\n\t\t\tConnectionTimeout: jsii.Number(123),\n\t\t\tCustomOriginConfig: &CustomOriginConfigProperty{\n\t\t\t\tOriginProtocolPolicy: jsii.String(\"originProtocolPolicy\"),\n\n\t\t\t\t// the properties below are optional\n\t\t\t\tHttpPort: jsii.Number(123),\n\t\t\t\tHttpsPort: jsii.Number(123),\n\t\t\t\tOriginKeepaliveTimeout: jsii.Number(123),\n\t\t\t\tOriginReadTimeout: jsii.Number(123),\n\t\t\t\tOriginSslProtocols: []*string{\n\t\t\t\t\tjsii.String(\"originSslProtocols\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tOriginAccessControlId: jsii.String(\"originAccessControlId\"),\n\t\t\tOriginCustomHeaders: []interface{}{\n\t\t\t\t&OriginCustomHeaderProperty{\n\t\t\t\t\tHeaderName: jsii.String(\"headerName\"),\n\t\t\t\t\tHeaderValue: jsii.String(\"headerValue\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tOriginPath: jsii.String(\"originPath\"),\n\t\t\tOriginShield: &OriginShieldProperty{\n\t\t\t\tEnabled: jsii.Boolean(false),\n\t\t\t\tOriginShieldRegion: jsii.String(\"originShieldRegion\"),\n\t\t\t},\n\t\t\tS3OriginConfig: &S3OriginConfigProperty{\n\t\t\t\tOriginAccessIdentity: jsii.String(\"originAccessIdentity\"),\n\t\t\t},\n\t\t},\n\t},\n\tPriceClass: jsii.String(\"priceClass\"),\n\tRestrictions: &RestrictionsProperty{\n\t\tGeoRestriction: &GeoRestrictionProperty{\n\t\t\tRestrictionType: jsii.String(\"restrictionType\"),\n\n\t\t\t// the properties below are optional\n\t\t\tLocations: []*string{\n\t\t\t\tjsii.String(\"locations\"),\n\t\t\t},\n\t\t},\n\t},\n\tS3Origin: &LegacyS3OriginProperty{\n\t\tDnsName: jsii.String(\"dnsName\"),\n\n\t\t// the properties below are optional\n\t\tOriginAccessIdentity: jsii.String(\"originAccessIdentity\"),\n\t},\n\tStaging: jsii.Boolean(false),\n\tViewerCertificate: &ViewerCertificateProperty{\n\t\tAcmCertificateArn: jsii.String(\"acmCertificateArn\"),\n\t\tCloudFrontDefaultCertificate: jsii.Boolean(false),\n\t\tIamCertificateId: jsii.String(\"iamCertificateId\"),\n\t\tMinimumProtocolVersion: jsii.String(\"minimumProtocolVersion\"),\n\t\tSslSupportMethod: jsii.String(\"sslSupportMethod\"),\n\t},\n\tWebAclId: jsii.String(\"webAclId\"),\n}","version":"1"},"$":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nconst distributionConfigProperty: cloudfront.CfnDistribution.DistributionConfigProperty = {\n  defaultCacheBehavior: {\n    targetOriginId: 'targetOriginId',\n    viewerProtocolPolicy: 'viewerProtocolPolicy',\n\n    // the properties below are optional\n    allowedMethods: ['allowedMethods'],\n    cachedMethods: ['cachedMethods'],\n    cachePolicyId: 'cachePolicyId',\n    compress: false,\n    defaultTtl: 123,\n    fieldLevelEncryptionId: 'fieldLevelEncryptionId',\n    forwardedValues: {\n      queryString: false,\n\n      // the properties below are optional\n      cookies: {\n        forward: 'forward',\n\n        // the properties below are optional\n        whitelistedNames: ['whitelistedNames'],\n      },\n      headers: ['headers'],\n      queryStringCacheKeys: ['queryStringCacheKeys'],\n    },\n    functionAssociations: [{\n      eventType: 'eventType',\n      functionArn: 'functionArn',\n    }],\n    lambdaFunctionAssociations: [{\n      eventType: 'eventType',\n      includeBody: false,\n      lambdaFunctionArn: 'lambdaFunctionArn',\n    }],\n    maxTtl: 123,\n    minTtl: 123,\n    originRequestPolicyId: 'originRequestPolicyId',\n    realtimeLogConfigArn: 'realtimeLogConfigArn',\n    responseHeadersPolicyId: 'responseHeadersPolicyId',\n    smoothStreaming: false,\n    trustedKeyGroups: ['trustedKeyGroups'],\n    trustedSigners: ['trustedSigners'],\n  },\n  enabled: false,\n\n  // the properties below are optional\n  aliases: ['aliases'],\n  cacheBehaviors: [{\n    pathPattern: 'pathPattern',\n    targetOriginId: 'targetOriginId',\n    viewerProtocolPolicy: 'viewerProtocolPolicy',\n\n    // the properties below are optional\n    allowedMethods: ['allowedMethods'],\n    cachedMethods: ['cachedMethods'],\n    cachePolicyId: 'cachePolicyId',\n    compress: false,\n    defaultTtl: 123,\n    fieldLevelEncryptionId: 'fieldLevelEncryptionId',\n    forwardedValues: {\n      queryString: false,\n\n      // the properties below are optional\n      cookies: {\n        forward: 'forward',\n\n        // the properties below are optional\n        whitelistedNames: ['whitelistedNames'],\n      },\n      headers: ['headers'],\n      queryStringCacheKeys: ['queryStringCacheKeys'],\n    },\n    functionAssociations: [{\n      eventType: 'eventType',\n      functionArn: 'functionArn',\n    }],\n    lambdaFunctionAssociations: [{\n      eventType: 'eventType',\n      includeBody: false,\n      lambdaFunctionArn: 'lambdaFunctionArn',\n    }],\n    maxTtl: 123,\n    minTtl: 123,\n    originRequestPolicyId: 'originRequestPolicyId',\n    realtimeLogConfigArn: 'realtimeLogConfigArn',\n    responseHeadersPolicyId: 'responseHeadersPolicyId',\n    smoothStreaming: false,\n    trustedKeyGroups: ['trustedKeyGroups'],\n    trustedSigners: ['trustedSigners'],\n  }],\n  cnamEs: ['cnamEs'],\n  comment: 'comment',\n  continuousDeploymentPolicyId: 'continuousDeploymentPolicyId',\n  customErrorResponses: [{\n    errorCode: 123,\n\n    // the properties below are optional\n    errorCachingMinTtl: 123,\n    responseCode: 123,\n    responsePagePath: 'responsePagePath',\n  }],\n  customOrigin: {\n    dnsName: 'dnsName',\n    originProtocolPolicy: 'originProtocolPolicy',\n    originSslProtocols: ['originSslProtocols'],\n\n    // the properties below are optional\n    httpPort: 123,\n    httpsPort: 123,\n  },\n  defaultRootObject: 'defaultRootObject',\n  httpVersion: 'httpVersion',\n  ipv6Enabled: false,\n  logging: {\n    bucket: 'bucket',\n\n    // the properties below are optional\n    includeCookies: false,\n    prefix: 'prefix',\n  },\n  originGroups: {\n    quantity: 123,\n\n    // the properties below are optional\n    items: [{\n      failoverCriteria: {\n        statusCodes: {\n          items: [123],\n          quantity: 123,\n        },\n      },\n      id: 'id',\n      members: {\n        items: [{\n          originId: 'originId',\n        }],\n        quantity: 123,\n      },\n    }],\n  },\n  origins: [{\n    domainName: 'domainName',\n    id: 'id',\n\n    // the properties below are optional\n    connectionAttempts: 123,\n    connectionTimeout: 123,\n    customOriginConfig: {\n      originProtocolPolicy: 'originProtocolPolicy',\n\n      // the properties below are optional\n      httpPort: 123,\n      httpsPort: 123,\n      originKeepaliveTimeout: 123,\n      originReadTimeout: 123,\n      originSslProtocols: ['originSslProtocols'],\n    },\n    originAccessControlId: 'originAccessControlId',\n    originCustomHeaders: [{\n      headerName: 'headerName',\n      headerValue: 'headerValue',\n    }],\n    originPath: 'originPath',\n    originShield: {\n      enabled: false,\n      originShieldRegion: 'originShieldRegion',\n    },\n    s3OriginConfig: {\n      originAccessIdentity: 'originAccessIdentity',\n    },\n  }],\n  priceClass: 'priceClass',\n  restrictions: {\n    geoRestriction: {\n      restrictionType: 'restrictionType',\n\n      // the properties below are optional\n      locations: ['locations'],\n    },\n  },\n  s3Origin: {\n    dnsName: 'dnsName',\n\n    // the properties below are optional\n    originAccessIdentity: 'originAccessIdentity',\n  },\n  staging: false,\n  viewerCertificate: {\n    acmCertificateArn: 'acmCertificateArn',\n    cloudFrontDefaultCertificate: false,\n    iamCertificateId: 'iamCertificateId',\n    minimumProtocolVersion: 'minimumProtocolVersion',\n    sslSupportMethod: 'sslSupportMethod',\n  },\n  webAclId: 'webAclId',\n};","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.CfnDistribution.DistributionConfigProperty"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.CfnDistribution.DistributionConfigProperty"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from \"@aws-cdk/core\";\nclass MyConstruct extends Construct {\nconstructor(scope: Construct, id: string) {\nsuper(scope, id);\n// Code snippet begins after !show marker below\n/// !show\n\nconst distributionConfigProperty: cloudfront.CfnDistribution.DistributionConfigProperty = {\n  defaultCacheBehavior: {\n    targetOriginId: 'targetOriginId',\n    viewerProtocolPolicy: 'viewerProtocolPolicy',\n\n    // the properties below are optional\n    allowedMethods: ['allowedMethods'],\n    cachedMethods: ['cachedMethods'],\n    cachePolicyId: 'cachePolicyId',\n    compress: false,\n    defaultTtl: 123,\n    fieldLevelEncryptionId: 'fieldLevelEncryptionId',\n    forwardedValues: {\n      queryString: false,\n\n      // the properties below are optional\n      cookies: {\n        forward: 'forward',\n\n        // the properties below are optional\n        whitelistedNames: ['whitelistedNames'],\n      },\n      headers: ['headers'],\n      queryStringCacheKeys: ['queryStringCacheKeys'],\n    },\n    functionAssociations: [{\n      eventType: 'eventType',\n      functionArn: 'functionArn',\n    }],\n    lambdaFunctionAssociations: [{\n      eventType: 'eventType',\n      includeBody: false,\n      lambdaFunctionArn: 'lambdaFunctionArn',\n    }],\n    maxTtl: 123,\n    minTtl: 123,\n    originRequestPolicyId: 'originRequestPolicyId',\n    realtimeLogConfigArn: 'realtimeLogConfigArn',\n    responseHeadersPolicyId: 'responseHeadersPolicyId',\n    smoothStreaming: false,\n    trustedKeyGroups: ['trustedKeyGroups'],\n    trustedSigners: ['trustedSigners'],\n  },\n  enabled: false,\n\n  // the properties below are optional\n  aliases: ['aliases'],\n  cacheBehaviors: [{\n    pathPattern: 'pathPattern',\n    targetOriginId: 'targetOriginId',\n    viewerProtocolPolicy: 'viewerProtocolPolicy',\n\n    // the properties below are optional\n    allowedMethods: ['allowedMethods'],\n    cachedMethods: ['cachedMethods'],\n    cachePolicyId: 'cachePolicyId',\n    compress: false,\n    defaultTtl: 123,\n    fieldLevelEncryptionId: 'fieldLevelEncryptionId',\n    forwardedValues: {\n      queryString: false,\n\n      // the properties below are optional\n      cookies: {\n        forward: 'forward',\n\n        // the properties below are optional\n        whitelistedNames: ['whitelistedNames'],\n      },\n      headers: ['headers'],\n      queryStringCacheKeys: ['queryStringCacheKeys'],\n    },\n    functionAssociations: [{\n      eventType: 'eventType',\n      functionArn: 'functionArn',\n    }],\n    lambdaFunctionAssociations: [{\n      eventType: 'eventType',\n      includeBody: false,\n      lambdaFunctionArn: 'lambdaFunctionArn',\n    }],\n    maxTtl: 123,\n    minTtl: 123,\n    originRequestPolicyId: 'originRequestPolicyId',\n    realtimeLogConfigArn: 'realtimeLogConfigArn',\n    responseHeadersPolicyId: 'responseHeadersPolicyId',\n    smoothStreaming: false,\n    trustedKeyGroups: ['trustedKeyGroups'],\n    trustedSigners: ['trustedSigners'],\n  }],\n  cnamEs: ['cnamEs'],\n  comment: 'comment',\n  continuousDeploymentPolicyId: 'continuousDeploymentPolicyId',\n  customErrorResponses: [{\n    errorCode: 123,\n\n    // the properties below are optional\n    errorCachingMinTtl: 123,\n    responseCode: 123,\n    responsePagePath: 'responsePagePath',\n  }],\n  customOrigin: {\n    dnsName: 'dnsName',\n    originProtocolPolicy: 'originProtocolPolicy',\n    originSslProtocols: ['originSslProtocols'],\n\n    // the properties below are optional\n    httpPort: 123,\n    httpsPort: 123,\n  },\n  defaultRootObject: 'defaultRootObject',\n  httpVersion: 'httpVersion',\n  ipv6Enabled: false,\n  logging: {\n    bucket: 'bucket',\n\n    // the properties below are optional\n    includeCookies: false,\n    prefix: 'prefix',\n  },\n  originGroups: {\n    quantity: 123,\n\n    // the properties below are optional\n    items: [{\n      failoverCriteria: {\n        statusCodes: {\n          items: [123],\n          quantity: 123,\n        },\n      },\n      id: 'id',\n      members: {\n        items: [{\n          originId: 'originId',\n        }],\n        quantity: 123,\n      },\n    }],\n  },\n  origins: [{\n    domainName: 'domainName',\n    id: 'id',\n\n    // the properties below are optional\n    connectionAttempts: 123,\n    connectionTimeout: 123,\n    customOriginConfig: {\n      originProtocolPolicy: 'originProtocolPolicy',\n\n      // the properties below are optional\n      httpPort: 123,\n      httpsPort: 123,\n      originKeepaliveTimeout: 123,\n      originReadTimeout: 123,\n      originSslProtocols: ['originSslProtocols'],\n    },\n    originAccessControlId: 'originAccessControlId',\n    originCustomHeaders: [{\n      headerName: 'headerName',\n      headerValue: 'headerValue',\n    }],\n    originPath: 'originPath',\n    originShield: {\n      enabled: false,\n      originShieldRegion: 'originShieldRegion',\n    },\n    s3OriginConfig: {\n      originAccessIdentity: 'originAccessIdentity',\n    },\n  }],\n  priceClass: 'priceClass',\n  restrictions: {\n    geoRestriction: {\n      restrictionType: 'restrictionType',\n\n      // the properties below are optional\n      locations: ['locations'],\n    },\n  },\n  s3Origin: {\n    dnsName: 'dnsName',\n\n    // the properties below are optional\n    originAccessIdentity: 'originAccessIdentity',\n  },\n  staging: false,\n  viewerCertificate: {\n    acmCertificateArn: 'acmCertificateArn',\n    cloudFrontDefaultCertificate: false,\n    iamCertificateId: 'iamCertificateId',\n    minimumProtocolVersion: 'minimumProtocolVersion',\n    sslSupportMethod: 'sslSupportMethod',\n  },\n  webAclId: 'webAclId',\n};\n/// !hide\n// Code snippet ended before !hide marker above\n} }","syntaxKindCounter":{"8":21,"10":74,"75":141,"91":14,"153":2,"169":1,"192":30,"193":29,"225":1,"242":1,"243":1,"254":1,"255":1,"256":1,"281":136,"290":1},"fqnsFingerprint":"2f63edb874f3ecb7e2aa7e095d0328b51dc8a8b6d5a0b5337f6ee021e2bc9090"},"c56880a1ff8fa5907975ce4d608e0863d295f8496856d3a96f396e5cdc9e4046":{"translations":{"python":{"source":"# The code below shows an example of how to instantiate this type.\n# The values are placeholders you should change.\nimport aws_cdk.aws_cloudfront as cloudfront\n\nforwarded_values_property = cloudfront.CfnDistribution.ForwardedValuesProperty(\n    query_string=False,\n\n    # the properties below are optional\n    cookies=cloudfront.CfnDistribution.CookiesProperty(\n        forward=\"forward\",\n\n        # the properties below are optional\n        whitelisted_names=[\"whitelistedNames\"]\n    ),\n    headers=[\"headers\"],\n    query_string_cache_keys=[\"queryStringCacheKeys\"]\n)","version":"2"},"csharp":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nusing Amazon.CDK.AWS.CloudFront;\n\nvar forwardedValuesProperty = new ForwardedValuesProperty {\n    QueryString = false,\n\n    // the properties below are optional\n    Cookies = new CookiesProperty {\n        Forward = \"forward\",\n\n        // the properties below are optional\n        WhitelistedNames = new [] { \"whitelistedNames\" }\n    },\n    Headers = new [] { \"headers\" },\n    QueryStringCacheKeys = new [] { \"queryStringCacheKeys\" }\n};","version":"1"},"java":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport software.amazon.awscdk.services.cloudfront.*;\n\nForwardedValuesProperty forwardedValuesProperty = ForwardedValuesProperty.builder()\n        .queryString(false)\n\n        // the properties below are optional\n        .cookies(CookiesProperty.builder()\n                .forward(\"forward\")\n\n                // the properties below are optional\n                .whitelistedNames(List.of(\"whitelistedNames\"))\n                .build())\n        .headers(List.of(\"headers\"))\n        .queryStringCacheKeys(List.of(\"queryStringCacheKeys\"))\n        .build();","version":"1"},"go":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport cloudfront \"github.com/aws-samples/dummy/awscdkawscloudfront\"\n\nforwardedValuesProperty := &ForwardedValuesProperty{\n\tQueryString: jsii.Boolean(false),\n\n\t// the properties below are optional\n\tCookies: &CookiesProperty{\n\t\tForward: jsii.String(\"forward\"),\n\n\t\t// the properties below are optional\n\t\tWhitelistedNames: []*string{\n\t\t\tjsii.String(\"whitelistedNames\"),\n\t\t},\n\t},\n\tHeaders: []*string{\n\t\tjsii.String(\"headers\"),\n\t},\n\tQueryStringCacheKeys: []*string{\n\t\tjsii.String(\"queryStringCacheKeys\"),\n\t},\n}","version":"1"},"$":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nconst forwardedValuesProperty: cloudfront.CfnDistribution.ForwardedValuesProperty = {\n  queryString: false,\n\n  // the properties below are optional\n  cookies: {\n    forward: 'forward',\n\n    // the properties below are optional\n    whitelistedNames: ['whitelistedNames'],\n  },\n  headers: ['headers'],\n  queryStringCacheKeys: ['queryStringCacheKeys'],\n};","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.CfnDistribution.ForwardedValuesProperty"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.CfnDistribution.ForwardedValuesProperty"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from \"@aws-cdk/core\";\nclass MyConstruct extends Construct {\nconstructor(scope: Construct, id: string) {\nsuper(scope, id);\n// Code snippet begins after !show marker below\n/// !show\n\nconst forwardedValuesProperty: cloudfront.CfnDistribution.ForwardedValuesProperty = {\n  queryString: false,\n\n  // the properties below are optional\n  cookies: {\n    forward: 'forward',\n\n    // the properties below are optional\n    whitelistedNames: ['whitelistedNames'],\n  },\n  headers: ['headers'],\n  queryStringCacheKeys: ['queryStringCacheKeys'],\n};\n/// !hide\n// Code snippet ended before !hide marker above\n} }","syntaxKindCounter":{"10":5,"75":11,"91":1,"153":2,"169":1,"192":3,"193":2,"225":1,"242":1,"243":1,"254":1,"255":1,"256":1,"281":6,"290":1},"fqnsFingerprint":"c6a38e1e2f911ec2160fee68f006e70c045fa4f1031bb700f57374f8842a6de3"},"ed7e5d2b3c3732831d059a69e46b4cf7285c1466cf0d2853fd8d4ec6f429596b":{"translations":{"python":{"source":"# The code below shows an example of how to instantiate this type.\n# The values are placeholders you should change.\nimport aws_cdk.aws_cloudfront as cloudfront\n\nfunction_association_property = cloudfront.CfnDistribution.FunctionAssociationProperty(\n    event_type=\"eventType\",\n    function_arn=\"functionArn\"\n)","version":"2"},"csharp":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nusing Amazon.CDK.AWS.CloudFront;\n\nvar functionAssociationProperty = new FunctionAssociationProperty {\n    EventType = \"eventType\",\n    FunctionArn = \"functionArn\"\n};","version":"1"},"java":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport software.amazon.awscdk.services.cloudfront.*;\n\nFunctionAssociationProperty functionAssociationProperty = FunctionAssociationProperty.builder()\n        .eventType(\"eventType\")\n        .functionArn(\"functionArn\")\n        .build();","version":"1"},"go":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport cloudfront \"github.com/aws-samples/dummy/awscdkawscloudfront\"\n\nfunctionAssociationProperty := &FunctionAssociationProperty{\n\tEventType: jsii.String(\"eventType\"),\n\tFunctionArn: jsii.String(\"functionArn\"),\n}","version":"1"},"$":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nconst functionAssociationProperty: cloudfront.CfnDistribution.FunctionAssociationProperty = {\n  eventType: 'eventType',\n  functionArn: 'functionArn',\n};","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.CfnDistribution.FunctionAssociationProperty"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.CfnDistribution.FunctionAssociationProperty"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from \"@aws-cdk/core\";\nclass MyConstruct extends Construct {\nconstructor(scope: Construct, id: string) {\nsuper(scope, id);\n// Code snippet begins after !show marker below\n/// !show\n\nconst functionAssociationProperty: cloudfront.CfnDistribution.FunctionAssociationProperty = {\n  eventType: 'eventType',\n  functionArn: 'functionArn',\n};\n/// !hide\n// Code snippet ended before !hide marker above\n} }","syntaxKindCounter":{"10":3,"75":7,"153":2,"169":1,"193":1,"225":1,"242":1,"243":1,"254":1,"255":1,"256":1,"281":2,"290":1},"fqnsFingerprint":"bb00248e2fd0e993c05027a98d8927d88c5ee994a1308faeaa456df58f10491e"},"02548c1d241560ac02f5b7a5a1bfd04b9fa0d7280dfa2aad8c6d7e04c1d3fa0b":{"translations":{"python":{"source":"# The code below shows an example of how to instantiate this type.\n# The values are placeholders you should change.\nimport aws_cdk.aws_cloudfront as cloudfront\n\ngeo_restriction_property = cloudfront.CfnDistribution.GeoRestrictionProperty(\n    restriction_type=\"restrictionType\",\n\n    # the properties below are optional\n    locations=[\"locations\"]\n)","version":"2"},"csharp":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nusing Amazon.CDK.AWS.CloudFront;\n\nvar geoRestrictionProperty = new GeoRestrictionProperty {\n    RestrictionType = \"restrictionType\",\n\n    // the properties below are optional\n    Locations = new [] { \"locations\" }\n};","version":"1"},"java":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport software.amazon.awscdk.services.cloudfront.*;\n\nGeoRestrictionProperty geoRestrictionProperty = GeoRestrictionProperty.builder()\n        .restrictionType(\"restrictionType\")\n\n        // the properties below are optional\n        .locations(List.of(\"locations\"))\n        .build();","version":"1"},"go":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport cloudfront \"github.com/aws-samples/dummy/awscdkawscloudfront\"\n\ngeoRestrictionProperty := &GeoRestrictionProperty{\n\tRestrictionType: jsii.String(\"restrictionType\"),\n\n\t// the properties below are optional\n\tLocations: []*string{\n\t\tjsii.String(\"locations\"),\n\t},\n}","version":"1"},"$":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nconst geoRestrictionProperty: cloudfront.CfnDistribution.GeoRestrictionProperty = {\n  restrictionType: 'restrictionType',\n\n  // the properties below are optional\n  locations: ['locations'],\n};","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.CfnDistribution.GeoRestrictionProperty"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.CfnDistribution.GeoRestrictionProperty"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from \"@aws-cdk/core\";\nclass MyConstruct extends Construct {\nconstructor(scope: Construct, id: string) {\nsuper(scope, id);\n// Code snippet begins after !show marker below\n/// !show\n\nconst geoRestrictionProperty: cloudfront.CfnDistribution.GeoRestrictionProperty = {\n  restrictionType: 'restrictionType',\n\n  // the properties below are optional\n  locations: ['locations'],\n};\n/// !hide\n// Code snippet ended before !hide marker above\n} }","syntaxKindCounter":{"10":3,"75":7,"153":2,"169":1,"192":1,"193":1,"225":1,"242":1,"243":1,"254":1,"255":1,"256":1,"281":2,"290":1},"fqnsFingerprint":"23d0566d27efaef68d3a44ad1a663b97bdf73fc6b8bc2c4d3f325d0264894dc8"},"1e888540f5c577391115434f9c2194f6546560b54ca2a4dcf4230401f610c408":{"translations":{"python":{"source":"# The code below shows an example of how to instantiate this type.\n# The values are placeholders you should change.\nimport aws_cdk.aws_cloudfront as cloudfront\n\nlambda_function_association_property = cloudfront.CfnDistribution.LambdaFunctionAssociationProperty(\n    event_type=\"eventType\",\n    include_body=False,\n    lambda_function_arn=\"lambdaFunctionArn\"\n)","version":"2"},"csharp":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nusing Amazon.CDK.AWS.CloudFront;\n\nvar lambdaFunctionAssociationProperty = new LambdaFunctionAssociationProperty {\n    EventType = \"eventType\",\n    IncludeBody = false,\n    LambdaFunctionArn = \"lambdaFunctionArn\"\n};","version":"1"},"java":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport software.amazon.awscdk.services.cloudfront.*;\n\nLambdaFunctionAssociationProperty lambdaFunctionAssociationProperty = LambdaFunctionAssociationProperty.builder()\n        .eventType(\"eventType\")\n        .includeBody(false)\n        .lambdaFunctionArn(\"lambdaFunctionArn\")\n        .build();","version":"1"},"go":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport cloudfront \"github.com/aws-samples/dummy/awscdkawscloudfront\"\n\nlambdaFunctionAssociationProperty := &LambdaFunctionAssociationProperty{\n\tEventType: jsii.String(\"eventType\"),\n\tIncludeBody: jsii.Boolean(false),\n\tLambdaFunctionArn: jsii.String(\"lambdaFunctionArn\"),\n}","version":"1"},"$":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nconst lambdaFunctionAssociationProperty: cloudfront.CfnDistribution.LambdaFunctionAssociationProperty = {\n  eventType: 'eventType',\n  includeBody: false,\n  lambdaFunctionArn: 'lambdaFunctionArn',\n};","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.CfnDistribution.LambdaFunctionAssociationProperty"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.CfnDistribution.LambdaFunctionAssociationProperty"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from \"@aws-cdk/core\";\nclass MyConstruct extends Construct {\nconstructor(scope: Construct, id: string) {\nsuper(scope, id);\n// Code snippet begins after !show marker below\n/// !show\n\nconst lambdaFunctionAssociationProperty: cloudfront.CfnDistribution.LambdaFunctionAssociationProperty = {\n  eventType: 'eventType',\n  includeBody: false,\n  lambdaFunctionArn: 'lambdaFunctionArn',\n};\n/// !hide\n// Code snippet ended before !hide marker above\n} }","syntaxKindCounter":{"10":3,"75":8,"91":1,"153":2,"169":1,"193":1,"225":1,"242":1,"243":1,"254":1,"255":1,"256":1,"281":3,"290":1},"fqnsFingerprint":"5fff8d377df08f39994d39fb124972bbd60be522a985ea8e0738469bca3173f6"},"13aabea00ba50375a6b75bed0de54de1ba973cea5026ce0ce355839a5da85f71":{"translations":{"python":{"source":"# The code below shows an example of how to instantiate this type.\n# The values are placeholders you should change.\nimport aws_cdk.aws_cloudfront as cloudfront\n\nlegacy_custom_origin_property = cloudfront.CfnDistribution.LegacyCustomOriginProperty(\n    dns_name=\"dnsName\",\n    origin_protocol_policy=\"originProtocolPolicy\",\n    origin_ssl_protocols=[\"originSslProtocols\"],\n\n    # the properties below are optional\n    http_port=123,\n    https_port=123\n)","version":"2"},"csharp":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nusing Amazon.CDK.AWS.CloudFront;\n\nvar legacyCustomOriginProperty = new LegacyCustomOriginProperty {\n    DnsName = \"dnsName\",\n    OriginProtocolPolicy = \"originProtocolPolicy\",\n    OriginSslProtocols = new [] { \"originSslProtocols\" },\n\n    // the properties below are optional\n    HttpPort = 123,\n    HttpsPort = 123\n};","version":"1"},"java":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport software.amazon.awscdk.services.cloudfront.*;\n\nLegacyCustomOriginProperty legacyCustomOriginProperty = LegacyCustomOriginProperty.builder()\n        .dnsName(\"dnsName\")\n        .originProtocolPolicy(\"originProtocolPolicy\")\n        .originSslProtocols(List.of(\"originSslProtocols\"))\n\n        // the properties below are optional\n        .httpPort(123)\n        .httpsPort(123)\n        .build();","version":"1"},"go":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport cloudfront \"github.com/aws-samples/dummy/awscdkawscloudfront\"\n\nlegacyCustomOriginProperty := &LegacyCustomOriginProperty{\n\tDnsName: jsii.String(\"dnsName\"),\n\tOriginProtocolPolicy: jsii.String(\"originProtocolPolicy\"),\n\tOriginSslProtocols: []*string{\n\t\tjsii.String(\"originSslProtocols\"),\n\t},\n\n\t// the properties below are optional\n\tHttpPort: jsii.Number(123),\n\tHttpsPort: jsii.Number(123),\n}","version":"1"},"$":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nconst legacyCustomOriginProperty: cloudfront.CfnDistribution.LegacyCustomOriginProperty = {\n  dnsName: 'dnsName',\n  originProtocolPolicy: 'originProtocolPolicy',\n  originSslProtocols: ['originSslProtocols'],\n\n  // the properties below are optional\n  httpPort: 123,\n  httpsPort: 123,\n};","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.CfnDistribution.LegacyCustomOriginProperty"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.CfnDistribution.LegacyCustomOriginProperty"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from \"@aws-cdk/core\";\nclass MyConstruct extends Construct {\nconstructor(scope: Construct, id: string) {\nsuper(scope, id);\n// Code snippet begins after !show marker below\n/// !show\n\nconst legacyCustomOriginProperty: cloudfront.CfnDistribution.LegacyCustomOriginProperty = {\n  dnsName: 'dnsName',\n  originProtocolPolicy: 'originProtocolPolicy',\n  originSslProtocols: ['originSslProtocols'],\n\n  // the properties below are optional\n  httpPort: 123,\n  httpsPort: 123,\n};\n/// !hide\n// Code snippet ended before !hide marker above\n} }","syntaxKindCounter":{"8":2,"10":4,"75":10,"153":2,"169":1,"192":1,"193":1,"225":1,"242":1,"243":1,"254":1,"255":1,"256":1,"281":5,"290":1},"fqnsFingerprint":"2c9bf30b061526287a2a5fd39387d016e2285a911412027f97fb4ddb03f7d8fd"},"5a6dd8ec04dee87f3681472acdad98e422f6a45bcf29f4a7e4ce1d991e754792":{"translations":{"python":{"source":"# The code below shows an example of how to instantiate this type.\n# The values are placeholders you should change.\nimport aws_cdk.aws_cloudfront as cloudfront\n\nlegacy_s3_origin_property = cloudfront.CfnDistribution.LegacyS3OriginProperty(\n    dns_name=\"dnsName\",\n\n    # the properties below are optional\n    origin_access_identity=\"originAccessIdentity\"\n)","version":"2"},"csharp":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nusing Amazon.CDK.AWS.CloudFront;\n\nvar legacyS3OriginProperty = new LegacyS3OriginProperty {\n    DnsName = \"dnsName\",\n\n    // the properties below are optional\n    OriginAccessIdentity = \"originAccessIdentity\"\n};","version":"1"},"java":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport software.amazon.awscdk.services.cloudfront.*;\n\nLegacyS3OriginProperty legacyS3OriginProperty = LegacyS3OriginProperty.builder()\n        .dnsName(\"dnsName\")\n\n        // the properties below are optional\n        .originAccessIdentity(\"originAccessIdentity\")\n        .build();","version":"1"},"go":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport cloudfront \"github.com/aws-samples/dummy/awscdkawscloudfront\"\n\nlegacyS3OriginProperty := &LegacyS3OriginProperty{\n\tDnsName: jsii.String(\"dnsName\"),\n\n\t// the properties below are optional\n\tOriginAccessIdentity: jsii.String(\"originAccessIdentity\"),\n}","version":"1"},"$":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nconst legacyS3OriginProperty: cloudfront.CfnDistribution.LegacyS3OriginProperty = {\n  dnsName: 'dnsName',\n\n  // the properties below are optional\n  originAccessIdentity: 'originAccessIdentity',\n};","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.CfnDistribution.LegacyS3OriginProperty"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.CfnDistribution.LegacyS3OriginProperty"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from \"@aws-cdk/core\";\nclass MyConstruct extends Construct {\nconstructor(scope: Construct, id: string) {\nsuper(scope, id);\n// Code snippet begins after !show marker below\n/// !show\n\nconst legacyS3OriginProperty: cloudfront.CfnDistribution.LegacyS3OriginProperty = {\n  dnsName: 'dnsName',\n\n  // the properties below are optional\n  originAccessIdentity: 'originAccessIdentity',\n};\n/// !hide\n// Code snippet ended before !hide marker above\n} }","syntaxKindCounter":{"10":3,"75":7,"153":2,"169":1,"193":1,"225":1,"242":1,"243":1,"254":1,"255":1,"256":1,"281":2,"290":1},"fqnsFingerprint":"f9be0860aa9685f0d43c4ef8aab08eb2684057e75e9bb5263f3834c4f4a3b059"},"f34834230415fe660e9e290d17a1f5d39082d06bdcae14357aaf07a529011064":{"translations":{"python":{"source":"# The code below shows an example of how to instantiate this type.\n# The values are placeholders you should change.\nimport aws_cdk.aws_cloudfront as cloudfront\n\nlogging_property = cloudfront.CfnDistribution.LoggingProperty(\n    bucket=\"bucket\",\n\n    # the properties below are optional\n    include_cookies=False,\n    prefix=\"prefix\"\n)","version":"2"},"csharp":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nusing Amazon.CDK.AWS.CloudFront;\n\nvar loggingProperty = new LoggingProperty {\n    Bucket = \"bucket\",\n\n    // the properties below are optional\n    IncludeCookies = false,\n    Prefix = \"prefix\"\n};","version":"1"},"java":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport software.amazon.awscdk.services.cloudfront.*;\n\nLoggingProperty loggingProperty = LoggingProperty.builder()\n        .bucket(\"bucket\")\n\n        // the properties below are optional\n        .includeCookies(false)\n        .prefix(\"prefix\")\n        .build();","version":"1"},"go":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport cloudfront \"github.com/aws-samples/dummy/awscdkawscloudfront\"\n\nloggingProperty := &LoggingProperty{\n\tBucket: jsii.String(\"bucket\"),\n\n\t// the properties below are optional\n\tIncludeCookies: jsii.Boolean(false),\n\tPrefix: jsii.String(\"prefix\"),\n}","version":"1"},"$":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nconst loggingProperty: cloudfront.CfnDistribution.LoggingProperty = {\n  bucket: 'bucket',\n\n  // the properties below are optional\n  includeCookies: false,\n  prefix: 'prefix',\n};","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.CfnDistribution.LoggingProperty"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.CfnDistribution.LoggingProperty"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from \"@aws-cdk/core\";\nclass MyConstruct extends Construct {\nconstructor(scope: Construct, id: string) {\nsuper(scope, id);\n// Code snippet begins after !show marker below\n/// !show\n\nconst loggingProperty: cloudfront.CfnDistribution.LoggingProperty = {\n  bucket: 'bucket',\n\n  // the properties below are optional\n  includeCookies: false,\n  prefix: 'prefix',\n};\n/// !hide\n// Code snippet ended before !hide marker above\n} }","syntaxKindCounter":{"10":3,"75":8,"91":1,"153":2,"169":1,"193":1,"225":1,"242":1,"243":1,"254":1,"255":1,"256":1,"281":3,"290":1},"fqnsFingerprint":"a87aeb80a5296535a43500e4f0e598e0ef341bec06193b86815658ab303c42e5"},"e08616dff891df2db25c527bb4fa389ee0a7b4bc54aebe44bb098445dcdc34d9":{"translations":{"python":{"source":"# The code below shows an example of how to instantiate this type.\n# The values are placeholders you should change.\nimport aws_cdk.aws_cloudfront as cloudfront\n\norigin_custom_header_property = cloudfront.CfnDistribution.OriginCustomHeaderProperty(\n    header_name=\"headerName\",\n    header_value=\"headerValue\"\n)","version":"2"},"csharp":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nusing Amazon.CDK.AWS.CloudFront;\n\nvar originCustomHeaderProperty = new OriginCustomHeaderProperty {\n    HeaderName = \"headerName\",\n    HeaderValue = \"headerValue\"\n};","version":"1"},"java":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport software.amazon.awscdk.services.cloudfront.*;\n\nOriginCustomHeaderProperty originCustomHeaderProperty = OriginCustomHeaderProperty.builder()\n        .headerName(\"headerName\")\n        .headerValue(\"headerValue\")\n        .build();","version":"1"},"go":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport cloudfront \"github.com/aws-samples/dummy/awscdkawscloudfront\"\n\noriginCustomHeaderProperty := &OriginCustomHeaderProperty{\n\tHeaderName: jsii.String(\"headerName\"),\n\tHeaderValue: jsii.String(\"headerValue\"),\n}","version":"1"},"$":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nconst originCustomHeaderProperty: cloudfront.CfnDistribution.OriginCustomHeaderProperty = {\n  headerName: 'headerName',\n  headerValue: 'headerValue',\n};","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.CfnDistribution.OriginCustomHeaderProperty"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.CfnDistribution.OriginCustomHeaderProperty"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from \"@aws-cdk/core\";\nclass MyConstruct extends Construct {\nconstructor(scope: Construct, id: string) {\nsuper(scope, id);\n// Code snippet begins after !show marker below\n/// !show\n\nconst originCustomHeaderProperty: cloudfront.CfnDistribution.OriginCustomHeaderProperty = {\n  headerName: 'headerName',\n  headerValue: 'headerValue',\n};\n/// !hide\n// Code snippet ended before !hide marker above\n} }","syntaxKindCounter":{"10":3,"75":7,"153":2,"169":1,"193":1,"225":1,"242":1,"243":1,"254":1,"255":1,"256":1,"281":2,"290":1},"fqnsFingerprint":"6525795b03d3be1310c1cabfddec4c3b7247e0b2cb0d448901274c85816c70d3"},"34b560e8b8c80df9e0d173cb83ca8092bb0785d285eeb843cab44bf59d98ae47":{"translations":{"python":{"source":"# The code below shows an example of how to instantiate this type.\n# The values are placeholders you should change.\nimport aws_cdk.aws_cloudfront as cloudfront\n\norigin_group_failover_criteria_property = cloudfront.CfnDistribution.OriginGroupFailoverCriteriaProperty(\n    status_codes=cloudfront.CfnDistribution.StatusCodesProperty(\n        items=[123],\n        quantity=123\n    )\n)","version":"2"},"csharp":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nusing Amazon.CDK.AWS.CloudFront;\n\nvar originGroupFailoverCriteriaProperty = new OriginGroupFailoverCriteriaProperty {\n    StatusCodes = new StatusCodesProperty {\n        Items = new [] { 123 },\n        Quantity = 123\n    }\n};","version":"1"},"java":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport software.amazon.awscdk.services.cloudfront.*;\n\nOriginGroupFailoverCriteriaProperty originGroupFailoverCriteriaProperty = OriginGroupFailoverCriteriaProperty.builder()\n        .statusCodes(StatusCodesProperty.builder()\n                .items(List.of(123))\n                .quantity(123)\n                .build())\n        .build();","version":"1"},"go":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport cloudfront \"github.com/aws-samples/dummy/awscdkawscloudfront\"\n\noriginGroupFailoverCriteriaProperty := &OriginGroupFailoverCriteriaProperty{\n\tStatusCodes: &StatusCodesProperty{\n\t\tItems: []interface{}{\n\t\t\tjsii.Number(123),\n\t\t},\n\t\tQuantity: jsii.Number(123),\n\t},\n}","version":"1"},"$":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nconst originGroupFailoverCriteriaProperty: cloudfront.CfnDistribution.OriginGroupFailoverCriteriaProperty = {\n  statusCodes: {\n    items: [123],\n    quantity: 123,\n  },\n};","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.CfnDistribution.OriginGroupFailoverCriteriaProperty"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.CfnDistribution.OriginGroupFailoverCriteriaProperty"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from \"@aws-cdk/core\";\nclass MyConstruct extends Construct {\nconstructor(scope: Construct, id: string) {\nsuper(scope, id);\n// Code snippet begins after !show marker below\n/// !show\n\nconst originGroupFailoverCriteriaProperty: cloudfront.CfnDistribution.OriginGroupFailoverCriteriaProperty = {\n  statusCodes: {\n    items: [123],\n    quantity: 123,\n  },\n};\n/// !hide\n// Code snippet ended before !hide marker above\n} }","syntaxKindCounter":{"8":2,"10":1,"75":8,"153":2,"169":1,"192":1,"193":2,"225":1,"242":1,"243":1,"254":1,"255":1,"256":1,"281":3,"290":1},"fqnsFingerprint":"374333513522157811fcba2f92a5d177c19555b24623d1d85987b95e2c57a42d"},"7dcfc609247aece5ad5557e788a21ad3da44e341b6c2decf89ad0808bf99ddc3":{"translations":{"python":{"source":"# The code below shows an example of how to instantiate this type.\n# The values are placeholders you should change.\nimport aws_cdk.aws_cloudfront as cloudfront\n\norigin_group_member_property = cloudfront.CfnDistribution.OriginGroupMemberProperty(\n    origin_id=\"originId\"\n)","version":"2"},"csharp":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nusing Amazon.CDK.AWS.CloudFront;\n\nvar originGroupMemberProperty = new OriginGroupMemberProperty {\n    OriginId = \"originId\"\n};","version":"1"},"java":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport software.amazon.awscdk.services.cloudfront.*;\n\nOriginGroupMemberProperty originGroupMemberProperty = OriginGroupMemberProperty.builder()\n        .originId(\"originId\")\n        .build();","version":"1"},"go":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport cloudfront \"github.com/aws-samples/dummy/awscdkawscloudfront\"\n\noriginGroupMemberProperty := &OriginGroupMemberProperty{\n\tOriginId: jsii.String(\"originId\"),\n}","version":"1"},"$":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nconst originGroupMemberProperty: cloudfront.CfnDistribution.OriginGroupMemberProperty = {\n  originId: 'originId',\n};","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.CfnDistribution.OriginGroupMemberProperty"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.CfnDistribution.OriginGroupMemberProperty"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from \"@aws-cdk/core\";\nclass MyConstruct extends Construct {\nconstructor(scope: Construct, id: string) {\nsuper(scope, id);\n// Code snippet begins after !show marker below\n/// !show\n\nconst originGroupMemberProperty: cloudfront.CfnDistribution.OriginGroupMemberProperty = {\n  originId: 'originId',\n};\n/// !hide\n// Code snippet ended before !hide marker above\n} }","syntaxKindCounter":{"10":2,"75":6,"153":2,"169":1,"193":1,"225":1,"242":1,"243":1,"254":1,"255":1,"256":1,"281":1,"290":1},"fqnsFingerprint":"0d07beb9a3211b8893578efdee1247644b16f184183d21615c7259fc4938c8aa"},"3fd33e91fac705c2fb4f776d9c196c4b47692936336d52d8c951bbf69a287a38":{"translations":{"python":{"source":"# The code below shows an example of how to instantiate this type.\n# The values are placeholders you should change.\nimport aws_cdk.aws_cloudfront as cloudfront\n\norigin_group_members_property = cloudfront.CfnDistribution.OriginGroupMembersProperty(\n    items=[cloudfront.CfnDistribution.OriginGroupMemberProperty(\n        origin_id=\"originId\"\n    )],\n    quantity=123\n)","version":"2"},"csharp":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nusing Amazon.CDK.AWS.CloudFront;\n\nvar originGroupMembersProperty = new OriginGroupMembersProperty {\n    Items = new [] { new OriginGroupMemberProperty {\n        OriginId = \"originId\"\n    } },\n    Quantity = 123\n};","version":"1"},"java":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport software.amazon.awscdk.services.cloudfront.*;\n\nOriginGroupMembersProperty originGroupMembersProperty = OriginGroupMembersProperty.builder()\n        .items(List.of(OriginGroupMemberProperty.builder()\n                .originId(\"originId\")\n                .build()))\n        .quantity(123)\n        .build();","version":"1"},"go":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport cloudfront \"github.com/aws-samples/dummy/awscdkawscloudfront\"\n\noriginGroupMembersProperty := &OriginGroupMembersProperty{\n\tItems: []interface{}{\n\t\t&OriginGroupMemberProperty{\n\t\t\tOriginId: jsii.String(\"originId\"),\n\t\t},\n\t},\n\tQuantity: jsii.Number(123),\n}","version":"1"},"$":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nconst originGroupMembersProperty: cloudfront.CfnDistribution.OriginGroupMembersProperty = {\n  items: [{\n    originId: 'originId',\n  }],\n  quantity: 123,\n};","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.CfnDistribution.OriginGroupMembersProperty"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.CfnDistribution.OriginGroupMembersProperty"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from \"@aws-cdk/core\";\nclass MyConstruct extends Construct {\nconstructor(scope: Construct, id: string) {\nsuper(scope, id);\n// Code snippet begins after !show marker below\n/// !show\n\nconst originGroupMembersProperty: cloudfront.CfnDistribution.OriginGroupMembersProperty = {\n  items: [{\n    originId: 'originId',\n  }],\n  quantity: 123,\n};\n/// !hide\n// Code snippet ended before !hide marker above\n} }","syntaxKindCounter":{"8":1,"10":2,"75":8,"153":2,"169":1,"192":1,"193":2,"225":1,"242":1,"243":1,"254":1,"255":1,"256":1,"281":3,"290":1},"fqnsFingerprint":"9d59f8f01319a9b2a1782a659df601a23524d58a4be19b524ec94318183ffff1"},"fd647fa695d9bf51fde428a65cd54fc553bb854ea8f01197510866229fe6645e":{"translations":{"python":{"source":"# The code below shows an example of how to instantiate this type.\n# The values are placeholders you should change.\nimport aws_cdk.aws_cloudfront as cloudfront\n\norigin_group_property = cloudfront.CfnDistribution.OriginGroupProperty(\n    failover_criteria=cloudfront.CfnDistribution.OriginGroupFailoverCriteriaProperty(\n        status_codes=cloudfront.CfnDistribution.StatusCodesProperty(\n            items=[123],\n            quantity=123\n        )\n    ),\n    id=\"id\",\n    members=cloudfront.CfnDistribution.OriginGroupMembersProperty(\n        items=[cloudfront.CfnDistribution.OriginGroupMemberProperty(\n            origin_id=\"originId\"\n        )],\n        quantity=123\n    )\n)","version":"2"},"csharp":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nusing Amazon.CDK.AWS.CloudFront;\n\nvar originGroupProperty = new OriginGroupProperty {\n    FailoverCriteria = new OriginGroupFailoverCriteriaProperty {\n        StatusCodes = new StatusCodesProperty {\n            Items = new [] { 123 },\n            Quantity = 123\n        }\n    },\n    Id = \"id\",\n    Members = new OriginGroupMembersProperty {\n        Items = new [] { new OriginGroupMemberProperty {\n            OriginId = \"originId\"\n        } },\n        Quantity = 123\n    }\n};","version":"1"},"java":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport software.amazon.awscdk.services.cloudfront.*;\n\nOriginGroupProperty originGroupProperty = OriginGroupProperty.builder()\n        .failoverCriteria(OriginGroupFailoverCriteriaProperty.builder()\n                .statusCodes(StatusCodesProperty.builder()\n                        .items(List.of(123))\n                        .quantity(123)\n                        .build())\n                .build())\n        .id(\"id\")\n        .members(OriginGroupMembersProperty.builder()\n                .items(List.of(OriginGroupMemberProperty.builder()\n                        .originId(\"originId\")\n                        .build()))\n                .quantity(123)\n                .build())\n        .build();","version":"1"},"go":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport cloudfront \"github.com/aws-samples/dummy/awscdkawscloudfront\"\n\noriginGroupProperty := &OriginGroupProperty{\n\tFailoverCriteria: &OriginGroupFailoverCriteriaProperty{\n\t\tStatusCodes: &StatusCodesProperty{\n\t\t\tItems: []interface{}{\n\t\t\t\tjsii.Number(123),\n\t\t\t},\n\t\t\tQuantity: jsii.Number(123),\n\t\t},\n\t},\n\tId: jsii.String(\"id\"),\n\tMembers: &OriginGroupMembersProperty{\n\t\tItems: []interface{}{\n\t\t\t&OriginGroupMemberProperty{\n\t\t\t\tOriginId: jsii.String(\"originId\"),\n\t\t\t},\n\t\t},\n\t\tQuantity: jsii.Number(123),\n\t},\n}","version":"1"},"$":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nconst originGroupProperty: cloudfront.CfnDistribution.OriginGroupProperty = {\n  failoverCriteria: {\n    statusCodes: {\n      items: [123],\n      quantity: 123,\n    },\n  },\n  id: 'id',\n  members: {\n    items: [{\n      originId: 'originId',\n    }],\n    quantity: 123,\n  },\n};","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.CfnDistribution.OriginGroupProperty"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.CfnDistribution.OriginGroupProperty"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from \"@aws-cdk/core\";\nclass MyConstruct extends Construct {\nconstructor(scope: Construct, id: string) {\nsuper(scope, id);\n// Code snippet begins after !show marker below\n/// !show\n\nconst originGroupProperty: cloudfront.CfnDistribution.OriginGroupProperty = {\n  failoverCriteria: {\n    statusCodes: {\n      items: [123],\n      quantity: 123,\n    },\n  },\n  id: 'id',\n  members: {\n    items: [{\n      originId: 'originId',\n    }],\n    quantity: 123,\n  },\n};\n/// !hide\n// Code snippet ended before !hide marker above\n} }","syntaxKindCounter":{"8":3,"10":3,"75":14,"153":2,"169":1,"192":2,"193":5,"225":1,"242":1,"243":1,"254":1,"255":1,"256":1,"281":9,"290":1},"fqnsFingerprint":"ca034165a3b5b56ee8b8c106a7ef61f8b5eda52245ef97336d78bc0aac72577c"},"6107954260e6a84f46aedd2ab37449728d81095b9ce97c6f0301bf4987315e18":{"translations":{"python":{"source":"# The code below shows an example of how to instantiate this type.\n# The values are placeholders you should change.\nimport aws_cdk.aws_cloudfront as cloudfront\n\norigin_groups_property = cloudfront.CfnDistribution.OriginGroupsProperty(\n    quantity=123,\n\n    # the properties below are optional\n    items=[cloudfront.CfnDistribution.OriginGroupProperty(\n        failover_criteria=cloudfront.CfnDistribution.OriginGroupFailoverCriteriaProperty(\n            status_codes=cloudfront.CfnDistribution.StatusCodesProperty(\n                items=[123],\n                quantity=123\n            )\n        ),\n        id=\"id\",\n        members=cloudfront.CfnDistribution.OriginGroupMembersProperty(\n            items=[cloudfront.CfnDistribution.OriginGroupMemberProperty(\n                origin_id=\"originId\"\n            )],\n            quantity=123\n        )\n    )]\n)","version":"2"},"csharp":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nusing Amazon.CDK.AWS.CloudFront;\n\nvar originGroupsProperty = new OriginGroupsProperty {\n    Quantity = 123,\n\n    // the properties below are optional\n    Items = new [] { new OriginGroupProperty {\n        FailoverCriteria = new OriginGroupFailoverCriteriaProperty {\n            StatusCodes = new StatusCodesProperty {\n                Items = new [] { 123 },\n                Quantity = 123\n            }\n        },\n        Id = \"id\",\n        Members = new OriginGroupMembersProperty {\n            Items = new [] { new OriginGroupMemberProperty {\n                OriginId = \"originId\"\n            } },\n            Quantity = 123\n        }\n    } }\n};","version":"1"},"java":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport software.amazon.awscdk.services.cloudfront.*;\n\nOriginGroupsProperty originGroupsProperty = OriginGroupsProperty.builder()\n        .quantity(123)\n\n        // the properties below are optional\n        .items(List.of(OriginGroupProperty.builder()\n                .failoverCriteria(OriginGroupFailoverCriteriaProperty.builder()\n                        .statusCodes(StatusCodesProperty.builder()\n                                .items(List.of(123))\n                                .quantity(123)\n                                .build())\n                        .build())\n                .id(\"id\")\n                .members(OriginGroupMembersProperty.builder()\n                        .items(List.of(OriginGroupMemberProperty.builder()\n                                .originId(\"originId\")\n                                .build()))\n                        .quantity(123)\n                        .build())\n                .build()))\n        .build();","version":"1"},"go":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport cloudfront \"github.com/aws-samples/dummy/awscdkawscloudfront\"\n\noriginGroupsProperty := &OriginGroupsProperty{\n\tQuantity: jsii.Number(123),\n\n\t// the properties below are optional\n\tItems: []interface{}{\n\t\t&OriginGroupProperty{\n\t\t\tFailoverCriteria: &OriginGroupFailoverCriteriaProperty{\n\t\t\t\tStatusCodes: &StatusCodesProperty{\n\t\t\t\t\tItems: []interface{}{\n\t\t\t\t\t\tjsii.Number(123),\n\t\t\t\t\t},\n\t\t\t\t\tQuantity: jsii.Number(123),\n\t\t\t\t},\n\t\t\t},\n\t\t\tId: jsii.String(\"id\"),\n\t\t\tMembers: &OriginGroupMembersProperty{\n\t\t\t\tItems: []interface{}{\n\t\t\t\t\t&OriginGroupMemberProperty{\n\t\t\t\t\t\tOriginId: jsii.String(\"originId\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tQuantity: jsii.Number(123),\n\t\t\t},\n\t\t},\n\t},\n}","version":"1"},"$":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nconst originGroupsProperty: cloudfront.CfnDistribution.OriginGroupsProperty = {\n  quantity: 123,\n\n  // the properties below are optional\n  items: [{\n    failoverCriteria: {\n      statusCodes: {\n        items: [123],\n        quantity: 123,\n      },\n    },\n    id: 'id',\n    members: {\n      items: [{\n        originId: 'originId',\n      }],\n      quantity: 123,\n    },\n  }],\n};","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.CfnDistribution.OriginGroupsProperty"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.CfnDistribution.OriginGroupsProperty"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from \"@aws-cdk/core\";\nclass MyConstruct extends Construct {\nconstructor(scope: Construct, id: string) {\nsuper(scope, id);\n// Code snippet begins after !show marker below\n/// !show\n\nconst originGroupsProperty: cloudfront.CfnDistribution.OriginGroupsProperty = {\n  quantity: 123,\n\n  // the properties below are optional\n  items: [{\n    failoverCriteria: {\n      statusCodes: {\n        items: [123],\n        quantity: 123,\n      },\n    },\n    id: 'id',\n    members: {\n      items: [{\n        originId: 'originId',\n      }],\n      quantity: 123,\n    },\n  }],\n};\n/// !hide\n// Code snippet ended before !hide marker above\n} }","syntaxKindCounter":{"8":4,"10":3,"75":16,"153":2,"169":1,"192":3,"193":6,"225":1,"242":1,"243":1,"254":1,"255":1,"256":1,"281":11,"290":1},"fqnsFingerprint":"f4b64927c64ad30f2c27cb1154bedd19887189893e1203fadd9d92e534ee442d"},"ea7442b6cb49b27670bf183bd91e545e6afd1b8040d832ac083f772c96a1fcbd":{"translations":{"python":{"source":"# The code below shows an example of how to instantiate this type.\n# The values are placeholders you should change.\nimport aws_cdk.aws_cloudfront as cloudfront\n\norigin_property = cloudfront.CfnDistribution.OriginProperty(\n    domain_name=\"domainName\",\n    id=\"id\",\n\n    # the properties below are optional\n    connection_attempts=123,\n    connection_timeout=123,\n    custom_origin_config=cloudfront.CfnDistribution.CustomOriginConfigProperty(\n        origin_protocol_policy=\"originProtocolPolicy\",\n\n        # the properties below are optional\n        http_port=123,\n        https_port=123,\n        origin_keepalive_timeout=123,\n        origin_read_timeout=123,\n        origin_ssl_protocols=[\"originSslProtocols\"]\n    ),\n    origin_access_control_id=\"originAccessControlId\",\n    origin_custom_headers=[cloudfront.CfnDistribution.OriginCustomHeaderProperty(\n        header_name=\"headerName\",\n        header_value=\"headerValue\"\n    )],\n    origin_path=\"originPath\",\n    origin_shield=cloudfront.CfnDistribution.OriginShieldProperty(\n        enabled=False,\n        origin_shield_region=\"originShieldRegion\"\n    ),\n    s3_origin_config=cloudfront.CfnDistribution.S3OriginConfigProperty(\n        origin_access_identity=\"originAccessIdentity\"\n    )\n)","version":"2"},"csharp":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nusing Amazon.CDK.AWS.CloudFront;\n\nvar originProperty = new OriginProperty {\n    DomainName = \"domainName\",\n    Id = \"id\",\n\n    // the properties below are optional\n    ConnectionAttempts = 123,\n    ConnectionTimeout = 123,\n    CustomOriginConfig = new CustomOriginConfigProperty {\n        OriginProtocolPolicy = \"originProtocolPolicy\",\n\n        // the properties below are optional\n        HttpPort = 123,\n        HttpsPort = 123,\n        OriginKeepaliveTimeout = 123,\n        OriginReadTimeout = 123,\n        OriginSslProtocols = new [] { \"originSslProtocols\" }\n    },\n    OriginAccessControlId = \"originAccessControlId\",\n    OriginCustomHeaders = new [] { new OriginCustomHeaderProperty {\n        HeaderName = \"headerName\",\n        HeaderValue = \"headerValue\"\n    } },\n    OriginPath = \"originPath\",\n    OriginShield = new OriginShieldProperty {\n        Enabled = false,\n        OriginShieldRegion = \"originShieldRegion\"\n    },\n    S3OriginConfig = new S3OriginConfigProperty {\n        OriginAccessIdentity = \"originAccessIdentity\"\n    }\n};","version":"1"},"java":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport software.amazon.awscdk.services.cloudfront.*;\n\nOriginProperty originProperty = OriginProperty.builder()\n        .domainName(\"domainName\")\n        .id(\"id\")\n\n        // the properties below are optional\n        .connectionAttempts(123)\n        .connectionTimeout(123)\n        .customOriginConfig(CustomOriginConfigProperty.builder()\n                .originProtocolPolicy(\"originProtocolPolicy\")\n\n                // the properties below are optional\n                .httpPort(123)\n                .httpsPort(123)\n                .originKeepaliveTimeout(123)\n                .originReadTimeout(123)\n                .originSslProtocols(List.of(\"originSslProtocols\"))\n                .build())\n        .originAccessControlId(\"originAccessControlId\")\n        .originCustomHeaders(List.of(OriginCustomHeaderProperty.builder()\n                .headerName(\"headerName\")\n                .headerValue(\"headerValue\")\n                .build()))\n        .originPath(\"originPath\")\n        .originShield(OriginShieldProperty.builder()\n                .enabled(false)\n                .originShieldRegion(\"originShieldRegion\")\n                .build())\n        .s3OriginConfig(S3OriginConfigProperty.builder()\n                .originAccessIdentity(\"originAccessIdentity\")\n                .build())\n        .build();","version":"1"},"go":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport cloudfront \"github.com/aws-samples/dummy/awscdkawscloudfront\"\n\noriginProperty := &OriginProperty{\n\tDomainName: jsii.String(\"domainName\"),\n\tId: jsii.String(\"id\"),\n\n\t// the properties below are optional\n\tConnectionAttempts: jsii.Number(123),\n\tConnectionTimeout: jsii.Number(123),\n\tCustomOriginConfig: &CustomOriginConfigProperty{\n\t\tOriginProtocolPolicy: jsii.String(\"originProtocolPolicy\"),\n\n\t\t// the properties below are optional\n\t\tHttpPort: jsii.Number(123),\n\t\tHttpsPort: jsii.Number(123),\n\t\tOriginKeepaliveTimeout: jsii.Number(123),\n\t\tOriginReadTimeout: jsii.Number(123),\n\t\tOriginSslProtocols: []*string{\n\t\t\tjsii.String(\"originSslProtocols\"),\n\t\t},\n\t},\n\tOriginAccessControlId: jsii.String(\"originAccessControlId\"),\n\tOriginCustomHeaders: []interface{}{\n\t\t&OriginCustomHeaderProperty{\n\t\t\tHeaderName: jsii.String(\"headerName\"),\n\t\t\tHeaderValue: jsii.String(\"headerValue\"),\n\t\t},\n\t},\n\tOriginPath: jsii.String(\"originPath\"),\n\tOriginShield: &OriginShieldProperty{\n\t\tEnabled: jsii.Boolean(false),\n\t\tOriginShieldRegion: jsii.String(\"originShieldRegion\"),\n\t},\n\tS3OriginConfig: &S3OriginConfigProperty{\n\t\tOriginAccessIdentity: jsii.String(\"originAccessIdentity\"),\n\t},\n}","version":"1"},"$":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nconst originProperty: cloudfront.CfnDistribution.OriginProperty = {\n  domainName: 'domainName',\n  id: 'id',\n\n  // the properties below are optional\n  connectionAttempts: 123,\n  connectionTimeout: 123,\n  customOriginConfig: {\n    originProtocolPolicy: 'originProtocolPolicy',\n\n    // the properties below are optional\n    httpPort: 123,\n    httpsPort: 123,\n    originKeepaliveTimeout: 123,\n    originReadTimeout: 123,\n    originSslProtocols: ['originSslProtocols'],\n  },\n  originAccessControlId: 'originAccessControlId',\n  originCustomHeaders: [{\n    headerName: 'headerName',\n    headerValue: 'headerValue',\n  }],\n  originPath: 'originPath',\n  originShield: {\n    enabled: false,\n    originShieldRegion: 'originShieldRegion',\n  },\n  s3OriginConfig: {\n    originAccessIdentity: 'originAccessIdentity',\n  },\n};","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.CfnDistribution.OriginProperty"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.CfnDistribution.OriginProperty"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from \"@aws-cdk/core\";\nclass MyConstruct extends Construct {\nconstructor(scope: Construct, id: string) {\nsuper(scope, id);\n// Code snippet begins after !show marker below\n/// !show\n\nconst originProperty: cloudfront.CfnDistribution.OriginProperty = {\n  domainName: 'domainName',\n  id: 'id',\n\n  // the properties below are optional\n  connectionAttempts: 123,\n  connectionTimeout: 123,\n  customOriginConfig: {\n    originProtocolPolicy: 'originProtocolPolicy',\n\n    // the properties below are optional\n    httpPort: 123,\n    httpsPort: 123,\n    originKeepaliveTimeout: 123,\n    originReadTimeout: 123,\n    originSslProtocols: ['originSslProtocols'],\n  },\n  originAccessControlId: 'originAccessControlId',\n  originCustomHeaders: [{\n    headerName: 'headerName',\n    headerValue: 'headerValue',\n  }],\n  originPath: 'originPath',\n  originShield: {\n    enabled: false,\n    originShieldRegion: 'originShieldRegion',\n  },\n  s3OriginConfig: {\n    originAccessIdentity: 'originAccessIdentity',\n  },\n};\n/// !hide\n// Code snippet ended before !hide marker above\n} }","syntaxKindCounter":{"8":6,"10":11,"75":26,"91":1,"153":2,"169":1,"192":2,"193":5,"225":1,"242":1,"243":1,"254":1,"255":1,"256":1,"281":21,"290":1},"fqnsFingerprint":"2190b77cd0918cf9e4771c4fad8aad46ac5a0da4c24f48c791505e648a95cdae"},"e84a648255c55a17c429e05cdae85c94f8a18dd85ad4551b8787a540e33104dd":{"translations":{"python":{"source":"# The code below shows an example of how to instantiate this type.\n# The values are placeholders you should change.\nimport aws_cdk.aws_cloudfront as cloudfront\n\norigin_shield_property = cloudfront.CfnDistribution.OriginShieldProperty(\n    enabled=False,\n    origin_shield_region=\"originShieldRegion\"\n)","version":"2"},"csharp":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nusing Amazon.CDK.AWS.CloudFront;\n\nvar originShieldProperty = new OriginShieldProperty {\n    Enabled = false,\n    OriginShieldRegion = \"originShieldRegion\"\n};","version":"1"},"java":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport software.amazon.awscdk.services.cloudfront.*;\n\nOriginShieldProperty originShieldProperty = OriginShieldProperty.builder()\n        .enabled(false)\n        .originShieldRegion(\"originShieldRegion\")\n        .build();","version":"1"},"go":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport cloudfront \"github.com/aws-samples/dummy/awscdkawscloudfront\"\n\noriginShieldProperty := &OriginShieldProperty{\n\tEnabled: jsii.Boolean(false),\n\tOriginShieldRegion: jsii.String(\"originShieldRegion\"),\n}","version":"1"},"$":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nconst originShieldProperty: cloudfront.CfnDistribution.OriginShieldProperty = {\n  enabled: false,\n  originShieldRegion: 'originShieldRegion',\n};","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.CfnDistribution.OriginShieldProperty"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.CfnDistribution.OriginShieldProperty"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from \"@aws-cdk/core\";\nclass MyConstruct extends Construct {\nconstructor(scope: Construct, id: string) {\nsuper(scope, id);\n// Code snippet begins after !show marker below\n/// !show\n\nconst originShieldProperty: cloudfront.CfnDistribution.OriginShieldProperty = {\n  enabled: false,\n  originShieldRegion: 'originShieldRegion',\n};\n/// !hide\n// Code snippet ended before !hide marker above\n} }","syntaxKindCounter":{"10":2,"75":7,"91":1,"153":2,"169":1,"193":1,"225":1,"242":1,"243":1,"254":1,"255":1,"256":1,"281":2,"290":1},"fqnsFingerprint":"89bad6d53fa67aa4947773abb24358a90b4074ea7b6a003860aa71fee86d8145"},"620edfa644c4d3792dc96f8418296acb297489d5f9fc2ee4db44a49e4bcac126":{"translations":{"python":{"source":"# The code below shows an example of how to instantiate this type.\n# The values are placeholders you should change.\nimport aws_cdk.aws_cloudfront as cloudfront\n\nrestrictions_property = cloudfront.CfnDistribution.RestrictionsProperty(\n    geo_restriction=cloudfront.CfnDistribution.GeoRestrictionProperty(\n        restriction_type=\"restrictionType\",\n\n        # the properties below are optional\n        locations=[\"locations\"]\n    )\n)","version":"2"},"csharp":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nusing Amazon.CDK.AWS.CloudFront;\n\nvar restrictionsProperty = new RestrictionsProperty {\n    GeoRestriction = new GeoRestrictionProperty {\n        RestrictionType = \"restrictionType\",\n\n        // the properties below are optional\n        Locations = new [] { \"locations\" }\n    }\n};","version":"1"},"java":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport software.amazon.awscdk.services.cloudfront.*;\n\nRestrictionsProperty restrictionsProperty = RestrictionsProperty.builder()\n        .geoRestriction(GeoRestrictionProperty.builder()\n                .restrictionType(\"restrictionType\")\n\n                // the properties below are optional\n                .locations(List.of(\"locations\"))\n                .build())\n        .build();","version":"1"},"go":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport cloudfront \"github.com/aws-samples/dummy/awscdkawscloudfront\"\n\nrestrictionsProperty := &RestrictionsProperty{\n\tGeoRestriction: &GeoRestrictionProperty{\n\t\tRestrictionType: jsii.String(\"restrictionType\"),\n\n\t\t// the properties below are optional\n\t\tLocations: []*string{\n\t\t\tjsii.String(\"locations\"),\n\t\t},\n\t},\n}","version":"1"},"$":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nconst restrictionsProperty: cloudfront.CfnDistribution.RestrictionsProperty = {\n  geoRestriction: {\n    restrictionType: 'restrictionType',\n\n    // the properties below are optional\n    locations: ['locations'],\n  },\n};","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.CfnDistribution.RestrictionsProperty"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.CfnDistribution.RestrictionsProperty"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from \"@aws-cdk/core\";\nclass MyConstruct extends Construct {\nconstructor(scope: Construct, id: string) {\nsuper(scope, id);\n// Code snippet begins after !show marker below\n/// !show\n\nconst restrictionsProperty: cloudfront.CfnDistribution.RestrictionsProperty = {\n  geoRestriction: {\n    restrictionType: 'restrictionType',\n\n    // the properties below are optional\n    locations: ['locations'],\n  },\n};\n/// !hide\n// Code snippet ended before !hide marker above\n} }","syntaxKindCounter":{"10":3,"75":8,"153":2,"169":1,"192":1,"193":2,"225":1,"242":1,"243":1,"254":1,"255":1,"256":1,"281":3,"290":1},"fqnsFingerprint":"5d38dae66150d1e9b95705cde2a07f00af74c29d97f042742cdd5c89fe92b5aa"},"94cb30c845f89978b1844b7393372da692e53f4bb4d8e2d8dabbc0f7e2daef83":{"translations":{"python":{"source":"# The code below shows an example of how to instantiate this type.\n# The values are placeholders you should change.\nimport aws_cdk.aws_cloudfront as cloudfront\n\ns3_origin_config_property = cloudfront.CfnDistribution.S3OriginConfigProperty(\n    origin_access_identity=\"originAccessIdentity\"\n)","version":"2"},"csharp":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nusing Amazon.CDK.AWS.CloudFront;\n\nvar s3OriginConfigProperty = new S3OriginConfigProperty {\n    OriginAccessIdentity = \"originAccessIdentity\"\n};","version":"1"},"java":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport software.amazon.awscdk.services.cloudfront.*;\n\nS3OriginConfigProperty s3OriginConfigProperty = S3OriginConfigProperty.builder()\n        .originAccessIdentity(\"originAccessIdentity\")\n        .build();","version":"1"},"go":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport cloudfront \"github.com/aws-samples/dummy/awscdkawscloudfront\"\n\ns3OriginConfigProperty := &S3OriginConfigProperty{\n\tOriginAccessIdentity: jsii.String(\"originAccessIdentity\"),\n}","version":"1"},"$":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nconst s3OriginConfigProperty: cloudfront.CfnDistribution.S3OriginConfigProperty = {\n  originAccessIdentity: 'originAccessIdentity',\n};","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.CfnDistribution.S3OriginConfigProperty"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.CfnDistribution.S3OriginConfigProperty"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from \"@aws-cdk/core\";\nclass MyConstruct extends Construct {\nconstructor(scope: Construct, id: string) {\nsuper(scope, id);\n// Code snippet begins after !show marker below\n/// !show\n\nconst s3OriginConfigProperty: cloudfront.CfnDistribution.S3OriginConfigProperty = {\n  originAccessIdentity: 'originAccessIdentity',\n};\n/// !hide\n// Code snippet ended before !hide marker above\n} }","syntaxKindCounter":{"10":2,"75":6,"153":2,"169":1,"193":1,"225":1,"242":1,"243":1,"254":1,"255":1,"256":1,"281":1,"290":1},"fqnsFingerprint":"8875f957bff5278176e25691c0749682eccd1cd6f10fdc0d33c71334877372e6"},"1a5c40b7016e8338f1c50c2ddd2fa714776c09180c157ea32d7ed5a77f07ce62":{"translations":{"python":{"source":"# The code below shows an example of how to instantiate this type.\n# The values are placeholders you should change.\nimport aws_cdk.aws_cloudfront as cloudfront\n\nstatus_codes_property = cloudfront.CfnDistribution.StatusCodesProperty(\n    items=[123],\n    quantity=123\n)","version":"2"},"csharp":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nusing Amazon.CDK.AWS.CloudFront;\n\nvar statusCodesProperty = new StatusCodesProperty {\n    Items = new [] { 123 },\n    Quantity = 123\n};","version":"1"},"java":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport software.amazon.awscdk.services.cloudfront.*;\n\nStatusCodesProperty statusCodesProperty = StatusCodesProperty.builder()\n        .items(List.of(123))\n        .quantity(123)\n        .build();","version":"1"},"go":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport cloudfront \"github.com/aws-samples/dummy/awscdkawscloudfront\"\n\nstatusCodesProperty := &StatusCodesProperty{\n\tItems: []interface{}{\n\t\tjsii.Number(123),\n\t},\n\tQuantity: jsii.Number(123),\n}","version":"1"},"$":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nconst statusCodesProperty: cloudfront.CfnDistribution.StatusCodesProperty = {\n  items: [123],\n  quantity: 123,\n};","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.CfnDistribution.StatusCodesProperty"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.CfnDistribution.StatusCodesProperty"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from \"@aws-cdk/core\";\nclass MyConstruct extends Construct {\nconstructor(scope: Construct, id: string) {\nsuper(scope, id);\n// Code snippet begins after !show marker below\n/// !show\n\nconst statusCodesProperty: cloudfront.CfnDistribution.StatusCodesProperty = {\n  items: [123],\n  quantity: 123,\n};\n/// !hide\n// Code snippet ended before !hide marker above\n} }","syntaxKindCounter":{"8":2,"10":1,"75":7,"153":2,"169":1,"192":1,"193":1,"225":1,"242":1,"243":1,"254":1,"255":1,"256":1,"281":2,"290":1},"fqnsFingerprint":"3e745ffa381db15e815aa93b93f7617886f4de3338a2acbdba8638259c9ec9c0"},"34953fb45ed066e8676fd958801f68a31021d3d59ec511790f09a90a02f5e925":{"translations":{"python":{"source":"# The code below shows an example of how to instantiate this type.\n# The values are placeholders you should change.\nimport aws_cdk.aws_cloudfront as cloudfront\n\nviewer_certificate_property = cloudfront.CfnDistribution.ViewerCertificateProperty(\n    acm_certificate_arn=\"acmCertificateArn\",\n    cloud_front_default_certificate=False,\n    iam_certificate_id=\"iamCertificateId\",\n    minimum_protocol_version=\"minimumProtocolVersion\",\n    ssl_support_method=\"sslSupportMethod\"\n)","version":"2"},"csharp":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nusing Amazon.CDK.AWS.CloudFront;\n\nvar viewerCertificateProperty = new ViewerCertificateProperty {\n    AcmCertificateArn = \"acmCertificateArn\",\n    CloudFrontDefaultCertificate = false,\n    IamCertificateId = \"iamCertificateId\",\n    MinimumProtocolVersion = \"minimumProtocolVersion\",\n    SslSupportMethod = \"sslSupportMethod\"\n};","version":"1"},"java":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport software.amazon.awscdk.services.cloudfront.*;\n\nViewerCertificateProperty viewerCertificateProperty = ViewerCertificateProperty.builder()\n        .acmCertificateArn(\"acmCertificateArn\")\n        .cloudFrontDefaultCertificate(false)\n        .iamCertificateId(\"iamCertificateId\")\n        .minimumProtocolVersion(\"minimumProtocolVersion\")\n        .sslSupportMethod(\"sslSupportMethod\")\n        .build();","version":"1"},"go":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport cloudfront \"github.com/aws-samples/dummy/awscdkawscloudfront\"\n\nviewerCertificateProperty := &ViewerCertificateProperty{\n\tAcmCertificateArn: jsii.String(\"acmCertificateArn\"),\n\tCloudFrontDefaultCertificate: jsii.Boolean(false),\n\tIamCertificateId: jsii.String(\"iamCertificateId\"),\n\tMinimumProtocolVersion: jsii.String(\"minimumProtocolVersion\"),\n\tSslSupportMethod: jsii.String(\"sslSupportMethod\"),\n}","version":"1"},"$":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nconst viewerCertificateProperty: cloudfront.CfnDistribution.ViewerCertificateProperty = {\n  acmCertificateArn: 'acmCertificateArn',\n  cloudFrontDefaultCertificate: false,\n  iamCertificateId: 'iamCertificateId',\n  minimumProtocolVersion: 'minimumProtocolVersion',\n  sslSupportMethod: 'sslSupportMethod',\n};","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.CfnDistribution.ViewerCertificateProperty"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.CfnDistribution.ViewerCertificateProperty"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from \"@aws-cdk/core\";\nclass MyConstruct extends Construct {\nconstructor(scope: Construct, id: string) {\nsuper(scope, id);\n// Code snippet begins after !show marker below\n/// !show\n\nconst viewerCertificateProperty: cloudfront.CfnDistribution.ViewerCertificateProperty = {\n  acmCertificateArn: 'acmCertificateArn',\n  cloudFrontDefaultCertificate: false,\n  iamCertificateId: 'iamCertificateId',\n  minimumProtocolVersion: 'minimumProtocolVersion',\n  sslSupportMethod: 'sslSupportMethod',\n};\n/// !hide\n// Code snippet ended before !hide marker above\n} }","syntaxKindCounter":{"10":5,"75":10,"91":1,"153":2,"169":1,"193":1,"225":1,"242":1,"243":1,"254":1,"255":1,"256":1,"281":5,"290":1},"fqnsFingerprint":"80721625670d390d05613d9489d44630f5d4729d6f2eafbfcc2f7ee386f6c1f1"},"009b384fc19eba56e47f6448476a96a74a72a11d210de9c75825778b4c14225c":{"translations":{"python":{"source":"# The code below shows an example of how to instantiate this type.\n# The values are placeholders you should change.\nimport aws_cdk.aws_cloudfront as cloudfront\n\ncfn_distribution_props = cloudfront.CfnDistributionProps(\n    distribution_config=cloudfront.CfnDistribution.DistributionConfigProperty(\n        default_cache_behavior=cloudfront.CfnDistribution.DefaultCacheBehaviorProperty(\n            target_origin_id=\"targetOriginId\",\n            viewer_protocol_policy=\"viewerProtocolPolicy\",\n\n            # the properties below are optional\n            allowed_methods=[\"allowedMethods\"],\n            cached_methods=[\"cachedMethods\"],\n            cache_policy_id=\"cachePolicyId\",\n            compress=False,\n            default_ttl=123,\n            field_level_encryption_id=\"fieldLevelEncryptionId\",\n            forwarded_values=cloudfront.CfnDistribution.ForwardedValuesProperty(\n                query_string=False,\n\n                # the properties below are optional\n                cookies=cloudfront.CfnDistribution.CookiesProperty(\n                    forward=\"forward\",\n\n                    # the properties below are optional\n                    whitelisted_names=[\"whitelistedNames\"]\n                ),\n                headers=[\"headers\"],\n                query_string_cache_keys=[\"queryStringCacheKeys\"]\n            ),\n            function_associations=[cloudfront.CfnDistribution.FunctionAssociationProperty(\n                event_type=\"eventType\",\n                function_arn=\"functionArn\"\n            )],\n            lambda_function_associations=[cloudfront.CfnDistribution.LambdaFunctionAssociationProperty(\n                event_type=\"eventType\",\n                include_body=False,\n                lambda_function_arn=\"lambdaFunctionArn\"\n            )],\n            max_ttl=123,\n            min_ttl=123,\n            origin_request_policy_id=\"originRequestPolicyId\",\n            realtime_log_config_arn=\"realtimeLogConfigArn\",\n            response_headers_policy_id=\"responseHeadersPolicyId\",\n            smooth_streaming=False,\n            trusted_key_groups=[\"trustedKeyGroups\"],\n            trusted_signers=[\"trustedSigners\"]\n        ),\n        enabled=False,\n\n        # the properties below are optional\n        aliases=[\"aliases\"],\n        cache_behaviors=[cloudfront.CfnDistribution.CacheBehaviorProperty(\n            path_pattern=\"pathPattern\",\n            target_origin_id=\"targetOriginId\",\n            viewer_protocol_policy=\"viewerProtocolPolicy\",\n\n            # the properties below are optional\n            allowed_methods=[\"allowedMethods\"],\n            cached_methods=[\"cachedMethods\"],\n            cache_policy_id=\"cachePolicyId\",\n            compress=False,\n            default_ttl=123,\n            field_level_encryption_id=\"fieldLevelEncryptionId\",\n            forwarded_values=cloudfront.CfnDistribution.ForwardedValuesProperty(\n                query_string=False,\n\n                # the properties below are optional\n                cookies=cloudfront.CfnDistribution.CookiesProperty(\n                    forward=\"forward\",\n\n                    # the properties below are optional\n                    whitelisted_names=[\"whitelistedNames\"]\n                ),\n                headers=[\"headers\"],\n                query_string_cache_keys=[\"queryStringCacheKeys\"]\n            ),\n            function_associations=[cloudfront.CfnDistribution.FunctionAssociationProperty(\n                event_type=\"eventType\",\n                function_arn=\"functionArn\"\n            )],\n            lambda_function_associations=[cloudfront.CfnDistribution.LambdaFunctionAssociationProperty(\n                event_type=\"eventType\",\n                include_body=False,\n                lambda_function_arn=\"lambdaFunctionArn\"\n            )],\n            max_ttl=123,\n            min_ttl=123,\n            origin_request_policy_id=\"originRequestPolicyId\",\n            realtime_log_config_arn=\"realtimeLogConfigArn\",\n            response_headers_policy_id=\"responseHeadersPolicyId\",\n            smooth_streaming=False,\n            trusted_key_groups=[\"trustedKeyGroups\"],\n            trusted_signers=[\"trustedSigners\"]\n        )],\n        cnam_es=[\"cnamEs\"],\n        comment=\"comment\",\n        continuous_deployment_policy_id=\"continuousDeploymentPolicyId\",\n        custom_error_responses=[cloudfront.CfnDistribution.CustomErrorResponseProperty(\n            error_code=123,\n\n            # the properties below are optional\n            error_caching_min_ttl=123,\n            response_code=123,\n            response_page_path=\"responsePagePath\"\n        )],\n        custom_origin=cloudfront.CfnDistribution.LegacyCustomOriginProperty(\n            dns_name=\"dnsName\",\n            origin_protocol_policy=\"originProtocolPolicy\",\n            origin_ssl_protocols=[\"originSslProtocols\"],\n\n            # the properties below are optional\n            http_port=123,\n            https_port=123\n        ),\n        default_root_object=\"defaultRootObject\",\n        http_version=\"httpVersion\",\n        ipv6_enabled=False,\n        logging=cloudfront.CfnDistribution.LoggingProperty(\n            bucket=\"bucket\",\n\n            # the properties below are optional\n            include_cookies=False,\n            prefix=\"prefix\"\n        ),\n        origin_groups=cloudfront.CfnDistribution.OriginGroupsProperty(\n            quantity=123,\n\n            # the properties below are optional\n            items=[cloudfront.CfnDistribution.OriginGroupProperty(\n                failover_criteria=cloudfront.CfnDistribution.OriginGroupFailoverCriteriaProperty(\n                    status_codes=cloudfront.CfnDistribution.StatusCodesProperty(\n                        items=[123],\n                        quantity=123\n                    )\n                ),\n                id=\"id\",\n                members=cloudfront.CfnDistribution.OriginGroupMembersProperty(\n                    items=[cloudfront.CfnDistribution.OriginGroupMemberProperty(\n                        origin_id=\"originId\"\n                    )],\n                    quantity=123\n                )\n            )]\n        ),\n        origins=[cloudfront.CfnDistribution.OriginProperty(\n            domain_name=\"domainName\",\n            id=\"id\",\n\n            # the properties below are optional\n            connection_attempts=123,\n            connection_timeout=123,\n            custom_origin_config=cloudfront.CfnDistribution.CustomOriginConfigProperty(\n                origin_protocol_policy=\"originProtocolPolicy\",\n\n                # the properties below are optional\n                http_port=123,\n                https_port=123,\n                origin_keepalive_timeout=123,\n                origin_read_timeout=123,\n                origin_ssl_protocols=[\"originSslProtocols\"]\n            ),\n            origin_access_control_id=\"originAccessControlId\",\n            origin_custom_headers=[cloudfront.CfnDistribution.OriginCustomHeaderProperty(\n                header_name=\"headerName\",\n                header_value=\"headerValue\"\n            )],\n            origin_path=\"originPath\",\n            origin_shield=cloudfront.CfnDistribution.OriginShieldProperty(\n                enabled=False,\n                origin_shield_region=\"originShieldRegion\"\n            ),\n            s3_origin_config=cloudfront.CfnDistribution.S3OriginConfigProperty(\n                origin_access_identity=\"originAccessIdentity\"\n            )\n        )],\n        price_class=\"priceClass\",\n        restrictions=cloudfront.CfnDistribution.RestrictionsProperty(\n            geo_restriction=cloudfront.CfnDistribution.GeoRestrictionProperty(\n                restriction_type=\"restrictionType\",\n\n                # the properties below are optional\n                locations=[\"locations\"]\n            )\n        ),\n        s3_origin=cloudfront.CfnDistribution.LegacyS3OriginProperty(\n            dns_name=\"dnsName\",\n\n            # the properties below are optional\n            origin_access_identity=\"originAccessIdentity\"\n        ),\n        staging=False,\n        viewer_certificate=cloudfront.CfnDistribution.ViewerCertificateProperty(\n            acm_certificate_arn=\"acmCertificateArn\",\n            cloud_front_default_certificate=False,\n            iam_certificate_id=\"iamCertificateId\",\n            minimum_protocol_version=\"minimumProtocolVersion\",\n            ssl_support_method=\"sslSupportMethod\"\n        ),\n        web_acl_id=\"webAclId\"\n    ),\n\n    # the properties below are optional\n    tags=[CfnTag(\n        key=\"key\",\n        value=\"value\"\n    )]\n)","version":"2"},"csharp":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nusing Amazon.CDK.AWS.CloudFront;\n\nvar cfnDistributionProps = new CfnDistributionProps {\n    DistributionConfig = new DistributionConfigProperty {\n        DefaultCacheBehavior = new DefaultCacheBehaviorProperty {\n            TargetOriginId = \"targetOriginId\",\n            ViewerProtocolPolicy = \"viewerProtocolPolicy\",\n\n            // the properties below are optional\n            AllowedMethods = new [] { \"allowedMethods\" },\n            CachedMethods = new [] { \"cachedMethods\" },\n            CachePolicyId = \"cachePolicyId\",\n            Compress = false,\n            DefaultTtl = 123,\n            FieldLevelEncryptionId = \"fieldLevelEncryptionId\",\n            ForwardedValues = new ForwardedValuesProperty {\n                QueryString = false,\n\n                // the properties below are optional\n                Cookies = new CookiesProperty {\n                    Forward = \"forward\",\n\n                    // the properties below are optional\n                    WhitelistedNames = new [] { \"whitelistedNames\" }\n                },\n                Headers = new [] { \"headers\" },\n                QueryStringCacheKeys = new [] { \"queryStringCacheKeys\" }\n            },\n            FunctionAssociations = new [] { new FunctionAssociationProperty {\n                EventType = \"eventType\",\n                FunctionArn = \"functionArn\"\n            } },\n            LambdaFunctionAssociations = new [] { new LambdaFunctionAssociationProperty {\n                EventType = \"eventType\",\n                IncludeBody = false,\n                LambdaFunctionArn = \"lambdaFunctionArn\"\n            } },\n            MaxTtl = 123,\n            MinTtl = 123,\n            OriginRequestPolicyId = \"originRequestPolicyId\",\n            RealtimeLogConfigArn = \"realtimeLogConfigArn\",\n            ResponseHeadersPolicyId = \"responseHeadersPolicyId\",\n            SmoothStreaming = false,\n            TrustedKeyGroups = new [] { \"trustedKeyGroups\" },\n            TrustedSigners = new [] { \"trustedSigners\" }\n        },\n        Enabled = false,\n\n        // the properties below are optional\n        Aliases = new [] { \"aliases\" },\n        CacheBehaviors = new [] { new CacheBehaviorProperty {\n            PathPattern = \"pathPattern\",\n            TargetOriginId = \"targetOriginId\",\n            ViewerProtocolPolicy = \"viewerProtocolPolicy\",\n\n            // the properties below are optional\n            AllowedMethods = new [] { \"allowedMethods\" },\n            CachedMethods = new [] { \"cachedMethods\" },\n            CachePolicyId = \"cachePolicyId\",\n            Compress = false,\n            DefaultTtl = 123,\n            FieldLevelEncryptionId = \"fieldLevelEncryptionId\",\n            ForwardedValues = new ForwardedValuesProperty {\n                QueryString = false,\n\n                // the properties below are optional\n                Cookies = new CookiesProperty {\n                    Forward = \"forward\",\n\n                    // the properties below are optional\n                    WhitelistedNames = new [] { \"whitelistedNames\" }\n                },\n                Headers = new [] { \"headers\" },\n                QueryStringCacheKeys = new [] { \"queryStringCacheKeys\" }\n            },\n            FunctionAssociations = new [] { new FunctionAssociationProperty {\n                EventType = \"eventType\",\n                FunctionArn = \"functionArn\"\n            } },\n            LambdaFunctionAssociations = new [] { new LambdaFunctionAssociationProperty {\n                EventType = \"eventType\",\n                IncludeBody = false,\n                LambdaFunctionArn = \"lambdaFunctionArn\"\n            } },\n            MaxTtl = 123,\n            MinTtl = 123,\n            OriginRequestPolicyId = \"originRequestPolicyId\",\n            RealtimeLogConfigArn = \"realtimeLogConfigArn\",\n            ResponseHeadersPolicyId = \"responseHeadersPolicyId\",\n            SmoothStreaming = false,\n            TrustedKeyGroups = new [] { \"trustedKeyGroups\" },\n            TrustedSigners = new [] { \"trustedSigners\" }\n        } },\n        CnamEs = new [] { \"cnamEs\" },\n        Comment = \"comment\",\n        ContinuousDeploymentPolicyId = \"continuousDeploymentPolicyId\",\n        CustomErrorResponses = new [] { new CustomErrorResponseProperty {\n            ErrorCode = 123,\n\n            // the properties below are optional\n            ErrorCachingMinTtl = 123,\n            ResponseCode = 123,\n            ResponsePagePath = \"responsePagePath\"\n        } },\n        CustomOrigin = new LegacyCustomOriginProperty {\n            DnsName = \"dnsName\",\n            OriginProtocolPolicy = \"originProtocolPolicy\",\n            OriginSslProtocols = new [] { \"originSslProtocols\" },\n\n            // the properties below are optional\n            HttpPort = 123,\n            HttpsPort = 123\n        },\n        DefaultRootObject = \"defaultRootObject\",\n        HttpVersion = \"httpVersion\",\n        Ipv6Enabled = false,\n        Logging = new LoggingProperty {\n            Bucket = \"bucket\",\n\n            // the properties below are optional\n            IncludeCookies = false,\n            Prefix = \"prefix\"\n        },\n        OriginGroups = new OriginGroupsProperty {\n            Quantity = 123,\n\n            // the properties below are optional\n            Items = new [] { new OriginGroupProperty {\n                FailoverCriteria = new OriginGroupFailoverCriteriaProperty {\n                    StatusCodes = new StatusCodesProperty {\n                        Items = new [] { 123 },\n                        Quantity = 123\n                    }\n                },\n                Id = \"id\",\n                Members = new OriginGroupMembersProperty {\n                    Items = new [] { new OriginGroupMemberProperty {\n                        OriginId = \"originId\"\n                    } },\n                    Quantity = 123\n                }\n            } }\n        },\n        Origins = new [] { new OriginProperty {\n            DomainName = \"domainName\",\n            Id = \"id\",\n\n            // the properties below are optional\n            ConnectionAttempts = 123,\n            ConnectionTimeout = 123,\n            CustomOriginConfig = new CustomOriginConfigProperty {\n                OriginProtocolPolicy = \"originProtocolPolicy\",\n\n                // the properties below are optional\n                HttpPort = 123,\n                HttpsPort = 123,\n                OriginKeepaliveTimeout = 123,\n                OriginReadTimeout = 123,\n                OriginSslProtocols = new [] { \"originSslProtocols\" }\n            },\n            OriginAccessControlId = \"originAccessControlId\",\n            OriginCustomHeaders = new [] { new OriginCustomHeaderProperty {\n                HeaderName = \"headerName\",\n                HeaderValue = \"headerValue\"\n            } },\n            OriginPath = \"originPath\",\n            OriginShield = new OriginShieldProperty {\n                Enabled = false,\n                OriginShieldRegion = \"originShieldRegion\"\n            },\n            S3OriginConfig = new S3OriginConfigProperty {\n                OriginAccessIdentity = \"originAccessIdentity\"\n            }\n        } },\n        PriceClass = \"priceClass\",\n        Restrictions = new RestrictionsProperty {\n            GeoRestriction = new GeoRestrictionProperty {\n                RestrictionType = \"restrictionType\",\n\n                // the properties below are optional\n                Locations = new [] { \"locations\" }\n            }\n        },\n        S3Origin = new LegacyS3OriginProperty {\n            DnsName = \"dnsName\",\n\n            // the properties below are optional\n            OriginAccessIdentity = \"originAccessIdentity\"\n        },\n        Staging = false,\n        ViewerCertificate = new ViewerCertificateProperty {\n            AcmCertificateArn = \"acmCertificateArn\",\n            CloudFrontDefaultCertificate = false,\n            IamCertificateId = \"iamCertificateId\",\n            MinimumProtocolVersion = \"minimumProtocolVersion\",\n            SslSupportMethod = \"sslSupportMethod\"\n        },\n        WebAclId = \"webAclId\"\n    },\n\n    // the properties below are optional\n    Tags = new [] { new CfnTag {\n        Key = \"key\",\n        Value = \"value\"\n    } }\n};","version":"1"},"java":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport software.amazon.awscdk.services.cloudfront.*;\n\nCfnDistributionProps cfnDistributionProps = CfnDistributionProps.builder()\n        .distributionConfig(DistributionConfigProperty.builder()\n                .defaultCacheBehavior(DefaultCacheBehaviorProperty.builder()\n                        .targetOriginId(\"targetOriginId\")\n                        .viewerProtocolPolicy(\"viewerProtocolPolicy\")\n\n                        // the properties below are optional\n                        .allowedMethods(List.of(\"allowedMethods\"))\n                        .cachedMethods(List.of(\"cachedMethods\"))\n                        .cachePolicyId(\"cachePolicyId\")\n                        .compress(false)\n                        .defaultTtl(123)\n                        .fieldLevelEncryptionId(\"fieldLevelEncryptionId\")\n                        .forwardedValues(ForwardedValuesProperty.builder()\n                                .queryString(false)\n\n                                // the properties below are optional\n                                .cookies(CookiesProperty.builder()\n                                        .forward(\"forward\")\n\n                                        // the properties below are optional\n                                        .whitelistedNames(List.of(\"whitelistedNames\"))\n                                        .build())\n                                .headers(List.of(\"headers\"))\n                                .queryStringCacheKeys(List.of(\"queryStringCacheKeys\"))\n                                .build())\n                        .functionAssociations(List.of(FunctionAssociationProperty.builder()\n                                .eventType(\"eventType\")\n                                .functionArn(\"functionArn\")\n                                .build()))\n                        .lambdaFunctionAssociations(List.of(LambdaFunctionAssociationProperty.builder()\n                                .eventType(\"eventType\")\n                                .includeBody(false)\n                                .lambdaFunctionArn(\"lambdaFunctionArn\")\n                                .build()))\n                        .maxTtl(123)\n                        .minTtl(123)\n                        .originRequestPolicyId(\"originRequestPolicyId\")\n                        .realtimeLogConfigArn(\"realtimeLogConfigArn\")\n                        .responseHeadersPolicyId(\"responseHeadersPolicyId\")\n                        .smoothStreaming(false)\n                        .trustedKeyGroups(List.of(\"trustedKeyGroups\"))\n                        .trustedSigners(List.of(\"trustedSigners\"))\n                        .build())\n                .enabled(false)\n\n                // the properties below are optional\n                .aliases(List.of(\"aliases\"))\n                .cacheBehaviors(List.of(CacheBehaviorProperty.builder()\n                        .pathPattern(\"pathPattern\")\n                        .targetOriginId(\"targetOriginId\")\n                        .viewerProtocolPolicy(\"viewerProtocolPolicy\")\n\n                        // the properties below are optional\n                        .allowedMethods(List.of(\"allowedMethods\"))\n                        .cachedMethods(List.of(\"cachedMethods\"))\n                        .cachePolicyId(\"cachePolicyId\")\n                        .compress(false)\n                        .defaultTtl(123)\n                        .fieldLevelEncryptionId(\"fieldLevelEncryptionId\")\n                        .forwardedValues(ForwardedValuesProperty.builder()\n                                .queryString(false)\n\n                                // the properties below are optional\n                                .cookies(CookiesProperty.builder()\n                                        .forward(\"forward\")\n\n                                        // the properties below are optional\n                                        .whitelistedNames(List.of(\"whitelistedNames\"))\n                                        .build())\n                                .headers(List.of(\"headers\"))\n                                .queryStringCacheKeys(List.of(\"queryStringCacheKeys\"))\n                                .build())\n                        .functionAssociations(List.of(FunctionAssociationProperty.builder()\n                                .eventType(\"eventType\")\n                                .functionArn(\"functionArn\")\n                                .build()))\n                        .lambdaFunctionAssociations(List.of(LambdaFunctionAssociationProperty.builder()\n                                .eventType(\"eventType\")\n                                .includeBody(false)\n                                .lambdaFunctionArn(\"lambdaFunctionArn\")\n                                .build()))\n                        .maxTtl(123)\n                        .minTtl(123)\n                        .originRequestPolicyId(\"originRequestPolicyId\")\n                        .realtimeLogConfigArn(\"realtimeLogConfigArn\")\n                        .responseHeadersPolicyId(\"responseHeadersPolicyId\")\n                        .smoothStreaming(false)\n                        .trustedKeyGroups(List.of(\"trustedKeyGroups\"))\n                        .trustedSigners(List.of(\"trustedSigners\"))\n                        .build()))\n                .cnamEs(List.of(\"cnamEs\"))\n                .comment(\"comment\")\n                .continuousDeploymentPolicyId(\"continuousDeploymentPolicyId\")\n                .customErrorResponses(List.of(CustomErrorResponseProperty.builder()\n                        .errorCode(123)\n\n                        // the properties below are optional\n                        .errorCachingMinTtl(123)\n                        .responseCode(123)\n                        .responsePagePath(\"responsePagePath\")\n                        .build()))\n                .customOrigin(LegacyCustomOriginProperty.builder()\n                        .dnsName(\"dnsName\")\n                        .originProtocolPolicy(\"originProtocolPolicy\")\n                        .originSslProtocols(List.of(\"originSslProtocols\"))\n\n                        // the properties below are optional\n                        .httpPort(123)\n                        .httpsPort(123)\n                        .build())\n                .defaultRootObject(\"defaultRootObject\")\n                .httpVersion(\"httpVersion\")\n                .ipv6Enabled(false)\n                .logging(LoggingProperty.builder()\n                        .bucket(\"bucket\")\n\n                        // the properties below are optional\n                        .includeCookies(false)\n                        .prefix(\"prefix\")\n                        .build())\n                .originGroups(OriginGroupsProperty.builder()\n                        .quantity(123)\n\n                        // the properties below are optional\n                        .items(List.of(OriginGroupProperty.builder()\n                                .failoverCriteria(OriginGroupFailoverCriteriaProperty.builder()\n                                        .statusCodes(StatusCodesProperty.builder()\n                                                .items(List.of(123))\n                                                .quantity(123)\n                                                .build())\n                                        .build())\n                                .id(\"id\")\n                                .members(OriginGroupMembersProperty.builder()\n                                        .items(List.of(OriginGroupMemberProperty.builder()\n                                                .originId(\"originId\")\n                                                .build()))\n                                        .quantity(123)\n                                        .build())\n                                .build()))\n                        .build())\n                .origins(List.of(OriginProperty.builder()\n                        .domainName(\"domainName\")\n                        .id(\"id\")\n\n                        // the properties below are optional\n                        .connectionAttempts(123)\n                        .connectionTimeout(123)\n                        .customOriginConfig(CustomOriginConfigProperty.builder()\n                                .originProtocolPolicy(\"originProtocolPolicy\")\n\n                                // the properties below are optional\n                                .httpPort(123)\n                                .httpsPort(123)\n                                .originKeepaliveTimeout(123)\n                                .originReadTimeout(123)\n                                .originSslProtocols(List.of(\"originSslProtocols\"))\n                                .build())\n                        .originAccessControlId(\"originAccessControlId\")\n                        .originCustomHeaders(List.of(OriginCustomHeaderProperty.builder()\n                                .headerName(\"headerName\")\n                                .headerValue(\"headerValue\")\n                                .build()))\n                        .originPath(\"originPath\")\n                        .originShield(OriginShieldProperty.builder()\n                                .enabled(false)\n                                .originShieldRegion(\"originShieldRegion\")\n                                .build())\n                        .s3OriginConfig(S3OriginConfigProperty.builder()\n                                .originAccessIdentity(\"originAccessIdentity\")\n                                .build())\n                        .build()))\n                .priceClass(\"priceClass\")\n                .restrictions(RestrictionsProperty.builder()\n                        .geoRestriction(GeoRestrictionProperty.builder()\n                                .restrictionType(\"restrictionType\")\n\n                                // the properties below are optional\n                                .locations(List.of(\"locations\"))\n                                .build())\n                        .build())\n                .s3Origin(LegacyS3OriginProperty.builder()\n                        .dnsName(\"dnsName\")\n\n                        // the properties below are optional\n                        .originAccessIdentity(\"originAccessIdentity\")\n                        .build())\n                .staging(false)\n                .viewerCertificate(ViewerCertificateProperty.builder()\n                        .acmCertificateArn(\"acmCertificateArn\")\n                        .cloudFrontDefaultCertificate(false)\n                        .iamCertificateId(\"iamCertificateId\")\n                        .minimumProtocolVersion(\"minimumProtocolVersion\")\n                        .sslSupportMethod(\"sslSupportMethod\")\n                        .build())\n                .webAclId(\"webAclId\")\n                .build())\n\n        // the properties below are optional\n        .tags(List.of(CfnTag.builder()\n                .key(\"key\")\n                .value(\"value\")\n                .build()))\n        .build();","version":"1"},"go":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport cloudfront \"github.com/aws-samples/dummy/awscdkawscloudfront\"\n\ncfnDistributionProps := &CfnDistributionProps{\n\tDistributionConfig: &DistributionConfigProperty{\n\t\tDefaultCacheBehavior: &DefaultCacheBehaviorProperty{\n\t\t\tTargetOriginId: jsii.String(\"targetOriginId\"),\n\t\t\tViewerProtocolPolicy: jsii.String(\"viewerProtocolPolicy\"),\n\n\t\t\t// the properties below are optional\n\t\t\tAllowedMethods: []*string{\n\t\t\t\tjsii.String(\"allowedMethods\"),\n\t\t\t},\n\t\t\tCachedMethods: []*string{\n\t\t\t\tjsii.String(\"cachedMethods\"),\n\t\t\t},\n\t\t\tCachePolicyId: jsii.String(\"cachePolicyId\"),\n\t\t\tCompress: jsii.Boolean(false),\n\t\t\tDefaultTtl: jsii.Number(123),\n\t\t\tFieldLevelEncryptionId: jsii.String(\"fieldLevelEncryptionId\"),\n\t\t\tForwardedValues: &ForwardedValuesProperty{\n\t\t\t\tQueryString: jsii.Boolean(false),\n\n\t\t\t\t// the properties below are optional\n\t\t\t\tCookies: &CookiesProperty{\n\t\t\t\t\tForward: jsii.String(\"forward\"),\n\n\t\t\t\t\t// the properties below are optional\n\t\t\t\t\tWhitelistedNames: []*string{\n\t\t\t\t\t\tjsii.String(\"whitelistedNames\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tHeaders: []*string{\n\t\t\t\t\tjsii.String(\"headers\"),\n\t\t\t\t},\n\t\t\t\tQueryStringCacheKeys: []*string{\n\t\t\t\t\tjsii.String(\"queryStringCacheKeys\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tFunctionAssociations: []interface{}{\n\t\t\t\t&FunctionAssociationProperty{\n\t\t\t\t\tEventType: jsii.String(\"eventType\"),\n\t\t\t\t\tFunctionArn: jsii.String(\"functionArn\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tLambdaFunctionAssociations: []interface{}{\n\t\t\t\t&LambdaFunctionAssociationProperty{\n\t\t\t\t\tEventType: jsii.String(\"eventType\"),\n\t\t\t\t\tIncludeBody: jsii.Boolean(false),\n\t\t\t\t\tLambdaFunctionArn: jsii.String(\"lambdaFunctionArn\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tMaxTtl: jsii.Number(123),\n\t\t\tMinTtl: jsii.Number(123),\n\t\t\tOriginRequestPolicyId: jsii.String(\"originRequestPolicyId\"),\n\t\t\tRealtimeLogConfigArn: jsii.String(\"realtimeLogConfigArn\"),\n\t\t\tResponseHeadersPolicyId: jsii.String(\"responseHeadersPolicyId\"),\n\t\t\tSmoothStreaming: jsii.Boolean(false),\n\t\t\tTrustedKeyGroups: []*string{\n\t\t\t\tjsii.String(\"trustedKeyGroups\"),\n\t\t\t},\n\t\t\tTrustedSigners: []*string{\n\t\t\t\tjsii.String(\"trustedSigners\"),\n\t\t\t},\n\t\t},\n\t\tEnabled: jsii.Boolean(false),\n\n\t\t// the properties below are optional\n\t\tAliases: []*string{\n\t\t\tjsii.String(\"aliases\"),\n\t\t},\n\t\tCacheBehaviors: []interface{}{\n\t\t\t&CacheBehaviorProperty{\n\t\t\t\tPathPattern: jsii.String(\"pathPattern\"),\n\t\t\t\tTargetOriginId: jsii.String(\"targetOriginId\"),\n\t\t\t\tViewerProtocolPolicy: jsii.String(\"viewerProtocolPolicy\"),\n\n\t\t\t\t// the properties below are optional\n\t\t\t\tAllowedMethods: []*string{\n\t\t\t\t\tjsii.String(\"allowedMethods\"),\n\t\t\t\t},\n\t\t\t\tCachedMethods: []*string{\n\t\t\t\t\tjsii.String(\"cachedMethods\"),\n\t\t\t\t},\n\t\t\t\tCachePolicyId: jsii.String(\"cachePolicyId\"),\n\t\t\t\tCompress: jsii.Boolean(false),\n\t\t\t\tDefaultTtl: jsii.Number(123),\n\t\t\t\tFieldLevelEncryptionId: jsii.String(\"fieldLevelEncryptionId\"),\n\t\t\t\tForwardedValues: &ForwardedValuesProperty{\n\t\t\t\t\tQueryString: jsii.Boolean(false),\n\n\t\t\t\t\t// the properties below are optional\n\t\t\t\t\tCookies: &CookiesProperty{\n\t\t\t\t\t\tForward: jsii.String(\"forward\"),\n\n\t\t\t\t\t\t// the properties below are optional\n\t\t\t\t\t\tWhitelistedNames: []*string{\n\t\t\t\t\t\t\tjsii.String(\"whitelistedNames\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tHeaders: []*string{\n\t\t\t\t\t\tjsii.String(\"headers\"),\n\t\t\t\t\t},\n\t\t\t\t\tQueryStringCacheKeys: []*string{\n\t\t\t\t\t\tjsii.String(\"queryStringCacheKeys\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tFunctionAssociations: []interface{}{\n\t\t\t\t\t&FunctionAssociationProperty{\n\t\t\t\t\t\tEventType: jsii.String(\"eventType\"),\n\t\t\t\t\t\tFunctionArn: jsii.String(\"functionArn\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tLambdaFunctionAssociations: []interface{}{\n\t\t\t\t\t&LambdaFunctionAssociationProperty{\n\t\t\t\t\t\tEventType: jsii.String(\"eventType\"),\n\t\t\t\t\t\tIncludeBody: jsii.Boolean(false),\n\t\t\t\t\t\tLambdaFunctionArn: jsii.String(\"lambdaFunctionArn\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tMaxTtl: jsii.Number(123),\n\t\t\t\tMinTtl: jsii.Number(123),\n\t\t\t\tOriginRequestPolicyId: jsii.String(\"originRequestPolicyId\"),\n\t\t\t\tRealtimeLogConfigArn: jsii.String(\"realtimeLogConfigArn\"),\n\t\t\t\tResponseHeadersPolicyId: jsii.String(\"responseHeadersPolicyId\"),\n\t\t\t\tSmoothStreaming: jsii.Boolean(false),\n\t\t\t\tTrustedKeyGroups: []*string{\n\t\t\t\t\tjsii.String(\"trustedKeyGroups\"),\n\t\t\t\t},\n\t\t\t\tTrustedSigners: []*string{\n\t\t\t\t\tjsii.String(\"trustedSigners\"),\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tCnamEs: []*string{\n\t\t\tjsii.String(\"cnamEs\"),\n\t\t},\n\t\tComment: jsii.String(\"comment\"),\n\t\tContinuousDeploymentPolicyId: jsii.String(\"continuousDeploymentPolicyId\"),\n\t\tCustomErrorResponses: []interface{}{\n\t\t\t&CustomErrorResponseProperty{\n\t\t\t\tErrorCode: jsii.Number(123),\n\n\t\t\t\t// the properties below are optional\n\t\t\t\tErrorCachingMinTtl: jsii.Number(123),\n\t\t\t\tResponseCode: jsii.Number(123),\n\t\t\t\tResponsePagePath: jsii.String(\"responsePagePath\"),\n\t\t\t},\n\t\t},\n\t\tCustomOrigin: &LegacyCustomOriginProperty{\n\t\t\tDnsName: jsii.String(\"dnsName\"),\n\t\t\tOriginProtocolPolicy: jsii.String(\"originProtocolPolicy\"),\n\t\t\tOriginSslProtocols: []*string{\n\t\t\t\tjsii.String(\"originSslProtocols\"),\n\t\t\t},\n\n\t\t\t// the properties below are optional\n\t\t\tHttpPort: jsii.Number(123),\n\t\t\tHttpsPort: jsii.Number(123),\n\t\t},\n\t\tDefaultRootObject: jsii.String(\"defaultRootObject\"),\n\t\tHttpVersion: jsii.String(\"httpVersion\"),\n\t\tIpv6Enabled: jsii.Boolean(false),\n\t\tLogging: &LoggingProperty{\n\t\t\tBucket: jsii.String(\"bucket\"),\n\n\t\t\t// the properties below are optional\n\t\t\tIncludeCookies: jsii.Boolean(false),\n\t\t\tPrefix: jsii.String(\"prefix\"),\n\t\t},\n\t\tOriginGroups: &OriginGroupsProperty{\n\t\t\tQuantity: jsii.Number(123),\n\n\t\t\t// the properties below are optional\n\t\t\tItems: []interface{}{\n\t\t\t\t&OriginGroupProperty{\n\t\t\t\t\tFailoverCriteria: &OriginGroupFailoverCriteriaProperty{\n\t\t\t\t\t\tStatusCodes: &StatusCodesProperty{\n\t\t\t\t\t\t\tItems: []interface{}{\n\t\t\t\t\t\t\t\tjsii.Number(123),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tQuantity: jsii.Number(123),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tId: jsii.String(\"id\"),\n\t\t\t\t\tMembers: &OriginGroupMembersProperty{\n\t\t\t\t\t\tItems: []interface{}{\n\t\t\t\t\t\t\t&OriginGroupMemberProperty{\n\t\t\t\t\t\t\t\tOriginId: jsii.String(\"originId\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tQuantity: jsii.Number(123),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tOrigins: []interface{}{\n\t\t\t&OriginProperty{\n\t\t\t\tDomainName: jsii.String(\"domainName\"),\n\t\t\t\tId: jsii.String(\"id\"),\n\n\t\t\t\t// the properties below are optional\n\t\t\t\tConnectionAttempts: jsii.Number(123),\n\t\t\t\tConnectionTimeout: jsii.Number(123),\n\t\t\t\tCustomOriginConfig: &CustomOriginConfigProperty{\n\t\t\t\t\tOriginProtocolPolicy: jsii.String(\"originProtocolPolicy\"),\n\n\t\t\t\t\t// the properties below are optional\n\t\t\t\t\tHttpPort: jsii.Number(123),\n\t\t\t\t\tHttpsPort: jsii.Number(123),\n\t\t\t\t\tOriginKeepaliveTimeout: jsii.Number(123),\n\t\t\t\t\tOriginReadTimeout: jsii.Number(123),\n\t\t\t\t\tOriginSslProtocols: []*string{\n\t\t\t\t\t\tjsii.String(\"originSslProtocols\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tOriginAccessControlId: jsii.String(\"originAccessControlId\"),\n\t\t\t\tOriginCustomHeaders: []interface{}{\n\t\t\t\t\t&OriginCustomHeaderProperty{\n\t\t\t\t\t\tHeaderName: jsii.String(\"headerName\"),\n\t\t\t\t\t\tHeaderValue: jsii.String(\"headerValue\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tOriginPath: jsii.String(\"originPath\"),\n\t\t\t\tOriginShield: &OriginShieldProperty{\n\t\t\t\t\tEnabled: jsii.Boolean(false),\n\t\t\t\t\tOriginShieldRegion: jsii.String(\"originShieldRegion\"),\n\t\t\t\t},\n\t\t\t\tS3OriginConfig: &S3OriginConfigProperty{\n\t\t\t\t\tOriginAccessIdentity: jsii.String(\"originAccessIdentity\"),\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tPriceClass: jsii.String(\"priceClass\"),\n\t\tRestrictions: &RestrictionsProperty{\n\t\t\tGeoRestriction: &GeoRestrictionProperty{\n\t\t\t\tRestrictionType: jsii.String(\"restrictionType\"),\n\n\t\t\t\t// the properties below are optional\n\t\t\t\tLocations: []*string{\n\t\t\t\t\tjsii.String(\"locations\"),\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tS3Origin: &LegacyS3OriginProperty{\n\t\t\tDnsName: jsii.String(\"dnsName\"),\n\n\t\t\t// the properties below are optional\n\t\t\tOriginAccessIdentity: jsii.String(\"originAccessIdentity\"),\n\t\t},\n\t\tStaging: jsii.Boolean(false),\n\t\tViewerCertificate: &ViewerCertificateProperty{\n\t\t\tAcmCertificateArn: jsii.String(\"acmCertificateArn\"),\n\t\t\tCloudFrontDefaultCertificate: jsii.Boolean(false),\n\t\t\tIamCertificateId: jsii.String(\"iamCertificateId\"),\n\t\t\tMinimumProtocolVersion: jsii.String(\"minimumProtocolVersion\"),\n\t\t\tSslSupportMethod: jsii.String(\"sslSupportMethod\"),\n\t\t},\n\t\tWebAclId: jsii.String(\"webAclId\"),\n\t},\n\n\t// the properties below are optional\n\tTags: []cfnTag{\n\t\t&cfnTag{\n\t\t\tKey: jsii.String(\"key\"),\n\t\t\tValue: jsii.String(\"value\"),\n\t\t},\n\t},\n}","version":"1"},"$":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nconst cfnDistributionProps: cloudfront.CfnDistributionProps = {\n  distributionConfig: {\n    defaultCacheBehavior: {\n      targetOriginId: 'targetOriginId',\n      viewerProtocolPolicy: 'viewerProtocolPolicy',\n\n      // the properties below are optional\n      allowedMethods: ['allowedMethods'],\n      cachedMethods: ['cachedMethods'],\n      cachePolicyId: 'cachePolicyId',\n      compress: false,\n      defaultTtl: 123,\n      fieldLevelEncryptionId: 'fieldLevelEncryptionId',\n      forwardedValues: {\n        queryString: false,\n\n        // the properties below are optional\n        cookies: {\n          forward: 'forward',\n\n          // the properties below are optional\n          whitelistedNames: ['whitelistedNames'],\n        },\n        headers: ['headers'],\n        queryStringCacheKeys: ['queryStringCacheKeys'],\n      },\n      functionAssociations: [{\n        eventType: 'eventType',\n        functionArn: 'functionArn',\n      }],\n      lambdaFunctionAssociations: [{\n        eventType: 'eventType',\n        includeBody: false,\n        lambdaFunctionArn: 'lambdaFunctionArn',\n      }],\n      maxTtl: 123,\n      minTtl: 123,\n      originRequestPolicyId: 'originRequestPolicyId',\n      realtimeLogConfigArn: 'realtimeLogConfigArn',\n      responseHeadersPolicyId: 'responseHeadersPolicyId',\n      smoothStreaming: false,\n      trustedKeyGroups: ['trustedKeyGroups'],\n      trustedSigners: ['trustedSigners'],\n    },\n    enabled: false,\n\n    // the properties below are optional\n    aliases: ['aliases'],\n    cacheBehaviors: [{\n      pathPattern: 'pathPattern',\n      targetOriginId: 'targetOriginId',\n      viewerProtocolPolicy: 'viewerProtocolPolicy',\n\n      // the properties below are optional\n      allowedMethods: ['allowedMethods'],\n      cachedMethods: ['cachedMethods'],\n      cachePolicyId: 'cachePolicyId',\n      compress: false,\n      defaultTtl: 123,\n      fieldLevelEncryptionId: 'fieldLevelEncryptionId',\n      forwardedValues: {\n        queryString: false,\n\n        // the properties below are optional\n        cookies: {\n          forward: 'forward',\n\n          // the properties below are optional\n          whitelistedNames: ['whitelistedNames'],\n        },\n        headers: ['headers'],\n        queryStringCacheKeys: ['queryStringCacheKeys'],\n      },\n      functionAssociations: [{\n        eventType: 'eventType',\n        functionArn: 'functionArn',\n      }],\n      lambdaFunctionAssociations: [{\n        eventType: 'eventType',\n        includeBody: false,\n        lambdaFunctionArn: 'lambdaFunctionArn',\n      }],\n      maxTtl: 123,\n      minTtl: 123,\n      originRequestPolicyId: 'originRequestPolicyId',\n      realtimeLogConfigArn: 'realtimeLogConfigArn',\n      responseHeadersPolicyId: 'responseHeadersPolicyId',\n      smoothStreaming: false,\n      trustedKeyGroups: ['trustedKeyGroups'],\n      trustedSigners: ['trustedSigners'],\n    }],\n    cnamEs: ['cnamEs'],\n    comment: 'comment',\n    continuousDeploymentPolicyId: 'continuousDeploymentPolicyId',\n    customErrorResponses: [{\n      errorCode: 123,\n\n      // the properties below are optional\n      errorCachingMinTtl: 123,\n      responseCode: 123,\n      responsePagePath: 'responsePagePath',\n    }],\n    customOrigin: {\n      dnsName: 'dnsName',\n      originProtocolPolicy: 'originProtocolPolicy',\n      originSslProtocols: ['originSslProtocols'],\n\n      // the properties below are optional\n      httpPort: 123,\n      httpsPort: 123,\n    },\n    defaultRootObject: 'defaultRootObject',\n    httpVersion: 'httpVersion',\n    ipv6Enabled: false,\n    logging: {\n      bucket: 'bucket',\n\n      // the properties below are optional\n      includeCookies: false,\n      prefix: 'prefix',\n    },\n    originGroups: {\n      quantity: 123,\n\n      // the properties below are optional\n      items: [{\n        failoverCriteria: {\n          statusCodes: {\n            items: [123],\n            quantity: 123,\n          },\n        },\n        id: 'id',\n        members: {\n          items: [{\n            originId: 'originId',\n          }],\n          quantity: 123,\n        },\n      }],\n    },\n    origins: [{\n      domainName: 'domainName',\n      id: 'id',\n\n      // the properties below are optional\n      connectionAttempts: 123,\n      connectionTimeout: 123,\n      customOriginConfig: {\n        originProtocolPolicy: 'originProtocolPolicy',\n\n        // the properties below are optional\n        httpPort: 123,\n        httpsPort: 123,\n        originKeepaliveTimeout: 123,\n        originReadTimeout: 123,\n        originSslProtocols: ['originSslProtocols'],\n      },\n      originAccessControlId: 'originAccessControlId',\n      originCustomHeaders: [{\n        headerName: 'headerName',\n        headerValue: 'headerValue',\n      }],\n      originPath: 'originPath',\n      originShield: {\n        enabled: false,\n        originShieldRegion: 'originShieldRegion',\n      },\n      s3OriginConfig: {\n        originAccessIdentity: 'originAccessIdentity',\n      },\n    }],\n    priceClass: 'priceClass',\n    restrictions: {\n      geoRestriction: {\n        restrictionType: 'restrictionType',\n\n        // the properties below are optional\n        locations: ['locations'],\n      },\n    },\n    s3Origin: {\n      dnsName: 'dnsName',\n\n      // the properties below are optional\n      originAccessIdentity: 'originAccessIdentity',\n    },\n    staging: false,\n    viewerCertificate: {\n      acmCertificateArn: 'acmCertificateArn',\n      cloudFrontDefaultCertificate: false,\n      iamCertificateId: 'iamCertificateId',\n      minimumProtocolVersion: 'minimumProtocolVersion',\n      sslSupportMethod: 'sslSupportMethod',\n    },\n    webAclId: 'webAclId',\n  },\n\n  // the properties below are optional\n  tags: [{\n    key: 'key',\n    value: 'value',\n  }],\n};","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.CfnDistributionProps"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.CfnDistributionProps"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from \"@aws-cdk/core\";\nclass MyConstruct extends Construct {\nconstructor(scope: Construct, id: string) {\nsuper(scope, id);\n// Code snippet begins after !show marker below\n/// !show\n\nconst cfnDistributionProps: cloudfront.CfnDistributionProps = {\n  distributionConfig: {\n    defaultCacheBehavior: {\n      targetOriginId: 'targetOriginId',\n      viewerProtocolPolicy: 'viewerProtocolPolicy',\n\n      // the properties below are optional\n      allowedMethods: ['allowedMethods'],\n      cachedMethods: ['cachedMethods'],\n      cachePolicyId: 'cachePolicyId',\n      compress: false,\n      defaultTtl: 123,\n      fieldLevelEncryptionId: 'fieldLevelEncryptionId',\n      forwardedValues: {\n        queryString: false,\n\n        // the properties below are optional\n        cookies: {\n          forward: 'forward',\n\n          // the properties below are optional\n          whitelistedNames: ['whitelistedNames'],\n        },\n        headers: ['headers'],\n        queryStringCacheKeys: ['queryStringCacheKeys'],\n      },\n      functionAssociations: [{\n        eventType: 'eventType',\n        functionArn: 'functionArn',\n      }],\n      lambdaFunctionAssociations: [{\n        eventType: 'eventType',\n        includeBody: false,\n        lambdaFunctionArn: 'lambdaFunctionArn',\n      }],\n      maxTtl: 123,\n      minTtl: 123,\n      originRequestPolicyId: 'originRequestPolicyId',\n      realtimeLogConfigArn: 'realtimeLogConfigArn',\n      responseHeadersPolicyId: 'responseHeadersPolicyId',\n      smoothStreaming: false,\n      trustedKeyGroups: ['trustedKeyGroups'],\n      trustedSigners: ['trustedSigners'],\n    },\n    enabled: false,\n\n    // the properties below are optional\n    aliases: ['aliases'],\n    cacheBehaviors: [{\n      pathPattern: 'pathPattern',\n      targetOriginId: 'targetOriginId',\n      viewerProtocolPolicy: 'viewerProtocolPolicy',\n\n      // the properties below are optional\n      allowedMethods: ['allowedMethods'],\n      cachedMethods: ['cachedMethods'],\n      cachePolicyId: 'cachePolicyId',\n      compress: false,\n      defaultTtl: 123,\n      fieldLevelEncryptionId: 'fieldLevelEncryptionId',\n      forwardedValues: {\n        queryString: false,\n\n        // the properties below are optional\n        cookies: {\n          forward: 'forward',\n\n          // the properties below are optional\n          whitelistedNames: ['whitelistedNames'],\n        },\n        headers: ['headers'],\n        queryStringCacheKeys: ['queryStringCacheKeys'],\n      },\n      functionAssociations: [{\n        eventType: 'eventType',\n        functionArn: 'functionArn',\n      }],\n      lambdaFunctionAssociations: [{\n        eventType: 'eventType',\n        includeBody: false,\n        lambdaFunctionArn: 'lambdaFunctionArn',\n      }],\n      maxTtl: 123,\n      minTtl: 123,\n      originRequestPolicyId: 'originRequestPolicyId',\n      realtimeLogConfigArn: 'realtimeLogConfigArn',\n      responseHeadersPolicyId: 'responseHeadersPolicyId',\n      smoothStreaming: false,\n      trustedKeyGroups: ['trustedKeyGroups'],\n      trustedSigners: ['trustedSigners'],\n    }],\n    cnamEs: ['cnamEs'],\n    comment: 'comment',\n    continuousDeploymentPolicyId: 'continuousDeploymentPolicyId',\n    customErrorResponses: [{\n      errorCode: 123,\n\n      // the properties below are optional\n      errorCachingMinTtl: 123,\n      responseCode: 123,\n      responsePagePath: 'responsePagePath',\n    }],\n    customOrigin: {\n      dnsName: 'dnsName',\n      originProtocolPolicy: 'originProtocolPolicy',\n      originSslProtocols: ['originSslProtocols'],\n\n      // the properties below are optional\n      httpPort: 123,\n      httpsPort: 123,\n    },\n    defaultRootObject: 'defaultRootObject',\n    httpVersion: 'httpVersion',\n    ipv6Enabled: false,\n    logging: {\n      bucket: 'bucket',\n\n      // the properties below are optional\n      includeCookies: false,\n      prefix: 'prefix',\n    },\n    originGroups: {\n      quantity: 123,\n\n      // the properties below are optional\n      items: [{\n        failoverCriteria: {\n          statusCodes: {\n            items: [123],\n            quantity: 123,\n          },\n        },\n        id: 'id',\n        members: {\n          items: [{\n            originId: 'originId',\n          }],\n          quantity: 123,\n        },\n      }],\n    },\n    origins: [{\n      domainName: 'domainName',\n      id: 'id',\n\n      // the properties below are optional\n      connectionAttempts: 123,\n      connectionTimeout: 123,\n      customOriginConfig: {\n        originProtocolPolicy: 'originProtocolPolicy',\n\n        // the properties below are optional\n        httpPort: 123,\n        httpsPort: 123,\n        originKeepaliveTimeout: 123,\n        originReadTimeout: 123,\n        originSslProtocols: ['originSslProtocols'],\n      },\n      originAccessControlId: 'originAccessControlId',\n      originCustomHeaders: [{\n        headerName: 'headerName',\n        headerValue: 'headerValue',\n      }],\n      originPath: 'originPath',\n      originShield: {\n        enabled: false,\n        originShieldRegion: 'originShieldRegion',\n      },\n      s3OriginConfig: {\n        originAccessIdentity: 'originAccessIdentity',\n      },\n    }],\n    priceClass: 'priceClass',\n    restrictions: {\n      geoRestriction: {\n        restrictionType: 'restrictionType',\n\n        // the properties below are optional\n        locations: ['locations'],\n      },\n    },\n    s3Origin: {\n      dnsName: 'dnsName',\n\n      // the properties below are optional\n      originAccessIdentity: 'originAccessIdentity',\n    },\n    staging: false,\n    viewerCertificate: {\n      acmCertificateArn: 'acmCertificateArn',\n      cloudFrontDefaultCertificate: false,\n      iamCertificateId: 'iamCertificateId',\n      minimumProtocolVersion: 'minimumProtocolVersion',\n      sslSupportMethod: 'sslSupportMethod',\n    },\n    webAclId: 'webAclId',\n  },\n\n  // the properties below are optional\n  tags: [{\n    key: 'key',\n    value: 'value',\n  }],\n};\n/// !hide\n// Code snippet ended before !hide marker above\n} }","syntaxKindCounter":{"8":21,"10":76,"75":144,"91":14,"153":1,"169":1,"192":31,"193":31,"225":1,"242":1,"243":1,"254":1,"255":1,"256":1,"281":140,"290":1},"fqnsFingerprint":"1b964f7141cc4ab3e8edebf22d3f8da8ee4e32553c3b025697649f345744881d"},"6c283cc00163decf9ed555ff02dda1ed99fdc41974dae8a7e6ce89b14c7ce2a2":{"translations":{"python":{"source":"# The code below shows an example of how to instantiate this type.\n# The values are placeholders you should change.\nimport aws_cdk.aws_cloudfront as cloudfront\n\ncfn_function = cloudfront.CfnFunction(self, \"MyCfnFunction\",\n    function_code=\"functionCode\",\n    function_config=cloudfront.CfnFunction.FunctionConfigProperty(\n        comment=\"comment\",\n        runtime=\"runtime\"\n    ),\n    name=\"name\",\n\n    # the properties below are optional\n    auto_publish=False,\n    function_metadata=cloudfront.CfnFunction.FunctionMetadataProperty(\n        function_arn=\"functionArn\"\n    )\n)","version":"2"},"csharp":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nusing Amazon.CDK.AWS.CloudFront;\n\nvar cfnFunction = new CfnFunction(this, \"MyCfnFunction\", new CfnFunctionProps {\n    FunctionCode = \"functionCode\",\n    FunctionConfig = new FunctionConfigProperty {\n        Comment = \"comment\",\n        Runtime = \"runtime\"\n    },\n    Name = \"name\",\n\n    // the properties below are optional\n    AutoPublish = false,\n    FunctionMetadata = new FunctionMetadataProperty {\n        FunctionArn = \"functionArn\"\n    }\n});","version":"1"},"java":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport software.amazon.awscdk.services.cloudfront.*;\n\nCfnFunction cfnFunction = CfnFunction.Builder.create(this, \"MyCfnFunction\")\n        .functionCode(\"functionCode\")\n        .functionConfig(FunctionConfigProperty.builder()\n                .comment(\"comment\")\n                .runtime(\"runtime\")\n                .build())\n        .name(\"name\")\n\n        // the properties below are optional\n        .autoPublish(false)\n        .functionMetadata(FunctionMetadataProperty.builder()\n                .functionArn(\"functionArn\")\n                .build())\n        .build();","version":"1"},"go":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport cloudfront \"github.com/aws-samples/dummy/awscdkawscloudfront\"\n\ncfnFunction := cloudfront.NewCfnFunction(this, jsii.String(\"MyCfnFunction\"), &CfnFunctionProps{\n\tFunctionCode: jsii.String(\"functionCode\"),\n\tFunctionConfig: &FunctionConfigProperty{\n\t\tComment: jsii.String(\"comment\"),\n\t\tRuntime: jsii.String(\"runtime\"),\n\t},\n\tName: jsii.String(\"name\"),\n\n\t// the properties below are optional\n\tAutoPublish: jsii.Boolean(false),\n\tFunctionMetadata: &FunctionMetadataProperty{\n\t\tFunctionArn: jsii.String(\"functionArn\"),\n\t},\n})","version":"1"},"$":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nconst cfnFunction = new cloudfront.CfnFunction(this, 'MyCfnFunction', {\n  functionCode: 'functionCode',\n  functionConfig: {\n    comment: 'comment',\n    runtime: 'runtime',\n  },\n  name: 'name',\n\n  // the properties below are optional\n  autoPublish: false,\n  functionMetadata: {\n    functionArn: 'functionArn',\n  },\n});","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.CfnFunction"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.CfnFunction","@aws-cdk/aws-cloudfront.CfnFunctionProps","@aws-cdk/core.Construct"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from \"@aws-cdk/core\";\nclass MyConstruct extends Construct {\nconstructor(scope: Construct, id: string) {\nsuper(scope, id);\n// Code snippet begins after !show marker below\n/// !show\n\nconst cfnFunction = new cloudfront.CfnFunction(this, 'MyCfnFunction', {\n  functionCode: 'functionCode',\n  functionConfig: {\n    comment: 'comment',\n    runtime: 'runtime',\n  },\n  name: 'name',\n\n  // the properties below are optional\n  autoPublish: false,\n  functionMetadata: {\n    functionArn: 'functionArn',\n  },\n});\n/// !hide\n// Code snippet ended before !hide marker above\n} }","syntaxKindCounter":{"10":7,"75":12,"91":1,"104":1,"193":3,"194":1,"197":1,"225":1,"242":1,"243":1,"254":1,"255":1,"256":1,"281":8,"290":1},"fqnsFingerprint":"fe0fc8d5788015536f8e7c64e37606cb71b3dfd61e6d18fa4be1066495fc6f9a"},"f80caddb2a9ede8937efa3a1a9a7fa858eb4ebb7542a24b3ad672455bd23e9b9":{"translations":{"python":{"source":"# The code below shows an example of how to instantiate this type.\n# The values are placeholders you should change.\nimport aws_cdk.aws_cloudfront as cloudfront\n\nfunction_config_property = cloudfront.CfnFunction.FunctionConfigProperty(\n    comment=\"comment\",\n    runtime=\"runtime\"\n)","version":"2"},"csharp":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nusing Amazon.CDK.AWS.CloudFront;\n\nvar functionConfigProperty = new FunctionConfigProperty {\n    Comment = \"comment\",\n    Runtime = \"runtime\"\n};","version":"1"},"java":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport software.amazon.awscdk.services.cloudfront.*;\n\nFunctionConfigProperty functionConfigProperty = FunctionConfigProperty.builder()\n        .comment(\"comment\")\n        .runtime(\"runtime\")\n        .build();","version":"1"},"go":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport cloudfront \"github.com/aws-samples/dummy/awscdkawscloudfront\"\n\nfunctionConfigProperty := &FunctionConfigProperty{\n\tComment: jsii.String(\"comment\"),\n\tRuntime: jsii.String(\"runtime\"),\n}","version":"1"},"$":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nconst functionConfigProperty: cloudfront.CfnFunction.FunctionConfigProperty = {\n  comment: 'comment',\n  runtime: 'runtime',\n};","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.CfnFunction.FunctionConfigProperty"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.CfnFunction.FunctionConfigProperty"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from \"@aws-cdk/core\";\nclass MyConstruct extends Construct {\nconstructor(scope: Construct, id: string) {\nsuper(scope, id);\n// Code snippet begins after !show marker below\n/// !show\n\nconst functionConfigProperty: cloudfront.CfnFunction.FunctionConfigProperty = {\n  comment: 'comment',\n  runtime: 'runtime',\n};\n/// !hide\n// Code snippet ended before !hide marker above\n} }","syntaxKindCounter":{"10":3,"75":7,"153":2,"169":1,"193":1,"225":1,"242":1,"243":1,"254":1,"255":1,"256":1,"281":2,"290":1},"fqnsFingerprint":"cd7e1c250e9c0d72939ca2dab13876947255f2c6ce1e50cd60f75ff02e694c6f"},"2aaa04cb4c1540835ad6a10b45efe880e7d5f42278ebf5e4a0976ad126799736":{"translations":{"python":{"source":"# The code below shows an example of how to instantiate this type.\n# The values are placeholders you should change.\nimport aws_cdk.aws_cloudfront as cloudfront\n\nfunction_metadata_property = cloudfront.CfnFunction.FunctionMetadataProperty(\n    function_arn=\"functionArn\"\n)","version":"2"},"csharp":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nusing Amazon.CDK.AWS.CloudFront;\n\nvar functionMetadataProperty = new FunctionMetadataProperty {\n    FunctionArn = \"functionArn\"\n};","version":"1"},"java":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport software.amazon.awscdk.services.cloudfront.*;\n\nFunctionMetadataProperty functionMetadataProperty = FunctionMetadataProperty.builder()\n        .functionArn(\"functionArn\")\n        .build();","version":"1"},"go":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport cloudfront \"github.com/aws-samples/dummy/awscdkawscloudfront\"\n\nfunctionMetadataProperty := &FunctionMetadataProperty{\n\tFunctionArn: jsii.String(\"functionArn\"),\n}","version":"1"},"$":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nconst functionMetadataProperty: cloudfront.CfnFunction.FunctionMetadataProperty = {\n  functionArn: 'functionArn',\n};","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.CfnFunction.FunctionMetadataProperty"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.CfnFunction.FunctionMetadataProperty"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from \"@aws-cdk/core\";\nclass MyConstruct extends Construct {\nconstructor(scope: Construct, id: string) {\nsuper(scope, id);\n// Code snippet begins after !show marker below\n/// !show\n\nconst functionMetadataProperty: cloudfront.CfnFunction.FunctionMetadataProperty = {\n  functionArn: 'functionArn',\n};\n/// !hide\n// Code snippet ended before !hide marker above\n} }","syntaxKindCounter":{"10":2,"75":6,"153":2,"169":1,"193":1,"225":1,"242":1,"243":1,"254":1,"255":1,"256":1,"281":1,"290":1},"fqnsFingerprint":"f2c166fe71d69e8904b7c6b3a8db4aadb994bd029522107dd690e5257b63c0ad"},"ce22796beb6feefd3810f7374f8905569bb096d48b8a6cb460e827d03dcd2759":{"translations":{"python":{"source":"# The code below shows an example of how to instantiate this type.\n# The values are placeholders you should change.\nimport aws_cdk.aws_cloudfront as cloudfront\n\ncfn_function_props = cloudfront.CfnFunctionProps(\n    function_code=\"functionCode\",\n    function_config=cloudfront.CfnFunction.FunctionConfigProperty(\n        comment=\"comment\",\n        runtime=\"runtime\"\n    ),\n    name=\"name\",\n\n    # the properties below are optional\n    auto_publish=False,\n    function_metadata=cloudfront.CfnFunction.FunctionMetadataProperty(\n        function_arn=\"functionArn\"\n    )\n)","version":"2"},"csharp":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nusing Amazon.CDK.AWS.CloudFront;\n\nvar cfnFunctionProps = new CfnFunctionProps {\n    FunctionCode = \"functionCode\",\n    FunctionConfig = new FunctionConfigProperty {\n        Comment = \"comment\",\n        Runtime = \"runtime\"\n    },\n    Name = \"name\",\n\n    // the properties below are optional\n    AutoPublish = false,\n    FunctionMetadata = new FunctionMetadataProperty {\n        FunctionArn = \"functionArn\"\n    }\n};","version":"1"},"java":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport software.amazon.awscdk.services.cloudfront.*;\n\nCfnFunctionProps cfnFunctionProps = CfnFunctionProps.builder()\n        .functionCode(\"functionCode\")\n        .functionConfig(FunctionConfigProperty.builder()\n                .comment(\"comment\")\n                .runtime(\"runtime\")\n                .build())\n        .name(\"name\")\n\n        // the properties below are optional\n        .autoPublish(false)\n        .functionMetadata(FunctionMetadataProperty.builder()\n                .functionArn(\"functionArn\")\n                .build())\n        .build();","version":"1"},"go":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport cloudfront \"github.com/aws-samples/dummy/awscdkawscloudfront\"\n\ncfnFunctionProps := &CfnFunctionProps{\n\tFunctionCode: jsii.String(\"functionCode\"),\n\tFunctionConfig: &FunctionConfigProperty{\n\t\tComment: jsii.String(\"comment\"),\n\t\tRuntime: jsii.String(\"runtime\"),\n\t},\n\tName: jsii.String(\"name\"),\n\n\t// the properties below are optional\n\tAutoPublish: jsii.Boolean(false),\n\tFunctionMetadata: &FunctionMetadataProperty{\n\t\tFunctionArn: jsii.String(\"functionArn\"),\n\t},\n}","version":"1"},"$":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nconst cfnFunctionProps: cloudfront.CfnFunctionProps = {\n  functionCode: 'functionCode',\n  functionConfig: {\n    comment: 'comment',\n    runtime: 'runtime',\n  },\n  name: 'name',\n\n  // the properties below are optional\n  autoPublish: false,\n  functionMetadata: {\n    functionArn: 'functionArn',\n  },\n};","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.CfnFunctionProps"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.CfnFunctionProps"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from \"@aws-cdk/core\";\nclass MyConstruct extends Construct {\nconstructor(scope: Construct, id: string) {\nsuper(scope, id);\n// Code snippet begins after !show marker below\n/// !show\n\nconst cfnFunctionProps: cloudfront.CfnFunctionProps = {\n  functionCode: 'functionCode',\n  functionConfig: {\n    comment: 'comment',\n    runtime: 'runtime',\n  },\n  name: 'name',\n\n  // the properties below are optional\n  autoPublish: false,\n  functionMetadata: {\n    functionArn: 'functionArn',\n  },\n};\n/// !hide\n// Code snippet ended before !hide marker above\n} }","syntaxKindCounter":{"10":6,"75":12,"91":1,"153":1,"169":1,"193":3,"225":1,"242":1,"243":1,"254":1,"255":1,"256":1,"281":8,"290":1},"fqnsFingerprint":"83f273cf1e48eb8aa62a465ef0a528ae0c634ff3df40c1b770778efed412be35"},"3f8fdddfed3f313ed1506acd8b981bbcb3ad1f4554729bcb735704b90e0e39f3":{"translations":{"python":{"source":"# The code below shows an example of how to instantiate this type.\n# The values are placeholders you should change.\nimport aws_cdk.aws_cloudfront as cloudfront\n\ncfn_key_group = cloudfront.CfnKeyGroup(self, \"MyCfnKeyGroup\",\n    key_group_config=cloudfront.CfnKeyGroup.KeyGroupConfigProperty(\n        items=[\"items\"],\n        name=\"name\",\n\n        # the properties below are optional\n        comment=\"comment\"\n    )\n)","version":"2"},"csharp":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nusing Amazon.CDK.AWS.CloudFront;\n\nvar cfnKeyGroup = new CfnKeyGroup(this, \"MyCfnKeyGroup\", new CfnKeyGroupProps {\n    KeyGroupConfig = new KeyGroupConfigProperty {\n        Items = new [] { \"items\" },\n        Name = \"name\",\n\n        // the properties below are optional\n        Comment = \"comment\"\n    }\n});","version":"1"},"java":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport software.amazon.awscdk.services.cloudfront.*;\n\nCfnKeyGroup cfnKeyGroup = CfnKeyGroup.Builder.create(this, \"MyCfnKeyGroup\")\n        .keyGroupConfig(KeyGroupConfigProperty.builder()\n                .items(List.of(\"items\"))\n                .name(\"name\")\n\n                // the properties below are optional\n                .comment(\"comment\")\n                .build())\n        .build();","version":"1"},"go":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport cloudfront \"github.com/aws-samples/dummy/awscdkawscloudfront\"\n\ncfnKeyGroup := cloudfront.NewCfnKeyGroup(this, jsii.String(\"MyCfnKeyGroup\"), &CfnKeyGroupProps{\n\tKeyGroupConfig: &KeyGroupConfigProperty{\n\t\tItems: []*string{\n\t\t\tjsii.String(\"items\"),\n\t\t},\n\t\tName: jsii.String(\"name\"),\n\n\t\t// the properties below are optional\n\t\tComment: jsii.String(\"comment\"),\n\t},\n})","version":"1"},"$":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nconst cfnKeyGroup = new cloudfront.CfnKeyGroup(this, 'MyCfnKeyGroup', {\n  keyGroupConfig: {\n    items: ['items'],\n    name: 'name',\n\n    // the properties below are optional\n    comment: 'comment',\n  },\n});","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.CfnKeyGroup"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.CfnKeyGroup","@aws-cdk/aws-cloudfront.CfnKeyGroupProps","@aws-cdk/core.Construct"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from \"@aws-cdk/core\";\nclass MyConstruct extends Construct {\nconstructor(scope: Construct, id: string) {\nsuper(scope, id);\n// Code snippet begins after !show marker below\n/// !show\n\nconst cfnKeyGroup = new cloudfront.CfnKeyGroup(this, 'MyCfnKeyGroup', {\n  keyGroupConfig: {\n    items: ['items'],\n    name: 'name',\n\n    // the properties below are optional\n    comment: 'comment',\n  },\n});\n/// !hide\n// Code snippet ended before !hide marker above\n} }","syntaxKindCounter":{"10":5,"75":8,"104":1,"192":1,"193":2,"194":1,"197":1,"225":1,"242":1,"243":1,"254":1,"255":1,"256":1,"281":4,"290":1},"fqnsFingerprint":"ec6c478d92ad9b2aec0f97ece43b43703c5698412d569df60ee72ea07afd0e1f"},"ea7d58f449772647e073c3c2acdc0021abdfe2ec2e5b73ee82f1d600352a4ce8":{"translations":{"python":{"source":"# The code below shows an example of how to instantiate this type.\n# The values are placeholders you should change.\nimport aws_cdk.aws_cloudfront as cloudfront\n\nkey_group_config_property = cloudfront.CfnKeyGroup.KeyGroupConfigProperty(\n    items=[\"items\"],\n    name=\"name\",\n\n    # the properties below are optional\n    comment=\"comment\"\n)","version":"2"},"csharp":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nusing Amazon.CDK.AWS.CloudFront;\n\nvar keyGroupConfigProperty = new KeyGroupConfigProperty {\n    Items = new [] { \"items\" },\n    Name = \"name\",\n\n    // the properties below are optional\n    Comment = \"comment\"\n};","version":"1"},"java":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport software.amazon.awscdk.services.cloudfront.*;\n\nKeyGroupConfigProperty keyGroupConfigProperty = KeyGroupConfigProperty.builder()\n        .items(List.of(\"items\"))\n        .name(\"name\")\n\n        // the properties below are optional\n        .comment(\"comment\")\n        .build();","version":"1"},"go":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport cloudfront \"github.com/aws-samples/dummy/awscdkawscloudfront\"\n\nkeyGroupConfigProperty := &KeyGroupConfigProperty{\n\tItems: []*string{\n\t\tjsii.String(\"items\"),\n\t},\n\tName: jsii.String(\"name\"),\n\n\t// the properties below are optional\n\tComment: jsii.String(\"comment\"),\n}","version":"1"},"$":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nconst keyGroupConfigProperty: cloudfront.CfnKeyGroup.KeyGroupConfigProperty = {\n  items: ['items'],\n  name: 'name',\n\n  // the properties below are optional\n  comment: 'comment',\n};","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.CfnKeyGroup.KeyGroupConfigProperty"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.CfnKeyGroup.KeyGroupConfigProperty"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from \"@aws-cdk/core\";\nclass MyConstruct extends Construct {\nconstructor(scope: Construct, id: string) {\nsuper(scope, id);\n// Code snippet begins after !show marker below\n/// !show\n\nconst keyGroupConfigProperty: cloudfront.CfnKeyGroup.KeyGroupConfigProperty = {\n  items: ['items'],\n  name: 'name',\n\n  // the properties below are optional\n  comment: 'comment',\n};\n/// !hide\n// Code snippet ended before !hide marker above\n} }","syntaxKindCounter":{"10":4,"75":8,"153":2,"169":1,"192":1,"193":1,"225":1,"242":1,"243":1,"254":1,"255":1,"256":1,"281":3,"290":1},"fqnsFingerprint":"d155d235768184f40e46aa82bba618d52f9e47fefb29493cbfb933cfc149fb99"},"96f5547045bd0e9eb0eba68190d65cf0d2ec6f316791ebd266fdd1c9340fe20a":{"translations":{"python":{"source":"# The code below shows an example of how to instantiate this type.\n# The values are placeholders you should change.\nimport aws_cdk.aws_cloudfront as cloudfront\n\ncfn_key_group_props = cloudfront.CfnKeyGroupProps(\n    key_group_config=cloudfront.CfnKeyGroup.KeyGroupConfigProperty(\n        items=[\"items\"],\n        name=\"name\",\n\n        # the properties below are optional\n        comment=\"comment\"\n    )\n)","version":"2"},"csharp":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nusing Amazon.CDK.AWS.CloudFront;\n\nvar cfnKeyGroupProps = new CfnKeyGroupProps {\n    KeyGroupConfig = new KeyGroupConfigProperty {\n        Items = new [] { \"items\" },\n        Name = \"name\",\n\n        // the properties below are optional\n        Comment = \"comment\"\n    }\n};","version":"1"},"java":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport software.amazon.awscdk.services.cloudfront.*;\n\nCfnKeyGroupProps cfnKeyGroupProps = CfnKeyGroupProps.builder()\n        .keyGroupConfig(KeyGroupConfigProperty.builder()\n                .items(List.of(\"items\"))\n                .name(\"name\")\n\n                // the properties below are optional\n                .comment(\"comment\")\n                .build())\n        .build();","version":"1"},"go":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport cloudfront \"github.com/aws-samples/dummy/awscdkawscloudfront\"\n\ncfnKeyGroupProps := &CfnKeyGroupProps{\n\tKeyGroupConfig: &KeyGroupConfigProperty{\n\t\tItems: []*string{\n\t\t\tjsii.String(\"items\"),\n\t\t},\n\t\tName: jsii.String(\"name\"),\n\n\t\t// the properties below are optional\n\t\tComment: jsii.String(\"comment\"),\n\t},\n}","version":"1"},"$":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nconst cfnKeyGroupProps: cloudfront.CfnKeyGroupProps = {\n  keyGroupConfig: {\n    items: ['items'],\n    name: 'name',\n\n    // the properties below are optional\n    comment: 'comment',\n  },\n};","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.CfnKeyGroupProps"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.CfnKeyGroupProps"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from \"@aws-cdk/core\";\nclass MyConstruct extends Construct {\nconstructor(scope: Construct, id: string) {\nsuper(scope, id);\n// Code snippet begins after !show marker below\n/// !show\n\nconst cfnKeyGroupProps: cloudfront.CfnKeyGroupProps = {\n  keyGroupConfig: {\n    items: ['items'],\n    name: 'name',\n\n    // the properties below are optional\n    comment: 'comment',\n  },\n};\n/// !hide\n// Code snippet ended before !hide marker above\n} }","syntaxKindCounter":{"10":4,"75":8,"153":1,"169":1,"192":1,"193":2,"225":1,"242":1,"243":1,"254":1,"255":1,"256":1,"281":4,"290":1},"fqnsFingerprint":"7d82c0703c27393d7197f923d3b680ef288766dc9890c54bdffc9322a6c65a18"},"82f68d4de5fe551ac71784b0bb3a52eacca1f0be0ec0bf018fb753d2bd3d64de":{"translations":{"python":{"source":"# The code below shows an example of how to instantiate this type.\n# The values are placeholders you should change.\nimport aws_cdk.aws_cloudfront as cloudfront\n\ncfn_monitoring_subscription = cloudfront.CfnMonitoringSubscription(self, \"MyCfnMonitoringSubscription\",\n    distribution_id=\"distributionId\",\n    monitoring_subscription=cloudfront.CfnMonitoringSubscription.MonitoringSubscriptionProperty(\n        realtime_metrics_subscription_config=cloudfront.CfnMonitoringSubscription.RealtimeMetricsSubscriptionConfigProperty(\n            realtime_metrics_subscription_status=\"realtimeMetricsSubscriptionStatus\"\n        )\n    )\n)","version":"2"},"csharp":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nusing Amazon.CDK.AWS.CloudFront;\n\nvar cfnMonitoringSubscription = new CfnMonitoringSubscription(this, \"MyCfnMonitoringSubscription\", new CfnMonitoringSubscriptionProps {\n    DistributionId = \"distributionId\",\n    MonitoringSubscription = new MonitoringSubscriptionProperty {\n        RealtimeMetricsSubscriptionConfig = new RealtimeMetricsSubscriptionConfigProperty {\n            RealtimeMetricsSubscriptionStatus = \"realtimeMetricsSubscriptionStatus\"\n        }\n    }\n});","version":"1"},"java":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport software.amazon.awscdk.services.cloudfront.*;\n\nCfnMonitoringSubscription cfnMonitoringSubscription = CfnMonitoringSubscription.Builder.create(this, \"MyCfnMonitoringSubscription\")\n        .distributionId(\"distributionId\")\n        .monitoringSubscription(MonitoringSubscriptionProperty.builder()\n                .realtimeMetricsSubscriptionConfig(RealtimeMetricsSubscriptionConfigProperty.builder()\n                        .realtimeMetricsSubscriptionStatus(\"realtimeMetricsSubscriptionStatus\")\n                        .build())\n                .build())\n        .build();","version":"1"},"go":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport cloudfront \"github.com/aws-samples/dummy/awscdkawscloudfront\"\n\ncfnMonitoringSubscription := cloudfront.NewCfnMonitoringSubscription(this, jsii.String(\"MyCfnMonitoringSubscription\"), &CfnMonitoringSubscriptionProps{\n\tDistributionId: jsii.String(\"distributionId\"),\n\tMonitoringSubscription: &MonitoringSubscriptionProperty{\n\t\tRealtimeMetricsSubscriptionConfig: &RealtimeMetricsSubscriptionConfigProperty{\n\t\t\tRealtimeMetricsSubscriptionStatus: jsii.String(\"realtimeMetricsSubscriptionStatus\"),\n\t\t},\n\t},\n})","version":"1"},"$":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nconst cfnMonitoringSubscription = new cloudfront.CfnMonitoringSubscription(this, 'MyCfnMonitoringSubscription', {\n  distributionId: 'distributionId',\n  monitoringSubscription: {\n    realtimeMetricsSubscriptionConfig: {\n      realtimeMetricsSubscriptionStatus: 'realtimeMetricsSubscriptionStatus',\n    },\n  },\n});","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.CfnMonitoringSubscription"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.CfnMonitoringSubscription","@aws-cdk/aws-cloudfront.CfnMonitoringSubscriptionProps","@aws-cdk/core.Construct"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from \"@aws-cdk/core\";\nclass MyConstruct extends Construct {\nconstructor(scope: Construct, id: string) {\nsuper(scope, id);\n// Code snippet begins after !show marker below\n/// !show\n\nconst cfnMonitoringSubscription = new cloudfront.CfnMonitoringSubscription(this, 'MyCfnMonitoringSubscription', {\n  distributionId: 'distributionId',\n  monitoringSubscription: {\n    realtimeMetricsSubscriptionConfig: {\n      realtimeMetricsSubscriptionStatus: 'realtimeMetricsSubscriptionStatus',\n    },\n  },\n});\n/// !hide\n// Code snippet ended before !hide marker above\n} }","syntaxKindCounter":{"10":4,"75":8,"104":1,"193":3,"194":1,"197":1,"225":1,"242":1,"243":1,"254":1,"255":1,"256":1,"281":4,"290":1},"fqnsFingerprint":"2a55330e8cb9803869af4988a77844a65ac9c557356933f4e35f745dcbf0da16"},"434a2e92c1f04f91b7443c44c7332729b1053c99943a3c0df9932815b123d351":{"translations":{"python":{"source":"# The code below shows an example of how to instantiate this type.\n# The values are placeholders you should change.\nimport aws_cdk.aws_cloudfront as cloudfront\n\nmonitoring_subscription_property = cloudfront.CfnMonitoringSubscription.MonitoringSubscriptionProperty(\n    realtime_metrics_subscription_config=cloudfront.CfnMonitoringSubscription.RealtimeMetricsSubscriptionConfigProperty(\n        realtime_metrics_subscription_status=\"realtimeMetricsSubscriptionStatus\"\n    )\n)","version":"2"},"csharp":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nusing Amazon.CDK.AWS.CloudFront;\n\nvar monitoringSubscriptionProperty = new MonitoringSubscriptionProperty {\n    RealtimeMetricsSubscriptionConfig = new RealtimeMetricsSubscriptionConfigProperty {\n        RealtimeMetricsSubscriptionStatus = \"realtimeMetricsSubscriptionStatus\"\n    }\n};","version":"1"},"java":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport software.amazon.awscdk.services.cloudfront.*;\n\nMonitoringSubscriptionProperty monitoringSubscriptionProperty = MonitoringSubscriptionProperty.builder()\n        .realtimeMetricsSubscriptionConfig(RealtimeMetricsSubscriptionConfigProperty.builder()\n                .realtimeMetricsSubscriptionStatus(\"realtimeMetricsSubscriptionStatus\")\n                .build())\n        .build();","version":"1"},"go":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport cloudfront \"github.com/aws-samples/dummy/awscdkawscloudfront\"\n\nmonitoringSubscriptionProperty := &MonitoringSubscriptionProperty{\n\tRealtimeMetricsSubscriptionConfig: &RealtimeMetricsSubscriptionConfigProperty{\n\t\tRealtimeMetricsSubscriptionStatus: jsii.String(\"realtimeMetricsSubscriptionStatus\"),\n\t},\n}","version":"1"},"$":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nconst monitoringSubscriptionProperty: cloudfront.CfnMonitoringSubscription.MonitoringSubscriptionProperty = {\n  realtimeMetricsSubscriptionConfig: {\n    realtimeMetricsSubscriptionStatus: 'realtimeMetricsSubscriptionStatus',\n  },\n};","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.CfnMonitoringSubscription.MonitoringSubscriptionProperty"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.CfnMonitoringSubscription.MonitoringSubscriptionProperty"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from \"@aws-cdk/core\";\nclass MyConstruct extends Construct {\nconstructor(scope: Construct, id: string) {\nsuper(scope, id);\n// Code snippet begins after !show marker below\n/// !show\n\nconst monitoringSubscriptionProperty: cloudfront.CfnMonitoringSubscription.MonitoringSubscriptionProperty = {\n  realtimeMetricsSubscriptionConfig: {\n    realtimeMetricsSubscriptionStatus: 'realtimeMetricsSubscriptionStatus',\n  },\n};\n/// !hide\n// Code snippet ended before !hide marker above\n} }","syntaxKindCounter":{"10":2,"75":7,"153":2,"169":1,"193":2,"225":1,"242":1,"243":1,"254":1,"255":1,"256":1,"281":2,"290":1},"fqnsFingerprint":"f32a96f77a1ceb0bf37b86c7ac2736753fc358dc137b55ae75b1a502c8322da9"},"68e7153ea2acbcda2c02ddad40c53be30db73ed6cbecf0c82b3f3f70c0b2df45":{"translations":{"python":{"source":"# The code below shows an example of how to instantiate this type.\n# The values are placeholders you should change.\nimport aws_cdk.aws_cloudfront as cloudfront\n\nrealtime_metrics_subscription_config_property = cloudfront.CfnMonitoringSubscription.RealtimeMetricsSubscriptionConfigProperty(\n    realtime_metrics_subscription_status=\"realtimeMetricsSubscriptionStatus\"\n)","version":"2"},"csharp":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nusing Amazon.CDK.AWS.CloudFront;\n\nvar realtimeMetricsSubscriptionConfigProperty = new RealtimeMetricsSubscriptionConfigProperty {\n    RealtimeMetricsSubscriptionStatus = \"realtimeMetricsSubscriptionStatus\"\n};","version":"1"},"java":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport software.amazon.awscdk.services.cloudfront.*;\n\nRealtimeMetricsSubscriptionConfigProperty realtimeMetricsSubscriptionConfigProperty = RealtimeMetricsSubscriptionConfigProperty.builder()\n        .realtimeMetricsSubscriptionStatus(\"realtimeMetricsSubscriptionStatus\")\n        .build();","version":"1"},"go":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport cloudfront \"github.com/aws-samples/dummy/awscdkawscloudfront\"\n\nrealtimeMetricsSubscriptionConfigProperty := &RealtimeMetricsSubscriptionConfigProperty{\n\tRealtimeMetricsSubscriptionStatus: jsii.String(\"realtimeMetricsSubscriptionStatus\"),\n}","version":"1"},"$":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nconst realtimeMetricsSubscriptionConfigProperty: cloudfront.CfnMonitoringSubscription.RealtimeMetricsSubscriptionConfigProperty = {\n  realtimeMetricsSubscriptionStatus: 'realtimeMetricsSubscriptionStatus',\n};","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.CfnMonitoringSubscription.RealtimeMetricsSubscriptionConfigProperty"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.CfnMonitoringSubscription.RealtimeMetricsSubscriptionConfigProperty"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from \"@aws-cdk/core\";\nclass MyConstruct extends Construct {\nconstructor(scope: Construct, id: string) {\nsuper(scope, id);\n// Code snippet begins after !show marker below\n/// !show\n\nconst realtimeMetricsSubscriptionConfigProperty: cloudfront.CfnMonitoringSubscription.RealtimeMetricsSubscriptionConfigProperty = {\n  realtimeMetricsSubscriptionStatus: 'realtimeMetricsSubscriptionStatus',\n};\n/// !hide\n// Code snippet ended before !hide marker above\n} }","syntaxKindCounter":{"10":2,"75":6,"153":2,"169":1,"193":1,"225":1,"242":1,"243":1,"254":1,"255":1,"256":1,"281":1,"290":1},"fqnsFingerprint":"1036967bd53c86d3f08d5f23a6691d9ee22b6794eae1f1e464038fd1221e317e"},"8cc39615a7cf618b311fb05530ea2896ede358e531793a33b69ff5c0991ace9b":{"translations":{"python":{"source":"# The code below shows an example of how to instantiate this type.\n# The values are placeholders you should change.\nimport aws_cdk.aws_cloudfront as cloudfront\n\ncfn_monitoring_subscription_props = cloudfront.CfnMonitoringSubscriptionProps(\n    distribution_id=\"distributionId\",\n    monitoring_subscription=cloudfront.CfnMonitoringSubscription.MonitoringSubscriptionProperty(\n        realtime_metrics_subscription_config=cloudfront.CfnMonitoringSubscription.RealtimeMetricsSubscriptionConfigProperty(\n            realtime_metrics_subscription_status=\"realtimeMetricsSubscriptionStatus\"\n        )\n    )\n)","version":"2"},"csharp":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nusing Amazon.CDK.AWS.CloudFront;\n\nvar cfnMonitoringSubscriptionProps = new CfnMonitoringSubscriptionProps {\n    DistributionId = \"distributionId\",\n    MonitoringSubscription = new MonitoringSubscriptionProperty {\n        RealtimeMetricsSubscriptionConfig = new RealtimeMetricsSubscriptionConfigProperty {\n            RealtimeMetricsSubscriptionStatus = \"realtimeMetricsSubscriptionStatus\"\n        }\n    }\n};","version":"1"},"java":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport software.amazon.awscdk.services.cloudfront.*;\n\nCfnMonitoringSubscriptionProps cfnMonitoringSubscriptionProps = CfnMonitoringSubscriptionProps.builder()\n        .distributionId(\"distributionId\")\n        .monitoringSubscription(MonitoringSubscriptionProperty.builder()\n                .realtimeMetricsSubscriptionConfig(RealtimeMetricsSubscriptionConfigProperty.builder()\n                        .realtimeMetricsSubscriptionStatus(\"realtimeMetricsSubscriptionStatus\")\n                        .build())\n                .build())\n        .build();","version":"1"},"go":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport cloudfront \"github.com/aws-samples/dummy/awscdkawscloudfront\"\n\ncfnMonitoringSubscriptionProps := &CfnMonitoringSubscriptionProps{\n\tDistributionId: jsii.String(\"distributionId\"),\n\tMonitoringSubscription: &MonitoringSubscriptionProperty{\n\t\tRealtimeMetricsSubscriptionConfig: &RealtimeMetricsSubscriptionConfigProperty{\n\t\t\tRealtimeMetricsSubscriptionStatus: jsii.String(\"realtimeMetricsSubscriptionStatus\"),\n\t\t},\n\t},\n}","version":"1"},"$":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nconst cfnMonitoringSubscriptionProps: cloudfront.CfnMonitoringSubscriptionProps = {\n  distributionId: 'distributionId',\n  monitoringSubscription: {\n    realtimeMetricsSubscriptionConfig: {\n      realtimeMetricsSubscriptionStatus: 'realtimeMetricsSubscriptionStatus',\n    },\n  },\n};","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.CfnMonitoringSubscriptionProps"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.CfnMonitoringSubscriptionProps"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from \"@aws-cdk/core\";\nclass MyConstruct extends Construct {\nconstructor(scope: Construct, id: string) {\nsuper(scope, id);\n// Code snippet begins after !show marker below\n/// !show\n\nconst cfnMonitoringSubscriptionProps: cloudfront.CfnMonitoringSubscriptionProps = {\n  distributionId: 'distributionId',\n  monitoringSubscription: {\n    realtimeMetricsSubscriptionConfig: {\n      realtimeMetricsSubscriptionStatus: 'realtimeMetricsSubscriptionStatus',\n    },\n  },\n};\n/// !hide\n// Code snippet ended before !hide marker above\n} }","syntaxKindCounter":{"10":3,"75":8,"153":1,"169":1,"193":3,"225":1,"242":1,"243":1,"254":1,"255":1,"256":1,"281":4,"290":1},"fqnsFingerprint":"fc2440a248824e2ab5152dc88950d67238d10a706bc3d6edd9b91c7593a38fdb"},"d363bd332204563a8475b8f8e4a5e1c7566524237a33e7ac63c9aeab846ceb1c":{"translations":{"python":{"source":"# The code below shows an example of how to instantiate this type.\n# The values are placeholders you should change.\nimport aws_cdk.aws_cloudfront as cloudfront\n\ncfn_origin_access_control = cloudfront.CfnOriginAccessControl(self, \"MyCfnOriginAccessControl\",\n    origin_access_control_config=cloudfront.CfnOriginAccessControl.OriginAccessControlConfigProperty(\n        name=\"name\",\n        origin_access_control_origin_type=\"originAccessControlOriginType\",\n        signing_behavior=\"signingBehavior\",\n        signing_protocol=\"signingProtocol\",\n\n        # the properties below are optional\n        description=\"description\"\n    )\n)","version":"2"},"csharp":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nusing Amazon.CDK.AWS.CloudFront;\n\nvar cfnOriginAccessControl = new CfnOriginAccessControl(this, \"MyCfnOriginAccessControl\", new CfnOriginAccessControlProps {\n    OriginAccessControlConfig = new OriginAccessControlConfigProperty {\n        Name = \"name\",\n        OriginAccessControlOriginType = \"originAccessControlOriginType\",\n        SigningBehavior = \"signingBehavior\",\n        SigningProtocol = \"signingProtocol\",\n\n        // the properties below are optional\n        Description = \"description\"\n    }\n});","version":"1"},"java":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport software.amazon.awscdk.services.cloudfront.*;\n\nCfnOriginAccessControl cfnOriginAccessControl = CfnOriginAccessControl.Builder.create(this, \"MyCfnOriginAccessControl\")\n        .originAccessControlConfig(OriginAccessControlConfigProperty.builder()\n                .name(\"name\")\n                .originAccessControlOriginType(\"originAccessControlOriginType\")\n                .signingBehavior(\"signingBehavior\")\n                .signingProtocol(\"signingProtocol\")\n\n                // the properties below are optional\n                .description(\"description\")\n                .build())\n        .build();","version":"1"},"go":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport cloudfront \"github.com/aws-samples/dummy/awscdkawscloudfront\"\n\ncfnOriginAccessControl := cloudfront.NewCfnOriginAccessControl(this, jsii.String(\"MyCfnOriginAccessControl\"), &CfnOriginAccessControlProps{\n\tOriginAccessControlConfig: &OriginAccessControlConfigProperty{\n\t\tName: jsii.String(\"name\"),\n\t\tOriginAccessControlOriginType: jsii.String(\"originAccessControlOriginType\"),\n\t\tSigningBehavior: jsii.String(\"signingBehavior\"),\n\t\tSigningProtocol: jsii.String(\"signingProtocol\"),\n\n\t\t// the properties below are optional\n\t\tDescription: jsii.String(\"description\"),\n\t},\n})","version":"1"},"$":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nconst cfnOriginAccessControl = new cloudfront.CfnOriginAccessControl(this, 'MyCfnOriginAccessControl', {\n  originAccessControlConfig: {\n    name: 'name',\n    originAccessControlOriginType: 'originAccessControlOriginType',\n    signingBehavior: 'signingBehavior',\n    signingProtocol: 'signingProtocol',\n\n    // the properties below are optional\n    description: 'description',\n  },\n});","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.CfnOriginAccessControl"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.CfnOriginAccessControl","@aws-cdk/aws-cloudfront.CfnOriginAccessControlProps","@aws-cdk/core.Construct"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from \"@aws-cdk/core\";\nclass MyConstruct extends Construct {\nconstructor(scope: Construct, id: string) {\nsuper(scope, id);\n// Code snippet begins after !show marker below\n/// !show\n\nconst cfnOriginAccessControl = new cloudfront.CfnOriginAccessControl(this, 'MyCfnOriginAccessControl', {\n  originAccessControlConfig: {\n    name: 'name',\n    originAccessControlOriginType: 'originAccessControlOriginType',\n    signingBehavior: 'signingBehavior',\n    signingProtocol: 'signingProtocol',\n\n    // the properties below are optional\n    description: 'description',\n  },\n});\n/// !hide\n// Code snippet ended before !hide marker above\n} }","syntaxKindCounter":{"10":7,"75":10,"104":1,"193":2,"194":1,"197":1,"225":1,"242":1,"243":1,"254":1,"255":1,"256":1,"281":6,"290":1},"fqnsFingerprint":"623cb056f0b0f1c43b7553509ba9286c84e60cf26440007f3c1cd0892906927f"},"5452f7989dba097aceba0f052f4f8aa4e7bc6e6fd74b6416d1e3e154b2d553cd":{"translations":{"python":{"source":"# The code below shows an example of how to instantiate this type.\n# The values are placeholders you should change.\nimport aws_cdk.aws_cloudfront as cloudfront\n\norigin_access_control_config_property = cloudfront.CfnOriginAccessControl.OriginAccessControlConfigProperty(\n    name=\"name\",\n    origin_access_control_origin_type=\"originAccessControlOriginType\",\n    signing_behavior=\"signingBehavior\",\n    signing_protocol=\"signingProtocol\",\n\n    # the properties below are optional\n    description=\"description\"\n)","version":"2"},"csharp":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nusing Amazon.CDK.AWS.CloudFront;\n\nvar originAccessControlConfigProperty = new OriginAccessControlConfigProperty {\n    Name = \"name\",\n    OriginAccessControlOriginType = \"originAccessControlOriginType\",\n    SigningBehavior = \"signingBehavior\",\n    SigningProtocol = \"signingProtocol\",\n\n    // the properties below are optional\n    Description = \"description\"\n};","version":"1"},"java":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport software.amazon.awscdk.services.cloudfront.*;\n\nOriginAccessControlConfigProperty originAccessControlConfigProperty = OriginAccessControlConfigProperty.builder()\n        .name(\"name\")\n        .originAccessControlOriginType(\"originAccessControlOriginType\")\n        .signingBehavior(\"signingBehavior\")\n        .signingProtocol(\"signingProtocol\")\n\n        // the properties below are optional\n        .description(\"description\")\n        .build();","version":"1"},"go":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport cloudfront \"github.com/aws-samples/dummy/awscdkawscloudfront\"\n\noriginAccessControlConfigProperty := &OriginAccessControlConfigProperty{\n\tName: jsii.String(\"name\"),\n\tOriginAccessControlOriginType: jsii.String(\"originAccessControlOriginType\"),\n\tSigningBehavior: jsii.String(\"signingBehavior\"),\n\tSigningProtocol: jsii.String(\"signingProtocol\"),\n\n\t// the properties below are optional\n\tDescription: jsii.String(\"description\"),\n}","version":"1"},"$":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nconst originAccessControlConfigProperty: cloudfront.CfnOriginAccessControl.OriginAccessControlConfigProperty = {\n  name: 'name',\n  originAccessControlOriginType: 'originAccessControlOriginType',\n  signingBehavior: 'signingBehavior',\n  signingProtocol: 'signingProtocol',\n\n  // the properties below are optional\n  description: 'description',\n};","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.CfnOriginAccessControl.OriginAccessControlConfigProperty"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.CfnOriginAccessControl.OriginAccessControlConfigProperty"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from \"@aws-cdk/core\";\nclass MyConstruct extends Construct {\nconstructor(scope: Construct, id: string) {\nsuper(scope, id);\n// Code snippet begins after !show marker below\n/// !show\n\nconst originAccessControlConfigProperty: cloudfront.CfnOriginAccessControl.OriginAccessControlConfigProperty = {\n  name: 'name',\n  originAccessControlOriginType: 'originAccessControlOriginType',\n  signingBehavior: 'signingBehavior',\n  signingProtocol: 'signingProtocol',\n\n  // the properties below are optional\n  description: 'description',\n};\n/// !hide\n// Code snippet ended before !hide marker above\n} }","syntaxKindCounter":{"10":6,"75":10,"153":2,"169":1,"193":1,"225":1,"242":1,"243":1,"254":1,"255":1,"256":1,"281":5,"290":1},"fqnsFingerprint":"10b2ba94cd5855d0add057632864472d4b62eebad01eab273728157c24539d69"},"926ad674fe55f232fa8e068adacbb8ef29245e4e25e84c124c5980acac6712a3":{"translations":{"python":{"source":"# The code below shows an example of how to instantiate this type.\n# The values are placeholders you should change.\nimport aws_cdk.aws_cloudfront as cloudfront\n\ncfn_origin_access_control_props = cloudfront.CfnOriginAccessControlProps(\n    origin_access_control_config=cloudfront.CfnOriginAccessControl.OriginAccessControlConfigProperty(\n        name=\"name\",\n        origin_access_control_origin_type=\"originAccessControlOriginType\",\n        signing_behavior=\"signingBehavior\",\n        signing_protocol=\"signingProtocol\",\n\n        # the properties below are optional\n        description=\"description\"\n    )\n)","version":"2"},"csharp":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nusing Amazon.CDK.AWS.CloudFront;\n\nvar cfnOriginAccessControlProps = new CfnOriginAccessControlProps {\n    OriginAccessControlConfig = new OriginAccessControlConfigProperty {\n        Name = \"name\",\n        OriginAccessControlOriginType = \"originAccessControlOriginType\",\n        SigningBehavior = \"signingBehavior\",\n        SigningProtocol = \"signingProtocol\",\n\n        // the properties below are optional\n        Description = \"description\"\n    }\n};","version":"1"},"java":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport software.amazon.awscdk.services.cloudfront.*;\n\nCfnOriginAccessControlProps cfnOriginAccessControlProps = CfnOriginAccessControlProps.builder()\n        .originAccessControlConfig(OriginAccessControlConfigProperty.builder()\n                .name(\"name\")\n                .originAccessControlOriginType(\"originAccessControlOriginType\")\n                .signingBehavior(\"signingBehavior\")\n                .signingProtocol(\"signingProtocol\")\n\n                // the properties below are optional\n                .description(\"description\")\n                .build())\n        .build();","version":"1"},"go":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport cloudfront \"github.com/aws-samples/dummy/awscdkawscloudfront\"\n\ncfnOriginAccessControlProps := &CfnOriginAccessControlProps{\n\tOriginAccessControlConfig: &OriginAccessControlConfigProperty{\n\t\tName: jsii.String(\"name\"),\n\t\tOriginAccessControlOriginType: jsii.String(\"originAccessControlOriginType\"),\n\t\tSigningBehavior: jsii.String(\"signingBehavior\"),\n\t\tSigningProtocol: jsii.String(\"signingProtocol\"),\n\n\t\t// the properties below are optional\n\t\tDescription: jsii.String(\"description\"),\n\t},\n}","version":"1"},"$":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nconst cfnOriginAccessControlProps: cloudfront.CfnOriginAccessControlProps = {\n  originAccessControlConfig: {\n    name: 'name',\n    originAccessControlOriginType: 'originAccessControlOriginType',\n    signingBehavior: 'signingBehavior',\n    signingProtocol: 'signingProtocol',\n\n    // the properties below are optional\n    description: 'description',\n  },\n};","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.CfnOriginAccessControlProps"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.CfnOriginAccessControlProps"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from \"@aws-cdk/core\";\nclass MyConstruct extends Construct {\nconstructor(scope: Construct, id: string) {\nsuper(scope, id);\n// Code snippet begins after !show marker below\n/// !show\n\nconst cfnOriginAccessControlProps: cloudfront.CfnOriginAccessControlProps = {\n  originAccessControlConfig: {\n    name: 'name',\n    originAccessControlOriginType: 'originAccessControlOriginType',\n    signingBehavior: 'signingBehavior',\n    signingProtocol: 'signingProtocol',\n\n    // the properties below are optional\n    description: 'description',\n  },\n};\n/// !hide\n// Code snippet ended before !hide marker above\n} }","syntaxKindCounter":{"10":6,"75":10,"153":1,"169":1,"193":2,"225":1,"242":1,"243":1,"254":1,"255":1,"256":1,"281":6,"290":1},"fqnsFingerprint":"14db08789bc7ec9efd63d7d5290730ad034dedfcfa032e3df8c8d9247b8a0673"},"ae1dc47cfd2ceebd74832546060215df2428f6b869266fa87e85d8cc8260f3ce":{"translations":{"python":{"source":"# The code below shows an example of how to instantiate this type.\n# The values are placeholders you should change.\nimport aws_cdk.aws_cloudfront as cloudfront\n\ncfn_origin_request_policy = cloudfront.CfnOriginRequestPolicy(self, \"MyCfnOriginRequestPolicy\",\n    origin_request_policy_config=cloudfront.CfnOriginRequestPolicy.OriginRequestPolicyConfigProperty(\n        cookies_config=cloudfront.CfnOriginRequestPolicy.CookiesConfigProperty(\n            cookie_behavior=\"cookieBehavior\",\n\n            # the properties below are optional\n            cookies=[\"cookies\"]\n        ),\n        headers_config=cloudfront.CfnOriginRequestPolicy.HeadersConfigProperty(\n            header_behavior=\"headerBehavior\",\n\n            # the properties below are optional\n            headers=[\"headers\"]\n        ),\n        name=\"name\",\n        query_strings_config=cloudfront.CfnOriginRequestPolicy.QueryStringsConfigProperty(\n            query_string_behavior=\"queryStringBehavior\",\n\n            # the properties below are optional\n            query_strings=[\"queryStrings\"]\n        ),\n\n        # the properties below are optional\n        comment=\"comment\"\n    )\n)","version":"2"},"csharp":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nusing Amazon.CDK.AWS.CloudFront;\n\nvar cfnOriginRequestPolicy = new CfnOriginRequestPolicy(this, \"MyCfnOriginRequestPolicy\", new CfnOriginRequestPolicyProps {\n    OriginRequestPolicyConfig = new OriginRequestPolicyConfigProperty {\n        CookiesConfig = new CookiesConfigProperty {\n            CookieBehavior = \"cookieBehavior\",\n\n            // the properties below are optional\n            Cookies = new [] { \"cookies\" }\n        },\n        HeadersConfig = new HeadersConfigProperty {\n            HeaderBehavior = \"headerBehavior\",\n\n            // the properties below are optional\n            Headers = new [] { \"headers\" }\n        },\n        Name = \"name\",\n        QueryStringsConfig = new QueryStringsConfigProperty {\n            QueryStringBehavior = \"queryStringBehavior\",\n\n            // the properties below are optional\n            QueryStrings = new [] { \"queryStrings\" }\n        },\n\n        // the properties below are optional\n        Comment = \"comment\"\n    }\n});","version":"1"},"java":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport software.amazon.awscdk.services.cloudfront.*;\n\nCfnOriginRequestPolicy cfnOriginRequestPolicy = CfnOriginRequestPolicy.Builder.create(this, \"MyCfnOriginRequestPolicy\")\n        .originRequestPolicyConfig(OriginRequestPolicyConfigProperty.builder()\n                .cookiesConfig(CookiesConfigProperty.builder()\n                        .cookieBehavior(\"cookieBehavior\")\n\n                        // the properties below are optional\n                        .cookies(List.of(\"cookies\"))\n                        .build())\n                .headersConfig(HeadersConfigProperty.builder()\n                        .headerBehavior(\"headerBehavior\")\n\n                        // the properties below are optional\n                        .headers(List.of(\"headers\"))\n                        .build())\n                .name(\"name\")\n                .queryStringsConfig(QueryStringsConfigProperty.builder()\n                        .queryStringBehavior(\"queryStringBehavior\")\n\n                        // the properties below are optional\n                        .queryStrings(List.of(\"queryStrings\"))\n                        .build())\n\n                // the properties below are optional\n                .comment(\"comment\")\n                .build())\n        .build();","version":"1"},"go":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport cloudfront \"github.com/aws-samples/dummy/awscdkawscloudfront\"\n\ncfnOriginRequestPolicy := cloudfront.NewCfnOriginRequestPolicy(this, jsii.String(\"MyCfnOriginRequestPolicy\"), &CfnOriginRequestPolicyProps{\n\tOriginRequestPolicyConfig: &OriginRequestPolicyConfigProperty{\n\t\tCookiesConfig: &CookiesConfigProperty{\n\t\t\tCookieBehavior: jsii.String(\"cookieBehavior\"),\n\n\t\t\t// the properties below are optional\n\t\t\tCookies: []*string{\n\t\t\t\tjsii.String(\"cookies\"),\n\t\t\t},\n\t\t},\n\t\tHeadersConfig: &HeadersConfigProperty{\n\t\t\tHeaderBehavior: jsii.String(\"headerBehavior\"),\n\n\t\t\t// the properties below are optional\n\t\t\tHeaders: []*string{\n\t\t\t\tjsii.String(\"headers\"),\n\t\t\t},\n\t\t},\n\t\tName: jsii.String(\"name\"),\n\t\tQueryStringsConfig: &QueryStringsConfigProperty{\n\t\t\tQueryStringBehavior: jsii.String(\"queryStringBehavior\"),\n\n\t\t\t// the properties below are optional\n\t\t\tQueryStrings: []*string{\n\t\t\t\tjsii.String(\"queryStrings\"),\n\t\t\t},\n\t\t},\n\n\t\t// the properties below are optional\n\t\tComment: jsii.String(\"comment\"),\n\t},\n})","version":"1"},"$":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nconst cfnOriginRequestPolicy = new cloudfront.CfnOriginRequestPolicy(this, 'MyCfnOriginRequestPolicy', {\n  originRequestPolicyConfig: {\n    cookiesConfig: {\n      cookieBehavior: 'cookieBehavior',\n\n      // the properties below are optional\n      cookies: ['cookies'],\n    },\n    headersConfig: {\n      headerBehavior: 'headerBehavior',\n\n      // the properties below are optional\n      headers: ['headers'],\n    },\n    name: 'name',\n    queryStringsConfig: {\n      queryStringBehavior: 'queryStringBehavior',\n\n      // the properties below are optional\n      queryStrings: ['queryStrings'],\n    },\n\n    // the properties below are optional\n    comment: 'comment',\n  },\n});","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.CfnOriginRequestPolicy"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.CfnOriginRequestPolicy","@aws-cdk/aws-cloudfront.CfnOriginRequestPolicyProps","@aws-cdk/core.Construct"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from \"@aws-cdk/core\";\nclass MyConstruct extends Construct {\nconstructor(scope: Construct, id: string) {\nsuper(scope, id);\n// Code snippet begins after !show marker below\n/// !show\n\nconst cfnOriginRequestPolicy = new cloudfront.CfnOriginRequestPolicy(this, 'MyCfnOriginRequestPolicy', {\n  originRequestPolicyConfig: {\n    cookiesConfig: {\n      cookieBehavior: 'cookieBehavior',\n\n      // the properties below are optional\n      cookies: ['cookies'],\n    },\n    headersConfig: {\n      headerBehavior: 'headerBehavior',\n\n      // the properties below are optional\n      headers: ['headers'],\n    },\n    name: 'name',\n    queryStringsConfig: {\n      queryStringBehavior: 'queryStringBehavior',\n\n      // the properties below are optional\n      queryStrings: ['queryStrings'],\n    },\n\n    // the properties below are optional\n    comment: 'comment',\n  },\n});\n/// !hide\n// Code snippet ended before !hide marker above\n} }","syntaxKindCounter":{"10":10,"75":16,"104":1,"192":3,"193":5,"194":1,"197":1,"225":1,"242":1,"243":1,"254":1,"255":1,"256":1,"281":12,"290":1},"fqnsFingerprint":"6b69d00cefa90f6b2462cc57c4ffe5b1ee037ad0dfcbd143831554776b41bd51"},"4fe79cb3da0a90d329eec933f98e2706d427e1ba1eeb17762d240066a684c86d":{"translations":{"python":{"source":"# The code below shows an example of how to instantiate this type.\n# The values are placeholders you should change.\nimport aws_cdk.aws_cloudfront as cloudfront\n\ncookies_config_property = cloudfront.CfnOriginRequestPolicy.CookiesConfigProperty(\n    cookie_behavior=\"cookieBehavior\",\n\n    # the properties below are optional\n    cookies=[\"cookies\"]\n)","version":"2"},"csharp":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nusing Amazon.CDK.AWS.CloudFront;\n\nvar cookiesConfigProperty = new CookiesConfigProperty {\n    CookieBehavior = \"cookieBehavior\",\n\n    // the properties below are optional\n    Cookies = new [] { \"cookies\" }\n};","version":"1"},"java":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport software.amazon.awscdk.services.cloudfront.*;\n\nCookiesConfigProperty cookiesConfigProperty = CookiesConfigProperty.builder()\n        .cookieBehavior(\"cookieBehavior\")\n\n        // the properties below are optional\n        .cookies(List.of(\"cookies\"))\n        .build();","version":"1"},"go":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport cloudfront \"github.com/aws-samples/dummy/awscdkawscloudfront\"\n\ncookiesConfigProperty := &CookiesConfigProperty{\n\tCookieBehavior: jsii.String(\"cookieBehavior\"),\n\n\t// the properties below are optional\n\tCookies: []*string{\n\t\tjsii.String(\"cookies\"),\n\t},\n}","version":"1"},"$":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nconst cookiesConfigProperty: cloudfront.CfnOriginRequestPolicy.CookiesConfigProperty = {\n  cookieBehavior: 'cookieBehavior',\n\n  // the properties below are optional\n  cookies: ['cookies'],\n};","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.CfnOriginRequestPolicy.CookiesConfigProperty"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.CfnOriginRequestPolicy.CookiesConfigProperty"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from \"@aws-cdk/core\";\nclass MyConstruct extends Construct {\nconstructor(scope: Construct, id: string) {\nsuper(scope, id);\n// Code snippet begins after !show marker below\n/// !show\n\nconst cookiesConfigProperty: cloudfront.CfnOriginRequestPolicy.CookiesConfigProperty = {\n  cookieBehavior: 'cookieBehavior',\n\n  // the properties below are optional\n  cookies: ['cookies'],\n};\n/// !hide\n// Code snippet ended before !hide marker above\n} }","syntaxKindCounter":{"10":3,"75":7,"153":2,"169":1,"192":1,"193":1,"225":1,"242":1,"243":1,"254":1,"255":1,"256":1,"281":2,"290":1},"fqnsFingerprint":"4b67e8b237b7d640abee4915edcfab749a14b01f3a78fb6c9ed5efb05a088e62"},"e623ea818fa5f44931b6dd2d04fdba3974034d9a2aab4ce4d39b89b57a49c240":{"translations":{"python":{"source":"# The code below shows an example of how to instantiate this type.\n# The values are placeholders you should change.\nimport aws_cdk.aws_cloudfront as cloudfront\n\nheaders_config_property = cloudfront.CfnOriginRequestPolicy.HeadersConfigProperty(\n    header_behavior=\"headerBehavior\",\n\n    # the properties below are optional\n    headers=[\"headers\"]\n)","version":"2"},"csharp":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nusing Amazon.CDK.AWS.CloudFront;\n\nvar headersConfigProperty = new HeadersConfigProperty {\n    HeaderBehavior = \"headerBehavior\",\n\n    // the properties below are optional\n    Headers = new [] { \"headers\" }\n};","version":"1"},"java":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport software.amazon.awscdk.services.cloudfront.*;\n\nHeadersConfigProperty headersConfigProperty = HeadersConfigProperty.builder()\n        .headerBehavior(\"headerBehavior\")\n\n        // the properties below are optional\n        .headers(List.of(\"headers\"))\n        .build();","version":"1"},"go":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport cloudfront \"github.com/aws-samples/dummy/awscdkawscloudfront\"\n\nheadersConfigProperty := &HeadersConfigProperty{\n\tHeaderBehavior: jsii.String(\"headerBehavior\"),\n\n\t// the properties below are optional\n\tHeaders: []*string{\n\t\tjsii.String(\"headers\"),\n\t},\n}","version":"1"},"$":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nconst headersConfigProperty: cloudfront.CfnOriginRequestPolicy.HeadersConfigProperty = {\n  headerBehavior: 'headerBehavior',\n\n  // the properties below are optional\n  headers: ['headers'],\n};","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.CfnOriginRequestPolicy.HeadersConfigProperty"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.CfnOriginRequestPolicy.HeadersConfigProperty"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from \"@aws-cdk/core\";\nclass MyConstruct extends Construct {\nconstructor(scope: Construct, id: string) {\nsuper(scope, id);\n// Code snippet begins after !show marker below\n/// !show\n\nconst headersConfigProperty: cloudfront.CfnOriginRequestPolicy.HeadersConfigProperty = {\n  headerBehavior: 'headerBehavior',\n\n  // the properties below are optional\n  headers: ['headers'],\n};\n/// !hide\n// Code snippet ended before !hide marker above\n} }","syntaxKindCounter":{"10":3,"75":7,"153":2,"169":1,"192":1,"193":1,"225":1,"242":1,"243":1,"254":1,"255":1,"256":1,"281":2,"290":1},"fqnsFingerprint":"8bba878b2995208bb2c0a749c1441910612ae88a6bd1d2a0d947b1c0a32b1ab7"},"95980e28337ead51ccd933ac5b9131ff15cc6261080a413c74e1de5ab085d991":{"translations":{"python":{"source":"# The code below shows an example of how to instantiate this type.\n# The values are placeholders you should change.\nimport aws_cdk.aws_cloudfront as cloudfront\n\norigin_request_policy_config_property = cloudfront.CfnOriginRequestPolicy.OriginRequestPolicyConfigProperty(\n    cookies_config=cloudfront.CfnOriginRequestPolicy.CookiesConfigProperty(\n        cookie_behavior=\"cookieBehavior\",\n\n        # the properties below are optional\n        cookies=[\"cookies\"]\n    ),\n    headers_config=cloudfront.CfnOriginRequestPolicy.HeadersConfigProperty(\n        header_behavior=\"headerBehavior\",\n\n        # the properties below are optional\n        headers=[\"headers\"]\n    ),\n    name=\"name\",\n    query_strings_config=cloudfront.CfnOriginRequestPolicy.QueryStringsConfigProperty(\n        query_string_behavior=\"queryStringBehavior\",\n\n        # the properties below are optional\n        query_strings=[\"queryStrings\"]\n    ),\n\n    # the properties below are optional\n    comment=\"comment\"\n)","version":"2"},"csharp":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nusing Amazon.CDK.AWS.CloudFront;\n\nvar originRequestPolicyConfigProperty = new OriginRequestPolicyConfigProperty {\n    CookiesConfig = new CookiesConfigProperty {\n        CookieBehavior = \"cookieBehavior\",\n\n        // the properties below are optional\n        Cookies = new [] { \"cookies\" }\n    },\n    HeadersConfig = new HeadersConfigProperty {\n        HeaderBehavior = \"headerBehavior\",\n\n        // the properties below are optional\n        Headers = new [] { \"headers\" }\n    },\n    Name = \"name\",\n    QueryStringsConfig = new QueryStringsConfigProperty {\n        QueryStringBehavior = \"queryStringBehavior\",\n\n        // the properties below are optional\n        QueryStrings = new [] { \"queryStrings\" }\n    },\n\n    // the properties below are optional\n    Comment = \"comment\"\n};","version":"1"},"java":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport software.amazon.awscdk.services.cloudfront.*;\n\nOriginRequestPolicyConfigProperty originRequestPolicyConfigProperty = OriginRequestPolicyConfigProperty.builder()\n        .cookiesConfig(CookiesConfigProperty.builder()\n                .cookieBehavior(\"cookieBehavior\")\n\n                // the properties below are optional\n                .cookies(List.of(\"cookies\"))\n                .build())\n        .headersConfig(HeadersConfigProperty.builder()\n                .headerBehavior(\"headerBehavior\")\n\n                // the properties below are optional\n                .headers(List.of(\"headers\"))\n                .build())\n        .name(\"name\")\n        .queryStringsConfig(QueryStringsConfigProperty.builder()\n                .queryStringBehavior(\"queryStringBehavior\")\n\n                // the properties below are optional\n                .queryStrings(List.of(\"queryStrings\"))\n                .build())\n\n        // the properties below are optional\n        .comment(\"comment\")\n        .build();","version":"1"},"go":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport cloudfront \"github.com/aws-samples/dummy/awscdkawscloudfront\"\n\noriginRequestPolicyConfigProperty := &OriginRequestPolicyConfigProperty{\n\tCookiesConfig: &CookiesConfigProperty{\n\t\tCookieBehavior: jsii.String(\"cookieBehavior\"),\n\n\t\t// the properties below are optional\n\t\tCookies: []*string{\n\t\t\tjsii.String(\"cookies\"),\n\t\t},\n\t},\n\tHeadersConfig: &HeadersConfigProperty{\n\t\tHeaderBehavior: jsii.String(\"headerBehavior\"),\n\n\t\t// the properties below are optional\n\t\tHeaders: []*string{\n\t\t\tjsii.String(\"headers\"),\n\t\t},\n\t},\n\tName: jsii.String(\"name\"),\n\tQueryStringsConfig: &QueryStringsConfigProperty{\n\t\tQueryStringBehavior: jsii.String(\"queryStringBehavior\"),\n\n\t\t// the properties below are optional\n\t\tQueryStrings: []*string{\n\t\t\tjsii.String(\"queryStrings\"),\n\t\t},\n\t},\n\n\t// the properties below are optional\n\tComment: jsii.String(\"comment\"),\n}","version":"1"},"$":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nconst originRequestPolicyConfigProperty: cloudfront.CfnOriginRequestPolicy.OriginRequestPolicyConfigProperty = {\n  cookiesConfig: {\n    cookieBehavior: 'cookieBehavior',\n\n    // the properties below are optional\n    cookies: ['cookies'],\n  },\n  headersConfig: {\n    headerBehavior: 'headerBehavior',\n\n    // the properties below are optional\n    headers: ['headers'],\n  },\n  name: 'name',\n  queryStringsConfig: {\n    queryStringBehavior: 'queryStringBehavior',\n\n    // the properties below are optional\n    queryStrings: ['queryStrings'],\n  },\n\n  // the properties below are optional\n  comment: 'comment',\n};","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.CfnOriginRequestPolicy.OriginRequestPolicyConfigProperty"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.CfnOriginRequestPolicy.OriginRequestPolicyConfigProperty"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from \"@aws-cdk/core\";\nclass MyConstruct extends Construct {\nconstructor(scope: Construct, id: string) {\nsuper(scope, id);\n// Code snippet begins after !show marker below\n/// !show\n\nconst originRequestPolicyConfigProperty: cloudfront.CfnOriginRequestPolicy.OriginRequestPolicyConfigProperty = {\n  cookiesConfig: {\n    cookieBehavior: 'cookieBehavior',\n\n    // the properties below are optional\n    cookies: ['cookies'],\n  },\n  headersConfig: {\n    headerBehavior: 'headerBehavior',\n\n    // the properties below are optional\n    headers: ['headers'],\n  },\n  name: 'name',\n  queryStringsConfig: {\n    queryStringBehavior: 'queryStringBehavior',\n\n    // the properties below are optional\n    queryStrings: ['queryStrings'],\n  },\n\n  // the properties below are optional\n  comment: 'comment',\n};\n/// !hide\n// Code snippet ended before !hide marker above\n} }","syntaxKindCounter":{"10":9,"75":16,"153":2,"169":1,"192":3,"193":4,"225":1,"242":1,"243":1,"254":1,"255":1,"256":1,"281":11,"290":1},"fqnsFingerprint":"f25495428d9f2e938e55520145c25e5397e47a0c3053f8a2c116e7850171056e"},"ac307d414ea20c7ed6e6f61fa566f2a1a26d630eebbb18b7d8a534313260009e":{"translations":{"python":{"source":"# The code below shows an example of how to instantiate this type.\n# The values are placeholders you should change.\nimport aws_cdk.aws_cloudfront as cloudfront\n\nquery_strings_config_property = cloudfront.CfnOriginRequestPolicy.QueryStringsConfigProperty(\n    query_string_behavior=\"queryStringBehavior\",\n\n    # the properties below are optional\n    query_strings=[\"queryStrings\"]\n)","version":"2"},"csharp":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nusing Amazon.CDK.AWS.CloudFront;\n\nvar queryStringsConfigProperty = new QueryStringsConfigProperty {\n    QueryStringBehavior = \"queryStringBehavior\",\n\n    // the properties below are optional\n    QueryStrings = new [] { \"queryStrings\" }\n};","version":"1"},"java":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport software.amazon.awscdk.services.cloudfront.*;\n\nQueryStringsConfigProperty queryStringsConfigProperty = QueryStringsConfigProperty.builder()\n        .queryStringBehavior(\"queryStringBehavior\")\n\n        // the properties below are optional\n        .queryStrings(List.of(\"queryStrings\"))\n        .build();","version":"1"},"go":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport cloudfront \"github.com/aws-samples/dummy/awscdkawscloudfront\"\n\nqueryStringsConfigProperty := &QueryStringsConfigProperty{\n\tQueryStringBehavior: jsii.String(\"queryStringBehavior\"),\n\n\t// the properties below are optional\n\tQueryStrings: []*string{\n\t\tjsii.String(\"queryStrings\"),\n\t},\n}","version":"1"},"$":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nconst queryStringsConfigProperty: cloudfront.CfnOriginRequestPolicy.QueryStringsConfigProperty = {\n  queryStringBehavior: 'queryStringBehavior',\n\n  // the properties below are optional\n  queryStrings: ['queryStrings'],\n};","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.CfnOriginRequestPolicy.QueryStringsConfigProperty"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.CfnOriginRequestPolicy.QueryStringsConfigProperty"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from \"@aws-cdk/core\";\nclass MyConstruct extends Construct {\nconstructor(scope: Construct, id: string) {\nsuper(scope, id);\n// Code snippet begins after !show marker below\n/// !show\n\nconst queryStringsConfigProperty: cloudfront.CfnOriginRequestPolicy.QueryStringsConfigProperty = {\n  queryStringBehavior: 'queryStringBehavior',\n\n  // the properties below are optional\n  queryStrings: ['queryStrings'],\n};\n/// !hide\n// Code snippet ended before !hide marker above\n} }","syntaxKindCounter":{"10":3,"75":7,"153":2,"169":1,"192":1,"193":1,"225":1,"242":1,"243":1,"254":1,"255":1,"256":1,"281":2,"290":1},"fqnsFingerprint":"b7560b0135136ef346e60ea19d9ae14aa476dca4e02c4d1296b2717798c0241b"},"1078bcfc57b8abbeadf205e74ac4b6dcf365ba94976884e5ff4218193e026bd1":{"translations":{"python":{"source":"# The code below shows an example of how to instantiate this type.\n# The values are placeholders you should change.\nimport aws_cdk.aws_cloudfront as cloudfront\n\ncfn_origin_request_policy_props = cloudfront.CfnOriginRequestPolicyProps(\n    origin_request_policy_config=cloudfront.CfnOriginRequestPolicy.OriginRequestPolicyConfigProperty(\n        cookies_config=cloudfront.CfnOriginRequestPolicy.CookiesConfigProperty(\n            cookie_behavior=\"cookieBehavior\",\n\n            # the properties below are optional\n            cookies=[\"cookies\"]\n        ),\n        headers_config=cloudfront.CfnOriginRequestPolicy.HeadersConfigProperty(\n            header_behavior=\"headerBehavior\",\n\n            # the properties below are optional\n            headers=[\"headers\"]\n        ),\n        name=\"name\",\n        query_strings_config=cloudfront.CfnOriginRequestPolicy.QueryStringsConfigProperty(\n            query_string_behavior=\"queryStringBehavior\",\n\n            # the properties below are optional\n            query_strings=[\"queryStrings\"]\n        ),\n\n        # the properties below are optional\n        comment=\"comment\"\n    )\n)","version":"2"},"csharp":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nusing Amazon.CDK.AWS.CloudFront;\n\nvar cfnOriginRequestPolicyProps = new CfnOriginRequestPolicyProps {\n    OriginRequestPolicyConfig = new OriginRequestPolicyConfigProperty {\n        CookiesConfig = new CookiesConfigProperty {\n            CookieBehavior = \"cookieBehavior\",\n\n            // the properties below are optional\n            Cookies = new [] { \"cookies\" }\n        },\n        HeadersConfig = new HeadersConfigProperty {\n            HeaderBehavior = \"headerBehavior\",\n\n            // the properties below are optional\n            Headers = new [] { \"headers\" }\n        },\n        Name = \"name\",\n        QueryStringsConfig = new QueryStringsConfigProperty {\n            QueryStringBehavior = \"queryStringBehavior\",\n\n            // the properties below are optional\n            QueryStrings = new [] { \"queryStrings\" }\n        },\n\n        // the properties below are optional\n        Comment = \"comment\"\n    }\n};","version":"1"},"java":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport software.amazon.awscdk.services.cloudfront.*;\n\nCfnOriginRequestPolicyProps cfnOriginRequestPolicyProps = CfnOriginRequestPolicyProps.builder()\n        .originRequestPolicyConfig(OriginRequestPolicyConfigProperty.builder()\n                .cookiesConfig(CookiesConfigProperty.builder()\n                        .cookieBehavior(\"cookieBehavior\")\n\n                        // the properties below are optional\n                        .cookies(List.of(\"cookies\"))\n                        .build())\n                .headersConfig(HeadersConfigProperty.builder()\n                        .headerBehavior(\"headerBehavior\")\n\n                        // the properties below are optional\n                        .headers(List.of(\"headers\"))\n                        .build())\n                .name(\"name\")\n                .queryStringsConfig(QueryStringsConfigProperty.builder()\n                        .queryStringBehavior(\"queryStringBehavior\")\n\n                        // the properties below are optional\n                        .queryStrings(List.of(\"queryStrings\"))\n                        .build())\n\n                // the properties below are optional\n                .comment(\"comment\")\n                .build())\n        .build();","version":"1"},"go":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport cloudfront \"github.com/aws-samples/dummy/awscdkawscloudfront\"\n\ncfnOriginRequestPolicyProps := &CfnOriginRequestPolicyProps{\n\tOriginRequestPolicyConfig: &OriginRequestPolicyConfigProperty{\n\t\tCookiesConfig: &CookiesConfigProperty{\n\t\t\tCookieBehavior: jsii.String(\"cookieBehavior\"),\n\n\t\t\t// the properties below are optional\n\t\t\tCookies: []*string{\n\t\t\t\tjsii.String(\"cookies\"),\n\t\t\t},\n\t\t},\n\t\tHeadersConfig: &HeadersConfigProperty{\n\t\t\tHeaderBehavior: jsii.String(\"headerBehavior\"),\n\n\t\t\t// the properties below are optional\n\t\t\tHeaders: []*string{\n\t\t\t\tjsii.String(\"headers\"),\n\t\t\t},\n\t\t},\n\t\tName: jsii.String(\"name\"),\n\t\tQueryStringsConfig: &QueryStringsConfigProperty{\n\t\t\tQueryStringBehavior: jsii.String(\"queryStringBehavior\"),\n\n\t\t\t// the properties below are optional\n\t\t\tQueryStrings: []*string{\n\t\t\t\tjsii.String(\"queryStrings\"),\n\t\t\t},\n\t\t},\n\n\t\t// the properties below are optional\n\t\tComment: jsii.String(\"comment\"),\n\t},\n}","version":"1"},"$":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nconst cfnOriginRequestPolicyProps: cloudfront.CfnOriginRequestPolicyProps = {\n  originRequestPolicyConfig: {\n    cookiesConfig: {\n      cookieBehavior: 'cookieBehavior',\n\n      // the properties below are optional\n      cookies: ['cookies'],\n    },\n    headersConfig: {\n      headerBehavior: 'headerBehavior',\n\n      // the properties below are optional\n      headers: ['headers'],\n    },\n    name: 'name',\n    queryStringsConfig: {\n      queryStringBehavior: 'queryStringBehavior',\n\n      // the properties below are optional\n      queryStrings: ['queryStrings'],\n    },\n\n    // the properties below are optional\n    comment: 'comment',\n  },\n};","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.CfnOriginRequestPolicyProps"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.CfnOriginRequestPolicyProps"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from \"@aws-cdk/core\";\nclass MyConstruct extends Construct {\nconstructor(scope: Construct, id: string) {\nsuper(scope, id);\n// Code snippet begins after !show marker below\n/// !show\n\nconst cfnOriginRequestPolicyProps: cloudfront.CfnOriginRequestPolicyProps = {\n  originRequestPolicyConfig: {\n    cookiesConfig: {\n      cookieBehavior: 'cookieBehavior',\n\n      // the properties below are optional\n      cookies: ['cookies'],\n    },\n    headersConfig: {\n      headerBehavior: 'headerBehavior',\n\n      // the properties below are optional\n      headers: ['headers'],\n    },\n    name: 'name',\n    queryStringsConfig: {\n      queryStringBehavior: 'queryStringBehavior',\n\n      // the properties below are optional\n      queryStrings: ['queryStrings'],\n    },\n\n    // the properties below are optional\n    comment: 'comment',\n  },\n};\n/// !hide\n// Code snippet ended before !hide marker above\n} }","syntaxKindCounter":{"10":9,"75":16,"153":1,"169":1,"192":3,"193":5,"225":1,"242":1,"243":1,"254":1,"255":1,"256":1,"281":12,"290":1},"fqnsFingerprint":"b4e8f38345f23b8c287ff6b515ba976477c49604b817bc1859301d1f438ebe15"},"8093452f42f8bd2f0c65626c6090692b723c08bee7de6c44052828f3e24b5b0d":{"translations":{"python":{"source":"# The code below shows an example of how to instantiate this type.\n# The values are placeholders you should change.\nimport aws_cdk.aws_cloudfront as cloudfront\n\ncfn_public_key = cloudfront.CfnPublicKey(self, \"MyCfnPublicKey\",\n    public_key_config=cloudfront.CfnPublicKey.PublicKeyConfigProperty(\n        caller_reference=\"callerReference\",\n        encoded_key=\"encodedKey\",\n        name=\"name\",\n\n        # the properties below are optional\n        comment=\"comment\"\n    )\n)","version":"2"},"csharp":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nusing Amazon.CDK.AWS.CloudFront;\n\nvar cfnPublicKey = new CfnPublicKey(this, \"MyCfnPublicKey\", new CfnPublicKeyProps {\n    PublicKeyConfig = new PublicKeyConfigProperty {\n        CallerReference = \"callerReference\",\n        EncodedKey = \"encodedKey\",\n        Name = \"name\",\n\n        // the properties below are optional\n        Comment = \"comment\"\n    }\n});","version":"1"},"java":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport software.amazon.awscdk.services.cloudfront.*;\n\nCfnPublicKey cfnPublicKey = CfnPublicKey.Builder.create(this, \"MyCfnPublicKey\")\n        .publicKeyConfig(PublicKeyConfigProperty.builder()\n                .callerReference(\"callerReference\")\n                .encodedKey(\"encodedKey\")\n                .name(\"name\")\n\n                // the properties below are optional\n                .comment(\"comment\")\n                .build())\n        .build();","version":"1"},"go":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport cloudfront \"github.com/aws-samples/dummy/awscdkawscloudfront\"\n\ncfnPublicKey := cloudfront.NewCfnPublicKey(this, jsii.String(\"MyCfnPublicKey\"), &CfnPublicKeyProps{\n\tPublicKeyConfig: &PublicKeyConfigProperty{\n\t\tCallerReference: jsii.String(\"callerReference\"),\n\t\tEncodedKey: jsii.String(\"encodedKey\"),\n\t\tName: jsii.String(\"name\"),\n\n\t\t// the properties below are optional\n\t\tComment: jsii.String(\"comment\"),\n\t},\n})","version":"1"},"$":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nconst cfnPublicKey = new cloudfront.CfnPublicKey(this, 'MyCfnPublicKey', {\n  publicKeyConfig: {\n    callerReference: 'callerReference',\n    encodedKey: 'encodedKey',\n    name: 'name',\n\n    // the properties below are optional\n    comment: 'comment',\n  },\n});","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.CfnPublicKey"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.CfnPublicKey","@aws-cdk/aws-cloudfront.CfnPublicKeyProps","@aws-cdk/core.Construct"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from \"@aws-cdk/core\";\nclass MyConstruct extends Construct {\nconstructor(scope: Construct, id: string) {\nsuper(scope, id);\n// Code snippet begins after !show marker below\n/// !show\n\nconst cfnPublicKey = new cloudfront.CfnPublicKey(this, 'MyCfnPublicKey', {\n  publicKeyConfig: {\n    callerReference: 'callerReference',\n    encodedKey: 'encodedKey',\n    name: 'name',\n\n    // the properties below are optional\n    comment: 'comment',\n  },\n});\n/// !hide\n// Code snippet ended before !hide marker above\n} }","syntaxKindCounter":{"10":6,"75":9,"104":1,"193":2,"194":1,"197":1,"225":1,"242":1,"243":1,"254":1,"255":1,"256":1,"281":5,"290":1},"fqnsFingerprint":"7a23cfe86985513ff34310db6dab5be640a96d2c31cf57238430222d6a4d8037"},"525c64f3c4ab4a60e2fb30fb9d336dda01367bc2172619877938e9cc37673e04":{"translations":{"python":{"source":"# The code below shows an example of how to instantiate this type.\n# The values are placeholders you should change.\nimport aws_cdk.aws_cloudfront as cloudfront\n\npublic_key_config_property = cloudfront.CfnPublicKey.PublicKeyConfigProperty(\n    caller_reference=\"callerReference\",\n    encoded_key=\"encodedKey\",\n    name=\"name\",\n\n    # the properties below are optional\n    comment=\"comment\"\n)","version":"2"},"csharp":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nusing Amazon.CDK.AWS.CloudFront;\n\nvar publicKeyConfigProperty = new PublicKeyConfigProperty {\n    CallerReference = \"callerReference\",\n    EncodedKey = \"encodedKey\",\n    Name = \"name\",\n\n    // the properties below are optional\n    Comment = \"comment\"\n};","version":"1"},"java":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport software.amazon.awscdk.services.cloudfront.*;\n\nPublicKeyConfigProperty publicKeyConfigProperty = PublicKeyConfigProperty.builder()\n        .callerReference(\"callerReference\")\n        .encodedKey(\"encodedKey\")\n        .name(\"name\")\n\n        // the properties below are optional\n        .comment(\"comment\")\n        .build();","version":"1"},"go":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport cloudfront \"github.com/aws-samples/dummy/awscdkawscloudfront\"\n\npublicKeyConfigProperty := &PublicKeyConfigProperty{\n\tCallerReference: jsii.String(\"callerReference\"),\n\tEncodedKey: jsii.String(\"encodedKey\"),\n\tName: jsii.String(\"name\"),\n\n\t// the properties below are optional\n\tComment: jsii.String(\"comment\"),\n}","version":"1"},"$":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nconst publicKeyConfigProperty: cloudfront.CfnPublicKey.PublicKeyConfigProperty = {\n  callerReference: 'callerReference',\n  encodedKey: 'encodedKey',\n  name: 'name',\n\n  // the properties below are optional\n  comment: 'comment',\n};","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.CfnPublicKey.PublicKeyConfigProperty"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.CfnPublicKey.PublicKeyConfigProperty"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from \"@aws-cdk/core\";\nclass MyConstruct extends Construct {\nconstructor(scope: Construct, id: string) {\nsuper(scope, id);\n// Code snippet begins after !show marker below\n/// !show\n\nconst publicKeyConfigProperty: cloudfront.CfnPublicKey.PublicKeyConfigProperty = {\n  callerReference: 'callerReference',\n  encodedKey: 'encodedKey',\n  name: 'name',\n\n  // the properties below are optional\n  comment: 'comment',\n};\n/// !hide\n// Code snippet ended before !hide marker above\n} }","syntaxKindCounter":{"10":5,"75":9,"153":2,"169":1,"193":1,"225":1,"242":1,"243":1,"254":1,"255":1,"256":1,"281":4,"290":1},"fqnsFingerprint":"dc6997a2aed1a1afedbde9fbf88a1b59df6ed8256d2083abbf81a82a7ab278c6"},"0443e15bb40e9052955612f21ae2ec1c7f1291be9e98951008c88b8ae6ce9f9d":{"translations":{"python":{"source":"# The code below shows an example of how to instantiate this type.\n# The values are placeholders you should change.\nimport aws_cdk.aws_cloudfront as cloudfront\n\ncfn_public_key_props = cloudfront.CfnPublicKeyProps(\n    public_key_config=cloudfront.CfnPublicKey.PublicKeyConfigProperty(\n        caller_reference=\"callerReference\",\n        encoded_key=\"encodedKey\",\n        name=\"name\",\n\n        # the properties below are optional\n        comment=\"comment\"\n    )\n)","version":"2"},"csharp":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nusing Amazon.CDK.AWS.CloudFront;\n\nvar cfnPublicKeyProps = new CfnPublicKeyProps {\n    PublicKeyConfig = new PublicKeyConfigProperty {\n        CallerReference = \"callerReference\",\n        EncodedKey = \"encodedKey\",\n        Name = \"name\",\n\n        // the properties below are optional\n        Comment = \"comment\"\n    }\n};","version":"1"},"java":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport software.amazon.awscdk.services.cloudfront.*;\n\nCfnPublicKeyProps cfnPublicKeyProps = CfnPublicKeyProps.builder()\n        .publicKeyConfig(PublicKeyConfigProperty.builder()\n                .callerReference(\"callerReference\")\n                .encodedKey(\"encodedKey\")\n                .name(\"name\")\n\n                // the properties below are optional\n                .comment(\"comment\")\n                .build())\n        .build();","version":"1"},"go":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport cloudfront \"github.com/aws-samples/dummy/awscdkawscloudfront\"\n\ncfnPublicKeyProps := &CfnPublicKeyProps{\n\tPublicKeyConfig: &PublicKeyConfigProperty{\n\t\tCallerReference: jsii.String(\"callerReference\"),\n\t\tEncodedKey: jsii.String(\"encodedKey\"),\n\t\tName: jsii.String(\"name\"),\n\n\t\t// the properties below are optional\n\t\tComment: jsii.String(\"comment\"),\n\t},\n}","version":"1"},"$":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nconst cfnPublicKeyProps: cloudfront.CfnPublicKeyProps = {\n  publicKeyConfig: {\n    callerReference: 'callerReference',\n    encodedKey: 'encodedKey',\n    name: 'name',\n\n    // the properties below are optional\n    comment: 'comment',\n  },\n};","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.CfnPublicKeyProps"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.CfnPublicKeyProps"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from \"@aws-cdk/core\";\nclass MyConstruct extends Construct {\nconstructor(scope: Construct, id: string) {\nsuper(scope, id);\n// Code snippet begins after !show marker below\n/// !show\n\nconst cfnPublicKeyProps: cloudfront.CfnPublicKeyProps = {\n  publicKeyConfig: {\n    callerReference: 'callerReference',\n    encodedKey: 'encodedKey',\n    name: 'name',\n\n    // the properties below are optional\n    comment: 'comment',\n  },\n};\n/// !hide\n// Code snippet ended before !hide marker above\n} }","syntaxKindCounter":{"10":5,"75":9,"153":1,"169":1,"193":2,"225":1,"242":1,"243":1,"254":1,"255":1,"256":1,"281":5,"290":1},"fqnsFingerprint":"1b4c82b2c8c6dfc7f566447827796d68e51c8f88724ef08006b6199ae12132e2"},"ce9e50c0ed556aa345f32d238b05d7b3cf767af86eecc4231a1fdf1415752ac0":{"translations":{"python":{"source":"# The code below shows an example of how to instantiate this type.\n# The values are placeholders you should change.\nimport aws_cdk.aws_cloudfront as cloudfront\n\ncfn_realtime_log_config = cloudfront.CfnRealtimeLogConfig(self, \"MyCfnRealtimeLogConfig\",\n    end_points=[cloudfront.CfnRealtimeLogConfig.EndPointProperty(\n        kinesis_stream_config=cloudfront.CfnRealtimeLogConfig.KinesisStreamConfigProperty(\n            role_arn=\"roleArn\",\n            stream_arn=\"streamArn\"\n        ),\n        stream_type=\"streamType\"\n    )],\n    fields=[\"fields\"],\n    name=\"name\",\n    sampling_rate=123\n)","version":"2"},"csharp":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nusing Amazon.CDK.AWS.CloudFront;\n\nvar cfnRealtimeLogConfig = new CfnRealtimeLogConfig(this, \"MyCfnRealtimeLogConfig\", new CfnRealtimeLogConfigProps {\n    EndPoints = new [] { new EndPointProperty {\n        KinesisStreamConfig = new KinesisStreamConfigProperty {\n            RoleArn = \"roleArn\",\n            StreamArn = \"streamArn\"\n        },\n        StreamType = \"streamType\"\n    } },\n    Fields = new [] { \"fields\" },\n    Name = \"name\",\n    SamplingRate = 123\n});","version":"1"},"java":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport software.amazon.awscdk.services.cloudfront.*;\n\nCfnRealtimeLogConfig cfnRealtimeLogConfig = CfnRealtimeLogConfig.Builder.create(this, \"MyCfnRealtimeLogConfig\")\n        .endPoints(List.of(EndPointProperty.builder()\n                .kinesisStreamConfig(KinesisStreamConfigProperty.builder()\n                        .roleArn(\"roleArn\")\n                        .streamArn(\"streamArn\")\n                        .build())\n                .streamType(\"streamType\")\n                .build()))\n        .fields(List.of(\"fields\"))\n        .name(\"name\")\n        .samplingRate(123)\n        .build();","version":"1"},"go":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport cloudfront \"github.com/aws-samples/dummy/awscdkawscloudfront\"\n\ncfnRealtimeLogConfig := cloudfront.NewCfnRealtimeLogConfig(this, jsii.String(\"MyCfnRealtimeLogConfig\"), &CfnRealtimeLogConfigProps{\n\tEndPoints: []interface{}{\n\t\t&EndPointProperty{\n\t\t\tKinesisStreamConfig: &KinesisStreamConfigProperty{\n\t\t\t\tRoleArn: jsii.String(\"roleArn\"),\n\t\t\t\tStreamArn: jsii.String(\"streamArn\"),\n\t\t\t},\n\t\t\tStreamType: jsii.String(\"streamType\"),\n\t\t},\n\t},\n\tFields: []*string{\n\t\tjsii.String(\"fields\"),\n\t},\n\tName: jsii.String(\"name\"),\n\tSamplingRate: jsii.Number(123),\n})","version":"1"},"$":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nconst cfnRealtimeLogConfig = new cloudfront.CfnRealtimeLogConfig(this, 'MyCfnRealtimeLogConfig', {\n  endPoints: [{\n    kinesisStreamConfig: {\n      roleArn: 'roleArn',\n      streamArn: 'streamArn',\n    },\n    streamType: 'streamType',\n  }],\n  fields: ['fields'],\n  name: 'name',\n  samplingRate: 123,\n});","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.CfnRealtimeLogConfig"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.CfnRealtimeLogConfig","@aws-cdk/aws-cloudfront.CfnRealtimeLogConfigProps","@aws-cdk/core.Construct"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from \"@aws-cdk/core\";\nclass MyConstruct extends Construct {\nconstructor(scope: Construct, id: string) {\nsuper(scope, id);\n// Code snippet begins after !show marker below\n/// !show\n\nconst cfnRealtimeLogConfig = new cloudfront.CfnRealtimeLogConfig(this, 'MyCfnRealtimeLogConfig', {\n  endPoints: [{\n    kinesisStreamConfig: {\n      roleArn: 'roleArn',\n      streamArn: 'streamArn',\n    },\n    streamType: 'streamType',\n  }],\n  fields: ['fields'],\n  name: 'name',\n  samplingRate: 123,\n});\n/// !hide\n// Code snippet ended before !hide marker above\n} }","syntaxKindCounter":{"8":1,"10":7,"75":12,"104":1,"192":2,"193":3,"194":1,"197":1,"225":1,"242":1,"243":1,"254":1,"255":1,"256":1,"281":8,"290":1},"fqnsFingerprint":"4ffbb90cc77207ee750625f3a2286768e8dda53a78ae20ca3634e0e55e84ab77"},"449c903a364a64c2f66ae20ad31b432130049091cf85d48d9011c719cad3f82c":{"translations":{"python":{"source":"# The code below shows an example of how to instantiate this type.\n# The values are placeholders you should change.\nimport aws_cdk.aws_cloudfront as cloudfront\n\nend_point_property = cloudfront.CfnRealtimeLogConfig.EndPointProperty(\n    kinesis_stream_config=cloudfront.CfnRealtimeLogConfig.KinesisStreamConfigProperty(\n        role_arn=\"roleArn\",\n        stream_arn=\"streamArn\"\n    ),\n    stream_type=\"streamType\"\n)","version":"2"},"csharp":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nusing Amazon.CDK.AWS.CloudFront;\n\nvar endPointProperty = new EndPointProperty {\n    KinesisStreamConfig = new KinesisStreamConfigProperty {\n        RoleArn = \"roleArn\",\n        StreamArn = \"streamArn\"\n    },\n    StreamType = \"streamType\"\n};","version":"1"},"java":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport software.amazon.awscdk.services.cloudfront.*;\n\nEndPointProperty endPointProperty = EndPointProperty.builder()\n        .kinesisStreamConfig(KinesisStreamConfigProperty.builder()\n                .roleArn(\"roleArn\")\n                .streamArn(\"streamArn\")\n                .build())\n        .streamType(\"streamType\")\n        .build();","version":"1"},"go":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport cloudfront \"github.com/aws-samples/dummy/awscdkawscloudfront\"\n\nendPointProperty := &EndPointProperty{\n\tKinesisStreamConfig: &KinesisStreamConfigProperty{\n\t\tRoleArn: jsii.String(\"roleArn\"),\n\t\tStreamArn: jsii.String(\"streamArn\"),\n\t},\n\tStreamType: jsii.String(\"streamType\"),\n}","version":"1"},"$":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nconst endPointProperty: cloudfront.CfnRealtimeLogConfig.EndPointProperty = {\n  kinesisStreamConfig: {\n    roleArn: 'roleArn',\n    streamArn: 'streamArn',\n  },\n  streamType: 'streamType',\n};","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.CfnRealtimeLogConfig.EndPointProperty"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.CfnRealtimeLogConfig.EndPointProperty"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from \"@aws-cdk/core\";\nclass MyConstruct extends Construct {\nconstructor(scope: Construct, id: string) {\nsuper(scope, id);\n// Code snippet begins after !show marker below\n/// !show\n\nconst endPointProperty: cloudfront.CfnRealtimeLogConfig.EndPointProperty = {\n  kinesisStreamConfig: {\n    roleArn: 'roleArn',\n    streamArn: 'streamArn',\n  },\n  streamType: 'streamType',\n};\n/// !hide\n// Code snippet ended before !hide marker above\n} }","syntaxKindCounter":{"10":4,"75":9,"153":2,"169":1,"193":2,"225":1,"242":1,"243":1,"254":1,"255":1,"256":1,"281":4,"290":1},"fqnsFingerprint":"1b6ce30ea6e93b65741cbcc7cea2ee320c4a276d863314dc6ee9e51ee984c4fd"},"c40c80a3822a52d8a7438fa2d51bfb28d812bedcce41f29c015c3b60bfc83033":{"translations":{"python":{"source":"# The code below shows an example of how to instantiate this type.\n# The values are placeholders you should change.\nimport aws_cdk.aws_cloudfront as cloudfront\n\nkinesis_stream_config_property = cloudfront.CfnRealtimeLogConfig.KinesisStreamConfigProperty(\n    role_arn=\"roleArn\",\n    stream_arn=\"streamArn\"\n)","version":"2"},"csharp":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nusing Amazon.CDK.AWS.CloudFront;\n\nvar kinesisStreamConfigProperty = new KinesisStreamConfigProperty {\n    RoleArn = \"roleArn\",\n    StreamArn = \"streamArn\"\n};","version":"1"},"java":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport software.amazon.awscdk.services.cloudfront.*;\n\nKinesisStreamConfigProperty kinesisStreamConfigProperty = KinesisStreamConfigProperty.builder()\n        .roleArn(\"roleArn\")\n        .streamArn(\"streamArn\")\n        .build();","version":"1"},"go":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport cloudfront \"github.com/aws-samples/dummy/awscdkawscloudfront\"\n\nkinesisStreamConfigProperty := &KinesisStreamConfigProperty{\n\tRoleArn: jsii.String(\"roleArn\"),\n\tStreamArn: jsii.String(\"streamArn\"),\n}","version":"1"},"$":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nconst kinesisStreamConfigProperty: cloudfront.CfnRealtimeLogConfig.KinesisStreamConfigProperty = {\n  roleArn: 'roleArn',\n  streamArn: 'streamArn',\n};","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.CfnRealtimeLogConfig.KinesisStreamConfigProperty"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.CfnRealtimeLogConfig.KinesisStreamConfigProperty"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from \"@aws-cdk/core\";\nclass MyConstruct extends Construct {\nconstructor(scope: Construct, id: string) {\nsuper(scope, id);\n// Code snippet begins after !show marker below\n/// !show\n\nconst kinesisStreamConfigProperty: cloudfront.CfnRealtimeLogConfig.KinesisStreamConfigProperty = {\n  roleArn: 'roleArn',\n  streamArn: 'streamArn',\n};\n/// !hide\n// Code snippet ended before !hide marker above\n} }","syntaxKindCounter":{"10":3,"75":7,"153":2,"169":1,"193":1,"225":1,"242":1,"243":1,"254":1,"255":1,"256":1,"281":2,"290":1},"fqnsFingerprint":"9ffc2d936513a5d54b8cd8566e00638101a534c447ce61039f57b07238cea2c7"},"9532a7ba654a8be67743720677e120ee0c25318bf3b64e404bb6f0e3bcf56170":{"translations":{"python":{"source":"# The code below shows an example of how to instantiate this type.\n# The values are placeholders you should change.\nimport aws_cdk.aws_cloudfront as cloudfront\n\ncfn_realtime_log_config_props = cloudfront.CfnRealtimeLogConfigProps(\n    end_points=[cloudfront.CfnRealtimeLogConfig.EndPointProperty(\n        kinesis_stream_config=cloudfront.CfnRealtimeLogConfig.KinesisStreamConfigProperty(\n            role_arn=\"roleArn\",\n            stream_arn=\"streamArn\"\n        ),\n        stream_type=\"streamType\"\n    )],\n    fields=[\"fields\"],\n    name=\"name\",\n    sampling_rate=123\n)","version":"2"},"csharp":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nusing Amazon.CDK.AWS.CloudFront;\n\nvar cfnRealtimeLogConfigProps = new CfnRealtimeLogConfigProps {\n    EndPoints = new [] { new EndPointProperty {\n        KinesisStreamConfig = new KinesisStreamConfigProperty {\n            RoleArn = \"roleArn\",\n            StreamArn = \"streamArn\"\n        },\n        StreamType = \"streamType\"\n    } },\n    Fields = new [] { \"fields\" },\n    Name = \"name\",\n    SamplingRate = 123\n};","version":"1"},"java":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport software.amazon.awscdk.services.cloudfront.*;\n\nCfnRealtimeLogConfigProps cfnRealtimeLogConfigProps = CfnRealtimeLogConfigProps.builder()\n        .endPoints(List.of(EndPointProperty.builder()\n                .kinesisStreamConfig(KinesisStreamConfigProperty.builder()\n                        .roleArn(\"roleArn\")\n                        .streamArn(\"streamArn\")\n                        .build())\n                .streamType(\"streamType\")\n                .build()))\n        .fields(List.of(\"fields\"))\n        .name(\"name\")\n        .samplingRate(123)\n        .build();","version":"1"},"go":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport cloudfront \"github.com/aws-samples/dummy/awscdkawscloudfront\"\n\ncfnRealtimeLogConfigProps := &CfnRealtimeLogConfigProps{\n\tEndPoints: []interface{}{\n\t\t&EndPointProperty{\n\t\t\tKinesisStreamConfig: &KinesisStreamConfigProperty{\n\t\t\t\tRoleArn: jsii.String(\"roleArn\"),\n\t\t\t\tStreamArn: jsii.String(\"streamArn\"),\n\t\t\t},\n\t\t\tStreamType: jsii.String(\"streamType\"),\n\t\t},\n\t},\n\tFields: []*string{\n\t\tjsii.String(\"fields\"),\n\t},\n\tName: jsii.String(\"name\"),\n\tSamplingRate: jsii.Number(123),\n}","version":"1"},"$":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nconst cfnRealtimeLogConfigProps: cloudfront.CfnRealtimeLogConfigProps = {\n  endPoints: [{\n    kinesisStreamConfig: {\n      roleArn: 'roleArn',\n      streamArn: 'streamArn',\n    },\n    streamType: 'streamType',\n  }],\n  fields: ['fields'],\n  name: 'name',\n  samplingRate: 123,\n};","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.CfnRealtimeLogConfigProps"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.CfnRealtimeLogConfigProps"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from \"@aws-cdk/core\";\nclass MyConstruct extends Construct {\nconstructor(scope: Construct, id: string) {\nsuper(scope, id);\n// Code snippet begins after !show marker below\n/// !show\n\nconst cfnRealtimeLogConfigProps: cloudfront.CfnRealtimeLogConfigProps = {\n  endPoints: [{\n    kinesisStreamConfig: {\n      roleArn: 'roleArn',\n      streamArn: 'streamArn',\n    },\n    streamType: 'streamType',\n  }],\n  fields: ['fields'],\n  name: 'name',\n  samplingRate: 123,\n};\n/// !hide\n// Code snippet ended before !hide marker above\n} }","syntaxKindCounter":{"8":1,"10":6,"75":12,"153":1,"169":1,"192":2,"193":3,"225":1,"242":1,"243":1,"254":1,"255":1,"256":1,"281":8,"290":1},"fqnsFingerprint":"f0d55909402cc1e5de6d67f32d1a60e1da0cc853cc7c10475c728c36a9ef935f"},"d20f535497f2c8eecc25775a558dadc8106f1b7ba3ebb75643b96692414afc39":{"translations":{"python":{"source":"# The code below shows an example of how to instantiate this type.\n# The values are placeholders you should change.\nimport aws_cdk.aws_cloudfront as cloudfront\n\ncfn_response_headers_policy = cloudfront.CfnResponseHeadersPolicy(self, \"MyCfnResponseHeadersPolicy\",\n    response_headers_policy_config=cloudfront.CfnResponseHeadersPolicy.ResponseHeadersPolicyConfigProperty(\n        name=\"name\",\n\n        # the properties below are optional\n        comment=\"comment\",\n        cors_config=cloudfront.CfnResponseHeadersPolicy.CorsConfigProperty(\n            access_control_allow_credentials=False,\n            access_control_allow_headers=cloudfront.CfnResponseHeadersPolicy.AccessControlAllowHeadersProperty(\n                items=[\"items\"]\n            ),\n            access_control_allow_methods=cloudfront.CfnResponseHeadersPolicy.AccessControlAllowMethodsProperty(\n                items=[\"items\"]\n            ),\n            access_control_allow_origins=cloudfront.CfnResponseHeadersPolicy.AccessControlAllowOriginsProperty(\n                items=[\"items\"]\n            ),\n            origin_override=False,\n\n            # the properties below are optional\n            access_control_expose_headers=cloudfront.CfnResponseHeadersPolicy.AccessControlExposeHeadersProperty(\n                items=[\"items\"]\n            ),\n            access_control_max_age_sec=123\n        ),\n        custom_headers_config=cloudfront.CfnResponseHeadersPolicy.CustomHeadersConfigProperty(\n            items=[cloudfront.CfnResponseHeadersPolicy.CustomHeaderProperty(\n                header=\"header\",\n                override=False,\n                value=\"value\"\n            )]\n        ),\n        remove_headers_config=cloudfront.CfnResponseHeadersPolicy.RemoveHeadersConfigProperty(\n            items=[cloudfront.CfnResponseHeadersPolicy.RemoveHeaderProperty(\n                header=\"header\"\n            )]\n        ),\n        security_headers_config=cloudfront.CfnResponseHeadersPolicy.SecurityHeadersConfigProperty(\n            content_security_policy=cloudfront.CfnResponseHeadersPolicy.ContentSecurityPolicyProperty(\n                content_security_policy=\"contentSecurityPolicy\",\n                override=False\n            ),\n            content_type_options=cloudfront.CfnResponseHeadersPolicy.ContentTypeOptionsProperty(\n                override=False\n            ),\n            frame_options=cloudfront.CfnResponseHeadersPolicy.FrameOptionsProperty(\n                frame_option=\"frameOption\",\n                override=False\n            ),\n            referrer_policy=cloudfront.CfnResponseHeadersPolicy.ReferrerPolicyProperty(\n                override=False,\n                referrer_policy=\"referrerPolicy\"\n            ),\n            strict_transport_security=cloudfront.CfnResponseHeadersPolicy.StrictTransportSecurityProperty(\n                access_control_max_age_sec=123,\n                override=False,\n\n                # the properties below are optional\n                include_subdomains=False,\n                preload=False\n            ),\n            xss_protection=cloudfront.CfnResponseHeadersPolicy.XSSProtectionProperty(\n                override=False,\n                protection=False,\n\n                # the properties below are optional\n                mode_block=False,\n                report_uri=\"reportUri\"\n            )\n        ),\n        server_timing_headers_config=cloudfront.CfnResponseHeadersPolicy.ServerTimingHeadersConfigProperty(\n            enabled=False,\n\n            # the properties below are optional\n            sampling_rate=123\n        )\n    )\n)","version":"2"},"csharp":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nusing Amazon.CDK.AWS.CloudFront;\n\nvar cfnResponseHeadersPolicy = new CfnResponseHeadersPolicy(this, \"MyCfnResponseHeadersPolicy\", new CfnResponseHeadersPolicyProps {\n    ResponseHeadersPolicyConfig = new ResponseHeadersPolicyConfigProperty {\n        Name = \"name\",\n\n        // the properties below are optional\n        Comment = \"comment\",\n        CorsConfig = new CorsConfigProperty {\n            AccessControlAllowCredentials = false,\n            AccessControlAllowHeaders = new AccessControlAllowHeadersProperty {\n                Items = new [] { \"items\" }\n            },\n            AccessControlAllowMethods = new AccessControlAllowMethodsProperty {\n                Items = new [] { \"items\" }\n            },\n            AccessControlAllowOrigins = new AccessControlAllowOriginsProperty {\n                Items = new [] { \"items\" }\n            },\n            OriginOverride = false,\n\n            // the properties below are optional\n            AccessControlExposeHeaders = new AccessControlExposeHeadersProperty {\n                Items = new [] { \"items\" }\n            },\n            AccessControlMaxAgeSec = 123\n        },\n        CustomHeadersConfig = new CustomHeadersConfigProperty {\n            Items = new [] { new CustomHeaderProperty {\n                Header = \"header\",\n                Override = false,\n                Value = \"value\"\n            } }\n        },\n        RemoveHeadersConfig = new RemoveHeadersConfigProperty {\n            Items = new [] { new RemoveHeaderProperty {\n                Header = \"header\"\n            } }\n        },\n        SecurityHeadersConfig = new SecurityHeadersConfigProperty {\n            ContentSecurityPolicy = new ContentSecurityPolicyProperty {\n                ContentSecurityPolicy = \"contentSecurityPolicy\",\n                Override = false\n            },\n            ContentTypeOptions = new ContentTypeOptionsProperty {\n                Override = false\n            },\n            FrameOptions = new FrameOptionsProperty {\n                FrameOption = \"frameOption\",\n                Override = false\n            },\n            ReferrerPolicy = new ReferrerPolicyProperty {\n                Override = false,\n                ReferrerPolicy = \"referrerPolicy\"\n            },\n            StrictTransportSecurity = new StrictTransportSecurityProperty {\n                AccessControlMaxAgeSec = 123,\n                Override = false,\n\n                // the properties below are optional\n                IncludeSubdomains = false,\n                Preload = false\n            },\n            XssProtection = new XSSProtectionProperty {\n                Override = false,\n                Protection = false,\n\n                // the properties below are optional\n                ModeBlock = false,\n                ReportUri = \"reportUri\"\n            }\n        },\n        ServerTimingHeadersConfig = new ServerTimingHeadersConfigProperty {\n            Enabled = false,\n\n            // the properties below are optional\n            SamplingRate = 123\n        }\n    }\n});","version":"1"},"java":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport software.amazon.awscdk.services.cloudfront.*;\n\nCfnResponseHeadersPolicy cfnResponseHeadersPolicy = CfnResponseHeadersPolicy.Builder.create(this, \"MyCfnResponseHeadersPolicy\")\n        .responseHeadersPolicyConfig(ResponseHeadersPolicyConfigProperty.builder()\n                .name(\"name\")\n\n                // the properties below are optional\n                .comment(\"comment\")\n                .corsConfig(CorsConfigProperty.builder()\n                        .accessControlAllowCredentials(false)\n                        .accessControlAllowHeaders(AccessControlAllowHeadersProperty.builder()\n                                .items(List.of(\"items\"))\n                                .build())\n                        .accessControlAllowMethods(AccessControlAllowMethodsProperty.builder()\n                                .items(List.of(\"items\"))\n                                .build())\n                        .accessControlAllowOrigins(AccessControlAllowOriginsProperty.builder()\n                                .items(List.of(\"items\"))\n                                .build())\n                        .originOverride(false)\n\n                        // the properties below are optional\n                        .accessControlExposeHeaders(AccessControlExposeHeadersProperty.builder()\n                                .items(List.of(\"items\"))\n                                .build())\n                        .accessControlMaxAgeSec(123)\n                        .build())\n                .customHeadersConfig(CustomHeadersConfigProperty.builder()\n                        .items(List.of(CustomHeaderProperty.builder()\n                                .header(\"header\")\n                                .override(false)\n                                .value(\"value\")\n                                .build()))\n                        .build())\n                .removeHeadersConfig(RemoveHeadersConfigProperty.builder()\n                        .items(List.of(RemoveHeaderProperty.builder()\n                                .header(\"header\")\n                                .build()))\n                        .build())\n                .securityHeadersConfig(SecurityHeadersConfigProperty.builder()\n                        .contentSecurityPolicy(ContentSecurityPolicyProperty.builder()\n                                .contentSecurityPolicy(\"contentSecurityPolicy\")\n                                .override(false)\n                                .build())\n                        .contentTypeOptions(ContentTypeOptionsProperty.builder()\n                                .override(false)\n                                .build())\n                        .frameOptions(FrameOptionsProperty.builder()\n                                .frameOption(\"frameOption\")\n                                .override(false)\n                                .build())\n                        .referrerPolicy(ReferrerPolicyProperty.builder()\n                                .override(false)\n                                .referrerPolicy(\"referrerPolicy\")\n                                .build())\n                        .strictTransportSecurity(StrictTransportSecurityProperty.builder()\n                                .accessControlMaxAgeSec(123)\n                                .override(false)\n\n                                // the properties below are optional\n                                .includeSubdomains(false)\n                                .preload(false)\n                                .build())\n                        .xssProtection(XSSProtectionProperty.builder()\n                                .override(false)\n                                .protection(false)\n\n                                // the properties below are optional\n                                .modeBlock(false)\n                                .reportUri(\"reportUri\")\n                                .build())\n                        .build())\n                .serverTimingHeadersConfig(ServerTimingHeadersConfigProperty.builder()\n                        .enabled(false)\n\n                        // the properties below are optional\n                        .samplingRate(123)\n                        .build())\n                .build())\n        .build();","version":"1"},"go":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport cloudfront \"github.com/aws-samples/dummy/awscdkawscloudfront\"\n\ncfnResponseHeadersPolicy := cloudfront.NewCfnResponseHeadersPolicy(this, jsii.String(\"MyCfnResponseHeadersPolicy\"), &CfnResponseHeadersPolicyProps{\n\tResponseHeadersPolicyConfig: &ResponseHeadersPolicyConfigProperty{\n\t\tName: jsii.String(\"name\"),\n\n\t\t// the properties below are optional\n\t\tComment: jsii.String(\"comment\"),\n\t\tCorsConfig: &CorsConfigProperty{\n\t\t\tAccessControlAllowCredentials: jsii.Boolean(false),\n\t\t\tAccessControlAllowHeaders: &AccessControlAllowHeadersProperty{\n\t\t\t\tItems: []*string{\n\t\t\t\t\tjsii.String(\"items\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tAccessControlAllowMethods: &AccessControlAllowMethodsProperty{\n\t\t\t\tItems: []*string{\n\t\t\t\t\tjsii.String(\"items\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tAccessControlAllowOrigins: &AccessControlAllowOriginsProperty{\n\t\t\t\tItems: []*string{\n\t\t\t\t\tjsii.String(\"items\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tOriginOverride: jsii.Boolean(false),\n\n\t\t\t// the properties below are optional\n\t\t\tAccessControlExposeHeaders: &AccessControlExposeHeadersProperty{\n\t\t\t\tItems: []*string{\n\t\t\t\t\tjsii.String(\"items\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tAccessControlMaxAgeSec: jsii.Number(123),\n\t\t},\n\t\tCustomHeadersConfig: &CustomHeadersConfigProperty{\n\t\t\tItems: []interface{}{\n\t\t\t\t&CustomHeaderProperty{\n\t\t\t\t\tHeader: jsii.String(\"header\"),\n\t\t\t\t\tOverride: jsii.Boolean(false),\n\t\t\t\t\tValue: jsii.String(\"value\"),\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tRemoveHeadersConfig: &RemoveHeadersConfigProperty{\n\t\t\tItems: []interface{}{\n\t\t\t\t&RemoveHeaderProperty{\n\t\t\t\t\tHeader: jsii.String(\"header\"),\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tSecurityHeadersConfig: &SecurityHeadersConfigProperty{\n\t\t\tContentSecurityPolicy: &ContentSecurityPolicyProperty{\n\t\t\t\tContentSecurityPolicy: jsii.String(\"contentSecurityPolicy\"),\n\t\t\t\tOverride: jsii.Boolean(false),\n\t\t\t},\n\t\t\tContentTypeOptions: &ContentTypeOptionsProperty{\n\t\t\t\tOverride: jsii.Boolean(false),\n\t\t\t},\n\t\t\tFrameOptions: &FrameOptionsProperty{\n\t\t\t\tFrameOption: jsii.String(\"frameOption\"),\n\t\t\t\tOverride: jsii.Boolean(false),\n\t\t\t},\n\t\t\tReferrerPolicy: &ReferrerPolicyProperty{\n\t\t\t\tOverride: jsii.Boolean(false),\n\t\t\t\tReferrerPolicy: jsii.String(\"referrerPolicy\"),\n\t\t\t},\n\t\t\tStrictTransportSecurity: &StrictTransportSecurityProperty{\n\t\t\t\tAccessControlMaxAgeSec: jsii.Number(123),\n\t\t\t\tOverride: jsii.Boolean(false),\n\n\t\t\t\t// the properties below are optional\n\t\t\t\tIncludeSubdomains: jsii.Boolean(false),\n\t\t\t\tPreload: jsii.Boolean(false),\n\t\t\t},\n\t\t\tXssProtection: &XSSProtectionProperty{\n\t\t\t\tOverride: jsii.Boolean(false),\n\t\t\t\tProtection: jsii.Boolean(false),\n\n\t\t\t\t// the properties below are optional\n\t\t\t\tModeBlock: jsii.Boolean(false),\n\t\t\t\tReportUri: jsii.String(\"reportUri\"),\n\t\t\t},\n\t\t},\n\t\tServerTimingHeadersConfig: &ServerTimingHeadersConfigProperty{\n\t\t\tEnabled: jsii.Boolean(false),\n\n\t\t\t// the properties below are optional\n\t\t\tSamplingRate: jsii.Number(123),\n\t\t},\n\t},\n})","version":"1"},"$":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nconst cfnResponseHeadersPolicy = new cloudfront.CfnResponseHeadersPolicy(this, 'MyCfnResponseHeadersPolicy', {\n  responseHeadersPolicyConfig: {\n    name: 'name',\n\n    // the properties below are optional\n    comment: 'comment',\n    corsConfig: {\n      accessControlAllowCredentials: false,\n      accessControlAllowHeaders: {\n        items: ['items'],\n      },\n      accessControlAllowMethods: {\n        items: ['items'],\n      },\n      accessControlAllowOrigins: {\n        items: ['items'],\n      },\n      originOverride: false,\n\n      // the properties below are optional\n      accessControlExposeHeaders: {\n        items: ['items'],\n      },\n      accessControlMaxAgeSec: 123,\n    },\n    customHeadersConfig: {\n      items: [{\n        header: 'header',\n        override: false,\n        value: 'value',\n      }],\n    },\n    removeHeadersConfig: {\n      items: [{\n        header: 'header',\n      }],\n    },\n    securityHeadersConfig: {\n      contentSecurityPolicy: {\n        contentSecurityPolicy: 'contentSecurityPolicy',\n        override: false,\n      },\n      contentTypeOptions: {\n        override: false,\n      },\n      frameOptions: {\n        frameOption: 'frameOption',\n        override: false,\n      },\n      referrerPolicy: {\n        override: false,\n        referrerPolicy: 'referrerPolicy',\n      },\n      strictTransportSecurity: {\n        accessControlMaxAgeSec: 123,\n        override: false,\n\n        // the properties below are optional\n        includeSubdomains: false,\n        preload: false,\n      },\n      xssProtection: {\n        override: false,\n        protection: false,\n\n        // the properties below are optional\n        modeBlock: false,\n        reportUri: 'reportUri',\n      },\n    },\n    serverTimingHeadersConfig: {\n      enabled: false,\n\n      // the properties below are optional\n      samplingRate: 123,\n    },\n  },\n});","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.CfnResponseHeadersPolicy"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.CfnResponseHeadersPolicy","@aws-cdk/aws-cloudfront.CfnResponseHeadersPolicyProps","@aws-cdk/core.Construct"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from \"@aws-cdk/core\";\nclass MyConstruct extends Construct {\nconstructor(scope: Construct, id: string) {\nsuper(scope, id);\n// Code snippet begins after !show marker below\n/// !show\n\nconst cfnResponseHeadersPolicy = new cloudfront.CfnResponseHeadersPolicy(this, 'MyCfnResponseHeadersPolicy', {\n  responseHeadersPolicyConfig: {\n    name: 'name',\n\n    // the properties below are optional\n    comment: 'comment',\n    corsConfig: {\n      accessControlAllowCredentials: false,\n      accessControlAllowHeaders: {\n        items: ['items'],\n      },\n      accessControlAllowMethods: {\n        items: ['items'],\n      },\n      accessControlAllowOrigins: {\n        items: ['items'],\n      },\n      originOverride: false,\n\n      // the properties below are optional\n      accessControlExposeHeaders: {\n        items: ['items'],\n      },\n      accessControlMaxAgeSec: 123,\n    },\n    customHeadersConfig: {\n      items: [{\n        header: 'header',\n        override: false,\n        value: 'value',\n      }],\n    },\n    removeHeadersConfig: {\n      items: [{\n        header: 'header',\n      }],\n    },\n    securityHeadersConfig: {\n      contentSecurityPolicy: {\n        contentSecurityPolicy: 'contentSecurityPolicy',\n        override: false,\n      },\n      contentTypeOptions: {\n        override: false,\n      },\n      frameOptions: {\n        frameOption: 'frameOption',\n        override: false,\n      },\n      referrerPolicy: {\n        override: false,\n        referrerPolicy: 'referrerPolicy',\n      },\n      strictTransportSecurity: {\n        accessControlMaxAgeSec: 123,\n        override: false,\n\n        // the properties below are optional\n        includeSubdomains: false,\n        preload: false,\n      },\n      xssProtection: {\n        override: false,\n        protection: false,\n\n        // the properties below are optional\n        modeBlock: false,\n        reportUri: 'reportUri',\n      },\n    },\n    serverTimingHeadersConfig: {\n      enabled: false,\n\n      // the properties below are optional\n      samplingRate: 123,\n    },\n  },\n});\n/// !hide\n// Code snippet ended before !hide marker above\n} }","syntaxKindCounter":{"8":3,"10":15,"75":52,"91":14,"104":1,"192":6,"193":19,"194":1,"197":1,"225":1,"242":1,"243":1,"254":1,"255":1,"256":1,"281":48,"290":1},"fqnsFingerprint":"e34dbfe160270090af7d8b489b2c7ed673e315b3e9bbe16d396b7d8903c511c7"},"50d6d19ed3a341324f811dab9d1f85aa6e1e3245099abb676249bb8b39593f0d":{"translations":{"python":{"source":"# The code below shows an example of how to instantiate this type.\n# The values are placeholders you should change.\nimport aws_cdk.aws_cloudfront as cloudfront\n\naccess_control_allow_headers_property = cloudfront.CfnResponseHeadersPolicy.AccessControlAllowHeadersProperty(\n    items=[\"items\"]\n)","version":"2"},"csharp":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nusing Amazon.CDK.AWS.CloudFront;\n\nvar accessControlAllowHeadersProperty = new AccessControlAllowHeadersProperty {\n    Items = new [] { \"items\" }\n};","version":"1"},"java":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport software.amazon.awscdk.services.cloudfront.*;\n\nAccessControlAllowHeadersProperty accessControlAllowHeadersProperty = AccessControlAllowHeadersProperty.builder()\n        .items(List.of(\"items\"))\n        .build();","version":"1"},"go":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport cloudfront \"github.com/aws-samples/dummy/awscdkawscloudfront\"\n\naccessControlAllowHeadersProperty := &AccessControlAllowHeadersProperty{\n\tItems: []*string{\n\t\tjsii.String(\"items\"),\n\t},\n}","version":"1"},"$":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nconst accessControlAllowHeadersProperty: cloudfront.CfnResponseHeadersPolicy.AccessControlAllowHeadersProperty = {\n  items: ['items'],\n};","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.CfnResponseHeadersPolicy.AccessControlAllowHeadersProperty"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.CfnResponseHeadersPolicy.AccessControlAllowHeadersProperty"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from \"@aws-cdk/core\";\nclass MyConstruct extends Construct {\nconstructor(scope: Construct, id: string) {\nsuper(scope, id);\n// Code snippet begins after !show marker below\n/// !show\n\nconst accessControlAllowHeadersProperty: cloudfront.CfnResponseHeadersPolicy.AccessControlAllowHeadersProperty = {\n  items: ['items'],\n};\n/// !hide\n// Code snippet ended before !hide marker above\n} }","syntaxKindCounter":{"10":2,"75":6,"153":2,"169":1,"192":1,"193":1,"225":1,"242":1,"243":1,"254":1,"255":1,"256":1,"281":1,"290":1},"fqnsFingerprint":"a59d5109fb874b139143df44844c1a17c95d974eb0e0563f48771e2b4ed244b0"},"7c6c758c1de788605b78bdab1ba0604fed94d4927bbefdf4784e14f381278067":{"translations":{"python":{"source":"# The code below shows an example of how to instantiate this type.\n# The values are placeholders you should change.\nimport aws_cdk.aws_cloudfront as cloudfront\n\naccess_control_allow_methods_property = cloudfront.CfnResponseHeadersPolicy.AccessControlAllowMethodsProperty(\n    items=[\"items\"]\n)","version":"2"},"csharp":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nusing Amazon.CDK.AWS.CloudFront;\n\nvar accessControlAllowMethodsProperty = new AccessControlAllowMethodsProperty {\n    Items = new [] { \"items\" }\n};","version":"1"},"java":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport software.amazon.awscdk.services.cloudfront.*;\n\nAccessControlAllowMethodsProperty accessControlAllowMethodsProperty = AccessControlAllowMethodsProperty.builder()\n        .items(List.of(\"items\"))\n        .build();","version":"1"},"go":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport cloudfront \"github.com/aws-samples/dummy/awscdkawscloudfront\"\n\naccessControlAllowMethodsProperty := &AccessControlAllowMethodsProperty{\n\tItems: []*string{\n\t\tjsii.String(\"items\"),\n\t},\n}","version":"1"},"$":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nconst accessControlAllowMethodsProperty: cloudfront.CfnResponseHeadersPolicy.AccessControlAllowMethodsProperty = {\n  items: ['items'],\n};","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.CfnResponseHeadersPolicy.AccessControlAllowMethodsProperty"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.CfnResponseHeadersPolicy.AccessControlAllowMethodsProperty"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from \"@aws-cdk/core\";\nclass MyConstruct extends Construct {\nconstructor(scope: Construct, id: string) {\nsuper(scope, id);\n// Code snippet begins after !show marker below\n/// !show\n\nconst accessControlAllowMethodsProperty: cloudfront.CfnResponseHeadersPolicy.AccessControlAllowMethodsProperty = {\n  items: ['items'],\n};\n/// !hide\n// Code snippet ended before !hide marker above\n} }","syntaxKindCounter":{"10":2,"75":6,"153":2,"169":1,"192":1,"193":1,"225":1,"242":1,"243":1,"254":1,"255":1,"256":1,"281":1,"290":1},"fqnsFingerprint":"9082c598655d18b22e9d0aac20aa5f03b0198b13163815ac7b48701bc1c4fd34"},"6df2ce913e96ad9f9db91865e66a6635e88111ba4ca9f7b22f36a1a6c30cbbbb":{"translations":{"python":{"source":"# The code below shows an example of how to instantiate this type.\n# The values are placeholders you should change.\nimport aws_cdk.aws_cloudfront as cloudfront\n\naccess_control_allow_origins_property = cloudfront.CfnResponseHeadersPolicy.AccessControlAllowOriginsProperty(\n    items=[\"items\"]\n)","version":"2"},"csharp":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nusing Amazon.CDK.AWS.CloudFront;\n\nvar accessControlAllowOriginsProperty = new AccessControlAllowOriginsProperty {\n    Items = new [] { \"items\" }\n};","version":"1"},"java":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport software.amazon.awscdk.services.cloudfront.*;\n\nAccessControlAllowOriginsProperty accessControlAllowOriginsProperty = AccessControlAllowOriginsProperty.builder()\n        .items(List.of(\"items\"))\n        .build();","version":"1"},"go":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport cloudfront \"github.com/aws-samples/dummy/awscdkawscloudfront\"\n\naccessControlAllowOriginsProperty := &AccessControlAllowOriginsProperty{\n\tItems: []*string{\n\t\tjsii.String(\"items\"),\n\t},\n}","version":"1"},"$":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nconst accessControlAllowOriginsProperty: cloudfront.CfnResponseHeadersPolicy.AccessControlAllowOriginsProperty = {\n  items: ['items'],\n};","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.CfnResponseHeadersPolicy.AccessControlAllowOriginsProperty"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.CfnResponseHeadersPolicy.AccessControlAllowOriginsProperty"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from \"@aws-cdk/core\";\nclass MyConstruct extends Construct {\nconstructor(scope: Construct, id: string) {\nsuper(scope, id);\n// Code snippet begins after !show marker below\n/// !show\n\nconst accessControlAllowOriginsProperty: cloudfront.CfnResponseHeadersPolicy.AccessControlAllowOriginsProperty = {\n  items: ['items'],\n};\n/// !hide\n// Code snippet ended before !hide marker above\n} }","syntaxKindCounter":{"10":2,"75":6,"153":2,"169":1,"192":1,"193":1,"225":1,"242":1,"243":1,"254":1,"255":1,"256":1,"281":1,"290":1},"fqnsFingerprint":"5697c841088a337d2289c188fa3458102cc1a8474856ad6a0f06e9a090ae89d1"},"30dc61a552a59d37d3b6d6120b0d754bd1e0998f65c0b3977bb2ca65e86b8613":{"translations":{"python":{"source":"# The code below shows an example of how to instantiate this type.\n# The values are placeholders you should change.\nimport aws_cdk.aws_cloudfront as cloudfront\n\naccess_control_expose_headers_property = cloudfront.CfnResponseHeadersPolicy.AccessControlExposeHeadersProperty(\n    items=[\"items\"]\n)","version":"2"},"csharp":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nusing Amazon.CDK.AWS.CloudFront;\n\nvar accessControlExposeHeadersProperty = new AccessControlExposeHeadersProperty {\n    Items = new [] { \"items\" }\n};","version":"1"},"java":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport software.amazon.awscdk.services.cloudfront.*;\n\nAccessControlExposeHeadersProperty accessControlExposeHeadersProperty = AccessControlExposeHeadersProperty.builder()\n        .items(List.of(\"items\"))\n        .build();","version":"1"},"go":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport cloudfront \"github.com/aws-samples/dummy/awscdkawscloudfront\"\n\naccessControlExposeHeadersProperty := &AccessControlExposeHeadersProperty{\n\tItems: []*string{\n\t\tjsii.String(\"items\"),\n\t},\n}","version":"1"},"$":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nconst accessControlExposeHeadersProperty: cloudfront.CfnResponseHeadersPolicy.AccessControlExposeHeadersProperty = {\n  items: ['items'],\n};","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.CfnResponseHeadersPolicy.AccessControlExposeHeadersProperty"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.CfnResponseHeadersPolicy.AccessControlExposeHeadersProperty"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from \"@aws-cdk/core\";\nclass MyConstruct extends Construct {\nconstructor(scope: Construct, id: string) {\nsuper(scope, id);\n// Code snippet begins after !show marker below\n/// !show\n\nconst accessControlExposeHeadersProperty: cloudfront.CfnResponseHeadersPolicy.AccessControlExposeHeadersProperty = {\n  items: ['items'],\n};\n/// !hide\n// Code snippet ended before !hide marker above\n} }","syntaxKindCounter":{"10":2,"75":6,"153":2,"169":1,"192":1,"193":1,"225":1,"242":1,"243":1,"254":1,"255":1,"256":1,"281":1,"290":1},"fqnsFingerprint":"099deb5ced13321ad4e3e84a5cdf2cd010447d23ff1e8ca078263bde529d916a"},"ab76550769cfaf61a91b4444a0c972a8c902ab018139cad1dfe03f157fea6b17":{"translations":{"python":{"source":"# The code below shows an example of how to instantiate this type.\n# The values are placeholders you should change.\nimport aws_cdk.aws_cloudfront as cloudfront\n\ncontent_security_policy_property = cloudfront.CfnResponseHeadersPolicy.ContentSecurityPolicyProperty(\n    content_security_policy=\"contentSecurityPolicy\",\n    override=False\n)","version":"2"},"csharp":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nusing Amazon.CDK.AWS.CloudFront;\n\nvar contentSecurityPolicyProperty = new ContentSecurityPolicyProperty {\n    ContentSecurityPolicy = \"contentSecurityPolicy\",\n    Override = false\n};","version":"1"},"java":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport software.amazon.awscdk.services.cloudfront.*;\n\nContentSecurityPolicyProperty contentSecurityPolicyProperty = ContentSecurityPolicyProperty.builder()\n        .contentSecurityPolicy(\"contentSecurityPolicy\")\n        .override(false)\n        .build();","version":"1"},"go":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport cloudfront \"github.com/aws-samples/dummy/awscdkawscloudfront\"\n\ncontentSecurityPolicyProperty := &ContentSecurityPolicyProperty{\n\tContentSecurityPolicy: jsii.String(\"contentSecurityPolicy\"),\n\tOverride: jsii.Boolean(false),\n}","version":"1"},"$":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nconst contentSecurityPolicyProperty: cloudfront.CfnResponseHeadersPolicy.ContentSecurityPolicyProperty = {\n  contentSecurityPolicy: 'contentSecurityPolicy',\n  override: false,\n};","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.CfnResponseHeadersPolicy.ContentSecurityPolicyProperty"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.CfnResponseHeadersPolicy.ContentSecurityPolicyProperty"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from \"@aws-cdk/core\";\nclass MyConstruct extends Construct {\nconstructor(scope: Construct, id: string) {\nsuper(scope, id);\n// Code snippet begins after !show marker below\n/// !show\n\nconst contentSecurityPolicyProperty: cloudfront.CfnResponseHeadersPolicy.ContentSecurityPolicyProperty = {\n  contentSecurityPolicy: 'contentSecurityPolicy',\n  override: false,\n};\n/// !hide\n// Code snippet ended before !hide marker above\n} }","syntaxKindCounter":{"10":2,"75":7,"91":1,"153":2,"169":1,"193":1,"225":1,"242":1,"243":1,"254":1,"255":1,"256":1,"281":2,"290":1},"fqnsFingerprint":"05cc9b063469989f91fceff39f099bf360557781a0364e270c67eaee838a7637"},"4ff73c53532418808fb77c19f7b6ca621cac95fe7ddbe62f581b94701ca9b061":{"translations":{"python":{"source":"# The code below shows an example of how to instantiate this type.\n# The values are placeholders you should change.\nimport aws_cdk.aws_cloudfront as cloudfront\n\ncontent_type_options_property = cloudfront.CfnResponseHeadersPolicy.ContentTypeOptionsProperty(\n    override=False\n)","version":"2"},"csharp":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nusing Amazon.CDK.AWS.CloudFront;\n\nvar contentTypeOptionsProperty = new ContentTypeOptionsProperty {\n    Override = false\n};","version":"1"},"java":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport software.amazon.awscdk.services.cloudfront.*;\n\nContentTypeOptionsProperty contentTypeOptionsProperty = ContentTypeOptionsProperty.builder()\n        .override(false)\n        .build();","version":"1"},"go":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport cloudfront \"github.com/aws-samples/dummy/awscdkawscloudfront\"\n\ncontentTypeOptionsProperty := &ContentTypeOptionsProperty{\n\tOverride: jsii.Boolean(false),\n}","version":"1"},"$":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nconst contentTypeOptionsProperty: cloudfront.CfnResponseHeadersPolicy.ContentTypeOptionsProperty = {\n  override: false,\n};","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.CfnResponseHeadersPolicy.ContentTypeOptionsProperty"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.CfnResponseHeadersPolicy.ContentTypeOptionsProperty"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from \"@aws-cdk/core\";\nclass MyConstruct extends Construct {\nconstructor(scope: Construct, id: string) {\nsuper(scope, id);\n// Code snippet begins after !show marker below\n/// !show\n\nconst contentTypeOptionsProperty: cloudfront.CfnResponseHeadersPolicy.ContentTypeOptionsProperty = {\n  override: false,\n};\n/// !hide\n// Code snippet ended before !hide marker above\n} }","syntaxKindCounter":{"10":1,"75":6,"91":1,"153":2,"169":1,"193":1,"225":1,"242":1,"243":1,"254":1,"255":1,"256":1,"281":1,"290":1},"fqnsFingerprint":"45020d5972f3235b22b5593ab5956f2b89b22de462232f44e0ef6e67da8d1c7a"},"bcbed309a82b7ba7f72bd0fc536d96ab2319b5acf51792189ef16d199d130ffd":{"translations":{"python":{"source":"# The code below shows an example of how to instantiate this type.\n# The values are placeholders you should change.\nimport aws_cdk.aws_cloudfront as cloudfront\n\ncors_config_property = cloudfront.CfnResponseHeadersPolicy.CorsConfigProperty(\n    access_control_allow_credentials=False,\n    access_control_allow_headers=cloudfront.CfnResponseHeadersPolicy.AccessControlAllowHeadersProperty(\n        items=[\"items\"]\n    ),\n    access_control_allow_methods=cloudfront.CfnResponseHeadersPolicy.AccessControlAllowMethodsProperty(\n        items=[\"items\"]\n    ),\n    access_control_allow_origins=cloudfront.CfnResponseHeadersPolicy.AccessControlAllowOriginsProperty(\n        items=[\"items\"]\n    ),\n    origin_override=False,\n\n    # the properties below are optional\n    access_control_expose_headers=cloudfront.CfnResponseHeadersPolicy.AccessControlExposeHeadersProperty(\n        items=[\"items\"]\n    ),\n    access_control_max_age_sec=123\n)","version":"2"},"csharp":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nusing Amazon.CDK.AWS.CloudFront;\n\nvar corsConfigProperty = new CorsConfigProperty {\n    AccessControlAllowCredentials = false,\n    AccessControlAllowHeaders = new AccessControlAllowHeadersProperty {\n        Items = new [] { \"items\" }\n    },\n    AccessControlAllowMethods = new AccessControlAllowMethodsProperty {\n        Items = new [] { \"items\" }\n    },\n    AccessControlAllowOrigins = new AccessControlAllowOriginsProperty {\n        Items = new [] { \"items\" }\n    },\n    OriginOverride = false,\n\n    // the properties below are optional\n    AccessControlExposeHeaders = new AccessControlExposeHeadersProperty {\n        Items = new [] { \"items\" }\n    },\n    AccessControlMaxAgeSec = 123\n};","version":"1"},"java":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport software.amazon.awscdk.services.cloudfront.*;\n\nCorsConfigProperty corsConfigProperty = CorsConfigProperty.builder()\n        .accessControlAllowCredentials(false)\n        .accessControlAllowHeaders(AccessControlAllowHeadersProperty.builder()\n                .items(List.of(\"items\"))\n                .build())\n        .accessControlAllowMethods(AccessControlAllowMethodsProperty.builder()\n                .items(List.of(\"items\"))\n                .build())\n        .accessControlAllowOrigins(AccessControlAllowOriginsProperty.builder()\n                .items(List.of(\"items\"))\n                .build())\n        .originOverride(false)\n\n        // the properties below are optional\n        .accessControlExposeHeaders(AccessControlExposeHeadersProperty.builder()\n                .items(List.of(\"items\"))\n                .build())\n        .accessControlMaxAgeSec(123)\n        .build();","version":"1"},"go":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport cloudfront \"github.com/aws-samples/dummy/awscdkawscloudfront\"\n\ncorsConfigProperty := &CorsConfigProperty{\n\tAccessControlAllowCredentials: jsii.Boolean(false),\n\tAccessControlAllowHeaders: &AccessControlAllowHeadersProperty{\n\t\tItems: []*string{\n\t\t\tjsii.String(\"items\"),\n\t\t},\n\t},\n\tAccessControlAllowMethods: &AccessControlAllowMethodsProperty{\n\t\tItems: []*string{\n\t\t\tjsii.String(\"items\"),\n\t\t},\n\t},\n\tAccessControlAllowOrigins: &AccessControlAllowOriginsProperty{\n\t\tItems: []*string{\n\t\t\tjsii.String(\"items\"),\n\t\t},\n\t},\n\tOriginOverride: jsii.Boolean(false),\n\n\t// the properties below are optional\n\tAccessControlExposeHeaders: &AccessControlExposeHeadersProperty{\n\t\tItems: []*string{\n\t\t\tjsii.String(\"items\"),\n\t\t},\n\t},\n\tAccessControlMaxAgeSec: jsii.Number(123),\n}","version":"1"},"$":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nconst corsConfigProperty: cloudfront.CfnResponseHeadersPolicy.CorsConfigProperty = {\n  accessControlAllowCredentials: false,\n  accessControlAllowHeaders: {\n    items: ['items'],\n  },\n  accessControlAllowMethods: {\n    items: ['items'],\n  },\n  accessControlAllowOrigins: {\n    items: ['items'],\n  },\n  originOverride: false,\n\n  // the properties below are optional\n  accessControlExposeHeaders: {\n    items: ['items'],\n  },\n  accessControlMaxAgeSec: 123,\n};","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.CfnResponseHeadersPolicy.CorsConfigProperty"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.CfnResponseHeadersPolicy.CorsConfigProperty"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from \"@aws-cdk/core\";\nclass MyConstruct extends Construct {\nconstructor(scope: Construct, id: string) {\nsuper(scope, id);\n// Code snippet begins after !show marker below\n/// !show\n\nconst corsConfigProperty: cloudfront.CfnResponseHeadersPolicy.CorsConfigProperty = {\n  accessControlAllowCredentials: false,\n  accessControlAllowHeaders: {\n    items: ['items'],\n  },\n  accessControlAllowMethods: {\n    items: ['items'],\n  },\n  accessControlAllowOrigins: {\n    items: ['items'],\n  },\n  originOverride: false,\n\n  // the properties below are optional\n  accessControlExposeHeaders: {\n    items: ['items'],\n  },\n  accessControlMaxAgeSec: 123,\n};\n/// !hide\n// Code snippet ended before !hide marker above\n} }","syntaxKindCounter":{"8":1,"10":5,"75":16,"91":2,"153":2,"169":1,"192":4,"193":5,"225":1,"242":1,"243":1,"254":1,"255":1,"256":1,"281":11,"290":1},"fqnsFingerprint":"d02d92dd46cb87babcbea9c573f78b43d7855230caf4acf0b86005e9e5fd45ec"},"99856d47bd38c047dacd74b29965b62367579bccf6162bdfbb3b16353b15348f":{"translations":{"python":{"source":"# The code below shows an example of how to instantiate this type.\n# The values are placeholders you should change.\nimport aws_cdk.aws_cloudfront as cloudfront\n\ncustom_header_property = cloudfront.CfnResponseHeadersPolicy.CustomHeaderProperty(\n    header=\"header\",\n    override=False,\n    value=\"value\"\n)","version":"2"},"csharp":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nusing Amazon.CDK.AWS.CloudFront;\n\nvar customHeaderProperty = new CustomHeaderProperty {\n    Header = \"header\",\n    Override = false,\n    Value = \"value\"\n};","version":"1"},"java":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport software.amazon.awscdk.services.cloudfront.*;\n\nCustomHeaderProperty customHeaderProperty = CustomHeaderProperty.builder()\n        .header(\"header\")\n        .override(false)\n        .value(\"value\")\n        .build();","version":"1"},"go":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport cloudfront \"github.com/aws-samples/dummy/awscdkawscloudfront\"\n\ncustomHeaderProperty := &CustomHeaderProperty{\n\tHeader: jsii.String(\"header\"),\n\tOverride: jsii.Boolean(false),\n\tValue: jsii.String(\"value\"),\n}","version":"1"},"$":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nconst customHeaderProperty: cloudfront.CfnResponseHeadersPolicy.CustomHeaderProperty = {\n  header: 'header',\n  override: false,\n  value: 'value',\n};","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.CfnResponseHeadersPolicy.CustomHeaderProperty"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.CfnResponseHeadersPolicy.CustomHeaderProperty"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from \"@aws-cdk/core\";\nclass MyConstruct extends Construct {\nconstructor(scope: Construct, id: string) {\nsuper(scope, id);\n// Code snippet begins after !show marker below\n/// !show\n\nconst customHeaderProperty: cloudfront.CfnResponseHeadersPolicy.CustomHeaderProperty = {\n  header: 'header',\n  override: false,\n  value: 'value',\n};\n/// !hide\n// Code snippet ended before !hide marker above\n} }","syntaxKindCounter":{"10":3,"75":8,"91":1,"153":2,"169":1,"193":1,"225":1,"242":1,"243":1,"254":1,"255":1,"256":1,"281":3,"290":1},"fqnsFingerprint":"328e22d3aa1d3fecd3564d16e20b290efa993c313f767f640e5f8257f3c604cf"},"fea6bdb300b1fcdefca8e1ad4c0bbf41836ef5e91bd55458e69dd4d94bdf88e3":{"translations":{"python":{"source":"# The code below shows an example of how to instantiate this type.\n# The values are placeholders you should change.\nimport aws_cdk.aws_cloudfront as cloudfront\n\ncustom_headers_config_property = cloudfront.CfnResponseHeadersPolicy.CustomHeadersConfigProperty(\n    items=[cloudfront.CfnResponseHeadersPolicy.CustomHeaderProperty(\n        header=\"header\",\n        override=False,\n        value=\"value\"\n    )]\n)","version":"2"},"csharp":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nusing Amazon.CDK.AWS.CloudFront;\n\nvar customHeadersConfigProperty = new CustomHeadersConfigProperty {\n    Items = new [] { new CustomHeaderProperty {\n        Header = \"header\",\n        Override = false,\n        Value = \"value\"\n    } }\n};","version":"1"},"java":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport software.amazon.awscdk.services.cloudfront.*;\n\nCustomHeadersConfigProperty customHeadersConfigProperty = CustomHeadersConfigProperty.builder()\n        .items(List.of(CustomHeaderProperty.builder()\n                .header(\"header\")\n                .override(false)\n                .value(\"value\")\n                .build()))\n        .build();","version":"1"},"go":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport cloudfront \"github.com/aws-samples/dummy/awscdkawscloudfront\"\n\ncustomHeadersConfigProperty := &CustomHeadersConfigProperty{\n\tItems: []interface{}{\n\t\t&CustomHeaderProperty{\n\t\t\tHeader: jsii.String(\"header\"),\n\t\t\tOverride: jsii.Boolean(false),\n\t\t\tValue: jsii.String(\"value\"),\n\t\t},\n\t},\n}","version":"1"},"$":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nconst customHeadersConfigProperty: cloudfront.CfnResponseHeadersPolicy.CustomHeadersConfigProperty = {\n  items: [{\n    header: 'header',\n    override: false,\n    value: 'value',\n  }],\n};","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.CfnResponseHeadersPolicy.CustomHeadersConfigProperty"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.CfnResponseHeadersPolicy.CustomHeadersConfigProperty"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from \"@aws-cdk/core\";\nclass MyConstruct extends Construct {\nconstructor(scope: Construct, id: string) {\nsuper(scope, id);\n// Code snippet begins after !show marker below\n/// !show\n\nconst customHeadersConfigProperty: cloudfront.CfnResponseHeadersPolicy.CustomHeadersConfigProperty = {\n  items: [{\n    header: 'header',\n    override: false,\n    value: 'value',\n  }],\n};\n/// !hide\n// Code snippet ended before !hide marker above\n} }","syntaxKindCounter":{"10":3,"75":9,"91":1,"153":2,"169":1,"192":1,"193":2,"225":1,"242":1,"243":1,"254":1,"255":1,"256":1,"281":4,"290":1},"fqnsFingerprint":"ebe093641f8b8e5e7e73d81607440a299f0b22591aaa659a45eb1bde26e43eb0"},"b11c24bcaf6bddb4db4c2eb2e96e0c4620d92c637eb56d67cbde24e26e33159a":{"translations":{"python":{"source":"# The code below shows an example of how to instantiate this type.\n# The values are placeholders you should change.\nimport aws_cdk.aws_cloudfront as cloudfront\n\nframe_options_property = cloudfront.CfnResponseHeadersPolicy.FrameOptionsProperty(\n    frame_option=\"frameOption\",\n    override=False\n)","version":"2"},"csharp":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nusing Amazon.CDK.AWS.CloudFront;\n\nvar frameOptionsProperty = new FrameOptionsProperty {\n    FrameOption = \"frameOption\",\n    Override = false\n};","version":"1"},"java":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport software.amazon.awscdk.services.cloudfront.*;\n\nFrameOptionsProperty frameOptionsProperty = FrameOptionsProperty.builder()\n        .frameOption(\"frameOption\")\n        .override(false)\n        .build();","version":"1"},"go":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport cloudfront \"github.com/aws-samples/dummy/awscdkawscloudfront\"\n\nframeOptionsProperty := &FrameOptionsProperty{\n\tFrameOption: jsii.String(\"frameOption\"),\n\tOverride: jsii.Boolean(false),\n}","version":"1"},"$":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nconst frameOptionsProperty: cloudfront.CfnResponseHeadersPolicy.FrameOptionsProperty = {\n  frameOption: 'frameOption',\n  override: false,\n};","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.CfnResponseHeadersPolicy.FrameOptionsProperty"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.CfnResponseHeadersPolicy.FrameOptionsProperty"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from \"@aws-cdk/core\";\nclass MyConstruct extends Construct {\nconstructor(scope: Construct, id: string) {\nsuper(scope, id);\n// Code snippet begins after !show marker below\n/// !show\n\nconst frameOptionsProperty: cloudfront.CfnResponseHeadersPolicy.FrameOptionsProperty = {\n  frameOption: 'frameOption',\n  override: false,\n};\n/// !hide\n// Code snippet ended before !hide marker above\n} }","syntaxKindCounter":{"10":2,"75":7,"91":1,"153":2,"169":1,"193":1,"225":1,"242":1,"243":1,"254":1,"255":1,"256":1,"281":2,"290":1},"fqnsFingerprint":"b90533898c656d0139a836c1917dd02712e3eb0efc5994b6eb9d1cc20f8770ee"},"69cf4da94cb92fbcad5fb7af3656ff180ad9d588d5b0c4918895b86c1b3d5330":{"translations":{"python":{"source":"# The code below shows an example of how to instantiate this type.\n# The values are placeholders you should change.\nimport aws_cdk.aws_cloudfront as cloudfront\n\nreferrer_policy_property = cloudfront.CfnResponseHeadersPolicy.ReferrerPolicyProperty(\n    override=False,\n    referrer_policy=\"referrerPolicy\"\n)","version":"2"},"csharp":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nusing Amazon.CDK.AWS.CloudFront;\n\nvar referrerPolicyProperty = new ReferrerPolicyProperty {\n    Override = false,\n    ReferrerPolicy = \"referrerPolicy\"\n};","version":"1"},"java":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport software.amazon.awscdk.services.cloudfront.*;\n\nReferrerPolicyProperty referrerPolicyProperty = ReferrerPolicyProperty.builder()\n        .override(false)\n        .referrerPolicy(\"referrerPolicy\")\n        .build();","version":"1"},"go":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport cloudfront \"github.com/aws-samples/dummy/awscdkawscloudfront\"\n\nreferrerPolicyProperty := &ReferrerPolicyProperty{\n\tOverride: jsii.Boolean(false),\n\tReferrerPolicy: jsii.String(\"referrerPolicy\"),\n}","version":"1"},"$":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nconst referrerPolicyProperty: cloudfront.CfnResponseHeadersPolicy.ReferrerPolicyProperty = {\n  override: false,\n  referrerPolicy: 'referrerPolicy',\n};","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.CfnResponseHeadersPolicy.ReferrerPolicyProperty"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.CfnResponseHeadersPolicy.ReferrerPolicyProperty"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from \"@aws-cdk/core\";\nclass MyConstruct extends Construct {\nconstructor(scope: Construct, id: string) {\nsuper(scope, id);\n// Code snippet begins after !show marker below\n/// !show\n\nconst referrerPolicyProperty: cloudfront.CfnResponseHeadersPolicy.ReferrerPolicyProperty = {\n  override: false,\n  referrerPolicy: 'referrerPolicy',\n};\n/// !hide\n// Code snippet ended before !hide marker above\n} }","syntaxKindCounter":{"10":2,"75":7,"91":1,"153":2,"169":1,"193":1,"225":1,"242":1,"243":1,"254":1,"255":1,"256":1,"281":2,"290":1},"fqnsFingerprint":"6d8cf7707e39dd2555ec1fa32115745a558dfb0021614bb6be30f5c233e186cf"},"63b9fe8af18de4327dc02297c2016e4ea189b0bf131a8f46788415ab3e6df015":{"translations":{"python":{"source":"# The code below shows an example of how to instantiate this type.\n# The values are placeholders you should change.\nimport aws_cdk.aws_cloudfront as cloudfront\n\nremove_header_property = cloudfront.CfnResponseHeadersPolicy.RemoveHeaderProperty(\n    header=\"header\"\n)","version":"2"},"csharp":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nusing Amazon.CDK.AWS.CloudFront;\n\nvar removeHeaderProperty = new RemoveHeaderProperty {\n    Header = \"header\"\n};","version":"1"},"java":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport software.amazon.awscdk.services.cloudfront.*;\n\nRemoveHeaderProperty removeHeaderProperty = RemoveHeaderProperty.builder()\n        .header(\"header\")\n        .build();","version":"1"},"go":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport cloudfront \"github.com/aws-samples/dummy/awscdkawscloudfront\"\n\nremoveHeaderProperty := &RemoveHeaderProperty{\n\tHeader: jsii.String(\"header\"),\n}","version":"1"},"$":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nconst removeHeaderProperty: cloudfront.CfnResponseHeadersPolicy.RemoveHeaderProperty = {\n  header: 'header',\n};","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.CfnResponseHeadersPolicy.RemoveHeaderProperty"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.CfnResponseHeadersPolicy.RemoveHeaderProperty"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from \"@aws-cdk/core\";\nclass MyConstruct extends Construct {\nconstructor(scope: Construct, id: string) {\nsuper(scope, id);\n// Code snippet begins after !show marker below\n/// !show\n\nconst removeHeaderProperty: cloudfront.CfnResponseHeadersPolicy.RemoveHeaderProperty = {\n  header: 'header',\n};\n/// !hide\n// Code snippet ended before !hide marker above\n} }","syntaxKindCounter":{"10":2,"75":6,"153":2,"169":1,"193":1,"225":1,"242":1,"243":1,"254":1,"255":1,"256":1,"281":1,"290":1},"fqnsFingerprint":"28cefa4495baf36961579f83bd5922bf65ab1b4c6e7400d36a8bbb86ffaddc97"},"e58501175f8c3afd6343f11f2b9c64569a3cfd7e4b503abf0cbfe99d97d5e0fd":{"translations":{"python":{"source":"# The code below shows an example of how to instantiate this type.\n# The values are placeholders you should change.\nimport aws_cdk.aws_cloudfront as cloudfront\n\nremove_headers_config_property = cloudfront.CfnResponseHeadersPolicy.RemoveHeadersConfigProperty(\n    items=[cloudfront.CfnResponseHeadersPolicy.RemoveHeaderProperty(\n        header=\"header\"\n    )]\n)","version":"2"},"csharp":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nusing Amazon.CDK.AWS.CloudFront;\n\nvar removeHeadersConfigProperty = new RemoveHeadersConfigProperty {\n    Items = new [] { new RemoveHeaderProperty {\n        Header = \"header\"\n    } }\n};","version":"1"},"java":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport software.amazon.awscdk.services.cloudfront.*;\n\nRemoveHeadersConfigProperty removeHeadersConfigProperty = RemoveHeadersConfigProperty.builder()\n        .items(List.of(RemoveHeaderProperty.builder()\n                .header(\"header\")\n                .build()))\n        .build();","version":"1"},"go":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport cloudfront \"github.com/aws-samples/dummy/awscdkawscloudfront\"\n\nremoveHeadersConfigProperty := &RemoveHeadersConfigProperty{\n\tItems: []interface{}{\n\t\t&RemoveHeaderProperty{\n\t\t\tHeader: jsii.String(\"header\"),\n\t\t},\n\t},\n}","version":"1"},"$":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nconst removeHeadersConfigProperty: cloudfront.CfnResponseHeadersPolicy.RemoveHeadersConfigProperty = {\n  items: [{\n    header: 'header',\n  }],\n};","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.CfnResponseHeadersPolicy.RemoveHeadersConfigProperty"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.CfnResponseHeadersPolicy.RemoveHeadersConfigProperty"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from \"@aws-cdk/core\";\nclass MyConstruct extends Construct {\nconstructor(scope: Construct, id: string) {\nsuper(scope, id);\n// Code snippet begins after !show marker below\n/// !show\n\nconst removeHeadersConfigProperty: cloudfront.CfnResponseHeadersPolicy.RemoveHeadersConfigProperty = {\n  items: [{\n    header: 'header',\n  }],\n};\n/// !hide\n// Code snippet ended before !hide marker above\n} }","syntaxKindCounter":{"10":2,"75":7,"153":2,"169":1,"192":1,"193":2,"225":1,"242":1,"243":1,"254":1,"255":1,"256":1,"281":2,"290":1},"fqnsFingerprint":"4a4f6dee0490442086fdc9cb8b468bebdbee1e89f34e2f86ba7b693b8dee8397"},"91d93530eeff3efcb09b2941b11c062e79ae6fe68e301ccb1ad7ff1b83964024":{"translations":{"python":{"source":"# The code below shows an example of how to instantiate this type.\n# The values are placeholders you should change.\nimport aws_cdk.aws_cloudfront as cloudfront\n\nresponse_headers_policy_config_property = cloudfront.CfnResponseHeadersPolicy.ResponseHeadersPolicyConfigProperty(\n    name=\"name\",\n\n    # the properties below are optional\n    comment=\"comment\",\n    cors_config=cloudfront.CfnResponseHeadersPolicy.CorsConfigProperty(\n        access_control_allow_credentials=False,\n        access_control_allow_headers=cloudfront.CfnResponseHeadersPolicy.AccessControlAllowHeadersProperty(\n            items=[\"items\"]\n        ),\n        access_control_allow_methods=cloudfront.CfnResponseHeadersPolicy.AccessControlAllowMethodsProperty(\n            items=[\"items\"]\n        ),\n        access_control_allow_origins=cloudfront.CfnResponseHeadersPolicy.AccessControlAllowOriginsProperty(\n            items=[\"items\"]\n        ),\n        origin_override=False,\n\n        # the properties below are optional\n        access_control_expose_headers=cloudfront.CfnResponseHeadersPolicy.AccessControlExposeHeadersProperty(\n            items=[\"items\"]\n        ),\n        access_control_max_age_sec=123\n    ),\n    custom_headers_config=cloudfront.CfnResponseHeadersPolicy.CustomHeadersConfigProperty(\n        items=[cloudfront.CfnResponseHeadersPolicy.CustomHeaderProperty(\n            header=\"header\",\n            override=False,\n            value=\"value\"\n        )]\n    ),\n    remove_headers_config=cloudfront.CfnResponseHeadersPolicy.RemoveHeadersConfigProperty(\n        items=[cloudfront.CfnResponseHeadersPolicy.RemoveHeaderProperty(\n            header=\"header\"\n        )]\n    ),\n    security_headers_config=cloudfront.CfnResponseHeadersPolicy.SecurityHeadersConfigProperty(\n        content_security_policy=cloudfront.CfnResponseHeadersPolicy.ContentSecurityPolicyProperty(\n            content_security_policy=\"contentSecurityPolicy\",\n            override=False\n        ),\n        content_type_options=cloudfront.CfnResponseHeadersPolicy.ContentTypeOptionsProperty(\n            override=False\n        ),\n        frame_options=cloudfront.CfnResponseHeadersPolicy.FrameOptionsProperty(\n            frame_option=\"frameOption\",\n            override=False\n        ),\n        referrer_policy=cloudfront.CfnResponseHeadersPolicy.ReferrerPolicyProperty(\n            override=False,\n            referrer_policy=\"referrerPolicy\"\n        ),\n        strict_transport_security=cloudfront.CfnResponseHeadersPolicy.StrictTransportSecurityProperty(\n            access_control_max_age_sec=123,\n            override=False,\n\n            # the properties below are optional\n            include_subdomains=False,\n            preload=False\n        ),\n        xss_protection=cloudfront.CfnResponseHeadersPolicy.XSSProtectionProperty(\n            override=False,\n            protection=False,\n\n            # the properties below are optional\n            mode_block=False,\n            report_uri=\"reportUri\"\n        )\n    ),\n    server_timing_headers_config=cloudfront.CfnResponseHeadersPolicy.ServerTimingHeadersConfigProperty(\n        enabled=False,\n\n        # the properties below are optional\n        sampling_rate=123\n    )\n)","version":"2"},"csharp":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nusing Amazon.CDK.AWS.CloudFront;\n\nvar responseHeadersPolicyConfigProperty = new ResponseHeadersPolicyConfigProperty {\n    Name = \"name\",\n\n    // the properties below are optional\n    Comment = \"comment\",\n    CorsConfig = new CorsConfigProperty {\n        AccessControlAllowCredentials = false,\n        AccessControlAllowHeaders = new AccessControlAllowHeadersProperty {\n            Items = new [] { \"items\" }\n        },\n        AccessControlAllowMethods = new AccessControlAllowMethodsProperty {\n            Items = new [] { \"items\" }\n        },\n        AccessControlAllowOrigins = new AccessControlAllowOriginsProperty {\n            Items = new [] { \"items\" }\n        },\n        OriginOverride = false,\n\n        // the properties below are optional\n        AccessControlExposeHeaders = new AccessControlExposeHeadersProperty {\n            Items = new [] { \"items\" }\n        },\n        AccessControlMaxAgeSec = 123\n    },\n    CustomHeadersConfig = new CustomHeadersConfigProperty {\n        Items = new [] { new CustomHeaderProperty {\n            Header = \"header\",\n            Override = false,\n            Value = \"value\"\n        } }\n    },\n    RemoveHeadersConfig = new RemoveHeadersConfigProperty {\n        Items = new [] { new RemoveHeaderProperty {\n            Header = \"header\"\n        } }\n    },\n    SecurityHeadersConfig = new SecurityHeadersConfigProperty {\n        ContentSecurityPolicy = new ContentSecurityPolicyProperty {\n            ContentSecurityPolicy = \"contentSecurityPolicy\",\n            Override = false\n        },\n        ContentTypeOptions = new ContentTypeOptionsProperty {\n            Override = false\n        },\n        FrameOptions = new FrameOptionsProperty {\n            FrameOption = \"frameOption\",\n            Override = false\n        },\n        ReferrerPolicy = new ReferrerPolicyProperty {\n            Override = false,\n            ReferrerPolicy = \"referrerPolicy\"\n        },\n        StrictTransportSecurity = new StrictTransportSecurityProperty {\n            AccessControlMaxAgeSec = 123,\n            Override = false,\n\n            // the properties below are optional\n            IncludeSubdomains = false,\n            Preload = false\n        },\n        XssProtection = new XSSProtectionProperty {\n            Override = false,\n            Protection = false,\n\n            // the properties below are optional\n            ModeBlock = false,\n            ReportUri = \"reportUri\"\n        }\n    },\n    ServerTimingHeadersConfig = new ServerTimingHeadersConfigProperty {\n        Enabled = false,\n\n        // the properties below are optional\n        SamplingRate = 123\n    }\n};","version":"1"},"java":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport software.amazon.awscdk.services.cloudfront.*;\n\nResponseHeadersPolicyConfigProperty responseHeadersPolicyConfigProperty = ResponseHeadersPolicyConfigProperty.builder()\n        .name(\"name\")\n\n        // the properties below are optional\n        .comment(\"comment\")\n        .corsConfig(CorsConfigProperty.builder()\n                .accessControlAllowCredentials(false)\n                .accessControlAllowHeaders(AccessControlAllowHeadersProperty.builder()\n                        .items(List.of(\"items\"))\n                        .build())\n                .accessControlAllowMethods(AccessControlAllowMethodsProperty.builder()\n                        .items(List.of(\"items\"))\n                        .build())\n                .accessControlAllowOrigins(AccessControlAllowOriginsProperty.builder()\n                        .items(List.of(\"items\"))\n                        .build())\n                .originOverride(false)\n\n                // the properties below are optional\n                .accessControlExposeHeaders(AccessControlExposeHeadersProperty.builder()\n                        .items(List.of(\"items\"))\n                        .build())\n                .accessControlMaxAgeSec(123)\n                .build())\n        .customHeadersConfig(CustomHeadersConfigProperty.builder()\n                .items(List.of(CustomHeaderProperty.builder()\n                        .header(\"header\")\n                        .override(false)\n                        .value(\"value\")\n                        .build()))\n                .build())\n        .removeHeadersConfig(RemoveHeadersConfigProperty.builder()\n                .items(List.of(RemoveHeaderProperty.builder()\n                        .header(\"header\")\n                        .build()))\n                .build())\n        .securityHeadersConfig(SecurityHeadersConfigProperty.builder()\n                .contentSecurityPolicy(ContentSecurityPolicyProperty.builder()\n                        .contentSecurityPolicy(\"contentSecurityPolicy\")\n                        .override(false)\n                        .build())\n                .contentTypeOptions(ContentTypeOptionsProperty.builder()\n                        .override(false)\n                        .build())\n                .frameOptions(FrameOptionsProperty.builder()\n                        .frameOption(\"frameOption\")\n                        .override(false)\n                        .build())\n                .referrerPolicy(ReferrerPolicyProperty.builder()\n                        .override(false)\n                        .referrerPolicy(\"referrerPolicy\")\n                        .build())\n                .strictTransportSecurity(StrictTransportSecurityProperty.builder()\n                        .accessControlMaxAgeSec(123)\n                        .override(false)\n\n                        // the properties below are optional\n                        .includeSubdomains(false)\n                        .preload(false)\n                        .build())\n                .xssProtection(XSSProtectionProperty.builder()\n                        .override(false)\n                        .protection(false)\n\n                        // the properties below are optional\n                        .modeBlock(false)\n                        .reportUri(\"reportUri\")\n                        .build())\n                .build())\n        .serverTimingHeadersConfig(ServerTimingHeadersConfigProperty.builder()\n                .enabled(false)\n\n                // the properties below are optional\n                .samplingRate(123)\n                .build())\n        .build();","version":"1"},"go":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport cloudfront \"github.com/aws-samples/dummy/awscdkawscloudfront\"\n\nresponseHeadersPolicyConfigProperty := &ResponseHeadersPolicyConfigProperty{\n\tName: jsii.String(\"name\"),\n\n\t// the properties below are optional\n\tComment: jsii.String(\"comment\"),\n\tCorsConfig: &CorsConfigProperty{\n\t\tAccessControlAllowCredentials: jsii.Boolean(false),\n\t\tAccessControlAllowHeaders: &AccessControlAllowHeadersProperty{\n\t\t\tItems: []*string{\n\t\t\t\tjsii.String(\"items\"),\n\t\t\t},\n\t\t},\n\t\tAccessControlAllowMethods: &AccessControlAllowMethodsProperty{\n\t\t\tItems: []*string{\n\t\t\t\tjsii.String(\"items\"),\n\t\t\t},\n\t\t},\n\t\tAccessControlAllowOrigins: &AccessControlAllowOriginsProperty{\n\t\t\tItems: []*string{\n\t\t\t\tjsii.String(\"items\"),\n\t\t\t},\n\t\t},\n\t\tOriginOverride: jsii.Boolean(false),\n\n\t\t// the properties below are optional\n\t\tAccessControlExposeHeaders: &AccessControlExposeHeadersProperty{\n\t\t\tItems: []*string{\n\t\t\t\tjsii.String(\"items\"),\n\t\t\t},\n\t\t},\n\t\tAccessControlMaxAgeSec: jsii.Number(123),\n\t},\n\tCustomHeadersConfig: &CustomHeadersConfigProperty{\n\t\tItems: []interface{}{\n\t\t\t&CustomHeaderProperty{\n\t\t\t\tHeader: jsii.String(\"header\"),\n\t\t\t\tOverride: jsii.Boolean(false),\n\t\t\t\tValue: jsii.String(\"value\"),\n\t\t\t},\n\t\t},\n\t},\n\tRemoveHeadersConfig: &RemoveHeadersConfigProperty{\n\t\tItems: []interface{}{\n\t\t\t&RemoveHeaderProperty{\n\t\t\t\tHeader: jsii.String(\"header\"),\n\t\t\t},\n\t\t},\n\t},\n\tSecurityHeadersConfig: &SecurityHeadersConfigProperty{\n\t\tContentSecurityPolicy: &ContentSecurityPolicyProperty{\n\t\t\tContentSecurityPolicy: jsii.String(\"contentSecurityPolicy\"),\n\t\t\tOverride: jsii.Boolean(false),\n\t\t},\n\t\tContentTypeOptions: &ContentTypeOptionsProperty{\n\t\t\tOverride: jsii.Boolean(false),\n\t\t},\n\t\tFrameOptions: &FrameOptionsProperty{\n\t\t\tFrameOption: jsii.String(\"frameOption\"),\n\t\t\tOverride: jsii.Boolean(false),\n\t\t},\n\t\tReferrerPolicy: &ReferrerPolicyProperty{\n\t\t\tOverride: jsii.Boolean(false),\n\t\t\tReferrerPolicy: jsii.String(\"referrerPolicy\"),\n\t\t},\n\t\tStrictTransportSecurity: &StrictTransportSecurityProperty{\n\t\t\tAccessControlMaxAgeSec: jsii.Number(123),\n\t\t\tOverride: jsii.Boolean(false),\n\n\t\t\t// the properties below are optional\n\t\t\tIncludeSubdomains: jsii.Boolean(false),\n\t\t\tPreload: jsii.Boolean(false),\n\t\t},\n\t\tXssProtection: &XSSProtectionProperty{\n\t\t\tOverride: jsii.Boolean(false),\n\t\t\tProtection: jsii.Boolean(false),\n\n\t\t\t// the properties below are optional\n\t\t\tModeBlock: jsii.Boolean(false),\n\t\t\tReportUri: jsii.String(\"reportUri\"),\n\t\t},\n\t},\n\tServerTimingHeadersConfig: &ServerTimingHeadersConfigProperty{\n\t\tEnabled: jsii.Boolean(false),\n\n\t\t// the properties below are optional\n\t\tSamplingRate: jsii.Number(123),\n\t},\n}","version":"1"},"$":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nconst responseHeadersPolicyConfigProperty: cloudfront.CfnResponseHeadersPolicy.ResponseHeadersPolicyConfigProperty = {\n  name: 'name',\n\n  // the properties below are optional\n  comment: 'comment',\n  corsConfig: {\n    accessControlAllowCredentials: false,\n    accessControlAllowHeaders: {\n      items: ['items'],\n    },\n    accessControlAllowMethods: {\n      items: ['items'],\n    },\n    accessControlAllowOrigins: {\n      items: ['items'],\n    },\n    originOverride: false,\n\n    // the properties below are optional\n    accessControlExposeHeaders: {\n      items: ['items'],\n    },\n    accessControlMaxAgeSec: 123,\n  },\n  customHeadersConfig: {\n    items: [{\n      header: 'header',\n      override: false,\n      value: 'value',\n    }],\n  },\n  removeHeadersConfig: {\n    items: [{\n      header: 'header',\n    }],\n  },\n  securityHeadersConfig: {\n    contentSecurityPolicy: {\n      contentSecurityPolicy: 'contentSecurityPolicy',\n      override: false,\n    },\n    contentTypeOptions: {\n      override: false,\n    },\n    frameOptions: {\n      frameOption: 'frameOption',\n      override: false,\n    },\n    referrerPolicy: {\n      override: false,\n      referrerPolicy: 'referrerPolicy',\n    },\n    strictTransportSecurity: {\n      accessControlMaxAgeSec: 123,\n      override: false,\n\n      // the properties below are optional\n      includeSubdomains: false,\n      preload: false,\n    },\n    xssProtection: {\n      override: false,\n      protection: false,\n\n      // the properties below are optional\n      modeBlock: false,\n      reportUri: 'reportUri',\n    },\n  },\n  serverTimingHeadersConfig: {\n    enabled: false,\n\n    // the properties below are optional\n    samplingRate: 123,\n  },\n};","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.CfnResponseHeadersPolicy.ResponseHeadersPolicyConfigProperty"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.CfnResponseHeadersPolicy.ResponseHeadersPolicyConfigProperty"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from \"@aws-cdk/core\";\nclass MyConstruct extends Construct {\nconstructor(scope: Construct, id: string) {\nsuper(scope, id);\n// Code snippet begins after !show marker below\n/// !show\n\nconst responseHeadersPolicyConfigProperty: cloudfront.CfnResponseHeadersPolicy.ResponseHeadersPolicyConfigProperty = {\n  name: 'name',\n\n  // the properties below are optional\n  comment: 'comment',\n  corsConfig: {\n    accessControlAllowCredentials: false,\n    accessControlAllowHeaders: {\n      items: ['items'],\n    },\n    accessControlAllowMethods: {\n      items: ['items'],\n    },\n    accessControlAllowOrigins: {\n      items: ['items'],\n    },\n    originOverride: false,\n\n    // the properties below are optional\n    accessControlExposeHeaders: {\n      items: ['items'],\n    },\n    accessControlMaxAgeSec: 123,\n  },\n  customHeadersConfig: {\n    items: [{\n      header: 'header',\n      override: false,\n      value: 'value',\n    }],\n  },\n  removeHeadersConfig: {\n    items: [{\n      header: 'header',\n    }],\n  },\n  securityHeadersConfig: {\n    contentSecurityPolicy: {\n      contentSecurityPolicy: 'contentSecurityPolicy',\n      override: false,\n    },\n    contentTypeOptions: {\n      override: false,\n    },\n    frameOptions: {\n      frameOption: 'frameOption',\n      override: false,\n    },\n    referrerPolicy: {\n      override: false,\n      referrerPolicy: 'referrerPolicy',\n    },\n    strictTransportSecurity: {\n      accessControlMaxAgeSec: 123,\n      override: false,\n\n      // the properties below are optional\n      includeSubdomains: false,\n      preload: false,\n    },\n    xssProtection: {\n      override: false,\n      protection: false,\n\n      // the properties below are optional\n      modeBlock: false,\n      reportUri: 'reportUri',\n    },\n  },\n  serverTimingHeadersConfig: {\n    enabled: false,\n\n    // the properties below are optional\n    samplingRate: 123,\n  },\n};\n/// !hide\n// Code snippet ended before !hide marker above\n} }","syntaxKindCounter":{"8":3,"10":14,"75":52,"91":14,"153":2,"169":1,"192":6,"193":18,"225":1,"242":1,"243":1,"254":1,"255":1,"256":1,"281":47,"290":1},"fqnsFingerprint":"fd1ba035d50b90352bd1eacc7325ad19e0e5f9116827c3c67644bbaa8e8af520"},"270a9fb3e1c729aeab9204f61ce150f09567690b1f9ebbf1e2a558d0e174763c":{"translations":{"python":{"source":"# The code below shows an example of how to instantiate this type.\n# The values are placeholders you should change.\nimport aws_cdk.aws_cloudfront as cloudfront\n\nsecurity_headers_config_property = cloudfront.CfnResponseHeadersPolicy.SecurityHeadersConfigProperty(\n    content_security_policy=cloudfront.CfnResponseHeadersPolicy.ContentSecurityPolicyProperty(\n        content_security_policy=\"contentSecurityPolicy\",\n        override=False\n    ),\n    content_type_options=cloudfront.CfnResponseHeadersPolicy.ContentTypeOptionsProperty(\n        override=False\n    ),\n    frame_options=cloudfront.CfnResponseHeadersPolicy.FrameOptionsProperty(\n        frame_option=\"frameOption\",\n        override=False\n    ),\n    referrer_policy=cloudfront.CfnResponseHeadersPolicy.ReferrerPolicyProperty(\n        override=False,\n        referrer_policy=\"referrerPolicy\"\n    ),\n    strict_transport_security=cloudfront.CfnResponseHeadersPolicy.StrictTransportSecurityProperty(\n        access_control_max_age_sec=123,\n        override=False,\n\n        # the properties below are optional\n        include_subdomains=False,\n        preload=False\n    ),\n    xss_protection=cloudfront.CfnResponseHeadersPolicy.XSSProtectionProperty(\n        override=False,\n        protection=False,\n\n        # the properties below are optional\n        mode_block=False,\n        report_uri=\"reportUri\"\n    )\n)","version":"2"},"csharp":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nusing Amazon.CDK.AWS.CloudFront;\n\nvar securityHeadersConfigProperty = new SecurityHeadersConfigProperty {\n    ContentSecurityPolicy = new ContentSecurityPolicyProperty {\n        ContentSecurityPolicy = \"contentSecurityPolicy\",\n        Override = false\n    },\n    ContentTypeOptions = new ContentTypeOptionsProperty {\n        Override = false\n    },\n    FrameOptions = new FrameOptionsProperty {\n        FrameOption = \"frameOption\",\n        Override = false\n    },\n    ReferrerPolicy = new ReferrerPolicyProperty {\n        Override = false,\n        ReferrerPolicy = \"referrerPolicy\"\n    },\n    StrictTransportSecurity = new StrictTransportSecurityProperty {\n        AccessControlMaxAgeSec = 123,\n        Override = false,\n\n        // the properties below are optional\n        IncludeSubdomains = false,\n        Preload = false\n    },\n    XssProtection = new XSSProtectionProperty {\n        Override = false,\n        Protection = false,\n\n        // the properties below are optional\n        ModeBlock = false,\n        ReportUri = \"reportUri\"\n    }\n};","version":"1"},"java":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport software.amazon.awscdk.services.cloudfront.*;\n\nSecurityHeadersConfigProperty securityHeadersConfigProperty = SecurityHeadersConfigProperty.builder()\n        .contentSecurityPolicy(ContentSecurityPolicyProperty.builder()\n                .contentSecurityPolicy(\"contentSecurityPolicy\")\n                .override(false)\n                .build())\n        .contentTypeOptions(ContentTypeOptionsProperty.builder()\n                .override(false)\n                .build())\n        .frameOptions(FrameOptionsProperty.builder()\n                .frameOption(\"frameOption\")\n                .override(false)\n                .build())\n        .referrerPolicy(ReferrerPolicyProperty.builder()\n                .override(false)\n                .referrerPolicy(\"referrerPolicy\")\n                .build())\n        .strictTransportSecurity(StrictTransportSecurityProperty.builder()\n                .accessControlMaxAgeSec(123)\n                .override(false)\n\n                // the properties below are optional\n                .includeSubdomains(false)\n                .preload(false)\n                .build())\n        .xssProtection(XSSProtectionProperty.builder()\n                .override(false)\n                .protection(false)\n\n                // the properties below are optional\n                .modeBlock(false)\n                .reportUri(\"reportUri\")\n                .build())\n        .build();","version":"1"},"go":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport cloudfront \"github.com/aws-samples/dummy/awscdkawscloudfront\"\n\nsecurityHeadersConfigProperty := &SecurityHeadersConfigProperty{\n\tContentSecurityPolicy: &ContentSecurityPolicyProperty{\n\t\tContentSecurityPolicy: jsii.String(\"contentSecurityPolicy\"),\n\t\tOverride: jsii.Boolean(false),\n\t},\n\tContentTypeOptions: &ContentTypeOptionsProperty{\n\t\tOverride: jsii.Boolean(false),\n\t},\n\tFrameOptions: &FrameOptionsProperty{\n\t\tFrameOption: jsii.String(\"frameOption\"),\n\t\tOverride: jsii.Boolean(false),\n\t},\n\tReferrerPolicy: &ReferrerPolicyProperty{\n\t\tOverride: jsii.Boolean(false),\n\t\tReferrerPolicy: jsii.String(\"referrerPolicy\"),\n\t},\n\tStrictTransportSecurity: &StrictTransportSecurityProperty{\n\t\tAccessControlMaxAgeSec: jsii.Number(123),\n\t\tOverride: jsii.Boolean(false),\n\n\t\t// the properties below are optional\n\t\tIncludeSubdomains: jsii.Boolean(false),\n\t\tPreload: jsii.Boolean(false),\n\t},\n\tXssProtection: &XSSProtectionProperty{\n\t\tOverride: jsii.Boolean(false),\n\t\tProtection: jsii.Boolean(false),\n\n\t\t// the properties below are optional\n\t\tModeBlock: jsii.Boolean(false),\n\t\tReportUri: jsii.String(\"reportUri\"),\n\t},\n}","version":"1"},"$":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nconst securityHeadersConfigProperty: cloudfront.CfnResponseHeadersPolicy.SecurityHeadersConfigProperty = {\n  contentSecurityPolicy: {\n    contentSecurityPolicy: 'contentSecurityPolicy',\n    override: false,\n  },\n  contentTypeOptions: {\n    override: false,\n  },\n  frameOptions: {\n    frameOption: 'frameOption',\n    override: false,\n  },\n  referrerPolicy: {\n    override: false,\n    referrerPolicy: 'referrerPolicy',\n  },\n  strictTransportSecurity: {\n    accessControlMaxAgeSec: 123,\n    override: false,\n\n    // the properties below are optional\n    includeSubdomains: false,\n    preload: false,\n  },\n  xssProtection: {\n    override: false,\n    protection: false,\n\n    // the properties below are optional\n    modeBlock: false,\n    reportUri: 'reportUri',\n  },\n};","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.CfnResponseHeadersPolicy.SecurityHeadersConfigProperty"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.CfnResponseHeadersPolicy.SecurityHeadersConfigProperty"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from \"@aws-cdk/core\";\nclass MyConstruct extends Construct {\nconstructor(scope: Construct, id: string) {\nsuper(scope, id);\n// Code snippet begins after !show marker below\n/// !show\n\nconst securityHeadersConfigProperty: cloudfront.CfnResponseHeadersPolicy.SecurityHeadersConfigProperty = {\n  contentSecurityPolicy: {\n    contentSecurityPolicy: 'contentSecurityPolicy',\n    override: false,\n  },\n  contentTypeOptions: {\n    override: false,\n  },\n  frameOptions: {\n    frameOption: 'frameOption',\n    override: false,\n  },\n  referrerPolicy: {\n    override: false,\n    referrerPolicy: 'referrerPolicy',\n  },\n  strictTransportSecurity: {\n    accessControlMaxAgeSec: 123,\n    override: false,\n\n    // the properties below are optional\n    includeSubdomains: false,\n    preload: false,\n  },\n  xssProtection: {\n    override: false,\n    protection: false,\n\n    // the properties below are optional\n    modeBlock: false,\n    reportUri: 'reportUri',\n  },\n};\n/// !hide\n// Code snippet ended before !hide marker above\n} }","syntaxKindCounter":{"8":1,"10":5,"75":26,"91":10,"153":2,"169":1,"193":7,"225":1,"242":1,"243":1,"254":1,"255":1,"256":1,"281":21,"290":1},"fqnsFingerprint":"4810439c9e1a3511141f4677145ee0849714c540f0f1202d9c637a77f4729f9e"},"8667a783782cf44b7f308c70537c722078f15561414b2b23b964980fe85884c8":{"translations":{"python":{"source":"# The code below shows an example of how to instantiate this type.\n# The values are placeholders you should change.\nimport aws_cdk.aws_cloudfront as cloudfront\n\nserver_timing_headers_config_property = cloudfront.CfnResponseHeadersPolicy.ServerTimingHeadersConfigProperty(\n    enabled=False,\n\n    # the properties below are optional\n    sampling_rate=123\n)","version":"2"},"csharp":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nusing Amazon.CDK.AWS.CloudFront;\n\nvar serverTimingHeadersConfigProperty = new ServerTimingHeadersConfigProperty {\n    Enabled = false,\n\n    // the properties below are optional\n    SamplingRate = 123\n};","version":"1"},"java":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport software.amazon.awscdk.services.cloudfront.*;\n\nServerTimingHeadersConfigProperty serverTimingHeadersConfigProperty = ServerTimingHeadersConfigProperty.builder()\n        .enabled(false)\n\n        // the properties below are optional\n        .samplingRate(123)\n        .build();","version":"1"},"go":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport cloudfront \"github.com/aws-samples/dummy/awscdkawscloudfront\"\n\nserverTimingHeadersConfigProperty := &ServerTimingHeadersConfigProperty{\n\tEnabled: jsii.Boolean(false),\n\n\t// the properties below are optional\n\tSamplingRate: jsii.Number(123),\n}","version":"1"},"$":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nconst serverTimingHeadersConfigProperty: cloudfront.CfnResponseHeadersPolicy.ServerTimingHeadersConfigProperty = {\n  enabled: false,\n\n  // the properties below are optional\n  samplingRate: 123,\n};","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.CfnResponseHeadersPolicy.ServerTimingHeadersConfigProperty"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.CfnResponseHeadersPolicy.ServerTimingHeadersConfigProperty"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from \"@aws-cdk/core\";\nclass MyConstruct extends Construct {\nconstructor(scope: Construct, id: string) {\nsuper(scope, id);\n// Code snippet begins after !show marker below\n/// !show\n\nconst serverTimingHeadersConfigProperty: cloudfront.CfnResponseHeadersPolicy.ServerTimingHeadersConfigProperty = {\n  enabled: false,\n\n  // the properties below are optional\n  samplingRate: 123,\n};\n/// !hide\n// Code snippet ended before !hide marker above\n} }","syntaxKindCounter":{"8":1,"10":1,"75":7,"91":1,"153":2,"169":1,"193":1,"225":1,"242":1,"243":1,"254":1,"255":1,"256":1,"281":2,"290":1},"fqnsFingerprint":"677c6538c6832324640c15264272f1357105cb0edaf4bbadf8a6e172760a6e9e"},"e976b2dd9d804d9e83c9c8c6feed092dca3413f7d4620a56fa6e2221873b10e9":{"translations":{"python":{"source":"# The code below shows an example of how to instantiate this type.\n# The values are placeholders you should change.\nimport aws_cdk.aws_cloudfront as cloudfront\n\nstrict_transport_security_property = cloudfront.CfnResponseHeadersPolicy.StrictTransportSecurityProperty(\n    access_control_max_age_sec=123,\n    override=False,\n\n    # the properties below are optional\n    include_subdomains=False,\n    preload=False\n)","version":"2"},"csharp":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nusing Amazon.CDK.AWS.CloudFront;\n\nvar strictTransportSecurityProperty = new StrictTransportSecurityProperty {\n    AccessControlMaxAgeSec = 123,\n    Override = false,\n\n    // the properties below are optional\n    IncludeSubdomains = false,\n    Preload = false\n};","version":"1"},"java":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport software.amazon.awscdk.services.cloudfront.*;\n\nStrictTransportSecurityProperty strictTransportSecurityProperty = StrictTransportSecurityProperty.builder()\n        .accessControlMaxAgeSec(123)\n        .override(false)\n\n        // the properties below are optional\n        .includeSubdomains(false)\n        .preload(false)\n        .build();","version":"1"},"go":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport cloudfront \"github.com/aws-samples/dummy/awscdkawscloudfront\"\n\nstrictTransportSecurityProperty := &StrictTransportSecurityProperty{\n\tAccessControlMaxAgeSec: jsii.Number(123),\n\tOverride: jsii.Boolean(false),\n\n\t// the properties below are optional\n\tIncludeSubdomains: jsii.Boolean(false),\n\tPreload: jsii.Boolean(false),\n}","version":"1"},"$":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nconst strictTransportSecurityProperty: cloudfront.CfnResponseHeadersPolicy.StrictTransportSecurityProperty = {\n  accessControlMaxAgeSec: 123,\n  override: false,\n\n  // the properties below are optional\n  includeSubdomains: false,\n  preload: false,\n};","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.CfnResponseHeadersPolicy.StrictTransportSecurityProperty"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.CfnResponseHeadersPolicy.StrictTransportSecurityProperty"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from \"@aws-cdk/core\";\nclass MyConstruct extends Construct {\nconstructor(scope: Construct, id: string) {\nsuper(scope, id);\n// Code snippet begins after !show marker below\n/// !show\n\nconst strictTransportSecurityProperty: cloudfront.CfnResponseHeadersPolicy.StrictTransportSecurityProperty = {\n  accessControlMaxAgeSec: 123,\n  override: false,\n\n  // the properties below are optional\n  includeSubdomains: false,\n  preload: false,\n};\n/// !hide\n// Code snippet ended before !hide marker above\n} }","syntaxKindCounter":{"8":1,"10":1,"75":9,"91":3,"153":2,"169":1,"193":1,"225":1,"242":1,"243":1,"254":1,"255":1,"256":1,"281":4,"290":1},"fqnsFingerprint":"9459c6ad2e0fafd42d1213e268d889dabff08a1ec9cbb51569a81b7a4d89abc4"},"e625759831c40353d2a7e53c8a9b633ad6037e151e0d3d0cf2035cfbe5f7bb8d":{"translations":{"python":{"source":"# The code below shows an example of how to instantiate this type.\n# The values are placeholders you should change.\nimport aws_cdk.aws_cloudfront as cloudfront\n\nx_sSProtection_property = cloudfront.CfnResponseHeadersPolicy.XSSProtectionProperty(\n    override=False,\n    protection=False,\n\n    # the properties below are optional\n    mode_block=False,\n    report_uri=\"reportUri\"\n)","version":"2"},"csharp":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nusing Amazon.CDK.AWS.CloudFront;\n\nvar xSSProtectionProperty = new XSSProtectionProperty {\n    Override = false,\n    Protection = false,\n\n    // the properties below are optional\n    ModeBlock = false,\n    ReportUri = \"reportUri\"\n};","version":"1"},"java":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport software.amazon.awscdk.services.cloudfront.*;\n\nXSSProtectionProperty xSSProtectionProperty = XSSProtectionProperty.builder()\n        .override(false)\n        .protection(false)\n\n        // the properties below are optional\n        .modeBlock(false)\n        .reportUri(\"reportUri\")\n        .build();","version":"1"},"go":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport cloudfront \"github.com/aws-samples/dummy/awscdkawscloudfront\"\n\nxSSProtectionProperty := &XSSProtectionProperty{\n\tOverride: jsii.Boolean(false),\n\tProtection: jsii.Boolean(false),\n\n\t// the properties below are optional\n\tModeBlock: jsii.Boolean(false),\n\tReportUri: jsii.String(\"reportUri\"),\n}","version":"1"},"$":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nconst xSSProtectionProperty: cloudfront.CfnResponseHeadersPolicy.XSSProtectionProperty = {\n  override: false,\n  protection: false,\n\n  // the properties below are optional\n  modeBlock: false,\n  reportUri: 'reportUri',\n};","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.CfnResponseHeadersPolicy.XSSProtectionProperty"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.CfnResponseHeadersPolicy.XSSProtectionProperty"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from \"@aws-cdk/core\";\nclass MyConstruct extends Construct {\nconstructor(scope: Construct, id: string) {\nsuper(scope, id);\n// Code snippet begins after !show marker below\n/// !show\n\nconst xSSProtectionProperty: cloudfront.CfnResponseHeadersPolicy.XSSProtectionProperty = {\n  override: false,\n  protection: false,\n\n  // the properties below are optional\n  modeBlock: false,\n  reportUri: 'reportUri',\n};\n/// !hide\n// Code snippet ended before !hide marker above\n} }","syntaxKindCounter":{"10":2,"75":9,"91":3,"153":2,"169":1,"193":1,"225":1,"242":1,"243":1,"254":1,"255":1,"256":1,"281":4,"290":1},"fqnsFingerprint":"fac58420e4afc4ded87164bd234415f384003ff87c3299b41b8694f017b003e8"},"60201b2645b137ec1d64c6b0983289f58e9bd846fcc06c14edc7a7a155dd198e":{"translations":{"python":{"source":"# The code below shows an example of how to instantiate this type.\n# The values are placeholders you should change.\nimport aws_cdk.aws_cloudfront as cloudfront\n\ncfn_response_headers_policy_props = cloudfront.CfnResponseHeadersPolicyProps(\n    response_headers_policy_config=cloudfront.CfnResponseHeadersPolicy.ResponseHeadersPolicyConfigProperty(\n        name=\"name\",\n\n        # the properties below are optional\n        comment=\"comment\",\n        cors_config=cloudfront.CfnResponseHeadersPolicy.CorsConfigProperty(\n            access_control_allow_credentials=False,\n            access_control_allow_headers=cloudfront.CfnResponseHeadersPolicy.AccessControlAllowHeadersProperty(\n                items=[\"items\"]\n            ),\n            access_control_allow_methods=cloudfront.CfnResponseHeadersPolicy.AccessControlAllowMethodsProperty(\n                items=[\"items\"]\n            ),\n            access_control_allow_origins=cloudfront.CfnResponseHeadersPolicy.AccessControlAllowOriginsProperty(\n                items=[\"items\"]\n            ),\n            origin_override=False,\n\n            # the properties below are optional\n            access_control_expose_headers=cloudfront.CfnResponseHeadersPolicy.AccessControlExposeHeadersProperty(\n                items=[\"items\"]\n            ),\n            access_control_max_age_sec=123\n        ),\n        custom_headers_config=cloudfront.CfnResponseHeadersPolicy.CustomHeadersConfigProperty(\n            items=[cloudfront.CfnResponseHeadersPolicy.CustomHeaderProperty(\n                header=\"header\",\n                override=False,\n                value=\"value\"\n            )]\n        ),\n        remove_headers_config=cloudfront.CfnResponseHeadersPolicy.RemoveHeadersConfigProperty(\n            items=[cloudfront.CfnResponseHeadersPolicy.RemoveHeaderProperty(\n                header=\"header\"\n            )]\n        ),\n        security_headers_config=cloudfront.CfnResponseHeadersPolicy.SecurityHeadersConfigProperty(\n            content_security_policy=cloudfront.CfnResponseHeadersPolicy.ContentSecurityPolicyProperty(\n                content_security_policy=\"contentSecurityPolicy\",\n                override=False\n            ),\n            content_type_options=cloudfront.CfnResponseHeadersPolicy.ContentTypeOptionsProperty(\n                override=False\n            ),\n            frame_options=cloudfront.CfnResponseHeadersPolicy.FrameOptionsProperty(\n                frame_option=\"frameOption\",\n                override=False\n            ),\n            referrer_policy=cloudfront.CfnResponseHeadersPolicy.ReferrerPolicyProperty(\n                override=False,\n                referrer_policy=\"referrerPolicy\"\n            ),\n            strict_transport_security=cloudfront.CfnResponseHeadersPolicy.StrictTransportSecurityProperty(\n                access_control_max_age_sec=123,\n                override=False,\n\n                # the properties below are optional\n                include_subdomains=False,\n                preload=False\n            ),\n            xss_protection=cloudfront.CfnResponseHeadersPolicy.XSSProtectionProperty(\n                override=False,\n                protection=False,\n\n                # the properties below are optional\n                mode_block=False,\n                report_uri=\"reportUri\"\n            )\n        ),\n        server_timing_headers_config=cloudfront.CfnResponseHeadersPolicy.ServerTimingHeadersConfigProperty(\n            enabled=False,\n\n            # the properties below are optional\n            sampling_rate=123\n        )\n    )\n)","version":"2"},"csharp":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nusing Amazon.CDK.AWS.CloudFront;\n\nvar cfnResponseHeadersPolicyProps = new CfnResponseHeadersPolicyProps {\n    ResponseHeadersPolicyConfig = new ResponseHeadersPolicyConfigProperty {\n        Name = \"name\",\n\n        // the properties below are optional\n        Comment = \"comment\",\n        CorsConfig = new CorsConfigProperty {\n            AccessControlAllowCredentials = false,\n            AccessControlAllowHeaders = new AccessControlAllowHeadersProperty {\n                Items = new [] { \"items\" }\n            },\n            AccessControlAllowMethods = new AccessControlAllowMethodsProperty {\n                Items = new [] { \"items\" }\n            },\n            AccessControlAllowOrigins = new AccessControlAllowOriginsProperty {\n                Items = new [] { \"items\" }\n            },\n            OriginOverride = false,\n\n            // the properties below are optional\n            AccessControlExposeHeaders = new AccessControlExposeHeadersProperty {\n                Items = new [] { \"items\" }\n            },\n            AccessControlMaxAgeSec = 123\n        },\n        CustomHeadersConfig = new CustomHeadersConfigProperty {\n            Items = new [] { new CustomHeaderProperty {\n                Header = \"header\",\n                Override = false,\n                Value = \"value\"\n            } }\n        },\n        RemoveHeadersConfig = new RemoveHeadersConfigProperty {\n            Items = new [] { new RemoveHeaderProperty {\n                Header = \"header\"\n            } }\n        },\n        SecurityHeadersConfig = new SecurityHeadersConfigProperty {\n            ContentSecurityPolicy = new ContentSecurityPolicyProperty {\n                ContentSecurityPolicy = \"contentSecurityPolicy\",\n                Override = false\n            },\n            ContentTypeOptions = new ContentTypeOptionsProperty {\n                Override = false\n            },\n            FrameOptions = new FrameOptionsProperty {\n                FrameOption = \"frameOption\",\n                Override = false\n            },\n            ReferrerPolicy = new ReferrerPolicyProperty {\n                Override = false,\n                ReferrerPolicy = \"referrerPolicy\"\n            },\n            StrictTransportSecurity = new StrictTransportSecurityProperty {\n                AccessControlMaxAgeSec = 123,\n                Override = false,\n\n                // the properties below are optional\n                IncludeSubdomains = false,\n                Preload = false\n            },\n            XssProtection = new XSSProtectionProperty {\n                Override = false,\n                Protection = false,\n\n                // the properties below are optional\n                ModeBlock = false,\n                ReportUri = \"reportUri\"\n            }\n        },\n        ServerTimingHeadersConfig = new ServerTimingHeadersConfigProperty {\n            Enabled = false,\n\n            // the properties below are optional\n            SamplingRate = 123\n        }\n    }\n};","version":"1"},"java":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport software.amazon.awscdk.services.cloudfront.*;\n\nCfnResponseHeadersPolicyProps cfnResponseHeadersPolicyProps = CfnResponseHeadersPolicyProps.builder()\n        .responseHeadersPolicyConfig(ResponseHeadersPolicyConfigProperty.builder()\n                .name(\"name\")\n\n                // the properties below are optional\n                .comment(\"comment\")\n                .corsConfig(CorsConfigProperty.builder()\n                        .accessControlAllowCredentials(false)\n                        .accessControlAllowHeaders(AccessControlAllowHeadersProperty.builder()\n                                .items(List.of(\"items\"))\n                                .build())\n                        .accessControlAllowMethods(AccessControlAllowMethodsProperty.builder()\n                                .items(List.of(\"items\"))\n                                .build())\n                        .accessControlAllowOrigins(AccessControlAllowOriginsProperty.builder()\n                                .items(List.of(\"items\"))\n                                .build())\n                        .originOverride(false)\n\n                        // the properties below are optional\n                        .accessControlExposeHeaders(AccessControlExposeHeadersProperty.builder()\n                                .items(List.of(\"items\"))\n                                .build())\n                        .accessControlMaxAgeSec(123)\n                        .build())\n                .customHeadersConfig(CustomHeadersConfigProperty.builder()\n                        .items(List.of(CustomHeaderProperty.builder()\n                                .header(\"header\")\n                                .override(false)\n                                .value(\"value\")\n                                .build()))\n                        .build())\n                .removeHeadersConfig(RemoveHeadersConfigProperty.builder()\n                        .items(List.of(RemoveHeaderProperty.builder()\n                                .header(\"header\")\n                                .build()))\n                        .build())\n                .securityHeadersConfig(SecurityHeadersConfigProperty.builder()\n                        .contentSecurityPolicy(ContentSecurityPolicyProperty.builder()\n                                .contentSecurityPolicy(\"contentSecurityPolicy\")\n                                .override(false)\n                                .build())\n                        .contentTypeOptions(ContentTypeOptionsProperty.builder()\n                                .override(false)\n                                .build())\n                        .frameOptions(FrameOptionsProperty.builder()\n                                .frameOption(\"frameOption\")\n                                .override(false)\n                                .build())\n                        .referrerPolicy(ReferrerPolicyProperty.builder()\n                                .override(false)\n                                .referrerPolicy(\"referrerPolicy\")\n                                .build())\n                        .strictTransportSecurity(StrictTransportSecurityProperty.builder()\n                                .accessControlMaxAgeSec(123)\n                                .override(false)\n\n                                // the properties below are optional\n                                .includeSubdomains(false)\n                                .preload(false)\n                                .build())\n                        .xssProtection(XSSProtectionProperty.builder()\n                                .override(false)\n                                .protection(false)\n\n                                // the properties below are optional\n                                .modeBlock(false)\n                                .reportUri(\"reportUri\")\n                                .build())\n                        .build())\n                .serverTimingHeadersConfig(ServerTimingHeadersConfigProperty.builder()\n                        .enabled(false)\n\n                        // the properties below are optional\n                        .samplingRate(123)\n                        .build())\n                .build())\n        .build();","version":"1"},"go":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport cloudfront \"github.com/aws-samples/dummy/awscdkawscloudfront\"\n\ncfnResponseHeadersPolicyProps := &CfnResponseHeadersPolicyProps{\n\tResponseHeadersPolicyConfig: &ResponseHeadersPolicyConfigProperty{\n\t\tName: jsii.String(\"name\"),\n\n\t\t// the properties below are optional\n\t\tComment: jsii.String(\"comment\"),\n\t\tCorsConfig: &CorsConfigProperty{\n\t\t\tAccessControlAllowCredentials: jsii.Boolean(false),\n\t\t\tAccessControlAllowHeaders: &AccessControlAllowHeadersProperty{\n\t\t\t\tItems: []*string{\n\t\t\t\t\tjsii.String(\"items\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tAccessControlAllowMethods: &AccessControlAllowMethodsProperty{\n\t\t\t\tItems: []*string{\n\t\t\t\t\tjsii.String(\"items\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tAccessControlAllowOrigins: &AccessControlAllowOriginsProperty{\n\t\t\t\tItems: []*string{\n\t\t\t\t\tjsii.String(\"items\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tOriginOverride: jsii.Boolean(false),\n\n\t\t\t// the properties below are optional\n\t\t\tAccessControlExposeHeaders: &AccessControlExposeHeadersProperty{\n\t\t\t\tItems: []*string{\n\t\t\t\t\tjsii.String(\"items\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tAccessControlMaxAgeSec: jsii.Number(123),\n\t\t},\n\t\tCustomHeadersConfig: &CustomHeadersConfigProperty{\n\t\t\tItems: []interface{}{\n\t\t\t\t&CustomHeaderProperty{\n\t\t\t\t\tHeader: jsii.String(\"header\"),\n\t\t\t\t\tOverride: jsii.Boolean(false),\n\t\t\t\t\tValue: jsii.String(\"value\"),\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tRemoveHeadersConfig: &RemoveHeadersConfigProperty{\n\t\t\tItems: []interface{}{\n\t\t\t\t&RemoveHeaderProperty{\n\t\t\t\t\tHeader: jsii.String(\"header\"),\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tSecurityHeadersConfig: &SecurityHeadersConfigProperty{\n\t\t\tContentSecurityPolicy: &ContentSecurityPolicyProperty{\n\t\t\t\tContentSecurityPolicy: jsii.String(\"contentSecurityPolicy\"),\n\t\t\t\tOverride: jsii.Boolean(false),\n\t\t\t},\n\t\t\tContentTypeOptions: &ContentTypeOptionsProperty{\n\t\t\t\tOverride: jsii.Boolean(false),\n\t\t\t},\n\t\t\tFrameOptions: &FrameOptionsProperty{\n\t\t\t\tFrameOption: jsii.String(\"frameOption\"),\n\t\t\t\tOverride: jsii.Boolean(false),\n\t\t\t},\n\t\t\tReferrerPolicy: &ReferrerPolicyProperty{\n\t\t\t\tOverride: jsii.Boolean(false),\n\t\t\t\tReferrerPolicy: jsii.String(\"referrerPolicy\"),\n\t\t\t},\n\t\t\tStrictTransportSecurity: &StrictTransportSecurityProperty{\n\t\t\t\tAccessControlMaxAgeSec: jsii.Number(123),\n\t\t\t\tOverride: jsii.Boolean(false),\n\n\t\t\t\t// the properties below are optional\n\t\t\t\tIncludeSubdomains: jsii.Boolean(false),\n\t\t\t\tPreload: jsii.Boolean(false),\n\t\t\t},\n\t\t\tXssProtection: &XSSProtectionProperty{\n\t\t\t\tOverride: jsii.Boolean(false),\n\t\t\t\tProtection: jsii.Boolean(false),\n\n\t\t\t\t// the properties below are optional\n\t\t\t\tModeBlock: jsii.Boolean(false),\n\t\t\t\tReportUri: jsii.String(\"reportUri\"),\n\t\t\t},\n\t\t},\n\t\tServerTimingHeadersConfig: &ServerTimingHeadersConfigProperty{\n\t\t\tEnabled: jsii.Boolean(false),\n\n\t\t\t// the properties below are optional\n\t\t\tSamplingRate: jsii.Number(123),\n\t\t},\n\t},\n}","version":"1"},"$":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nconst cfnResponseHeadersPolicyProps: cloudfront.CfnResponseHeadersPolicyProps = {\n  responseHeadersPolicyConfig: {\n    name: 'name',\n\n    // the properties below are optional\n    comment: 'comment',\n    corsConfig: {\n      accessControlAllowCredentials: false,\n      accessControlAllowHeaders: {\n        items: ['items'],\n      },\n      accessControlAllowMethods: {\n        items: ['items'],\n      },\n      accessControlAllowOrigins: {\n        items: ['items'],\n      },\n      originOverride: false,\n\n      // the properties below are optional\n      accessControlExposeHeaders: {\n        items: ['items'],\n      },\n      accessControlMaxAgeSec: 123,\n    },\n    customHeadersConfig: {\n      items: [{\n        header: 'header',\n        override: false,\n        value: 'value',\n      }],\n    },\n    removeHeadersConfig: {\n      items: [{\n        header: 'header',\n      }],\n    },\n    securityHeadersConfig: {\n      contentSecurityPolicy: {\n        contentSecurityPolicy: 'contentSecurityPolicy',\n        override: false,\n      },\n      contentTypeOptions: {\n        override: false,\n      },\n      frameOptions: {\n        frameOption: 'frameOption',\n        override: false,\n      },\n      referrerPolicy: {\n        override: false,\n        referrerPolicy: 'referrerPolicy',\n      },\n      strictTransportSecurity: {\n        accessControlMaxAgeSec: 123,\n        override: false,\n\n        // the properties below are optional\n        includeSubdomains: false,\n        preload: false,\n      },\n      xssProtection: {\n        override: false,\n        protection: false,\n\n        // the properties below are optional\n        modeBlock: false,\n        reportUri: 'reportUri',\n      },\n    },\n    serverTimingHeadersConfig: {\n      enabled: false,\n\n      // the properties below are optional\n      samplingRate: 123,\n    },\n  },\n};","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.CfnResponseHeadersPolicyProps"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.CfnResponseHeadersPolicyProps"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from \"@aws-cdk/core\";\nclass MyConstruct extends Construct {\nconstructor(scope: Construct, id: string) {\nsuper(scope, id);\n// Code snippet begins after !show marker below\n/// !show\n\nconst cfnResponseHeadersPolicyProps: cloudfront.CfnResponseHeadersPolicyProps = {\n  responseHeadersPolicyConfig: {\n    name: 'name',\n\n    // the properties below are optional\n    comment: 'comment',\n    corsConfig: {\n      accessControlAllowCredentials: false,\n      accessControlAllowHeaders: {\n        items: ['items'],\n      },\n      accessControlAllowMethods: {\n        items: ['items'],\n      },\n      accessControlAllowOrigins: {\n        items: ['items'],\n      },\n      originOverride: false,\n\n      // the properties below are optional\n      accessControlExposeHeaders: {\n        items: ['items'],\n      },\n      accessControlMaxAgeSec: 123,\n    },\n    customHeadersConfig: {\n      items: [{\n        header: 'header',\n        override: false,\n        value: 'value',\n      }],\n    },\n    removeHeadersConfig: {\n      items: [{\n        header: 'header',\n      }],\n    },\n    securityHeadersConfig: {\n      contentSecurityPolicy: {\n        contentSecurityPolicy: 'contentSecurityPolicy',\n        override: false,\n      },\n      contentTypeOptions: {\n        override: false,\n      },\n      frameOptions: {\n        frameOption: 'frameOption',\n        override: false,\n      },\n      referrerPolicy: {\n        override: false,\n        referrerPolicy: 'referrerPolicy',\n      },\n      strictTransportSecurity: {\n        accessControlMaxAgeSec: 123,\n        override: false,\n\n        // the properties below are optional\n        includeSubdomains: false,\n        preload: false,\n      },\n      xssProtection: {\n        override: false,\n        protection: false,\n\n        // the properties below are optional\n        modeBlock: false,\n        reportUri: 'reportUri',\n      },\n    },\n    serverTimingHeadersConfig: {\n      enabled: false,\n\n      // the properties below are optional\n      samplingRate: 123,\n    },\n  },\n};\n/// !hide\n// Code snippet ended before !hide marker above\n} }","syntaxKindCounter":{"8":3,"10":14,"75":52,"91":14,"153":1,"169":1,"192":6,"193":19,"225":1,"242":1,"243":1,"254":1,"255":1,"256":1,"281":48,"290":1},"fqnsFingerprint":"26d447b6ec761da59a5125e849aa33acb524b4897b1e9eafa1a1b535322c4336"},"12297ea476e6561a54b03ab1d1e7035af1d86a6fbe3f24e66c691912dffc5f83":{"translations":{"python":{"source":"# The code below shows an example of how to instantiate this type.\n# The values are placeholders you should change.\nimport aws_cdk.aws_cloudfront as cloudfront\n\ncfn_streaming_distribution = cloudfront.CfnStreamingDistribution(self, \"MyCfnStreamingDistribution\",\n    streaming_distribution_config=cloudfront.CfnStreamingDistribution.StreamingDistributionConfigProperty(\n        comment=\"comment\",\n        enabled=False,\n        s3_origin=cloudfront.CfnStreamingDistribution.S3OriginProperty(\n            domain_name=\"domainName\",\n            origin_access_identity=\"originAccessIdentity\"\n        ),\n        trusted_signers=cloudfront.CfnStreamingDistribution.TrustedSignersProperty(\n            enabled=False,\n\n            # the properties below are optional\n            aws_account_numbers=[\"awsAccountNumbers\"]\n        ),\n\n        # the properties below are optional\n        aliases=[\"aliases\"],\n        logging=cloudfront.CfnStreamingDistribution.LoggingProperty(\n            bucket=\"bucket\",\n            enabled=False,\n            prefix=\"prefix\"\n        ),\n        price_class=\"priceClass\"\n    ),\n    tags=[CfnTag(\n        key=\"key\",\n        value=\"value\"\n    )]\n)","version":"2"},"csharp":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nusing Amazon.CDK.AWS.CloudFront;\n\nvar cfnStreamingDistribution = new CfnStreamingDistribution(this, \"MyCfnStreamingDistribution\", new CfnStreamingDistributionProps {\n    StreamingDistributionConfig = new StreamingDistributionConfigProperty {\n        Comment = \"comment\",\n        Enabled = false,\n        S3Origin = new S3OriginProperty {\n            DomainName = \"domainName\",\n            OriginAccessIdentity = \"originAccessIdentity\"\n        },\n        TrustedSigners = new TrustedSignersProperty {\n            Enabled = false,\n\n            // the properties below are optional\n            AwsAccountNumbers = new [] { \"awsAccountNumbers\" }\n        },\n\n        // the properties below are optional\n        Aliases = new [] { \"aliases\" },\n        Logging = new LoggingProperty {\n            Bucket = \"bucket\",\n            Enabled = false,\n            Prefix = \"prefix\"\n        },\n        PriceClass = \"priceClass\"\n    },\n    Tags = new [] { new CfnTag {\n        Key = \"key\",\n        Value = \"value\"\n    } }\n});","version":"1"},"java":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport software.amazon.awscdk.services.cloudfront.*;\n\nCfnStreamingDistribution cfnStreamingDistribution = CfnStreamingDistribution.Builder.create(this, \"MyCfnStreamingDistribution\")\n        .streamingDistributionConfig(StreamingDistributionConfigProperty.builder()\n                .comment(\"comment\")\n                .enabled(false)\n                .s3Origin(S3OriginProperty.builder()\n                        .domainName(\"domainName\")\n                        .originAccessIdentity(\"originAccessIdentity\")\n                        .build())\n                .trustedSigners(TrustedSignersProperty.builder()\n                        .enabled(false)\n\n                        // the properties below are optional\n                        .awsAccountNumbers(List.of(\"awsAccountNumbers\"))\n                        .build())\n\n                // the properties below are optional\n                .aliases(List.of(\"aliases\"))\n                .logging(LoggingProperty.builder()\n                        .bucket(\"bucket\")\n                        .enabled(false)\n                        .prefix(\"prefix\")\n                        .build())\n                .priceClass(\"priceClass\")\n                .build())\n        .tags(List.of(CfnTag.builder()\n                .key(\"key\")\n                .value(\"value\")\n                .build()))\n        .build();","version":"1"},"go":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport cloudfront \"github.com/aws-samples/dummy/awscdkawscloudfront\"\n\ncfnStreamingDistribution := cloudfront.NewCfnStreamingDistribution(this, jsii.String(\"MyCfnStreamingDistribution\"), &CfnStreamingDistributionProps{\n\tStreamingDistributionConfig: &StreamingDistributionConfigProperty{\n\t\tComment: jsii.String(\"comment\"),\n\t\tEnabled: jsii.Boolean(false),\n\t\tS3Origin: &S3OriginProperty{\n\t\t\tDomainName: jsii.String(\"domainName\"),\n\t\t\tOriginAccessIdentity: jsii.String(\"originAccessIdentity\"),\n\t\t},\n\t\tTrustedSigners: &TrustedSignersProperty{\n\t\t\tEnabled: jsii.Boolean(false),\n\n\t\t\t// the properties below are optional\n\t\t\tAwsAccountNumbers: []*string{\n\t\t\t\tjsii.String(\"awsAccountNumbers\"),\n\t\t\t},\n\t\t},\n\n\t\t// the properties below are optional\n\t\tAliases: []*string{\n\t\t\tjsii.String(\"aliases\"),\n\t\t},\n\t\tLogging: &LoggingProperty{\n\t\t\tBucket: jsii.String(\"bucket\"),\n\t\t\tEnabled: jsii.Boolean(false),\n\t\t\tPrefix: jsii.String(\"prefix\"),\n\t\t},\n\t\tPriceClass: jsii.String(\"priceClass\"),\n\t},\n\tTags: []cfnTag{\n\t\t&cfnTag{\n\t\t\tKey: jsii.String(\"key\"),\n\t\t\tValue: jsii.String(\"value\"),\n\t\t},\n\t},\n})","version":"1"},"$":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nconst cfnStreamingDistribution = new cloudfront.CfnStreamingDistribution(this, 'MyCfnStreamingDistribution', {\n  streamingDistributionConfig: {\n    comment: 'comment',\n    enabled: false,\n    s3Origin: {\n      domainName: 'domainName',\n      originAccessIdentity: 'originAccessIdentity',\n    },\n    trustedSigners: {\n      enabled: false,\n\n      // the properties below are optional\n      awsAccountNumbers: ['awsAccountNumbers'],\n    },\n\n    // the properties below are optional\n    aliases: ['aliases'],\n    logging: {\n      bucket: 'bucket',\n      enabled: false,\n      prefix: 'prefix',\n    },\n    priceClass: 'priceClass',\n  },\n  tags: [{\n    key: 'key',\n    value: 'value',\n  }],\n});","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.CfnStreamingDistribution"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.CfnStreamingDistribution","@aws-cdk/aws-cloudfront.CfnStreamingDistributionProps","@aws-cdk/core.Construct"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from \"@aws-cdk/core\";\nclass MyConstruct extends Construct {\nconstructor(scope: Construct, id: string) {\nsuper(scope, id);\n// Code snippet begins after !show marker below\n/// !show\n\nconst cfnStreamingDistribution = new cloudfront.CfnStreamingDistribution(this, 'MyCfnStreamingDistribution', {\n  streamingDistributionConfig: {\n    comment: 'comment',\n    enabled: false,\n    s3Origin: {\n      domainName: 'domainName',\n      originAccessIdentity: 'originAccessIdentity',\n    },\n    trustedSigners: {\n      enabled: false,\n\n      // the properties below are optional\n      awsAccountNumbers: ['awsAccountNumbers'],\n    },\n\n    // the properties below are optional\n    aliases: ['aliases'],\n    logging: {\n      bucket: 'bucket',\n      enabled: false,\n      prefix: 'prefix',\n    },\n    priceClass: 'priceClass',\n  },\n  tags: [{\n    key: 'key',\n    value: 'value',\n  }],\n});\n/// !hide\n// Code snippet ended before !hide marker above\n} }","syntaxKindCounter":{"10":12,"75":22,"91":3,"104":1,"192":3,"193":6,"194":1,"197":1,"225":1,"242":1,"243":1,"254":1,"255":1,"256":1,"281":18,"290":1},"fqnsFingerprint":"8994655527bea5fd064f42dd1954cf5dc4fc4914063cfbb6b1f3ee15e4243d3a"},"36887701875ad191cf330b60b94d7aef7f5c27a03b1815f1a5fc67d2237cb02e":{"translations":{"python":{"source":"# The code below shows an example of how to instantiate this type.\n# The values are placeholders you should change.\nimport aws_cdk.aws_cloudfront as cloudfront\n\nlogging_property = cloudfront.CfnStreamingDistribution.LoggingProperty(\n    bucket=\"bucket\",\n    enabled=False,\n    prefix=\"prefix\"\n)","version":"2"},"csharp":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nusing Amazon.CDK.AWS.CloudFront;\n\nvar loggingProperty = new LoggingProperty {\n    Bucket = \"bucket\",\n    Enabled = false,\n    Prefix = \"prefix\"\n};","version":"1"},"java":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport software.amazon.awscdk.services.cloudfront.*;\n\nLoggingProperty loggingProperty = LoggingProperty.builder()\n        .bucket(\"bucket\")\n        .enabled(false)\n        .prefix(\"prefix\")\n        .build();","version":"1"},"go":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport cloudfront \"github.com/aws-samples/dummy/awscdkawscloudfront\"\n\nloggingProperty := &LoggingProperty{\n\tBucket: jsii.String(\"bucket\"),\n\tEnabled: jsii.Boolean(false),\n\tPrefix: jsii.String(\"prefix\"),\n}","version":"1"},"$":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nconst loggingProperty: cloudfront.CfnStreamingDistribution.LoggingProperty = {\n  bucket: 'bucket',\n  enabled: false,\n  prefix: 'prefix',\n};","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.CfnStreamingDistribution.LoggingProperty"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.CfnStreamingDistribution.LoggingProperty"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from \"@aws-cdk/core\";\nclass MyConstruct extends Construct {\nconstructor(scope: Construct, id: string) {\nsuper(scope, id);\n// Code snippet begins after !show marker below\n/// !show\n\nconst loggingProperty: cloudfront.CfnStreamingDistribution.LoggingProperty = {\n  bucket: 'bucket',\n  enabled: false,\n  prefix: 'prefix',\n};\n/// !hide\n// Code snippet ended before !hide marker above\n} }","syntaxKindCounter":{"10":3,"75":8,"91":1,"153":2,"169":1,"193":1,"225":1,"242":1,"243":1,"254":1,"255":1,"256":1,"281":3,"290":1},"fqnsFingerprint":"524603ae3fd9ab22fe1a2a5b51a20a36b108c1d81dcea5f4cc4103f4a00aa495"},"d68a50460567b5f5bdd0046943614f0e4801c07810ed46c44876c2ab92e9cd9c":{"translations":{"python":{"source":"# The code below shows an example of how to instantiate this type.\n# The values are placeholders you should change.\nimport aws_cdk.aws_cloudfront as cloudfront\n\ns3_origin_property = cloudfront.CfnStreamingDistribution.S3OriginProperty(\n    domain_name=\"domainName\",\n    origin_access_identity=\"originAccessIdentity\"\n)","version":"2"},"csharp":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nusing Amazon.CDK.AWS.CloudFront;\n\nvar s3OriginProperty = new S3OriginProperty {\n    DomainName = \"domainName\",\n    OriginAccessIdentity = \"originAccessIdentity\"\n};","version":"1"},"java":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport software.amazon.awscdk.services.cloudfront.*;\n\nS3OriginProperty s3OriginProperty = S3OriginProperty.builder()\n        .domainName(\"domainName\")\n        .originAccessIdentity(\"originAccessIdentity\")\n        .build();","version":"1"},"go":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport cloudfront \"github.com/aws-samples/dummy/awscdkawscloudfront\"\n\ns3OriginProperty := &S3OriginProperty{\n\tDomainName: jsii.String(\"domainName\"),\n\tOriginAccessIdentity: jsii.String(\"originAccessIdentity\"),\n}","version":"1"},"$":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nconst s3OriginProperty: cloudfront.CfnStreamingDistribution.S3OriginProperty = {\n  domainName: 'domainName',\n  originAccessIdentity: 'originAccessIdentity',\n};","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.CfnStreamingDistribution.S3OriginProperty"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.CfnStreamingDistribution.S3OriginProperty"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from \"@aws-cdk/core\";\nclass MyConstruct extends Construct {\nconstructor(scope: Construct, id: string) {\nsuper(scope, id);\n// Code snippet begins after !show marker below\n/// !show\n\nconst s3OriginProperty: cloudfront.CfnStreamingDistribution.S3OriginProperty = {\n  domainName: 'domainName',\n  originAccessIdentity: 'originAccessIdentity',\n};\n/// !hide\n// Code snippet ended before !hide marker above\n} }","syntaxKindCounter":{"10":3,"75":7,"153":2,"169":1,"193":1,"225":1,"242":1,"243":1,"254":1,"255":1,"256":1,"281":2,"290":1},"fqnsFingerprint":"a512974884e03d795c0af94b8f2d9e0b7dfbcd8b220cec93b777827c23f570b0"},"a859296f2f95b88f697f82302e4d66acc51ddf2dc3cab5c4ab470cadc2c2eba9":{"translations":{"python":{"source":"# The code below shows an example of how to instantiate this type.\n# The values are placeholders you should change.\nimport aws_cdk.aws_cloudfront as cloudfront\n\nstreaming_distribution_config_property = cloudfront.CfnStreamingDistribution.StreamingDistributionConfigProperty(\n    comment=\"comment\",\n    enabled=False,\n    s3_origin=cloudfront.CfnStreamingDistribution.S3OriginProperty(\n        domain_name=\"domainName\",\n        origin_access_identity=\"originAccessIdentity\"\n    ),\n    trusted_signers=cloudfront.CfnStreamingDistribution.TrustedSignersProperty(\n        enabled=False,\n\n        # the properties below are optional\n        aws_account_numbers=[\"awsAccountNumbers\"]\n    ),\n\n    # the properties below are optional\n    aliases=[\"aliases\"],\n    logging=cloudfront.CfnStreamingDistribution.LoggingProperty(\n        bucket=\"bucket\",\n        enabled=False,\n        prefix=\"prefix\"\n    ),\n    price_class=\"priceClass\"\n)","version":"2"},"csharp":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nusing Amazon.CDK.AWS.CloudFront;\n\nvar streamingDistributionConfigProperty = new StreamingDistributionConfigProperty {\n    Comment = \"comment\",\n    Enabled = false,\n    S3Origin = new S3OriginProperty {\n        DomainName = \"domainName\",\n        OriginAccessIdentity = \"originAccessIdentity\"\n    },\n    TrustedSigners = new TrustedSignersProperty {\n        Enabled = false,\n\n        // the properties below are optional\n        AwsAccountNumbers = new [] { \"awsAccountNumbers\" }\n    },\n\n    // the properties below are optional\n    Aliases = new [] { \"aliases\" },\n    Logging = new LoggingProperty {\n        Bucket = \"bucket\",\n        Enabled = false,\n        Prefix = \"prefix\"\n    },\n    PriceClass = \"priceClass\"\n};","version":"1"},"java":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport software.amazon.awscdk.services.cloudfront.*;\n\nStreamingDistributionConfigProperty streamingDistributionConfigProperty = StreamingDistributionConfigProperty.builder()\n        .comment(\"comment\")\n        .enabled(false)\n        .s3Origin(S3OriginProperty.builder()\n                .domainName(\"domainName\")\n                .originAccessIdentity(\"originAccessIdentity\")\n                .build())\n        .trustedSigners(TrustedSignersProperty.builder()\n                .enabled(false)\n\n                // the properties below are optional\n                .awsAccountNumbers(List.of(\"awsAccountNumbers\"))\n                .build())\n\n        // the properties below are optional\n        .aliases(List.of(\"aliases\"))\n        .logging(LoggingProperty.builder()\n                .bucket(\"bucket\")\n                .enabled(false)\n                .prefix(\"prefix\")\n                .build())\n        .priceClass(\"priceClass\")\n        .build();","version":"1"},"go":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport cloudfront \"github.com/aws-samples/dummy/awscdkawscloudfront\"\n\nstreamingDistributionConfigProperty := &StreamingDistributionConfigProperty{\n\tComment: jsii.String(\"comment\"),\n\tEnabled: jsii.Boolean(false),\n\tS3Origin: &S3OriginProperty{\n\t\tDomainName: jsii.String(\"domainName\"),\n\t\tOriginAccessIdentity: jsii.String(\"originAccessIdentity\"),\n\t},\n\tTrustedSigners: &TrustedSignersProperty{\n\t\tEnabled: jsii.Boolean(false),\n\n\t\t// the properties below are optional\n\t\tAwsAccountNumbers: []*string{\n\t\t\tjsii.String(\"awsAccountNumbers\"),\n\t\t},\n\t},\n\n\t// the properties below are optional\n\tAliases: []*string{\n\t\tjsii.String(\"aliases\"),\n\t},\n\tLogging: &LoggingProperty{\n\t\tBucket: jsii.String(\"bucket\"),\n\t\tEnabled: jsii.Boolean(false),\n\t\tPrefix: jsii.String(\"prefix\"),\n\t},\n\tPriceClass: jsii.String(\"priceClass\"),\n}","version":"1"},"$":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nconst streamingDistributionConfigProperty: cloudfront.CfnStreamingDistribution.StreamingDistributionConfigProperty = {\n  comment: 'comment',\n  enabled: false,\n  s3Origin: {\n    domainName: 'domainName',\n    originAccessIdentity: 'originAccessIdentity',\n  },\n  trustedSigners: {\n    enabled: false,\n\n    // the properties below are optional\n    awsAccountNumbers: ['awsAccountNumbers'],\n  },\n\n  // the properties below are optional\n  aliases: ['aliases'],\n  logging: {\n    bucket: 'bucket',\n    enabled: false,\n    prefix: 'prefix',\n  },\n  priceClass: 'priceClass',\n};","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.CfnStreamingDistribution.StreamingDistributionConfigProperty"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.CfnStreamingDistribution.StreamingDistributionConfigProperty"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from \"@aws-cdk/core\";\nclass MyConstruct extends Construct {\nconstructor(scope: Construct, id: string) {\nsuper(scope, id);\n// Code snippet begins after !show marker below\n/// !show\n\nconst streamingDistributionConfigProperty: cloudfront.CfnStreamingDistribution.StreamingDistributionConfigProperty = {\n  comment: 'comment',\n  enabled: false,\n  s3Origin: {\n    domainName: 'domainName',\n    originAccessIdentity: 'originAccessIdentity',\n  },\n  trustedSigners: {\n    enabled: false,\n\n    // the properties below are optional\n    awsAccountNumbers: ['awsAccountNumbers'],\n  },\n\n  // the properties below are optional\n  aliases: ['aliases'],\n  logging: {\n    bucket: 'bucket',\n    enabled: false,\n    prefix: 'prefix',\n  },\n  priceClass: 'priceClass',\n};\n/// !hide\n// Code snippet ended before !hide marker above\n} }","syntaxKindCounter":{"10":9,"75":19,"91":3,"153":2,"169":1,"192":2,"193":4,"225":1,"242":1,"243":1,"254":1,"255":1,"256":1,"281":14,"290":1},"fqnsFingerprint":"98039bdde21e5f6a902cb7c7adabb6ca05f3560333240b2de018635feea3efb1"},"a02038f2a228ff98df5abcb2ada8533391c93c5d95053cf345acbb3117fb1e4f":{"translations":{"python":{"source":"# The code below shows an example of how to instantiate this type.\n# The values are placeholders you should change.\nimport aws_cdk.aws_cloudfront as cloudfront\n\ntrusted_signers_property = cloudfront.CfnStreamingDistribution.TrustedSignersProperty(\n    enabled=False,\n\n    # the properties below are optional\n    aws_account_numbers=[\"awsAccountNumbers\"]\n)","version":"2"},"csharp":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nusing Amazon.CDK.AWS.CloudFront;\n\nvar trustedSignersProperty = new TrustedSignersProperty {\n    Enabled = false,\n\n    // the properties below are optional\n    AwsAccountNumbers = new [] { \"awsAccountNumbers\" }\n};","version":"1"},"java":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport software.amazon.awscdk.services.cloudfront.*;\n\nTrustedSignersProperty trustedSignersProperty = TrustedSignersProperty.builder()\n        .enabled(false)\n\n        // the properties below are optional\n        .awsAccountNumbers(List.of(\"awsAccountNumbers\"))\n        .build();","version":"1"},"go":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport cloudfront \"github.com/aws-samples/dummy/awscdkawscloudfront\"\n\ntrustedSignersProperty := &TrustedSignersProperty{\n\tEnabled: jsii.Boolean(false),\n\n\t// the properties below are optional\n\tAwsAccountNumbers: []*string{\n\t\tjsii.String(\"awsAccountNumbers\"),\n\t},\n}","version":"1"},"$":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nconst trustedSignersProperty: cloudfront.CfnStreamingDistribution.TrustedSignersProperty = {\n  enabled: false,\n\n  // the properties below are optional\n  awsAccountNumbers: ['awsAccountNumbers'],\n};","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.CfnStreamingDistribution.TrustedSignersProperty"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.CfnStreamingDistribution.TrustedSignersProperty"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from \"@aws-cdk/core\";\nclass MyConstruct extends Construct {\nconstructor(scope: Construct, id: string) {\nsuper(scope, id);\n// Code snippet begins after !show marker below\n/// !show\n\nconst trustedSignersProperty: cloudfront.CfnStreamingDistribution.TrustedSignersProperty = {\n  enabled: false,\n\n  // the properties below are optional\n  awsAccountNumbers: ['awsAccountNumbers'],\n};\n/// !hide\n// Code snippet ended before !hide marker above\n} }","syntaxKindCounter":{"10":2,"75":7,"91":1,"153":2,"169":1,"192":1,"193":1,"225":1,"242":1,"243":1,"254":1,"255":1,"256":1,"281":2,"290":1},"fqnsFingerprint":"137bb4852c0bf2b19edf7c80ac83201b12fae4da5d847d4f0449a6470ef23da9"},"21ccf11104b98d5b2e4084bf110cadb48fb803c197b180caa2e853464c0aebcb":{"translations":{"python":{"source":"# The code below shows an example of how to instantiate this type.\n# The values are placeholders you should change.\nimport aws_cdk.aws_cloudfront as cloudfront\n\ncfn_streaming_distribution_props = cloudfront.CfnStreamingDistributionProps(\n    streaming_distribution_config=cloudfront.CfnStreamingDistribution.StreamingDistributionConfigProperty(\n        comment=\"comment\",\n        enabled=False,\n        s3_origin=cloudfront.CfnStreamingDistribution.S3OriginProperty(\n            domain_name=\"domainName\",\n            origin_access_identity=\"originAccessIdentity\"\n        ),\n        trusted_signers=cloudfront.CfnStreamingDistribution.TrustedSignersProperty(\n            enabled=False,\n\n            # the properties below are optional\n            aws_account_numbers=[\"awsAccountNumbers\"]\n        ),\n\n        # the properties below are optional\n        aliases=[\"aliases\"],\n        logging=cloudfront.CfnStreamingDistribution.LoggingProperty(\n            bucket=\"bucket\",\n            enabled=False,\n            prefix=\"prefix\"\n        ),\n        price_class=\"priceClass\"\n    ),\n    tags=[CfnTag(\n        key=\"key\",\n        value=\"value\"\n    )]\n)","version":"2"},"csharp":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nusing Amazon.CDK.AWS.CloudFront;\n\nvar cfnStreamingDistributionProps = new CfnStreamingDistributionProps {\n    StreamingDistributionConfig = new StreamingDistributionConfigProperty {\n        Comment = \"comment\",\n        Enabled = false,\n        S3Origin = new S3OriginProperty {\n            DomainName = \"domainName\",\n            OriginAccessIdentity = \"originAccessIdentity\"\n        },\n        TrustedSigners = new TrustedSignersProperty {\n            Enabled = false,\n\n            // the properties below are optional\n            AwsAccountNumbers = new [] { \"awsAccountNumbers\" }\n        },\n\n        // the properties below are optional\n        Aliases = new [] { \"aliases\" },\n        Logging = new LoggingProperty {\n            Bucket = \"bucket\",\n            Enabled = false,\n            Prefix = \"prefix\"\n        },\n        PriceClass = \"priceClass\"\n    },\n    Tags = new [] { new CfnTag {\n        Key = \"key\",\n        Value = \"value\"\n    } }\n};","version":"1"},"java":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport software.amazon.awscdk.services.cloudfront.*;\n\nCfnStreamingDistributionProps cfnStreamingDistributionProps = CfnStreamingDistributionProps.builder()\n        .streamingDistributionConfig(StreamingDistributionConfigProperty.builder()\n                .comment(\"comment\")\n                .enabled(false)\n                .s3Origin(S3OriginProperty.builder()\n                        .domainName(\"domainName\")\n                        .originAccessIdentity(\"originAccessIdentity\")\n                        .build())\n                .trustedSigners(TrustedSignersProperty.builder()\n                        .enabled(false)\n\n                        // the properties below are optional\n                        .awsAccountNumbers(List.of(\"awsAccountNumbers\"))\n                        .build())\n\n                // the properties below are optional\n                .aliases(List.of(\"aliases\"))\n                .logging(LoggingProperty.builder()\n                        .bucket(\"bucket\")\n                        .enabled(false)\n                        .prefix(\"prefix\")\n                        .build())\n                .priceClass(\"priceClass\")\n                .build())\n        .tags(List.of(CfnTag.builder()\n                .key(\"key\")\n                .value(\"value\")\n                .build()))\n        .build();","version":"1"},"go":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport cloudfront \"github.com/aws-samples/dummy/awscdkawscloudfront\"\n\ncfnStreamingDistributionProps := &CfnStreamingDistributionProps{\n\tStreamingDistributionConfig: &StreamingDistributionConfigProperty{\n\t\tComment: jsii.String(\"comment\"),\n\t\tEnabled: jsii.Boolean(false),\n\t\tS3Origin: &S3OriginProperty{\n\t\t\tDomainName: jsii.String(\"domainName\"),\n\t\t\tOriginAccessIdentity: jsii.String(\"originAccessIdentity\"),\n\t\t},\n\t\tTrustedSigners: &TrustedSignersProperty{\n\t\t\tEnabled: jsii.Boolean(false),\n\n\t\t\t// the properties below are optional\n\t\t\tAwsAccountNumbers: []*string{\n\t\t\t\tjsii.String(\"awsAccountNumbers\"),\n\t\t\t},\n\t\t},\n\n\t\t// the properties below are optional\n\t\tAliases: []*string{\n\t\t\tjsii.String(\"aliases\"),\n\t\t},\n\t\tLogging: &LoggingProperty{\n\t\t\tBucket: jsii.String(\"bucket\"),\n\t\t\tEnabled: jsii.Boolean(false),\n\t\t\tPrefix: jsii.String(\"prefix\"),\n\t\t},\n\t\tPriceClass: jsii.String(\"priceClass\"),\n\t},\n\tTags: []cfnTag{\n\t\t&cfnTag{\n\t\t\tKey: jsii.String(\"key\"),\n\t\t\tValue: jsii.String(\"value\"),\n\t\t},\n\t},\n}","version":"1"},"$":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nconst cfnStreamingDistributionProps: cloudfront.CfnStreamingDistributionProps = {\n  streamingDistributionConfig: {\n    comment: 'comment',\n    enabled: false,\n    s3Origin: {\n      domainName: 'domainName',\n      originAccessIdentity: 'originAccessIdentity',\n    },\n    trustedSigners: {\n      enabled: false,\n\n      // the properties below are optional\n      awsAccountNumbers: ['awsAccountNumbers'],\n    },\n\n    // the properties below are optional\n    aliases: ['aliases'],\n    logging: {\n      bucket: 'bucket',\n      enabled: false,\n      prefix: 'prefix',\n    },\n    priceClass: 'priceClass',\n  },\n  tags: [{\n    key: 'key',\n    value: 'value',\n  }],\n};","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.CfnStreamingDistributionProps"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.CfnStreamingDistributionProps"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from \"@aws-cdk/core\";\nclass MyConstruct extends Construct {\nconstructor(scope: Construct, id: string) {\nsuper(scope, id);\n// Code snippet begins after !show marker below\n/// !show\n\nconst cfnStreamingDistributionProps: cloudfront.CfnStreamingDistributionProps = {\n  streamingDistributionConfig: {\n    comment: 'comment',\n    enabled: false,\n    s3Origin: {\n      domainName: 'domainName',\n      originAccessIdentity: 'originAccessIdentity',\n    },\n    trustedSigners: {\n      enabled: false,\n\n      // the properties below are optional\n      awsAccountNumbers: ['awsAccountNumbers'],\n    },\n\n    // the properties below are optional\n    aliases: ['aliases'],\n    logging: {\n      bucket: 'bucket',\n      enabled: false,\n      prefix: 'prefix',\n    },\n    priceClass: 'priceClass',\n  },\n  tags: [{\n    key: 'key',\n    value: 'value',\n  }],\n};\n/// !hide\n// Code snippet ended before !hide marker above\n} }","syntaxKindCounter":{"10":11,"75":22,"91":3,"153":1,"169":1,"192":3,"193":6,"225":1,"242":1,"243":1,"254":1,"255":1,"256":1,"281":18,"290":1},"fqnsFingerprint":"15224c1c2ffbc5c556d1706cf7ff6b9d2fbbfae267eba7a6e1f5714672cb1c91"},"bb573e1bbd24bafeef7415e8826bfa7cbb34ccc3312c8ba7d8f6a6294e049aa5":{"translations":{"python":{"source":"source_bucket = s3.Bucket(self, \"Bucket\")\n\ndistribution = cloudfront.CloudFrontWebDistribution(self, \"MyDistribution\",\n    origin_configs=[cloudfront.SourceConfiguration(\n        s3_origin_source=cloudfront.S3OriginConfig(\n            s3_bucket_source=source_bucket\n        ),\n        behaviors=[cloudfront.Behavior(is_default_behavior=True)]\n    )\n    ]\n)","version":"2"},"csharp":{"source":"var sourceBucket = new Bucket(this, \"Bucket\");\n\nvar distribution = new CloudFrontWebDistribution(this, \"MyDistribution\", new CloudFrontWebDistributionProps {\n    OriginConfigs = new [] { new SourceConfiguration {\n        S3OriginSource = new S3OriginConfig {\n            S3BucketSource = sourceBucket\n        },\n        Behaviors = new [] { new Behavior { IsDefaultBehavior = true } }\n    } }\n});","version":"1"},"java":{"source":"Bucket sourceBucket = new Bucket(this, \"Bucket\");\n\nCloudFrontWebDistribution distribution = CloudFrontWebDistribution.Builder.create(this, \"MyDistribution\")\n        .originConfigs(List.of(SourceConfiguration.builder()\n                .s3OriginSource(S3OriginConfig.builder()\n                        .s3BucketSource(sourceBucket)\n                        .build())\n                .behaviors(List.of(Behavior.builder().isDefaultBehavior(true).build()))\n                .build()))\n        .build();","version":"1"},"go":{"source":"sourceBucket := s3.NewBucket(this, jsii.String(\"Bucket\"))\n\ndistribution := cloudfront.NewCloudFrontWebDistribution(this, jsii.String(\"MyDistribution\"), &CloudFrontWebDistributionProps{\n\tOriginConfigs: []sourceConfiguration{\n\t\t&sourceConfiguration{\n\t\t\tS3OriginSource: &S3OriginConfig{\n\t\t\t\tS3BucketSource: sourceBucket,\n\t\t\t},\n\t\t\tBehaviors: []behavior{\n\t\t\t\t&behavior{\n\t\t\t\t\tIsDefaultBehavior: jsii.Boolean(true),\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n})","version":"1"},"$":{"source":"const sourceBucket = new s3.Bucket(this, 'Bucket');\n\nconst distribution = new cloudfront.CloudFrontWebDistribution(this, 'MyDistribution', {\n   originConfigs: [\n     {\n       s3OriginSource: {\n       s3BucketSource: sourceBucket,\n       },\n       behaviors : [ {isDefaultBehavior: true}],\n     },\n   ],\n});","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.CloudFrontWebDistribution"},"field":{"field":"markdown","line":5}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.CloudFrontWebDistribution","@aws-cdk/aws-cloudfront.CloudFrontWebDistributionProps","@aws-cdk/aws-cloudfront.S3OriginConfig","@aws-cdk/aws-s3.Bucket","@aws-cdk/aws-s3.IBucket","constructs.Construct"],"fullSource":"import { Construct } from 'constructs';\nimport { Duration, Stack } from '@aws-cdk/core';\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nimport * as origins from '@aws-cdk/aws-cloudfront-origins';\nimport * as s3 from '@aws-cdk/aws-s3';\nimport * as ec2 from '@aws-cdk/aws-ec2';\nimport * as elbv2 from '@aws-cdk/aws-elasticloadbalancingv2';\nimport * as lambda from '@aws-cdk/aws-lambda';\nimport * as path from 'path';\n\nclass Context extends Stack {\n  constructor(scope: Construct, id: string) {\n    super(scope, id);\n\n    // Code snippet begins after !show marker below\n/// !show\nconst sourceBucket = new s3.Bucket(this, 'Bucket');\n\nconst distribution = new cloudfront.CloudFrontWebDistribution(this, 'MyDistribution', {\n   originConfigs: [\n     {\n       s3OriginSource: {\n       s3BucketSource: sourceBucket,\n       },\n       behaviors : [ {isDefaultBehavior: true}],\n     },\n   ],\n});\n/// !hide\n// Code snippet ended before !hide marker above\n  }\n}\n","syntaxKindCounter":{"10":2,"75":12,"104":2,"106":1,"192":2,"193":4,"194":2,"197":2,"225":2,"242":2,"243":2,"281":5},"fqnsFingerprint":"6c17fae485ccf3b364402edc3769c1aeff348d658944ad15f5454d232b63e124"},"b545e1d546f44fcaeea96e099aac2d10b5db43c927effce97ddda2d4c7a26500":{"translations":{"python":{"source":"# source_bucket: s3.Bucket\n\nviewer_certificate = cloudfront.ViewerCertificate.from_iam_certificate(\"MYIAMROLEIDENTIFIER\",\n    aliases=[\"MYALIAS\"]\n)\n\ncloudfront.CloudFrontWebDistribution(self, \"MyCfWebDistribution\",\n    origin_configs=[cloudfront.SourceConfiguration(\n        s3_origin_source=cloudfront.S3OriginConfig(\n            s3_bucket_source=source_bucket\n        ),\n        behaviors=[cloudfront.Behavior(is_default_behavior=True)]\n    )\n    ],\n    viewer_certificate=viewer_certificate\n)","version":"2"},"csharp":{"source":"Bucket sourceBucket;\n\nvar viewerCertificate = ViewerCertificate.FromIamCertificate(\"MYIAMROLEIDENTIFIER\", new ViewerCertificateOptions {\n    Aliases = new [] { \"MYALIAS\" }\n});\n\nnew CloudFrontWebDistribution(this, \"MyCfWebDistribution\", new CloudFrontWebDistributionProps {\n    OriginConfigs = new [] { new SourceConfiguration {\n        S3OriginSource = new S3OriginConfig {\n            S3BucketSource = sourceBucket\n        },\n        Behaviors = new [] { new Behavior { IsDefaultBehavior = true } }\n    } },\n    ViewerCertificate = viewerCertificate\n});","version":"1"},"java":{"source":"Bucket sourceBucket;\n\nViewerCertificate viewerCertificate = ViewerCertificate.fromIamCertificate(\"MYIAMROLEIDENTIFIER\", ViewerCertificateOptions.builder()\n        .aliases(List.of(\"MYALIAS\"))\n        .build());\n\nCloudFrontWebDistribution.Builder.create(this, \"MyCfWebDistribution\")\n        .originConfigs(List.of(SourceConfiguration.builder()\n                .s3OriginSource(S3OriginConfig.builder()\n                        .s3BucketSource(sourceBucket)\n                        .build())\n                .behaviors(List.of(Behavior.builder().isDefaultBehavior(true).build()))\n                .build()))\n        .viewerCertificate(viewerCertificate)\n        .build();","version":"1"},"go":{"source":"var sourceBucket bucket\n\nviewerCertificate := cloudfront.ViewerCertificate_FromIamCertificate(jsii.String(\"MYIAMROLEIDENTIFIER\"), &ViewerCertificateOptions{\n\tAliases: []*string{\n\t\tjsii.String(\"MYALIAS\"),\n\t},\n})\n\ncloudfront.NewCloudFrontWebDistribution(this, jsii.String(\"MyCfWebDistribution\"), &CloudFrontWebDistributionProps{\n\tOriginConfigs: []sourceConfiguration{\n\t\t&sourceConfiguration{\n\t\t\tS3OriginSource: &S3OriginConfig{\n\t\t\t\tS3BucketSource: sourceBucket,\n\t\t\t},\n\t\t\tBehaviors: []behavior{\n\t\t\t\t&behavior{\n\t\t\t\t\tIsDefaultBehavior: jsii.Boolean(true),\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n\tViewerCertificate: viewerCertificate,\n})","version":"1"},"$":{"source":"declare const sourceBucket: s3.Bucket;\nconst viewerCertificate = cloudfront.ViewerCertificate.fromIamCertificate('MYIAMROLEIDENTIFIER', {\n  aliases: ['MYALIAS'],\n});\n\nnew cloudfront.CloudFrontWebDistribution(this, 'MyCfWebDistribution', {\n  originConfigs: [\n    {\n      s3OriginSource: {\n        s3BucketSource: sourceBucket,\n      },\n      behaviors : [ {isDefaultBehavior: true} ],\n    },\n  ],\n  viewerCertificate: viewerCertificate,\n});","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.CloudFrontWebDistribution"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.CloudFrontWebDistribution","@aws-cdk/aws-cloudfront.CloudFrontWebDistributionProps","@aws-cdk/aws-cloudfront.S3OriginConfig","@aws-cdk/aws-cloudfront.ViewerCertificate","@aws-cdk/aws-cloudfront.ViewerCertificate#fromIamCertificate","@aws-cdk/aws-cloudfront.ViewerCertificateOptions","@aws-cdk/aws-s3.IBucket","constructs.Construct"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\ndeclare const sourceBucket: s3.Bucket;\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from 'constructs';\nimport { Duration, Stack } from '@aws-cdk/core';\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nimport * as origins from '@aws-cdk/aws-cloudfront-origins';\nimport * as s3 from '@aws-cdk/aws-s3';\nimport * as ec2 from '@aws-cdk/aws-ec2';\nimport * as elbv2 from '@aws-cdk/aws-elasticloadbalancingv2';\nimport * as lambda from '@aws-cdk/aws-lambda';\nimport * as path from 'path';\n\nclass Context extends Stack {\n  constructor(scope: Construct, id: string) {\n    super(scope, id);\n\n    // Code snippet begins after !show marker below\n/// !show\n\nconst viewerCertificate = cloudfront.ViewerCertificate.fromIamCertificate('MYIAMROLEIDENTIFIER', {\n  aliases: ['MYALIAS'],\n});\n\nnew cloudfront.CloudFrontWebDistribution(this, 'MyCfWebDistribution', {\n  originConfigs: [\n    {\n      s3OriginSource: {\n        s3BucketSource: sourceBucket,\n      },\n      behaviors : [ {isDefaultBehavior: true} ],\n    },\n  ],\n  viewerCertificate: viewerCertificate,\n});\n/// !hide\n// Code snippet ended before !hide marker above\n  }\n}\n","syntaxKindCounter":{"10":3,"75":18,"104":1,"106":1,"130":1,"153":1,"169":1,"192":3,"193":5,"194":3,"196":1,"197":1,"225":2,"226":1,"242":2,"243":2,"281":7,"290":1},"fqnsFingerprint":"dc85e0e66756c7ca4ca260fa52258db75a8634baf4e3cb2bd68bffa4dc45a896"},"6c2f18705e752bbd2fadc8ebaa855db19e9db6117931f908658d2c4f40439e4c":{"translations":{"python":{"source":"# The code below shows an example of how to instantiate this type.\n# The values are placeholders you should change.\nimport aws_cdk.aws_cloudfront as cloudfront\n\ncloud_front_web_distribution_attributes = cloudfront.CloudFrontWebDistributionAttributes(\n    distribution_id=\"distributionId\",\n    domain_name=\"domainName\"\n)","version":"2"},"csharp":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nusing Amazon.CDK.AWS.CloudFront;\n\nvar cloudFrontWebDistributionAttributes = new CloudFrontWebDistributionAttributes {\n    DistributionId = \"distributionId\",\n    DomainName = \"domainName\"\n};","version":"1"},"java":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport software.amazon.awscdk.services.cloudfront.*;\n\nCloudFrontWebDistributionAttributes cloudFrontWebDistributionAttributes = CloudFrontWebDistributionAttributes.builder()\n        .distributionId(\"distributionId\")\n        .domainName(\"domainName\")\n        .build();","version":"1"},"go":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport cloudfront \"github.com/aws-samples/dummy/awscdkawscloudfront\"\n\ncloudFrontWebDistributionAttributes := &CloudFrontWebDistributionAttributes{\n\tDistributionId: jsii.String(\"distributionId\"),\n\tDomainName: jsii.String(\"domainName\"),\n}","version":"1"},"$":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nconst cloudFrontWebDistributionAttributes: cloudfront.CloudFrontWebDistributionAttributes = {\n  distributionId: 'distributionId',\n  domainName: 'domainName',\n};","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.CloudFrontWebDistributionAttributes"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.CloudFrontWebDistributionAttributes"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from \"@aws-cdk/core\";\nclass MyConstruct extends Construct {\nconstructor(scope: Construct, id: string) {\nsuper(scope, id);\n// Code snippet begins after !show marker below\n/// !show\n\nconst cloudFrontWebDistributionAttributes: cloudfront.CloudFrontWebDistributionAttributes = {\n  distributionId: 'distributionId',\n  domainName: 'domainName',\n};\n/// !hide\n// Code snippet ended before !hide marker above\n} }","syntaxKindCounter":{"10":3,"75":6,"153":1,"169":1,"193":1,"225":1,"242":1,"243":1,"254":1,"255":1,"256":1,"281":2,"290":1},"fqnsFingerprint":"6e27b4d7c98b48f498be97925864e9f61fda2b37e3b9b225e8e9442f935cc5e8"},"3bd66a256b7c04c1a135a91d5a9eb77bf8a26b826b1290c88641d9484a756bf4":{"translations":{"python":{"source":"# source_bucket: s3.Bucket\n\nviewer_certificate = cloudfront.ViewerCertificate.from_iam_certificate(\"MYIAMROLEIDENTIFIER\",\n    aliases=[\"MYALIAS\"]\n)\n\ncloudfront.CloudFrontWebDistribution(self, \"MyCfWebDistribution\",\n    origin_configs=[cloudfront.SourceConfiguration(\n        s3_origin_source=cloudfront.S3OriginConfig(\n            s3_bucket_source=source_bucket\n        ),\n        behaviors=[cloudfront.Behavior(is_default_behavior=True)]\n    )\n    ],\n    viewer_certificate=viewer_certificate\n)","version":"2"},"csharp":{"source":"Bucket sourceBucket;\n\nvar viewerCertificate = ViewerCertificate.FromIamCertificate(\"MYIAMROLEIDENTIFIER\", new ViewerCertificateOptions {\n    Aliases = new [] { \"MYALIAS\" }\n});\n\nnew CloudFrontWebDistribution(this, \"MyCfWebDistribution\", new CloudFrontWebDistributionProps {\n    OriginConfigs = new [] { new SourceConfiguration {\n        S3OriginSource = new S3OriginConfig {\n            S3BucketSource = sourceBucket\n        },\n        Behaviors = new [] { new Behavior { IsDefaultBehavior = true } }\n    } },\n    ViewerCertificate = viewerCertificate\n});","version":"1"},"java":{"source":"Bucket sourceBucket;\n\nViewerCertificate viewerCertificate = ViewerCertificate.fromIamCertificate(\"MYIAMROLEIDENTIFIER\", ViewerCertificateOptions.builder()\n        .aliases(List.of(\"MYALIAS\"))\n        .build());\n\nCloudFrontWebDistribution.Builder.create(this, \"MyCfWebDistribution\")\n        .originConfigs(List.of(SourceConfiguration.builder()\n                .s3OriginSource(S3OriginConfig.builder()\n                        .s3BucketSource(sourceBucket)\n                        .build())\n                .behaviors(List.of(Behavior.builder().isDefaultBehavior(true).build()))\n                .build()))\n        .viewerCertificate(viewerCertificate)\n        .build();","version":"1"},"go":{"source":"var sourceBucket bucket\n\nviewerCertificate := cloudfront.ViewerCertificate_FromIamCertificate(jsii.String(\"MYIAMROLEIDENTIFIER\"), &ViewerCertificateOptions{\n\tAliases: []*string{\n\t\tjsii.String(\"MYALIAS\"),\n\t},\n})\n\ncloudfront.NewCloudFrontWebDistribution(this, jsii.String(\"MyCfWebDistribution\"), &CloudFrontWebDistributionProps{\n\tOriginConfigs: []sourceConfiguration{\n\t\t&sourceConfiguration{\n\t\t\tS3OriginSource: &S3OriginConfig{\n\t\t\t\tS3BucketSource: sourceBucket,\n\t\t\t},\n\t\t\tBehaviors: []behavior{\n\t\t\t\t&behavior{\n\t\t\t\t\tIsDefaultBehavior: jsii.Boolean(true),\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n\tViewerCertificate: viewerCertificate,\n})","version":"1"},"$":{"source":"declare const sourceBucket: s3.Bucket;\nconst viewerCertificate = cloudfront.ViewerCertificate.fromIamCertificate('MYIAMROLEIDENTIFIER', {\n  aliases: ['MYALIAS'],\n});\n\nnew cloudfront.CloudFrontWebDistribution(this, 'MyCfWebDistribution', {\n  originConfigs: [\n    {\n      s3OriginSource: {\n        s3BucketSource: sourceBucket,\n      },\n      behaviors : [ {isDefaultBehavior: true} ],\n    },\n  ],\n  viewerCertificate: viewerCertificate,\n});","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.CloudFrontWebDistributionProps"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.CloudFrontWebDistribution","@aws-cdk/aws-cloudfront.CloudFrontWebDistributionProps","@aws-cdk/aws-cloudfront.S3OriginConfig","@aws-cdk/aws-cloudfront.ViewerCertificate","@aws-cdk/aws-cloudfront.ViewerCertificate#fromIamCertificate","@aws-cdk/aws-cloudfront.ViewerCertificateOptions","@aws-cdk/aws-s3.IBucket","constructs.Construct"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\ndeclare const sourceBucket: s3.Bucket;\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from 'constructs';\nimport { Duration, Stack } from '@aws-cdk/core';\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nimport * as origins from '@aws-cdk/aws-cloudfront-origins';\nimport * as s3 from '@aws-cdk/aws-s3';\nimport * as ec2 from '@aws-cdk/aws-ec2';\nimport * as elbv2 from '@aws-cdk/aws-elasticloadbalancingv2';\nimport * as lambda from '@aws-cdk/aws-lambda';\nimport * as path from 'path';\n\nclass Context extends Stack {\n  constructor(scope: Construct, id: string) {\n    super(scope, id);\n\n    // Code snippet begins after !show marker below\n/// !show\n\nconst viewerCertificate = cloudfront.ViewerCertificate.fromIamCertificate('MYIAMROLEIDENTIFIER', {\n  aliases: ['MYALIAS'],\n});\n\nnew cloudfront.CloudFrontWebDistribution(this, 'MyCfWebDistribution', {\n  originConfigs: [\n    {\n      s3OriginSource: {\n        s3BucketSource: sourceBucket,\n      },\n      behaviors : [ {isDefaultBehavior: true} ],\n    },\n  ],\n  viewerCertificate: viewerCertificate,\n});\n/// !hide\n// Code snippet ended before !hide marker above\n  }\n}\n","syntaxKindCounter":{"10":3,"75":18,"104":1,"106":1,"130":1,"153":1,"169":1,"192":3,"193":5,"194":3,"196":1,"197":1,"225":2,"226":1,"242":2,"243":2,"281":7,"290":1},"fqnsFingerprint":"dc85e0e66756c7ca4ca260fa52258db75a8634baf4e3cb2bd68bffa4dc45a896"},"980e672dae31879ed083be7d019c110c754a0f193719cc2d170f3d5e8d450a39":{"translations":{"python":{"source":"# source_bucket: s3.Bucket\n# oai: cloudfront.OriginAccessIdentity\n\n\ncloudfront.CloudFrontWebDistribution(self, \"MyCfWebDistribution\",\n    origin_configs=[cloudfront.SourceConfiguration(\n        s3_origin_source=cloudfront.S3OriginConfig(\n            s3_bucket_source=source_bucket,\n            origin_access_identity=oai\n        ),\n        behaviors=[cloudfront.Behavior(is_default_behavior=True)]\n    ), cloudfront.SourceConfiguration(\n        custom_origin_source=cloudfront.CustomOriginConfig(\n            domain_name=\"MYALIAS\"\n        ),\n        behaviors=[cloudfront.Behavior(path_pattern=\"/somewhere\")]\n    )\n    ]\n)","version":"2"},"csharp":{"source":"Bucket sourceBucket;\nOriginAccessIdentity oai;\n\n\nnew CloudFrontWebDistribution(this, \"MyCfWebDistribution\", new CloudFrontWebDistributionProps {\n    OriginConfigs = new [] { new SourceConfiguration {\n        S3OriginSource = new S3OriginConfig {\n            S3BucketSource = sourceBucket,\n            OriginAccessIdentity = oai\n        },\n        Behaviors = new [] { new Behavior { IsDefaultBehavior = true } }\n    }, new SourceConfiguration {\n        CustomOriginSource = new CustomOriginConfig {\n            DomainName = \"MYALIAS\"\n        },\n        Behaviors = new [] { new Behavior { PathPattern = \"/somewhere\" } }\n    } }\n});","version":"1"},"java":{"source":"Bucket sourceBucket;\nOriginAccessIdentity oai;\n\n\nCloudFrontWebDistribution.Builder.create(this, \"MyCfWebDistribution\")\n        .originConfigs(List.of(SourceConfiguration.builder()\n                .s3OriginSource(S3OriginConfig.builder()\n                        .s3BucketSource(sourceBucket)\n                        .originAccessIdentity(oai)\n                        .build())\n                .behaviors(List.of(Behavior.builder().isDefaultBehavior(true).build()))\n                .build(), SourceConfiguration.builder()\n                .customOriginSource(CustomOriginConfig.builder()\n                        .domainName(\"MYALIAS\")\n                        .build())\n                .behaviors(List.of(Behavior.builder().pathPattern(\"/somewhere\").build()))\n                .build()))\n        .build();","version":"1"},"go":{"source":"var sourceBucket bucket\nvar oai originAccessIdentity\n\n\ncloudfront.NewCloudFrontWebDistribution(this, jsii.String(\"MyCfWebDistribution\"), &CloudFrontWebDistributionProps{\n\tOriginConfigs: []sourceConfiguration{\n\t\t&sourceConfiguration{\n\t\t\tS3OriginSource: &S3OriginConfig{\n\t\t\t\tS3BucketSource: sourceBucket,\n\t\t\t\tOriginAccessIdentity: oai,\n\t\t\t},\n\t\t\tBehaviors: []behavior{\n\t\t\t\t&behavior{\n\t\t\t\t\tIsDefaultBehavior: jsii.Boolean(true),\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t&sourceConfiguration{\n\t\t\tCustomOriginSource: &CustomOriginConfig{\n\t\t\t\tDomainName: jsii.String(\"MYALIAS\"),\n\t\t\t},\n\t\t\tBehaviors: []*behavior{\n\t\t\t\t&behavior{\n\t\t\t\t\tPathPattern: jsii.String(\"/somewhere\"),\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n})","version":"1"},"$":{"source":"declare const sourceBucket: s3.Bucket;\ndeclare const oai: cloudfront.OriginAccessIdentity;\n\nnew cloudfront.CloudFrontWebDistribution(this, 'MyCfWebDistribution', {\n  originConfigs: [\n    {\n      s3OriginSource: {\n        s3BucketSource: sourceBucket,\n        originAccessIdentity: oai,\n      },\n      behaviors: [ {isDefaultBehavior: true}],\n    },\n    {\n      customOriginSource: {\n        domainName: 'MYALIAS',\n      },\n      behaviors: [{ pathPattern: '/somewhere' }]\n    }\n  ],\n});","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.CustomOriginConfig"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.CloudFrontWebDistribution","@aws-cdk/aws-cloudfront.CloudFrontWebDistributionProps","@aws-cdk/aws-cloudfront.CustomOriginConfig","@aws-cdk/aws-cloudfront.IOriginAccessIdentity","@aws-cdk/aws-cloudfront.S3OriginConfig","@aws-cdk/aws-s3.IBucket","constructs.Construct"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\ndeclare const sourceBucket: s3.Bucket;\ndeclare const oai: cloudfront.OriginAccessIdentity;\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from 'constructs';\nimport { Duration, Stack } from '@aws-cdk/core';\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nimport * as origins from '@aws-cdk/aws-cloudfront-origins';\nimport * as s3 from '@aws-cdk/aws-s3';\nimport * as ec2 from '@aws-cdk/aws-ec2';\nimport * as elbv2 from '@aws-cdk/aws-elasticloadbalancingv2';\nimport * as lambda from '@aws-cdk/aws-lambda';\nimport * as path from 'path';\n\nclass Context extends Stack {\n  constructor(scope: Construct, id: string) {\n    super(scope, id);\n\n    // Code snippet begins after !show marker below\n/// !show\n\n\nnew cloudfront.CloudFrontWebDistribution(this, 'MyCfWebDistribution', {\n  originConfigs: [\n    {\n      s3OriginSource: {\n        s3BucketSource: sourceBucket,\n        originAccessIdentity: oai,\n      },\n      behaviors: [ {isDefaultBehavior: true}],\n    },\n    {\n      customOriginSource: {\n        domainName: 'MYALIAS',\n      },\n      behaviors: [{ pathPattern: '/somewhere' }]\n    }\n  ],\n});\n/// !hide\n// Code snippet ended before !hide marker above\n  }\n}\n","syntaxKindCounter":{"10":3,"75":20,"104":1,"106":1,"130":2,"153":2,"169":2,"192":3,"193":7,"194":1,"197":1,"225":2,"226":1,"242":2,"243":2,"281":10,"290":1},"fqnsFingerprint":"e42b6ad2904ab97cd49ef90216e6fbe6881d2117a01768be093280982f9b66b3"},"4bca3b1867b810f99555ebf821b48cd0ecd8fe6eebeca89a1d51fc516596b867":{"translations":{"python":{"source":"# Adding an existing Lambda@Edge function created in a different stack\n# to a CloudFront distribution.\n# s3_bucket: s3.Bucket\n\nfunction_version = lambda_.Version.from_version_arn(self, \"Version\", \"arn:aws:lambda:us-east-1:123456789012:function:functionName:1\")\n\ncloudfront.Distribution(self, \"distro\",\n    default_behavior=cloudfront.BehaviorOptions(\n        origin=origins.S3Origin(s3_bucket),\n        edge_lambdas=[cloudfront.EdgeLambda(\n            function_version=function_version,\n            event_type=cloudfront.LambdaEdgeEventType.VIEWER_REQUEST\n        )\n        ]\n    )\n)","version":"2"},"csharp":{"source":"// Adding an existing Lambda@Edge function created in a different stack\n// to a CloudFront distribution.\nBucket s3Bucket;\n\nvar functionVersion = Version.FromVersionArn(this, \"Version\", \"arn:aws:lambda:us-east-1:123456789012:function:functionName:1\");\n\nnew Distribution(this, \"distro\", new DistributionProps {\n    DefaultBehavior = new BehaviorOptions {\n        Origin = new S3Origin(s3Bucket),\n        EdgeLambdas = new [] { new EdgeLambda {\n            FunctionVersion = functionVersion,\n            EventType = LambdaEdgeEventType.VIEWER_REQUEST\n        } }\n    }\n});","version":"1"},"java":{"source":"// Adding an existing Lambda@Edge function created in a different stack\n// to a CloudFront distribution.\nBucket s3Bucket;\n\nIVersion functionVersion = Version.fromVersionArn(this, \"Version\", \"arn:aws:lambda:us-east-1:123456789012:function:functionName:1\");\n\nDistribution.Builder.create(this, \"distro\")\n        .defaultBehavior(BehaviorOptions.builder()\n                .origin(new S3Origin(s3Bucket))\n                .edgeLambdas(List.of(EdgeLambda.builder()\n                        .functionVersion(functionVersion)\n                        .eventType(LambdaEdgeEventType.VIEWER_REQUEST)\n                        .build()))\n                .build())\n        .build();","version":"1"},"go":{"source":"// Adding an existing Lambda@Edge function created in a different stack\n// to a CloudFront distribution.\nvar s3Bucket bucket\n\nfunctionVersion := lambda.Version_FromVersionArn(this, jsii.String(\"Version\"), jsii.String(\"arn:aws:lambda:us-east-1:123456789012:function:functionName:1\"))\n\ncloudfront.NewDistribution(this, jsii.String(\"distro\"), &DistributionProps{\n\tDefaultBehavior: &BehaviorOptions{\n\t\tOrigin: origins.NewS3Origin(s3Bucket),\n\t\tEdgeLambdas: []edgeLambda{\n\t\t\t&edgeLambda{\n\t\t\t\tFunctionVersion: *FunctionVersion,\n\t\t\t\tEventType: cloudfront.LambdaEdgeEventType_VIEWER_REQUEST,\n\t\t\t},\n\t\t},\n\t},\n})","version":"1"},"$":{"source":"// Adding an existing Lambda@Edge function created in a different stack\n// to a CloudFront distribution.\ndeclare const s3Bucket: s3.Bucket;\nconst functionVersion = lambda.Version.fromVersionArn(this, 'Version', 'arn:aws:lambda:us-east-1:123456789012:function:functionName:1');\n\nnew cloudfront.Distribution(this, 'distro', {\n  defaultBehavior: {\n    origin: new origins.S3Origin(s3Bucket),\n    edgeLambdas: [\n      {\n        functionVersion,\n        eventType: cloudfront.LambdaEdgeEventType.VIEWER_REQUEST,\n      },\n    ],\n  },\n});","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.Distribution"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront-origins.S3Origin","@aws-cdk/aws-cloudfront.BehaviorOptions","@aws-cdk/aws-cloudfront.Distribution","@aws-cdk/aws-cloudfront.DistributionProps","@aws-cdk/aws-cloudfront.IOrigin","@aws-cdk/aws-cloudfront.LambdaEdgeEventType","@aws-cdk/aws-cloudfront.LambdaEdgeEventType#VIEWER_REQUEST","@aws-cdk/aws-lambda.IVersion","@aws-cdk/aws-lambda.Version","@aws-cdk/aws-lambda.Version#fromVersionArn","@aws-cdk/aws-s3.IBucket","constructs.Construct"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// Adding an existing Lambda@Edge function created in a different stack\n// to a CloudFront distribution.\ndeclare const s3Bucket: s3.Bucket;\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from 'constructs';\nimport { Duration, Stack } from '@aws-cdk/core';\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nimport * as origins from '@aws-cdk/aws-cloudfront-origins';\nimport * as s3 from '@aws-cdk/aws-s3';\nimport * as ec2 from '@aws-cdk/aws-ec2';\nimport * as elbv2 from '@aws-cdk/aws-elasticloadbalancingv2';\nimport * as lambda from '@aws-cdk/aws-lambda';\nimport * as path from 'path';\n\nclass Context extends Stack {\n  constructor(scope: Construct, id: string) {\n    super(scope, id);\n\n    // Code snippet begins after !show marker below\n/// !show\n\nconst functionVersion = lambda.Version.fromVersionArn(this, 'Version', 'arn:aws:lambda:us-east-1:123456789012:function:functionName:1');\n\nnew cloudfront.Distribution(this, 'distro', {\n  defaultBehavior: {\n    origin: new origins.S3Origin(s3Bucket),\n    edgeLambdas: [\n      {\n        functionVersion,\n        eventType: cloudfront.LambdaEdgeEventType.VIEWER_REQUEST,\n      },\n    ],\n  },\n});\n/// !hide\n// Code snippet ended before !hide marker above\n  }\n}\n","syntaxKindCounter":{"10":3,"75":20,"104":2,"130":1,"153":1,"169":1,"192":1,"193":3,"194":6,"196":1,"197":2,"225":2,"226":1,"242":2,"243":2,"281":4,"282":1,"290":1},"fqnsFingerprint":"ed7d20f26b1f4e4dbade5657199847f143c35c149fbeb49e54402db9c319793a"},"db4a4e45295cddc85d1018d17521ef8eed2b94e0aaeb9cd773ca435fb0048542":{"translations":{"python":{"source":"# Using a reference to an imported Distribution\ndistribution = cloudfront.Distribution.from_distribution_attributes(self, \"ImportedDist\",\n    domain_name=\"d111111abcdef8.cloudfront.net\",\n    distribution_id=\"012345ABCDEF\"\n)","version":"2"},"csharp":{"source":"// Using a reference to an imported Distribution\nvar distribution = Distribution.FromDistributionAttributes(this, \"ImportedDist\", new DistributionAttributes {\n    DomainName = \"d111111abcdef8.cloudfront.net\",\n    DistributionId = \"012345ABCDEF\"\n});","version":"1"},"java":{"source":"// Using a reference to an imported Distribution\nIDistribution distribution = Distribution.fromDistributionAttributes(this, \"ImportedDist\", DistributionAttributes.builder()\n        .domainName(\"d111111abcdef8.cloudfront.net\")\n        .distributionId(\"012345ABCDEF\")\n        .build());","version":"1"},"go":{"source":"// Using a reference to an imported Distribution\ndistribution := cloudfront.Distribution_FromDistributionAttributes(this, jsii.String(\"ImportedDist\"), &DistributionAttributes{\n\tDomainName: jsii.String(\"d111111abcdef8.cloudfront.net\"),\n\tDistributionId: jsii.String(\"012345ABCDEF\"),\n})","version":"1"},"$":{"source":"// Using a reference to an imported Distribution\nconst distribution = cloudfront.Distribution.fromDistributionAttributes(this, 'ImportedDist', {\n  domainName: 'd111111abcdef8.cloudfront.net',\n  distributionId: '012345ABCDEF',\n});","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.DistributionAttributes"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.Distribution","@aws-cdk/aws-cloudfront.Distribution#fromDistributionAttributes","@aws-cdk/aws-cloudfront.DistributionAttributes","@aws-cdk/aws-cloudfront.IDistribution","constructs.Construct"],"fullSource":"import { Construct } from 'constructs';\nimport { Duration, Stack } from '@aws-cdk/core';\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nimport * as origins from '@aws-cdk/aws-cloudfront-origins';\nimport * as s3 from '@aws-cdk/aws-s3';\nimport * as ec2 from '@aws-cdk/aws-ec2';\nimport * as elbv2 from '@aws-cdk/aws-elasticloadbalancingv2';\nimport * as lambda from '@aws-cdk/aws-lambda';\nimport * as path from 'path';\n\nclass Context extends Stack {\n  constructor(scope: Construct, id: string) {\n    super(scope, id);\n\n    // Code snippet begins after !show marker below\n/// !show\n// Using a reference to an imported Distribution\nconst distribution = cloudfront.Distribution.fromDistributionAttributes(this, 'ImportedDist', {\n  domainName: 'd111111abcdef8.cloudfront.net',\n  distributionId: '012345ABCDEF',\n});\n/// !hide\n// Code snippet ended before !hide marker above\n  }\n}\n","syntaxKindCounter":{"10":3,"75":6,"104":1,"193":1,"194":2,"196":1,"225":1,"242":1,"243":1,"281":2},"fqnsFingerprint":"8d06d4f4f8c8554f131e9859c2581f56f35e2e925571fef3b0bc6fc3ad66631f"},"a6ccb0dbd34ea28afa6b3a5f9ca414087bf01ca9eda62cbf4063a7daff53bb05":{"translations":{"python":{"source":"# Adding an existing Lambda@Edge function created in a different stack\n# to a CloudFront distribution.\n# s3_bucket: s3.Bucket\n\nfunction_version = lambda_.Version.from_version_arn(self, \"Version\", \"arn:aws:lambda:us-east-1:123456789012:function:functionName:1\")\n\ncloudfront.Distribution(self, \"distro\",\n    default_behavior=cloudfront.BehaviorOptions(\n        origin=origins.S3Origin(s3_bucket),\n        edge_lambdas=[cloudfront.EdgeLambda(\n            function_version=function_version,\n            event_type=cloudfront.LambdaEdgeEventType.VIEWER_REQUEST\n        )\n        ]\n    )\n)","version":"2"},"csharp":{"source":"// Adding an existing Lambda@Edge function created in a different stack\n// to a CloudFront distribution.\nBucket s3Bucket;\n\nvar functionVersion = Version.FromVersionArn(this, \"Version\", \"arn:aws:lambda:us-east-1:123456789012:function:functionName:1\");\n\nnew Distribution(this, \"distro\", new DistributionProps {\n    DefaultBehavior = new BehaviorOptions {\n        Origin = new S3Origin(s3Bucket),\n        EdgeLambdas = new [] { new EdgeLambda {\n            FunctionVersion = functionVersion,\n            EventType = LambdaEdgeEventType.VIEWER_REQUEST\n        } }\n    }\n});","version":"1"},"java":{"source":"// Adding an existing Lambda@Edge function created in a different stack\n// to a CloudFront distribution.\nBucket s3Bucket;\n\nIVersion functionVersion = Version.fromVersionArn(this, \"Version\", \"arn:aws:lambda:us-east-1:123456789012:function:functionName:1\");\n\nDistribution.Builder.create(this, \"distro\")\n        .defaultBehavior(BehaviorOptions.builder()\n                .origin(new S3Origin(s3Bucket))\n                .edgeLambdas(List.of(EdgeLambda.builder()\n                        .functionVersion(functionVersion)\n                        .eventType(LambdaEdgeEventType.VIEWER_REQUEST)\n                        .build()))\n                .build())\n        .build();","version":"1"},"go":{"source":"// Adding an existing Lambda@Edge function created in a different stack\n// to a CloudFront distribution.\nvar s3Bucket bucket\n\nfunctionVersion := lambda.Version_FromVersionArn(this, jsii.String(\"Version\"), jsii.String(\"arn:aws:lambda:us-east-1:123456789012:function:functionName:1\"))\n\ncloudfront.NewDistribution(this, jsii.String(\"distro\"), &DistributionProps{\n\tDefaultBehavior: &BehaviorOptions{\n\t\tOrigin: origins.NewS3Origin(s3Bucket),\n\t\tEdgeLambdas: []edgeLambda{\n\t\t\t&edgeLambda{\n\t\t\t\tFunctionVersion: *FunctionVersion,\n\t\t\t\tEventType: cloudfront.LambdaEdgeEventType_VIEWER_REQUEST,\n\t\t\t},\n\t\t},\n\t},\n})","version":"1"},"$":{"source":"// Adding an existing Lambda@Edge function created in a different stack\n// to a CloudFront distribution.\ndeclare const s3Bucket: s3.Bucket;\nconst functionVersion = lambda.Version.fromVersionArn(this, 'Version', 'arn:aws:lambda:us-east-1:123456789012:function:functionName:1');\n\nnew cloudfront.Distribution(this, 'distro', {\n  defaultBehavior: {\n    origin: new origins.S3Origin(s3Bucket),\n    edgeLambdas: [\n      {\n        functionVersion,\n        eventType: cloudfront.LambdaEdgeEventType.VIEWER_REQUEST,\n      },\n    ],\n  },\n});","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.DistributionProps"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront-origins.S3Origin","@aws-cdk/aws-cloudfront.BehaviorOptions","@aws-cdk/aws-cloudfront.Distribution","@aws-cdk/aws-cloudfront.DistributionProps","@aws-cdk/aws-cloudfront.IOrigin","@aws-cdk/aws-cloudfront.LambdaEdgeEventType","@aws-cdk/aws-cloudfront.LambdaEdgeEventType#VIEWER_REQUEST","@aws-cdk/aws-lambda.IVersion","@aws-cdk/aws-lambda.Version","@aws-cdk/aws-lambda.Version#fromVersionArn","@aws-cdk/aws-s3.IBucket","constructs.Construct"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// Adding an existing Lambda@Edge function created in a different stack\n// to a CloudFront distribution.\ndeclare const s3Bucket: s3.Bucket;\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from 'constructs';\nimport { Duration, Stack } from '@aws-cdk/core';\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nimport * as origins from '@aws-cdk/aws-cloudfront-origins';\nimport * as s3 from '@aws-cdk/aws-s3';\nimport * as ec2 from '@aws-cdk/aws-ec2';\nimport * as elbv2 from '@aws-cdk/aws-elasticloadbalancingv2';\nimport * as lambda from '@aws-cdk/aws-lambda';\nimport * as path from 'path';\n\nclass Context extends Stack {\n  constructor(scope: Construct, id: string) {\n    super(scope, id);\n\n    // Code snippet begins after !show marker below\n/// !show\n\nconst functionVersion = lambda.Version.fromVersionArn(this, 'Version', 'arn:aws:lambda:us-east-1:123456789012:function:functionName:1');\n\nnew cloudfront.Distribution(this, 'distro', {\n  defaultBehavior: {\n    origin: new origins.S3Origin(s3Bucket),\n    edgeLambdas: [\n      {\n        functionVersion,\n        eventType: cloudfront.LambdaEdgeEventType.VIEWER_REQUEST,\n      },\n    ],\n  },\n});\n/// !hide\n// Code snippet ended before !hide marker above\n  }\n}\n","syntaxKindCounter":{"10":3,"75":20,"104":2,"130":1,"153":1,"169":1,"192":1,"193":3,"194":6,"196":1,"197":2,"225":2,"226":1,"242":2,"243":2,"281":4,"282":1,"290":1},"fqnsFingerprint":"ed7d20f26b1f4e4dbade5657199847f143c35c149fbeb49e54402db9c319793a"},"00149ad77545aca823b20cff455d8ba5a470c46c136b0d9a931e9d2552caba9b":{"translations":{"python":{"source":"# The code below shows an example of how to instantiate this type.\n# The values are placeholders you should change.\nimport aws_cdk.aws_cloudfront as cloudfront\nimport aws_cdk.aws_lambda as lambda_\n\n# version: lambda.Version\n\nedge_lambda = cloudfront.EdgeLambda(\n    event_type=cloudfront.LambdaEdgeEventType.ORIGIN_REQUEST,\n    function_version=version,\n\n    # the properties below are optional\n    include_body=False\n)","version":"2"},"csharp":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nusing Amazon.CDK.AWS.CloudFront;\nusing Amazon.CDK.AWS.Lambda;\n\nVersion version;\n\nvar edgeLambda = new EdgeLambda {\n    EventType = LambdaEdgeEventType.ORIGIN_REQUEST,\n    FunctionVersion = version,\n\n    // the properties below are optional\n    IncludeBody = false\n};","version":"1"},"java":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport software.amazon.awscdk.services.cloudfront.*;\nimport software.amazon.awscdk.services.lambda.*;\n\nVersion version;\n\nEdgeLambda edgeLambda = EdgeLambda.builder()\n        .eventType(LambdaEdgeEventType.ORIGIN_REQUEST)\n        .functionVersion(version)\n\n        // the properties below are optional\n        .includeBody(false)\n        .build();","version":"1"},"go":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport cloudfront \"github.com/aws-samples/dummy/awscdkawscloudfront\"\nimport lambda \"github.com/aws-samples/dummy/awscdkawslambda\"\n\nvar version version\n\nedgeLambda := &EdgeLambda{\n\tEventType: cloudfront.LambdaEdgeEventType_ORIGIN_REQUEST,\n\tFunctionVersion: version,\n\n\t// the properties below are optional\n\tIncludeBody: jsii.Boolean(false),\n}","version":"1"},"$":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nimport * as lambda from '@aws-cdk/aws-lambda';\n\ndeclare const version: lambda.Version;\nconst edgeLambda: cloudfront.EdgeLambda = {\n  eventType: cloudfront.LambdaEdgeEventType.ORIGIN_REQUEST,\n  functionVersion: version,\n\n  // the properties below are optional\n  includeBody: false,\n};","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.EdgeLambda"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.EdgeLambda","@aws-cdk/aws-cloudfront.LambdaEdgeEventType","@aws-cdk/aws-cloudfront.LambdaEdgeEventType#ORIGIN_REQUEST","@aws-cdk/aws-lambda.IVersion"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nimport * as lambda from '@aws-cdk/aws-lambda';\n\ndeclare const version: lambda.Version;\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from \"@aws-cdk/core\";\nclass MyConstruct extends Construct {\nconstructor(scope: Construct, id: string) {\nsuper(scope, id);\n// Code snippet begins after !show marker below\n/// !show\n\nconst edgeLambda: cloudfront.EdgeLambda = {\n  eventType: cloudfront.LambdaEdgeEventType.ORIGIN_REQUEST,\n  functionVersion: version,\n\n  // the properties below are optional\n  includeBody: false,\n};\n/// !hide\n// Code snippet ended before !hide marker above\n} }","syntaxKindCounter":{"10":2,"75":15,"91":1,"130":1,"153":2,"169":2,"193":1,"194":2,"225":2,"242":2,"243":2,"254":2,"255":2,"256":2,"281":3,"290":1},"fqnsFingerprint":"2885cc8b285a4320caabb78b4273c6909cb91a3e4e91a2b0550ea36c30badb68"},"07b782b14ccc9a2423dcc3f7227a7174a61ebb3793f292221aea96dc57060f5a":{"translations":{"python":{"source":"# The code below shows an example of how to instantiate this type.\n# The values are placeholders you should change.\nimport aws_cdk.aws_cloudfront as cloudfront\nimport aws_cdk.core as cdk\n\nerror_response = cloudfront.ErrorResponse(\n    http_status=123,\n\n    # the properties below are optional\n    response_http_status=123,\n    response_page_path=\"responsePagePath\",\n    ttl=cdk.Duration.minutes(30)\n)","version":"2"},"csharp":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nusing Amazon.CDK.AWS.CloudFront;\nusing Amazon.CDK;\nvar errorResponse = new ErrorResponse {\n    HttpStatus = 123,\n\n    // the properties below are optional\n    ResponseHttpStatus = 123,\n    ResponsePagePath = \"responsePagePath\",\n    Ttl = Duration.Minutes(30)\n};","version":"1"},"java":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport software.amazon.awscdk.services.cloudfront.*;\nimport software.amazon.awscdk.core.*;\n\nErrorResponse errorResponse = ErrorResponse.builder()\n        .httpStatus(123)\n\n        // the properties below are optional\n        .responseHttpStatus(123)\n        .responsePagePath(\"responsePagePath\")\n        .ttl(Duration.minutes(30))\n        .build();","version":"1"},"go":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport cloudfront \"github.com/aws-samples/dummy/awscdkawscloudfront\"\nimport cdk \"github.com/aws-samples/dummy/awscdkcore\"\n\nerrorResponse := &ErrorResponse{\n\tHttpStatus: jsii.Number(123),\n\n\t// the properties below are optional\n\tResponseHttpStatus: jsii.Number(123),\n\tResponsePagePath: jsii.String(\"responsePagePath\"),\n\tTtl: cdk.Duration_Minutes(jsii.Number(30)),\n}","version":"1"},"$":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nimport * as cdk from '@aws-cdk/core';\nconst errorResponse: cloudfront.ErrorResponse = {\n  httpStatus: 123,\n\n  // the properties below are optional\n  responseHttpStatus: 123,\n  responsePagePath: 'responsePagePath',\n  ttl: cdk.Duration.minutes(30),\n};","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.ErrorResponse"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.ErrorResponse","@aws-cdk/core.Duration","@aws-cdk/core.Duration#minutes"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nimport * as cdk from '@aws-cdk/core';\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from \"@aws-cdk/core\";\nclass MyConstruct extends Construct {\nconstructor(scope: Construct, id: string) {\nsuper(scope, id);\n// Code snippet begins after !show marker below\n/// !show\n\nconst errorResponse: cloudfront.ErrorResponse = {\n  httpStatus: 123,\n\n  // the properties below are optional\n  responseHttpStatus: 123,\n  responsePagePath: 'responsePagePath',\n  ttl: cdk.Duration.minutes(30),\n};\n/// !hide\n// Code snippet ended before !hide marker above\n} }","syntaxKindCounter":{"8":3,"10":3,"75":12,"153":1,"169":1,"193":1,"194":2,"196":1,"225":1,"242":1,"243":1,"254":2,"255":2,"256":2,"281":4,"290":1},"fqnsFingerprint":"22967aba68cac93810909a5400528552ef4244d1eacc65d728a6449038ab543b"},"dac4b3e527302ffbc21f466aab3168832583876cfd842ad6777c55fdba1d6045":{"translations":{"python":{"source":"# Configuring origin fallback options for the CloudFrontWebDistribution\ncloudfront.CloudFrontWebDistribution(self, \"ADistribution\",\n    origin_configs=[cloudfront.SourceConfiguration(\n        s3_origin_source=cloudfront.S3OriginConfig(\n            s3_bucket_source=s3.Bucket.from_bucket_name(self, \"aBucket\", \"myoriginbucket\"),\n            origin_path=\"/\",\n            origin_headers={\n                \"myHeader\": \"42\"\n            },\n            origin_shield_region=\"us-west-2\"\n        ),\n        failover_s3_origin_source=cloudfront.S3OriginConfig(\n            s3_bucket_source=s3.Bucket.from_bucket_name(self, \"aBucketFallback\", \"myoriginbucketfallback\"),\n            origin_path=\"/somewhere\",\n            origin_headers={\n                \"myHeader2\": \"21\"\n            },\n            origin_shield_region=\"us-east-1\"\n        ),\n        failover_criteria_status_codes=[cloudfront.FailoverStatusCode.INTERNAL_SERVER_ERROR],\n        behaviors=[cloudfront.Behavior(\n            is_default_behavior=True\n        )\n        ]\n    )\n    ]\n)","version":"2"},"csharp":{"source":"// Configuring origin fallback options for the CloudFrontWebDistribution\n// Configuring origin fallback options for the CloudFrontWebDistribution\nnew CloudFrontWebDistribution(this, \"ADistribution\", new CloudFrontWebDistributionProps {\n    OriginConfigs = new [] { new SourceConfiguration {\n        S3OriginSource = new S3OriginConfig {\n            S3BucketSource = Bucket.FromBucketName(this, \"aBucket\", \"myoriginbucket\"),\n            OriginPath = \"/\",\n            OriginHeaders = new Dictionary<string, string> {\n                { \"myHeader\", \"42\" }\n            },\n            OriginShieldRegion = \"us-west-2\"\n        },\n        FailoverS3OriginSource = new S3OriginConfig {\n            S3BucketSource = Bucket.FromBucketName(this, \"aBucketFallback\", \"myoriginbucketfallback\"),\n            OriginPath = \"/somewhere\",\n            OriginHeaders = new Dictionary<string, string> {\n                { \"myHeader2\", \"21\" }\n            },\n            OriginShieldRegion = \"us-east-1\"\n        },\n        FailoverCriteriaStatusCodes = new [] { FailoverStatusCode.INTERNAL_SERVER_ERROR },\n        Behaviors = new [] { new Behavior {\n            IsDefaultBehavior = true\n        } }\n    } }\n});","version":"1"},"java":{"source":"// Configuring origin fallback options for the CloudFrontWebDistribution\n// Configuring origin fallback options for the CloudFrontWebDistribution\nCloudFrontWebDistribution.Builder.create(this, \"ADistribution\")\n        .originConfigs(List.of(SourceConfiguration.builder()\n                .s3OriginSource(S3OriginConfig.builder()\n                        .s3BucketSource(Bucket.fromBucketName(this, \"aBucket\", \"myoriginbucket\"))\n                        .originPath(\"/\")\n                        .originHeaders(Map.of(\n                                \"myHeader\", \"42\"))\n                        .originShieldRegion(\"us-west-2\")\n                        .build())\n                .failoverS3OriginSource(S3OriginConfig.builder()\n                        .s3BucketSource(Bucket.fromBucketName(this, \"aBucketFallback\", \"myoriginbucketfallback\"))\n                        .originPath(\"/somewhere\")\n                        .originHeaders(Map.of(\n                                \"myHeader2\", \"21\"))\n                        .originShieldRegion(\"us-east-1\")\n                        .build())\n                .failoverCriteriaStatusCodes(List.of(FailoverStatusCode.INTERNAL_SERVER_ERROR))\n                .behaviors(List.of(Behavior.builder()\n                        .isDefaultBehavior(true)\n                        .build()))\n                .build()))\n        .build();","version":"1"},"go":{"source":"// Configuring origin fallback options for the CloudFrontWebDistribution\n// Configuring origin fallback options for the CloudFrontWebDistribution\ncloudfront.NewCloudFrontWebDistribution(this, jsii.String(\"ADistribution\"), &CloudFrontWebDistributionProps{\n\tOriginConfigs: []sourceConfiguration{\n\t\t&sourceConfiguration{\n\t\t\tS3OriginSource: &S3OriginConfig{\n\t\t\t\tS3BucketSource: s3.Bucket_FromBucketName(this, jsii.String(\"aBucket\"), jsii.String(\"myoriginbucket\")),\n\t\t\t\tOriginPath: jsii.String(\"/\"),\n\t\t\t\tOriginHeaders: map[string]*string{\n\t\t\t\t\t\"myHeader\": jsii.String(\"42\"),\n\t\t\t\t},\n\t\t\t\tOriginShieldRegion: jsii.String(\"us-west-2\"),\n\t\t\t},\n\t\t\tFailoverS3OriginSource: &S3OriginConfig{\n\t\t\t\tS3BucketSource: s3.Bucket_*FromBucketName(this, jsii.String(\"aBucketFallback\"), jsii.String(\"myoriginbucketfallback\")),\n\t\t\t\tOriginPath: jsii.String(\"/somewhere\"),\n\t\t\t\tOriginHeaders: map[string]*string{\n\t\t\t\t\t\"myHeader2\": jsii.String(\"21\"),\n\t\t\t\t},\n\t\t\t\tOriginShieldRegion: jsii.String(\"us-east-1\"),\n\t\t\t},\n\t\t\tFailoverCriteriaStatusCodes: []failoverStatusCode{\n\t\t\t\tcloudfront.*failoverStatusCode_INTERNAL_SERVER_ERROR,\n\t\t\t},\n\t\t\tBehaviors: []behavior{\n\t\t\t\t&behavior{\n\t\t\t\t\tIsDefaultBehavior: jsii.Boolean(true),\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n})","version":"1"},"$":{"source":"// Configuring origin fallback options for the CloudFrontWebDistribution\nnew cloudfront.CloudFrontWebDistribution(this, 'ADistribution', {\n  originConfigs: [\n    {\n      s3OriginSource: {\n        s3BucketSource: s3.Bucket.fromBucketName(this, 'aBucket', 'myoriginbucket'),\n        originPath: '/',\n        originHeaders: {\n          'myHeader': '42',\n        },\n        originShieldRegion: 'us-west-2',\n      },\n      failoverS3OriginSource: {\n        s3BucketSource: s3.Bucket.fromBucketName(this, 'aBucketFallback', 'myoriginbucketfallback'),\n        originPath: '/somewhere',\n        originHeaders: {\n          'myHeader2': '21',\n        },\n        originShieldRegion: 'us-east-1',\n      },\n      failoverCriteriaStatusCodes: [cloudfront.FailoverStatusCode.INTERNAL_SERVER_ERROR],\n      behaviors: [\n        {\n          isDefaultBehavior: true,\n        },\n      ],\n    },\n  ],\n});","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.FailoverStatusCode"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.CloudFrontWebDistribution","@aws-cdk/aws-cloudfront.CloudFrontWebDistributionProps","@aws-cdk/aws-cloudfront.FailoverStatusCode","@aws-cdk/aws-cloudfront.FailoverStatusCode#INTERNAL_SERVER_ERROR","@aws-cdk/aws-cloudfront.S3OriginConfig","@aws-cdk/aws-s3.Bucket","@aws-cdk/aws-s3.Bucket#fromBucketName","@aws-cdk/aws-s3.IBucket","constructs.Construct"],"fullSource":"import { Construct } from 'constructs';\nimport { Duration, Stack } from '@aws-cdk/core';\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nimport * as origins from '@aws-cdk/aws-cloudfront-origins';\nimport * as s3 from '@aws-cdk/aws-s3';\nimport * as ec2 from '@aws-cdk/aws-ec2';\nimport * as elbv2 from '@aws-cdk/aws-elasticloadbalancingv2';\nimport * as lambda from '@aws-cdk/aws-lambda';\nimport * as path from 'path';\n\nclass Context extends Stack {\n  constructor(scope: Construct, id: string) {\n    super(scope, id);\n\n    // Code snippet begins after !show marker below\n/// !show\n// Configuring origin fallback options for the CloudFrontWebDistribution\nnew cloudfront.CloudFrontWebDistribution(this, 'ADistribution', {\n  originConfigs: [\n    {\n      s3OriginSource: {\n        s3BucketSource: s3.Bucket.fromBucketName(this, 'aBucket', 'myoriginbucket'),\n        originPath: '/',\n        originHeaders: {\n          'myHeader': '42',\n        },\n        originShieldRegion: 'us-west-2',\n      },\n      failoverS3OriginSource: {\n        s3BucketSource: s3.Bucket.fromBucketName(this, 'aBucketFallback', 'myoriginbucketfallback'),\n        originPath: '/somewhere',\n        originHeaders: {\n          'myHeader2': '21',\n        },\n        originShieldRegion: 'us-east-1',\n      },\n      failoverCriteriaStatusCodes: [cloudfront.FailoverStatusCode.INTERNAL_SERVER_ERROR],\n      behaviors: [\n        {\n          isDefaultBehavior: true,\n        },\n      ],\n    },\n  ],\n});\n/// !hide\n// Code snippet ended before !hide marker above\n  }\n}\n","syntaxKindCounter":{"10":13,"75":25,"104":3,"106":1,"192":3,"193":7,"194":7,"196":2,"197":1,"226":1,"281":16},"fqnsFingerprint":"82356cd08f3db635ce3f6185909729045ed304c0947e473c176aec42dbc62507"},"174c6f3864857afb8935747f6d00352b9c4be6c172b973e7ba8809207e0b3703":{"translations":{"python":{"source":"# The code below shows an example of how to instantiate this type.\n# The values are placeholders you should change.\nimport aws_cdk.aws_cloudfront as cloudfront\n\nfile_code_options = cloudfront.FileCodeOptions(\n    file_path=\"filePath\"\n)","version":"2"},"csharp":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nusing Amazon.CDK.AWS.CloudFront;\n\nvar fileCodeOptions = new FileCodeOptions {\n    FilePath = \"filePath\"\n};","version":"1"},"java":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport software.amazon.awscdk.services.cloudfront.*;\n\nFileCodeOptions fileCodeOptions = FileCodeOptions.builder()\n        .filePath(\"filePath\")\n        .build();","version":"1"},"go":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport cloudfront \"github.com/aws-samples/dummy/awscdkawscloudfront\"\n\nfileCodeOptions := &FileCodeOptions{\n\tFilePath: jsii.String(\"filePath\"),\n}","version":"1"},"$":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nconst fileCodeOptions: cloudfront.FileCodeOptions = {\n  filePath: 'filePath',\n};","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.FileCodeOptions"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.FileCodeOptions"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from \"@aws-cdk/core\";\nclass MyConstruct extends Construct {\nconstructor(scope: Construct, id: string) {\nsuper(scope, id);\n// Code snippet begins after !show marker below\n/// !show\n\nconst fileCodeOptions: cloudfront.FileCodeOptions = {\n  filePath: 'filePath',\n};\n/// !hide\n// Code snippet ended before !hide marker above\n} }","syntaxKindCounter":{"10":2,"75":5,"153":1,"169":1,"193":1,"225":1,"242":1,"243":1,"254":1,"255":1,"256":1,"281":1,"290":1},"fqnsFingerprint":"b42a83bd1ba4a82f2781349e7d035a2cc945a1b1df9e4434d892b6343e337efd"},"c51c11d34cdf2e1e23ce5b55bf67945f5a2d70d8f70d6e7e05709a9780adf901":{"translations":{"python":{"source":"# s3_bucket: s3.Bucket\n# Add a cloudfront Function to a Distribution\ncf_function = cloudfront.Function(self, \"Function\",\n    code=cloudfront.FunctionCode.from_inline(\"function handler(event) { return event.request }\")\n)\ncloudfront.Distribution(self, \"distro\",\n    default_behavior=cloudfront.BehaviorOptions(\n        origin=origins.S3Origin(s3_bucket),\n        function_associations=[cloudfront.FunctionAssociation(\n            function=cf_function,\n            event_type=cloudfront.FunctionEventType.VIEWER_REQUEST\n        )]\n    )\n)","version":"2"},"csharp":{"source":"Bucket s3Bucket;\n// Add a cloudfront Function to a Distribution\nvar cfFunction = new Function(this, \"Function\", new FunctionProps {\n    Code = FunctionCode.FromInline(\"function handler(event) { return event.request }\")\n});\nnew Distribution(this, \"distro\", new DistributionProps {\n    DefaultBehavior = new BehaviorOptions {\n        Origin = new S3Origin(s3Bucket),\n        FunctionAssociations = new [] { new FunctionAssociation {\n            Function = cfFunction,\n            EventType = FunctionEventType.VIEWER_REQUEST\n        } }\n    }\n});","version":"1"},"java":{"source":"Bucket s3Bucket;\n// Add a cloudfront Function to a Distribution\nFunction cfFunction = Function.Builder.create(this, \"Function\")\n        .code(FunctionCode.fromInline(\"function handler(event) { return event.request }\"))\n        .build();\nDistribution.Builder.create(this, \"distro\")\n        .defaultBehavior(BehaviorOptions.builder()\n                .origin(new S3Origin(s3Bucket))\n                .functionAssociations(List.of(FunctionAssociation.builder()\n                        .function(cfFunction)\n                        .eventType(FunctionEventType.VIEWER_REQUEST)\n                        .build()))\n                .build())\n        .build();","version":"1"},"go":{"source":"var s3Bucket bucket\n// Add a cloudfront Function to a Distribution\ncfFunction := cloudfront.NewFunction(this, jsii.String(\"Function\"), &FunctionProps{\n\tCode: cloudfront.FunctionCode_FromInline(jsii.String(\"function handler(event) { return event.request }\")),\n})\ncloudfront.NewDistribution(this, jsii.String(\"distro\"), &DistributionProps{\n\tDefaultBehavior: &BehaviorOptions{\n\t\tOrigin: origins.NewS3Origin(s3Bucket),\n\t\tFunctionAssociations: []functionAssociation{\n\t\t\t&functionAssociation{\n\t\t\t\tFunction: cfFunction,\n\t\t\t\tEventType: cloudfront.FunctionEventType_VIEWER_REQUEST,\n\t\t\t},\n\t\t},\n\t},\n})","version":"1"},"$":{"source":"// Add a cloudfront Function to a Distribution\nconst cfFunction = new cloudfront.Function(this, 'Function', {\n  code: cloudfront.FunctionCode.fromInline('function handler(event) { return event.request }'),\n});\n\ndeclare const s3Bucket: s3.Bucket;\nnew cloudfront.Distribution(this, 'distro', {\n  defaultBehavior: {\n    origin: new origins.S3Origin(s3Bucket),\n    functionAssociations: [{\n      function: cfFunction,\n      eventType: cloudfront.FunctionEventType.VIEWER_REQUEST,\n    }],\n  },\n});","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.Function"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront-origins.S3Origin","@aws-cdk/aws-cloudfront.BehaviorOptions","@aws-cdk/aws-cloudfront.Distribution","@aws-cdk/aws-cloudfront.DistributionProps","@aws-cdk/aws-cloudfront.Function","@aws-cdk/aws-cloudfront.FunctionCode","@aws-cdk/aws-cloudfront.FunctionCode#fromInline","@aws-cdk/aws-cloudfront.FunctionEventType","@aws-cdk/aws-cloudfront.FunctionEventType#VIEWER_REQUEST","@aws-cdk/aws-cloudfront.FunctionProps","@aws-cdk/aws-cloudfront.IFunction","@aws-cdk/aws-cloudfront.IOrigin","@aws-cdk/aws-s3.IBucket","constructs.Construct"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n\n\ndeclare const s3Bucket: s3.Bucket;\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from 'constructs';\nimport { Duration, Stack } from '@aws-cdk/core';\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nimport * as origins from '@aws-cdk/aws-cloudfront-origins';\nimport * as s3 from '@aws-cdk/aws-s3';\nimport * as ec2 from '@aws-cdk/aws-ec2';\nimport * as elbv2 from '@aws-cdk/aws-elasticloadbalancingv2';\nimport * as lambda from '@aws-cdk/aws-lambda';\nimport * as path from 'path';\n\nclass Context extends Stack {\n  constructor(scope: Construct, id: string) {\n    super(scope, id);\n\n    // Code snippet begins after !show marker below\n/// !show\n// Add a cloudfront Function to a Distribution\nconst cfFunction = new cloudfront.Function(this, 'Function', {\n  code: cloudfront.FunctionCode.fromInline('function handler(event) { return event.request }'),\n});\nnew cloudfront.Distribution(this, 'distro', {\n  defaultBehavior: {\n    origin: new origins.S3Origin(s3Bucket),\n    functionAssociations: [{\n      function: cfFunction,\n      eventType: cloudfront.FunctionEventType.VIEWER_REQUEST,\n    }],\n  },\n});\n/// !hide\n// Code snippet ended before !hide marker above\n  }\n}\n","syntaxKindCounter":{"10":3,"75":24,"104":2,"130":1,"153":1,"169":1,"192":1,"193":4,"194":7,"196":1,"197":3,"225":2,"226":1,"242":2,"243":2,"281":6,"290":1},"fqnsFingerprint":"eb23cdf87f7e3c03f6b84e9ed8bce59909e06e2a1c978943e56f1a80a18b4bd8"},"cf15a0cdb497200f5693a9090b609f4d9df10c6f60c6f51cc411d18c38c8fc4e":{"translations":{"python":{"source":"# The code below shows an example of how to instantiate this type.\n# The values are placeholders you should change.\nimport aws_cdk.aws_cloudfront as cloudfront\n\n# function_: cloudfront.Function\n\nfunction_association = cloudfront.FunctionAssociation(\n    event_type=cloudfront.FunctionEventType.VIEWER_REQUEST,\n    function=function_\n)","version":"2"},"csharp":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nusing Amazon.CDK.AWS.CloudFront;\n\nFunction function_;\n\nvar functionAssociation = new FunctionAssociation {\n    EventType = FunctionEventType.VIEWER_REQUEST,\n    Function = function_\n};","version":"1"},"java":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport software.amazon.awscdk.services.cloudfront.*;\n\nFunction function_;\n\nFunctionAssociation functionAssociation = FunctionAssociation.builder()\n        .eventType(FunctionEventType.VIEWER_REQUEST)\n        .function(function_)\n        .build();","version":"1"},"go":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport cloudfront \"github.com/aws-samples/dummy/awscdkawscloudfront\"\n\nvar function_ function\n\nfunctionAssociation := &FunctionAssociation{\n\tEventType: cloudfront.FunctionEventType_VIEWER_REQUEST,\n\tFunction: function_,\n}","version":"1"},"$":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\n\ndeclare const function_: cloudfront.Function;\nconst functionAssociation: cloudfront.FunctionAssociation = {\n  eventType: cloudfront.FunctionEventType.VIEWER_REQUEST,\n  function: function_,\n};","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.FunctionAssociation"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.FunctionAssociation","@aws-cdk/aws-cloudfront.FunctionEventType","@aws-cdk/aws-cloudfront.FunctionEventType#VIEWER_REQUEST","@aws-cdk/aws-cloudfront.IFunction"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\n\ndeclare const function_: cloudfront.Function;\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from \"@aws-cdk/core\";\nclass MyConstruct extends Construct {\nconstructor(scope: Construct, id: string) {\nsuper(scope, id);\n// Code snippet begins after !show marker below\n/// !show\n\nconst functionAssociation: cloudfront.FunctionAssociation = {\n  eventType: cloudfront.FunctionEventType.VIEWER_REQUEST,\n  function: function_,\n};\n/// !hide\n// Code snippet ended before !hide marker above\n} }","syntaxKindCounter":{"10":1,"75":13,"130":1,"153":2,"169":2,"193":1,"194":2,"225":2,"242":2,"243":2,"254":1,"255":1,"256":1,"281":2,"290":1},"fqnsFingerprint":"0398ba496433fd03ed053b39e7ab55427b9337fed6af6fff3e84222b17ba1bd2"},"15c697dffeb4b2a5654a24c9be4d97a5afbed078dc62af0ff4e1519a40b44971":{"translations":{"python":{"source":"# The code below shows an example of how to instantiate this type.\n# The values are placeholders you should change.\nimport aws_cdk.aws_cloudfront as cloudfront\n\nfunction_attributes = cloudfront.FunctionAttributes(\n    function_arn=\"functionArn\",\n    function_name=\"functionName\"\n)","version":"2"},"csharp":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nusing Amazon.CDK.AWS.CloudFront;\n\nvar functionAttributes = new FunctionAttributes {\n    FunctionArn = \"functionArn\",\n    FunctionName = \"functionName\"\n};","version":"1"},"java":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport software.amazon.awscdk.services.cloudfront.*;\n\nFunctionAttributes functionAttributes = FunctionAttributes.builder()\n        .functionArn(\"functionArn\")\n        .functionName(\"functionName\")\n        .build();","version":"1"},"go":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport cloudfront \"github.com/aws-samples/dummy/awscdkawscloudfront\"\n\nfunctionAttributes := &FunctionAttributes{\n\tFunctionArn: jsii.String(\"functionArn\"),\n\tFunctionName: jsii.String(\"functionName\"),\n}","version":"1"},"$":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nconst functionAttributes: cloudfront.FunctionAttributes = {\n  functionArn: 'functionArn',\n  functionName: 'functionName',\n};","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.FunctionAttributes"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.FunctionAttributes"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from \"@aws-cdk/core\";\nclass MyConstruct extends Construct {\nconstructor(scope: Construct, id: string) {\nsuper(scope, id);\n// Code snippet begins after !show marker below\n/// !show\n\nconst functionAttributes: cloudfront.FunctionAttributes = {\n  functionArn: 'functionArn',\n  functionName: 'functionName',\n};\n/// !hide\n// Code snippet ended before !hide marker above\n} }","syntaxKindCounter":{"10":3,"75":6,"153":1,"169":1,"193":1,"225":1,"242":1,"243":1,"254":1,"255":1,"256":1,"281":2,"290":1},"fqnsFingerprint":"7214fd28c87e9ef097e6658c1cf8db0486cf1f81191e6c2778722589cbc08a1d"},"5615cc8fbe925909d574d026046e2efd8cd4e8fb45044a7da65ca78b867ccc92":{"translations":{"python":{"source":"# s3_bucket: s3.Bucket\n# Add a cloudfront Function to a Distribution\ncf_function = cloudfront.Function(self, \"Function\",\n    code=cloudfront.FunctionCode.from_inline(\"function handler(event) { return event.request }\")\n)\ncloudfront.Distribution(self, \"distro\",\n    default_behavior=cloudfront.BehaviorOptions(\n        origin=origins.S3Origin(s3_bucket),\n        function_associations=[cloudfront.FunctionAssociation(\n            function=cf_function,\n            event_type=cloudfront.FunctionEventType.VIEWER_REQUEST\n        )]\n    )\n)","version":"2"},"csharp":{"source":"Bucket s3Bucket;\n// Add a cloudfront Function to a Distribution\nvar cfFunction = new Function(this, \"Function\", new FunctionProps {\n    Code = FunctionCode.FromInline(\"function handler(event) { return event.request }\")\n});\nnew Distribution(this, \"distro\", new DistributionProps {\n    DefaultBehavior = new BehaviorOptions {\n        Origin = new S3Origin(s3Bucket),\n        FunctionAssociations = new [] { new FunctionAssociation {\n            Function = cfFunction,\n            EventType = FunctionEventType.VIEWER_REQUEST\n        } }\n    }\n});","version":"1"},"java":{"source":"Bucket s3Bucket;\n// Add a cloudfront Function to a Distribution\nFunction cfFunction = Function.Builder.create(this, \"Function\")\n        .code(FunctionCode.fromInline(\"function handler(event) { return event.request }\"))\n        .build();\nDistribution.Builder.create(this, \"distro\")\n        .defaultBehavior(BehaviorOptions.builder()\n                .origin(new S3Origin(s3Bucket))\n                .functionAssociations(List.of(FunctionAssociation.builder()\n                        .function(cfFunction)\n                        .eventType(FunctionEventType.VIEWER_REQUEST)\n                        .build()))\n                .build())\n        .build();","version":"1"},"go":{"source":"var s3Bucket bucket\n// Add a cloudfront Function to a Distribution\ncfFunction := cloudfront.NewFunction(this, jsii.String(\"Function\"), &FunctionProps{\n\tCode: cloudfront.FunctionCode_FromInline(jsii.String(\"function handler(event) { return event.request }\")),\n})\ncloudfront.NewDistribution(this, jsii.String(\"distro\"), &DistributionProps{\n\tDefaultBehavior: &BehaviorOptions{\n\t\tOrigin: origins.NewS3Origin(s3Bucket),\n\t\tFunctionAssociations: []functionAssociation{\n\t\t\t&functionAssociation{\n\t\t\t\tFunction: cfFunction,\n\t\t\t\tEventType: cloudfront.FunctionEventType_VIEWER_REQUEST,\n\t\t\t},\n\t\t},\n\t},\n})","version":"1"},"$":{"source":"// Add a cloudfront Function to a Distribution\nconst cfFunction = new cloudfront.Function(this, 'Function', {\n  code: cloudfront.FunctionCode.fromInline('function handler(event) { return event.request }'),\n});\n\ndeclare const s3Bucket: s3.Bucket;\nnew cloudfront.Distribution(this, 'distro', {\n  defaultBehavior: {\n    origin: new origins.S3Origin(s3Bucket),\n    functionAssociations: [{\n      function: cfFunction,\n      eventType: cloudfront.FunctionEventType.VIEWER_REQUEST,\n    }],\n  },\n});","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.FunctionCode"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront-origins.S3Origin","@aws-cdk/aws-cloudfront.BehaviorOptions","@aws-cdk/aws-cloudfront.Distribution","@aws-cdk/aws-cloudfront.DistributionProps","@aws-cdk/aws-cloudfront.Function","@aws-cdk/aws-cloudfront.FunctionCode","@aws-cdk/aws-cloudfront.FunctionCode#fromInline","@aws-cdk/aws-cloudfront.FunctionEventType","@aws-cdk/aws-cloudfront.FunctionEventType#VIEWER_REQUEST","@aws-cdk/aws-cloudfront.FunctionProps","@aws-cdk/aws-cloudfront.IFunction","@aws-cdk/aws-cloudfront.IOrigin","@aws-cdk/aws-s3.IBucket","constructs.Construct"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n\n\ndeclare const s3Bucket: s3.Bucket;\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from 'constructs';\nimport { Duration, Stack } from '@aws-cdk/core';\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nimport * as origins from '@aws-cdk/aws-cloudfront-origins';\nimport * as s3 from '@aws-cdk/aws-s3';\nimport * as ec2 from '@aws-cdk/aws-ec2';\nimport * as elbv2 from '@aws-cdk/aws-elasticloadbalancingv2';\nimport * as lambda from '@aws-cdk/aws-lambda';\nimport * as path from 'path';\n\nclass Context extends Stack {\n  constructor(scope: Construct, id: string) {\n    super(scope, id);\n\n    // Code snippet begins after !show marker below\n/// !show\n// Add a cloudfront Function to a Distribution\nconst cfFunction = new cloudfront.Function(this, 'Function', {\n  code: cloudfront.FunctionCode.fromInline('function handler(event) { return event.request }'),\n});\nnew cloudfront.Distribution(this, 'distro', {\n  defaultBehavior: {\n    origin: new origins.S3Origin(s3Bucket),\n    functionAssociations: [{\n      function: cfFunction,\n      eventType: cloudfront.FunctionEventType.VIEWER_REQUEST,\n    }],\n  },\n});\n/// !hide\n// Code snippet ended before !hide marker above\n  }\n}\n","syntaxKindCounter":{"10":3,"75":24,"104":2,"130":1,"153":1,"169":1,"192":1,"193":4,"194":7,"196":1,"197":3,"225":2,"226":1,"242":2,"243":2,"281":6,"290":1},"fqnsFingerprint":"eb23cdf87f7e3c03f6b84e9ed8bce59909e06e2a1c978943e56f1a80a18b4bd8"},"75539d4143e0e7f171a221b0076362006798f15593168d732943ec3f0636aaaf":{"translations":{"python":{"source":"# s3_bucket: s3.Bucket\n# Add a cloudfront Function to a Distribution\ncf_function = cloudfront.Function(self, \"Function\",\n    code=cloudfront.FunctionCode.from_inline(\"function handler(event) { return event.request }\")\n)\ncloudfront.Distribution(self, \"distro\",\n    default_behavior=cloudfront.BehaviorOptions(\n        origin=origins.S3Origin(s3_bucket),\n        function_associations=[cloudfront.FunctionAssociation(\n            function=cf_function,\n            event_type=cloudfront.FunctionEventType.VIEWER_REQUEST\n        )]\n    )\n)","version":"2"},"csharp":{"source":"Bucket s3Bucket;\n// Add a cloudfront Function to a Distribution\nvar cfFunction = new Function(this, \"Function\", new FunctionProps {\n    Code = FunctionCode.FromInline(\"function handler(event) { return event.request }\")\n});\nnew Distribution(this, \"distro\", new DistributionProps {\n    DefaultBehavior = new BehaviorOptions {\n        Origin = new S3Origin(s3Bucket),\n        FunctionAssociations = new [] { new FunctionAssociation {\n            Function = cfFunction,\n            EventType = FunctionEventType.VIEWER_REQUEST\n        } }\n    }\n});","version":"1"},"java":{"source":"Bucket s3Bucket;\n// Add a cloudfront Function to a Distribution\nFunction cfFunction = Function.Builder.create(this, \"Function\")\n        .code(FunctionCode.fromInline(\"function handler(event) { return event.request }\"))\n        .build();\nDistribution.Builder.create(this, \"distro\")\n        .defaultBehavior(BehaviorOptions.builder()\n                .origin(new S3Origin(s3Bucket))\n                .functionAssociations(List.of(FunctionAssociation.builder()\n                        .function(cfFunction)\n                        .eventType(FunctionEventType.VIEWER_REQUEST)\n                        .build()))\n                .build())\n        .build();","version":"1"},"go":{"source":"var s3Bucket bucket\n// Add a cloudfront Function to a Distribution\ncfFunction := cloudfront.NewFunction(this, jsii.String(\"Function\"), &FunctionProps{\n\tCode: cloudfront.FunctionCode_FromInline(jsii.String(\"function handler(event) { return event.request }\")),\n})\ncloudfront.NewDistribution(this, jsii.String(\"distro\"), &DistributionProps{\n\tDefaultBehavior: &BehaviorOptions{\n\t\tOrigin: origins.NewS3Origin(s3Bucket),\n\t\tFunctionAssociations: []functionAssociation{\n\t\t\t&functionAssociation{\n\t\t\t\tFunction: cfFunction,\n\t\t\t\tEventType: cloudfront.FunctionEventType_VIEWER_REQUEST,\n\t\t\t},\n\t\t},\n\t},\n})","version":"1"},"$":{"source":"// Add a cloudfront Function to a Distribution\nconst cfFunction = new cloudfront.Function(this, 'Function', {\n  code: cloudfront.FunctionCode.fromInline('function handler(event) { return event.request }'),\n});\n\ndeclare const s3Bucket: s3.Bucket;\nnew cloudfront.Distribution(this, 'distro', {\n  defaultBehavior: {\n    origin: new origins.S3Origin(s3Bucket),\n    functionAssociations: [{\n      function: cfFunction,\n      eventType: cloudfront.FunctionEventType.VIEWER_REQUEST,\n    }],\n  },\n});","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.FunctionEventType"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront-origins.S3Origin","@aws-cdk/aws-cloudfront.BehaviorOptions","@aws-cdk/aws-cloudfront.Distribution","@aws-cdk/aws-cloudfront.DistributionProps","@aws-cdk/aws-cloudfront.Function","@aws-cdk/aws-cloudfront.FunctionCode","@aws-cdk/aws-cloudfront.FunctionCode#fromInline","@aws-cdk/aws-cloudfront.FunctionEventType","@aws-cdk/aws-cloudfront.FunctionEventType#VIEWER_REQUEST","@aws-cdk/aws-cloudfront.FunctionProps","@aws-cdk/aws-cloudfront.IFunction","@aws-cdk/aws-cloudfront.IOrigin","@aws-cdk/aws-s3.IBucket","constructs.Construct"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n\n\ndeclare const s3Bucket: s3.Bucket;\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from 'constructs';\nimport { Duration, Stack } from '@aws-cdk/core';\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nimport * as origins from '@aws-cdk/aws-cloudfront-origins';\nimport * as s3 from '@aws-cdk/aws-s3';\nimport * as ec2 from '@aws-cdk/aws-ec2';\nimport * as elbv2 from '@aws-cdk/aws-elasticloadbalancingv2';\nimport * as lambda from '@aws-cdk/aws-lambda';\nimport * as path from 'path';\n\nclass Context extends Stack {\n  constructor(scope: Construct, id: string) {\n    super(scope, id);\n\n    // Code snippet begins after !show marker below\n/// !show\n// Add a cloudfront Function to a Distribution\nconst cfFunction = new cloudfront.Function(this, 'Function', {\n  code: cloudfront.FunctionCode.fromInline('function handler(event) { return event.request }'),\n});\nnew cloudfront.Distribution(this, 'distro', {\n  defaultBehavior: {\n    origin: new origins.S3Origin(s3Bucket),\n    functionAssociations: [{\n      function: cfFunction,\n      eventType: cloudfront.FunctionEventType.VIEWER_REQUEST,\n    }],\n  },\n});\n/// !hide\n// Code snippet ended before !hide marker above\n  }\n}\n","syntaxKindCounter":{"10":3,"75":24,"104":2,"130":1,"153":1,"169":1,"192":1,"193":4,"194":7,"196":1,"197":3,"225":2,"226":1,"242":2,"243":2,"281":6,"290":1},"fqnsFingerprint":"eb23cdf87f7e3c03f6b84e9ed8bce59909e06e2a1c978943e56f1a80a18b4bd8"},"ba40ba9da4fd588814d6d58e6c0f46a95be6851022d708943e2205ad1e51de6d":{"translations":{"python":{"source":"# s3_bucket: s3.Bucket\n# Add a cloudfront Function to a Distribution\ncf_function = cloudfront.Function(self, \"Function\",\n    code=cloudfront.FunctionCode.from_inline(\"function handler(event) { return event.request }\")\n)\ncloudfront.Distribution(self, \"distro\",\n    default_behavior=cloudfront.BehaviorOptions(\n        origin=origins.S3Origin(s3_bucket),\n        function_associations=[cloudfront.FunctionAssociation(\n            function=cf_function,\n            event_type=cloudfront.FunctionEventType.VIEWER_REQUEST\n        )]\n    )\n)","version":"2"},"csharp":{"source":"Bucket s3Bucket;\n// Add a cloudfront Function to a Distribution\nvar cfFunction = new Function(this, \"Function\", new FunctionProps {\n    Code = FunctionCode.FromInline(\"function handler(event) { return event.request }\")\n});\nnew Distribution(this, \"distro\", new DistributionProps {\n    DefaultBehavior = new BehaviorOptions {\n        Origin = new S3Origin(s3Bucket),\n        FunctionAssociations = new [] { new FunctionAssociation {\n            Function = cfFunction,\n            EventType = FunctionEventType.VIEWER_REQUEST\n        } }\n    }\n});","version":"1"},"java":{"source":"Bucket s3Bucket;\n// Add a cloudfront Function to a Distribution\nFunction cfFunction = Function.Builder.create(this, \"Function\")\n        .code(FunctionCode.fromInline(\"function handler(event) { return event.request }\"))\n        .build();\nDistribution.Builder.create(this, \"distro\")\n        .defaultBehavior(BehaviorOptions.builder()\n                .origin(new S3Origin(s3Bucket))\n                .functionAssociations(List.of(FunctionAssociation.builder()\n                        .function(cfFunction)\n                        .eventType(FunctionEventType.VIEWER_REQUEST)\n                        .build()))\n                .build())\n        .build();","version":"1"},"go":{"source":"var s3Bucket bucket\n// Add a cloudfront Function to a Distribution\ncfFunction := cloudfront.NewFunction(this, jsii.String(\"Function\"), &FunctionProps{\n\tCode: cloudfront.FunctionCode_FromInline(jsii.String(\"function handler(event) { return event.request }\")),\n})\ncloudfront.NewDistribution(this, jsii.String(\"distro\"), &DistributionProps{\n\tDefaultBehavior: &BehaviorOptions{\n\t\tOrigin: origins.NewS3Origin(s3Bucket),\n\t\tFunctionAssociations: []functionAssociation{\n\t\t\t&functionAssociation{\n\t\t\t\tFunction: cfFunction,\n\t\t\t\tEventType: cloudfront.FunctionEventType_VIEWER_REQUEST,\n\t\t\t},\n\t\t},\n\t},\n})","version":"1"},"$":{"source":"// Add a cloudfront Function to a Distribution\nconst cfFunction = new cloudfront.Function(this, 'Function', {\n  code: cloudfront.FunctionCode.fromInline('function handler(event) { return event.request }'),\n});\n\ndeclare const s3Bucket: s3.Bucket;\nnew cloudfront.Distribution(this, 'distro', {\n  defaultBehavior: {\n    origin: new origins.S3Origin(s3Bucket),\n    functionAssociations: [{\n      function: cfFunction,\n      eventType: cloudfront.FunctionEventType.VIEWER_REQUEST,\n    }],\n  },\n});","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.FunctionProps"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront-origins.S3Origin","@aws-cdk/aws-cloudfront.BehaviorOptions","@aws-cdk/aws-cloudfront.Distribution","@aws-cdk/aws-cloudfront.DistributionProps","@aws-cdk/aws-cloudfront.Function","@aws-cdk/aws-cloudfront.FunctionCode","@aws-cdk/aws-cloudfront.FunctionCode#fromInline","@aws-cdk/aws-cloudfront.FunctionEventType","@aws-cdk/aws-cloudfront.FunctionEventType#VIEWER_REQUEST","@aws-cdk/aws-cloudfront.FunctionProps","@aws-cdk/aws-cloudfront.IFunction","@aws-cdk/aws-cloudfront.IOrigin","@aws-cdk/aws-s3.IBucket","constructs.Construct"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n\n\ndeclare const s3Bucket: s3.Bucket;\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from 'constructs';\nimport { Duration, Stack } from '@aws-cdk/core';\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nimport * as origins from '@aws-cdk/aws-cloudfront-origins';\nimport * as s3 from '@aws-cdk/aws-s3';\nimport * as ec2 from '@aws-cdk/aws-ec2';\nimport * as elbv2 from '@aws-cdk/aws-elasticloadbalancingv2';\nimport * as lambda from '@aws-cdk/aws-lambda';\nimport * as path from 'path';\n\nclass Context extends Stack {\n  constructor(scope: Construct, id: string) {\n    super(scope, id);\n\n    // Code snippet begins after !show marker below\n/// !show\n// Add a cloudfront Function to a Distribution\nconst cfFunction = new cloudfront.Function(this, 'Function', {\n  code: cloudfront.FunctionCode.fromInline('function handler(event) { return event.request }'),\n});\nnew cloudfront.Distribution(this, 'distro', {\n  defaultBehavior: {\n    origin: new origins.S3Origin(s3Bucket),\n    functionAssociations: [{\n      function: cfFunction,\n      eventType: cloudfront.FunctionEventType.VIEWER_REQUEST,\n    }],\n  },\n});\n/// !hide\n// Code snippet ended before !hide marker above\n  }\n}\n","syntaxKindCounter":{"10":3,"75":24,"104":2,"130":1,"153":1,"169":1,"192":1,"193":4,"194":7,"196":1,"197":3,"225":2,"226":1,"242":2,"243":2,"281":6,"290":1},"fqnsFingerprint":"eb23cdf87f7e3c03f6b84e9ed8bce59909e06e2a1c978943e56f1a80a18b4bd8"},"fb4f882eaf7ff9504a4503aa968c18b436a02833fdf8996b6c32d1ad502ac442":{"translations":{"python":{"source":"# Adding restrictions to a Cloudfront Web Distribution.\n# source_bucket: s3.Bucket\n\ncloudfront.CloudFrontWebDistribution(self, \"MyDistribution\",\n    origin_configs=[cloudfront.SourceConfiguration(\n        s3_origin_source=cloudfront.S3OriginConfig(\n            s3_bucket_source=source_bucket\n        ),\n        behaviors=[cloudfront.Behavior(is_default_behavior=True)]\n    )\n    ],\n    geo_restriction=cloudfront.GeoRestriction.allowlist(\"US\", \"GB\")\n)","version":"2"},"csharp":{"source":"// Adding restrictions to a Cloudfront Web Distribution.\nBucket sourceBucket;\n\nnew CloudFrontWebDistribution(this, \"MyDistribution\", new CloudFrontWebDistributionProps {\n    OriginConfigs = new [] { new SourceConfiguration {\n        S3OriginSource = new S3OriginConfig {\n            S3BucketSource = sourceBucket\n        },\n        Behaviors = new [] { new Behavior { IsDefaultBehavior = true } }\n    } },\n    GeoRestriction = GeoRestriction.Allowlist(\"US\", \"GB\")\n});","version":"1"},"java":{"source":"// Adding restrictions to a Cloudfront Web Distribution.\nBucket sourceBucket;\n\nCloudFrontWebDistribution.Builder.create(this, \"MyDistribution\")\n        .originConfigs(List.of(SourceConfiguration.builder()\n                .s3OriginSource(S3OriginConfig.builder()\n                        .s3BucketSource(sourceBucket)\n                        .build())\n                .behaviors(List.of(Behavior.builder().isDefaultBehavior(true).build()))\n                .build()))\n        .geoRestriction(GeoRestriction.allowlist(\"US\", \"GB\"))\n        .build();","version":"1"},"go":{"source":"// Adding restrictions to a Cloudfront Web Distribution.\nvar sourceBucket bucket\n\ncloudfront.NewCloudFrontWebDistribution(this, jsii.String(\"MyDistribution\"), &CloudFrontWebDistributionProps{\n\tOriginConfigs: []sourceConfiguration{\n\t\t&sourceConfiguration{\n\t\t\tS3OriginSource: &S3OriginConfig{\n\t\t\t\tS3BucketSource: sourceBucket,\n\t\t\t},\n\t\t\tBehaviors: []behavior{\n\t\t\t\t&behavior{\n\t\t\t\t\tIsDefaultBehavior: jsii.Boolean(true),\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n\tGeoRestriction: cloudfront.GeoRestriction_Allowlist(jsii.String(\"US\"), jsii.String(\"GB\")),\n})","version":"1"},"$":{"source":"// Adding restrictions to a Cloudfront Web Distribution.\ndeclare const sourceBucket: s3.Bucket;\nnew cloudfront.CloudFrontWebDistribution(this, 'MyDistribution', {\n  originConfigs: [\n    {\n      s3OriginSource: {\n        s3BucketSource: sourceBucket,\n      },\n      behaviors : [ {isDefaultBehavior: true}],\n    },\n  ],\n  geoRestriction: cloudfront.GeoRestriction.allowlist('US', 'GB'),\n});","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.GeoRestriction"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.CloudFrontWebDistribution","@aws-cdk/aws-cloudfront.CloudFrontWebDistributionProps","@aws-cdk/aws-cloudfront.GeoRestriction","@aws-cdk/aws-cloudfront.GeoRestriction#allowlist","@aws-cdk/aws-cloudfront.S3OriginConfig","@aws-cdk/aws-s3.IBucket","constructs.Construct"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// Adding restrictions to a Cloudfront Web Distribution.\ndeclare const sourceBucket: s3.Bucket;\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from 'constructs';\nimport { Duration, Stack } from '@aws-cdk/core';\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nimport * as origins from '@aws-cdk/aws-cloudfront-origins';\nimport * as s3 from '@aws-cdk/aws-s3';\nimport * as ec2 from '@aws-cdk/aws-ec2';\nimport * as elbv2 from '@aws-cdk/aws-elasticloadbalancingv2';\nimport * as lambda from '@aws-cdk/aws-lambda';\nimport * as path from 'path';\n\nclass Context extends Stack {\n  constructor(scope: Construct, id: string) {\n    super(scope, id);\n\n    // Code snippet begins after !show marker below\n/// !show\n\nnew cloudfront.CloudFrontWebDistribution(this, 'MyDistribution', {\n  originConfigs: [\n    {\n      s3OriginSource: {\n        s3BucketSource: sourceBucket,\n      },\n      behaviors : [ {isDefaultBehavior: true}],\n    },\n  ],\n  geoRestriction: cloudfront.GeoRestriction.allowlist('US', 'GB'),\n});\n/// !hide\n// Code snippet ended before !hide marker above\n  }\n}\n","syntaxKindCounter":{"10":3,"75":15,"104":1,"106":1,"130":1,"153":1,"169":1,"192":2,"193":4,"194":3,"196":1,"197":1,"225":1,"226":1,"242":1,"243":1,"281":6,"290":1},"fqnsFingerprint":"79eb242a60769e400095abf3210d66d01bb3d0c863504047525dc7288aca90b0"},"19d4f354fd0a11f82f6fbbf701fac6559eeb0c10fb3bbf532d0bcd7d3f6b9844":{"translations":{"python":{"source":"# Using an existing managed response headers policy\n# bucket_origin: origins.S3Origin\n\ncloudfront.Distribution(self, \"myDistManagedPolicy\",\n    default_behavior=cloudfront.BehaviorOptions(\n        origin=bucket_origin,\n        response_headers_policy=cloudfront.ResponseHeadersPolicy.CORS_ALLOW_ALL_ORIGINS\n    )\n)\n\n# Creating a custom response headers policy -- all parameters optional\nmy_response_headers_policy = cloudfront.ResponseHeadersPolicy(self, \"ResponseHeadersPolicy\",\n    response_headers_policy_name=\"MyPolicy\",\n    comment=\"A default policy\",\n    cors_behavior=cloudfront.ResponseHeadersCorsBehavior(\n        access_control_allow_credentials=False,\n        access_control_allow_headers=[\"X-Custom-Header-1\", \"X-Custom-Header-2\"],\n        access_control_allow_methods=[\"GET\", \"POST\"],\n        access_control_allow_origins=[\"*\"],\n        access_control_expose_headers=[\"X-Custom-Header-1\", \"X-Custom-Header-2\"],\n        access_control_max_age=Duration.seconds(600),\n        origin_override=True\n    ),\n    custom_headers_behavior=cloudfront.ResponseCustomHeadersBehavior(\n        custom_headers=[cloudfront.ResponseCustomHeader(header=\"X-Amz-Date\", value=\"some-value\", override=True), cloudfront.ResponseCustomHeader(header=\"X-Amz-Security-Token\", value=\"some-value\", override=False)\n        ]\n    ),\n    security_headers_behavior=cloudfront.ResponseSecurityHeadersBehavior(\n        content_security_policy=cloudfront.ResponseHeadersContentSecurityPolicy(content_security_policy=\"default-src https:;\", override=True),\n        content_type_options=cloudfront.ResponseHeadersContentTypeOptions(override=True),\n        frame_options=cloudfront.ResponseHeadersFrameOptions(frame_option=cloudfront.HeadersFrameOption.DENY, override=True),\n        referrer_policy=cloudfront.ResponseHeadersReferrerPolicy(referrer_policy=cloudfront.HeadersReferrerPolicy.NO_REFERRER, override=True),\n        strict_transport_security=cloudfront.ResponseHeadersStrictTransportSecurity(access_control_max_age=Duration.seconds(600), include_subdomains=True, override=True),\n        xss_protection=cloudfront.ResponseHeadersXSSProtection(protection=True, mode_block=True, report_uri=\"https://example.com/csp-report\", override=True)\n    )\n)\ncloudfront.Distribution(self, \"myDistCustomPolicy\",\n    default_behavior=cloudfront.BehaviorOptions(\n        origin=bucket_origin,\n        response_headers_policy=my_response_headers_policy\n    )\n)","version":"2"},"csharp":{"source":"// Using an existing managed response headers policy\nS3Origin bucketOrigin;\n\nnew Distribution(this, \"myDistManagedPolicy\", new DistributionProps {\n    DefaultBehavior = new BehaviorOptions {\n        Origin = bucketOrigin,\n        ResponseHeadersPolicy = ResponseHeadersPolicy.CORS_ALLOW_ALL_ORIGINS\n    }\n});\n\n// Creating a custom response headers policy -- all parameters optional\nvar myResponseHeadersPolicy = new ResponseHeadersPolicy(this, \"ResponseHeadersPolicy\", new ResponseHeadersPolicyProps {\n    ResponseHeadersPolicyName = \"MyPolicy\",\n    Comment = \"A default policy\",\n    CorsBehavior = new ResponseHeadersCorsBehavior {\n        AccessControlAllowCredentials = false,\n        AccessControlAllowHeaders = new [] { \"X-Custom-Header-1\", \"X-Custom-Header-2\" },\n        AccessControlAllowMethods = new [] { \"GET\", \"POST\" },\n        AccessControlAllowOrigins = new [] { \"*\" },\n        AccessControlExposeHeaders = new [] { \"X-Custom-Header-1\", \"X-Custom-Header-2\" },\n        AccessControlMaxAge = Duration.Seconds(600),\n        OriginOverride = true\n    },\n    CustomHeadersBehavior = new ResponseCustomHeadersBehavior {\n        CustomHeaders = new [] { new ResponseCustomHeader { Header = \"X-Amz-Date\", Value = \"some-value\", Override = true }, new ResponseCustomHeader { Header = \"X-Amz-Security-Token\", Value = \"some-value\", Override = false } }\n    },\n    SecurityHeadersBehavior = new ResponseSecurityHeadersBehavior {\n        ContentSecurityPolicy = new ResponseHeadersContentSecurityPolicy { ContentSecurityPolicy = \"default-src https:;\", Override = true },\n        ContentTypeOptions = new ResponseHeadersContentTypeOptions { Override = true },\n        FrameOptions = new ResponseHeadersFrameOptions { FrameOption = HeadersFrameOption.DENY, Override = true },\n        ReferrerPolicy = new ResponseHeadersReferrerPolicy { ReferrerPolicy = HeadersReferrerPolicy.NO_REFERRER, Override = true },\n        StrictTransportSecurity = new ResponseHeadersStrictTransportSecurity { AccessControlMaxAge = Duration.Seconds(600), IncludeSubdomains = true, Override = true },\n        XssProtection = new ResponseHeadersXSSProtection { Protection = true, ModeBlock = true, ReportUri = \"https://example.com/csp-report\", Override = true }\n    }\n});\nnew Distribution(this, \"myDistCustomPolicy\", new DistributionProps {\n    DefaultBehavior = new BehaviorOptions {\n        Origin = bucketOrigin,\n        ResponseHeadersPolicy = myResponseHeadersPolicy\n    }\n});","version":"1"},"java":{"source":"// Using an existing managed response headers policy\nS3Origin bucketOrigin;\n\nDistribution.Builder.create(this, \"myDistManagedPolicy\")\n        .defaultBehavior(BehaviorOptions.builder()\n                .origin(bucketOrigin)\n                .responseHeadersPolicy(ResponseHeadersPolicy.CORS_ALLOW_ALL_ORIGINS)\n                .build())\n        .build();\n\n// Creating a custom response headers policy -- all parameters optional\nResponseHeadersPolicy myResponseHeadersPolicy = ResponseHeadersPolicy.Builder.create(this, \"ResponseHeadersPolicy\")\n        .responseHeadersPolicyName(\"MyPolicy\")\n        .comment(\"A default policy\")\n        .corsBehavior(ResponseHeadersCorsBehavior.builder()\n                .accessControlAllowCredentials(false)\n                .accessControlAllowHeaders(List.of(\"X-Custom-Header-1\", \"X-Custom-Header-2\"))\n                .accessControlAllowMethods(List.of(\"GET\", \"POST\"))\n                .accessControlAllowOrigins(List.of(\"*\"))\n                .accessControlExposeHeaders(List.of(\"X-Custom-Header-1\", \"X-Custom-Header-2\"))\n                .accessControlMaxAge(Duration.seconds(600))\n                .originOverride(true)\n                .build())\n        .customHeadersBehavior(ResponseCustomHeadersBehavior.builder()\n                .customHeaders(List.of(ResponseCustomHeader.builder().header(\"X-Amz-Date\").value(\"some-value\").override(true).build(), ResponseCustomHeader.builder().header(\"X-Amz-Security-Token\").value(\"some-value\").override(false).build()))\n                .build())\n        .securityHeadersBehavior(ResponseSecurityHeadersBehavior.builder()\n                .contentSecurityPolicy(ResponseHeadersContentSecurityPolicy.builder().contentSecurityPolicy(\"default-src https:;\").override(true).build())\n                .contentTypeOptions(ResponseHeadersContentTypeOptions.builder().override(true).build())\n                .frameOptions(ResponseHeadersFrameOptions.builder().frameOption(HeadersFrameOption.DENY).override(true).build())\n                .referrerPolicy(ResponseHeadersReferrerPolicy.builder().referrerPolicy(HeadersReferrerPolicy.NO_REFERRER).override(true).build())\n                .strictTransportSecurity(ResponseHeadersStrictTransportSecurity.builder().accessControlMaxAge(Duration.seconds(600)).includeSubdomains(true).override(true).build())\n                .xssProtection(ResponseHeadersXSSProtection.builder().protection(true).modeBlock(true).reportUri(\"https://example.com/csp-report\").override(true).build())\n                .build())\n        .build();\nDistribution.Builder.create(this, \"myDistCustomPolicy\")\n        .defaultBehavior(BehaviorOptions.builder()\n                .origin(bucketOrigin)\n                .responseHeadersPolicy(myResponseHeadersPolicy)\n                .build())\n        .build();","version":"1"},"go":{"source":"// Using an existing managed response headers policy\nvar bucketOrigin s3Origin\n\ncloudfront.NewDistribution(this, jsii.String(\"myDistManagedPolicy\"), &DistributionProps{\n\tDefaultBehavior: &BehaviorOptions{\n\t\tOrigin: bucketOrigin,\n\t\tResponseHeadersPolicy: cloudfront.ResponseHeadersPolicy_CORS_ALLOW_ALL_ORIGINS(),\n\t},\n})\n\n// Creating a custom response headers policy -- all parameters optional\nmyResponseHeadersPolicy := cloudfront.NewResponseHeadersPolicy(this, jsii.String(\"ResponseHeadersPolicy\"), &ResponseHeadersPolicyProps{\n\tResponseHeadersPolicyName: jsii.String(\"MyPolicy\"),\n\tComment: jsii.String(\"A default policy\"),\n\tCorsBehavior: &ResponseHeadersCorsBehavior{\n\t\tAccessControlAllowCredentials: jsii.Boolean(false),\n\t\tAccessControlAllowHeaders: []*string{\n\t\t\tjsii.String(\"X-Custom-Header-1\"),\n\t\t\tjsii.String(\"X-Custom-Header-2\"),\n\t\t},\n\t\tAccessControlAllowMethods: []*string{\n\t\t\tjsii.String(\"GET\"),\n\t\t\tjsii.String(\"POST\"),\n\t\t},\n\t\tAccessControlAllowOrigins: []*string{\n\t\t\tjsii.String(\"*\"),\n\t\t},\n\t\tAccessControlExposeHeaders: []*string{\n\t\t\tjsii.String(\"X-Custom-Header-1\"),\n\t\t\tjsii.String(\"X-Custom-Header-2\"),\n\t\t},\n\t\tAccessControlMaxAge: awscdkcore.Duration_Seconds(jsii.Number(600)),\n\t\tOriginOverride: jsii.Boolean(true),\n\t},\n\tCustomHeadersBehavior: &ResponseCustomHeadersBehavior{\n\t\tCustomHeaders: []responseCustomHeader{\n\t\t\t&responseCustomHeader{\n\t\t\t\tHeader: jsii.String(\"X-Amz-Date\"),\n\t\t\t\tValue: jsii.String(\"some-value\"),\n\t\t\t\tOverride: jsii.Boolean(true),\n\t\t\t},\n\t\t\t&responseCustomHeader{\n\t\t\t\tHeader: jsii.String(\"X-Amz-Security-Token\"),\n\t\t\t\tValue: jsii.String(\"some-value\"),\n\t\t\t\tOverride: jsii.Boolean(false),\n\t\t\t},\n\t\t},\n\t},\n\tSecurityHeadersBehavior: &ResponseSecurityHeadersBehavior{\n\t\tContentSecurityPolicy: &ResponseHeadersContentSecurityPolicy{\n\t\t\tContentSecurityPolicy: jsii.String(\"default-src https:;\"),\n\t\t\tOverride: jsii.Boolean(true),\n\t\t},\n\t\tContentTypeOptions: &ResponseHeadersContentTypeOptions{\n\t\t\tOverride: jsii.Boolean(true),\n\t\t},\n\t\tFrameOptions: &ResponseHeadersFrameOptions{\n\t\t\tFrameOption: cloudfront.HeadersFrameOption_DENY,\n\t\t\tOverride: jsii.Boolean(true),\n\t\t},\n\t\tReferrerPolicy: &ResponseHeadersReferrerPolicy{\n\t\t\tReferrerPolicy: cloudfront.HeadersReferrerPolicy_NO_REFERRER,\n\t\t\tOverride: jsii.Boolean(true),\n\t\t},\n\t\tStrictTransportSecurity: &ResponseHeadersStrictTransportSecurity{\n\t\t\tAccessControlMaxAge: *awscdkcore.Duration_*Seconds(jsii.Number(600)),\n\t\t\tIncludeSubdomains: jsii.Boolean(true),\n\t\t\tOverride: jsii.Boolean(true),\n\t\t},\n\t\tXssProtection: &ResponseHeadersXSSProtection{\n\t\t\tProtection: jsii.Boolean(true),\n\t\t\tModeBlock: jsii.Boolean(true),\n\t\t\tReportUri: jsii.String(\"https://example.com/csp-report\"),\n\t\t\tOverride: jsii.Boolean(true),\n\t\t},\n\t},\n})\ncloudfront.NewDistribution(this, jsii.String(\"myDistCustomPolicy\"), &DistributionProps{\n\tDefaultBehavior: &BehaviorOptions{\n\t\tOrigin: bucketOrigin,\n\t\tResponseHeadersPolicy: myResponseHeadersPolicy,\n\t},\n})","version":"1"},"$":{"source":"// Using an existing managed response headers policy\ndeclare const bucketOrigin: origins.S3Origin;\nnew cloudfront.Distribution(this, 'myDistManagedPolicy', {\n  defaultBehavior: {\n    origin: bucketOrigin,\n    responseHeadersPolicy: cloudfront.ResponseHeadersPolicy.CORS_ALLOW_ALL_ORIGINS,\n  },\n});\n\n// Creating a custom response headers policy -- all parameters optional\nconst myResponseHeadersPolicy = new cloudfront.ResponseHeadersPolicy(this, 'ResponseHeadersPolicy', {\n  responseHeadersPolicyName: 'MyPolicy',\n  comment: 'A default policy',\n  corsBehavior: {\n    accessControlAllowCredentials: false,\n    accessControlAllowHeaders: ['X-Custom-Header-1', 'X-Custom-Header-2'],\n    accessControlAllowMethods: ['GET', 'POST'],\n    accessControlAllowOrigins: ['*'],\n    accessControlExposeHeaders: ['X-Custom-Header-1', 'X-Custom-Header-2'],\n    accessControlMaxAge: Duration.seconds(600),\n    originOverride: true,\n  },\n  customHeadersBehavior: {\n    customHeaders: [\n      { header: 'X-Amz-Date', value: 'some-value', override: true },\n      { header: 'X-Amz-Security-Token', value: 'some-value', override: false },\n    ],\n  },\n  securityHeadersBehavior: {\n    contentSecurityPolicy: { contentSecurityPolicy: 'default-src https:;', override: true },\n    contentTypeOptions: { override: true },\n    frameOptions: { frameOption: cloudfront.HeadersFrameOption.DENY, override: true },\n    referrerPolicy: { referrerPolicy: cloudfront.HeadersReferrerPolicy.NO_REFERRER, override: true },\n    strictTransportSecurity: { accessControlMaxAge: Duration.seconds(600), includeSubdomains: true, override: true },\n    xssProtection: { protection: true, modeBlock: true, reportUri: 'https://example.com/csp-report', override: true },\n  },\n});\nnew cloudfront.Distribution(this, 'myDistCustomPolicy', {\n  defaultBehavior: {\n    origin: bucketOrigin,\n    responseHeadersPolicy: myResponseHeadersPolicy,\n  },\n});","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.HeadersFrameOption"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.BehaviorOptions","@aws-cdk/aws-cloudfront.Distribution","@aws-cdk/aws-cloudfront.DistributionProps","@aws-cdk/aws-cloudfront.HeadersFrameOption","@aws-cdk/aws-cloudfront.HeadersFrameOption#DENY","@aws-cdk/aws-cloudfront.HeadersReferrerPolicy","@aws-cdk/aws-cloudfront.HeadersReferrerPolicy#NO_REFERRER","@aws-cdk/aws-cloudfront.IOrigin","@aws-cdk/aws-cloudfront.IResponseHeadersPolicy","@aws-cdk/aws-cloudfront.ResponseCustomHeadersBehavior","@aws-cdk/aws-cloudfront.ResponseHeadersContentSecurityPolicy","@aws-cdk/aws-cloudfront.ResponseHeadersContentTypeOptions","@aws-cdk/aws-cloudfront.ResponseHeadersCorsBehavior","@aws-cdk/aws-cloudfront.ResponseHeadersFrameOptions","@aws-cdk/aws-cloudfront.ResponseHeadersPolicy","@aws-cdk/aws-cloudfront.ResponseHeadersPolicy#CORS_ALLOW_ALL_ORIGINS","@aws-cdk/aws-cloudfront.ResponseHeadersPolicyProps","@aws-cdk/aws-cloudfront.ResponseHeadersReferrerPolicy","@aws-cdk/aws-cloudfront.ResponseHeadersStrictTransportSecurity","@aws-cdk/aws-cloudfront.ResponseHeadersXSSProtection","@aws-cdk/aws-cloudfront.ResponseSecurityHeadersBehavior","@aws-cdk/core.Duration","@aws-cdk/core.Duration#seconds","constructs.Construct"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// Using an existing managed response headers policy\ndeclare const bucketOrigin: origins.S3Origin;\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from 'constructs';\nimport { Duration, Stack } from '@aws-cdk/core';\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nimport * as origins from '@aws-cdk/aws-cloudfront-origins';\nimport * as s3 from '@aws-cdk/aws-s3';\nimport * as ec2 from '@aws-cdk/aws-ec2';\nimport * as elbv2 from '@aws-cdk/aws-elasticloadbalancingv2';\nimport * as lambda from '@aws-cdk/aws-lambda';\nimport * as path from 'path';\n\nclass Context extends Stack {\n  constructor(scope: Construct, id: string) {\n    super(scope, id);\n\n    // Code snippet begins after !show marker below\n/// !show\n\nnew cloudfront.Distribution(this, 'myDistManagedPolicy', {\n  defaultBehavior: {\n    origin: bucketOrigin,\n    responseHeadersPolicy: cloudfront.ResponseHeadersPolicy.CORS_ALLOW_ALL_ORIGINS,\n  },\n});\n\n// Creating a custom response headers policy -- all parameters optional\nconst myResponseHeadersPolicy = new cloudfront.ResponseHeadersPolicy(this, 'ResponseHeadersPolicy', {\n  responseHeadersPolicyName: 'MyPolicy',\n  comment: 'A default policy',\n  corsBehavior: {\n    accessControlAllowCredentials: false,\n    accessControlAllowHeaders: ['X-Custom-Header-1', 'X-Custom-Header-2'],\n    accessControlAllowMethods: ['GET', 'POST'],\n    accessControlAllowOrigins: ['*'],\n    accessControlExposeHeaders: ['X-Custom-Header-1', 'X-Custom-Header-2'],\n    accessControlMaxAge: Duration.seconds(600),\n    originOverride: true,\n  },\n  customHeadersBehavior: {\n    customHeaders: [\n      { header: 'X-Amz-Date', value: 'some-value', override: true },\n      { header: 'X-Amz-Security-Token', value: 'some-value', override: false },\n    ],\n  },\n  securityHeadersBehavior: {\n    contentSecurityPolicy: { contentSecurityPolicy: 'default-src https:;', override: true },\n    contentTypeOptions: { override: true },\n    frameOptions: { frameOption: cloudfront.HeadersFrameOption.DENY, override: true },\n    referrerPolicy: { referrerPolicy: cloudfront.HeadersReferrerPolicy.NO_REFERRER, override: true },\n    strictTransportSecurity: { accessControlMaxAge: Duration.seconds(600), includeSubdomains: true, override: true },\n    xssProtection: { protection: true, modeBlock: true, reportUri: 'https://example.com/csp-report', override: true },\n  },\n});\nnew cloudfront.Distribution(this, 'myDistCustomPolicy', {\n  defaultBehavior: {\n    origin: bucketOrigin,\n    responseHeadersPolicy: myResponseHeadersPolicy,\n  },\n});\n/// !hide\n// Code snippet ended before !hide marker above\n  }\n}\n","syntaxKindCounter":{"8":2,"10":18,"75":71,"91":2,"104":3,"106":11,"130":1,"153":1,"169":1,"192":5,"193":16,"194":11,"196":2,"197":3,"225":2,"226":2,"242":2,"243":2,"281":45,"290":1},"fqnsFingerprint":"de7c89c01af6e4d1c64703e7256d7328023b8aa2e9f1257ee5a6f6ff30b30710"},"eac6abeb7a79220c337704b794bf36e7610d7de35cfae5c51336349da30cff6f":{"translations":{"python":{"source":"# Using an existing managed response headers policy\n# bucket_origin: origins.S3Origin\n\ncloudfront.Distribution(self, \"myDistManagedPolicy\",\n    default_behavior=cloudfront.BehaviorOptions(\n        origin=bucket_origin,\n        response_headers_policy=cloudfront.ResponseHeadersPolicy.CORS_ALLOW_ALL_ORIGINS\n    )\n)\n\n# Creating a custom response headers policy -- all parameters optional\nmy_response_headers_policy = cloudfront.ResponseHeadersPolicy(self, \"ResponseHeadersPolicy\",\n    response_headers_policy_name=\"MyPolicy\",\n    comment=\"A default policy\",\n    cors_behavior=cloudfront.ResponseHeadersCorsBehavior(\n        access_control_allow_credentials=False,\n        access_control_allow_headers=[\"X-Custom-Header-1\", \"X-Custom-Header-2\"],\n        access_control_allow_methods=[\"GET\", \"POST\"],\n        access_control_allow_origins=[\"*\"],\n        access_control_expose_headers=[\"X-Custom-Header-1\", \"X-Custom-Header-2\"],\n        access_control_max_age=Duration.seconds(600),\n        origin_override=True\n    ),\n    custom_headers_behavior=cloudfront.ResponseCustomHeadersBehavior(\n        custom_headers=[cloudfront.ResponseCustomHeader(header=\"X-Amz-Date\", value=\"some-value\", override=True), cloudfront.ResponseCustomHeader(header=\"X-Amz-Security-Token\", value=\"some-value\", override=False)\n        ]\n    ),\n    security_headers_behavior=cloudfront.ResponseSecurityHeadersBehavior(\n        content_security_policy=cloudfront.ResponseHeadersContentSecurityPolicy(content_security_policy=\"default-src https:;\", override=True),\n        content_type_options=cloudfront.ResponseHeadersContentTypeOptions(override=True),\n        frame_options=cloudfront.ResponseHeadersFrameOptions(frame_option=cloudfront.HeadersFrameOption.DENY, override=True),\n        referrer_policy=cloudfront.ResponseHeadersReferrerPolicy(referrer_policy=cloudfront.HeadersReferrerPolicy.NO_REFERRER, override=True),\n        strict_transport_security=cloudfront.ResponseHeadersStrictTransportSecurity(access_control_max_age=Duration.seconds(600), include_subdomains=True, override=True),\n        xss_protection=cloudfront.ResponseHeadersXSSProtection(protection=True, mode_block=True, report_uri=\"https://example.com/csp-report\", override=True)\n    )\n)\ncloudfront.Distribution(self, \"myDistCustomPolicy\",\n    default_behavior=cloudfront.BehaviorOptions(\n        origin=bucket_origin,\n        response_headers_policy=my_response_headers_policy\n    )\n)","version":"2"},"csharp":{"source":"// Using an existing managed response headers policy\nS3Origin bucketOrigin;\n\nnew Distribution(this, \"myDistManagedPolicy\", new DistributionProps {\n    DefaultBehavior = new BehaviorOptions {\n        Origin = bucketOrigin,\n        ResponseHeadersPolicy = ResponseHeadersPolicy.CORS_ALLOW_ALL_ORIGINS\n    }\n});\n\n// Creating a custom response headers policy -- all parameters optional\nvar myResponseHeadersPolicy = new ResponseHeadersPolicy(this, \"ResponseHeadersPolicy\", new ResponseHeadersPolicyProps {\n    ResponseHeadersPolicyName = \"MyPolicy\",\n    Comment = \"A default policy\",\n    CorsBehavior = new ResponseHeadersCorsBehavior {\n        AccessControlAllowCredentials = false,\n        AccessControlAllowHeaders = new [] { \"X-Custom-Header-1\", \"X-Custom-Header-2\" },\n        AccessControlAllowMethods = new [] { \"GET\", \"POST\" },\n        AccessControlAllowOrigins = new [] { \"*\" },\n        AccessControlExposeHeaders = new [] { \"X-Custom-Header-1\", \"X-Custom-Header-2\" },\n        AccessControlMaxAge = Duration.Seconds(600),\n        OriginOverride = true\n    },\n    CustomHeadersBehavior = new ResponseCustomHeadersBehavior {\n        CustomHeaders = new [] { new ResponseCustomHeader { Header = \"X-Amz-Date\", Value = \"some-value\", Override = true }, new ResponseCustomHeader { Header = \"X-Amz-Security-Token\", Value = \"some-value\", Override = false } }\n    },\n    SecurityHeadersBehavior = new ResponseSecurityHeadersBehavior {\n        ContentSecurityPolicy = new ResponseHeadersContentSecurityPolicy { ContentSecurityPolicy = \"default-src https:;\", Override = true },\n        ContentTypeOptions = new ResponseHeadersContentTypeOptions { Override = true },\n        FrameOptions = new ResponseHeadersFrameOptions { FrameOption = HeadersFrameOption.DENY, Override = true },\n        ReferrerPolicy = new ResponseHeadersReferrerPolicy { ReferrerPolicy = HeadersReferrerPolicy.NO_REFERRER, Override = true },\n        StrictTransportSecurity = new ResponseHeadersStrictTransportSecurity { AccessControlMaxAge = Duration.Seconds(600), IncludeSubdomains = true, Override = true },\n        XssProtection = new ResponseHeadersXSSProtection { Protection = true, ModeBlock = true, ReportUri = \"https://example.com/csp-report\", Override = true }\n    }\n});\nnew Distribution(this, \"myDistCustomPolicy\", new DistributionProps {\n    DefaultBehavior = new BehaviorOptions {\n        Origin = bucketOrigin,\n        ResponseHeadersPolicy = myResponseHeadersPolicy\n    }\n});","version":"1"},"java":{"source":"// Using an existing managed response headers policy\nS3Origin bucketOrigin;\n\nDistribution.Builder.create(this, \"myDistManagedPolicy\")\n        .defaultBehavior(BehaviorOptions.builder()\n                .origin(bucketOrigin)\n                .responseHeadersPolicy(ResponseHeadersPolicy.CORS_ALLOW_ALL_ORIGINS)\n                .build())\n        .build();\n\n// Creating a custom response headers policy -- all parameters optional\nResponseHeadersPolicy myResponseHeadersPolicy = ResponseHeadersPolicy.Builder.create(this, \"ResponseHeadersPolicy\")\n        .responseHeadersPolicyName(\"MyPolicy\")\n        .comment(\"A default policy\")\n        .corsBehavior(ResponseHeadersCorsBehavior.builder()\n                .accessControlAllowCredentials(false)\n                .accessControlAllowHeaders(List.of(\"X-Custom-Header-1\", \"X-Custom-Header-2\"))\n                .accessControlAllowMethods(List.of(\"GET\", \"POST\"))\n                .accessControlAllowOrigins(List.of(\"*\"))\n                .accessControlExposeHeaders(List.of(\"X-Custom-Header-1\", \"X-Custom-Header-2\"))\n                .accessControlMaxAge(Duration.seconds(600))\n                .originOverride(true)\n                .build())\n        .customHeadersBehavior(ResponseCustomHeadersBehavior.builder()\n                .customHeaders(List.of(ResponseCustomHeader.builder().header(\"X-Amz-Date\").value(\"some-value\").override(true).build(), ResponseCustomHeader.builder().header(\"X-Amz-Security-Token\").value(\"some-value\").override(false).build()))\n                .build())\n        .securityHeadersBehavior(ResponseSecurityHeadersBehavior.builder()\n                .contentSecurityPolicy(ResponseHeadersContentSecurityPolicy.builder().contentSecurityPolicy(\"default-src https:;\").override(true).build())\n                .contentTypeOptions(ResponseHeadersContentTypeOptions.builder().override(true).build())\n                .frameOptions(ResponseHeadersFrameOptions.builder().frameOption(HeadersFrameOption.DENY).override(true).build())\n                .referrerPolicy(ResponseHeadersReferrerPolicy.builder().referrerPolicy(HeadersReferrerPolicy.NO_REFERRER).override(true).build())\n                .strictTransportSecurity(ResponseHeadersStrictTransportSecurity.builder().accessControlMaxAge(Duration.seconds(600)).includeSubdomains(true).override(true).build())\n                .xssProtection(ResponseHeadersXSSProtection.builder().protection(true).modeBlock(true).reportUri(\"https://example.com/csp-report\").override(true).build())\n                .build())\n        .build();\nDistribution.Builder.create(this, \"myDistCustomPolicy\")\n        .defaultBehavior(BehaviorOptions.builder()\n                .origin(bucketOrigin)\n                .responseHeadersPolicy(myResponseHeadersPolicy)\n                .build())\n        .build();","version":"1"},"go":{"source":"// Using an existing managed response headers policy\nvar bucketOrigin s3Origin\n\ncloudfront.NewDistribution(this, jsii.String(\"myDistManagedPolicy\"), &DistributionProps{\n\tDefaultBehavior: &BehaviorOptions{\n\t\tOrigin: bucketOrigin,\n\t\tResponseHeadersPolicy: cloudfront.ResponseHeadersPolicy_CORS_ALLOW_ALL_ORIGINS(),\n\t},\n})\n\n// Creating a custom response headers policy -- all parameters optional\nmyResponseHeadersPolicy := cloudfront.NewResponseHeadersPolicy(this, jsii.String(\"ResponseHeadersPolicy\"), &ResponseHeadersPolicyProps{\n\tResponseHeadersPolicyName: jsii.String(\"MyPolicy\"),\n\tComment: jsii.String(\"A default policy\"),\n\tCorsBehavior: &ResponseHeadersCorsBehavior{\n\t\tAccessControlAllowCredentials: jsii.Boolean(false),\n\t\tAccessControlAllowHeaders: []*string{\n\t\t\tjsii.String(\"X-Custom-Header-1\"),\n\t\t\tjsii.String(\"X-Custom-Header-2\"),\n\t\t},\n\t\tAccessControlAllowMethods: []*string{\n\t\t\tjsii.String(\"GET\"),\n\t\t\tjsii.String(\"POST\"),\n\t\t},\n\t\tAccessControlAllowOrigins: []*string{\n\t\t\tjsii.String(\"*\"),\n\t\t},\n\t\tAccessControlExposeHeaders: []*string{\n\t\t\tjsii.String(\"X-Custom-Header-1\"),\n\t\t\tjsii.String(\"X-Custom-Header-2\"),\n\t\t},\n\t\tAccessControlMaxAge: awscdkcore.Duration_Seconds(jsii.Number(600)),\n\t\tOriginOverride: jsii.Boolean(true),\n\t},\n\tCustomHeadersBehavior: &ResponseCustomHeadersBehavior{\n\t\tCustomHeaders: []responseCustomHeader{\n\t\t\t&responseCustomHeader{\n\t\t\t\tHeader: jsii.String(\"X-Amz-Date\"),\n\t\t\t\tValue: jsii.String(\"some-value\"),\n\t\t\t\tOverride: jsii.Boolean(true),\n\t\t\t},\n\t\t\t&responseCustomHeader{\n\t\t\t\tHeader: jsii.String(\"X-Amz-Security-Token\"),\n\t\t\t\tValue: jsii.String(\"some-value\"),\n\t\t\t\tOverride: jsii.Boolean(false),\n\t\t\t},\n\t\t},\n\t},\n\tSecurityHeadersBehavior: &ResponseSecurityHeadersBehavior{\n\t\tContentSecurityPolicy: &ResponseHeadersContentSecurityPolicy{\n\t\t\tContentSecurityPolicy: jsii.String(\"default-src https:;\"),\n\t\t\tOverride: jsii.Boolean(true),\n\t\t},\n\t\tContentTypeOptions: &ResponseHeadersContentTypeOptions{\n\t\t\tOverride: jsii.Boolean(true),\n\t\t},\n\t\tFrameOptions: &ResponseHeadersFrameOptions{\n\t\t\tFrameOption: cloudfront.HeadersFrameOption_DENY,\n\t\t\tOverride: jsii.Boolean(true),\n\t\t},\n\t\tReferrerPolicy: &ResponseHeadersReferrerPolicy{\n\t\t\tReferrerPolicy: cloudfront.HeadersReferrerPolicy_NO_REFERRER,\n\t\t\tOverride: jsii.Boolean(true),\n\t\t},\n\t\tStrictTransportSecurity: &ResponseHeadersStrictTransportSecurity{\n\t\t\tAccessControlMaxAge: *awscdkcore.Duration_*Seconds(jsii.Number(600)),\n\t\t\tIncludeSubdomains: jsii.Boolean(true),\n\t\t\tOverride: jsii.Boolean(true),\n\t\t},\n\t\tXssProtection: &ResponseHeadersXSSProtection{\n\t\t\tProtection: jsii.Boolean(true),\n\t\t\tModeBlock: jsii.Boolean(true),\n\t\t\tReportUri: jsii.String(\"https://example.com/csp-report\"),\n\t\t\tOverride: jsii.Boolean(true),\n\t\t},\n\t},\n})\ncloudfront.NewDistribution(this, jsii.String(\"myDistCustomPolicy\"), &DistributionProps{\n\tDefaultBehavior: &BehaviorOptions{\n\t\tOrigin: bucketOrigin,\n\t\tResponseHeadersPolicy: myResponseHeadersPolicy,\n\t},\n})","version":"1"},"$":{"source":"// Using an existing managed response headers policy\ndeclare const bucketOrigin: origins.S3Origin;\nnew cloudfront.Distribution(this, 'myDistManagedPolicy', {\n  defaultBehavior: {\n    origin: bucketOrigin,\n    responseHeadersPolicy: cloudfront.ResponseHeadersPolicy.CORS_ALLOW_ALL_ORIGINS,\n  },\n});\n\n// Creating a custom response headers policy -- all parameters optional\nconst myResponseHeadersPolicy = new cloudfront.ResponseHeadersPolicy(this, 'ResponseHeadersPolicy', {\n  responseHeadersPolicyName: 'MyPolicy',\n  comment: 'A default policy',\n  corsBehavior: {\n    accessControlAllowCredentials: false,\n    accessControlAllowHeaders: ['X-Custom-Header-1', 'X-Custom-Header-2'],\n    accessControlAllowMethods: ['GET', 'POST'],\n    accessControlAllowOrigins: ['*'],\n    accessControlExposeHeaders: ['X-Custom-Header-1', 'X-Custom-Header-2'],\n    accessControlMaxAge: Duration.seconds(600),\n    originOverride: true,\n  },\n  customHeadersBehavior: {\n    customHeaders: [\n      { header: 'X-Amz-Date', value: 'some-value', override: true },\n      { header: 'X-Amz-Security-Token', value: 'some-value', override: false },\n    ],\n  },\n  securityHeadersBehavior: {\n    contentSecurityPolicy: { contentSecurityPolicy: 'default-src https:;', override: true },\n    contentTypeOptions: { override: true },\n    frameOptions: { frameOption: cloudfront.HeadersFrameOption.DENY, override: true },\n    referrerPolicy: { referrerPolicy: cloudfront.HeadersReferrerPolicy.NO_REFERRER, override: true },\n    strictTransportSecurity: { accessControlMaxAge: Duration.seconds(600), includeSubdomains: true, override: true },\n    xssProtection: { protection: true, modeBlock: true, reportUri: 'https://example.com/csp-report', override: true },\n  },\n});\nnew cloudfront.Distribution(this, 'myDistCustomPolicy', {\n  defaultBehavior: {\n    origin: bucketOrigin,\n    responseHeadersPolicy: myResponseHeadersPolicy,\n  },\n});","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.HeadersReferrerPolicy"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.BehaviorOptions","@aws-cdk/aws-cloudfront.Distribution","@aws-cdk/aws-cloudfront.DistributionProps","@aws-cdk/aws-cloudfront.HeadersFrameOption","@aws-cdk/aws-cloudfront.HeadersFrameOption#DENY","@aws-cdk/aws-cloudfront.HeadersReferrerPolicy","@aws-cdk/aws-cloudfront.HeadersReferrerPolicy#NO_REFERRER","@aws-cdk/aws-cloudfront.IOrigin","@aws-cdk/aws-cloudfront.IResponseHeadersPolicy","@aws-cdk/aws-cloudfront.ResponseCustomHeadersBehavior","@aws-cdk/aws-cloudfront.ResponseHeadersContentSecurityPolicy","@aws-cdk/aws-cloudfront.ResponseHeadersContentTypeOptions","@aws-cdk/aws-cloudfront.ResponseHeadersCorsBehavior","@aws-cdk/aws-cloudfront.ResponseHeadersFrameOptions","@aws-cdk/aws-cloudfront.ResponseHeadersPolicy","@aws-cdk/aws-cloudfront.ResponseHeadersPolicy#CORS_ALLOW_ALL_ORIGINS","@aws-cdk/aws-cloudfront.ResponseHeadersPolicyProps","@aws-cdk/aws-cloudfront.ResponseHeadersReferrerPolicy","@aws-cdk/aws-cloudfront.ResponseHeadersStrictTransportSecurity","@aws-cdk/aws-cloudfront.ResponseHeadersXSSProtection","@aws-cdk/aws-cloudfront.ResponseSecurityHeadersBehavior","@aws-cdk/core.Duration","@aws-cdk/core.Duration#seconds","constructs.Construct"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// Using an existing managed response headers policy\ndeclare const bucketOrigin: origins.S3Origin;\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from 'constructs';\nimport { Duration, Stack } from '@aws-cdk/core';\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nimport * as origins from '@aws-cdk/aws-cloudfront-origins';\nimport * as s3 from '@aws-cdk/aws-s3';\nimport * as ec2 from '@aws-cdk/aws-ec2';\nimport * as elbv2 from '@aws-cdk/aws-elasticloadbalancingv2';\nimport * as lambda from '@aws-cdk/aws-lambda';\nimport * as path from 'path';\n\nclass Context extends Stack {\n  constructor(scope: Construct, id: string) {\n    super(scope, id);\n\n    // Code snippet begins after !show marker below\n/// !show\n\nnew cloudfront.Distribution(this, 'myDistManagedPolicy', {\n  defaultBehavior: {\n    origin: bucketOrigin,\n    responseHeadersPolicy: cloudfront.ResponseHeadersPolicy.CORS_ALLOW_ALL_ORIGINS,\n  },\n});\n\n// Creating a custom response headers policy -- all parameters optional\nconst myResponseHeadersPolicy = new cloudfront.ResponseHeadersPolicy(this, 'ResponseHeadersPolicy', {\n  responseHeadersPolicyName: 'MyPolicy',\n  comment: 'A default policy',\n  corsBehavior: {\n    accessControlAllowCredentials: false,\n    accessControlAllowHeaders: ['X-Custom-Header-1', 'X-Custom-Header-2'],\n    accessControlAllowMethods: ['GET', 'POST'],\n    accessControlAllowOrigins: ['*'],\n    accessControlExposeHeaders: ['X-Custom-Header-1', 'X-Custom-Header-2'],\n    accessControlMaxAge: Duration.seconds(600),\n    originOverride: true,\n  },\n  customHeadersBehavior: {\n    customHeaders: [\n      { header: 'X-Amz-Date', value: 'some-value', override: true },\n      { header: 'X-Amz-Security-Token', value: 'some-value', override: false },\n    ],\n  },\n  securityHeadersBehavior: {\n    contentSecurityPolicy: { contentSecurityPolicy: 'default-src https:;', override: true },\n    contentTypeOptions: { override: true },\n    frameOptions: { frameOption: cloudfront.HeadersFrameOption.DENY, override: true },\n    referrerPolicy: { referrerPolicy: cloudfront.HeadersReferrerPolicy.NO_REFERRER, override: true },\n    strictTransportSecurity: { accessControlMaxAge: Duration.seconds(600), includeSubdomains: true, override: true },\n    xssProtection: { protection: true, modeBlock: true, reportUri: 'https://example.com/csp-report', override: true },\n  },\n});\nnew cloudfront.Distribution(this, 'myDistCustomPolicy', {\n  defaultBehavior: {\n    origin: bucketOrigin,\n    responseHeadersPolicy: myResponseHeadersPolicy,\n  },\n});\n/// !hide\n// Code snippet ended before !hide marker above\n  }\n}\n","syntaxKindCounter":{"8":2,"10":18,"75":71,"91":2,"104":3,"106":11,"130":1,"153":1,"169":1,"192":5,"193":16,"194":11,"196":2,"197":3,"225":2,"226":2,"242":2,"243":2,"281":45,"290":1},"fqnsFingerprint":"de7c89c01af6e4d1c64703e7256d7328023b8aa2e9f1257ee5a6f6ff30b30710"},"25d456c69e26e97ee78054206a9d9dfe87120b3892b848156d8de6e9bb516f50":{"translations":{"python":{"source":"# Validating signed URLs or signed cookies with Trusted Key Groups\n\n# public key in PEM format\n# public_key: str\n\npub_key = cloudfront.PublicKey(self, \"MyPubKey\",\n    encoded_key=public_key\n)\n\nkey_group = cloudfront.KeyGroup(self, \"MyKeyGroup\",\n    items=[pub_key\n    ]\n)\n\ncloudfront.Distribution(self, \"Dist\",\n    default_behavior=cloudfront.BehaviorOptions(\n        origin=origins.HttpOrigin(\"www.example.com\"),\n        trusted_key_groups=[key_group\n        ]\n    )\n)","version":"2"},"csharp":{"source":"// Validating signed URLs or signed cookies with Trusted Key Groups\n\n// public key in PEM format\nstring publicKey;\n\nvar pubKey = new PublicKey(this, \"MyPubKey\", new PublicKeyProps {\n    EncodedKey = publicKey\n});\n\nvar keyGroup = new KeyGroup(this, \"MyKeyGroup\", new KeyGroupProps {\n    Items = new [] { pubKey }\n});\n\nnew Distribution(this, \"Dist\", new DistributionProps {\n    DefaultBehavior = new BehaviorOptions {\n        Origin = new HttpOrigin(\"www.example.com\"),\n        TrustedKeyGroups = new [] { keyGroup }\n    }\n});","version":"1"},"java":{"source":"// Validating signed URLs or signed cookies with Trusted Key Groups\n\n// public key in PEM format\nString publicKey;\n\nPublicKey pubKey = PublicKey.Builder.create(this, \"MyPubKey\")\n        .encodedKey(publicKey)\n        .build();\n\nKeyGroup keyGroup = KeyGroup.Builder.create(this, \"MyKeyGroup\")\n        .items(List.of(pubKey))\n        .build();\n\nDistribution.Builder.create(this, \"Dist\")\n        .defaultBehavior(BehaviorOptions.builder()\n                .origin(new HttpOrigin(\"www.example.com\"))\n                .trustedKeyGroups(List.of(keyGroup))\n                .build())\n        .build();","version":"1"},"go":{"source":"// Validating signed URLs or signed cookies with Trusted Key Groups\n\n// public key in PEM format\nvar publicKey string\n\npubKey := cloudfront.NewPublicKey(this, jsii.String(\"MyPubKey\"), &PublicKeyProps{\n\tEncodedKey: publicKey,\n})\n\nkeyGroup := cloudfront.NewKeyGroup(this, jsii.String(\"MyKeyGroup\"), &KeyGroupProps{\n\tItems: []iPublicKey{\n\t\tpubKey,\n\t},\n})\n\ncloudfront.NewDistribution(this, jsii.String(\"Dist\"), &DistributionProps{\n\tDefaultBehavior: &BehaviorOptions{\n\t\tOrigin: origins.NewHttpOrigin(jsii.String(\"www.example.com\")),\n\t\tTrustedKeyGroups: []iKeyGroup{\n\t\t\tkeyGroup,\n\t\t},\n\t},\n})","version":"1"},"$":{"source":"// Validating signed URLs or signed cookies with Trusted Key Groups\n\n// public key in PEM format\ndeclare const publicKey: string;\nconst pubKey = new cloudfront.PublicKey(this, 'MyPubKey', {\n  encodedKey: publicKey,\n});\n\nconst keyGroup = new cloudfront.KeyGroup(this, 'MyKeyGroup', {\n  items: [\n    pubKey,\n  ],\n});\n\nnew cloudfront.Distribution(this, 'Dist', {\n  defaultBehavior: {\n    origin: new origins.HttpOrigin('www.example.com'),\n    trustedKeyGroups: [\n      keyGroup,\n    ],\n  },\n});","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.KeyGroup"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront-origins.HttpOrigin","@aws-cdk/aws-cloudfront.BehaviorOptions","@aws-cdk/aws-cloudfront.Distribution","@aws-cdk/aws-cloudfront.DistributionProps","@aws-cdk/aws-cloudfront.IOrigin","@aws-cdk/aws-cloudfront.KeyGroup","@aws-cdk/aws-cloudfront.KeyGroupProps","@aws-cdk/aws-cloudfront.PublicKey","@aws-cdk/aws-cloudfront.PublicKeyProps","constructs.Construct"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// Validating signed URLs or signed cookies with Trusted Key Groups\n\n// public key in PEM format\ndeclare const publicKey: string;\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from 'constructs';\nimport { Duration, Stack } from '@aws-cdk/core';\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nimport * as origins from '@aws-cdk/aws-cloudfront-origins';\nimport * as s3 from '@aws-cdk/aws-s3';\nimport * as ec2 from '@aws-cdk/aws-ec2';\nimport * as elbv2 from '@aws-cdk/aws-elasticloadbalancingv2';\nimport * as lambda from '@aws-cdk/aws-lambda';\nimport * as path from 'path';\n\nclass Context extends Stack {\n  constructor(scope: Construct, id: string) {\n    super(scope, id);\n\n    // Code snippet begins after !show marker below\n/// !show\n\nconst pubKey = new cloudfront.PublicKey(this, 'MyPubKey', {\n  encodedKey: publicKey,\n});\n\nconst keyGroup = new cloudfront.KeyGroup(this, 'MyKeyGroup', {\n  items: [\n    pubKey,\n  ],\n});\n\nnew cloudfront.Distribution(this, 'Dist', {\n  defaultBehavior: {\n    origin: new origins.HttpOrigin('www.example.com'),\n    trustedKeyGroups: [\n      keyGroup,\n    ],\n  },\n});\n/// !hide\n// Code snippet ended before !hide marker above\n  }\n}\n","syntaxKindCounter":{"10":4,"75":19,"104":3,"130":1,"143":1,"192":2,"193":4,"194":4,"197":4,"225":3,"226":1,"242":3,"243":3,"281":5,"290":1},"fqnsFingerprint":"3ad307a97cef2618550323674a3aca38ac179d755c6f984025a53a1d879abe6a"},"16b264cc8d5601e3670fd13317e5ac3369850f2653ee7045fc099bf436a652fb":{"translations":{"python":{"source":"# Validating signed URLs or signed cookies with Trusted Key Groups\n\n# public key in PEM format\n# public_key: str\n\npub_key = cloudfront.PublicKey(self, \"MyPubKey\",\n    encoded_key=public_key\n)\n\nkey_group = cloudfront.KeyGroup(self, \"MyKeyGroup\",\n    items=[pub_key\n    ]\n)\n\ncloudfront.Distribution(self, \"Dist\",\n    default_behavior=cloudfront.BehaviorOptions(\n        origin=origins.HttpOrigin(\"www.example.com\"),\n        trusted_key_groups=[key_group\n        ]\n    )\n)","version":"2"},"csharp":{"source":"// Validating signed URLs or signed cookies with Trusted Key Groups\n\n// public key in PEM format\nstring publicKey;\n\nvar pubKey = new PublicKey(this, \"MyPubKey\", new PublicKeyProps {\n    EncodedKey = publicKey\n});\n\nvar keyGroup = new KeyGroup(this, \"MyKeyGroup\", new KeyGroupProps {\n    Items = new [] { pubKey }\n});\n\nnew Distribution(this, \"Dist\", new DistributionProps {\n    DefaultBehavior = new BehaviorOptions {\n        Origin = new HttpOrigin(\"www.example.com\"),\n        TrustedKeyGroups = new [] { keyGroup }\n    }\n});","version":"1"},"java":{"source":"// Validating signed URLs or signed cookies with Trusted Key Groups\n\n// public key in PEM format\nString publicKey;\n\nPublicKey pubKey = PublicKey.Builder.create(this, \"MyPubKey\")\n        .encodedKey(publicKey)\n        .build();\n\nKeyGroup keyGroup = KeyGroup.Builder.create(this, \"MyKeyGroup\")\n        .items(List.of(pubKey))\n        .build();\n\nDistribution.Builder.create(this, \"Dist\")\n        .defaultBehavior(BehaviorOptions.builder()\n                .origin(new HttpOrigin(\"www.example.com\"))\n                .trustedKeyGroups(List.of(keyGroup))\n                .build())\n        .build();","version":"1"},"go":{"source":"// Validating signed URLs or signed cookies with Trusted Key Groups\n\n// public key in PEM format\nvar publicKey string\n\npubKey := cloudfront.NewPublicKey(this, jsii.String(\"MyPubKey\"), &PublicKeyProps{\n\tEncodedKey: publicKey,\n})\n\nkeyGroup := cloudfront.NewKeyGroup(this, jsii.String(\"MyKeyGroup\"), &KeyGroupProps{\n\tItems: []iPublicKey{\n\t\tpubKey,\n\t},\n})\n\ncloudfront.NewDistribution(this, jsii.String(\"Dist\"), &DistributionProps{\n\tDefaultBehavior: &BehaviorOptions{\n\t\tOrigin: origins.NewHttpOrigin(jsii.String(\"www.example.com\")),\n\t\tTrustedKeyGroups: []iKeyGroup{\n\t\t\tkeyGroup,\n\t\t},\n\t},\n})","version":"1"},"$":{"source":"// Validating signed URLs or signed cookies with Trusted Key Groups\n\n// public key in PEM format\ndeclare const publicKey: string;\nconst pubKey = new cloudfront.PublicKey(this, 'MyPubKey', {\n  encodedKey: publicKey,\n});\n\nconst keyGroup = new cloudfront.KeyGroup(this, 'MyKeyGroup', {\n  items: [\n    pubKey,\n  ],\n});\n\nnew cloudfront.Distribution(this, 'Dist', {\n  defaultBehavior: {\n    origin: new origins.HttpOrigin('www.example.com'),\n    trustedKeyGroups: [\n      keyGroup,\n    ],\n  },\n});","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.KeyGroupProps"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront-origins.HttpOrigin","@aws-cdk/aws-cloudfront.BehaviorOptions","@aws-cdk/aws-cloudfront.Distribution","@aws-cdk/aws-cloudfront.DistributionProps","@aws-cdk/aws-cloudfront.IOrigin","@aws-cdk/aws-cloudfront.KeyGroup","@aws-cdk/aws-cloudfront.KeyGroupProps","@aws-cdk/aws-cloudfront.PublicKey","@aws-cdk/aws-cloudfront.PublicKeyProps","constructs.Construct"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// Validating signed URLs or signed cookies with Trusted Key Groups\n\n// public key in PEM format\ndeclare const publicKey: string;\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from 'constructs';\nimport { Duration, Stack } from '@aws-cdk/core';\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nimport * as origins from '@aws-cdk/aws-cloudfront-origins';\nimport * as s3 from '@aws-cdk/aws-s3';\nimport * as ec2 from '@aws-cdk/aws-ec2';\nimport * as elbv2 from '@aws-cdk/aws-elasticloadbalancingv2';\nimport * as lambda from '@aws-cdk/aws-lambda';\nimport * as path from 'path';\n\nclass Context extends Stack {\n  constructor(scope: Construct, id: string) {\n    super(scope, id);\n\n    // Code snippet begins after !show marker below\n/// !show\n\nconst pubKey = new cloudfront.PublicKey(this, 'MyPubKey', {\n  encodedKey: publicKey,\n});\n\nconst keyGroup = new cloudfront.KeyGroup(this, 'MyKeyGroup', {\n  items: [\n    pubKey,\n  ],\n});\n\nnew cloudfront.Distribution(this, 'Dist', {\n  defaultBehavior: {\n    origin: new origins.HttpOrigin('www.example.com'),\n    trustedKeyGroups: [\n      keyGroup,\n    ],\n  },\n});\n/// !hide\n// Code snippet ended before !hide marker above\n  }\n}\n","syntaxKindCounter":{"10":4,"75":19,"104":3,"130":1,"143":1,"192":2,"193":4,"194":4,"197":4,"225":3,"226":1,"242":3,"243":3,"281":5,"290":1},"fqnsFingerprint":"3ad307a97cef2618550323674a3aca38ac179d755c6f984025a53a1d879abe6a"},"70494e97d22c317553731233277d78ce30308d56d7830099ee48304e1187c5f9":{"translations":{"python":{"source":"# my_bucket: s3.Bucket\n# A Lambda@Edge function added to default behavior of a Distribution\n# and triggered on every request\nmy_func = cloudfront.experimental.EdgeFunction(self, \"MyFunction\",\n    runtime=lambda_.Runtime.NODEJS_14_X,\n    handler=\"index.handler\",\n    code=lambda_.Code.from_asset(path.join(__dirname, \"lambda-handler\"))\n)\ncloudfront.Distribution(self, \"myDist\",\n    default_behavior=cloudfront.BehaviorOptions(\n        origin=origins.S3Origin(my_bucket),\n        edge_lambdas=[cloudfront.EdgeLambda(\n            function_version=my_func.current_version,\n            event_type=cloudfront.LambdaEdgeEventType.VIEWER_REQUEST\n        )\n        ]\n    )\n)","version":"2"},"csharp":{"source":"Bucket myBucket;\n// A Lambda@Edge function added to default behavior of a Distribution\n// and triggered on every request\nvar myFunc = new Experimental.EdgeFunction(this, \"MyFunction\", new EdgeFunctionProps {\n    Runtime = Runtime.NODEJS_14_X,\n    Handler = \"index.handler\",\n    Code = Code.FromAsset(Join(__dirname, \"lambda-handler\"))\n});\nnew Distribution(this, \"myDist\", new DistributionProps {\n    DefaultBehavior = new BehaviorOptions {\n        Origin = new S3Origin(myBucket),\n        EdgeLambdas = new [] { new EdgeLambda {\n            FunctionVersion = myFunc.CurrentVersion,\n            EventType = LambdaEdgeEventType.VIEWER_REQUEST\n        } }\n    }\n});","version":"1"},"java":{"source":"Bucket myBucket;\n// A Lambda@Edge function added to default behavior of a Distribution\n// and triggered on every request\nEdgeFunction myFunc = EdgeFunction.Builder.create(this, \"MyFunction\")\n        .runtime(Runtime.NODEJS_14_X)\n        .handler(\"index.handler\")\n        .code(Code.fromAsset(join(__dirname, \"lambda-handler\")))\n        .build();\nDistribution.Builder.create(this, \"myDist\")\n        .defaultBehavior(BehaviorOptions.builder()\n                .origin(new S3Origin(myBucket))\n                .edgeLambdas(List.of(EdgeLambda.builder()\n                        .functionVersion(myFunc.getCurrentVersion())\n                        .eventType(LambdaEdgeEventType.VIEWER_REQUEST)\n                        .build()))\n                .build())\n        .build();","version":"1"},"go":{"source":"var myBucket bucket\n// A Lambda@Edge function added to default behavior of a Distribution\n// and triggered on every request\nmyFunc := experimental.NewEdgeFunction(this, jsii.String(\"MyFunction\"), &EdgeFunctionProps{\n\tRuntime: lambda.Runtime_NODEJS_14_X(),\n\tHandler: jsii.String(\"index.handler\"),\n\tCode: lambda.Code_FromAsset(path.join(__dirname, jsii.String(\"lambda-handler\"))),\n})\ncloudfront.NewDistribution(this, jsii.String(\"myDist\"), &DistributionProps{\n\tDefaultBehavior: &BehaviorOptions{\n\t\tOrigin: origins.NewS3Origin(myBucket),\n\t\tEdgeLambdas: []edgeLambda{\n\t\t\t&edgeLambda{\n\t\t\t\tFunctionVersion: myFunc.currentVersion,\n\t\t\t\tEventType: cloudfront.LambdaEdgeEventType_VIEWER_REQUEST,\n\t\t\t},\n\t\t},\n\t},\n})","version":"1"},"$":{"source":"// A Lambda@Edge function added to default behavior of a Distribution\n// and triggered on every request\nconst myFunc = new cloudfront.experimental.EdgeFunction(this, 'MyFunction', {\n  runtime: lambda.Runtime.NODEJS_14_X,\n  handler: 'index.handler',\n  code: lambda.Code.fromAsset(path.join(__dirname, 'lambda-handler')),\n});\n\ndeclare const myBucket: s3.Bucket;\nnew cloudfront.Distribution(this, 'myDist', {\n  defaultBehavior: {\n    origin: new origins.S3Origin(myBucket),\n    edgeLambdas: [\n      {\n        functionVersion: myFunc.currentVersion,\n        eventType: cloudfront.LambdaEdgeEventType.VIEWER_REQUEST,\n      }\n    ],\n  },\n});","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.LambdaEdgeEventType"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront-origins.S3Origin","@aws-cdk/aws-cloudfront.BehaviorOptions","@aws-cdk/aws-cloudfront.Distribution","@aws-cdk/aws-cloudfront.DistributionProps","@aws-cdk/aws-cloudfront.IOrigin","@aws-cdk/aws-cloudfront.LambdaEdgeEventType","@aws-cdk/aws-cloudfront.LambdaEdgeEventType#VIEWER_REQUEST","@aws-cdk/aws-cloudfront.experimental","@aws-cdk/aws-cloudfront.experimental.EdgeFunction","@aws-cdk/aws-cloudfront.experimental.EdgeFunctionProps","@aws-cdk/aws-lambda.Code","@aws-cdk/aws-lambda.Code#fromAsset","@aws-cdk/aws-lambda.IVersion","@aws-cdk/aws-lambda.Runtime","@aws-cdk/aws-lambda.Runtime#NODEJS_14_X","@aws-cdk/aws-s3.IBucket","constructs.Construct"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n\n\ndeclare const myBucket: s3.Bucket;\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from 'constructs';\nimport { Duration, Stack } from '@aws-cdk/core';\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nimport * as origins from '@aws-cdk/aws-cloudfront-origins';\nimport * as s3 from '@aws-cdk/aws-s3';\nimport * as ec2 from '@aws-cdk/aws-ec2';\nimport * as elbv2 from '@aws-cdk/aws-elasticloadbalancingv2';\nimport * as lambda from '@aws-cdk/aws-lambda';\nimport * as path from 'path';\n\nclass Context extends Stack {\n  constructor(scope: Construct, id: string) {\n    super(scope, id);\n\n    // Code snippet begins after !show marker below\n/// !show\n// A Lambda@Edge function added to default behavior of a Distribution\n// and triggered on every request\nconst myFunc = new cloudfront.experimental.EdgeFunction(this, 'MyFunction', {\n  runtime: lambda.Runtime.NODEJS_14_X,\n  handler: 'index.handler',\n  code: lambda.Code.fromAsset(path.join(__dirname, 'lambda-handler')),\n});\nnew cloudfront.Distribution(this, 'myDist', {\n  defaultBehavior: {\n    origin: new origins.S3Origin(myBucket),\n    edgeLambdas: [\n      {\n        functionVersion: myFunc.currentVersion,\n        eventType: cloudfront.LambdaEdgeEventType.VIEWER_REQUEST,\n      }\n    ],\n  },\n});\n/// !hide\n// Code snippet ended before !hide marker above\n  }\n}\n","syntaxKindCounter":{"10":4,"75":34,"104":2,"130":1,"153":1,"169":1,"192":1,"193":4,"194":12,"196":2,"197":3,"225":2,"226":1,"242":2,"243":2,"281":8,"290":1},"fqnsFingerprint":"02b892326549a952196fa477919f4801bcdca3d61c99b33c78df9a86e00a9d31"},"8ec9654514c6fe77c59442d653b72c27752d3b307bdbfca57e09e9c4e1c87547":{"translations":{"python":{"source":"# The code below shows an example of how to instantiate this type.\n# The values are placeholders you should change.\nimport aws_cdk.aws_cloudfront as cloudfront\nimport aws_cdk.aws_lambda as lambda_\n\n# version: lambda.Version\n\nlambda_function_association = cloudfront.LambdaFunctionAssociation(\n    event_type=cloudfront.LambdaEdgeEventType.ORIGIN_REQUEST,\n    lambda_function=version,\n\n    # the properties below are optional\n    include_body=False\n)","version":"2"},"csharp":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nusing Amazon.CDK.AWS.CloudFront;\nusing Amazon.CDK.AWS.Lambda;\n\nVersion version;\n\nvar lambdaFunctionAssociation = new LambdaFunctionAssociation {\n    EventType = LambdaEdgeEventType.ORIGIN_REQUEST,\n    LambdaFunction = version,\n\n    // the properties below are optional\n    IncludeBody = false\n};","version":"1"},"java":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport software.amazon.awscdk.services.cloudfront.*;\nimport software.amazon.awscdk.services.lambda.*;\n\nVersion version;\n\nLambdaFunctionAssociation lambdaFunctionAssociation = LambdaFunctionAssociation.builder()\n        .eventType(LambdaEdgeEventType.ORIGIN_REQUEST)\n        .lambdaFunction(version)\n\n        // the properties below are optional\n        .includeBody(false)\n        .build();","version":"1"},"go":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport cloudfront \"github.com/aws-samples/dummy/awscdkawscloudfront\"\nimport lambda \"github.com/aws-samples/dummy/awscdkawslambda\"\n\nvar version version\n\nlambdaFunctionAssociation := &LambdaFunctionAssociation{\n\tEventType: cloudfront.LambdaEdgeEventType_ORIGIN_REQUEST,\n\tLambdaFunction: version,\n\n\t// the properties below are optional\n\tIncludeBody: jsii.Boolean(false),\n}","version":"1"},"$":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nimport * as lambda from '@aws-cdk/aws-lambda';\n\ndeclare const version: lambda.Version;\nconst lambdaFunctionAssociation: cloudfront.LambdaFunctionAssociation = {\n  eventType: cloudfront.LambdaEdgeEventType.ORIGIN_REQUEST,\n  lambdaFunction: version,\n\n  // the properties below are optional\n  includeBody: false,\n};","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.LambdaFunctionAssociation"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.LambdaEdgeEventType","@aws-cdk/aws-cloudfront.LambdaEdgeEventType#ORIGIN_REQUEST","@aws-cdk/aws-cloudfront.LambdaFunctionAssociation","@aws-cdk/aws-lambda.IVersion"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nimport * as lambda from '@aws-cdk/aws-lambda';\n\ndeclare const version: lambda.Version;\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from \"@aws-cdk/core\";\nclass MyConstruct extends Construct {\nconstructor(scope: Construct, id: string) {\nsuper(scope, id);\n// Code snippet begins after !show marker below\n/// !show\n\nconst lambdaFunctionAssociation: cloudfront.LambdaFunctionAssociation = {\n  eventType: cloudfront.LambdaEdgeEventType.ORIGIN_REQUEST,\n  lambdaFunction: version,\n\n  // the properties below are optional\n  includeBody: false,\n};\n/// !hide\n// Code snippet ended before !hide marker above\n} }","syntaxKindCounter":{"10":2,"75":15,"91":1,"130":1,"153":2,"169":2,"193":1,"194":2,"225":2,"242":2,"243":2,"254":2,"255":2,"256":2,"281":3,"290":1},"fqnsFingerprint":"205fa3f70268c0595fc8528f5797481e7c0eed2d0fbaae3aefb2d4ebbdddef3b"},"ae1da42ab7ab63abc40147bdee0ea2d34d9fd9f7939ed396c367f9bf264b6788":{"translations":{"python":{"source":"# The code below shows an example of how to instantiate this type.\n# The values are placeholders you should change.\nimport aws_cdk.aws_cloudfront as cloudfront\nimport aws_cdk.aws_s3 as s3\n\n# bucket: s3.Bucket\n\nlogging_configuration = cloudfront.LoggingConfiguration(\n    bucket=bucket,\n    include_cookies=False,\n    prefix=\"prefix\"\n)","version":"2"},"csharp":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nusing Amazon.CDK.AWS.CloudFront;\nusing Amazon.CDK.AWS.S3;\n\nBucket bucket;\n\nvar loggingConfiguration = new LoggingConfiguration {\n    Bucket = bucket,\n    IncludeCookies = false,\n    Prefix = \"prefix\"\n};","version":"1"},"java":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport software.amazon.awscdk.services.cloudfront.*;\nimport software.amazon.awscdk.services.s3.*;\n\nBucket bucket;\n\nLoggingConfiguration loggingConfiguration = LoggingConfiguration.builder()\n        .bucket(bucket)\n        .includeCookies(false)\n        .prefix(\"prefix\")\n        .build();","version":"1"},"go":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport cloudfront \"github.com/aws-samples/dummy/awscdkawscloudfront\"\nimport s3 \"github.com/aws-samples/dummy/awscdkawss3\"\n\nvar bucket bucket\n\nloggingConfiguration := &LoggingConfiguration{\n\tBucket: bucket,\n\tIncludeCookies: jsii.Boolean(false),\n\tPrefix: jsii.String(\"prefix\"),\n}","version":"1"},"$":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nimport * as s3 from '@aws-cdk/aws-s3';\n\ndeclare const bucket: s3.Bucket;\nconst loggingConfiguration: cloudfront.LoggingConfiguration = {\n  bucket: bucket,\n  includeCookies: false,\n  prefix: 'prefix',\n};","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.LoggingConfiguration"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.LoggingConfiguration","@aws-cdk/aws-s3.IBucket"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nimport * as s3 from '@aws-cdk/aws-s3';\n\ndeclare const bucket: s3.Bucket;\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from \"@aws-cdk/core\";\nclass MyConstruct extends Construct {\nconstructor(scope: Construct, id: string) {\nsuper(scope, id);\n// Code snippet begins after !show marker below\n/// !show\n\nconst loggingConfiguration: cloudfront.LoggingConfiguration = {\n  bucket: bucket,\n  includeCookies: false,\n  prefix: 'prefix',\n};\n/// !hide\n// Code snippet ended before !hide marker above\n} }","syntaxKindCounter":{"10":3,"75":12,"91":1,"130":1,"153":2,"169":2,"193":1,"225":2,"242":2,"243":2,"254":2,"255":2,"256":2,"281":3,"290":1},"fqnsFingerprint":"47223c384b1e6f257aeac1f4dedb3e5da14ac02604dec5611a12dcf320877198"},"d59a5926bfbf0becfe584e49a9dc40ea5f6ed69544440219c7dc80f6bcf3562e":{"translations":{"python":{"source":"# The code below shows an example of how to instantiate this type.\n# The values are placeholders you should change.\nimport aws_cdk.aws_cloudfront as cloudfront\n\norigin_access_identity = cloudfront.OriginAccessIdentity(self, \"MyOriginAccessIdentity\",\n    comment=\"comment\"\n)","version":"2"},"csharp":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nusing Amazon.CDK.AWS.CloudFront;\n\nvar originAccessIdentity = new OriginAccessIdentity(this, \"MyOriginAccessIdentity\", new OriginAccessIdentityProps {\n    Comment = \"comment\"\n});","version":"1"},"java":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport software.amazon.awscdk.services.cloudfront.*;\n\nOriginAccessIdentity originAccessIdentity = OriginAccessIdentity.Builder.create(this, \"MyOriginAccessIdentity\")\n        .comment(\"comment\")\n        .build();","version":"1"},"go":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport cloudfront \"github.com/aws-samples/dummy/awscdkawscloudfront\"\n\noriginAccessIdentity := cloudfront.NewOriginAccessIdentity(this, jsii.String(\"MyOriginAccessIdentity\"), &OriginAccessIdentityProps{\n\tComment: jsii.String(\"comment\"),\n})","version":"1"},"$":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nconst originAccessIdentity = new cloudfront.OriginAccessIdentity(this, 'MyOriginAccessIdentity', /* all optional props */ {\n  comment: 'comment',\n});","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.OriginAccessIdentity"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.OriginAccessIdentity","@aws-cdk/aws-cloudfront.OriginAccessIdentityProps","constructs.Construct"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from \"@aws-cdk/core\";\nclass MyConstruct extends Construct {\nconstructor(scope: Construct, id: string) {\nsuper(scope, id);\n// Code snippet begins after !show marker below\n/// !show\n\nconst originAccessIdentity = new cloudfront.OriginAccessIdentity(this, 'MyOriginAccessIdentity', /* all optional props */ {\n  comment: 'comment',\n});\n/// !hide\n// Code snippet ended before !hide marker above\n} }","syntaxKindCounter":{"10":3,"75":5,"104":1,"193":1,"194":1,"197":1,"225":1,"242":1,"243":1,"254":1,"255":1,"256":1,"281":1,"290":1},"fqnsFingerprint":"fd46f451a13bb508e923bf0a1f686605974bc5ab68ddfba5efaba749af603651"},"52759d36d36c9ee594ef2d3917a923ac85359cc2d70fbf1909420bd87c4157ca":{"translations":{"python":{"source":"# The code below shows an example of how to instantiate this type.\n# The values are placeholders you should change.\nimport aws_cdk.aws_cloudfront as cloudfront\n\norigin_access_identity_props = cloudfront.OriginAccessIdentityProps(\n    comment=\"comment\"\n)","version":"2"},"csharp":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nusing Amazon.CDK.AWS.CloudFront;\n\nvar originAccessIdentityProps = new OriginAccessIdentityProps {\n    Comment = \"comment\"\n};","version":"1"},"java":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport software.amazon.awscdk.services.cloudfront.*;\n\nOriginAccessIdentityProps originAccessIdentityProps = OriginAccessIdentityProps.builder()\n        .comment(\"comment\")\n        .build();","version":"1"},"go":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport cloudfront \"github.com/aws-samples/dummy/awscdkawscloudfront\"\n\noriginAccessIdentityProps := &OriginAccessIdentityProps{\n\tComment: jsii.String(\"comment\"),\n}","version":"1"},"$":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nconst originAccessIdentityProps: cloudfront.OriginAccessIdentityProps = {\n  comment: 'comment',\n};","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.OriginAccessIdentityProps"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.OriginAccessIdentityProps"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from \"@aws-cdk/core\";\nclass MyConstruct extends Construct {\nconstructor(scope: Construct, id: string) {\nsuper(scope, id);\n// Code snippet begins after !show marker below\n/// !show\n\nconst originAccessIdentityProps: cloudfront.OriginAccessIdentityProps = {\n  comment: 'comment',\n};\n/// !hide\n// Code snippet ended before !hide marker above\n} }","syntaxKindCounter":{"10":2,"75":5,"153":1,"169":1,"193":1,"225":1,"242":1,"243":1,"254":1,"255":1,"256":1,"281":1,"290":1},"fqnsFingerprint":"79ca006b514e546a3bb9318844dc8ab632f3b82332f04949f277fa2d3fb957c0"},"b9fe386707abec00b4427a6e2b04927d80efa23cffad0f00f461e7c6c6032a7c":{"translations":{"python":{"source":"# The code below shows an example of how to instantiate this type.\n# The values are placeholders you should change.\nimport aws_cdk.aws_cloudfront as cloudfront\n\n# origin: cloudfront.IOrigin\n\norigin_bind_config = cloudfront.OriginBindConfig(\n    failover_config=cloudfront.OriginFailoverConfig(\n        failover_origin=origin,\n\n        # the properties below are optional\n        status_codes=[123]\n    ),\n    origin_property=cloudfront.CfnDistribution.OriginProperty(\n        domain_name=\"domainName\",\n        id=\"id\",\n\n        # the properties below are optional\n        connection_attempts=123,\n        connection_timeout=123,\n        custom_origin_config=cloudfront.CfnDistribution.CustomOriginConfigProperty(\n            origin_protocol_policy=\"originProtocolPolicy\",\n\n            # the properties below are optional\n            http_port=123,\n            https_port=123,\n            origin_keepalive_timeout=123,\n            origin_read_timeout=123,\n            origin_ssl_protocols=[\"originSslProtocols\"]\n        ),\n        origin_access_control_id=\"originAccessControlId\",\n        origin_custom_headers=[cloudfront.CfnDistribution.OriginCustomHeaderProperty(\n            header_name=\"headerName\",\n            header_value=\"headerValue\"\n        )],\n        origin_path=\"originPath\",\n        origin_shield=cloudfront.CfnDistribution.OriginShieldProperty(\n            enabled=False,\n            origin_shield_region=\"originShieldRegion\"\n        ),\n        s3_origin_config=cloudfront.CfnDistribution.S3OriginConfigProperty(\n            origin_access_identity=\"originAccessIdentity\"\n        )\n    )\n)","version":"2"},"csharp":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nusing Amazon.CDK.AWS.CloudFront;\n\nIOrigin origin;\n\nvar originBindConfig = new OriginBindConfig {\n    FailoverConfig = new OriginFailoverConfig {\n        FailoverOrigin = origin,\n\n        // the properties below are optional\n        StatusCodes = new [] { 123 }\n    },\n    OriginProperty = new OriginProperty {\n        DomainName = \"domainName\",\n        Id = \"id\",\n\n        // the properties below are optional\n        ConnectionAttempts = 123,\n        ConnectionTimeout = 123,\n        CustomOriginConfig = new CustomOriginConfigProperty {\n            OriginProtocolPolicy = \"originProtocolPolicy\",\n\n            // the properties below are optional\n            HttpPort = 123,\n            HttpsPort = 123,\n            OriginKeepaliveTimeout = 123,\n            OriginReadTimeout = 123,\n            OriginSslProtocols = new [] { \"originSslProtocols\" }\n        },\n        OriginAccessControlId = \"originAccessControlId\",\n        OriginCustomHeaders = new [] { new OriginCustomHeaderProperty {\n            HeaderName = \"headerName\",\n            HeaderValue = \"headerValue\"\n        } },\n        OriginPath = \"originPath\",\n        OriginShield = new OriginShieldProperty {\n            Enabled = false,\n            OriginShieldRegion = \"originShieldRegion\"\n        },\n        S3OriginConfig = new S3OriginConfigProperty {\n            OriginAccessIdentity = \"originAccessIdentity\"\n        }\n    }\n};","version":"1"},"java":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport software.amazon.awscdk.services.cloudfront.*;\n\nIOrigin origin;\n\nOriginBindConfig originBindConfig = OriginBindConfig.builder()\n        .failoverConfig(OriginFailoverConfig.builder()\n                .failoverOrigin(origin)\n\n                // the properties below are optional\n                .statusCodes(List.of(123))\n                .build())\n        .originProperty(OriginProperty.builder()\n                .domainName(\"domainName\")\n                .id(\"id\")\n\n                // the properties below are optional\n                .connectionAttempts(123)\n                .connectionTimeout(123)\n                .customOriginConfig(CustomOriginConfigProperty.builder()\n                        .originProtocolPolicy(\"originProtocolPolicy\")\n\n                        // the properties below are optional\n                        .httpPort(123)\n                        .httpsPort(123)\n                        .originKeepaliveTimeout(123)\n                        .originReadTimeout(123)\n                        .originSslProtocols(List.of(\"originSslProtocols\"))\n                        .build())\n                .originAccessControlId(\"originAccessControlId\")\n                .originCustomHeaders(List.of(OriginCustomHeaderProperty.builder()\n                        .headerName(\"headerName\")\n                        .headerValue(\"headerValue\")\n                        .build()))\n                .originPath(\"originPath\")\n                .originShield(OriginShieldProperty.builder()\n                        .enabled(false)\n                        .originShieldRegion(\"originShieldRegion\")\n                        .build())\n                .s3OriginConfig(S3OriginConfigProperty.builder()\n                        .originAccessIdentity(\"originAccessIdentity\")\n                        .build())\n                .build())\n        .build();","version":"1"},"go":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport cloudfront \"github.com/aws-samples/dummy/awscdkawscloudfront\"\n\nvar origin iOrigin\n\noriginBindConfig := &OriginBindConfig{\n\tFailoverConfig: &OriginFailoverConfig{\n\t\tFailoverOrigin: origin,\n\n\t\t// the properties below are optional\n\t\tStatusCodes: []*f64{\n\t\t\tjsii.Number(123),\n\t\t},\n\t},\n\tOriginProperty: &OriginProperty{\n\t\tDomainName: jsii.String(\"domainName\"),\n\t\tId: jsii.String(\"id\"),\n\n\t\t// the properties below are optional\n\t\tConnectionAttempts: jsii.Number(123),\n\t\tConnectionTimeout: jsii.Number(123),\n\t\tCustomOriginConfig: &CustomOriginConfigProperty{\n\t\t\tOriginProtocolPolicy: jsii.String(\"originProtocolPolicy\"),\n\n\t\t\t// the properties below are optional\n\t\t\tHttpPort: jsii.Number(123),\n\t\t\tHttpsPort: jsii.Number(123),\n\t\t\tOriginKeepaliveTimeout: jsii.Number(123),\n\t\t\tOriginReadTimeout: jsii.Number(123),\n\t\t\tOriginSslProtocols: []*string{\n\t\t\t\tjsii.String(\"originSslProtocols\"),\n\t\t\t},\n\t\t},\n\t\tOriginAccessControlId: jsii.String(\"originAccessControlId\"),\n\t\tOriginCustomHeaders: []interface{}{\n\t\t\t&OriginCustomHeaderProperty{\n\t\t\t\tHeaderName: jsii.String(\"headerName\"),\n\t\t\t\tHeaderValue: jsii.String(\"headerValue\"),\n\t\t\t},\n\t\t},\n\t\tOriginPath: jsii.String(\"originPath\"),\n\t\tOriginShield: &OriginShieldProperty{\n\t\t\tEnabled: jsii.Boolean(false),\n\t\t\tOriginShieldRegion: jsii.String(\"originShieldRegion\"),\n\t\t},\n\t\tS3OriginConfig: &S3OriginConfigProperty{\n\t\t\tOriginAccessIdentity: jsii.String(\"originAccessIdentity\"),\n\t\t},\n\t},\n}","version":"1"},"$":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\n\ndeclare const origin: cloudfront.IOrigin;\nconst originBindConfig: cloudfront.OriginBindConfig = {\n  failoverConfig: {\n    failoverOrigin: origin,\n\n    // the properties below are optional\n    statusCodes: [123],\n  },\n  originProperty: {\n    domainName: 'domainName',\n    id: 'id',\n\n    // the properties below are optional\n    connectionAttempts: 123,\n    connectionTimeout: 123,\n    customOriginConfig: {\n      originProtocolPolicy: 'originProtocolPolicy',\n\n      // the properties below are optional\n      httpPort: 123,\n      httpsPort: 123,\n      originKeepaliveTimeout: 123,\n      originReadTimeout: 123,\n      originSslProtocols: ['originSslProtocols'],\n    },\n    originAccessControlId: 'originAccessControlId',\n    originCustomHeaders: [{\n      headerName: 'headerName',\n      headerValue: 'headerValue',\n    }],\n    originPath: 'originPath',\n    originShield: {\n      enabled: false,\n      originShieldRegion: 'originShieldRegion',\n    },\n    s3OriginConfig: {\n      originAccessIdentity: 'originAccessIdentity',\n    },\n  },\n};","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.OriginBindConfig"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.CfnDistribution.OriginProperty","@aws-cdk/aws-cloudfront.IOrigin","@aws-cdk/aws-cloudfront.OriginBindConfig","@aws-cdk/aws-cloudfront.OriginFailoverConfig"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\n\ndeclare const origin: cloudfront.IOrigin;\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from \"@aws-cdk/core\";\nclass MyConstruct extends Construct {\nconstructor(scope: Construct, id: string) {\nsuper(scope, id);\n// Code snippet begins after !show marker below\n/// !show\n\nconst originBindConfig: cloudfront.OriginBindConfig = {\n  failoverConfig: {\n    failoverOrigin: origin,\n\n    // the properties below are optional\n    statusCodes: [123],\n  },\n  originProperty: {\n    domainName: 'domainName',\n    id: 'id',\n\n    // the properties below are optional\n    connectionAttempts: 123,\n    connectionTimeout: 123,\n    customOriginConfig: {\n      originProtocolPolicy: 'originProtocolPolicy',\n\n      // the properties below are optional\n      httpPort: 123,\n      httpsPort: 123,\n      originKeepaliveTimeout: 123,\n      originReadTimeout: 123,\n      originSslProtocols: ['originSslProtocols'],\n    },\n    originAccessControlId: 'originAccessControlId',\n    originCustomHeaders: [{\n      headerName: 'headerName',\n      headerValue: 'headerValue',\n    }],\n    originPath: 'originPath',\n    originShield: {\n      enabled: false,\n      originShieldRegion: 'originShieldRegion',\n    },\n    s3OriginConfig: {\n      originAccessIdentity: 'originAccessIdentity',\n    },\n  },\n};\n/// !hide\n// Code snippet ended before !hide marker above\n} }","syntaxKindCounter":{"8":7,"10":11,"75":33,"91":1,"130":1,"153":2,"169":2,"192":3,"193":7,"225":2,"242":2,"243":2,"254":1,"255":1,"256":1,"281":25,"290":1},"fqnsFingerprint":"9adcba9b96edc07a255155a8b9003c3f4d42ba8c2d566b45445e8297bac40f6e"},"3a0caaf886e5151eecaf7da879e75fccccf12e4c6dd98c0b1882ed5f4c8611fd":{"translations":{"python":{"source":"# The code below shows an example of how to instantiate this type.\n# The values are placeholders you should change.\nimport aws_cdk.aws_cloudfront as cloudfront\n\norigin_bind_options = cloudfront.OriginBindOptions(\n    origin_id=\"originId\"\n)","version":"2"},"csharp":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nusing Amazon.CDK.AWS.CloudFront;\n\nvar originBindOptions = new OriginBindOptions {\n    OriginId = \"originId\"\n};","version":"1"},"java":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport software.amazon.awscdk.services.cloudfront.*;\n\nOriginBindOptions originBindOptions = OriginBindOptions.builder()\n        .originId(\"originId\")\n        .build();","version":"1"},"go":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport cloudfront \"github.com/aws-samples/dummy/awscdkawscloudfront\"\n\noriginBindOptions := &OriginBindOptions{\n\tOriginId: jsii.String(\"originId\"),\n}","version":"1"},"$":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nconst originBindOptions: cloudfront.OriginBindOptions = {\n  originId: 'originId',\n};","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.OriginBindOptions"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.OriginBindOptions"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from \"@aws-cdk/core\";\nclass MyConstruct extends Construct {\nconstructor(scope: Construct, id: string) {\nsuper(scope, id);\n// Code snippet begins after !show marker below\n/// !show\n\nconst originBindOptions: cloudfront.OriginBindOptions = {\n  originId: 'originId',\n};\n/// !hide\n// Code snippet ended before !hide marker above\n} }","syntaxKindCounter":{"10":2,"75":5,"153":1,"169":1,"193":1,"225":1,"242":1,"243":1,"254":1,"255":1,"256":1,"281":1,"290":1},"fqnsFingerprint":"07e55b2850d654fe4300e7b44c73dc3b96af47eec7bbb4cf831227d685f44b79"},"f3614ecb0ae0fce71fbdd8f9780eb1334a14cce5e2975af61242eda44e5b0139":{"translations":{"python":{"source":"# The code below shows an example of how to instantiate this type.\n# The values are placeholders you should change.\nimport aws_cdk.aws_cloudfront as cloudfront\n\n# origin: cloudfront.IOrigin\n\norigin_failover_config = cloudfront.OriginFailoverConfig(\n    failover_origin=origin,\n\n    # the properties below are optional\n    status_codes=[123]\n)","version":"2"},"csharp":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nusing Amazon.CDK.AWS.CloudFront;\n\nIOrigin origin;\n\nvar originFailoverConfig = new OriginFailoverConfig {\n    FailoverOrigin = origin,\n\n    // the properties below are optional\n    StatusCodes = new [] { 123 }\n};","version":"1"},"java":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport software.amazon.awscdk.services.cloudfront.*;\n\nIOrigin origin;\n\nOriginFailoverConfig originFailoverConfig = OriginFailoverConfig.builder()\n        .failoverOrigin(origin)\n\n        // the properties below are optional\n        .statusCodes(List.of(123))\n        .build();","version":"1"},"go":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport cloudfront \"github.com/aws-samples/dummy/awscdkawscloudfront\"\n\nvar origin iOrigin\n\noriginFailoverConfig := &OriginFailoverConfig{\n\tFailoverOrigin: origin,\n\n\t// the properties below are optional\n\tStatusCodes: []*f64{\n\t\tjsii.Number(123),\n\t},\n}","version":"1"},"$":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\n\ndeclare const origin: cloudfront.IOrigin;\nconst originFailoverConfig: cloudfront.OriginFailoverConfig = {\n  failoverOrigin: origin,\n\n  // the properties below are optional\n  statusCodes: [123],\n};","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.OriginFailoverConfig"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.IOrigin","@aws-cdk/aws-cloudfront.OriginFailoverConfig"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\n\ndeclare const origin: cloudfront.IOrigin;\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from \"@aws-cdk/core\";\nclass MyConstruct extends Construct {\nconstructor(scope: Construct, id: string) {\nsuper(scope, id);\n// Code snippet begins after !show marker below\n/// !show\n\nconst originFailoverConfig: cloudfront.OriginFailoverConfig = {\n  failoverOrigin: origin,\n\n  // the properties below are optional\n  statusCodes: [123],\n};\n/// !hide\n// Code snippet ended before !hide marker above\n} }","syntaxKindCounter":{"8":1,"10":1,"75":10,"130":1,"153":2,"169":2,"192":1,"193":1,"225":2,"242":2,"243":2,"254":1,"255":1,"256":1,"281":2,"290":1},"fqnsFingerprint":"c270ce9cb3a4068da9b0bbe9c6db743b5b3f64b826deeb6d159f3b2bad27a465"},"596f70187cabe35a44070539f9f794ab22dde87a3163f9b824aaae7684c0ecef":{"translations":{"python":{"source":"# The code below shows an example of how to instantiate this type.\n# The values are placeholders you should change.\nimport aws_cdk.aws_cloudfront as cloudfront\nimport aws_cdk.core as cdk\n\norigin_options = cloudfront.OriginOptions(\n    connection_attempts=123,\n    connection_timeout=cdk.Duration.minutes(30),\n    custom_headers={\n        \"custom_headers_key\": \"customHeaders\"\n    },\n    origin_shield_region=\"originShieldRegion\"\n)","version":"2"},"csharp":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nusing Amazon.CDK.AWS.CloudFront;\nusing Amazon.CDK;\nvar originOptions = new OriginOptions {\n    ConnectionAttempts = 123,\n    ConnectionTimeout = Duration.Minutes(30),\n    CustomHeaders = new Dictionary<string, string> {\n        { \"customHeadersKey\", \"customHeaders\" }\n    },\n    OriginShieldRegion = \"originShieldRegion\"\n};","version":"1"},"java":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport software.amazon.awscdk.services.cloudfront.*;\nimport software.amazon.awscdk.core.*;\n\nOriginOptions originOptions = OriginOptions.builder()\n        .connectionAttempts(123)\n        .connectionTimeout(Duration.minutes(30))\n        .customHeaders(Map.of(\n                \"customHeadersKey\", \"customHeaders\"))\n        .originShieldRegion(\"originShieldRegion\")\n        .build();","version":"1"},"go":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport cloudfront \"github.com/aws-samples/dummy/awscdkawscloudfront\"\nimport cdk \"github.com/aws-samples/dummy/awscdkcore\"\n\noriginOptions := &OriginOptions{\n\tConnectionAttempts: jsii.Number(123),\n\tConnectionTimeout: cdk.Duration_Minutes(jsii.Number(30)),\n\tCustomHeaders: map[string]*string{\n\t\t\"customHeadersKey\": jsii.String(\"customHeaders\"),\n\t},\n\tOriginShieldRegion: jsii.String(\"originShieldRegion\"),\n}","version":"1"},"$":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nimport * as cdk from '@aws-cdk/core';\nconst originOptions: cloudfront.OriginOptions = {\n  connectionAttempts: 123,\n  connectionTimeout: cdk.Duration.minutes(30),\n  customHeaders: {\n    customHeadersKey: 'customHeaders',\n  },\n  originShieldRegion: 'originShieldRegion',\n};","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.OriginOptions"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.OriginOptions","@aws-cdk/core.Duration","@aws-cdk/core.Duration#minutes"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nimport * as cdk from '@aws-cdk/core';\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from \"@aws-cdk/core\";\nclass MyConstruct extends Construct {\nconstructor(scope: Construct, id: string) {\nsuper(scope, id);\n// Code snippet begins after !show marker below\n/// !show\n\nconst originOptions: cloudfront.OriginOptions = {\n  connectionAttempts: 123,\n  connectionTimeout: cdk.Duration.minutes(30),\n  customHeaders: {\n    customHeadersKey: 'customHeaders',\n  },\n  originShieldRegion: 'originShieldRegion',\n};\n/// !hide\n// Code snippet ended before !hide marker above\n} }","syntaxKindCounter":{"8":2,"10":4,"75":13,"153":1,"169":1,"193":2,"194":2,"196":1,"225":1,"242":1,"243":1,"254":2,"255":2,"256":2,"281":5,"290":1},"fqnsFingerprint":"1993c26f09d9f343ce00f10248e507a33f35ae16d3f67795858bdf7525f5735e"},"5a29d3b0e72b09dc446817b5767f3ec5198db753c55a96a057c8b291ec683115":{"translations":{"python":{"source":"# The code below shows an example of how to instantiate this type.\n# The values are placeholders you should change.\nimport aws_cdk.aws_cloudfront as cloudfront\nimport aws_cdk.core as cdk\n\norigin_props = cloudfront.OriginProps(\n    connection_attempts=123,\n    connection_timeout=cdk.Duration.minutes(30),\n    custom_headers={\n        \"custom_headers_key\": \"customHeaders\"\n    },\n    origin_path=\"originPath\",\n    origin_shield_region=\"originShieldRegion\"\n)","version":"2"},"csharp":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nusing Amazon.CDK.AWS.CloudFront;\nusing Amazon.CDK;\nvar originProps = new OriginProps {\n    ConnectionAttempts = 123,\n    ConnectionTimeout = Duration.Minutes(30),\n    CustomHeaders = new Dictionary<string, string> {\n        { \"customHeadersKey\", \"customHeaders\" }\n    },\n    OriginPath = \"originPath\",\n    OriginShieldRegion = \"originShieldRegion\"\n};","version":"1"},"java":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport software.amazon.awscdk.services.cloudfront.*;\nimport software.amazon.awscdk.core.*;\n\nOriginProps originProps = OriginProps.builder()\n        .connectionAttempts(123)\n        .connectionTimeout(Duration.minutes(30))\n        .customHeaders(Map.of(\n                \"customHeadersKey\", \"customHeaders\"))\n        .originPath(\"originPath\")\n        .originShieldRegion(\"originShieldRegion\")\n        .build();","version":"1"},"go":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport cloudfront \"github.com/aws-samples/dummy/awscdkawscloudfront\"\nimport cdk \"github.com/aws-samples/dummy/awscdkcore\"\n\noriginProps := &OriginProps{\n\tConnectionAttempts: jsii.Number(123),\n\tConnectionTimeout: cdk.Duration_Minutes(jsii.Number(30)),\n\tCustomHeaders: map[string]*string{\n\t\t\"customHeadersKey\": jsii.String(\"customHeaders\"),\n\t},\n\tOriginPath: jsii.String(\"originPath\"),\n\tOriginShieldRegion: jsii.String(\"originShieldRegion\"),\n}","version":"1"},"$":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nimport * as cdk from '@aws-cdk/core';\nconst originProps: cloudfront.OriginProps = {\n  connectionAttempts: 123,\n  connectionTimeout: cdk.Duration.minutes(30),\n  customHeaders: {\n    customHeadersKey: 'customHeaders',\n  },\n  originPath: 'originPath',\n  originShieldRegion: 'originShieldRegion',\n};","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.OriginProps"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.OriginProps","@aws-cdk/core.Duration","@aws-cdk/core.Duration#minutes"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nimport * as cdk from '@aws-cdk/core';\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from \"@aws-cdk/core\";\nclass MyConstruct extends Construct {\nconstructor(scope: Construct, id: string) {\nsuper(scope, id);\n// Code snippet begins after !show marker below\n/// !show\n\nconst originProps: cloudfront.OriginProps = {\n  connectionAttempts: 123,\n  connectionTimeout: cdk.Duration.minutes(30),\n  customHeaders: {\n    customHeadersKey: 'customHeaders',\n  },\n  originPath: 'originPath',\n  originShieldRegion: 'originShieldRegion',\n};\n/// !hide\n// Code snippet ended before !hide marker above\n} }","syntaxKindCounter":{"8":2,"10":5,"75":14,"153":1,"169":1,"193":2,"194":2,"196":1,"225":1,"242":1,"243":1,"254":2,"255":2,"256":2,"281":6,"290":1},"fqnsFingerprint":"cb2c3e15c50242d348d8758f249d27d3c963f916d708964033d43f4b14570bd2"},"09b40fe5ef23434153defc89d705f696eace9318390fcc3a2a45e76d601dbc3a":{"translations":{"python":{"source":"import aws_cdk.aws_elasticloadbalancingv2 as elbv2\n\n# load_balancer: elbv2.ApplicationLoadBalancer\n\norigin = origins.LoadBalancerV2Origin(load_balancer,\n    connection_attempts=3,\n    connection_timeout=Duration.seconds(5),\n    read_timeout=Duration.seconds(45),\n    keepalive_timeout=Duration.seconds(45),\n    protocol_policy=cloudfront.OriginProtocolPolicy.MATCH_VIEWER\n)","version":"2"},"csharp":{"source":"using Amazon.CDK.AWS.ElasticLoadBalancingV2;\n\nApplicationLoadBalancer loadBalancer;\n\nvar origin = new LoadBalancerV2Origin(loadBalancer, new LoadBalancerV2OriginProps {\n    ConnectionAttempts = 3,\n    ConnectionTimeout = Duration.Seconds(5),\n    ReadTimeout = Duration.Seconds(45),\n    KeepaliveTimeout = Duration.Seconds(45),\n    ProtocolPolicy = OriginProtocolPolicy.MATCH_VIEWER\n});","version":"1"},"java":{"source":"import software.amazon.awscdk.services.elasticloadbalancingv2.*;\n\nApplicationLoadBalancer loadBalancer;\n\nLoadBalancerV2Origin origin = LoadBalancerV2Origin.Builder.create(loadBalancer)\n        .connectionAttempts(3)\n        .connectionTimeout(Duration.seconds(5))\n        .readTimeout(Duration.seconds(45))\n        .keepaliveTimeout(Duration.seconds(45))\n        .protocolPolicy(OriginProtocolPolicy.MATCH_VIEWER)\n        .build();","version":"1"},"go":{"source":"import elbv2 \"github.com/aws-samples/dummy/awscdkawselasticloadbalancingv2\"\n\nvar loadBalancer applicationLoadBalancer\n\norigin := origins.NewLoadBalancerV2Origin(loadBalancer, &LoadBalancerV2OriginProps{\n\tConnectionAttempts: jsii.Number(3),\n\tConnectionTimeout: awscdkcore.Duration_Seconds(jsii.Number(5)),\n\tReadTimeout: *awscdkcore.Duration_*Seconds(jsii.Number(45)),\n\tKeepaliveTimeout: *awscdkcore.Duration_*Seconds(jsii.Number(45)),\n\tProtocolPolicy: cloudfront.OriginProtocolPolicy_MATCH_VIEWER,\n})","version":"1"},"$":{"source":"import * as elbv2 from '@aws-cdk/aws-elasticloadbalancingv2';\n\ndeclare const loadBalancer: elbv2.ApplicationLoadBalancer;\nconst origin = new origins.LoadBalancerV2Origin(loadBalancer, {\n  connectionAttempts: 3,\n  connectionTimeout: Duration.seconds(5),\n  readTimeout: Duration.seconds(45),\n  keepaliveTimeout: Duration.seconds(45),\n  protocolPolicy: cloudfront.OriginProtocolPolicy.MATCH_VIEWER,\n});","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.OriginProtocolPolicy"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront-origins.LoadBalancerV2Origin","@aws-cdk/aws-cloudfront-origins.LoadBalancerV2OriginProps","@aws-cdk/aws-cloudfront.OriginProtocolPolicy","@aws-cdk/aws-cloudfront.OriginProtocolPolicy#MATCH_VIEWER","@aws-cdk/aws-elasticloadbalancingv2.ILoadBalancerV2","@aws-cdk/core.Duration","@aws-cdk/core.Duration#seconds"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\nimport * as elbv2 from '@aws-cdk/aws-elasticloadbalancingv2';\n\ndeclare const loadBalancer: elbv2.ApplicationLoadBalancer;\n/// !hide\n// Hoisted imports ended before !hide marker above\n// Fixture with packages imported, but nothing else\nimport { Duration, Stack } from '@aws-cdk/core';\nimport { Construct } from 'constructs';\nimport * as apigateway from '@aws-cdk/aws-apigateway';\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nimport * as origins from '@aws-cdk/aws-cloudfront-origins';\nimport * as s3 from '@aws-cdk/aws-s3';\n\nclass Fixture extends Stack {\n  constructor(scope: Construct, id: string) {\n    super(scope, id);\n\n    // Code snippet begins after !show marker below\n/// !show\n\nconst origin = new origins.LoadBalancerV2Origin(loadBalancer, {\n  connectionAttempts: 3,\n  connectionTimeout: Duration.seconds(5),\n  readTimeout: Duration.seconds(45),\n  keepaliveTimeout: Duration.seconds(45),\n  protocolPolicy: cloudfront.OriginProtocolPolicy.MATCH_VIEWER,\n});\n/// !hide\n// Code snippet ended before !hide marker above\n    \n  }\n}\n","syntaxKindCounter":{"8":4,"10":1,"75":22,"130":1,"153":1,"169":1,"193":1,"194":6,"196":3,"197":1,"225":2,"242":2,"243":2,"254":1,"255":1,"256":1,"281":5,"290":1},"fqnsFingerprint":"e89176c4dbdf444687a7395f9cc7fd604c0f068646307c2f7a7ace616768d74d"},"075e4b4dd935407a936679f65626f2c3707a4a3f3ff8bc3d71d7bde2696fe063":{"translations":{"python":{"source":"# Creating a custom origin request policy for a Distribution -- all parameters optional\n# bucket_origin: origins.S3Origin\n\nmy_origin_request_policy = cloudfront.OriginRequestPolicy(self, \"OriginRequestPolicy\",\n    origin_request_policy_name=\"MyPolicy\",\n    comment=\"A default policy\",\n    cookie_behavior=cloudfront.OriginRequestCookieBehavior.none(),\n    header_behavior=cloudfront.OriginRequestHeaderBehavior.all(\"CloudFront-Is-Android-Viewer\"),\n    query_string_behavior=cloudfront.OriginRequestQueryStringBehavior.allow_list(\"username\")\n)\n\ncloudfront.Distribution(self, \"myDistCustomPolicy\",\n    default_behavior=cloudfront.BehaviorOptions(\n        origin=bucket_origin,\n        origin_request_policy=my_origin_request_policy\n    )\n)","version":"2"},"csharp":{"source":"// Creating a custom origin request policy for a Distribution -- all parameters optional\nS3Origin bucketOrigin;\n\nvar myOriginRequestPolicy = new OriginRequestPolicy(this, \"OriginRequestPolicy\", new OriginRequestPolicyProps {\n    OriginRequestPolicyName = \"MyPolicy\",\n    Comment = \"A default policy\",\n    CookieBehavior = OriginRequestCookieBehavior.None(),\n    HeaderBehavior = OriginRequestHeaderBehavior.All(\"CloudFront-Is-Android-Viewer\"),\n    QueryStringBehavior = OriginRequestQueryStringBehavior.AllowList(\"username\")\n});\n\nnew Distribution(this, \"myDistCustomPolicy\", new DistributionProps {\n    DefaultBehavior = new BehaviorOptions {\n        Origin = bucketOrigin,\n        OriginRequestPolicy = myOriginRequestPolicy\n    }\n});","version":"1"},"java":{"source":"// Creating a custom origin request policy for a Distribution -- all parameters optional\nS3Origin bucketOrigin;\n\nOriginRequestPolicy myOriginRequestPolicy = OriginRequestPolicy.Builder.create(this, \"OriginRequestPolicy\")\n        .originRequestPolicyName(\"MyPolicy\")\n        .comment(\"A default policy\")\n        .cookieBehavior(OriginRequestCookieBehavior.none())\n        .headerBehavior(OriginRequestHeaderBehavior.all(\"CloudFront-Is-Android-Viewer\"))\n        .queryStringBehavior(OriginRequestQueryStringBehavior.allowList(\"username\"))\n        .build();\n\nDistribution.Builder.create(this, \"myDistCustomPolicy\")\n        .defaultBehavior(BehaviorOptions.builder()\n                .origin(bucketOrigin)\n                .originRequestPolicy(myOriginRequestPolicy)\n                .build())\n        .build();","version":"1"},"go":{"source":"// Creating a custom origin request policy for a Distribution -- all parameters optional\nvar bucketOrigin s3Origin\n\nmyOriginRequestPolicy := cloudfront.NewOriginRequestPolicy(this, jsii.String(\"OriginRequestPolicy\"), &OriginRequestPolicyProps{\n\tOriginRequestPolicyName: jsii.String(\"MyPolicy\"),\n\tComment: jsii.String(\"A default policy\"),\n\tCookieBehavior: cloudfront.OriginRequestCookieBehavior_None(),\n\tHeaderBehavior: cloudfront.OriginRequestHeaderBehavior_All(jsii.String(\"CloudFront-Is-Android-Viewer\")),\n\tQueryStringBehavior: cloudfront.OriginRequestQueryStringBehavior_AllowList(jsii.String(\"username\")),\n})\n\ncloudfront.NewDistribution(this, jsii.String(\"myDistCustomPolicy\"), &DistributionProps{\n\tDefaultBehavior: &BehaviorOptions{\n\t\tOrigin: bucketOrigin,\n\t\tOriginRequestPolicy: myOriginRequestPolicy,\n\t},\n})","version":"1"},"$":{"source":"// Creating a custom origin request policy for a Distribution -- all parameters optional\ndeclare const bucketOrigin: origins.S3Origin;\nconst myOriginRequestPolicy = new cloudfront.OriginRequestPolicy(this, 'OriginRequestPolicy', {\n  originRequestPolicyName: 'MyPolicy',\n  comment: 'A default policy',\n  cookieBehavior: cloudfront.OriginRequestCookieBehavior.none(),\n  headerBehavior: cloudfront.OriginRequestHeaderBehavior.all('CloudFront-Is-Android-Viewer'),\n  queryStringBehavior: cloudfront.OriginRequestQueryStringBehavior.allowList('username'),\n});\n\nnew cloudfront.Distribution(this, 'myDistCustomPolicy', {\n  defaultBehavior: {\n    origin: bucketOrigin,\n    originRequestPolicy: myOriginRequestPolicy,\n  },\n});","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.OriginRequestCookieBehavior"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.BehaviorOptions","@aws-cdk/aws-cloudfront.Distribution","@aws-cdk/aws-cloudfront.DistributionProps","@aws-cdk/aws-cloudfront.IOrigin","@aws-cdk/aws-cloudfront.IOriginRequestPolicy","@aws-cdk/aws-cloudfront.OriginRequestCookieBehavior","@aws-cdk/aws-cloudfront.OriginRequestCookieBehavior#none","@aws-cdk/aws-cloudfront.OriginRequestHeaderBehavior","@aws-cdk/aws-cloudfront.OriginRequestHeaderBehavior#all","@aws-cdk/aws-cloudfront.OriginRequestPolicy","@aws-cdk/aws-cloudfront.OriginRequestPolicyProps","@aws-cdk/aws-cloudfront.OriginRequestQueryStringBehavior","@aws-cdk/aws-cloudfront.OriginRequestQueryStringBehavior#allowList","constructs.Construct"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// Creating a custom origin request policy for a Distribution -- all parameters optional\ndeclare const bucketOrigin: origins.S3Origin;\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from 'constructs';\nimport { Duration, Stack } from '@aws-cdk/core';\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nimport * as origins from '@aws-cdk/aws-cloudfront-origins';\nimport * as s3 from '@aws-cdk/aws-s3';\nimport * as ec2 from '@aws-cdk/aws-ec2';\nimport * as elbv2 from '@aws-cdk/aws-elasticloadbalancingv2';\nimport * as lambda from '@aws-cdk/aws-lambda';\nimport * as path from 'path';\n\nclass Context extends Stack {\n  constructor(scope: Construct, id: string) {\n    super(scope, id);\n\n    // Code snippet begins after !show marker below\n/// !show\n\nconst myOriginRequestPolicy = new cloudfront.OriginRequestPolicy(this, 'OriginRequestPolicy', {\n  originRequestPolicyName: 'MyPolicy',\n  comment: 'A default policy',\n  cookieBehavior: cloudfront.OriginRequestCookieBehavior.none(),\n  headerBehavior: cloudfront.OriginRequestHeaderBehavior.all('CloudFront-Is-Android-Viewer'),\n  queryStringBehavior: cloudfront.OriginRequestQueryStringBehavior.allowList('username'),\n});\n\nnew cloudfront.Distribution(this, 'myDistCustomPolicy', {\n  defaultBehavior: {\n    origin: bucketOrigin,\n    originRequestPolicy: myOriginRequestPolicy,\n  },\n});\n/// !hide\n// Code snippet ended before !hide marker above\n  }\n}\n","syntaxKindCounter":{"10":6,"75":27,"104":2,"130":1,"153":1,"169":1,"193":3,"194":8,"196":3,"197":2,"225":2,"226":1,"242":2,"243":2,"281":8,"290":1},"fqnsFingerprint":"05968f9212199cb0b55a64aeb9510210d75a639e64dfcf91901cc1f201662d76"},"52347ad9066881f2e3a8179c3a4ded25bff50035fefa93d75d680d3aca149026":{"translations":{"python":{"source":"# Creating a custom origin request policy for a Distribution -- all parameters optional\n# bucket_origin: origins.S3Origin\n\nmy_origin_request_policy = cloudfront.OriginRequestPolicy(self, \"OriginRequestPolicy\",\n    origin_request_policy_name=\"MyPolicy\",\n    comment=\"A default policy\",\n    cookie_behavior=cloudfront.OriginRequestCookieBehavior.none(),\n    header_behavior=cloudfront.OriginRequestHeaderBehavior.all(\"CloudFront-Is-Android-Viewer\"),\n    query_string_behavior=cloudfront.OriginRequestQueryStringBehavior.allow_list(\"username\")\n)\n\ncloudfront.Distribution(self, \"myDistCustomPolicy\",\n    default_behavior=cloudfront.BehaviorOptions(\n        origin=bucket_origin,\n        origin_request_policy=my_origin_request_policy\n    )\n)","version":"2"},"csharp":{"source":"// Creating a custom origin request policy for a Distribution -- all parameters optional\nS3Origin bucketOrigin;\n\nvar myOriginRequestPolicy = new OriginRequestPolicy(this, \"OriginRequestPolicy\", new OriginRequestPolicyProps {\n    OriginRequestPolicyName = \"MyPolicy\",\n    Comment = \"A default policy\",\n    CookieBehavior = OriginRequestCookieBehavior.None(),\n    HeaderBehavior = OriginRequestHeaderBehavior.All(\"CloudFront-Is-Android-Viewer\"),\n    QueryStringBehavior = OriginRequestQueryStringBehavior.AllowList(\"username\")\n});\n\nnew Distribution(this, \"myDistCustomPolicy\", new DistributionProps {\n    DefaultBehavior = new BehaviorOptions {\n        Origin = bucketOrigin,\n        OriginRequestPolicy = myOriginRequestPolicy\n    }\n});","version":"1"},"java":{"source":"// Creating a custom origin request policy for a Distribution -- all parameters optional\nS3Origin bucketOrigin;\n\nOriginRequestPolicy myOriginRequestPolicy = OriginRequestPolicy.Builder.create(this, \"OriginRequestPolicy\")\n        .originRequestPolicyName(\"MyPolicy\")\n        .comment(\"A default policy\")\n        .cookieBehavior(OriginRequestCookieBehavior.none())\n        .headerBehavior(OriginRequestHeaderBehavior.all(\"CloudFront-Is-Android-Viewer\"))\n        .queryStringBehavior(OriginRequestQueryStringBehavior.allowList(\"username\"))\n        .build();\n\nDistribution.Builder.create(this, \"myDistCustomPolicy\")\n        .defaultBehavior(BehaviorOptions.builder()\n                .origin(bucketOrigin)\n                .originRequestPolicy(myOriginRequestPolicy)\n                .build())\n        .build();","version":"1"},"go":{"source":"// Creating a custom origin request policy for a Distribution -- all parameters optional\nvar bucketOrigin s3Origin\n\nmyOriginRequestPolicy := cloudfront.NewOriginRequestPolicy(this, jsii.String(\"OriginRequestPolicy\"), &OriginRequestPolicyProps{\n\tOriginRequestPolicyName: jsii.String(\"MyPolicy\"),\n\tComment: jsii.String(\"A default policy\"),\n\tCookieBehavior: cloudfront.OriginRequestCookieBehavior_None(),\n\tHeaderBehavior: cloudfront.OriginRequestHeaderBehavior_All(jsii.String(\"CloudFront-Is-Android-Viewer\")),\n\tQueryStringBehavior: cloudfront.OriginRequestQueryStringBehavior_AllowList(jsii.String(\"username\")),\n})\n\ncloudfront.NewDistribution(this, jsii.String(\"myDistCustomPolicy\"), &DistributionProps{\n\tDefaultBehavior: &BehaviorOptions{\n\t\tOrigin: bucketOrigin,\n\t\tOriginRequestPolicy: myOriginRequestPolicy,\n\t},\n})","version":"1"},"$":{"source":"// Creating a custom origin request policy for a Distribution -- all parameters optional\ndeclare const bucketOrigin: origins.S3Origin;\nconst myOriginRequestPolicy = new cloudfront.OriginRequestPolicy(this, 'OriginRequestPolicy', {\n  originRequestPolicyName: 'MyPolicy',\n  comment: 'A default policy',\n  cookieBehavior: cloudfront.OriginRequestCookieBehavior.none(),\n  headerBehavior: cloudfront.OriginRequestHeaderBehavior.all('CloudFront-Is-Android-Viewer'),\n  queryStringBehavior: cloudfront.OriginRequestQueryStringBehavior.allowList('username'),\n});\n\nnew cloudfront.Distribution(this, 'myDistCustomPolicy', {\n  defaultBehavior: {\n    origin: bucketOrigin,\n    originRequestPolicy: myOriginRequestPolicy,\n  },\n});","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.OriginRequestHeaderBehavior"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.BehaviorOptions","@aws-cdk/aws-cloudfront.Distribution","@aws-cdk/aws-cloudfront.DistributionProps","@aws-cdk/aws-cloudfront.IOrigin","@aws-cdk/aws-cloudfront.IOriginRequestPolicy","@aws-cdk/aws-cloudfront.OriginRequestCookieBehavior","@aws-cdk/aws-cloudfront.OriginRequestCookieBehavior#none","@aws-cdk/aws-cloudfront.OriginRequestHeaderBehavior","@aws-cdk/aws-cloudfront.OriginRequestHeaderBehavior#all","@aws-cdk/aws-cloudfront.OriginRequestPolicy","@aws-cdk/aws-cloudfront.OriginRequestPolicyProps","@aws-cdk/aws-cloudfront.OriginRequestQueryStringBehavior","@aws-cdk/aws-cloudfront.OriginRequestQueryStringBehavior#allowList","constructs.Construct"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// Creating a custom origin request policy for a Distribution -- all parameters optional\ndeclare const bucketOrigin: origins.S3Origin;\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from 'constructs';\nimport { Duration, Stack } from '@aws-cdk/core';\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nimport * as origins from '@aws-cdk/aws-cloudfront-origins';\nimport * as s3 from '@aws-cdk/aws-s3';\nimport * as ec2 from '@aws-cdk/aws-ec2';\nimport * as elbv2 from '@aws-cdk/aws-elasticloadbalancingv2';\nimport * as lambda from '@aws-cdk/aws-lambda';\nimport * as path from 'path';\n\nclass Context extends Stack {\n  constructor(scope: Construct, id: string) {\n    super(scope, id);\n\n    // Code snippet begins after !show marker below\n/// !show\n\nconst myOriginRequestPolicy = new cloudfront.OriginRequestPolicy(this, 'OriginRequestPolicy', {\n  originRequestPolicyName: 'MyPolicy',\n  comment: 'A default policy',\n  cookieBehavior: cloudfront.OriginRequestCookieBehavior.none(),\n  headerBehavior: cloudfront.OriginRequestHeaderBehavior.all('CloudFront-Is-Android-Viewer'),\n  queryStringBehavior: cloudfront.OriginRequestQueryStringBehavior.allowList('username'),\n});\n\nnew cloudfront.Distribution(this, 'myDistCustomPolicy', {\n  defaultBehavior: {\n    origin: bucketOrigin,\n    originRequestPolicy: myOriginRequestPolicy,\n  },\n});\n/// !hide\n// Code snippet ended before !hide marker above\n  }\n}\n","syntaxKindCounter":{"10":6,"75":27,"104":2,"130":1,"153":1,"169":1,"193":3,"194":8,"196":3,"197":2,"225":2,"226":1,"242":2,"243":2,"281":8,"290":1},"fqnsFingerprint":"05968f9212199cb0b55a64aeb9510210d75a639e64dfcf91901cc1f201662d76"},"3570b618a31468ceaa8043b22c4c297ef211a083c2885de9d61e1e433b705c75":{"translations":{"python":{"source":"# Using an existing origin request policy for a Distribution\n# bucket_origin: origins.S3Origin\n\ncloudfront.Distribution(self, \"myDistManagedPolicy\",\n    default_behavior=cloudfront.BehaviorOptions(\n        origin=bucket_origin,\n        origin_request_policy=cloudfront.OriginRequestPolicy.CORS_S3_ORIGIN\n    )\n)","version":"2"},"csharp":{"source":"// Using an existing origin request policy for a Distribution\nS3Origin bucketOrigin;\n\nnew Distribution(this, \"myDistManagedPolicy\", new DistributionProps {\n    DefaultBehavior = new BehaviorOptions {\n        Origin = bucketOrigin,\n        OriginRequestPolicy = OriginRequestPolicy.CORS_S3_ORIGIN\n    }\n});","version":"1"},"java":{"source":"// Using an existing origin request policy for a Distribution\nS3Origin bucketOrigin;\n\nDistribution.Builder.create(this, \"myDistManagedPolicy\")\n        .defaultBehavior(BehaviorOptions.builder()\n                .origin(bucketOrigin)\n                .originRequestPolicy(OriginRequestPolicy.CORS_S3_ORIGIN)\n                .build())\n        .build();","version":"1"},"go":{"source":"// Using an existing origin request policy for a Distribution\nvar bucketOrigin s3Origin\n\ncloudfront.NewDistribution(this, jsii.String(\"myDistManagedPolicy\"), &DistributionProps{\n\tDefaultBehavior: &BehaviorOptions{\n\t\tOrigin: bucketOrigin,\n\t\tOriginRequestPolicy: cloudfront.OriginRequestPolicy_CORS_S3_ORIGIN(),\n\t},\n})","version":"1"},"$":{"source":"// Using an existing origin request policy for a Distribution\ndeclare const bucketOrigin: origins.S3Origin;\nnew cloudfront.Distribution(this, 'myDistManagedPolicy', {\n  defaultBehavior: {\n    origin: bucketOrigin,\n    originRequestPolicy: cloudfront.OriginRequestPolicy.CORS_S3_ORIGIN,\n  },\n});","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.OriginRequestPolicy"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.BehaviorOptions","@aws-cdk/aws-cloudfront.Distribution","@aws-cdk/aws-cloudfront.DistributionProps","@aws-cdk/aws-cloudfront.IOrigin","@aws-cdk/aws-cloudfront.IOriginRequestPolicy","@aws-cdk/aws-cloudfront.OriginRequestPolicy","@aws-cdk/aws-cloudfront.OriginRequestPolicy#CORS_S3_ORIGIN","constructs.Construct"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// Using an existing origin request policy for a Distribution\ndeclare const bucketOrigin: origins.S3Origin;\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from 'constructs';\nimport { Duration, Stack } from '@aws-cdk/core';\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nimport * as origins from '@aws-cdk/aws-cloudfront-origins';\nimport * as s3 from '@aws-cdk/aws-s3';\nimport * as ec2 from '@aws-cdk/aws-ec2';\nimport * as elbv2 from '@aws-cdk/aws-elasticloadbalancingv2';\nimport * as lambda from '@aws-cdk/aws-lambda';\nimport * as path from 'path';\n\nclass Context extends Stack {\n  constructor(scope: Construct, id: string) {\n    super(scope, id);\n\n    // Code snippet begins after !show marker below\n/// !show\n\nnew cloudfront.Distribution(this, 'myDistManagedPolicy', {\n  defaultBehavior: {\n    origin: bucketOrigin,\n    originRequestPolicy: cloudfront.OriginRequestPolicy.CORS_S3_ORIGIN,\n  },\n});\n/// !hide\n// Code snippet ended before !hide marker above\n  }\n}\n","syntaxKindCounter":{"10":1,"75":12,"104":1,"130":1,"153":1,"169":1,"193":2,"194":3,"197":1,"225":1,"226":1,"242":1,"243":1,"281":3,"290":1},"fqnsFingerprint":"22707050c1349ad0b5deb3a9f2da316eac917ed5911941bc8551604ff6652d2c"},"2e1e54be5eea0eda7ac612afb238398b75dcda9072b9bc7714ea819f3fe2b42c":{"translations":{"python":{"source":"# Creating a custom origin request policy for a Distribution -- all parameters optional\n# bucket_origin: origins.S3Origin\n\nmy_origin_request_policy = cloudfront.OriginRequestPolicy(self, \"OriginRequestPolicy\",\n    origin_request_policy_name=\"MyPolicy\",\n    comment=\"A default policy\",\n    cookie_behavior=cloudfront.OriginRequestCookieBehavior.none(),\n    header_behavior=cloudfront.OriginRequestHeaderBehavior.all(\"CloudFront-Is-Android-Viewer\"),\n    query_string_behavior=cloudfront.OriginRequestQueryStringBehavior.allow_list(\"username\")\n)\n\ncloudfront.Distribution(self, \"myDistCustomPolicy\",\n    default_behavior=cloudfront.BehaviorOptions(\n        origin=bucket_origin,\n        origin_request_policy=my_origin_request_policy\n    )\n)","version":"2"},"csharp":{"source":"// Creating a custom origin request policy for a Distribution -- all parameters optional\nS3Origin bucketOrigin;\n\nvar myOriginRequestPolicy = new OriginRequestPolicy(this, \"OriginRequestPolicy\", new OriginRequestPolicyProps {\n    OriginRequestPolicyName = \"MyPolicy\",\n    Comment = \"A default policy\",\n    CookieBehavior = OriginRequestCookieBehavior.None(),\n    HeaderBehavior = OriginRequestHeaderBehavior.All(\"CloudFront-Is-Android-Viewer\"),\n    QueryStringBehavior = OriginRequestQueryStringBehavior.AllowList(\"username\")\n});\n\nnew Distribution(this, \"myDistCustomPolicy\", new DistributionProps {\n    DefaultBehavior = new BehaviorOptions {\n        Origin = bucketOrigin,\n        OriginRequestPolicy = myOriginRequestPolicy\n    }\n});","version":"1"},"java":{"source":"// Creating a custom origin request policy for a Distribution -- all parameters optional\nS3Origin bucketOrigin;\n\nOriginRequestPolicy myOriginRequestPolicy = OriginRequestPolicy.Builder.create(this, \"OriginRequestPolicy\")\n        .originRequestPolicyName(\"MyPolicy\")\n        .comment(\"A default policy\")\n        .cookieBehavior(OriginRequestCookieBehavior.none())\n        .headerBehavior(OriginRequestHeaderBehavior.all(\"CloudFront-Is-Android-Viewer\"))\n        .queryStringBehavior(OriginRequestQueryStringBehavior.allowList(\"username\"))\n        .build();\n\nDistribution.Builder.create(this, \"myDistCustomPolicy\")\n        .defaultBehavior(BehaviorOptions.builder()\n                .origin(bucketOrigin)\n                .originRequestPolicy(myOriginRequestPolicy)\n                .build())\n        .build();","version":"1"},"go":{"source":"// Creating a custom origin request policy for a Distribution -- all parameters optional\nvar bucketOrigin s3Origin\n\nmyOriginRequestPolicy := cloudfront.NewOriginRequestPolicy(this, jsii.String(\"OriginRequestPolicy\"), &OriginRequestPolicyProps{\n\tOriginRequestPolicyName: jsii.String(\"MyPolicy\"),\n\tComment: jsii.String(\"A default policy\"),\n\tCookieBehavior: cloudfront.OriginRequestCookieBehavior_None(),\n\tHeaderBehavior: cloudfront.OriginRequestHeaderBehavior_All(jsii.String(\"CloudFront-Is-Android-Viewer\")),\n\tQueryStringBehavior: cloudfront.OriginRequestQueryStringBehavior_AllowList(jsii.String(\"username\")),\n})\n\ncloudfront.NewDistribution(this, jsii.String(\"myDistCustomPolicy\"), &DistributionProps{\n\tDefaultBehavior: &BehaviorOptions{\n\t\tOrigin: bucketOrigin,\n\t\tOriginRequestPolicy: myOriginRequestPolicy,\n\t},\n})","version":"1"},"$":{"source":"// Creating a custom origin request policy for a Distribution -- all parameters optional\ndeclare const bucketOrigin: origins.S3Origin;\nconst myOriginRequestPolicy = new cloudfront.OriginRequestPolicy(this, 'OriginRequestPolicy', {\n  originRequestPolicyName: 'MyPolicy',\n  comment: 'A default policy',\n  cookieBehavior: cloudfront.OriginRequestCookieBehavior.none(),\n  headerBehavior: cloudfront.OriginRequestHeaderBehavior.all('CloudFront-Is-Android-Viewer'),\n  queryStringBehavior: cloudfront.OriginRequestQueryStringBehavior.allowList('username'),\n});\n\nnew cloudfront.Distribution(this, 'myDistCustomPolicy', {\n  defaultBehavior: {\n    origin: bucketOrigin,\n    originRequestPolicy: myOriginRequestPolicy,\n  },\n});","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.OriginRequestPolicyProps"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.BehaviorOptions","@aws-cdk/aws-cloudfront.Distribution","@aws-cdk/aws-cloudfront.DistributionProps","@aws-cdk/aws-cloudfront.IOrigin","@aws-cdk/aws-cloudfront.IOriginRequestPolicy","@aws-cdk/aws-cloudfront.OriginRequestCookieBehavior","@aws-cdk/aws-cloudfront.OriginRequestCookieBehavior#none","@aws-cdk/aws-cloudfront.OriginRequestHeaderBehavior","@aws-cdk/aws-cloudfront.OriginRequestHeaderBehavior#all","@aws-cdk/aws-cloudfront.OriginRequestPolicy","@aws-cdk/aws-cloudfront.OriginRequestPolicyProps","@aws-cdk/aws-cloudfront.OriginRequestQueryStringBehavior","@aws-cdk/aws-cloudfront.OriginRequestQueryStringBehavior#allowList","constructs.Construct"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// Creating a custom origin request policy for a Distribution -- all parameters optional\ndeclare const bucketOrigin: origins.S3Origin;\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from 'constructs';\nimport { Duration, Stack } from '@aws-cdk/core';\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nimport * as origins from '@aws-cdk/aws-cloudfront-origins';\nimport * as s3 from '@aws-cdk/aws-s3';\nimport * as ec2 from '@aws-cdk/aws-ec2';\nimport * as elbv2 from '@aws-cdk/aws-elasticloadbalancingv2';\nimport * as lambda from '@aws-cdk/aws-lambda';\nimport * as path from 'path';\n\nclass Context extends Stack {\n  constructor(scope: Construct, id: string) {\n    super(scope, id);\n\n    // Code snippet begins after !show marker below\n/// !show\n\nconst myOriginRequestPolicy = new cloudfront.OriginRequestPolicy(this, 'OriginRequestPolicy', {\n  originRequestPolicyName: 'MyPolicy',\n  comment: 'A default policy',\n  cookieBehavior: cloudfront.OriginRequestCookieBehavior.none(),\n  headerBehavior: cloudfront.OriginRequestHeaderBehavior.all('CloudFront-Is-Android-Viewer'),\n  queryStringBehavior: cloudfront.OriginRequestQueryStringBehavior.allowList('username'),\n});\n\nnew cloudfront.Distribution(this, 'myDistCustomPolicy', {\n  defaultBehavior: {\n    origin: bucketOrigin,\n    originRequestPolicy: myOriginRequestPolicy,\n  },\n});\n/// !hide\n// Code snippet ended before !hide marker above\n  }\n}\n","syntaxKindCounter":{"10":6,"75":27,"104":2,"130":1,"153":1,"169":1,"193":3,"194":8,"196":3,"197":2,"225":2,"226":1,"242":2,"243":2,"281":8,"290":1},"fqnsFingerprint":"05968f9212199cb0b55a64aeb9510210d75a639e64dfcf91901cc1f201662d76"},"d907fc9c040256430d5c20152ca25ed14870aaaa489d75f9901ee2aa2620e53d":{"translations":{"python":{"source":"# Creating a custom origin request policy for a Distribution -- all parameters optional\n# bucket_origin: origins.S3Origin\n\nmy_origin_request_policy = cloudfront.OriginRequestPolicy(self, \"OriginRequestPolicy\",\n    origin_request_policy_name=\"MyPolicy\",\n    comment=\"A default policy\",\n    cookie_behavior=cloudfront.OriginRequestCookieBehavior.none(),\n    header_behavior=cloudfront.OriginRequestHeaderBehavior.all(\"CloudFront-Is-Android-Viewer\"),\n    query_string_behavior=cloudfront.OriginRequestQueryStringBehavior.allow_list(\"username\")\n)\n\ncloudfront.Distribution(self, \"myDistCustomPolicy\",\n    default_behavior=cloudfront.BehaviorOptions(\n        origin=bucket_origin,\n        origin_request_policy=my_origin_request_policy\n    )\n)","version":"2"},"csharp":{"source":"// Creating a custom origin request policy for a Distribution -- all parameters optional\nS3Origin bucketOrigin;\n\nvar myOriginRequestPolicy = new OriginRequestPolicy(this, \"OriginRequestPolicy\", new OriginRequestPolicyProps {\n    OriginRequestPolicyName = \"MyPolicy\",\n    Comment = \"A default policy\",\n    CookieBehavior = OriginRequestCookieBehavior.None(),\n    HeaderBehavior = OriginRequestHeaderBehavior.All(\"CloudFront-Is-Android-Viewer\"),\n    QueryStringBehavior = OriginRequestQueryStringBehavior.AllowList(\"username\")\n});\n\nnew Distribution(this, \"myDistCustomPolicy\", new DistributionProps {\n    DefaultBehavior = new BehaviorOptions {\n        Origin = bucketOrigin,\n        OriginRequestPolicy = myOriginRequestPolicy\n    }\n});","version":"1"},"java":{"source":"// Creating a custom origin request policy for a Distribution -- all parameters optional\nS3Origin bucketOrigin;\n\nOriginRequestPolicy myOriginRequestPolicy = OriginRequestPolicy.Builder.create(this, \"OriginRequestPolicy\")\n        .originRequestPolicyName(\"MyPolicy\")\n        .comment(\"A default policy\")\n        .cookieBehavior(OriginRequestCookieBehavior.none())\n        .headerBehavior(OriginRequestHeaderBehavior.all(\"CloudFront-Is-Android-Viewer\"))\n        .queryStringBehavior(OriginRequestQueryStringBehavior.allowList(\"username\"))\n        .build();\n\nDistribution.Builder.create(this, \"myDistCustomPolicy\")\n        .defaultBehavior(BehaviorOptions.builder()\n                .origin(bucketOrigin)\n                .originRequestPolicy(myOriginRequestPolicy)\n                .build())\n        .build();","version":"1"},"go":{"source":"// Creating a custom origin request policy for a Distribution -- all parameters optional\nvar bucketOrigin s3Origin\n\nmyOriginRequestPolicy := cloudfront.NewOriginRequestPolicy(this, jsii.String(\"OriginRequestPolicy\"), &OriginRequestPolicyProps{\n\tOriginRequestPolicyName: jsii.String(\"MyPolicy\"),\n\tComment: jsii.String(\"A default policy\"),\n\tCookieBehavior: cloudfront.OriginRequestCookieBehavior_None(),\n\tHeaderBehavior: cloudfront.OriginRequestHeaderBehavior_All(jsii.String(\"CloudFront-Is-Android-Viewer\")),\n\tQueryStringBehavior: cloudfront.OriginRequestQueryStringBehavior_AllowList(jsii.String(\"username\")),\n})\n\ncloudfront.NewDistribution(this, jsii.String(\"myDistCustomPolicy\"), &DistributionProps{\n\tDefaultBehavior: &BehaviorOptions{\n\t\tOrigin: bucketOrigin,\n\t\tOriginRequestPolicy: myOriginRequestPolicy,\n\t},\n})","version":"1"},"$":{"source":"// Creating a custom origin request policy for a Distribution -- all parameters optional\ndeclare const bucketOrigin: origins.S3Origin;\nconst myOriginRequestPolicy = new cloudfront.OriginRequestPolicy(this, 'OriginRequestPolicy', {\n  originRequestPolicyName: 'MyPolicy',\n  comment: 'A default policy',\n  cookieBehavior: cloudfront.OriginRequestCookieBehavior.none(),\n  headerBehavior: cloudfront.OriginRequestHeaderBehavior.all('CloudFront-Is-Android-Viewer'),\n  queryStringBehavior: cloudfront.OriginRequestQueryStringBehavior.allowList('username'),\n});\n\nnew cloudfront.Distribution(this, 'myDistCustomPolicy', {\n  defaultBehavior: {\n    origin: bucketOrigin,\n    originRequestPolicy: myOriginRequestPolicy,\n  },\n});","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.OriginRequestQueryStringBehavior"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.BehaviorOptions","@aws-cdk/aws-cloudfront.Distribution","@aws-cdk/aws-cloudfront.DistributionProps","@aws-cdk/aws-cloudfront.IOrigin","@aws-cdk/aws-cloudfront.IOriginRequestPolicy","@aws-cdk/aws-cloudfront.OriginRequestCookieBehavior","@aws-cdk/aws-cloudfront.OriginRequestCookieBehavior#none","@aws-cdk/aws-cloudfront.OriginRequestHeaderBehavior","@aws-cdk/aws-cloudfront.OriginRequestHeaderBehavior#all","@aws-cdk/aws-cloudfront.OriginRequestPolicy","@aws-cdk/aws-cloudfront.OriginRequestPolicyProps","@aws-cdk/aws-cloudfront.OriginRequestQueryStringBehavior","@aws-cdk/aws-cloudfront.OriginRequestQueryStringBehavior#allowList","constructs.Construct"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// Creating a custom origin request policy for a Distribution -- all parameters optional\ndeclare const bucketOrigin: origins.S3Origin;\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from 'constructs';\nimport { Duration, Stack } from '@aws-cdk/core';\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nimport * as origins from '@aws-cdk/aws-cloudfront-origins';\nimport * as s3 from '@aws-cdk/aws-s3';\nimport * as ec2 from '@aws-cdk/aws-ec2';\nimport * as elbv2 from '@aws-cdk/aws-elasticloadbalancingv2';\nimport * as lambda from '@aws-cdk/aws-lambda';\nimport * as path from 'path';\n\nclass Context extends Stack {\n  constructor(scope: Construct, id: string) {\n    super(scope, id);\n\n    // Code snippet begins after !show marker below\n/// !show\n\nconst myOriginRequestPolicy = new cloudfront.OriginRequestPolicy(this, 'OriginRequestPolicy', {\n  originRequestPolicyName: 'MyPolicy',\n  comment: 'A default policy',\n  cookieBehavior: cloudfront.OriginRequestCookieBehavior.none(),\n  headerBehavior: cloudfront.OriginRequestHeaderBehavior.all('CloudFront-Is-Android-Viewer'),\n  queryStringBehavior: cloudfront.OriginRequestQueryStringBehavior.allowList('username'),\n});\n\nnew cloudfront.Distribution(this, 'myDistCustomPolicy', {\n  defaultBehavior: {\n    origin: bucketOrigin,\n    originRequestPolicy: myOriginRequestPolicy,\n  },\n});\n/// !hide\n// Code snippet ended before !hide marker above\n  }\n}\n","syntaxKindCounter":{"10":6,"75":27,"104":2,"130":1,"153":1,"169":1,"193":3,"194":8,"196":3,"197":2,"225":2,"226":1,"242":2,"243":2,"281":8,"290":1},"fqnsFingerprint":"05968f9212199cb0b55a64aeb9510210d75a639e64dfcf91901cc1f201662d76"},"a9bf1d84b140d5c44569a8b715f4e84ca07f965edf0245b7e585f1b182d7affa":{"translations":{"python":{"source":"# Validating signed URLs or signed cookies with Trusted Key Groups\n\n# public key in PEM format\n# public_key: str\n\npub_key = cloudfront.PublicKey(self, \"MyPubKey\",\n    encoded_key=public_key\n)\n\nkey_group = cloudfront.KeyGroup(self, \"MyKeyGroup\",\n    items=[pub_key\n    ]\n)\n\ncloudfront.Distribution(self, \"Dist\",\n    default_behavior=cloudfront.BehaviorOptions(\n        origin=origins.HttpOrigin(\"www.example.com\"),\n        trusted_key_groups=[key_group\n        ]\n    )\n)","version":"2"},"csharp":{"source":"// Validating signed URLs or signed cookies with Trusted Key Groups\n\n// public key in PEM format\nstring publicKey;\n\nvar pubKey = new PublicKey(this, \"MyPubKey\", new PublicKeyProps {\n    EncodedKey = publicKey\n});\n\nvar keyGroup = new KeyGroup(this, \"MyKeyGroup\", new KeyGroupProps {\n    Items = new [] { pubKey }\n});\n\nnew Distribution(this, \"Dist\", new DistributionProps {\n    DefaultBehavior = new BehaviorOptions {\n        Origin = new HttpOrigin(\"www.example.com\"),\n        TrustedKeyGroups = new [] { keyGroup }\n    }\n});","version":"1"},"java":{"source":"// Validating signed URLs or signed cookies with Trusted Key Groups\n\n// public key in PEM format\nString publicKey;\n\nPublicKey pubKey = PublicKey.Builder.create(this, \"MyPubKey\")\n        .encodedKey(publicKey)\n        .build();\n\nKeyGroup keyGroup = KeyGroup.Builder.create(this, \"MyKeyGroup\")\n        .items(List.of(pubKey))\n        .build();\n\nDistribution.Builder.create(this, \"Dist\")\n        .defaultBehavior(BehaviorOptions.builder()\n                .origin(new HttpOrigin(\"www.example.com\"))\n                .trustedKeyGroups(List.of(keyGroup))\n                .build())\n        .build();","version":"1"},"go":{"source":"// Validating signed URLs or signed cookies with Trusted Key Groups\n\n// public key in PEM format\nvar publicKey string\n\npubKey := cloudfront.NewPublicKey(this, jsii.String(\"MyPubKey\"), &PublicKeyProps{\n\tEncodedKey: publicKey,\n})\n\nkeyGroup := cloudfront.NewKeyGroup(this, jsii.String(\"MyKeyGroup\"), &KeyGroupProps{\n\tItems: []iPublicKey{\n\t\tpubKey,\n\t},\n})\n\ncloudfront.NewDistribution(this, jsii.String(\"Dist\"), &DistributionProps{\n\tDefaultBehavior: &BehaviorOptions{\n\t\tOrigin: origins.NewHttpOrigin(jsii.String(\"www.example.com\")),\n\t\tTrustedKeyGroups: []iKeyGroup{\n\t\t\tkeyGroup,\n\t\t},\n\t},\n})","version":"1"},"$":{"source":"// Validating signed URLs or signed cookies with Trusted Key Groups\n\n// public key in PEM format\ndeclare const publicKey: string;\nconst pubKey = new cloudfront.PublicKey(this, 'MyPubKey', {\n  encodedKey: publicKey,\n});\n\nconst keyGroup = new cloudfront.KeyGroup(this, 'MyKeyGroup', {\n  items: [\n    pubKey,\n  ],\n});\n\nnew cloudfront.Distribution(this, 'Dist', {\n  defaultBehavior: {\n    origin: new origins.HttpOrigin('www.example.com'),\n    trustedKeyGroups: [\n      keyGroup,\n    ],\n  },\n});","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.PublicKey"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront-origins.HttpOrigin","@aws-cdk/aws-cloudfront.BehaviorOptions","@aws-cdk/aws-cloudfront.Distribution","@aws-cdk/aws-cloudfront.DistributionProps","@aws-cdk/aws-cloudfront.IOrigin","@aws-cdk/aws-cloudfront.KeyGroup","@aws-cdk/aws-cloudfront.KeyGroupProps","@aws-cdk/aws-cloudfront.PublicKey","@aws-cdk/aws-cloudfront.PublicKeyProps","constructs.Construct"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// Validating signed URLs or signed cookies with Trusted Key Groups\n\n// public key in PEM format\ndeclare const publicKey: string;\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from 'constructs';\nimport { Duration, Stack } from '@aws-cdk/core';\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nimport * as origins from '@aws-cdk/aws-cloudfront-origins';\nimport * as s3 from '@aws-cdk/aws-s3';\nimport * as ec2 from '@aws-cdk/aws-ec2';\nimport * as elbv2 from '@aws-cdk/aws-elasticloadbalancingv2';\nimport * as lambda from '@aws-cdk/aws-lambda';\nimport * as path from 'path';\n\nclass Context extends Stack {\n  constructor(scope: Construct, id: string) {\n    super(scope, id);\n\n    // Code snippet begins after !show marker below\n/// !show\n\nconst pubKey = new cloudfront.PublicKey(this, 'MyPubKey', {\n  encodedKey: publicKey,\n});\n\nconst keyGroup = new cloudfront.KeyGroup(this, 'MyKeyGroup', {\n  items: [\n    pubKey,\n  ],\n});\n\nnew cloudfront.Distribution(this, 'Dist', {\n  defaultBehavior: {\n    origin: new origins.HttpOrigin('www.example.com'),\n    trustedKeyGroups: [\n      keyGroup,\n    ],\n  },\n});\n/// !hide\n// Code snippet ended before !hide marker above\n  }\n}\n","syntaxKindCounter":{"10":4,"75":19,"104":3,"130":1,"143":1,"192":2,"193":4,"194":4,"197":4,"225":3,"226":1,"242":3,"243":3,"281":5,"290":1},"fqnsFingerprint":"3ad307a97cef2618550323674a3aca38ac179d755c6f984025a53a1d879abe6a"},"1f53e4f461265faada5e7e1583f22cdd942c4cbd2176ce1cb01186d2e08d70f4":{"translations":{"python":{"source":"# Validating signed URLs or signed cookies with Trusted Key Groups\n\n# public key in PEM format\n# public_key: str\n\npub_key = cloudfront.PublicKey(self, \"MyPubKey\",\n    encoded_key=public_key\n)\n\nkey_group = cloudfront.KeyGroup(self, \"MyKeyGroup\",\n    items=[pub_key\n    ]\n)\n\ncloudfront.Distribution(self, \"Dist\",\n    default_behavior=cloudfront.BehaviorOptions(\n        origin=origins.HttpOrigin(\"www.example.com\"),\n        trusted_key_groups=[key_group\n        ]\n    )\n)","version":"2"},"csharp":{"source":"// Validating signed URLs or signed cookies with Trusted Key Groups\n\n// public key in PEM format\nstring publicKey;\n\nvar pubKey = new PublicKey(this, \"MyPubKey\", new PublicKeyProps {\n    EncodedKey = publicKey\n});\n\nvar keyGroup = new KeyGroup(this, \"MyKeyGroup\", new KeyGroupProps {\n    Items = new [] { pubKey }\n});\n\nnew Distribution(this, \"Dist\", new DistributionProps {\n    DefaultBehavior = new BehaviorOptions {\n        Origin = new HttpOrigin(\"www.example.com\"),\n        TrustedKeyGroups = new [] { keyGroup }\n    }\n});","version":"1"},"java":{"source":"// Validating signed URLs or signed cookies with Trusted Key Groups\n\n// public key in PEM format\nString publicKey;\n\nPublicKey pubKey = PublicKey.Builder.create(this, \"MyPubKey\")\n        .encodedKey(publicKey)\n        .build();\n\nKeyGroup keyGroup = KeyGroup.Builder.create(this, \"MyKeyGroup\")\n        .items(List.of(pubKey))\n        .build();\n\nDistribution.Builder.create(this, \"Dist\")\n        .defaultBehavior(BehaviorOptions.builder()\n                .origin(new HttpOrigin(\"www.example.com\"))\n                .trustedKeyGroups(List.of(keyGroup))\n                .build())\n        .build();","version":"1"},"go":{"source":"// Validating signed URLs or signed cookies with Trusted Key Groups\n\n// public key in PEM format\nvar publicKey string\n\npubKey := cloudfront.NewPublicKey(this, jsii.String(\"MyPubKey\"), &PublicKeyProps{\n\tEncodedKey: publicKey,\n})\n\nkeyGroup := cloudfront.NewKeyGroup(this, jsii.String(\"MyKeyGroup\"), &KeyGroupProps{\n\tItems: []iPublicKey{\n\t\tpubKey,\n\t},\n})\n\ncloudfront.NewDistribution(this, jsii.String(\"Dist\"), &DistributionProps{\n\tDefaultBehavior: &BehaviorOptions{\n\t\tOrigin: origins.NewHttpOrigin(jsii.String(\"www.example.com\")),\n\t\tTrustedKeyGroups: []iKeyGroup{\n\t\t\tkeyGroup,\n\t\t},\n\t},\n})","version":"1"},"$":{"source":"// Validating signed URLs or signed cookies with Trusted Key Groups\n\n// public key in PEM format\ndeclare const publicKey: string;\nconst pubKey = new cloudfront.PublicKey(this, 'MyPubKey', {\n  encodedKey: publicKey,\n});\n\nconst keyGroup = new cloudfront.KeyGroup(this, 'MyKeyGroup', {\n  items: [\n    pubKey,\n  ],\n});\n\nnew cloudfront.Distribution(this, 'Dist', {\n  defaultBehavior: {\n    origin: new origins.HttpOrigin('www.example.com'),\n    trustedKeyGroups: [\n      keyGroup,\n    ],\n  },\n});","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.PublicKeyProps"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront-origins.HttpOrigin","@aws-cdk/aws-cloudfront.BehaviorOptions","@aws-cdk/aws-cloudfront.Distribution","@aws-cdk/aws-cloudfront.DistributionProps","@aws-cdk/aws-cloudfront.IOrigin","@aws-cdk/aws-cloudfront.KeyGroup","@aws-cdk/aws-cloudfront.KeyGroupProps","@aws-cdk/aws-cloudfront.PublicKey","@aws-cdk/aws-cloudfront.PublicKeyProps","constructs.Construct"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// Validating signed URLs or signed cookies with Trusted Key Groups\n\n// public key in PEM format\ndeclare const publicKey: string;\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from 'constructs';\nimport { Duration, Stack } from '@aws-cdk/core';\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nimport * as origins from '@aws-cdk/aws-cloudfront-origins';\nimport * as s3 from '@aws-cdk/aws-s3';\nimport * as ec2 from '@aws-cdk/aws-ec2';\nimport * as elbv2 from '@aws-cdk/aws-elasticloadbalancingv2';\nimport * as lambda from '@aws-cdk/aws-lambda';\nimport * as path from 'path';\n\nclass Context extends Stack {\n  constructor(scope: Construct, id: string) {\n    super(scope, id);\n\n    // Code snippet begins after !show marker below\n/// !show\n\nconst pubKey = new cloudfront.PublicKey(this, 'MyPubKey', {\n  encodedKey: publicKey,\n});\n\nconst keyGroup = new cloudfront.KeyGroup(this, 'MyKeyGroup', {\n  items: [\n    pubKey,\n  ],\n});\n\nnew cloudfront.Distribution(this, 'Dist', {\n  defaultBehavior: {\n    origin: new origins.HttpOrigin('www.example.com'),\n    trustedKeyGroups: [\n      keyGroup,\n    ],\n  },\n});\n/// !hide\n// Code snippet ended before !hide marker above\n  }\n}\n","syntaxKindCounter":{"10":4,"75":19,"104":3,"130":1,"143":1,"192":2,"193":4,"194":4,"197":4,"225":3,"226":1,"242":3,"243":3,"281":5,"290":1},"fqnsFingerprint":"3ad307a97cef2618550323674a3aca38ac179d755c6f984025a53a1d879abe6a"},"524e00ff758eb3c4be838263237f46110209a744b1b49c495e484243cc96bbac":{"translations":{"python":{"source":"# The code below shows an example of how to instantiate this type.\n# The values are placeholders you should change.\nimport aws_cdk.aws_cloudfront as cloudfront\n\nresponse_custom_header = cloudfront.ResponseCustomHeader(\n    header=\"header\",\n    override=False,\n    value=\"value\"\n)","version":"2"},"csharp":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nusing Amazon.CDK.AWS.CloudFront;\n\nvar responseCustomHeader = new ResponseCustomHeader {\n    Header = \"header\",\n    Override = false,\n    Value = \"value\"\n};","version":"1"},"java":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport software.amazon.awscdk.services.cloudfront.*;\n\nResponseCustomHeader responseCustomHeader = ResponseCustomHeader.builder()\n        .header(\"header\")\n        .override(false)\n        .value(\"value\")\n        .build();","version":"1"},"go":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport cloudfront \"github.com/aws-samples/dummy/awscdkawscloudfront\"\n\nresponseCustomHeader := &ResponseCustomHeader{\n\tHeader: jsii.String(\"header\"),\n\tOverride: jsii.Boolean(false),\n\tValue: jsii.String(\"value\"),\n}","version":"1"},"$":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nconst responseCustomHeader: cloudfront.ResponseCustomHeader = {\n  header: 'header',\n  override: false,\n  value: 'value',\n};","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.ResponseCustomHeader"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.ResponseCustomHeader"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from \"@aws-cdk/core\";\nclass MyConstruct extends Construct {\nconstructor(scope: Construct, id: string) {\nsuper(scope, id);\n// Code snippet begins after !show marker below\n/// !show\n\nconst responseCustomHeader: cloudfront.ResponseCustomHeader = {\n  header: 'header',\n  override: false,\n  value: 'value',\n};\n/// !hide\n// Code snippet ended before !hide marker above\n} }","syntaxKindCounter":{"10":3,"75":7,"91":1,"153":1,"169":1,"193":1,"225":1,"242":1,"243":1,"254":1,"255":1,"256":1,"281":3,"290":1},"fqnsFingerprint":"db2a3cfba4477d1fe448da4f23d1879a424b7638407e1fd90d9c63b5415a6ecd"},"c3f0d17f4bb074f6b1e669e4227373cfc3ac8f8d673b5a1c3efb2d8d46757854":{"translations":{"python":{"source":"# Using an existing managed response headers policy\n# bucket_origin: origins.S3Origin\n\ncloudfront.Distribution(self, \"myDistManagedPolicy\",\n    default_behavior=cloudfront.BehaviorOptions(\n        origin=bucket_origin,\n        response_headers_policy=cloudfront.ResponseHeadersPolicy.CORS_ALLOW_ALL_ORIGINS\n    )\n)\n\n# Creating a custom response headers policy -- all parameters optional\nmy_response_headers_policy = cloudfront.ResponseHeadersPolicy(self, \"ResponseHeadersPolicy\",\n    response_headers_policy_name=\"MyPolicy\",\n    comment=\"A default policy\",\n    cors_behavior=cloudfront.ResponseHeadersCorsBehavior(\n        access_control_allow_credentials=False,\n        access_control_allow_headers=[\"X-Custom-Header-1\", \"X-Custom-Header-2\"],\n        access_control_allow_methods=[\"GET\", \"POST\"],\n        access_control_allow_origins=[\"*\"],\n        access_control_expose_headers=[\"X-Custom-Header-1\", \"X-Custom-Header-2\"],\n        access_control_max_age=Duration.seconds(600),\n        origin_override=True\n    ),\n    custom_headers_behavior=cloudfront.ResponseCustomHeadersBehavior(\n        custom_headers=[cloudfront.ResponseCustomHeader(header=\"X-Amz-Date\", value=\"some-value\", override=True), cloudfront.ResponseCustomHeader(header=\"X-Amz-Security-Token\", value=\"some-value\", override=False)\n        ]\n    ),\n    security_headers_behavior=cloudfront.ResponseSecurityHeadersBehavior(\n        content_security_policy=cloudfront.ResponseHeadersContentSecurityPolicy(content_security_policy=\"default-src https:;\", override=True),\n        content_type_options=cloudfront.ResponseHeadersContentTypeOptions(override=True),\n        frame_options=cloudfront.ResponseHeadersFrameOptions(frame_option=cloudfront.HeadersFrameOption.DENY, override=True),\n        referrer_policy=cloudfront.ResponseHeadersReferrerPolicy(referrer_policy=cloudfront.HeadersReferrerPolicy.NO_REFERRER, override=True),\n        strict_transport_security=cloudfront.ResponseHeadersStrictTransportSecurity(access_control_max_age=Duration.seconds(600), include_subdomains=True, override=True),\n        xss_protection=cloudfront.ResponseHeadersXSSProtection(protection=True, mode_block=True, report_uri=\"https://example.com/csp-report\", override=True)\n    )\n)\ncloudfront.Distribution(self, \"myDistCustomPolicy\",\n    default_behavior=cloudfront.BehaviorOptions(\n        origin=bucket_origin,\n        response_headers_policy=my_response_headers_policy\n    )\n)","version":"2"},"csharp":{"source":"// Using an existing managed response headers policy\nS3Origin bucketOrigin;\n\nnew Distribution(this, \"myDistManagedPolicy\", new DistributionProps {\n    DefaultBehavior = new BehaviorOptions {\n        Origin = bucketOrigin,\n        ResponseHeadersPolicy = ResponseHeadersPolicy.CORS_ALLOW_ALL_ORIGINS\n    }\n});\n\n// Creating a custom response headers policy -- all parameters optional\nvar myResponseHeadersPolicy = new ResponseHeadersPolicy(this, \"ResponseHeadersPolicy\", new ResponseHeadersPolicyProps {\n    ResponseHeadersPolicyName = \"MyPolicy\",\n    Comment = \"A default policy\",\n    CorsBehavior = new ResponseHeadersCorsBehavior {\n        AccessControlAllowCredentials = false,\n        AccessControlAllowHeaders = new [] { \"X-Custom-Header-1\", \"X-Custom-Header-2\" },\n        AccessControlAllowMethods = new [] { \"GET\", \"POST\" },\n        AccessControlAllowOrigins = new [] { \"*\" },\n        AccessControlExposeHeaders = new [] { \"X-Custom-Header-1\", \"X-Custom-Header-2\" },\n        AccessControlMaxAge = Duration.Seconds(600),\n        OriginOverride = true\n    },\n    CustomHeadersBehavior = new ResponseCustomHeadersBehavior {\n        CustomHeaders = new [] { new ResponseCustomHeader { Header = \"X-Amz-Date\", Value = \"some-value\", Override = true }, new ResponseCustomHeader { Header = \"X-Amz-Security-Token\", Value = \"some-value\", Override = false } }\n    },\n    SecurityHeadersBehavior = new ResponseSecurityHeadersBehavior {\n        ContentSecurityPolicy = new ResponseHeadersContentSecurityPolicy { ContentSecurityPolicy = \"default-src https:;\", Override = true },\n        ContentTypeOptions = new ResponseHeadersContentTypeOptions { Override = true },\n        FrameOptions = new ResponseHeadersFrameOptions { FrameOption = HeadersFrameOption.DENY, Override = true },\n        ReferrerPolicy = new ResponseHeadersReferrerPolicy { ReferrerPolicy = HeadersReferrerPolicy.NO_REFERRER, Override = true },\n        StrictTransportSecurity = new ResponseHeadersStrictTransportSecurity { AccessControlMaxAge = Duration.Seconds(600), IncludeSubdomains = true, Override = true },\n        XssProtection = new ResponseHeadersXSSProtection { Protection = true, ModeBlock = true, ReportUri = \"https://example.com/csp-report\", Override = true }\n    }\n});\nnew Distribution(this, \"myDistCustomPolicy\", new DistributionProps {\n    DefaultBehavior = new BehaviorOptions {\n        Origin = bucketOrigin,\n        ResponseHeadersPolicy = myResponseHeadersPolicy\n    }\n});","version":"1"},"java":{"source":"// Using an existing managed response headers policy\nS3Origin bucketOrigin;\n\nDistribution.Builder.create(this, \"myDistManagedPolicy\")\n        .defaultBehavior(BehaviorOptions.builder()\n                .origin(bucketOrigin)\n                .responseHeadersPolicy(ResponseHeadersPolicy.CORS_ALLOW_ALL_ORIGINS)\n                .build())\n        .build();\n\n// Creating a custom response headers policy -- all parameters optional\nResponseHeadersPolicy myResponseHeadersPolicy = ResponseHeadersPolicy.Builder.create(this, \"ResponseHeadersPolicy\")\n        .responseHeadersPolicyName(\"MyPolicy\")\n        .comment(\"A default policy\")\n        .corsBehavior(ResponseHeadersCorsBehavior.builder()\n                .accessControlAllowCredentials(false)\n                .accessControlAllowHeaders(List.of(\"X-Custom-Header-1\", \"X-Custom-Header-2\"))\n                .accessControlAllowMethods(List.of(\"GET\", \"POST\"))\n                .accessControlAllowOrigins(List.of(\"*\"))\n                .accessControlExposeHeaders(List.of(\"X-Custom-Header-1\", \"X-Custom-Header-2\"))\n                .accessControlMaxAge(Duration.seconds(600))\n                .originOverride(true)\n                .build())\n        .customHeadersBehavior(ResponseCustomHeadersBehavior.builder()\n                .customHeaders(List.of(ResponseCustomHeader.builder().header(\"X-Amz-Date\").value(\"some-value\").override(true).build(), ResponseCustomHeader.builder().header(\"X-Amz-Security-Token\").value(\"some-value\").override(false).build()))\n                .build())\n        .securityHeadersBehavior(ResponseSecurityHeadersBehavior.builder()\n                .contentSecurityPolicy(ResponseHeadersContentSecurityPolicy.builder().contentSecurityPolicy(\"default-src https:;\").override(true).build())\n                .contentTypeOptions(ResponseHeadersContentTypeOptions.builder().override(true).build())\n                .frameOptions(ResponseHeadersFrameOptions.builder().frameOption(HeadersFrameOption.DENY).override(true).build())\n                .referrerPolicy(ResponseHeadersReferrerPolicy.builder().referrerPolicy(HeadersReferrerPolicy.NO_REFERRER).override(true).build())\n                .strictTransportSecurity(ResponseHeadersStrictTransportSecurity.builder().accessControlMaxAge(Duration.seconds(600)).includeSubdomains(true).override(true).build())\n                .xssProtection(ResponseHeadersXSSProtection.builder().protection(true).modeBlock(true).reportUri(\"https://example.com/csp-report\").override(true).build())\n                .build())\n        .build();\nDistribution.Builder.create(this, \"myDistCustomPolicy\")\n        .defaultBehavior(BehaviorOptions.builder()\n                .origin(bucketOrigin)\n                .responseHeadersPolicy(myResponseHeadersPolicy)\n                .build())\n        .build();","version":"1"},"go":{"source":"// Using an existing managed response headers policy\nvar bucketOrigin s3Origin\n\ncloudfront.NewDistribution(this, jsii.String(\"myDistManagedPolicy\"), &DistributionProps{\n\tDefaultBehavior: &BehaviorOptions{\n\t\tOrigin: bucketOrigin,\n\t\tResponseHeadersPolicy: cloudfront.ResponseHeadersPolicy_CORS_ALLOW_ALL_ORIGINS(),\n\t},\n})\n\n// Creating a custom response headers policy -- all parameters optional\nmyResponseHeadersPolicy := cloudfront.NewResponseHeadersPolicy(this, jsii.String(\"ResponseHeadersPolicy\"), &ResponseHeadersPolicyProps{\n\tResponseHeadersPolicyName: jsii.String(\"MyPolicy\"),\n\tComment: jsii.String(\"A default policy\"),\n\tCorsBehavior: &ResponseHeadersCorsBehavior{\n\t\tAccessControlAllowCredentials: jsii.Boolean(false),\n\t\tAccessControlAllowHeaders: []*string{\n\t\t\tjsii.String(\"X-Custom-Header-1\"),\n\t\t\tjsii.String(\"X-Custom-Header-2\"),\n\t\t},\n\t\tAccessControlAllowMethods: []*string{\n\t\t\tjsii.String(\"GET\"),\n\t\t\tjsii.String(\"POST\"),\n\t\t},\n\t\tAccessControlAllowOrigins: []*string{\n\t\t\tjsii.String(\"*\"),\n\t\t},\n\t\tAccessControlExposeHeaders: []*string{\n\t\t\tjsii.String(\"X-Custom-Header-1\"),\n\t\t\tjsii.String(\"X-Custom-Header-2\"),\n\t\t},\n\t\tAccessControlMaxAge: awscdkcore.Duration_Seconds(jsii.Number(600)),\n\t\tOriginOverride: jsii.Boolean(true),\n\t},\n\tCustomHeadersBehavior: &ResponseCustomHeadersBehavior{\n\t\tCustomHeaders: []responseCustomHeader{\n\t\t\t&responseCustomHeader{\n\t\t\t\tHeader: jsii.String(\"X-Amz-Date\"),\n\t\t\t\tValue: jsii.String(\"some-value\"),\n\t\t\t\tOverride: jsii.Boolean(true),\n\t\t\t},\n\t\t\t&responseCustomHeader{\n\t\t\t\tHeader: jsii.String(\"X-Amz-Security-Token\"),\n\t\t\t\tValue: jsii.String(\"some-value\"),\n\t\t\t\tOverride: jsii.Boolean(false),\n\t\t\t},\n\t\t},\n\t},\n\tSecurityHeadersBehavior: &ResponseSecurityHeadersBehavior{\n\t\tContentSecurityPolicy: &ResponseHeadersContentSecurityPolicy{\n\t\t\tContentSecurityPolicy: jsii.String(\"default-src https:;\"),\n\t\t\tOverride: jsii.Boolean(true),\n\t\t},\n\t\tContentTypeOptions: &ResponseHeadersContentTypeOptions{\n\t\t\tOverride: jsii.Boolean(true),\n\t\t},\n\t\tFrameOptions: &ResponseHeadersFrameOptions{\n\t\t\tFrameOption: cloudfront.HeadersFrameOption_DENY,\n\t\t\tOverride: jsii.Boolean(true),\n\t\t},\n\t\tReferrerPolicy: &ResponseHeadersReferrerPolicy{\n\t\t\tReferrerPolicy: cloudfront.HeadersReferrerPolicy_NO_REFERRER,\n\t\t\tOverride: jsii.Boolean(true),\n\t\t},\n\t\tStrictTransportSecurity: &ResponseHeadersStrictTransportSecurity{\n\t\t\tAccessControlMaxAge: *awscdkcore.Duration_*Seconds(jsii.Number(600)),\n\t\t\tIncludeSubdomains: jsii.Boolean(true),\n\t\t\tOverride: jsii.Boolean(true),\n\t\t},\n\t\tXssProtection: &ResponseHeadersXSSProtection{\n\t\t\tProtection: jsii.Boolean(true),\n\t\t\tModeBlock: jsii.Boolean(true),\n\t\t\tReportUri: jsii.String(\"https://example.com/csp-report\"),\n\t\t\tOverride: jsii.Boolean(true),\n\t\t},\n\t},\n})\ncloudfront.NewDistribution(this, jsii.String(\"myDistCustomPolicy\"), &DistributionProps{\n\tDefaultBehavior: &BehaviorOptions{\n\t\tOrigin: bucketOrigin,\n\t\tResponseHeadersPolicy: myResponseHeadersPolicy,\n\t},\n})","version":"1"},"$":{"source":"// Using an existing managed response headers policy\ndeclare const bucketOrigin: origins.S3Origin;\nnew cloudfront.Distribution(this, 'myDistManagedPolicy', {\n  defaultBehavior: {\n    origin: bucketOrigin,\n    responseHeadersPolicy: cloudfront.ResponseHeadersPolicy.CORS_ALLOW_ALL_ORIGINS,\n  },\n});\n\n// Creating a custom response headers policy -- all parameters optional\nconst myResponseHeadersPolicy = new cloudfront.ResponseHeadersPolicy(this, 'ResponseHeadersPolicy', {\n  responseHeadersPolicyName: 'MyPolicy',\n  comment: 'A default policy',\n  corsBehavior: {\n    accessControlAllowCredentials: false,\n    accessControlAllowHeaders: ['X-Custom-Header-1', 'X-Custom-Header-2'],\n    accessControlAllowMethods: ['GET', 'POST'],\n    accessControlAllowOrigins: ['*'],\n    accessControlExposeHeaders: ['X-Custom-Header-1', 'X-Custom-Header-2'],\n    accessControlMaxAge: Duration.seconds(600),\n    originOverride: true,\n  },\n  customHeadersBehavior: {\n    customHeaders: [\n      { header: 'X-Amz-Date', value: 'some-value', override: true },\n      { header: 'X-Amz-Security-Token', value: 'some-value', override: false },\n    ],\n  },\n  securityHeadersBehavior: {\n    contentSecurityPolicy: { contentSecurityPolicy: 'default-src https:;', override: true },\n    contentTypeOptions: { override: true },\n    frameOptions: { frameOption: cloudfront.HeadersFrameOption.DENY, override: true },\n    referrerPolicy: { referrerPolicy: cloudfront.HeadersReferrerPolicy.NO_REFERRER, override: true },\n    strictTransportSecurity: { accessControlMaxAge: Duration.seconds(600), includeSubdomains: true, override: true },\n    xssProtection: { protection: true, modeBlock: true, reportUri: 'https://example.com/csp-report', override: true },\n  },\n});\nnew cloudfront.Distribution(this, 'myDistCustomPolicy', {\n  defaultBehavior: {\n    origin: bucketOrigin,\n    responseHeadersPolicy: myResponseHeadersPolicy,\n  },\n});","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.ResponseCustomHeadersBehavior"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.BehaviorOptions","@aws-cdk/aws-cloudfront.Distribution","@aws-cdk/aws-cloudfront.DistributionProps","@aws-cdk/aws-cloudfront.HeadersFrameOption","@aws-cdk/aws-cloudfront.HeadersFrameOption#DENY","@aws-cdk/aws-cloudfront.HeadersReferrerPolicy","@aws-cdk/aws-cloudfront.HeadersReferrerPolicy#NO_REFERRER","@aws-cdk/aws-cloudfront.IOrigin","@aws-cdk/aws-cloudfront.IResponseHeadersPolicy","@aws-cdk/aws-cloudfront.ResponseCustomHeadersBehavior","@aws-cdk/aws-cloudfront.ResponseHeadersContentSecurityPolicy","@aws-cdk/aws-cloudfront.ResponseHeadersContentTypeOptions","@aws-cdk/aws-cloudfront.ResponseHeadersCorsBehavior","@aws-cdk/aws-cloudfront.ResponseHeadersFrameOptions","@aws-cdk/aws-cloudfront.ResponseHeadersPolicy","@aws-cdk/aws-cloudfront.ResponseHeadersPolicy#CORS_ALLOW_ALL_ORIGINS","@aws-cdk/aws-cloudfront.ResponseHeadersPolicyProps","@aws-cdk/aws-cloudfront.ResponseHeadersReferrerPolicy","@aws-cdk/aws-cloudfront.ResponseHeadersStrictTransportSecurity","@aws-cdk/aws-cloudfront.ResponseHeadersXSSProtection","@aws-cdk/aws-cloudfront.ResponseSecurityHeadersBehavior","@aws-cdk/core.Duration","@aws-cdk/core.Duration#seconds","constructs.Construct"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// Using an existing managed response headers policy\ndeclare const bucketOrigin: origins.S3Origin;\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from 'constructs';\nimport { Duration, Stack } from '@aws-cdk/core';\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nimport * as origins from '@aws-cdk/aws-cloudfront-origins';\nimport * as s3 from '@aws-cdk/aws-s3';\nimport * as ec2 from '@aws-cdk/aws-ec2';\nimport * as elbv2 from '@aws-cdk/aws-elasticloadbalancingv2';\nimport * as lambda from '@aws-cdk/aws-lambda';\nimport * as path from 'path';\n\nclass Context extends Stack {\n  constructor(scope: Construct, id: string) {\n    super(scope, id);\n\n    // Code snippet begins after !show marker below\n/// !show\n\nnew cloudfront.Distribution(this, 'myDistManagedPolicy', {\n  defaultBehavior: {\n    origin: bucketOrigin,\n    responseHeadersPolicy: cloudfront.ResponseHeadersPolicy.CORS_ALLOW_ALL_ORIGINS,\n  },\n});\n\n// Creating a custom response headers policy -- all parameters optional\nconst myResponseHeadersPolicy = new cloudfront.ResponseHeadersPolicy(this, 'ResponseHeadersPolicy', {\n  responseHeadersPolicyName: 'MyPolicy',\n  comment: 'A default policy',\n  corsBehavior: {\n    accessControlAllowCredentials: false,\n    accessControlAllowHeaders: ['X-Custom-Header-1', 'X-Custom-Header-2'],\n    accessControlAllowMethods: ['GET', 'POST'],\n    accessControlAllowOrigins: ['*'],\n    accessControlExposeHeaders: ['X-Custom-Header-1', 'X-Custom-Header-2'],\n    accessControlMaxAge: Duration.seconds(600),\n    originOverride: true,\n  },\n  customHeadersBehavior: {\n    customHeaders: [\n      { header: 'X-Amz-Date', value: 'some-value', override: true },\n      { header: 'X-Amz-Security-Token', value: 'some-value', override: false },\n    ],\n  },\n  securityHeadersBehavior: {\n    contentSecurityPolicy: { contentSecurityPolicy: 'default-src https:;', override: true },\n    contentTypeOptions: { override: true },\n    frameOptions: { frameOption: cloudfront.HeadersFrameOption.DENY, override: true },\n    referrerPolicy: { referrerPolicy: cloudfront.HeadersReferrerPolicy.NO_REFERRER, override: true },\n    strictTransportSecurity: { accessControlMaxAge: Duration.seconds(600), includeSubdomains: true, override: true },\n    xssProtection: { protection: true, modeBlock: true, reportUri: 'https://example.com/csp-report', override: true },\n  },\n});\nnew cloudfront.Distribution(this, 'myDistCustomPolicy', {\n  defaultBehavior: {\n    origin: bucketOrigin,\n    responseHeadersPolicy: myResponseHeadersPolicy,\n  },\n});\n/// !hide\n// Code snippet ended before !hide marker above\n  }\n}\n","syntaxKindCounter":{"8":2,"10":18,"75":71,"91":2,"104":3,"106":11,"130":1,"153":1,"169":1,"192":5,"193":16,"194":11,"196":2,"197":3,"225":2,"226":2,"242":2,"243":2,"281":45,"290":1},"fqnsFingerprint":"de7c89c01af6e4d1c64703e7256d7328023b8aa2e9f1257ee5a6f6ff30b30710"},"77ee82051c470b65188eb545d4b36b73c9535fc640f86accf2451fe58606f88b":{"translations":{"python":{"source":"# Using an existing managed response headers policy\n# bucket_origin: origins.S3Origin\n\ncloudfront.Distribution(self, \"myDistManagedPolicy\",\n    default_behavior=cloudfront.BehaviorOptions(\n        origin=bucket_origin,\n        response_headers_policy=cloudfront.ResponseHeadersPolicy.CORS_ALLOW_ALL_ORIGINS\n    )\n)\n\n# Creating a custom response headers policy -- all parameters optional\nmy_response_headers_policy = cloudfront.ResponseHeadersPolicy(self, \"ResponseHeadersPolicy\",\n    response_headers_policy_name=\"MyPolicy\",\n    comment=\"A default policy\",\n    cors_behavior=cloudfront.ResponseHeadersCorsBehavior(\n        access_control_allow_credentials=False,\n        access_control_allow_headers=[\"X-Custom-Header-1\", \"X-Custom-Header-2\"],\n        access_control_allow_methods=[\"GET\", \"POST\"],\n        access_control_allow_origins=[\"*\"],\n        access_control_expose_headers=[\"X-Custom-Header-1\", \"X-Custom-Header-2\"],\n        access_control_max_age=Duration.seconds(600),\n        origin_override=True\n    ),\n    custom_headers_behavior=cloudfront.ResponseCustomHeadersBehavior(\n        custom_headers=[cloudfront.ResponseCustomHeader(header=\"X-Amz-Date\", value=\"some-value\", override=True), cloudfront.ResponseCustomHeader(header=\"X-Amz-Security-Token\", value=\"some-value\", override=False)\n        ]\n    ),\n    security_headers_behavior=cloudfront.ResponseSecurityHeadersBehavior(\n        content_security_policy=cloudfront.ResponseHeadersContentSecurityPolicy(content_security_policy=\"default-src https:;\", override=True),\n        content_type_options=cloudfront.ResponseHeadersContentTypeOptions(override=True),\n        frame_options=cloudfront.ResponseHeadersFrameOptions(frame_option=cloudfront.HeadersFrameOption.DENY, override=True),\n        referrer_policy=cloudfront.ResponseHeadersReferrerPolicy(referrer_policy=cloudfront.HeadersReferrerPolicy.NO_REFERRER, override=True),\n        strict_transport_security=cloudfront.ResponseHeadersStrictTransportSecurity(access_control_max_age=Duration.seconds(600), include_subdomains=True, override=True),\n        xss_protection=cloudfront.ResponseHeadersXSSProtection(protection=True, mode_block=True, report_uri=\"https://example.com/csp-report\", override=True)\n    )\n)\ncloudfront.Distribution(self, \"myDistCustomPolicy\",\n    default_behavior=cloudfront.BehaviorOptions(\n        origin=bucket_origin,\n        response_headers_policy=my_response_headers_policy\n    )\n)","version":"2"},"csharp":{"source":"// Using an existing managed response headers policy\nS3Origin bucketOrigin;\n\nnew Distribution(this, \"myDistManagedPolicy\", new DistributionProps {\n    DefaultBehavior = new BehaviorOptions {\n        Origin = bucketOrigin,\n        ResponseHeadersPolicy = ResponseHeadersPolicy.CORS_ALLOW_ALL_ORIGINS\n    }\n});\n\n// Creating a custom response headers policy -- all parameters optional\nvar myResponseHeadersPolicy = new ResponseHeadersPolicy(this, \"ResponseHeadersPolicy\", new ResponseHeadersPolicyProps {\n    ResponseHeadersPolicyName = \"MyPolicy\",\n    Comment = \"A default policy\",\n    CorsBehavior = new ResponseHeadersCorsBehavior {\n        AccessControlAllowCredentials = false,\n        AccessControlAllowHeaders = new [] { \"X-Custom-Header-1\", \"X-Custom-Header-2\" },\n        AccessControlAllowMethods = new [] { \"GET\", \"POST\" },\n        AccessControlAllowOrigins = new [] { \"*\" },\n        AccessControlExposeHeaders = new [] { \"X-Custom-Header-1\", \"X-Custom-Header-2\" },\n        AccessControlMaxAge = Duration.Seconds(600),\n        OriginOverride = true\n    },\n    CustomHeadersBehavior = new ResponseCustomHeadersBehavior {\n        CustomHeaders = new [] { new ResponseCustomHeader { Header = \"X-Amz-Date\", Value = \"some-value\", Override = true }, new ResponseCustomHeader { Header = \"X-Amz-Security-Token\", Value = \"some-value\", Override = false } }\n    },\n    SecurityHeadersBehavior = new ResponseSecurityHeadersBehavior {\n        ContentSecurityPolicy = new ResponseHeadersContentSecurityPolicy { ContentSecurityPolicy = \"default-src https:;\", Override = true },\n        ContentTypeOptions = new ResponseHeadersContentTypeOptions { Override = true },\n        FrameOptions = new ResponseHeadersFrameOptions { FrameOption = HeadersFrameOption.DENY, Override = true },\n        ReferrerPolicy = new ResponseHeadersReferrerPolicy { ReferrerPolicy = HeadersReferrerPolicy.NO_REFERRER, Override = true },\n        StrictTransportSecurity = new ResponseHeadersStrictTransportSecurity { AccessControlMaxAge = Duration.Seconds(600), IncludeSubdomains = true, Override = true },\n        XssProtection = new ResponseHeadersXSSProtection { Protection = true, ModeBlock = true, ReportUri = \"https://example.com/csp-report\", Override = true }\n    }\n});\nnew Distribution(this, \"myDistCustomPolicy\", new DistributionProps {\n    DefaultBehavior = new BehaviorOptions {\n        Origin = bucketOrigin,\n        ResponseHeadersPolicy = myResponseHeadersPolicy\n    }\n});","version":"1"},"java":{"source":"// Using an existing managed response headers policy\nS3Origin bucketOrigin;\n\nDistribution.Builder.create(this, \"myDistManagedPolicy\")\n        .defaultBehavior(BehaviorOptions.builder()\n                .origin(bucketOrigin)\n                .responseHeadersPolicy(ResponseHeadersPolicy.CORS_ALLOW_ALL_ORIGINS)\n                .build())\n        .build();\n\n// Creating a custom response headers policy -- all parameters optional\nResponseHeadersPolicy myResponseHeadersPolicy = ResponseHeadersPolicy.Builder.create(this, \"ResponseHeadersPolicy\")\n        .responseHeadersPolicyName(\"MyPolicy\")\n        .comment(\"A default policy\")\n        .corsBehavior(ResponseHeadersCorsBehavior.builder()\n                .accessControlAllowCredentials(false)\n                .accessControlAllowHeaders(List.of(\"X-Custom-Header-1\", \"X-Custom-Header-2\"))\n                .accessControlAllowMethods(List.of(\"GET\", \"POST\"))\n                .accessControlAllowOrigins(List.of(\"*\"))\n                .accessControlExposeHeaders(List.of(\"X-Custom-Header-1\", \"X-Custom-Header-2\"))\n                .accessControlMaxAge(Duration.seconds(600))\n                .originOverride(true)\n                .build())\n        .customHeadersBehavior(ResponseCustomHeadersBehavior.builder()\n                .customHeaders(List.of(ResponseCustomHeader.builder().header(\"X-Amz-Date\").value(\"some-value\").override(true).build(), ResponseCustomHeader.builder().header(\"X-Amz-Security-Token\").value(\"some-value\").override(false).build()))\n                .build())\n        .securityHeadersBehavior(ResponseSecurityHeadersBehavior.builder()\n                .contentSecurityPolicy(ResponseHeadersContentSecurityPolicy.builder().contentSecurityPolicy(\"default-src https:;\").override(true).build())\n                .contentTypeOptions(ResponseHeadersContentTypeOptions.builder().override(true).build())\n                .frameOptions(ResponseHeadersFrameOptions.builder().frameOption(HeadersFrameOption.DENY).override(true).build())\n                .referrerPolicy(ResponseHeadersReferrerPolicy.builder().referrerPolicy(HeadersReferrerPolicy.NO_REFERRER).override(true).build())\n                .strictTransportSecurity(ResponseHeadersStrictTransportSecurity.builder().accessControlMaxAge(Duration.seconds(600)).includeSubdomains(true).override(true).build())\n                .xssProtection(ResponseHeadersXSSProtection.builder().protection(true).modeBlock(true).reportUri(\"https://example.com/csp-report\").override(true).build())\n                .build())\n        .build();\nDistribution.Builder.create(this, \"myDistCustomPolicy\")\n        .defaultBehavior(BehaviorOptions.builder()\n                .origin(bucketOrigin)\n                .responseHeadersPolicy(myResponseHeadersPolicy)\n                .build())\n        .build();","version":"1"},"go":{"source":"// Using an existing managed response headers policy\nvar bucketOrigin s3Origin\n\ncloudfront.NewDistribution(this, jsii.String(\"myDistManagedPolicy\"), &DistributionProps{\n\tDefaultBehavior: &BehaviorOptions{\n\t\tOrigin: bucketOrigin,\n\t\tResponseHeadersPolicy: cloudfront.ResponseHeadersPolicy_CORS_ALLOW_ALL_ORIGINS(),\n\t},\n})\n\n// Creating a custom response headers policy -- all parameters optional\nmyResponseHeadersPolicy := cloudfront.NewResponseHeadersPolicy(this, jsii.String(\"ResponseHeadersPolicy\"), &ResponseHeadersPolicyProps{\n\tResponseHeadersPolicyName: jsii.String(\"MyPolicy\"),\n\tComment: jsii.String(\"A default policy\"),\n\tCorsBehavior: &ResponseHeadersCorsBehavior{\n\t\tAccessControlAllowCredentials: jsii.Boolean(false),\n\t\tAccessControlAllowHeaders: []*string{\n\t\t\tjsii.String(\"X-Custom-Header-1\"),\n\t\t\tjsii.String(\"X-Custom-Header-2\"),\n\t\t},\n\t\tAccessControlAllowMethods: []*string{\n\t\t\tjsii.String(\"GET\"),\n\t\t\tjsii.String(\"POST\"),\n\t\t},\n\t\tAccessControlAllowOrigins: []*string{\n\t\t\tjsii.String(\"*\"),\n\t\t},\n\t\tAccessControlExposeHeaders: []*string{\n\t\t\tjsii.String(\"X-Custom-Header-1\"),\n\t\t\tjsii.String(\"X-Custom-Header-2\"),\n\t\t},\n\t\tAccessControlMaxAge: awscdkcore.Duration_Seconds(jsii.Number(600)),\n\t\tOriginOverride: jsii.Boolean(true),\n\t},\n\tCustomHeadersBehavior: &ResponseCustomHeadersBehavior{\n\t\tCustomHeaders: []responseCustomHeader{\n\t\t\t&responseCustomHeader{\n\t\t\t\tHeader: jsii.String(\"X-Amz-Date\"),\n\t\t\t\tValue: jsii.String(\"some-value\"),\n\t\t\t\tOverride: jsii.Boolean(true),\n\t\t\t},\n\t\t\t&responseCustomHeader{\n\t\t\t\tHeader: jsii.String(\"X-Amz-Security-Token\"),\n\t\t\t\tValue: jsii.String(\"some-value\"),\n\t\t\t\tOverride: jsii.Boolean(false),\n\t\t\t},\n\t\t},\n\t},\n\tSecurityHeadersBehavior: &ResponseSecurityHeadersBehavior{\n\t\tContentSecurityPolicy: &ResponseHeadersContentSecurityPolicy{\n\t\t\tContentSecurityPolicy: jsii.String(\"default-src https:;\"),\n\t\t\tOverride: jsii.Boolean(true),\n\t\t},\n\t\tContentTypeOptions: &ResponseHeadersContentTypeOptions{\n\t\t\tOverride: jsii.Boolean(true),\n\t\t},\n\t\tFrameOptions: &ResponseHeadersFrameOptions{\n\t\t\tFrameOption: cloudfront.HeadersFrameOption_DENY,\n\t\t\tOverride: jsii.Boolean(true),\n\t\t},\n\t\tReferrerPolicy: &ResponseHeadersReferrerPolicy{\n\t\t\tReferrerPolicy: cloudfront.HeadersReferrerPolicy_NO_REFERRER,\n\t\t\tOverride: jsii.Boolean(true),\n\t\t},\n\t\tStrictTransportSecurity: &ResponseHeadersStrictTransportSecurity{\n\t\t\tAccessControlMaxAge: *awscdkcore.Duration_*Seconds(jsii.Number(600)),\n\t\t\tIncludeSubdomains: jsii.Boolean(true),\n\t\t\tOverride: jsii.Boolean(true),\n\t\t},\n\t\tXssProtection: &ResponseHeadersXSSProtection{\n\t\t\tProtection: jsii.Boolean(true),\n\t\t\tModeBlock: jsii.Boolean(true),\n\t\t\tReportUri: jsii.String(\"https://example.com/csp-report\"),\n\t\t\tOverride: jsii.Boolean(true),\n\t\t},\n\t},\n})\ncloudfront.NewDistribution(this, jsii.String(\"myDistCustomPolicy\"), &DistributionProps{\n\tDefaultBehavior: &BehaviorOptions{\n\t\tOrigin: bucketOrigin,\n\t\tResponseHeadersPolicy: myResponseHeadersPolicy,\n\t},\n})","version":"1"},"$":{"source":"// Using an existing managed response headers policy\ndeclare const bucketOrigin: origins.S3Origin;\nnew cloudfront.Distribution(this, 'myDistManagedPolicy', {\n  defaultBehavior: {\n    origin: bucketOrigin,\n    responseHeadersPolicy: cloudfront.ResponseHeadersPolicy.CORS_ALLOW_ALL_ORIGINS,\n  },\n});\n\n// Creating a custom response headers policy -- all parameters optional\nconst myResponseHeadersPolicy = new cloudfront.ResponseHeadersPolicy(this, 'ResponseHeadersPolicy', {\n  responseHeadersPolicyName: 'MyPolicy',\n  comment: 'A default policy',\n  corsBehavior: {\n    accessControlAllowCredentials: false,\n    accessControlAllowHeaders: ['X-Custom-Header-1', 'X-Custom-Header-2'],\n    accessControlAllowMethods: ['GET', 'POST'],\n    accessControlAllowOrigins: ['*'],\n    accessControlExposeHeaders: ['X-Custom-Header-1', 'X-Custom-Header-2'],\n    accessControlMaxAge: Duration.seconds(600),\n    originOverride: true,\n  },\n  customHeadersBehavior: {\n    customHeaders: [\n      { header: 'X-Amz-Date', value: 'some-value', override: true },\n      { header: 'X-Amz-Security-Token', value: 'some-value', override: false },\n    ],\n  },\n  securityHeadersBehavior: {\n    contentSecurityPolicy: { contentSecurityPolicy: 'default-src https:;', override: true },\n    contentTypeOptions: { override: true },\n    frameOptions: { frameOption: cloudfront.HeadersFrameOption.DENY, override: true },\n    referrerPolicy: { referrerPolicy: cloudfront.HeadersReferrerPolicy.NO_REFERRER, override: true },\n    strictTransportSecurity: { accessControlMaxAge: Duration.seconds(600), includeSubdomains: true, override: true },\n    xssProtection: { protection: true, modeBlock: true, reportUri: 'https://example.com/csp-report', override: true },\n  },\n});\nnew cloudfront.Distribution(this, 'myDistCustomPolicy', {\n  defaultBehavior: {\n    origin: bucketOrigin,\n    responseHeadersPolicy: myResponseHeadersPolicy,\n  },\n});","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.ResponseHeadersContentSecurityPolicy"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.BehaviorOptions","@aws-cdk/aws-cloudfront.Distribution","@aws-cdk/aws-cloudfront.DistributionProps","@aws-cdk/aws-cloudfront.HeadersFrameOption","@aws-cdk/aws-cloudfront.HeadersFrameOption#DENY","@aws-cdk/aws-cloudfront.HeadersReferrerPolicy","@aws-cdk/aws-cloudfront.HeadersReferrerPolicy#NO_REFERRER","@aws-cdk/aws-cloudfront.IOrigin","@aws-cdk/aws-cloudfront.IResponseHeadersPolicy","@aws-cdk/aws-cloudfront.ResponseCustomHeadersBehavior","@aws-cdk/aws-cloudfront.ResponseHeadersContentSecurityPolicy","@aws-cdk/aws-cloudfront.ResponseHeadersContentTypeOptions","@aws-cdk/aws-cloudfront.ResponseHeadersCorsBehavior","@aws-cdk/aws-cloudfront.ResponseHeadersFrameOptions","@aws-cdk/aws-cloudfront.ResponseHeadersPolicy","@aws-cdk/aws-cloudfront.ResponseHeadersPolicy#CORS_ALLOW_ALL_ORIGINS","@aws-cdk/aws-cloudfront.ResponseHeadersPolicyProps","@aws-cdk/aws-cloudfront.ResponseHeadersReferrerPolicy","@aws-cdk/aws-cloudfront.ResponseHeadersStrictTransportSecurity","@aws-cdk/aws-cloudfront.ResponseHeadersXSSProtection","@aws-cdk/aws-cloudfront.ResponseSecurityHeadersBehavior","@aws-cdk/core.Duration","@aws-cdk/core.Duration#seconds","constructs.Construct"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// Using an existing managed response headers policy\ndeclare const bucketOrigin: origins.S3Origin;\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from 'constructs';\nimport { Duration, Stack } from '@aws-cdk/core';\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nimport * as origins from '@aws-cdk/aws-cloudfront-origins';\nimport * as s3 from '@aws-cdk/aws-s3';\nimport * as ec2 from '@aws-cdk/aws-ec2';\nimport * as elbv2 from '@aws-cdk/aws-elasticloadbalancingv2';\nimport * as lambda from '@aws-cdk/aws-lambda';\nimport * as path from 'path';\n\nclass Context extends Stack {\n  constructor(scope: Construct, id: string) {\n    super(scope, id);\n\n    // Code snippet begins after !show marker below\n/// !show\n\nnew cloudfront.Distribution(this, 'myDistManagedPolicy', {\n  defaultBehavior: {\n    origin: bucketOrigin,\n    responseHeadersPolicy: cloudfront.ResponseHeadersPolicy.CORS_ALLOW_ALL_ORIGINS,\n  },\n});\n\n// Creating a custom response headers policy -- all parameters optional\nconst myResponseHeadersPolicy = new cloudfront.ResponseHeadersPolicy(this, 'ResponseHeadersPolicy', {\n  responseHeadersPolicyName: 'MyPolicy',\n  comment: 'A default policy',\n  corsBehavior: {\n    accessControlAllowCredentials: false,\n    accessControlAllowHeaders: ['X-Custom-Header-1', 'X-Custom-Header-2'],\n    accessControlAllowMethods: ['GET', 'POST'],\n    accessControlAllowOrigins: ['*'],\n    accessControlExposeHeaders: ['X-Custom-Header-1', 'X-Custom-Header-2'],\n    accessControlMaxAge: Duration.seconds(600),\n    originOverride: true,\n  },\n  customHeadersBehavior: {\n    customHeaders: [\n      { header: 'X-Amz-Date', value: 'some-value', override: true },\n      { header: 'X-Amz-Security-Token', value: 'some-value', override: false },\n    ],\n  },\n  securityHeadersBehavior: {\n    contentSecurityPolicy: { contentSecurityPolicy: 'default-src https:;', override: true },\n    contentTypeOptions: { override: true },\n    frameOptions: { frameOption: cloudfront.HeadersFrameOption.DENY, override: true },\n    referrerPolicy: { referrerPolicy: cloudfront.HeadersReferrerPolicy.NO_REFERRER, override: true },\n    strictTransportSecurity: { accessControlMaxAge: Duration.seconds(600), includeSubdomains: true, override: true },\n    xssProtection: { protection: true, modeBlock: true, reportUri: 'https://example.com/csp-report', override: true },\n  },\n});\nnew cloudfront.Distribution(this, 'myDistCustomPolicy', {\n  defaultBehavior: {\n    origin: bucketOrigin,\n    responseHeadersPolicy: myResponseHeadersPolicy,\n  },\n});\n/// !hide\n// Code snippet ended before !hide marker above\n  }\n}\n","syntaxKindCounter":{"8":2,"10":18,"75":71,"91":2,"104":3,"106":11,"130":1,"153":1,"169":1,"192":5,"193":16,"194":11,"196":2,"197":3,"225":2,"226":2,"242":2,"243":2,"281":45,"290":1},"fqnsFingerprint":"de7c89c01af6e4d1c64703e7256d7328023b8aa2e9f1257ee5a6f6ff30b30710"},"67afa77e2f71cc1963f8f785ddeab4a44f160ca527753b83fa6a45ba3ed25503":{"translations":{"python":{"source":"# Using an existing managed response headers policy\n# bucket_origin: origins.S3Origin\n\ncloudfront.Distribution(self, \"myDistManagedPolicy\",\n    default_behavior=cloudfront.BehaviorOptions(\n        origin=bucket_origin,\n        response_headers_policy=cloudfront.ResponseHeadersPolicy.CORS_ALLOW_ALL_ORIGINS\n    )\n)\n\n# Creating a custom response headers policy -- all parameters optional\nmy_response_headers_policy = cloudfront.ResponseHeadersPolicy(self, \"ResponseHeadersPolicy\",\n    response_headers_policy_name=\"MyPolicy\",\n    comment=\"A default policy\",\n    cors_behavior=cloudfront.ResponseHeadersCorsBehavior(\n        access_control_allow_credentials=False,\n        access_control_allow_headers=[\"X-Custom-Header-1\", \"X-Custom-Header-2\"],\n        access_control_allow_methods=[\"GET\", \"POST\"],\n        access_control_allow_origins=[\"*\"],\n        access_control_expose_headers=[\"X-Custom-Header-1\", \"X-Custom-Header-2\"],\n        access_control_max_age=Duration.seconds(600),\n        origin_override=True\n    ),\n    custom_headers_behavior=cloudfront.ResponseCustomHeadersBehavior(\n        custom_headers=[cloudfront.ResponseCustomHeader(header=\"X-Amz-Date\", value=\"some-value\", override=True), cloudfront.ResponseCustomHeader(header=\"X-Amz-Security-Token\", value=\"some-value\", override=False)\n        ]\n    ),\n    security_headers_behavior=cloudfront.ResponseSecurityHeadersBehavior(\n        content_security_policy=cloudfront.ResponseHeadersContentSecurityPolicy(content_security_policy=\"default-src https:;\", override=True),\n        content_type_options=cloudfront.ResponseHeadersContentTypeOptions(override=True),\n        frame_options=cloudfront.ResponseHeadersFrameOptions(frame_option=cloudfront.HeadersFrameOption.DENY, override=True),\n        referrer_policy=cloudfront.ResponseHeadersReferrerPolicy(referrer_policy=cloudfront.HeadersReferrerPolicy.NO_REFERRER, override=True),\n        strict_transport_security=cloudfront.ResponseHeadersStrictTransportSecurity(access_control_max_age=Duration.seconds(600), include_subdomains=True, override=True),\n        xss_protection=cloudfront.ResponseHeadersXSSProtection(protection=True, mode_block=True, report_uri=\"https://example.com/csp-report\", override=True)\n    )\n)\ncloudfront.Distribution(self, \"myDistCustomPolicy\",\n    default_behavior=cloudfront.BehaviorOptions(\n        origin=bucket_origin,\n        response_headers_policy=my_response_headers_policy\n    )\n)","version":"2"},"csharp":{"source":"// Using an existing managed response headers policy\nS3Origin bucketOrigin;\n\nnew Distribution(this, \"myDistManagedPolicy\", new DistributionProps {\n    DefaultBehavior = new BehaviorOptions {\n        Origin = bucketOrigin,\n        ResponseHeadersPolicy = ResponseHeadersPolicy.CORS_ALLOW_ALL_ORIGINS\n    }\n});\n\n// Creating a custom response headers policy -- all parameters optional\nvar myResponseHeadersPolicy = new ResponseHeadersPolicy(this, \"ResponseHeadersPolicy\", new ResponseHeadersPolicyProps {\n    ResponseHeadersPolicyName = \"MyPolicy\",\n    Comment = \"A default policy\",\n    CorsBehavior = new ResponseHeadersCorsBehavior {\n        AccessControlAllowCredentials = false,\n        AccessControlAllowHeaders = new [] { \"X-Custom-Header-1\", \"X-Custom-Header-2\" },\n        AccessControlAllowMethods = new [] { \"GET\", \"POST\" },\n        AccessControlAllowOrigins = new [] { \"*\" },\n        AccessControlExposeHeaders = new [] { \"X-Custom-Header-1\", \"X-Custom-Header-2\" },\n        AccessControlMaxAge = Duration.Seconds(600),\n        OriginOverride = true\n    },\n    CustomHeadersBehavior = new ResponseCustomHeadersBehavior {\n        CustomHeaders = new [] { new ResponseCustomHeader { Header = \"X-Amz-Date\", Value = \"some-value\", Override = true }, new ResponseCustomHeader { Header = \"X-Amz-Security-Token\", Value = \"some-value\", Override = false } }\n    },\n    SecurityHeadersBehavior = new ResponseSecurityHeadersBehavior {\n        ContentSecurityPolicy = new ResponseHeadersContentSecurityPolicy { ContentSecurityPolicy = \"default-src https:;\", Override = true },\n        ContentTypeOptions = new ResponseHeadersContentTypeOptions { Override = true },\n        FrameOptions = new ResponseHeadersFrameOptions { FrameOption = HeadersFrameOption.DENY, Override = true },\n        ReferrerPolicy = new ResponseHeadersReferrerPolicy { ReferrerPolicy = HeadersReferrerPolicy.NO_REFERRER, Override = true },\n        StrictTransportSecurity = new ResponseHeadersStrictTransportSecurity { AccessControlMaxAge = Duration.Seconds(600), IncludeSubdomains = true, Override = true },\n        XssProtection = new ResponseHeadersXSSProtection { Protection = true, ModeBlock = true, ReportUri = \"https://example.com/csp-report\", Override = true }\n    }\n});\nnew Distribution(this, \"myDistCustomPolicy\", new DistributionProps {\n    DefaultBehavior = new BehaviorOptions {\n        Origin = bucketOrigin,\n        ResponseHeadersPolicy = myResponseHeadersPolicy\n    }\n});","version":"1"},"java":{"source":"// Using an existing managed response headers policy\nS3Origin bucketOrigin;\n\nDistribution.Builder.create(this, \"myDistManagedPolicy\")\n        .defaultBehavior(BehaviorOptions.builder()\n                .origin(bucketOrigin)\n                .responseHeadersPolicy(ResponseHeadersPolicy.CORS_ALLOW_ALL_ORIGINS)\n                .build())\n        .build();\n\n// Creating a custom response headers policy -- all parameters optional\nResponseHeadersPolicy myResponseHeadersPolicy = ResponseHeadersPolicy.Builder.create(this, \"ResponseHeadersPolicy\")\n        .responseHeadersPolicyName(\"MyPolicy\")\n        .comment(\"A default policy\")\n        .corsBehavior(ResponseHeadersCorsBehavior.builder()\n                .accessControlAllowCredentials(false)\n                .accessControlAllowHeaders(List.of(\"X-Custom-Header-1\", \"X-Custom-Header-2\"))\n                .accessControlAllowMethods(List.of(\"GET\", \"POST\"))\n                .accessControlAllowOrigins(List.of(\"*\"))\n                .accessControlExposeHeaders(List.of(\"X-Custom-Header-1\", \"X-Custom-Header-2\"))\n                .accessControlMaxAge(Duration.seconds(600))\n                .originOverride(true)\n                .build())\n        .customHeadersBehavior(ResponseCustomHeadersBehavior.builder()\n                .customHeaders(List.of(ResponseCustomHeader.builder().header(\"X-Amz-Date\").value(\"some-value\").override(true).build(), ResponseCustomHeader.builder().header(\"X-Amz-Security-Token\").value(\"some-value\").override(false).build()))\n                .build())\n        .securityHeadersBehavior(ResponseSecurityHeadersBehavior.builder()\n                .contentSecurityPolicy(ResponseHeadersContentSecurityPolicy.builder().contentSecurityPolicy(\"default-src https:;\").override(true).build())\n                .contentTypeOptions(ResponseHeadersContentTypeOptions.builder().override(true).build())\n                .frameOptions(ResponseHeadersFrameOptions.builder().frameOption(HeadersFrameOption.DENY).override(true).build())\n                .referrerPolicy(ResponseHeadersReferrerPolicy.builder().referrerPolicy(HeadersReferrerPolicy.NO_REFERRER).override(true).build())\n                .strictTransportSecurity(ResponseHeadersStrictTransportSecurity.builder().accessControlMaxAge(Duration.seconds(600)).includeSubdomains(true).override(true).build())\n                .xssProtection(ResponseHeadersXSSProtection.builder().protection(true).modeBlock(true).reportUri(\"https://example.com/csp-report\").override(true).build())\n                .build())\n        .build();\nDistribution.Builder.create(this, \"myDistCustomPolicy\")\n        .defaultBehavior(BehaviorOptions.builder()\n                .origin(bucketOrigin)\n                .responseHeadersPolicy(myResponseHeadersPolicy)\n                .build())\n        .build();","version":"1"},"go":{"source":"// Using an existing managed response headers policy\nvar bucketOrigin s3Origin\n\ncloudfront.NewDistribution(this, jsii.String(\"myDistManagedPolicy\"), &DistributionProps{\n\tDefaultBehavior: &BehaviorOptions{\n\t\tOrigin: bucketOrigin,\n\t\tResponseHeadersPolicy: cloudfront.ResponseHeadersPolicy_CORS_ALLOW_ALL_ORIGINS(),\n\t},\n})\n\n// Creating a custom response headers policy -- all parameters optional\nmyResponseHeadersPolicy := cloudfront.NewResponseHeadersPolicy(this, jsii.String(\"ResponseHeadersPolicy\"), &ResponseHeadersPolicyProps{\n\tResponseHeadersPolicyName: jsii.String(\"MyPolicy\"),\n\tComment: jsii.String(\"A default policy\"),\n\tCorsBehavior: &ResponseHeadersCorsBehavior{\n\t\tAccessControlAllowCredentials: jsii.Boolean(false),\n\t\tAccessControlAllowHeaders: []*string{\n\t\t\tjsii.String(\"X-Custom-Header-1\"),\n\t\t\tjsii.String(\"X-Custom-Header-2\"),\n\t\t},\n\t\tAccessControlAllowMethods: []*string{\n\t\t\tjsii.String(\"GET\"),\n\t\t\tjsii.String(\"POST\"),\n\t\t},\n\t\tAccessControlAllowOrigins: []*string{\n\t\t\tjsii.String(\"*\"),\n\t\t},\n\t\tAccessControlExposeHeaders: []*string{\n\t\t\tjsii.String(\"X-Custom-Header-1\"),\n\t\t\tjsii.String(\"X-Custom-Header-2\"),\n\t\t},\n\t\tAccessControlMaxAge: awscdkcore.Duration_Seconds(jsii.Number(600)),\n\t\tOriginOverride: jsii.Boolean(true),\n\t},\n\tCustomHeadersBehavior: &ResponseCustomHeadersBehavior{\n\t\tCustomHeaders: []responseCustomHeader{\n\t\t\t&responseCustomHeader{\n\t\t\t\tHeader: jsii.String(\"X-Amz-Date\"),\n\t\t\t\tValue: jsii.String(\"some-value\"),\n\t\t\t\tOverride: jsii.Boolean(true),\n\t\t\t},\n\t\t\t&responseCustomHeader{\n\t\t\t\tHeader: jsii.String(\"X-Amz-Security-Token\"),\n\t\t\t\tValue: jsii.String(\"some-value\"),\n\t\t\t\tOverride: jsii.Boolean(false),\n\t\t\t},\n\t\t},\n\t},\n\tSecurityHeadersBehavior: &ResponseSecurityHeadersBehavior{\n\t\tContentSecurityPolicy: &ResponseHeadersContentSecurityPolicy{\n\t\t\tContentSecurityPolicy: jsii.String(\"default-src https:;\"),\n\t\t\tOverride: jsii.Boolean(true),\n\t\t},\n\t\tContentTypeOptions: &ResponseHeadersContentTypeOptions{\n\t\t\tOverride: jsii.Boolean(true),\n\t\t},\n\t\tFrameOptions: &ResponseHeadersFrameOptions{\n\t\t\tFrameOption: cloudfront.HeadersFrameOption_DENY,\n\t\t\tOverride: jsii.Boolean(true),\n\t\t},\n\t\tReferrerPolicy: &ResponseHeadersReferrerPolicy{\n\t\t\tReferrerPolicy: cloudfront.HeadersReferrerPolicy_NO_REFERRER,\n\t\t\tOverride: jsii.Boolean(true),\n\t\t},\n\t\tStrictTransportSecurity: &ResponseHeadersStrictTransportSecurity{\n\t\t\tAccessControlMaxAge: *awscdkcore.Duration_*Seconds(jsii.Number(600)),\n\t\t\tIncludeSubdomains: jsii.Boolean(true),\n\t\t\tOverride: jsii.Boolean(true),\n\t\t},\n\t\tXssProtection: &ResponseHeadersXSSProtection{\n\t\t\tProtection: jsii.Boolean(true),\n\t\t\tModeBlock: jsii.Boolean(true),\n\t\t\tReportUri: jsii.String(\"https://example.com/csp-report\"),\n\t\t\tOverride: jsii.Boolean(true),\n\t\t},\n\t},\n})\ncloudfront.NewDistribution(this, jsii.String(\"myDistCustomPolicy\"), &DistributionProps{\n\tDefaultBehavior: &BehaviorOptions{\n\t\tOrigin: bucketOrigin,\n\t\tResponseHeadersPolicy: myResponseHeadersPolicy,\n\t},\n})","version":"1"},"$":{"source":"// Using an existing managed response headers policy\ndeclare const bucketOrigin: origins.S3Origin;\nnew cloudfront.Distribution(this, 'myDistManagedPolicy', {\n  defaultBehavior: {\n    origin: bucketOrigin,\n    responseHeadersPolicy: cloudfront.ResponseHeadersPolicy.CORS_ALLOW_ALL_ORIGINS,\n  },\n});\n\n// Creating a custom response headers policy -- all parameters optional\nconst myResponseHeadersPolicy = new cloudfront.ResponseHeadersPolicy(this, 'ResponseHeadersPolicy', {\n  responseHeadersPolicyName: 'MyPolicy',\n  comment: 'A default policy',\n  corsBehavior: {\n    accessControlAllowCredentials: false,\n    accessControlAllowHeaders: ['X-Custom-Header-1', 'X-Custom-Header-2'],\n    accessControlAllowMethods: ['GET', 'POST'],\n    accessControlAllowOrigins: ['*'],\n    accessControlExposeHeaders: ['X-Custom-Header-1', 'X-Custom-Header-2'],\n    accessControlMaxAge: Duration.seconds(600),\n    originOverride: true,\n  },\n  customHeadersBehavior: {\n    customHeaders: [\n      { header: 'X-Amz-Date', value: 'some-value', override: true },\n      { header: 'X-Amz-Security-Token', value: 'some-value', override: false },\n    ],\n  },\n  securityHeadersBehavior: {\n    contentSecurityPolicy: { contentSecurityPolicy: 'default-src https:;', override: true },\n    contentTypeOptions: { override: true },\n    frameOptions: { frameOption: cloudfront.HeadersFrameOption.DENY, override: true },\n    referrerPolicy: { referrerPolicy: cloudfront.HeadersReferrerPolicy.NO_REFERRER, override: true },\n    strictTransportSecurity: { accessControlMaxAge: Duration.seconds(600), includeSubdomains: true, override: true },\n    xssProtection: { protection: true, modeBlock: true, reportUri: 'https://example.com/csp-report', override: true },\n  },\n});\nnew cloudfront.Distribution(this, 'myDistCustomPolicy', {\n  defaultBehavior: {\n    origin: bucketOrigin,\n    responseHeadersPolicy: myResponseHeadersPolicy,\n  },\n});","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.ResponseHeadersContentTypeOptions"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.BehaviorOptions","@aws-cdk/aws-cloudfront.Distribution","@aws-cdk/aws-cloudfront.DistributionProps","@aws-cdk/aws-cloudfront.HeadersFrameOption","@aws-cdk/aws-cloudfront.HeadersFrameOption#DENY","@aws-cdk/aws-cloudfront.HeadersReferrerPolicy","@aws-cdk/aws-cloudfront.HeadersReferrerPolicy#NO_REFERRER","@aws-cdk/aws-cloudfront.IOrigin","@aws-cdk/aws-cloudfront.IResponseHeadersPolicy","@aws-cdk/aws-cloudfront.ResponseCustomHeadersBehavior","@aws-cdk/aws-cloudfront.ResponseHeadersContentSecurityPolicy","@aws-cdk/aws-cloudfront.ResponseHeadersContentTypeOptions","@aws-cdk/aws-cloudfront.ResponseHeadersCorsBehavior","@aws-cdk/aws-cloudfront.ResponseHeadersFrameOptions","@aws-cdk/aws-cloudfront.ResponseHeadersPolicy","@aws-cdk/aws-cloudfront.ResponseHeadersPolicy#CORS_ALLOW_ALL_ORIGINS","@aws-cdk/aws-cloudfront.ResponseHeadersPolicyProps","@aws-cdk/aws-cloudfront.ResponseHeadersReferrerPolicy","@aws-cdk/aws-cloudfront.ResponseHeadersStrictTransportSecurity","@aws-cdk/aws-cloudfront.ResponseHeadersXSSProtection","@aws-cdk/aws-cloudfront.ResponseSecurityHeadersBehavior","@aws-cdk/core.Duration","@aws-cdk/core.Duration#seconds","constructs.Construct"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// Using an existing managed response headers policy\ndeclare const bucketOrigin: origins.S3Origin;\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from 'constructs';\nimport { Duration, Stack } from '@aws-cdk/core';\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nimport * as origins from '@aws-cdk/aws-cloudfront-origins';\nimport * as s3 from '@aws-cdk/aws-s3';\nimport * as ec2 from '@aws-cdk/aws-ec2';\nimport * as elbv2 from '@aws-cdk/aws-elasticloadbalancingv2';\nimport * as lambda from '@aws-cdk/aws-lambda';\nimport * as path from 'path';\n\nclass Context extends Stack {\n  constructor(scope: Construct, id: string) {\n    super(scope, id);\n\n    // Code snippet begins after !show marker below\n/// !show\n\nnew cloudfront.Distribution(this, 'myDistManagedPolicy', {\n  defaultBehavior: {\n    origin: bucketOrigin,\n    responseHeadersPolicy: cloudfront.ResponseHeadersPolicy.CORS_ALLOW_ALL_ORIGINS,\n  },\n});\n\n// Creating a custom response headers policy -- all parameters optional\nconst myResponseHeadersPolicy = new cloudfront.ResponseHeadersPolicy(this, 'ResponseHeadersPolicy', {\n  responseHeadersPolicyName: 'MyPolicy',\n  comment: 'A default policy',\n  corsBehavior: {\n    accessControlAllowCredentials: false,\n    accessControlAllowHeaders: ['X-Custom-Header-1', 'X-Custom-Header-2'],\n    accessControlAllowMethods: ['GET', 'POST'],\n    accessControlAllowOrigins: ['*'],\n    accessControlExposeHeaders: ['X-Custom-Header-1', 'X-Custom-Header-2'],\n    accessControlMaxAge: Duration.seconds(600),\n    originOverride: true,\n  },\n  customHeadersBehavior: {\n    customHeaders: [\n      { header: 'X-Amz-Date', value: 'some-value', override: true },\n      { header: 'X-Amz-Security-Token', value: 'some-value', override: false },\n    ],\n  },\n  securityHeadersBehavior: {\n    contentSecurityPolicy: { contentSecurityPolicy: 'default-src https:;', override: true },\n    contentTypeOptions: { override: true },\n    frameOptions: { frameOption: cloudfront.HeadersFrameOption.DENY, override: true },\n    referrerPolicy: { referrerPolicy: cloudfront.HeadersReferrerPolicy.NO_REFERRER, override: true },\n    strictTransportSecurity: { accessControlMaxAge: Duration.seconds(600), includeSubdomains: true, override: true },\n    xssProtection: { protection: true, modeBlock: true, reportUri: 'https://example.com/csp-report', override: true },\n  },\n});\nnew cloudfront.Distribution(this, 'myDistCustomPolicy', {\n  defaultBehavior: {\n    origin: bucketOrigin,\n    responseHeadersPolicy: myResponseHeadersPolicy,\n  },\n});\n/// !hide\n// Code snippet ended before !hide marker above\n  }\n}\n","syntaxKindCounter":{"8":2,"10":18,"75":71,"91":2,"104":3,"106":11,"130":1,"153":1,"169":1,"192":5,"193":16,"194":11,"196":2,"197":3,"225":2,"226":2,"242":2,"243":2,"281":45,"290":1},"fqnsFingerprint":"de7c89c01af6e4d1c64703e7256d7328023b8aa2e9f1257ee5a6f6ff30b30710"},"d90cd9f6eeadc4b81dbb2e73a31a49fdf329805d1e947aa44708074e2cfa546b":{"translations":{"python":{"source":"# Using an existing managed response headers policy\n# bucket_origin: origins.S3Origin\n\ncloudfront.Distribution(self, \"myDistManagedPolicy\",\n    default_behavior=cloudfront.BehaviorOptions(\n        origin=bucket_origin,\n        response_headers_policy=cloudfront.ResponseHeadersPolicy.CORS_ALLOW_ALL_ORIGINS\n    )\n)\n\n# Creating a custom response headers policy -- all parameters optional\nmy_response_headers_policy = cloudfront.ResponseHeadersPolicy(self, \"ResponseHeadersPolicy\",\n    response_headers_policy_name=\"MyPolicy\",\n    comment=\"A default policy\",\n    cors_behavior=cloudfront.ResponseHeadersCorsBehavior(\n        access_control_allow_credentials=False,\n        access_control_allow_headers=[\"X-Custom-Header-1\", \"X-Custom-Header-2\"],\n        access_control_allow_methods=[\"GET\", \"POST\"],\n        access_control_allow_origins=[\"*\"],\n        access_control_expose_headers=[\"X-Custom-Header-1\", \"X-Custom-Header-2\"],\n        access_control_max_age=Duration.seconds(600),\n        origin_override=True\n    ),\n    custom_headers_behavior=cloudfront.ResponseCustomHeadersBehavior(\n        custom_headers=[cloudfront.ResponseCustomHeader(header=\"X-Amz-Date\", value=\"some-value\", override=True), cloudfront.ResponseCustomHeader(header=\"X-Amz-Security-Token\", value=\"some-value\", override=False)\n        ]\n    ),\n    security_headers_behavior=cloudfront.ResponseSecurityHeadersBehavior(\n        content_security_policy=cloudfront.ResponseHeadersContentSecurityPolicy(content_security_policy=\"default-src https:;\", override=True),\n        content_type_options=cloudfront.ResponseHeadersContentTypeOptions(override=True),\n        frame_options=cloudfront.ResponseHeadersFrameOptions(frame_option=cloudfront.HeadersFrameOption.DENY, override=True),\n        referrer_policy=cloudfront.ResponseHeadersReferrerPolicy(referrer_policy=cloudfront.HeadersReferrerPolicy.NO_REFERRER, override=True),\n        strict_transport_security=cloudfront.ResponseHeadersStrictTransportSecurity(access_control_max_age=Duration.seconds(600), include_subdomains=True, override=True),\n        xss_protection=cloudfront.ResponseHeadersXSSProtection(protection=True, mode_block=True, report_uri=\"https://example.com/csp-report\", override=True)\n    )\n)\ncloudfront.Distribution(self, \"myDistCustomPolicy\",\n    default_behavior=cloudfront.BehaviorOptions(\n        origin=bucket_origin,\n        response_headers_policy=my_response_headers_policy\n    )\n)","version":"2"},"csharp":{"source":"// Using an existing managed response headers policy\nS3Origin bucketOrigin;\n\nnew Distribution(this, \"myDistManagedPolicy\", new DistributionProps {\n    DefaultBehavior = new BehaviorOptions {\n        Origin = bucketOrigin,\n        ResponseHeadersPolicy = ResponseHeadersPolicy.CORS_ALLOW_ALL_ORIGINS\n    }\n});\n\n// Creating a custom response headers policy -- all parameters optional\nvar myResponseHeadersPolicy = new ResponseHeadersPolicy(this, \"ResponseHeadersPolicy\", new ResponseHeadersPolicyProps {\n    ResponseHeadersPolicyName = \"MyPolicy\",\n    Comment = \"A default policy\",\n    CorsBehavior = new ResponseHeadersCorsBehavior {\n        AccessControlAllowCredentials = false,\n        AccessControlAllowHeaders = new [] { \"X-Custom-Header-1\", \"X-Custom-Header-2\" },\n        AccessControlAllowMethods = new [] { \"GET\", \"POST\" },\n        AccessControlAllowOrigins = new [] { \"*\" },\n        AccessControlExposeHeaders = new [] { \"X-Custom-Header-1\", \"X-Custom-Header-2\" },\n        AccessControlMaxAge = Duration.Seconds(600),\n        OriginOverride = true\n    },\n    CustomHeadersBehavior = new ResponseCustomHeadersBehavior {\n        CustomHeaders = new [] { new ResponseCustomHeader { Header = \"X-Amz-Date\", Value = \"some-value\", Override = true }, new ResponseCustomHeader { Header = \"X-Amz-Security-Token\", Value = \"some-value\", Override = false } }\n    },\n    SecurityHeadersBehavior = new ResponseSecurityHeadersBehavior {\n        ContentSecurityPolicy = new ResponseHeadersContentSecurityPolicy { ContentSecurityPolicy = \"default-src https:;\", Override = true },\n        ContentTypeOptions = new ResponseHeadersContentTypeOptions { Override = true },\n        FrameOptions = new ResponseHeadersFrameOptions { FrameOption = HeadersFrameOption.DENY, Override = true },\n        ReferrerPolicy = new ResponseHeadersReferrerPolicy { ReferrerPolicy = HeadersReferrerPolicy.NO_REFERRER, Override = true },\n        StrictTransportSecurity = new ResponseHeadersStrictTransportSecurity { AccessControlMaxAge = Duration.Seconds(600), IncludeSubdomains = true, Override = true },\n        XssProtection = new ResponseHeadersXSSProtection { Protection = true, ModeBlock = true, ReportUri = \"https://example.com/csp-report\", Override = true }\n    }\n});\nnew Distribution(this, \"myDistCustomPolicy\", new DistributionProps {\n    DefaultBehavior = new BehaviorOptions {\n        Origin = bucketOrigin,\n        ResponseHeadersPolicy = myResponseHeadersPolicy\n    }\n});","version":"1"},"java":{"source":"// Using an existing managed response headers policy\nS3Origin bucketOrigin;\n\nDistribution.Builder.create(this, \"myDistManagedPolicy\")\n        .defaultBehavior(BehaviorOptions.builder()\n                .origin(bucketOrigin)\n                .responseHeadersPolicy(ResponseHeadersPolicy.CORS_ALLOW_ALL_ORIGINS)\n                .build())\n        .build();\n\n// Creating a custom response headers policy -- all parameters optional\nResponseHeadersPolicy myResponseHeadersPolicy = ResponseHeadersPolicy.Builder.create(this, \"ResponseHeadersPolicy\")\n        .responseHeadersPolicyName(\"MyPolicy\")\n        .comment(\"A default policy\")\n        .corsBehavior(ResponseHeadersCorsBehavior.builder()\n                .accessControlAllowCredentials(false)\n                .accessControlAllowHeaders(List.of(\"X-Custom-Header-1\", \"X-Custom-Header-2\"))\n                .accessControlAllowMethods(List.of(\"GET\", \"POST\"))\n                .accessControlAllowOrigins(List.of(\"*\"))\n                .accessControlExposeHeaders(List.of(\"X-Custom-Header-1\", \"X-Custom-Header-2\"))\n                .accessControlMaxAge(Duration.seconds(600))\n                .originOverride(true)\n                .build())\n        .customHeadersBehavior(ResponseCustomHeadersBehavior.builder()\n                .customHeaders(List.of(ResponseCustomHeader.builder().header(\"X-Amz-Date\").value(\"some-value\").override(true).build(), ResponseCustomHeader.builder().header(\"X-Amz-Security-Token\").value(\"some-value\").override(false).build()))\n                .build())\n        .securityHeadersBehavior(ResponseSecurityHeadersBehavior.builder()\n                .contentSecurityPolicy(ResponseHeadersContentSecurityPolicy.builder().contentSecurityPolicy(\"default-src https:;\").override(true).build())\n                .contentTypeOptions(ResponseHeadersContentTypeOptions.builder().override(true).build())\n                .frameOptions(ResponseHeadersFrameOptions.builder().frameOption(HeadersFrameOption.DENY).override(true).build())\n                .referrerPolicy(ResponseHeadersReferrerPolicy.builder().referrerPolicy(HeadersReferrerPolicy.NO_REFERRER).override(true).build())\n                .strictTransportSecurity(ResponseHeadersStrictTransportSecurity.builder().accessControlMaxAge(Duration.seconds(600)).includeSubdomains(true).override(true).build())\n                .xssProtection(ResponseHeadersXSSProtection.builder().protection(true).modeBlock(true).reportUri(\"https://example.com/csp-report\").override(true).build())\n                .build())\n        .build();\nDistribution.Builder.create(this, \"myDistCustomPolicy\")\n        .defaultBehavior(BehaviorOptions.builder()\n                .origin(bucketOrigin)\n                .responseHeadersPolicy(myResponseHeadersPolicy)\n                .build())\n        .build();","version":"1"},"go":{"source":"// Using an existing managed response headers policy\nvar bucketOrigin s3Origin\n\ncloudfront.NewDistribution(this, jsii.String(\"myDistManagedPolicy\"), &DistributionProps{\n\tDefaultBehavior: &BehaviorOptions{\n\t\tOrigin: bucketOrigin,\n\t\tResponseHeadersPolicy: cloudfront.ResponseHeadersPolicy_CORS_ALLOW_ALL_ORIGINS(),\n\t},\n})\n\n// Creating a custom response headers policy -- all parameters optional\nmyResponseHeadersPolicy := cloudfront.NewResponseHeadersPolicy(this, jsii.String(\"ResponseHeadersPolicy\"), &ResponseHeadersPolicyProps{\n\tResponseHeadersPolicyName: jsii.String(\"MyPolicy\"),\n\tComment: jsii.String(\"A default policy\"),\n\tCorsBehavior: &ResponseHeadersCorsBehavior{\n\t\tAccessControlAllowCredentials: jsii.Boolean(false),\n\t\tAccessControlAllowHeaders: []*string{\n\t\t\tjsii.String(\"X-Custom-Header-1\"),\n\t\t\tjsii.String(\"X-Custom-Header-2\"),\n\t\t},\n\t\tAccessControlAllowMethods: []*string{\n\t\t\tjsii.String(\"GET\"),\n\t\t\tjsii.String(\"POST\"),\n\t\t},\n\t\tAccessControlAllowOrigins: []*string{\n\t\t\tjsii.String(\"*\"),\n\t\t},\n\t\tAccessControlExposeHeaders: []*string{\n\t\t\tjsii.String(\"X-Custom-Header-1\"),\n\t\t\tjsii.String(\"X-Custom-Header-2\"),\n\t\t},\n\t\tAccessControlMaxAge: awscdkcore.Duration_Seconds(jsii.Number(600)),\n\t\tOriginOverride: jsii.Boolean(true),\n\t},\n\tCustomHeadersBehavior: &ResponseCustomHeadersBehavior{\n\t\tCustomHeaders: []responseCustomHeader{\n\t\t\t&responseCustomHeader{\n\t\t\t\tHeader: jsii.String(\"X-Amz-Date\"),\n\t\t\t\tValue: jsii.String(\"some-value\"),\n\t\t\t\tOverride: jsii.Boolean(true),\n\t\t\t},\n\t\t\t&responseCustomHeader{\n\t\t\t\tHeader: jsii.String(\"X-Amz-Security-Token\"),\n\t\t\t\tValue: jsii.String(\"some-value\"),\n\t\t\t\tOverride: jsii.Boolean(false),\n\t\t\t},\n\t\t},\n\t},\n\tSecurityHeadersBehavior: &ResponseSecurityHeadersBehavior{\n\t\tContentSecurityPolicy: &ResponseHeadersContentSecurityPolicy{\n\t\t\tContentSecurityPolicy: jsii.String(\"default-src https:;\"),\n\t\t\tOverride: jsii.Boolean(true),\n\t\t},\n\t\tContentTypeOptions: &ResponseHeadersContentTypeOptions{\n\t\t\tOverride: jsii.Boolean(true),\n\t\t},\n\t\tFrameOptions: &ResponseHeadersFrameOptions{\n\t\t\tFrameOption: cloudfront.HeadersFrameOption_DENY,\n\t\t\tOverride: jsii.Boolean(true),\n\t\t},\n\t\tReferrerPolicy: &ResponseHeadersReferrerPolicy{\n\t\t\tReferrerPolicy: cloudfront.HeadersReferrerPolicy_NO_REFERRER,\n\t\t\tOverride: jsii.Boolean(true),\n\t\t},\n\t\tStrictTransportSecurity: &ResponseHeadersStrictTransportSecurity{\n\t\t\tAccessControlMaxAge: *awscdkcore.Duration_*Seconds(jsii.Number(600)),\n\t\t\tIncludeSubdomains: jsii.Boolean(true),\n\t\t\tOverride: jsii.Boolean(true),\n\t\t},\n\t\tXssProtection: &ResponseHeadersXSSProtection{\n\t\t\tProtection: jsii.Boolean(true),\n\t\t\tModeBlock: jsii.Boolean(true),\n\t\t\tReportUri: jsii.String(\"https://example.com/csp-report\"),\n\t\t\tOverride: jsii.Boolean(true),\n\t\t},\n\t},\n})\ncloudfront.NewDistribution(this, jsii.String(\"myDistCustomPolicy\"), &DistributionProps{\n\tDefaultBehavior: &BehaviorOptions{\n\t\tOrigin: bucketOrigin,\n\t\tResponseHeadersPolicy: myResponseHeadersPolicy,\n\t},\n})","version":"1"},"$":{"source":"// Using an existing managed response headers policy\ndeclare const bucketOrigin: origins.S3Origin;\nnew cloudfront.Distribution(this, 'myDistManagedPolicy', {\n  defaultBehavior: {\n    origin: bucketOrigin,\n    responseHeadersPolicy: cloudfront.ResponseHeadersPolicy.CORS_ALLOW_ALL_ORIGINS,\n  },\n});\n\n// Creating a custom response headers policy -- all parameters optional\nconst myResponseHeadersPolicy = new cloudfront.ResponseHeadersPolicy(this, 'ResponseHeadersPolicy', {\n  responseHeadersPolicyName: 'MyPolicy',\n  comment: 'A default policy',\n  corsBehavior: {\n    accessControlAllowCredentials: false,\n    accessControlAllowHeaders: ['X-Custom-Header-1', 'X-Custom-Header-2'],\n    accessControlAllowMethods: ['GET', 'POST'],\n    accessControlAllowOrigins: ['*'],\n    accessControlExposeHeaders: ['X-Custom-Header-1', 'X-Custom-Header-2'],\n    accessControlMaxAge: Duration.seconds(600),\n    originOverride: true,\n  },\n  customHeadersBehavior: {\n    customHeaders: [\n      { header: 'X-Amz-Date', value: 'some-value', override: true },\n      { header: 'X-Amz-Security-Token', value: 'some-value', override: false },\n    ],\n  },\n  securityHeadersBehavior: {\n    contentSecurityPolicy: { contentSecurityPolicy: 'default-src https:;', override: true },\n    contentTypeOptions: { override: true },\n    frameOptions: { frameOption: cloudfront.HeadersFrameOption.DENY, override: true },\n    referrerPolicy: { referrerPolicy: cloudfront.HeadersReferrerPolicy.NO_REFERRER, override: true },\n    strictTransportSecurity: { accessControlMaxAge: Duration.seconds(600), includeSubdomains: true, override: true },\n    xssProtection: { protection: true, modeBlock: true, reportUri: 'https://example.com/csp-report', override: true },\n  },\n});\nnew cloudfront.Distribution(this, 'myDistCustomPolicy', {\n  defaultBehavior: {\n    origin: bucketOrigin,\n    responseHeadersPolicy: myResponseHeadersPolicy,\n  },\n});","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.ResponseHeadersCorsBehavior"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.BehaviorOptions","@aws-cdk/aws-cloudfront.Distribution","@aws-cdk/aws-cloudfront.DistributionProps","@aws-cdk/aws-cloudfront.HeadersFrameOption","@aws-cdk/aws-cloudfront.HeadersFrameOption#DENY","@aws-cdk/aws-cloudfront.HeadersReferrerPolicy","@aws-cdk/aws-cloudfront.HeadersReferrerPolicy#NO_REFERRER","@aws-cdk/aws-cloudfront.IOrigin","@aws-cdk/aws-cloudfront.IResponseHeadersPolicy","@aws-cdk/aws-cloudfront.ResponseCustomHeadersBehavior","@aws-cdk/aws-cloudfront.ResponseHeadersContentSecurityPolicy","@aws-cdk/aws-cloudfront.ResponseHeadersContentTypeOptions","@aws-cdk/aws-cloudfront.ResponseHeadersCorsBehavior","@aws-cdk/aws-cloudfront.ResponseHeadersFrameOptions","@aws-cdk/aws-cloudfront.ResponseHeadersPolicy","@aws-cdk/aws-cloudfront.ResponseHeadersPolicy#CORS_ALLOW_ALL_ORIGINS","@aws-cdk/aws-cloudfront.ResponseHeadersPolicyProps","@aws-cdk/aws-cloudfront.ResponseHeadersReferrerPolicy","@aws-cdk/aws-cloudfront.ResponseHeadersStrictTransportSecurity","@aws-cdk/aws-cloudfront.ResponseHeadersXSSProtection","@aws-cdk/aws-cloudfront.ResponseSecurityHeadersBehavior","@aws-cdk/core.Duration","@aws-cdk/core.Duration#seconds","constructs.Construct"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// Using an existing managed response headers policy\ndeclare const bucketOrigin: origins.S3Origin;\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from 'constructs';\nimport { Duration, Stack } from '@aws-cdk/core';\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nimport * as origins from '@aws-cdk/aws-cloudfront-origins';\nimport * as s3 from '@aws-cdk/aws-s3';\nimport * as ec2 from '@aws-cdk/aws-ec2';\nimport * as elbv2 from '@aws-cdk/aws-elasticloadbalancingv2';\nimport * as lambda from '@aws-cdk/aws-lambda';\nimport * as path from 'path';\n\nclass Context extends Stack {\n  constructor(scope: Construct, id: string) {\n    super(scope, id);\n\n    // Code snippet begins after !show marker below\n/// !show\n\nnew cloudfront.Distribution(this, 'myDistManagedPolicy', {\n  defaultBehavior: {\n    origin: bucketOrigin,\n    responseHeadersPolicy: cloudfront.ResponseHeadersPolicy.CORS_ALLOW_ALL_ORIGINS,\n  },\n});\n\n// Creating a custom response headers policy -- all parameters optional\nconst myResponseHeadersPolicy = new cloudfront.ResponseHeadersPolicy(this, 'ResponseHeadersPolicy', {\n  responseHeadersPolicyName: 'MyPolicy',\n  comment: 'A default policy',\n  corsBehavior: {\n    accessControlAllowCredentials: false,\n    accessControlAllowHeaders: ['X-Custom-Header-1', 'X-Custom-Header-2'],\n    accessControlAllowMethods: ['GET', 'POST'],\n    accessControlAllowOrigins: ['*'],\n    accessControlExposeHeaders: ['X-Custom-Header-1', 'X-Custom-Header-2'],\n    accessControlMaxAge: Duration.seconds(600),\n    originOverride: true,\n  },\n  customHeadersBehavior: {\n    customHeaders: [\n      { header: 'X-Amz-Date', value: 'some-value', override: true },\n      { header: 'X-Amz-Security-Token', value: 'some-value', override: false },\n    ],\n  },\n  securityHeadersBehavior: {\n    contentSecurityPolicy: { contentSecurityPolicy: 'default-src https:;', override: true },\n    contentTypeOptions: { override: true },\n    frameOptions: { frameOption: cloudfront.HeadersFrameOption.DENY, override: true },\n    referrerPolicy: { referrerPolicy: cloudfront.HeadersReferrerPolicy.NO_REFERRER, override: true },\n    strictTransportSecurity: { accessControlMaxAge: Duration.seconds(600), includeSubdomains: true, override: true },\n    xssProtection: { protection: true, modeBlock: true, reportUri: 'https://example.com/csp-report', override: true },\n  },\n});\nnew cloudfront.Distribution(this, 'myDistCustomPolicy', {\n  defaultBehavior: {\n    origin: bucketOrigin,\n    responseHeadersPolicy: myResponseHeadersPolicy,\n  },\n});\n/// !hide\n// Code snippet ended before !hide marker above\n  }\n}\n","syntaxKindCounter":{"8":2,"10":18,"75":71,"91":2,"104":3,"106":11,"130":1,"153":1,"169":1,"192":5,"193":16,"194":11,"196":2,"197":3,"225":2,"226":2,"242":2,"243":2,"281":45,"290":1},"fqnsFingerprint":"de7c89c01af6e4d1c64703e7256d7328023b8aa2e9f1257ee5a6f6ff30b30710"},"c34c9706bbfee6e9c4ec6c25d5e83b293fb4b5247597612d13786e6e084882ba":{"translations":{"python":{"source":"# Using an existing managed response headers policy\n# bucket_origin: origins.S3Origin\n\ncloudfront.Distribution(self, \"myDistManagedPolicy\",\n    default_behavior=cloudfront.BehaviorOptions(\n        origin=bucket_origin,\n        response_headers_policy=cloudfront.ResponseHeadersPolicy.CORS_ALLOW_ALL_ORIGINS\n    )\n)\n\n# Creating a custom response headers policy -- all parameters optional\nmy_response_headers_policy = cloudfront.ResponseHeadersPolicy(self, \"ResponseHeadersPolicy\",\n    response_headers_policy_name=\"MyPolicy\",\n    comment=\"A default policy\",\n    cors_behavior=cloudfront.ResponseHeadersCorsBehavior(\n        access_control_allow_credentials=False,\n        access_control_allow_headers=[\"X-Custom-Header-1\", \"X-Custom-Header-2\"],\n        access_control_allow_methods=[\"GET\", \"POST\"],\n        access_control_allow_origins=[\"*\"],\n        access_control_expose_headers=[\"X-Custom-Header-1\", \"X-Custom-Header-2\"],\n        access_control_max_age=Duration.seconds(600),\n        origin_override=True\n    ),\n    custom_headers_behavior=cloudfront.ResponseCustomHeadersBehavior(\n        custom_headers=[cloudfront.ResponseCustomHeader(header=\"X-Amz-Date\", value=\"some-value\", override=True), cloudfront.ResponseCustomHeader(header=\"X-Amz-Security-Token\", value=\"some-value\", override=False)\n        ]\n    ),\n    security_headers_behavior=cloudfront.ResponseSecurityHeadersBehavior(\n        content_security_policy=cloudfront.ResponseHeadersContentSecurityPolicy(content_security_policy=\"default-src https:;\", override=True),\n        content_type_options=cloudfront.ResponseHeadersContentTypeOptions(override=True),\n        frame_options=cloudfront.ResponseHeadersFrameOptions(frame_option=cloudfront.HeadersFrameOption.DENY, override=True),\n        referrer_policy=cloudfront.ResponseHeadersReferrerPolicy(referrer_policy=cloudfront.HeadersReferrerPolicy.NO_REFERRER, override=True),\n        strict_transport_security=cloudfront.ResponseHeadersStrictTransportSecurity(access_control_max_age=Duration.seconds(600), include_subdomains=True, override=True),\n        xss_protection=cloudfront.ResponseHeadersXSSProtection(protection=True, mode_block=True, report_uri=\"https://example.com/csp-report\", override=True)\n    )\n)\ncloudfront.Distribution(self, \"myDistCustomPolicy\",\n    default_behavior=cloudfront.BehaviorOptions(\n        origin=bucket_origin,\n        response_headers_policy=my_response_headers_policy\n    )\n)","version":"2"},"csharp":{"source":"// Using an existing managed response headers policy\nS3Origin bucketOrigin;\n\nnew Distribution(this, \"myDistManagedPolicy\", new DistributionProps {\n    DefaultBehavior = new BehaviorOptions {\n        Origin = bucketOrigin,\n        ResponseHeadersPolicy = ResponseHeadersPolicy.CORS_ALLOW_ALL_ORIGINS\n    }\n});\n\n// Creating a custom response headers policy -- all parameters optional\nvar myResponseHeadersPolicy = new ResponseHeadersPolicy(this, \"ResponseHeadersPolicy\", new ResponseHeadersPolicyProps {\n    ResponseHeadersPolicyName = \"MyPolicy\",\n    Comment = \"A default policy\",\n    CorsBehavior = new ResponseHeadersCorsBehavior {\n        AccessControlAllowCredentials = false,\n        AccessControlAllowHeaders = new [] { \"X-Custom-Header-1\", \"X-Custom-Header-2\" },\n        AccessControlAllowMethods = new [] { \"GET\", \"POST\" },\n        AccessControlAllowOrigins = new [] { \"*\" },\n        AccessControlExposeHeaders = new [] { \"X-Custom-Header-1\", \"X-Custom-Header-2\" },\n        AccessControlMaxAge = Duration.Seconds(600),\n        OriginOverride = true\n    },\n    CustomHeadersBehavior = new ResponseCustomHeadersBehavior {\n        CustomHeaders = new [] { new ResponseCustomHeader { Header = \"X-Amz-Date\", Value = \"some-value\", Override = true }, new ResponseCustomHeader { Header = \"X-Amz-Security-Token\", Value = \"some-value\", Override = false } }\n    },\n    SecurityHeadersBehavior = new ResponseSecurityHeadersBehavior {\n        ContentSecurityPolicy = new ResponseHeadersContentSecurityPolicy { ContentSecurityPolicy = \"default-src https:;\", Override = true },\n        ContentTypeOptions = new ResponseHeadersContentTypeOptions { Override = true },\n        FrameOptions = new ResponseHeadersFrameOptions { FrameOption = HeadersFrameOption.DENY, Override = true },\n        ReferrerPolicy = new ResponseHeadersReferrerPolicy { ReferrerPolicy = HeadersReferrerPolicy.NO_REFERRER, Override = true },\n        StrictTransportSecurity = new ResponseHeadersStrictTransportSecurity { AccessControlMaxAge = Duration.Seconds(600), IncludeSubdomains = true, Override = true },\n        XssProtection = new ResponseHeadersXSSProtection { Protection = true, ModeBlock = true, ReportUri = \"https://example.com/csp-report\", Override = true }\n    }\n});\nnew Distribution(this, \"myDistCustomPolicy\", new DistributionProps {\n    DefaultBehavior = new BehaviorOptions {\n        Origin = bucketOrigin,\n        ResponseHeadersPolicy = myResponseHeadersPolicy\n    }\n});","version":"1"},"java":{"source":"// Using an existing managed response headers policy\nS3Origin bucketOrigin;\n\nDistribution.Builder.create(this, \"myDistManagedPolicy\")\n        .defaultBehavior(BehaviorOptions.builder()\n                .origin(bucketOrigin)\n                .responseHeadersPolicy(ResponseHeadersPolicy.CORS_ALLOW_ALL_ORIGINS)\n                .build())\n        .build();\n\n// Creating a custom response headers policy -- all parameters optional\nResponseHeadersPolicy myResponseHeadersPolicy = ResponseHeadersPolicy.Builder.create(this, \"ResponseHeadersPolicy\")\n        .responseHeadersPolicyName(\"MyPolicy\")\n        .comment(\"A default policy\")\n        .corsBehavior(ResponseHeadersCorsBehavior.builder()\n                .accessControlAllowCredentials(false)\n                .accessControlAllowHeaders(List.of(\"X-Custom-Header-1\", \"X-Custom-Header-2\"))\n                .accessControlAllowMethods(List.of(\"GET\", \"POST\"))\n                .accessControlAllowOrigins(List.of(\"*\"))\n                .accessControlExposeHeaders(List.of(\"X-Custom-Header-1\", \"X-Custom-Header-2\"))\n                .accessControlMaxAge(Duration.seconds(600))\n                .originOverride(true)\n                .build())\n        .customHeadersBehavior(ResponseCustomHeadersBehavior.builder()\n                .customHeaders(List.of(ResponseCustomHeader.builder().header(\"X-Amz-Date\").value(\"some-value\").override(true).build(), ResponseCustomHeader.builder().header(\"X-Amz-Security-Token\").value(\"some-value\").override(false).build()))\n                .build())\n        .securityHeadersBehavior(ResponseSecurityHeadersBehavior.builder()\n                .contentSecurityPolicy(ResponseHeadersContentSecurityPolicy.builder().contentSecurityPolicy(\"default-src https:;\").override(true).build())\n                .contentTypeOptions(ResponseHeadersContentTypeOptions.builder().override(true).build())\n                .frameOptions(ResponseHeadersFrameOptions.builder().frameOption(HeadersFrameOption.DENY).override(true).build())\n                .referrerPolicy(ResponseHeadersReferrerPolicy.builder().referrerPolicy(HeadersReferrerPolicy.NO_REFERRER).override(true).build())\n                .strictTransportSecurity(ResponseHeadersStrictTransportSecurity.builder().accessControlMaxAge(Duration.seconds(600)).includeSubdomains(true).override(true).build())\n                .xssProtection(ResponseHeadersXSSProtection.builder().protection(true).modeBlock(true).reportUri(\"https://example.com/csp-report\").override(true).build())\n                .build())\n        .build();\nDistribution.Builder.create(this, \"myDistCustomPolicy\")\n        .defaultBehavior(BehaviorOptions.builder()\n                .origin(bucketOrigin)\n                .responseHeadersPolicy(myResponseHeadersPolicy)\n                .build())\n        .build();","version":"1"},"go":{"source":"// Using an existing managed response headers policy\nvar bucketOrigin s3Origin\n\ncloudfront.NewDistribution(this, jsii.String(\"myDistManagedPolicy\"), &DistributionProps{\n\tDefaultBehavior: &BehaviorOptions{\n\t\tOrigin: bucketOrigin,\n\t\tResponseHeadersPolicy: cloudfront.ResponseHeadersPolicy_CORS_ALLOW_ALL_ORIGINS(),\n\t},\n})\n\n// Creating a custom response headers policy -- all parameters optional\nmyResponseHeadersPolicy := cloudfront.NewResponseHeadersPolicy(this, jsii.String(\"ResponseHeadersPolicy\"), &ResponseHeadersPolicyProps{\n\tResponseHeadersPolicyName: jsii.String(\"MyPolicy\"),\n\tComment: jsii.String(\"A default policy\"),\n\tCorsBehavior: &ResponseHeadersCorsBehavior{\n\t\tAccessControlAllowCredentials: jsii.Boolean(false),\n\t\tAccessControlAllowHeaders: []*string{\n\t\t\tjsii.String(\"X-Custom-Header-1\"),\n\t\t\tjsii.String(\"X-Custom-Header-2\"),\n\t\t},\n\t\tAccessControlAllowMethods: []*string{\n\t\t\tjsii.String(\"GET\"),\n\t\t\tjsii.String(\"POST\"),\n\t\t},\n\t\tAccessControlAllowOrigins: []*string{\n\t\t\tjsii.String(\"*\"),\n\t\t},\n\t\tAccessControlExposeHeaders: []*string{\n\t\t\tjsii.String(\"X-Custom-Header-1\"),\n\t\t\tjsii.String(\"X-Custom-Header-2\"),\n\t\t},\n\t\tAccessControlMaxAge: awscdkcore.Duration_Seconds(jsii.Number(600)),\n\t\tOriginOverride: jsii.Boolean(true),\n\t},\n\tCustomHeadersBehavior: &ResponseCustomHeadersBehavior{\n\t\tCustomHeaders: []responseCustomHeader{\n\t\t\t&responseCustomHeader{\n\t\t\t\tHeader: jsii.String(\"X-Amz-Date\"),\n\t\t\t\tValue: jsii.String(\"some-value\"),\n\t\t\t\tOverride: jsii.Boolean(true),\n\t\t\t},\n\t\t\t&responseCustomHeader{\n\t\t\t\tHeader: jsii.String(\"X-Amz-Security-Token\"),\n\t\t\t\tValue: jsii.String(\"some-value\"),\n\t\t\t\tOverride: jsii.Boolean(false),\n\t\t\t},\n\t\t},\n\t},\n\tSecurityHeadersBehavior: &ResponseSecurityHeadersBehavior{\n\t\tContentSecurityPolicy: &ResponseHeadersContentSecurityPolicy{\n\t\t\tContentSecurityPolicy: jsii.String(\"default-src https:;\"),\n\t\t\tOverride: jsii.Boolean(true),\n\t\t},\n\t\tContentTypeOptions: &ResponseHeadersContentTypeOptions{\n\t\t\tOverride: jsii.Boolean(true),\n\t\t},\n\t\tFrameOptions: &ResponseHeadersFrameOptions{\n\t\t\tFrameOption: cloudfront.HeadersFrameOption_DENY,\n\t\t\tOverride: jsii.Boolean(true),\n\t\t},\n\t\tReferrerPolicy: &ResponseHeadersReferrerPolicy{\n\t\t\tReferrerPolicy: cloudfront.HeadersReferrerPolicy_NO_REFERRER,\n\t\t\tOverride: jsii.Boolean(true),\n\t\t},\n\t\tStrictTransportSecurity: &ResponseHeadersStrictTransportSecurity{\n\t\t\tAccessControlMaxAge: *awscdkcore.Duration_*Seconds(jsii.Number(600)),\n\t\t\tIncludeSubdomains: jsii.Boolean(true),\n\t\t\tOverride: jsii.Boolean(true),\n\t\t},\n\t\tXssProtection: &ResponseHeadersXSSProtection{\n\t\t\tProtection: jsii.Boolean(true),\n\t\t\tModeBlock: jsii.Boolean(true),\n\t\t\tReportUri: jsii.String(\"https://example.com/csp-report\"),\n\t\t\tOverride: jsii.Boolean(true),\n\t\t},\n\t},\n})\ncloudfront.NewDistribution(this, jsii.String(\"myDistCustomPolicy\"), &DistributionProps{\n\tDefaultBehavior: &BehaviorOptions{\n\t\tOrigin: bucketOrigin,\n\t\tResponseHeadersPolicy: myResponseHeadersPolicy,\n\t},\n})","version":"1"},"$":{"source":"// Using an existing managed response headers policy\ndeclare const bucketOrigin: origins.S3Origin;\nnew cloudfront.Distribution(this, 'myDistManagedPolicy', {\n  defaultBehavior: {\n    origin: bucketOrigin,\n    responseHeadersPolicy: cloudfront.ResponseHeadersPolicy.CORS_ALLOW_ALL_ORIGINS,\n  },\n});\n\n// Creating a custom response headers policy -- all parameters optional\nconst myResponseHeadersPolicy = new cloudfront.ResponseHeadersPolicy(this, 'ResponseHeadersPolicy', {\n  responseHeadersPolicyName: 'MyPolicy',\n  comment: 'A default policy',\n  corsBehavior: {\n    accessControlAllowCredentials: false,\n    accessControlAllowHeaders: ['X-Custom-Header-1', 'X-Custom-Header-2'],\n    accessControlAllowMethods: ['GET', 'POST'],\n    accessControlAllowOrigins: ['*'],\n    accessControlExposeHeaders: ['X-Custom-Header-1', 'X-Custom-Header-2'],\n    accessControlMaxAge: Duration.seconds(600),\n    originOverride: true,\n  },\n  customHeadersBehavior: {\n    customHeaders: [\n      { header: 'X-Amz-Date', value: 'some-value', override: true },\n      { header: 'X-Amz-Security-Token', value: 'some-value', override: false },\n    ],\n  },\n  securityHeadersBehavior: {\n    contentSecurityPolicy: { contentSecurityPolicy: 'default-src https:;', override: true },\n    contentTypeOptions: { override: true },\n    frameOptions: { frameOption: cloudfront.HeadersFrameOption.DENY, override: true },\n    referrerPolicy: { referrerPolicy: cloudfront.HeadersReferrerPolicy.NO_REFERRER, override: true },\n    strictTransportSecurity: { accessControlMaxAge: Duration.seconds(600), includeSubdomains: true, override: true },\n    xssProtection: { protection: true, modeBlock: true, reportUri: 'https://example.com/csp-report', override: true },\n  },\n});\nnew cloudfront.Distribution(this, 'myDistCustomPolicy', {\n  defaultBehavior: {\n    origin: bucketOrigin,\n    responseHeadersPolicy: myResponseHeadersPolicy,\n  },\n});","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.ResponseHeadersFrameOptions"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.BehaviorOptions","@aws-cdk/aws-cloudfront.Distribution","@aws-cdk/aws-cloudfront.DistributionProps","@aws-cdk/aws-cloudfront.HeadersFrameOption","@aws-cdk/aws-cloudfront.HeadersFrameOption#DENY","@aws-cdk/aws-cloudfront.HeadersReferrerPolicy","@aws-cdk/aws-cloudfront.HeadersReferrerPolicy#NO_REFERRER","@aws-cdk/aws-cloudfront.IOrigin","@aws-cdk/aws-cloudfront.IResponseHeadersPolicy","@aws-cdk/aws-cloudfront.ResponseCustomHeadersBehavior","@aws-cdk/aws-cloudfront.ResponseHeadersContentSecurityPolicy","@aws-cdk/aws-cloudfront.ResponseHeadersContentTypeOptions","@aws-cdk/aws-cloudfront.ResponseHeadersCorsBehavior","@aws-cdk/aws-cloudfront.ResponseHeadersFrameOptions","@aws-cdk/aws-cloudfront.ResponseHeadersPolicy","@aws-cdk/aws-cloudfront.ResponseHeadersPolicy#CORS_ALLOW_ALL_ORIGINS","@aws-cdk/aws-cloudfront.ResponseHeadersPolicyProps","@aws-cdk/aws-cloudfront.ResponseHeadersReferrerPolicy","@aws-cdk/aws-cloudfront.ResponseHeadersStrictTransportSecurity","@aws-cdk/aws-cloudfront.ResponseHeadersXSSProtection","@aws-cdk/aws-cloudfront.ResponseSecurityHeadersBehavior","@aws-cdk/core.Duration","@aws-cdk/core.Duration#seconds","constructs.Construct"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// Using an existing managed response headers policy\ndeclare const bucketOrigin: origins.S3Origin;\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from 'constructs';\nimport { Duration, Stack } from '@aws-cdk/core';\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nimport * as origins from '@aws-cdk/aws-cloudfront-origins';\nimport * as s3 from '@aws-cdk/aws-s3';\nimport * as ec2 from '@aws-cdk/aws-ec2';\nimport * as elbv2 from '@aws-cdk/aws-elasticloadbalancingv2';\nimport * as lambda from '@aws-cdk/aws-lambda';\nimport * as path from 'path';\n\nclass Context extends Stack {\n  constructor(scope: Construct, id: string) {\n    super(scope, id);\n\n    // Code snippet begins after !show marker below\n/// !show\n\nnew cloudfront.Distribution(this, 'myDistManagedPolicy', {\n  defaultBehavior: {\n    origin: bucketOrigin,\n    responseHeadersPolicy: cloudfront.ResponseHeadersPolicy.CORS_ALLOW_ALL_ORIGINS,\n  },\n});\n\n// Creating a custom response headers policy -- all parameters optional\nconst myResponseHeadersPolicy = new cloudfront.ResponseHeadersPolicy(this, 'ResponseHeadersPolicy', {\n  responseHeadersPolicyName: 'MyPolicy',\n  comment: 'A default policy',\n  corsBehavior: {\n    accessControlAllowCredentials: false,\n    accessControlAllowHeaders: ['X-Custom-Header-1', 'X-Custom-Header-2'],\n    accessControlAllowMethods: ['GET', 'POST'],\n    accessControlAllowOrigins: ['*'],\n    accessControlExposeHeaders: ['X-Custom-Header-1', 'X-Custom-Header-2'],\n    accessControlMaxAge: Duration.seconds(600),\n    originOverride: true,\n  },\n  customHeadersBehavior: {\n    customHeaders: [\n      { header: 'X-Amz-Date', value: 'some-value', override: true },\n      { header: 'X-Amz-Security-Token', value: 'some-value', override: false },\n    ],\n  },\n  securityHeadersBehavior: {\n    contentSecurityPolicy: { contentSecurityPolicy: 'default-src https:;', override: true },\n    contentTypeOptions: { override: true },\n    frameOptions: { frameOption: cloudfront.HeadersFrameOption.DENY, override: true },\n    referrerPolicy: { referrerPolicy: cloudfront.HeadersReferrerPolicy.NO_REFERRER, override: true },\n    strictTransportSecurity: { accessControlMaxAge: Duration.seconds(600), includeSubdomains: true, override: true },\n    xssProtection: { protection: true, modeBlock: true, reportUri: 'https://example.com/csp-report', override: true },\n  },\n});\nnew cloudfront.Distribution(this, 'myDistCustomPolicy', {\n  defaultBehavior: {\n    origin: bucketOrigin,\n    responseHeadersPolicy: myResponseHeadersPolicy,\n  },\n});\n/// !hide\n// Code snippet ended before !hide marker above\n  }\n}\n","syntaxKindCounter":{"8":2,"10":18,"75":71,"91":2,"104":3,"106":11,"130":1,"153":1,"169":1,"192":5,"193":16,"194":11,"196":2,"197":3,"225":2,"226":2,"242":2,"243":2,"281":45,"290":1},"fqnsFingerprint":"de7c89c01af6e4d1c64703e7256d7328023b8aa2e9f1257ee5a6f6ff30b30710"},"161a33466a81a744ee69fd15510072901a3f24933ad7d9886d0b2d8cfba06667":{"translations":{"python":{"source":"# Using an existing managed response headers policy\n# bucket_origin: origins.S3Origin\n\ncloudfront.Distribution(self, \"myDistManagedPolicy\",\n    default_behavior=cloudfront.BehaviorOptions(\n        origin=bucket_origin,\n        response_headers_policy=cloudfront.ResponseHeadersPolicy.CORS_ALLOW_ALL_ORIGINS\n    )\n)\n\n# Creating a custom response headers policy -- all parameters optional\nmy_response_headers_policy = cloudfront.ResponseHeadersPolicy(self, \"ResponseHeadersPolicy\",\n    response_headers_policy_name=\"MyPolicy\",\n    comment=\"A default policy\",\n    cors_behavior=cloudfront.ResponseHeadersCorsBehavior(\n        access_control_allow_credentials=False,\n        access_control_allow_headers=[\"X-Custom-Header-1\", \"X-Custom-Header-2\"],\n        access_control_allow_methods=[\"GET\", \"POST\"],\n        access_control_allow_origins=[\"*\"],\n        access_control_expose_headers=[\"X-Custom-Header-1\", \"X-Custom-Header-2\"],\n        access_control_max_age=Duration.seconds(600),\n        origin_override=True\n    ),\n    custom_headers_behavior=cloudfront.ResponseCustomHeadersBehavior(\n        custom_headers=[cloudfront.ResponseCustomHeader(header=\"X-Amz-Date\", value=\"some-value\", override=True), cloudfront.ResponseCustomHeader(header=\"X-Amz-Security-Token\", value=\"some-value\", override=False)\n        ]\n    ),\n    security_headers_behavior=cloudfront.ResponseSecurityHeadersBehavior(\n        content_security_policy=cloudfront.ResponseHeadersContentSecurityPolicy(content_security_policy=\"default-src https:;\", override=True),\n        content_type_options=cloudfront.ResponseHeadersContentTypeOptions(override=True),\n        frame_options=cloudfront.ResponseHeadersFrameOptions(frame_option=cloudfront.HeadersFrameOption.DENY, override=True),\n        referrer_policy=cloudfront.ResponseHeadersReferrerPolicy(referrer_policy=cloudfront.HeadersReferrerPolicy.NO_REFERRER, override=True),\n        strict_transport_security=cloudfront.ResponseHeadersStrictTransportSecurity(access_control_max_age=Duration.seconds(600), include_subdomains=True, override=True),\n        xss_protection=cloudfront.ResponseHeadersXSSProtection(protection=True, mode_block=True, report_uri=\"https://example.com/csp-report\", override=True)\n    )\n)\ncloudfront.Distribution(self, \"myDistCustomPolicy\",\n    default_behavior=cloudfront.BehaviorOptions(\n        origin=bucket_origin,\n        response_headers_policy=my_response_headers_policy\n    )\n)","version":"2"},"csharp":{"source":"// Using an existing managed response headers policy\nS3Origin bucketOrigin;\n\nnew Distribution(this, \"myDistManagedPolicy\", new DistributionProps {\n    DefaultBehavior = new BehaviorOptions {\n        Origin = bucketOrigin,\n        ResponseHeadersPolicy = ResponseHeadersPolicy.CORS_ALLOW_ALL_ORIGINS\n    }\n});\n\n// Creating a custom response headers policy -- all parameters optional\nvar myResponseHeadersPolicy = new ResponseHeadersPolicy(this, \"ResponseHeadersPolicy\", new ResponseHeadersPolicyProps {\n    ResponseHeadersPolicyName = \"MyPolicy\",\n    Comment = \"A default policy\",\n    CorsBehavior = new ResponseHeadersCorsBehavior {\n        AccessControlAllowCredentials = false,\n        AccessControlAllowHeaders = new [] { \"X-Custom-Header-1\", \"X-Custom-Header-2\" },\n        AccessControlAllowMethods = new [] { \"GET\", \"POST\" },\n        AccessControlAllowOrigins = new [] { \"*\" },\n        AccessControlExposeHeaders = new [] { \"X-Custom-Header-1\", \"X-Custom-Header-2\" },\n        AccessControlMaxAge = Duration.Seconds(600),\n        OriginOverride = true\n    },\n    CustomHeadersBehavior = new ResponseCustomHeadersBehavior {\n        CustomHeaders = new [] { new ResponseCustomHeader { Header = \"X-Amz-Date\", Value = \"some-value\", Override = true }, new ResponseCustomHeader { Header = \"X-Amz-Security-Token\", Value = \"some-value\", Override = false } }\n    },\n    SecurityHeadersBehavior = new ResponseSecurityHeadersBehavior {\n        ContentSecurityPolicy = new ResponseHeadersContentSecurityPolicy { ContentSecurityPolicy = \"default-src https:;\", Override = true },\n        ContentTypeOptions = new ResponseHeadersContentTypeOptions { Override = true },\n        FrameOptions = new ResponseHeadersFrameOptions { FrameOption = HeadersFrameOption.DENY, Override = true },\n        ReferrerPolicy = new ResponseHeadersReferrerPolicy { ReferrerPolicy = HeadersReferrerPolicy.NO_REFERRER, Override = true },\n        StrictTransportSecurity = new ResponseHeadersStrictTransportSecurity { AccessControlMaxAge = Duration.Seconds(600), IncludeSubdomains = true, Override = true },\n        XssProtection = new ResponseHeadersXSSProtection { Protection = true, ModeBlock = true, ReportUri = \"https://example.com/csp-report\", Override = true }\n    }\n});\nnew Distribution(this, \"myDistCustomPolicy\", new DistributionProps {\n    DefaultBehavior = new BehaviorOptions {\n        Origin = bucketOrigin,\n        ResponseHeadersPolicy = myResponseHeadersPolicy\n    }\n});","version":"1"},"java":{"source":"// Using an existing managed response headers policy\nS3Origin bucketOrigin;\n\nDistribution.Builder.create(this, \"myDistManagedPolicy\")\n        .defaultBehavior(BehaviorOptions.builder()\n                .origin(bucketOrigin)\n                .responseHeadersPolicy(ResponseHeadersPolicy.CORS_ALLOW_ALL_ORIGINS)\n                .build())\n        .build();\n\n// Creating a custom response headers policy -- all parameters optional\nResponseHeadersPolicy myResponseHeadersPolicy = ResponseHeadersPolicy.Builder.create(this, \"ResponseHeadersPolicy\")\n        .responseHeadersPolicyName(\"MyPolicy\")\n        .comment(\"A default policy\")\n        .corsBehavior(ResponseHeadersCorsBehavior.builder()\n                .accessControlAllowCredentials(false)\n                .accessControlAllowHeaders(List.of(\"X-Custom-Header-1\", \"X-Custom-Header-2\"))\n                .accessControlAllowMethods(List.of(\"GET\", \"POST\"))\n                .accessControlAllowOrigins(List.of(\"*\"))\n                .accessControlExposeHeaders(List.of(\"X-Custom-Header-1\", \"X-Custom-Header-2\"))\n                .accessControlMaxAge(Duration.seconds(600))\n                .originOverride(true)\n                .build())\n        .customHeadersBehavior(ResponseCustomHeadersBehavior.builder()\n                .customHeaders(List.of(ResponseCustomHeader.builder().header(\"X-Amz-Date\").value(\"some-value\").override(true).build(), ResponseCustomHeader.builder().header(\"X-Amz-Security-Token\").value(\"some-value\").override(false).build()))\n                .build())\n        .securityHeadersBehavior(ResponseSecurityHeadersBehavior.builder()\n                .contentSecurityPolicy(ResponseHeadersContentSecurityPolicy.builder().contentSecurityPolicy(\"default-src https:;\").override(true).build())\n                .contentTypeOptions(ResponseHeadersContentTypeOptions.builder().override(true).build())\n                .frameOptions(ResponseHeadersFrameOptions.builder().frameOption(HeadersFrameOption.DENY).override(true).build())\n                .referrerPolicy(ResponseHeadersReferrerPolicy.builder().referrerPolicy(HeadersReferrerPolicy.NO_REFERRER).override(true).build())\n                .strictTransportSecurity(ResponseHeadersStrictTransportSecurity.builder().accessControlMaxAge(Duration.seconds(600)).includeSubdomains(true).override(true).build())\n                .xssProtection(ResponseHeadersXSSProtection.builder().protection(true).modeBlock(true).reportUri(\"https://example.com/csp-report\").override(true).build())\n                .build())\n        .build();\nDistribution.Builder.create(this, \"myDistCustomPolicy\")\n        .defaultBehavior(BehaviorOptions.builder()\n                .origin(bucketOrigin)\n                .responseHeadersPolicy(myResponseHeadersPolicy)\n                .build())\n        .build();","version":"1"},"go":{"source":"// Using an existing managed response headers policy\nvar bucketOrigin s3Origin\n\ncloudfront.NewDistribution(this, jsii.String(\"myDistManagedPolicy\"), &DistributionProps{\n\tDefaultBehavior: &BehaviorOptions{\n\t\tOrigin: bucketOrigin,\n\t\tResponseHeadersPolicy: cloudfront.ResponseHeadersPolicy_CORS_ALLOW_ALL_ORIGINS(),\n\t},\n})\n\n// Creating a custom response headers policy -- all parameters optional\nmyResponseHeadersPolicy := cloudfront.NewResponseHeadersPolicy(this, jsii.String(\"ResponseHeadersPolicy\"), &ResponseHeadersPolicyProps{\n\tResponseHeadersPolicyName: jsii.String(\"MyPolicy\"),\n\tComment: jsii.String(\"A default policy\"),\n\tCorsBehavior: &ResponseHeadersCorsBehavior{\n\t\tAccessControlAllowCredentials: jsii.Boolean(false),\n\t\tAccessControlAllowHeaders: []*string{\n\t\t\tjsii.String(\"X-Custom-Header-1\"),\n\t\t\tjsii.String(\"X-Custom-Header-2\"),\n\t\t},\n\t\tAccessControlAllowMethods: []*string{\n\t\t\tjsii.String(\"GET\"),\n\t\t\tjsii.String(\"POST\"),\n\t\t},\n\t\tAccessControlAllowOrigins: []*string{\n\t\t\tjsii.String(\"*\"),\n\t\t},\n\t\tAccessControlExposeHeaders: []*string{\n\t\t\tjsii.String(\"X-Custom-Header-1\"),\n\t\t\tjsii.String(\"X-Custom-Header-2\"),\n\t\t},\n\t\tAccessControlMaxAge: awscdkcore.Duration_Seconds(jsii.Number(600)),\n\t\tOriginOverride: jsii.Boolean(true),\n\t},\n\tCustomHeadersBehavior: &ResponseCustomHeadersBehavior{\n\t\tCustomHeaders: []responseCustomHeader{\n\t\t\t&responseCustomHeader{\n\t\t\t\tHeader: jsii.String(\"X-Amz-Date\"),\n\t\t\t\tValue: jsii.String(\"some-value\"),\n\t\t\t\tOverride: jsii.Boolean(true),\n\t\t\t},\n\t\t\t&responseCustomHeader{\n\t\t\t\tHeader: jsii.String(\"X-Amz-Security-Token\"),\n\t\t\t\tValue: jsii.String(\"some-value\"),\n\t\t\t\tOverride: jsii.Boolean(false),\n\t\t\t},\n\t\t},\n\t},\n\tSecurityHeadersBehavior: &ResponseSecurityHeadersBehavior{\n\t\tContentSecurityPolicy: &ResponseHeadersContentSecurityPolicy{\n\t\t\tContentSecurityPolicy: jsii.String(\"default-src https:;\"),\n\t\t\tOverride: jsii.Boolean(true),\n\t\t},\n\t\tContentTypeOptions: &ResponseHeadersContentTypeOptions{\n\t\t\tOverride: jsii.Boolean(true),\n\t\t},\n\t\tFrameOptions: &ResponseHeadersFrameOptions{\n\t\t\tFrameOption: cloudfront.HeadersFrameOption_DENY,\n\t\t\tOverride: jsii.Boolean(true),\n\t\t},\n\t\tReferrerPolicy: &ResponseHeadersReferrerPolicy{\n\t\t\tReferrerPolicy: cloudfront.HeadersReferrerPolicy_NO_REFERRER,\n\t\t\tOverride: jsii.Boolean(true),\n\t\t},\n\t\tStrictTransportSecurity: &ResponseHeadersStrictTransportSecurity{\n\t\t\tAccessControlMaxAge: *awscdkcore.Duration_*Seconds(jsii.Number(600)),\n\t\t\tIncludeSubdomains: jsii.Boolean(true),\n\t\t\tOverride: jsii.Boolean(true),\n\t\t},\n\t\tXssProtection: &ResponseHeadersXSSProtection{\n\t\t\tProtection: jsii.Boolean(true),\n\t\t\tModeBlock: jsii.Boolean(true),\n\t\t\tReportUri: jsii.String(\"https://example.com/csp-report\"),\n\t\t\tOverride: jsii.Boolean(true),\n\t\t},\n\t},\n})\ncloudfront.NewDistribution(this, jsii.String(\"myDistCustomPolicy\"), &DistributionProps{\n\tDefaultBehavior: &BehaviorOptions{\n\t\tOrigin: bucketOrigin,\n\t\tResponseHeadersPolicy: myResponseHeadersPolicy,\n\t},\n})","version":"1"},"$":{"source":"// Using an existing managed response headers policy\ndeclare const bucketOrigin: origins.S3Origin;\nnew cloudfront.Distribution(this, 'myDistManagedPolicy', {\n  defaultBehavior: {\n    origin: bucketOrigin,\n    responseHeadersPolicy: cloudfront.ResponseHeadersPolicy.CORS_ALLOW_ALL_ORIGINS,\n  },\n});\n\n// Creating a custom response headers policy -- all parameters optional\nconst myResponseHeadersPolicy = new cloudfront.ResponseHeadersPolicy(this, 'ResponseHeadersPolicy', {\n  responseHeadersPolicyName: 'MyPolicy',\n  comment: 'A default policy',\n  corsBehavior: {\n    accessControlAllowCredentials: false,\n    accessControlAllowHeaders: ['X-Custom-Header-1', 'X-Custom-Header-2'],\n    accessControlAllowMethods: ['GET', 'POST'],\n    accessControlAllowOrigins: ['*'],\n    accessControlExposeHeaders: ['X-Custom-Header-1', 'X-Custom-Header-2'],\n    accessControlMaxAge: Duration.seconds(600),\n    originOverride: true,\n  },\n  customHeadersBehavior: {\n    customHeaders: [\n      { header: 'X-Amz-Date', value: 'some-value', override: true },\n      { header: 'X-Amz-Security-Token', value: 'some-value', override: false },\n    ],\n  },\n  securityHeadersBehavior: {\n    contentSecurityPolicy: { contentSecurityPolicy: 'default-src https:;', override: true },\n    contentTypeOptions: { override: true },\n    frameOptions: { frameOption: cloudfront.HeadersFrameOption.DENY, override: true },\n    referrerPolicy: { referrerPolicy: cloudfront.HeadersReferrerPolicy.NO_REFERRER, override: true },\n    strictTransportSecurity: { accessControlMaxAge: Duration.seconds(600), includeSubdomains: true, override: true },\n    xssProtection: { protection: true, modeBlock: true, reportUri: 'https://example.com/csp-report', override: true },\n  },\n});\nnew cloudfront.Distribution(this, 'myDistCustomPolicy', {\n  defaultBehavior: {\n    origin: bucketOrigin,\n    responseHeadersPolicy: myResponseHeadersPolicy,\n  },\n});","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.ResponseHeadersPolicy"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.BehaviorOptions","@aws-cdk/aws-cloudfront.Distribution","@aws-cdk/aws-cloudfront.DistributionProps","@aws-cdk/aws-cloudfront.HeadersFrameOption","@aws-cdk/aws-cloudfront.HeadersFrameOption#DENY","@aws-cdk/aws-cloudfront.HeadersReferrerPolicy","@aws-cdk/aws-cloudfront.HeadersReferrerPolicy#NO_REFERRER","@aws-cdk/aws-cloudfront.IOrigin","@aws-cdk/aws-cloudfront.IResponseHeadersPolicy","@aws-cdk/aws-cloudfront.ResponseCustomHeadersBehavior","@aws-cdk/aws-cloudfront.ResponseHeadersContentSecurityPolicy","@aws-cdk/aws-cloudfront.ResponseHeadersContentTypeOptions","@aws-cdk/aws-cloudfront.ResponseHeadersCorsBehavior","@aws-cdk/aws-cloudfront.ResponseHeadersFrameOptions","@aws-cdk/aws-cloudfront.ResponseHeadersPolicy","@aws-cdk/aws-cloudfront.ResponseHeadersPolicy#CORS_ALLOW_ALL_ORIGINS","@aws-cdk/aws-cloudfront.ResponseHeadersPolicyProps","@aws-cdk/aws-cloudfront.ResponseHeadersReferrerPolicy","@aws-cdk/aws-cloudfront.ResponseHeadersStrictTransportSecurity","@aws-cdk/aws-cloudfront.ResponseHeadersXSSProtection","@aws-cdk/aws-cloudfront.ResponseSecurityHeadersBehavior","@aws-cdk/core.Duration","@aws-cdk/core.Duration#seconds","constructs.Construct"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// Using an existing managed response headers policy\ndeclare const bucketOrigin: origins.S3Origin;\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from 'constructs';\nimport { Duration, Stack } from '@aws-cdk/core';\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nimport * as origins from '@aws-cdk/aws-cloudfront-origins';\nimport * as s3 from '@aws-cdk/aws-s3';\nimport * as ec2 from '@aws-cdk/aws-ec2';\nimport * as elbv2 from '@aws-cdk/aws-elasticloadbalancingv2';\nimport * as lambda from '@aws-cdk/aws-lambda';\nimport * as path from 'path';\n\nclass Context extends Stack {\n  constructor(scope: Construct, id: string) {\n    super(scope, id);\n\n    // Code snippet begins after !show marker below\n/// !show\n\nnew cloudfront.Distribution(this, 'myDistManagedPolicy', {\n  defaultBehavior: {\n    origin: bucketOrigin,\n    responseHeadersPolicy: cloudfront.ResponseHeadersPolicy.CORS_ALLOW_ALL_ORIGINS,\n  },\n});\n\n// Creating a custom response headers policy -- all parameters optional\nconst myResponseHeadersPolicy = new cloudfront.ResponseHeadersPolicy(this, 'ResponseHeadersPolicy', {\n  responseHeadersPolicyName: 'MyPolicy',\n  comment: 'A default policy',\n  corsBehavior: {\n    accessControlAllowCredentials: false,\n    accessControlAllowHeaders: ['X-Custom-Header-1', 'X-Custom-Header-2'],\n    accessControlAllowMethods: ['GET', 'POST'],\n    accessControlAllowOrigins: ['*'],\n    accessControlExposeHeaders: ['X-Custom-Header-1', 'X-Custom-Header-2'],\n    accessControlMaxAge: Duration.seconds(600),\n    originOverride: true,\n  },\n  customHeadersBehavior: {\n    customHeaders: [\n      { header: 'X-Amz-Date', value: 'some-value', override: true },\n      { header: 'X-Amz-Security-Token', value: 'some-value', override: false },\n    ],\n  },\n  securityHeadersBehavior: {\n    contentSecurityPolicy: { contentSecurityPolicy: 'default-src https:;', override: true },\n    contentTypeOptions: { override: true },\n    frameOptions: { frameOption: cloudfront.HeadersFrameOption.DENY, override: true },\n    referrerPolicy: { referrerPolicy: cloudfront.HeadersReferrerPolicy.NO_REFERRER, override: true },\n    strictTransportSecurity: { accessControlMaxAge: Duration.seconds(600), includeSubdomains: true, override: true },\n    xssProtection: { protection: true, modeBlock: true, reportUri: 'https://example.com/csp-report', override: true },\n  },\n});\nnew cloudfront.Distribution(this, 'myDistCustomPolicy', {\n  defaultBehavior: {\n    origin: bucketOrigin,\n    responseHeadersPolicy: myResponseHeadersPolicy,\n  },\n});\n/// !hide\n// Code snippet ended before !hide marker above\n  }\n}\n","syntaxKindCounter":{"8":2,"10":18,"75":71,"91":2,"104":3,"106":11,"130":1,"153":1,"169":1,"192":5,"193":16,"194":11,"196":2,"197":3,"225":2,"226":2,"242":2,"243":2,"281":45,"290":1},"fqnsFingerprint":"de7c89c01af6e4d1c64703e7256d7328023b8aa2e9f1257ee5a6f6ff30b30710"},"a1201145b07724cf721ef53afdb1e3457ff990a1478f9b11d1ed965ae04b070f":{"translations":{"python":{"source":"# Using an existing managed response headers policy\n# bucket_origin: origins.S3Origin\n\ncloudfront.Distribution(self, \"myDistManagedPolicy\",\n    default_behavior=cloudfront.BehaviorOptions(\n        origin=bucket_origin,\n        response_headers_policy=cloudfront.ResponseHeadersPolicy.CORS_ALLOW_ALL_ORIGINS\n    )\n)\n\n# Creating a custom response headers policy -- all parameters optional\nmy_response_headers_policy = cloudfront.ResponseHeadersPolicy(self, \"ResponseHeadersPolicy\",\n    response_headers_policy_name=\"MyPolicy\",\n    comment=\"A default policy\",\n    cors_behavior=cloudfront.ResponseHeadersCorsBehavior(\n        access_control_allow_credentials=False,\n        access_control_allow_headers=[\"X-Custom-Header-1\", \"X-Custom-Header-2\"],\n        access_control_allow_methods=[\"GET\", \"POST\"],\n        access_control_allow_origins=[\"*\"],\n        access_control_expose_headers=[\"X-Custom-Header-1\", \"X-Custom-Header-2\"],\n        access_control_max_age=Duration.seconds(600),\n        origin_override=True\n    ),\n    custom_headers_behavior=cloudfront.ResponseCustomHeadersBehavior(\n        custom_headers=[cloudfront.ResponseCustomHeader(header=\"X-Amz-Date\", value=\"some-value\", override=True), cloudfront.ResponseCustomHeader(header=\"X-Amz-Security-Token\", value=\"some-value\", override=False)\n        ]\n    ),\n    security_headers_behavior=cloudfront.ResponseSecurityHeadersBehavior(\n        content_security_policy=cloudfront.ResponseHeadersContentSecurityPolicy(content_security_policy=\"default-src https:;\", override=True),\n        content_type_options=cloudfront.ResponseHeadersContentTypeOptions(override=True),\n        frame_options=cloudfront.ResponseHeadersFrameOptions(frame_option=cloudfront.HeadersFrameOption.DENY, override=True),\n        referrer_policy=cloudfront.ResponseHeadersReferrerPolicy(referrer_policy=cloudfront.HeadersReferrerPolicy.NO_REFERRER, override=True),\n        strict_transport_security=cloudfront.ResponseHeadersStrictTransportSecurity(access_control_max_age=Duration.seconds(600), include_subdomains=True, override=True),\n        xss_protection=cloudfront.ResponseHeadersXSSProtection(protection=True, mode_block=True, report_uri=\"https://example.com/csp-report\", override=True)\n    )\n)\ncloudfront.Distribution(self, \"myDistCustomPolicy\",\n    default_behavior=cloudfront.BehaviorOptions(\n        origin=bucket_origin,\n        response_headers_policy=my_response_headers_policy\n    )\n)","version":"2"},"csharp":{"source":"// Using an existing managed response headers policy\nS3Origin bucketOrigin;\n\nnew Distribution(this, \"myDistManagedPolicy\", new DistributionProps {\n    DefaultBehavior = new BehaviorOptions {\n        Origin = bucketOrigin,\n        ResponseHeadersPolicy = ResponseHeadersPolicy.CORS_ALLOW_ALL_ORIGINS\n    }\n});\n\n// Creating a custom response headers policy -- all parameters optional\nvar myResponseHeadersPolicy = new ResponseHeadersPolicy(this, \"ResponseHeadersPolicy\", new ResponseHeadersPolicyProps {\n    ResponseHeadersPolicyName = \"MyPolicy\",\n    Comment = \"A default policy\",\n    CorsBehavior = new ResponseHeadersCorsBehavior {\n        AccessControlAllowCredentials = false,\n        AccessControlAllowHeaders = new [] { \"X-Custom-Header-1\", \"X-Custom-Header-2\" },\n        AccessControlAllowMethods = new [] { \"GET\", \"POST\" },\n        AccessControlAllowOrigins = new [] { \"*\" },\n        AccessControlExposeHeaders = new [] { \"X-Custom-Header-1\", \"X-Custom-Header-2\" },\n        AccessControlMaxAge = Duration.Seconds(600),\n        OriginOverride = true\n    },\n    CustomHeadersBehavior = new ResponseCustomHeadersBehavior {\n        CustomHeaders = new [] { new ResponseCustomHeader { Header = \"X-Amz-Date\", Value = \"some-value\", Override = true }, new ResponseCustomHeader { Header = \"X-Amz-Security-Token\", Value = \"some-value\", Override = false } }\n    },\n    SecurityHeadersBehavior = new ResponseSecurityHeadersBehavior {\n        ContentSecurityPolicy = new ResponseHeadersContentSecurityPolicy { ContentSecurityPolicy = \"default-src https:;\", Override = true },\n        ContentTypeOptions = new ResponseHeadersContentTypeOptions { Override = true },\n        FrameOptions = new ResponseHeadersFrameOptions { FrameOption = HeadersFrameOption.DENY, Override = true },\n        ReferrerPolicy = new ResponseHeadersReferrerPolicy { ReferrerPolicy = HeadersReferrerPolicy.NO_REFERRER, Override = true },\n        StrictTransportSecurity = new ResponseHeadersStrictTransportSecurity { AccessControlMaxAge = Duration.Seconds(600), IncludeSubdomains = true, Override = true },\n        XssProtection = new ResponseHeadersXSSProtection { Protection = true, ModeBlock = true, ReportUri = \"https://example.com/csp-report\", Override = true }\n    }\n});\nnew Distribution(this, \"myDistCustomPolicy\", new DistributionProps {\n    DefaultBehavior = new BehaviorOptions {\n        Origin = bucketOrigin,\n        ResponseHeadersPolicy = myResponseHeadersPolicy\n    }\n});","version":"1"},"java":{"source":"// Using an existing managed response headers policy\nS3Origin bucketOrigin;\n\nDistribution.Builder.create(this, \"myDistManagedPolicy\")\n        .defaultBehavior(BehaviorOptions.builder()\n                .origin(bucketOrigin)\n                .responseHeadersPolicy(ResponseHeadersPolicy.CORS_ALLOW_ALL_ORIGINS)\n                .build())\n        .build();\n\n// Creating a custom response headers policy -- all parameters optional\nResponseHeadersPolicy myResponseHeadersPolicy = ResponseHeadersPolicy.Builder.create(this, \"ResponseHeadersPolicy\")\n        .responseHeadersPolicyName(\"MyPolicy\")\n        .comment(\"A default policy\")\n        .corsBehavior(ResponseHeadersCorsBehavior.builder()\n                .accessControlAllowCredentials(false)\n                .accessControlAllowHeaders(List.of(\"X-Custom-Header-1\", \"X-Custom-Header-2\"))\n                .accessControlAllowMethods(List.of(\"GET\", \"POST\"))\n                .accessControlAllowOrigins(List.of(\"*\"))\n                .accessControlExposeHeaders(List.of(\"X-Custom-Header-1\", \"X-Custom-Header-2\"))\n                .accessControlMaxAge(Duration.seconds(600))\n                .originOverride(true)\n                .build())\n        .customHeadersBehavior(ResponseCustomHeadersBehavior.builder()\n                .customHeaders(List.of(ResponseCustomHeader.builder().header(\"X-Amz-Date\").value(\"some-value\").override(true).build(), ResponseCustomHeader.builder().header(\"X-Amz-Security-Token\").value(\"some-value\").override(false).build()))\n                .build())\n        .securityHeadersBehavior(ResponseSecurityHeadersBehavior.builder()\n                .contentSecurityPolicy(ResponseHeadersContentSecurityPolicy.builder().contentSecurityPolicy(\"default-src https:;\").override(true).build())\n                .contentTypeOptions(ResponseHeadersContentTypeOptions.builder().override(true).build())\n                .frameOptions(ResponseHeadersFrameOptions.builder().frameOption(HeadersFrameOption.DENY).override(true).build())\n                .referrerPolicy(ResponseHeadersReferrerPolicy.builder().referrerPolicy(HeadersReferrerPolicy.NO_REFERRER).override(true).build())\n                .strictTransportSecurity(ResponseHeadersStrictTransportSecurity.builder().accessControlMaxAge(Duration.seconds(600)).includeSubdomains(true).override(true).build())\n                .xssProtection(ResponseHeadersXSSProtection.builder().protection(true).modeBlock(true).reportUri(\"https://example.com/csp-report\").override(true).build())\n                .build())\n        .build();\nDistribution.Builder.create(this, \"myDistCustomPolicy\")\n        .defaultBehavior(BehaviorOptions.builder()\n                .origin(bucketOrigin)\n                .responseHeadersPolicy(myResponseHeadersPolicy)\n                .build())\n        .build();","version":"1"},"go":{"source":"// Using an existing managed response headers policy\nvar bucketOrigin s3Origin\n\ncloudfront.NewDistribution(this, jsii.String(\"myDistManagedPolicy\"), &DistributionProps{\n\tDefaultBehavior: &BehaviorOptions{\n\t\tOrigin: bucketOrigin,\n\t\tResponseHeadersPolicy: cloudfront.ResponseHeadersPolicy_CORS_ALLOW_ALL_ORIGINS(),\n\t},\n})\n\n// Creating a custom response headers policy -- all parameters optional\nmyResponseHeadersPolicy := cloudfront.NewResponseHeadersPolicy(this, jsii.String(\"ResponseHeadersPolicy\"), &ResponseHeadersPolicyProps{\n\tResponseHeadersPolicyName: jsii.String(\"MyPolicy\"),\n\tComment: jsii.String(\"A default policy\"),\n\tCorsBehavior: &ResponseHeadersCorsBehavior{\n\t\tAccessControlAllowCredentials: jsii.Boolean(false),\n\t\tAccessControlAllowHeaders: []*string{\n\t\t\tjsii.String(\"X-Custom-Header-1\"),\n\t\t\tjsii.String(\"X-Custom-Header-2\"),\n\t\t},\n\t\tAccessControlAllowMethods: []*string{\n\t\t\tjsii.String(\"GET\"),\n\t\t\tjsii.String(\"POST\"),\n\t\t},\n\t\tAccessControlAllowOrigins: []*string{\n\t\t\tjsii.String(\"*\"),\n\t\t},\n\t\tAccessControlExposeHeaders: []*string{\n\t\t\tjsii.String(\"X-Custom-Header-1\"),\n\t\t\tjsii.String(\"X-Custom-Header-2\"),\n\t\t},\n\t\tAccessControlMaxAge: awscdkcore.Duration_Seconds(jsii.Number(600)),\n\t\tOriginOverride: jsii.Boolean(true),\n\t},\n\tCustomHeadersBehavior: &ResponseCustomHeadersBehavior{\n\t\tCustomHeaders: []responseCustomHeader{\n\t\t\t&responseCustomHeader{\n\t\t\t\tHeader: jsii.String(\"X-Amz-Date\"),\n\t\t\t\tValue: jsii.String(\"some-value\"),\n\t\t\t\tOverride: jsii.Boolean(true),\n\t\t\t},\n\t\t\t&responseCustomHeader{\n\t\t\t\tHeader: jsii.String(\"X-Amz-Security-Token\"),\n\t\t\t\tValue: jsii.String(\"some-value\"),\n\t\t\t\tOverride: jsii.Boolean(false),\n\t\t\t},\n\t\t},\n\t},\n\tSecurityHeadersBehavior: &ResponseSecurityHeadersBehavior{\n\t\tContentSecurityPolicy: &ResponseHeadersContentSecurityPolicy{\n\t\t\tContentSecurityPolicy: jsii.String(\"default-src https:;\"),\n\t\t\tOverride: jsii.Boolean(true),\n\t\t},\n\t\tContentTypeOptions: &ResponseHeadersContentTypeOptions{\n\t\t\tOverride: jsii.Boolean(true),\n\t\t},\n\t\tFrameOptions: &ResponseHeadersFrameOptions{\n\t\t\tFrameOption: cloudfront.HeadersFrameOption_DENY,\n\t\t\tOverride: jsii.Boolean(true),\n\t\t},\n\t\tReferrerPolicy: &ResponseHeadersReferrerPolicy{\n\t\t\tReferrerPolicy: cloudfront.HeadersReferrerPolicy_NO_REFERRER,\n\t\t\tOverride: jsii.Boolean(true),\n\t\t},\n\t\tStrictTransportSecurity: &ResponseHeadersStrictTransportSecurity{\n\t\t\tAccessControlMaxAge: *awscdkcore.Duration_*Seconds(jsii.Number(600)),\n\t\t\tIncludeSubdomains: jsii.Boolean(true),\n\t\t\tOverride: jsii.Boolean(true),\n\t\t},\n\t\tXssProtection: &ResponseHeadersXSSProtection{\n\t\t\tProtection: jsii.Boolean(true),\n\t\t\tModeBlock: jsii.Boolean(true),\n\t\t\tReportUri: jsii.String(\"https://example.com/csp-report\"),\n\t\t\tOverride: jsii.Boolean(true),\n\t\t},\n\t},\n})\ncloudfront.NewDistribution(this, jsii.String(\"myDistCustomPolicy\"), &DistributionProps{\n\tDefaultBehavior: &BehaviorOptions{\n\t\tOrigin: bucketOrigin,\n\t\tResponseHeadersPolicy: myResponseHeadersPolicy,\n\t},\n})","version":"1"},"$":{"source":"// Using an existing managed response headers policy\ndeclare const bucketOrigin: origins.S3Origin;\nnew cloudfront.Distribution(this, 'myDistManagedPolicy', {\n  defaultBehavior: {\n    origin: bucketOrigin,\n    responseHeadersPolicy: cloudfront.ResponseHeadersPolicy.CORS_ALLOW_ALL_ORIGINS,\n  },\n});\n\n// Creating a custom response headers policy -- all parameters optional\nconst myResponseHeadersPolicy = new cloudfront.ResponseHeadersPolicy(this, 'ResponseHeadersPolicy', {\n  responseHeadersPolicyName: 'MyPolicy',\n  comment: 'A default policy',\n  corsBehavior: {\n    accessControlAllowCredentials: false,\n    accessControlAllowHeaders: ['X-Custom-Header-1', 'X-Custom-Header-2'],\n    accessControlAllowMethods: ['GET', 'POST'],\n    accessControlAllowOrigins: ['*'],\n    accessControlExposeHeaders: ['X-Custom-Header-1', 'X-Custom-Header-2'],\n    accessControlMaxAge: Duration.seconds(600),\n    originOverride: true,\n  },\n  customHeadersBehavior: {\n    customHeaders: [\n      { header: 'X-Amz-Date', value: 'some-value', override: true },\n      { header: 'X-Amz-Security-Token', value: 'some-value', override: false },\n    ],\n  },\n  securityHeadersBehavior: {\n    contentSecurityPolicy: { contentSecurityPolicy: 'default-src https:;', override: true },\n    contentTypeOptions: { override: true },\n    frameOptions: { frameOption: cloudfront.HeadersFrameOption.DENY, override: true },\n    referrerPolicy: { referrerPolicy: cloudfront.HeadersReferrerPolicy.NO_REFERRER, override: true },\n    strictTransportSecurity: { accessControlMaxAge: Duration.seconds(600), includeSubdomains: true, override: true },\n    xssProtection: { protection: true, modeBlock: true, reportUri: 'https://example.com/csp-report', override: true },\n  },\n});\nnew cloudfront.Distribution(this, 'myDistCustomPolicy', {\n  defaultBehavior: {\n    origin: bucketOrigin,\n    responseHeadersPolicy: myResponseHeadersPolicy,\n  },\n});","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.ResponseHeadersPolicyProps"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.BehaviorOptions","@aws-cdk/aws-cloudfront.Distribution","@aws-cdk/aws-cloudfront.DistributionProps","@aws-cdk/aws-cloudfront.HeadersFrameOption","@aws-cdk/aws-cloudfront.HeadersFrameOption#DENY","@aws-cdk/aws-cloudfront.HeadersReferrerPolicy","@aws-cdk/aws-cloudfront.HeadersReferrerPolicy#NO_REFERRER","@aws-cdk/aws-cloudfront.IOrigin","@aws-cdk/aws-cloudfront.IResponseHeadersPolicy","@aws-cdk/aws-cloudfront.ResponseCustomHeadersBehavior","@aws-cdk/aws-cloudfront.ResponseHeadersContentSecurityPolicy","@aws-cdk/aws-cloudfront.ResponseHeadersContentTypeOptions","@aws-cdk/aws-cloudfront.ResponseHeadersCorsBehavior","@aws-cdk/aws-cloudfront.ResponseHeadersFrameOptions","@aws-cdk/aws-cloudfront.ResponseHeadersPolicy","@aws-cdk/aws-cloudfront.ResponseHeadersPolicy#CORS_ALLOW_ALL_ORIGINS","@aws-cdk/aws-cloudfront.ResponseHeadersPolicyProps","@aws-cdk/aws-cloudfront.ResponseHeadersReferrerPolicy","@aws-cdk/aws-cloudfront.ResponseHeadersStrictTransportSecurity","@aws-cdk/aws-cloudfront.ResponseHeadersXSSProtection","@aws-cdk/aws-cloudfront.ResponseSecurityHeadersBehavior","@aws-cdk/core.Duration","@aws-cdk/core.Duration#seconds","constructs.Construct"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// Using an existing managed response headers policy\ndeclare const bucketOrigin: origins.S3Origin;\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from 'constructs';\nimport { Duration, Stack } from '@aws-cdk/core';\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nimport * as origins from '@aws-cdk/aws-cloudfront-origins';\nimport * as s3 from '@aws-cdk/aws-s3';\nimport * as ec2 from '@aws-cdk/aws-ec2';\nimport * as elbv2 from '@aws-cdk/aws-elasticloadbalancingv2';\nimport * as lambda from '@aws-cdk/aws-lambda';\nimport * as path from 'path';\n\nclass Context extends Stack {\n  constructor(scope: Construct, id: string) {\n    super(scope, id);\n\n    // Code snippet begins after !show marker below\n/// !show\n\nnew cloudfront.Distribution(this, 'myDistManagedPolicy', {\n  defaultBehavior: {\n    origin: bucketOrigin,\n    responseHeadersPolicy: cloudfront.ResponseHeadersPolicy.CORS_ALLOW_ALL_ORIGINS,\n  },\n});\n\n// Creating a custom response headers policy -- all parameters optional\nconst myResponseHeadersPolicy = new cloudfront.ResponseHeadersPolicy(this, 'ResponseHeadersPolicy', {\n  responseHeadersPolicyName: 'MyPolicy',\n  comment: 'A default policy',\n  corsBehavior: {\n    accessControlAllowCredentials: false,\n    accessControlAllowHeaders: ['X-Custom-Header-1', 'X-Custom-Header-2'],\n    accessControlAllowMethods: ['GET', 'POST'],\n    accessControlAllowOrigins: ['*'],\n    accessControlExposeHeaders: ['X-Custom-Header-1', 'X-Custom-Header-2'],\n    accessControlMaxAge: Duration.seconds(600),\n    originOverride: true,\n  },\n  customHeadersBehavior: {\n    customHeaders: [\n      { header: 'X-Amz-Date', value: 'some-value', override: true },\n      { header: 'X-Amz-Security-Token', value: 'some-value', override: false },\n    ],\n  },\n  securityHeadersBehavior: {\n    contentSecurityPolicy: { contentSecurityPolicy: 'default-src https:;', override: true },\n    contentTypeOptions: { override: true },\n    frameOptions: { frameOption: cloudfront.HeadersFrameOption.DENY, override: true },\n    referrerPolicy: { referrerPolicy: cloudfront.HeadersReferrerPolicy.NO_REFERRER, override: true },\n    strictTransportSecurity: { accessControlMaxAge: Duration.seconds(600), includeSubdomains: true, override: true },\n    xssProtection: { protection: true, modeBlock: true, reportUri: 'https://example.com/csp-report', override: true },\n  },\n});\nnew cloudfront.Distribution(this, 'myDistCustomPolicy', {\n  defaultBehavior: {\n    origin: bucketOrigin,\n    responseHeadersPolicy: myResponseHeadersPolicy,\n  },\n});\n/// !hide\n// Code snippet ended before !hide marker above\n  }\n}\n","syntaxKindCounter":{"8":2,"10":18,"75":71,"91":2,"104":3,"106":11,"130":1,"153":1,"169":1,"192":5,"193":16,"194":11,"196":2,"197":3,"225":2,"226":2,"242":2,"243":2,"281":45,"290":1},"fqnsFingerprint":"de7c89c01af6e4d1c64703e7256d7328023b8aa2e9f1257ee5a6f6ff30b30710"},"dcf5a0c7ab65d0cbcd3cb7ea522382fe7b202d60c2bb18ecf2e62d119625799f":{"translations":{"python":{"source":"# Using an existing managed response headers policy\n# bucket_origin: origins.S3Origin\n\ncloudfront.Distribution(self, \"myDistManagedPolicy\",\n    default_behavior=cloudfront.BehaviorOptions(\n        origin=bucket_origin,\n        response_headers_policy=cloudfront.ResponseHeadersPolicy.CORS_ALLOW_ALL_ORIGINS\n    )\n)\n\n# Creating a custom response headers policy -- all parameters optional\nmy_response_headers_policy = cloudfront.ResponseHeadersPolicy(self, \"ResponseHeadersPolicy\",\n    response_headers_policy_name=\"MyPolicy\",\n    comment=\"A default policy\",\n    cors_behavior=cloudfront.ResponseHeadersCorsBehavior(\n        access_control_allow_credentials=False,\n        access_control_allow_headers=[\"X-Custom-Header-1\", \"X-Custom-Header-2\"],\n        access_control_allow_methods=[\"GET\", \"POST\"],\n        access_control_allow_origins=[\"*\"],\n        access_control_expose_headers=[\"X-Custom-Header-1\", \"X-Custom-Header-2\"],\n        access_control_max_age=Duration.seconds(600),\n        origin_override=True\n    ),\n    custom_headers_behavior=cloudfront.ResponseCustomHeadersBehavior(\n        custom_headers=[cloudfront.ResponseCustomHeader(header=\"X-Amz-Date\", value=\"some-value\", override=True), cloudfront.ResponseCustomHeader(header=\"X-Amz-Security-Token\", value=\"some-value\", override=False)\n        ]\n    ),\n    security_headers_behavior=cloudfront.ResponseSecurityHeadersBehavior(\n        content_security_policy=cloudfront.ResponseHeadersContentSecurityPolicy(content_security_policy=\"default-src https:;\", override=True),\n        content_type_options=cloudfront.ResponseHeadersContentTypeOptions(override=True),\n        frame_options=cloudfront.ResponseHeadersFrameOptions(frame_option=cloudfront.HeadersFrameOption.DENY, override=True),\n        referrer_policy=cloudfront.ResponseHeadersReferrerPolicy(referrer_policy=cloudfront.HeadersReferrerPolicy.NO_REFERRER, override=True),\n        strict_transport_security=cloudfront.ResponseHeadersStrictTransportSecurity(access_control_max_age=Duration.seconds(600), include_subdomains=True, override=True),\n        xss_protection=cloudfront.ResponseHeadersXSSProtection(protection=True, mode_block=True, report_uri=\"https://example.com/csp-report\", override=True)\n    )\n)\ncloudfront.Distribution(self, \"myDistCustomPolicy\",\n    default_behavior=cloudfront.BehaviorOptions(\n        origin=bucket_origin,\n        response_headers_policy=my_response_headers_policy\n    )\n)","version":"2"},"csharp":{"source":"// Using an existing managed response headers policy\nS3Origin bucketOrigin;\n\nnew Distribution(this, \"myDistManagedPolicy\", new DistributionProps {\n    DefaultBehavior = new BehaviorOptions {\n        Origin = bucketOrigin,\n        ResponseHeadersPolicy = ResponseHeadersPolicy.CORS_ALLOW_ALL_ORIGINS\n    }\n});\n\n// Creating a custom response headers policy -- all parameters optional\nvar myResponseHeadersPolicy = new ResponseHeadersPolicy(this, \"ResponseHeadersPolicy\", new ResponseHeadersPolicyProps {\n    ResponseHeadersPolicyName = \"MyPolicy\",\n    Comment = \"A default policy\",\n    CorsBehavior = new ResponseHeadersCorsBehavior {\n        AccessControlAllowCredentials = false,\n        AccessControlAllowHeaders = new [] { \"X-Custom-Header-1\", \"X-Custom-Header-2\" },\n        AccessControlAllowMethods = new [] { \"GET\", \"POST\" },\n        AccessControlAllowOrigins = new [] { \"*\" },\n        AccessControlExposeHeaders = new [] { \"X-Custom-Header-1\", \"X-Custom-Header-2\" },\n        AccessControlMaxAge = Duration.Seconds(600),\n        OriginOverride = true\n    },\n    CustomHeadersBehavior = new ResponseCustomHeadersBehavior {\n        CustomHeaders = new [] { new ResponseCustomHeader { Header = \"X-Amz-Date\", Value = \"some-value\", Override = true }, new ResponseCustomHeader { Header = \"X-Amz-Security-Token\", Value = \"some-value\", Override = false } }\n    },\n    SecurityHeadersBehavior = new ResponseSecurityHeadersBehavior {\n        ContentSecurityPolicy = new ResponseHeadersContentSecurityPolicy { ContentSecurityPolicy = \"default-src https:;\", Override = true },\n        ContentTypeOptions = new ResponseHeadersContentTypeOptions { Override = true },\n        FrameOptions = new ResponseHeadersFrameOptions { FrameOption = HeadersFrameOption.DENY, Override = true },\n        ReferrerPolicy = new ResponseHeadersReferrerPolicy { ReferrerPolicy = HeadersReferrerPolicy.NO_REFERRER, Override = true },\n        StrictTransportSecurity = new ResponseHeadersStrictTransportSecurity { AccessControlMaxAge = Duration.Seconds(600), IncludeSubdomains = true, Override = true },\n        XssProtection = new ResponseHeadersXSSProtection { Protection = true, ModeBlock = true, ReportUri = \"https://example.com/csp-report\", Override = true }\n    }\n});\nnew Distribution(this, \"myDistCustomPolicy\", new DistributionProps {\n    DefaultBehavior = new BehaviorOptions {\n        Origin = bucketOrigin,\n        ResponseHeadersPolicy = myResponseHeadersPolicy\n    }\n});","version":"1"},"java":{"source":"// Using an existing managed response headers policy\nS3Origin bucketOrigin;\n\nDistribution.Builder.create(this, \"myDistManagedPolicy\")\n        .defaultBehavior(BehaviorOptions.builder()\n                .origin(bucketOrigin)\n                .responseHeadersPolicy(ResponseHeadersPolicy.CORS_ALLOW_ALL_ORIGINS)\n                .build())\n        .build();\n\n// Creating a custom response headers policy -- all parameters optional\nResponseHeadersPolicy myResponseHeadersPolicy = ResponseHeadersPolicy.Builder.create(this, \"ResponseHeadersPolicy\")\n        .responseHeadersPolicyName(\"MyPolicy\")\n        .comment(\"A default policy\")\n        .corsBehavior(ResponseHeadersCorsBehavior.builder()\n                .accessControlAllowCredentials(false)\n                .accessControlAllowHeaders(List.of(\"X-Custom-Header-1\", \"X-Custom-Header-2\"))\n                .accessControlAllowMethods(List.of(\"GET\", \"POST\"))\n                .accessControlAllowOrigins(List.of(\"*\"))\n                .accessControlExposeHeaders(List.of(\"X-Custom-Header-1\", \"X-Custom-Header-2\"))\n                .accessControlMaxAge(Duration.seconds(600))\n                .originOverride(true)\n                .build())\n        .customHeadersBehavior(ResponseCustomHeadersBehavior.builder()\n                .customHeaders(List.of(ResponseCustomHeader.builder().header(\"X-Amz-Date\").value(\"some-value\").override(true).build(), ResponseCustomHeader.builder().header(\"X-Amz-Security-Token\").value(\"some-value\").override(false).build()))\n                .build())\n        .securityHeadersBehavior(ResponseSecurityHeadersBehavior.builder()\n                .contentSecurityPolicy(ResponseHeadersContentSecurityPolicy.builder().contentSecurityPolicy(\"default-src https:;\").override(true).build())\n                .contentTypeOptions(ResponseHeadersContentTypeOptions.builder().override(true).build())\n                .frameOptions(ResponseHeadersFrameOptions.builder().frameOption(HeadersFrameOption.DENY).override(true).build())\n                .referrerPolicy(ResponseHeadersReferrerPolicy.builder().referrerPolicy(HeadersReferrerPolicy.NO_REFERRER).override(true).build())\n                .strictTransportSecurity(ResponseHeadersStrictTransportSecurity.builder().accessControlMaxAge(Duration.seconds(600)).includeSubdomains(true).override(true).build())\n                .xssProtection(ResponseHeadersXSSProtection.builder().protection(true).modeBlock(true).reportUri(\"https://example.com/csp-report\").override(true).build())\n                .build())\n        .build();\nDistribution.Builder.create(this, \"myDistCustomPolicy\")\n        .defaultBehavior(BehaviorOptions.builder()\n                .origin(bucketOrigin)\n                .responseHeadersPolicy(myResponseHeadersPolicy)\n                .build())\n        .build();","version":"1"},"go":{"source":"// Using an existing managed response headers policy\nvar bucketOrigin s3Origin\n\ncloudfront.NewDistribution(this, jsii.String(\"myDistManagedPolicy\"), &DistributionProps{\n\tDefaultBehavior: &BehaviorOptions{\n\t\tOrigin: bucketOrigin,\n\t\tResponseHeadersPolicy: cloudfront.ResponseHeadersPolicy_CORS_ALLOW_ALL_ORIGINS(),\n\t},\n})\n\n// Creating a custom response headers policy -- all parameters optional\nmyResponseHeadersPolicy := cloudfront.NewResponseHeadersPolicy(this, jsii.String(\"ResponseHeadersPolicy\"), &ResponseHeadersPolicyProps{\n\tResponseHeadersPolicyName: jsii.String(\"MyPolicy\"),\n\tComment: jsii.String(\"A default policy\"),\n\tCorsBehavior: &ResponseHeadersCorsBehavior{\n\t\tAccessControlAllowCredentials: jsii.Boolean(false),\n\t\tAccessControlAllowHeaders: []*string{\n\t\t\tjsii.String(\"X-Custom-Header-1\"),\n\t\t\tjsii.String(\"X-Custom-Header-2\"),\n\t\t},\n\t\tAccessControlAllowMethods: []*string{\n\t\t\tjsii.String(\"GET\"),\n\t\t\tjsii.String(\"POST\"),\n\t\t},\n\t\tAccessControlAllowOrigins: []*string{\n\t\t\tjsii.String(\"*\"),\n\t\t},\n\t\tAccessControlExposeHeaders: []*string{\n\t\t\tjsii.String(\"X-Custom-Header-1\"),\n\t\t\tjsii.String(\"X-Custom-Header-2\"),\n\t\t},\n\t\tAccessControlMaxAge: awscdkcore.Duration_Seconds(jsii.Number(600)),\n\t\tOriginOverride: jsii.Boolean(true),\n\t},\n\tCustomHeadersBehavior: &ResponseCustomHeadersBehavior{\n\t\tCustomHeaders: []responseCustomHeader{\n\t\t\t&responseCustomHeader{\n\t\t\t\tHeader: jsii.String(\"X-Amz-Date\"),\n\t\t\t\tValue: jsii.String(\"some-value\"),\n\t\t\t\tOverride: jsii.Boolean(true),\n\t\t\t},\n\t\t\t&responseCustomHeader{\n\t\t\t\tHeader: jsii.String(\"X-Amz-Security-Token\"),\n\t\t\t\tValue: jsii.String(\"some-value\"),\n\t\t\t\tOverride: jsii.Boolean(false),\n\t\t\t},\n\t\t},\n\t},\n\tSecurityHeadersBehavior: &ResponseSecurityHeadersBehavior{\n\t\tContentSecurityPolicy: &ResponseHeadersContentSecurityPolicy{\n\t\t\tContentSecurityPolicy: jsii.String(\"default-src https:;\"),\n\t\t\tOverride: jsii.Boolean(true),\n\t\t},\n\t\tContentTypeOptions: &ResponseHeadersContentTypeOptions{\n\t\t\tOverride: jsii.Boolean(true),\n\t\t},\n\t\tFrameOptions: &ResponseHeadersFrameOptions{\n\t\t\tFrameOption: cloudfront.HeadersFrameOption_DENY,\n\t\t\tOverride: jsii.Boolean(true),\n\t\t},\n\t\tReferrerPolicy: &ResponseHeadersReferrerPolicy{\n\t\t\tReferrerPolicy: cloudfront.HeadersReferrerPolicy_NO_REFERRER,\n\t\t\tOverride: jsii.Boolean(true),\n\t\t},\n\t\tStrictTransportSecurity: &ResponseHeadersStrictTransportSecurity{\n\t\t\tAccessControlMaxAge: *awscdkcore.Duration_*Seconds(jsii.Number(600)),\n\t\t\tIncludeSubdomains: jsii.Boolean(true),\n\t\t\tOverride: jsii.Boolean(true),\n\t\t},\n\t\tXssProtection: &ResponseHeadersXSSProtection{\n\t\t\tProtection: jsii.Boolean(true),\n\t\t\tModeBlock: jsii.Boolean(true),\n\t\t\tReportUri: jsii.String(\"https://example.com/csp-report\"),\n\t\t\tOverride: jsii.Boolean(true),\n\t\t},\n\t},\n})\ncloudfront.NewDistribution(this, jsii.String(\"myDistCustomPolicy\"), &DistributionProps{\n\tDefaultBehavior: &BehaviorOptions{\n\t\tOrigin: bucketOrigin,\n\t\tResponseHeadersPolicy: myResponseHeadersPolicy,\n\t},\n})","version":"1"},"$":{"source":"// Using an existing managed response headers policy\ndeclare const bucketOrigin: origins.S3Origin;\nnew cloudfront.Distribution(this, 'myDistManagedPolicy', {\n  defaultBehavior: {\n    origin: bucketOrigin,\n    responseHeadersPolicy: cloudfront.ResponseHeadersPolicy.CORS_ALLOW_ALL_ORIGINS,\n  },\n});\n\n// Creating a custom response headers policy -- all parameters optional\nconst myResponseHeadersPolicy = new cloudfront.ResponseHeadersPolicy(this, 'ResponseHeadersPolicy', {\n  responseHeadersPolicyName: 'MyPolicy',\n  comment: 'A default policy',\n  corsBehavior: {\n    accessControlAllowCredentials: false,\n    accessControlAllowHeaders: ['X-Custom-Header-1', 'X-Custom-Header-2'],\n    accessControlAllowMethods: ['GET', 'POST'],\n    accessControlAllowOrigins: ['*'],\n    accessControlExposeHeaders: ['X-Custom-Header-1', 'X-Custom-Header-2'],\n    accessControlMaxAge: Duration.seconds(600),\n    originOverride: true,\n  },\n  customHeadersBehavior: {\n    customHeaders: [\n      { header: 'X-Amz-Date', value: 'some-value', override: true },\n      { header: 'X-Amz-Security-Token', value: 'some-value', override: false },\n    ],\n  },\n  securityHeadersBehavior: {\n    contentSecurityPolicy: { contentSecurityPolicy: 'default-src https:;', override: true },\n    contentTypeOptions: { override: true },\n    frameOptions: { frameOption: cloudfront.HeadersFrameOption.DENY, override: true },\n    referrerPolicy: { referrerPolicy: cloudfront.HeadersReferrerPolicy.NO_REFERRER, override: true },\n    strictTransportSecurity: { accessControlMaxAge: Duration.seconds(600), includeSubdomains: true, override: true },\n    xssProtection: { protection: true, modeBlock: true, reportUri: 'https://example.com/csp-report', override: true },\n  },\n});\nnew cloudfront.Distribution(this, 'myDistCustomPolicy', {\n  defaultBehavior: {\n    origin: bucketOrigin,\n    responseHeadersPolicy: myResponseHeadersPolicy,\n  },\n});","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.ResponseHeadersReferrerPolicy"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.BehaviorOptions","@aws-cdk/aws-cloudfront.Distribution","@aws-cdk/aws-cloudfront.DistributionProps","@aws-cdk/aws-cloudfront.HeadersFrameOption","@aws-cdk/aws-cloudfront.HeadersFrameOption#DENY","@aws-cdk/aws-cloudfront.HeadersReferrerPolicy","@aws-cdk/aws-cloudfront.HeadersReferrerPolicy#NO_REFERRER","@aws-cdk/aws-cloudfront.IOrigin","@aws-cdk/aws-cloudfront.IResponseHeadersPolicy","@aws-cdk/aws-cloudfront.ResponseCustomHeadersBehavior","@aws-cdk/aws-cloudfront.ResponseHeadersContentSecurityPolicy","@aws-cdk/aws-cloudfront.ResponseHeadersContentTypeOptions","@aws-cdk/aws-cloudfront.ResponseHeadersCorsBehavior","@aws-cdk/aws-cloudfront.ResponseHeadersFrameOptions","@aws-cdk/aws-cloudfront.ResponseHeadersPolicy","@aws-cdk/aws-cloudfront.ResponseHeadersPolicy#CORS_ALLOW_ALL_ORIGINS","@aws-cdk/aws-cloudfront.ResponseHeadersPolicyProps","@aws-cdk/aws-cloudfront.ResponseHeadersReferrerPolicy","@aws-cdk/aws-cloudfront.ResponseHeadersStrictTransportSecurity","@aws-cdk/aws-cloudfront.ResponseHeadersXSSProtection","@aws-cdk/aws-cloudfront.ResponseSecurityHeadersBehavior","@aws-cdk/core.Duration","@aws-cdk/core.Duration#seconds","constructs.Construct"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// Using an existing managed response headers policy\ndeclare const bucketOrigin: origins.S3Origin;\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from 'constructs';\nimport { Duration, Stack } from '@aws-cdk/core';\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nimport * as origins from '@aws-cdk/aws-cloudfront-origins';\nimport * as s3 from '@aws-cdk/aws-s3';\nimport * as ec2 from '@aws-cdk/aws-ec2';\nimport * as elbv2 from '@aws-cdk/aws-elasticloadbalancingv2';\nimport * as lambda from '@aws-cdk/aws-lambda';\nimport * as path from 'path';\n\nclass Context extends Stack {\n  constructor(scope: Construct, id: string) {\n    super(scope, id);\n\n    // Code snippet begins after !show marker below\n/// !show\n\nnew cloudfront.Distribution(this, 'myDistManagedPolicy', {\n  defaultBehavior: {\n    origin: bucketOrigin,\n    responseHeadersPolicy: cloudfront.ResponseHeadersPolicy.CORS_ALLOW_ALL_ORIGINS,\n  },\n});\n\n// Creating a custom response headers policy -- all parameters optional\nconst myResponseHeadersPolicy = new cloudfront.ResponseHeadersPolicy(this, 'ResponseHeadersPolicy', {\n  responseHeadersPolicyName: 'MyPolicy',\n  comment: 'A default policy',\n  corsBehavior: {\n    accessControlAllowCredentials: false,\n    accessControlAllowHeaders: ['X-Custom-Header-1', 'X-Custom-Header-2'],\n    accessControlAllowMethods: ['GET', 'POST'],\n    accessControlAllowOrigins: ['*'],\n    accessControlExposeHeaders: ['X-Custom-Header-1', 'X-Custom-Header-2'],\n    accessControlMaxAge: Duration.seconds(600),\n    originOverride: true,\n  },\n  customHeadersBehavior: {\n    customHeaders: [\n      { header: 'X-Amz-Date', value: 'some-value', override: true },\n      { header: 'X-Amz-Security-Token', value: 'some-value', override: false },\n    ],\n  },\n  securityHeadersBehavior: {\n    contentSecurityPolicy: { contentSecurityPolicy: 'default-src https:;', override: true },\n    contentTypeOptions: { override: true },\n    frameOptions: { frameOption: cloudfront.HeadersFrameOption.DENY, override: true },\n    referrerPolicy: { referrerPolicy: cloudfront.HeadersReferrerPolicy.NO_REFERRER, override: true },\n    strictTransportSecurity: { accessControlMaxAge: Duration.seconds(600), includeSubdomains: true, override: true },\n    xssProtection: { protection: true, modeBlock: true, reportUri: 'https://example.com/csp-report', override: true },\n  },\n});\nnew cloudfront.Distribution(this, 'myDistCustomPolicy', {\n  defaultBehavior: {\n    origin: bucketOrigin,\n    responseHeadersPolicy: myResponseHeadersPolicy,\n  },\n});\n/// !hide\n// Code snippet ended before !hide marker above\n  }\n}\n","syntaxKindCounter":{"8":2,"10":18,"75":71,"91":2,"104":3,"106":11,"130":1,"153":1,"169":1,"192":5,"193":16,"194":11,"196":2,"197":3,"225":2,"226":2,"242":2,"243":2,"281":45,"290":1},"fqnsFingerprint":"de7c89c01af6e4d1c64703e7256d7328023b8aa2e9f1257ee5a6f6ff30b30710"},"fafc6c6c974df9957690090523feb72f1aeebc99b0b868bfc8aed240ba7ccf4c":{"translations":{"python":{"source":"# Using an existing managed response headers policy\n# bucket_origin: origins.S3Origin\n\ncloudfront.Distribution(self, \"myDistManagedPolicy\",\n    default_behavior=cloudfront.BehaviorOptions(\n        origin=bucket_origin,\n        response_headers_policy=cloudfront.ResponseHeadersPolicy.CORS_ALLOW_ALL_ORIGINS\n    )\n)\n\n# Creating a custom response headers policy -- all parameters optional\nmy_response_headers_policy = cloudfront.ResponseHeadersPolicy(self, \"ResponseHeadersPolicy\",\n    response_headers_policy_name=\"MyPolicy\",\n    comment=\"A default policy\",\n    cors_behavior=cloudfront.ResponseHeadersCorsBehavior(\n        access_control_allow_credentials=False,\n        access_control_allow_headers=[\"X-Custom-Header-1\", \"X-Custom-Header-2\"],\n        access_control_allow_methods=[\"GET\", \"POST\"],\n        access_control_allow_origins=[\"*\"],\n        access_control_expose_headers=[\"X-Custom-Header-1\", \"X-Custom-Header-2\"],\n        access_control_max_age=Duration.seconds(600),\n        origin_override=True\n    ),\n    custom_headers_behavior=cloudfront.ResponseCustomHeadersBehavior(\n        custom_headers=[cloudfront.ResponseCustomHeader(header=\"X-Amz-Date\", value=\"some-value\", override=True), cloudfront.ResponseCustomHeader(header=\"X-Amz-Security-Token\", value=\"some-value\", override=False)\n        ]\n    ),\n    security_headers_behavior=cloudfront.ResponseSecurityHeadersBehavior(\n        content_security_policy=cloudfront.ResponseHeadersContentSecurityPolicy(content_security_policy=\"default-src https:;\", override=True),\n        content_type_options=cloudfront.ResponseHeadersContentTypeOptions(override=True),\n        frame_options=cloudfront.ResponseHeadersFrameOptions(frame_option=cloudfront.HeadersFrameOption.DENY, override=True),\n        referrer_policy=cloudfront.ResponseHeadersReferrerPolicy(referrer_policy=cloudfront.HeadersReferrerPolicy.NO_REFERRER, override=True),\n        strict_transport_security=cloudfront.ResponseHeadersStrictTransportSecurity(access_control_max_age=Duration.seconds(600), include_subdomains=True, override=True),\n        xss_protection=cloudfront.ResponseHeadersXSSProtection(protection=True, mode_block=True, report_uri=\"https://example.com/csp-report\", override=True)\n    )\n)\ncloudfront.Distribution(self, \"myDistCustomPolicy\",\n    default_behavior=cloudfront.BehaviorOptions(\n        origin=bucket_origin,\n        response_headers_policy=my_response_headers_policy\n    )\n)","version":"2"},"csharp":{"source":"// Using an existing managed response headers policy\nS3Origin bucketOrigin;\n\nnew Distribution(this, \"myDistManagedPolicy\", new DistributionProps {\n    DefaultBehavior = new BehaviorOptions {\n        Origin = bucketOrigin,\n        ResponseHeadersPolicy = ResponseHeadersPolicy.CORS_ALLOW_ALL_ORIGINS\n    }\n});\n\n// Creating a custom response headers policy -- all parameters optional\nvar myResponseHeadersPolicy = new ResponseHeadersPolicy(this, \"ResponseHeadersPolicy\", new ResponseHeadersPolicyProps {\n    ResponseHeadersPolicyName = \"MyPolicy\",\n    Comment = \"A default policy\",\n    CorsBehavior = new ResponseHeadersCorsBehavior {\n        AccessControlAllowCredentials = false,\n        AccessControlAllowHeaders = new [] { \"X-Custom-Header-1\", \"X-Custom-Header-2\" },\n        AccessControlAllowMethods = new [] { \"GET\", \"POST\" },\n        AccessControlAllowOrigins = new [] { \"*\" },\n        AccessControlExposeHeaders = new [] { \"X-Custom-Header-1\", \"X-Custom-Header-2\" },\n        AccessControlMaxAge = Duration.Seconds(600),\n        OriginOverride = true\n    },\n    CustomHeadersBehavior = new ResponseCustomHeadersBehavior {\n        CustomHeaders = new [] { new ResponseCustomHeader { Header = \"X-Amz-Date\", Value = \"some-value\", Override = true }, new ResponseCustomHeader { Header = \"X-Amz-Security-Token\", Value = \"some-value\", Override = false } }\n    },\n    SecurityHeadersBehavior = new ResponseSecurityHeadersBehavior {\n        ContentSecurityPolicy = new ResponseHeadersContentSecurityPolicy { ContentSecurityPolicy = \"default-src https:;\", Override = true },\n        ContentTypeOptions = new ResponseHeadersContentTypeOptions { Override = true },\n        FrameOptions = new ResponseHeadersFrameOptions { FrameOption = HeadersFrameOption.DENY, Override = true },\n        ReferrerPolicy = new ResponseHeadersReferrerPolicy { ReferrerPolicy = HeadersReferrerPolicy.NO_REFERRER, Override = true },\n        StrictTransportSecurity = new ResponseHeadersStrictTransportSecurity { AccessControlMaxAge = Duration.Seconds(600), IncludeSubdomains = true, Override = true },\n        XssProtection = new ResponseHeadersXSSProtection { Protection = true, ModeBlock = true, ReportUri = \"https://example.com/csp-report\", Override = true }\n    }\n});\nnew Distribution(this, \"myDistCustomPolicy\", new DistributionProps {\n    DefaultBehavior = new BehaviorOptions {\n        Origin = bucketOrigin,\n        ResponseHeadersPolicy = myResponseHeadersPolicy\n    }\n});","version":"1"},"java":{"source":"// Using an existing managed response headers policy\nS3Origin bucketOrigin;\n\nDistribution.Builder.create(this, \"myDistManagedPolicy\")\n        .defaultBehavior(BehaviorOptions.builder()\n                .origin(bucketOrigin)\n                .responseHeadersPolicy(ResponseHeadersPolicy.CORS_ALLOW_ALL_ORIGINS)\n                .build())\n        .build();\n\n// Creating a custom response headers policy -- all parameters optional\nResponseHeadersPolicy myResponseHeadersPolicy = ResponseHeadersPolicy.Builder.create(this, \"ResponseHeadersPolicy\")\n        .responseHeadersPolicyName(\"MyPolicy\")\n        .comment(\"A default policy\")\n        .corsBehavior(ResponseHeadersCorsBehavior.builder()\n                .accessControlAllowCredentials(false)\n                .accessControlAllowHeaders(List.of(\"X-Custom-Header-1\", \"X-Custom-Header-2\"))\n                .accessControlAllowMethods(List.of(\"GET\", \"POST\"))\n                .accessControlAllowOrigins(List.of(\"*\"))\n                .accessControlExposeHeaders(List.of(\"X-Custom-Header-1\", \"X-Custom-Header-2\"))\n                .accessControlMaxAge(Duration.seconds(600))\n                .originOverride(true)\n                .build())\n        .customHeadersBehavior(ResponseCustomHeadersBehavior.builder()\n                .customHeaders(List.of(ResponseCustomHeader.builder().header(\"X-Amz-Date\").value(\"some-value\").override(true).build(), ResponseCustomHeader.builder().header(\"X-Amz-Security-Token\").value(\"some-value\").override(false).build()))\n                .build())\n        .securityHeadersBehavior(ResponseSecurityHeadersBehavior.builder()\n                .contentSecurityPolicy(ResponseHeadersContentSecurityPolicy.builder().contentSecurityPolicy(\"default-src https:;\").override(true).build())\n                .contentTypeOptions(ResponseHeadersContentTypeOptions.builder().override(true).build())\n                .frameOptions(ResponseHeadersFrameOptions.builder().frameOption(HeadersFrameOption.DENY).override(true).build())\n                .referrerPolicy(ResponseHeadersReferrerPolicy.builder().referrerPolicy(HeadersReferrerPolicy.NO_REFERRER).override(true).build())\n                .strictTransportSecurity(ResponseHeadersStrictTransportSecurity.builder().accessControlMaxAge(Duration.seconds(600)).includeSubdomains(true).override(true).build())\n                .xssProtection(ResponseHeadersXSSProtection.builder().protection(true).modeBlock(true).reportUri(\"https://example.com/csp-report\").override(true).build())\n                .build())\n        .build();\nDistribution.Builder.create(this, \"myDistCustomPolicy\")\n        .defaultBehavior(BehaviorOptions.builder()\n                .origin(bucketOrigin)\n                .responseHeadersPolicy(myResponseHeadersPolicy)\n                .build())\n        .build();","version":"1"},"go":{"source":"// Using an existing managed response headers policy\nvar bucketOrigin s3Origin\n\ncloudfront.NewDistribution(this, jsii.String(\"myDistManagedPolicy\"), &DistributionProps{\n\tDefaultBehavior: &BehaviorOptions{\n\t\tOrigin: bucketOrigin,\n\t\tResponseHeadersPolicy: cloudfront.ResponseHeadersPolicy_CORS_ALLOW_ALL_ORIGINS(),\n\t},\n})\n\n// Creating a custom response headers policy -- all parameters optional\nmyResponseHeadersPolicy := cloudfront.NewResponseHeadersPolicy(this, jsii.String(\"ResponseHeadersPolicy\"), &ResponseHeadersPolicyProps{\n\tResponseHeadersPolicyName: jsii.String(\"MyPolicy\"),\n\tComment: jsii.String(\"A default policy\"),\n\tCorsBehavior: &ResponseHeadersCorsBehavior{\n\t\tAccessControlAllowCredentials: jsii.Boolean(false),\n\t\tAccessControlAllowHeaders: []*string{\n\t\t\tjsii.String(\"X-Custom-Header-1\"),\n\t\t\tjsii.String(\"X-Custom-Header-2\"),\n\t\t},\n\t\tAccessControlAllowMethods: []*string{\n\t\t\tjsii.String(\"GET\"),\n\t\t\tjsii.String(\"POST\"),\n\t\t},\n\t\tAccessControlAllowOrigins: []*string{\n\t\t\tjsii.String(\"*\"),\n\t\t},\n\t\tAccessControlExposeHeaders: []*string{\n\t\t\tjsii.String(\"X-Custom-Header-1\"),\n\t\t\tjsii.String(\"X-Custom-Header-2\"),\n\t\t},\n\t\tAccessControlMaxAge: awscdkcore.Duration_Seconds(jsii.Number(600)),\n\t\tOriginOverride: jsii.Boolean(true),\n\t},\n\tCustomHeadersBehavior: &ResponseCustomHeadersBehavior{\n\t\tCustomHeaders: []responseCustomHeader{\n\t\t\t&responseCustomHeader{\n\t\t\t\tHeader: jsii.String(\"X-Amz-Date\"),\n\t\t\t\tValue: jsii.String(\"some-value\"),\n\t\t\t\tOverride: jsii.Boolean(true),\n\t\t\t},\n\t\t\t&responseCustomHeader{\n\t\t\t\tHeader: jsii.String(\"X-Amz-Security-Token\"),\n\t\t\t\tValue: jsii.String(\"some-value\"),\n\t\t\t\tOverride: jsii.Boolean(false),\n\t\t\t},\n\t\t},\n\t},\n\tSecurityHeadersBehavior: &ResponseSecurityHeadersBehavior{\n\t\tContentSecurityPolicy: &ResponseHeadersContentSecurityPolicy{\n\t\t\tContentSecurityPolicy: jsii.String(\"default-src https:;\"),\n\t\t\tOverride: jsii.Boolean(true),\n\t\t},\n\t\tContentTypeOptions: &ResponseHeadersContentTypeOptions{\n\t\t\tOverride: jsii.Boolean(true),\n\t\t},\n\t\tFrameOptions: &ResponseHeadersFrameOptions{\n\t\t\tFrameOption: cloudfront.HeadersFrameOption_DENY,\n\t\t\tOverride: jsii.Boolean(true),\n\t\t},\n\t\tReferrerPolicy: &ResponseHeadersReferrerPolicy{\n\t\t\tReferrerPolicy: cloudfront.HeadersReferrerPolicy_NO_REFERRER,\n\t\t\tOverride: jsii.Boolean(true),\n\t\t},\n\t\tStrictTransportSecurity: &ResponseHeadersStrictTransportSecurity{\n\t\t\tAccessControlMaxAge: *awscdkcore.Duration_*Seconds(jsii.Number(600)),\n\t\t\tIncludeSubdomains: jsii.Boolean(true),\n\t\t\tOverride: jsii.Boolean(true),\n\t\t},\n\t\tXssProtection: &ResponseHeadersXSSProtection{\n\t\t\tProtection: jsii.Boolean(true),\n\t\t\tModeBlock: jsii.Boolean(true),\n\t\t\tReportUri: jsii.String(\"https://example.com/csp-report\"),\n\t\t\tOverride: jsii.Boolean(true),\n\t\t},\n\t},\n})\ncloudfront.NewDistribution(this, jsii.String(\"myDistCustomPolicy\"), &DistributionProps{\n\tDefaultBehavior: &BehaviorOptions{\n\t\tOrigin: bucketOrigin,\n\t\tResponseHeadersPolicy: myResponseHeadersPolicy,\n\t},\n})","version":"1"},"$":{"source":"// Using an existing managed response headers policy\ndeclare const bucketOrigin: origins.S3Origin;\nnew cloudfront.Distribution(this, 'myDistManagedPolicy', {\n  defaultBehavior: {\n    origin: bucketOrigin,\n    responseHeadersPolicy: cloudfront.ResponseHeadersPolicy.CORS_ALLOW_ALL_ORIGINS,\n  },\n});\n\n// Creating a custom response headers policy -- all parameters optional\nconst myResponseHeadersPolicy = new cloudfront.ResponseHeadersPolicy(this, 'ResponseHeadersPolicy', {\n  responseHeadersPolicyName: 'MyPolicy',\n  comment: 'A default policy',\n  corsBehavior: {\n    accessControlAllowCredentials: false,\n    accessControlAllowHeaders: ['X-Custom-Header-1', 'X-Custom-Header-2'],\n    accessControlAllowMethods: ['GET', 'POST'],\n    accessControlAllowOrigins: ['*'],\n    accessControlExposeHeaders: ['X-Custom-Header-1', 'X-Custom-Header-2'],\n    accessControlMaxAge: Duration.seconds(600),\n    originOverride: true,\n  },\n  customHeadersBehavior: {\n    customHeaders: [\n      { header: 'X-Amz-Date', value: 'some-value', override: true },\n      { header: 'X-Amz-Security-Token', value: 'some-value', override: false },\n    ],\n  },\n  securityHeadersBehavior: {\n    contentSecurityPolicy: { contentSecurityPolicy: 'default-src https:;', override: true },\n    contentTypeOptions: { override: true },\n    frameOptions: { frameOption: cloudfront.HeadersFrameOption.DENY, override: true },\n    referrerPolicy: { referrerPolicy: cloudfront.HeadersReferrerPolicy.NO_REFERRER, override: true },\n    strictTransportSecurity: { accessControlMaxAge: Duration.seconds(600), includeSubdomains: true, override: true },\n    xssProtection: { protection: true, modeBlock: true, reportUri: 'https://example.com/csp-report', override: true },\n  },\n});\nnew cloudfront.Distribution(this, 'myDistCustomPolicy', {\n  defaultBehavior: {\n    origin: bucketOrigin,\n    responseHeadersPolicy: myResponseHeadersPolicy,\n  },\n});","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.ResponseHeadersStrictTransportSecurity"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.BehaviorOptions","@aws-cdk/aws-cloudfront.Distribution","@aws-cdk/aws-cloudfront.DistributionProps","@aws-cdk/aws-cloudfront.HeadersFrameOption","@aws-cdk/aws-cloudfront.HeadersFrameOption#DENY","@aws-cdk/aws-cloudfront.HeadersReferrerPolicy","@aws-cdk/aws-cloudfront.HeadersReferrerPolicy#NO_REFERRER","@aws-cdk/aws-cloudfront.IOrigin","@aws-cdk/aws-cloudfront.IResponseHeadersPolicy","@aws-cdk/aws-cloudfront.ResponseCustomHeadersBehavior","@aws-cdk/aws-cloudfront.ResponseHeadersContentSecurityPolicy","@aws-cdk/aws-cloudfront.ResponseHeadersContentTypeOptions","@aws-cdk/aws-cloudfront.ResponseHeadersCorsBehavior","@aws-cdk/aws-cloudfront.ResponseHeadersFrameOptions","@aws-cdk/aws-cloudfront.ResponseHeadersPolicy","@aws-cdk/aws-cloudfront.ResponseHeadersPolicy#CORS_ALLOW_ALL_ORIGINS","@aws-cdk/aws-cloudfront.ResponseHeadersPolicyProps","@aws-cdk/aws-cloudfront.ResponseHeadersReferrerPolicy","@aws-cdk/aws-cloudfront.ResponseHeadersStrictTransportSecurity","@aws-cdk/aws-cloudfront.ResponseHeadersXSSProtection","@aws-cdk/aws-cloudfront.ResponseSecurityHeadersBehavior","@aws-cdk/core.Duration","@aws-cdk/core.Duration#seconds","constructs.Construct"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// Using an existing managed response headers policy\ndeclare const bucketOrigin: origins.S3Origin;\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from 'constructs';\nimport { Duration, Stack } from '@aws-cdk/core';\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nimport * as origins from '@aws-cdk/aws-cloudfront-origins';\nimport * as s3 from '@aws-cdk/aws-s3';\nimport * as ec2 from '@aws-cdk/aws-ec2';\nimport * as elbv2 from '@aws-cdk/aws-elasticloadbalancingv2';\nimport * as lambda from '@aws-cdk/aws-lambda';\nimport * as path from 'path';\n\nclass Context extends Stack {\n  constructor(scope: Construct, id: string) {\n    super(scope, id);\n\n    // Code snippet begins after !show marker below\n/// !show\n\nnew cloudfront.Distribution(this, 'myDistManagedPolicy', {\n  defaultBehavior: {\n    origin: bucketOrigin,\n    responseHeadersPolicy: cloudfront.ResponseHeadersPolicy.CORS_ALLOW_ALL_ORIGINS,\n  },\n});\n\n// Creating a custom response headers policy -- all parameters optional\nconst myResponseHeadersPolicy = new cloudfront.ResponseHeadersPolicy(this, 'ResponseHeadersPolicy', {\n  responseHeadersPolicyName: 'MyPolicy',\n  comment: 'A default policy',\n  corsBehavior: {\n    accessControlAllowCredentials: false,\n    accessControlAllowHeaders: ['X-Custom-Header-1', 'X-Custom-Header-2'],\n    accessControlAllowMethods: ['GET', 'POST'],\n    accessControlAllowOrigins: ['*'],\n    accessControlExposeHeaders: ['X-Custom-Header-1', 'X-Custom-Header-2'],\n    accessControlMaxAge: Duration.seconds(600),\n    originOverride: true,\n  },\n  customHeadersBehavior: {\n    customHeaders: [\n      { header: 'X-Amz-Date', value: 'some-value', override: true },\n      { header: 'X-Amz-Security-Token', value: 'some-value', override: false },\n    ],\n  },\n  securityHeadersBehavior: {\n    contentSecurityPolicy: { contentSecurityPolicy: 'default-src https:;', override: true },\n    contentTypeOptions: { override: true },\n    frameOptions: { frameOption: cloudfront.HeadersFrameOption.DENY, override: true },\n    referrerPolicy: { referrerPolicy: cloudfront.HeadersReferrerPolicy.NO_REFERRER, override: true },\n    strictTransportSecurity: { accessControlMaxAge: Duration.seconds(600), includeSubdomains: true, override: true },\n    xssProtection: { protection: true, modeBlock: true, reportUri: 'https://example.com/csp-report', override: true },\n  },\n});\nnew cloudfront.Distribution(this, 'myDistCustomPolicy', {\n  defaultBehavior: {\n    origin: bucketOrigin,\n    responseHeadersPolicy: myResponseHeadersPolicy,\n  },\n});\n/// !hide\n// Code snippet ended before !hide marker above\n  }\n}\n","syntaxKindCounter":{"8":2,"10":18,"75":71,"91":2,"104":3,"106":11,"130":1,"153":1,"169":1,"192":5,"193":16,"194":11,"196":2,"197":3,"225":2,"226":2,"242":2,"243":2,"281":45,"290":1},"fqnsFingerprint":"de7c89c01af6e4d1c64703e7256d7328023b8aa2e9f1257ee5a6f6ff30b30710"},"83f1b164f334633959162a40c5be8b4b27a7aaa3b2ad17dd854479a15ae377a1":{"translations":{"python":{"source":"# Using an existing managed response headers policy\n# bucket_origin: origins.S3Origin\n\ncloudfront.Distribution(self, \"myDistManagedPolicy\",\n    default_behavior=cloudfront.BehaviorOptions(\n        origin=bucket_origin,\n        response_headers_policy=cloudfront.ResponseHeadersPolicy.CORS_ALLOW_ALL_ORIGINS\n    )\n)\n\n# Creating a custom response headers policy -- all parameters optional\nmy_response_headers_policy = cloudfront.ResponseHeadersPolicy(self, \"ResponseHeadersPolicy\",\n    response_headers_policy_name=\"MyPolicy\",\n    comment=\"A default policy\",\n    cors_behavior=cloudfront.ResponseHeadersCorsBehavior(\n        access_control_allow_credentials=False,\n        access_control_allow_headers=[\"X-Custom-Header-1\", \"X-Custom-Header-2\"],\n        access_control_allow_methods=[\"GET\", \"POST\"],\n        access_control_allow_origins=[\"*\"],\n        access_control_expose_headers=[\"X-Custom-Header-1\", \"X-Custom-Header-2\"],\n        access_control_max_age=Duration.seconds(600),\n        origin_override=True\n    ),\n    custom_headers_behavior=cloudfront.ResponseCustomHeadersBehavior(\n        custom_headers=[cloudfront.ResponseCustomHeader(header=\"X-Amz-Date\", value=\"some-value\", override=True), cloudfront.ResponseCustomHeader(header=\"X-Amz-Security-Token\", value=\"some-value\", override=False)\n        ]\n    ),\n    security_headers_behavior=cloudfront.ResponseSecurityHeadersBehavior(\n        content_security_policy=cloudfront.ResponseHeadersContentSecurityPolicy(content_security_policy=\"default-src https:;\", override=True),\n        content_type_options=cloudfront.ResponseHeadersContentTypeOptions(override=True),\n        frame_options=cloudfront.ResponseHeadersFrameOptions(frame_option=cloudfront.HeadersFrameOption.DENY, override=True),\n        referrer_policy=cloudfront.ResponseHeadersReferrerPolicy(referrer_policy=cloudfront.HeadersReferrerPolicy.NO_REFERRER, override=True),\n        strict_transport_security=cloudfront.ResponseHeadersStrictTransportSecurity(access_control_max_age=Duration.seconds(600), include_subdomains=True, override=True),\n        xss_protection=cloudfront.ResponseHeadersXSSProtection(protection=True, mode_block=True, report_uri=\"https://example.com/csp-report\", override=True)\n    )\n)\ncloudfront.Distribution(self, \"myDistCustomPolicy\",\n    default_behavior=cloudfront.BehaviorOptions(\n        origin=bucket_origin,\n        response_headers_policy=my_response_headers_policy\n    )\n)","version":"2"},"csharp":{"source":"// Using an existing managed response headers policy\nS3Origin bucketOrigin;\n\nnew Distribution(this, \"myDistManagedPolicy\", new DistributionProps {\n    DefaultBehavior = new BehaviorOptions {\n        Origin = bucketOrigin,\n        ResponseHeadersPolicy = ResponseHeadersPolicy.CORS_ALLOW_ALL_ORIGINS\n    }\n});\n\n// Creating a custom response headers policy -- all parameters optional\nvar myResponseHeadersPolicy = new ResponseHeadersPolicy(this, \"ResponseHeadersPolicy\", new ResponseHeadersPolicyProps {\n    ResponseHeadersPolicyName = \"MyPolicy\",\n    Comment = \"A default policy\",\n    CorsBehavior = new ResponseHeadersCorsBehavior {\n        AccessControlAllowCredentials = false,\n        AccessControlAllowHeaders = new [] { \"X-Custom-Header-1\", \"X-Custom-Header-2\" },\n        AccessControlAllowMethods = new [] { \"GET\", \"POST\" },\n        AccessControlAllowOrigins = new [] { \"*\" },\n        AccessControlExposeHeaders = new [] { \"X-Custom-Header-1\", \"X-Custom-Header-2\" },\n        AccessControlMaxAge = Duration.Seconds(600),\n        OriginOverride = true\n    },\n    CustomHeadersBehavior = new ResponseCustomHeadersBehavior {\n        CustomHeaders = new [] { new ResponseCustomHeader { Header = \"X-Amz-Date\", Value = \"some-value\", Override = true }, new ResponseCustomHeader { Header = \"X-Amz-Security-Token\", Value = \"some-value\", Override = false } }\n    },\n    SecurityHeadersBehavior = new ResponseSecurityHeadersBehavior {\n        ContentSecurityPolicy = new ResponseHeadersContentSecurityPolicy { ContentSecurityPolicy = \"default-src https:;\", Override = true },\n        ContentTypeOptions = new ResponseHeadersContentTypeOptions { Override = true },\n        FrameOptions = new ResponseHeadersFrameOptions { FrameOption = HeadersFrameOption.DENY, Override = true },\n        ReferrerPolicy = new ResponseHeadersReferrerPolicy { ReferrerPolicy = HeadersReferrerPolicy.NO_REFERRER, Override = true },\n        StrictTransportSecurity = new ResponseHeadersStrictTransportSecurity { AccessControlMaxAge = Duration.Seconds(600), IncludeSubdomains = true, Override = true },\n        XssProtection = new ResponseHeadersXSSProtection { Protection = true, ModeBlock = true, ReportUri = \"https://example.com/csp-report\", Override = true }\n    }\n});\nnew Distribution(this, \"myDistCustomPolicy\", new DistributionProps {\n    DefaultBehavior = new BehaviorOptions {\n        Origin = bucketOrigin,\n        ResponseHeadersPolicy = myResponseHeadersPolicy\n    }\n});","version":"1"},"java":{"source":"// Using an existing managed response headers policy\nS3Origin bucketOrigin;\n\nDistribution.Builder.create(this, \"myDistManagedPolicy\")\n        .defaultBehavior(BehaviorOptions.builder()\n                .origin(bucketOrigin)\n                .responseHeadersPolicy(ResponseHeadersPolicy.CORS_ALLOW_ALL_ORIGINS)\n                .build())\n        .build();\n\n// Creating a custom response headers policy -- all parameters optional\nResponseHeadersPolicy myResponseHeadersPolicy = ResponseHeadersPolicy.Builder.create(this, \"ResponseHeadersPolicy\")\n        .responseHeadersPolicyName(\"MyPolicy\")\n        .comment(\"A default policy\")\n        .corsBehavior(ResponseHeadersCorsBehavior.builder()\n                .accessControlAllowCredentials(false)\n                .accessControlAllowHeaders(List.of(\"X-Custom-Header-1\", \"X-Custom-Header-2\"))\n                .accessControlAllowMethods(List.of(\"GET\", \"POST\"))\n                .accessControlAllowOrigins(List.of(\"*\"))\n                .accessControlExposeHeaders(List.of(\"X-Custom-Header-1\", \"X-Custom-Header-2\"))\n                .accessControlMaxAge(Duration.seconds(600))\n                .originOverride(true)\n                .build())\n        .customHeadersBehavior(ResponseCustomHeadersBehavior.builder()\n                .customHeaders(List.of(ResponseCustomHeader.builder().header(\"X-Amz-Date\").value(\"some-value\").override(true).build(), ResponseCustomHeader.builder().header(\"X-Amz-Security-Token\").value(\"some-value\").override(false).build()))\n                .build())\n        .securityHeadersBehavior(ResponseSecurityHeadersBehavior.builder()\n                .contentSecurityPolicy(ResponseHeadersContentSecurityPolicy.builder().contentSecurityPolicy(\"default-src https:;\").override(true).build())\n                .contentTypeOptions(ResponseHeadersContentTypeOptions.builder().override(true).build())\n                .frameOptions(ResponseHeadersFrameOptions.builder().frameOption(HeadersFrameOption.DENY).override(true).build())\n                .referrerPolicy(ResponseHeadersReferrerPolicy.builder().referrerPolicy(HeadersReferrerPolicy.NO_REFERRER).override(true).build())\n                .strictTransportSecurity(ResponseHeadersStrictTransportSecurity.builder().accessControlMaxAge(Duration.seconds(600)).includeSubdomains(true).override(true).build())\n                .xssProtection(ResponseHeadersXSSProtection.builder().protection(true).modeBlock(true).reportUri(\"https://example.com/csp-report\").override(true).build())\n                .build())\n        .build();\nDistribution.Builder.create(this, \"myDistCustomPolicy\")\n        .defaultBehavior(BehaviorOptions.builder()\n                .origin(bucketOrigin)\n                .responseHeadersPolicy(myResponseHeadersPolicy)\n                .build())\n        .build();","version":"1"},"go":{"source":"// Using an existing managed response headers policy\nvar bucketOrigin s3Origin\n\ncloudfront.NewDistribution(this, jsii.String(\"myDistManagedPolicy\"), &DistributionProps{\n\tDefaultBehavior: &BehaviorOptions{\n\t\tOrigin: bucketOrigin,\n\t\tResponseHeadersPolicy: cloudfront.ResponseHeadersPolicy_CORS_ALLOW_ALL_ORIGINS(),\n\t},\n})\n\n// Creating a custom response headers policy -- all parameters optional\nmyResponseHeadersPolicy := cloudfront.NewResponseHeadersPolicy(this, jsii.String(\"ResponseHeadersPolicy\"), &ResponseHeadersPolicyProps{\n\tResponseHeadersPolicyName: jsii.String(\"MyPolicy\"),\n\tComment: jsii.String(\"A default policy\"),\n\tCorsBehavior: &ResponseHeadersCorsBehavior{\n\t\tAccessControlAllowCredentials: jsii.Boolean(false),\n\t\tAccessControlAllowHeaders: []*string{\n\t\t\tjsii.String(\"X-Custom-Header-1\"),\n\t\t\tjsii.String(\"X-Custom-Header-2\"),\n\t\t},\n\t\tAccessControlAllowMethods: []*string{\n\t\t\tjsii.String(\"GET\"),\n\t\t\tjsii.String(\"POST\"),\n\t\t},\n\t\tAccessControlAllowOrigins: []*string{\n\t\t\tjsii.String(\"*\"),\n\t\t},\n\t\tAccessControlExposeHeaders: []*string{\n\t\t\tjsii.String(\"X-Custom-Header-1\"),\n\t\t\tjsii.String(\"X-Custom-Header-2\"),\n\t\t},\n\t\tAccessControlMaxAge: awscdkcore.Duration_Seconds(jsii.Number(600)),\n\t\tOriginOverride: jsii.Boolean(true),\n\t},\n\tCustomHeadersBehavior: &ResponseCustomHeadersBehavior{\n\t\tCustomHeaders: []responseCustomHeader{\n\t\t\t&responseCustomHeader{\n\t\t\t\tHeader: jsii.String(\"X-Amz-Date\"),\n\t\t\t\tValue: jsii.String(\"some-value\"),\n\t\t\t\tOverride: jsii.Boolean(true),\n\t\t\t},\n\t\t\t&responseCustomHeader{\n\t\t\t\tHeader: jsii.String(\"X-Amz-Security-Token\"),\n\t\t\t\tValue: jsii.String(\"some-value\"),\n\t\t\t\tOverride: jsii.Boolean(false),\n\t\t\t},\n\t\t},\n\t},\n\tSecurityHeadersBehavior: &ResponseSecurityHeadersBehavior{\n\t\tContentSecurityPolicy: &ResponseHeadersContentSecurityPolicy{\n\t\t\tContentSecurityPolicy: jsii.String(\"default-src https:;\"),\n\t\t\tOverride: jsii.Boolean(true),\n\t\t},\n\t\tContentTypeOptions: &ResponseHeadersContentTypeOptions{\n\t\t\tOverride: jsii.Boolean(true),\n\t\t},\n\t\tFrameOptions: &ResponseHeadersFrameOptions{\n\t\t\tFrameOption: cloudfront.HeadersFrameOption_DENY,\n\t\t\tOverride: jsii.Boolean(true),\n\t\t},\n\t\tReferrerPolicy: &ResponseHeadersReferrerPolicy{\n\t\t\tReferrerPolicy: cloudfront.HeadersReferrerPolicy_NO_REFERRER,\n\t\t\tOverride: jsii.Boolean(true),\n\t\t},\n\t\tStrictTransportSecurity: &ResponseHeadersStrictTransportSecurity{\n\t\t\tAccessControlMaxAge: *awscdkcore.Duration_*Seconds(jsii.Number(600)),\n\t\t\tIncludeSubdomains: jsii.Boolean(true),\n\t\t\tOverride: jsii.Boolean(true),\n\t\t},\n\t\tXssProtection: &ResponseHeadersXSSProtection{\n\t\t\tProtection: jsii.Boolean(true),\n\t\t\tModeBlock: jsii.Boolean(true),\n\t\t\tReportUri: jsii.String(\"https://example.com/csp-report\"),\n\t\t\tOverride: jsii.Boolean(true),\n\t\t},\n\t},\n})\ncloudfront.NewDistribution(this, jsii.String(\"myDistCustomPolicy\"), &DistributionProps{\n\tDefaultBehavior: &BehaviorOptions{\n\t\tOrigin: bucketOrigin,\n\t\tResponseHeadersPolicy: myResponseHeadersPolicy,\n\t},\n})","version":"1"},"$":{"source":"// Using an existing managed response headers policy\ndeclare const bucketOrigin: origins.S3Origin;\nnew cloudfront.Distribution(this, 'myDistManagedPolicy', {\n  defaultBehavior: {\n    origin: bucketOrigin,\n    responseHeadersPolicy: cloudfront.ResponseHeadersPolicy.CORS_ALLOW_ALL_ORIGINS,\n  },\n});\n\n// Creating a custom response headers policy -- all parameters optional\nconst myResponseHeadersPolicy = new cloudfront.ResponseHeadersPolicy(this, 'ResponseHeadersPolicy', {\n  responseHeadersPolicyName: 'MyPolicy',\n  comment: 'A default policy',\n  corsBehavior: {\n    accessControlAllowCredentials: false,\n    accessControlAllowHeaders: ['X-Custom-Header-1', 'X-Custom-Header-2'],\n    accessControlAllowMethods: ['GET', 'POST'],\n    accessControlAllowOrigins: ['*'],\n    accessControlExposeHeaders: ['X-Custom-Header-1', 'X-Custom-Header-2'],\n    accessControlMaxAge: Duration.seconds(600),\n    originOverride: true,\n  },\n  customHeadersBehavior: {\n    customHeaders: [\n      { header: 'X-Amz-Date', value: 'some-value', override: true },\n      { header: 'X-Amz-Security-Token', value: 'some-value', override: false },\n    ],\n  },\n  securityHeadersBehavior: {\n    contentSecurityPolicy: { contentSecurityPolicy: 'default-src https:;', override: true },\n    contentTypeOptions: { override: true },\n    frameOptions: { frameOption: cloudfront.HeadersFrameOption.DENY, override: true },\n    referrerPolicy: { referrerPolicy: cloudfront.HeadersReferrerPolicy.NO_REFERRER, override: true },\n    strictTransportSecurity: { accessControlMaxAge: Duration.seconds(600), includeSubdomains: true, override: true },\n    xssProtection: { protection: true, modeBlock: true, reportUri: 'https://example.com/csp-report', override: true },\n  },\n});\nnew cloudfront.Distribution(this, 'myDistCustomPolicy', {\n  defaultBehavior: {\n    origin: bucketOrigin,\n    responseHeadersPolicy: myResponseHeadersPolicy,\n  },\n});","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.ResponseHeadersXSSProtection"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.BehaviorOptions","@aws-cdk/aws-cloudfront.Distribution","@aws-cdk/aws-cloudfront.DistributionProps","@aws-cdk/aws-cloudfront.HeadersFrameOption","@aws-cdk/aws-cloudfront.HeadersFrameOption#DENY","@aws-cdk/aws-cloudfront.HeadersReferrerPolicy","@aws-cdk/aws-cloudfront.HeadersReferrerPolicy#NO_REFERRER","@aws-cdk/aws-cloudfront.IOrigin","@aws-cdk/aws-cloudfront.IResponseHeadersPolicy","@aws-cdk/aws-cloudfront.ResponseCustomHeadersBehavior","@aws-cdk/aws-cloudfront.ResponseHeadersContentSecurityPolicy","@aws-cdk/aws-cloudfront.ResponseHeadersContentTypeOptions","@aws-cdk/aws-cloudfront.ResponseHeadersCorsBehavior","@aws-cdk/aws-cloudfront.ResponseHeadersFrameOptions","@aws-cdk/aws-cloudfront.ResponseHeadersPolicy","@aws-cdk/aws-cloudfront.ResponseHeadersPolicy#CORS_ALLOW_ALL_ORIGINS","@aws-cdk/aws-cloudfront.ResponseHeadersPolicyProps","@aws-cdk/aws-cloudfront.ResponseHeadersReferrerPolicy","@aws-cdk/aws-cloudfront.ResponseHeadersStrictTransportSecurity","@aws-cdk/aws-cloudfront.ResponseHeadersXSSProtection","@aws-cdk/aws-cloudfront.ResponseSecurityHeadersBehavior","@aws-cdk/core.Duration","@aws-cdk/core.Duration#seconds","constructs.Construct"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// Using an existing managed response headers policy\ndeclare const bucketOrigin: origins.S3Origin;\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from 'constructs';\nimport { Duration, Stack } from '@aws-cdk/core';\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nimport * as origins from '@aws-cdk/aws-cloudfront-origins';\nimport * as s3 from '@aws-cdk/aws-s3';\nimport * as ec2 from '@aws-cdk/aws-ec2';\nimport * as elbv2 from '@aws-cdk/aws-elasticloadbalancingv2';\nimport * as lambda from '@aws-cdk/aws-lambda';\nimport * as path from 'path';\n\nclass Context extends Stack {\n  constructor(scope: Construct, id: string) {\n    super(scope, id);\n\n    // Code snippet begins after !show marker below\n/// !show\n\nnew cloudfront.Distribution(this, 'myDistManagedPolicy', {\n  defaultBehavior: {\n    origin: bucketOrigin,\n    responseHeadersPolicy: cloudfront.ResponseHeadersPolicy.CORS_ALLOW_ALL_ORIGINS,\n  },\n});\n\n// Creating a custom response headers policy -- all parameters optional\nconst myResponseHeadersPolicy = new cloudfront.ResponseHeadersPolicy(this, 'ResponseHeadersPolicy', {\n  responseHeadersPolicyName: 'MyPolicy',\n  comment: 'A default policy',\n  corsBehavior: {\n    accessControlAllowCredentials: false,\n    accessControlAllowHeaders: ['X-Custom-Header-1', 'X-Custom-Header-2'],\n    accessControlAllowMethods: ['GET', 'POST'],\n    accessControlAllowOrigins: ['*'],\n    accessControlExposeHeaders: ['X-Custom-Header-1', 'X-Custom-Header-2'],\n    accessControlMaxAge: Duration.seconds(600),\n    originOverride: true,\n  },\n  customHeadersBehavior: {\n    customHeaders: [\n      { header: 'X-Amz-Date', value: 'some-value', override: true },\n      { header: 'X-Amz-Security-Token', value: 'some-value', override: false },\n    ],\n  },\n  securityHeadersBehavior: {\n    contentSecurityPolicy: { contentSecurityPolicy: 'default-src https:;', override: true },\n    contentTypeOptions: { override: true },\n    frameOptions: { frameOption: cloudfront.HeadersFrameOption.DENY, override: true },\n    referrerPolicy: { referrerPolicy: cloudfront.HeadersReferrerPolicy.NO_REFERRER, override: true },\n    strictTransportSecurity: { accessControlMaxAge: Duration.seconds(600), includeSubdomains: true, override: true },\n    xssProtection: { protection: true, modeBlock: true, reportUri: 'https://example.com/csp-report', override: true },\n  },\n});\nnew cloudfront.Distribution(this, 'myDistCustomPolicy', {\n  defaultBehavior: {\n    origin: bucketOrigin,\n    responseHeadersPolicy: myResponseHeadersPolicy,\n  },\n});\n/// !hide\n// Code snippet ended before !hide marker above\n  }\n}\n","syntaxKindCounter":{"8":2,"10":18,"75":71,"91":2,"104":3,"106":11,"130":1,"153":1,"169":1,"192":5,"193":16,"194":11,"196":2,"197":3,"225":2,"226":2,"242":2,"243":2,"281":45,"290":1},"fqnsFingerprint":"de7c89c01af6e4d1c64703e7256d7328023b8aa2e9f1257ee5a6f6ff30b30710"},"fc966ece0d92e163b17eca84d8c330d451f43281647c5445142429eea83ac195":{"translations":{"python":{"source":"# Using an existing managed response headers policy\n# bucket_origin: origins.S3Origin\n\ncloudfront.Distribution(self, \"myDistManagedPolicy\",\n    default_behavior=cloudfront.BehaviorOptions(\n        origin=bucket_origin,\n        response_headers_policy=cloudfront.ResponseHeadersPolicy.CORS_ALLOW_ALL_ORIGINS\n    )\n)\n\n# Creating a custom response headers policy -- all parameters optional\nmy_response_headers_policy = cloudfront.ResponseHeadersPolicy(self, \"ResponseHeadersPolicy\",\n    response_headers_policy_name=\"MyPolicy\",\n    comment=\"A default policy\",\n    cors_behavior=cloudfront.ResponseHeadersCorsBehavior(\n        access_control_allow_credentials=False,\n        access_control_allow_headers=[\"X-Custom-Header-1\", \"X-Custom-Header-2\"],\n        access_control_allow_methods=[\"GET\", \"POST\"],\n        access_control_allow_origins=[\"*\"],\n        access_control_expose_headers=[\"X-Custom-Header-1\", \"X-Custom-Header-2\"],\n        access_control_max_age=Duration.seconds(600),\n        origin_override=True\n    ),\n    custom_headers_behavior=cloudfront.ResponseCustomHeadersBehavior(\n        custom_headers=[cloudfront.ResponseCustomHeader(header=\"X-Amz-Date\", value=\"some-value\", override=True), cloudfront.ResponseCustomHeader(header=\"X-Amz-Security-Token\", value=\"some-value\", override=False)\n        ]\n    ),\n    security_headers_behavior=cloudfront.ResponseSecurityHeadersBehavior(\n        content_security_policy=cloudfront.ResponseHeadersContentSecurityPolicy(content_security_policy=\"default-src https:;\", override=True),\n        content_type_options=cloudfront.ResponseHeadersContentTypeOptions(override=True),\n        frame_options=cloudfront.ResponseHeadersFrameOptions(frame_option=cloudfront.HeadersFrameOption.DENY, override=True),\n        referrer_policy=cloudfront.ResponseHeadersReferrerPolicy(referrer_policy=cloudfront.HeadersReferrerPolicy.NO_REFERRER, override=True),\n        strict_transport_security=cloudfront.ResponseHeadersStrictTransportSecurity(access_control_max_age=Duration.seconds(600), include_subdomains=True, override=True),\n        xss_protection=cloudfront.ResponseHeadersXSSProtection(protection=True, mode_block=True, report_uri=\"https://example.com/csp-report\", override=True)\n    )\n)\ncloudfront.Distribution(self, \"myDistCustomPolicy\",\n    default_behavior=cloudfront.BehaviorOptions(\n        origin=bucket_origin,\n        response_headers_policy=my_response_headers_policy\n    )\n)","version":"2"},"csharp":{"source":"// Using an existing managed response headers policy\nS3Origin bucketOrigin;\n\nnew Distribution(this, \"myDistManagedPolicy\", new DistributionProps {\n    DefaultBehavior = new BehaviorOptions {\n        Origin = bucketOrigin,\n        ResponseHeadersPolicy = ResponseHeadersPolicy.CORS_ALLOW_ALL_ORIGINS\n    }\n});\n\n// Creating a custom response headers policy -- all parameters optional\nvar myResponseHeadersPolicy = new ResponseHeadersPolicy(this, \"ResponseHeadersPolicy\", new ResponseHeadersPolicyProps {\n    ResponseHeadersPolicyName = \"MyPolicy\",\n    Comment = \"A default policy\",\n    CorsBehavior = new ResponseHeadersCorsBehavior {\n        AccessControlAllowCredentials = false,\n        AccessControlAllowHeaders = new [] { \"X-Custom-Header-1\", \"X-Custom-Header-2\" },\n        AccessControlAllowMethods = new [] { \"GET\", \"POST\" },\n        AccessControlAllowOrigins = new [] { \"*\" },\n        AccessControlExposeHeaders = new [] { \"X-Custom-Header-1\", \"X-Custom-Header-2\" },\n        AccessControlMaxAge = Duration.Seconds(600),\n        OriginOverride = true\n    },\n    CustomHeadersBehavior = new ResponseCustomHeadersBehavior {\n        CustomHeaders = new [] { new ResponseCustomHeader { Header = \"X-Amz-Date\", Value = \"some-value\", Override = true }, new ResponseCustomHeader { Header = \"X-Amz-Security-Token\", Value = \"some-value\", Override = false } }\n    },\n    SecurityHeadersBehavior = new ResponseSecurityHeadersBehavior {\n        ContentSecurityPolicy = new ResponseHeadersContentSecurityPolicy { ContentSecurityPolicy = \"default-src https:;\", Override = true },\n        ContentTypeOptions = new ResponseHeadersContentTypeOptions { Override = true },\n        FrameOptions = new ResponseHeadersFrameOptions { FrameOption = HeadersFrameOption.DENY, Override = true },\n        ReferrerPolicy = new ResponseHeadersReferrerPolicy { ReferrerPolicy = HeadersReferrerPolicy.NO_REFERRER, Override = true },\n        StrictTransportSecurity = new ResponseHeadersStrictTransportSecurity { AccessControlMaxAge = Duration.Seconds(600), IncludeSubdomains = true, Override = true },\n        XssProtection = new ResponseHeadersXSSProtection { Protection = true, ModeBlock = true, ReportUri = \"https://example.com/csp-report\", Override = true }\n    }\n});\nnew Distribution(this, \"myDistCustomPolicy\", new DistributionProps {\n    DefaultBehavior = new BehaviorOptions {\n        Origin = bucketOrigin,\n        ResponseHeadersPolicy = myResponseHeadersPolicy\n    }\n});","version":"1"},"java":{"source":"// Using an existing managed response headers policy\nS3Origin bucketOrigin;\n\nDistribution.Builder.create(this, \"myDistManagedPolicy\")\n        .defaultBehavior(BehaviorOptions.builder()\n                .origin(bucketOrigin)\n                .responseHeadersPolicy(ResponseHeadersPolicy.CORS_ALLOW_ALL_ORIGINS)\n                .build())\n        .build();\n\n// Creating a custom response headers policy -- all parameters optional\nResponseHeadersPolicy myResponseHeadersPolicy = ResponseHeadersPolicy.Builder.create(this, \"ResponseHeadersPolicy\")\n        .responseHeadersPolicyName(\"MyPolicy\")\n        .comment(\"A default policy\")\n        .corsBehavior(ResponseHeadersCorsBehavior.builder()\n                .accessControlAllowCredentials(false)\n                .accessControlAllowHeaders(List.of(\"X-Custom-Header-1\", \"X-Custom-Header-2\"))\n                .accessControlAllowMethods(List.of(\"GET\", \"POST\"))\n                .accessControlAllowOrigins(List.of(\"*\"))\n                .accessControlExposeHeaders(List.of(\"X-Custom-Header-1\", \"X-Custom-Header-2\"))\n                .accessControlMaxAge(Duration.seconds(600))\n                .originOverride(true)\n                .build())\n        .customHeadersBehavior(ResponseCustomHeadersBehavior.builder()\n                .customHeaders(List.of(ResponseCustomHeader.builder().header(\"X-Amz-Date\").value(\"some-value\").override(true).build(), ResponseCustomHeader.builder().header(\"X-Amz-Security-Token\").value(\"some-value\").override(false).build()))\n                .build())\n        .securityHeadersBehavior(ResponseSecurityHeadersBehavior.builder()\n                .contentSecurityPolicy(ResponseHeadersContentSecurityPolicy.builder().contentSecurityPolicy(\"default-src https:;\").override(true).build())\n                .contentTypeOptions(ResponseHeadersContentTypeOptions.builder().override(true).build())\n                .frameOptions(ResponseHeadersFrameOptions.builder().frameOption(HeadersFrameOption.DENY).override(true).build())\n                .referrerPolicy(ResponseHeadersReferrerPolicy.builder().referrerPolicy(HeadersReferrerPolicy.NO_REFERRER).override(true).build())\n                .strictTransportSecurity(ResponseHeadersStrictTransportSecurity.builder().accessControlMaxAge(Duration.seconds(600)).includeSubdomains(true).override(true).build())\n                .xssProtection(ResponseHeadersXSSProtection.builder().protection(true).modeBlock(true).reportUri(\"https://example.com/csp-report\").override(true).build())\n                .build())\n        .build();\nDistribution.Builder.create(this, \"myDistCustomPolicy\")\n        .defaultBehavior(BehaviorOptions.builder()\n                .origin(bucketOrigin)\n                .responseHeadersPolicy(myResponseHeadersPolicy)\n                .build())\n        .build();","version":"1"},"go":{"source":"// Using an existing managed response headers policy\nvar bucketOrigin s3Origin\n\ncloudfront.NewDistribution(this, jsii.String(\"myDistManagedPolicy\"), &DistributionProps{\n\tDefaultBehavior: &BehaviorOptions{\n\t\tOrigin: bucketOrigin,\n\t\tResponseHeadersPolicy: cloudfront.ResponseHeadersPolicy_CORS_ALLOW_ALL_ORIGINS(),\n\t},\n})\n\n// Creating a custom response headers policy -- all parameters optional\nmyResponseHeadersPolicy := cloudfront.NewResponseHeadersPolicy(this, jsii.String(\"ResponseHeadersPolicy\"), &ResponseHeadersPolicyProps{\n\tResponseHeadersPolicyName: jsii.String(\"MyPolicy\"),\n\tComment: jsii.String(\"A default policy\"),\n\tCorsBehavior: &ResponseHeadersCorsBehavior{\n\t\tAccessControlAllowCredentials: jsii.Boolean(false),\n\t\tAccessControlAllowHeaders: []*string{\n\t\t\tjsii.String(\"X-Custom-Header-1\"),\n\t\t\tjsii.String(\"X-Custom-Header-2\"),\n\t\t},\n\t\tAccessControlAllowMethods: []*string{\n\t\t\tjsii.String(\"GET\"),\n\t\t\tjsii.String(\"POST\"),\n\t\t},\n\t\tAccessControlAllowOrigins: []*string{\n\t\t\tjsii.String(\"*\"),\n\t\t},\n\t\tAccessControlExposeHeaders: []*string{\n\t\t\tjsii.String(\"X-Custom-Header-1\"),\n\t\t\tjsii.String(\"X-Custom-Header-2\"),\n\t\t},\n\t\tAccessControlMaxAge: awscdkcore.Duration_Seconds(jsii.Number(600)),\n\t\tOriginOverride: jsii.Boolean(true),\n\t},\n\tCustomHeadersBehavior: &ResponseCustomHeadersBehavior{\n\t\tCustomHeaders: []responseCustomHeader{\n\t\t\t&responseCustomHeader{\n\t\t\t\tHeader: jsii.String(\"X-Amz-Date\"),\n\t\t\t\tValue: jsii.String(\"some-value\"),\n\t\t\t\tOverride: jsii.Boolean(true),\n\t\t\t},\n\t\t\t&responseCustomHeader{\n\t\t\t\tHeader: jsii.String(\"X-Amz-Security-Token\"),\n\t\t\t\tValue: jsii.String(\"some-value\"),\n\t\t\t\tOverride: jsii.Boolean(false),\n\t\t\t},\n\t\t},\n\t},\n\tSecurityHeadersBehavior: &ResponseSecurityHeadersBehavior{\n\t\tContentSecurityPolicy: &ResponseHeadersContentSecurityPolicy{\n\t\t\tContentSecurityPolicy: jsii.String(\"default-src https:;\"),\n\t\t\tOverride: jsii.Boolean(true),\n\t\t},\n\t\tContentTypeOptions: &ResponseHeadersContentTypeOptions{\n\t\t\tOverride: jsii.Boolean(true),\n\t\t},\n\t\tFrameOptions: &ResponseHeadersFrameOptions{\n\t\t\tFrameOption: cloudfront.HeadersFrameOption_DENY,\n\t\t\tOverride: jsii.Boolean(true),\n\t\t},\n\t\tReferrerPolicy: &ResponseHeadersReferrerPolicy{\n\t\t\tReferrerPolicy: cloudfront.HeadersReferrerPolicy_NO_REFERRER,\n\t\t\tOverride: jsii.Boolean(true),\n\t\t},\n\t\tStrictTransportSecurity: &ResponseHeadersStrictTransportSecurity{\n\t\t\tAccessControlMaxAge: *awscdkcore.Duration_*Seconds(jsii.Number(600)),\n\t\t\tIncludeSubdomains: jsii.Boolean(true),\n\t\t\tOverride: jsii.Boolean(true),\n\t\t},\n\t\tXssProtection: &ResponseHeadersXSSProtection{\n\t\t\tProtection: jsii.Boolean(true),\n\t\t\tModeBlock: jsii.Boolean(true),\n\t\t\tReportUri: jsii.String(\"https://example.com/csp-report\"),\n\t\t\tOverride: jsii.Boolean(true),\n\t\t},\n\t},\n})\ncloudfront.NewDistribution(this, jsii.String(\"myDistCustomPolicy\"), &DistributionProps{\n\tDefaultBehavior: &BehaviorOptions{\n\t\tOrigin: bucketOrigin,\n\t\tResponseHeadersPolicy: myResponseHeadersPolicy,\n\t},\n})","version":"1"},"$":{"source":"// Using an existing managed response headers policy\ndeclare const bucketOrigin: origins.S3Origin;\nnew cloudfront.Distribution(this, 'myDistManagedPolicy', {\n  defaultBehavior: {\n    origin: bucketOrigin,\n    responseHeadersPolicy: cloudfront.ResponseHeadersPolicy.CORS_ALLOW_ALL_ORIGINS,\n  },\n});\n\n// Creating a custom response headers policy -- all parameters optional\nconst myResponseHeadersPolicy = new cloudfront.ResponseHeadersPolicy(this, 'ResponseHeadersPolicy', {\n  responseHeadersPolicyName: 'MyPolicy',\n  comment: 'A default policy',\n  corsBehavior: {\n    accessControlAllowCredentials: false,\n    accessControlAllowHeaders: ['X-Custom-Header-1', 'X-Custom-Header-2'],\n    accessControlAllowMethods: ['GET', 'POST'],\n    accessControlAllowOrigins: ['*'],\n    accessControlExposeHeaders: ['X-Custom-Header-1', 'X-Custom-Header-2'],\n    accessControlMaxAge: Duration.seconds(600),\n    originOverride: true,\n  },\n  customHeadersBehavior: {\n    customHeaders: [\n      { header: 'X-Amz-Date', value: 'some-value', override: true },\n      { header: 'X-Amz-Security-Token', value: 'some-value', override: false },\n    ],\n  },\n  securityHeadersBehavior: {\n    contentSecurityPolicy: { contentSecurityPolicy: 'default-src https:;', override: true },\n    contentTypeOptions: { override: true },\n    frameOptions: { frameOption: cloudfront.HeadersFrameOption.DENY, override: true },\n    referrerPolicy: { referrerPolicy: cloudfront.HeadersReferrerPolicy.NO_REFERRER, override: true },\n    strictTransportSecurity: { accessControlMaxAge: Duration.seconds(600), includeSubdomains: true, override: true },\n    xssProtection: { protection: true, modeBlock: true, reportUri: 'https://example.com/csp-report', override: true },\n  },\n});\nnew cloudfront.Distribution(this, 'myDistCustomPolicy', {\n  defaultBehavior: {\n    origin: bucketOrigin,\n    responseHeadersPolicy: myResponseHeadersPolicy,\n  },\n});","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.ResponseSecurityHeadersBehavior"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.BehaviorOptions","@aws-cdk/aws-cloudfront.Distribution","@aws-cdk/aws-cloudfront.DistributionProps","@aws-cdk/aws-cloudfront.HeadersFrameOption","@aws-cdk/aws-cloudfront.HeadersFrameOption#DENY","@aws-cdk/aws-cloudfront.HeadersReferrerPolicy","@aws-cdk/aws-cloudfront.HeadersReferrerPolicy#NO_REFERRER","@aws-cdk/aws-cloudfront.IOrigin","@aws-cdk/aws-cloudfront.IResponseHeadersPolicy","@aws-cdk/aws-cloudfront.ResponseCustomHeadersBehavior","@aws-cdk/aws-cloudfront.ResponseHeadersContentSecurityPolicy","@aws-cdk/aws-cloudfront.ResponseHeadersContentTypeOptions","@aws-cdk/aws-cloudfront.ResponseHeadersCorsBehavior","@aws-cdk/aws-cloudfront.ResponseHeadersFrameOptions","@aws-cdk/aws-cloudfront.ResponseHeadersPolicy","@aws-cdk/aws-cloudfront.ResponseHeadersPolicy#CORS_ALLOW_ALL_ORIGINS","@aws-cdk/aws-cloudfront.ResponseHeadersPolicyProps","@aws-cdk/aws-cloudfront.ResponseHeadersReferrerPolicy","@aws-cdk/aws-cloudfront.ResponseHeadersStrictTransportSecurity","@aws-cdk/aws-cloudfront.ResponseHeadersXSSProtection","@aws-cdk/aws-cloudfront.ResponseSecurityHeadersBehavior","@aws-cdk/core.Duration","@aws-cdk/core.Duration#seconds","constructs.Construct"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// Using an existing managed response headers policy\ndeclare const bucketOrigin: origins.S3Origin;\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from 'constructs';\nimport { Duration, Stack } from '@aws-cdk/core';\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nimport * as origins from '@aws-cdk/aws-cloudfront-origins';\nimport * as s3 from '@aws-cdk/aws-s3';\nimport * as ec2 from '@aws-cdk/aws-ec2';\nimport * as elbv2 from '@aws-cdk/aws-elasticloadbalancingv2';\nimport * as lambda from '@aws-cdk/aws-lambda';\nimport * as path from 'path';\n\nclass Context extends Stack {\n  constructor(scope: Construct, id: string) {\n    super(scope, id);\n\n    // Code snippet begins after !show marker below\n/// !show\n\nnew cloudfront.Distribution(this, 'myDistManagedPolicy', {\n  defaultBehavior: {\n    origin: bucketOrigin,\n    responseHeadersPolicy: cloudfront.ResponseHeadersPolicy.CORS_ALLOW_ALL_ORIGINS,\n  },\n});\n\n// Creating a custom response headers policy -- all parameters optional\nconst myResponseHeadersPolicy = new cloudfront.ResponseHeadersPolicy(this, 'ResponseHeadersPolicy', {\n  responseHeadersPolicyName: 'MyPolicy',\n  comment: 'A default policy',\n  corsBehavior: {\n    accessControlAllowCredentials: false,\n    accessControlAllowHeaders: ['X-Custom-Header-1', 'X-Custom-Header-2'],\n    accessControlAllowMethods: ['GET', 'POST'],\n    accessControlAllowOrigins: ['*'],\n    accessControlExposeHeaders: ['X-Custom-Header-1', 'X-Custom-Header-2'],\n    accessControlMaxAge: Duration.seconds(600),\n    originOverride: true,\n  },\n  customHeadersBehavior: {\n    customHeaders: [\n      { header: 'X-Amz-Date', value: 'some-value', override: true },\n      { header: 'X-Amz-Security-Token', value: 'some-value', override: false },\n    ],\n  },\n  securityHeadersBehavior: {\n    contentSecurityPolicy: { contentSecurityPolicy: 'default-src https:;', override: true },\n    contentTypeOptions: { override: true },\n    frameOptions: { frameOption: cloudfront.HeadersFrameOption.DENY, override: true },\n    referrerPolicy: { referrerPolicy: cloudfront.HeadersReferrerPolicy.NO_REFERRER, override: true },\n    strictTransportSecurity: { accessControlMaxAge: Duration.seconds(600), includeSubdomains: true, override: true },\n    xssProtection: { protection: true, modeBlock: true, reportUri: 'https://example.com/csp-report', override: true },\n  },\n});\nnew cloudfront.Distribution(this, 'myDistCustomPolicy', {\n  defaultBehavior: {\n    origin: bucketOrigin,\n    responseHeadersPolicy: myResponseHeadersPolicy,\n  },\n});\n/// !hide\n// Code snippet ended before !hide marker above\n  }\n}\n","syntaxKindCounter":{"8":2,"10":18,"75":71,"91":2,"104":3,"106":11,"130":1,"153":1,"169":1,"192":5,"193":16,"194":11,"196":2,"197":3,"225":2,"226":2,"242":2,"243":2,"281":45,"290":1},"fqnsFingerprint":"de7c89c01af6e4d1c64703e7256d7328023b8aa2e9f1257ee5a6f6ff30b30710"},"2ff3e6e5e10916371e202d35c4f21ee0c06c583c43ed74f4d23650c424884956":{"translations":{"python":{"source":"# source_bucket: s3.Bucket\n\nviewer_certificate = cloudfront.ViewerCertificate.from_iam_certificate(\"MYIAMROLEIDENTIFIER\",\n    aliases=[\"MYALIAS\"]\n)\n\ncloudfront.CloudFrontWebDistribution(self, \"MyCfWebDistribution\",\n    origin_configs=[cloudfront.SourceConfiguration(\n        s3_origin_source=cloudfront.S3OriginConfig(\n            s3_bucket_source=source_bucket\n        ),\n        behaviors=[cloudfront.Behavior(is_default_behavior=True)]\n    )\n    ],\n    viewer_certificate=viewer_certificate\n)","version":"2"},"csharp":{"source":"Bucket sourceBucket;\n\nvar viewerCertificate = ViewerCertificate.FromIamCertificate(\"MYIAMROLEIDENTIFIER\", new ViewerCertificateOptions {\n    Aliases = new [] { \"MYALIAS\" }\n});\n\nnew CloudFrontWebDistribution(this, \"MyCfWebDistribution\", new CloudFrontWebDistributionProps {\n    OriginConfigs = new [] { new SourceConfiguration {\n        S3OriginSource = new S3OriginConfig {\n            S3BucketSource = sourceBucket\n        },\n        Behaviors = new [] { new Behavior { IsDefaultBehavior = true } }\n    } },\n    ViewerCertificate = viewerCertificate\n});","version":"1"},"java":{"source":"Bucket sourceBucket;\n\nViewerCertificate viewerCertificate = ViewerCertificate.fromIamCertificate(\"MYIAMROLEIDENTIFIER\", ViewerCertificateOptions.builder()\n        .aliases(List.of(\"MYALIAS\"))\n        .build());\n\nCloudFrontWebDistribution.Builder.create(this, \"MyCfWebDistribution\")\n        .originConfigs(List.of(SourceConfiguration.builder()\n                .s3OriginSource(S3OriginConfig.builder()\n                        .s3BucketSource(sourceBucket)\n                        .build())\n                .behaviors(List.of(Behavior.builder().isDefaultBehavior(true).build()))\n                .build()))\n        .viewerCertificate(viewerCertificate)\n        .build();","version":"1"},"go":{"source":"var sourceBucket bucket\n\nviewerCertificate := cloudfront.ViewerCertificate_FromIamCertificate(jsii.String(\"MYIAMROLEIDENTIFIER\"), &ViewerCertificateOptions{\n\tAliases: []*string{\n\t\tjsii.String(\"MYALIAS\"),\n\t},\n})\n\ncloudfront.NewCloudFrontWebDistribution(this, jsii.String(\"MyCfWebDistribution\"), &CloudFrontWebDistributionProps{\n\tOriginConfigs: []sourceConfiguration{\n\t\t&sourceConfiguration{\n\t\t\tS3OriginSource: &S3OriginConfig{\n\t\t\t\tS3BucketSource: sourceBucket,\n\t\t\t},\n\t\t\tBehaviors: []behavior{\n\t\t\t\t&behavior{\n\t\t\t\t\tIsDefaultBehavior: jsii.Boolean(true),\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n\tViewerCertificate: viewerCertificate,\n})","version":"1"},"$":{"source":"declare const sourceBucket: s3.Bucket;\nconst viewerCertificate = cloudfront.ViewerCertificate.fromIamCertificate('MYIAMROLEIDENTIFIER', {\n  aliases: ['MYALIAS'],\n});\n\nnew cloudfront.CloudFrontWebDistribution(this, 'MyCfWebDistribution', {\n  originConfigs: [\n    {\n      s3OriginSource: {\n        s3BucketSource: sourceBucket,\n      },\n      behaviors : [ {isDefaultBehavior: true} ],\n    },\n  ],\n  viewerCertificate: viewerCertificate,\n});","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.S3OriginConfig"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.CloudFrontWebDistribution","@aws-cdk/aws-cloudfront.CloudFrontWebDistributionProps","@aws-cdk/aws-cloudfront.S3OriginConfig","@aws-cdk/aws-cloudfront.ViewerCertificate","@aws-cdk/aws-cloudfront.ViewerCertificate#fromIamCertificate","@aws-cdk/aws-cloudfront.ViewerCertificateOptions","@aws-cdk/aws-s3.IBucket","constructs.Construct"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\ndeclare const sourceBucket: s3.Bucket;\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from 'constructs';\nimport { Duration, Stack } from '@aws-cdk/core';\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nimport * as origins from '@aws-cdk/aws-cloudfront-origins';\nimport * as s3 from '@aws-cdk/aws-s3';\nimport * as ec2 from '@aws-cdk/aws-ec2';\nimport * as elbv2 from '@aws-cdk/aws-elasticloadbalancingv2';\nimport * as lambda from '@aws-cdk/aws-lambda';\nimport * as path from 'path';\n\nclass Context extends Stack {\n  constructor(scope: Construct, id: string) {\n    super(scope, id);\n\n    // Code snippet begins after !show marker below\n/// !show\n\nconst viewerCertificate = cloudfront.ViewerCertificate.fromIamCertificate('MYIAMROLEIDENTIFIER', {\n  aliases: ['MYALIAS'],\n});\n\nnew cloudfront.CloudFrontWebDistribution(this, 'MyCfWebDistribution', {\n  originConfigs: [\n    {\n      s3OriginSource: {\n        s3BucketSource: sourceBucket,\n      },\n      behaviors : [ {isDefaultBehavior: true} ],\n    },\n  ],\n  viewerCertificate: viewerCertificate,\n});\n/// !hide\n// Code snippet ended before !hide marker above\n  }\n}\n","syntaxKindCounter":{"10":3,"75":18,"104":1,"106":1,"130":1,"153":1,"169":1,"192":3,"193":5,"194":3,"196":1,"197":1,"225":2,"226":1,"242":2,"243":2,"281":7,"290":1},"fqnsFingerprint":"dc85e0e66756c7ca4ca260fa52258db75a8634baf4e3cb2bd68bffa4dc45a896"},"c20da6e46ae81508cb187997130d934989cea300bac3b93d3632478ebbbce2ee":{"translations":{"python":{"source":"s3_bucket_source = s3.Bucket(self, \"Bucket\")\n\ndistribution = cloudfront.CloudFrontWebDistribution(self, \"AnAmazingWebsiteProbably\",\n    origin_configs=[cloudfront.SourceConfiguration(\n        s3_origin_source=cloudfront.S3OriginConfig(s3_bucket_source=s3_bucket_source),\n        behaviors=[cloudfront.Behavior(is_default_behavior=True)]\n    )],\n    viewer_certificate=cloudfront.ViewerCertificate.from_iam_certificate(\"certificateId\",\n        aliases=[\"example.com\"],\n        security_policy=cloudfront.SecurityPolicyProtocol.SSL_V3,  # default\n        ssl_method=cloudfront.SSLMethod.SNI\n    )\n)","version":"2"},"csharp":{"source":"var s3BucketSource = new Bucket(this, \"Bucket\");\n\nvar distribution = new CloudFrontWebDistribution(this, \"AnAmazingWebsiteProbably\", new CloudFrontWebDistributionProps {\n    OriginConfigs = new [] { new SourceConfiguration {\n        S3OriginSource = new S3OriginConfig { S3BucketSource = s3BucketSource },\n        Behaviors = new [] { new Behavior { IsDefaultBehavior = true } }\n    } },\n    ViewerCertificate = ViewerCertificate.FromIamCertificate(\"certificateId\", new ViewerCertificateOptions {\n        Aliases = new [] { \"example.com\" },\n        SecurityPolicy = SecurityPolicyProtocol.SSL_V3,  // default\n        SslMethod = SSLMethod.SNI\n    })\n});","version":"1"},"java":{"source":"Bucket s3BucketSource = new Bucket(this, \"Bucket\");\n\nCloudFrontWebDistribution distribution = CloudFrontWebDistribution.Builder.create(this, \"AnAmazingWebsiteProbably\")\n        .originConfigs(List.of(SourceConfiguration.builder()\n                .s3OriginSource(S3OriginConfig.builder().s3BucketSource(s3BucketSource).build())\n                .behaviors(List.of(Behavior.builder().isDefaultBehavior(true).build()))\n                .build()))\n        .viewerCertificate(ViewerCertificate.fromIamCertificate(\"certificateId\", ViewerCertificateOptions.builder()\n                .aliases(List.of(\"example.com\"))\n                .securityPolicy(SecurityPolicyProtocol.SSL_V3) // default\n                .sslMethod(SSLMethod.SNI)\n                .build()))\n        .build();","version":"1"},"go":{"source":"s3BucketSource := s3.NewBucket(this, jsii.String(\"Bucket\"))\n\ndistribution := cloudfront.NewCloudFrontWebDistribution(this, jsii.String(\"AnAmazingWebsiteProbably\"), &CloudFrontWebDistributionProps{\n\tOriginConfigs: []sourceConfiguration{\n\t\t&sourceConfiguration{\n\t\t\tS3OriginSource: &S3OriginConfig{\n\t\t\t\tS3BucketSource: *S3BucketSource,\n\t\t\t},\n\t\t\tBehaviors: []behavior{\n\t\t\t\t&behavior{\n\t\t\t\t\tIsDefaultBehavior: jsii.Boolean(true),\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n\tViewerCertificate: cloudfront.ViewerCertificate_FromIamCertificate(jsii.String(\"certificateId\"), &ViewerCertificateOptions{\n\t\tAliases: []*string{\n\t\t\tjsii.String(\"example.com\"),\n\t\t},\n\t\tSecurityPolicy: cloudfront.SecurityPolicyProtocol_SSL_V3,\n\t\t // default\n\t\tSslMethod: cloudfront.SSLMethod_SNI,\n\t}),\n})","version":"1"},"$":{"source":"    const s3BucketSource = new s3.Bucket(this, 'Bucket');\n\n    const distribution = new cloudfront.CloudFrontWebDistribution(this, 'AnAmazingWebsiteProbably', {\n      originConfigs: [{\n        s3OriginSource: { s3BucketSource },\n        behaviors: [{ isDefaultBehavior: true }],\n      }],\n      viewerCertificate: cloudfront.ViewerCertificate.fromIamCertificate(\n        'certificateId',\n        {\n          aliases: ['example.com'],\n          securityPolicy: cloudfront.SecurityPolicyProtocol.SSL_V3, // default\n          sslMethod: cloudfront.SSLMethod.SNI, // default\n        },\n      ),\n    });","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.SSLMethod"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.CloudFrontWebDistribution","@aws-cdk/aws-cloudfront.CloudFrontWebDistributionProps","@aws-cdk/aws-cloudfront.S3OriginConfig","@aws-cdk/aws-cloudfront.SSLMethod","@aws-cdk/aws-cloudfront.SSLMethod#SNI","@aws-cdk/aws-cloudfront.SecurityPolicyProtocol","@aws-cdk/aws-cloudfront.SecurityPolicyProtocol#SSL_V3","@aws-cdk/aws-cloudfront.ViewerCertificate","@aws-cdk/aws-cloudfront.ViewerCertificate#fromIamCertificate","@aws-cdk/aws-cloudfront.ViewerCertificateOptions","@aws-cdk/aws-s3.Bucket","@aws-cdk/aws-s3.IBucket","constructs.Construct"],"fullSource":"import * as s3 from '@aws-cdk/aws-s3';\nimport { App, Stack } from '@aws-cdk/core';\nimport { Construct } from 'constructs';\nimport * as cloudfront from '../lib';\n\nclass AcmCertificateAliasStack extends Stack {\n  constructor(scope: Construct, id: string) {\n    super(scope, id);\n    /// !show\n    const s3BucketSource = new s3.Bucket(this, 'Bucket');\n\n    const distribution = new cloudfront.CloudFrontWebDistribution(this, 'AnAmazingWebsiteProbably', {\n      originConfigs: [{\n        s3OriginSource: { s3BucketSource },\n        behaviors: [{ isDefaultBehavior: true }],\n      }],\n      viewerCertificate: cloudfront.ViewerCertificate.fromIamCertificate(\n        'certificateId',\n        {\n          aliases: ['example.com'],\n          securityPolicy: cloudfront.SecurityPolicyProtocol.SSL_V3, // default\n          sslMethod: cloudfront.SSLMethod.SNI, // default\n        },\n      ),\n    });\n    /// !hide\n\n    Array.isArray(s3BucketSource);\n    Array.isArray(distribution);\n  }\n}\n\nconst app = new App();\nnew AcmCertificateAliasStack(app, 'AcmCertificateAliasStack');\napp.synth();\n","syntaxKindCounter":{"10":4,"75":24,"104":2,"106":1,"192":3,"193":5,"194":8,"196":1,"197":2,"225":2,"242":2,"243":2,"281":8,"282":1},"fqnsFingerprint":"553e0e84141237f23233031cbf607034ad3d9c6bd9373a50a3b4012e74732b57"},"d8f730e470ded7a8242981ff07a5eae90d19dc0301d08bb5e29ed4724873e235":{"translations":{"python":{"source":"s3_bucket_source = s3.Bucket(self, \"Bucket\")\n\ndistribution = cloudfront.CloudFrontWebDistribution(self, \"AnAmazingWebsiteProbably\",\n    origin_configs=[cloudfront.SourceConfiguration(\n        s3_origin_source=cloudfront.S3OriginConfig(s3_bucket_source=s3_bucket_source),\n        behaviors=[cloudfront.Behavior(is_default_behavior=True)]\n    )],\n    viewer_certificate=cloudfront.ViewerCertificate.from_iam_certificate(\"certificateId\",\n        aliases=[\"example.com\"],\n        security_policy=cloudfront.SecurityPolicyProtocol.SSL_V3,  # default\n        ssl_method=cloudfront.SSLMethod.SNI\n    )\n)","version":"2"},"csharp":{"source":"var s3BucketSource = new Bucket(this, \"Bucket\");\n\nvar distribution = new CloudFrontWebDistribution(this, \"AnAmazingWebsiteProbably\", new CloudFrontWebDistributionProps {\n    OriginConfigs = new [] { new SourceConfiguration {\n        S3OriginSource = new S3OriginConfig { S3BucketSource = s3BucketSource },\n        Behaviors = new [] { new Behavior { IsDefaultBehavior = true } }\n    } },\n    ViewerCertificate = ViewerCertificate.FromIamCertificate(\"certificateId\", new ViewerCertificateOptions {\n        Aliases = new [] { \"example.com\" },\n        SecurityPolicy = SecurityPolicyProtocol.SSL_V3,  // default\n        SslMethod = SSLMethod.SNI\n    })\n});","version":"1"},"java":{"source":"Bucket s3BucketSource = new Bucket(this, \"Bucket\");\n\nCloudFrontWebDistribution distribution = CloudFrontWebDistribution.Builder.create(this, \"AnAmazingWebsiteProbably\")\n        .originConfigs(List.of(SourceConfiguration.builder()\n                .s3OriginSource(S3OriginConfig.builder().s3BucketSource(s3BucketSource).build())\n                .behaviors(List.of(Behavior.builder().isDefaultBehavior(true).build()))\n                .build()))\n        .viewerCertificate(ViewerCertificate.fromIamCertificate(\"certificateId\", ViewerCertificateOptions.builder()\n                .aliases(List.of(\"example.com\"))\n                .securityPolicy(SecurityPolicyProtocol.SSL_V3) // default\n                .sslMethod(SSLMethod.SNI)\n                .build()))\n        .build();","version":"1"},"go":{"source":"s3BucketSource := s3.NewBucket(this, jsii.String(\"Bucket\"))\n\ndistribution := cloudfront.NewCloudFrontWebDistribution(this, jsii.String(\"AnAmazingWebsiteProbably\"), &CloudFrontWebDistributionProps{\n\tOriginConfigs: []sourceConfiguration{\n\t\t&sourceConfiguration{\n\t\t\tS3OriginSource: &S3OriginConfig{\n\t\t\t\tS3BucketSource: *S3BucketSource,\n\t\t\t},\n\t\t\tBehaviors: []behavior{\n\t\t\t\t&behavior{\n\t\t\t\t\tIsDefaultBehavior: jsii.Boolean(true),\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n\tViewerCertificate: cloudfront.ViewerCertificate_FromIamCertificate(jsii.String(\"certificateId\"), &ViewerCertificateOptions{\n\t\tAliases: []*string{\n\t\t\tjsii.String(\"example.com\"),\n\t\t},\n\t\tSecurityPolicy: cloudfront.SecurityPolicyProtocol_SSL_V3,\n\t\t // default\n\t\tSslMethod: cloudfront.SSLMethod_SNI,\n\t}),\n})","version":"1"},"$":{"source":"    const s3BucketSource = new s3.Bucket(this, 'Bucket');\n\n    const distribution = new cloudfront.CloudFrontWebDistribution(this, 'AnAmazingWebsiteProbably', {\n      originConfigs: [{\n        s3OriginSource: { s3BucketSource },\n        behaviors: [{ isDefaultBehavior: true }],\n      }],\n      viewerCertificate: cloudfront.ViewerCertificate.fromIamCertificate(\n        'certificateId',\n        {\n          aliases: ['example.com'],\n          securityPolicy: cloudfront.SecurityPolicyProtocol.SSL_V3, // default\n          sslMethod: cloudfront.SSLMethod.SNI, // default\n        },\n      ),\n    });","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.SecurityPolicyProtocol"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.CloudFrontWebDistribution","@aws-cdk/aws-cloudfront.CloudFrontWebDistributionProps","@aws-cdk/aws-cloudfront.S3OriginConfig","@aws-cdk/aws-cloudfront.SSLMethod","@aws-cdk/aws-cloudfront.SSLMethod#SNI","@aws-cdk/aws-cloudfront.SecurityPolicyProtocol","@aws-cdk/aws-cloudfront.SecurityPolicyProtocol#SSL_V3","@aws-cdk/aws-cloudfront.ViewerCertificate","@aws-cdk/aws-cloudfront.ViewerCertificate#fromIamCertificate","@aws-cdk/aws-cloudfront.ViewerCertificateOptions","@aws-cdk/aws-s3.Bucket","@aws-cdk/aws-s3.IBucket","constructs.Construct"],"fullSource":"import * as s3 from '@aws-cdk/aws-s3';\nimport { App, Stack } from '@aws-cdk/core';\nimport { Construct } from 'constructs';\nimport * as cloudfront from '../lib';\n\nclass AcmCertificateAliasStack extends Stack {\n  constructor(scope: Construct, id: string) {\n    super(scope, id);\n    /// !show\n    const s3BucketSource = new s3.Bucket(this, 'Bucket');\n\n    const distribution = new cloudfront.CloudFrontWebDistribution(this, 'AnAmazingWebsiteProbably', {\n      originConfigs: [{\n        s3OriginSource: { s3BucketSource },\n        behaviors: [{ isDefaultBehavior: true }],\n      }],\n      viewerCertificate: cloudfront.ViewerCertificate.fromIamCertificate(\n        'certificateId',\n        {\n          aliases: ['example.com'],\n          securityPolicy: cloudfront.SecurityPolicyProtocol.SSL_V3, // default\n          sslMethod: cloudfront.SSLMethod.SNI, // default\n        },\n      ),\n    });\n    /// !hide\n\n    Array.isArray(s3BucketSource);\n    Array.isArray(distribution);\n  }\n}\n\nconst app = new App();\nnew AcmCertificateAliasStack(app, 'AcmCertificateAliasStack');\napp.synth();\n","syntaxKindCounter":{"10":4,"75":24,"104":2,"106":1,"192":3,"193":5,"194":8,"196":1,"197":2,"225":2,"242":2,"243":2,"281":8,"282":1},"fqnsFingerprint":"553e0e84141237f23233031cbf607034ad3d9c6bd9373a50a3b4012e74732b57"},"7ae62c1b8e34dae5b0c2055258e637e3db42b51442c9c2141f3f0189de21cc4a":{"translations":{"python":{"source":"# The code below shows an example of how to instantiate this type.\n# The values are placeholders you should change.\nimport aws_cdk.aws_cloudfront as cloudfront\nimport aws_cdk.aws_lambda as lambda_\nimport aws_cdk.aws_s3 as s3\nimport aws_cdk.core as cdk\n\n# bucket: s3.Bucket\n# function_: cloudfront.Function\n# key_group: cloudfront.KeyGroup\n# origin_access_identity: cloudfront.OriginAccessIdentity\n# version: lambda.Version\n\nsource_configuration = cloudfront.SourceConfiguration(\n    behaviors=[cloudfront.Behavior(\n        allowed_methods=cloudfront.CloudFrontAllowedMethods.GET_HEAD,\n        cached_methods=cloudfront.CloudFrontAllowedCachedMethods.GET_HEAD,\n        compress=False,\n        default_ttl=cdk.Duration.minutes(30),\n        forwarded_values=cloudfront.CfnDistribution.ForwardedValuesProperty(\n            query_string=False,\n\n            # the properties below are optional\n            cookies=cloudfront.CfnDistribution.CookiesProperty(\n                forward=\"forward\",\n\n                # the properties below are optional\n                whitelisted_names=[\"whitelistedNames\"]\n            ),\n            headers=[\"headers\"],\n            query_string_cache_keys=[\"queryStringCacheKeys\"]\n        ),\n        function_associations=[cloudfront.FunctionAssociation(\n            event_type=cloudfront.FunctionEventType.VIEWER_REQUEST,\n            function=function_\n        )],\n        is_default_behavior=False,\n        lambda_function_associations=[cloudfront.LambdaFunctionAssociation(\n            event_type=cloudfront.LambdaEdgeEventType.ORIGIN_REQUEST,\n            lambda_function=version,\n\n            # the properties below are optional\n            include_body=False\n        )],\n        max_ttl=cdk.Duration.minutes(30),\n        min_ttl=cdk.Duration.minutes(30),\n        path_pattern=\"pathPattern\",\n        trusted_key_groups=[key_group],\n        trusted_signers=[\"trustedSigners\"],\n        viewer_protocol_policy=cloudfront.ViewerProtocolPolicy.HTTPS_ONLY\n    )],\n\n    # the properties below are optional\n    connection_attempts=123,\n    connection_timeout=cdk.Duration.minutes(30),\n    custom_origin_source=cloudfront.CustomOriginConfig(\n        domain_name=\"domainName\",\n\n        # the properties below are optional\n        allowed_origin_sSLVersions=[cloudfront.OriginSslPolicy.SSL_V3],\n        http_port=123,\n        https_port=123,\n        origin_headers={\n            \"origin_headers_key\": \"originHeaders\"\n        },\n        origin_keepalive_timeout=cdk.Duration.minutes(30),\n        origin_path=\"originPath\",\n        origin_protocol_policy=cloudfront.OriginProtocolPolicy.HTTP_ONLY,\n        origin_read_timeout=cdk.Duration.minutes(30),\n        origin_shield_region=\"originShieldRegion\"\n    ),\n    failover_criteria_status_codes=[cloudfront.FailoverStatusCode.FORBIDDEN],\n    failover_custom_origin_source=cloudfront.CustomOriginConfig(\n        domain_name=\"domainName\",\n\n        # the properties below are optional\n        allowed_origin_sSLVersions=[cloudfront.OriginSslPolicy.SSL_V3],\n        http_port=123,\n        https_port=123,\n        origin_headers={\n            \"origin_headers_key\": \"originHeaders\"\n        },\n        origin_keepalive_timeout=cdk.Duration.minutes(30),\n        origin_path=\"originPath\",\n        origin_protocol_policy=cloudfront.OriginProtocolPolicy.HTTP_ONLY,\n        origin_read_timeout=cdk.Duration.minutes(30),\n        origin_shield_region=\"originShieldRegion\"\n    ),\n    failover_s3_origin_source=cloudfront.S3OriginConfig(\n        s3_bucket_source=bucket,\n\n        # the properties below are optional\n        origin_access_identity=origin_access_identity,\n        origin_headers={\n            \"origin_headers_key\": \"originHeaders\"\n        },\n        origin_path=\"originPath\",\n        origin_shield_region=\"originShieldRegion\"\n    ),\n    origin_headers={\n        \"origin_headers_key\": \"originHeaders\"\n    },\n    origin_path=\"originPath\",\n    origin_shield_region=\"originShieldRegion\",\n    s3_origin_source=cloudfront.S3OriginConfig(\n        s3_bucket_source=bucket,\n\n        # the properties below are optional\n        origin_access_identity=origin_access_identity,\n        origin_headers={\n            \"origin_headers_key\": \"originHeaders\"\n        },\n        origin_path=\"originPath\",\n        origin_shield_region=\"originShieldRegion\"\n    )\n)","version":"2"},"csharp":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nusing Amazon.CDK.AWS.CloudFront;\nusing Amazon.CDK.AWS.Lambda;\nusing Amazon.CDK.AWS.S3;\nusing Amazon.CDK;\n\nBucket bucket;\nFunction function_;\nKeyGroup keyGroup;\nOriginAccessIdentity originAccessIdentity;\nVersion version;\nvar sourceConfiguration = new SourceConfiguration {\n    Behaviors = new [] { new Behavior {\n        AllowedMethods = CloudFrontAllowedMethods.GET_HEAD,\n        CachedMethods = CloudFrontAllowedCachedMethods.GET_HEAD,\n        Compress = false,\n        DefaultTtl = Duration.Minutes(30),\n        ForwardedValues = new ForwardedValuesProperty {\n            QueryString = false,\n\n            // the properties below are optional\n            Cookies = new CookiesProperty {\n                Forward = \"forward\",\n\n                // the properties below are optional\n                WhitelistedNames = new [] { \"whitelistedNames\" }\n            },\n            Headers = new [] { \"headers\" },\n            QueryStringCacheKeys = new [] { \"queryStringCacheKeys\" }\n        },\n        FunctionAssociations = new [] { new FunctionAssociation {\n            EventType = FunctionEventType.VIEWER_REQUEST,\n            Function = function_\n        } },\n        IsDefaultBehavior = false,\n        LambdaFunctionAssociations = new [] { new LambdaFunctionAssociation {\n            EventType = LambdaEdgeEventType.ORIGIN_REQUEST,\n            LambdaFunction = version,\n\n            // the properties below are optional\n            IncludeBody = false\n        } },\n        MaxTtl = Duration.Minutes(30),\n        MinTtl = Duration.Minutes(30),\n        PathPattern = \"pathPattern\",\n        TrustedKeyGroups = new [] { keyGroup },\n        TrustedSigners = new [] { \"trustedSigners\" },\n        ViewerProtocolPolicy = ViewerProtocolPolicy.HTTPS_ONLY\n    } },\n\n    // the properties below are optional\n    ConnectionAttempts = 123,\n    ConnectionTimeout = Duration.Minutes(30),\n    CustomOriginSource = new CustomOriginConfig {\n        DomainName = \"domainName\",\n\n        // the properties below are optional\n        AllowedOriginSSLVersions = new [] { OriginSslPolicy.SSL_V3 },\n        HttpPort = 123,\n        HttpsPort = 123,\n        OriginHeaders = new Dictionary<string, string> {\n            { \"originHeadersKey\", \"originHeaders\" }\n        },\n        OriginKeepaliveTimeout = Duration.Minutes(30),\n        OriginPath = \"originPath\",\n        OriginProtocolPolicy = OriginProtocolPolicy.HTTP_ONLY,\n        OriginReadTimeout = Duration.Minutes(30),\n        OriginShieldRegion = \"originShieldRegion\"\n    },\n    FailoverCriteriaStatusCodes = new [] { FailoverStatusCode.FORBIDDEN },\n    FailoverCustomOriginSource = new CustomOriginConfig {\n        DomainName = \"domainName\",\n\n        // the properties below are optional\n        AllowedOriginSSLVersions = new [] { OriginSslPolicy.SSL_V3 },\n        HttpPort = 123,\n        HttpsPort = 123,\n        OriginHeaders = new Dictionary<string, string> {\n            { \"originHeadersKey\", \"originHeaders\" }\n        },\n        OriginKeepaliveTimeout = Duration.Minutes(30),\n        OriginPath = \"originPath\",\n        OriginProtocolPolicy = OriginProtocolPolicy.HTTP_ONLY,\n        OriginReadTimeout = Duration.Minutes(30),\n        OriginShieldRegion = \"originShieldRegion\"\n    },\n    FailoverS3OriginSource = new S3OriginConfig {\n        S3BucketSource = bucket,\n\n        // the properties below are optional\n        OriginAccessIdentity = originAccessIdentity,\n        OriginHeaders = new Dictionary<string, string> {\n            { \"originHeadersKey\", \"originHeaders\" }\n        },\n        OriginPath = \"originPath\",\n        OriginShieldRegion = \"originShieldRegion\"\n    },\n    OriginHeaders = new Dictionary<string, string> {\n        { \"originHeadersKey\", \"originHeaders\" }\n    },\n    OriginPath = \"originPath\",\n    OriginShieldRegion = \"originShieldRegion\",\n    S3OriginSource = new S3OriginConfig {\n        S3BucketSource = bucket,\n\n        // the properties below are optional\n        OriginAccessIdentity = originAccessIdentity,\n        OriginHeaders = new Dictionary<string, string> {\n            { \"originHeadersKey\", \"originHeaders\" }\n        },\n        OriginPath = \"originPath\",\n        OriginShieldRegion = \"originShieldRegion\"\n    }\n};","version":"1"},"java":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport software.amazon.awscdk.services.cloudfront.*;\nimport software.amazon.awscdk.services.lambda.*;\nimport software.amazon.awscdk.services.s3.*;\nimport software.amazon.awscdk.core.*;\n\nBucket bucket;\nFunction function_;\nKeyGroup keyGroup;\nOriginAccessIdentity originAccessIdentity;\nVersion version;\n\nSourceConfiguration sourceConfiguration = SourceConfiguration.builder()\n        .behaviors(List.of(Behavior.builder()\n                .allowedMethods(CloudFrontAllowedMethods.GET_HEAD)\n                .cachedMethods(CloudFrontAllowedCachedMethods.GET_HEAD)\n                .compress(false)\n                .defaultTtl(Duration.minutes(30))\n                .forwardedValues(ForwardedValuesProperty.builder()\n                        .queryString(false)\n\n                        // the properties below are optional\n                        .cookies(CookiesProperty.builder()\n                                .forward(\"forward\")\n\n                                // the properties below are optional\n                                .whitelistedNames(List.of(\"whitelistedNames\"))\n                                .build())\n                        .headers(List.of(\"headers\"))\n                        .queryStringCacheKeys(List.of(\"queryStringCacheKeys\"))\n                        .build())\n                .functionAssociations(List.of(FunctionAssociation.builder()\n                        .eventType(FunctionEventType.VIEWER_REQUEST)\n                        .function(function_)\n                        .build()))\n                .isDefaultBehavior(false)\n                .lambdaFunctionAssociations(List.of(LambdaFunctionAssociation.builder()\n                        .eventType(LambdaEdgeEventType.ORIGIN_REQUEST)\n                        .lambdaFunction(version)\n\n                        // the properties below are optional\n                        .includeBody(false)\n                        .build()))\n                .maxTtl(Duration.minutes(30))\n                .minTtl(Duration.minutes(30))\n                .pathPattern(\"pathPattern\")\n                .trustedKeyGroups(List.of(keyGroup))\n                .trustedSigners(List.of(\"trustedSigners\"))\n                .viewerProtocolPolicy(ViewerProtocolPolicy.HTTPS_ONLY)\n                .build()))\n\n        // the properties below are optional\n        .connectionAttempts(123)\n        .connectionTimeout(Duration.minutes(30))\n        .customOriginSource(CustomOriginConfig.builder()\n                .domainName(\"domainName\")\n\n                // the properties below are optional\n                .allowedOriginSSLVersions(List.of(OriginSslPolicy.SSL_V3))\n                .httpPort(123)\n                .httpsPort(123)\n                .originHeaders(Map.of(\n                        \"originHeadersKey\", \"originHeaders\"))\n                .originKeepaliveTimeout(Duration.minutes(30))\n                .originPath(\"originPath\")\n                .originProtocolPolicy(OriginProtocolPolicy.HTTP_ONLY)\n                .originReadTimeout(Duration.minutes(30))\n                .originShieldRegion(\"originShieldRegion\")\n                .build())\n        .failoverCriteriaStatusCodes(List.of(FailoverStatusCode.FORBIDDEN))\n        .failoverCustomOriginSource(CustomOriginConfig.builder()\n                .domainName(\"domainName\")\n\n                // the properties below are optional\n                .allowedOriginSSLVersions(List.of(OriginSslPolicy.SSL_V3))\n                .httpPort(123)\n                .httpsPort(123)\n                .originHeaders(Map.of(\n                        \"originHeadersKey\", \"originHeaders\"))\n                .originKeepaliveTimeout(Duration.minutes(30))\n                .originPath(\"originPath\")\n                .originProtocolPolicy(OriginProtocolPolicy.HTTP_ONLY)\n                .originReadTimeout(Duration.minutes(30))\n                .originShieldRegion(\"originShieldRegion\")\n                .build())\n        .failoverS3OriginSource(S3OriginConfig.builder()\n                .s3BucketSource(bucket)\n\n                // the properties below are optional\n                .originAccessIdentity(originAccessIdentity)\n                .originHeaders(Map.of(\n                        \"originHeadersKey\", \"originHeaders\"))\n                .originPath(\"originPath\")\n                .originShieldRegion(\"originShieldRegion\")\n                .build())\n        .originHeaders(Map.of(\n                \"originHeadersKey\", \"originHeaders\"))\n        .originPath(\"originPath\")\n        .originShieldRegion(\"originShieldRegion\")\n        .s3OriginSource(S3OriginConfig.builder()\n                .s3BucketSource(bucket)\n\n                // the properties below are optional\n                .originAccessIdentity(originAccessIdentity)\n                .originHeaders(Map.of(\n                        \"originHeadersKey\", \"originHeaders\"))\n                .originPath(\"originPath\")\n                .originShieldRegion(\"originShieldRegion\")\n                .build())\n        .build();","version":"1"},"go":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport \"github.com/aws-samples/dummy/awscdkawscloudfront\"\nimport lambda \"github.com/aws-samples/dummy/awscdkawslambda\"\nimport s3 \"github.com/aws-samples/dummy/awscdkawss3\"\nimport \"github.com/aws-samples/dummy/awscdkcore\"\n\nvar bucket bucket\nvar function_ function\nvar keyGroup keyGroup\nvar originAccessIdentity originAccessIdentity\nvar version version\n\nsourceConfiguration := &SourceConfiguration{\n\tBehaviors: []behavior{\n\t\t&behavior{\n\t\t\tAllowedMethods: cloudfront.CloudFrontAllowedMethods_GET_HEAD,\n\t\t\tCachedMethods: cloudfront.CloudFrontAllowedCachedMethods_GET_HEAD,\n\t\t\tCompress: jsii.Boolean(false),\n\t\t\tDefaultTtl: cdk.Duration_Minutes(jsii.Number(30)),\n\t\t\tForwardedValues: &ForwardedValuesProperty{\n\t\t\t\tQueryString: jsii.Boolean(false),\n\n\t\t\t\t// the properties below are optional\n\t\t\t\tCookies: &CookiesProperty{\n\t\t\t\t\tForward: jsii.String(\"forward\"),\n\n\t\t\t\t\t// the properties below are optional\n\t\t\t\t\tWhitelistedNames: []*string{\n\t\t\t\t\t\tjsii.String(\"whitelistedNames\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tHeaders: []*string{\n\t\t\t\t\tjsii.String(\"headers\"),\n\t\t\t\t},\n\t\t\t\tQueryStringCacheKeys: []*string{\n\t\t\t\t\tjsii.String(\"queryStringCacheKeys\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tFunctionAssociations: []functionAssociation{\n\t\t\t\t&functionAssociation{\n\t\t\t\t\tEventType: cloudfront.FunctionEventType_VIEWER_REQUEST,\n\t\t\t\t\tFunction: function_,\n\t\t\t\t},\n\t\t\t},\n\t\t\tIsDefaultBehavior: jsii.Boolean(false),\n\t\t\tLambdaFunctionAssociations: []lambdaFunctionAssociation{\n\t\t\t\t&lambdaFunctionAssociation{\n\t\t\t\t\tEventType: cloudfront.LambdaEdgeEventType_ORIGIN_REQUEST,\n\t\t\t\t\tLambdaFunction: version,\n\n\t\t\t\t\t// the properties below are optional\n\t\t\t\t\tIncludeBody: jsii.Boolean(false),\n\t\t\t\t},\n\t\t\t},\n\t\t\tMaxTtl: cdk.Duration_*Minutes(jsii.Number(30)),\n\t\t\tMinTtl: cdk.Duration_*Minutes(jsii.Number(30)),\n\t\t\tPathPattern: jsii.String(\"pathPattern\"),\n\t\t\tTrustedKeyGroups: []iKeyGroup{\n\t\t\t\tkeyGroup,\n\t\t\t},\n\t\t\tTrustedSigners: []*string{\n\t\t\t\tjsii.String(\"trustedSigners\"),\n\t\t\t},\n\t\t\tViewerProtocolPolicy: cloudfront.ViewerProtocolPolicy_HTTPS_ONLY,\n\t\t},\n\t},\n\n\t// the properties below are optional\n\tConnectionAttempts: jsii.Number(123),\n\tConnectionTimeout: cdk.Duration_*Minutes(jsii.Number(30)),\n\tCustomOriginSource: &CustomOriginConfig{\n\t\tDomainName: jsii.String(\"domainName\"),\n\n\t\t// the properties below are optional\n\t\tAllowedOriginSSLVersions: []originSslPolicy{\n\t\t\tcloudfront.*originSslPolicy_SSL_V3,\n\t\t},\n\t\tHttpPort: jsii.Number(123),\n\t\tHttpsPort: jsii.Number(123),\n\t\tOriginHeaders: map[string]*string{\n\t\t\t\"originHeadersKey\": jsii.String(\"originHeaders\"),\n\t\t},\n\t\tOriginKeepaliveTimeout: cdk.Duration_*Minutes(jsii.Number(30)),\n\t\tOriginPath: jsii.String(\"originPath\"),\n\t\tOriginProtocolPolicy: cloudfront.OriginProtocolPolicy_HTTP_ONLY,\n\t\tOriginReadTimeout: cdk.Duration_*Minutes(jsii.Number(30)),\n\t\tOriginShieldRegion: jsii.String(\"originShieldRegion\"),\n\t},\n\tFailoverCriteriaStatusCodes: []failoverStatusCode{\n\t\tcloudfront.*failoverStatusCode_FORBIDDEN,\n\t},\n\tFailoverCustomOriginSource: &CustomOriginConfig{\n\t\tDomainName: jsii.String(\"domainName\"),\n\n\t\t// the properties below are optional\n\t\tAllowedOriginSSLVersions: []*originSslPolicy{\n\t\t\tcloudfront.*originSslPolicy_SSL_V3,\n\t\t},\n\t\tHttpPort: jsii.Number(123),\n\t\tHttpsPort: jsii.Number(123),\n\t\tOriginHeaders: map[string]*string{\n\t\t\t\"originHeadersKey\": jsii.String(\"originHeaders\"),\n\t\t},\n\t\tOriginKeepaliveTimeout: cdk.Duration_*Minutes(jsii.Number(30)),\n\t\tOriginPath: jsii.String(\"originPath\"),\n\t\tOriginProtocolPolicy: cloudfront.OriginProtocolPolicy_HTTP_ONLY,\n\t\tOriginReadTimeout: cdk.Duration_*Minutes(jsii.Number(30)),\n\t\tOriginShieldRegion: jsii.String(\"originShieldRegion\"),\n\t},\n\tFailoverS3OriginSource: &S3OriginConfig{\n\t\tS3BucketSource: bucket,\n\n\t\t// the properties below are optional\n\t\tOriginAccessIdentity: originAccessIdentity,\n\t\tOriginHeaders: map[string]*string{\n\t\t\t\"originHeadersKey\": jsii.String(\"originHeaders\"),\n\t\t},\n\t\tOriginPath: jsii.String(\"originPath\"),\n\t\tOriginShieldRegion: jsii.String(\"originShieldRegion\"),\n\t},\n\tOriginHeaders: map[string]*string{\n\t\t\"originHeadersKey\": jsii.String(\"originHeaders\"),\n\t},\n\tOriginPath: jsii.String(\"originPath\"),\n\tOriginShieldRegion: jsii.String(\"originShieldRegion\"),\n\tS3OriginSource: &S3OriginConfig{\n\t\tS3BucketSource: bucket,\n\n\t\t// the properties below are optional\n\t\tOriginAccessIdentity: originAccessIdentity,\n\t\tOriginHeaders: map[string]*string{\n\t\t\t\"originHeadersKey\": jsii.String(\"originHeaders\"),\n\t\t},\n\t\tOriginPath: jsii.String(\"originPath\"),\n\t\tOriginShieldRegion: jsii.String(\"originShieldRegion\"),\n\t},\n}","version":"1"},"$":{"source":"// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nimport * as lambda from '@aws-cdk/aws-lambda';\nimport * as s3 from '@aws-cdk/aws-s3';\nimport * as cdk from '@aws-cdk/core';\n\ndeclare const bucket: s3.Bucket;\ndeclare const function_: cloudfront.Function;\ndeclare const keyGroup: cloudfront.KeyGroup;\ndeclare const originAccessIdentity: cloudfront.OriginAccessIdentity;\ndeclare const version: lambda.Version;\nconst sourceConfiguration: cloudfront.SourceConfiguration = {\n  behaviors: [{\n    allowedMethods: cloudfront.CloudFrontAllowedMethods.GET_HEAD,\n    cachedMethods: cloudfront.CloudFrontAllowedCachedMethods.GET_HEAD,\n    compress: false,\n    defaultTtl: cdk.Duration.minutes(30),\n    forwardedValues: {\n      queryString: false,\n\n      // the properties below are optional\n      cookies: {\n        forward: 'forward',\n\n        // the properties below are optional\n        whitelistedNames: ['whitelistedNames'],\n      },\n      headers: ['headers'],\n      queryStringCacheKeys: ['queryStringCacheKeys'],\n    },\n    functionAssociations: [{\n      eventType: cloudfront.FunctionEventType.VIEWER_REQUEST,\n      function: function_,\n    }],\n    isDefaultBehavior: false,\n    lambdaFunctionAssociations: [{\n      eventType: cloudfront.LambdaEdgeEventType.ORIGIN_REQUEST,\n      lambdaFunction: version,\n\n      // the properties below are optional\n      includeBody: false,\n    }],\n    maxTtl: cdk.Duration.minutes(30),\n    minTtl: cdk.Duration.minutes(30),\n    pathPattern: 'pathPattern',\n    trustedKeyGroups: [keyGroup],\n    trustedSigners: ['trustedSigners'],\n    viewerProtocolPolicy: cloudfront.ViewerProtocolPolicy.HTTPS_ONLY,\n  }],\n\n  // the properties below are optional\n  connectionAttempts: 123,\n  connectionTimeout: cdk.Duration.minutes(30),\n  customOriginSource: {\n    domainName: 'domainName',\n\n    // the properties below are optional\n    allowedOriginSSLVersions: [cloudfront.OriginSslPolicy.SSL_V3],\n    httpPort: 123,\n    httpsPort: 123,\n    originHeaders: {\n      originHeadersKey: 'originHeaders',\n    },\n    originKeepaliveTimeout: cdk.Duration.minutes(30),\n    originPath: 'originPath',\n    originProtocolPolicy: cloudfront.OriginProtocolPolicy.HTTP_ONLY,\n    originReadTimeout: cdk.Duration.minutes(30),\n    originShieldRegion: 'originShieldRegion',\n  },\n  failoverCriteriaStatusCodes: [cloudfront.FailoverStatusCode.FORBIDDEN],\n  failoverCustomOriginSource: {\n    domainName: 'domainName',\n\n    // the properties below are optional\n    allowedOriginSSLVersions: [cloudfront.OriginSslPolicy.SSL_V3],\n    httpPort: 123,\n    httpsPort: 123,\n    originHeaders: {\n      originHeadersKey: 'originHeaders',\n    },\n    originKeepaliveTimeout: cdk.Duration.minutes(30),\n    originPath: 'originPath',\n    originProtocolPolicy: cloudfront.OriginProtocolPolicy.HTTP_ONLY,\n    originReadTimeout: cdk.Duration.minutes(30),\n    originShieldRegion: 'originShieldRegion',\n  },\n  failoverS3OriginSource: {\n    s3BucketSource: bucket,\n\n    // the properties below are optional\n    originAccessIdentity: originAccessIdentity,\n    originHeaders: {\n      originHeadersKey: 'originHeaders',\n    },\n    originPath: 'originPath',\n    originShieldRegion: 'originShieldRegion',\n  },\n  originHeaders: {\n    originHeadersKey: 'originHeaders',\n  },\n  originPath: 'originPath',\n  originShieldRegion: 'originShieldRegion',\n  s3OriginSource: {\n    s3BucketSource: bucket,\n\n    // the properties below are optional\n    originAccessIdentity: originAccessIdentity,\n    originHeaders: {\n      originHeadersKey: 'originHeaders',\n    },\n    originPath: 'originPath',\n    originShieldRegion: 'originShieldRegion',\n  },\n};","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.SourceConfiguration"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.CfnDistribution.ForwardedValuesProperty","@aws-cdk/aws-cloudfront.CloudFrontAllowedCachedMethods","@aws-cdk/aws-cloudfront.CloudFrontAllowedCachedMethods#GET_HEAD","@aws-cdk/aws-cloudfront.CloudFrontAllowedMethods","@aws-cdk/aws-cloudfront.CloudFrontAllowedMethods#GET_HEAD","@aws-cdk/aws-cloudfront.CustomOriginConfig","@aws-cdk/aws-cloudfront.FailoverStatusCode","@aws-cdk/aws-cloudfront.FailoverStatusCode#FORBIDDEN","@aws-cdk/aws-cloudfront.FunctionEventType","@aws-cdk/aws-cloudfront.FunctionEventType#VIEWER_REQUEST","@aws-cdk/aws-cloudfront.IFunction","@aws-cdk/aws-cloudfront.IOriginAccessIdentity","@aws-cdk/aws-cloudfront.LambdaEdgeEventType","@aws-cdk/aws-cloudfront.LambdaEdgeEventType#ORIGIN_REQUEST","@aws-cdk/aws-cloudfront.OriginProtocolPolicy","@aws-cdk/aws-cloudfront.OriginProtocolPolicy#HTTP_ONLY","@aws-cdk/aws-cloudfront.OriginSslPolicy","@aws-cdk/aws-cloudfront.OriginSslPolicy#SSL_V3","@aws-cdk/aws-cloudfront.S3OriginConfig","@aws-cdk/aws-cloudfront.SourceConfiguration","@aws-cdk/aws-cloudfront.ViewerProtocolPolicy","@aws-cdk/aws-cloudfront.ViewerProtocolPolicy#HTTPS_ONLY","@aws-cdk/aws-lambda.IVersion","@aws-cdk/aws-s3.IBucket","@aws-cdk/core.Duration","@aws-cdk/core.Duration#minutes"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nimport * as lambda from '@aws-cdk/aws-lambda';\nimport * as s3 from '@aws-cdk/aws-s3';\nimport * as cdk from '@aws-cdk/core';\n\ndeclare const bucket: s3.Bucket;\ndeclare const function_: cloudfront.Function;\ndeclare const keyGroup: cloudfront.KeyGroup;\ndeclare const originAccessIdentity: cloudfront.OriginAccessIdentity;\ndeclare const version: lambda.Version;\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from \"@aws-cdk/core\";\nclass MyConstruct extends Construct {\nconstructor(scope: Construct, id: string) {\nsuper(scope, id);\n// Code snippet begins after !show marker below\n/// !show\n\nconst sourceConfiguration: cloudfront.SourceConfiguration = {\n  behaviors: [{\n    allowedMethods: cloudfront.CloudFrontAllowedMethods.GET_HEAD,\n    cachedMethods: cloudfront.CloudFrontAllowedCachedMethods.GET_HEAD,\n    compress: false,\n    defaultTtl: cdk.Duration.minutes(30),\n    forwardedValues: {\n      queryString: false,\n\n      // the properties below are optional\n      cookies: {\n        forward: 'forward',\n\n        // the properties below are optional\n        whitelistedNames: ['whitelistedNames'],\n      },\n      headers: ['headers'],\n      queryStringCacheKeys: ['queryStringCacheKeys'],\n    },\n    functionAssociations: [{\n      eventType: cloudfront.FunctionEventType.VIEWER_REQUEST,\n      function: function_,\n    }],\n    isDefaultBehavior: false,\n    lambdaFunctionAssociations: [{\n      eventType: cloudfront.LambdaEdgeEventType.ORIGIN_REQUEST,\n      lambdaFunction: version,\n\n      // the properties below are optional\n      includeBody: false,\n    }],\n    maxTtl: cdk.Duration.minutes(30),\n    minTtl: cdk.Duration.minutes(30),\n    pathPattern: 'pathPattern',\n    trustedKeyGroups: [keyGroup],\n    trustedSigners: ['trustedSigners'],\n    viewerProtocolPolicy: cloudfront.ViewerProtocolPolicy.HTTPS_ONLY,\n  }],\n\n  // the properties below are optional\n  connectionAttempts: 123,\n  connectionTimeout: cdk.Duration.minutes(30),\n  customOriginSource: {\n    domainName: 'domainName',\n\n    // the properties below are optional\n    allowedOriginSSLVersions: [cloudfront.OriginSslPolicy.SSL_V3],\n    httpPort: 123,\n    httpsPort: 123,\n    originHeaders: {\n      originHeadersKey: 'originHeaders',\n    },\n    originKeepaliveTimeout: cdk.Duration.minutes(30),\n    originPath: 'originPath',\n    originProtocolPolicy: cloudfront.OriginProtocolPolicy.HTTP_ONLY,\n    originReadTimeout: cdk.Duration.minutes(30),\n    originShieldRegion: 'originShieldRegion',\n  },\n  failoverCriteriaStatusCodes: [cloudfront.FailoverStatusCode.FORBIDDEN],\n  failoverCustomOriginSource: {\n    domainName: 'domainName',\n\n    // the properties below are optional\n    allowedOriginSSLVersions: [cloudfront.OriginSslPolicy.SSL_V3],\n    httpPort: 123,\n    httpsPort: 123,\n    originHeaders: {\n      originHeadersKey: 'originHeaders',\n    },\n    originKeepaliveTimeout: cdk.Duration.minutes(30),\n    originPath: 'originPath',\n    originProtocolPolicy: cloudfront.OriginProtocolPolicy.HTTP_ONLY,\n    originReadTimeout: cdk.Duration.minutes(30),\n    originShieldRegion: 'originShieldRegion',\n  },\n  failoverS3OriginSource: {\n    s3BucketSource: bucket,\n\n    // the properties below are optional\n    originAccessIdentity: originAccessIdentity,\n    originHeaders: {\n      originHeadersKey: 'originHeaders',\n    },\n    originPath: 'originPath',\n    originShieldRegion: 'originShieldRegion',\n  },\n  originHeaders: {\n    originHeadersKey: 'originHeaders',\n  },\n  originPath: 'originPath',\n  originShieldRegion: 'originShieldRegion',\n  s3OriginSource: {\n    s3BucketSource: bucket,\n\n    // the properties below are optional\n    originAccessIdentity: originAccessIdentity,\n    originHeaders: {\n      originHeadersKey: 'originHeaders',\n    },\n    originPath: 'originPath',\n    originShieldRegion: 'originShieldRegion',\n  },\n};\n/// !hide\n// Code snippet ended before !hide marker above\n} }","syntaxKindCounter":{"8":13,"10":27,"75":154,"91":4,"130":5,"153":6,"169":6,"192":11,"193":15,"194":36,"196":8,"225":6,"242":6,"243":6,"254":4,"255":4,"256":4,"281":71,"290":1},"fqnsFingerprint":"bfc98fd5351f260aacd70b2b0220e687210047243519e89f99ee8f07fe0599bd"},"ae421cd1d84904bd23e0027c2ee990fa442c9ab0934976a64c5b29f903110907":{"translations":{"python":{"source":"s3_bucket_source = s3.Bucket(self, \"Bucket\")\n\ndistribution = cloudfront.CloudFrontWebDistribution(self, \"AnAmazingWebsiteProbably\",\n    origin_configs=[cloudfront.SourceConfiguration(\n        s3_origin_source=cloudfront.S3OriginConfig(s3_bucket_source=s3_bucket_source),\n        behaviors=[cloudfront.Behavior(is_default_behavior=True)]\n    )],\n    viewer_certificate=cloudfront.ViewerCertificate.from_iam_certificate(\"certificateId\",\n        aliases=[\"example.com\"],\n        security_policy=cloudfront.SecurityPolicyProtocol.SSL_V3,  # default\n        ssl_method=cloudfront.SSLMethod.SNI\n    )\n)","version":"2"},"csharp":{"source":"var s3BucketSource = new Bucket(this, \"Bucket\");\n\nvar distribution = new CloudFrontWebDistribution(this, \"AnAmazingWebsiteProbably\", new CloudFrontWebDistributionProps {\n    OriginConfigs = new [] { new SourceConfiguration {\n        S3OriginSource = new S3OriginConfig { S3BucketSource = s3BucketSource },\n        Behaviors = new [] { new Behavior { IsDefaultBehavior = true } }\n    } },\n    ViewerCertificate = ViewerCertificate.FromIamCertificate(\"certificateId\", new ViewerCertificateOptions {\n        Aliases = new [] { \"example.com\" },\n        SecurityPolicy = SecurityPolicyProtocol.SSL_V3,  // default\n        SslMethod = SSLMethod.SNI\n    })\n});","version":"1"},"java":{"source":"Bucket s3BucketSource = new Bucket(this, \"Bucket\");\n\nCloudFrontWebDistribution distribution = CloudFrontWebDistribution.Builder.create(this, \"AnAmazingWebsiteProbably\")\n        .originConfigs(List.of(SourceConfiguration.builder()\n                .s3OriginSource(S3OriginConfig.builder().s3BucketSource(s3BucketSource).build())\n                .behaviors(List.of(Behavior.builder().isDefaultBehavior(true).build()))\n                .build()))\n        .viewerCertificate(ViewerCertificate.fromIamCertificate(\"certificateId\", ViewerCertificateOptions.builder()\n                .aliases(List.of(\"example.com\"))\n                .securityPolicy(SecurityPolicyProtocol.SSL_V3) // default\n                .sslMethod(SSLMethod.SNI)\n                .build()))\n        .build();","version":"1"},"go":{"source":"s3BucketSource := s3.NewBucket(this, jsii.String(\"Bucket\"))\n\ndistribution := cloudfront.NewCloudFrontWebDistribution(this, jsii.String(\"AnAmazingWebsiteProbably\"), &CloudFrontWebDistributionProps{\n\tOriginConfigs: []sourceConfiguration{\n\t\t&sourceConfiguration{\n\t\t\tS3OriginSource: &S3OriginConfig{\n\t\t\t\tS3BucketSource: *S3BucketSource,\n\t\t\t},\n\t\t\tBehaviors: []behavior{\n\t\t\t\t&behavior{\n\t\t\t\t\tIsDefaultBehavior: jsii.Boolean(true),\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n\tViewerCertificate: cloudfront.ViewerCertificate_FromIamCertificate(jsii.String(\"certificateId\"), &ViewerCertificateOptions{\n\t\tAliases: []*string{\n\t\t\tjsii.String(\"example.com\"),\n\t\t},\n\t\tSecurityPolicy: cloudfront.SecurityPolicyProtocol_SSL_V3,\n\t\t // default\n\t\tSslMethod: cloudfront.SSLMethod_SNI,\n\t}),\n})","version":"1"},"$":{"source":"    const s3BucketSource = new s3.Bucket(this, 'Bucket');\n\n    const distribution = new cloudfront.CloudFrontWebDistribution(this, 'AnAmazingWebsiteProbably', {\n      originConfigs: [{\n        s3OriginSource: { s3BucketSource },\n        behaviors: [{ isDefaultBehavior: true }],\n      }],\n      viewerCertificate: cloudfront.ViewerCertificate.fromIamCertificate(\n        'certificateId',\n        {\n          aliases: ['example.com'],\n          securityPolicy: cloudfront.SecurityPolicyProtocol.SSL_V3, // default\n          sslMethod: cloudfront.SSLMethod.SNI, // default\n        },\n      ),\n    });","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.ViewerCertificate"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.CloudFrontWebDistribution","@aws-cdk/aws-cloudfront.CloudFrontWebDistributionProps","@aws-cdk/aws-cloudfront.S3OriginConfig","@aws-cdk/aws-cloudfront.SSLMethod","@aws-cdk/aws-cloudfront.SSLMethod#SNI","@aws-cdk/aws-cloudfront.SecurityPolicyProtocol","@aws-cdk/aws-cloudfront.SecurityPolicyProtocol#SSL_V3","@aws-cdk/aws-cloudfront.ViewerCertificate","@aws-cdk/aws-cloudfront.ViewerCertificate#fromIamCertificate","@aws-cdk/aws-cloudfront.ViewerCertificateOptions","@aws-cdk/aws-s3.Bucket","@aws-cdk/aws-s3.IBucket","constructs.Construct"],"fullSource":"import * as s3 from '@aws-cdk/aws-s3';\nimport { App, Stack } from '@aws-cdk/core';\nimport { Construct } from 'constructs';\nimport * as cloudfront from '../lib';\n\nclass AcmCertificateAliasStack extends Stack {\n  constructor(scope: Construct, id: string) {\n    super(scope, id);\n    /// !show\n    const s3BucketSource = new s3.Bucket(this, 'Bucket');\n\n    const distribution = new cloudfront.CloudFrontWebDistribution(this, 'AnAmazingWebsiteProbably', {\n      originConfigs: [{\n        s3OriginSource: { s3BucketSource },\n        behaviors: [{ isDefaultBehavior: true }],\n      }],\n      viewerCertificate: cloudfront.ViewerCertificate.fromIamCertificate(\n        'certificateId',\n        {\n          aliases: ['example.com'],\n          securityPolicy: cloudfront.SecurityPolicyProtocol.SSL_V3, // default\n          sslMethod: cloudfront.SSLMethod.SNI, // default\n        },\n      ),\n    });\n    /// !hide\n\n    Array.isArray(s3BucketSource);\n    Array.isArray(distribution);\n  }\n}\n\nconst app = new App();\nnew AcmCertificateAliasStack(app, 'AcmCertificateAliasStack');\napp.synth();\n","syntaxKindCounter":{"10":4,"75":24,"104":2,"106":1,"192":3,"193":5,"194":8,"196":1,"197":2,"225":2,"242":2,"243":2,"281":8,"282":1},"fqnsFingerprint":"553e0e84141237f23233031cbf607034ad3d9c6bd9373a50a3b4012e74732b57"},"b8a580234ca969ea073380a0dbcf3553086a517368fbef151246b227a93eb64c":{"translations":{"python":{"source":"s3_bucket_source = s3.Bucket(self, \"Bucket\")\n\ndistribution = cloudfront.CloudFrontWebDistribution(self, \"AnAmazingWebsiteProbably\",\n    origin_configs=[cloudfront.SourceConfiguration(\n        s3_origin_source=cloudfront.S3OriginConfig(s3_bucket_source=s3_bucket_source),\n        behaviors=[cloudfront.Behavior(is_default_behavior=True)]\n    )],\n    viewer_certificate=cloudfront.ViewerCertificate.from_iam_certificate(\"certificateId\",\n        aliases=[\"example.com\"],\n        security_policy=cloudfront.SecurityPolicyProtocol.SSL_V3,  # default\n        ssl_method=cloudfront.SSLMethod.SNI\n    )\n)","version":"2"},"csharp":{"source":"var s3BucketSource = new Bucket(this, \"Bucket\");\n\nvar distribution = new CloudFrontWebDistribution(this, \"AnAmazingWebsiteProbably\", new CloudFrontWebDistributionProps {\n    OriginConfigs = new [] { new SourceConfiguration {\n        S3OriginSource = new S3OriginConfig { S3BucketSource = s3BucketSource },\n        Behaviors = new [] { new Behavior { IsDefaultBehavior = true } }\n    } },\n    ViewerCertificate = ViewerCertificate.FromIamCertificate(\"certificateId\", new ViewerCertificateOptions {\n        Aliases = new [] { \"example.com\" },\n        SecurityPolicy = SecurityPolicyProtocol.SSL_V3,  // default\n        SslMethod = SSLMethod.SNI\n    })\n});","version":"1"},"java":{"source":"Bucket s3BucketSource = new Bucket(this, \"Bucket\");\n\nCloudFrontWebDistribution distribution = CloudFrontWebDistribution.Builder.create(this, \"AnAmazingWebsiteProbably\")\n        .originConfigs(List.of(SourceConfiguration.builder()\n                .s3OriginSource(S3OriginConfig.builder().s3BucketSource(s3BucketSource).build())\n                .behaviors(List.of(Behavior.builder().isDefaultBehavior(true).build()))\n                .build()))\n        .viewerCertificate(ViewerCertificate.fromIamCertificate(\"certificateId\", ViewerCertificateOptions.builder()\n                .aliases(List.of(\"example.com\"))\n                .securityPolicy(SecurityPolicyProtocol.SSL_V3) // default\n                .sslMethod(SSLMethod.SNI)\n                .build()))\n        .build();","version":"1"},"go":{"source":"s3BucketSource := s3.NewBucket(this, jsii.String(\"Bucket\"))\n\ndistribution := cloudfront.NewCloudFrontWebDistribution(this, jsii.String(\"AnAmazingWebsiteProbably\"), &CloudFrontWebDistributionProps{\n\tOriginConfigs: []sourceConfiguration{\n\t\t&sourceConfiguration{\n\t\t\tS3OriginSource: &S3OriginConfig{\n\t\t\t\tS3BucketSource: *S3BucketSource,\n\t\t\t},\n\t\t\tBehaviors: []behavior{\n\t\t\t\t&behavior{\n\t\t\t\t\tIsDefaultBehavior: jsii.Boolean(true),\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n\tViewerCertificate: cloudfront.ViewerCertificate_FromIamCertificate(jsii.String(\"certificateId\"), &ViewerCertificateOptions{\n\t\tAliases: []*string{\n\t\t\tjsii.String(\"example.com\"),\n\t\t},\n\t\tSecurityPolicy: cloudfront.SecurityPolicyProtocol_SSL_V3,\n\t\t // default\n\t\tSslMethod: cloudfront.SSLMethod_SNI,\n\t}),\n})","version":"1"},"$":{"source":"    const s3BucketSource = new s3.Bucket(this, 'Bucket');\n\n    const distribution = new cloudfront.CloudFrontWebDistribution(this, 'AnAmazingWebsiteProbably', {\n      originConfigs: [{\n        s3OriginSource: { s3BucketSource },\n        behaviors: [{ isDefaultBehavior: true }],\n      }],\n      viewerCertificate: cloudfront.ViewerCertificate.fromIamCertificate(\n        'certificateId',\n        {\n          aliases: ['example.com'],\n          securityPolicy: cloudfront.SecurityPolicyProtocol.SSL_V3, // default\n          sslMethod: cloudfront.SSLMethod.SNI, // default\n        },\n      ),\n    });","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.ViewerCertificateOptions"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront.CloudFrontWebDistribution","@aws-cdk/aws-cloudfront.CloudFrontWebDistributionProps","@aws-cdk/aws-cloudfront.S3OriginConfig","@aws-cdk/aws-cloudfront.SSLMethod","@aws-cdk/aws-cloudfront.SSLMethod#SNI","@aws-cdk/aws-cloudfront.SecurityPolicyProtocol","@aws-cdk/aws-cloudfront.SecurityPolicyProtocol#SSL_V3","@aws-cdk/aws-cloudfront.ViewerCertificate","@aws-cdk/aws-cloudfront.ViewerCertificate#fromIamCertificate","@aws-cdk/aws-cloudfront.ViewerCertificateOptions","@aws-cdk/aws-s3.Bucket","@aws-cdk/aws-s3.IBucket","constructs.Construct"],"fullSource":"import * as s3 from '@aws-cdk/aws-s3';\nimport { App, Stack } from '@aws-cdk/core';\nimport { Construct } from 'constructs';\nimport * as cloudfront from '../lib';\n\nclass AcmCertificateAliasStack extends Stack {\n  constructor(scope: Construct, id: string) {\n    super(scope, id);\n    /// !show\n    const s3BucketSource = new s3.Bucket(this, 'Bucket');\n\n    const distribution = new cloudfront.CloudFrontWebDistribution(this, 'AnAmazingWebsiteProbably', {\n      originConfigs: [{\n        s3OriginSource: { s3BucketSource },\n        behaviors: [{ isDefaultBehavior: true }],\n      }],\n      viewerCertificate: cloudfront.ViewerCertificate.fromIamCertificate(\n        'certificateId',\n        {\n          aliases: ['example.com'],\n          securityPolicy: cloudfront.SecurityPolicyProtocol.SSL_V3, // default\n          sslMethod: cloudfront.SSLMethod.SNI, // default\n        },\n      ),\n    });\n    /// !hide\n\n    Array.isArray(s3BucketSource);\n    Array.isArray(distribution);\n  }\n}\n\nconst app = new App();\nnew AcmCertificateAliasStack(app, 'AcmCertificateAliasStack');\napp.synth();\n","syntaxKindCounter":{"10":4,"75":24,"104":2,"106":1,"192":3,"193":5,"194":8,"196":1,"197":2,"225":2,"242":2,"243":2,"281":8,"282":1},"fqnsFingerprint":"553e0e84141237f23233031cbf607034ad3d9c6bd9373a50a3b4012e74732b57"},"1eb15ae4863e1346f27f8f251eda4cb277403c7fdf43ed01beb674ca09bcf1c1":{"translations":{"python":{"source":"# Create a Distribution with configured HTTP methods and viewer protocol policy of the cache.\n# my_bucket: s3.Bucket\n\nmy_web_distribution = cloudfront.Distribution(self, \"myDist\",\n    default_behavior=cloudfront.BehaviorOptions(\n        origin=origins.S3Origin(my_bucket),\n        allowed_methods=cloudfront.AllowedMethods.ALLOW_ALL,\n        viewer_protocol_policy=cloudfront.ViewerProtocolPolicy.REDIRECT_TO_HTTPS\n    )\n)","version":"2"},"csharp":{"source":"// Create a Distribution with configured HTTP methods and viewer protocol policy of the cache.\nBucket myBucket;\n\nvar myWebDistribution = new Distribution(this, \"myDist\", new DistributionProps {\n    DefaultBehavior = new BehaviorOptions {\n        Origin = new S3Origin(myBucket),\n        AllowedMethods = AllowedMethods.ALLOW_ALL,\n        ViewerProtocolPolicy = ViewerProtocolPolicy.REDIRECT_TO_HTTPS\n    }\n});","version":"1"},"java":{"source":"// Create a Distribution with configured HTTP methods and viewer protocol policy of the cache.\nBucket myBucket;\n\nDistribution myWebDistribution = Distribution.Builder.create(this, \"myDist\")\n        .defaultBehavior(BehaviorOptions.builder()\n                .origin(new S3Origin(myBucket))\n                .allowedMethods(AllowedMethods.ALLOW_ALL)\n                .viewerProtocolPolicy(ViewerProtocolPolicy.REDIRECT_TO_HTTPS)\n                .build())\n        .build();","version":"1"},"go":{"source":"// Create a Distribution with configured HTTP methods and viewer protocol policy of the cache.\nvar myBucket bucket\n\nmyWebDistribution := cloudfront.NewDistribution(this, jsii.String(\"myDist\"), &DistributionProps{\n\tDefaultBehavior: &BehaviorOptions{\n\t\tOrigin: origins.NewS3Origin(myBucket),\n\t\tAllowedMethods: cloudfront.AllowedMethods_ALLOW_ALL(),\n\t\tViewerProtocolPolicy: cloudfront.ViewerProtocolPolicy_REDIRECT_TO_HTTPS,\n\t},\n})","version":"1"},"$":{"source":"// Create a Distribution with configured HTTP methods and viewer protocol policy of the cache.\ndeclare const myBucket: s3.Bucket;\nconst myWebDistribution = new cloudfront.Distribution(this, 'myDist', {\n  defaultBehavior: {\n    origin: new origins.S3Origin(myBucket),\n    allowedMethods: cloudfront.AllowedMethods.ALLOW_ALL,\n    viewerProtocolPolicy: cloudfront.ViewerProtocolPolicy.REDIRECT_TO_HTTPS,\n  },\n});","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.ViewerProtocolPolicy"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront-origins.S3Origin","@aws-cdk/aws-cloudfront.AllowedMethods","@aws-cdk/aws-cloudfront.AllowedMethods#ALLOW_ALL","@aws-cdk/aws-cloudfront.BehaviorOptions","@aws-cdk/aws-cloudfront.Distribution","@aws-cdk/aws-cloudfront.DistributionProps","@aws-cdk/aws-cloudfront.IOrigin","@aws-cdk/aws-cloudfront.ViewerProtocolPolicy","@aws-cdk/aws-cloudfront.ViewerProtocolPolicy#REDIRECT_TO_HTTPS","@aws-cdk/aws-s3.IBucket","constructs.Construct"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n// Create a Distribution with configured HTTP methods and viewer protocol policy of the cache.\ndeclare const myBucket: s3.Bucket;\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from 'constructs';\nimport { Duration, Stack } from '@aws-cdk/core';\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nimport * as origins from '@aws-cdk/aws-cloudfront-origins';\nimport * as s3 from '@aws-cdk/aws-s3';\nimport * as ec2 from '@aws-cdk/aws-ec2';\nimport * as elbv2 from '@aws-cdk/aws-elasticloadbalancingv2';\nimport * as lambda from '@aws-cdk/aws-lambda';\nimport * as path from 'path';\n\nclass Context extends Stack {\n  constructor(scope: Construct, id: string) {\n    super(scope, id);\n\n    // Code snippet begins after !show marker below\n/// !show\n\nconst myWebDistribution = new cloudfront.Distribution(this, 'myDist', {\n  defaultBehavior: {\n    origin: new origins.S3Origin(myBucket),\n    allowedMethods: cloudfront.AllowedMethods.ALLOW_ALL,\n    viewerProtocolPolicy: cloudfront.ViewerProtocolPolicy.REDIRECT_TO_HTTPS,\n  },\n});\n/// !hide\n// Code snippet ended before !hide marker above\n  }\n}\n","syntaxKindCounter":{"10":1,"75":19,"104":1,"130":1,"153":1,"169":1,"193":2,"194":6,"197":2,"225":2,"242":2,"243":2,"281":4,"290":1},"fqnsFingerprint":"50620db3ad080e54f01a59a38a6a5c8fb0c235dcdf48e49e85c101f75cb744ce"},"3a0e215ba217857c037e2038f206b6104eb7accc87d0e922074607740527801d":{"translations":{"python":{"source":"# my_bucket: s3.Bucket\n# A Lambda@Edge function added to default behavior of a Distribution\n# and triggered on every request\nmy_func = cloudfront.experimental.EdgeFunction(self, \"MyFunction\",\n    runtime=lambda_.Runtime.NODEJS_14_X,\n    handler=\"index.handler\",\n    code=lambda_.Code.from_asset(path.join(__dirname, \"lambda-handler\"))\n)\ncloudfront.Distribution(self, \"myDist\",\n    default_behavior=cloudfront.BehaviorOptions(\n        origin=origins.S3Origin(my_bucket),\n        edge_lambdas=[cloudfront.EdgeLambda(\n            function_version=my_func.current_version,\n            event_type=cloudfront.LambdaEdgeEventType.VIEWER_REQUEST\n        )\n        ]\n    )\n)","version":"2"},"csharp":{"source":"Bucket myBucket;\n// A Lambda@Edge function added to default behavior of a Distribution\n// and triggered on every request\nvar myFunc = new Experimental.EdgeFunction(this, \"MyFunction\", new EdgeFunctionProps {\n    Runtime = Runtime.NODEJS_14_X,\n    Handler = \"index.handler\",\n    Code = Code.FromAsset(Join(__dirname, \"lambda-handler\"))\n});\nnew Distribution(this, \"myDist\", new DistributionProps {\n    DefaultBehavior = new BehaviorOptions {\n        Origin = new S3Origin(myBucket),\n        EdgeLambdas = new [] { new EdgeLambda {\n            FunctionVersion = myFunc.CurrentVersion,\n            EventType = LambdaEdgeEventType.VIEWER_REQUEST\n        } }\n    }\n});","version":"1"},"java":{"source":"Bucket myBucket;\n// A Lambda@Edge function added to default behavior of a Distribution\n// and triggered on every request\nEdgeFunction myFunc = EdgeFunction.Builder.create(this, \"MyFunction\")\n        .runtime(Runtime.NODEJS_14_X)\n        .handler(\"index.handler\")\n        .code(Code.fromAsset(join(__dirname, \"lambda-handler\")))\n        .build();\nDistribution.Builder.create(this, \"myDist\")\n        .defaultBehavior(BehaviorOptions.builder()\n                .origin(new S3Origin(myBucket))\n                .edgeLambdas(List.of(EdgeLambda.builder()\n                        .functionVersion(myFunc.getCurrentVersion())\n                        .eventType(LambdaEdgeEventType.VIEWER_REQUEST)\n                        .build()))\n                .build())\n        .build();","version":"1"},"go":{"source":"var myBucket bucket\n// A Lambda@Edge function added to default behavior of a Distribution\n// and triggered on every request\nmyFunc := experimental.NewEdgeFunction(this, jsii.String(\"MyFunction\"), &EdgeFunctionProps{\n\tRuntime: lambda.Runtime_NODEJS_14_X(),\n\tHandler: jsii.String(\"index.handler\"),\n\tCode: lambda.Code_FromAsset(path.join(__dirname, jsii.String(\"lambda-handler\"))),\n})\ncloudfront.NewDistribution(this, jsii.String(\"myDist\"), &DistributionProps{\n\tDefaultBehavior: &BehaviorOptions{\n\t\tOrigin: origins.NewS3Origin(myBucket),\n\t\tEdgeLambdas: []edgeLambda{\n\t\t\t&edgeLambda{\n\t\t\t\tFunctionVersion: myFunc.currentVersion,\n\t\t\t\tEventType: cloudfront.LambdaEdgeEventType_VIEWER_REQUEST,\n\t\t\t},\n\t\t},\n\t},\n})","version":"1"},"$":{"source":"// A Lambda@Edge function added to default behavior of a Distribution\n// and triggered on every request\nconst myFunc = new cloudfront.experimental.EdgeFunction(this, 'MyFunction', {\n  runtime: lambda.Runtime.NODEJS_14_X,\n  handler: 'index.handler',\n  code: lambda.Code.fromAsset(path.join(__dirname, 'lambda-handler')),\n});\n\ndeclare const myBucket: s3.Bucket;\nnew cloudfront.Distribution(this, 'myDist', {\n  defaultBehavior: {\n    origin: new origins.S3Origin(myBucket),\n    edgeLambdas: [\n      {\n        functionVersion: myFunc.currentVersion,\n        eventType: cloudfront.LambdaEdgeEventType.VIEWER_REQUEST,\n      }\n    ],\n  },\n});","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.experimental.EdgeFunction"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront-origins.S3Origin","@aws-cdk/aws-cloudfront.BehaviorOptions","@aws-cdk/aws-cloudfront.Distribution","@aws-cdk/aws-cloudfront.DistributionProps","@aws-cdk/aws-cloudfront.IOrigin","@aws-cdk/aws-cloudfront.LambdaEdgeEventType","@aws-cdk/aws-cloudfront.LambdaEdgeEventType#VIEWER_REQUEST","@aws-cdk/aws-cloudfront.experimental","@aws-cdk/aws-cloudfront.experimental.EdgeFunction","@aws-cdk/aws-cloudfront.experimental.EdgeFunctionProps","@aws-cdk/aws-lambda.Code","@aws-cdk/aws-lambda.Code#fromAsset","@aws-cdk/aws-lambda.IVersion","@aws-cdk/aws-lambda.Runtime","@aws-cdk/aws-lambda.Runtime#NODEJS_14_X","@aws-cdk/aws-s3.IBucket","constructs.Construct"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n\n\ndeclare const myBucket: s3.Bucket;\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from 'constructs';\nimport { Duration, Stack } from '@aws-cdk/core';\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nimport * as origins from '@aws-cdk/aws-cloudfront-origins';\nimport * as s3 from '@aws-cdk/aws-s3';\nimport * as ec2 from '@aws-cdk/aws-ec2';\nimport * as elbv2 from '@aws-cdk/aws-elasticloadbalancingv2';\nimport * as lambda from '@aws-cdk/aws-lambda';\nimport * as path from 'path';\n\nclass Context extends Stack {\n  constructor(scope: Construct, id: string) {\n    super(scope, id);\n\n    // Code snippet begins after !show marker below\n/// !show\n// A Lambda@Edge function added to default behavior of a Distribution\n// and triggered on every request\nconst myFunc = new cloudfront.experimental.EdgeFunction(this, 'MyFunction', {\n  runtime: lambda.Runtime.NODEJS_14_X,\n  handler: 'index.handler',\n  code: lambda.Code.fromAsset(path.join(__dirname, 'lambda-handler')),\n});\nnew cloudfront.Distribution(this, 'myDist', {\n  defaultBehavior: {\n    origin: new origins.S3Origin(myBucket),\n    edgeLambdas: [\n      {\n        functionVersion: myFunc.currentVersion,\n        eventType: cloudfront.LambdaEdgeEventType.VIEWER_REQUEST,\n      }\n    ],\n  },\n});\n/// !hide\n// Code snippet ended before !hide marker above\n  }\n}\n","syntaxKindCounter":{"10":4,"75":34,"104":2,"130":1,"153":1,"169":1,"192":1,"193":4,"194":12,"196":2,"197":3,"225":2,"226":1,"242":2,"243":2,"281":8,"290":1},"fqnsFingerprint":"02b892326549a952196fa477919f4801bcdca3d61c99b33c78df9a86e00a9d31"},"95c68d91baeba479398177f34830d4fa41fb80cb05b7ce583c9a89d0b3afcd8e":{"translations":{"python":{"source":"# my_bucket: s3.Bucket\n# A Lambda@Edge function added to default behavior of a Distribution\n# and triggered on every request\nmy_func = cloudfront.experimental.EdgeFunction(self, \"MyFunction\",\n    runtime=lambda_.Runtime.NODEJS_14_X,\n    handler=\"index.handler\",\n    code=lambda_.Code.from_asset(path.join(__dirname, \"lambda-handler\"))\n)\ncloudfront.Distribution(self, \"myDist\",\n    default_behavior=cloudfront.BehaviorOptions(\n        origin=origins.S3Origin(my_bucket),\n        edge_lambdas=[cloudfront.EdgeLambda(\n            function_version=my_func.current_version,\n            event_type=cloudfront.LambdaEdgeEventType.VIEWER_REQUEST\n        )\n        ]\n    )\n)","version":"2"},"csharp":{"source":"Bucket myBucket;\n// A Lambda@Edge function added to default behavior of a Distribution\n// and triggered on every request\nvar myFunc = new Experimental.EdgeFunction(this, \"MyFunction\", new EdgeFunctionProps {\n    Runtime = Runtime.NODEJS_14_X,\n    Handler = \"index.handler\",\n    Code = Code.FromAsset(Join(__dirname, \"lambda-handler\"))\n});\nnew Distribution(this, \"myDist\", new DistributionProps {\n    DefaultBehavior = new BehaviorOptions {\n        Origin = new S3Origin(myBucket),\n        EdgeLambdas = new [] { new EdgeLambda {\n            FunctionVersion = myFunc.CurrentVersion,\n            EventType = LambdaEdgeEventType.VIEWER_REQUEST\n        } }\n    }\n});","version":"1"},"java":{"source":"Bucket myBucket;\n// A Lambda@Edge function added to default behavior of a Distribution\n// and triggered on every request\nEdgeFunction myFunc = EdgeFunction.Builder.create(this, \"MyFunction\")\n        .runtime(Runtime.NODEJS_14_X)\n        .handler(\"index.handler\")\n        .code(Code.fromAsset(join(__dirname, \"lambda-handler\")))\n        .build();\nDistribution.Builder.create(this, \"myDist\")\n        .defaultBehavior(BehaviorOptions.builder()\n                .origin(new S3Origin(myBucket))\n                .edgeLambdas(List.of(EdgeLambda.builder()\n                        .functionVersion(myFunc.getCurrentVersion())\n                        .eventType(LambdaEdgeEventType.VIEWER_REQUEST)\n                        .build()))\n                .build())\n        .build();","version":"1"},"go":{"source":"var myBucket bucket\n// A Lambda@Edge function added to default behavior of a Distribution\n// and triggered on every request\nmyFunc := experimental.NewEdgeFunction(this, jsii.String(\"MyFunction\"), &EdgeFunctionProps{\n\tRuntime: lambda.Runtime_NODEJS_14_X(),\n\tHandler: jsii.String(\"index.handler\"),\n\tCode: lambda.Code_FromAsset(path.join(__dirname, jsii.String(\"lambda-handler\"))),\n})\ncloudfront.NewDistribution(this, jsii.String(\"myDist\"), &DistributionProps{\n\tDefaultBehavior: &BehaviorOptions{\n\t\tOrigin: origins.NewS3Origin(myBucket),\n\t\tEdgeLambdas: []edgeLambda{\n\t\t\t&edgeLambda{\n\t\t\t\tFunctionVersion: myFunc.currentVersion,\n\t\t\t\tEventType: cloudfront.LambdaEdgeEventType_VIEWER_REQUEST,\n\t\t\t},\n\t\t},\n\t},\n})","version":"1"},"$":{"source":"// A Lambda@Edge function added to default behavior of a Distribution\n// and triggered on every request\nconst myFunc = new cloudfront.experimental.EdgeFunction(this, 'MyFunction', {\n  runtime: lambda.Runtime.NODEJS_14_X,\n  handler: 'index.handler',\n  code: lambda.Code.fromAsset(path.join(__dirname, 'lambda-handler')),\n});\n\ndeclare const myBucket: s3.Bucket;\nnew cloudfront.Distribution(this, 'myDist', {\n  defaultBehavior: {\n    origin: new origins.S3Origin(myBucket),\n    edgeLambdas: [\n      {\n        functionVersion: myFunc.currentVersion,\n        eventType: cloudfront.LambdaEdgeEventType.VIEWER_REQUEST,\n      }\n    ],\n  },\n});","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/aws-cloudfront.experimental.EdgeFunctionProps"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-cloudfront-origins.S3Origin","@aws-cdk/aws-cloudfront.BehaviorOptions","@aws-cdk/aws-cloudfront.Distribution","@aws-cdk/aws-cloudfront.DistributionProps","@aws-cdk/aws-cloudfront.IOrigin","@aws-cdk/aws-cloudfront.LambdaEdgeEventType","@aws-cdk/aws-cloudfront.LambdaEdgeEventType#VIEWER_REQUEST","@aws-cdk/aws-cloudfront.experimental","@aws-cdk/aws-cloudfront.experimental.EdgeFunction","@aws-cdk/aws-cloudfront.experimental.EdgeFunctionProps","@aws-cdk/aws-lambda.Code","@aws-cdk/aws-lambda.Code#fromAsset","@aws-cdk/aws-lambda.IVersion","@aws-cdk/aws-lambda.Runtime","@aws-cdk/aws-lambda.Runtime#NODEJS_14_X","@aws-cdk/aws-s3.IBucket","constructs.Construct"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\n\n\ndeclare const myBucket: s3.Bucket;\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from 'constructs';\nimport { Duration, Stack } from '@aws-cdk/core';\nimport * as cloudfront from '@aws-cdk/aws-cloudfront';\nimport * as origins from '@aws-cdk/aws-cloudfront-origins';\nimport * as s3 from '@aws-cdk/aws-s3';\nimport * as ec2 from '@aws-cdk/aws-ec2';\nimport * as elbv2 from '@aws-cdk/aws-elasticloadbalancingv2';\nimport * as lambda from '@aws-cdk/aws-lambda';\nimport * as path from 'path';\n\nclass Context extends Stack {\n  constructor(scope: Construct, id: string) {\n    super(scope, id);\n\n    // Code snippet begins after !show marker below\n/// !show\n// A Lambda@Edge function added to default behavior of a Distribution\n// and triggered on every request\nconst myFunc = new cloudfront.experimental.EdgeFunction(this, 'MyFunction', {\n  runtime: lambda.Runtime.NODEJS_14_X,\n  handler: 'index.handler',\n  code: lambda.Code.fromAsset(path.join(__dirname, 'lambda-handler')),\n});\nnew cloudfront.Distribution(this, 'myDist', {\n  defaultBehavior: {\n    origin: new origins.S3Origin(myBucket),\n    edgeLambdas: [\n      {\n        functionVersion: myFunc.currentVersion,\n        eventType: cloudfront.LambdaEdgeEventType.VIEWER_REQUEST,\n      }\n    ],\n  },\n});\n/// !hide\n// Code snippet ended before !hide marker above\n  }\n}\n","syntaxKindCounter":{"10":4,"75":34,"104":2,"130":1,"153":1,"169":1,"192":1,"193":4,"194":12,"196":2,"197":3,"225":2,"226":1,"242":2,"243":2,"281":8,"290":1},"fqnsFingerprint":"02b892326549a952196fa477919f4801bcdca3d61c99b33c78df9a86e00a9d31"}}}