| enabled | Enable or disable this distribution without deleting it. | 
| comment | A comment for this distribution. | 
| cnames list | CNAMES (aliases) for which this distribution will listen for. | 
| http-version | The maximum http version that users can request on this distribution. Valid values are http1.1,http2,http3orhttp2and3. | 
| price-class | The maximum price you want to pay for CloudFront. For information on pricing see Price classes. Valid values are PriceClass_All,PriceClass_200orPriceClass_100. | 
| default-root-object | The object to request from the origin when a user requests the root URL (i.e. http://www.example.com/). | 
| ipv6-enabled | Enable IPv6 support for this distribution. | 
| web-acl | The Web ACL (WAF) ID to associate with this distribution. | 
| tags map | A map of tags to apply to this distribution. | 
| origin set subresource | List of origins for this distribution. 
idA unique ID for this origin.domain-nameThe DNS name of the origin.origin-pathOptional path to request content from a specific directory of the origin. 
custom-headers mapA map of custom headers to send the origin on every request. 
s3-origin subresourceS3 configuration for this origin. When configuring the origin if both s3-origin and custom-origin are left blank, defaults to a blank s3-origin. If the domain-name is set to anything other than a bucket a custom-origin needs to be configured. 
origin-access-identityOrigin access identity for serving private content through S3. 
custom-origin subresourceCustom configuration for this origin. If the domain-name is set to anything other than a bucket a custom-origin needs to be configured. 
http-portThe port the origin listens for http.https-portThe port the origin listens for https.origin-keep-alive-timeoutThe amount of time to keep an idle connection to the origin.origin-read-timeoutThe max amount of a time CloudFront will wait, in seconds, for an initial connection, and subsequent reads. Valid values are between 4to60.origin-protocol-policyThe protocol CloudFront should use to connect to the origin. Valid values are http-only,https-onlyormatch-viewer. 
origin-ssl-protocols setSSL protocols CloudFront is allow to connect to the origin with.1``, TLSv1.2. Valid values areSSLv3,TLSv1,TLSv1.1andTLSv1.2. 
origin-shield subresourceOrigin shield for this origin. 
enabledWhen set to ``true`, CloudFront routes all requests through Origin Shield. (Required)regionThe region to check the latency with.origin-access-controlThe origin access control for this origin. | 
| behavior set subresource | List of cache behaviors for this distribution. 
target-origin-idThe ID for the origin to route requests to when the path pattern matches this cache behavior.path-patternThe URL pattern to match against this pattern. (i.e. /dims?/*).viewer-protocol-policyThe protocol the user is allowed to access resources that match this cache behavior. Valid values are allow-all,redirect-to-httpsorhttps-only.min-ttlThe minimum time objects will be cached in this distribution. Deprecated in favor of {@link CachePolicyResource}. For more information, See
Creating cache policies <”https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy”> or
Using the managed cache policies <”https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-cache-policies.html”> Cannot be set if cache-policyis set. 
allowed-methods setHTTP methods (i.e. GET,POST) that you want to forward to the origin. 
cached-methods setHTTP methods (i.e. GET,POST) that you want to cache responses from. 
headers setHeaders to include the cache key for an object. Deprecated in favor of {@link CachePolicyResource} or {@link OriginRequestPolicyResource}
If you want to include values in the cache key, use a cache policy. For more information, See
Creating cache policies <”https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy”> or
Using the managed cache policies <”https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-cache-policies.html”>
If you want to send values to the origin but not include them in the cache key, use an origin request policy.
For more information, See
Creating origin request policies <”https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-origin-requests.html#origin-request-create-origin-request-policy”> or
Using the managed origin request policies <”https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-origin-request-policies.html”> Cannot be set if cache-policyis set.forward-cookiesWhether to forward to cookies to the origin. Deprecated in favor of {@link CachePolicyResource} or {@link OriginRequestPolicyResource}
If you want to include values in the cache key, use a cache policy. For more information, See
Creating cache policies <”https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy”> or
Using the managed cache policies <”https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-cache-policies.html”>
If you want to send values to the origin but not include them in the cache key, use an origin request policy.
For more information, See
Creating origin request policies <”https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-origin-requests.html#origin-request-create-origin-request-policy”> or
Using the managed origin request policies <”https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-origin-request-policies.html”> Cannot be set if cache-policyis set. 
cookies setWhitelist of cookies to include the cache key for an object. Deprecated in favor of {@link CachePolicyResource} or {@link OriginRequestPolicyResource}
If you want to include values in the cache key, use a cache policy. For more information, See
Creating cache policies <”https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy”> or
Using the managed cache policies <”https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-cache-policies.html”>
If you want to send values to the origin but not include them in the cache key, use an origin request policy.
For more information, See
Creating origin request policies <”https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-origin-requests.html#origin-request-create-origin-request-policy”> or
Using the managed origin request policies <”https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-origin-request-policies.html”> Cannot be set if cache-policyis set.smooth-streamingWhether you want to distribute media files in the Microsoft Smooth Streaming format.default-ttlThe time objects will be cached in this distribution. Only applies when one of Cache-Control: max-age,Cache-Control: s-maxage, orExpiresare not returned by the origin. Deprecated in favor of {@link CachePolicyResource}. For more information, See
Creating cache policies <”https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy”> or
Using the managed cache policies <”https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-cache-policies.html”> Cannot be set if cache-policyis set.max-ttlThe maximum time objects will be cached in this distribution. Deprecated in favor of {@link CachePolicyResource}. For more information, See
Creating cache policies <”https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy”> or
Using the managed cache policies <”https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-cache-policies.html”> Cannot be set if cache-policyis set.compressWhether to compress files from origin.query-stringWhether to forward query strings to origin. If true, query string parameters become part of the cache key. Deprecated in favor of {@link CachePolicyResource} or {@link OriginRequestPolicyResource}
If you want to include values in the cache key, use a cache policy. For more information, See
Creating cache policies <”https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy”> or
Using the managed cache policies <”https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-cache-policies.html”>
If you want to send values to the origin but not include them in the cache key, use an origin request policy.
For more information, See
Creating origin request policies <”https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-origin-requests.html#origin-request-create-origin-request-policy”> or
Using the managed origin request policies <”https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-origin-request-policies.html”> Cannot be set if cache-policyis set. 
query-string-cache-keys setQuery string parameters that should be used in the cache key. Deprecated in favor of {@link CachePolicyResource} or {@link OriginRequestPolicyResource}
If you want to include values in the cache key, use a cache policy. For more information, See
Creating cache policies <”https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy”> or
Using the managed cache policies <”https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-cache-policies.html”>
If you want to send values to the origin but not include them in the cache key, use an origin request policy.
For more information, See
Creating origin request policies <”https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-origin-requests.html#origin-request-create-origin-request-policy”> or
Using the managed origin request policies <”https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-origin-request-policies.html”> Cannot be set if cache-policyis set. 
trusted-signers setA list of AWS account numbers that are allowed to generate signed URLs for private content.field-level-encryption-idThe Field Level Encryption configuration ID. 
lambda-functions set subresourceThe lambda functions associated with this cache behavior. 
event-typeThe type of event that triggers a Lambda function invocation. (Required)arnThe ARN of the Lambda function.include-bodyIndicates whether the body of the request is included in the cache key. 
function-associations set subresourceThe cloudfront function associations with this cache behavior. 
functionThe ARN of the cloudfront function being associated. (Required)event-typeThe event type of the Lambda function. Valid values are viewer-request,viewer-response,origin-requestororigin-response. (Required)cache-policyThe cache policy that is attached to this cache behavior.origin-request-policyThe origin request policy that is attached to this cache behavior. | 
| default-cache-behavior subresource | The default cache behavior for this distribution. 
target-origin-idThe ID for the origin to route requests to when the path pattern matches this cache behavior.path-patternThe URL pattern to match against this pattern. (i.e. /dims?/*).viewer-protocol-policyThe protocol the user is allowed to access resources that match this cache behavior. Valid values are allow-all,redirect-to-httpsorhttps-only.min-ttlThe minimum time objects will be cached in this distribution. Deprecated in favor of {@link CachePolicyResource}. For more information, See
Creating cache policies <”https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy”> or
Using the managed cache policies <”https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-cache-policies.html”> Cannot be set if cache-policyis set. 
allowed-methods setHTTP methods (i.e. GET,POST) that you want to forward to the origin. 
cached-methods setHTTP methods (i.e. GET,POST) that you want to cache responses from. 
headers setHeaders to include the cache key for an object. Deprecated in favor of {@link CachePolicyResource} or {@link OriginRequestPolicyResource}
If you want to include values in the cache key, use a cache policy. For more information, See
Creating cache policies <”https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy”> or
Using the managed cache policies <”https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-cache-policies.html”>
If you want to send values to the origin but not include them in the cache key, use an origin request policy.
For more information, See
Creating origin request policies <”https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-origin-requests.html#origin-request-create-origin-request-policy”> or
Using the managed origin request policies <”https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-origin-request-policies.html”> Cannot be set if cache-policyis set.forward-cookiesWhether to forward to cookies to the origin. Deprecated in favor of {@link CachePolicyResource} or {@link OriginRequestPolicyResource}
If you want to include values in the cache key, use a cache policy. For more information, See
Creating cache policies <”https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy”> or
Using the managed cache policies <”https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-cache-policies.html”>
If you want to send values to the origin but not include them in the cache key, use an origin request policy.
For more information, See
Creating origin request policies <”https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-origin-requests.html#origin-request-create-origin-request-policy”> or
Using the managed origin request policies <”https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-origin-request-policies.html”> Cannot be set if cache-policyis set. 
cookies setWhitelist of cookies to include the cache key for an object. Deprecated in favor of {@link CachePolicyResource} or {@link OriginRequestPolicyResource}
If you want to include values in the cache key, use a cache policy. For more information, See
Creating cache policies <”https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy”> or
Using the managed cache policies <”https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-cache-policies.html”>
If you want to send values to the origin but not include them in the cache key, use an origin request policy.
For more information, See
Creating origin request policies <”https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-origin-requests.html#origin-request-create-origin-request-policy”> or
Using the managed origin request policies <”https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-origin-request-policies.html”> Cannot be set if cache-policyis set.smooth-streamingWhether you want to distribute media files in the Microsoft Smooth Streaming format.default-ttlThe time objects will be cached in this distribution. Only applies when one of Cache-Control: max-age,Cache-Control: s-maxage, orExpiresare not returned by the origin. Deprecated in favor of {@link CachePolicyResource}. For more information, See
Creating cache policies <”https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy”> or
Using the managed cache policies <”https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-cache-policies.html”> Cannot be set if cache-policyis set.max-ttlThe maximum time objects will be cached in this distribution. Deprecated in favor of {@link CachePolicyResource}. For more information, See
Creating cache policies <”https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy”> or
Using the managed cache policies <”https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-cache-policies.html”> Cannot be set if cache-policyis set.compressWhether to compress files from origin.query-stringWhether to forward query strings to origin. If true, query string parameters become part of the cache key. Deprecated in favor of {@link CachePolicyResource} or {@link OriginRequestPolicyResource}
If you want to include values in the cache key, use a cache policy. For more information, See
Creating cache policies <”https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy”> or
Using the managed cache policies <”https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-cache-policies.html”>
If you want to send values to the origin but not include them in the cache key, use an origin request policy.
For more information, See
Creating origin request policies <”https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-origin-requests.html#origin-request-create-origin-request-policy”> or
Using the managed origin request policies <”https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-origin-request-policies.html”> Cannot be set if cache-policyis set. 
query-string-cache-keys setQuery string parameters that should be used in the cache key. Deprecated in favor of {@link CachePolicyResource} or {@link OriginRequestPolicyResource}
If you want to include values in the cache key, use a cache policy. For more information, See
Creating cache policies <”https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy”> or
Using the managed cache policies <”https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-cache-policies.html”>
If you want to send values to the origin but not include them in the cache key, use an origin request policy.
For more information, See
Creating origin request policies <”https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-origin-requests.html#origin-request-create-origin-request-policy”> or
Using the managed origin request policies <”https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-origin-request-policies.html”> Cannot be set if cache-policyis set. 
trusted-signers setA list of AWS account numbers that are allowed to generate signed URLs for private content.field-level-encryption-idThe Field Level Encryption configuration ID. 
lambda-functions set subresourceThe lambda functions associated with this cache behavior. 
event-typeThe type of event that triggers a Lambda function invocation. (Required)arnThe ARN of the Lambda function.include-bodyIndicates whether the body of the request is included in the cache key. 
function-associations set subresourceThe cloudfront function associations with this cache behavior. 
functionThe ARN of the cloudfront function being associated. (Required)event-typeThe event type of the Lambda function. Valid values are viewer-request,viewer-response,origin-requestororigin-response. (Required)cache-policyThe cache policy that is attached to this cache behavior.origin-request-policyThe origin request policy that is attached to this cache behavior. | 
| viewer-certificate subresource | SSL certificate configuration. 
cloudfront-default-certificateUse the default CloudFront SSL certificate (i.e. *.cloudfront.net).acm-certificate-arnARN for an ACM generated certificate.iam-certificate-idID for certificated uploaded to IAM.minimum-protocol-versionMinimum SSL protocol. Valid values are SSLv3,TLSv1,TLSv1_2016,TLSv1.1_2016,TLSv1.2_2018,TLSv1.2_2019orTLSv1.2_2021.ssl-support-methodWhether CloudFront uses a dedicated IP or SNI for serving SSL traffic. There is a significant additional monthly charge for vip`. Valid values are ``viporsni-only. | 
| logging subresource | Configure logging access logs to S3. 
bucketThe bucket to save access logs. (Required)bucket-prefixDirectory within bucket ot save access logs.include-cookiesWhether to include cookies logs. | 
| custom-error-response list subresource | Replace HTTP codes with custom error responses as well as define cache TTLs for error responses. 
ttlThe minimum amount of time to cache this error code.error-codeHTTP error code to return a custom response for.response-codeCustom HTTP status code to return.response-page-pathPath to a custom error page. | 
| geo-restriction subresource | Restrict or allow access to this distribution by country. 
typeType of restriction. Valid values are whitelistorblacklist. 
restrictions setList of countries to whitelist or blacklist. Uses two letter country codes (i.e. US). | 
| monitoring-subscription subresource | Monitoring subscription configuration for cloudfront. 
statusWhen set to trueenables realtime metric subscription. Valid values areEnabledorDisabled. (Required) |