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

The SSL certificate that can be used to encrypt connections between the * endpoints and the replication instance.

See Also:

AWS API * Reference

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

A customer-assigned name for the certificate. Identifiers must begin with a * letter and must contain only ASCII letters, digits, and hyphens. They can't end * with a hyphen or contain two consecutive hyphens.

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

A customer-assigned name for the certificate. Identifiers must begin with a * letter and must contain only ASCII letters, digits, and hyphens. They can't end * with a hyphen or contain two consecutive hyphens.

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

A customer-assigned name for the certificate. Identifiers must begin with a * letter and must contain only ASCII letters, digits, and hyphens. They can't end * with a hyphen or contain two consecutive hyphens.

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

A customer-assigned name for the certificate. Identifiers must begin with a * letter and must contain only ASCII letters, digits, and hyphens. They can't end * with a hyphen or contain two consecutive hyphens.

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

A customer-assigned name for the certificate. Identifiers must begin with a * letter and must contain only ASCII letters, digits, and hyphens. They can't end * with a hyphen or contain two consecutive hyphens.

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

A customer-assigned name for the certificate. Identifiers must begin with a * letter and must contain only ASCII letters, digits, and hyphens. They can't end * with a hyphen or contain two consecutive hyphens.

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

A customer-assigned name for the certificate. Identifiers must begin with a * letter and must contain only ASCII letters, digits, and hyphens. They can't end * with a hyphen or contain two consecutive hyphens.

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

A customer-assigned name for the certificate. Identifiers must begin with a * letter and must contain only ASCII letters, digits, and hyphens. They can't end * with a hyphen or contain two consecutive hyphens.

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

The date that the certificate was created.

*/ inline const Aws::Utils::DateTime& GetCertificateCreationDate() const{ return m_certificateCreationDate; } /** *

The date that the certificate was created.

*/ inline bool CertificateCreationDateHasBeenSet() const { return m_certificateCreationDateHasBeenSet; } /** *

The date that the certificate was created.

*/ inline void SetCertificateCreationDate(const Aws::Utils::DateTime& value) { m_certificateCreationDateHasBeenSet = true; m_certificateCreationDate = value; } /** *

The date that the certificate was created.

*/ inline void SetCertificateCreationDate(Aws::Utils::DateTime&& value) { m_certificateCreationDateHasBeenSet = true; m_certificateCreationDate = std::move(value); } /** *

The date that the certificate was created.

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

The date that the certificate was created.

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

The contents of a .pem file, which contains an X.509 * certificate.

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

The contents of a .pem file, which contains an X.509 * certificate.

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

The contents of a .pem file, which contains an X.509 * certificate.

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

The contents of a .pem file, which contains an X.509 * certificate.

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

The contents of a .pem file, which contains an X.509 * certificate.

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

The contents of a .pem file, which contains an X.509 * certificate.

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

The contents of a .pem file, which contains an X.509 * certificate.

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

The contents of a .pem file, which contains an X.509 * certificate.

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

The location of an imported Oracle Wallet certificate for use with SSL. * Example: filebase64("${path.root}/rds-ca-2019-root.sso")

*/ inline const Aws::Utils::ByteBuffer& GetCertificateWallet() const{ return m_certificateWallet; } /** *

The location of an imported Oracle Wallet certificate for use with SSL. * Example: filebase64("${path.root}/rds-ca-2019-root.sso")

*/ inline bool CertificateWalletHasBeenSet() const { return m_certificateWalletHasBeenSet; } /** *

The location of an imported Oracle Wallet certificate for use with SSL. * Example: filebase64("${path.root}/rds-ca-2019-root.sso")

*/ inline void SetCertificateWallet(const Aws::Utils::ByteBuffer& value) { m_certificateWalletHasBeenSet = true; m_certificateWallet = value; } /** *

The location of an imported Oracle Wallet certificate for use with SSL. * Example: filebase64("${path.root}/rds-ca-2019-root.sso")

*/ inline void SetCertificateWallet(Aws::Utils::ByteBuffer&& value) { m_certificateWalletHasBeenSet = true; m_certificateWallet = std::move(value); } /** *

The location of an imported Oracle Wallet certificate for use with SSL. * Example: filebase64("${path.root}/rds-ca-2019-root.sso")

*/ inline Certificate& WithCertificateWallet(const Aws::Utils::ByteBuffer& value) { SetCertificateWallet(value); return *this;} /** *

The location of an imported Oracle Wallet certificate for use with SSL. * Example: filebase64("${path.root}/rds-ca-2019-root.sso")

*/ inline Certificate& WithCertificateWallet(Aws::Utils::ByteBuffer&& value) { SetCertificateWallet(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) for the certificate.

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

The Amazon Resource Name (ARN) for the certificate.

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

The Amazon Resource Name (ARN) for the certificate.

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

The Amazon Resource Name (ARN) for the certificate.

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

The Amazon Resource Name (ARN) for the certificate.

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

The Amazon Resource Name (ARN) for the certificate.

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

The Amazon Resource Name (ARN) for the certificate.

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

The Amazon Resource Name (ARN) for the certificate.

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

The owner of the certificate.

*/ inline const Aws::String& GetCertificateOwner() const{ return m_certificateOwner; } /** *

The owner of the certificate.

*/ inline bool CertificateOwnerHasBeenSet() const { return m_certificateOwnerHasBeenSet; } /** *

The owner of the certificate.

*/ inline void SetCertificateOwner(const Aws::String& value) { m_certificateOwnerHasBeenSet = true; m_certificateOwner = value; } /** *

The owner of the certificate.

*/ inline void SetCertificateOwner(Aws::String&& value) { m_certificateOwnerHasBeenSet = true; m_certificateOwner = std::move(value); } /** *

The owner of the certificate.

*/ inline void SetCertificateOwner(const char* value) { m_certificateOwnerHasBeenSet = true; m_certificateOwner.assign(value); } /** *

The owner of the certificate.

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

The owner of the certificate.

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

The owner of the certificate.

*/ inline Certificate& WithCertificateOwner(const char* value) { SetCertificateOwner(value); return *this;} /** *

The beginning date that the certificate is valid.

*/ inline const Aws::Utils::DateTime& GetValidFromDate() const{ return m_validFromDate; } /** *

The beginning date that the certificate is valid.

*/ inline bool ValidFromDateHasBeenSet() const { return m_validFromDateHasBeenSet; } /** *

The beginning date that the certificate is valid.

*/ inline void SetValidFromDate(const Aws::Utils::DateTime& value) { m_validFromDateHasBeenSet = true; m_validFromDate = value; } /** *

The beginning date that the certificate is valid.

*/ inline void SetValidFromDate(Aws::Utils::DateTime&& value) { m_validFromDateHasBeenSet = true; m_validFromDate = std::move(value); } /** *

The beginning date that the certificate is valid.

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

The beginning date that the certificate is valid.

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

The final date that the certificate is valid.

*/ inline const Aws::Utils::DateTime& GetValidToDate() const{ return m_validToDate; } /** *

The final date that the certificate is valid.

*/ inline bool ValidToDateHasBeenSet() const { return m_validToDateHasBeenSet; } /** *

The final date that the certificate is valid.

*/ inline void SetValidToDate(const Aws::Utils::DateTime& value) { m_validToDateHasBeenSet = true; m_validToDate = value; } /** *

The final date that the certificate is valid.

*/ inline void SetValidToDate(Aws::Utils::DateTime&& value) { m_validToDateHasBeenSet = true; m_validToDate = std::move(value); } /** *

The final date that the certificate is valid.

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

The final date that the certificate is valid.

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

The signing algorithm for the certificate.

*/ inline const Aws::String& GetSigningAlgorithm() const{ return m_signingAlgorithm; } /** *

The signing algorithm for the certificate.

*/ inline bool SigningAlgorithmHasBeenSet() const { return m_signingAlgorithmHasBeenSet; } /** *

The signing algorithm for the certificate.

*/ inline void SetSigningAlgorithm(const Aws::String& value) { m_signingAlgorithmHasBeenSet = true; m_signingAlgorithm = value; } /** *

The signing algorithm for the certificate.

*/ inline void SetSigningAlgorithm(Aws::String&& value) { m_signingAlgorithmHasBeenSet = true; m_signingAlgorithm = std::move(value); } /** *

The signing algorithm for the certificate.

*/ inline void SetSigningAlgorithm(const char* value) { m_signingAlgorithmHasBeenSet = true; m_signingAlgorithm.assign(value); } /** *

The signing algorithm for the certificate.

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

The signing algorithm for the certificate.

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

The signing algorithm for the certificate.

*/ inline Certificate& WithSigningAlgorithm(const char* value) { SetSigningAlgorithm(value); return *this;} /** *

The key length of the cryptographic algorithm being used.

*/ inline int GetKeyLength() const{ return m_keyLength; } /** *

The key length of the cryptographic algorithm being used.

*/ inline bool KeyLengthHasBeenSet() const { return m_keyLengthHasBeenSet; } /** *

The key length of the cryptographic algorithm being used.

*/ inline void SetKeyLength(int value) { m_keyLengthHasBeenSet = true; m_keyLength = value; } /** *

The key length of the cryptographic algorithm being used.

*/ inline Certificate& WithKeyLength(int value) { SetKeyLength(value); return *this;} private: Aws::String m_certificateIdentifier; bool m_certificateIdentifierHasBeenSet = false; Aws::Utils::DateTime m_certificateCreationDate; bool m_certificateCreationDateHasBeenSet = false; Aws::String m_certificatePem; bool m_certificatePemHasBeenSet = false; Aws::Utils::ByteBuffer m_certificateWallet; bool m_certificateWalletHasBeenSet = false; Aws::String m_certificateArn; bool m_certificateArnHasBeenSet = false; Aws::String m_certificateOwner; bool m_certificateOwnerHasBeenSet = false; Aws::Utils::DateTime m_validFromDate; bool m_validFromDateHasBeenSet = false; Aws::Utils::DateTime m_validToDate; bool m_validToDateHasBeenSet = false; Aws::String m_signingAlgorithm; bool m_signingAlgorithmHasBeenSet = false; int m_keyLength; bool m_keyLengthHasBeenSet = false; }; } // namespace Model } // namespace DatabaseMigrationService } // namespace Aws