/* * 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 DomainName { 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; } } }