/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include 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
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::VectorRequired 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::VectorRequired when measureValueType is MULTI. Attribute mappings for MULTI value * measures.
*/ inline void SetMultiMeasureAttributeMappings(Aws::VectorRequired when measureValueType is MULTI. Attribute mappings for MULTI value * measures.
*/ inline MixedMeasureMapping& WithMultiMeasureAttributeMappings(const Aws::VectorRequired when measureValueType is MULTI. Attribute mappings for MULTI value * measures.
*/ inline MixedMeasureMapping& WithMultiMeasureAttributeMappings(Aws::VectorRequired 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