/** * 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 HTTP headers (and if so, which headers) * are included in requests that CloudFront sends to the origin.

See * Also:

AWS * API Reference

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

Determines whether any HTTP headers are included in requests that CloudFront * sends to the origin. Valid values are:

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

  • whitelist – Only the HTTP headers that * are listed in the Headers type are included in requests that * CloudFront sends to the origin.

  • allViewer – All * HTTP headers in viewer requests are included in requests that CloudFront sends * to the origin.

  • allViewerAndWhitelistCloudFront – * All HTTP headers in viewer requests and the additional CloudFront headers that * are listed in the Headers type are included in requests that * CloudFront sends to the origin. The additional headers are added by * CloudFront.

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

*/ inline const OriginRequestPolicyHeaderBehavior& GetHeaderBehavior() const{ return m_headerBehavior; } /** *

Determines whether any HTTP headers are included in requests that CloudFront * sends to the origin. Valid values are:

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

  • whitelist – Only the HTTP headers that * are listed in the Headers type are included in requests that * CloudFront sends to the origin.

  • allViewer – All * HTTP headers in viewer requests are included in requests that CloudFront sends * to the origin.

  • allViewerAndWhitelistCloudFront – * All HTTP headers in viewer requests and the additional CloudFront headers that * are listed in the Headers type are included in requests that * CloudFront sends to the origin. The additional headers are added by * CloudFront.

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

*/ inline bool HeaderBehaviorHasBeenSet() const { return m_headerBehaviorHasBeenSet; } /** *

Determines whether any HTTP headers are included in requests that CloudFront * sends to the origin. Valid values are:

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

  • whitelist – Only the HTTP headers that * are listed in the Headers type are included in requests that * CloudFront sends to the origin.

  • allViewer – All * HTTP headers in viewer requests are included in requests that CloudFront sends * to the origin.

  • allViewerAndWhitelistCloudFront – * All HTTP headers in viewer requests and the additional CloudFront headers that * are listed in the Headers type are included in requests that * CloudFront sends to the origin. The additional headers are added by * CloudFront.

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

*/ inline void SetHeaderBehavior(const OriginRequestPolicyHeaderBehavior& value) { m_headerBehaviorHasBeenSet = true; m_headerBehavior = value; } /** *

Determines whether any HTTP headers are included in requests that CloudFront * sends to the origin. Valid values are:

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

  • whitelist – Only the HTTP headers that * are listed in the Headers type are included in requests that * CloudFront sends to the origin.

  • allViewer – All * HTTP headers in viewer requests are included in requests that CloudFront sends * to the origin.

  • allViewerAndWhitelistCloudFront – * All HTTP headers in viewer requests and the additional CloudFront headers that * are listed in the Headers type are included in requests that * CloudFront sends to the origin. The additional headers are added by * CloudFront.

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

*/ inline void SetHeaderBehavior(OriginRequestPolicyHeaderBehavior&& value) { m_headerBehaviorHasBeenSet = true; m_headerBehavior = std::move(value); } /** *

Determines whether any HTTP headers are included in requests that CloudFront * sends to the origin. Valid values are:

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

  • whitelist – Only the HTTP headers that * are listed in the Headers type are included in requests that * CloudFront sends to the origin.

  • allViewer – All * HTTP headers in viewer requests are included in requests that CloudFront sends * to the origin.

  • allViewerAndWhitelistCloudFront – * All HTTP headers in viewer requests and the additional CloudFront headers that * are listed in the Headers type are included in requests that * CloudFront sends to the origin. The additional headers are added by * CloudFront.

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

*/ inline OriginRequestPolicyHeadersConfig& WithHeaderBehavior(const OriginRequestPolicyHeaderBehavior& value) { SetHeaderBehavior(value); return *this;} /** *

Determines whether any HTTP headers are included in requests that CloudFront * sends to the origin. Valid values are:

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

  • whitelist – Only the HTTP headers that * are listed in the Headers type are included in requests that * CloudFront sends to the origin.

  • allViewer – All * HTTP headers in viewer requests are included in requests that CloudFront sends * to the origin.

  • allViewerAndWhitelistCloudFront – * All HTTP headers in viewer requests and the additional CloudFront headers that * are listed in the Headers type are included in requests that * CloudFront sends to the origin. The additional headers are added by * CloudFront.

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

*/ inline OriginRequestPolicyHeadersConfig& WithHeaderBehavior(OriginRequestPolicyHeaderBehavior&& value) { SetHeaderBehavior(std::move(value)); return *this;} inline const Headers& GetHeaders() const{ return m_headers; } inline bool HeadersHasBeenSet() const { return m_headersHasBeenSet; } inline void SetHeaders(const Headers& value) { m_headersHasBeenSet = true; m_headers = value; } inline void SetHeaders(Headers&& value) { m_headersHasBeenSet = true; m_headers = std::move(value); } inline OriginRequestPolicyHeadersConfig& WithHeaders(const Headers& value) { SetHeaders(value); return *this;} inline OriginRequestPolicyHeadersConfig& WithHeaders(Headers&& value) { SetHeaders(std::move(value)); return *this;} private: OriginRequestPolicyHeaderBehavior m_headerBehavior; bool m_headerBehaviorHasBeenSet = false; Headers m_headers; bool m_headersHasBeenSet = false; }; } // namespace Model } // namespace CloudFront } // namespace Aws