/*
* 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 securityhub-2018-10-26.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.SecurityHub.Model
{
///
/// Provides details about an Certificate Manager certificate.
///
public partial class AwsCertificateManagerCertificateDetails
{
private string _certificateAuthorityArn;
private string _createdAt;
private string _domainName;
private List _domainValidationOptions = new List();
private List _extendedKeyUsages = new List();
private string _failureReason;
private string _importedAt;
private List _inUseBy = new List();
private string _issuedAt;
private string _issuer;
private string _keyAlgorithm;
private List _keyUsages = new List();
private string _notAfter;
private string _notBefore;
private AwsCertificateManagerCertificateOptions _options;
private string _renewalEligibility;
private AwsCertificateManagerCertificateRenewalSummary _renewalSummary;
private string _serial;
private string _signatureAlgorithm;
private string _status;
private string _subject;
private List _subjectAlternativeNames = new List();
private string _type;
///
/// Gets and sets the property CertificateAuthorityArn.
///
/// The ARN of the private certificate authority (CA) that will be used to issue the certificate.
///
///
public string CertificateAuthorityArn
{
get { return this._certificateAuthorityArn; }
set { this._certificateAuthorityArn = value; }
}
// Check to see if CertificateAuthorityArn property is set
internal bool IsSetCertificateAuthorityArn()
{
return this._certificateAuthorityArn != null;
}
///
/// Gets and sets the property CreatedAt.
///
/// Indicates when the certificate was requested.
///
///
///
/// Uses the date-time
format specified in RFC
/// 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces,
/// and date and time should be separated by T
. For example, 2020-03-22T13:22:13.933Z
.
///
///
public string CreatedAt
{
get { return this._createdAt; }
set { this._createdAt = value; }
}
// Check to see if CreatedAt property is set
internal bool IsSetCreatedAt()
{
return this._createdAt != null;
}
///
/// Gets and sets the property DomainName.
///
/// The fully qualified domain name (FQDN), such as www.example.com, that is secured by
/// 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 DomainValidationOptions.
///
/// Contains information about the initial validation of each domain name that occurs
/// as a result of the RequestCertificate
request.
///
///
///
/// Only provided if the certificate type is AMAZON_ISSUED
.
///
///
public List DomainValidationOptions
{
get { return this._domainValidationOptions; }
set { this._domainValidationOptions = value; }
}
// Check to see if DomainValidationOptions property is set
internal bool IsSetDomainValidationOptions()
{
return this._domainValidationOptions != null && this._domainValidationOptions.Count > 0;
}
///
/// Gets and sets the property ExtendedKeyUsages.
///
/// Contains a list of Extended Key Usage X.509 v3 extension objects. Each object specifies
/// a purpose for which the certificate public key can be used and consists of a name
/// and an object identifier (OID).
///
///
public List ExtendedKeyUsages
{
get { return this._extendedKeyUsages; }
set { this._extendedKeyUsages = value; }
}
// Check to see if ExtendedKeyUsages property is set
internal bool IsSetExtendedKeyUsages()
{
return this._extendedKeyUsages != null && this._extendedKeyUsages.Count > 0;
}
///
/// Gets and sets the property FailureReason.
///
/// For a failed certificate request, the reason for the failure.
///
///
///
/// Valid values: NO_AVAILABLE_CONTACTS
| ADDITIONAL_VERIFICATION_REQUIRED
/// | DOMAIN_NOT_ALLOWED
| INVALID_PUBLIC_DOMAIN
| DOMAIN_VALIDATION_DENIED
/// | CAA_ERROR
| PCA_LIMIT_EXCEEDED
| PCA_INVALID_ARN
/// | PCA_INVALID_STATE
| PCA_REQUEST_FAILED
| PCA_NAME_CONSTRAINTS_VALIDATION
/// | PCA_RESOURCE_NOT_FOUND
| PCA_INVALID_ARGS
| PCA_INVALID_DURATION
/// | PCA_ACCESS_DENIED
| SLR_NOT_FOUND
| OTHER
///
///
///
public string 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 ImportedAt.
///
/// Indicates when the certificate was imported. Provided if the certificate type is IMPORTED
.
///
///
///
/// Uses the date-time
format specified in RFC
/// 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces,
/// and date and time should be separated by T
. For example, 2020-03-22T13:22:13.933Z
.
///
///
public string ImportedAt
{
get { return this._importedAt; }
set { this._importedAt = value; }
}
// Check to see if ImportedAt property is set
internal bool IsSetImportedAt()
{
return this._importedAt != null;
}
///
/// Gets and sets the property InUseBy.
///
/// The list of ARNs for the Amazon Web Services resources that use the certificate.
///
///
public List InUseBy
{
get { return this._inUseBy; }
set { this._inUseBy = value; }
}
// Check to see if InUseBy property is set
internal bool IsSetInUseBy()
{
return this._inUseBy != null && this._inUseBy.Count > 0;
}
///
/// Gets and sets the property IssuedAt.
///
/// Indicates when the certificate was issued. Provided if the certificate type is AMAZON_ISSUED
.
///
///
///
/// Uses the date-time
format specified in RFC
/// 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces,
/// and date and time should be separated by T
. For example, 2020-03-22T13:22:13.933Z
.
///
///
public string IssuedAt
{
get { return this._issuedAt; }
set { this._issuedAt = value; }
}
// Check to see if IssuedAt property is set
internal bool IsSetIssuedAt()
{
return this._issuedAt != null;
}
///
/// Gets and sets the property Issuer.
///
/// The name of the certificate authority that issued and signed 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 that was used to generate the public-private key pair.
///
///
///
/// Valid values: RSA_2048
| RSA_1024
| RSA_4096
/// | EC_prime256v1
| EC_secp384r1
| EC_secp521r1
///
///
///
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 KeyUsages.
///
/// A list of key usage X.509 v3 extension objects.
///
///
public List KeyUsages
{
get { return this._keyUsages; }
set { this._keyUsages = value; }
}
// Check to see if KeyUsages property is set
internal bool IsSetKeyUsages()
{
return this._keyUsages != null && this._keyUsages.Count > 0;
}
///
/// Gets and sets the property NotAfter.
///
/// The time after which the certificate becomes invalid.
///
///
///
/// Uses the date-time
format specified in RFC
/// 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces,
/// and date and time should be separated by T
. For example, 2020-03-22T13:22:13.933Z
.
///
///
public string NotAfter
{
get { return this._notAfter; }
set { this._notAfter = value; }
}
// Check to see if NotAfter property is set
internal bool IsSetNotAfter()
{
return this._notAfter != null;
}
///
/// Gets and sets the property NotBefore.
///
/// The time before which the certificate is not valid.
///
///
///
/// Uses the date-time
format specified in RFC
/// 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces,
/// and date and time should be separated by T
. For example, 2020-03-22T13:22:13.933Z
.
///
///
public string NotBefore
{
get { return this._notBefore; }
set { this._notBefore = value; }
}
// Check to see if NotBefore property is set
internal bool IsSetNotBefore()
{
return this._notBefore != null;
}
///
/// Gets and sets the property Options.
///
/// Provides a value that specifies whether to add the certificate to a transparency log.
///
///
public AwsCertificateManagerCertificateOptions Options
{
get { return this._options; }
set { this._options = value; }
}
// Check to see if Options property is set
internal bool IsSetOptions()
{
return this._options != null;
}
///
/// Gets and sets the property RenewalEligibility.
///
/// Whether the certificate is eligible for renewal.
///
///
///
/// Valid values: ELIGIBLE
| INELIGIBLE
///
///
public string RenewalEligibility
{
get { return this._renewalEligibility; }
set { this._renewalEligibility = value; }
}
// Check to see if RenewalEligibility property is set
internal bool IsSetRenewalEligibility()
{
return this._renewalEligibility != null;
}
///
/// Gets and sets the property RenewalSummary.
///
/// Information about the status of the Certificate Manager managed renewal for the certificate.
/// Provided only when the certificate type is AMAZON_ISSUED
.
///
///
public AwsCertificateManagerCertificateRenewalSummary 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 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 status of the certificate.
///
///
///
/// Valid values: PENDING_VALIDATION
| ISSUED
| INACTIVE
/// | EXPIRED
| VALIDATION_TIMED_OUT
| REVOKED
/// | FAILED
///
///
public string 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.
///
/// One or more domain names (subject alternative names) included in the certificate.
/// This list contains the domain names that are bound to the public key that is contained
/// in the certificate.
///
///
///
/// The subject alternative names include the canonical domain name (CN) of the certificate
/// and additional domain names that can be used to connect to the website.
///
///
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 Type.
///
/// The source of the certificate. For certificates that Certificate Manager provides,
/// Type
is AMAZON_ISSUED
. For certificates that are imported
/// with ImportCertificate
, Type
is IMPORTED
.
///
///
///
/// Valid values: IMPORTED
| AMAZON_ISSUED
| PRIVATE
///
///
///
public string Type
{
get { return this._type; }
set { this._type = value; }
}
// Check to see if Type property is set
internal bool IsSetType()
{
return this._type != null;
}
}
}