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

Configuration setting for monitoring. This data type allows job template * parameters to be specified within.

See Also:

AWS * API Reference

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

Monitoring configurations for the persistent application UI.

*/ inline const Aws::String& 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 Aws::String& value) { m_persistentAppUIHasBeenSet = true; m_persistentAppUI = value; } /** *

Monitoring configurations for the persistent application UI.

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

Monitoring configurations for the persistent application UI.

*/ inline void SetPersistentAppUI(const char* value) { m_persistentAppUIHasBeenSet = true; m_persistentAppUI.assign(value); } /** *

Monitoring configurations for the persistent application UI.

*/ inline ParametricMonitoringConfiguration& WithPersistentAppUI(const Aws::String& value) { SetPersistentAppUI(value); return *this;} /** *

Monitoring configurations for the persistent application UI.

*/ inline ParametricMonitoringConfiguration& WithPersistentAppUI(Aws::String&& value) { SetPersistentAppUI(std::move(value)); return *this;} /** *

Monitoring configurations for the persistent application UI.

*/ inline ParametricMonitoringConfiguration& WithPersistentAppUI(const char* value) { SetPersistentAppUI(value); return *this;} /** *

Monitoring configurations for CloudWatch.

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

Monitoring configurations for CloudWatch.

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

Monitoring configurations for CloudWatch.

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

Monitoring configurations for CloudWatch.

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

Monitoring configurations for CloudWatch.

*/ inline ParametricMonitoringConfiguration& WithCloudWatchMonitoringConfiguration(const ParametricCloudWatchMonitoringConfiguration& value) { SetCloudWatchMonitoringConfiguration(value); return *this;} /** *

Monitoring configurations for CloudWatch.

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

Amazon S3 configuration for monitoring log publishing.

*/ inline const ParametricS3MonitoringConfiguration& 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 ParametricS3MonitoringConfiguration& value) { m_s3MonitoringConfigurationHasBeenSet = true; m_s3MonitoringConfiguration = value; } /** *

Amazon S3 configuration for monitoring log publishing.

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

Amazon S3 configuration for monitoring log publishing.

*/ inline ParametricMonitoringConfiguration& WithS3MonitoringConfiguration(const ParametricS3MonitoringConfiguration& value) { SetS3MonitoringConfiguration(value); return *this;} /** *

Amazon S3 configuration for monitoring log publishing.

*/ inline ParametricMonitoringConfiguration& WithS3MonitoringConfiguration(ParametricS3MonitoringConfiguration&& value) { SetS3MonitoringConfiguration(std::move(value)); return *this;} private: Aws::String m_persistentAppUI; bool m_persistentAppUIHasBeenSet = false; ParametricCloudWatchMonitoringConfiguration m_cloudWatchMonitoringConfiguration; bool m_cloudWatchMonitoringConfigurationHasBeenSet = false; ParametricS3MonitoringConfiguration m_s3MonitoringConfiguration; bool m_s3MonitoringConfigurationHasBeenSet = false; }; } // namespace Model } // namespace EMRContainers } // namespace Aws