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

Configuration setting for monitoring.

See Also:

AWS * API Reference

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

Monitoring configurations for the persistent application UI.

*/ inline const PersistentAppUI& GetPersistentAppUI() const{ return m_persistentAppUI; } /** *

Monitoring configurations for the persistent application UI.

*/ inline bool PersistentAppUIHasBeenSet() const { return m_persistentAppUIHasBeenSet; } /** *

Monitoring configurations for the persistent application UI.

*/ inline void SetPersistentAppUI(const PersistentAppUI& value) { m_persistentAppUIHasBeenSet = true; m_persistentAppUI = value; } /** *

Monitoring configurations for the persistent application UI.

*/ inline void SetPersistentAppUI(PersistentAppUI&& value) { m_persistentAppUIHasBeenSet = true; m_persistentAppUI = std::move(value); } /** *

Monitoring configurations for the persistent application UI.

*/ inline MonitoringConfiguration& WithPersistentAppUI(const PersistentAppUI& value) { SetPersistentAppUI(value); return *this;} /** *

Monitoring configurations for the persistent application UI.

*/ inline MonitoringConfiguration& WithPersistentAppUI(PersistentAppUI&& value) { SetPersistentAppUI(std::move(value)); return *this;} /** *

Monitoring configurations for CloudWatch.

*/ inline const CloudWatchMonitoringConfiguration& GetCloudWatchMonitoringConfiguration() const{ return m_cloudWatchMonitoringConfiguration; } /** *

Monitoring configurations for CloudWatch.

*/ inline bool CloudWatchMonitoringConfigurationHasBeenSet() const { return m_cloudWatchMonitoringConfigurationHasBeenSet; } /** *

Monitoring configurations for CloudWatch.

*/ inline void SetCloudWatchMonitoringConfiguration(const CloudWatchMonitoringConfiguration& value) { m_cloudWatchMonitoringConfigurationHasBeenSet = true; m_cloudWatchMonitoringConfiguration = value; } /** *

Monitoring configurations for CloudWatch.

*/ inline void SetCloudWatchMonitoringConfiguration(CloudWatchMonitoringConfiguration&& value) { m_cloudWatchMonitoringConfigurationHasBeenSet = true; m_cloudWatchMonitoringConfiguration = std::move(value); } /** *

Monitoring configurations for CloudWatch.

*/ inline MonitoringConfiguration& WithCloudWatchMonitoringConfiguration(const CloudWatchMonitoringConfiguration& value) { SetCloudWatchMonitoringConfiguration(value); return *this;} /** *

Monitoring configurations for CloudWatch.

*/ inline MonitoringConfiguration& WithCloudWatchMonitoringConfiguration(CloudWatchMonitoringConfiguration&& value) { SetCloudWatchMonitoringConfiguration(std::move(value)); return *this;} /** *

Amazon S3 configuration for monitoring log publishing.

*/ inline const S3MonitoringConfiguration& GetS3MonitoringConfiguration() const{ return m_s3MonitoringConfiguration; } /** *

Amazon S3 configuration for monitoring log publishing.

*/ inline bool S3MonitoringConfigurationHasBeenSet() const { return m_s3MonitoringConfigurationHasBeenSet; } /** *

Amazon S3 configuration for monitoring log publishing.

*/ inline void SetS3MonitoringConfiguration(const S3MonitoringConfiguration& value) { m_s3MonitoringConfigurationHasBeenSet = true; m_s3MonitoringConfiguration = value; } /** *

Amazon S3 configuration for monitoring log publishing.

*/ inline void SetS3MonitoringConfiguration(S3MonitoringConfiguration&& value) { m_s3MonitoringConfigurationHasBeenSet = true; m_s3MonitoringConfiguration = std::move(value); } /** *

Amazon S3 configuration for monitoring log publishing.

*/ inline MonitoringConfiguration& WithS3MonitoringConfiguration(const S3MonitoringConfiguration& value) { SetS3MonitoringConfiguration(value); return *this;} /** *

Amazon S3 configuration for monitoring log publishing.

*/ inline MonitoringConfiguration& WithS3MonitoringConfiguration(S3MonitoringConfiguration&& value) { SetS3MonitoringConfiguration(std::move(value)); return *this;} /** *

Enable or disable container log rotation.

*/ inline const ContainerLogRotationConfiguration& GetContainerLogRotationConfiguration() const{ return m_containerLogRotationConfiguration; } /** *

Enable or disable container log rotation.

*/ inline bool ContainerLogRotationConfigurationHasBeenSet() const { return m_containerLogRotationConfigurationHasBeenSet; } /** *

Enable or disable container log rotation.

*/ inline void SetContainerLogRotationConfiguration(const ContainerLogRotationConfiguration& value) { m_containerLogRotationConfigurationHasBeenSet = true; m_containerLogRotationConfiguration = value; } /** *

Enable or disable container log rotation.

*/ inline void SetContainerLogRotationConfiguration(ContainerLogRotationConfiguration&& value) { m_containerLogRotationConfigurationHasBeenSet = true; m_containerLogRotationConfiguration = std::move(value); } /** *

Enable or disable container log rotation.

*/ inline MonitoringConfiguration& WithContainerLogRotationConfiguration(const ContainerLogRotationConfiguration& value) { SetContainerLogRotationConfiguration(value); return *this;} /** *

Enable or disable container log rotation.

*/ inline MonitoringConfiguration& WithContainerLogRotationConfiguration(ContainerLogRotationConfiguration&& value) { SetContainerLogRotationConfiguration(std::move(value)); return *this;} private: PersistentAppUI m_persistentAppUI; bool m_persistentAppUIHasBeenSet = false; CloudWatchMonitoringConfiguration m_cloudWatchMonitoringConfiguration; bool m_cloudWatchMonitoringConfigurationHasBeenSet = false; S3MonitoringConfiguration m_s3MonitoringConfiguration; bool m_s3MonitoringConfigurationHasBeenSet = false; ContainerLogRotationConfiguration m_containerLogRotationConfiguration; bool m_containerLogRotationConfigurationHasBeenSet = false; }; } // namespace Model } // namespace EMRContainers } // namespace Aws