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

The configuration setting for monitoring.

See Also:

AWS * API Reference

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

The Amazon S3 configuration for monitoring log publishing.

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

The Amazon S3 configuration for monitoring log publishing.

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

The Amazon S3 configuration for monitoring log publishing.

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

The Amazon S3 configuration for monitoring log publishing.

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

The Amazon S3 configuration for monitoring log publishing.

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

The Amazon S3 configuration for monitoring log publishing.

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

The managed log persistence configuration for a job run.

*/ inline const ManagedPersistenceMonitoringConfiguration& GetManagedPersistenceMonitoringConfiguration() const{ return m_managedPersistenceMonitoringConfiguration; } /** *

The managed log persistence configuration for a job run.

*/ inline bool ManagedPersistenceMonitoringConfigurationHasBeenSet() const { return m_managedPersistenceMonitoringConfigurationHasBeenSet; } /** *

The managed log persistence configuration for a job run.

*/ inline void SetManagedPersistenceMonitoringConfiguration(const ManagedPersistenceMonitoringConfiguration& value) { m_managedPersistenceMonitoringConfigurationHasBeenSet = true; m_managedPersistenceMonitoringConfiguration = value; } /** *

The managed log persistence configuration for a job run.

*/ inline void SetManagedPersistenceMonitoringConfiguration(ManagedPersistenceMonitoringConfiguration&& value) { m_managedPersistenceMonitoringConfigurationHasBeenSet = true; m_managedPersistenceMonitoringConfiguration = std::move(value); } /** *

The managed log persistence configuration for a job run.

*/ inline MonitoringConfiguration& WithManagedPersistenceMonitoringConfiguration(const ManagedPersistenceMonitoringConfiguration& value) { SetManagedPersistenceMonitoringConfiguration(value); return *this;} /** *

The managed log persistence configuration for a job run.

*/ inline MonitoringConfiguration& WithManagedPersistenceMonitoringConfiguration(ManagedPersistenceMonitoringConfiguration&& value) { SetManagedPersistenceMonitoringConfiguration(std::move(value)); return *this;} /** *

The Amazon CloudWatch configuration for monitoring logs. You can configure * your jobs to send log information to CloudWatch.

*/ inline const CloudWatchLoggingConfiguration& GetCloudWatchLoggingConfiguration() const{ return m_cloudWatchLoggingConfiguration; } /** *

The Amazon CloudWatch configuration for monitoring logs. You can configure * your jobs to send log information to CloudWatch.

*/ inline bool CloudWatchLoggingConfigurationHasBeenSet() const { return m_cloudWatchLoggingConfigurationHasBeenSet; } /** *

The Amazon CloudWatch configuration for monitoring logs. You can configure * your jobs to send log information to CloudWatch.

*/ inline void SetCloudWatchLoggingConfiguration(const CloudWatchLoggingConfiguration& value) { m_cloudWatchLoggingConfigurationHasBeenSet = true; m_cloudWatchLoggingConfiguration = value; } /** *

The Amazon CloudWatch configuration for monitoring logs. You can configure * your jobs to send log information to CloudWatch.

*/ inline void SetCloudWatchLoggingConfiguration(CloudWatchLoggingConfiguration&& value) { m_cloudWatchLoggingConfigurationHasBeenSet = true; m_cloudWatchLoggingConfiguration = std::move(value); } /** *

The Amazon CloudWatch configuration for monitoring logs. You can configure * your jobs to send log information to CloudWatch.

*/ inline MonitoringConfiguration& WithCloudWatchLoggingConfiguration(const CloudWatchLoggingConfiguration& value) { SetCloudWatchLoggingConfiguration(value); return *this;} /** *

The Amazon CloudWatch configuration for monitoring logs. You can configure * your jobs to send log information to CloudWatch.

*/ inline MonitoringConfiguration& WithCloudWatchLoggingConfiguration(CloudWatchLoggingConfiguration&& value) { SetCloudWatchLoggingConfiguration(std::move(value)); return *this;} private: S3MonitoringConfiguration m_s3MonitoringConfiguration; bool m_s3MonitoringConfigurationHasBeenSet = false; ManagedPersistenceMonitoringConfiguration m_managedPersistenceMonitoringConfiguration; bool m_managedPersistenceMonitoringConfigurationHasBeenSet = false; CloudWatchLoggingConfiguration m_cloudWatchLoggingConfiguration; bool m_cloudWatchLoggingConfigurationHasBeenSet = false; }; } // namespace Model } // namespace EMRServerless } // namespace Aws