/*
* Copyright 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.
*/
/*
* Do not modify this file. This file is generated from the apigateway-2015-07-09.normal.json service model.
*/
using System;
using System.Collections.Generic;
using System.Xml.Serialization;
using System.Text;
using System.IO;
using System.Net;
using Amazon.Runtime;
using Amazon.Runtime.Internal;
namespace Amazon.APIGateway.Model
{
///
/// Represents a custom domain name as a user-friendly host name of an API (RestApi).
///
public partial class GetDomainNameResponse : AmazonWebServiceResponse
{
private string _certificateArn;
private string _certificateName;
private DateTime? _certificateUploadDate;
private string _distributionDomainName;
private string _distributionHostedZoneId;
private DomainNameStatus _domainNameStatus;
private string _domainNameStatusMessage;
private EndpointConfiguration _endpointConfiguration;
private MutualTlsAuthentication _mutualTlsAuthentication;
private string _name;
private string _ownershipVerificationCertificateArn;
private string _regionalCertificateArn;
private string _regionalCertificateName;
private string _regionalDomainName;
private string _regionalHostedZoneId;
private SecurityPolicy _securityPolicy;
private Dictionary _tags = new Dictionary();
///
/// Gets and sets the property 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 string CertificateArn
{
get { return this._certificateArn; }
set { this._certificateArn = value; }
}
// Check to see if CertificateArn property is set
internal bool IsSetCertificateArn()
{
return this._certificateArn != null;
}
///
/// Gets and sets the property CertificateName.
///
/// The name of the certificate that will be used by edge-optimized endpoint for this
/// domain name.
///
///
public string CertificateName
{
get { return this._certificateName; }
set { this._certificateName = value; }
}
// Check to see if CertificateName property is set
internal bool IsSetCertificateName()
{
return this._certificateName != null;
}
///
/// Gets and sets the property CertificateUploadDate.
///
/// The timestamp when the certificate that was used by edge-optimized endpoint for this
/// domain name was uploaded.
///
///
public DateTime CertificateUploadDate
{
get { return this._certificateUploadDate.GetValueOrDefault(); }
set { this._certificateUploadDate = value; }
}
// Check to see if CertificateUploadDate property is set
internal bool IsSetCertificateUploadDate()
{
return this._certificateUploadDate.HasValue;
}
///
/// Gets and sets the property 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 string DistributionDomainName
{
get { return this._distributionDomainName; }
set { this._distributionDomainName = value; }
}
// Check to see if DistributionDomainName property is set
internal bool IsSetDistributionDomainName()
{
return this._distributionDomainName != null;
}
///
/// Gets and sets the property 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 string DistributionHostedZoneId
{
get { return this._distributionHostedZoneId; }
set { this._distributionHostedZoneId = value; }
}
// Check to see if DistributionHostedZoneId property is set
internal bool IsSetDistributionHostedZoneId()
{
return this._distributionHostedZoneId != null;
}
///
/// Gets and sets the property 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.
///
///
public DomainNameStatus DomainNameStatus
{
get { return this._domainNameStatus; }
set { this._domainNameStatus = value; }
}
// Check to see if DomainNameStatus property is set
internal bool IsSetDomainNameStatus()
{
return this._domainNameStatus != null;
}
///
/// Gets and sets the property DomainNameStatusMessage.
///
/// An optional text message containing detailed information about status of the DomainName
/// migration.
///
///
public string DomainNameStatusMessage
{
get { return this._domainNameStatusMessage; }
set { this._domainNameStatusMessage = value; }
}
// Check to see if DomainNameStatusMessage property is set
internal bool IsSetDomainNameStatusMessage()
{
return this._domainNameStatusMessage != null;
}
///
/// Gets and sets the property EndpointConfiguration.
///
/// The endpoint configuration of this DomainName showing the endpoint types of the domain
/// name.
///
///
public EndpointConfiguration EndpointConfiguration
{
get { return this._endpointConfiguration; }
set { this._endpointConfiguration = value; }
}
// Check to see if EndpointConfiguration property is set
internal bool IsSetEndpointConfiguration()
{
return this._endpointConfiguration != null;
}
///
/// Gets and sets the property 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 MutualTlsAuthentication MutualTlsAuthentication
{
get { return this._mutualTlsAuthentication; }
set { this._mutualTlsAuthentication = value; }
}
// Check to see if MutualTlsAuthentication property is set
internal bool IsSetMutualTlsAuthentication()
{
return this._mutualTlsAuthentication != null;
}
///
/// Gets and sets the property Name.
///
/// The custom domain name as an API host name, for example, my-api.example.com
.
///
///
public string Name
{
get { return this._name; }
set { this._name = value; }
}
// Check to see if Name property is set
internal bool IsSetName()
{
return this._name != null;
}
///
/// Gets and sets the property 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 string OwnershipVerificationCertificateArn
{
get { return this._ownershipVerificationCertificateArn; }
set { this._ownershipVerificationCertificateArn = value; }
}
// Check to see if OwnershipVerificationCertificateArn property is set
internal bool IsSetOwnershipVerificationCertificateArn()
{
return this._ownershipVerificationCertificateArn != null;
}
///
/// Gets and sets the property 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 string RegionalCertificateArn
{
get { return this._regionalCertificateArn; }
set { this._regionalCertificateArn = value; }
}
// Check to see if RegionalCertificateArn property is set
internal bool IsSetRegionalCertificateArn()
{
return this._regionalCertificateArn != null;
}
///
/// Gets and sets the property RegionalCertificateName.
///
/// The name of the certificate that will be used for validating the regional domain name.
///
///
public string RegionalCertificateName
{
get { return this._regionalCertificateName; }
set { this._regionalCertificateName = value; }
}
// Check to see if RegionalCertificateName property is set
internal bool IsSetRegionalCertificateName()
{
return this._regionalCertificateName != null;
}
///
/// Gets and sets the property 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 string RegionalDomainName
{
get { return this._regionalDomainName; }
set { this._regionalDomainName = value; }
}
// Check to see if RegionalDomainName property is set
internal bool IsSetRegionalDomainName()
{
return this._regionalDomainName != null;
}
///
/// Gets and sets the property 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 string RegionalHostedZoneId
{
get { return this._regionalHostedZoneId; }
set { this._regionalHostedZoneId = value; }
}
// Check to see if RegionalHostedZoneId property is set
internal bool IsSetRegionalHostedZoneId()
{
return this._regionalHostedZoneId != null;
}
///
/// Gets and sets the property SecurityPolicy.
///
/// The Transport Layer Security (TLS) version + cipher suite for this DomainName. The
/// valid values are TLS_1_0
and TLS_1_2
.
///
///
public SecurityPolicy SecurityPolicy
{
get { return this._securityPolicy; }
set { this._securityPolicy = value; }
}
// Check to see if SecurityPolicy property is set
internal bool IsSetSecurityPolicy()
{
return this._securityPolicy != null;
}
///
/// Gets and sets the property Tags.
///
/// The collection of tags. Each tag element is associated with a given resource.
///
///
public Dictionary Tags
{
get { return this._tags; }
set { this._tags = value; }
}
// Check to see if Tags property is set
internal bool IsSetTags()
{
return this._tags != null && this._tags.Count > 0;
}
}
}