/** * 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 KinesisAnalyticsV2 { namespace Model { /** *

Describes configuration parameters for CloudWatch logging for an * application.

See Also:

AWS * API Reference

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

Describes whether to use the default CloudWatch logging configuration for an * application.

*/ inline const ConfigurationType& GetConfigurationType() const{ return m_configurationType; } /** *

Describes whether to use the default CloudWatch logging configuration for an * application.

*/ inline bool ConfigurationTypeHasBeenSet() const { return m_configurationTypeHasBeenSet; } /** *

Describes whether to use the default CloudWatch logging configuration for an * application.

*/ inline void SetConfigurationType(const ConfigurationType& value) { m_configurationTypeHasBeenSet = true; m_configurationType = value; } /** *

Describes whether to use the default CloudWatch logging configuration for an * application.

*/ inline void SetConfigurationType(ConfigurationType&& value) { m_configurationTypeHasBeenSet = true; m_configurationType = std::move(value); } /** *

Describes whether to use the default CloudWatch logging configuration for an * application.

*/ inline MonitoringConfigurationDescription& WithConfigurationType(const ConfigurationType& value) { SetConfigurationType(value); return *this;} /** *

Describes whether to use the default CloudWatch logging configuration for an * application.

*/ inline MonitoringConfigurationDescription& WithConfigurationType(ConfigurationType&& value) { SetConfigurationType(std::move(value)); return *this;} /** *

Describes the granularity of the CloudWatch Logs for an application.

*/ inline const MetricsLevel& GetMetricsLevel() const{ return m_metricsLevel; } /** *

Describes the granularity of the CloudWatch Logs for an application.

*/ inline bool MetricsLevelHasBeenSet() const { return m_metricsLevelHasBeenSet; } /** *

Describes the granularity of the CloudWatch Logs for an application.

*/ inline void SetMetricsLevel(const MetricsLevel& value) { m_metricsLevelHasBeenSet = true; m_metricsLevel = value; } /** *

Describes the granularity of the CloudWatch Logs for an application.

*/ inline void SetMetricsLevel(MetricsLevel&& value) { m_metricsLevelHasBeenSet = true; m_metricsLevel = std::move(value); } /** *

Describes the granularity of the CloudWatch Logs for an application.

*/ inline MonitoringConfigurationDescription& WithMetricsLevel(const MetricsLevel& value) { SetMetricsLevel(value); return *this;} /** *

Describes the granularity of the CloudWatch Logs for an application.

*/ inline MonitoringConfigurationDescription& WithMetricsLevel(MetricsLevel&& value) { SetMetricsLevel(std::move(value)); return *this;} /** *

Describes the verbosity of the CloudWatch Logs for an application.

*/ inline const LogLevel& GetLogLevel() const{ return m_logLevel; } /** *

Describes the verbosity of the CloudWatch Logs for an application.

*/ inline bool LogLevelHasBeenSet() const { return m_logLevelHasBeenSet; } /** *

Describes the verbosity of the CloudWatch Logs for an application.

*/ inline void SetLogLevel(const LogLevel& value) { m_logLevelHasBeenSet = true; m_logLevel = value; } /** *

Describes the verbosity of the CloudWatch Logs for an application.

*/ inline void SetLogLevel(LogLevel&& value) { m_logLevelHasBeenSet = true; m_logLevel = std::move(value); } /** *

Describes the verbosity of the CloudWatch Logs for an application.

*/ inline MonitoringConfigurationDescription& WithLogLevel(const LogLevel& value) { SetLogLevel(value); return *this;} /** *

Describes the verbosity of the CloudWatch Logs for an application.

*/ inline MonitoringConfigurationDescription& WithLogLevel(LogLevel&& value) { SetLogLevel(std::move(value)); return *this;} private: ConfigurationType m_configurationType; bool m_configurationTypeHasBeenSet = false; MetricsLevel m_metricsLevel; bool m_metricsLevelHasBeenSet = false; LogLevel m_logLevel; bool m_logLevelHasBeenSet = false; }; } // namespace Model } // namespace KinesisAnalyticsV2 } // namespace Aws