/* * 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 { /// <summary> /// This field is deprecated. We recommend that you use a cache policy or an origin request /// policy instead of this field. /// /// /// <para> /// If you want to include cookies in the cache key, use <code>CookiesConfig</code> in /// a cache policy. See <code>CachePolicy</code>. /// </para> /// /// <para> /// If you want to send cookies to the origin but not include them in the cache key, use /// <code>CookiesConfig</code> in an origin request policy. See <code>OriginRequestPolicy</code>. /// </para> /// /// <para> /// 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 <a href="https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Cookies.html">Caching /// Content Based on Cookies</a> in the <i>Amazon CloudFront Developer Guide</i>. /// </para> /// </summary> public partial class CookiePreference { private ItemSelection _forward; private CookieNames _whitelistedNames; /// <summary> /// Gets and sets the property Forward. /// <para> /// This field is deprecated. We recommend that you use a cache policy or an origin request /// policy instead of this field. /// </para> /// /// <para> /// If you want to include cookies in the cache key, use a cache policy. For more information, /// see <a href="https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy">Creating /// cache policies</a> in the <i>Amazon CloudFront Developer Guide</i>. /// </para> /// /// <para> /// 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 <a href="https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-origin-requests.html#origin-request-create-origin-request-policy">Creating /// origin request policies</a> in the <i>Amazon CloudFront Developer Guide</i>. /// </para> /// /// <para> /// Specifies which cookies to forward to the origin for this cache behavior: all, none, /// or the list of cookies specified in the <code>WhitelistedNames</code> complex type. /// </para> /// /// <para> /// Amazon S3 doesn't process cookies. When the cache behavior is forwarding requests /// to an Amazon S3 origin, specify none for the <code>Forward</code> element. /// </para> /// </summary> [AWSProperty(Required=true)] public ItemSelection Forward { get { return this._forward; } set { this._forward = value; } } // Check to see if Forward property is set internal bool IsSetForward() { return this._forward != null; } /// <summary> /// Gets and sets the property WhitelistedNames. /// <para> /// This field is deprecated. We recommend that you use a cache policy or an origin request /// policy instead of this field. /// </para> /// /// <para> /// If you want to include cookies in the cache key, use a cache policy. For more information, /// see <a href="https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy">Creating /// cache policies</a> in the <i>Amazon CloudFront Developer Guide</i>. /// </para> /// /// <para> /// 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 <a href="https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-origin-requests.html#origin-request-create-origin-request-policy">Creating /// origin request policies</a> in the <i>Amazon CloudFront Developer Guide</i>. /// </para> /// /// <para> /// Required if you specify <code>whitelist</code> for the value of <code>Forward</code>. /// 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. /// </para> /// /// <para> /// If you specify <code>all</code> or <code>none</code> for the value of <code>Forward</code>, /// omit <code>WhitelistedNames</code>. If you change the value of <code>Forward</code> /// from <code>whitelist</code> to <code>all</code> or <code>none</code> and you don't /// delete the <code>WhitelistedNames</code> element and its child elements, CloudFront /// deletes them automatically. /// </para> /// /// <para> /// For the current limit on the number of cookie names that you can whitelist for each /// cache behavior, see <a href="https://docs.aws.amazon.com/general/latest/gr/xrefaws_service_limits.html#limits_cloudfront"> /// CloudFront Limits</a> in the <i>Amazon Web Services General Reference</i>. /// </para> /// </summary> public CookieNames WhitelistedNames { get { return this._whitelistedNames; } set { this._whitelistedNames = value; } } // Check to see if WhitelistedNames property is set internal bool IsSetWhitelistedNames() { return this._whitelistedNames != null; } } }