/* * Copyright 2018-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with * the License. A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions * and limitations under the License. */ package com.amazonaws.services.apigateway.model; import java.io.Serializable; import javax.annotation.Generated; import com.amazonaws.protocol.StructuredPojo; import com.amazonaws.protocol.ProtocolMarshaller; /** *
* Represents a custom domain name as a user-friendly host name of an API (RestApi). *
*/ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class DomainName implements Serializable, Cloneable, StructuredPojo { /** *
* The custom domain name as an API host name, for example, my-api.example.com
.
*
* The name of the certificate that will be used by edge-optimized endpoint for this domain name. *
*/ private String certificateName; /** ** 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. *
*/ private String certificateArn; /** ** The timestamp when the certificate that was used by edge-optimized endpoint for this domain name was uploaded. *
*/ private java.util.Date certificateUploadDate; /** ** 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. *
*/ private String regionalDomainName; /** ** 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. *
*/ private String regionalHostedZoneId; /** ** The name of the certificate that will be used for validating the regional domain name. *
*/ private String regionalCertificateName; /** ** 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. *
*/ private String regionalCertificateArn; /** ** 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. *
*/ private String distributionDomainName; /** *
* 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.
*
* The endpoint configuration of this DomainName showing the endpoint types of the domain name. *
*/ private EndpointConfiguration endpointConfiguration; /** *
* 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.
*
* An optional text message containing detailed information about status of the DomainName migration. *
*/ private String domainNameStatusMessage; /** *
* The Transport Layer Security (TLS) version + cipher suite for this DomainName. The valid values are
* TLS_1_0
and TLS_1_2
.
*
* The collection of tags. Each tag element is associated with a given resource. *
*/ private java.util.Map* 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. *
*/ private MutualTlsAuthentication mutualTlsAuthentication; /** ** 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. *
*/ private String ownershipVerificationCertificateArn; /** *
* The custom domain name as an API host name, for example, my-api.example.com
.
*
my-api.example.com
.
*/
public void setDomainName(String domainName) {
this.domainName = domainName;
}
/**
*
* The custom domain name as an API host name, for example, my-api.example.com
.
*
my-api.example.com
.
*/
public String getDomainName() {
return this.domainName;
}
/**
*
* The custom domain name as an API host name, for example, my-api.example.com
.
*
my-api.example.com
.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public DomainName withDomainName(String domainName) {
setDomainName(domainName);
return this;
}
/**
* * The name of the certificate that will be used by edge-optimized endpoint for this domain name. *
* * @param certificateName * The name of the certificate that will be used by edge-optimized endpoint for this domain name. */ public void setCertificateName(String certificateName) { this.certificateName = certificateName; } /** ** The name of the certificate that will be used by edge-optimized endpoint for this domain name. *
* * @return The name of the certificate that will be used by edge-optimized endpoint for this domain name. */ public String getCertificateName() { return this.certificateName; } /** ** The name of the certificate that will be used by edge-optimized endpoint for this domain name. *
* * @param certificateName * The name of the certificate that will be used by edge-optimized endpoint for this domain name. * @return Returns a reference to this object so that method calls can be chained together. */ public DomainName withCertificateName(String certificateName) { setCertificateName(certificateName); 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. *
* * @param 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. */ public void setCertificateArn(String certificateArn) { this.certificateArn = 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. *
* * @return 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. */ public String getCertificateArn() { return this.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. *
* * @param 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. * @return Returns a reference to this object so that method calls can be chained together. */ public DomainName withCertificateArn(String certificateArn) { setCertificateArn(certificateArn); return this; } /** ** The timestamp when the certificate that was used by edge-optimized endpoint for this domain name was uploaded. *
* * @param certificateUploadDate * The timestamp when the certificate that was used by edge-optimized endpoint for this domain name was * uploaded. */ public void setCertificateUploadDate(java.util.Date certificateUploadDate) { this.certificateUploadDate = certificateUploadDate; } /** ** The timestamp when the certificate that was used by edge-optimized endpoint for this domain name was uploaded. *
* * @return The timestamp when the certificate that was used by edge-optimized endpoint for this domain name was * uploaded. */ public java.util.Date getCertificateUploadDate() { return this.certificateUploadDate; } /** ** The timestamp when the certificate that was used by edge-optimized endpoint for this domain name was uploaded. *
* * @param certificateUploadDate * The timestamp when the certificate that was used by edge-optimized endpoint for this domain name was * uploaded. * @return Returns a reference to this object so that method calls can be chained together. */ public DomainName withCertificateUploadDate(java.util.Date certificateUploadDate) { setCertificateUploadDate(certificateUploadDate); 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. *
* * @param 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. */ public void setRegionalDomainName(String regionalDomainName) { this.regionalDomainName = 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. *
* * @return 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. */ public String getRegionalDomainName() { return this.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. *
* * @param 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. * @return Returns a reference to this object so that method calls can be chained together. */ public DomainName withRegionalDomainName(String regionalDomainName) { setRegionalDomainName(regionalDomainName); 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. *
* * @param 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. */ public void setRegionalHostedZoneId(String regionalHostedZoneId) { this.regionalHostedZoneId = 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. *
* * @return 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. */ public String getRegionalHostedZoneId() { return this.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. *
* * @param 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. * @return Returns a reference to this object so that method calls can be chained together. */ public DomainName withRegionalHostedZoneId(String regionalHostedZoneId) { setRegionalHostedZoneId(regionalHostedZoneId); return this; } /** ** The name of the certificate that will be used for validating the regional domain name. *
* * @param regionalCertificateName * The name of the certificate that will be used for validating the regional domain name. */ public void setRegionalCertificateName(String regionalCertificateName) { this.regionalCertificateName = regionalCertificateName; } /** ** The name of the certificate that will be used for validating the regional domain name. *
* * @return The name of the certificate that will be used for validating the regional domain name. */ public String getRegionalCertificateName() { return this.regionalCertificateName; } /** ** The name of the certificate that will be used for validating the regional domain name. *
* * @param regionalCertificateName * The name of the certificate that will be used for validating the regional domain name. * @return Returns a reference to this object so that method calls can be chained together. */ public DomainName withRegionalCertificateName(String regionalCertificateName) { setRegionalCertificateName(regionalCertificateName); 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. *
* * @param 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. */ public void setRegionalCertificateArn(String regionalCertificateArn) { this.regionalCertificateArn = 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. *
* * @return 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. */ public String getRegionalCertificateArn() { return this.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. *
* * @param 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. * @return Returns a reference to this object so that method calls can be chained together. */ public DomainName withRegionalCertificateArn(String regionalCertificateArn) { setRegionalCertificateArn(regionalCertificateArn); 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. *
* * @param 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. */ public void setDistributionDomainName(String distributionDomainName) { this.distributionDomainName = 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. *
* * @return 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. */ public String getDistributionDomainName() { return this.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. *
* * @param 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. * @return Returns a reference to this object so that method calls can be chained together. */ public DomainName withDistributionDomainName(String distributionDomainName) { setDistributionDomainName(distributionDomainName); 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.
*
Z2FDTNDATAQYW2
for all the regions. For more information, see Set up a Regional Custom Domain
* Name and AWS Regions and Endpoints for API Gateway.
*/
public void setDistributionHostedZoneId(String distributionHostedZoneId) {
this.distributionHostedZoneId = 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.
*
Z2FDTNDATAQYW2
for all the regions. For more information, see Set up a Regional Custom
* Domain Name and AWS Regions and Endpoints for API Gateway.
*/
public String getDistributionHostedZoneId() {
return this.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.
*
Z2FDTNDATAQYW2
for all the regions. For more information, see Set up a Regional Custom Domain
* Name and AWS Regions and Endpoints for API Gateway.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public DomainName withDistributionHostedZoneId(String distributionHostedZoneId) {
setDistributionHostedZoneId(distributionHostedZoneId);
return this;
}
/**
* * The endpoint configuration of this DomainName showing the endpoint types of the domain name. *
* * @param endpointConfiguration * The endpoint configuration of this DomainName showing the endpoint types of the domain name. */ public void setEndpointConfiguration(EndpointConfiguration endpointConfiguration) { this.endpointConfiguration = endpointConfiguration; } /** ** The endpoint configuration of this DomainName showing the endpoint types of the domain name. *
* * @return The endpoint configuration of this DomainName showing the endpoint types of the domain name. */ public EndpointConfiguration getEndpointConfiguration() { return this.endpointConfiguration; } /** ** The endpoint configuration of this DomainName showing the endpoint types of the domain name. *
* * @param endpointConfiguration * The endpoint configuration of this DomainName showing the endpoint types of the domain name. * @return Returns a reference to this object so that method calls can be chained together. */ public DomainName withEndpointConfiguration(EndpointConfiguration endpointConfiguration) { setEndpointConfiguration(endpointConfiguration); 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.
*
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.
* @see DomainNameStatus
*/
public void setDomainNameStatus(String domainNameStatus) {
this.domainNameStatus = 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.
*
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.
* @see DomainNameStatus
*/
public String getDomainNameStatus() {
return this.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.
*
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.
* @return Returns a reference to this object so that method calls can be chained together.
* @see DomainNameStatus
*/
public DomainName withDomainNameStatus(String domainNameStatus) {
setDomainNameStatus(domainNameStatus);
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.
*
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.
* @return Returns a reference to this object so that method calls can be chained together.
* @see DomainNameStatus
*/
public DomainName withDomainNameStatus(DomainNameStatus domainNameStatus) {
this.domainNameStatus = domainNameStatus.toString();
return this;
}
/**
* * An optional text message containing detailed information about status of the DomainName migration. *
* * @param domainNameStatusMessage * An optional text message containing detailed information about status of the DomainName migration. */ public void setDomainNameStatusMessage(String domainNameStatusMessage) { this.domainNameStatusMessage = domainNameStatusMessage; } /** ** An optional text message containing detailed information about status of the DomainName migration. *
* * @return An optional text message containing detailed information about status of the DomainName migration. */ public String getDomainNameStatusMessage() { return this.domainNameStatusMessage; } /** ** An optional text message containing detailed information about status of the DomainName migration. *
* * @param domainNameStatusMessage * An optional text message containing detailed information about status of the DomainName migration. * @return Returns a reference to this object so that method calls can be chained together. */ public DomainName withDomainNameStatusMessage(String domainNameStatusMessage) { setDomainNameStatusMessage(domainNameStatusMessage); return this; } /** *
* The Transport Layer Security (TLS) version + cipher suite for this DomainName. The valid values are
* TLS_1_0
and TLS_1_2
.
*
TLS_1_0
and TLS_1_2
.
* @see SecurityPolicy
*/
public void setSecurityPolicy(String securityPolicy) {
this.securityPolicy = securityPolicy;
}
/**
*
* The Transport Layer Security (TLS) version + cipher suite for this DomainName. The valid values are
* TLS_1_0
and TLS_1_2
.
*
TLS_1_0
and TLS_1_2
.
* @see SecurityPolicy
*/
public String getSecurityPolicy() {
return this.securityPolicy;
}
/**
*
* The Transport Layer Security (TLS) version + cipher suite for this DomainName. The valid values are
* TLS_1_0
and TLS_1_2
.
*
TLS_1_0
and TLS_1_2
.
* @return Returns a reference to this object so that method calls can be chained together.
* @see SecurityPolicy
*/
public DomainName withSecurityPolicy(String securityPolicy) {
setSecurityPolicy(securityPolicy);
return this;
}
/**
*
* The Transport Layer Security (TLS) version + cipher suite for this DomainName. The valid values are
* TLS_1_0
and TLS_1_2
.
*
TLS_1_0
and TLS_1_2
.
* @return Returns a reference to this object so that method calls can be chained together.
* @see SecurityPolicy
*/
public DomainName withSecurityPolicy(SecurityPolicy securityPolicy) {
this.securityPolicy = securityPolicy.toString();
return this;
}
/**
* * The collection of tags. Each tag element is associated with a given resource. *
* * @return The collection of tags. Each tag element is associated with a given resource. */ public java.util.Map* The collection of tags. Each tag element is associated with a given resource. *
* * @param tags * The collection of tags. Each tag element is associated with a given resource. */ public void setTags(java.util.Map* The collection of tags. Each tag element is associated with a given resource. *
* * @param tags * The collection of tags. Each tag element is associated with a given resource. * @return Returns a reference to this object so that method calls can be chained together. */ public DomainName withTags(java.util.Map* 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. *
* * @param 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. */ public void setMutualTlsAuthentication(MutualTlsAuthentication mutualTlsAuthentication) { this.mutualTlsAuthentication = 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. *
* * @return 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. */ public MutualTlsAuthentication getMutualTlsAuthentication() { return this.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. *
* * @param 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. * @return Returns a reference to this object so that method calls can be chained together. */ public DomainName withMutualTlsAuthentication(MutualTlsAuthentication mutualTlsAuthentication) { setMutualTlsAuthentication(mutualTlsAuthentication); 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. *
* * @param 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. */ public void setOwnershipVerificationCertificateArn(String ownershipVerificationCertificateArn) { this.ownershipVerificationCertificateArn = 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. *
* * @return 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. */ public String getOwnershipVerificationCertificateArn() { return this.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. *
* * @param 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. * @return Returns a reference to this object so that method calls can be chained together. */ public DomainName withOwnershipVerificationCertificateArn(String ownershipVerificationCertificateArn) { setOwnershipVerificationCertificateArn(ownershipVerificationCertificateArn); return this; } /** * Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be * redacted from this string using a placeholder value. * * @return A string representation of this object. * * @see java.lang.Object#toString() */ @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("{"); if (getDomainName() != null) sb.append("DomainName: ").append(getDomainName()).append(","); if (getCertificateName() != null) sb.append("CertificateName: ").append(getCertificateName()).append(","); if (getCertificateArn() != null) sb.append("CertificateArn: ").append(getCertificateArn()).append(","); if (getCertificateUploadDate() != null) sb.append("CertificateUploadDate: ").append(getCertificateUploadDate()).append(","); if (getRegionalDomainName() != null) sb.append("RegionalDomainName: ").append(getRegionalDomainName()).append(","); if (getRegionalHostedZoneId() != null) sb.append("RegionalHostedZoneId: ").append(getRegionalHostedZoneId()).append(","); if (getRegionalCertificateName() != null) sb.append("RegionalCertificateName: ").append(getRegionalCertificateName()).append(","); if (getRegionalCertificateArn() != null) sb.append("RegionalCertificateArn: ").append(getRegionalCertificateArn()).append(","); if (getDistributionDomainName() != null) sb.append("DistributionDomainName: ").append(getDistributionDomainName()).append(","); if (getDistributionHostedZoneId() != null) sb.append("DistributionHostedZoneId: ").append(getDistributionHostedZoneId()).append(","); if (getEndpointConfiguration() != null) sb.append("EndpointConfiguration: ").append(getEndpointConfiguration()).append(","); if (getDomainNameStatus() != null) sb.append("DomainNameStatus: ").append(getDomainNameStatus()).append(","); if (getDomainNameStatusMessage() != null) sb.append("DomainNameStatusMessage: ").append(getDomainNameStatusMessage()).append(","); if (getSecurityPolicy() != null) sb.append("SecurityPolicy: ").append(getSecurityPolicy()).append(","); if (getTags() != null) sb.append("Tags: ").append(getTags()).append(","); if (getMutualTlsAuthentication() != null) sb.append("MutualTlsAuthentication: ").append(getMutualTlsAuthentication()).append(","); if (getOwnershipVerificationCertificateArn() != null) sb.append("OwnershipVerificationCertificateArn: ").append(getOwnershipVerificationCertificateArn()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof DomainName == false) return false; DomainName other = (DomainName) obj; if (other.getDomainName() == null ^ this.getDomainName() == null) return false; if (other.getDomainName() != null && other.getDomainName().equals(this.getDomainName()) == false) return false; if (other.getCertificateName() == null ^ this.getCertificateName() == null) return false; if (other.getCertificateName() != null && other.getCertificateName().equals(this.getCertificateName()) == false) return false; if (other.getCertificateArn() == null ^ this.getCertificateArn() == null) return false; if (other.getCertificateArn() != null && other.getCertificateArn().equals(this.getCertificateArn()) == false) return false; if (other.getCertificateUploadDate() == null ^ this.getCertificateUploadDate() == null) return false; if (other.getCertificateUploadDate() != null && other.getCertificateUploadDate().equals(this.getCertificateUploadDate()) == false) return false; if (other.getRegionalDomainName() == null ^ this.getRegionalDomainName() == null) return false; if (other.getRegionalDomainName() != null && other.getRegionalDomainName().equals(this.getRegionalDomainName()) == false) return false; if (other.getRegionalHostedZoneId() == null ^ this.getRegionalHostedZoneId() == null) return false; if (other.getRegionalHostedZoneId() != null && other.getRegionalHostedZoneId().equals(this.getRegionalHostedZoneId()) == false) return false; if (other.getRegionalCertificateName() == null ^ this.getRegionalCertificateName() == null) return false; if (other.getRegionalCertificateName() != null && other.getRegionalCertificateName().equals(this.getRegionalCertificateName()) == false) return false; if (other.getRegionalCertificateArn() == null ^ this.getRegionalCertificateArn() == null) return false; if (other.getRegionalCertificateArn() != null && other.getRegionalCertificateArn().equals(this.getRegionalCertificateArn()) == false) return false; if (other.getDistributionDomainName() == null ^ this.getDistributionDomainName() == null) return false; if (other.getDistributionDomainName() != null && other.getDistributionDomainName().equals(this.getDistributionDomainName()) == false) return false; if (other.getDistributionHostedZoneId() == null ^ this.getDistributionHostedZoneId() == null) return false; if (other.getDistributionHostedZoneId() != null && other.getDistributionHostedZoneId().equals(this.getDistributionHostedZoneId()) == false) return false; if (other.getEndpointConfiguration() == null ^ this.getEndpointConfiguration() == null) return false; if (other.getEndpointConfiguration() != null && other.getEndpointConfiguration().equals(this.getEndpointConfiguration()) == false) return false; if (other.getDomainNameStatus() == null ^ this.getDomainNameStatus() == null) return false; if (other.getDomainNameStatus() != null && other.getDomainNameStatus().equals(this.getDomainNameStatus()) == false) return false; if (other.getDomainNameStatusMessage() == null ^ this.getDomainNameStatusMessage() == null) return false; if (other.getDomainNameStatusMessage() != null && other.getDomainNameStatusMessage().equals(this.getDomainNameStatusMessage()) == false) return false; if (other.getSecurityPolicy() == null ^ this.getSecurityPolicy() == null) return false; if (other.getSecurityPolicy() != null && other.getSecurityPolicy().equals(this.getSecurityPolicy()) == false) return false; if (other.getTags() == null ^ this.getTags() == null) return false; if (other.getTags() != null && other.getTags().equals(this.getTags()) == false) return false; if (other.getMutualTlsAuthentication() == null ^ this.getMutualTlsAuthentication() == null) return false; if (other.getMutualTlsAuthentication() != null && other.getMutualTlsAuthentication().equals(this.getMutualTlsAuthentication()) == false) return false; if (other.getOwnershipVerificationCertificateArn() == null ^ this.getOwnershipVerificationCertificateArn() == null) return false; if (other.getOwnershipVerificationCertificateArn() != null && other.getOwnershipVerificationCertificateArn().equals(this.getOwnershipVerificationCertificateArn()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getDomainName() == null) ? 0 : getDomainName().hashCode()); hashCode = prime * hashCode + ((getCertificateName() == null) ? 0 : getCertificateName().hashCode()); hashCode = prime * hashCode + ((getCertificateArn() == null) ? 0 : getCertificateArn().hashCode()); hashCode = prime * hashCode + ((getCertificateUploadDate() == null) ? 0 : getCertificateUploadDate().hashCode()); hashCode = prime * hashCode + ((getRegionalDomainName() == null) ? 0 : getRegionalDomainName().hashCode()); hashCode = prime * hashCode + ((getRegionalHostedZoneId() == null) ? 0 : getRegionalHostedZoneId().hashCode()); hashCode = prime * hashCode + ((getRegionalCertificateName() == null) ? 0 : getRegionalCertificateName().hashCode()); hashCode = prime * hashCode + ((getRegionalCertificateArn() == null) ? 0 : getRegionalCertificateArn().hashCode()); hashCode = prime * hashCode + ((getDistributionDomainName() == null) ? 0 : getDistributionDomainName().hashCode()); hashCode = prime * hashCode + ((getDistributionHostedZoneId() == null) ? 0 : getDistributionHostedZoneId().hashCode()); hashCode = prime * hashCode + ((getEndpointConfiguration() == null) ? 0 : getEndpointConfiguration().hashCode()); hashCode = prime * hashCode + ((getDomainNameStatus() == null) ? 0 : getDomainNameStatus().hashCode()); hashCode = prime * hashCode + ((getDomainNameStatusMessage() == null) ? 0 : getDomainNameStatusMessage().hashCode()); hashCode = prime * hashCode + ((getSecurityPolicy() == null) ? 0 : getSecurityPolicy().hashCode()); hashCode = prime * hashCode + ((getTags() == null) ? 0 : getTags().hashCode()); hashCode = prime * hashCode + ((getMutualTlsAuthentication() == null) ? 0 : getMutualTlsAuthentication().hashCode()); hashCode = prime * hashCode + ((getOwnershipVerificationCertificateArn() == null) ? 0 : getOwnershipVerificationCertificateArn().hashCode()); return hashCode; } @Override public DomainName clone() { try { return (DomainName) super.clone(); } catch (CloneNotSupportedException e) { throw new IllegalStateException("Got a CloneNotSupportedException from Object.clone() " + "even though we're Cloneable!", e); } } @com.amazonaws.annotation.SdkInternalApi @Override public void marshall(ProtocolMarshaller protocolMarshaller) { com.amazonaws.services.apigateway.model.transform.DomainNameMarshaller.getInstance().marshall(this, protocolMarshaller); } }