/** * 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 namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace IoT { namespace Model { /** *

Describes a CA certificate.

See Also:

AWS * API Reference

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

The CA certificate ARN.

*/ inline const Aws::String& GetCertificateArn() const{ return m_certificateArn; } /** *

The CA certificate ARN.

*/ inline bool CertificateArnHasBeenSet() const { return m_certificateArnHasBeenSet; } /** *

The CA certificate ARN.

*/ inline void SetCertificateArn(const Aws::String& value) { m_certificateArnHasBeenSet = true; m_certificateArn = value; } /** *

The CA certificate ARN.

*/ inline void SetCertificateArn(Aws::String&& value) { m_certificateArnHasBeenSet = true; m_certificateArn = std::move(value); } /** *

The CA certificate ARN.

*/ inline void SetCertificateArn(const char* value) { m_certificateArnHasBeenSet = true; m_certificateArn.assign(value); } /** *

The CA certificate ARN.

*/ inline CACertificateDescription& WithCertificateArn(const Aws::String& value) { SetCertificateArn(value); return *this;} /** *

The CA certificate ARN.

*/ inline CACertificateDescription& WithCertificateArn(Aws::String&& value) { SetCertificateArn(std::move(value)); return *this;} /** *

The CA certificate ARN.

*/ inline CACertificateDescription& WithCertificateArn(const char* value) { SetCertificateArn(value); return *this;} /** *

The CA certificate ID.

*/ inline const Aws::String& GetCertificateId() const{ return m_certificateId; } /** *

The CA certificate ID.

*/ inline bool CertificateIdHasBeenSet() const { return m_certificateIdHasBeenSet; } /** *

The CA certificate ID.

*/ inline void SetCertificateId(const Aws::String& value) { m_certificateIdHasBeenSet = true; m_certificateId = value; } /** *

The CA certificate ID.

*/ inline void SetCertificateId(Aws::String&& value) { m_certificateIdHasBeenSet = true; m_certificateId = std::move(value); } /** *

The CA certificate ID.

*/ inline void SetCertificateId(const char* value) { m_certificateIdHasBeenSet = true; m_certificateId.assign(value); } /** *

The CA certificate ID.

*/ inline CACertificateDescription& WithCertificateId(const Aws::String& value) { SetCertificateId(value); return *this;} /** *

The CA certificate ID.

*/ inline CACertificateDescription& WithCertificateId(Aws::String&& value) { SetCertificateId(std::move(value)); return *this;} /** *

The CA certificate ID.

*/ inline CACertificateDescription& WithCertificateId(const char* value) { SetCertificateId(value); return *this;} /** *

The status of a CA certificate.

*/ inline const CACertificateStatus& GetStatus() const{ return m_status; } /** *

The status of a CA certificate.

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

The status of a CA certificate.

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

The status of a CA certificate.

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

The status of a CA certificate.

*/ inline CACertificateDescription& WithStatus(const CACertificateStatus& value) { SetStatus(value); return *this;} /** *

The status of a CA certificate.

*/ inline CACertificateDescription& WithStatus(CACertificateStatus&& value) { SetStatus(std::move(value)); return *this;} /** *

The CA certificate data, in PEM format.

*/ inline const Aws::String& GetCertificatePem() const{ return m_certificatePem; } /** *

The CA certificate data, in PEM format.

*/ inline bool CertificatePemHasBeenSet() const { return m_certificatePemHasBeenSet; } /** *

The CA certificate data, in PEM format.

*/ inline void SetCertificatePem(const Aws::String& value) { m_certificatePemHasBeenSet = true; m_certificatePem = value; } /** *

The CA certificate data, in PEM format.

*/ inline void SetCertificatePem(Aws::String&& value) { m_certificatePemHasBeenSet = true; m_certificatePem = std::move(value); } /** *

The CA certificate data, in PEM format.

*/ inline void SetCertificatePem(const char* value) { m_certificatePemHasBeenSet = true; m_certificatePem.assign(value); } /** *

The CA certificate data, in PEM format.

*/ inline CACertificateDescription& WithCertificatePem(const Aws::String& value) { SetCertificatePem(value); return *this;} /** *

The CA certificate data, in PEM format.

*/ inline CACertificateDescription& WithCertificatePem(Aws::String&& value) { SetCertificatePem(std::move(value)); return *this;} /** *

The CA certificate data, in PEM format.

*/ inline CACertificateDescription& WithCertificatePem(const char* value) { SetCertificatePem(value); return *this;} /** *

The owner of the CA certificate.

*/ inline const Aws::String& GetOwnedBy() const{ return m_ownedBy; } /** *

The owner of the CA certificate.

*/ inline bool OwnedByHasBeenSet() const { return m_ownedByHasBeenSet; } /** *

The owner of the CA certificate.

*/ inline void SetOwnedBy(const Aws::String& value) { m_ownedByHasBeenSet = true; m_ownedBy = value; } /** *

The owner of the CA certificate.

*/ inline void SetOwnedBy(Aws::String&& value) { m_ownedByHasBeenSet = true; m_ownedBy = std::move(value); } /** *

The owner of the CA certificate.

*/ inline void SetOwnedBy(const char* value) { m_ownedByHasBeenSet = true; m_ownedBy.assign(value); } /** *

The owner of the CA certificate.

*/ inline CACertificateDescription& WithOwnedBy(const Aws::String& value) { SetOwnedBy(value); return *this;} /** *

The owner of the CA certificate.

*/ inline CACertificateDescription& WithOwnedBy(Aws::String&& value) { SetOwnedBy(std::move(value)); return *this;} /** *

The owner of the CA certificate.

*/ inline CACertificateDescription& WithOwnedBy(const char* value) { SetOwnedBy(value); return *this;} /** *

The date the CA certificate was created.

*/ inline const Aws::Utils::DateTime& GetCreationDate() const{ return m_creationDate; } /** *

The date the CA certificate was created.

*/ inline bool CreationDateHasBeenSet() const { return m_creationDateHasBeenSet; } /** *

The date the CA certificate was created.

*/ inline void SetCreationDate(const Aws::Utils::DateTime& value) { m_creationDateHasBeenSet = true; m_creationDate = value; } /** *

The date the CA certificate was created.

*/ inline void SetCreationDate(Aws::Utils::DateTime&& value) { m_creationDateHasBeenSet = true; m_creationDate = std::move(value); } /** *

The date the CA certificate was created.

*/ inline CACertificateDescription& WithCreationDate(const Aws::Utils::DateTime& value) { SetCreationDate(value); return *this;} /** *

The date the CA certificate was created.

*/ inline CACertificateDescription& WithCreationDate(Aws::Utils::DateTime&& value) { SetCreationDate(std::move(value)); return *this;} /** *

Whether the CA certificate configured for auto registration of device * certificates. Valid values are "ENABLE" and "DISABLE"

*/ inline const AutoRegistrationStatus& GetAutoRegistrationStatus() const{ return m_autoRegistrationStatus; } /** *

Whether the CA certificate configured for auto registration of device * certificates. Valid values are "ENABLE" and "DISABLE"

*/ inline bool AutoRegistrationStatusHasBeenSet() const { return m_autoRegistrationStatusHasBeenSet; } /** *

Whether the CA certificate configured for auto registration of device * certificates. Valid values are "ENABLE" and "DISABLE"

*/ inline void SetAutoRegistrationStatus(const AutoRegistrationStatus& value) { m_autoRegistrationStatusHasBeenSet = true; m_autoRegistrationStatus = value; } /** *

Whether the CA certificate configured for auto registration of device * certificates. Valid values are "ENABLE" and "DISABLE"

*/ inline void SetAutoRegistrationStatus(AutoRegistrationStatus&& value) { m_autoRegistrationStatusHasBeenSet = true; m_autoRegistrationStatus = std::move(value); } /** *

Whether the CA certificate configured for auto registration of device * certificates. Valid values are "ENABLE" and "DISABLE"

*/ inline CACertificateDescription& WithAutoRegistrationStatus(const AutoRegistrationStatus& value) { SetAutoRegistrationStatus(value); return *this;} /** *

Whether the CA certificate configured for auto registration of device * certificates. Valid values are "ENABLE" and "DISABLE"

*/ inline CACertificateDescription& WithAutoRegistrationStatus(AutoRegistrationStatus&& value) { SetAutoRegistrationStatus(std::move(value)); return *this;} /** *

The date the CA certificate was last modified.

*/ inline const Aws::Utils::DateTime& GetLastModifiedDate() const{ return m_lastModifiedDate; } /** *

The date the CA certificate was last modified.

*/ inline bool LastModifiedDateHasBeenSet() const { return m_lastModifiedDateHasBeenSet; } /** *

The date the CA certificate was last modified.

*/ inline void SetLastModifiedDate(const Aws::Utils::DateTime& value) { m_lastModifiedDateHasBeenSet = true; m_lastModifiedDate = value; } /** *

The date the CA certificate was last modified.

*/ inline void SetLastModifiedDate(Aws::Utils::DateTime&& value) { m_lastModifiedDateHasBeenSet = true; m_lastModifiedDate = std::move(value); } /** *

The date the CA certificate was last modified.

*/ inline CACertificateDescription& WithLastModifiedDate(const Aws::Utils::DateTime& value) { SetLastModifiedDate(value); return *this;} /** *

The date the CA certificate was last modified.

*/ inline CACertificateDescription& WithLastModifiedDate(Aws::Utils::DateTime&& value) { SetLastModifiedDate(std::move(value)); return *this;} /** *

The customer version of the CA certificate.

*/ inline int GetCustomerVersion() const{ return m_customerVersion; } /** *

The customer version of the CA certificate.

*/ inline bool CustomerVersionHasBeenSet() const { return m_customerVersionHasBeenSet; } /** *

The customer version of the CA certificate.

*/ inline void SetCustomerVersion(int value) { m_customerVersionHasBeenSet = true; m_customerVersion = value; } /** *

The customer version of the CA certificate.

*/ inline CACertificateDescription& WithCustomerVersion(int value) { SetCustomerVersion(value); return *this;} /** *

The generation ID of the CA certificate.

*/ inline const Aws::String& GetGenerationId() const{ return m_generationId; } /** *

The generation ID of the CA certificate.

*/ inline bool GenerationIdHasBeenSet() const { return m_generationIdHasBeenSet; } /** *

The generation ID of the CA certificate.

*/ inline void SetGenerationId(const Aws::String& value) { m_generationIdHasBeenSet = true; m_generationId = value; } /** *

The generation ID of the CA certificate.

*/ inline void SetGenerationId(Aws::String&& value) { m_generationIdHasBeenSet = true; m_generationId = std::move(value); } /** *

The generation ID of the CA certificate.

*/ inline void SetGenerationId(const char* value) { m_generationIdHasBeenSet = true; m_generationId.assign(value); } /** *

The generation ID of the CA certificate.

*/ inline CACertificateDescription& WithGenerationId(const Aws::String& value) { SetGenerationId(value); return *this;} /** *

The generation ID of the CA certificate.

*/ inline CACertificateDescription& WithGenerationId(Aws::String&& value) { SetGenerationId(std::move(value)); return *this;} /** *

The generation ID of the CA certificate.

*/ inline CACertificateDescription& WithGenerationId(const char* value) { SetGenerationId(value); return *this;} /** *

When the CA certificate is valid.

*/ inline const CertificateValidity& GetValidity() const{ return m_validity; } /** *

When the CA certificate is valid.

*/ inline bool ValidityHasBeenSet() const { return m_validityHasBeenSet; } /** *

When the CA certificate is valid.

*/ inline void SetValidity(const CertificateValidity& value) { m_validityHasBeenSet = true; m_validity = value; } /** *

When the CA certificate is valid.

*/ inline void SetValidity(CertificateValidity&& value) { m_validityHasBeenSet = true; m_validity = std::move(value); } /** *

When the CA certificate is valid.

*/ inline CACertificateDescription& WithValidity(const CertificateValidity& value) { SetValidity(value); return *this;} /** *

When the CA certificate is valid.

*/ inline CACertificateDescription& WithValidity(CertificateValidity&& value) { SetValidity(std::move(value)); return *this;} /** *

The mode of the CA.

All the device certificates that are registered * using this CA will be registered in the same mode as the CA. For more * information about certificate mode for device certificates, see certificate * mode.

*/ inline const CertificateMode& GetCertificateMode() const{ return m_certificateMode; } /** *

The mode of the CA.

All the device certificates that are registered * using this CA will be registered in the same mode as the CA. For more * information about certificate mode for device certificates, see certificate * mode.

*/ inline bool CertificateModeHasBeenSet() const { return m_certificateModeHasBeenSet; } /** *

The mode of the CA.

All the device certificates that are registered * using this CA will be registered in the same mode as the CA. For more * information about certificate mode for device certificates, see certificate * mode.

*/ inline void SetCertificateMode(const CertificateMode& value) { m_certificateModeHasBeenSet = true; m_certificateMode = value; } /** *

The mode of the CA.

All the device certificates that are registered * using this CA will be registered in the same mode as the CA. For more * information about certificate mode for device certificates, see certificate * mode.

*/ inline void SetCertificateMode(CertificateMode&& value) { m_certificateModeHasBeenSet = true; m_certificateMode = std::move(value); } /** *

The mode of the CA.

All the device certificates that are registered * using this CA will be registered in the same mode as the CA. For more * information about certificate mode for device certificates, see certificate * mode.

*/ inline CACertificateDescription& WithCertificateMode(const CertificateMode& value) { SetCertificateMode(value); return *this;} /** *

The mode of the CA.

All the device certificates that are registered * using this CA will be registered in the same mode as the CA. For more * information about certificate mode for device certificates, see certificate * mode.

*/ inline CACertificateDescription& WithCertificateMode(CertificateMode&& value) { SetCertificateMode(std::move(value)); return *this;} private: Aws::String m_certificateArn; bool m_certificateArnHasBeenSet = false; Aws::String m_certificateId; bool m_certificateIdHasBeenSet = false; CACertificateStatus m_status; bool m_statusHasBeenSet = false; Aws::String m_certificatePem; bool m_certificatePemHasBeenSet = false; Aws::String m_ownedBy; bool m_ownedByHasBeenSet = false; Aws::Utils::DateTime m_creationDate; bool m_creationDateHasBeenSet = false; AutoRegistrationStatus m_autoRegistrationStatus; bool m_autoRegistrationStatusHasBeenSet = false; Aws::Utils::DateTime m_lastModifiedDate; bool m_lastModifiedDateHasBeenSet = false; int m_customerVersion; bool m_customerVersionHasBeenSet = false; Aws::String m_generationId; bool m_generationIdHasBeenSet = false; CertificateValidity m_validity; bool m_validityHasBeenSet = false; CertificateMode m_certificateMode; bool m_certificateModeHasBeenSet = false; }; } // namespace Model } // namespace IoT } // namespace Aws