/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Configuration to write data into Timestream database and table. This
* configuration allows the user to map the query result select columns into the
* destination table columns. See Also:
AWS
* API Reference
Name of Timestream database to which the query result will be written.
*/ inline const Aws::String& GetDatabaseName() const{ return m_databaseName; } /** *Name of Timestream database to which the query result will be written.
*/ inline bool DatabaseNameHasBeenSet() const { return m_databaseNameHasBeenSet; } /** *Name of Timestream database to which the query result will be written.
*/ inline void SetDatabaseName(const Aws::String& value) { m_databaseNameHasBeenSet = true; m_databaseName = value; } /** *Name of Timestream database to which the query result will be written.
*/ inline void SetDatabaseName(Aws::String&& value) { m_databaseNameHasBeenSet = true; m_databaseName = std::move(value); } /** *Name of Timestream database to which the query result will be written.
*/ inline void SetDatabaseName(const char* value) { m_databaseNameHasBeenSet = true; m_databaseName.assign(value); } /** *Name of Timestream database to which the query result will be written.
*/ inline TimestreamConfiguration& WithDatabaseName(const Aws::String& value) { SetDatabaseName(value); return *this;} /** *Name of Timestream database to which the query result will be written.
*/ inline TimestreamConfiguration& WithDatabaseName(Aws::String&& value) { SetDatabaseName(std::move(value)); return *this;} /** *Name of Timestream database to which the query result will be written.
*/ inline TimestreamConfiguration& WithDatabaseName(const char* value) { SetDatabaseName(value); return *this;} /** *Name of Timestream table that the query result will be written to. The table * should be within the same database that is provided in Timestream * configuration.
*/ inline const Aws::String& GetTableName() const{ return m_tableName; } /** *Name of Timestream table that the query result will be written to. The table * should be within the same database that is provided in Timestream * configuration.
*/ inline bool TableNameHasBeenSet() const { return m_tableNameHasBeenSet; } /** *Name of Timestream table that the query result will be written to. The table * should be within the same database that is provided in Timestream * configuration.
*/ inline void SetTableName(const Aws::String& value) { m_tableNameHasBeenSet = true; m_tableName = value; } /** *Name of Timestream table that the query result will be written to. The table * should be within the same database that is provided in Timestream * configuration.
*/ inline void SetTableName(Aws::String&& value) { m_tableNameHasBeenSet = true; m_tableName = std::move(value); } /** *Name of Timestream table that the query result will be written to. The table * should be within the same database that is provided in Timestream * configuration.
*/ inline void SetTableName(const char* value) { m_tableNameHasBeenSet = true; m_tableName.assign(value); } /** *Name of Timestream table that the query result will be written to. The table * should be within the same database that is provided in Timestream * configuration.
*/ inline TimestreamConfiguration& WithTableName(const Aws::String& value) { SetTableName(value); return *this;} /** *Name of Timestream table that the query result will be written to. The table * should be within the same database that is provided in Timestream * configuration.
*/ inline TimestreamConfiguration& WithTableName(Aws::String&& value) { SetTableName(std::move(value)); return *this;} /** *Name of Timestream table that the query result will be written to. The table * should be within the same database that is provided in Timestream * configuration.
*/ inline TimestreamConfiguration& WithTableName(const char* value) { SetTableName(value); return *this;} /** *Column from query result that should be used as the time column in * destination table. Column type for this should be TIMESTAMP.
*/ inline const Aws::String& GetTimeColumn() const{ return m_timeColumn; } /** *Column from query result that should be used as the time column in * destination table. Column type for this should be TIMESTAMP.
*/ inline bool TimeColumnHasBeenSet() const { return m_timeColumnHasBeenSet; } /** *Column from query result that should be used as the time column in * destination table. Column type for this should be TIMESTAMP.
*/ inline void SetTimeColumn(const Aws::String& value) { m_timeColumnHasBeenSet = true; m_timeColumn = value; } /** *Column from query result that should be used as the time column in * destination table. Column type for this should be TIMESTAMP.
*/ inline void SetTimeColumn(Aws::String&& value) { m_timeColumnHasBeenSet = true; m_timeColumn = std::move(value); } /** *Column from query result that should be used as the time column in * destination table. Column type for this should be TIMESTAMP.
*/ inline void SetTimeColumn(const char* value) { m_timeColumnHasBeenSet = true; m_timeColumn.assign(value); } /** *Column from query result that should be used as the time column in * destination table. Column type for this should be TIMESTAMP.
*/ inline TimestreamConfiguration& WithTimeColumn(const Aws::String& value) { SetTimeColumn(value); return *this;} /** *Column from query result that should be used as the time column in * destination table. Column type for this should be TIMESTAMP.
*/ inline TimestreamConfiguration& WithTimeColumn(Aws::String&& value) { SetTimeColumn(std::move(value)); return *this;} /** *Column from query result that should be used as the time column in * destination table. Column type for this should be TIMESTAMP.
*/ inline TimestreamConfiguration& WithTimeColumn(const char* value) { SetTimeColumn(value); return *this;} /** *This is to allow mapping column(s) from the query result to the dimension in * the destination table.
*/ inline const Aws::VectorThis is to allow mapping column(s) from the query result to the dimension in * the destination table.
*/ inline bool DimensionMappingsHasBeenSet() const { return m_dimensionMappingsHasBeenSet; } /** *This is to allow mapping column(s) from the query result to the dimension in * the destination table.
*/ inline void SetDimensionMappings(const Aws::VectorThis is to allow mapping column(s) from the query result to the dimension in * the destination table.
*/ inline void SetDimensionMappings(Aws::VectorThis is to allow mapping column(s) from the query result to the dimension in * the destination table.
*/ inline TimestreamConfiguration& WithDimensionMappings(const Aws::VectorThis is to allow mapping column(s) from the query result to the dimension in * the destination table.
*/ inline TimestreamConfiguration& WithDimensionMappings(Aws::VectorThis is to allow mapping column(s) from the query result to the dimension in * the destination table.
*/ inline TimestreamConfiguration& AddDimensionMappings(const DimensionMapping& value) { m_dimensionMappingsHasBeenSet = true; m_dimensionMappings.push_back(value); return *this; } /** *This is to allow mapping column(s) from the query result to the dimension in * the destination table.
*/ inline TimestreamConfiguration& AddDimensionMappings(DimensionMapping&& value) { m_dimensionMappingsHasBeenSet = true; m_dimensionMappings.push_back(std::move(value)); return *this; } /** *Multi-measure mappings.
*/ inline const MultiMeasureMappings& GetMultiMeasureMappings() const{ return m_multiMeasureMappings; } /** *Multi-measure mappings.
*/ inline bool MultiMeasureMappingsHasBeenSet() const { return m_multiMeasureMappingsHasBeenSet; } /** *Multi-measure mappings.
*/ inline void SetMultiMeasureMappings(const MultiMeasureMappings& value) { m_multiMeasureMappingsHasBeenSet = true; m_multiMeasureMappings = value; } /** *Multi-measure mappings.
*/ inline void SetMultiMeasureMappings(MultiMeasureMappings&& value) { m_multiMeasureMappingsHasBeenSet = true; m_multiMeasureMappings = std::move(value); } /** *Multi-measure mappings.
*/ inline TimestreamConfiguration& WithMultiMeasureMappings(const MultiMeasureMappings& value) { SetMultiMeasureMappings(value); return *this;} /** *Multi-measure mappings.
*/ inline TimestreamConfiguration& WithMultiMeasureMappings(MultiMeasureMappings&& value) { SetMultiMeasureMappings(std::move(value)); return *this;} /** *Specifies how to map measures to multi-measure records.
*/ inline const Aws::VectorSpecifies how to map measures to multi-measure records.
*/ inline bool MixedMeasureMappingsHasBeenSet() const { return m_mixedMeasureMappingsHasBeenSet; } /** *Specifies how to map measures to multi-measure records.
*/ inline void SetMixedMeasureMappings(const Aws::VectorSpecifies how to map measures to multi-measure records.
*/ inline void SetMixedMeasureMappings(Aws::VectorSpecifies how to map measures to multi-measure records.
*/ inline TimestreamConfiguration& WithMixedMeasureMappings(const Aws::VectorSpecifies how to map measures to multi-measure records.
*/ inline TimestreamConfiguration& WithMixedMeasureMappings(Aws::VectorSpecifies how to map measures to multi-measure records.
*/ inline TimestreamConfiguration& AddMixedMeasureMappings(const MixedMeasureMapping& value) { m_mixedMeasureMappingsHasBeenSet = true; m_mixedMeasureMappings.push_back(value); return *this; } /** *Specifies how to map measures to multi-measure records.
*/ inline TimestreamConfiguration& AddMixedMeasureMappings(MixedMeasureMapping&& value) { m_mixedMeasureMappingsHasBeenSet = true; m_mixedMeasureMappings.push_back(std::move(value)); return *this; } /** *Name of the measure column.
*/ inline const Aws::String& GetMeasureNameColumn() const{ return m_measureNameColumn; } /** *Name of the measure column.
*/ inline bool MeasureNameColumnHasBeenSet() const { return m_measureNameColumnHasBeenSet; } /** *Name of the measure column.
*/ inline void SetMeasureNameColumn(const Aws::String& value) { m_measureNameColumnHasBeenSet = true; m_measureNameColumn = value; } /** *Name of the measure column.
*/ inline void SetMeasureNameColumn(Aws::String&& value) { m_measureNameColumnHasBeenSet = true; m_measureNameColumn = std::move(value); } /** *Name of the measure column.
*/ inline void SetMeasureNameColumn(const char* value) { m_measureNameColumnHasBeenSet = true; m_measureNameColumn.assign(value); } /** *Name of the measure column.
*/ inline TimestreamConfiguration& WithMeasureNameColumn(const Aws::String& value) { SetMeasureNameColumn(value); return *this;} /** *Name of the measure column.
*/ inline TimestreamConfiguration& WithMeasureNameColumn(Aws::String&& value) { SetMeasureNameColumn(std::move(value)); return *this;} /** *Name of the measure column.
*/ inline TimestreamConfiguration& WithMeasureNameColumn(const char* value) { SetMeasureNameColumn(value); return *this;} private: Aws::String m_databaseName; bool m_databaseNameHasBeenSet = false; Aws::String m_tableName; bool m_tableNameHasBeenSet = false; Aws::String m_timeColumn; bool m_timeColumnHasBeenSet = false; Aws::Vector