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

  • *

    none – Query strings in viewer requests are not 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 – 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.

*/ 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 – Query strings in viewer requests are not 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 – 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.

*/ 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 – Query strings in viewer requests are not 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 – 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.

*/ 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 – Query strings in viewer requests are not 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 – 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.

*/ 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 – Query strings in viewer requests are not 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 – 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.

*/ 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 – Query strings in viewer requests are not 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 – 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.

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

Contains a list of the query strings in viewer requests that are included in * requests that CloudFront sends to the origin.

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

Contains a list of the query strings in viewer requests that are included in * requests that CloudFront sends to the origin.

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

Contains a list of the query strings in viewer requests that are included in * requests that CloudFront sends to the origin.

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

Contains a list of the query strings in viewer requests that are included in * requests that CloudFront sends to the origin.

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

Contains a list of the query strings in viewer requests that are included in * requests that CloudFront sends to the origin.

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

Contains a list of the query strings in viewer requests that are included in * requests that CloudFront sends to the origin.

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