get-distribution — AWS CLI 2.15.39 Command Reference
A complex type that describes how CloudFront processes requests.
You must create at least as many cache behaviors (including the default cache behavior) as you have origins if you want CloudFront to serve objects from all of the origins. Each cache behavior specifies the one origin from which you want CloudFront to get objects. If you have two origins and only the default cache behavior, the default cache behavior will cause CloudFront to get objects from one of the origins, but the other origin is never used.
For the current quota (formerly known as limit) on the number of cache behaviors that you can add to a distribution, see Quotas in the Amazon CloudFront Developer Guide .
If you don’t want to specify any cache behaviors, include only an empty CacheBehaviors element. For more information, see CacheBehaviors . Don’t include an empty CacheBehavior element because this is invalid.
To delete all cache behaviors in an existing distribution, update the distribution configuration and include only an empty CacheBehaviors element.
To add, change, or remove one or more cache behaviors, update the distribution configuration and specify all of the cache behaviors that you want to include in the updated distribution.
For more information about cache behaviors, see Cache Behavior Settings in the Amazon CloudFront Developer Guide .
PathPattern -> (string)
The pattern (for example,
images/*.jpg) that specifies which requests to apply the behavior to. When CloudFront receives a viewer request, the requested path is compared with path patterns in the order in which cache behaviors are listed in the distribution.Note
You can optionally include a slash (/) at the beginning of the path pattern. For example,/images/*.jpg. CloudFront behavior is the same with or without the leading/.The path pattern for the default cache behavior is
*and cannot be changed. If the request for an object does not match the path pattern for any cache behaviors, CloudFront applies the behavior in the default cache behavior.For more information, see Path Pattern in the Amazon CloudFront Developer Guide .
TargetOriginId -> (string)
The value of
IDfor the origin that you want CloudFront to route requests to when they match this cache behavior.
TrustedSigners -> (structure)
Warning
We recommend usingTrustedKeyGroupsinstead ofTrustedSigners.A list of Amazon Web Services account IDs whose public keys CloudFront can use to validate signed URLs or signed cookies.
When a cache behavior contains trusted signers, CloudFront requires signed URLs or signed cookies for all requests that match the cache behavior. The URLs or cookies must be signed with the private key of a CloudFront key pair in the trusted signer’s Amazon Web Services account. The signed URL or cookie contains information about which public key CloudFront should use to verify the signature. For more information, see Serving private content in the Amazon CloudFront Developer Guide .
Enabled -> (boolean)
This field is
trueif any of the Amazon Web Services accounts in the list are configured as trusted signers. If not, this field isfalse.Quantity -> (integer)
The number of Amazon Web Services accounts in the list.
Items -> (list)
A list of Amazon Web Services account identifiers.
(string)
TrustedKeyGroups -> (structure)
A list of key groups that CloudFront can use to validate signed URLs or signed cookies.
When a cache behavior contains trusted key groups, CloudFront requires signed URLs or signed cookies for all requests that match the cache behavior. The URLs or cookies must be signed with a private key whose corresponding public key is in the key group. The signed URL or cookie contains information about which public key CloudFront should use to verify the signature. For more information, see Serving private content in the Amazon CloudFront Developer Guide .
Enabled -> (boolean)
This field is
trueif any of the key groups in the list have public keys that CloudFront can use to verify the signatures of signed URLs and signed cookies. If not, this field isfalse.Quantity -> (integer)
The number of key groups in the list.
Items -> (list)
A list of key groups identifiers.
(string)
ViewerProtocolPolicy -> (string)
The protocol that viewers can use to access the files in the origin specified by
TargetOriginIdwhen a request matches the path pattern inPathPattern. You can specify the following options:
allow-all: Viewers can use HTTP or HTTPS.redirect-to-https: If a viewer submits an HTTP request, CloudFront returns an HTTP status code of 301 (Moved Permanently) to the viewer along with the HTTPS URL. The viewer then resubmits the request using the new URL.https-only: If a viewer sends an HTTP request, CloudFront returns an HTTP status code of 403 (Forbidden).For more information about requiring the HTTPS protocol, see Requiring HTTPS Between Viewers and CloudFront in the Amazon CloudFront Developer Guide .
Note
The only way to guarantee that viewers retrieve an object that was fetched from the origin using HTTPS is never to use any other protocol to fetch the object. If you have recently changed from HTTP to HTTPS, we recommend that you clear your objects’ cache because cached objects are protocol agnostic. That means that an edge location will return an object from the cache regardless of whether the current request protocol matches the protocol used previously. For more information, see Managing Cache Expiration in the Amazon CloudFront Developer Guide .
AllowedMethods -> (structure)
A complex type that controls which HTTP methods CloudFront processes and forwards to your Amazon S3 bucket or your custom origin. There are three choices:
- CloudFront forwards only
GETandHEADrequests.- CloudFront forwards only
GET,HEAD, andOPTIONSrequests.- CloudFront forwards
GET, HEAD, OPTIONS, PUT, PATCH, POST, andDELETErequests.If you pick the third choice, you may need to restrict access to your Amazon S3 bucket or to your custom origin so users can’t perform operations that you don’t want them to. For example, you might not want users to have permissions to delete objects from your origin.
Quantity -> (integer)
The number of HTTP methods that you want CloudFront to forward to your origin. Valid values are 2 (for
GETandHEADrequests), 3 (forGET,HEAD, andOPTIONSrequests) and 7 (forGET, HEAD, OPTIONS, PUT, PATCH, POST, andDELETErequests).Items -> (list)
A complex type that contains the HTTP methods that you want CloudFront to process and forward to your origin.
(string)
CachedMethods -> (structure)
A complex type that controls whether CloudFront caches the response to requests using the specified HTTP methods. There are two choices:
- CloudFront caches responses to
GETandHEADrequests.- CloudFront caches responses to
GET,HEAD, andOPTIONSrequests.If you pick the second choice for your Amazon S3 Origin, you may need to forward Access-Control-Request-Method, Access-Control-Request-Headers, and Origin headers for the responses to be cached correctly.
Quantity -> (integer)
The number of HTTP methods for which you want CloudFront to cache responses. Valid values are
2(for caching responses toGETandHEADrequests) and3(for caching responses toGET,HEAD, andOPTIONSrequests).Items -> (list)
A complex type that contains the HTTP methods that you want CloudFront to cache responses to.
(string)
SmoothStreaming -> (boolean)
Indicates whether you want to distribute media files in the Microsoft Smooth Streaming format using the origin that is associated with this cache behavior. If so, specify
true; if not, specifyfalse. If you specifytrueforSmoothStreaming, you can still distribute other content using this cache behavior if the content matches the value ofPathPattern.
Compress -> (boolean)
Whether you want CloudFront to automatically compress certain files for this cache behavior. If so, specify true; if not, specify false. For more information, see Serving Compressed Files in the Amazon CloudFront Developer Guide .
LambdaFunctionAssociations -> (structure)
A complex type that contains zero or more Lambda@Edge function associations for a cache behavior.
Quantity -> (integer)
The number of Lambda@Edge function associations for this cache behavior.Items -> (list)
Optional : A complex type that contains
LambdaFunctionAssociationitems for this cache behavior. IfQuantityis0, you can omitItems.(structure)
A complex type that contains a Lambda@Edge function association.
LambdaFunctionARN -> (string)
The ARN of the Lambda@Edge function. You must specify the ARN of a function version; you can’t specify an alias or $LATEST.EventType -> (string)
Specifies the event type that triggers a Lambda@Edge function invocation. You can specify the following values:
viewer-request: The function executes when CloudFront receives a request from a viewer and before it checks to see whether the requested object is in the edge cache.origin-request: The function executes only when CloudFront sends a request to your origin. When the requested object is in the edge cache, the function doesn’t execute.origin-response: The function executes after CloudFront receives a response from the origin and before it caches the object in the response. When the requested object is in the edge cache, the function doesn’t execute.viewer-response: The function executes before CloudFront returns the requested object to the viewer. The function executes regardless of whether the object was already in the edge cache. If the origin returns an HTTP status code other than HTTP 200 (OK), the function doesn’t execute.IncludeBody -> (boolean)
FunctionAssociations -> (structure)
A list of CloudFront functions that are associated with this cache behavior. CloudFront functions must be published to the
LIVEstage to associate them with a cache behavior.Quantity -> (integer)
The number of CloudFront functions in the list.
Items -> (list)
The CloudFront functions that are associated with a cache behavior in a CloudFront distribution. Your functions must be published to the
LIVEstage to associate them with a cache behavior.(structure)
A CloudFront function that is associated with a cache behavior in a CloudFront distribution.
FunctionARN -> (string)
The Amazon Resource Name (ARN) of the function.
EventType -> (string)
The event type of the function, either
viewer-requestorviewer-response. You cannot use origin-facing event types (origin-requestandorigin-response) with a CloudFront function.
FieldLevelEncryptionId -> (string)
The value of
IDfor the field-level encryption configuration that you want CloudFront to use for encrypting specific fields of data for this cache behavior.
RealtimeLogConfigArn -> (string)
The Amazon Resource Name (ARN) of the real-time log configuration that is attached to this cache behavior. For more information, see Real-time logs in the Amazon CloudFront Developer Guide .
CachePolicyId -> (string)
The unique identifier of the cache policy that is attached to this cache behavior. For more information, see Creating cache policies or Using the managed cache policies in the Amazon CloudFront Developer Guide .
A
CacheBehaviormust include either aCachePolicyIdorForwardedValues. We recommend that you use aCachePolicyId.
OriginRequestPolicyId -> (string)
ResponseHeadersPolicyId -> (string)
The identifier for a response headers policy.
ForwardedValues -> (structure)
This field is deprecated. We recommend that you use a cache policy or an origin request policy instead of this field. For more information, see Working with policies in the Amazon CloudFront Developer Guide .
If you want to include values in the cache key, use a cache policy. For more information, see Creating cache policies or Using the managed cache policies in the Amazon CloudFront Developer Guide .
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 or Using the managed origin request policies in the Amazon CloudFront Developer Guide .
A
CacheBehaviormust include either aCachePolicyIdorForwardedValues. We recommend that you use aCachePolicyId.A complex type that specifies how CloudFront handles query strings, cookies, and HTTP headers.
QueryString -> (boolean)
This field is deprecated. We recommend that you use a cache policy or an origin request policy instead of this field.
If you want to include query strings in the cache key, use a cache policy. For more information, see Creating cache policies in the Amazon CloudFront Developer Guide .
If you want to send query strings to the origin but not include them in the cache key, use an origin request policy. For more information, see Creating origin request policies in the Amazon CloudFront Developer Guide .
Indicates whether you want CloudFront to forward query strings to the origin that is associated with this cache behavior and cache based on the query string parameters. CloudFront behavior depends on the value of
QueryStringand on the values that you specify forQueryStringCacheKeys, if any:If you specify true for
QueryStringand you don’t specify any values forQueryStringCacheKeys, CloudFront forwards all query string parameters to the origin and caches based on all query string parameters. Depending on how many query string parameters and values you have, this can adversely affect performance because CloudFront must forward more requests to the origin.If you specify true for
QueryStringand you specify one or more values forQueryStringCacheKeys, CloudFront forwards all query string parameters to the origin, but it only caches based on the query string parameters that you specify.If you specify false for
QueryString, CloudFront doesn’t forward any query string parameters to the origin, and doesn’t cache based on query string parameters.For more information, see Configuring CloudFront to Cache Based on Query String Parameters in the Amazon CloudFront Developer Guide .
Cookies -> (structure)
This field is deprecated. We recommend that you use a cache policy or an origin request policy instead of this field.
If you want to include cookies in the cache key, use a cache policy. For more information, see Creating cache policies in the Amazon CloudFront Developer Guide .
If you want to send cookies to the origin but not include them in the cache key, use an origin request policy. For more information, see Creating origin request policies in the Amazon CloudFront Developer Guide .
A complex type that specifies whether you want CloudFront to forward cookies to the origin and, if so, which ones. For more information about forwarding cookies to the origin, see How CloudFront Forwards, Caches, and Logs Cookies in the Amazon CloudFront Developer Guide .
Forward -> (string)
This field is deprecated. We recommend that you use a cache policy or an origin request policy instead of this field.
If you want to include cookies in the cache key, use a cache policy. For more information, see Creating cache policies in the Amazon CloudFront Developer Guide .
If you want to send cookies to the origin but not include them in the cache key, use origin request policy. For more information, see Creating origin request policies in the Amazon CloudFront Developer Guide .
Specifies which cookies to forward to the origin for this cache behavior: all, none, or the list of cookies specified in the
WhitelistedNamescomplex type.Amazon S3 doesn’t process cookies. When the cache behavior is forwarding requests to an Amazon S3 origin, specify none for the
Forwardelement.WhitelistedNames -> (structure)
This field is deprecated. We recommend that you use a cache policy or an origin request policy instead of this field.
If you want to include cookies in the cache key, use a cache policy. For more information, see Creating cache policies in the Amazon CloudFront Developer Guide .
If you want to send cookies to the origin but not include them in the cache key, use an origin request policy. For more information, see Creating origin request policies in the Amazon CloudFront Developer Guide .
Required if you specify
whitelistfor the value ofForward. A complex type that specifies how many different cookies you want CloudFront to forward to the origin for this cache behavior and, if you want to forward selected cookies, the names of those cookies.If you specify
allornonefor the value ofForward, omitWhitelistedNames. If you change the value ofForwardfromwhitelisttoallornoneand you don’t delete theWhitelistedNameselement and its child elements, CloudFront deletes them automatically.For the current limit on the number of cookie names that you can whitelist for each cache behavior, see CloudFront Limits in the Amazon Web Services General Reference .
Quantity -> (integer)
The number of cookie names in the
Itemslist.Items -> (list)
A list of cookie names.
(string)
Headers -> (structure)
This field is deprecated. We recommend that you use a cache policy or an origin request policy instead of this field.
If you want to include headers in the cache key, use a cache policy. For more information, see Creating cache policies in the Amazon CloudFront Developer Guide .
If you want to send headers to the origin but not include them in the cache key, use an origin request policy. For more information, see Creating origin request policies in the Amazon CloudFront Developer Guide .
A complex type that specifies the
Headers, if any, that you want CloudFront to forward to the origin for this cache behavior (whitelisted headers). For the headers that you specify, CloudFront also caches separate versions of a specified object that is based on the header values in viewer requests.For more information, see Caching Content Based on Request Headers in the Amazon CloudFront Developer Guide .
Quantity -> (integer)
The number of header names in the
Itemslist.Items -> (list)
A list of HTTP header names.
(string)
QueryStringCacheKeys -> (structure)
This field is deprecated. We recommend that you use a cache policy or an origin request policy instead of this field.
If you want to include query strings in the cache key, use a cache policy. For more information, see Creating cache policies in the Amazon CloudFront Developer Guide .
If you want to send query strings to the origin but not include them in the cache key, use an origin request policy. For more information, see Creating origin request policies in the Amazon CloudFront Developer Guide .
A complex type that contains information about the query string parameters that you want CloudFront to use for caching for this cache behavior.
Quantity -> (integer)
The number of
whitelistedquery string parameters for a cache behavior.Items -> (list)
A list that contains the query string parameters that you want CloudFront to use as a basis for caching for a cache behavior. If
Quantityis 0, you can omitItems.(string)
MinTTL -> (long)
This field is deprecated. We recommend that you use the
MinTTLfield in a cache policy instead of this field. For more information, see Creating cache policies or Using the managed cache policies in the Amazon CloudFront Developer Guide .The minimum amount of time that you want objects to stay in CloudFront caches before CloudFront forwards another request to your origin to determine whether the object has been updated. For more information, see Managing How Long Content Stays in an Edge Cache (Expiration) in the Amazon CloudFront Developer Guide .
You must specify
0forMinTTLif you configure CloudFront to forward all headers to your origin (underHeaders, if you specify1forQuantityand*forName).
DefaultTTL -> (long)
This field is deprecated. We recommend that you use the
DefaultTTLfield in a cache policy instead of this field. For more information, see Creating cache policies or Using the managed cache policies in the Amazon CloudFront Developer Guide .The default amount of time that you want objects to stay in CloudFront caches before CloudFront forwards another request to your origin to determine whether the object has been updated. The value that you specify applies only when your origin does not add HTTP headers such as
Cache-Control max-age,Cache-Control s-maxage, andExpiresto objects. For more information, see Managing How Long Content Stays in an Edge Cache (Expiration) in the Amazon CloudFront Developer Guide .
MaxTTL -> (long)
This field is deprecated. We recommend that you use the
MaxTTLfield in a cache policy instead of this field. For more information, see Creating cache policies or Using the managed cache policies in the Amazon CloudFront Developer Guide .The maximum amount of time that you want objects to stay in CloudFront caches before CloudFront forwards another request to your origin to determine whether the object has been updated. The value that you specify applies only when your origin adds HTTP headers such as
Cache-Control max-age,Cache-Control s-maxage, andExpiresto objects. For more information, see Managing How Long Content Stays in an Edge Cache (Expiration) in the Amazon CloudFront Developer Guide .