/** * 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 Amazon CloudWatch logging for an * application. For more information about CloudWatch logging, see Monitoring.

See * Also:

AWS * API Reference

*/ class MonitoringConfiguration { public: AWS_KINESISANALYTICSV2_API MonitoringConfiguration(); AWS_KINESISANALYTICSV2_API MonitoringConfiguration(Aws::Utils::Json::JsonView jsonValue); AWS_KINESISANALYTICSV2_API MonitoringConfiguration& 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. You must set this property to CUSTOM in order to set * the LogLevel or MetricsLevel parameters.

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

Describes whether to use the default CloudWatch logging configuration for an * application. You must set this property to CUSTOM in order to set * the LogLevel or MetricsLevel parameters.

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

Describes whether to use the default CloudWatch logging configuration for an * application. You must set this property to CUSTOM in order to set * the LogLevel or MetricsLevel parameters.

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

Describes whether to use the default CloudWatch logging configuration for an * application. You must set this property to CUSTOM in order to set * the LogLevel or MetricsLevel parameters.

*/ 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. You must set this property to CUSTOM in order to set * the LogLevel or MetricsLevel parameters.

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

Describes whether to use the default CloudWatch logging configuration for an * application. You must set this property to CUSTOM in order to set * the LogLevel or MetricsLevel parameters.

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

Describes the granularity of the CloudWatch Logs for an application. The * Parallelism level is not recommended for applications with a * Parallelism over 64 due to excessive costs.

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

Describes the granularity of the CloudWatch Logs for an application. The * Parallelism level is not recommended for applications with a * Parallelism over 64 due to excessive costs.

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

Describes the granularity of the CloudWatch Logs for an application. The * Parallelism level is not recommended for applications with a * Parallelism over 64 due to excessive costs.

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

Describes the granularity of the CloudWatch Logs for an application. The * Parallelism level is not recommended for applications with a * Parallelism over 64 due to excessive costs.

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

Describes the granularity of the CloudWatch Logs for an application. The * Parallelism level is not recommended for applications with a * Parallelism over 64 due to excessive costs.

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

Describes the granularity of the CloudWatch Logs for an application. The * Parallelism level is not recommended for applications with a * Parallelism over 64 due to excessive costs.

*/ inline MonitoringConfiguration& 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 MonitoringConfiguration& WithLogLevel(const LogLevel& value) { SetLogLevel(value); return *this;} /** *

Describes the verbosity of the CloudWatch Logs for an application.

*/ inline MonitoringConfiguration& 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