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

A top-level container for a table. Databases and tables are the fundamental * management concepts in Amazon Timestream. All tables in a database are encrypted * with the same KMS key.

See Also:

AWS * API Reference

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

The Amazon Resource Name that uniquely identifies this database.

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

The Amazon Resource Name that uniquely identifies this database.

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

The Amazon Resource Name that uniquely identifies this database.

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

The Amazon Resource Name that uniquely identifies this database.

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

The Amazon Resource Name that uniquely identifies this database.

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

The Amazon Resource Name that uniquely identifies this database.

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

The Amazon Resource Name that uniquely identifies this database.

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

The Amazon Resource Name that uniquely identifies this database.

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

The name of the Timestream database.

*/ inline const Aws::String& GetDatabaseName() const{ return m_databaseName; } /** *

The name of the Timestream database.

*/ inline bool DatabaseNameHasBeenSet() const { return m_databaseNameHasBeenSet; } /** *

The name of the Timestream database.

*/ inline void SetDatabaseName(const Aws::String& value) { m_databaseNameHasBeenSet = true; m_databaseName = value; } /** *

The name of the Timestream database.

*/ inline void SetDatabaseName(Aws::String&& value) { m_databaseNameHasBeenSet = true; m_databaseName = std::move(value); } /** *

The name of the Timestream database.

*/ inline void SetDatabaseName(const char* value) { m_databaseNameHasBeenSet = true; m_databaseName.assign(value); } /** *

The name of the Timestream database.

*/ inline Database& WithDatabaseName(const Aws::String& value) { SetDatabaseName(value); return *this;} /** *

The name of the Timestream database.

*/ inline Database& WithDatabaseName(Aws::String&& value) { SetDatabaseName(std::move(value)); return *this;} /** *

The name of the Timestream database.

*/ inline Database& WithDatabaseName(const char* value) { SetDatabaseName(value); return *this;} /** *

The total number of tables found within a Timestream database.

*/ inline long long GetTableCount() const{ return m_tableCount; } /** *

The total number of tables found within a Timestream database.

*/ inline bool TableCountHasBeenSet() const { return m_tableCountHasBeenSet; } /** *

The total number of tables found within a Timestream database.

*/ inline void SetTableCount(long long value) { m_tableCountHasBeenSet = true; m_tableCount = value; } /** *

The total number of tables found within a Timestream database.

*/ inline Database& WithTableCount(long long value) { SetTableCount(value); return *this;} /** *

The identifier of the KMS key used to encrypt the data stored in the * database.

*/ inline const Aws::String& GetKmsKeyId() const{ return m_kmsKeyId; } /** *

The identifier of the KMS key used to encrypt the data stored in the * database.

*/ inline bool KmsKeyIdHasBeenSet() const { return m_kmsKeyIdHasBeenSet; } /** *

The identifier of the KMS key used to encrypt the data stored in the * database.

*/ inline void SetKmsKeyId(const Aws::String& value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId = value; } /** *

The identifier of the KMS key used to encrypt the data stored in the * database.

*/ inline void SetKmsKeyId(Aws::String&& value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId = std::move(value); } /** *

The identifier of the KMS key used to encrypt the data stored in the * database.

*/ inline void SetKmsKeyId(const char* value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId.assign(value); } /** *

The identifier of the KMS key used to encrypt the data stored in the * database.

*/ inline Database& WithKmsKeyId(const Aws::String& value) { SetKmsKeyId(value); return *this;} /** *

The identifier of the KMS key used to encrypt the data stored in the * database.

*/ inline Database& WithKmsKeyId(Aws::String&& value) { SetKmsKeyId(std::move(value)); return *this;} /** *

The identifier of the KMS key used to encrypt the data stored in the * database.

*/ inline Database& WithKmsKeyId(const char* value) { SetKmsKeyId(value); return *this;} /** *

The time when the database was created, calculated from the Unix epoch * time.

*/ inline const Aws::Utils::DateTime& GetCreationTime() const{ return m_creationTime; } /** *

The time when the database was created, calculated from the Unix epoch * time.

*/ inline bool CreationTimeHasBeenSet() const { return m_creationTimeHasBeenSet; } /** *

The time when the database was created, calculated from the Unix epoch * time.

*/ inline void SetCreationTime(const Aws::Utils::DateTime& value) { m_creationTimeHasBeenSet = true; m_creationTime = value; } /** *

The time when the database was created, calculated from the Unix epoch * time.

*/ inline void SetCreationTime(Aws::Utils::DateTime&& value) { m_creationTimeHasBeenSet = true; m_creationTime = std::move(value); } /** *

The time when the database was created, calculated from the Unix epoch * time.

*/ inline Database& WithCreationTime(const Aws::Utils::DateTime& value) { SetCreationTime(value); return *this;} /** *

The time when the database was created, calculated from the Unix epoch * time.

*/ inline Database& WithCreationTime(Aws::Utils::DateTime&& value) { SetCreationTime(std::move(value)); return *this;} /** *

The last time that this database was updated.

*/ inline const Aws::Utils::DateTime& GetLastUpdatedTime() const{ return m_lastUpdatedTime; } /** *

The last time that this database was updated.

*/ inline bool LastUpdatedTimeHasBeenSet() const { return m_lastUpdatedTimeHasBeenSet; } /** *

The last time that this database was updated.

*/ inline void SetLastUpdatedTime(const Aws::Utils::DateTime& value) { m_lastUpdatedTimeHasBeenSet = true; m_lastUpdatedTime = value; } /** *

The last time that this database was updated.

*/ inline void SetLastUpdatedTime(Aws::Utils::DateTime&& value) { m_lastUpdatedTimeHasBeenSet = true; m_lastUpdatedTime = std::move(value); } /** *

The last time that this database was updated.

*/ inline Database& WithLastUpdatedTime(const Aws::Utils::DateTime& value) { SetLastUpdatedTime(value); return *this;} /** *

The last time that this database was updated.

*/ inline Database& WithLastUpdatedTime(Aws::Utils::DateTime&& value) { SetLastUpdatedTime(std::move(value)); return *this;} private: Aws::String m_arn; bool m_arnHasBeenSet = false; Aws::String m_databaseName; bool m_databaseNameHasBeenSet = false; long long m_tableCount; bool m_tableCountHasBeenSet = false; Aws::String m_kmsKeyId; bool m_kmsKeyIdHasBeenSet = false; Aws::Utils::DateTime m_creationTime; bool m_creationTimeHasBeenSet = false; Aws::Utils::DateTime m_lastUpdatedTime; bool m_lastUpdatedTimeHasBeenSet = false; }; } // namespace Model } // namespace TimestreamWrite } // namespace Aws