/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include 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
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