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

Detailed information about an the execution state of an Automation * step.

See Also:

AWS * API Reference

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

The name of this execution step.

*/ inline const Aws::String& GetStepName() const{ return m_stepName; } /** *

The name of this execution step.

*/ inline bool StepNameHasBeenSet() const { return m_stepNameHasBeenSet; } /** *

The name of this execution step.

*/ inline void SetStepName(const Aws::String& value) { m_stepNameHasBeenSet = true; m_stepName = value; } /** *

The name of this execution step.

*/ inline void SetStepName(Aws::String&& value) { m_stepNameHasBeenSet = true; m_stepName = std::move(value); } /** *

The name of this execution step.

*/ inline void SetStepName(const char* value) { m_stepNameHasBeenSet = true; m_stepName.assign(value); } /** *

The name of this execution step.

*/ inline StepExecution& WithStepName(const Aws::String& value) { SetStepName(value); return *this;} /** *

The name of this execution step.

*/ inline StepExecution& WithStepName(Aws::String&& value) { SetStepName(std::move(value)); return *this;} /** *

The name of this execution step.

*/ inline StepExecution& WithStepName(const char* value) { SetStepName(value); return *this;} /** *

The action this step performs. The action determines the behavior of the * step.

*/ inline const Aws::String& GetAction() const{ return m_action; } /** *

The action this step performs. The action determines the behavior of the * step.

*/ inline bool ActionHasBeenSet() const { return m_actionHasBeenSet; } /** *

The action this step performs. The action determines the behavior of the * step.

*/ inline void SetAction(const Aws::String& value) { m_actionHasBeenSet = true; m_action = value; } /** *

The action this step performs. The action determines the behavior of the * step.

*/ inline void SetAction(Aws::String&& value) { m_actionHasBeenSet = true; m_action = std::move(value); } /** *

The action this step performs. The action determines the behavior of the * step.

*/ inline void SetAction(const char* value) { m_actionHasBeenSet = true; m_action.assign(value); } /** *

The action this step performs. The action determines the behavior of the * step.

*/ inline StepExecution& WithAction(const Aws::String& value) { SetAction(value); return *this;} /** *

The action this step performs. The action determines the behavior of the * step.

*/ inline StepExecution& WithAction(Aws::String&& value) { SetAction(std::move(value)); return *this;} /** *

The action this step performs. The action determines the behavior of the * step.

*/ inline StepExecution& WithAction(const char* value) { SetAction(value); return *this;} /** *

The timeout seconds of the step.

*/ inline long long GetTimeoutSeconds() const{ return m_timeoutSeconds; } /** *

The timeout seconds of the step.

*/ inline bool TimeoutSecondsHasBeenSet() const { return m_timeoutSecondsHasBeenSet; } /** *

The timeout seconds of the step.

*/ inline void SetTimeoutSeconds(long long value) { m_timeoutSecondsHasBeenSet = true; m_timeoutSeconds = value; } /** *

The timeout seconds of the step.

*/ inline StepExecution& WithTimeoutSeconds(long long value) { SetTimeoutSeconds(value); return *this;} /** *

The action to take if the step fails. The default value is * Abort.

*/ inline const Aws::String& GetOnFailure() const{ return m_onFailure; } /** *

The action to take if the step fails. The default value is * Abort.

*/ inline bool OnFailureHasBeenSet() const { return m_onFailureHasBeenSet; } /** *

The action to take if the step fails. The default value is * Abort.

*/ inline void SetOnFailure(const Aws::String& value) { m_onFailureHasBeenSet = true; m_onFailure = value; } /** *

The action to take if the step fails. The default value is * Abort.

*/ inline void SetOnFailure(Aws::String&& value) { m_onFailureHasBeenSet = true; m_onFailure = std::move(value); } /** *

The action to take if the step fails. The default value is * Abort.

*/ inline void SetOnFailure(const char* value) { m_onFailureHasBeenSet = true; m_onFailure.assign(value); } /** *

The action to take if the step fails. The default value is * Abort.

*/ inline StepExecution& WithOnFailure(const Aws::String& value) { SetOnFailure(value); return *this;} /** *

The action to take if the step fails. The default value is * Abort.

*/ inline StepExecution& WithOnFailure(Aws::String&& value) { SetOnFailure(std::move(value)); return *this;} /** *

The action to take if the step fails. The default value is * Abort.

*/ inline StepExecution& WithOnFailure(const char* value) { SetOnFailure(value); return *this;} /** *

The maximum number of tries to run the action of the step. The default value * is 1.

*/ inline int GetMaxAttempts() const{ return m_maxAttempts; } /** *

The maximum number of tries to run the action of the step. The default value * is 1.

*/ inline bool MaxAttemptsHasBeenSet() const { return m_maxAttemptsHasBeenSet; } /** *

The maximum number of tries to run the action of the step. The default value * is 1.

*/ inline void SetMaxAttempts(int value) { m_maxAttemptsHasBeenSet = true; m_maxAttempts = value; } /** *

The maximum number of tries to run the action of the step. The default value * is 1.

*/ inline StepExecution& WithMaxAttempts(int value) { SetMaxAttempts(value); return *this;} /** *

If a step has begun execution, this contains the time the step started. If * the step is in Pending status, this field isn't populated.

*/ inline const Aws::Utils::DateTime& GetExecutionStartTime() const{ return m_executionStartTime; } /** *

If a step has begun execution, this contains the time the step started. If * the step is in Pending status, this field isn't populated.

*/ inline bool ExecutionStartTimeHasBeenSet() const { return m_executionStartTimeHasBeenSet; } /** *

If a step has begun execution, this contains the time the step started. If * the step is in Pending status, this field isn't populated.

*/ inline void SetExecutionStartTime(const Aws::Utils::DateTime& value) { m_executionStartTimeHasBeenSet = true; m_executionStartTime = value; } /** *

If a step has begun execution, this contains the time the step started. If * the step is in Pending status, this field isn't populated.

*/ inline void SetExecutionStartTime(Aws::Utils::DateTime&& value) { m_executionStartTimeHasBeenSet = true; m_executionStartTime = std::move(value); } /** *

If a step has begun execution, this contains the time the step started. If * the step is in Pending status, this field isn't populated.

*/ inline StepExecution& WithExecutionStartTime(const Aws::Utils::DateTime& value) { SetExecutionStartTime(value); return *this;} /** *

If a step has begun execution, this contains the time the step started. If * the step is in Pending status, this field isn't populated.

*/ inline StepExecution& WithExecutionStartTime(Aws::Utils::DateTime&& value) { SetExecutionStartTime(std::move(value)); return *this;} /** *

If a step has finished execution, this contains the time the execution ended. * If the step hasn't yet concluded, this field isn't populated.

*/ inline const Aws::Utils::DateTime& GetExecutionEndTime() const{ return m_executionEndTime; } /** *

If a step has finished execution, this contains the time the execution ended. * If the step hasn't yet concluded, this field isn't populated.

*/ inline bool ExecutionEndTimeHasBeenSet() const { return m_executionEndTimeHasBeenSet; } /** *

If a step has finished execution, this contains the time the execution ended. * If the step hasn't yet concluded, this field isn't populated.

*/ inline void SetExecutionEndTime(const Aws::Utils::DateTime& value) { m_executionEndTimeHasBeenSet = true; m_executionEndTime = value; } /** *

If a step has finished execution, this contains the time the execution ended. * If the step hasn't yet concluded, this field isn't populated.

*/ inline void SetExecutionEndTime(Aws::Utils::DateTime&& value) { m_executionEndTimeHasBeenSet = true; m_executionEndTime = std::move(value); } /** *

If a step has finished execution, this contains the time the execution ended. * If the step hasn't yet concluded, this field isn't populated.

*/ inline StepExecution& WithExecutionEndTime(const Aws::Utils::DateTime& value) { SetExecutionEndTime(value); return *this;} /** *

If a step has finished execution, this contains the time the execution ended. * If the step hasn't yet concluded, this field isn't populated.

*/ inline StepExecution& WithExecutionEndTime(Aws::Utils::DateTime&& value) { SetExecutionEndTime(std::move(value)); return *this;} /** *

The execution status for this step.

*/ inline const AutomationExecutionStatus& GetStepStatus() const{ return m_stepStatus; } /** *

The execution status for this step.

*/ inline bool StepStatusHasBeenSet() const { return m_stepStatusHasBeenSet; } /** *

The execution status for this step.

*/ inline void SetStepStatus(const AutomationExecutionStatus& value) { m_stepStatusHasBeenSet = true; m_stepStatus = value; } /** *

The execution status for this step.

*/ inline void SetStepStatus(AutomationExecutionStatus&& value) { m_stepStatusHasBeenSet = true; m_stepStatus = std::move(value); } /** *

The execution status for this step.

*/ inline StepExecution& WithStepStatus(const AutomationExecutionStatus& value) { SetStepStatus(value); return *this;} /** *

The execution status for this step.

*/ inline StepExecution& WithStepStatus(AutomationExecutionStatus&& value) { SetStepStatus(std::move(value)); return *this;} /** *

The response code returned by the execution of the step.

*/ inline const Aws::String& GetResponseCode() const{ return m_responseCode; } /** *

The response code returned by the execution of the step.

*/ inline bool ResponseCodeHasBeenSet() const { return m_responseCodeHasBeenSet; } /** *

The response code returned by the execution of the step.

*/ inline void SetResponseCode(const Aws::String& value) { m_responseCodeHasBeenSet = true; m_responseCode = value; } /** *

The response code returned by the execution of the step.

*/ inline void SetResponseCode(Aws::String&& value) { m_responseCodeHasBeenSet = true; m_responseCode = std::move(value); } /** *

The response code returned by the execution of the step.

*/ inline void SetResponseCode(const char* value) { m_responseCodeHasBeenSet = true; m_responseCode.assign(value); } /** *

The response code returned by the execution of the step.

*/ inline StepExecution& WithResponseCode(const Aws::String& value) { SetResponseCode(value); return *this;} /** *

The response code returned by the execution of the step.

*/ inline StepExecution& WithResponseCode(Aws::String&& value) { SetResponseCode(std::move(value)); return *this;} /** *

The response code returned by the execution of the step.

*/ inline StepExecution& WithResponseCode(const char* value) { SetResponseCode(value); return *this;} /** *

Fully-resolved values passed into the step before execution.

*/ inline const Aws::Map& GetInputs() const{ return m_inputs; } /** *

Fully-resolved values passed into the step before execution.

*/ inline bool InputsHasBeenSet() const { return m_inputsHasBeenSet; } /** *

Fully-resolved values passed into the step before execution.

*/ inline void SetInputs(const Aws::Map& value) { m_inputsHasBeenSet = true; m_inputs = value; } /** *

Fully-resolved values passed into the step before execution.

*/ inline void SetInputs(Aws::Map&& value) { m_inputsHasBeenSet = true; m_inputs = std::move(value); } /** *

Fully-resolved values passed into the step before execution.

*/ inline StepExecution& WithInputs(const Aws::Map& value) { SetInputs(value); return *this;} /** *

Fully-resolved values passed into the step before execution.

*/ inline StepExecution& WithInputs(Aws::Map&& value) { SetInputs(std::move(value)); return *this;} /** *

Fully-resolved values passed into the step before execution.

*/ inline StepExecution& AddInputs(const Aws::String& key, const Aws::String& value) { m_inputsHasBeenSet = true; m_inputs.emplace(key, value); return *this; } /** *

Fully-resolved values passed into the step before execution.

*/ inline StepExecution& AddInputs(Aws::String&& key, const Aws::String& value) { m_inputsHasBeenSet = true; m_inputs.emplace(std::move(key), value); return *this; } /** *

Fully-resolved values passed into the step before execution.

*/ inline StepExecution& AddInputs(const Aws::String& key, Aws::String&& value) { m_inputsHasBeenSet = true; m_inputs.emplace(key, std::move(value)); return *this; } /** *

Fully-resolved values passed into the step before execution.

*/ inline StepExecution& AddInputs(Aws::String&& key, Aws::String&& value) { m_inputsHasBeenSet = true; m_inputs.emplace(std::move(key), std::move(value)); return *this; } /** *

Fully-resolved values passed into the step before execution.

*/ inline StepExecution& AddInputs(const char* key, Aws::String&& value) { m_inputsHasBeenSet = true; m_inputs.emplace(key, std::move(value)); return *this; } /** *

Fully-resolved values passed into the step before execution.

*/ inline StepExecution& AddInputs(Aws::String&& key, const char* value) { m_inputsHasBeenSet = true; m_inputs.emplace(std::move(key), value); return *this; } /** *

Fully-resolved values passed into the step before execution.

*/ inline StepExecution& AddInputs(const char* key, const char* value) { m_inputsHasBeenSet = true; m_inputs.emplace(key, value); return *this; } /** *

Returned values from the execution of the step.

*/ inline const Aws::Map>& GetOutputs() const{ return m_outputs; } /** *

Returned values from the execution of the step.

*/ inline bool OutputsHasBeenSet() const { return m_outputsHasBeenSet; } /** *

Returned values from the execution of the step.

*/ inline void SetOutputs(const Aws::Map>& value) { m_outputsHasBeenSet = true; m_outputs = value; } /** *

Returned values from the execution of the step.

*/ inline void SetOutputs(Aws::Map>&& value) { m_outputsHasBeenSet = true; m_outputs = std::move(value); } /** *

Returned values from the execution of the step.

*/ inline StepExecution& WithOutputs(const Aws::Map>& value) { SetOutputs(value); return *this;} /** *

Returned values from the execution of the step.

*/ inline StepExecution& WithOutputs(Aws::Map>&& value) { SetOutputs(std::move(value)); return *this;} /** *

Returned values from the execution of the step.

*/ inline StepExecution& AddOutputs(const Aws::String& key, const Aws::Vector& value) { m_outputsHasBeenSet = true; m_outputs.emplace(key, value); return *this; } /** *

Returned values from the execution of the step.

*/ inline StepExecution& AddOutputs(Aws::String&& key, const Aws::Vector& value) { m_outputsHasBeenSet = true; m_outputs.emplace(std::move(key), value); return *this; } /** *

Returned values from the execution of the step.

*/ inline StepExecution& AddOutputs(const Aws::String& key, Aws::Vector&& value) { m_outputsHasBeenSet = true; m_outputs.emplace(key, std::move(value)); return *this; } /** *

Returned values from the execution of the step.

*/ inline StepExecution& AddOutputs(Aws::String&& key, Aws::Vector&& value) { m_outputsHasBeenSet = true; m_outputs.emplace(std::move(key), std::move(value)); return *this; } /** *

Returned values from the execution of the step.

*/ inline StepExecution& AddOutputs(const char* key, Aws::Vector&& value) { m_outputsHasBeenSet = true; m_outputs.emplace(key, std::move(value)); return *this; } /** *

Returned values from the execution of the step.

*/ inline StepExecution& AddOutputs(const char* key, const Aws::Vector& value) { m_outputsHasBeenSet = true; m_outputs.emplace(key, value); return *this; } /** *

A message associated with the response code for an execution.

*/ inline const Aws::String& GetResponse() const{ return m_response; } /** *

A message associated with the response code for an execution.

*/ inline bool ResponseHasBeenSet() const { return m_responseHasBeenSet; } /** *

A message associated with the response code for an execution.

*/ inline void SetResponse(const Aws::String& value) { m_responseHasBeenSet = true; m_response = value; } /** *

A message associated with the response code for an execution.

*/ inline void SetResponse(Aws::String&& value) { m_responseHasBeenSet = true; m_response = std::move(value); } /** *

A message associated with the response code for an execution.

*/ inline void SetResponse(const char* value) { m_responseHasBeenSet = true; m_response.assign(value); } /** *

A message associated with the response code for an execution.

*/ inline StepExecution& WithResponse(const Aws::String& value) { SetResponse(value); return *this;} /** *

A message associated with the response code for an execution.

*/ inline StepExecution& WithResponse(Aws::String&& value) { SetResponse(std::move(value)); return *this;} /** *

A message associated with the response code for an execution.

*/ inline StepExecution& WithResponse(const char* value) { SetResponse(value); return *this;} /** *

If a step failed, this message explains why the execution failed.

*/ inline const Aws::String& GetFailureMessage() const{ return m_failureMessage; } /** *

If a step failed, this message explains why the execution failed.

*/ inline bool FailureMessageHasBeenSet() const { return m_failureMessageHasBeenSet; } /** *

If a step failed, this message explains why the execution failed.

*/ inline void SetFailureMessage(const Aws::String& value) { m_failureMessageHasBeenSet = true; m_failureMessage = value; } /** *

If a step failed, this message explains why the execution failed.

*/ inline void SetFailureMessage(Aws::String&& value) { m_failureMessageHasBeenSet = true; m_failureMessage = std::move(value); } /** *

If a step failed, this message explains why the execution failed.

*/ inline void SetFailureMessage(const char* value) { m_failureMessageHasBeenSet = true; m_failureMessage.assign(value); } /** *

If a step failed, this message explains why the execution failed.

*/ inline StepExecution& WithFailureMessage(const Aws::String& value) { SetFailureMessage(value); return *this;} /** *

If a step failed, this message explains why the execution failed.

*/ inline StepExecution& WithFailureMessage(Aws::String&& value) { SetFailureMessage(std::move(value)); return *this;} /** *

If a step failed, this message explains why the execution failed.

*/ inline StepExecution& WithFailureMessage(const char* value) { SetFailureMessage(value); return *this;} /** *

Information about the Automation failure.

*/ inline const FailureDetails& GetFailureDetails() const{ return m_failureDetails; } /** *

Information about the Automation failure.

*/ inline bool FailureDetailsHasBeenSet() const { return m_failureDetailsHasBeenSet; } /** *

Information about the Automation failure.

*/ inline void SetFailureDetails(const FailureDetails& value) { m_failureDetailsHasBeenSet = true; m_failureDetails = value; } /** *

Information about the Automation failure.

*/ inline void SetFailureDetails(FailureDetails&& value) { m_failureDetailsHasBeenSet = true; m_failureDetails = std::move(value); } /** *

Information about the Automation failure.

*/ inline StepExecution& WithFailureDetails(const FailureDetails& value) { SetFailureDetails(value); return *this;} /** *

Information about the Automation failure.

*/ inline StepExecution& WithFailureDetails(FailureDetails&& value) { SetFailureDetails(std::move(value)); return *this;} /** *

The unique ID of a step execution.

*/ inline const Aws::String& GetStepExecutionId() const{ return m_stepExecutionId; } /** *

The unique ID of a step execution.

*/ inline bool StepExecutionIdHasBeenSet() const { return m_stepExecutionIdHasBeenSet; } /** *

The unique ID of a step execution.

*/ inline void SetStepExecutionId(const Aws::String& value) { m_stepExecutionIdHasBeenSet = true; m_stepExecutionId = value; } /** *

The unique ID of a step execution.

*/ inline void SetStepExecutionId(Aws::String&& value) { m_stepExecutionIdHasBeenSet = true; m_stepExecutionId = std::move(value); } /** *

The unique ID of a step execution.

*/ inline void SetStepExecutionId(const char* value) { m_stepExecutionIdHasBeenSet = true; m_stepExecutionId.assign(value); } /** *

The unique ID of a step execution.

*/ inline StepExecution& WithStepExecutionId(const Aws::String& value) { SetStepExecutionId(value); return *this;} /** *

The unique ID of a step execution.

*/ inline StepExecution& WithStepExecutionId(Aws::String&& value) { SetStepExecutionId(std::move(value)); return *this;} /** *

The unique ID of a step execution.

*/ inline StepExecution& WithStepExecutionId(const char* value) { SetStepExecutionId(value); return *this;} /** *

A user-specified list of parameters to override when running a step.

*/ inline const Aws::Map>& GetOverriddenParameters() const{ return m_overriddenParameters; } /** *

A user-specified list of parameters to override when running a step.

*/ inline bool OverriddenParametersHasBeenSet() const { return m_overriddenParametersHasBeenSet; } /** *

A user-specified list of parameters to override when running a step.

*/ inline void SetOverriddenParameters(const Aws::Map>& value) { m_overriddenParametersHasBeenSet = true; m_overriddenParameters = value; } /** *

A user-specified list of parameters to override when running a step.

*/ inline void SetOverriddenParameters(Aws::Map>&& value) { m_overriddenParametersHasBeenSet = true; m_overriddenParameters = std::move(value); } /** *

A user-specified list of parameters to override when running a step.

*/ inline StepExecution& WithOverriddenParameters(const Aws::Map>& value) { SetOverriddenParameters(value); return *this;} /** *

A user-specified list of parameters to override when running a step.

*/ inline StepExecution& WithOverriddenParameters(Aws::Map>&& value) { SetOverriddenParameters(std::move(value)); return *this;} /** *

A user-specified list of parameters to override when running a step.

*/ inline StepExecution& AddOverriddenParameters(const Aws::String& key, const Aws::Vector& value) { m_overriddenParametersHasBeenSet = true; m_overriddenParameters.emplace(key, value); return *this; } /** *

A user-specified list of parameters to override when running a step.

*/ inline StepExecution& AddOverriddenParameters(Aws::String&& key, const Aws::Vector& value) { m_overriddenParametersHasBeenSet = true; m_overriddenParameters.emplace(std::move(key), value); return *this; } /** *

A user-specified list of parameters to override when running a step.

*/ inline StepExecution& AddOverriddenParameters(const Aws::String& key, Aws::Vector&& value) { m_overriddenParametersHasBeenSet = true; m_overriddenParameters.emplace(key, std::move(value)); return *this; } /** *

A user-specified list of parameters to override when running a step.

*/ inline StepExecution& AddOverriddenParameters(Aws::String&& key, Aws::Vector&& value) { m_overriddenParametersHasBeenSet = true; m_overriddenParameters.emplace(std::move(key), std::move(value)); return *this; } /** *

A user-specified list of parameters to override when running a step.

*/ inline StepExecution& AddOverriddenParameters(const char* key, Aws::Vector&& value) { m_overriddenParametersHasBeenSet = true; m_overriddenParameters.emplace(key, std::move(value)); return *this; } /** *

A user-specified list of parameters to override when running a step.

*/ inline StepExecution& AddOverriddenParameters(const char* key, const Aws::Vector& value) { m_overriddenParametersHasBeenSet = true; m_overriddenParameters.emplace(key, value); return *this; } /** *

The flag which can be used to end automation no matter whether the step * succeeds or fails.

*/ inline bool GetIsEnd() const{ return m_isEnd; } /** *

The flag which can be used to end automation no matter whether the step * succeeds or fails.

*/ inline bool IsEndHasBeenSet() const { return m_isEndHasBeenSet; } /** *

The flag which can be used to end automation no matter whether the step * succeeds or fails.

*/ inline void SetIsEnd(bool value) { m_isEndHasBeenSet = true; m_isEnd = value; } /** *

The flag which can be used to end automation no matter whether the step * succeeds or fails.

*/ inline StepExecution& WithIsEnd(bool value) { SetIsEnd(value); return *this;} /** *

The next step after the step succeeds.

*/ inline const Aws::String& GetNextStep() const{ return m_nextStep; } /** *

The next step after the step succeeds.

*/ inline bool NextStepHasBeenSet() const { return m_nextStepHasBeenSet; } /** *

The next step after the step succeeds.

*/ inline void SetNextStep(const Aws::String& value) { m_nextStepHasBeenSet = true; m_nextStep = value; } /** *

The next step after the step succeeds.

*/ inline void SetNextStep(Aws::String&& value) { m_nextStepHasBeenSet = true; m_nextStep = std::move(value); } /** *

The next step after the step succeeds.

*/ inline void SetNextStep(const char* value) { m_nextStepHasBeenSet = true; m_nextStep.assign(value); } /** *

The next step after the step succeeds.

*/ inline StepExecution& WithNextStep(const Aws::String& value) { SetNextStep(value); return *this;} /** *

The next step after the step succeeds.

*/ inline StepExecution& WithNextStep(Aws::String&& value) { SetNextStep(std::move(value)); return *this;} /** *

The next step after the step succeeds.

*/ inline StepExecution& WithNextStep(const char* value) { SetNextStep(value); return *this;} /** *

The flag which can be used to help decide whether the failure of current step * leads to the Automation failure.

*/ inline bool GetIsCritical() const{ return m_isCritical; } /** *

The flag which can be used to help decide whether the failure of current step * leads to the Automation failure.

*/ inline bool IsCriticalHasBeenSet() const { return m_isCriticalHasBeenSet; } /** *

The flag which can be used to help decide whether the failure of current step * leads to the Automation failure.

*/ inline void SetIsCritical(bool value) { m_isCriticalHasBeenSet = true; m_isCritical = value; } /** *

The flag which can be used to help decide whether the failure of current step * leads to the Automation failure.

*/ inline StepExecution& WithIsCritical(bool value) { SetIsCritical(value); return *this;} /** *

Strategies used when step fails, we support Continue and Abort. Abort will * fail the automation when the step fails. Continue will ignore the failure of * current step and allow automation to run the next step. With conditional * branching, we add step:stepName to support the automation to go to another * specific step.

*/ inline const Aws::Vector& GetValidNextSteps() const{ return m_validNextSteps; } /** *

Strategies used when step fails, we support Continue and Abort. Abort will * fail the automation when the step fails. Continue will ignore the failure of * current step and allow automation to run the next step. With conditional * branching, we add step:stepName to support the automation to go to another * specific step.

*/ inline bool ValidNextStepsHasBeenSet() const { return m_validNextStepsHasBeenSet; } /** *

Strategies used when step fails, we support Continue and Abort. Abort will * fail the automation when the step fails. Continue will ignore the failure of * current step and allow automation to run the next step. With conditional * branching, we add step:stepName to support the automation to go to another * specific step.

*/ inline void SetValidNextSteps(const Aws::Vector& value) { m_validNextStepsHasBeenSet = true; m_validNextSteps = value; } /** *

Strategies used when step fails, we support Continue and Abort. Abort will * fail the automation when the step fails. Continue will ignore the failure of * current step and allow automation to run the next step. With conditional * branching, we add step:stepName to support the automation to go to another * specific step.

*/ inline void SetValidNextSteps(Aws::Vector&& value) { m_validNextStepsHasBeenSet = true; m_validNextSteps = std::move(value); } /** *

Strategies used when step fails, we support Continue and Abort. Abort will * fail the automation when the step fails. Continue will ignore the failure of * current step and allow automation to run the next step. With conditional * branching, we add step:stepName to support the automation to go to another * specific step.

*/ inline StepExecution& WithValidNextSteps(const Aws::Vector& value) { SetValidNextSteps(value); return *this;} /** *

Strategies used when step fails, we support Continue and Abort. Abort will * fail the automation when the step fails. Continue will ignore the failure of * current step and allow automation to run the next step. With conditional * branching, we add step:stepName to support the automation to go to another * specific step.

*/ inline StepExecution& WithValidNextSteps(Aws::Vector&& value) { SetValidNextSteps(std::move(value)); return *this;} /** *

Strategies used when step fails, we support Continue and Abort. Abort will * fail the automation when the step fails. Continue will ignore the failure of * current step and allow automation to run the next step. With conditional * branching, we add step:stepName to support the automation to go to another * specific step.

*/ inline StepExecution& AddValidNextSteps(const Aws::String& value) { m_validNextStepsHasBeenSet = true; m_validNextSteps.push_back(value); return *this; } /** *

Strategies used when step fails, we support Continue and Abort. Abort will * fail the automation when the step fails. Continue will ignore the failure of * current step and allow automation to run the next step. With conditional * branching, we add step:stepName to support the automation to go to another * specific step.

*/ inline StepExecution& AddValidNextSteps(Aws::String&& value) { m_validNextStepsHasBeenSet = true; m_validNextSteps.push_back(std::move(value)); return *this; } /** *

Strategies used when step fails, we support Continue and Abort. Abort will * fail the automation when the step fails. Continue will ignore the failure of * current step and allow automation to run the next step. With conditional * branching, we add step:stepName to support the automation to go to another * specific step.

*/ inline StepExecution& AddValidNextSteps(const char* value) { m_validNextStepsHasBeenSet = true; m_validNextSteps.push_back(value); return *this; } /** *

The targets for the step execution.

*/ inline const Aws::Vector& GetTargets() const{ return m_targets; } /** *

The targets for the step execution.

*/ inline bool TargetsHasBeenSet() const { return m_targetsHasBeenSet; } /** *

The targets for the step execution.

*/ inline void SetTargets(const Aws::Vector& value) { m_targetsHasBeenSet = true; m_targets = value; } /** *

The targets for the step execution.

*/ inline void SetTargets(Aws::Vector&& value) { m_targetsHasBeenSet = true; m_targets = std::move(value); } /** *

The targets for the step execution.

*/ inline StepExecution& WithTargets(const Aws::Vector& value) { SetTargets(value); return *this;} /** *

The targets for the step execution.

*/ inline StepExecution& WithTargets(Aws::Vector&& value) { SetTargets(std::move(value)); return *this;} /** *

The targets for the step execution.

*/ inline StepExecution& AddTargets(const Target& value) { m_targetsHasBeenSet = true; m_targets.push_back(value); return *this; } /** *

The targets for the step execution.

*/ inline StepExecution& AddTargets(Target&& value) { m_targetsHasBeenSet = true; m_targets.push_back(std::move(value)); return *this; } /** *

The combination of Amazon Web Services Regions and Amazon Web Services * accounts targeted by the current Automation execution.

*/ inline const TargetLocation& GetTargetLocation() const{ return m_targetLocation; } /** *

The combination of Amazon Web Services Regions and Amazon Web Services * accounts targeted by the current Automation execution.

*/ inline bool TargetLocationHasBeenSet() const { return m_targetLocationHasBeenSet; } /** *

The combination of Amazon Web Services Regions and Amazon Web Services * accounts targeted by the current Automation execution.

*/ inline void SetTargetLocation(const TargetLocation& value) { m_targetLocationHasBeenSet = true; m_targetLocation = value; } /** *

The combination of Amazon Web Services Regions and Amazon Web Services * accounts targeted by the current Automation execution.

*/ inline void SetTargetLocation(TargetLocation&& value) { m_targetLocationHasBeenSet = true; m_targetLocation = std::move(value); } /** *

The combination of Amazon Web Services Regions and Amazon Web Services * accounts targeted by the current Automation execution.

*/ inline StepExecution& WithTargetLocation(const TargetLocation& value) { SetTargetLocation(value); return *this;} /** *

The combination of Amazon Web Services Regions and Amazon Web Services * accounts targeted by the current Automation execution.

*/ inline StepExecution& WithTargetLocation(TargetLocation&& value) { SetTargetLocation(std::move(value)); return *this;} /** *

The CloudWatch alarms that were invoked by the automation.

*/ inline const Aws::Vector& GetTriggeredAlarms() const{ return m_triggeredAlarms; } /** *

The CloudWatch alarms that were invoked by the automation.

*/ inline bool TriggeredAlarmsHasBeenSet() const { return m_triggeredAlarmsHasBeenSet; } /** *

The CloudWatch alarms that were invoked by the automation.

*/ inline void SetTriggeredAlarms(const Aws::Vector& value) { m_triggeredAlarmsHasBeenSet = true; m_triggeredAlarms = value; } /** *

The CloudWatch alarms that were invoked by the automation.

*/ inline void SetTriggeredAlarms(Aws::Vector&& value) { m_triggeredAlarmsHasBeenSet = true; m_triggeredAlarms = std::move(value); } /** *

The CloudWatch alarms that were invoked by the automation.

*/ inline StepExecution& WithTriggeredAlarms(const Aws::Vector& value) { SetTriggeredAlarms(value); return *this;} /** *

The CloudWatch alarms that were invoked by the automation.

*/ inline StepExecution& WithTriggeredAlarms(Aws::Vector&& value) { SetTriggeredAlarms(std::move(value)); return *this;} /** *

The CloudWatch alarms that were invoked by the automation.

*/ inline StepExecution& AddTriggeredAlarms(const AlarmStateInformation& value) { m_triggeredAlarmsHasBeenSet = true; m_triggeredAlarms.push_back(value); return *this; } /** *

The CloudWatch alarms that were invoked by the automation.

*/ inline StepExecution& AddTriggeredAlarms(AlarmStateInformation&& value) { m_triggeredAlarmsHasBeenSet = true; m_triggeredAlarms.push_back(std::move(value)); return *this; } private: Aws::String m_stepName; bool m_stepNameHasBeenSet = false; Aws::String m_action; bool m_actionHasBeenSet = false; long long m_timeoutSeconds; bool m_timeoutSecondsHasBeenSet = false; Aws::String m_onFailure; bool m_onFailureHasBeenSet = false; int m_maxAttempts; bool m_maxAttemptsHasBeenSet = false; Aws::Utils::DateTime m_executionStartTime; bool m_executionStartTimeHasBeenSet = false; Aws::Utils::DateTime m_executionEndTime; bool m_executionEndTimeHasBeenSet = false; AutomationExecutionStatus m_stepStatus; bool m_stepStatusHasBeenSet = false; Aws::String m_responseCode; bool m_responseCodeHasBeenSet = false; Aws::Map m_inputs; bool m_inputsHasBeenSet = false; Aws::Map> m_outputs; bool m_outputsHasBeenSet = false; Aws::String m_response; bool m_responseHasBeenSet = false; Aws::String m_failureMessage; bool m_failureMessageHasBeenSet = false; FailureDetails m_failureDetails; bool m_failureDetailsHasBeenSet = false; Aws::String m_stepExecutionId; bool m_stepExecutionIdHasBeenSet = false; Aws::Map> m_overriddenParameters; bool m_overriddenParametersHasBeenSet = false; bool m_isEnd; bool m_isEndHasBeenSet = false; Aws::String m_nextStep; bool m_nextStepHasBeenSet = false; bool m_isCritical; bool m_isCriticalHasBeenSet = false; Aws::Vector m_validNextSteps; bool m_validNextStepsHasBeenSet = false; Aws::Vector m_targets; bool m_targetsHasBeenSet = false; TargetLocation m_targetLocation; bool m_targetLocationHasBeenSet = false; Aws::Vector m_triggeredAlarms; bool m_triggeredAlarmsHasBeenSet = false; }; } // namespace Model } // namespace SSM } // namespace Aws