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

Specification of a cluster (job flow) step.

See Also:

AWS * API Reference

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

The name of the step.

*/ inline const Aws::String& GetName() const{ return m_name; } /** *

The name of the step.

*/ inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } /** *

The name of the step.

*/ inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } /** *

The name of the step.

*/ inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } /** *

The name of the step.

*/ inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } /** *

The name of the step.

*/ inline StepConfig& WithName(const Aws::String& value) { SetName(value); return *this;} /** *

The name of the step.

*/ inline StepConfig& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} /** *

The name of the step.

*/ inline StepConfig& WithName(const char* value) { SetName(value); return *this;} /** *

The action to take when the cluster step fails. Possible values are * TERMINATE_CLUSTER, CANCEL_AND_WAIT, and CONTINUE. TERMINATE_JOB_FLOW is provided * for backward compatibility. We recommend using TERMINATE_CLUSTER instead.

*/ inline const ActionOnFailure& GetActionOnFailure() const{ return m_actionOnFailure; } /** *

The action to take when the cluster step fails. Possible values are * TERMINATE_CLUSTER, CANCEL_AND_WAIT, and CONTINUE. TERMINATE_JOB_FLOW is provided * for backward compatibility. We recommend using TERMINATE_CLUSTER instead.

*/ inline bool ActionOnFailureHasBeenSet() const { return m_actionOnFailureHasBeenSet; } /** *

The action to take when the cluster step fails. Possible values are * TERMINATE_CLUSTER, CANCEL_AND_WAIT, and CONTINUE. TERMINATE_JOB_FLOW is provided * for backward compatibility. We recommend using TERMINATE_CLUSTER instead.

*/ inline void SetActionOnFailure(const ActionOnFailure& value) { m_actionOnFailureHasBeenSet = true; m_actionOnFailure = value; } /** *

The action to take when the cluster step fails. Possible values are * TERMINATE_CLUSTER, CANCEL_AND_WAIT, and CONTINUE. TERMINATE_JOB_FLOW is provided * for backward compatibility. We recommend using TERMINATE_CLUSTER instead.

*/ inline void SetActionOnFailure(ActionOnFailure&& value) { m_actionOnFailureHasBeenSet = true; m_actionOnFailure = std::move(value); } /** *

The action to take when the cluster step fails. Possible values are * TERMINATE_CLUSTER, CANCEL_AND_WAIT, and CONTINUE. TERMINATE_JOB_FLOW is provided * for backward compatibility. We recommend using TERMINATE_CLUSTER instead.

*/ inline StepConfig& WithActionOnFailure(const ActionOnFailure& value) { SetActionOnFailure(value); return *this;} /** *

The action to take when the cluster step fails. Possible values are * TERMINATE_CLUSTER, CANCEL_AND_WAIT, and CONTINUE. TERMINATE_JOB_FLOW is provided * for backward compatibility. We recommend using TERMINATE_CLUSTER instead.

*/ inline StepConfig& WithActionOnFailure(ActionOnFailure&& value) { SetActionOnFailure(std::move(value)); return *this;} /** *

The JAR file used for the step.

*/ inline const HadoopJarStepConfig& GetHadoopJarStep() const{ return m_hadoopJarStep; } /** *

The JAR file used for the step.

*/ inline bool HadoopJarStepHasBeenSet() const { return m_hadoopJarStepHasBeenSet; } /** *

The JAR file used for the step.

*/ inline void SetHadoopJarStep(const HadoopJarStepConfig& value) { m_hadoopJarStepHasBeenSet = true; m_hadoopJarStep = value; } /** *

The JAR file used for the step.

*/ inline void SetHadoopJarStep(HadoopJarStepConfig&& value) { m_hadoopJarStepHasBeenSet = true; m_hadoopJarStep = std::move(value); } /** *

The JAR file used for the step.

*/ inline StepConfig& WithHadoopJarStep(const HadoopJarStepConfig& value) { SetHadoopJarStep(value); return *this;} /** *

The JAR file used for the step.

*/ inline StepConfig& WithHadoopJarStep(HadoopJarStepConfig&& value) { SetHadoopJarStep(std::move(value)); return *this;} private: Aws::String m_name; bool m_nameHasBeenSet; ActionOnFailure m_actionOnFailure; bool m_actionOnFailureHasBeenSet; HadoopJarStepConfig m_hadoopJarStep; bool m_hadoopJarStepHasBeenSet; }; } // namespace Model } // namespace EMR } // namespace Aws