/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Contains information about your private certificate authority (CA). Your
* private CA can issue and revoke X.509 digital certificates. Digital certificates
* verify that the entity named in the certificate Subject field owns or
* controls the public key contained in the Subject Public Key Info field.
* Call the CreateCertificateAuthority
* action to create your private CA. You must then call the GetCertificateAuthorityCertificate
* action to retrieve a private CA certificate signing request (CSR). Sign the CSR
* with your Amazon Web Services Private CA-hosted or on-premises root or
* subordinate CA certificate. Call the ImportCertificateAuthorityCertificate
* action to import the signed certificate into Certificate Manager (ACM).
* See Also:
AWS
* API Reference
Amazon Resource Name (ARN) for your private certificate authority (CA). The
* format is 12345678-1234-1234-1234-123456789012
.
Amazon Resource Name (ARN) for your private certificate authority (CA). The
* format is 12345678-1234-1234-1234-123456789012
.
Amazon Resource Name (ARN) for your private certificate authority (CA). The
* format is 12345678-1234-1234-1234-123456789012
.
Amazon Resource Name (ARN) for your private certificate authority (CA). The
* format is 12345678-1234-1234-1234-123456789012
.
Amazon Resource Name (ARN) for your private certificate authority (CA). The
* format is 12345678-1234-1234-1234-123456789012
.
Amazon Resource Name (ARN) for your private certificate authority (CA). The
* format is 12345678-1234-1234-1234-123456789012
.
Amazon Resource Name (ARN) for your private certificate authority (CA). The
* format is 12345678-1234-1234-1234-123456789012
.
Amazon Resource Name (ARN) for your private certificate authority (CA). The
* format is 12345678-1234-1234-1234-123456789012
.
The Amazon Web Services account ID that owns the certificate authority.
*/ inline const Aws::String& GetOwnerAccount() const{ return m_ownerAccount; } /** *The Amazon Web Services account ID that owns the certificate authority.
*/ inline bool OwnerAccountHasBeenSet() const { return m_ownerAccountHasBeenSet; } /** *The Amazon Web Services account ID that owns the certificate authority.
*/ inline void SetOwnerAccount(const Aws::String& value) { m_ownerAccountHasBeenSet = true; m_ownerAccount = value; } /** *The Amazon Web Services account ID that owns the certificate authority.
*/ inline void SetOwnerAccount(Aws::String&& value) { m_ownerAccountHasBeenSet = true; m_ownerAccount = std::move(value); } /** *The Amazon Web Services account ID that owns the certificate authority.
*/ inline void SetOwnerAccount(const char* value) { m_ownerAccountHasBeenSet = true; m_ownerAccount.assign(value); } /** *The Amazon Web Services account ID that owns the certificate authority.
*/ inline CertificateAuthority& WithOwnerAccount(const Aws::String& value) { SetOwnerAccount(value); return *this;} /** *The Amazon Web Services account ID that owns the certificate authority.
*/ inline CertificateAuthority& WithOwnerAccount(Aws::String&& value) { SetOwnerAccount(std::move(value)); return *this;} /** *The Amazon Web Services account ID that owns the certificate authority.
*/ inline CertificateAuthority& WithOwnerAccount(const char* value) { SetOwnerAccount(value); return *this;} /** *Date and time at which your private CA was created.
*/ inline const Aws::Utils::DateTime& GetCreatedAt() const{ return m_createdAt; } /** *Date and time at which your private CA was created.
*/ inline bool CreatedAtHasBeenSet() const { return m_createdAtHasBeenSet; } /** *Date and time at which your private CA was created.
*/ inline void SetCreatedAt(const Aws::Utils::DateTime& value) { m_createdAtHasBeenSet = true; m_createdAt = value; } /** *Date and time at which your private CA was created.
*/ inline void SetCreatedAt(Aws::Utils::DateTime&& value) { m_createdAtHasBeenSet = true; m_createdAt = std::move(value); } /** *Date and time at which your private CA was created.
*/ inline CertificateAuthority& WithCreatedAt(const Aws::Utils::DateTime& value) { SetCreatedAt(value); return *this;} /** *Date and time at which your private CA was created.
*/ inline CertificateAuthority& WithCreatedAt(Aws::Utils::DateTime&& value) { SetCreatedAt(std::move(value)); return *this;} /** *Date and time at which your private CA was last updated.
*/ inline const Aws::Utils::DateTime& GetLastStateChangeAt() const{ return m_lastStateChangeAt; } /** *Date and time at which your private CA was last updated.
*/ inline bool LastStateChangeAtHasBeenSet() const { return m_lastStateChangeAtHasBeenSet; } /** *Date and time at which your private CA was last updated.
*/ inline void SetLastStateChangeAt(const Aws::Utils::DateTime& value) { m_lastStateChangeAtHasBeenSet = true; m_lastStateChangeAt = value; } /** *Date and time at which your private CA was last updated.
*/ inline void SetLastStateChangeAt(Aws::Utils::DateTime&& value) { m_lastStateChangeAtHasBeenSet = true; m_lastStateChangeAt = std::move(value); } /** *Date and time at which your private CA was last updated.
*/ inline CertificateAuthority& WithLastStateChangeAt(const Aws::Utils::DateTime& value) { SetLastStateChangeAt(value); return *this;} /** *Date and time at which your private CA was last updated.
*/ inline CertificateAuthority& WithLastStateChangeAt(Aws::Utils::DateTime&& value) { SetLastStateChangeAt(std::move(value)); return *this;} /** *Type of your private CA.
*/ inline const CertificateAuthorityType& GetType() const{ return m_type; } /** *Type of your private CA.
*/ inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } /** *Type of your private CA.
*/ inline void SetType(const CertificateAuthorityType& value) { m_typeHasBeenSet = true; m_type = value; } /** *Type of your private CA.
*/ inline void SetType(CertificateAuthorityType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } /** *Type of your private CA.
*/ inline CertificateAuthority& WithType(const CertificateAuthorityType& value) { SetType(value); return *this;} /** *Type of your private CA.
*/ inline CertificateAuthority& WithType(CertificateAuthorityType&& value) { SetType(std::move(value)); return *this;} /** *Serial number of your private CA.
*/ inline const Aws::String& GetSerial() const{ return m_serial; } /** *Serial number of your private CA.
*/ inline bool SerialHasBeenSet() const { return m_serialHasBeenSet; } /** *Serial number of your private CA.
*/ inline void SetSerial(const Aws::String& value) { m_serialHasBeenSet = true; m_serial = value; } /** *Serial number of your private CA.
*/ inline void SetSerial(Aws::String&& value) { m_serialHasBeenSet = true; m_serial = std::move(value); } /** *Serial number of your private CA.
*/ inline void SetSerial(const char* value) { m_serialHasBeenSet = true; m_serial.assign(value); } /** *Serial number of your private CA.
*/ inline CertificateAuthority& WithSerial(const Aws::String& value) { SetSerial(value); return *this;} /** *Serial number of your private CA.
*/ inline CertificateAuthority& WithSerial(Aws::String&& value) { SetSerial(std::move(value)); return *this;} /** *Serial number of your private CA.
*/ inline CertificateAuthority& WithSerial(const char* value) { SetSerial(value); return *this;} /** *Status of your private CA.
*/ inline const CertificateAuthorityStatus& GetStatus() const{ return m_status; } /** *Status of your private CA.
*/ inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } /** *Status of your private CA.
*/ inline void SetStatus(const CertificateAuthorityStatus& value) { m_statusHasBeenSet = true; m_status = value; } /** *Status of your private CA.
*/ inline void SetStatus(CertificateAuthorityStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } /** *Status of your private CA.
*/ inline CertificateAuthority& WithStatus(const CertificateAuthorityStatus& value) { SetStatus(value); return *this;} /** *Status of your private CA.
*/ inline CertificateAuthority& WithStatus(CertificateAuthorityStatus&& value) { SetStatus(std::move(value)); return *this;} /** *Date and time before which your private CA certificate is not valid.
*/ inline const Aws::Utils::DateTime& GetNotBefore() const{ return m_notBefore; } /** *Date and time before which your private CA certificate is not valid.
*/ inline bool NotBeforeHasBeenSet() const { return m_notBeforeHasBeenSet; } /** *Date and time before which your private CA certificate is not valid.
*/ inline void SetNotBefore(const Aws::Utils::DateTime& value) { m_notBeforeHasBeenSet = true; m_notBefore = value; } /** *Date and time before which your private CA certificate is not valid.
*/ inline void SetNotBefore(Aws::Utils::DateTime&& value) { m_notBeforeHasBeenSet = true; m_notBefore = std::move(value); } /** *Date and time before which your private CA certificate is not valid.
*/ inline CertificateAuthority& WithNotBefore(const Aws::Utils::DateTime& value) { SetNotBefore(value); return *this;} /** *Date and time before which your private CA certificate is not valid.
*/ inline CertificateAuthority& WithNotBefore(Aws::Utils::DateTime&& value) { SetNotBefore(std::move(value)); return *this;} /** *Date and time after which your private CA certificate is not valid.
*/ inline const Aws::Utils::DateTime& GetNotAfter() const{ return m_notAfter; } /** *Date and time after which your private CA certificate is not valid.
*/ inline bool NotAfterHasBeenSet() const { return m_notAfterHasBeenSet; } /** *Date and time after which your private CA certificate is not valid.
*/ inline void SetNotAfter(const Aws::Utils::DateTime& value) { m_notAfterHasBeenSet = true; m_notAfter = value; } /** *Date and time after which your private CA certificate is not valid.
*/ inline void SetNotAfter(Aws::Utils::DateTime&& value) { m_notAfterHasBeenSet = true; m_notAfter = std::move(value); } /** *Date and time after which your private CA certificate is not valid.
*/ inline CertificateAuthority& WithNotAfter(const Aws::Utils::DateTime& value) { SetNotAfter(value); return *this;} /** *Date and time after which your private CA certificate is not valid.
*/ inline CertificateAuthority& WithNotAfter(Aws::Utils::DateTime&& value) { SetNotAfter(std::move(value)); return *this;} /** *Reason the request to create your private CA failed.
*/ inline const FailureReason& GetFailureReason() const{ return m_failureReason; } /** *Reason the request to create your private CA failed.
*/ inline bool FailureReasonHasBeenSet() const { return m_failureReasonHasBeenSet; } /** *Reason the request to create your private CA failed.
*/ inline void SetFailureReason(const FailureReason& value) { m_failureReasonHasBeenSet = true; m_failureReason = value; } /** *Reason the request to create your private CA failed.
*/ inline void SetFailureReason(FailureReason&& value) { m_failureReasonHasBeenSet = true; m_failureReason = std::move(value); } /** *Reason the request to create your private CA failed.
*/ inline CertificateAuthority& WithFailureReason(const FailureReason& value) { SetFailureReason(value); return *this;} /** *Reason the request to create your private CA failed.
*/ inline CertificateAuthority& WithFailureReason(FailureReason&& value) { SetFailureReason(std::move(value)); return *this;} /** *Your private CA configuration.
*/ inline const CertificateAuthorityConfiguration& GetCertificateAuthorityConfiguration() const{ return m_certificateAuthorityConfiguration; } /** *Your private CA configuration.
*/ inline bool CertificateAuthorityConfigurationHasBeenSet() const { return m_certificateAuthorityConfigurationHasBeenSet; } /** *Your private CA configuration.
*/ inline void SetCertificateAuthorityConfiguration(const CertificateAuthorityConfiguration& value) { m_certificateAuthorityConfigurationHasBeenSet = true; m_certificateAuthorityConfiguration = value; } /** *Your private CA configuration.
*/ inline void SetCertificateAuthorityConfiguration(CertificateAuthorityConfiguration&& value) { m_certificateAuthorityConfigurationHasBeenSet = true; m_certificateAuthorityConfiguration = std::move(value); } /** *Your private CA configuration.
*/ inline CertificateAuthority& WithCertificateAuthorityConfiguration(const CertificateAuthorityConfiguration& value) { SetCertificateAuthorityConfiguration(value); return *this;} /** *Your private CA configuration.
*/ inline CertificateAuthority& WithCertificateAuthorityConfiguration(CertificateAuthorityConfiguration&& value) { SetCertificateAuthorityConfiguration(std::move(value)); return *this;} /** *Information about the Online Certificate Status Protocol (OCSP) configuration * or certificate revocation list (CRL) created and maintained by your private CA. *
*/ inline const RevocationConfiguration& GetRevocationConfiguration() const{ return m_revocationConfiguration; } /** *Information about the Online Certificate Status Protocol (OCSP) configuration * or certificate revocation list (CRL) created and maintained by your private CA. *
*/ inline bool RevocationConfigurationHasBeenSet() const { return m_revocationConfigurationHasBeenSet; } /** *Information about the Online Certificate Status Protocol (OCSP) configuration * or certificate revocation list (CRL) created and maintained by your private CA. *
*/ inline void SetRevocationConfiguration(const RevocationConfiguration& value) { m_revocationConfigurationHasBeenSet = true; m_revocationConfiguration = value; } /** *Information about the Online Certificate Status Protocol (OCSP) configuration * or certificate revocation list (CRL) created and maintained by your private CA. *
*/ inline void SetRevocationConfiguration(RevocationConfiguration&& value) { m_revocationConfigurationHasBeenSet = true; m_revocationConfiguration = std::move(value); } /** *Information about the Online Certificate Status Protocol (OCSP) configuration * or certificate revocation list (CRL) created and maintained by your private CA. *
*/ inline CertificateAuthority& WithRevocationConfiguration(const RevocationConfiguration& value) { SetRevocationConfiguration(value); return *this;} /** *Information about the Online Certificate Status Protocol (OCSP) configuration * or certificate revocation list (CRL) created and maintained by your private CA. *
*/ inline CertificateAuthority& WithRevocationConfiguration(RevocationConfiguration&& value) { SetRevocationConfiguration(std::move(value)); return *this;} /** *The period during which a deleted CA can be restored. For more information,
* see the PermanentDeletionTimeInDays
parameter of the DeleteCertificateAuthorityRequest
* action.
The period during which a deleted CA can be restored. For more information,
* see the PermanentDeletionTimeInDays
parameter of the DeleteCertificateAuthorityRequest
* action.
The period during which a deleted CA can be restored. For more information,
* see the PermanentDeletionTimeInDays
parameter of the DeleteCertificateAuthorityRequest
* action.
The period during which a deleted CA can be restored. For more information,
* see the PermanentDeletionTimeInDays
parameter of the DeleteCertificateAuthorityRequest
* action.
The period during which a deleted CA can be restored. For more information,
* see the PermanentDeletionTimeInDays
parameter of the DeleteCertificateAuthorityRequest
* action.
The period during which a deleted CA can be restored. For more information,
* see the PermanentDeletionTimeInDays
parameter of the DeleteCertificateAuthorityRequest
* action.
Defines a cryptographic key management compliance standard used for handling * CA keys.
Default: FIPS_140_2_LEVEL_3_OR_HIGHER
Note: Amazon Web
* Services Region ap-northeast-3 supports only FIPS_140_2_LEVEL_2_OR_HIGHER. You
* must explicitly specify this parameter and value when creating a CA in that
* Region. Specifying a different value (or no value) results in an
* InvalidArgsException
with the message "A certificate authority
* cannot be created in this region with the specified security standard."
Defines a cryptographic key management compliance standard used for handling * CA keys.
Default: FIPS_140_2_LEVEL_3_OR_HIGHER
Note: Amazon Web
* Services Region ap-northeast-3 supports only FIPS_140_2_LEVEL_2_OR_HIGHER. You
* must explicitly specify this parameter and value when creating a CA in that
* Region. Specifying a different value (or no value) results in an
* InvalidArgsException
with the message "A certificate authority
* cannot be created in this region with the specified security standard."
Defines a cryptographic key management compliance standard used for handling * CA keys.
Default: FIPS_140_2_LEVEL_3_OR_HIGHER
Note: Amazon Web
* Services Region ap-northeast-3 supports only FIPS_140_2_LEVEL_2_OR_HIGHER. You
* must explicitly specify this parameter and value when creating a CA in that
* Region. Specifying a different value (or no value) results in an
* InvalidArgsException
with the message "A certificate authority
* cannot be created in this region with the specified security standard."
Defines a cryptographic key management compliance standard used for handling * CA keys.
Default: FIPS_140_2_LEVEL_3_OR_HIGHER
Note: Amazon Web
* Services Region ap-northeast-3 supports only FIPS_140_2_LEVEL_2_OR_HIGHER. You
* must explicitly specify this parameter and value when creating a CA in that
* Region. Specifying a different value (or no value) results in an
* InvalidArgsException
with the message "A certificate authority
* cannot be created in this region with the specified security standard."
Defines a cryptographic key management compliance standard used for handling * CA keys.
Default: FIPS_140_2_LEVEL_3_OR_HIGHER
Note: Amazon Web
* Services Region ap-northeast-3 supports only FIPS_140_2_LEVEL_2_OR_HIGHER. You
* must explicitly specify this parameter and value when creating a CA in that
* Region. Specifying a different value (or no value) results in an
* InvalidArgsException
with the message "A certificate authority
* cannot be created in this region with the specified security standard."
Defines a cryptographic key management compliance standard used for handling * CA keys.
Default: FIPS_140_2_LEVEL_3_OR_HIGHER
Note: Amazon Web
* Services Region ap-northeast-3 supports only FIPS_140_2_LEVEL_2_OR_HIGHER. You
* must explicitly specify this parameter and value when creating a CA in that
* Region. Specifying a different value (or no value) results in an
* InvalidArgsException
with the message "A certificate authority
* cannot be created in this region with the specified security standard."
Specifies whether the CA issues general-purpose certificates that typically * require a revocation mechanism, or short-lived certificates that may optionally * omit revocation because they expire quickly. Short-lived certificate validity is * limited to seven days.
The default value is GENERAL_PURPOSE.
*/ inline const CertificateAuthorityUsageMode& GetUsageMode() const{ return m_usageMode; } /** *Specifies whether the CA issues general-purpose certificates that typically * require a revocation mechanism, or short-lived certificates that may optionally * omit revocation because they expire quickly. Short-lived certificate validity is * limited to seven days.
The default value is GENERAL_PURPOSE.
*/ inline bool UsageModeHasBeenSet() const { return m_usageModeHasBeenSet; } /** *Specifies whether the CA issues general-purpose certificates that typically * require a revocation mechanism, or short-lived certificates that may optionally * omit revocation because they expire quickly. Short-lived certificate validity is * limited to seven days.
The default value is GENERAL_PURPOSE.
*/ inline void SetUsageMode(const CertificateAuthorityUsageMode& value) { m_usageModeHasBeenSet = true; m_usageMode = value; } /** *Specifies whether the CA issues general-purpose certificates that typically * require a revocation mechanism, or short-lived certificates that may optionally * omit revocation because they expire quickly. Short-lived certificate validity is * limited to seven days.
The default value is GENERAL_PURPOSE.
*/ inline void SetUsageMode(CertificateAuthorityUsageMode&& value) { m_usageModeHasBeenSet = true; m_usageMode = std::move(value); } /** *Specifies whether the CA issues general-purpose certificates that typically * require a revocation mechanism, or short-lived certificates that may optionally * omit revocation because they expire quickly. Short-lived certificate validity is * limited to seven days.
The default value is GENERAL_PURPOSE.
*/ inline CertificateAuthority& WithUsageMode(const CertificateAuthorityUsageMode& value) { SetUsageMode(value); return *this;} /** *Specifies whether the CA issues general-purpose certificates that typically * require a revocation mechanism, or short-lived certificates that may optionally * omit revocation because they expire quickly. Short-lived certificate validity is * limited to seven days.
The default value is GENERAL_PURPOSE.
*/ inline CertificateAuthority& WithUsageMode(CertificateAuthorityUsageMode&& value) { SetUsageMode(std::move(value)); return *this;} private: Aws::String m_arn; bool m_arnHasBeenSet = false; Aws::String m_ownerAccount; bool m_ownerAccountHasBeenSet = false; Aws::Utils::DateTime m_createdAt; bool m_createdAtHasBeenSet = false; Aws::Utils::DateTime m_lastStateChangeAt; bool m_lastStateChangeAtHasBeenSet = false; CertificateAuthorityType m_type; bool m_typeHasBeenSet = false; Aws::String m_serial; bool m_serialHasBeenSet = false; CertificateAuthorityStatus m_status; bool m_statusHasBeenSet = false; Aws::Utils::DateTime m_notBefore; bool m_notBeforeHasBeenSet = false; Aws::Utils::DateTime m_notAfter; bool m_notAfterHasBeenSet = false; FailureReason m_failureReason; bool m_failureReasonHasBeenSet = false; CertificateAuthorityConfiguration m_certificateAuthorityConfiguration; bool m_certificateAuthorityConfigurationHasBeenSet = false; RevocationConfiguration m_revocationConfiguration; bool m_revocationConfigurationHasBeenSet = false; Aws::Utils::DateTime m_restorableUntil; bool m_restorableUntilHasBeenSet = false; KeyStorageSecurityStandard m_keyStorageSecurityStandard; bool m_keyStorageSecurityStandardHasBeenSet = false; CertificateAuthorityUsageMode m_usageMode; bool m_usageModeHasBeenSet = false; }; } // namespace Model } // namespace ACMPCA } // namespace Aws