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

A cluster step consisting of a JAR file whose main function will be executed. * The main function submits a job for Hadoop to execute and waits for the job to * finish or fail.

See Also:

AWS * API Reference

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

The path to the JAR file that runs during the step.

*/ inline const Aws::String& GetJar() const{ return m_jar; } /** *

The path to the JAR file that runs during the step.

*/ inline bool JarHasBeenSet() const { return m_jarHasBeenSet; } /** *

The path to the JAR file that runs during the step.

*/ inline void SetJar(const Aws::String& value) { m_jarHasBeenSet = true; m_jar = value; } /** *

The path to the JAR file that runs during the step.

*/ inline void SetJar(Aws::String&& value) { m_jarHasBeenSet = true; m_jar = std::move(value); } /** *

The path to the JAR file that runs during the step.

*/ inline void SetJar(const char* value) { m_jarHasBeenSet = true; m_jar.assign(value); } /** *

The path to the JAR file that runs during the step.

*/ inline HadoopStepConfig& WithJar(const Aws::String& value) { SetJar(value); return *this;} /** *

The path to the JAR file that runs during the step.

*/ inline HadoopStepConfig& WithJar(Aws::String&& value) { SetJar(std::move(value)); return *this;} /** *

The path to the JAR file that runs during the step.

*/ inline HadoopStepConfig& WithJar(const char* value) { SetJar(value); return *this;} /** *

The list of Java properties that are set when the step runs. You can use * these properties to pass key-value pairs to your main function.

*/ inline const Aws::Map& GetProperties() const{ return m_properties; } /** *

The list of Java properties that are set when the step runs. You can use * these properties to pass key-value pairs to your main function.

*/ inline bool PropertiesHasBeenSet() const { return m_propertiesHasBeenSet; } /** *

The list of Java properties that are set when the step runs. You can use * these properties to pass key-value pairs to your main function.

*/ inline void SetProperties(const Aws::Map& value) { m_propertiesHasBeenSet = true; m_properties = value; } /** *

The list of Java properties that are set when the step runs. You can use * these properties to pass key-value pairs to your main function.

*/ inline void SetProperties(Aws::Map&& value) { m_propertiesHasBeenSet = true; m_properties = std::move(value); } /** *

The list of Java properties that are set when the step runs. You can use * these properties to pass key-value pairs to your main function.

*/ inline HadoopStepConfig& WithProperties(const Aws::Map& value) { SetProperties(value); return *this;} /** *

The list of Java properties that are set when the step runs. You can use * these properties to pass key-value pairs to your main function.

*/ inline HadoopStepConfig& WithProperties(Aws::Map&& value) { SetProperties(std::move(value)); return *this;} /** *

The list of Java properties that are set when the step runs. You can use * these properties to pass key-value pairs to your main function.

*/ inline HadoopStepConfig& AddProperties(const Aws::String& key, const Aws::String& value) { m_propertiesHasBeenSet = true; m_properties.emplace(key, value); return *this; } /** *

The list of Java properties that are set when the step runs. You can use * these properties to pass key-value pairs to your main function.

*/ inline HadoopStepConfig& AddProperties(Aws::String&& key, const Aws::String& value) { m_propertiesHasBeenSet = true; m_properties.emplace(std::move(key), value); return *this; } /** *

The list of Java properties that are set when the step runs. You can use * these properties to pass key-value pairs to your main function.

*/ inline HadoopStepConfig& AddProperties(const Aws::String& key, Aws::String&& value) { m_propertiesHasBeenSet = true; m_properties.emplace(key, std::move(value)); return *this; } /** *

The list of Java properties that are set when the step runs. You can use * these properties to pass key-value pairs to your main function.

*/ inline HadoopStepConfig& AddProperties(Aws::String&& key, Aws::String&& value) { m_propertiesHasBeenSet = true; m_properties.emplace(std::move(key), std::move(value)); return *this; } /** *

The list of Java properties that are set when the step runs. You can use * these properties to pass key-value pairs to your main function.

*/ inline HadoopStepConfig& AddProperties(const char* key, Aws::String&& value) { m_propertiesHasBeenSet = true; m_properties.emplace(key, std::move(value)); return *this; } /** *

The list of Java properties that are set when the step runs. You can use * these properties to pass key-value pairs to your main function.

*/ inline HadoopStepConfig& AddProperties(Aws::String&& key, const char* value) { m_propertiesHasBeenSet = true; m_properties.emplace(std::move(key), value); return *this; } /** *

The list of Java properties that are set when the step runs. You can use * these properties to pass key-value pairs to your main function.

*/ inline HadoopStepConfig& AddProperties(const char* key, const char* value) { m_propertiesHasBeenSet = true; m_properties.emplace(key, value); return *this; } /** *

The name of the main class in the specified Java file. If not specified, the * JAR file should specify a main class in its manifest file.

*/ inline const Aws::String& GetMainClass() const{ return m_mainClass; } /** *

The name of the main class in the specified Java file. If not specified, the * JAR file should specify a main class in its manifest file.

*/ inline bool MainClassHasBeenSet() const { return m_mainClassHasBeenSet; } /** *

The name of the main class in the specified Java file. If not specified, the * JAR file should specify a main class in its manifest file.

*/ inline void SetMainClass(const Aws::String& value) { m_mainClassHasBeenSet = true; m_mainClass = value; } /** *

The name of the main class in the specified Java file. If not specified, the * JAR file should specify a main class in its manifest file.

*/ inline void SetMainClass(Aws::String&& value) { m_mainClassHasBeenSet = true; m_mainClass = std::move(value); } /** *

The name of the main class in the specified Java file. If not specified, the * JAR file should specify a main class in its manifest file.

*/ inline void SetMainClass(const char* value) { m_mainClassHasBeenSet = true; m_mainClass.assign(value); } /** *

The name of the main class in the specified Java file. If not specified, the * JAR file should specify a main class in its manifest file.

*/ inline HadoopStepConfig& WithMainClass(const Aws::String& value) { SetMainClass(value); return *this;} /** *

The name of the main class in the specified Java file. If not specified, the * JAR file should specify a main class in its manifest file.

*/ inline HadoopStepConfig& WithMainClass(Aws::String&& value) { SetMainClass(std::move(value)); return *this;} /** *

The name of the main class in the specified Java file. If not specified, the * JAR file should specify a main class in its manifest file.

*/ inline HadoopStepConfig& WithMainClass(const char* value) { SetMainClass(value); return *this;} /** *

The list of command line arguments to pass to the JAR file's main function * for execution.

*/ inline const Aws::Vector& GetArgs() const{ return m_args; } /** *

The list of command line arguments to pass to the JAR file's main function * for execution.

*/ inline bool ArgsHasBeenSet() const { return m_argsHasBeenSet; } /** *

The list of command line arguments to pass to the JAR file's main function * for execution.

*/ inline void SetArgs(const Aws::Vector& value) { m_argsHasBeenSet = true; m_args = value; } /** *

The list of command line arguments to pass to the JAR file's main function * for execution.

*/ inline void SetArgs(Aws::Vector&& value) { m_argsHasBeenSet = true; m_args = std::move(value); } /** *

The list of command line arguments to pass to the JAR file's main function * for execution.

*/ inline HadoopStepConfig& WithArgs(const Aws::Vector& value) { SetArgs(value); return *this;} /** *

The list of command line arguments to pass to the JAR file's main function * for execution.

*/ inline HadoopStepConfig& WithArgs(Aws::Vector&& value) { SetArgs(std::move(value)); return *this;} /** *

The list of command line arguments to pass to the JAR file's main function * for execution.

*/ inline HadoopStepConfig& AddArgs(const Aws::String& value) { m_argsHasBeenSet = true; m_args.push_back(value); return *this; } /** *

The list of command line arguments to pass to the JAR file's main function * for execution.

*/ inline HadoopStepConfig& AddArgs(Aws::String&& value) { m_argsHasBeenSet = true; m_args.push_back(std::move(value)); return *this; } /** *

The list of command line arguments to pass to the JAR file's main function * for execution.

*/ inline HadoopStepConfig& AddArgs(const char* value) { m_argsHasBeenSet = true; m_args.push_back(value); return *this; } private: Aws::String m_jar; bool m_jarHasBeenSet = false; Aws::Map m_properties; bool m_propertiesHasBeenSet = false; Aws::String m_mainClass; bool m_mainClassHasBeenSet = false; Aws::Vector m_args; bool m_argsHasBeenSet = false; }; } // namespace Model } // namespace EMR } // namespace Aws