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

A certificate authority (CA) certificate for an Amazon Web Services * account.

See Also:

AWS * API Reference

*/ class Certificate { public: AWS_DOCDB_API Certificate(); AWS_DOCDB_API Certificate(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_DOCDB_API Certificate& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_DOCDB_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const; AWS_DOCDB_API void OutputToStream(Aws::OStream& oStream, const char* location) const; /** *

The unique key that identifies a certificate.

Example: * rds-ca-2019

*/ inline const Aws::String& GetCertificateIdentifier() const{ return m_certificateIdentifier; } /** *

The unique key that identifies a certificate.

Example: * rds-ca-2019

*/ inline bool CertificateIdentifierHasBeenSet() const { return m_certificateIdentifierHasBeenSet; } /** *

The unique key that identifies a certificate.

Example: * rds-ca-2019

*/ inline void SetCertificateIdentifier(const Aws::String& value) { m_certificateIdentifierHasBeenSet = true; m_certificateIdentifier = value; } /** *

The unique key that identifies a certificate.

Example: * rds-ca-2019

*/ inline void SetCertificateIdentifier(Aws::String&& value) { m_certificateIdentifierHasBeenSet = true; m_certificateIdentifier = std::move(value); } /** *

The unique key that identifies a certificate.

Example: * rds-ca-2019

*/ inline void SetCertificateIdentifier(const char* value) { m_certificateIdentifierHasBeenSet = true; m_certificateIdentifier.assign(value); } /** *

The unique key that identifies a certificate.

Example: * rds-ca-2019

*/ inline Certificate& WithCertificateIdentifier(const Aws::String& value) { SetCertificateIdentifier(value); return *this;} /** *

The unique key that identifies a certificate.

Example: * rds-ca-2019

*/ inline Certificate& WithCertificateIdentifier(Aws::String&& value) { SetCertificateIdentifier(std::move(value)); return *this;} /** *

The unique key that identifies a certificate.

Example: * rds-ca-2019

*/ inline Certificate& WithCertificateIdentifier(const char* value) { SetCertificateIdentifier(value); return *this;} /** *

The type of the certificate.

Example: CA

*/ inline const Aws::String& GetCertificateType() const{ return m_certificateType; } /** *

The type of the certificate.

Example: CA

*/ inline bool CertificateTypeHasBeenSet() const { return m_certificateTypeHasBeenSet; } /** *

The type of the certificate.

Example: CA

*/ inline void SetCertificateType(const Aws::String& value) { m_certificateTypeHasBeenSet = true; m_certificateType = value; } /** *

The type of the certificate.

Example: CA

*/ inline void SetCertificateType(Aws::String&& value) { m_certificateTypeHasBeenSet = true; m_certificateType = std::move(value); } /** *

The type of the certificate.

Example: CA

*/ inline void SetCertificateType(const char* value) { m_certificateTypeHasBeenSet = true; m_certificateType.assign(value); } /** *

The type of the certificate.

Example: CA

*/ inline Certificate& WithCertificateType(const Aws::String& value) { SetCertificateType(value); return *this;} /** *

The type of the certificate.

Example: CA

*/ inline Certificate& WithCertificateType(Aws::String&& value) { SetCertificateType(std::move(value)); return *this;} /** *

The type of the certificate.

Example: CA

*/ inline Certificate& WithCertificateType(const char* value) { SetCertificateType(value); return *this;} /** *

The thumbprint of the certificate.

*/ inline const Aws::String& GetThumbprint() const{ return m_thumbprint; } /** *

The thumbprint of the certificate.

*/ inline bool ThumbprintHasBeenSet() const { return m_thumbprintHasBeenSet; } /** *

The thumbprint of the certificate.

*/ inline void SetThumbprint(const Aws::String& value) { m_thumbprintHasBeenSet = true; m_thumbprint = value; } /** *

The thumbprint of the certificate.

*/ inline void SetThumbprint(Aws::String&& value) { m_thumbprintHasBeenSet = true; m_thumbprint = std::move(value); } /** *

The thumbprint of the certificate.

*/ inline void SetThumbprint(const char* value) { m_thumbprintHasBeenSet = true; m_thumbprint.assign(value); } /** *

The thumbprint of the certificate.

*/ inline Certificate& WithThumbprint(const Aws::String& value) { SetThumbprint(value); return *this;} /** *

The thumbprint of the certificate.

*/ inline Certificate& WithThumbprint(Aws::String&& value) { SetThumbprint(std::move(value)); return *this;} /** *

The thumbprint of the certificate.

*/ inline Certificate& WithThumbprint(const char* value) { SetThumbprint(value); return *this;} /** *

The starting date-time from which the certificate is valid.

Example: * 2019-07-31T17:57:09Z

*/ inline const Aws::Utils::DateTime& GetValidFrom() const{ return m_validFrom; } /** *

The starting date-time from which the certificate is valid.

Example: * 2019-07-31T17:57:09Z

*/ inline bool ValidFromHasBeenSet() const { return m_validFromHasBeenSet; } /** *

The starting date-time from which the certificate is valid.

Example: * 2019-07-31T17:57:09Z

*/ inline void SetValidFrom(const Aws::Utils::DateTime& value) { m_validFromHasBeenSet = true; m_validFrom = value; } /** *

The starting date-time from which the certificate is valid.

Example: * 2019-07-31T17:57:09Z

*/ inline void SetValidFrom(Aws::Utils::DateTime&& value) { m_validFromHasBeenSet = true; m_validFrom = std::move(value); } /** *

The starting date-time from which the certificate is valid.

Example: * 2019-07-31T17:57:09Z

*/ inline Certificate& WithValidFrom(const Aws::Utils::DateTime& value) { SetValidFrom(value); return *this;} /** *

The starting date-time from which the certificate is valid.

Example: * 2019-07-31T17:57:09Z

*/ inline Certificate& WithValidFrom(Aws::Utils::DateTime&& value) { SetValidFrom(std::move(value)); return *this;} /** *

The date-time after which the certificate is no longer valid.

Example: * 2024-07-31T17:57:09Z

*/ inline const Aws::Utils::DateTime& GetValidTill() const{ return m_validTill; } /** *

The date-time after which the certificate is no longer valid.

Example: * 2024-07-31T17:57:09Z

*/ inline bool ValidTillHasBeenSet() const { return m_validTillHasBeenSet; } /** *

The date-time after which the certificate is no longer valid.

Example: * 2024-07-31T17:57:09Z

*/ inline void SetValidTill(const Aws::Utils::DateTime& value) { m_validTillHasBeenSet = true; m_validTill = value; } /** *

The date-time after which the certificate is no longer valid.

Example: * 2024-07-31T17:57:09Z

*/ inline void SetValidTill(Aws::Utils::DateTime&& value) { m_validTillHasBeenSet = true; m_validTill = std::move(value); } /** *

The date-time after which the certificate is no longer valid.

Example: * 2024-07-31T17:57:09Z

*/ inline Certificate& WithValidTill(const Aws::Utils::DateTime& value) { SetValidTill(value); return *this;} /** *

The date-time after which the certificate is no longer valid.

Example: * 2024-07-31T17:57:09Z

*/ inline Certificate& WithValidTill(Aws::Utils::DateTime&& value) { SetValidTill(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) for the certificate.

Example: * arn:aws:rds:us-east-1::cert:rds-ca-2019

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

The Amazon Resource Name (ARN) for the certificate.

Example: * arn:aws:rds:us-east-1::cert:rds-ca-2019

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

The Amazon Resource Name (ARN) for the certificate.

Example: * arn:aws:rds:us-east-1::cert:rds-ca-2019

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

The Amazon Resource Name (ARN) for the certificate.

Example: * arn:aws:rds:us-east-1::cert:rds-ca-2019

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

The Amazon Resource Name (ARN) for the certificate.

Example: * arn:aws:rds:us-east-1::cert:rds-ca-2019

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

The Amazon Resource Name (ARN) for the certificate.

Example: * arn:aws:rds:us-east-1::cert:rds-ca-2019

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

The Amazon Resource Name (ARN) for the certificate.

Example: * arn:aws:rds:us-east-1::cert:rds-ca-2019

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

The Amazon Resource Name (ARN) for the certificate.

Example: * arn:aws:rds:us-east-1::cert:rds-ca-2019

*/ inline Certificate& WithCertificateArn(const char* value) { SetCertificateArn(value); return *this;} private: Aws::String m_certificateIdentifier; bool m_certificateIdentifierHasBeenSet = false; Aws::String m_certificateType; bool m_certificateTypeHasBeenSet = false; Aws::String m_thumbprint; bool m_thumbprintHasBeenSet = false; Aws::Utils::DateTime m_validFrom; bool m_validFromHasBeenSet = false; Aws::Utils::DateTime m_validTill; bool m_validTillHasBeenSet = false; Aws::String m_certificateArn; bool m_certificateArnHasBeenSet = false; }; } // namespace Model } // namespace DocDB } // namespace Aws