/* * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). * You may not use this file except in compliance with the License. * A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either * express or implied. See the License for the specific language governing * permissions and limitations under the License. */ /* * Do not modify this file. This file is generated from the ssm-2014-11-06.normal.json service model. */ using System; using System.Collections.Generic; using System.Xml.Serialization; using System.Text; using System.IO; using System.Net; using Amazon.Runtime; using Amazon.Runtime.Internal; namespace Amazon.SimpleSystemsManagement.Model { /// /// Detailed information about an the execution state of an Automation step. /// public partial class StepExecution { private string _action; private DateTime? _executionEndTime; private DateTime? _executionStartTime; private FailureDetails _failureDetails; private string _failureMessage; private Dictionary _inputs = new Dictionary(); private bool? _isCritical; private bool? _isEnd; private int? _maxAttempts; private string _nextStep; private string _onFailure; private Dictionary> _outputs = new Dictionary>(); private Dictionary> _overriddenParameters = new Dictionary>(); private string _response; private string _responseCode; private string _stepExecutionId; private string _stepName; private AutomationExecutionStatus _stepStatus; private TargetLocation _targetLocation; private List _targets = new List(); private long? _timeoutSeconds; private List _triggeredAlarms = new List(); private List _validNextSteps = new List(); /// /// Gets and sets the property Action. /// /// The action this step performs. The action determines the behavior of the step. /// /// public string Action { get { return this._action; } set { this._action = value; } } // Check to see if Action property is set internal bool IsSetAction() { return this._action != null; } /// /// Gets and sets the property 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. /// /// public DateTime ExecutionEndTime { get { return this._executionEndTime.GetValueOrDefault(); } set { this._executionEndTime = value; } } // Check to see if ExecutionEndTime property is set internal bool IsSetExecutionEndTime() { return this._executionEndTime.HasValue; } /// /// Gets and sets the property 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. /// /// public DateTime ExecutionStartTime { get { return this._executionStartTime.GetValueOrDefault(); } set { this._executionStartTime = value; } } // Check to see if ExecutionStartTime property is set internal bool IsSetExecutionStartTime() { return this._executionStartTime.HasValue; } /// /// Gets and sets the property FailureDetails. /// /// Information about the Automation failure. /// /// public FailureDetails FailureDetails { get { return this._failureDetails; } set { this._failureDetails = value; } } // Check to see if FailureDetails property is set internal bool IsSetFailureDetails() { return this._failureDetails != null; } /// /// Gets and sets the property FailureMessage. /// /// If a step failed, this message explains why the execution failed. /// /// public string FailureMessage { get { return this._failureMessage; } set { this._failureMessage = value; } } // Check to see if FailureMessage property is set internal bool IsSetFailureMessage() { return this._failureMessage != null; } /// /// Gets and sets the property Inputs. /// /// Fully-resolved values passed into the step before execution. /// /// public Dictionary Inputs { get { return this._inputs; } set { this._inputs = value; } } // Check to see if Inputs property is set internal bool IsSetInputs() { return this._inputs != null && this._inputs.Count > 0; } /// /// Gets and sets the property IsCritical. /// /// The flag which can be used to help decide whether the failure of current step leads /// to the Automation failure. /// /// public bool IsCritical { get { return this._isCritical.GetValueOrDefault(); } set { this._isCritical = value; } } // Check to see if IsCritical property is set internal bool IsSetIsCritical() { return this._isCritical.HasValue; } /// /// Gets and sets the property IsEnd. /// /// The flag which can be used to end automation no matter whether the step succeeds or /// fails. /// /// public bool IsEnd { get { return this._isEnd.GetValueOrDefault(); } set { this._isEnd = value; } } // Check to see if IsEnd property is set internal bool IsSetIsEnd() { return this._isEnd.HasValue; } /// /// Gets and sets the property MaxAttempts. /// /// The maximum number of tries to run the action of the step. The default value is 1. /// /// public int MaxAttempts { get { return this._maxAttempts.GetValueOrDefault(); } set { this._maxAttempts = value; } } // Check to see if MaxAttempts property is set internal bool IsSetMaxAttempts() { return this._maxAttempts.HasValue; } /// /// Gets and sets the property NextStep. /// /// The next step after the step succeeds. /// /// public string NextStep { get { return this._nextStep; } set { this._nextStep = value; } } // Check to see if NextStep property is set internal bool IsSetNextStep() { return this._nextStep != null; } /// /// Gets and sets the property OnFailure. /// /// The action to take if the step fails. The default value is Abort. /// /// public string OnFailure { get { return this._onFailure; } set { this._onFailure = value; } } // Check to see if OnFailure property is set internal bool IsSetOnFailure() { return this._onFailure != null; } /// /// Gets and sets the property Outputs. /// /// Returned values from the execution of the step. /// /// [AWSProperty(Min=1, Max=200)] public Dictionary> Outputs { get { return this._outputs; } set { this._outputs = value; } } // Check to see if Outputs property is set internal bool IsSetOutputs() { return this._outputs != null && this._outputs.Count > 0; } /// /// Gets and sets the property OverriddenParameters. /// /// A user-specified list of parameters to override when running a step. /// /// [AWSProperty(Min=1, Max=200)] public Dictionary> OverriddenParameters { get { return this._overriddenParameters; } set { this._overriddenParameters = value; } } // Check to see if OverriddenParameters property is set internal bool IsSetOverriddenParameters() { return this._overriddenParameters != null && this._overriddenParameters.Count > 0; } /// /// Gets and sets the property Response. /// /// A message associated with the response code for an execution. /// /// public string Response { get { return this._response; } set { this._response = value; } } // Check to see if Response property is set internal bool IsSetResponse() { return this._response != null; } /// /// Gets and sets the property ResponseCode. /// /// The response code returned by the execution of the step. /// /// public string ResponseCode { get { return this._responseCode; } set { this._responseCode = value; } } // Check to see if ResponseCode property is set internal bool IsSetResponseCode() { return this._responseCode != null; } /// /// Gets and sets the property StepExecutionId. /// /// The unique ID of a step execution. /// /// public string StepExecutionId { get { return this._stepExecutionId; } set { this._stepExecutionId = value; } } // Check to see if StepExecutionId property is set internal bool IsSetStepExecutionId() { return this._stepExecutionId != null; } /// /// Gets and sets the property StepName. /// /// The name of this execution step. /// /// public string StepName { get { return this._stepName; } set { this._stepName = value; } } // Check to see if StepName property is set internal bool IsSetStepName() { return this._stepName != null; } /// /// Gets and sets the property StepStatus. /// /// The execution status for this step. /// /// public AutomationExecutionStatus StepStatus { get { return this._stepStatus; } set { this._stepStatus = value; } } // Check to see if StepStatus property is set internal bool IsSetStepStatus() { return this._stepStatus != null; } /// /// Gets and sets the property TargetLocation. /// /// The combination of Amazon Web Services Regions and Amazon Web Services accounts targeted /// by the current Automation execution. /// /// public TargetLocation TargetLocation { get { return this._targetLocation; } set { this._targetLocation = value; } } // Check to see if TargetLocation property is set internal bool IsSetTargetLocation() { return this._targetLocation != null; } /// /// Gets and sets the property Targets. /// /// The targets for the step execution. /// /// [AWSProperty(Min=0, Max=5)] public List Targets { get { return this._targets; } set { this._targets = value; } } // Check to see if Targets property is set internal bool IsSetTargets() { return this._targets != null && this._targets.Count > 0; } /// /// Gets and sets the property TimeoutSeconds. /// /// The timeout seconds of the step. /// /// public long TimeoutSeconds { get { return this._timeoutSeconds.GetValueOrDefault(); } set { this._timeoutSeconds = value; } } // Check to see if TimeoutSeconds property is set internal bool IsSetTimeoutSeconds() { return this._timeoutSeconds.HasValue; } /// /// Gets and sets the property TriggeredAlarms. /// /// The CloudWatch alarms that were invoked by the automation. /// /// [AWSProperty(Min=1, Max=1)] public List TriggeredAlarms { get { return this._triggeredAlarms; } set { this._triggeredAlarms = value; } } // Check to see if TriggeredAlarms property is set internal bool IsSetTriggeredAlarms() { return this._triggeredAlarms != null && this._triggeredAlarms.Count > 0; } /// /// Gets and sets the property 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. /// /// public List ValidNextSteps { get { return this._validNextSteps; } set { this._validNextSteps = value; } } // Check to see if ValidNextSteps property is set internal bool IsSetValidNextSteps() { return this._validNextSteps != null && this._validNextSteps.Count > 0; } } }