/** * 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 { /** *

An object that determines whether any cookies in viewer requests (and if so, * which cookies) are included in the cache key and automatically included in * requests that CloudFront sends to the origin.

See Also:

AWS * API Reference

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

Determines whether any cookies in viewer requests are included in the cache * key and automatically included in requests that CloudFront sends to the origin. * Valid values are:

  • none – Cookies in viewer * requests are not included in the cache key and are not automatically included in * requests that CloudFront sends to the origin. Even when this field is set to * none, any cookies that are listed in an * OriginRequestPolicy are included in origin requests.

    *
  • whitelist – The cookies in viewer requests that are * listed in the CookieNames type are included in the cache key and * automatically included in requests that CloudFront sends to the origin.

    *
  • allExcept – All cookies in viewer requests that are * not listed in the CookieNames type are included in * the cache key and automatically included in requests that CloudFront sends to * the origin.

  • all – All cookies in viewer requests * are included in the cache key and are automatically included in requests that * CloudFront sends to the origin.

*/ inline const CachePolicyCookieBehavior& GetCookieBehavior() const{ return m_cookieBehavior; } /** *

Determines whether any cookies in viewer requests are included in the cache * key and automatically included in requests that CloudFront sends to the origin. * Valid values are:

  • none – Cookies in viewer * requests are not included in the cache key and are not automatically included in * requests that CloudFront sends to the origin. Even when this field is set to * none, any cookies that are listed in an * OriginRequestPolicy are included in origin requests.

    *
  • whitelist – The cookies in viewer requests that are * listed in the CookieNames type are included in the cache key and * automatically included in requests that CloudFront sends to the origin.

    *
  • allExcept – All cookies in viewer requests that are * not listed in the CookieNames type are included in * the cache key and automatically included in requests that CloudFront sends to * the origin.

  • all – All cookies in viewer requests * are included in the cache key and are automatically included in requests that * CloudFront sends to the origin.

*/ inline bool CookieBehaviorHasBeenSet() const { return m_cookieBehaviorHasBeenSet; } /** *

Determines whether any cookies in viewer requests are included in the cache * key and automatically included in requests that CloudFront sends to the origin. * Valid values are:

  • none – Cookies in viewer * requests are not included in the cache key and are not automatically included in * requests that CloudFront sends to the origin. Even when this field is set to * none, any cookies that are listed in an * OriginRequestPolicy are included in origin requests.

    *
  • whitelist – The cookies in viewer requests that are * listed in the CookieNames type are included in the cache key and * automatically included in requests that CloudFront sends to the origin.

    *
  • allExcept – All cookies in viewer requests that are * not listed in the CookieNames type are included in * the cache key and automatically included in requests that CloudFront sends to * the origin.

  • all – All cookies in viewer requests * are included in the cache key and are automatically included in requests that * CloudFront sends to the origin.

*/ inline void SetCookieBehavior(const CachePolicyCookieBehavior& value) { m_cookieBehaviorHasBeenSet = true; m_cookieBehavior = value; } /** *

Determines whether any cookies in viewer requests are included in the cache * key and automatically included in requests that CloudFront sends to the origin. * Valid values are:

  • none – Cookies in viewer * requests are not included in the cache key and are not automatically included in * requests that CloudFront sends to the origin. Even when this field is set to * none, any cookies that are listed in an * OriginRequestPolicy are included in origin requests.

    *
  • whitelist – The cookies in viewer requests that are * listed in the CookieNames type are included in the cache key and * automatically included in requests that CloudFront sends to the origin.

    *
  • allExcept – All cookies in viewer requests that are * not listed in the CookieNames type are included in * the cache key and automatically included in requests that CloudFront sends to * the origin.

  • all – All cookies in viewer requests * are included in the cache key and are automatically included in requests that * CloudFront sends to the origin.

*/ inline void SetCookieBehavior(CachePolicyCookieBehavior&& value) { m_cookieBehaviorHasBeenSet = true; m_cookieBehavior = std::move(value); } /** *

Determines whether any cookies in viewer requests are included in the cache * key and automatically included in requests that CloudFront sends to the origin. * Valid values are:

  • none – Cookies in viewer * requests are not included in the cache key and are not automatically included in * requests that CloudFront sends to the origin. Even when this field is set to * none, any cookies that are listed in an * OriginRequestPolicy are included in origin requests.

    *
  • whitelist – The cookies in viewer requests that are * listed in the CookieNames type are included in the cache key and * automatically included in requests that CloudFront sends to the origin.

    *
  • allExcept – All cookies in viewer requests that are * not listed in the CookieNames type are included in * the cache key and automatically included in requests that CloudFront sends to * the origin.

  • all – All cookies in viewer requests * are included in the cache key and are automatically included in requests that * CloudFront sends to the origin.

*/ inline CachePolicyCookiesConfig& WithCookieBehavior(const CachePolicyCookieBehavior& value) { SetCookieBehavior(value); return *this;} /** *

Determines whether any cookies in viewer requests are included in the cache * key and automatically included in requests that CloudFront sends to the origin. * Valid values are:

  • none – Cookies in viewer * requests are not included in the cache key and are not automatically included in * requests that CloudFront sends to the origin. Even when this field is set to * none, any cookies that are listed in an * OriginRequestPolicy are included in origin requests.

    *
  • whitelist – The cookies in viewer requests that are * listed in the CookieNames type are included in the cache key and * automatically included in requests that CloudFront sends to the origin.

    *
  • allExcept – All cookies in viewer requests that are * not listed in the CookieNames type are included in * the cache key and automatically included in requests that CloudFront sends to * the origin.

  • all – All cookies in viewer requests * are included in the cache key and are automatically included in requests that * CloudFront sends to the origin.

*/ inline CachePolicyCookiesConfig& WithCookieBehavior(CachePolicyCookieBehavior&& value) { SetCookieBehavior(std::move(value)); return *this;} inline const CookieNames& GetCookies() const{ return m_cookies; } inline bool CookiesHasBeenSet() const { return m_cookiesHasBeenSet; } inline void SetCookies(const CookieNames& value) { m_cookiesHasBeenSet = true; m_cookies = value; } inline void SetCookies(CookieNames&& value) { m_cookiesHasBeenSet = true; m_cookies = std::move(value); } inline CachePolicyCookiesConfig& WithCookies(const CookieNames& value) { SetCookies(value); return *this;} inline CachePolicyCookiesConfig& WithCookies(CookieNames&& value) { SetCookies(std::move(value)); return *this;} private: CachePolicyCookieBehavior m_cookieBehavior; bool m_cookieBehaviorHasBeenSet; CookieNames m_cookies; bool m_cookiesHasBeenSet; }; } // namespace Model } // namespace CloudFront } // namespace Aws