158 lines
7.4 KiB
C++
158 lines
7.4 KiB
C++
/**
|
||
* 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
|