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

MixedMeasureMappings are mappings that can be used to ingest data into a * mixture of narrow and multi measures in the derived table.

See * Also:

AWS * API Reference

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

Refers to the value of measure_name in a result row. This field is required * if MeasureNameColumn is provided.

*/ inline const Aws::String& GetMeasureName() const{ return m_measureName; } /** *

Refers to the value of measure_name in a result row. This field is required * if MeasureNameColumn is provided.

*/ inline bool MeasureNameHasBeenSet() const { return m_measureNameHasBeenSet; } /** *

Refers to the value of measure_name in a result row. This field is required * if MeasureNameColumn is provided.

*/ inline void SetMeasureName(const Aws::String& value) { m_measureNameHasBeenSet = true; m_measureName = value; } /** *

Refers to the value of measure_name in a result row. This field is required * if MeasureNameColumn is provided.

*/ inline void SetMeasureName(Aws::String&& value) { m_measureNameHasBeenSet = true; m_measureName = std::move(value); } /** *

Refers to the value of measure_name in a result row. This field is required * if MeasureNameColumn is provided.

*/ inline void SetMeasureName(const char* value) { m_measureNameHasBeenSet = true; m_measureName.assign(value); } /** *

Refers to the value of measure_name in a result row. This field is required * if MeasureNameColumn is provided.

*/ inline MixedMeasureMapping& WithMeasureName(const Aws::String& value) { SetMeasureName(value); return *this;} /** *

Refers to the value of measure_name in a result row. This field is required * if MeasureNameColumn is provided.

*/ inline MixedMeasureMapping& WithMeasureName(Aws::String&& value) { SetMeasureName(std::move(value)); return *this;} /** *

Refers to the value of measure_name in a result row. This field is required * if MeasureNameColumn is provided.

*/ inline MixedMeasureMapping& WithMeasureName(const char* value) { SetMeasureName(value); return *this;} /** *

This field refers to the source column from which measure-value is to be read * for result materialization.

*/ inline const Aws::String& GetSourceColumn() const{ return m_sourceColumn; } /** *

This field refers to the source column from which measure-value is to be read * for result materialization.

*/ inline bool SourceColumnHasBeenSet() const { return m_sourceColumnHasBeenSet; } /** *

This field refers to the source column from which measure-value is to be read * for result materialization.

*/ inline void SetSourceColumn(const Aws::String& value) { m_sourceColumnHasBeenSet = true; m_sourceColumn = value; } /** *

This field refers to the source column from which measure-value is to be read * for result materialization.

*/ inline void SetSourceColumn(Aws::String&& value) { m_sourceColumnHasBeenSet = true; m_sourceColumn = std::move(value); } /** *

This field refers to the source column from which measure-value is to be read * for result materialization.

*/ inline void SetSourceColumn(const char* value) { m_sourceColumnHasBeenSet = true; m_sourceColumn.assign(value); } /** *

This field refers to the source column from which measure-value is to be read * for result materialization.

*/ inline MixedMeasureMapping& WithSourceColumn(const Aws::String& value) { SetSourceColumn(value); return *this;} /** *

This field refers to the source column from which measure-value is to be read * for result materialization.

*/ inline MixedMeasureMapping& WithSourceColumn(Aws::String&& value) { SetSourceColumn(std::move(value)); return *this;} /** *

This field refers to the source column from which measure-value is to be read * for result materialization.

*/ inline MixedMeasureMapping& WithSourceColumn(const char* value) { SetSourceColumn(value); return *this;} /** *

Target measure name to be used. If not provided, the target measure name by * default would be measure-name if provided, or sourceColumn otherwise.

*/ inline const Aws::String& GetTargetMeasureName() const{ return m_targetMeasureName; } /** *

Target measure name to be used. If not provided, the target measure name by * default would be measure-name if provided, or sourceColumn otherwise.

*/ inline bool TargetMeasureNameHasBeenSet() const { return m_targetMeasureNameHasBeenSet; } /** *

Target measure name to be used. If not provided, the target measure name by * default would be measure-name if provided, or sourceColumn otherwise.

*/ inline void SetTargetMeasureName(const Aws::String& value) { m_targetMeasureNameHasBeenSet = true; m_targetMeasureName = value; } /** *

Target measure name to be used. If not provided, the target measure name by * default would be measure-name if provided, or sourceColumn otherwise.

*/ inline void SetTargetMeasureName(Aws::String&& value) { m_targetMeasureNameHasBeenSet = true; m_targetMeasureName = std::move(value); } /** *

Target measure name to be used. If not provided, the target measure name by * default would be measure-name if provided, or sourceColumn otherwise.

*/ inline void SetTargetMeasureName(const char* value) { m_targetMeasureNameHasBeenSet = true; m_targetMeasureName.assign(value); } /** *

Target measure name to be used. If not provided, the target measure name by * default would be measure-name if provided, or sourceColumn otherwise.

*/ inline MixedMeasureMapping& WithTargetMeasureName(const Aws::String& value) { SetTargetMeasureName(value); return *this;} /** *

Target measure name to be used. If not provided, the target measure name by * default would be measure-name if provided, or sourceColumn otherwise.

*/ inline MixedMeasureMapping& WithTargetMeasureName(Aws::String&& value) { SetTargetMeasureName(std::move(value)); return *this;} /** *

Target measure name to be used. If not provided, the target measure name by * default would be measure-name if provided, or sourceColumn otherwise.

*/ inline MixedMeasureMapping& WithTargetMeasureName(const char* value) { SetTargetMeasureName(value); return *this;} /** *

Type of the value that is to be read from sourceColumn. If the mapping is for * MULTI, use MeasureValueType.MULTI.

*/ inline const MeasureValueType& GetMeasureValueType() const{ return m_measureValueType; } /** *

Type of the value that is to be read from sourceColumn. If the mapping is for * MULTI, use MeasureValueType.MULTI.

*/ inline bool MeasureValueTypeHasBeenSet() const { return m_measureValueTypeHasBeenSet; } /** *

Type of the value that is to be read from sourceColumn. If the mapping is for * MULTI, use MeasureValueType.MULTI.

*/ inline void SetMeasureValueType(const MeasureValueType& value) { m_measureValueTypeHasBeenSet = true; m_measureValueType = value; } /** *

Type of the value that is to be read from sourceColumn. If the mapping is for * MULTI, use MeasureValueType.MULTI.

*/ inline void SetMeasureValueType(MeasureValueType&& value) { m_measureValueTypeHasBeenSet = true; m_measureValueType = std::move(value); } /** *

Type of the value that is to be read from sourceColumn. If the mapping is for * MULTI, use MeasureValueType.MULTI.

*/ inline MixedMeasureMapping& WithMeasureValueType(const MeasureValueType& value) { SetMeasureValueType(value); return *this;} /** *

Type of the value that is to be read from sourceColumn. If the mapping is for * MULTI, use MeasureValueType.MULTI.

*/ inline MixedMeasureMapping& WithMeasureValueType(MeasureValueType&& value) { SetMeasureValueType(std::move(value)); return *this;} /** *

Required when measureValueType is MULTI. Attribute mappings for MULTI value * measures.

*/ inline const Aws::Vector& GetMultiMeasureAttributeMappings() const{ return m_multiMeasureAttributeMappings; } /** *

Required when measureValueType is MULTI. Attribute mappings for MULTI value * measures.

*/ inline bool MultiMeasureAttributeMappingsHasBeenSet() const { return m_multiMeasureAttributeMappingsHasBeenSet; } /** *

Required when measureValueType is MULTI. Attribute mappings for MULTI value * measures.

*/ inline void SetMultiMeasureAttributeMappings(const Aws::Vector& value) { m_multiMeasureAttributeMappingsHasBeenSet = true; m_multiMeasureAttributeMappings = value; } /** *

Required when measureValueType is MULTI. Attribute mappings for MULTI value * measures.

*/ inline void SetMultiMeasureAttributeMappings(Aws::Vector&& value) { m_multiMeasureAttributeMappingsHasBeenSet = true; m_multiMeasureAttributeMappings = std::move(value); } /** *

Required when measureValueType is MULTI. Attribute mappings for MULTI value * measures.

*/ inline MixedMeasureMapping& WithMultiMeasureAttributeMappings(const Aws::Vector& value) { SetMultiMeasureAttributeMappings(value); return *this;} /** *

Required when measureValueType is MULTI. Attribute mappings for MULTI value * measures.

*/ inline MixedMeasureMapping& WithMultiMeasureAttributeMappings(Aws::Vector&& value) { SetMultiMeasureAttributeMappings(std::move(value)); return *this;} /** *

Required when measureValueType is MULTI. Attribute mappings for MULTI value * measures.

*/ inline MixedMeasureMapping& AddMultiMeasureAttributeMappings(const MultiMeasureAttributeMapping& value) { m_multiMeasureAttributeMappingsHasBeenSet = true; m_multiMeasureAttributeMappings.push_back(value); return *this; } /** *

Required when measureValueType is MULTI. Attribute mappings for MULTI value * measures.

*/ inline MixedMeasureMapping& AddMultiMeasureAttributeMappings(MultiMeasureAttributeMapping&& value) { m_multiMeasureAttributeMappingsHasBeenSet = true; m_multiMeasureAttributeMappings.push_back(std::move(value)); return *this; } private: Aws::String m_measureName; bool m_measureNameHasBeenSet = false; Aws::String m_sourceColumn; bool m_sourceColumnHasBeenSet = false; Aws::String m_targetMeasureName; bool m_targetMeasureNameHasBeenSet = false; MeasureValueType m_measureValueType; bool m_measureValueTypeHasBeenSet = false; Aws::Vector m_multiMeasureAttributeMappings; bool m_multiMeasureAttributeMappingsHasBeenSet = false; }; } // namespace Model } // namespace TimestreamQuery } // namespace Aws