/** * 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 in requests * that CloudFront sends to the origin.

See Also:

AWS * API Reference

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

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

  • none – No query strings in viewer requests * are included in the cache key or 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 – Only the query strings in * viewer requests that are listed in the QueryStringNames type are * included in the cache key and in requests that CloudFront sends to the * origin.

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

  • * all – All query strings in viewer requests are included in the * cache key and 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 in requests that CloudFront sends to the origin. Valid values * are:

  • none – No query strings in viewer requests * are included in the cache key or 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 – Only the query strings in * viewer requests that are listed in the QueryStringNames type are * included in the cache key and in requests that CloudFront sends to the * origin.

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

  • * all – All query strings in viewer requests are included in the * cache key and 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 in requests that CloudFront sends to the origin. Valid values * are:

  • none – No query strings in viewer requests * are included in the cache key or 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 – Only the query strings in * viewer requests that are listed in the QueryStringNames type are * included in the cache key and in requests that CloudFront sends to the * origin.

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

  • * all – All query strings in viewer requests are included in the * cache key and 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 in requests that CloudFront sends to the origin. Valid values * are:

  • none – No query strings in viewer requests * are included in the cache key or 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 – Only the query strings in * viewer requests that are listed in the QueryStringNames type are * included in the cache key and in requests that CloudFront sends to the * origin.

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

  • * all – All query strings in viewer requests are included in the * cache key and 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 in requests that CloudFront sends to the origin. Valid values * are:

  • none – No query strings in viewer requests * are included in the cache key or 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 – Only the query strings in * viewer requests that are listed in the QueryStringNames type are * included in the cache key and in requests that CloudFront sends to the * origin.

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

  • * all – All query strings in viewer requests are included in the * cache key and 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 in requests that CloudFront sends to the origin. Valid values * are:

  • none – No query strings in viewer requests * are included in the cache key or 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 – Only the query strings in * viewer requests that are listed in the QueryStringNames type are * included in the cache key and in requests that CloudFront sends to the * origin.

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

  • * all – All query strings in viewer requests are included in the * cache key and 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 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 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 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 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 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 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 = false; QueryStringNames m_queryStrings; bool m_queryStringsHasBeenSet = false; }; } // namespace Model } // namespace CloudFront } // namespace Aws