/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Detailed information about an the execution state of an Automation
* step.See Also:
AWS
* API Reference
The name of this execution step.
*/ inline const Aws::String& GetStepName() const{ return m_stepName; } inline bool StepNameHasBeenSet() const { return m_stepNameHasBeenSet; } inline void SetStepName(const Aws::String& value) { m_stepNameHasBeenSet = true; m_stepName = value; } inline void SetStepName(Aws::String&& value) { m_stepNameHasBeenSet = true; m_stepName = std::move(value); } inline void SetStepName(const char* value) { m_stepNameHasBeenSet = true; m_stepName.assign(value); } inline StepExecution& WithStepName(const Aws::String& value) { SetStepName(value); return *this;} inline StepExecution& WithStepName(Aws::String&& value) { SetStepName(std::move(value)); return *this;} 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; } inline bool ActionHasBeenSet() const { return m_actionHasBeenSet; } inline void SetAction(const Aws::String& value) { m_actionHasBeenSet = true; m_action = value; } inline void SetAction(Aws::String&& value) { m_actionHasBeenSet = true; m_action = std::move(value); } inline void SetAction(const char* value) { m_actionHasBeenSet = true; m_action.assign(value); } inline StepExecution& WithAction(const Aws::String& value) { SetAction(value); return *this;} inline StepExecution& WithAction(Aws::String&& value) { SetAction(std::move(value)); return *this;} inline StepExecution& WithAction(const char* value) { SetAction(value); return *this;} ///@} ///@{ /** *The timeout seconds of the step.
*/ inline long long GetTimeoutSeconds() const{ return m_timeoutSeconds; } inline bool TimeoutSecondsHasBeenSet() const { return m_timeoutSecondsHasBeenSet; } inline void SetTimeoutSeconds(long long value) { m_timeoutSecondsHasBeenSet = true; m_timeoutSeconds = value; } inline StepExecution& WithTimeoutSeconds(long long value) { SetTimeoutSeconds(value); return *this;} ///@} ///@{ /** *The action to take if the step fails. The default value is
* Abort.
The maximum number of tries to run the action of the step. The default value
* is 1.
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; } inline bool ExecutionStartTimeHasBeenSet() const { return m_executionStartTimeHasBeenSet; } inline void SetExecutionStartTime(const Aws::Utils::DateTime& value) { m_executionStartTimeHasBeenSet = true; m_executionStartTime = value; } inline void SetExecutionStartTime(Aws::Utils::DateTime&& value) { m_executionStartTimeHasBeenSet = true; m_executionStartTime = std::move(value); } inline StepExecution& WithExecutionStartTime(const Aws::Utils::DateTime& value) { SetExecutionStartTime(value); return *this;} 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; } inline bool ExecutionEndTimeHasBeenSet() const { return m_executionEndTimeHasBeenSet; } inline void SetExecutionEndTime(const Aws::Utils::DateTime& value) { m_executionEndTimeHasBeenSet = true; m_executionEndTime = value; } inline void SetExecutionEndTime(Aws::Utils::DateTime&& value) { m_executionEndTimeHasBeenSet = true; m_executionEndTime = std::move(value); } inline StepExecution& WithExecutionEndTime(const Aws::Utils::DateTime& value) { SetExecutionEndTime(value); return *this;} 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; } inline bool StepStatusHasBeenSet() const { return m_stepStatusHasBeenSet; } inline void SetStepStatus(const AutomationExecutionStatus& value) { m_stepStatusHasBeenSet = true; m_stepStatus = value; } inline void SetStepStatus(AutomationExecutionStatus&& value) { m_stepStatusHasBeenSet = true; m_stepStatus = std::move(value); } inline StepExecution& WithStepStatus(const AutomationExecutionStatus& value) { SetStepStatus(value); return *this;} 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; } inline bool ResponseCodeHasBeenSet() const { return m_responseCodeHasBeenSet; } inline void SetResponseCode(const Aws::String& value) { m_responseCodeHasBeenSet = true; m_responseCode = value; } inline void SetResponseCode(Aws::String&& value) { m_responseCodeHasBeenSet = true; m_responseCode = std::move(value); } inline void SetResponseCode(const char* value) { m_responseCodeHasBeenSet = true; m_responseCode.assign(value); } inline StepExecution& WithResponseCode(const Aws::String& value) { SetResponseCode(value); return *this;} inline StepExecution& WithResponseCode(Aws::String&& value) { SetResponseCode(std::move(value)); return *this;} inline StepExecution& WithResponseCode(const char* value) { SetResponseCode(value); return *this;} ///@} ///@{ /** *Fully-resolved values passed into the step before execution.
*/ inline const Aws::MapReturned values from the execution of the step.
*/ inline const Aws::MapA message associated with the response code for an execution.
*/ inline const Aws::String& GetResponse() const{ return m_response; } inline bool ResponseHasBeenSet() const { return m_responseHasBeenSet; } inline void SetResponse(const Aws::String& value) { m_responseHasBeenSet = true; m_response = value; } inline void SetResponse(Aws::String&& value) { m_responseHasBeenSet = true; m_response = std::move(value); } inline void SetResponse(const char* value) { m_responseHasBeenSet = true; m_response.assign(value); } inline StepExecution& WithResponse(const Aws::String& value) { SetResponse(value); return *this;} inline StepExecution& WithResponse(Aws::String&& value) { SetResponse(std::move(value)); return *this;} 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; } inline bool FailureMessageHasBeenSet() const { return m_failureMessageHasBeenSet; } inline void SetFailureMessage(const Aws::String& value) { m_failureMessageHasBeenSet = true; m_failureMessage = value; } inline void SetFailureMessage(Aws::String&& value) { m_failureMessageHasBeenSet = true; m_failureMessage = std::move(value); } inline void SetFailureMessage(const char* value) { m_failureMessageHasBeenSet = true; m_failureMessage.assign(value); } inline StepExecution& WithFailureMessage(const Aws::String& value) { SetFailureMessage(value); return *this;} inline StepExecution& WithFailureMessage(Aws::String&& value) { SetFailureMessage(std::move(value)); return *this;} inline StepExecution& WithFailureMessage(const char* value) { SetFailureMessage(value); return *this;} ///@} ///@{ /** *Information about the Automation failure.
*/ inline const FailureDetails& GetFailureDetails() const{ return m_failureDetails; } inline bool FailureDetailsHasBeenSet() const { return m_failureDetailsHasBeenSet; } inline void SetFailureDetails(const FailureDetails& value) { m_failureDetailsHasBeenSet = true; m_failureDetails = value; } inline void SetFailureDetails(FailureDetails&& value) { m_failureDetailsHasBeenSet = true; m_failureDetails = std::move(value); } inline StepExecution& WithFailureDetails(const FailureDetails& value) { SetFailureDetails(value); return *this;} 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; } inline bool StepExecutionIdHasBeenSet() const { return m_stepExecutionIdHasBeenSet; } inline void SetStepExecutionId(const Aws::String& value) { m_stepExecutionIdHasBeenSet = true; m_stepExecutionId = value; } inline void SetStepExecutionId(Aws::String&& value) { m_stepExecutionIdHasBeenSet = true; m_stepExecutionId = std::move(value); } inline void SetStepExecutionId(const char* value) { m_stepExecutionIdHasBeenSet = true; m_stepExecutionId.assign(value); } inline StepExecution& WithStepExecutionId(const Aws::String& value) { SetStepExecutionId(value); return *this;} inline StepExecution& WithStepExecutionId(Aws::String&& value) { SetStepExecutionId(std::move(value)); return *this;} 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::MapThe flag which can be used to end automation no matter whether the step * succeeds or fails.
*/ inline bool GetIsEnd() const{ return m_isEnd; } inline bool IsEndHasBeenSet() const { return m_isEndHasBeenSet; } inline void SetIsEnd(bool value) { m_isEndHasBeenSet = true; m_isEnd = value; } 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; } inline bool NextStepHasBeenSet() const { return m_nextStepHasBeenSet; } inline void SetNextStep(const Aws::String& value) { m_nextStepHasBeenSet = true; m_nextStep = value; } inline void SetNextStep(Aws::String&& value) { m_nextStepHasBeenSet = true; m_nextStep = std::move(value); } inline void SetNextStep(const char* value) { m_nextStepHasBeenSet = true; m_nextStep.assign(value); } inline StepExecution& WithNextStep(const Aws::String& value) { SetNextStep(value); return *this;} inline StepExecution& WithNextStep(Aws::String&& value) { SetNextStep(std::move(value)); return *this;} 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; } inline bool IsCriticalHasBeenSet() const { return m_isCriticalHasBeenSet; } inline void SetIsCritical(bool value) { m_isCriticalHasBeenSet = true; m_isCritical = value; } 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::VectorThe targets for the step execution.
*/ inline const Aws::VectorThe 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; } inline bool TargetLocationHasBeenSet() const { return m_targetLocationHasBeenSet; } inline void SetTargetLocation(const TargetLocation& value) { m_targetLocationHasBeenSet = true; m_targetLocation = value; } inline void SetTargetLocation(TargetLocation&& value) { m_targetLocationHasBeenSet = true; m_targetLocation = std::move(value); } inline StepExecution& WithTargetLocation(const TargetLocation& value) { SetTargetLocation(value); return *this;} inline StepExecution& WithTargetLocation(TargetLocation&& value) { SetTargetLocation(std::move(value)); return *this;} ///@} ///@{ /** *The CloudWatch alarms that were invoked by the automation.
*/ inline const Aws::VectorInformation about the parent step.
*/ inline const ParentStepDetails& GetParentStepDetails() const{ return m_parentStepDetails; } inline bool ParentStepDetailsHasBeenSet() const { return m_parentStepDetailsHasBeenSet; } inline void SetParentStepDetails(const ParentStepDetails& value) { m_parentStepDetailsHasBeenSet = true; m_parentStepDetails = value; } inline void SetParentStepDetails(ParentStepDetails&& value) { m_parentStepDetailsHasBeenSet = true; m_parentStepDetails = std::move(value); } inline StepExecution& WithParentStepDetails(const ParentStepDetails& value) { SetParentStepDetails(value); return *this;} inline StepExecution& WithParentStepDetails(ParentStepDetails&& value) { SetParentStepDetails(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