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

Represents a custom domain name as a user-friendly host name of an API * (RestApi).

See Also:

AWS * API Reference

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

The custom domain name as an API host name, for example, * my-api.example.com.

*/ inline const Aws::String& GetDomainName() const{ return m_domainName; } /** *

The custom domain name as an API host name, for example, * my-api.example.com.

*/ inline bool DomainNameHasBeenSet() const { return m_domainNameHasBeenSet; } /** *

The custom domain name as an API host name, for example, * my-api.example.com.

*/ inline void SetDomainName(const Aws::String& value) { m_domainNameHasBeenSet = true; m_domainName = value; } /** *

The custom domain name as an API host name, for example, * my-api.example.com.

*/ inline void SetDomainName(Aws::String&& value) { m_domainNameHasBeenSet = true; m_domainName = std::move(value); } /** *

The custom domain name as an API host name, for example, * my-api.example.com.

*/ inline void SetDomainName(const char* value) { m_domainNameHasBeenSet = true; m_domainName.assign(value); } /** *

The custom domain name as an API host name, for example, * my-api.example.com.

*/ inline DomainName& WithDomainName(const Aws::String& value) { SetDomainName(value); return *this;} /** *

The custom domain name as an API host name, for example, * my-api.example.com.

*/ inline DomainName& WithDomainName(Aws::String&& value) { SetDomainName(std::move(value)); return *this;} /** *

The custom domain name as an API host name, for example, * my-api.example.com.

*/ inline DomainName& WithDomainName(const char* value) { SetDomainName(value); return *this;} /** *

The name of the certificate that will be used by edge-optimized endpoint for * this domain name.

*/ inline const Aws::String& GetCertificateName() const{ return m_certificateName; } /** *

The name of the certificate that will be used by edge-optimized endpoint for * this domain name.

*/ inline bool CertificateNameHasBeenSet() const { return m_certificateNameHasBeenSet; } /** *

The name of the certificate that will be used by edge-optimized endpoint for * this domain name.

*/ inline void SetCertificateName(const Aws::String& value) { m_certificateNameHasBeenSet = true; m_certificateName = value; } /** *

The name of the certificate that will be used by edge-optimized endpoint for * this domain name.

*/ inline void SetCertificateName(Aws::String&& value) { m_certificateNameHasBeenSet = true; m_certificateName = std::move(value); } /** *

The name of the certificate that will be used by edge-optimized endpoint for * this domain name.

*/ inline void SetCertificateName(const char* value) { m_certificateNameHasBeenSet = true; m_certificateName.assign(value); } /** *

The name of the certificate that will be used by edge-optimized endpoint for * this domain name.

*/ inline DomainName& WithCertificateName(const Aws::String& value) { SetCertificateName(value); return *this;} /** *

The name of the certificate that will be used by edge-optimized endpoint for * this domain name.

*/ inline DomainName& WithCertificateName(Aws::String&& value) { SetCertificateName(std::move(value)); return *this;} /** *

The name of the certificate that will be used by edge-optimized endpoint for * this domain name.

*/ inline DomainName& WithCertificateName(const char* value) { SetCertificateName(value); return *this;} /** *

The reference to an AWS-managed certificate that will be used by * edge-optimized endpoint for this domain name. AWS Certificate Manager is the * only supported source.

*/ inline const Aws::String& GetCertificateArn() const{ return m_certificateArn; } /** *

The reference to an AWS-managed certificate that will be used by * edge-optimized endpoint for this domain name. AWS Certificate Manager is the * only supported source.

*/ inline bool CertificateArnHasBeenSet() const { return m_certificateArnHasBeenSet; } /** *

The reference to an AWS-managed certificate that will be used by * 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; } /** *

The reference to an AWS-managed certificate that will be used by * 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); } /** *

The reference to an AWS-managed certificate that will be used by * 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); } /** *

The reference to an AWS-managed certificate that will be used by * edge-optimized endpoint for this domain name. AWS Certificate Manager is the * only supported source.

*/ inline DomainName& WithCertificateArn(const Aws::String& value) { SetCertificateArn(value); return *this;} /** *

The reference to an AWS-managed certificate that will be used by * edge-optimized endpoint for this domain name. AWS Certificate Manager is the * only supported source.

*/ inline DomainName& WithCertificateArn(Aws::String&& value) { SetCertificateArn(std::move(value)); return *this;} /** *

The reference to an AWS-managed certificate that will be used by * edge-optimized endpoint for this domain name. AWS Certificate Manager is the * only supported source.

*/ inline DomainName& WithCertificateArn(const char* value) { SetCertificateArn(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 DomainName& 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 DomainName& WithCertificateUploadDate(Aws::Utils::DateTime&& value) { SetCertificateUploadDate(std::move(value)); return *this;} /** *

The domain name associated with the regional endpoint for this custom domain * name. You set up this association by adding a DNS record that points the custom * domain name to this regional domain name. The regional domain name is returned * by API Gateway when you create a regional endpoint.

*/ inline const Aws::String& GetRegionalDomainName() const{ return m_regionalDomainName; } /** *

The domain name associated with the regional endpoint for this custom domain * name. You set up this association by adding a DNS record that points the custom * domain name to this regional domain name. The regional domain name is returned * by API Gateway when you create a regional endpoint.

*/ inline bool RegionalDomainNameHasBeenSet() const { return m_regionalDomainNameHasBeenSet; } /** *

The domain name associated with the regional endpoint for this custom domain * name. You set up this association by adding a DNS record that points the custom * domain name to this regional domain name. The regional domain name is returned * by API Gateway when you create a regional endpoint.

*/ inline void SetRegionalDomainName(const Aws::String& value) { m_regionalDomainNameHasBeenSet = true; m_regionalDomainName = value; } /** *

The domain name associated with the regional endpoint for this custom domain * name. You set up this association by adding a DNS record that points the custom * domain name to this regional domain name. The regional domain name is returned * by API Gateway when you create a regional endpoint.

*/ inline void SetRegionalDomainName(Aws::String&& value) { m_regionalDomainNameHasBeenSet = true; m_regionalDomainName = std::move(value); } /** *

The domain name associated with the regional endpoint for this custom domain * name. You set up this association by adding a DNS record that points the custom * domain name to this regional domain name. The regional domain name is returned * by API Gateway when you create a regional endpoint.

*/ inline void SetRegionalDomainName(const char* value) { m_regionalDomainNameHasBeenSet = true; m_regionalDomainName.assign(value); } /** *

The domain name associated with the regional endpoint for this custom domain * name. You set up this association by adding a DNS record that points the custom * domain name to this regional domain name. The regional domain name is returned * by API Gateway when you create a regional endpoint.

*/ inline DomainName& WithRegionalDomainName(const Aws::String& value) { SetRegionalDomainName(value); return *this;} /** *

The domain name associated with the regional endpoint for this custom domain * name. You set up this association by adding a DNS record that points the custom * domain name to this regional domain name. The regional domain name is returned * by API Gateway when you create a regional endpoint.

*/ inline DomainName& WithRegionalDomainName(Aws::String&& value) { SetRegionalDomainName(std::move(value)); return *this;} /** *

The domain name associated with the regional endpoint for this custom domain * name. You set up this association by adding a DNS record that points the custom * domain name to this regional domain name. The regional domain name is returned * by API Gateway when you create a regional endpoint.

*/ inline DomainName& WithRegionalDomainName(const char* value) { SetRegionalDomainName(value); return *this;} /** *

The region-specific Amazon Route 53 Hosted Zone ID of the regional endpoint. * For more information, see Set up a Regional Custom Domain Name and AWS Regions * and Endpoints for API Gateway.

*/ inline const Aws::String& GetRegionalHostedZoneId() const{ return m_regionalHostedZoneId; } /** *

The region-specific Amazon Route 53 Hosted Zone ID of the regional endpoint. * For more information, see Set up a Regional Custom Domain Name and AWS Regions * and Endpoints for API Gateway.

*/ inline bool RegionalHostedZoneIdHasBeenSet() const { return m_regionalHostedZoneIdHasBeenSet; } /** *

The region-specific Amazon Route 53 Hosted Zone ID of the regional endpoint. * For more information, see Set up a Regional Custom Domain Name and AWS Regions * and Endpoints for API Gateway.

*/ inline void SetRegionalHostedZoneId(const Aws::String& value) { m_regionalHostedZoneIdHasBeenSet = true; m_regionalHostedZoneId = value; } /** *

The region-specific Amazon Route 53 Hosted Zone ID of the regional endpoint. * For more information, see Set up a Regional Custom Domain Name and AWS Regions * and Endpoints for API Gateway.

*/ inline void SetRegionalHostedZoneId(Aws::String&& value) { m_regionalHostedZoneIdHasBeenSet = true; m_regionalHostedZoneId = std::move(value); } /** *

The region-specific Amazon Route 53 Hosted Zone ID of the regional endpoint. * For more information, see Set up a Regional Custom Domain Name and AWS Regions * and Endpoints for API Gateway.

*/ inline void SetRegionalHostedZoneId(const char* value) { m_regionalHostedZoneIdHasBeenSet = true; m_regionalHostedZoneId.assign(value); } /** *

The region-specific Amazon Route 53 Hosted Zone ID of the regional endpoint. * For more information, see Set up a Regional Custom Domain Name and AWS Regions * and Endpoints for API Gateway.

*/ inline DomainName& WithRegionalHostedZoneId(const Aws::String& value) { SetRegionalHostedZoneId(value); return *this;} /** *

The region-specific Amazon Route 53 Hosted Zone ID of the regional endpoint. * For more information, see Set up a Regional Custom Domain Name and AWS Regions * and Endpoints for API Gateway.

*/ inline DomainName& WithRegionalHostedZoneId(Aws::String&& value) { SetRegionalHostedZoneId(std::move(value)); return *this;} /** *

The region-specific Amazon Route 53 Hosted Zone ID of the regional endpoint. * For more information, see Set up a Regional Custom Domain Name and AWS Regions * and Endpoints for API Gateway.

*/ inline DomainName& WithRegionalHostedZoneId(const char* value) { SetRegionalHostedZoneId(value); return *this;} /** *

The name of the certificate that will be used for validating the regional * domain name.

*/ inline const Aws::String& GetRegionalCertificateName() const{ return m_regionalCertificateName; } /** *

The name of the certificate that will be used for validating the regional * domain name.

*/ inline bool RegionalCertificateNameHasBeenSet() const { return m_regionalCertificateNameHasBeenSet; } /** *

The name of the certificate that will be used for validating the regional * domain name.

*/ inline void SetRegionalCertificateName(const Aws::String& value) { m_regionalCertificateNameHasBeenSet = true; m_regionalCertificateName = value; } /** *

The name of the certificate that will be used for validating the regional * domain name.

*/ inline void SetRegionalCertificateName(Aws::String&& value) { m_regionalCertificateNameHasBeenSet = true; m_regionalCertificateName = std::move(value); } /** *

The name of the certificate that will be used for validating the regional * domain name.

*/ inline void SetRegionalCertificateName(const char* value) { m_regionalCertificateNameHasBeenSet = true; m_regionalCertificateName.assign(value); } /** *

The name of the certificate that will be used for validating the regional * domain name.

*/ inline DomainName& WithRegionalCertificateName(const Aws::String& value) { SetRegionalCertificateName(value); return *this;} /** *

The name of the certificate that will be used for validating the regional * domain name.

*/ inline DomainName& WithRegionalCertificateName(Aws::String&& value) { SetRegionalCertificateName(std::move(value)); return *this;} /** *

The name of the certificate that will be used for validating the regional * domain name.

*/ inline DomainName& WithRegionalCertificateName(const char* value) { SetRegionalCertificateName(value); return *this;} /** *

The reference to an AWS-managed certificate that will be used for validating * the regional domain name. AWS Certificate Manager is the only supported * source.

*/ inline const Aws::String& GetRegionalCertificateArn() const{ return m_regionalCertificateArn; } /** *

The reference to an AWS-managed certificate that will be used for validating * the regional domain name. AWS Certificate Manager is the only supported * source.

*/ inline bool RegionalCertificateArnHasBeenSet() const { return m_regionalCertificateArnHasBeenSet; } /** *

The reference to an AWS-managed certificate that will be used for validating * the regional domain name. AWS Certificate Manager is the only supported * source.

*/ inline void SetRegionalCertificateArn(const Aws::String& value) { m_regionalCertificateArnHasBeenSet = true; m_regionalCertificateArn = value; } /** *

The reference to an AWS-managed certificate that will be used for validating * the regional domain name. AWS Certificate Manager is the only supported * source.

*/ inline void SetRegionalCertificateArn(Aws::String&& value) { m_regionalCertificateArnHasBeenSet = true; m_regionalCertificateArn = std::move(value); } /** *

The reference to an AWS-managed certificate that will be used for validating * the regional domain name. AWS Certificate Manager is the only supported * source.

*/ inline void SetRegionalCertificateArn(const char* value) { m_regionalCertificateArnHasBeenSet = true; m_regionalCertificateArn.assign(value); } /** *

The reference to an AWS-managed certificate that will be used for validating * the regional domain name. AWS Certificate Manager is the only supported * source.

*/ inline DomainName& WithRegionalCertificateArn(const Aws::String& value) { SetRegionalCertificateArn(value); return *this;} /** *

The reference to an AWS-managed certificate that will be used for validating * the regional domain name. AWS Certificate Manager is the only supported * source.

*/ inline DomainName& WithRegionalCertificateArn(Aws::String&& value) { SetRegionalCertificateArn(std::move(value)); return *this;} /** *

The reference to an AWS-managed certificate that will be used for validating * the regional domain name. AWS Certificate Manager is the only supported * source.

*/ inline DomainName& WithRegionalCertificateArn(const char* value) { SetRegionalCertificateArn(value); return *this;} /** *

The domain name of the Amazon CloudFront distribution associated with this * custom domain name for an edge-optimized endpoint. You set up this association * when adding a DNS record pointing the custom domain name to this distribution * name. For more information about CloudFront distributions, see the Amazon * CloudFront documentation.

*/ inline const Aws::String& GetDistributionDomainName() const{ return m_distributionDomainName; } /** *

The domain name of the Amazon CloudFront distribution associated with this * custom domain name for an edge-optimized endpoint. You set up this association * when adding a DNS record pointing the custom domain name to this distribution * name. For more information about CloudFront distributions, see the Amazon * CloudFront documentation.

*/ inline bool DistributionDomainNameHasBeenSet() const { return m_distributionDomainNameHasBeenSet; } /** *

The domain name of the Amazon CloudFront distribution associated with this * custom domain name for an edge-optimized endpoint. You set up this association * when adding a DNS record pointing the custom domain name to this distribution * name. For more information about CloudFront distributions, see the Amazon * CloudFront documentation.

*/ inline void SetDistributionDomainName(const Aws::String& value) { m_distributionDomainNameHasBeenSet = true; m_distributionDomainName = value; } /** *

The domain name of the Amazon CloudFront distribution associated with this * custom domain name for an edge-optimized endpoint. You set up this association * when adding a DNS record pointing the custom domain name to this distribution * name. For more information about CloudFront distributions, see the Amazon * CloudFront documentation.

*/ inline void SetDistributionDomainName(Aws::String&& value) { m_distributionDomainNameHasBeenSet = true; m_distributionDomainName = std::move(value); } /** *

The domain name of the Amazon CloudFront distribution associated with this * custom domain name for an edge-optimized endpoint. You set up this association * when adding a DNS record pointing the custom domain name to this distribution * name. For more information about CloudFront distributions, see the Amazon * CloudFront documentation.

*/ inline void SetDistributionDomainName(const char* value) { m_distributionDomainNameHasBeenSet = true; m_distributionDomainName.assign(value); } /** *

The domain name of the Amazon CloudFront distribution associated with this * custom domain name for an edge-optimized endpoint. You set up this association * when adding a DNS record pointing the custom domain name to this distribution * name. For more information about CloudFront distributions, see the Amazon * CloudFront documentation.

*/ inline DomainName& WithDistributionDomainName(const Aws::String& value) { SetDistributionDomainName(value); return *this;} /** *

The domain name of the Amazon CloudFront distribution associated with this * custom domain name for an edge-optimized endpoint. You set up this association * when adding a DNS record pointing the custom domain name to this distribution * name. For more information about CloudFront distributions, see the Amazon * CloudFront documentation.

*/ inline DomainName& WithDistributionDomainName(Aws::String&& value) { SetDistributionDomainName(std::move(value)); return *this;} /** *

The domain name of the Amazon CloudFront distribution associated with this * custom domain name for an edge-optimized endpoint. You set up this association * when adding a DNS record pointing the custom domain name to this distribution * name. For more information about CloudFront distributions, see the Amazon * CloudFront documentation.

*/ inline DomainName& WithDistributionDomainName(const char* value) { SetDistributionDomainName(value); return *this;} /** *

The region-agnostic Amazon Route 53 Hosted Zone ID of the edge-optimized * endpoint. The valid value is Z2FDTNDATAQYW2 for all the regions. * For more information, see Set up a Regional Custom Domain Name and AWS Regions * and Endpoints for API Gateway.

*/ inline const Aws::String& GetDistributionHostedZoneId() const{ return m_distributionHostedZoneId; } /** *

The region-agnostic Amazon Route 53 Hosted Zone ID of the edge-optimized * endpoint. The valid value is Z2FDTNDATAQYW2 for all the regions. * For more information, see Set up a Regional Custom Domain Name and AWS Regions * and Endpoints for API Gateway.

*/ inline bool DistributionHostedZoneIdHasBeenSet() const { return m_distributionHostedZoneIdHasBeenSet; } /** *

The region-agnostic Amazon Route 53 Hosted Zone ID of the edge-optimized * endpoint. The valid value is Z2FDTNDATAQYW2 for all the regions. * For more information, see Set up a Regional Custom Domain Name and AWS Regions * and Endpoints for API Gateway.

*/ inline void SetDistributionHostedZoneId(const Aws::String& value) { m_distributionHostedZoneIdHasBeenSet = true; m_distributionHostedZoneId = value; } /** *

The region-agnostic Amazon Route 53 Hosted Zone ID of the edge-optimized * endpoint. The valid value is Z2FDTNDATAQYW2 for all the regions. * For more information, see Set up a Regional Custom Domain Name and AWS Regions * and Endpoints for API Gateway.

*/ inline void SetDistributionHostedZoneId(Aws::String&& value) { m_distributionHostedZoneIdHasBeenSet = true; m_distributionHostedZoneId = std::move(value); } /** *

The region-agnostic Amazon Route 53 Hosted Zone ID of the edge-optimized * endpoint. The valid value is Z2FDTNDATAQYW2 for all the regions. * For more information, see Set up a Regional Custom Domain Name and AWS Regions * and Endpoints for API Gateway.

*/ inline void SetDistributionHostedZoneId(const char* value) { m_distributionHostedZoneIdHasBeenSet = true; m_distributionHostedZoneId.assign(value); } /** *

The region-agnostic Amazon Route 53 Hosted Zone ID of the edge-optimized * endpoint. The valid value is Z2FDTNDATAQYW2 for all the regions. * For more information, see Set up a Regional Custom Domain Name and AWS Regions * and Endpoints for API Gateway.

*/ inline DomainName& WithDistributionHostedZoneId(const Aws::String& value) { SetDistributionHostedZoneId(value); return *this;} /** *

The region-agnostic Amazon Route 53 Hosted Zone ID of the edge-optimized * endpoint. The valid value is Z2FDTNDATAQYW2 for all the regions. * For more information, see Set up a Regional Custom Domain Name and AWS Regions * and Endpoints for API Gateway.

*/ inline DomainName& WithDistributionHostedZoneId(Aws::String&& value) { SetDistributionHostedZoneId(std::move(value)); return *this;} /** *

The region-agnostic Amazon Route 53 Hosted Zone ID of the edge-optimized * endpoint. The valid value is Z2FDTNDATAQYW2 for all the regions. * For more information, see Set up a Regional Custom Domain Name and AWS Regions * and Endpoints for API Gateway.

*/ inline DomainName& WithDistributionHostedZoneId(const char* value) { SetDistributionHostedZoneId(value); return *this;} /** *

The endpoint configuration of this DomainName showing the endpoint types of * the domain name.

*/ inline const EndpointConfiguration& GetEndpointConfiguration() const{ return m_endpointConfiguration; } /** *

The endpoint configuration of this DomainName showing the endpoint types of * the domain name.

*/ inline bool EndpointConfigurationHasBeenSet() const { return m_endpointConfigurationHasBeenSet; } /** *

The endpoint configuration of this DomainName showing the endpoint types of * the domain name.

*/ inline void SetEndpointConfiguration(const EndpointConfiguration& value) { m_endpointConfigurationHasBeenSet = true; m_endpointConfiguration = value; } /** *

The endpoint configuration of this DomainName showing the endpoint types of * the domain name.

*/ inline void SetEndpointConfiguration(EndpointConfiguration&& value) { m_endpointConfigurationHasBeenSet = true; m_endpointConfiguration = std::move(value); } /** *

The endpoint configuration of this DomainName showing the endpoint types of * the domain name.

*/ inline DomainName& WithEndpointConfiguration(const EndpointConfiguration& value) { SetEndpointConfiguration(value); return *this;} /** *

The endpoint configuration of this DomainName showing the endpoint types of * the domain name.

*/ inline DomainName& WithEndpointConfiguration(EndpointConfiguration&& value) { SetEndpointConfiguration(std::move(value)); return *this;} /** *

The status of the DomainName migration. The valid values are * AVAILABLE and UPDATING. 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 DomainName migration. The valid values are * AVAILABLE and UPDATING. 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 DomainName migration. The valid values are * AVAILABLE and UPDATING. 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 DomainName migration. The valid values are * AVAILABLE and UPDATING. 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 DomainName migration. The valid values are * AVAILABLE and UPDATING. 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 DomainName& WithDomainNameStatus(const DomainNameStatus& value) { SetDomainNameStatus(value); return *this;} /** *

The status of the DomainName migration. The valid values are * AVAILABLE and UPDATING. 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 DomainName& WithDomainNameStatus(DomainNameStatus&& value) { SetDomainNameStatus(std::move(value)); return *this;} /** *

An optional text message containing detailed information about status of the * DomainName migration.

*/ inline const Aws::String& GetDomainNameStatusMessage() const{ return m_domainNameStatusMessage; } /** *

An optional text message containing detailed information about status of the * DomainName migration.

*/ inline bool DomainNameStatusMessageHasBeenSet() const { return m_domainNameStatusMessageHasBeenSet; } /** *

An optional text message containing detailed information about status of the * DomainName 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 * DomainName 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 * DomainName 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 * DomainName migration.

*/ inline DomainName& WithDomainNameStatusMessage(const Aws::String& value) { SetDomainNameStatusMessage(value); return *this;} /** *

An optional text message containing detailed information about status of the * DomainName migration.

*/ inline DomainName& WithDomainNameStatusMessage(Aws::String&& value) { SetDomainNameStatusMessage(std::move(value)); return *this;} /** *

An optional text message containing detailed information about status of the * DomainName migration.

*/ inline DomainName& WithDomainNameStatusMessage(const char* value) { SetDomainNameStatusMessage(value); return *this;} /** *

The Transport Layer Security (TLS) version + cipher suite for this * DomainName. 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 + cipher suite for this * DomainName. The valid values are TLS_1_0 and * TLS_1_2.

*/ inline bool SecurityPolicyHasBeenSet() const { return m_securityPolicyHasBeenSet; } /** *

The Transport Layer Security (TLS) version + cipher suite for this * DomainName. 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 + cipher suite for this * DomainName. 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 + cipher suite for this * DomainName. The valid values are TLS_1_0 and * TLS_1_2.

*/ inline DomainName& WithSecurityPolicy(const SecurityPolicy& value) { SetSecurityPolicy(value); return *this;} /** *

The Transport Layer Security (TLS) version + cipher suite for this * DomainName. The valid values are TLS_1_0 and * TLS_1_2.

*/ inline DomainName& WithSecurityPolicy(SecurityPolicy&& value) { SetSecurityPolicy(std::move(value)); return *this;} /** *

The collection of tags. Each tag element is associated with a given * resource.

*/ inline const Aws::Map& GetTags() const{ return m_tags; } /** *

The collection of tags. Each tag element is associated with a given * resource.

*/ inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } /** *

The collection of tags. Each tag element is associated with a given * resource.

*/ inline void SetTags(const Aws::Map& value) { m_tagsHasBeenSet = true; m_tags = value; } /** *

The collection of tags. Each tag element is associated with a given * resource.

*/ inline void SetTags(Aws::Map&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } /** *

The collection of tags. Each tag element is associated with a given * resource.

*/ inline DomainName& WithTags(const Aws::Map& value) { SetTags(value); return *this;} /** *

The collection of tags. Each tag element is associated with a given * resource.

*/ inline DomainName& WithTags(Aws::Map&& value) { SetTags(std::move(value)); return *this;} /** *

The collection of tags. Each tag element is associated with a given * resource.

*/ inline DomainName& AddTags(const Aws::String& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } /** *

The collection of tags. Each tag element is associated with a given * resource.

*/ inline DomainName& AddTags(Aws::String&& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } /** *

The collection of tags. Each tag element is associated with a given * resource.

*/ inline DomainName& AddTags(const Aws::String& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } /** *

The collection of tags. Each tag element is associated with a given * resource.

*/ inline DomainName& AddTags(Aws::String&& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), std::move(value)); return *this; } /** *

The collection of tags. Each tag element is associated with a given * resource.

*/ inline DomainName& AddTags(const char* key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } /** *

The collection of tags. Each tag element is associated with a given * resource.

*/ inline DomainName& AddTags(Aws::String&& key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } /** *

The collection of tags. Each tag element is associated with a given * resource.

*/ inline DomainName& AddTags(const char* key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } /** *

The mutual TLS authentication configuration for a custom domain name. If * specified, API Gateway performs two-way authentication between the client and * the server. Clients must present a trusted certificate to access your API.

*/ inline const MutualTlsAuthentication& GetMutualTlsAuthentication() const{ return m_mutualTlsAuthentication; } /** *

The mutual TLS authentication configuration for a custom domain name. If * specified, API Gateway performs two-way authentication between the client and * the server. Clients must present a trusted certificate to access your API.

*/ inline bool MutualTlsAuthenticationHasBeenSet() const { return m_mutualTlsAuthenticationHasBeenSet; } /** *

The mutual TLS authentication configuration for a custom domain name. If * specified, API Gateway performs two-way authentication between the client and * the server. Clients must present a trusted certificate to access your API.

*/ inline void SetMutualTlsAuthentication(const MutualTlsAuthentication& value) { m_mutualTlsAuthenticationHasBeenSet = true; m_mutualTlsAuthentication = value; } /** *

The mutual TLS authentication configuration for a custom domain name. If * specified, API Gateway performs two-way authentication between the client and * the server. Clients must present a trusted certificate to access your API.

*/ inline void SetMutualTlsAuthentication(MutualTlsAuthentication&& value) { m_mutualTlsAuthenticationHasBeenSet = true; m_mutualTlsAuthentication = std::move(value); } /** *

The mutual TLS authentication configuration for a custom domain name. If * specified, API Gateway performs two-way authentication between the client and * the server. Clients must present a trusted certificate to access your API.

*/ inline DomainName& WithMutualTlsAuthentication(const MutualTlsAuthentication& value) { SetMutualTlsAuthentication(value); return *this;} /** *

The mutual TLS authentication configuration for a custom domain name. If * specified, API Gateway performs two-way authentication between the client and * the server. Clients must present a trusted certificate to access your API.

*/ inline DomainName& WithMutualTlsAuthentication(MutualTlsAuthentication&& value) { SetMutualTlsAuthentication(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 DomainName& 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 DomainName& 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 DomainName& WithOwnershipVerificationCertificateArn(const char* value) { SetOwnershipVerificationCertificateArn(value); return *this;} inline const Aws::String& GetRequestId() const{ return m_requestId; } inline bool RequestIdHasBeenSet() const { return m_requestIdHasBeenSet; } inline void SetRequestId(const Aws::String& value) { m_requestIdHasBeenSet = true; m_requestId = value; } inline void SetRequestId(Aws::String&& value) { m_requestIdHasBeenSet = true; m_requestId = std::move(value); } inline void SetRequestId(const char* value) { m_requestIdHasBeenSet = true; m_requestId.assign(value); } inline DomainName& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} inline DomainName& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} inline DomainName& WithRequestId(const char* value) { SetRequestId(value); return *this;} private: Aws::String m_domainName; bool m_domainNameHasBeenSet = false; Aws::String m_certificateName; bool m_certificateNameHasBeenSet = false; Aws::String m_certificateArn; bool m_certificateArnHasBeenSet = false; Aws::Utils::DateTime m_certificateUploadDate; bool m_certificateUploadDateHasBeenSet = false; Aws::String m_regionalDomainName; bool m_regionalDomainNameHasBeenSet = false; Aws::String m_regionalHostedZoneId; bool m_regionalHostedZoneIdHasBeenSet = false; Aws::String m_regionalCertificateName; bool m_regionalCertificateNameHasBeenSet = false; Aws::String m_regionalCertificateArn; bool m_regionalCertificateArnHasBeenSet = false; Aws::String m_distributionDomainName; bool m_distributionDomainNameHasBeenSet = false; Aws::String m_distributionHostedZoneId; bool m_distributionHostedZoneIdHasBeenSet = false; EndpointConfiguration m_endpointConfiguration; bool m_endpointConfigurationHasBeenSet = false; DomainNameStatus m_domainNameStatus; bool m_domainNameStatusHasBeenSet = false; Aws::String m_domainNameStatusMessage; bool m_domainNameStatusMessageHasBeenSet = false; SecurityPolicy m_securityPolicy; bool m_securityPolicyHasBeenSet = false; Aws::Map m_tags; bool m_tagsHasBeenSet = false; MutualTlsAuthentication m_mutualTlsAuthentication; bool m_mutualTlsAuthenticationHasBeenSet = false; Aws::String m_ownershipVerificationCertificateArn; bool m_ownershipVerificationCertificateArnHasBeenSet = false; Aws::String m_requestId; bool m_requestIdHasBeenSet = false; }; } // namespace Model } // namespace APIGateway } // namespace Aws