/** * 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 updates to configuration parameters for Amazon CloudWatch logging * for an application.

See Also:

AWS * API Reference

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

Describes updates to 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& GetConfigurationTypeUpdate() const{ return m_configurationTypeUpdate; } /** *

Describes updates to 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 ConfigurationTypeUpdateHasBeenSet() const { return m_configurationTypeUpdateHasBeenSet; } /** *

Describes updates to 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 SetConfigurationTypeUpdate(const ConfigurationType& value) { m_configurationTypeUpdateHasBeenSet = true; m_configurationTypeUpdate = value; } /** *

Describes updates to 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 SetConfigurationTypeUpdate(ConfigurationType&& value) { m_configurationTypeUpdateHasBeenSet = true; m_configurationTypeUpdate = std::move(value); } /** *

Describes updates to 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 MonitoringConfigurationUpdate& WithConfigurationTypeUpdate(const ConfigurationType& value) { SetConfigurationTypeUpdate(value); return *this;} /** *

Describes updates to 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 MonitoringConfigurationUpdate& WithConfigurationTypeUpdate(ConfigurationType&& value) { SetConfigurationTypeUpdate(std::move(value)); return *this;} /** *

Describes updates to 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& GetMetricsLevelUpdate() const{ return m_metricsLevelUpdate; } /** *

Describes updates to 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 MetricsLevelUpdateHasBeenSet() const { return m_metricsLevelUpdateHasBeenSet; } /** *

Describes updates to 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 SetMetricsLevelUpdate(const MetricsLevel& value) { m_metricsLevelUpdateHasBeenSet = true; m_metricsLevelUpdate = value; } /** *

Describes updates to 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 SetMetricsLevelUpdate(MetricsLevel&& value) { m_metricsLevelUpdateHasBeenSet = true; m_metricsLevelUpdate = std::move(value); } /** *

Describes updates to 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 MonitoringConfigurationUpdate& WithMetricsLevelUpdate(const MetricsLevel& value) { SetMetricsLevelUpdate(value); return *this;} /** *

Describes updates to 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 MonitoringConfigurationUpdate& WithMetricsLevelUpdate(MetricsLevel&& value) { SetMetricsLevelUpdate(std::move(value)); return *this;} /** *

Describes updates to the verbosity of the CloudWatch Logs for an * application.

*/ inline const LogLevel& GetLogLevelUpdate() const{ return m_logLevelUpdate; } /** *

Describes updates to the verbosity of the CloudWatch Logs for an * application.

*/ inline bool LogLevelUpdateHasBeenSet() const { return m_logLevelUpdateHasBeenSet; } /** *

Describes updates to the verbosity of the CloudWatch Logs for an * application.

*/ inline void SetLogLevelUpdate(const LogLevel& value) { m_logLevelUpdateHasBeenSet = true; m_logLevelUpdate = value; } /** *

Describes updates to the verbosity of the CloudWatch Logs for an * application.

*/ inline void SetLogLevelUpdate(LogLevel&& value) { m_logLevelUpdateHasBeenSet = true; m_logLevelUpdate = std::move(value); } /** *

Describes updates to the verbosity of the CloudWatch Logs for an * application.

*/ inline MonitoringConfigurationUpdate& WithLogLevelUpdate(const LogLevel& value) { SetLogLevelUpdate(value); return *this;} /** *

Describes updates to the verbosity of the CloudWatch Logs for an * application.

*/ inline MonitoringConfigurationUpdate& WithLogLevelUpdate(LogLevel&& value) { SetLogLevelUpdate(std::move(value)); return *this;} private: ConfigurationType m_configurationTypeUpdate; bool m_configurationTypeUpdateHasBeenSet = false; MetricsLevel m_metricsLevelUpdate; bool m_metricsLevelUpdateHasBeenSet = false; LogLevel m_logLevelUpdate; bool m_logLevelUpdateHasBeenSet = false; }; } // namespace Model } // namespace KinesisAnalyticsV2 } // namespace Aws