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

Represents a database table in Timestream. Tables contain one or more related * time series. You can modify the retention duration of the memory store and the * magnetic store for a table.

See Also:

AWS * API Reference

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

The Amazon Resource Name that uniquely identifies this table.

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

The Amazon Resource Name that uniquely identifies this table.

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

The Amazon Resource Name that uniquely identifies this table.

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

The Amazon Resource Name that uniquely identifies this table.

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

The Amazon Resource Name that uniquely identifies this table.

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

The Amazon Resource Name that uniquely identifies this table.

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

The Amazon Resource Name that uniquely identifies this table.

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

The Amazon Resource Name that uniquely identifies this table.

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

The name of the Timestream table.

*/ inline const Aws::String& GetTableName() const{ return m_tableName; } /** *

The name of the Timestream table.

*/ inline bool TableNameHasBeenSet() const { return m_tableNameHasBeenSet; } /** *

The name of the Timestream table.

*/ inline void SetTableName(const Aws::String& value) { m_tableNameHasBeenSet = true; m_tableName = value; } /** *

The name of the Timestream table.

*/ inline void SetTableName(Aws::String&& value) { m_tableNameHasBeenSet = true; m_tableName = std::move(value); } /** *

The name of the Timestream table.

*/ inline void SetTableName(const char* value) { m_tableNameHasBeenSet = true; m_tableName.assign(value); } /** *

The name of the Timestream table.

*/ inline Table& WithTableName(const Aws::String& value) { SetTableName(value); return *this;} /** *

The name of the Timestream table.

*/ inline Table& WithTableName(Aws::String&& value) { SetTableName(std::move(value)); return *this;} /** *

The name of the Timestream table.

*/ inline Table& WithTableName(const char* value) { SetTableName(value); return *this;} /** *

The name of the Timestream database that contains this table.

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

The name of the Timestream database that contains this table.

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

The name of the Timestream database that contains this table.

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

The name of the Timestream database that contains this table.

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

The name of the Timestream database that contains this table.

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

The name of the Timestream database that contains this table.

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

The name of the Timestream database that contains this table.

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

The name of the Timestream database that contains this table.

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

The current state of the table:

  • DELETING - The * table is being deleted.

  • ACTIVE - The table is * ready for use.

*/ inline const TableStatus& GetTableStatus() const{ return m_tableStatus; } /** *

The current state of the table:

  • DELETING - The * table is being deleted.

  • ACTIVE - The table is * ready for use.

*/ inline bool TableStatusHasBeenSet() const { return m_tableStatusHasBeenSet; } /** *

The current state of the table:

  • DELETING - The * table is being deleted.

  • ACTIVE - The table is * ready for use.

*/ inline void SetTableStatus(const TableStatus& value) { m_tableStatusHasBeenSet = true; m_tableStatus = value; } /** *

The current state of the table:

  • DELETING - The * table is being deleted.

  • ACTIVE - The table is * ready for use.

*/ inline void SetTableStatus(TableStatus&& value) { m_tableStatusHasBeenSet = true; m_tableStatus = std::move(value); } /** *

The current state of the table:

  • DELETING - The * table is being deleted.

  • ACTIVE - The table is * ready for use.

*/ inline Table& WithTableStatus(const TableStatus& value) { SetTableStatus(value); return *this;} /** *

The current state of the table:

  • DELETING - The * table is being deleted.

  • ACTIVE - The table is * ready for use.

*/ inline Table& WithTableStatus(TableStatus&& value) { SetTableStatus(std::move(value)); return *this;} /** *

The retention duration for the memory store and magnetic store.

*/ inline const RetentionProperties& GetRetentionProperties() const{ return m_retentionProperties; } /** *

The retention duration for the memory store and magnetic store.

*/ inline bool RetentionPropertiesHasBeenSet() const { return m_retentionPropertiesHasBeenSet; } /** *

The retention duration for the memory store and magnetic store.

*/ inline void SetRetentionProperties(const RetentionProperties& value) { m_retentionPropertiesHasBeenSet = true; m_retentionProperties = value; } /** *

The retention duration for the memory store and magnetic store.

*/ inline void SetRetentionProperties(RetentionProperties&& value) { m_retentionPropertiesHasBeenSet = true; m_retentionProperties = std::move(value); } /** *

The retention duration for the memory store and magnetic store.

*/ inline Table& WithRetentionProperties(const RetentionProperties& value) { SetRetentionProperties(value); return *this;} /** *

The retention duration for the memory store and magnetic store.

*/ inline Table& WithRetentionProperties(RetentionProperties&& value) { SetRetentionProperties(std::move(value)); return *this;} /** *

The time when the Timestream table was created.

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

The time when the Timestream table was created.

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

The time when the Timestream table was created.

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

The time when the Timestream table was created.

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

The time when the Timestream table was created.

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

The time when the Timestream table was created.

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

The time when the Timestream table was last updated.

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

The time when the Timestream table was last updated.

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

The time when the Timestream table was last updated.

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

The time when the Timestream table was last updated.

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

The time when the Timestream table was last updated.

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

The time when the Timestream table was last updated.

*/ inline Table& WithLastUpdatedTime(Aws::Utils::DateTime&& value) { SetLastUpdatedTime(std::move(value)); return *this;} /** *

Contains properties to set on the table when enabling magnetic store * writes.

*/ inline const MagneticStoreWriteProperties& GetMagneticStoreWriteProperties() const{ return m_magneticStoreWriteProperties; } /** *

Contains properties to set on the table when enabling magnetic store * writes.

*/ inline bool MagneticStoreWritePropertiesHasBeenSet() const { return m_magneticStoreWritePropertiesHasBeenSet; } /** *

Contains properties to set on the table when enabling magnetic store * writes.

*/ inline void SetMagneticStoreWriteProperties(const MagneticStoreWriteProperties& value) { m_magneticStoreWritePropertiesHasBeenSet = true; m_magneticStoreWriteProperties = value; } /** *

Contains properties to set on the table when enabling magnetic store * writes.

*/ inline void SetMagneticStoreWriteProperties(MagneticStoreWriteProperties&& value) { m_magneticStoreWritePropertiesHasBeenSet = true; m_magneticStoreWriteProperties = std::move(value); } /** *

Contains properties to set on the table when enabling magnetic store * writes.

*/ inline Table& WithMagneticStoreWriteProperties(const MagneticStoreWriteProperties& value) { SetMagneticStoreWriteProperties(value); return *this;} /** *

Contains properties to set on the table when enabling magnetic store * writes.

*/ inline Table& WithMagneticStoreWriteProperties(MagneticStoreWriteProperties&& value) { SetMagneticStoreWriteProperties(std::move(value)); return *this;} /** *

The schema of the table.

*/ inline const Schema& GetSchema() const{ return m_schema; } /** *

The schema of the table.

*/ inline bool SchemaHasBeenSet() const { return m_schemaHasBeenSet; } /** *

The schema of the table.

*/ inline void SetSchema(const Schema& value) { m_schemaHasBeenSet = true; m_schema = value; } /** *

The schema of the table.

*/ inline void SetSchema(Schema&& value) { m_schemaHasBeenSet = true; m_schema = std::move(value); } /** *

The schema of the table.

*/ inline Table& WithSchema(const Schema& value) { SetSchema(value); return *this;} /** *

The schema of the table.

*/ inline Table& WithSchema(Schema&& value) { SetSchema(std::move(value)); return *this;} private: Aws::String m_arn; bool m_arnHasBeenSet = false; Aws::String m_tableName; bool m_tableNameHasBeenSet = false; Aws::String m_databaseName; bool m_databaseNameHasBeenSet = false; TableStatus m_tableStatus; bool m_tableStatusHasBeenSet = false; RetentionProperties m_retentionProperties; bool m_retentionPropertiesHasBeenSet = false; Aws::Utils::DateTime m_creationTime; bool m_creationTimeHasBeenSet = false; Aws::Utils::DateTime m_lastUpdatedTime; bool m_lastUpdatedTimeHasBeenSet = false; MagneticStoreWriteProperties m_magneticStoreWriteProperties; bool m_magneticStoreWritePropertiesHasBeenSet = false; Schema m_schema; bool m_schemaHasBeenSet = false; }; } // namespace Model } // namespace TimestreamWrite } // namespace Aws