
com.amazonaws.services.apigateway.model.DomainName Maven / Gradle / Ivy
/*
* 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
.
*
*/
private String domainName;
/**
*
* The name of the certificate that will be used by edge-optimized endpoint for this domain name.
*
*/
private String certificateName;
/**
*
* The reference to an Amazon Web Services-managed certificate that will be used by edge-optimized endpoint for this
* domain name. 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 Amazon Web Services-managed certificate that will be used for validating the regional domain
* name. 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.
*
*/
private String distributionHostedZoneId;
/**
*
* 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.
*
*/
private String domainNameStatus;
/**
*
* 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
.
*
*/
private String securityPolicy;
/**
*
* The collection of tags. Each tag element is associated with a given resource.
*
*/
private java.util.Map tags;
/**
*
* 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
.
*
*
* @param domainName
* The custom domain name as an API host name, for example, 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
.
*
*
* @return The custom domain name as an API host name, for example, 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
.
*
*
* @param domainName
* The custom domain name as an API host name, for example, 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 Amazon Web Services-managed certificate that will be used by edge-optimized endpoint for this
* domain name. Certificate Manager is the only supported source.
*
*
* @param certificateArn
* The reference to an Amazon Web Services-managed certificate that will be used by edge-optimized endpoint
* for this domain name. Certificate Manager is the only supported source.
*/
public void setCertificateArn(String certificateArn) {
this.certificateArn = certificateArn;
}
/**
*
* The reference to an Amazon Web Services-managed certificate that will be used by edge-optimized endpoint for this
* domain name. Certificate Manager is the only supported source.
*
*
* @return The reference to an Amazon Web Services-managed certificate that will be used by edge-optimized endpoint
* for this domain name. Certificate Manager is the only supported source.
*/
public String getCertificateArn() {
return this.certificateArn;
}
/**
*
* The reference to an Amazon Web Services-managed certificate that will be used by edge-optimized endpoint for this
* domain name. Certificate Manager is the only supported source.
*
*
* @param certificateArn
* The reference to an Amazon Web Services-managed certificate that will be used by edge-optimized endpoint
* for this domain name. 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 Amazon Web Services-managed certificate that will be used for validating the regional domain
* name. Certificate Manager is the only supported source.
*
*
* @param regionalCertificateArn
* The reference to an Amazon Web Services-managed certificate that will be used for validating the regional
* domain name. Certificate Manager is the only supported source.
*/
public void setRegionalCertificateArn(String regionalCertificateArn) {
this.regionalCertificateArn = regionalCertificateArn;
}
/**
*
* The reference to an Amazon Web Services-managed certificate that will be used for validating the regional domain
* name. Certificate Manager is the only supported source.
*
*
* @return The reference to an Amazon Web Services-managed certificate that will be used for validating the regional
* domain name. Certificate Manager is the only supported source.
*/
public String getRegionalCertificateArn() {
return this.regionalCertificateArn;
}
/**
*
* The reference to an Amazon Web Services-managed certificate that will be used for validating the regional domain
* name. Certificate Manager is the only supported source.
*
*
* @param regionalCertificateArn
* The reference to an Amazon Web Services-managed certificate that will be used for validating the regional
* domain name. 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.
*
*
* @param 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.
*/
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.
*
*
* @return 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.
*/
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.
*
*
* @param 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.
* @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.
*
*
* @param 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.
* @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.
*
*
* @return 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.
* @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.
*
*
* @param 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.
* @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.
*
*
* @param 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.
* @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
.
*
*
* @param securityPolicy
* The Transport Layer Security (TLS) version + cipher suite for this DomainName. The valid values are
* 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
.
*
*
* @return The Transport Layer Security (TLS) version + cipher suite for this DomainName. The valid values are
* 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
.
*
*
* @param securityPolicy
* The Transport Layer Security (TLS) version + cipher suite for this DomainName. The valid values are
* 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
.
*
*
* @param securityPolicy
* The Transport Layer Security (TLS) version + cipher suite for this DomainName. The valid values are
* 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 getTags() {
return tags;
}
/**
*
* 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 tags) {
this.tags = tags;
}
/**
*
* 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 tags) {
setTags(tags);
return this;
}
/**
* Add a single Tags entry
*
* @see DomainName#withTags
* @returns a reference to this object so that method calls can be chained together.
*/
public DomainName addTagsEntry(String key, String value) {
if (null == this.tags) {
this.tags = new java.util.HashMap();
}
if (this.tags.containsKey(key))
throw new IllegalArgumentException("Duplicated keys (" + key.toString() + ") are provided.");
this.tags.put(key, value);
return this;
}
/**
* Removes all the entries added into Tags.
*
* @return Returns a reference to this object so that method calls can be chained together.
*/
public DomainName clearTagsEntries() {
this.tags = null;
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.
*
*
* @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);
}
}