/** * 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. This data type allows job template parameters to be specified * within.

See Also:

AWS * API Reference

*/ class ParametricConfigurationOverrides { public: AWS_EMRCONTAINERS_API ParametricConfigurationOverrides(); AWS_EMRCONTAINERS_API ParametricConfigurationOverrides(Aws::Utils::Json::JsonView jsonValue); AWS_EMRCONTAINERS_API ParametricConfigurationOverrides& 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 ParametricConfigurationOverrides& WithApplicationConfiguration(const Aws::Vector& value) { SetApplicationConfiguration(value); return *this;} /** *

The configurations for the application running by the job run.

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

The configurations for the application running by the job run.

*/ inline ParametricConfigurationOverrides& 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 ParametricConfigurationOverrides& AddApplicationConfiguration(Configuration&& value) { m_applicationConfigurationHasBeenSet = true; m_applicationConfiguration.push_back(std::move(value)); return *this; } /** *

The configurations for monitoring.

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

The configurations for monitoring.

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

The configurations for monitoring.

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

The configurations for monitoring.

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

The configurations for monitoring.

*/ inline ParametricConfigurationOverrides& WithMonitoringConfiguration(const ParametricMonitoringConfiguration& value) { SetMonitoringConfiguration(value); return *this;} /** *

The configurations for monitoring.

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