/*
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License").
* You may not use this file except in compliance with the License.
* A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file is distributed
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
* express or implied. See the License for the specific language governing
* permissions and limitations under the License.
*/
/*
* Do not modify this file. This file is generated from the cloudfront-2020-05-31.normal.json service model.
*/
using System;
using System.Collections.Generic;
using System.Xml.Serialization;
using System.Text;
using System.IO;
using System.Net;
using Amazon.Runtime;
using Amazon.Runtime.Internal;
namespace Amazon.CloudFront.Model
{
///
/// 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
.
///
///
public partial class ParametersInCacheKeyAndForwardedToOrigin
{
private CachePolicyCookiesConfig _cookiesConfig;
private bool? _enableAcceptEncodingBrotli;
private bool? _enableAcceptEncodingGzip;
private CachePolicyHeadersConfig _headersConfig;
private CachePolicyQueryStringsConfig _queryStringsConfig;
///
/// Gets and sets the property 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.
///
///
[AWSProperty(Required=true)]
public CachePolicyCookiesConfig CookiesConfig
{
get { return this._cookiesConfig; }
set { this._cookiesConfig = value; }
}
// Check to see if CookiesConfig property is set
internal bool IsSetCookiesConfig()
{
return this._cookiesConfig != null;
}
///
/// Gets and sets the property EnableAcceptEncodingBrotli.
///
/// 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.
///
///
public bool EnableAcceptEncodingBrotli
{
get { return this._enableAcceptEncodingBrotli.GetValueOrDefault(); }
set { this._enableAcceptEncodingBrotli = value; }
}
// Check to see if EnableAcceptEncodingBrotli property is set
internal bool IsSetEnableAcceptEncodingBrotli()
{
return this._enableAcceptEncodingBrotli.HasValue;
}
///
/// Gets and sets the property EnableAcceptEncodingGzip.
///
/// 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.
///
///
[AWSProperty(Required=true)]
public bool EnableAcceptEncodingGzip
{
get { return this._enableAcceptEncodingGzip.GetValueOrDefault(); }
set { this._enableAcceptEncodingGzip = value; }
}
// Check to see if EnableAcceptEncodingGzip property is set
internal bool IsSetEnableAcceptEncodingGzip()
{
return this._enableAcceptEncodingGzip.HasValue;
}
///
/// Gets and sets the property 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.
///
///
[AWSProperty(Required=true)]
public CachePolicyHeadersConfig HeadersConfig
{
get { return this._headersConfig; }
set { this._headersConfig = value; }
}
// Check to see if HeadersConfig property is set
internal bool IsSetHeadersConfig()
{
return this._headersConfig != null;
}
///
/// Gets and sets the property 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.
///
///
[AWSProperty(Required=true)]
public CachePolicyQueryStringsConfig QueryStringsConfig
{
get { return this._queryStringsConfig; }
set { this._queryStringsConfig = value; }
}
// Check to see if QueryStringsConfig property is set
internal bool IsSetQueryStringsConfig()
{
return this._queryStringsConfig != null;
}
}
}