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

An object that specifies whether cloud metrics are collected in a deployment * and, if so, what role is used to collect metrics.

See Also:

AWS * API Reference

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

A Boolean that specifies whether cloud metrics are collected.

*/ inline bool GetCloudMetricEnabled() const{ return m_cloudMetricEnabled; } /** *

A Boolean that specifies whether cloud metrics are collected.

*/ inline bool CloudMetricEnabledHasBeenSet() const { return m_cloudMetricEnabledHasBeenSet; } /** *

A Boolean that specifies whether cloud metrics are collected.

*/ inline void SetCloudMetricEnabled(bool value) { m_cloudMetricEnabledHasBeenSet = true; m_cloudMetricEnabled = value; } /** *

A Boolean that specifies whether cloud metrics are collected.

*/ inline MetricsConfiguration& WithCloudMetricEnabled(bool value) { SetCloudMetricEnabled(value); return *this;} /** *

The ARN of the role that is used to collect cloud metrics.

*/ inline const Aws::String& GetMetricRuleRoleArn() const{ return m_metricRuleRoleArn; } /** *

The ARN of the role that is used to collect cloud metrics.

*/ inline bool MetricRuleRoleArnHasBeenSet() const { return m_metricRuleRoleArnHasBeenSet; } /** *

The ARN of the role that is used to collect cloud metrics.

*/ inline void SetMetricRuleRoleArn(const Aws::String& value) { m_metricRuleRoleArnHasBeenSet = true; m_metricRuleRoleArn = value; } /** *

The ARN of the role that is used to collect cloud metrics.

*/ inline void SetMetricRuleRoleArn(Aws::String&& value) { m_metricRuleRoleArnHasBeenSet = true; m_metricRuleRoleArn = std::move(value); } /** *

The ARN of the role that is used to collect cloud metrics.

*/ inline void SetMetricRuleRoleArn(const char* value) { m_metricRuleRoleArnHasBeenSet = true; m_metricRuleRoleArn.assign(value); } /** *

The ARN of the role that is used to collect cloud metrics.

*/ inline MetricsConfiguration& WithMetricRuleRoleArn(const Aws::String& value) { SetMetricRuleRoleArn(value); return *this;} /** *

The ARN of the role that is used to collect cloud metrics.

*/ inline MetricsConfiguration& WithMetricRuleRoleArn(Aws::String&& value) { SetMetricRuleRoleArn(std::move(value)); return *this;} /** *

The ARN of the role that is used to collect cloud metrics.

*/ inline MetricsConfiguration& WithMetricRuleRoleArn(const char* value) { SetMetricRuleRoleArn(value); return *this;} private: bool m_cloudMetricEnabled; bool m_cloudMetricEnabledHasBeenSet = false; Aws::String m_metricRuleRoleArn; bool m_metricRuleRoleArnHasBeenSet = false; }; } // namespace Model } // namespace IoTThingsGraph } // namespace Aws