/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace SecurityHub { namespace Model { /** *

Provides information about the TLS/SSL configuration that the CloudFront * distribution uses to communicate with viewers.

See Also:

AWS * API Reference

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

The ARN of the ACM certificate. Used if the certificate is stored in ACM. If * you provide an ACM certificate ARN, you must also provide * MinimumCertificateVersion and SslSupportMethod.

*/ inline const Aws::String& GetAcmCertificateArn() const{ return m_acmCertificateArn; } /** *

The ARN of the ACM certificate. Used if the certificate is stored in ACM. If * you provide an ACM certificate ARN, you must also provide * MinimumCertificateVersion and SslSupportMethod.

*/ inline bool AcmCertificateArnHasBeenSet() const { return m_acmCertificateArnHasBeenSet; } /** *

The ARN of the ACM certificate. Used if the certificate is stored in ACM. If * you provide an ACM certificate ARN, you must also provide * MinimumCertificateVersion and SslSupportMethod.

*/ inline void SetAcmCertificateArn(const Aws::String& value) { m_acmCertificateArnHasBeenSet = true; m_acmCertificateArn = value; } /** *

The ARN of the ACM certificate. Used if the certificate is stored in ACM. If * you provide an ACM certificate ARN, you must also provide * MinimumCertificateVersion and SslSupportMethod.

*/ inline void SetAcmCertificateArn(Aws::String&& value) { m_acmCertificateArnHasBeenSet = true; m_acmCertificateArn = std::move(value); } /** *

The ARN of the ACM certificate. Used if the certificate is stored in ACM. If * you provide an ACM certificate ARN, you must also provide * MinimumCertificateVersion and SslSupportMethod.

*/ inline void SetAcmCertificateArn(const char* value) { m_acmCertificateArnHasBeenSet = true; m_acmCertificateArn.assign(value); } /** *

The ARN of the ACM certificate. Used if the certificate is stored in ACM. If * you provide an ACM certificate ARN, you must also provide * MinimumCertificateVersion and SslSupportMethod.

*/ inline AwsCloudFrontDistributionViewerCertificate& WithAcmCertificateArn(const Aws::String& value) { SetAcmCertificateArn(value); return *this;} /** *

The ARN of the ACM certificate. Used if the certificate is stored in ACM. If * you provide an ACM certificate ARN, you must also provide * MinimumCertificateVersion and SslSupportMethod.

*/ inline AwsCloudFrontDistributionViewerCertificate& WithAcmCertificateArn(Aws::String&& value) { SetAcmCertificateArn(std::move(value)); return *this;} /** *

The ARN of the ACM certificate. Used if the certificate is stored in ACM. If * you provide an ACM certificate ARN, you must also provide * MinimumCertificateVersion and SslSupportMethod.

*/ inline AwsCloudFrontDistributionViewerCertificate& WithAcmCertificateArn(const char* value) { SetAcmCertificateArn(value); return *this;} /** *

The identifier of the certificate. Note that in CloudFront, this attribute is * deprecated.

*/ inline const Aws::String& GetCertificate() const{ return m_certificate; } /** *

The identifier of the certificate. Note that in CloudFront, this attribute is * deprecated.

*/ inline bool CertificateHasBeenSet() const { return m_certificateHasBeenSet; } /** *

The identifier of the certificate. Note that in CloudFront, this attribute is * deprecated.

*/ inline void SetCertificate(const Aws::String& value) { m_certificateHasBeenSet = true; m_certificate = value; } /** *

The identifier of the certificate. Note that in CloudFront, this attribute is * deprecated.

*/ inline void SetCertificate(Aws::String&& value) { m_certificateHasBeenSet = true; m_certificate = std::move(value); } /** *

The identifier of the certificate. Note that in CloudFront, this attribute is * deprecated.

*/ inline void SetCertificate(const char* value) { m_certificateHasBeenSet = true; m_certificate.assign(value); } /** *

The identifier of the certificate. Note that in CloudFront, this attribute is * deprecated.

*/ inline AwsCloudFrontDistributionViewerCertificate& WithCertificate(const Aws::String& value) { SetCertificate(value); return *this;} /** *

The identifier of the certificate. Note that in CloudFront, this attribute is * deprecated.

*/ inline AwsCloudFrontDistributionViewerCertificate& WithCertificate(Aws::String&& value) { SetCertificate(std::move(value)); return *this;} /** *

The identifier of the certificate. Note that in CloudFront, this attribute is * deprecated.

*/ inline AwsCloudFrontDistributionViewerCertificate& WithCertificate(const char* value) { SetCertificate(value); return *this;} /** *

The source of the certificate identified by Certificate. Note * that in CloudFront, this attribute is deprecated.

*/ inline const Aws::String& GetCertificateSource() const{ return m_certificateSource; } /** *

The source of the certificate identified by Certificate. Note * that in CloudFront, this attribute is deprecated.

*/ inline bool CertificateSourceHasBeenSet() const { return m_certificateSourceHasBeenSet; } /** *

The source of the certificate identified by Certificate. Note * that in CloudFront, this attribute is deprecated.

*/ inline void SetCertificateSource(const Aws::String& value) { m_certificateSourceHasBeenSet = true; m_certificateSource = value; } /** *

The source of the certificate identified by Certificate. Note * that in CloudFront, this attribute is deprecated.

*/ inline void SetCertificateSource(Aws::String&& value) { m_certificateSourceHasBeenSet = true; m_certificateSource = std::move(value); } /** *

The source of the certificate identified by Certificate. Note * that in CloudFront, this attribute is deprecated.

*/ inline void SetCertificateSource(const char* value) { m_certificateSourceHasBeenSet = true; m_certificateSource.assign(value); } /** *

The source of the certificate identified by Certificate. Note * that in CloudFront, this attribute is deprecated.

*/ inline AwsCloudFrontDistributionViewerCertificate& WithCertificateSource(const Aws::String& value) { SetCertificateSource(value); return *this;} /** *

The source of the certificate identified by Certificate. Note * that in CloudFront, this attribute is deprecated.

*/ inline AwsCloudFrontDistributionViewerCertificate& WithCertificateSource(Aws::String&& value) { SetCertificateSource(std::move(value)); return *this;} /** *

The source of the certificate identified by Certificate. Note * that in CloudFront, this attribute is deprecated.

*/ inline AwsCloudFrontDistributionViewerCertificate& WithCertificateSource(const char* value) { SetCertificateSource(value); return *this;} /** *

Whether the distribution uses the CloudFront domain name. If set to * false, then you provide either AcmCertificateArn or * IamCertificateId.

*/ inline bool GetCloudFrontDefaultCertificate() const{ return m_cloudFrontDefaultCertificate; } /** *

Whether the distribution uses the CloudFront domain name. If set to * false, then you provide either AcmCertificateArn or * IamCertificateId.

*/ inline bool CloudFrontDefaultCertificateHasBeenSet() const { return m_cloudFrontDefaultCertificateHasBeenSet; } /** *

Whether the distribution uses the CloudFront domain name. If set to * false, then you provide either AcmCertificateArn or * IamCertificateId.

*/ inline void SetCloudFrontDefaultCertificate(bool value) { m_cloudFrontDefaultCertificateHasBeenSet = true; m_cloudFrontDefaultCertificate = value; } /** *

Whether the distribution uses the CloudFront domain name. If set to * false, then you provide either AcmCertificateArn or * IamCertificateId.

*/ inline AwsCloudFrontDistributionViewerCertificate& WithCloudFrontDefaultCertificate(bool value) { SetCloudFrontDefaultCertificate(value); return *this;} /** *

The identifier of the IAM certificate. Used if the certificate is stored in * IAM. If you provide IamCertificateId, then you also must provide * MinimumProtocolVersion and SslSupportMethod.

*/ inline const Aws::String& GetIamCertificateId() const{ return m_iamCertificateId; } /** *

The identifier of the IAM certificate. Used if the certificate is stored in * IAM. If you provide IamCertificateId, then you also must provide * MinimumProtocolVersion and SslSupportMethod.

*/ inline bool IamCertificateIdHasBeenSet() const { return m_iamCertificateIdHasBeenSet; } /** *

The identifier of the IAM certificate. Used if the certificate is stored in * IAM. If you provide IamCertificateId, then you also must provide * MinimumProtocolVersion and SslSupportMethod.

*/ inline void SetIamCertificateId(const Aws::String& value) { m_iamCertificateIdHasBeenSet = true; m_iamCertificateId = value; } /** *

The identifier of the IAM certificate. Used if the certificate is stored in * IAM. If you provide IamCertificateId, then you also must provide * MinimumProtocolVersion and SslSupportMethod.

*/ inline void SetIamCertificateId(Aws::String&& value) { m_iamCertificateIdHasBeenSet = true; m_iamCertificateId = std::move(value); } /** *

The identifier of the IAM certificate. Used if the certificate is stored in * IAM. If you provide IamCertificateId, then you also must provide * MinimumProtocolVersion and SslSupportMethod.

*/ inline void SetIamCertificateId(const char* value) { m_iamCertificateIdHasBeenSet = true; m_iamCertificateId.assign(value); } /** *

The identifier of the IAM certificate. Used if the certificate is stored in * IAM. If you provide IamCertificateId, then you also must provide * MinimumProtocolVersion and SslSupportMethod.

*/ inline AwsCloudFrontDistributionViewerCertificate& WithIamCertificateId(const Aws::String& value) { SetIamCertificateId(value); return *this;} /** *

The identifier of the IAM certificate. Used if the certificate is stored in * IAM. If you provide IamCertificateId, then you also must provide * MinimumProtocolVersion and SslSupportMethod.

*/ inline AwsCloudFrontDistributionViewerCertificate& WithIamCertificateId(Aws::String&& value) { SetIamCertificateId(std::move(value)); return *this;} /** *

The identifier of the IAM certificate. Used if the certificate is stored in * IAM. If you provide IamCertificateId, then you also must provide * MinimumProtocolVersion and SslSupportMethod.

*/ inline AwsCloudFrontDistributionViewerCertificate& WithIamCertificateId(const char* value) { SetIamCertificateId(value); return *this;} /** *

The security policy that CloudFront uses for HTTPS connections with viewers. * If SslSupportMethod is sni-only, then * MinimumProtocolVersion must be TLSv1 or higher.

*/ inline const Aws::String& GetMinimumProtocolVersion() const{ return m_minimumProtocolVersion; } /** *

The security policy that CloudFront uses for HTTPS connections with viewers. * If SslSupportMethod is sni-only, then * MinimumProtocolVersion must be TLSv1 or higher.

*/ inline bool MinimumProtocolVersionHasBeenSet() const { return m_minimumProtocolVersionHasBeenSet; } /** *

The security policy that CloudFront uses for HTTPS connections with viewers. * If SslSupportMethod is sni-only, then * MinimumProtocolVersion must be TLSv1 or higher.

*/ inline void SetMinimumProtocolVersion(const Aws::String& value) { m_minimumProtocolVersionHasBeenSet = true; m_minimumProtocolVersion = value; } /** *

The security policy that CloudFront uses for HTTPS connections with viewers. * If SslSupportMethod is sni-only, then * MinimumProtocolVersion must be TLSv1 or higher.

*/ inline void SetMinimumProtocolVersion(Aws::String&& value) { m_minimumProtocolVersionHasBeenSet = true; m_minimumProtocolVersion = std::move(value); } /** *

The security policy that CloudFront uses for HTTPS connections with viewers. * If SslSupportMethod is sni-only, then * MinimumProtocolVersion must be TLSv1 or higher.

*/ inline void SetMinimumProtocolVersion(const char* value) { m_minimumProtocolVersionHasBeenSet = true; m_minimumProtocolVersion.assign(value); } /** *

The security policy that CloudFront uses for HTTPS connections with viewers. * If SslSupportMethod is sni-only, then * MinimumProtocolVersion must be TLSv1 or higher.

*/ inline AwsCloudFrontDistributionViewerCertificate& WithMinimumProtocolVersion(const Aws::String& value) { SetMinimumProtocolVersion(value); return *this;} /** *

The security policy that CloudFront uses for HTTPS connections with viewers. * If SslSupportMethod is sni-only, then * MinimumProtocolVersion must be TLSv1 or higher.

*/ inline AwsCloudFrontDistributionViewerCertificate& WithMinimumProtocolVersion(Aws::String&& value) { SetMinimumProtocolVersion(std::move(value)); return *this;} /** *

The security policy that CloudFront uses for HTTPS connections with viewers. * If SslSupportMethod is sni-only, then * MinimumProtocolVersion must be TLSv1 or higher.

*/ inline AwsCloudFrontDistributionViewerCertificate& WithMinimumProtocolVersion(const char* value) { SetMinimumProtocolVersion(value); return *this;} /** *

The viewers that the distribution accepts HTTPS connections from.

*/ inline const Aws::String& GetSslSupportMethod() const{ return m_sslSupportMethod; } /** *

The viewers that the distribution accepts HTTPS connections from.

*/ inline bool SslSupportMethodHasBeenSet() const { return m_sslSupportMethodHasBeenSet; } /** *

The viewers that the distribution accepts HTTPS connections from.

*/ inline void SetSslSupportMethod(const Aws::String& value) { m_sslSupportMethodHasBeenSet = true; m_sslSupportMethod = value; } /** *

The viewers that the distribution accepts HTTPS connections from.

*/ inline void SetSslSupportMethod(Aws::String&& value) { m_sslSupportMethodHasBeenSet = true; m_sslSupportMethod = std::move(value); } /** *

The viewers that the distribution accepts HTTPS connections from.

*/ inline void SetSslSupportMethod(const char* value) { m_sslSupportMethodHasBeenSet = true; m_sslSupportMethod.assign(value); } /** *

The viewers that the distribution accepts HTTPS connections from.

*/ inline AwsCloudFrontDistributionViewerCertificate& WithSslSupportMethod(const Aws::String& value) { SetSslSupportMethod(value); return *this;} /** *

The viewers that the distribution accepts HTTPS connections from.

*/ inline AwsCloudFrontDistributionViewerCertificate& WithSslSupportMethod(Aws::String&& value) { SetSslSupportMethod(std::move(value)); return *this;} /** *

The viewers that the distribution accepts HTTPS connections from.

*/ inline AwsCloudFrontDistributionViewerCertificate& WithSslSupportMethod(const char* value) { SetSslSupportMethod(value); return *this;} private: Aws::String m_acmCertificateArn; bool m_acmCertificateArnHasBeenSet = false; Aws::String m_certificate; bool m_certificateHasBeenSet = false; Aws::String m_certificateSource; bool m_certificateSourceHasBeenSet = false; bool m_cloudFrontDefaultCertificate; bool m_cloudFrontDefaultCertificateHasBeenSet = false; Aws::String m_iamCertificateId; bool m_iamCertificateIdHasBeenSet = false; Aws::String m_minimumProtocolVersion; bool m_minimumProtocolVersionHasBeenSet = false; Aws::String m_sslSupportMethod; bool m_sslSupportMethodHasBeenSet = false; }; } // namespace Model } // namespace SecurityHub } // namespace Aws