describe_automation_step_executions

describe_automation_step_executions(**kwargs)

Information about all active and terminated step executions in an Automation workflow.

See also: AWS API Documentation

Request Syntax

response = client.describe_automation_step_executions(
    AutomationExecutionId='string',
    Filters=[
        {
            'Key': 'StartTimeBefore'|'StartTimeAfter'|'StepExecutionStatus'|'StepExecutionId'|'StepName'|'Action',
            'Values': [
                'string',
            ]
        },
    ],
    NextToken='string',
    MaxResults=123,
    ReverseOrder=True|False
)
Parameters
  • AutomationExecutionId (string) --

    [REQUIRED]

    The Automation execution ID for which you want step execution descriptions.

  • Filters (list) --

    One or more filters to limit the number of step executions returned by the request.

    • (dict) --

      A filter to limit the amount of step execution information returned by the call.

      • Key (string) -- [REQUIRED]

        One or more keys to limit the results. Valid filter keys include the following: StepName, Action, StepExecutionId, StepExecutionStatus, StartTimeBefore, StartTimeAfter.

      • Values (list) -- [REQUIRED]

        The values of the filter key.

        • (string) --
  • NextToken (string) -- The token for the next set of items to return. (You received this token from a previous call.)
  • MaxResults (integer) -- The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.
  • ReverseOrder (boolean) -- Indicates whether to list step executions in reverse order by start time. The default value is 'false'.
Return type

dict

Returns

Response Syntax

{
    'StepExecutions': [
        {
            'StepName': 'string',
            'Action': 'string',
            'TimeoutSeconds': 123,
            'OnFailure': 'string',
            'MaxAttempts': 123,
            'ExecutionStartTime': datetime(2015, 1, 1),
            'ExecutionEndTime': datetime(2015, 1, 1),
            'StepStatus': 'Pending'|'InProgress'|'Waiting'|'Success'|'TimedOut'|'Cancelling'|'Cancelled'|'Failed'|'PendingApproval'|'Approved'|'Rejected'|'Scheduled'|'RunbookInProgress'|'PendingChangeCalendarOverride'|'ChangeCalendarOverrideApproved'|'ChangeCalendarOverrideRejected'|'CompletedWithSuccess'|'CompletedWithFailure',
            'ResponseCode': 'string',
            'Inputs': {
                'string': 'string'
            },
            'Outputs': {
                'string': [
                    'string',
                ]
            },
            'Response': 'string',
            'FailureMessage': 'string',
            'FailureDetails': {
                'FailureStage': 'string',
                'FailureType': 'string',
                'Details': {
                    'string': [
                        'string',
                    ]
                }
            },
            'StepExecutionId': 'string',
            'OverriddenParameters': {
                'string': [
                    'string',
                ]
            },
            'IsEnd': True|False,
            'NextStep': 'string',
            'IsCritical': True|False,
            'ValidNextSteps': [
                'string',
            ],
            'Targets': [
                {
                    'Key': 'string',
                    'Values': [
                        'string',
                    ]
                },
            ],
            'TargetLocation': {
                'Accounts': [
                    'string',
                ],
                'Regions': [
                    'string',
                ],
                'TargetLocationMaxConcurrency': 'string',
                'TargetLocationMaxErrors': 'string',
                'ExecutionRoleName': 'string',
                'TargetLocationAlarmConfiguration': {
                    'IgnorePollAlarmFailure': True|False,
                    'Alarms': [
                        {
                            'Name': 'string'
                        },
                    ]
                }
            },
            'TriggeredAlarms': [
                {
                    'Name': 'string',
                    'State': 'UNKNOWN'|'ALARM'
                },
            ]
        },
    ],
    'NextToken': 'string'
}

Response Structure

  • (dict) --

    • StepExecutions (list) --

      A list of details about the current state of all steps that make up an execution.

      • (dict) --

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

        • StepName (string) --

          The name of this execution step.

        • Action (string) --

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

        • TimeoutSeconds (integer) --

          The timeout seconds of the step.

        • OnFailure (string) --

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

        • MaxAttempts (integer) --

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

        • ExecutionStartTime (datetime) --

          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.

        • ExecutionEndTime (datetime) --

          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.

        • StepStatus (string) --

          The execution status for this step.

        • ResponseCode (string) --

          The response code returned by the execution of the step.

        • Inputs (dict) --

          Fully-resolved values passed into the step before execution.

          • (string) --
            • (string) --
        • Outputs (dict) --

          Returned values from the execution of the step.

          • (string) --
            • (list) --
              • (string) --
        • Response (string) --

          A message associated with the response code for an execution.

        • FailureMessage (string) --

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

        • FailureDetails (dict) --

          Information about the Automation failure.

          • FailureStage (string) --

            The stage of the Automation execution when the failure occurred. The stages include the following: InputValidation, PreVerification, Invocation, PostVerification.

          • FailureType (string) --

            The type of Automation failure. Failure types include the following: Action, Permission, Throttling, Verification, Internal.

          • Details (dict) --

            Detailed information about the Automation step failure.

            • (string) --
              • (list) --
                • (string) --
        • StepExecutionId (string) --

          The unique ID of a step execution.

        • OverriddenParameters (dict) --

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

          • (string) --
            • (list) --
              • (string) --
        • IsEnd (boolean) --

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

        • NextStep (string) --

          The next step after the step succeeds.

        • IsCritical (boolean) --

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

        • ValidNextSteps (list) --

          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.

          • (string) --
        • Targets (list) --

          The targets for the step execution.

          • (dict) --

            An array of search criteria that targets managed nodes using a key-value pair that you specify.

            Note

            One or more targets must be specified for maintenance window Run Command-type tasks. Depending on the task, targets are optional for other maintenance window task types (Automation, Lambda, and Step Functions). For more information about running tasks that don't specify targets, see Registering maintenance window tasks without targets in the Amazon Web Services Systems Manager User Guide .

            Supported formats include the following.

            • Key=InstanceIds,Values=<instance-id-1>,<instance-id-2>,<instance-id-3>
            • Key=tag:<my-tag-key>,Values=<my-tag-value-1>,<my-tag-value-2>
            • Key=tag-key,Values=<my-tag-key-1>,<my-tag-key-2>
            • Run Command and Maintenance window targets only : Key=resource-groups:Name,Values=<resource-group-name>
            • Maintenance window targets only : Key=resource-groups:ResourceTypeFilters,Values=<resource-type-1>,<resource-type-2>
            • Automation targets only : Key=ResourceGroup;Values=<resource-group-name>

            For example:

            • Key=InstanceIds,Values=i-02573cafcfEXAMPLE,i-0471e04240EXAMPLE,i-07782c72faEXAMPLE
            • Key=tag:CostCenter,Values=CostCenter1,CostCenter2,CostCenter3
            • Key=tag-key,Values=Name,Instance-Type,CostCenter
            • Run Command and Maintenance window targets only : Key=resource-groups:Name,Values=ProductionResourceGroup This example demonstrates how to target all resources in the resource group ProductionResourceGroup in your maintenance window.
            • Maintenance window targets only : Key=resource-groups:ResourceTypeFilters,Values=AWS::EC2::INSTANCE,AWS::EC2::VPC This example demonstrates how to target only Amazon Elastic Compute Cloud (Amazon EC2) instances and VPCs in your maintenance window.
            • Automation targets only : Key=ResourceGroup,Values=MyResourceGroup
            • State Manager association targets only : Key=InstanceIds,Values=* This example demonstrates how to target all managed instances in the Amazon Web Services Region where the association was created.

            For more information about how to send commands that target managed nodes using Key,Value parameters, see Targeting multiple instances in the Amazon Web Services Systems Manager User Guide .

            • Key (string) --

              User-defined criteria for sending commands that target managed nodes that meet the criteria.

            • Values (list) --

              User-defined criteria that maps to Key . For example, if you specified tag:ServerRole , you could specify value:WebServer to run a command on instances that include EC2 tags of ServerRole,WebServer .

              Depending on the type of target, the maximum number of values for a key might be lower than the global maximum of 50.

              • (string) --
        • TargetLocation (dict) --

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

          • Accounts (list) --

            The Amazon Web Services accounts targeted by the current Automation execution.

            • (string) --
          • Regions (list) --

            The Amazon Web Services Regions targeted by the current Automation execution.

            • (string) --
          • TargetLocationMaxConcurrency (string) --

            The maximum number of Amazon Web Services Regions and Amazon Web Services accounts allowed to run the Automation concurrently.

          • TargetLocationMaxErrors (string) --

            The maximum number of errors allowed before the system stops queueing additional Automation executions for the currently running Automation.

          • ExecutionRoleName (string) --

            The Automation execution role used by the currently running Automation. If not specified, the default value is AWS-SystemsManager-AutomationExecutionRole .

          • TargetLocationAlarmConfiguration (dict) --

            The details for the CloudWatch alarm you want to apply to an automation or command.

            • IgnorePollAlarmFailure (boolean) --

              When this value is true , your automation or command continues to run in cases where we can’t retrieve alarm status information from CloudWatch. In cases where we successfully retrieve an alarm status of OK or INSUFFICIENT_DATA, the automation or command continues to run, regardless of this value. Default is false .

            • Alarms (list) --

              The name of the CloudWatch alarm specified in the configuration.

              • (dict) --

                A CloudWatch alarm you apply to an automation or command.

                • Name (string) --

                  The name of your CloudWatch alarm.

        • TriggeredAlarms (list) --

          The CloudWatch alarms that were invoked by the automation.

          • (dict) --

            The details about the state of your CloudWatch alarm.

            • Name (string) --

              The name of your CloudWatch alarm.

            • State (string) --

              The state of your CloudWatch alarm.

    • NextToken (string) --

      The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

Exceptions

  • SSM.Client.exceptions.AutomationExecutionNotFoundException
  • SSM.Client.exceptions.InvalidNextToken
  • SSM.Client.exceptions.InvalidFilterKey
  • SSM.Client.exceptions.InvalidFilterValue
  • SSM.Client.exceptions.InternalServerError