/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace SecurityHub { namespace Model { /** *

Provides details about an Certificate Manager certificate.

See * Also:

AWS * API Reference

*/ class AwsCertificateManagerCertificateDetails { public: AWS_SECURITYHUB_API AwsCertificateManagerCertificateDetails(); AWS_SECURITYHUB_API AwsCertificateManagerCertificateDetails(Aws::Utils::Json::JsonView jsonValue); AWS_SECURITYHUB_API AwsCertificateManagerCertificateDetails& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_SECURITYHUB_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

The ARN of the private certificate authority (CA) that will be used to issue * the certificate.

*/ inline const Aws::String& GetCertificateAuthorityArn() const{ return m_certificateAuthorityArn; } /** *

The ARN of the private certificate authority (CA) that will be used to issue * the certificate.

*/ inline bool CertificateAuthorityArnHasBeenSet() const { return m_certificateAuthorityArnHasBeenSet; } /** *

The ARN of the private certificate authority (CA) that will be used to issue * the certificate.

*/ inline void SetCertificateAuthorityArn(const Aws::String& value) { m_certificateAuthorityArnHasBeenSet = true; m_certificateAuthorityArn = value; } /** *

The ARN of the private certificate authority (CA) that will be used to issue * the certificate.

*/ inline void SetCertificateAuthorityArn(Aws::String&& value) { m_certificateAuthorityArnHasBeenSet = true; m_certificateAuthorityArn = std::move(value); } /** *

The ARN of the private certificate authority (CA) that will be used to issue * the certificate.

*/ inline void SetCertificateAuthorityArn(const char* value) { m_certificateAuthorityArnHasBeenSet = true; m_certificateAuthorityArn.assign(value); } /** *

The ARN of the private certificate authority (CA) that will be used to issue * the certificate.

*/ inline AwsCertificateManagerCertificateDetails& WithCertificateAuthorityArn(const Aws::String& value) { SetCertificateAuthorityArn(value); return *this;} /** *

The ARN of the private certificate authority (CA) that will be used to issue * the certificate.

*/ inline AwsCertificateManagerCertificateDetails& WithCertificateAuthorityArn(Aws::String&& value) { SetCertificateAuthorityArn(std::move(value)); return *this;} /** *

The ARN of the private certificate authority (CA) that will be used to issue * the certificate.

*/ inline AwsCertificateManagerCertificateDetails& WithCertificateAuthorityArn(const char* value) { SetCertificateAuthorityArn(value); return *this;} /** *

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.

*/ inline const Aws::String& GetCreatedAt() const{ return m_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.

*/ inline bool CreatedAtHasBeenSet() const { return m_createdAtHasBeenSet; } /** *

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.

*/ inline void SetCreatedAt(const Aws::String& value) { m_createdAtHasBeenSet = true; m_createdAt = value; } /** *

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.

*/ inline void SetCreatedAt(Aws::String&& value) { m_createdAtHasBeenSet = true; m_createdAt = std::move(value); } /** *

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.

*/ inline void SetCreatedAt(const char* value) { m_createdAtHasBeenSet = true; m_createdAt.assign(value); } /** *

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.

*/ inline AwsCertificateManagerCertificateDetails& WithCreatedAt(const Aws::String& value) { SetCreatedAt(value); return *this;} /** *

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.

*/ inline AwsCertificateManagerCertificateDetails& WithCreatedAt(Aws::String&& value) { SetCreatedAt(std::move(value)); return *this;} /** *

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.

*/ inline AwsCertificateManagerCertificateDetails& WithCreatedAt(const char* value) { SetCreatedAt(value); return *this;} /** *

The fully qualified domain name (FQDN), such as www.example.com, that is * secured by the certificate.

*/ inline const Aws::String& GetDomainName() const{ return m_domainName; } /** *

The fully qualified domain name (FQDN), such as www.example.com, that is * secured by the certificate.

*/ inline bool DomainNameHasBeenSet() const { return m_domainNameHasBeenSet; } /** *

The fully qualified domain name (FQDN), such as www.example.com, that is * secured by the certificate.

*/ inline void SetDomainName(const Aws::String& value) { m_domainNameHasBeenSet = true; m_domainName = value; } /** *

The fully qualified domain name (FQDN), such as www.example.com, that is * secured by the certificate.

*/ inline void SetDomainName(Aws::String&& value) { m_domainNameHasBeenSet = true; m_domainName = std::move(value); } /** *

The fully qualified domain name (FQDN), such as www.example.com, that is * secured by the certificate.

*/ inline void SetDomainName(const char* value) { m_domainNameHasBeenSet = true; m_domainName.assign(value); } /** *

The fully qualified domain name (FQDN), such as www.example.com, that is * secured by the certificate.

*/ inline AwsCertificateManagerCertificateDetails& WithDomainName(const Aws::String& value) { SetDomainName(value); return *this;} /** *

The fully qualified domain name (FQDN), such as www.example.com, that is * secured by the certificate.

*/ inline AwsCertificateManagerCertificateDetails& WithDomainName(Aws::String&& value) { SetDomainName(std::move(value)); return *this;} /** *

The fully qualified domain name (FQDN), such as www.example.com, that is * secured by the certificate.

*/ inline AwsCertificateManagerCertificateDetails& WithDomainName(const char* value) { SetDomainName(value); return *this;} /** *

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.

*/ inline const Aws::Vector& GetDomainValidationOptions() const{ return m_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.

*/ inline bool DomainValidationOptionsHasBeenSet() const { return m_domainValidationOptionsHasBeenSet; } /** *

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.

*/ inline void SetDomainValidationOptions(const Aws::Vector& value) { m_domainValidationOptionsHasBeenSet = true; m_domainValidationOptions = value; } /** *

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.

*/ inline void SetDomainValidationOptions(Aws::Vector&& value) { m_domainValidationOptionsHasBeenSet = true; m_domainValidationOptions = std::move(value); } /** *

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.

*/ inline AwsCertificateManagerCertificateDetails& WithDomainValidationOptions(const Aws::Vector& value) { SetDomainValidationOptions(value); return *this;} /** *

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.

*/ inline AwsCertificateManagerCertificateDetails& WithDomainValidationOptions(Aws::Vector&& value) { SetDomainValidationOptions(std::move(value)); return *this;} /** *

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.

*/ inline AwsCertificateManagerCertificateDetails& AddDomainValidationOptions(const AwsCertificateManagerCertificateDomainValidationOption& value) { m_domainValidationOptionsHasBeenSet = true; m_domainValidationOptions.push_back(value); return *this; } /** *

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.

*/ inline AwsCertificateManagerCertificateDetails& AddDomainValidationOptions(AwsCertificateManagerCertificateDomainValidationOption&& value) { m_domainValidationOptionsHasBeenSet = true; m_domainValidationOptions.push_back(std::move(value)); return *this; } /** *

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).

*/ inline const Aws::Vector& GetExtendedKeyUsages() const{ return m_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).

*/ inline bool ExtendedKeyUsagesHasBeenSet() const { return m_extendedKeyUsagesHasBeenSet; } /** *

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).

*/ inline void SetExtendedKeyUsages(const Aws::Vector& value) { m_extendedKeyUsagesHasBeenSet = true; m_extendedKeyUsages = value; } /** *

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).

*/ inline void SetExtendedKeyUsages(Aws::Vector&& value) { m_extendedKeyUsagesHasBeenSet = true; m_extendedKeyUsages = std::move(value); } /** *

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).

*/ inline AwsCertificateManagerCertificateDetails& WithExtendedKeyUsages(const Aws::Vector& value) { SetExtendedKeyUsages(value); return *this;} /** *

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).

*/ inline AwsCertificateManagerCertificateDetails& WithExtendedKeyUsages(Aws::Vector&& value) { SetExtendedKeyUsages(std::move(value)); return *this;} /** *

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).

*/ inline AwsCertificateManagerCertificateDetails& AddExtendedKeyUsages(const AwsCertificateManagerCertificateExtendedKeyUsage& value) { m_extendedKeyUsagesHasBeenSet = true; m_extendedKeyUsages.push_back(value); return *this; } /** *

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).

*/ inline AwsCertificateManagerCertificateDetails& AddExtendedKeyUsages(AwsCertificateManagerCertificateExtendedKeyUsage&& value) { m_extendedKeyUsagesHasBeenSet = true; m_extendedKeyUsages.push_back(std::move(value)); return *this; } /** *

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

*/ inline const Aws::String& GetFailureReason() const{ return m_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

*/ inline bool FailureReasonHasBeenSet() const { return m_failureReasonHasBeenSet; } /** *

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

*/ inline void SetFailureReason(const Aws::String& value) { m_failureReasonHasBeenSet = true; m_failureReason = value; } /** *

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

*/ inline void SetFailureReason(Aws::String&& value) { m_failureReasonHasBeenSet = true; m_failureReason = std::move(value); } /** *

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

*/ inline void SetFailureReason(const char* value) { m_failureReasonHasBeenSet = true; m_failureReason.assign(value); } /** *

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

*/ inline AwsCertificateManagerCertificateDetails& WithFailureReason(const Aws::String& value) { SetFailureReason(value); return *this;} /** *

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

*/ inline AwsCertificateManagerCertificateDetails& WithFailureReason(Aws::String&& value) { SetFailureReason(std::move(value)); return *this;} /** *

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

*/ inline AwsCertificateManagerCertificateDetails& WithFailureReason(const char* value) { SetFailureReason(value); return *this;} /** *

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.

*/ inline const Aws::String& GetImportedAt() const{ return m_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.

*/ inline bool ImportedAtHasBeenSet() const { return m_importedAtHasBeenSet; } /** *

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.

*/ inline void SetImportedAt(const Aws::String& value) { m_importedAtHasBeenSet = true; m_importedAt = value; } /** *

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.

*/ inline void SetImportedAt(Aws::String&& value) { m_importedAtHasBeenSet = true; m_importedAt = std::move(value); } /** *

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.

*/ inline void SetImportedAt(const char* value) { m_importedAtHasBeenSet = true; m_importedAt.assign(value); } /** *

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.

*/ inline AwsCertificateManagerCertificateDetails& WithImportedAt(const Aws::String& value) { SetImportedAt(value); return *this;} /** *

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.

*/ inline AwsCertificateManagerCertificateDetails& WithImportedAt(Aws::String&& value) { SetImportedAt(std::move(value)); return *this;} /** *

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.

*/ inline AwsCertificateManagerCertificateDetails& WithImportedAt(const char* value) { SetImportedAt(value); return *this;} /** *

The list of ARNs for the Amazon Web Services resources that use the * certificate.

*/ inline const Aws::Vector& GetInUseBy() const{ return m_inUseBy; } /** *

The list of ARNs for the Amazon Web Services resources that use the * certificate.

*/ inline bool InUseByHasBeenSet() const { return m_inUseByHasBeenSet; } /** *

The list of ARNs for the Amazon Web Services resources that use the * certificate.

*/ inline void SetInUseBy(const Aws::Vector& value) { m_inUseByHasBeenSet = true; m_inUseBy = value; } /** *

The list of ARNs for the Amazon Web Services resources that use the * certificate.

*/ inline void SetInUseBy(Aws::Vector&& value) { m_inUseByHasBeenSet = true; m_inUseBy = std::move(value); } /** *

The list of ARNs for the Amazon Web Services resources that use the * certificate.

*/ inline AwsCertificateManagerCertificateDetails& WithInUseBy(const Aws::Vector& value) { SetInUseBy(value); return *this;} /** *

The list of ARNs for the Amazon Web Services resources that use the * certificate.

*/ inline AwsCertificateManagerCertificateDetails& WithInUseBy(Aws::Vector&& value) { SetInUseBy(std::move(value)); return *this;} /** *

The list of ARNs for the Amazon Web Services resources that use the * certificate.

*/ inline AwsCertificateManagerCertificateDetails& AddInUseBy(const Aws::String& value) { m_inUseByHasBeenSet = true; m_inUseBy.push_back(value); return *this; } /** *

The list of ARNs for the Amazon Web Services resources that use the * certificate.

*/ inline AwsCertificateManagerCertificateDetails& AddInUseBy(Aws::String&& value) { m_inUseByHasBeenSet = true; m_inUseBy.push_back(std::move(value)); return *this; } /** *

The list of ARNs for the Amazon Web Services resources that use the * certificate.

*/ inline AwsCertificateManagerCertificateDetails& AddInUseBy(const char* value) { m_inUseByHasBeenSet = true; m_inUseBy.push_back(value); return *this; } /** *

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.

*/ inline const Aws::String& GetIssuedAt() const{ return m_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.

*/ inline bool IssuedAtHasBeenSet() const { return m_issuedAtHasBeenSet; } /** *

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.

*/ inline void SetIssuedAt(const Aws::String& value) { m_issuedAtHasBeenSet = true; m_issuedAt = value; } /** *

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.

*/ inline void SetIssuedAt(Aws::String&& value) { m_issuedAtHasBeenSet = true; m_issuedAt = std::move(value); } /** *

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.

*/ inline void SetIssuedAt(const char* value) { m_issuedAtHasBeenSet = true; m_issuedAt.assign(value); } /** *

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.

*/ inline AwsCertificateManagerCertificateDetails& WithIssuedAt(const Aws::String& value) { SetIssuedAt(value); return *this;} /** *

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.

*/ inline AwsCertificateManagerCertificateDetails& WithIssuedAt(Aws::String&& value) { SetIssuedAt(std::move(value)); return *this;} /** *

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.

*/ inline AwsCertificateManagerCertificateDetails& WithIssuedAt(const char* value) { SetIssuedAt(value); return *this;} /** *

The name of the certificate authority that issued and signed the * certificate.

*/ inline const Aws::String& GetIssuer() const{ return m_issuer; } /** *

The name of the certificate authority that issued and signed the * certificate.

*/ inline bool IssuerHasBeenSet() const { return m_issuerHasBeenSet; } /** *

The name of the certificate authority that issued and signed the * certificate.

*/ inline void SetIssuer(const Aws::String& value) { m_issuerHasBeenSet = true; m_issuer = value; } /** *

The name of the certificate authority that issued and signed the * certificate.

*/ inline void SetIssuer(Aws::String&& value) { m_issuerHasBeenSet = true; m_issuer = std::move(value); } /** *

The name of the certificate authority that issued and signed the * certificate.

*/ inline void SetIssuer(const char* value) { m_issuerHasBeenSet = true; m_issuer.assign(value); } /** *

The name of the certificate authority that issued and signed the * certificate.

*/ inline AwsCertificateManagerCertificateDetails& WithIssuer(const Aws::String& value) { SetIssuer(value); return *this;} /** *

The name of the certificate authority that issued and signed the * certificate.

*/ inline AwsCertificateManagerCertificateDetails& WithIssuer(Aws::String&& value) { SetIssuer(std::move(value)); return *this;} /** *

The name of the certificate authority that issued and signed the * certificate.

*/ inline AwsCertificateManagerCertificateDetails& WithIssuer(const char* value) { SetIssuer(value); return *this;} /** *

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

*/ inline const Aws::String& GetKeyAlgorithm() const{ return m_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

*/ inline bool KeyAlgorithmHasBeenSet() const { return m_keyAlgorithmHasBeenSet; } /** *

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

*/ inline void SetKeyAlgorithm(const Aws::String& value) { m_keyAlgorithmHasBeenSet = true; m_keyAlgorithm = value; } /** *

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

*/ inline void SetKeyAlgorithm(Aws::String&& value) { m_keyAlgorithmHasBeenSet = true; m_keyAlgorithm = std::move(value); } /** *

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

*/ inline void SetKeyAlgorithm(const char* value) { m_keyAlgorithmHasBeenSet = true; m_keyAlgorithm.assign(value); } /** *

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

*/ inline AwsCertificateManagerCertificateDetails& WithKeyAlgorithm(const Aws::String& value) { SetKeyAlgorithm(value); return *this;} /** *

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

*/ inline AwsCertificateManagerCertificateDetails& WithKeyAlgorithm(Aws::String&& value) { SetKeyAlgorithm(std::move(value)); return *this;} /** *

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

*/ inline AwsCertificateManagerCertificateDetails& WithKeyAlgorithm(const char* value) { SetKeyAlgorithm(value); return *this;} /** *

A list of key usage X.509 v3 extension objects.

*/ inline const Aws::Vector& GetKeyUsages() const{ return m_keyUsages; } /** *

A list of key usage X.509 v3 extension objects.

*/ inline bool KeyUsagesHasBeenSet() const { return m_keyUsagesHasBeenSet; } /** *

A list of key usage X.509 v3 extension objects.

*/ inline void SetKeyUsages(const Aws::Vector& value) { m_keyUsagesHasBeenSet = true; m_keyUsages = value; } /** *

A list of key usage X.509 v3 extension objects.

*/ inline void SetKeyUsages(Aws::Vector&& value) { m_keyUsagesHasBeenSet = true; m_keyUsages = std::move(value); } /** *

A list of key usage X.509 v3 extension objects.

*/ inline AwsCertificateManagerCertificateDetails& WithKeyUsages(const Aws::Vector& value) { SetKeyUsages(value); return *this;} /** *

A list of key usage X.509 v3 extension objects.

*/ inline AwsCertificateManagerCertificateDetails& WithKeyUsages(Aws::Vector&& value) { SetKeyUsages(std::move(value)); return *this;} /** *

A list of key usage X.509 v3 extension objects.

*/ inline AwsCertificateManagerCertificateDetails& AddKeyUsages(const AwsCertificateManagerCertificateKeyUsage& value) { m_keyUsagesHasBeenSet = true; m_keyUsages.push_back(value); return *this; } /** *

A list of key usage X.509 v3 extension objects.

*/ inline AwsCertificateManagerCertificateDetails& AddKeyUsages(AwsCertificateManagerCertificateKeyUsage&& value) { m_keyUsagesHasBeenSet = true; m_keyUsages.push_back(std::move(value)); return *this; } /** *

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.

*/ inline const Aws::String& GetNotAfter() const{ return m_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.

*/ inline bool NotAfterHasBeenSet() const { return m_notAfterHasBeenSet; } /** *

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.

*/ inline void SetNotAfter(const Aws::String& value) { m_notAfterHasBeenSet = true; m_notAfter = value; } /** *

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.

*/ inline void SetNotAfter(Aws::String&& value) { m_notAfterHasBeenSet = true; m_notAfter = std::move(value); } /** *

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.

*/ inline void SetNotAfter(const char* value) { m_notAfterHasBeenSet = true; m_notAfter.assign(value); } /** *

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.

*/ inline AwsCertificateManagerCertificateDetails& WithNotAfter(const Aws::String& value) { SetNotAfter(value); return *this;} /** *

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.

*/ inline AwsCertificateManagerCertificateDetails& WithNotAfter(Aws::String&& value) { SetNotAfter(std::move(value)); return *this;} /** *

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.

*/ inline AwsCertificateManagerCertificateDetails& WithNotAfter(const char* value) { SetNotAfter(value); return *this;} /** *

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.

*/ inline const Aws::String& GetNotBefore() const{ return m_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.

*/ inline bool NotBeforeHasBeenSet() const { return m_notBeforeHasBeenSet; } /** *

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.

*/ inline void SetNotBefore(const Aws::String& value) { m_notBeforeHasBeenSet = true; m_notBefore = value; } /** *

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.

*/ inline void SetNotBefore(Aws::String&& value) { m_notBeforeHasBeenSet = true; m_notBefore = std::move(value); } /** *

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.

*/ inline void SetNotBefore(const char* value) { m_notBeforeHasBeenSet = true; m_notBefore.assign(value); } /** *

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.

*/ inline AwsCertificateManagerCertificateDetails& WithNotBefore(const Aws::String& value) { SetNotBefore(value); return *this;} /** *

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.

*/ inline AwsCertificateManagerCertificateDetails& WithNotBefore(Aws::String&& value) { SetNotBefore(std::move(value)); return *this;} /** *

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.

*/ inline AwsCertificateManagerCertificateDetails& WithNotBefore(const char* value) { SetNotBefore(value); return *this;} /** *

Provides a value that specifies whether to add the certificate to a * transparency log.

*/ inline const AwsCertificateManagerCertificateOptions& GetOptions() const{ return m_options; } /** *

Provides a value that specifies whether to add the certificate to a * transparency log.

*/ inline bool OptionsHasBeenSet() const { return m_optionsHasBeenSet; } /** *

Provides a value that specifies whether to add the certificate to a * transparency log.

*/ inline void SetOptions(const AwsCertificateManagerCertificateOptions& value) { m_optionsHasBeenSet = true; m_options = value; } /** *

Provides a value that specifies whether to add the certificate to a * transparency log.

*/ inline void SetOptions(AwsCertificateManagerCertificateOptions&& value) { m_optionsHasBeenSet = true; m_options = std::move(value); } /** *

Provides a value that specifies whether to add the certificate to a * transparency log.

*/ inline AwsCertificateManagerCertificateDetails& WithOptions(const AwsCertificateManagerCertificateOptions& value) { SetOptions(value); return *this;} /** *

Provides a value that specifies whether to add the certificate to a * transparency log.

*/ inline AwsCertificateManagerCertificateDetails& WithOptions(AwsCertificateManagerCertificateOptions&& value) { SetOptions(std::move(value)); return *this;} /** *

Whether the certificate is eligible for renewal.

Valid values: * ELIGIBLE | INELIGIBLE

*/ inline const Aws::String& GetRenewalEligibility() const{ return m_renewalEligibility; } /** *

Whether the certificate is eligible for renewal.

Valid values: * ELIGIBLE | INELIGIBLE

*/ inline bool RenewalEligibilityHasBeenSet() const { return m_renewalEligibilityHasBeenSet; } /** *

Whether the certificate is eligible for renewal.

Valid values: * ELIGIBLE | INELIGIBLE

*/ inline void SetRenewalEligibility(const Aws::String& value) { m_renewalEligibilityHasBeenSet = true; m_renewalEligibility = value; } /** *

Whether the certificate is eligible for renewal.

Valid values: * ELIGIBLE | INELIGIBLE

*/ inline void SetRenewalEligibility(Aws::String&& value) { m_renewalEligibilityHasBeenSet = true; m_renewalEligibility = std::move(value); } /** *

Whether the certificate is eligible for renewal.

Valid values: * ELIGIBLE | INELIGIBLE

*/ inline void SetRenewalEligibility(const char* value) { m_renewalEligibilityHasBeenSet = true; m_renewalEligibility.assign(value); } /** *

Whether the certificate is eligible for renewal.

Valid values: * ELIGIBLE | INELIGIBLE

*/ inline AwsCertificateManagerCertificateDetails& WithRenewalEligibility(const Aws::String& value) { SetRenewalEligibility(value); return *this;} /** *

Whether the certificate is eligible for renewal.

Valid values: * ELIGIBLE | INELIGIBLE

*/ inline AwsCertificateManagerCertificateDetails& WithRenewalEligibility(Aws::String&& value) { SetRenewalEligibility(std::move(value)); return *this;} /** *

Whether the certificate is eligible for renewal.

Valid values: * ELIGIBLE | INELIGIBLE

*/ inline AwsCertificateManagerCertificateDetails& WithRenewalEligibility(const char* value) { SetRenewalEligibility(value); return *this;} /** *

Information about the status of the Certificate Manager managed renewal for * the certificate. Provided only when the certificate type is * AMAZON_ISSUED.

*/ inline const AwsCertificateManagerCertificateRenewalSummary& GetRenewalSummary() const{ return m_renewalSummary; } /** *

Information about the status of the Certificate Manager managed renewal for * the certificate. Provided only when the certificate type is * AMAZON_ISSUED.

*/ inline bool RenewalSummaryHasBeenSet() const { return m_renewalSummaryHasBeenSet; } /** *

Information about the status of the Certificate Manager managed renewal for * the certificate. Provided only when the certificate type is * AMAZON_ISSUED.

*/ inline void SetRenewalSummary(const AwsCertificateManagerCertificateRenewalSummary& value) { m_renewalSummaryHasBeenSet = true; m_renewalSummary = value; } /** *

Information about the status of the Certificate Manager managed renewal for * the certificate. Provided only when the certificate type is * AMAZON_ISSUED.

*/ inline void SetRenewalSummary(AwsCertificateManagerCertificateRenewalSummary&& value) { m_renewalSummaryHasBeenSet = true; m_renewalSummary = std::move(value); } /** *

Information about the status of the Certificate Manager managed renewal for * the certificate. Provided only when the certificate type is * AMAZON_ISSUED.

*/ inline AwsCertificateManagerCertificateDetails& WithRenewalSummary(const AwsCertificateManagerCertificateRenewalSummary& value) { SetRenewalSummary(value); return *this;} /** *

Information about the status of the Certificate Manager managed renewal for * the certificate. Provided only when the certificate type is * AMAZON_ISSUED.

*/ inline AwsCertificateManagerCertificateDetails& WithRenewalSummary(AwsCertificateManagerCertificateRenewalSummary&& value) { SetRenewalSummary(std::move(value)); return *this;} /** *

The serial number of the certificate.

*/ inline const Aws::String& GetSerial() const{ return m_serial; } /** *

The serial number of the certificate.

*/ inline bool SerialHasBeenSet() const { return m_serialHasBeenSet; } /** *

The serial number of the certificate.

*/ inline void SetSerial(const Aws::String& value) { m_serialHasBeenSet = true; m_serial = value; } /** *

The serial number of the certificate.

*/ inline void SetSerial(Aws::String&& value) { m_serialHasBeenSet = true; m_serial = std::move(value); } /** *

The serial number of the certificate.

*/ inline void SetSerial(const char* value) { m_serialHasBeenSet = true; m_serial.assign(value); } /** *

The serial number of the certificate.

*/ inline AwsCertificateManagerCertificateDetails& WithSerial(const Aws::String& value) { SetSerial(value); return *this;} /** *

The serial number of the certificate.

*/ inline AwsCertificateManagerCertificateDetails& WithSerial(Aws::String&& value) { SetSerial(std::move(value)); return *this;} /** *

The serial number of the certificate.

*/ inline AwsCertificateManagerCertificateDetails& WithSerial(const char* value) { SetSerial(value); return *this;} /** *

The algorithm that was used to sign the certificate.

*/ inline const Aws::String& GetSignatureAlgorithm() const{ return m_signatureAlgorithm; } /** *

The algorithm that was used to sign the certificate.

*/ inline bool SignatureAlgorithmHasBeenSet() const { return m_signatureAlgorithmHasBeenSet; } /** *

The algorithm that was used to sign the certificate.

*/ inline void SetSignatureAlgorithm(const Aws::String& value) { m_signatureAlgorithmHasBeenSet = true; m_signatureAlgorithm = value; } /** *

The algorithm that was used to sign the certificate.

*/ inline void SetSignatureAlgorithm(Aws::String&& value) { m_signatureAlgorithmHasBeenSet = true; m_signatureAlgorithm = std::move(value); } /** *

The algorithm that was used to sign the certificate.

*/ inline void SetSignatureAlgorithm(const char* value) { m_signatureAlgorithmHasBeenSet = true; m_signatureAlgorithm.assign(value); } /** *

The algorithm that was used to sign the certificate.

*/ inline AwsCertificateManagerCertificateDetails& WithSignatureAlgorithm(const Aws::String& value) { SetSignatureAlgorithm(value); return *this;} /** *

The algorithm that was used to sign the certificate.

*/ inline AwsCertificateManagerCertificateDetails& WithSignatureAlgorithm(Aws::String&& value) { SetSignatureAlgorithm(std::move(value)); return *this;} /** *

The algorithm that was used to sign the certificate.

*/ inline AwsCertificateManagerCertificateDetails& WithSignatureAlgorithm(const char* value) { SetSignatureAlgorithm(value); return *this;} /** *

The status of the certificate.

Valid values: * PENDING_VALIDATION | ISSUED | INACTIVE | * EXPIRED | VALIDATION_TIMED_OUT | REVOKED * | FAILED

*/ inline const Aws::String& GetStatus() const{ return m_status; } /** *

The status of the certificate.

Valid values: * PENDING_VALIDATION | ISSUED | INACTIVE | * EXPIRED | VALIDATION_TIMED_OUT | REVOKED * | FAILED

*/ inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } /** *

The status of the certificate.

Valid values: * PENDING_VALIDATION | ISSUED | INACTIVE | * EXPIRED | VALIDATION_TIMED_OUT | REVOKED * | FAILED

*/ inline void SetStatus(const Aws::String& value) { m_statusHasBeenSet = true; m_status = value; } /** *

The status of the certificate.

Valid values: * PENDING_VALIDATION | ISSUED | INACTIVE | * EXPIRED | VALIDATION_TIMED_OUT | REVOKED * | FAILED

*/ inline void SetStatus(Aws::String&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } /** *

The status of the certificate.

Valid values: * PENDING_VALIDATION | ISSUED | INACTIVE | * EXPIRED | VALIDATION_TIMED_OUT | REVOKED * | FAILED

*/ inline void SetStatus(const char* value) { m_statusHasBeenSet = true; m_status.assign(value); } /** *

The status of the certificate.

Valid values: * PENDING_VALIDATION | ISSUED | INACTIVE | * EXPIRED | VALIDATION_TIMED_OUT | REVOKED * | FAILED

*/ inline AwsCertificateManagerCertificateDetails& WithStatus(const Aws::String& value) { SetStatus(value); return *this;} /** *

The status of the certificate.

Valid values: * PENDING_VALIDATION | ISSUED | INACTIVE | * EXPIRED | VALIDATION_TIMED_OUT | REVOKED * | FAILED

*/ inline AwsCertificateManagerCertificateDetails& WithStatus(Aws::String&& value) { SetStatus(std::move(value)); return *this;} /** *

The status of the certificate.

Valid values: * PENDING_VALIDATION | ISSUED | INACTIVE | * EXPIRED | VALIDATION_TIMED_OUT | REVOKED * | FAILED

*/ inline AwsCertificateManagerCertificateDetails& WithStatus(const char* value) { SetStatus(value); return *this;} /** *

The name of the entity that is associated with the public key contained in * the certificate.

*/ inline const Aws::String& GetSubject() const{ return m_subject; } /** *

The name of the entity that is associated with the public key contained in * the certificate.

*/ inline bool SubjectHasBeenSet() const { return m_subjectHasBeenSet; } /** *

The name of the entity that is associated with the public key contained in * the certificate.

*/ inline void SetSubject(const Aws::String& value) { m_subjectHasBeenSet = true; m_subject = value; } /** *

The name of the entity that is associated with the public key contained in * the certificate.

*/ inline void SetSubject(Aws::String&& value) { m_subjectHasBeenSet = true; m_subject = std::move(value); } /** *

The name of the entity that is associated with the public key contained in * the certificate.

*/ inline void SetSubject(const char* value) { m_subjectHasBeenSet = true; m_subject.assign(value); } /** *

The name of the entity that is associated with the public key contained in * the certificate.

*/ inline AwsCertificateManagerCertificateDetails& WithSubject(const Aws::String& value) { SetSubject(value); return *this;} /** *

The name of the entity that is associated with the public key contained in * the certificate.

*/ inline AwsCertificateManagerCertificateDetails& WithSubject(Aws::String&& value) { SetSubject(std::move(value)); return *this;} /** *

The name of the entity that is associated with the public key contained in * the certificate.

*/ inline AwsCertificateManagerCertificateDetails& WithSubject(const char* value) { SetSubject(value); return *this;} /** *

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.

*/ inline const Aws::Vector& GetSubjectAlternativeNames() const{ return m_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.

*/ inline bool SubjectAlternativeNamesHasBeenSet() const { return m_subjectAlternativeNamesHasBeenSet; } /** *

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.

*/ inline void SetSubjectAlternativeNames(const Aws::Vector& value) { m_subjectAlternativeNamesHasBeenSet = true; m_subjectAlternativeNames = value; } /** *

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.

*/ inline void SetSubjectAlternativeNames(Aws::Vector&& value) { m_subjectAlternativeNamesHasBeenSet = true; m_subjectAlternativeNames = std::move(value); } /** *

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.

*/ inline AwsCertificateManagerCertificateDetails& WithSubjectAlternativeNames(const Aws::Vector& value) { SetSubjectAlternativeNames(value); return *this;} /** *

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.

*/ inline AwsCertificateManagerCertificateDetails& WithSubjectAlternativeNames(Aws::Vector&& value) { SetSubjectAlternativeNames(std::move(value)); return *this;} /** *

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.

*/ inline AwsCertificateManagerCertificateDetails& AddSubjectAlternativeNames(const Aws::String& value) { m_subjectAlternativeNamesHasBeenSet = true; m_subjectAlternativeNames.push_back(value); return *this; } /** *

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.

*/ inline AwsCertificateManagerCertificateDetails& AddSubjectAlternativeNames(Aws::String&& value) { m_subjectAlternativeNamesHasBeenSet = true; m_subjectAlternativeNames.push_back(std::move(value)); return *this; } /** *

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.

*/ inline AwsCertificateManagerCertificateDetails& AddSubjectAlternativeNames(const char* value) { m_subjectAlternativeNamesHasBeenSet = true; m_subjectAlternativeNames.push_back(value); return *this; } /** *

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

*/ inline const Aws::String& GetType() const{ return m_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

*/ inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } /** *

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

*/ inline void SetType(const Aws::String& value) { m_typeHasBeenSet = true; m_type = value; } /** *

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

*/ inline void SetType(Aws::String&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } /** *

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

*/ inline void SetType(const char* value) { m_typeHasBeenSet = true; m_type.assign(value); } /** *

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

*/ inline AwsCertificateManagerCertificateDetails& WithType(const Aws::String& value) { SetType(value); return *this;} /** *

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

*/ inline AwsCertificateManagerCertificateDetails& WithType(Aws::String&& value) { SetType(std::move(value)); return *this;} /** *

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

*/ inline AwsCertificateManagerCertificateDetails& WithType(const char* value) { SetType(value); return *this;} private: Aws::String m_certificateAuthorityArn; bool m_certificateAuthorityArnHasBeenSet = false; Aws::String m_createdAt; bool m_createdAtHasBeenSet = false; Aws::String m_domainName; bool m_domainNameHasBeenSet = false; Aws::Vector m_domainValidationOptions; bool m_domainValidationOptionsHasBeenSet = false; Aws::Vector m_extendedKeyUsages; bool m_extendedKeyUsagesHasBeenSet = false; Aws::String m_failureReason; bool m_failureReasonHasBeenSet = false; Aws::String m_importedAt; bool m_importedAtHasBeenSet = false; Aws::Vector m_inUseBy; bool m_inUseByHasBeenSet = false; Aws::String m_issuedAt; bool m_issuedAtHasBeenSet = false; Aws::String m_issuer; bool m_issuerHasBeenSet = false; Aws::String m_keyAlgorithm; bool m_keyAlgorithmHasBeenSet = false; Aws::Vector m_keyUsages; bool m_keyUsagesHasBeenSet = false; Aws::String m_notAfter; bool m_notAfterHasBeenSet = false; Aws::String m_notBefore; bool m_notBeforeHasBeenSet = false; AwsCertificateManagerCertificateOptions m_options; bool m_optionsHasBeenSet = false; Aws::String m_renewalEligibility; bool m_renewalEligibilityHasBeenSet = false; AwsCertificateManagerCertificateRenewalSummary m_renewalSummary; bool m_renewalSummaryHasBeenSet = false; Aws::String m_serial; bool m_serialHasBeenSet = false; Aws::String m_signatureAlgorithm; bool m_signatureAlgorithmHasBeenSet = false; Aws::String m_status; bool m_statusHasBeenSet = false; Aws::String m_subject; bool m_subjectHasBeenSet = false; Aws::Vector m_subjectAlternativeNames; bool m_subjectAlternativeNamesHasBeenSet = false; Aws::String m_type; bool m_typeHasBeenSet = false; }; } // namespace Model } // namespace SecurityHub } // namespace Aws