This repository has been archived on 2025-09-14. You can view files and clone it, but cannot push or open issues or pull requests.
Files
pxz-hos-client-cpp-module/support/aws-sdk-cpp-master/aws-cpp-sdk-cloudfront/include/aws/cloudfront/model/CachePolicyHeadersConfig.h

158 lines
7.4 KiB
C
Raw Normal View History

/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/cloudfront/CloudFront_EXPORTS.h>
#include <aws/cloudfront/model/CachePolicyHeaderBehavior.h>
#include <aws/cloudfront/model/Headers.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Xml
{
class XmlNode;
} // namespace Xml
} // namespace Utils
namespace CloudFront
{
namespace Model
{
/**
* <p>An object that determines whether any HTTP headers (and if so, which headers)
* are included in the cache key and automatically included in requests that
* CloudFront sends to the origin.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/CachePolicyHeadersConfig">AWS
* API Reference</a></p>
*/
class AWS_CLOUDFRONT_API CachePolicyHeadersConfig
{
public:
CachePolicyHeadersConfig();
CachePolicyHeadersConfig(const Aws::Utils::Xml::XmlNode& xmlNode);
CachePolicyHeadersConfig& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const;
/**
* <p>Determines whether any HTTP headers are included in the cache key and
* automatically included in requests that CloudFront sends to the origin. Valid
* values are:</p> <ul> <li> <p> <code>none</code> HTTP headers 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 <code>none</code>, any
* headers that are listed in an <code>OriginRequestPolicy</code> <i>are</i>
* included in origin requests.</p> </li> <li> <p> <code>whitelist</code> The
* HTTP headers that are listed in the <code>Headers</code> type are included in
* the cache key and are automatically included in requests that CloudFront sends
* to the origin.</p> </li> </ul>
*/
inline const CachePolicyHeaderBehavior& GetHeaderBehavior() const{ return m_headerBehavior; }
/**
* <p>Determines whether any HTTP headers are included in the cache key and
* automatically included in requests that CloudFront sends to the origin. Valid
* values are:</p> <ul> <li> <p> <code>none</code> HTTP headers 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 <code>none</code>, any
* headers that are listed in an <code>OriginRequestPolicy</code> <i>are</i>
* included in origin requests.</p> </li> <li> <p> <code>whitelist</code> The
* HTTP headers that are listed in the <code>Headers</code> type are included in
* the cache key and are automatically included in requests that CloudFront sends
* to the origin.</p> </li> </ul>
*/
inline bool HeaderBehaviorHasBeenSet() const { return m_headerBehaviorHasBeenSet; }
/**
* <p>Determines whether any HTTP headers are included in the cache key and
* automatically included in requests that CloudFront sends to the origin. Valid
* values are:</p> <ul> <li> <p> <code>none</code> HTTP headers 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 <code>none</code>, any
* headers that are listed in an <code>OriginRequestPolicy</code> <i>are</i>
* included in origin requests.</p> </li> <li> <p> <code>whitelist</code> The
* HTTP headers that are listed in the <code>Headers</code> type are included in
* the cache key and are automatically included in requests that CloudFront sends
* to the origin.</p> </li> </ul>
*/
inline void SetHeaderBehavior(const CachePolicyHeaderBehavior& value) { m_headerBehaviorHasBeenSet = true; m_headerBehavior = value; }
/**
* <p>Determines whether any HTTP headers are included in the cache key and
* automatically included in requests that CloudFront sends to the origin. Valid
* values are:</p> <ul> <li> <p> <code>none</code> HTTP headers 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 <code>none</code>, any
* headers that are listed in an <code>OriginRequestPolicy</code> <i>are</i>
* included in origin requests.</p> </li> <li> <p> <code>whitelist</code> The
* HTTP headers that are listed in the <code>Headers</code> type are included in
* the cache key and are automatically included in requests that CloudFront sends
* to the origin.</p> </li> </ul>
*/
inline void SetHeaderBehavior(CachePolicyHeaderBehavior&& value) { m_headerBehaviorHasBeenSet = true; m_headerBehavior = std::move(value); }
/**
* <p>Determines whether any HTTP headers are included in the cache key and
* automatically included in requests that CloudFront sends to the origin. Valid
* values are:</p> <ul> <li> <p> <code>none</code> HTTP headers 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 <code>none</code>, any
* headers that are listed in an <code>OriginRequestPolicy</code> <i>are</i>
* included in origin requests.</p> </li> <li> <p> <code>whitelist</code> The
* HTTP headers that are listed in the <code>Headers</code> type are included in
* the cache key and are automatically included in requests that CloudFront sends
* to the origin.</p> </li> </ul>
*/
inline CachePolicyHeadersConfig& WithHeaderBehavior(const CachePolicyHeaderBehavior& value) { SetHeaderBehavior(value); return *this;}
/**
* <p>Determines whether any HTTP headers are included in the cache key and
* automatically included in requests that CloudFront sends to the origin. Valid
* values are:</p> <ul> <li> <p> <code>none</code> HTTP headers 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 <code>none</code>, any
* headers that are listed in an <code>OriginRequestPolicy</code> <i>are</i>
* included in origin requests.</p> </li> <li> <p> <code>whitelist</code> The
* HTTP headers that are listed in the <code>Headers</code> type are included in
* the cache key and are automatically included in requests that CloudFront sends
* to the origin.</p> </li> </ul>
*/
inline CachePolicyHeadersConfig& WithHeaderBehavior(CachePolicyHeaderBehavior&& 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 CachePolicyHeadersConfig& WithHeaders(const Headers& value) { SetHeaders(value); return *this;}
inline CachePolicyHeadersConfig& WithHeaders(Headers&& value) { SetHeaders(std::move(value)); return *this;}
private:
CachePolicyHeaderBehavior m_headerBehavior;
bool m_headerBehaviorHasBeenSet;
Headers m_headers;
bool m_headersHasBeenSet;
};
} // namespace Model
} // namespace CloudFront
} // namespace Aws