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

The dimension of a metric.

See Also:

AWS * API Reference

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

A unique identifier for the dimension.

*/ inline const Aws::String& GetDimensionName() const{ return m_dimensionName; } /** *

A unique identifier for the dimension.

*/ inline bool DimensionNameHasBeenSet() const { return m_dimensionNameHasBeenSet; } /** *

A unique identifier for the dimension.

*/ inline void SetDimensionName(const Aws::String& value) { m_dimensionNameHasBeenSet = true; m_dimensionName = value; } /** *

A unique identifier for the dimension.

*/ inline void SetDimensionName(Aws::String&& value) { m_dimensionNameHasBeenSet = true; m_dimensionName = std::move(value); } /** *

A unique identifier for the dimension.

*/ inline void SetDimensionName(const char* value) { m_dimensionNameHasBeenSet = true; m_dimensionName.assign(value); } /** *

A unique identifier for the dimension.

*/ inline MetricDimension& WithDimensionName(const Aws::String& value) { SetDimensionName(value); return *this;} /** *

A unique identifier for the dimension.

*/ inline MetricDimension& WithDimensionName(Aws::String&& value) { SetDimensionName(std::move(value)); return *this;} /** *

A unique identifier for the dimension.

*/ inline MetricDimension& WithDimensionName(const char* value) { SetDimensionName(value); return *this;} /** *

Defines how the dimensionValues of a dimension are interpreted. * For example, for dimension type TOPIC_FILTER, the IN operator, a * message will be counted only if its topic matches one of the topic filters. With * NOT_IN operator, a message will be counted only if it doesn't match * any of the topic filters. The operator is optional: if it's not provided (is * null), it will be interpreted as IN.

*/ inline const DimensionValueOperator& GetOperator() const{ return m_operator; } /** *

Defines how the dimensionValues of a dimension are interpreted. * For example, for dimension type TOPIC_FILTER, the IN operator, a * message will be counted only if its topic matches one of the topic filters. With * NOT_IN operator, a message will be counted only if it doesn't match * any of the topic filters. The operator is optional: if it's not provided (is * null), it will be interpreted as IN.

*/ inline bool OperatorHasBeenSet() const { return m_operatorHasBeenSet; } /** *

Defines how the dimensionValues of a dimension are interpreted. * For example, for dimension type TOPIC_FILTER, the IN operator, a * message will be counted only if its topic matches one of the topic filters. With * NOT_IN operator, a message will be counted only if it doesn't match * any of the topic filters. The operator is optional: if it's not provided (is * null), it will be interpreted as IN.

*/ inline void SetOperator(const DimensionValueOperator& value) { m_operatorHasBeenSet = true; m_operator = value; } /** *

Defines how the dimensionValues of a dimension are interpreted. * For example, for dimension type TOPIC_FILTER, the IN operator, a * message will be counted only if its topic matches one of the topic filters. With * NOT_IN operator, a message will be counted only if it doesn't match * any of the topic filters. The operator is optional: if it's not provided (is * null), it will be interpreted as IN.

*/ inline void SetOperator(DimensionValueOperator&& value) { m_operatorHasBeenSet = true; m_operator = std::move(value); } /** *

Defines how the dimensionValues of a dimension are interpreted. * For example, for dimension type TOPIC_FILTER, the IN operator, a * message will be counted only if its topic matches one of the topic filters. With * NOT_IN operator, a message will be counted only if it doesn't match * any of the topic filters. The operator is optional: if it's not provided (is * null), it will be interpreted as IN.

*/ inline MetricDimension& WithOperator(const DimensionValueOperator& value) { SetOperator(value); return *this;} /** *

Defines how the dimensionValues of a dimension are interpreted. * For example, for dimension type TOPIC_FILTER, the IN operator, a * message will be counted only if its topic matches one of the topic filters. With * NOT_IN operator, a message will be counted only if it doesn't match * any of the topic filters. The operator is optional: if it's not provided (is * null), it will be interpreted as IN.

*/ inline MetricDimension& WithOperator(DimensionValueOperator&& value) { SetOperator(std::move(value)); return *this;} private: Aws::String m_dimensionName; bool m_dimensionNameHasBeenSet = false; DimensionValueOperator m_operator; bool m_operatorHasBeenSet = false; }; } // namespace Model } // namespace IoT } // namespace Aws