/*
* 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 lightsail-2016-11-28.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.Lightsail.Model
{
///
/// Describes the full details of an Amazon Lightsail SSL/TLS certificate.
///
///
///
/// To get a summary of a certificate, use the GetCertificates
action and
/// omit includeCertificateDetails
from your request. The response will include
/// only the certificate Amazon Resource Name (ARN), certificate name, domain name, and
/// tags.
///
///
///
public partial class Certificate
{
private string _arn;
private DateTime? _createdAt;
private string _domainName;
private List _domainValidationRecords = new List();
private string _eligibleToRenew;
private int? _inUseResourceCount;
private DateTime? _issuedAt;
private string _issuerca;
private string _keyAlgorithm;
private string _name;
private DateTime? _notAfter;
private DateTime? _notBefore;
private RenewalSummary _renewalSummary;
private string _requestFailureReason;
private string _revocationReason;
private DateTime? _revokedAt;
private string _serialNumber;
private CertificateStatus _status;
private List _subjectAlternativeNames = new List();
private string _supportCode;
private List _tags = new List();
///
/// Gets and sets the property Arn.
///
/// The Amazon Resource Name (ARN) of the certificate.
///
///
public string Arn
{
get { return this._arn; }
set { this._arn = value; }
}
// Check to see if Arn property is set
internal bool IsSetArn()
{
return this._arn != null;
}
///
/// Gets and sets the property CreatedAt.
///
/// The timestamp when the certificate was created.
///
///
public DateTime CreatedAt
{
get { return this._createdAt.GetValueOrDefault(); }
set { this._createdAt = value; }
}
// Check to see if CreatedAt property is set
internal bool IsSetCreatedAt()
{
return this._createdAt.HasValue;
}
///
/// Gets and sets the property DomainName.
///
/// The domain name of the certificate.
///
///
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 DomainValidationRecords.
///
/// An array of objects that describe the domain validation records of the certificate.
///
///
public List DomainValidationRecords
{
get { return this._domainValidationRecords; }
set { this._domainValidationRecords = value; }
}
// Check to see if DomainValidationRecords property is set
internal bool IsSetDomainValidationRecords()
{
return this._domainValidationRecords != null && this._domainValidationRecords.Count > 0;
}
///
/// Gets and sets the property EligibleToRenew.
///
/// The renewal eligibility of the certificate.
///
///
public string EligibleToRenew
{
get { return this._eligibleToRenew; }
set { this._eligibleToRenew = value; }
}
// Check to see if EligibleToRenew property is set
internal bool IsSetEligibleToRenew()
{
return this._eligibleToRenew != null;
}
///
/// Gets and sets the property InUseResourceCount.
///
/// The number of Lightsail resources that the certificate is attached to.
///
///
public int InUseResourceCount
{
get { return this._inUseResourceCount.GetValueOrDefault(); }
set { this._inUseResourceCount = value; }
}
// Check to see if InUseResourceCount property is set
internal bool IsSetInUseResourceCount()
{
return this._inUseResourceCount.HasValue;
}
///
/// Gets and sets the property IssuedAt.
///
/// The timestamp when the certificate was issued.
///
///
public DateTime IssuedAt
{
get { return this._issuedAt.GetValueOrDefault(); }
set { this._issuedAt = value; }
}
// Check to see if IssuedAt property is set
internal bool IsSetIssuedAt()
{
return this._issuedAt.HasValue;
}
///
/// Gets and sets the property IssuerCA.
///
/// The certificate authority that issued the certificate.
///
///
public string IssuerCA
{
get { return this._issuerca; }
set { this._issuerca = value; }
}
// Check to see if IssuerCA property is set
internal bool IsSetIssuerCA()
{
return this._issuerca != null;
}
///
/// Gets and sets the property KeyAlgorithm.
///
/// The algorithm used to generate the key pair (the public and private key) of the certificate.
///
///
public string KeyAlgorithm
{
get { return this._keyAlgorithm; }
set { this._keyAlgorithm = value; }
}
// Check to see if KeyAlgorithm property is set
internal bool IsSetKeyAlgorithm()
{
return this._keyAlgorithm != null;
}
///
/// Gets and sets the property Name.
///
/// The name of the certificate (e.g., my-certificate
).
///
///
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 NotAfter.
///
/// The timestamp when the certificate expires.
///
///
public DateTime NotAfter
{
get { return this._notAfter.GetValueOrDefault(); }
set { this._notAfter = value; }
}
// Check to see if NotAfter property is set
internal bool IsSetNotAfter()
{
return this._notAfter.HasValue;
}
///
/// Gets and sets the property NotBefore.
///
/// The timestamp when the certificate is first valid.
///
///
public DateTime NotBefore
{
get { return this._notBefore.GetValueOrDefault(); }
set { this._notBefore = value; }
}
// Check to see if NotBefore property is set
internal bool IsSetNotBefore()
{
return this._notBefore.HasValue;
}
///
/// Gets and sets the property RenewalSummary.
///
/// An object that describes the status of the certificate renewal managed by Lightsail.
///
///
public RenewalSummary RenewalSummary
{
get { return this._renewalSummary; }
set { this._renewalSummary = value; }
}
// Check to see if RenewalSummary property is set
internal bool IsSetRenewalSummary()
{
return this._renewalSummary != null;
}
///
/// Gets and sets the property RequestFailureReason.
///
/// The validation failure reason, if any, of the certificate.
///
///
///
/// The following failure reasons are possible:
///
/// -
///
///
NO_AVAILABLE_CONTACTS
- This failure applies to email validation,
/// which is not available for Lightsail certificates.
///
/// -
///
///
ADDITIONAL_VERIFICATION_REQUIRED
- Lightsail requires additional
/// information to process this certificate request. This can happen as a fraud-protection
/// measure, such as when the domain ranks within the Alexa top 1000 websites. To provide
/// the required information, use the Amazon
/// Web Services Support Center to contact Amazon Web Services Support.
///
///
///
/// You cannot request a certificate for Amazon-owned domain names such as those ending
/// in amazonaws.com, cloudfront.net, or elasticbeanstalk.com.
///
/// -
///
///
DOMAIN_NOT_ALLOWED
- One or more of the domain names in the
/// certificate request was reported as an unsafe domain by VirusTotal.
/// To correct the problem, search for your domain name on the VirusTotal
/// website. If your domain is reported as suspicious, see Google
/// Help for Hacked Websites to learn what you can do.
///
///
///
/// If you believe that the result is a false positive, notify the organization that is
/// reporting the domain. VirusTotal is an aggregate of several antivirus and URL scanners
/// and cannot remove your domain from a block list itself. After you correct the problem
/// and the VirusTotal registry has been updated, request a new certificate.
///
///
///
/// If you see this error and your domain is not included in the VirusTotal list, visit
/// the Amazon Web Services Support
/// Center and create a case.
///
/// -
///
///
INVALID_PUBLIC_DOMAIN
- One or more of the domain names in
/// the certificate request is not valid. Typically, this is because a domain name in
/// the request is not a valid top-level domain. Try to request a certificate again, correcting
/// any spelling errors or typos that were in the failed request, and ensure that all
/// domain names in the request are for valid top-level domains. For example, you cannot
/// request a certificate for example.invalidpublicdomain
because invalidpublicdomain
/// is not a valid top-level domain.
///
/// -
///
///
OTHER
- Typically, this failure occurs when there is a typographical
/// error in one or more of the domain names in the certificate request. Try to request
/// a certificate again, correcting any spelling errors or typos that were in the failed
/// request.
///
///
///
public string RequestFailureReason
{
get { return this._requestFailureReason; }
set { this._requestFailureReason = value; }
}
// Check to see if RequestFailureReason property is set
internal bool IsSetRequestFailureReason()
{
return this._requestFailureReason != null;
}
///
/// Gets and sets the property RevocationReason.
///
/// The reason the certificate was revoked. This value is present only when the certificate
/// status is REVOKED
.
///
///
public string RevocationReason
{
get { return this._revocationReason; }
set { this._revocationReason = value; }
}
// Check to see if RevocationReason property is set
internal bool IsSetRevocationReason()
{
return this._revocationReason != null;
}
///
/// Gets and sets the property RevokedAt.
///
/// The timestamp when the certificate was revoked. This value is present only when the
/// certificate status is REVOKED
.
///
///
public DateTime RevokedAt
{
get { return this._revokedAt.GetValueOrDefault(); }
set { this._revokedAt = value; }
}
// Check to see if RevokedAt property is set
internal bool IsSetRevokedAt()
{
return this._revokedAt.HasValue;
}
///
/// Gets and sets the property SerialNumber.
///
/// The serial number of the certificate.
///
///
public string SerialNumber
{
get { return this._serialNumber; }
set { this._serialNumber = value; }
}
// Check to see if SerialNumber property is set
internal bool IsSetSerialNumber()
{
return this._serialNumber != null;
}
///
/// Gets and sets the property Status.
///
/// The validation status of the certificate.
///
///
public CertificateStatus Status
{
get { return this._status; }
set { this._status = value; }
}
// Check to see if Status property is set
internal bool IsSetStatus()
{
return this._status != null;
}
///
/// Gets and sets the property SubjectAlternativeNames.
///
/// An array of strings that specify the alternate domains (e.g., example2.com
)
/// and subdomains (e.g., blog.example.com
) of the certificate.
///
///
public List SubjectAlternativeNames
{
get { return this._subjectAlternativeNames; }
set { this._subjectAlternativeNames = value; }
}
// Check to see if SubjectAlternativeNames property is set
internal bool IsSetSubjectAlternativeNames()
{
return this._subjectAlternativeNames != null && this._subjectAlternativeNames.Count > 0;
}
///
/// Gets and sets the property SupportCode.
///
/// The support code. Include this code in your email to support when you have questions
/// about your Lightsail certificate. This code enables our support team to look up your
/// Lightsail information more easily.
///
///
public string SupportCode
{
get { return this._supportCode; }
set { this._supportCode = value; }
}
// Check to see if SupportCode property is set
internal bool IsSetSupportCode()
{
return this._supportCode != null;
}
///
/// Gets and sets the property Tags.
///
/// The tag keys and optional values for the resource. For more information about tags
/// in Lightsail, see the Amazon
/// Lightsail Developer Guide.
///
///
public List 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;
}
}
}