/** * 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 { /** *

A configuration specification to be used to override existing * configurations.

See Also:

AWS * API Reference

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

The configurations for the application running by the job run.

*/ inline const Aws::Vector& GetApplicationConfiguration() const{ return m_applicationConfiguration; } /** *

The configurations for the application running by the job run.

*/ inline bool ApplicationConfigurationHasBeenSet() const { return m_applicationConfigurationHasBeenSet; } /** *

The configurations for the application running by the job run.

*/ inline void SetApplicationConfiguration(const Aws::Vector& value) { m_applicationConfigurationHasBeenSet = true; m_applicationConfiguration = value; } /** *

The configurations for the application running by the job run.

*/ inline void SetApplicationConfiguration(Aws::Vector&& value) { m_applicationConfigurationHasBeenSet = true; m_applicationConfiguration = std::move(value); } /** *

The configurations for the application running by the job run.

*/ inline ConfigurationOverrides& WithApplicationConfiguration(const Aws::Vector& value) { SetApplicationConfiguration(value); return *this;} /** *

The configurations for the application running by the job run.

*/ inline ConfigurationOverrides& WithApplicationConfiguration(Aws::Vector&& value) { SetApplicationConfiguration(std::move(value)); return *this;} /** *

The configurations for the application running by the job run.

*/ inline ConfigurationOverrides& AddApplicationConfiguration(const Configuration& value) { m_applicationConfigurationHasBeenSet = true; m_applicationConfiguration.push_back(value); return *this; } /** *

The configurations for the application running by the job run.

*/ inline ConfigurationOverrides& AddApplicationConfiguration(Configuration&& value) { m_applicationConfigurationHasBeenSet = true; m_applicationConfiguration.push_back(std::move(value)); return *this; } /** *

The configurations for monitoring.

*/ inline const MonitoringConfiguration& GetMonitoringConfiguration() const{ return m_monitoringConfiguration; } /** *

The configurations for monitoring.

*/ inline bool MonitoringConfigurationHasBeenSet() const { return m_monitoringConfigurationHasBeenSet; } /** *

The configurations for monitoring.

*/ inline void SetMonitoringConfiguration(const MonitoringConfiguration& value) { m_monitoringConfigurationHasBeenSet = true; m_monitoringConfiguration = value; } /** *

The configurations for monitoring.

*/ inline void SetMonitoringConfiguration(MonitoringConfiguration&& value) { m_monitoringConfigurationHasBeenSet = true; m_monitoringConfiguration = std::move(value); } /** *

The configurations for monitoring.

*/ inline ConfigurationOverrides& WithMonitoringConfiguration(const MonitoringConfiguration& value) { SetMonitoringConfiguration(value); return *this;} /** *

The configurations for monitoring.

*/ inline ConfigurationOverrides& WithMonitoringConfiguration(MonitoringConfiguration&& value) { SetMonitoringConfiguration(std::move(value)); return *this;} private: Aws::Vector m_applicationConfiguration; bool m_applicationConfigurationHasBeenSet = false; MonitoringConfiguration m_monitoringConfiguration; bool m_monitoringConfigurationHasBeenSet = false; }; } // namespace Model } // namespace EMRContainers } // namespace Aws