/** * 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 Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace SecurityHub { namespace Model { /** *

A custom origin. A custom origin is any origin that is not an Amazon S3 * bucket, with one exception. An Amazon S3 bucket that is configured * with static website hosting is a custom origin.

See Also:

* AWS * API Reference

*/ class AwsCloudFrontDistributionOriginCustomOriginConfig { public: AWS_SECURITYHUB_API AwsCloudFrontDistributionOriginCustomOriginConfig(); AWS_SECURITYHUB_API AwsCloudFrontDistributionOriginCustomOriginConfig(Aws::Utils::Json::JsonView jsonValue); AWS_SECURITYHUB_API AwsCloudFrontDistributionOriginCustomOriginConfig& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_SECURITYHUB_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

The HTTP port that CloudFront uses to connect to the origin.

*/ inline int GetHttpPort() const{ return m_httpPort; } /** *

The HTTP port that CloudFront uses to connect to the origin.

*/ inline bool HttpPortHasBeenSet() const { return m_httpPortHasBeenSet; } /** *

The HTTP port that CloudFront uses to connect to the origin.

*/ inline void SetHttpPort(int value) { m_httpPortHasBeenSet = true; m_httpPort = value; } /** *

The HTTP port that CloudFront uses to connect to the origin.

*/ inline AwsCloudFrontDistributionOriginCustomOriginConfig& WithHttpPort(int value) { SetHttpPort(value); return *this;} /** *

The HTTPS port that CloudFront uses to connect to the origin.

*/ inline int GetHttpsPort() const{ return m_httpsPort; } /** *

The HTTPS port that CloudFront uses to connect to the origin.

*/ inline bool HttpsPortHasBeenSet() const { return m_httpsPortHasBeenSet; } /** *

The HTTPS port that CloudFront uses to connect to the origin.

*/ inline void SetHttpsPort(int value) { m_httpsPortHasBeenSet = true; m_httpsPort = value; } /** *

The HTTPS port that CloudFront uses to connect to the origin.

*/ inline AwsCloudFrontDistributionOriginCustomOriginConfig& WithHttpsPort(int value) { SetHttpsPort(value); return *this;} /** *

Specifies how long, in seconds, CloudFront persists its connection to the * origin.

*/ inline int GetOriginKeepaliveTimeout() const{ return m_originKeepaliveTimeout; } /** *

Specifies how long, in seconds, CloudFront persists its connection to the * origin.

*/ inline bool OriginKeepaliveTimeoutHasBeenSet() const { return m_originKeepaliveTimeoutHasBeenSet; } /** *

Specifies how long, in seconds, CloudFront persists its connection to the * origin.

*/ inline void SetOriginKeepaliveTimeout(int value) { m_originKeepaliveTimeoutHasBeenSet = true; m_originKeepaliveTimeout = value; } /** *

Specifies how long, in seconds, CloudFront persists its connection to the * origin.

*/ inline AwsCloudFrontDistributionOriginCustomOriginConfig& WithOriginKeepaliveTimeout(int value) { SetOriginKeepaliveTimeout(value); return *this;} /** *

Specifies the protocol (HTTP or HTTPS) that CloudFront uses to connect to the * origin.

*/ inline const Aws::String& GetOriginProtocolPolicy() const{ return m_originProtocolPolicy; } /** *

Specifies the protocol (HTTP or HTTPS) that CloudFront uses to connect to the * origin.

*/ inline bool OriginProtocolPolicyHasBeenSet() const { return m_originProtocolPolicyHasBeenSet; } /** *

Specifies the protocol (HTTP or HTTPS) that CloudFront uses to connect to the * origin.

*/ inline void SetOriginProtocolPolicy(const Aws::String& value) { m_originProtocolPolicyHasBeenSet = true; m_originProtocolPolicy = value; } /** *

Specifies the protocol (HTTP or HTTPS) that CloudFront uses to connect to the * origin.

*/ inline void SetOriginProtocolPolicy(Aws::String&& value) { m_originProtocolPolicyHasBeenSet = true; m_originProtocolPolicy = std::move(value); } /** *

Specifies the protocol (HTTP or HTTPS) that CloudFront uses to connect to the * origin.

*/ inline void SetOriginProtocolPolicy(const char* value) { m_originProtocolPolicyHasBeenSet = true; m_originProtocolPolicy.assign(value); } /** *

Specifies the protocol (HTTP or HTTPS) that CloudFront uses to connect to the * origin.

*/ inline AwsCloudFrontDistributionOriginCustomOriginConfig& WithOriginProtocolPolicy(const Aws::String& value) { SetOriginProtocolPolicy(value); return *this;} /** *

Specifies the protocol (HTTP or HTTPS) that CloudFront uses to connect to the * origin.

*/ inline AwsCloudFrontDistributionOriginCustomOriginConfig& WithOriginProtocolPolicy(Aws::String&& value) { SetOriginProtocolPolicy(std::move(value)); return *this;} /** *

Specifies the protocol (HTTP or HTTPS) that CloudFront uses to connect to the * origin.

*/ inline AwsCloudFrontDistributionOriginCustomOriginConfig& WithOriginProtocolPolicy(const char* value) { SetOriginProtocolPolicy(value); return *this;} /** *

Specifies how long, in seconds, CloudFront waits for a response from the * origin.

*/ inline int GetOriginReadTimeout() const{ return m_originReadTimeout; } /** *

Specifies how long, in seconds, CloudFront waits for a response from the * origin.

*/ inline bool OriginReadTimeoutHasBeenSet() const { return m_originReadTimeoutHasBeenSet; } /** *

Specifies how long, in seconds, CloudFront waits for a response from the * origin.

*/ inline void SetOriginReadTimeout(int value) { m_originReadTimeoutHasBeenSet = true; m_originReadTimeout = value; } /** *

Specifies how long, in seconds, CloudFront waits for a response from the * origin.

*/ inline AwsCloudFrontDistributionOriginCustomOriginConfig& WithOriginReadTimeout(int value) { SetOriginReadTimeout(value); return *this;} /** *

Specifies the minimum SSL/TLS protocol that CloudFront uses when connecting * to your origin over HTTPS.

*/ inline const AwsCloudFrontDistributionOriginSslProtocols& GetOriginSslProtocols() const{ return m_originSslProtocols; } /** *

Specifies the minimum SSL/TLS protocol that CloudFront uses when connecting * to your origin over HTTPS.

*/ inline bool OriginSslProtocolsHasBeenSet() const { return m_originSslProtocolsHasBeenSet; } /** *

Specifies the minimum SSL/TLS protocol that CloudFront uses when connecting * to your origin over HTTPS.

*/ inline void SetOriginSslProtocols(const AwsCloudFrontDistributionOriginSslProtocols& value) { m_originSslProtocolsHasBeenSet = true; m_originSslProtocols = value; } /** *

Specifies the minimum SSL/TLS protocol that CloudFront uses when connecting * to your origin over HTTPS.

*/ inline void SetOriginSslProtocols(AwsCloudFrontDistributionOriginSslProtocols&& value) { m_originSslProtocolsHasBeenSet = true; m_originSslProtocols = std::move(value); } /** *

Specifies the minimum SSL/TLS protocol that CloudFront uses when connecting * to your origin over HTTPS.

*/ inline AwsCloudFrontDistributionOriginCustomOriginConfig& WithOriginSslProtocols(const AwsCloudFrontDistributionOriginSslProtocols& value) { SetOriginSslProtocols(value); return *this;} /** *

Specifies the minimum SSL/TLS protocol that CloudFront uses when connecting * to your origin over HTTPS.

*/ inline AwsCloudFrontDistributionOriginCustomOriginConfig& WithOriginSslProtocols(AwsCloudFrontDistributionOriginSslProtocols&& value) { SetOriginSslProtocols(std::move(value)); return *this;} private: int m_httpPort; bool m_httpPortHasBeenSet = false; int m_httpsPort; bool m_httpsPortHasBeenSet = false; int m_originKeepaliveTimeout; bool m_originKeepaliveTimeoutHasBeenSet = false; Aws::String m_originProtocolPolicy; bool m_originProtocolPolicyHasBeenSet = false; int m_originReadTimeout; bool m_originReadTimeoutHasBeenSet = false; AwsCloudFrontDistributionOriginSslProtocols m_originSslProtocols; bool m_originSslProtocolsHasBeenSet = false; }; } // namespace Model } // namespace SecurityHub } // namespace Aws