/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include The domain name configuration.See Also:
AWS
* API Reference
A domain name for the API.
*/ inline const Aws::String& GetApiGatewayDomainName() const{ return m_apiGatewayDomainName; } /** *A domain name for the API.
*/ inline bool ApiGatewayDomainNameHasBeenSet() const { return m_apiGatewayDomainNameHasBeenSet; } /** *A domain name for the API.
*/ inline void SetApiGatewayDomainName(const Aws::String& value) { m_apiGatewayDomainNameHasBeenSet = true; m_apiGatewayDomainName = value; } /** *A domain name for the API.
*/ inline void SetApiGatewayDomainName(Aws::String&& value) { m_apiGatewayDomainNameHasBeenSet = true; m_apiGatewayDomainName = std::move(value); } /** *A domain name for the API.
*/ inline void SetApiGatewayDomainName(const char* value) { m_apiGatewayDomainNameHasBeenSet = true; m_apiGatewayDomainName.assign(value); } /** *A domain name for the API.
*/ inline DomainNameConfiguration& WithApiGatewayDomainName(const Aws::String& value) { SetApiGatewayDomainName(value); return *this;} /** *A domain name for the API.
*/ inline DomainNameConfiguration& WithApiGatewayDomainName(Aws::String&& value) { SetApiGatewayDomainName(std::move(value)); return *this;} /** *A domain name for the API.
*/ inline DomainNameConfiguration& WithApiGatewayDomainName(const char* value) { SetApiGatewayDomainName(value); return *this;} /** *An AWS-managed certificate that will be used by the edge-optimized endpoint * for this domain name. AWS Certificate Manager is the only supported source.
*/ inline const Aws::String& GetCertificateArn() const{ return m_certificateArn; } /** *An AWS-managed certificate that will be used by the edge-optimized endpoint * for this domain name. AWS Certificate Manager is the only supported source.
*/ inline bool CertificateArnHasBeenSet() const { return m_certificateArnHasBeenSet; } /** *An AWS-managed certificate that will be used by the edge-optimized endpoint * for this domain name. AWS Certificate Manager is the only supported source.
*/ inline void SetCertificateArn(const Aws::String& value) { m_certificateArnHasBeenSet = true; m_certificateArn = value; } /** *An AWS-managed certificate that will be used by the edge-optimized endpoint * for this domain name. AWS Certificate Manager is the only supported source.
*/ inline void SetCertificateArn(Aws::String&& value) { m_certificateArnHasBeenSet = true; m_certificateArn = std::move(value); } /** *An AWS-managed certificate that will be used by the edge-optimized endpoint * for this domain name. AWS Certificate Manager is the only supported source.
*/ inline void SetCertificateArn(const char* value) { m_certificateArnHasBeenSet = true; m_certificateArn.assign(value); } /** *An AWS-managed certificate that will be used by the edge-optimized endpoint * for this domain name. AWS Certificate Manager is the only supported source.
*/ inline DomainNameConfiguration& WithCertificateArn(const Aws::String& value) { SetCertificateArn(value); return *this;} /** *An AWS-managed certificate that will be used by the edge-optimized endpoint * for this domain name. AWS Certificate Manager is the only supported source.
*/ inline DomainNameConfiguration& WithCertificateArn(Aws::String&& value) { SetCertificateArn(std::move(value)); return *this;} /** *An AWS-managed certificate that will be used by the edge-optimized endpoint * for this domain name. AWS Certificate Manager is the only supported source.
*/ inline DomainNameConfiguration& WithCertificateArn(const char* value) { SetCertificateArn(value); return *this;} /** *The user-friendly name of the certificate that will be used by the * edge-optimized endpoint for this domain name.
*/ inline const Aws::String& GetCertificateName() const{ return m_certificateName; } /** *The user-friendly name of the certificate that will be used by the * edge-optimized endpoint for this domain name.
*/ inline bool CertificateNameHasBeenSet() const { return m_certificateNameHasBeenSet; } /** *The user-friendly name of the certificate that will be used by the * edge-optimized endpoint for this domain name.
*/ inline void SetCertificateName(const Aws::String& value) { m_certificateNameHasBeenSet = true; m_certificateName = value; } /** *The user-friendly name of the certificate that will be used by the * edge-optimized endpoint for this domain name.
*/ inline void SetCertificateName(Aws::String&& value) { m_certificateNameHasBeenSet = true; m_certificateName = std::move(value); } /** *The user-friendly name of the certificate that will be used by the * edge-optimized endpoint for this domain name.
*/ inline void SetCertificateName(const char* value) { m_certificateNameHasBeenSet = true; m_certificateName.assign(value); } /** *The user-friendly name of the certificate that will be used by the * edge-optimized endpoint for this domain name.
*/ inline DomainNameConfiguration& WithCertificateName(const Aws::String& value) { SetCertificateName(value); return *this;} /** *The user-friendly name of the certificate that will be used by the * edge-optimized endpoint for this domain name.
*/ inline DomainNameConfiguration& WithCertificateName(Aws::String&& value) { SetCertificateName(std::move(value)); return *this;} /** *The user-friendly name of the certificate that will be used by the * edge-optimized endpoint for this domain name.
*/ inline DomainNameConfiguration& WithCertificateName(const char* value) { SetCertificateName(value); return *this;} /** *The timestamp when the certificate that was used by edge-optimized endpoint * for this domain name was uploaded.
*/ inline const Aws::Utils::DateTime& GetCertificateUploadDate() const{ return m_certificateUploadDate; } /** *The timestamp when the certificate that was used by edge-optimized endpoint * for this domain name was uploaded.
*/ inline bool CertificateUploadDateHasBeenSet() const { return m_certificateUploadDateHasBeenSet; } /** *The timestamp when the certificate that was used by edge-optimized endpoint * for this domain name was uploaded.
*/ inline void SetCertificateUploadDate(const Aws::Utils::DateTime& value) { m_certificateUploadDateHasBeenSet = true; m_certificateUploadDate = value; } /** *The timestamp when the certificate that was used by edge-optimized endpoint * for this domain name was uploaded.
*/ inline void SetCertificateUploadDate(Aws::Utils::DateTime&& value) { m_certificateUploadDateHasBeenSet = true; m_certificateUploadDate = std::move(value); } /** *The timestamp when the certificate that was used by edge-optimized endpoint * for this domain name was uploaded.
*/ inline DomainNameConfiguration& WithCertificateUploadDate(const Aws::Utils::DateTime& value) { SetCertificateUploadDate(value); return *this;} /** *The timestamp when the certificate that was used by edge-optimized endpoint * for this domain name was uploaded.
*/ inline DomainNameConfiguration& WithCertificateUploadDate(Aws::Utils::DateTime&& value) { SetCertificateUploadDate(std::move(value)); return *this;} /** *The status of the domain name migration. The valid values are AVAILABLE, * UPDATING, PENDING_CERTIFICATE_REIMPORT, and PENDING_OWNERSHIP_VERIFICATION. If * the status is UPDATING, the domain cannot be modified further until the existing * operation is complete. If it is AVAILABLE, the domain can be updated.
*/ inline const DomainNameStatus& GetDomainNameStatus() const{ return m_domainNameStatus; } /** *The status of the domain name migration. The valid values are AVAILABLE, * UPDATING, PENDING_CERTIFICATE_REIMPORT, and PENDING_OWNERSHIP_VERIFICATION. If * the status is UPDATING, the domain cannot be modified further until the existing * operation is complete. If it is AVAILABLE, the domain can be updated.
*/ inline bool DomainNameStatusHasBeenSet() const { return m_domainNameStatusHasBeenSet; } /** *The status of the domain name migration. The valid values are AVAILABLE, * UPDATING, PENDING_CERTIFICATE_REIMPORT, and PENDING_OWNERSHIP_VERIFICATION. If * the status is UPDATING, the domain cannot be modified further until the existing * operation is complete. If it is AVAILABLE, the domain can be updated.
*/ inline void SetDomainNameStatus(const DomainNameStatus& value) { m_domainNameStatusHasBeenSet = true; m_domainNameStatus = value; } /** *The status of the domain name migration. The valid values are AVAILABLE, * UPDATING, PENDING_CERTIFICATE_REIMPORT, and PENDING_OWNERSHIP_VERIFICATION. If * the status is UPDATING, the domain cannot be modified further until the existing * operation is complete. If it is AVAILABLE, the domain can be updated.
*/ inline void SetDomainNameStatus(DomainNameStatus&& value) { m_domainNameStatusHasBeenSet = true; m_domainNameStatus = std::move(value); } /** *The status of the domain name migration. The valid values are AVAILABLE, * UPDATING, PENDING_CERTIFICATE_REIMPORT, and PENDING_OWNERSHIP_VERIFICATION. If * the status is UPDATING, the domain cannot be modified further until the existing * operation is complete. If it is AVAILABLE, the domain can be updated.
*/ inline DomainNameConfiguration& WithDomainNameStatus(const DomainNameStatus& value) { SetDomainNameStatus(value); return *this;} /** *The status of the domain name migration. The valid values are AVAILABLE, * UPDATING, PENDING_CERTIFICATE_REIMPORT, and PENDING_OWNERSHIP_VERIFICATION. If * the status is UPDATING, the domain cannot be modified further until the existing * operation is complete. If it is AVAILABLE, the domain can be updated.
*/ inline DomainNameConfiguration& WithDomainNameStatus(DomainNameStatus&& value) { SetDomainNameStatus(std::move(value)); return *this;} /** *An optional text message containing detailed information about status of the * domain name migration.
*/ inline const Aws::String& GetDomainNameStatusMessage() const{ return m_domainNameStatusMessage; } /** *An optional text message containing detailed information about status of the * domain name migration.
*/ inline bool DomainNameStatusMessageHasBeenSet() const { return m_domainNameStatusMessageHasBeenSet; } /** *An optional text message containing detailed information about status of the * domain name migration.
*/ inline void SetDomainNameStatusMessage(const Aws::String& value) { m_domainNameStatusMessageHasBeenSet = true; m_domainNameStatusMessage = value; } /** *An optional text message containing detailed information about status of the * domain name migration.
*/ inline void SetDomainNameStatusMessage(Aws::String&& value) { m_domainNameStatusMessageHasBeenSet = true; m_domainNameStatusMessage = std::move(value); } /** *An optional text message containing detailed information about status of the * domain name migration.
*/ inline void SetDomainNameStatusMessage(const char* value) { m_domainNameStatusMessageHasBeenSet = true; m_domainNameStatusMessage.assign(value); } /** *An optional text message containing detailed information about status of the * domain name migration.
*/ inline DomainNameConfiguration& WithDomainNameStatusMessage(const Aws::String& value) { SetDomainNameStatusMessage(value); return *this;} /** *An optional text message containing detailed information about status of the * domain name migration.
*/ inline DomainNameConfiguration& WithDomainNameStatusMessage(Aws::String&& value) { SetDomainNameStatusMessage(std::move(value)); return *this;} /** *An optional text message containing detailed information about status of the * domain name migration.
*/ inline DomainNameConfiguration& WithDomainNameStatusMessage(const char* value) { SetDomainNameStatusMessage(value); return *this;} /** *The endpoint type.
*/ inline const EndpointType& GetEndpointType() const{ return m_endpointType; } /** *The endpoint type.
*/ inline bool EndpointTypeHasBeenSet() const { return m_endpointTypeHasBeenSet; } /** *The endpoint type.
*/ inline void SetEndpointType(const EndpointType& value) { m_endpointTypeHasBeenSet = true; m_endpointType = value; } /** *The endpoint type.
*/ inline void SetEndpointType(EndpointType&& value) { m_endpointTypeHasBeenSet = true; m_endpointType = std::move(value); } /** *The endpoint type.
*/ inline DomainNameConfiguration& WithEndpointType(const EndpointType& value) { SetEndpointType(value); return *this;} /** *The endpoint type.
*/ inline DomainNameConfiguration& WithEndpointType(EndpointType&& value) { SetEndpointType(std::move(value)); return *this;} /** *The Amazon Route 53 Hosted Zone ID of the endpoint.
*/ inline const Aws::String& GetHostedZoneId() const{ return m_hostedZoneId; } /** *The Amazon Route 53 Hosted Zone ID of the endpoint.
*/ inline bool HostedZoneIdHasBeenSet() const { return m_hostedZoneIdHasBeenSet; } /** *The Amazon Route 53 Hosted Zone ID of the endpoint.
*/ inline void SetHostedZoneId(const Aws::String& value) { m_hostedZoneIdHasBeenSet = true; m_hostedZoneId = value; } /** *The Amazon Route 53 Hosted Zone ID of the endpoint.
*/ inline void SetHostedZoneId(Aws::String&& value) { m_hostedZoneIdHasBeenSet = true; m_hostedZoneId = std::move(value); } /** *The Amazon Route 53 Hosted Zone ID of the endpoint.
*/ inline void SetHostedZoneId(const char* value) { m_hostedZoneIdHasBeenSet = true; m_hostedZoneId.assign(value); } /** *The Amazon Route 53 Hosted Zone ID of the endpoint.
*/ inline DomainNameConfiguration& WithHostedZoneId(const Aws::String& value) { SetHostedZoneId(value); return *this;} /** *The Amazon Route 53 Hosted Zone ID of the endpoint.
*/ inline DomainNameConfiguration& WithHostedZoneId(Aws::String&& value) { SetHostedZoneId(std::move(value)); return *this;} /** *The Amazon Route 53 Hosted Zone ID of the endpoint.
*/ inline DomainNameConfiguration& WithHostedZoneId(const char* value) { SetHostedZoneId(value); return *this;} /** *The Transport Layer Security (TLS) version of the security policy for this * domain name. The valid values are TLS_1_0 and TLS_1_2.
*/ inline const SecurityPolicy& GetSecurityPolicy() const{ return m_securityPolicy; } /** *The Transport Layer Security (TLS) version of the security policy for this * domain name. The valid values are TLS_1_0 and TLS_1_2.
*/ inline bool SecurityPolicyHasBeenSet() const { return m_securityPolicyHasBeenSet; } /** *The Transport Layer Security (TLS) version of the security policy for this * domain name. The valid values are TLS_1_0 and TLS_1_2.
*/ inline void SetSecurityPolicy(const SecurityPolicy& value) { m_securityPolicyHasBeenSet = true; m_securityPolicy = value; } /** *The Transport Layer Security (TLS) version of the security policy for this * domain name. The valid values are TLS_1_0 and TLS_1_2.
*/ inline void SetSecurityPolicy(SecurityPolicy&& value) { m_securityPolicyHasBeenSet = true; m_securityPolicy = std::move(value); } /** *The Transport Layer Security (TLS) version of the security policy for this * domain name. The valid values are TLS_1_0 and TLS_1_2.
*/ inline DomainNameConfiguration& WithSecurityPolicy(const SecurityPolicy& value) { SetSecurityPolicy(value); return *this;} /** *The Transport Layer Security (TLS) version of the security policy for this * domain name. The valid values are TLS_1_0 and TLS_1_2.
*/ inline DomainNameConfiguration& WithSecurityPolicy(SecurityPolicy&& value) { SetSecurityPolicy(std::move(value)); return *this;} /** *The ARN of the public certificate issued by ACM to validate ownership of your * custom domain. Only required when configuring mutual TLS and using an ACM * imported or private CA certificate ARN as the regionalCertificateArn
*/ inline const Aws::String& GetOwnershipVerificationCertificateArn() const{ return m_ownershipVerificationCertificateArn; } /** *The ARN of the public certificate issued by ACM to validate ownership of your * custom domain. Only required when configuring mutual TLS and using an ACM * imported or private CA certificate ARN as the regionalCertificateArn
*/ inline bool OwnershipVerificationCertificateArnHasBeenSet() const { return m_ownershipVerificationCertificateArnHasBeenSet; } /** *The ARN of the public certificate issued by ACM to validate ownership of your * custom domain. Only required when configuring mutual TLS and using an ACM * imported or private CA certificate ARN as the regionalCertificateArn
*/ inline void SetOwnershipVerificationCertificateArn(const Aws::String& value) { m_ownershipVerificationCertificateArnHasBeenSet = true; m_ownershipVerificationCertificateArn = value; } /** *The ARN of the public certificate issued by ACM to validate ownership of your * custom domain. Only required when configuring mutual TLS and using an ACM * imported or private CA certificate ARN as the regionalCertificateArn
*/ inline void SetOwnershipVerificationCertificateArn(Aws::String&& value) { m_ownershipVerificationCertificateArnHasBeenSet = true; m_ownershipVerificationCertificateArn = std::move(value); } /** *The ARN of the public certificate issued by ACM to validate ownership of your * custom domain. Only required when configuring mutual TLS and using an ACM * imported or private CA certificate ARN as the regionalCertificateArn
*/ inline void SetOwnershipVerificationCertificateArn(const char* value) { m_ownershipVerificationCertificateArnHasBeenSet = true; m_ownershipVerificationCertificateArn.assign(value); } /** *The ARN of the public certificate issued by ACM to validate ownership of your * custom domain. Only required when configuring mutual TLS and using an ACM * imported or private CA certificate ARN as the regionalCertificateArn
*/ inline DomainNameConfiguration& WithOwnershipVerificationCertificateArn(const Aws::String& value) { SetOwnershipVerificationCertificateArn(value); return *this;} /** *The ARN of the public certificate issued by ACM to validate ownership of your * custom domain. Only required when configuring mutual TLS and using an ACM * imported or private CA certificate ARN as the regionalCertificateArn
*/ inline DomainNameConfiguration& WithOwnershipVerificationCertificateArn(Aws::String&& value) { SetOwnershipVerificationCertificateArn(std::move(value)); return *this;} /** *The ARN of the public certificate issued by ACM to validate ownership of your * custom domain. Only required when configuring mutual TLS and using an ACM * imported or private CA certificate ARN as the regionalCertificateArn
*/ inline DomainNameConfiguration& WithOwnershipVerificationCertificateArn(const char* value) { SetOwnershipVerificationCertificateArn(value); return *this;} private: Aws::String m_apiGatewayDomainName; bool m_apiGatewayDomainNameHasBeenSet = false; Aws::String m_certificateArn; bool m_certificateArnHasBeenSet = false; Aws::String m_certificateName; bool m_certificateNameHasBeenSet = false; Aws::Utils::DateTime m_certificateUploadDate; bool m_certificateUploadDateHasBeenSet = false; DomainNameStatus m_domainNameStatus; bool m_domainNameStatusHasBeenSet = false; Aws::String m_domainNameStatusMessage; bool m_domainNameStatusMessageHasBeenSet = false; EndpointType m_endpointType; bool m_endpointTypeHasBeenSet = false; Aws::String m_hostedZoneId; bool m_hostedZoneIdHasBeenSet = false; SecurityPolicy m_securityPolicy; bool m_securityPolicyHasBeenSet = false; Aws::String m_ownershipVerificationCertificateArn; bool m_ownershipVerificationCertificateArnHasBeenSet = false; }; } // namespace Model } // namespace ApiGatewayV2 } // namespace Aws