/* * 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 a load balancer SSL/TLS certificate. /// /// /// /// TLS is just an updated, more secure version of Secure Socket Layer (SSL). /// /// public partial class LoadBalancerTlsCertificate { private string _arn; private DateTime? _createdAt; private string _domainName; private List _domainValidationRecords = new List(); private LoadBalancerTlsCertificateFailureReason _failureReason; private bool? _isAttached; private DateTime? _issuedAt; private string _issuer; private string _keyAlgorithm; private string _loadBalancerName; private ResourceLocation _location; private string _name; private DateTime? _notAfter; private DateTime? _notBefore; private LoadBalancerTlsCertificateRenewalSummary _renewalSummary; private ResourceType _resourceType; private LoadBalancerTlsCertificateRevocationReason _revocationReason; private DateTime? _revokedAt; private string _serial; private string _signatureAlgorithm; private LoadBalancerTlsCertificateStatus _status; private string _subject; 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 SSL/TLS 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 time when you created your SSL/TLS certificate. /// /// 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 for your SSL/TLS 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 LoadBalancerTlsCertificateDomainValidationRecord objects describing the /// records. /// /// 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 FailureReason. /// /// 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 AWS /// Support Center to contact AWS 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 AWS 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 LoadBalancerTlsCertificateFailureReason FailureReason { get { return this._failureReason; } set { this._failureReason = value; } } // Check to see if FailureReason property is set internal bool IsSetFailureReason() { return this._failureReason != null; } /// /// Gets and sets the property IsAttached. /// /// When true, the SSL/TLS certificate is attached to the Lightsail load /// balancer. /// /// public bool IsAttached { get { return this._isAttached.GetValueOrDefault(); } set { this._isAttached = value; } } // Check to see if IsAttached property is set internal bool IsSetIsAttached() { return this._isAttached.HasValue; } /// /// Gets and sets the property IssuedAt. /// /// The time when the SSL/TLS 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 Issuer. /// /// The issuer of the certificate. /// /// public string Issuer { get { return this._issuer; } set { this._issuer = value; } } // Check to see if Issuer property is set internal bool IsSetIssuer() { return this._issuer != null; } /// /// Gets and sets the property KeyAlgorithm. /// /// The algorithm used to generate the key pair (the public and private key). /// /// 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 LoadBalancerName. /// /// The load balancer name where your SSL/TLS certificate is attached. /// /// public string LoadBalancerName { get { return this._loadBalancerName; } set { this._loadBalancerName = value; } } // Check to see if LoadBalancerName property is set internal bool IsSetLoadBalancerName() { return this._loadBalancerName != null; } /// /// Gets and sets the property Location. /// /// The Amazon Web Services Region and Availability Zone where you created your certificate. /// /// public ResourceLocation Location { get { return this._location; } set { this._location = value; } } // Check to see if Location property is set internal bool IsSetLocation() { return this._location != null; } /// /// Gets and sets the property Name. /// /// The name of the SSL/TLS 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 SSL/TLS 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 SSL/TLS 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 LoadBalancerTlsCertificateRenewalSummary 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 ResourceType. /// /// The resource type (e.g., LoadBalancerTlsCertificate). /// ///
  • /// /// Instance - A Lightsail instance (a virtual private server) /// ///
  • /// /// StaticIp - A static IP address /// ///
  • /// /// KeyPair - The key pair used to connect to a Lightsail instance /// ///
  • /// /// InstanceSnapshot - A Lightsail instance snapshot /// ///
  • /// /// Domain - A DNS zone /// ///
  • /// /// PeeredVpc - A peered VPC /// ///
  • /// /// LoadBalancer - A Lightsail load balancer /// ///
  • /// /// LoadBalancerTlsCertificate - An SSL/TLS certificate associated /// with a Lightsail load balancer /// ///
  • /// /// Disk - A Lightsail block storage disk /// ///
  • /// /// DiskSnapshot - A block storage disk snapshot /// ///
///
public ResourceType ResourceType { get { return this._resourceType; } set { this._resourceType = value; } } // Check to see if ResourceType property is set internal bool IsSetResourceType() { return this._resourceType != 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 LoadBalancerTlsCertificateRevocationReason 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 Serial. /// /// The serial number of the certificate. /// /// public string Serial { get { return this._serial; } set { this._serial = value; } } // Check to see if Serial property is set internal bool IsSetSerial() { return this._serial != null; } /// /// Gets and sets the property SignatureAlgorithm. /// /// The algorithm that was used to sign the certificate. /// /// public string SignatureAlgorithm { get { return this._signatureAlgorithm; } set { this._signatureAlgorithm = value; } } // Check to see if SignatureAlgorithm property is set internal bool IsSetSignatureAlgorithm() { return this._signatureAlgorithm != null; } /// /// Gets and sets the property Status. /// /// The validation status of the SSL/TLS certificate. Valid values are below. /// /// public LoadBalancerTlsCertificateStatus 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 Subject. /// /// The name of the entity that is associated with the public key contained in the certificate. /// /// public string Subject { get { return this._subject; } set { this._subject = value; } } // Check to see if Subject property is set internal bool IsSetSubject() { return this._subject != 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) for 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 load balancer or SSL/TLS 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; } } }