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

Only one of MixedMeasureMappings or MultiMeasureMappings is to be provided. * MultiMeasureMappings can be used to ingest data as multi measures in the derived * table.

See Also:

AWS * API Reference

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

The name of the target multi-measure name in the derived table. This input is * required when measureNameColumn is not provided. If MeasureNameColumn is * provided, then value from that column will be used as multi-measure name.

*/ inline const Aws::String& GetTargetMultiMeasureName() const{ return m_targetMultiMeasureName; } /** *

The name of the target multi-measure name in the derived table. This input is * required when measureNameColumn is not provided. If MeasureNameColumn is * provided, then value from that column will be used as multi-measure name.

*/ inline bool TargetMultiMeasureNameHasBeenSet() const { return m_targetMultiMeasureNameHasBeenSet; } /** *

The name of the target multi-measure name in the derived table. This input is * required when measureNameColumn is not provided. If MeasureNameColumn is * provided, then value from that column will be used as multi-measure name.

*/ inline void SetTargetMultiMeasureName(const Aws::String& value) { m_targetMultiMeasureNameHasBeenSet = true; m_targetMultiMeasureName = value; } /** *

The name of the target multi-measure name in the derived table. This input is * required when measureNameColumn is not provided. If MeasureNameColumn is * provided, then value from that column will be used as multi-measure name.

*/ inline void SetTargetMultiMeasureName(Aws::String&& value) { m_targetMultiMeasureNameHasBeenSet = true; m_targetMultiMeasureName = std::move(value); } /** *

The name of the target multi-measure name in the derived table. This input is * required when measureNameColumn is not provided. If MeasureNameColumn is * provided, then value from that column will be used as multi-measure name.

*/ inline void SetTargetMultiMeasureName(const char* value) { m_targetMultiMeasureNameHasBeenSet = true; m_targetMultiMeasureName.assign(value); } /** *

The name of the target multi-measure name in the derived table. This input is * required when measureNameColumn is not provided. If MeasureNameColumn is * provided, then value from that column will be used as multi-measure name.

*/ inline MultiMeasureMappings& WithTargetMultiMeasureName(const Aws::String& value) { SetTargetMultiMeasureName(value); return *this;} /** *

The name of the target multi-measure name in the derived table. This input is * required when measureNameColumn is not provided. If MeasureNameColumn is * provided, then value from that column will be used as multi-measure name.

*/ inline MultiMeasureMappings& WithTargetMultiMeasureName(Aws::String&& value) { SetTargetMultiMeasureName(std::move(value)); return *this;} /** *

The name of the target multi-measure name in the derived table. This input is * required when measureNameColumn is not provided. If MeasureNameColumn is * provided, then value from that column will be used as multi-measure name.

*/ inline MultiMeasureMappings& WithTargetMultiMeasureName(const char* value) { SetTargetMultiMeasureName(value); return *this;} /** *

Required. Attribute mappings to be used for mapping query results to ingest * data for multi-measure attributes.

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

Required. Attribute mappings to be used for mapping query results to ingest * data for multi-measure attributes.

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

Required. Attribute mappings to be used for mapping query results to ingest * data for multi-measure attributes.

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

Required. Attribute mappings to be used for mapping query results to ingest * data for multi-measure attributes.

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

Required. Attribute mappings to be used for mapping query results to ingest * data for multi-measure attributes.

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

Required. Attribute mappings to be used for mapping query results to ingest * data for multi-measure attributes.

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

Required. Attribute mappings to be used for mapping query results to ingest * data for multi-measure attributes.

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

Required. Attribute mappings to be used for mapping query results to ingest * data for multi-measure attributes.

*/ inline MultiMeasureMappings& AddMultiMeasureAttributeMappings(MultiMeasureAttributeMapping&& value) { m_multiMeasureAttributeMappingsHasBeenSet = true; m_multiMeasureAttributeMappings.push_back(std::move(value)); return *this; } private: Aws::String m_targetMultiMeasureName; bool m_targetMultiMeasureNameHasBeenSet = false; Aws::Vector m_multiMeasureAttributeMappings; bool m_multiMeasureAttributeMappingsHasBeenSet = false; }; } // namespace Model } // namespace TimestreamQuery } // namespace Aws