/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include This object determines the values that CloudFront includes in the cache key.
* These values can include HTTP headers, cookies, and URL query strings.
* CloudFront uses the cache key to find an object in its cache that it can return
* to the viewer. The headers, cookies, and query strings that are included
* in the cache key are also included in requests that CloudFront sends to the
* origin. CloudFront sends a request when it can't find an object in its cache
* that matches the request's cache key. If you want to send values to the origin
* but not include them in the cache key, use
* OriginRequestPolicy
.See Also:
AWS
* API Reference
A flag that can affect whether the Accept-Encoding
HTTP header
* is included in the cache key and included in requests that CloudFront sends to
* the origin.
This field is related to the
* EnableAcceptEncodingBrotli
field. If one or both of these fields is
* true
and the viewer request includes the
* Accept-Encoding
header, then CloudFront does the following:
Normalizes the value of the viewer's Accept-Encoding
* header
Includes the normalized header in the cache key
*Includes the normalized header in the request to the origin, if a * request is necessary
For more information, see Compression * support in the Amazon CloudFront Developer Guide.
If you set
* this value to true
, and this cache behavior also has an origin
* request policy attached, do not include the Accept-Encoding
header
* in the origin request policy. CloudFront always includes the
* Accept-Encoding
header in origin requests when the value of this
* field is true
, so including this header in an origin request policy
* has no effect.
If both of these fields are false
, then
* CloudFront treats the Accept-Encoding
header the same as any other
* HTTP header in the viewer request. By default, it's not included in the cache
* key and it's not included in origin requests. In this case, you can manually add
* Accept-Encoding
to the headers whitelist like any other HTTP
* header.
A flag that can affect whether the Accept-Encoding
HTTP header
* is included in the cache key and included in requests that CloudFront sends to
* the origin.
This field is related to the
* EnableAcceptEncodingBrotli
field. If one or both of these fields is
* true
and the viewer request includes the
* Accept-Encoding
header, then CloudFront does the following:
Normalizes the value of the viewer's Accept-Encoding
* header
Includes the normalized header in the cache key
*Includes the normalized header in the request to the origin, if a * request is necessary
For more information, see Compression * support in the Amazon CloudFront Developer Guide.
If you set
* this value to true
, and this cache behavior also has an origin
* request policy attached, do not include the Accept-Encoding
header
* in the origin request policy. CloudFront always includes the
* Accept-Encoding
header in origin requests when the value of this
* field is true
, so including this header in an origin request policy
* has no effect.
If both of these fields are false
, then
* CloudFront treats the Accept-Encoding
header the same as any other
* HTTP header in the viewer request. By default, it's not included in the cache
* key and it's not included in origin requests. In this case, you can manually add
* Accept-Encoding
to the headers whitelist like any other HTTP
* header.
A flag that can affect whether the Accept-Encoding
HTTP header
* is included in the cache key and included in requests that CloudFront sends to
* the origin.
This field is related to the
* EnableAcceptEncodingBrotli
field. If one or both of these fields is
* true
and the viewer request includes the
* Accept-Encoding
header, then CloudFront does the following:
Normalizes the value of the viewer's Accept-Encoding
* header
Includes the normalized header in the cache key
*Includes the normalized header in the request to the origin, if a * request is necessary
For more information, see Compression * support in the Amazon CloudFront Developer Guide.
If you set
* this value to true
, and this cache behavior also has an origin
* request policy attached, do not include the Accept-Encoding
header
* in the origin request policy. CloudFront always includes the
* Accept-Encoding
header in origin requests when the value of this
* field is true
, so including this header in an origin request policy
* has no effect.
If both of these fields are false
, then
* CloudFront treats the Accept-Encoding
header the same as any other
* HTTP header in the viewer request. By default, it's not included in the cache
* key and it's not included in origin requests. In this case, you can manually add
* Accept-Encoding
to the headers whitelist like any other HTTP
* header.
A flag that can affect whether the Accept-Encoding
HTTP header
* is included in the cache key and included in requests that CloudFront sends to
* the origin.
This field is related to the
* EnableAcceptEncodingBrotli
field. If one or both of these fields is
* true
and the viewer request includes the
* Accept-Encoding
header, then CloudFront does the following:
Normalizes the value of the viewer's Accept-Encoding
* header
Includes the normalized header in the cache key
*Includes the normalized header in the request to the origin, if a * request is necessary
For more information, see Compression * support in the Amazon CloudFront Developer Guide.
If you set
* this value to true
, and this cache behavior also has an origin
* request policy attached, do not include the Accept-Encoding
header
* in the origin request policy. CloudFront always includes the
* Accept-Encoding
header in origin requests when the value of this
* field is true
, so including this header in an origin request policy
* has no effect.
If both of these fields are false
, then
* CloudFront treats the Accept-Encoding
header the same as any other
* HTTP header in the viewer request. By default, it's not included in the cache
* key and it's not included in origin requests. In this case, you can manually add
* Accept-Encoding
to the headers whitelist like any other HTTP
* header.
A flag that can affect whether the Accept-Encoding
HTTP header
* is included in the cache key and included in requests that CloudFront sends to
* the origin.
This field is related to the
* EnableAcceptEncodingGzip
field. If one or both of these fields is
* true
and the viewer request includes the
* Accept-Encoding
header, then CloudFront does the following:
Normalizes the value of the viewer's Accept-Encoding
* header
Includes the normalized header in the cache key
*Includes the normalized header in the request to the origin, if a * request is necessary
For more information, see Compression * support in the Amazon CloudFront Developer Guide.
If you set
* this value to true
, and this cache behavior also has an origin
* request policy attached, do not include the Accept-Encoding
header
* in the origin request policy. CloudFront always includes the
* Accept-Encoding
header in origin requests when the value of this
* field is true
, so including this header in an origin request policy
* has no effect.
If both of these fields are false
, then
* CloudFront treats the Accept-Encoding
header the same as any other
* HTTP header in the viewer request. By default, it's not included in the cache
* key and it's not included in origin requests. In this case, you can manually add
* Accept-Encoding
to the headers whitelist like any other HTTP
* header.
A flag that can affect whether the Accept-Encoding
HTTP header
* is included in the cache key and included in requests that CloudFront sends to
* the origin.
This field is related to the
* EnableAcceptEncodingGzip
field. If one or both of these fields is
* true
and the viewer request includes the
* Accept-Encoding
header, then CloudFront does the following:
Normalizes the value of the viewer's Accept-Encoding
* header
Includes the normalized header in the cache key
*Includes the normalized header in the request to the origin, if a * request is necessary
For more information, see Compression * support in the Amazon CloudFront Developer Guide.
If you set
* this value to true
, and this cache behavior also has an origin
* request policy attached, do not include the Accept-Encoding
header
* in the origin request policy. CloudFront always includes the
* Accept-Encoding
header in origin requests when the value of this
* field is true
, so including this header in an origin request policy
* has no effect.
If both of these fields are false
, then
* CloudFront treats the Accept-Encoding
header the same as any other
* HTTP header in the viewer request. By default, it's not included in the cache
* key and it's not included in origin requests. In this case, you can manually add
* Accept-Encoding
to the headers whitelist like any other HTTP
* header.
A flag that can affect whether the Accept-Encoding
HTTP header
* is included in the cache key and included in requests that CloudFront sends to
* the origin.
This field is related to the
* EnableAcceptEncodingGzip
field. If one or both of these fields is
* true
and the viewer request includes the
* Accept-Encoding
header, then CloudFront does the following:
Normalizes the value of the viewer's Accept-Encoding
* header
Includes the normalized header in the cache key
*Includes the normalized header in the request to the origin, if a * request is necessary
For more information, see Compression * support in the Amazon CloudFront Developer Guide.
If you set
* this value to true
, and this cache behavior also has an origin
* request policy attached, do not include the Accept-Encoding
header
* in the origin request policy. CloudFront always includes the
* Accept-Encoding
header in origin requests when the value of this
* field is true
, so including this header in an origin request policy
* has no effect.
If both of these fields are false
, then
* CloudFront treats the Accept-Encoding
header the same as any other
* HTTP header in the viewer request. By default, it's not included in the cache
* key and it's not included in origin requests. In this case, you can manually add
* Accept-Encoding
to the headers whitelist like any other HTTP
* header.
A flag that can affect whether the Accept-Encoding
HTTP header
* is included in the cache key and included in requests that CloudFront sends to
* the origin.
This field is related to the
* EnableAcceptEncodingGzip
field. If one or both of these fields is
* true
and the viewer request includes the
* Accept-Encoding
header, then CloudFront does the following:
Normalizes the value of the viewer's Accept-Encoding
* header
Includes the normalized header in the cache key
*Includes the normalized header in the request to the origin, if a * request is necessary
For more information, see Compression * support in the Amazon CloudFront Developer Guide.
If you set
* this value to true
, and this cache behavior also has an origin
* request policy attached, do not include the Accept-Encoding
header
* in the origin request policy. CloudFront always includes the
* Accept-Encoding
header in origin requests when the value of this
* field is true
, so including this header in an origin request policy
* has no effect.
If both of these fields are false
, then
* CloudFront treats the Accept-Encoding
header the same as any other
* HTTP header in the viewer request. By default, it's not included in the cache
* key and it's not included in origin requests. In this case, you can manually add
* Accept-Encoding
to the headers whitelist like any other HTTP
* header.
An object that determines whether any HTTP headers (and if so, which headers) * are included in the cache key and in requests that CloudFront sends to the * origin.
*/ inline const CachePolicyHeadersConfig& GetHeadersConfig() const{ return m_headersConfig; } /** *An object that determines whether any HTTP headers (and if so, which headers) * are included in the cache key and in requests that CloudFront sends to the * origin.
*/ inline bool HeadersConfigHasBeenSet() const { return m_headersConfigHasBeenSet; } /** *An object that determines whether any HTTP headers (and if so, which headers) * are included in the cache key and in requests that CloudFront sends to the * origin.
*/ inline void SetHeadersConfig(const CachePolicyHeadersConfig& value) { m_headersConfigHasBeenSet = true; m_headersConfig = value; } /** *An object that determines whether any HTTP headers (and if so, which headers) * are included in the cache key and in requests that CloudFront sends to the * origin.
*/ inline void SetHeadersConfig(CachePolicyHeadersConfig&& value) { m_headersConfigHasBeenSet = true; m_headersConfig = std::move(value); } /** *An object that determines whether any HTTP headers (and if so, which headers) * are included in the cache key and in requests that CloudFront sends to the * origin.
*/ inline ParametersInCacheKeyAndForwardedToOrigin& WithHeadersConfig(const CachePolicyHeadersConfig& value) { SetHeadersConfig(value); return *this;} /** *An object that determines whether any HTTP headers (and if so, which headers) * are included in the cache key and in requests that CloudFront sends to the * origin.
*/ inline ParametersInCacheKeyAndForwardedToOrigin& WithHeadersConfig(CachePolicyHeadersConfig&& value) { SetHeadersConfig(std::move(value)); return *this;} /** *An object that determines whether any cookies in viewer requests (and if so, * which cookies) are included in the cache key and in requests that CloudFront * sends to the origin.
*/ inline const CachePolicyCookiesConfig& GetCookiesConfig() const{ return m_cookiesConfig; } /** *An object that determines whether any cookies in viewer requests (and if so, * which cookies) are included in the cache key and in requests that CloudFront * sends to the origin.
*/ inline bool CookiesConfigHasBeenSet() const { return m_cookiesConfigHasBeenSet; } /** *An object that determines whether any cookies in viewer requests (and if so, * which cookies) are included in the cache key and in requests that CloudFront * sends to the origin.
*/ inline void SetCookiesConfig(const CachePolicyCookiesConfig& value) { m_cookiesConfigHasBeenSet = true; m_cookiesConfig = value; } /** *An object that determines whether any cookies in viewer requests (and if so, * which cookies) are included in the cache key and in requests that CloudFront * sends to the origin.
*/ inline void SetCookiesConfig(CachePolicyCookiesConfig&& value) { m_cookiesConfigHasBeenSet = true; m_cookiesConfig = std::move(value); } /** *An object that determines whether any cookies in viewer requests (and if so, * which cookies) are included in the cache key and in requests that CloudFront * sends to the origin.
*/ inline ParametersInCacheKeyAndForwardedToOrigin& WithCookiesConfig(const CachePolicyCookiesConfig& value) { SetCookiesConfig(value); return *this;} /** *An object that determines whether any cookies in viewer requests (and if so, * which cookies) are included in the cache key and in requests that CloudFront * sends to the origin.
*/ inline ParametersInCacheKeyAndForwardedToOrigin& WithCookiesConfig(CachePolicyCookiesConfig&& value) { SetCookiesConfig(std::move(value)); return *this;} /** *An object that determines whether any URL query strings in viewer requests * (and if so, which query strings) are included in the cache key and in requests * that CloudFront sends to the origin.
*/ inline const CachePolicyQueryStringsConfig& GetQueryStringsConfig() const{ return m_queryStringsConfig; } /** *An object that determines whether any URL query strings in viewer requests * (and if so, which query strings) are included in the cache key and in requests * that CloudFront sends to the origin.
*/ inline bool QueryStringsConfigHasBeenSet() const { return m_queryStringsConfigHasBeenSet; } /** *An object that determines whether any URL query strings in viewer requests * (and if so, which query strings) are included in the cache key and in requests * that CloudFront sends to the origin.
*/ inline void SetQueryStringsConfig(const CachePolicyQueryStringsConfig& value) { m_queryStringsConfigHasBeenSet = true; m_queryStringsConfig = value; } /** *An object that determines whether any URL query strings in viewer requests * (and if so, which query strings) are included in the cache key and in requests * that CloudFront sends to the origin.
*/ inline void SetQueryStringsConfig(CachePolicyQueryStringsConfig&& value) { m_queryStringsConfigHasBeenSet = true; m_queryStringsConfig = std::move(value); } /** *An object that determines whether any URL query strings in viewer requests * (and if so, which query strings) are included in the cache key and in requests * that CloudFront sends to the origin.
*/ inline ParametersInCacheKeyAndForwardedToOrigin& WithQueryStringsConfig(const CachePolicyQueryStringsConfig& value) { SetQueryStringsConfig(value); return *this;} /** *An object that determines whether any URL query strings in viewer requests * (and if so, which query strings) are included in the cache key and in requests * that CloudFront sends to the origin.
*/ inline ParametersInCacheKeyAndForwardedToOrigin& WithQueryStringsConfig(CachePolicyQueryStringsConfig&& value) { SetQueryStringsConfig(std::move(value)); return *this;} private: bool m_enableAcceptEncodingGzip; bool m_enableAcceptEncodingGzipHasBeenSet = false; bool m_enableAcceptEncodingBrotli; bool m_enableAcceptEncodingBrotliHasBeenSet = false; CachePolicyHeadersConfig m_headersConfig; bool m_headersConfigHasBeenSet = false; CachePolicyCookiesConfig m_cookiesConfig; bool m_cookiesConfigHasBeenSet = false; CachePolicyQueryStringsConfig m_queryStringsConfig; bool m_queryStringsConfigHasBeenSet = false; }; } // namespace Model } // namespace CloudFront } // namespace Aws