/*
* 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
{
///
/// Container for the parameters to the CreateDomainName operation.
/// Creates a new domain name.
///
public partial class CreateDomainNameRequest : AmazonAPIGatewayRequest
{
private string _certificateArn;
private string _certificateBody;
private string _certificateChain;
private string _certificateName;
private string _certificatePrivateKey;
private string _domainName;
private EndpointConfiguration _endpointConfiguration;
private MutualTlsAuthenticationInput _mutualTlsAuthentication;
private string _ownershipVerificationCertificateArn;
private string _regionalCertificateArn;
private string _regionalCertificateName;
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 CertificateBody.
///
/// [Deprecated] The body of the server certificate that will be used by edge-optimized
/// endpoint for this domain name provided by your certificate authority.
///
///
public string CertificateBody
{
get { return this._certificateBody; }
set { this._certificateBody = value; }
}
// Check to see if CertificateBody property is set
internal bool IsSetCertificateBody()
{
return this._certificateBody != null;
}
///
/// Gets and sets the property CertificateChain.
///
/// [Deprecated] The intermediate certificates and optionally the root certificate, one
/// after the other without any blank lines, used by an edge-optimized endpoint for this
/// domain name. If you include the root certificate, your certificate chain must start
/// with intermediate certificates and end with the root certificate. Use the intermediate
/// certificates that were provided by your certificate authority. Do not include any
/// intermediaries that are not in the chain of trust path.
///
///
public string CertificateChain
{
get { return this._certificateChain; }
set { this._certificateChain = value; }
}
// Check to see if CertificateChain property is set
internal bool IsSetCertificateChain()
{
return this._certificateChain != null;
}
///
/// Gets and sets the property CertificateName.
///
/// The user-friendly 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 CertificatePrivateKey.
///
/// [Deprecated] Your edge-optimized endpoint's domain name certificate's private key.
///
///
public string CertificatePrivateKey
{
get { return this._certificatePrivateKey; }
set { this._certificatePrivateKey = value; }
}
// Check to see if CertificatePrivateKey property is set
internal bool IsSetCertificatePrivateKey()
{
return this._certificatePrivateKey != null;
}
///
/// Gets and sets the property DomainName.
///
/// The name of the DomainName resource.
///
///
[AWSProperty(Required=true)]
public string DomainName
{
get { return this._domainName; }
set { this._domainName = value; }
}
// Check to see if DomainName property is set
internal bool IsSetDomainName()
{
return this._domainName != 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.
///
public MutualTlsAuthenticationInput 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 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 by regional endpoint
/// for this 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 user-friendly name of the certificate that will be used by regional endpoint for
/// this 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 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 key-value map of strings. The valid character set is [a-zA-Z+-=._:/]. The tag
/// key can be up to 128 characters and must not start with aws:
. The tag
/// value can be up to 256 characters.
///
///
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;
}
}
}