/*
* 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 apigatewayv2-2018-11-29.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.ApiGatewayV2.Model
{
///
/// The domain name configuration.
///
public partial class DomainNameConfiguration
{
private string _apiGatewayDomainName;
private string _certificateArn;
private string _certificateName;
private DateTime? _certificateUploadDate;
private DomainNameStatus _domainNameStatus;
private string _domainNameStatusMessage;
private EndpointType _endpointType;
private string _hostedZoneId;
private string _ownershipVerificationCertificateArn;
private SecurityPolicy _securityPolicy;
///
/// Gets and sets the property ApiGatewayDomainName.
///
/// A domain name for the API.
///
///
public string ApiGatewayDomainName
{
get { return this._apiGatewayDomainName; }
set { this._apiGatewayDomainName = value; }
}
// Check to see if ApiGatewayDomainName property is set
internal bool IsSetApiGatewayDomainName()
{
return this._apiGatewayDomainName != null;
}
///
/// Gets and sets the property CertificateArn.
///
/// An AWS-managed certificate that will be used by the 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 user-friendly name of the certificate that will be used by the 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 DomainNameStatus.
///
/// The status of the domain name migration. The valid values are AVAILABLE, UPDATING,
/// PENDING_CERTIFICATE_REIMPORT, and PENDING_OWNERSHIP_VERIFICATION. 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 domain
/// name 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 EndpointType.
///
/// The endpoint type.
///
///
public EndpointType EndpointType
{
get { return this._endpointType; }
set { this._endpointType = value; }
}
// Check to see if EndpointType property is set
internal bool IsSetEndpointType()
{
return this._endpointType != null;
}
///
/// Gets and sets the property HostedZoneId.
///
/// The Amazon Route 53 Hosted Zone ID of the endpoint.
///
///
public string HostedZoneId
{
get { return this._hostedZoneId; }
set { this._hostedZoneId = value; }
}
// Check to see if HostedZoneId property is set
internal bool IsSetHostedZoneId()
{
return this._hostedZoneId != 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 SecurityPolicy.
///
/// The Transport Layer Security (TLS) version of the security policy for this domain
/// name. 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;
}
}
}