/**
* 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