/** * 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 { /** *

Data model for a batch load task.

See Also:

AWS * API Reference

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

Source column to be mapped to time.

*/ inline const Aws::String& GetTimeColumn() const{ return m_timeColumn; } /** *

Source column to be mapped to time.

*/ inline bool TimeColumnHasBeenSet() const { return m_timeColumnHasBeenSet; } /** *

Source column to be mapped to time.

*/ inline void SetTimeColumn(const Aws::String& value) { m_timeColumnHasBeenSet = true; m_timeColumn = value; } /** *

Source column to be mapped to time.

*/ inline void SetTimeColumn(Aws::String&& value) { m_timeColumnHasBeenSet = true; m_timeColumn = std::move(value); } /** *

Source column to be mapped to time.

*/ inline void SetTimeColumn(const char* value) { m_timeColumnHasBeenSet = true; m_timeColumn.assign(value); } /** *

Source column to be mapped to time.

*/ inline DataModel& WithTimeColumn(const Aws::String& value) { SetTimeColumn(value); return *this;} /** *

Source column to be mapped to time.

*/ inline DataModel& WithTimeColumn(Aws::String&& value) { SetTimeColumn(std::move(value)); return *this;} /** *

Source column to be mapped to time.

*/ inline DataModel& WithTimeColumn(const char* value) { SetTimeColumn(value); return *this;} /** *

The granularity of the timestamp unit. It indicates if the time value is in * seconds, milliseconds, nanoseconds, or other supported values. Default is * MILLISECONDS.

*/ inline const TimeUnit& GetTimeUnit() const{ return m_timeUnit; } /** *

The granularity of the timestamp unit. It indicates if the time value is in * seconds, milliseconds, nanoseconds, or other supported values. Default is * MILLISECONDS.

*/ inline bool TimeUnitHasBeenSet() const { return m_timeUnitHasBeenSet; } /** *

The granularity of the timestamp unit. It indicates if the time value is in * seconds, milliseconds, nanoseconds, or other supported values. Default is * MILLISECONDS.

*/ inline void SetTimeUnit(const TimeUnit& value) { m_timeUnitHasBeenSet = true; m_timeUnit = value; } /** *

The granularity of the timestamp unit. It indicates if the time value is in * seconds, milliseconds, nanoseconds, or other supported values. Default is * MILLISECONDS.

*/ inline void SetTimeUnit(TimeUnit&& value) { m_timeUnitHasBeenSet = true; m_timeUnit = std::move(value); } /** *

The granularity of the timestamp unit. It indicates if the time value is in * seconds, milliseconds, nanoseconds, or other supported values. Default is * MILLISECONDS.

*/ inline DataModel& WithTimeUnit(const TimeUnit& value) { SetTimeUnit(value); return *this;} /** *

The granularity of the timestamp unit. It indicates if the time value is in * seconds, milliseconds, nanoseconds, or other supported values. Default is * MILLISECONDS.

*/ inline DataModel& WithTimeUnit(TimeUnit&& value) { SetTimeUnit(std::move(value)); return *this;} /** *

Source to target mappings for dimensions.

*/ inline const Aws::Vector& GetDimensionMappings() const{ return m_dimensionMappings; } /** *

Source to target mappings for dimensions.

*/ inline bool DimensionMappingsHasBeenSet() const { return m_dimensionMappingsHasBeenSet; } /** *

Source to target mappings for dimensions.

*/ inline void SetDimensionMappings(const Aws::Vector& value) { m_dimensionMappingsHasBeenSet = true; m_dimensionMappings = value; } /** *

Source to target mappings for dimensions.

*/ inline void SetDimensionMappings(Aws::Vector&& value) { m_dimensionMappingsHasBeenSet = true; m_dimensionMappings = std::move(value); } /** *

Source to target mappings for dimensions.

*/ inline DataModel& WithDimensionMappings(const Aws::Vector& value) { SetDimensionMappings(value); return *this;} /** *

Source to target mappings for dimensions.

*/ inline DataModel& WithDimensionMappings(Aws::Vector&& value) { SetDimensionMappings(std::move(value)); return *this;} /** *

Source to target mappings for dimensions.

*/ inline DataModel& AddDimensionMappings(const DimensionMapping& value) { m_dimensionMappingsHasBeenSet = true; m_dimensionMappings.push_back(value); return *this; } /** *

Source to target mappings for dimensions.

*/ inline DataModel& AddDimensionMappings(DimensionMapping&& value) { m_dimensionMappingsHasBeenSet = true; m_dimensionMappings.push_back(std::move(value)); return *this; } /** *

Source to target mappings for multi-measure records.

*/ inline const MultiMeasureMappings& GetMultiMeasureMappings() const{ return m_multiMeasureMappings; } /** *

Source to target mappings for multi-measure records.

*/ inline bool MultiMeasureMappingsHasBeenSet() const { return m_multiMeasureMappingsHasBeenSet; } /** *

Source to target mappings for multi-measure records.

*/ inline void SetMultiMeasureMappings(const MultiMeasureMappings& value) { m_multiMeasureMappingsHasBeenSet = true; m_multiMeasureMappings = value; } /** *

Source to target mappings for multi-measure records.

*/ inline void SetMultiMeasureMappings(MultiMeasureMappings&& value) { m_multiMeasureMappingsHasBeenSet = true; m_multiMeasureMappings = std::move(value); } /** *

Source to target mappings for multi-measure records.

*/ inline DataModel& WithMultiMeasureMappings(const MultiMeasureMappings& value) { SetMultiMeasureMappings(value); return *this;} /** *

Source to target mappings for multi-measure records.

*/ inline DataModel& WithMultiMeasureMappings(MultiMeasureMappings&& value) { SetMultiMeasureMappings(std::move(value)); return *this;} /** *

Source to target mappings for measures.

*/ inline const Aws::Vector& GetMixedMeasureMappings() const{ return m_mixedMeasureMappings; } /** *

Source to target mappings for measures.

*/ inline bool MixedMeasureMappingsHasBeenSet() const { return m_mixedMeasureMappingsHasBeenSet; } /** *

Source to target mappings for measures.

*/ inline void SetMixedMeasureMappings(const Aws::Vector& value) { m_mixedMeasureMappingsHasBeenSet = true; m_mixedMeasureMappings = value; } /** *

Source to target mappings for measures.

*/ inline void SetMixedMeasureMappings(Aws::Vector&& value) { m_mixedMeasureMappingsHasBeenSet = true; m_mixedMeasureMappings = std::move(value); } /** *

Source to target mappings for measures.

*/ inline DataModel& WithMixedMeasureMappings(const Aws::Vector& value) { SetMixedMeasureMappings(value); return *this;} /** *

Source to target mappings for measures.

*/ inline DataModel& WithMixedMeasureMappings(Aws::Vector&& value) { SetMixedMeasureMappings(std::move(value)); return *this;} /** *

Source to target mappings for measures.

*/ inline DataModel& AddMixedMeasureMappings(const MixedMeasureMapping& value) { m_mixedMeasureMappingsHasBeenSet = true; m_mixedMeasureMappings.push_back(value); return *this; } /** *

Source to target mappings for measures.

*/ inline DataModel& AddMixedMeasureMappings(MixedMeasureMapping&& value) { m_mixedMeasureMappingsHasBeenSet = true; m_mixedMeasureMappings.push_back(std::move(value)); return *this; } /** *

*/ inline const Aws::String& GetMeasureNameColumn() const{ return m_measureNameColumn; } /** *

*/ inline bool MeasureNameColumnHasBeenSet() const { return m_measureNameColumnHasBeenSet; } /** *

*/ inline void SetMeasureNameColumn(const Aws::String& value) { m_measureNameColumnHasBeenSet = true; m_measureNameColumn = value; } /** *

*/ inline void SetMeasureNameColumn(Aws::String&& value) { m_measureNameColumnHasBeenSet = true; m_measureNameColumn = std::move(value); } /** *

*/ inline void SetMeasureNameColumn(const char* value) { m_measureNameColumnHasBeenSet = true; m_measureNameColumn.assign(value); } /** *

*/ inline DataModel& WithMeasureNameColumn(const Aws::String& value) { SetMeasureNameColumn(value); return *this;} /** *

*/ inline DataModel& WithMeasureNameColumn(Aws::String&& value) { SetMeasureNameColumn(std::move(value)); return *this;} /** *

*/ inline DataModel& WithMeasureNameColumn(const char* value) { SetMeasureNameColumn(value); return *this;} private: Aws::String m_timeColumn; bool m_timeColumnHasBeenSet = false; TimeUnit m_timeUnit; bool m_timeUnitHasBeenSet = false; Aws::Vector m_dimensionMappings; bool m_dimensionMappingsHasBeenSet = false; MultiMeasureMappings m_multiMeasureMappings; bool m_multiMeasureMappingsHasBeenSet = false; Aws::Vector m_mixedMeasureMappings; bool m_mixedMeasureMappingsHasBeenSet = false; Aws::String m_measureNameColumn; bool m_measureNameColumnHasBeenSet = false; }; } // namespace Model } // namespace TimestreamWrite } // namespace Aws