/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace EMR { namespace Model { /** *

Combines the execution state and configuration of a step.

See * Also:

AWS * API Reference

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

The step configuration.

*/ inline const StepConfig& GetStepConfig() const{ return m_stepConfig; } /** *

The step configuration.

*/ inline bool StepConfigHasBeenSet() const { return m_stepConfigHasBeenSet; } /** *

The step configuration.

*/ inline void SetStepConfig(const StepConfig& value) { m_stepConfigHasBeenSet = true; m_stepConfig = value; } /** *

The step configuration.

*/ inline void SetStepConfig(StepConfig&& value) { m_stepConfigHasBeenSet = true; m_stepConfig = std::move(value); } /** *

The step configuration.

*/ inline StepDetail& WithStepConfig(const StepConfig& value) { SetStepConfig(value); return *this;} /** *

The step configuration.

*/ inline StepDetail& WithStepConfig(StepConfig&& value) { SetStepConfig(std::move(value)); return *this;} /** *

The description of the step status.

*/ inline const StepExecutionStatusDetail& GetExecutionStatusDetail() const{ return m_executionStatusDetail; } /** *

The description of the step status.

*/ inline bool ExecutionStatusDetailHasBeenSet() const { return m_executionStatusDetailHasBeenSet; } /** *

The description of the step status.

*/ inline void SetExecutionStatusDetail(const StepExecutionStatusDetail& value) { m_executionStatusDetailHasBeenSet = true; m_executionStatusDetail = value; } /** *

The description of the step status.

*/ inline void SetExecutionStatusDetail(StepExecutionStatusDetail&& value) { m_executionStatusDetailHasBeenSet = true; m_executionStatusDetail = std::move(value); } /** *

The description of the step status.

*/ inline StepDetail& WithExecutionStatusDetail(const StepExecutionStatusDetail& value) { SetExecutionStatusDetail(value); return *this;} /** *

The description of the step status.

*/ inline StepDetail& WithExecutionStatusDetail(StepExecutionStatusDetail&& value) { SetExecutionStatusDetail(std::move(value)); return *this;} private: StepConfig m_stepConfig; bool m_stepConfigHasBeenSet = false; StepExecutionStatusDetail m_executionStatusDetail; bool m_executionStatusDetailHasBeenSet = false; }; } // namespace Model } // namespace EMR } // namespace Aws