/* * 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: /// /// /// /// 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: /// /// /// /// 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; } } }