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

See Also:

AWS * API Reference

*/ class OriginRequestPolicyQueryStringsConfig { public: AWS_CLOUDFRONT_API OriginRequestPolicyQueryStringsConfig(); AWS_CLOUDFRONT_API OriginRequestPolicyQueryStringsConfig(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_CLOUDFRONT_API OriginRequestPolicyQueryStringsConfig& 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 * requests that CloudFront sends to the origin. Valid values are:

  • *

    none – No query strings in viewer requests are included in * requests that CloudFront sends to the origin. Even when this field is set to * none, any query strings that are listed in a * CachePolicy are included in origin requests.

  • *

    whitelist – Only the query strings in viewer requests that are * listed in the QueryStringNames type are included in requests that * CloudFront sends to the origin.

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

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

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

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

  • *

    none – No query strings in viewer requests are included in * requests that CloudFront sends to the origin. Even when this field is set to * none, any query strings that are listed in a * CachePolicy are included in origin requests.

  • *

    whitelist – Only the query strings in viewer requests that are * listed in the QueryStringNames type are included in requests that * CloudFront sends to the origin.

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

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

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

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

  • *

    none – No query strings in viewer requests are included in * requests that CloudFront sends to the origin. Even when this field is set to * none, any query strings that are listed in a * CachePolicy are included in origin requests.

  • *

    whitelist – Only the query strings in viewer requests that are * listed in the QueryStringNames type are included in requests that * CloudFront sends to the origin.

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

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

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

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

  • *

    none – No query strings in viewer requests are included in * requests that CloudFront sends to the origin. Even when this field is set to * none, any query strings that are listed in a * CachePolicy are included in origin requests.

  • *

    whitelist – Only the query strings in viewer requests that are * listed in the QueryStringNames type are included in requests that * CloudFront sends to the origin.

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

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

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

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

  • *

    none – No query strings in viewer requests are included in * requests that CloudFront sends to the origin. Even when this field is set to * none, any query strings that are listed in a * CachePolicy are included in origin requests.

  • *

    whitelist – Only the query strings in viewer requests that are * listed in the QueryStringNames type are included in requests that * CloudFront sends to the origin.

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

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

*/ inline OriginRequestPolicyQueryStringsConfig& WithQueryStringBehavior(const OriginRequestPolicyQueryStringBehavior& value) { SetQueryStringBehavior(value); return *this;} /** *

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

  • *

    none – No query strings in viewer requests are included in * requests that CloudFront sends to the origin. Even when this field is set to * none, any query strings that are listed in a * CachePolicy are included in origin requests.

  • *

    whitelist – Only the query strings in viewer requests that are * listed in the QueryStringNames type are included in requests that * CloudFront sends to the origin.

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

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

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

Contains the specific query strings in viewer requests that either * are or are not included in requests that CloudFront * sends to the origin. The behavior depends on whether the * QueryStringBehavior field in the * OriginRequestPolicyQueryStringsConfig 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 requests that CloudFront * sends to the origin. The behavior depends on whether the * QueryStringBehavior field in the * OriginRequestPolicyQueryStringsConfig 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 requests that CloudFront * sends to the origin. The behavior depends on whether the * QueryStringBehavior field in the * OriginRequestPolicyQueryStringsConfig 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 requests that CloudFront * sends to the origin. The behavior depends on whether the * QueryStringBehavior field in the * OriginRequestPolicyQueryStringsConfig 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 requests that CloudFront * sends to the origin. The behavior depends on whether the * QueryStringBehavior field in the * OriginRequestPolicyQueryStringsConfig 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 OriginRequestPolicyQueryStringsConfig& WithQueryStrings(const QueryStringNames& value) { SetQueryStrings(value); return *this;} /** *

Contains the specific query strings in viewer requests that either * are or are not included in requests that CloudFront * sends to the origin. The behavior depends on whether the * QueryStringBehavior field in the * OriginRequestPolicyQueryStringsConfig 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 OriginRequestPolicyQueryStringsConfig& WithQueryStrings(QueryStringNames&& value) { SetQueryStrings(std::move(value)); return *this;} private: OriginRequestPolicyQueryStringBehavior m_queryStringBehavior; bool m_queryStringBehaviorHasBeenSet = false; QueryStringNames m_queryStrings; bool m_queryStringsHasBeenSet = false; }; } // namespace Model } // namespace CloudFront } // namespace Aws