/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include namespace Aws { namespace Utils { namespace Xml { class XmlNode; } // namespace Xml } // namespace Utils namespace CloudFront { namespace Model { /** *

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 CookiesConfig in a cache policy. See * CachePolicy.

If you want to send cookies to the origin but * not include them in the cache key, use CookiesConfig in an origin * request policy. See OriginRequestPolicy.

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 * Caching * Content Based on Cookies in the Amazon CloudFront Developer * Guide.

See Also:

AWS * API Reference

*/ class CookiePreference { public: AWS_CLOUDFRONT_API CookiePreference(); AWS_CLOUDFRONT_API CookiePreference(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_CLOUDFRONT_API CookiePreference& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_CLOUDFRONT_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; /** *

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 WhitelistedNames * complex type.

Amazon S3 doesn't process cookies. When the cache behavior * is forwarding requests to an Amazon S3 origin, specify none for the * Forward element.

*/ inline const ItemSelection& GetForward() const{ return m_forward; } /** *

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 WhitelistedNames * complex type.

Amazon S3 doesn't process cookies. When the cache behavior * is forwarding requests to an Amazon S3 origin, specify none for the * Forward element.

*/ inline bool ForwardHasBeenSet() const { return m_forwardHasBeenSet; } /** *

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 WhitelistedNames * complex type.

Amazon S3 doesn't process cookies. When the cache behavior * is forwarding requests to an Amazon S3 origin, specify none for the * Forward element.

*/ inline void SetForward(const ItemSelection& value) { m_forwardHasBeenSet = true; m_forward = value; } /** *

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 WhitelistedNames * complex type.

Amazon S3 doesn't process cookies. When the cache behavior * is forwarding requests to an Amazon S3 origin, specify none for the * Forward element.

*/ inline void SetForward(ItemSelection&& value) { m_forwardHasBeenSet = true; m_forward = std::move(value); } /** *

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 WhitelistedNames * complex type.

Amazon S3 doesn't process cookies. When the cache behavior * is forwarding requests to an Amazon S3 origin, specify none for the * Forward element.

*/ inline CookiePreference& WithForward(const ItemSelection& value) { SetForward(value); return *this;} /** *

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 WhitelistedNames * complex type.

Amazon S3 doesn't process cookies. When the cache behavior * is forwarding requests to an Amazon S3 origin, specify none for the * Forward element.

*/ inline CookiePreference& WithForward(ItemSelection&& value) { SetForward(std::move(value)); return *this;} /** *

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 whitelist for the value of * Forward. 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 all or none for the value of * Forward, omit WhitelistedNames. If you change the * value of Forward from whitelist to all or * none and you don't delete the WhitelistedNames element * 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.

*/ inline const CookieNames& GetWhitelistedNames() const{ return m_whitelistedNames; } /** *

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 whitelist for the value of * Forward. 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 all or none for the value of * Forward, omit WhitelistedNames. If you change the * value of Forward from whitelist to all or * none and you don't delete the WhitelistedNames element * 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.

*/ inline bool WhitelistedNamesHasBeenSet() const { return m_whitelistedNamesHasBeenSet; } /** *

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 whitelist for the value of * Forward. 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 all or none for the value of * Forward, omit WhitelistedNames. If you change the * value of Forward from whitelist to all or * none and you don't delete the WhitelistedNames element * 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.

*/ inline void SetWhitelistedNames(const CookieNames& value) { m_whitelistedNamesHasBeenSet = true; m_whitelistedNames = value; } /** *

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 whitelist for the value of * Forward. 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 all or none for the value of * Forward, omit WhitelistedNames. If you change the * value of Forward from whitelist to all or * none and you don't delete the WhitelistedNames element * 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.

*/ inline void SetWhitelistedNames(CookieNames&& value) { m_whitelistedNamesHasBeenSet = true; m_whitelistedNames = std::move(value); } /** *

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 whitelist for the value of * Forward. 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 all or none for the value of * Forward, omit WhitelistedNames. If you change the * value of Forward from whitelist to all or * none and you don't delete the WhitelistedNames element * 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.

*/ inline CookiePreference& WithWhitelistedNames(const CookieNames& value) { SetWhitelistedNames(value); return *this;} /** *

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 whitelist for the value of * Forward. 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 all or none for the value of * Forward, omit WhitelistedNames. If you change the * value of Forward from whitelist to all or * none and you don't delete the WhitelistedNames element * 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.

*/ inline CookiePreference& WithWhitelistedNames(CookieNames&& value) { SetWhitelistedNames(std::move(value)); return *this;} private: ItemSelection m_forward; bool m_forwardHasBeenSet = false; CookieNames m_whitelistedNames; bool m_whitelistedNamesHasBeenSet = false; }; } // namespace Model } // namespace CloudFront } // namespace Aws