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/CustomOriginConfig.h

328 lines
17 KiB
C++
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/**
* 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/OriginProtocolPolicy.h>
#include <aws/cloudfront/model/OriginSslProtocols.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Xml
{
class XmlNode;
} // namespace Xml
} // namespace Utils
namespace CloudFront
{
namespace Model
{
/**
* <p>A custom origin. A custom origin is any origin that is <i>not</i> an Amazon
* S3 bucket, with one exception. An Amazon S3 bucket that is <a
* href="https://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteHosting.html">configured
* with static website hosting</a> <i>is</i> a custom origin.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/CustomOriginConfig">AWS
* API Reference</a></p>
*/
class AWS_CLOUDFRONT_API CustomOriginConfig
{
public:
CustomOriginConfig();
CustomOriginConfig(const Aws::Utils::Xml::XmlNode& xmlNode);
CustomOriginConfig& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const;
/**
* <p>The HTTP port that CloudFront uses to connect to the origin. Specify the HTTP
* port that the origin listens on.</p>
*/
inline int GetHTTPPort() const{ return m_hTTPPort; }
/**
* <p>The HTTP port that CloudFront uses to connect to the origin. Specify the HTTP
* port that the origin listens on.</p>
*/
inline bool HTTPPortHasBeenSet() const { return m_hTTPPortHasBeenSet; }
/**
* <p>The HTTP port that CloudFront uses to connect to the origin. Specify the HTTP
* port that the origin listens on.</p>
*/
inline void SetHTTPPort(int value) { m_hTTPPortHasBeenSet = true; m_hTTPPort = value; }
/**
* <p>The HTTP port that CloudFront uses to connect to the origin. Specify the HTTP
* port that the origin listens on.</p>
*/
inline CustomOriginConfig& WithHTTPPort(int value) { SetHTTPPort(value); return *this;}
/**
* <p>The HTTPS port that CloudFront uses to connect to the origin. Specify the
* HTTPS port that the origin listens on.</p>
*/
inline int GetHTTPSPort() const{ return m_hTTPSPort; }
/**
* <p>The HTTPS port that CloudFront uses to connect to the origin. Specify the
* HTTPS port that the origin listens on.</p>
*/
inline bool HTTPSPortHasBeenSet() const { return m_hTTPSPortHasBeenSet; }
/**
* <p>The HTTPS port that CloudFront uses to connect to the origin. Specify the
* HTTPS port that the origin listens on.</p>
*/
inline void SetHTTPSPort(int value) { m_hTTPSPortHasBeenSet = true; m_hTTPSPort = value; }
/**
* <p>The HTTPS port that CloudFront uses to connect to the origin. Specify the
* HTTPS port that the origin listens on.</p>
*/
inline CustomOriginConfig& WithHTTPSPort(int value) { SetHTTPSPort(value); return *this;}
/**
* <p>Specifies the protocol (HTTP or HTTPS) that CloudFront uses to connect to the
* origin. Valid values are:</p> <ul> <li> <p> <code>http-only</code> CloudFront
* always uses HTTP to connect to the origin.</p> </li> <li> <p>
* <code>match-viewer</code> CloudFront connects to the origin using the same
* protocol that the viewer used to connect to CloudFront.</p> </li> <li> <p>
* <code>https-only</code> CloudFront always uses HTTPS to connect to the
* origin.</p> </li> </ul>
*/
inline const OriginProtocolPolicy& GetOriginProtocolPolicy() const{ return m_originProtocolPolicy; }
/**
* <p>Specifies the protocol (HTTP or HTTPS) that CloudFront uses to connect to the
* origin. Valid values are:</p> <ul> <li> <p> <code>http-only</code> CloudFront
* always uses HTTP to connect to the origin.</p> </li> <li> <p>
* <code>match-viewer</code> CloudFront connects to the origin using the same
* protocol that the viewer used to connect to CloudFront.</p> </li> <li> <p>
* <code>https-only</code> CloudFront always uses HTTPS to connect to the
* origin.</p> </li> </ul>
*/
inline bool OriginProtocolPolicyHasBeenSet() const { return m_originProtocolPolicyHasBeenSet; }
/**
* <p>Specifies the protocol (HTTP or HTTPS) that CloudFront uses to connect to the
* origin. Valid values are:</p> <ul> <li> <p> <code>http-only</code> CloudFront
* always uses HTTP to connect to the origin.</p> </li> <li> <p>
* <code>match-viewer</code> CloudFront connects to the origin using the same
* protocol that the viewer used to connect to CloudFront.</p> </li> <li> <p>
* <code>https-only</code> CloudFront always uses HTTPS to connect to the
* origin.</p> </li> </ul>
*/
inline void SetOriginProtocolPolicy(const OriginProtocolPolicy& value) { m_originProtocolPolicyHasBeenSet = true; m_originProtocolPolicy = value; }
/**
* <p>Specifies the protocol (HTTP or HTTPS) that CloudFront uses to connect to the
* origin. Valid values are:</p> <ul> <li> <p> <code>http-only</code> CloudFront
* always uses HTTP to connect to the origin.</p> </li> <li> <p>
* <code>match-viewer</code> CloudFront connects to the origin using the same
* protocol that the viewer used to connect to CloudFront.</p> </li> <li> <p>
* <code>https-only</code> CloudFront always uses HTTPS to connect to the
* origin.</p> </li> </ul>
*/
inline void SetOriginProtocolPolicy(OriginProtocolPolicy&& value) { m_originProtocolPolicyHasBeenSet = true; m_originProtocolPolicy = std::move(value); }
/**
* <p>Specifies the protocol (HTTP or HTTPS) that CloudFront uses to connect to the
* origin. Valid values are:</p> <ul> <li> <p> <code>http-only</code> CloudFront
* always uses HTTP to connect to the origin.</p> </li> <li> <p>
* <code>match-viewer</code> CloudFront connects to the origin using the same
* protocol that the viewer used to connect to CloudFront.</p> </li> <li> <p>
* <code>https-only</code> CloudFront always uses HTTPS to connect to the
* origin.</p> </li> </ul>
*/
inline CustomOriginConfig& WithOriginProtocolPolicy(const OriginProtocolPolicy& value) { SetOriginProtocolPolicy(value); return *this;}
/**
* <p>Specifies the protocol (HTTP or HTTPS) that CloudFront uses to connect to the
* origin. Valid values are:</p> <ul> <li> <p> <code>http-only</code> CloudFront
* always uses HTTP to connect to the origin.</p> </li> <li> <p>
* <code>match-viewer</code> CloudFront connects to the origin using the same
* protocol that the viewer used to connect to CloudFront.</p> </li> <li> <p>
* <code>https-only</code> CloudFront always uses HTTPS to connect to the
* origin.</p> </li> </ul>
*/
inline CustomOriginConfig& WithOriginProtocolPolicy(OriginProtocolPolicy&& value) { SetOriginProtocolPolicy(std::move(value)); return *this;}
/**
* <p>Specifies the minimum SSL/TLS protocol that CloudFront uses when connecting
* to your origin over HTTPS. Valid values include <code>SSLv3</code>,
* <code>TLSv1</code>, <code>TLSv1.1</code>, and <code>TLSv1.2</code>.</p> <p>For
* more information, see <a
* href="https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesOriginSSLProtocols">Minimum
* Origin SSL Protocol</a> in the <i>Amazon CloudFront Developer Guide</i>.</p>
*/
inline const OriginSslProtocols& GetOriginSslProtocols() const{ return m_originSslProtocols; }
/**
* <p>Specifies the minimum SSL/TLS protocol that CloudFront uses when connecting
* to your origin over HTTPS. Valid values include <code>SSLv3</code>,
* <code>TLSv1</code>, <code>TLSv1.1</code>, and <code>TLSv1.2</code>.</p> <p>For
* more information, see <a
* href="https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesOriginSSLProtocols">Minimum
* Origin SSL Protocol</a> in the <i>Amazon CloudFront Developer Guide</i>.</p>
*/
inline bool OriginSslProtocolsHasBeenSet() const { return m_originSslProtocolsHasBeenSet; }
/**
* <p>Specifies the minimum SSL/TLS protocol that CloudFront uses when connecting
* to your origin over HTTPS. Valid values include <code>SSLv3</code>,
* <code>TLSv1</code>, <code>TLSv1.1</code>, and <code>TLSv1.2</code>.</p> <p>For
* more information, see <a
* href="https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesOriginSSLProtocols">Minimum
* Origin SSL Protocol</a> in the <i>Amazon CloudFront Developer Guide</i>.</p>
*/
inline void SetOriginSslProtocols(const OriginSslProtocols& value) { m_originSslProtocolsHasBeenSet = true; m_originSslProtocols = value; }
/**
* <p>Specifies the minimum SSL/TLS protocol that CloudFront uses when connecting
* to your origin over HTTPS. Valid values include <code>SSLv3</code>,
* <code>TLSv1</code>, <code>TLSv1.1</code>, and <code>TLSv1.2</code>.</p> <p>For
* more information, see <a
* href="https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesOriginSSLProtocols">Minimum
* Origin SSL Protocol</a> in the <i>Amazon CloudFront Developer Guide</i>.</p>
*/
inline void SetOriginSslProtocols(OriginSslProtocols&& value) { m_originSslProtocolsHasBeenSet = true; m_originSslProtocols = std::move(value); }
/**
* <p>Specifies the minimum SSL/TLS protocol that CloudFront uses when connecting
* to your origin over HTTPS. Valid values include <code>SSLv3</code>,
* <code>TLSv1</code>, <code>TLSv1.1</code>, and <code>TLSv1.2</code>.</p> <p>For
* more information, see <a
* href="https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesOriginSSLProtocols">Minimum
* Origin SSL Protocol</a> in the <i>Amazon CloudFront Developer Guide</i>.</p>
*/
inline CustomOriginConfig& WithOriginSslProtocols(const OriginSslProtocols& value) { SetOriginSslProtocols(value); return *this;}
/**
* <p>Specifies the minimum SSL/TLS protocol that CloudFront uses when connecting
* to your origin over HTTPS. Valid values include <code>SSLv3</code>,
* <code>TLSv1</code>, <code>TLSv1.1</code>, and <code>TLSv1.2</code>.</p> <p>For
* more information, see <a
* href="https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesOriginSSLProtocols">Minimum
* Origin SSL Protocol</a> in the <i>Amazon CloudFront Developer Guide</i>.</p>
*/
inline CustomOriginConfig& WithOriginSslProtocols(OriginSslProtocols&& value) { SetOriginSslProtocols(std::move(value)); return *this;}
/**
* <p>Specifies how long, in seconds, CloudFront waits for a response from the
* origin. This is also known as the <i>origin response timeout</i>. The minimum
* timeout is 1 second, the maximum is 60 seconds, and the default (if you dont
* specify otherwise) is 30 seconds.</p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesOriginResponseTimeout">Origin
* Response Timeout</a> in the <i>Amazon CloudFront Developer Guide</i>.</p>
*/
inline int GetOriginReadTimeout() const{ return m_originReadTimeout; }
/**
* <p>Specifies how long, in seconds, CloudFront waits for a response from the
* origin. This is also known as the <i>origin response timeout</i>. The minimum
* timeout is 1 second, the maximum is 60 seconds, and the default (if you dont
* specify otherwise) is 30 seconds.</p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesOriginResponseTimeout">Origin
* Response Timeout</a> in the <i>Amazon CloudFront Developer Guide</i>.</p>
*/
inline bool OriginReadTimeoutHasBeenSet() const { return m_originReadTimeoutHasBeenSet; }
/**
* <p>Specifies how long, in seconds, CloudFront waits for a response from the
* origin. This is also known as the <i>origin response timeout</i>. The minimum
* timeout is 1 second, the maximum is 60 seconds, and the default (if you dont
* specify otherwise) is 30 seconds.</p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesOriginResponseTimeout">Origin
* Response Timeout</a> in the <i>Amazon CloudFront Developer Guide</i>.</p>
*/
inline void SetOriginReadTimeout(int value) { m_originReadTimeoutHasBeenSet = true; m_originReadTimeout = value; }
/**
* <p>Specifies how long, in seconds, CloudFront waits for a response from the
* origin. This is also known as the <i>origin response timeout</i>. The minimum
* timeout is 1 second, the maximum is 60 seconds, and the default (if you dont
* specify otherwise) is 30 seconds.</p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesOriginResponseTimeout">Origin
* Response Timeout</a> in the <i>Amazon CloudFront Developer Guide</i>.</p>
*/
inline CustomOriginConfig& WithOriginReadTimeout(int value) { SetOriginReadTimeout(value); return *this;}
/**
* <p>Specifies how long, in seconds, CloudFront persists its connection to the
* origin. The minimum timeout is 1 second, the maximum is 60 seconds, and the
* default (if you dont specify otherwise) is 5 seconds.</p> <p>For more
* information, see <a
* href="https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesOriginKeepaliveTimeout">Origin
* Keep-alive Timeout</a> in the <i>Amazon CloudFront Developer Guide</i>.</p>
*/
inline int GetOriginKeepaliveTimeout() const{ return m_originKeepaliveTimeout; }
/**
* <p>Specifies how long, in seconds, CloudFront persists its connection to the
* origin. The minimum timeout is 1 second, the maximum is 60 seconds, and the
* default (if you dont specify otherwise) is 5 seconds.</p> <p>For more
* information, see <a
* href="https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesOriginKeepaliveTimeout">Origin
* Keep-alive Timeout</a> in the <i>Amazon CloudFront Developer Guide</i>.</p>
*/
inline bool OriginKeepaliveTimeoutHasBeenSet() const { return m_originKeepaliveTimeoutHasBeenSet; }
/**
* <p>Specifies how long, in seconds, CloudFront persists its connection to the
* origin. The minimum timeout is 1 second, the maximum is 60 seconds, and the
* default (if you dont specify otherwise) is 5 seconds.</p> <p>For more
* information, see <a
* href="https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesOriginKeepaliveTimeout">Origin
* Keep-alive Timeout</a> in the <i>Amazon CloudFront Developer Guide</i>.</p>
*/
inline void SetOriginKeepaliveTimeout(int value) { m_originKeepaliveTimeoutHasBeenSet = true; m_originKeepaliveTimeout = value; }
/**
* <p>Specifies how long, in seconds, CloudFront persists its connection to the
* origin. The minimum timeout is 1 second, the maximum is 60 seconds, and the
* default (if you dont specify otherwise) is 5 seconds.</p> <p>For more
* information, see <a
* href="https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesOriginKeepaliveTimeout">Origin
* Keep-alive Timeout</a> in the <i>Amazon CloudFront Developer Guide</i>.</p>
*/
inline CustomOriginConfig& WithOriginKeepaliveTimeout(int value) { SetOriginKeepaliveTimeout(value); return *this;}
private:
int m_hTTPPort;
bool m_hTTPPortHasBeenSet;
int m_hTTPSPort;
bool m_hTTPSPortHasBeenSet;
OriginProtocolPolicy m_originProtocolPolicy;
bool m_originProtocolPolicyHasBeenSet;
OriginSslProtocols m_originSslProtocols;
bool m_originSslProtocolsHasBeenSet;
int m_originReadTimeout;
bool m_originReadTimeoutHasBeenSet;
int m_originKeepaliveTimeout;
bool m_originKeepaliveTimeoutHasBeenSet;
};
} // namespace Model
} // namespace CloudFront
} // namespace Aws