/** * 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 Transfer { namespace Model { /** *

Describes the properties of a certificate.

See Also:

AWS * API Reference

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

The unique Amazon Resource Name (ARN) for the certificate.

*/ inline const Aws::String& GetArn() const{ return m_arn; } /** *

The unique Amazon Resource Name (ARN) for the certificate.

*/ inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; } /** *

The unique Amazon Resource Name (ARN) for the certificate.

*/ inline void SetArn(const Aws::String& value) { m_arnHasBeenSet = true; m_arn = value; } /** *

The unique Amazon Resource Name (ARN) for the certificate.

*/ inline void SetArn(Aws::String&& value) { m_arnHasBeenSet = true; m_arn = std::move(value); } /** *

The unique Amazon Resource Name (ARN) for the certificate.

*/ inline void SetArn(const char* value) { m_arnHasBeenSet = true; m_arn.assign(value); } /** *

The unique Amazon Resource Name (ARN) for the certificate.

*/ inline DescribedCertificate& WithArn(const Aws::String& value) { SetArn(value); return *this;} /** *

The unique Amazon Resource Name (ARN) for the certificate.

*/ inline DescribedCertificate& WithArn(Aws::String&& value) { SetArn(std::move(value)); return *this;} /** *

The unique Amazon Resource Name (ARN) for the certificate.

*/ inline DescribedCertificate& WithArn(const char* value) { SetArn(value); return *this;} /** *

An array of identifiers for the imported certificates. You use this * identifier for working with profiles and partner profiles.

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

An array of identifiers for the imported certificates. You use this * identifier for working with profiles and partner profiles.

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

An array of identifiers for the imported certificates. You use this * identifier for working with profiles and partner profiles.

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

An array of identifiers for the imported certificates. You use this * identifier for working with profiles and partner profiles.

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

An array of identifiers for the imported certificates. You use this * identifier for working with profiles and partner profiles.

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

An array of identifiers for the imported certificates. You use this * identifier for working with profiles and partner profiles.

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

An array of identifiers for the imported certificates. You use this * identifier for working with profiles and partner profiles.

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

An array of identifiers for the imported certificates. You use this * identifier for working with profiles and partner profiles.

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

Specifies whether this certificate is used for signing or encryption.

*/ inline const CertificateUsageType& GetUsage() const{ return m_usage; } /** *

Specifies whether this certificate is used for signing or encryption.

*/ inline bool UsageHasBeenSet() const { return m_usageHasBeenSet; } /** *

Specifies whether this certificate is used for signing or encryption.

*/ inline void SetUsage(const CertificateUsageType& value) { m_usageHasBeenSet = true; m_usage = value; } /** *

Specifies whether this certificate is used for signing or encryption.

*/ inline void SetUsage(CertificateUsageType&& value) { m_usageHasBeenSet = true; m_usage = std::move(value); } /** *

Specifies whether this certificate is used for signing or encryption.

*/ inline DescribedCertificate& WithUsage(const CertificateUsageType& value) { SetUsage(value); return *this;} /** *

Specifies whether this certificate is used for signing or encryption.

*/ inline DescribedCertificate& WithUsage(CertificateUsageType&& value) { SetUsage(std::move(value)); return *this;} /** *

The certificate can be either ACTIVE, * PENDING_ROTATION, or INACTIVE. * PENDING_ROTATION means that this certificate will replace the * current certificate when it expires.

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

The certificate can be either ACTIVE, * PENDING_ROTATION, or INACTIVE. * PENDING_ROTATION means that this certificate will replace the * current certificate when it expires.

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

The certificate can be either ACTIVE, * PENDING_ROTATION, or INACTIVE. * PENDING_ROTATION means that this certificate will replace the * current certificate when it expires.

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

The certificate can be either ACTIVE, * PENDING_ROTATION, or INACTIVE. * PENDING_ROTATION means that this certificate will replace the * current certificate when it expires.

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

The certificate can be either ACTIVE, * PENDING_ROTATION, or INACTIVE. * PENDING_ROTATION means that this certificate will replace the * current certificate when it expires.

*/ inline DescribedCertificate& WithStatus(const CertificateStatusType& value) { SetStatus(value); return *this;} /** *

The certificate can be either ACTIVE, * PENDING_ROTATION, or INACTIVE. * PENDING_ROTATION means that this certificate will replace the * current certificate when it expires.

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

The file name for the certificate.

*/ inline const Aws::String& GetCertificate() const{ return m_certificate; } /** *

The file name for the certificate.

*/ inline bool CertificateHasBeenSet() const { return m_certificateHasBeenSet; } /** *

The file name for the certificate.

*/ inline void SetCertificate(const Aws::String& value) { m_certificateHasBeenSet = true; m_certificate = value; } /** *

The file name for the certificate.

*/ inline void SetCertificate(Aws::String&& value) { m_certificateHasBeenSet = true; m_certificate = std::move(value); } /** *

The file name for the certificate.

*/ inline void SetCertificate(const char* value) { m_certificateHasBeenSet = true; m_certificate.assign(value); } /** *

The file name for the certificate.

*/ inline DescribedCertificate& WithCertificate(const Aws::String& value) { SetCertificate(value); return *this;} /** *

The file name for the certificate.

*/ inline DescribedCertificate& WithCertificate(Aws::String&& value) { SetCertificate(std::move(value)); return *this;} /** *

The file name for the certificate.

*/ inline DescribedCertificate& WithCertificate(const char* value) { SetCertificate(value); return *this;} /** *

The list of certificates that make up the chain for the certificate.

*/ inline const Aws::String& GetCertificateChain() const{ return m_certificateChain; } /** *

The list of certificates that make up the chain for the certificate.

*/ inline bool CertificateChainHasBeenSet() const { return m_certificateChainHasBeenSet; } /** *

The list of certificates that make up the chain for the certificate.

*/ inline void SetCertificateChain(const Aws::String& value) { m_certificateChainHasBeenSet = true; m_certificateChain = value; } /** *

The list of certificates that make up the chain for the certificate.

*/ inline void SetCertificateChain(Aws::String&& value) { m_certificateChainHasBeenSet = true; m_certificateChain = std::move(value); } /** *

The list of certificates that make up the chain for the certificate.

*/ inline void SetCertificateChain(const char* value) { m_certificateChainHasBeenSet = true; m_certificateChain.assign(value); } /** *

The list of certificates that make up the chain for the certificate.

*/ inline DescribedCertificate& WithCertificateChain(const Aws::String& value) { SetCertificateChain(value); return *this;} /** *

The list of certificates that make up the chain for the certificate.

*/ inline DescribedCertificate& WithCertificateChain(Aws::String&& value) { SetCertificateChain(std::move(value)); return *this;} /** *

The list of certificates that make up the chain for the certificate.

*/ inline DescribedCertificate& WithCertificateChain(const char* value) { SetCertificateChain(value); return *this;} /** *

An optional date that specifies when the certificate becomes active.

*/ inline const Aws::Utils::DateTime& GetActiveDate() const{ return m_activeDate; } /** *

An optional date that specifies when the certificate becomes active.

*/ inline bool ActiveDateHasBeenSet() const { return m_activeDateHasBeenSet; } /** *

An optional date that specifies when the certificate becomes active.

*/ inline void SetActiveDate(const Aws::Utils::DateTime& value) { m_activeDateHasBeenSet = true; m_activeDate = value; } /** *

An optional date that specifies when the certificate becomes active.

*/ inline void SetActiveDate(Aws::Utils::DateTime&& value) { m_activeDateHasBeenSet = true; m_activeDate = std::move(value); } /** *

An optional date that specifies when the certificate becomes active.

*/ inline DescribedCertificate& WithActiveDate(const Aws::Utils::DateTime& value) { SetActiveDate(value); return *this;} /** *

An optional date that specifies when the certificate becomes active.

*/ inline DescribedCertificate& WithActiveDate(Aws::Utils::DateTime&& value) { SetActiveDate(std::move(value)); return *this;} /** *

An optional date that specifies when the certificate becomes inactive.

*/ inline const Aws::Utils::DateTime& GetInactiveDate() const{ return m_inactiveDate; } /** *

An optional date that specifies when the certificate becomes inactive.

*/ inline bool InactiveDateHasBeenSet() const { return m_inactiveDateHasBeenSet; } /** *

An optional date that specifies when the certificate becomes inactive.

*/ inline void SetInactiveDate(const Aws::Utils::DateTime& value) { m_inactiveDateHasBeenSet = true; m_inactiveDate = value; } /** *

An optional date that specifies when the certificate becomes inactive.

*/ inline void SetInactiveDate(Aws::Utils::DateTime&& value) { m_inactiveDateHasBeenSet = true; m_inactiveDate = std::move(value); } /** *

An optional date that specifies when the certificate becomes inactive.

*/ inline DescribedCertificate& WithInactiveDate(const Aws::Utils::DateTime& value) { SetInactiveDate(value); return *this;} /** *

An optional date that specifies when the certificate becomes inactive.

*/ inline DescribedCertificate& WithInactiveDate(Aws::Utils::DateTime&& value) { SetInactiveDate(std::move(value)); return *this;} /** *

The serial number for the certificate.

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

The serial number for the certificate.

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

The serial number for the certificate.

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

The serial number for the certificate.

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

The serial number for the certificate.

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

The serial number for the certificate.

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

The serial number for the certificate.

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

The serial number for the certificate.

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

The earliest date that the certificate is valid.

*/ inline const Aws::Utils::DateTime& GetNotBeforeDate() const{ return m_notBeforeDate; } /** *

The earliest date that the certificate is valid.

*/ inline bool NotBeforeDateHasBeenSet() const { return m_notBeforeDateHasBeenSet; } /** *

The earliest date that the certificate is valid.

*/ inline void SetNotBeforeDate(const Aws::Utils::DateTime& value) { m_notBeforeDateHasBeenSet = true; m_notBeforeDate = value; } /** *

The earliest date that the certificate is valid.

*/ inline void SetNotBeforeDate(Aws::Utils::DateTime&& value) { m_notBeforeDateHasBeenSet = true; m_notBeforeDate = std::move(value); } /** *

The earliest date that the certificate is valid.

*/ inline DescribedCertificate& WithNotBeforeDate(const Aws::Utils::DateTime& value) { SetNotBeforeDate(value); return *this;} /** *

The earliest date that the certificate is valid.

*/ inline DescribedCertificate& WithNotBeforeDate(Aws::Utils::DateTime&& value) { SetNotBeforeDate(std::move(value)); return *this;} /** *

The final date that the certificate is valid.

*/ inline const Aws::Utils::DateTime& GetNotAfterDate() const{ return m_notAfterDate; } /** *

The final date that the certificate is valid.

*/ inline bool NotAfterDateHasBeenSet() const { return m_notAfterDateHasBeenSet; } /** *

The final date that the certificate is valid.

*/ inline void SetNotAfterDate(const Aws::Utils::DateTime& value) { m_notAfterDateHasBeenSet = true; m_notAfterDate = value; } /** *

The final date that the certificate is valid.

*/ inline void SetNotAfterDate(Aws::Utils::DateTime&& value) { m_notAfterDateHasBeenSet = true; m_notAfterDate = std::move(value); } /** *

The final date that the certificate is valid.

*/ inline DescribedCertificate& WithNotAfterDate(const Aws::Utils::DateTime& value) { SetNotAfterDate(value); return *this;} /** *

The final date that the certificate is valid.

*/ inline DescribedCertificate& WithNotAfterDate(Aws::Utils::DateTime&& value) { SetNotAfterDate(std::move(value)); return *this;} /** *

If a private key has been specified for the certificate, its type is * CERTIFICATE_WITH_PRIVATE_KEY. If there is no private key, the type * is CERTIFICATE.

*/ inline const CertificateType& GetType() const{ return m_type; } /** *

If a private key has been specified for the certificate, its type is * CERTIFICATE_WITH_PRIVATE_KEY. If there is no private key, the type * is CERTIFICATE.

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

If a private key has been specified for the certificate, its type is * CERTIFICATE_WITH_PRIVATE_KEY. If there is no private key, the type * is CERTIFICATE.

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

If a private key has been specified for the certificate, its type is * CERTIFICATE_WITH_PRIVATE_KEY. If there is no private key, the type * is CERTIFICATE.

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

If a private key has been specified for the certificate, its type is * CERTIFICATE_WITH_PRIVATE_KEY. If there is no private key, the type * is CERTIFICATE.

*/ inline DescribedCertificate& WithType(const CertificateType& value) { SetType(value); return *this;} /** *

If a private key has been specified for the certificate, its type is * CERTIFICATE_WITH_PRIVATE_KEY. If there is no private key, the type * is CERTIFICATE.

*/ inline DescribedCertificate& WithType(CertificateType&& value) { SetType(std::move(value)); return *this;} /** *

The name or description that's used to identity the certificate.

*/ inline const Aws::String& GetDescription() const{ return m_description; } /** *

The name or description that's used to identity the certificate.

*/ inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } /** *

The name or description that's used to identity the certificate.

*/ inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } /** *

The name or description that's used to identity the certificate.

*/ inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } /** *

The name or description that's used to identity the certificate.

*/ inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } /** *

The name or description that's used to identity the certificate.

*/ inline DescribedCertificate& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} /** *

The name or description that's used to identity the certificate.

*/ inline DescribedCertificate& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} /** *

The name or description that's used to identity the certificate.

*/ inline DescribedCertificate& WithDescription(const char* value) { SetDescription(value); return *this;} /** *

Key-value pairs that can be used to group and search for certificates.

*/ inline const Aws::Vector& GetTags() const{ return m_tags; } /** *

Key-value pairs that can be used to group and search for certificates.

*/ inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } /** *

Key-value pairs that can be used to group and search for certificates.

*/ inline void SetTags(const Aws::Vector& value) { m_tagsHasBeenSet = true; m_tags = value; } /** *

Key-value pairs that can be used to group and search for certificates.

*/ inline void SetTags(Aws::Vector&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } /** *

Key-value pairs that can be used to group and search for certificates.

*/ inline DescribedCertificate& WithTags(const Aws::Vector& value) { SetTags(value); return *this;} /** *

Key-value pairs that can be used to group and search for certificates.

*/ inline DescribedCertificate& WithTags(Aws::Vector&& value) { SetTags(std::move(value)); return *this;} /** *

Key-value pairs that can be used to group and search for certificates.

*/ inline DescribedCertificate& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; } /** *

Key-value pairs that can be used to group and search for certificates.

*/ inline DescribedCertificate& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } private: Aws::String m_arn; bool m_arnHasBeenSet = false; Aws::String m_certificateId; bool m_certificateIdHasBeenSet = false; CertificateUsageType m_usage; bool m_usageHasBeenSet = false; CertificateStatusType m_status; bool m_statusHasBeenSet = false; Aws::String m_certificate; bool m_certificateHasBeenSet = false; Aws::String m_certificateChain; bool m_certificateChainHasBeenSet = false; Aws::Utils::DateTime m_activeDate; bool m_activeDateHasBeenSet = false; Aws::Utils::DateTime m_inactiveDate; bool m_inactiveDateHasBeenSet = false; Aws::String m_serial; bool m_serialHasBeenSet = false; Aws::Utils::DateTime m_notBeforeDate; bool m_notBeforeDateHasBeenSet = false; Aws::Utils::DateTime m_notAfterDate; bool m_notAfterDateHasBeenSet = false; CertificateType m_type; bool m_typeHasBeenSet = false; Aws::String m_description; bool m_descriptionHasBeenSet = false; Aws::Vector m_tags; bool m_tagsHasBeenSet = false; }; } // namespace Model } // namespace Transfer } // namespace Aws