/** * 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 URL query strings in viewer requests * (and if so, which query strings) 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 CachePolicyQueryStringsConfig { public: CachePolicyQueryStringsConfig(); CachePolicyQueryStringsConfig(const Aws::Utils::Xml::XmlNode& xmlNode); CachePolicyQueryStringsConfig& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; /** *

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

  • none – Query * strings 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 query strings that are listed * in an OriginRequestPolicy are included in origin * requests.

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

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

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

*/ inline const CachePolicyQueryStringBehavior& GetQueryStringBehavior() const{ return m_queryStringBehavior; } /** *

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

  • none – Query * strings 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 query strings that are listed * in an OriginRequestPolicy are included in origin * requests.

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

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

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

*/ inline bool QueryStringBehaviorHasBeenSet() const { return m_queryStringBehaviorHasBeenSet; } /** *

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

  • none – Query * strings 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 query strings that are listed * in an OriginRequestPolicy are included in origin * requests.

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

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

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

*/ inline void SetQueryStringBehavior(const CachePolicyQueryStringBehavior& value) { m_queryStringBehaviorHasBeenSet = true; m_queryStringBehavior = value; } /** *

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

  • none – Query * strings 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 query strings that are listed * in an OriginRequestPolicy are included in origin * requests.

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

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

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

*/ inline void SetQueryStringBehavior(CachePolicyQueryStringBehavior&& value) { m_queryStringBehaviorHasBeenSet = true; m_queryStringBehavior = std::move(value); } /** *

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

  • none – Query * strings 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 query strings that are listed * in an OriginRequestPolicy are included in origin * requests.

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

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

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

*/ inline CachePolicyQueryStringsConfig& WithQueryStringBehavior(const CachePolicyQueryStringBehavior& value) { SetQueryStringBehavior(value); return *this;} /** *

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

  • none – Query * strings 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 query strings that are listed * in an OriginRequestPolicy are included in origin * requests.

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

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

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

*/ inline CachePolicyQueryStringsConfig& WithQueryStringBehavior(CachePolicyQueryStringBehavior&& value) { SetQueryStringBehavior(std::move(value)); return *this;} /** *

Contains the specific query strings in viewer requests that either * are or are not included in the cache key and * automatically included in requests that CloudFront sends to the origin. The * behavior depends on whether the QueryStringBehavior field in the * CachePolicyQueryStringsConfig type is set to whitelist * (the listed query strings are included) or * allExcept (the listed query strings are not * included, but all other query strings are).

*/ inline const QueryStringNames& GetQueryStrings() const{ return m_queryStrings; } /** *

Contains the specific query strings in viewer requests that either * are or are not included in the cache key and * automatically included in requests that CloudFront sends to the origin. The * behavior depends on whether the QueryStringBehavior field in the * CachePolicyQueryStringsConfig type is set to whitelist * (the listed query strings are included) or * allExcept (the listed query strings are not * included, but all other query strings are).

*/ inline bool QueryStringsHasBeenSet() const { return m_queryStringsHasBeenSet; } /** *

Contains the specific query strings in viewer requests that either * are or are not included in the cache key and * automatically included in requests that CloudFront sends to the origin. The * behavior depends on whether the QueryStringBehavior field in the * CachePolicyQueryStringsConfig type is set to whitelist * (the listed query strings are included) or * allExcept (the listed query strings are not * included, but all other query strings are).

*/ inline void SetQueryStrings(const QueryStringNames& value) { m_queryStringsHasBeenSet = true; m_queryStrings = value; } /** *

Contains the specific query strings in viewer requests that either * are or are not included in the cache key and * automatically included in requests that CloudFront sends to the origin. The * behavior depends on whether the QueryStringBehavior field in the * CachePolicyQueryStringsConfig type is set to whitelist * (the listed query strings are included) or * allExcept (the listed query strings are not * included, but all other query strings are).

*/ inline void SetQueryStrings(QueryStringNames&& value) { m_queryStringsHasBeenSet = true; m_queryStrings = std::move(value); } /** *

Contains the specific query strings in viewer requests that either * are or are not included in the cache key and * automatically included in requests that CloudFront sends to the origin. The * behavior depends on whether the QueryStringBehavior field in the * CachePolicyQueryStringsConfig type is set to whitelist * (the listed query strings are included) or * allExcept (the listed query strings are not * included, but all other query strings are).

*/ inline CachePolicyQueryStringsConfig& WithQueryStrings(const QueryStringNames& value) { SetQueryStrings(value); return *this;} /** *

Contains the specific query strings in viewer requests that either * are or are not included in the cache key and * automatically included in requests that CloudFront sends to the origin. The * behavior depends on whether the QueryStringBehavior field in the * CachePolicyQueryStringsConfig type is set to whitelist * (the listed query strings are included) or * allExcept (the listed query strings are not * included, but all other query strings are).

*/ inline CachePolicyQueryStringsConfig& WithQueryStrings(QueryStringNames&& value) { SetQueryStrings(std::move(value)); return *this;} private: CachePolicyQueryStringBehavior m_queryStringBehavior; bool m_queryStringBehaviorHasBeenSet; QueryStringNames m_queryStrings; bool m_queryStringsHasBeenSet; }; } // namespace Model } // namespace CloudFront } // namespace Aws