Amazon Simple Systems Manager (SSM)

2018/11/16 - Amazon Simple Systems Manager (SSM) - 4 updated api methods

Changes  AWS Systems Manager Automation now allows you to execute and manage Automation workflows across multiple accounts and regions.

DescribeAutomationExecutions (updated) Link ¶
Changes (request, response)
Request
{'Filters': {'Key': {'AutomationType'}}}
Response
{'AutomationExecutionMetadataList': {'AutomationType': 'CrossAccount | Local'}}

Provides details about all active and terminated Automation executions.

See also: AWS API Documentation

Request Syntax

client.describe_automation_executions(
    Filters=[
        {
            'Key': 'DocumentNamePrefix'|'ExecutionStatus'|'ExecutionId'|'ParentExecutionId'|'CurrentAction'|'StartTimeBefore'|'StartTimeAfter'|'AutomationType',
            'Values': [
                'string',
            ]
        },
    ],
    MaxResults=123,
    NextToken='string'
)
type Filters

list

param Filters

Filters used to limit the scope of executions that are requested.

  • (dict) --

    A filter used to match specific automation executions. This is used to limit the scope of Automation execution information returned.

    • Key (string) -- [REQUIRED]

      One or more keys to limit the results. Valid filter keys include the following: DocumentNamePrefix, ExecutionStatus, ExecutionId, ParentExecutionId, CurrentAction, StartTimeBefore, StartTimeAfter.

    • Values (list) -- [REQUIRED]

      The values used to limit the execution information associated with the filter's key.

      • (string) --

type MaxResults

integer

param MaxResults

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.

type NextToken

string

param NextToken

The token for the next set of items to return. (You received this token from a previous call.)

rtype

dict

returns

Response Syntax

{
    'AutomationExecutionMetadataList': [
        {
            'AutomationExecutionId': 'string',
            'DocumentName': 'string',
            'DocumentVersion': 'string',
            'AutomationExecutionStatus': 'Pending'|'InProgress'|'Waiting'|'Success'|'TimedOut'|'Cancelling'|'Cancelled'|'Failed',
            'ExecutionStartTime': datetime(2015, 1, 1),
            'ExecutionEndTime': datetime(2015, 1, 1),
            'ExecutedBy': 'string',
            'LogFile': 'string',
            'Outputs': {
                'string': [
                    'string',
                ]
            },
            'Mode': 'Auto'|'Interactive',
            'ParentAutomationExecutionId': 'string',
            'CurrentStepName': 'string',
            'CurrentAction': 'string',
            'FailureMessage': 'string',
            'TargetParameterName': 'string',
            'Targets': [
                {
                    'Key': 'string',
                    'Values': [
                        'string',
                    ]
                },
            ],
            'TargetMaps': [
                {
                    'string': [
                        'string',
                    ]
                },
            ],
            'ResolvedTargets': {
                'ParameterValues': [
                    'string',
                ],
                'Truncated': True|False
            },
            'MaxConcurrency': 'string',
            'MaxErrors': 'string',
            'Target': 'string',
            'AutomationType': 'CrossAccount'|'Local'
        },
    ],
    'NextToken': 'string'
}

Response Structure

  • (dict) --

    • AutomationExecutionMetadataList (list) --

      The list of details about each automation execution which has occurred which matches the filter specification, if any.

      • (dict) --

        Details about a specific Automation execution.

        • AutomationExecutionId (string) --

          The execution ID.

        • DocumentName (string) --

          The name of the Automation document used during execution.

        • DocumentVersion (string) --

          The document version used during the execution.

        • AutomationExecutionStatus (string) --

          The status of the execution. Valid values include: Running, Succeeded, Failed, Timed out, or Cancelled.

        • ExecutionStartTime (datetime) --

          The time the execution started.>

        • ExecutionEndTime (datetime) --

          The time the execution finished. This is not populated if the execution is still in progress.

        • ExecutedBy (string) --

          The IAM role ARN of the user who executed the Automation.

        • LogFile (string) --

          An Amazon S3 bucket where execution information is stored.

        • Outputs (dict) --

          The list of execution outputs as defined in the Automation document.

          • (string) --

            • (list) --

              • (string) --

        • Mode (string) --

          The Automation execution mode.

        • ParentAutomationExecutionId (string) --

          The ExecutionId of the parent Automation.

        • CurrentStepName (string) --

          The name of the currently executing step.

        • CurrentAction (string) --

          The action of the currently executing step.

        • FailureMessage (string) --

          The list of execution outputs as defined in the Automation document.

        • TargetParameterName (string) --

          The list of execution outputs as defined in the Automation document.

        • Targets (list) --

          The targets defined by the user when starting the Automation.

          • (dict) --

            An array of search criteria that targets instances using a Key,Value combination that you specify. Targets is required if you don't provide one or more instance IDs in the call.

            • Key (string) --

              User-defined criteria for sending commands that target instances that meet the criteria. Key can be tag:<Amazon EC2 tag> or InstanceIds. For more information about how to send commands that target instances using Key,Value parameters, see Targeting Multiple Instances in the AWS Systems Manager User Guide .

            • Values (list) --

              User-defined criteria that maps to Key. For example, if you specified tag:ServerRole, you could specify value:WebServer to execute a command on instances that include Amazon EC2 tags of ServerRole,WebServer. For more information about how to send commands that target instances using Key,Value parameters, see Sending Commands to a Fleet in the AWS Systems Manager User Guide .

              • (string) --

        • TargetMaps (list) --

          The specified key-value mapping of document parameters to target resources.

          • (dict) --

            • (string) --

              • (list) --

                • (string) --

        • ResolvedTargets (dict) --

          A list of targets that resolved during the execution.

          • ParameterValues (list) --

            A list of parameter values sent to targets that resolved during the Automation execution.

            • (string) --

          • Truncated (boolean) --

            A boolean value indicating whether the resolved target list is truncated.

        • MaxConcurrency (string) --

          The MaxConcurrency value specified by the user when starting the Automation.

        • MaxErrors (string) --

          The MaxErrors value specified by the user when starting the Automation.

        • Target (string) --

          The list of execution outputs as defined in the Automation document.

        • AutomationType (string) --

          Use this filter with DescribeAutomationExecution. Specify either Local of CrossAccount. CrossAccount is an Automation that executes in multiple AWS Regions and accounts. For more information, see Concurrently Executing Automations in Multiple AWS Regions and Accounts in the AWS Systems Manager User Guide .

    • 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.

DescribeAutomationStepExecutions (updated) Link ¶
Changes (response)
{'StepExecutions': {'TargetLocation': {'Accounts': ['string'],
                                       'ExecutionRoleName': 'string',
                                       'Regions': ['string'],
                                       'TargetLocationMaxConcurrency': 'string',
                                       'TargetLocationMaxErrors': 'string'},
                    'Targets': [{'Key': 'string', 'Values': ['string']}]}}

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

See also: AWS API Documentation

Request Syntax

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

string

param AutomationExecutionId

[REQUIRED]

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

type Filters

list

param Filters

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) --

type NextToken

string

param NextToken

The token for the next set of items to return. (You received this token from a previous call.)

type MaxResults

integer

param MaxResults

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.

type ReverseOrder

boolean

param ReverseOrder

A boolean that indicates whether to list step executions in reverse order by start time. The default value is false.

rtype

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',
            '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'
            }
        },
    ],
    '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 is not populated.

        • ExecutionEndTime (datetime) --

          If a step has finished execution, this contains the time the execution ended. If the step has not yet concluded, this field is not populated.

        • StepStatus (string) --

          The execution status for this step. Valid values include: Pending, InProgress, Success, Cancelled, Failed, and TimedOut.

        • 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 executing 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 execute 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 instances using a Key,Value combination that you specify. Targets is required if you don't provide one or more instance IDs in the call.

            • Key (string) --

              User-defined criteria for sending commands that target instances that meet the criteria. Key can be tag:<Amazon EC2 tag> or InstanceIds. For more information about how to send commands that target instances using Key,Value parameters, see Targeting Multiple Instances in the AWS Systems Manager User Guide .

            • Values (list) --

              User-defined criteria that maps to Key. For example, if you specified tag:ServerRole, you could specify value:WebServer to execute a command on instances that include Amazon EC2 tags of ServerRole,WebServer. For more information about how to send commands that target instances using Key,Value parameters, see Sending Commands to a Fleet in the AWS Systems Manager User Guide .

              • (string) --

        • TargetLocation (dict) --

          The combination of AWS Regions and accounts targeted by the current Automation execution.

          • Accounts (list) --

            The AWS accounts targeted by the current Automation execution.

            • (string) --

          • Regions (list) --

            The AWS Regions targeted by the current Automation execution.

            • (string) --

          • TargetLocationMaxConcurrency (string) --

            The maxium number of AWS accounts and AWS regions allowed to run the Automation concurrently

          • TargetLocationMaxErrors (string) --

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

          • ExecutionRoleName (string) --

            The Automation execution role used by the currently executing Automation.

    • 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.

GetAutomationExecution (updated) Link ¶
Changes (response)
{'AutomationExecution': {'ProgressCounters': {'CancelledSteps': 'integer',
                                              'FailedSteps': 'integer',
                                              'SuccessSteps': 'integer',
                                              'TimedOutSteps': 'integer',
                                              'TotalSteps': 'integer'},
                         'StepExecutions': {'TargetLocation': {'Accounts': ['string'],
                                                               'ExecutionRoleName': 'string',
                                                               'Regions': ['string'],
                                                               'TargetLocationMaxConcurrency': 'string',
                                                               'TargetLocationMaxErrors': 'string'},
                                            'Targets': [{'Key': 'string',
                                                         'Values': ['string']}]},
                         'TargetLocations': [{'Accounts': ['string'],
                                              'ExecutionRoleName': 'string',
                                              'Regions': ['string'],
                                              'TargetLocationMaxConcurrency': 'string',
                                              'TargetLocationMaxErrors': 'string'}]}}

Get detailed information about a particular Automation execution.

See also: AWS API Documentation

Request Syntax

client.get_automation_execution(
    AutomationExecutionId='string'
)
type AutomationExecutionId

string

param AutomationExecutionId

[REQUIRED]

The unique identifier for an existing automation execution to examine. The execution ID is returned by StartAutomationExecution when the execution of an Automation document is initiated.

rtype

dict

returns

Response Syntax

{
    'AutomationExecution': {
        'AutomationExecutionId': 'string',
        'DocumentName': 'string',
        'DocumentVersion': 'string',
        'ExecutionStartTime': datetime(2015, 1, 1),
        'ExecutionEndTime': datetime(2015, 1, 1),
        'AutomationExecutionStatus': 'Pending'|'InProgress'|'Waiting'|'Success'|'TimedOut'|'Cancelling'|'Cancelled'|'Failed',
        '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',
                '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'
                }
            },
        ],
        'StepExecutionsTruncated': True|False,
        'Parameters': {
            'string': [
                'string',
            ]
        },
        'Outputs': {
            'string': [
                'string',
            ]
        },
        'FailureMessage': 'string',
        'Mode': 'Auto'|'Interactive',
        'ParentAutomationExecutionId': 'string',
        'ExecutedBy': 'string',
        'CurrentStepName': 'string',
        'CurrentAction': 'string',
        'TargetParameterName': 'string',
        'Targets': [
            {
                'Key': 'string',
                'Values': [
                    'string',
                ]
            },
        ],
        'TargetMaps': [
            {
                'string': [
                    'string',
                ]
            },
        ],
        'ResolvedTargets': {
            'ParameterValues': [
                'string',
            ],
            'Truncated': True|False
        },
        'MaxConcurrency': 'string',
        'MaxErrors': 'string',
        'Target': 'string',
        'TargetLocations': [
            {
                'Accounts': [
                    'string',
                ],
                'Regions': [
                    'string',
                ],
                'TargetLocationMaxConcurrency': 'string',
                'TargetLocationMaxErrors': 'string',
                'ExecutionRoleName': 'string'
            },
        ],
        'ProgressCounters': {
            'TotalSteps': 123,
            'SuccessSteps': 123,
            'FailedSteps': 123,
            'CancelledSteps': 123,
            'TimedOutSteps': 123
        }
    }
}

Response Structure

  • (dict) --

    • AutomationExecution (dict) --

      Detailed information about the current state of an automation execution.

      • AutomationExecutionId (string) --

        The execution ID.

      • DocumentName (string) --

        The name of the Automation document used during the execution.

      • DocumentVersion (string) --

        The version of the document to use during execution.

      • ExecutionStartTime (datetime) --

        The time the execution started.

      • ExecutionEndTime (datetime) --

        The time the execution finished.

      • AutomationExecutionStatus (string) --

        The execution status of the Automation.

      • StepExecutions (list) --

        A list of details about the current state of all steps that comprise an execution. An Automation document contains a list of steps that are executed in order.

        • (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 is not populated.

          • ExecutionEndTime (datetime) --

            If a step has finished execution, this contains the time the execution ended. If the step has not yet concluded, this field is not populated.

          • StepStatus (string) --

            The execution status for this step. Valid values include: Pending, InProgress, Success, Cancelled, Failed, and TimedOut.

          • 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 executing 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 execute 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 instances using a Key,Value combination that you specify. Targets is required if you don't provide one or more instance IDs in the call.

              • Key (string) --

                User-defined criteria for sending commands that target instances that meet the criteria. Key can be tag:<Amazon EC2 tag> or InstanceIds. For more information about how to send commands that target instances using Key,Value parameters, see Targeting Multiple Instances in the AWS Systems Manager User Guide .

              • Values (list) --

                User-defined criteria that maps to Key. For example, if you specified tag:ServerRole, you could specify value:WebServer to execute a command on instances that include Amazon EC2 tags of ServerRole,WebServer. For more information about how to send commands that target instances using Key,Value parameters, see Sending Commands to a Fleet in the AWS Systems Manager User Guide .

                • (string) --

          • TargetLocation (dict) --

            The combination of AWS Regions and accounts targeted by the current Automation execution.

            • Accounts (list) --

              The AWS accounts targeted by the current Automation execution.

              • (string) --

            • Regions (list) --

              The AWS Regions targeted by the current Automation execution.

              • (string) --

            • TargetLocationMaxConcurrency (string) --

              The maxium number of AWS accounts and AWS regions allowed to run the Automation concurrently

            • TargetLocationMaxErrors (string) --

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

            • ExecutionRoleName (string) --

              The Automation execution role used by the currently executing Automation.

      • StepExecutionsTruncated (boolean) --

        A boolean value that indicates if the response contains the full list of the Automation step executions. If true, use the DescribeAutomationStepExecutions API action to get the full list of step executions.

      • Parameters (dict) --

        The key-value map of execution parameters, which were supplied when calling StartAutomationExecution.

        • (string) --

          • (list) --

            • (string) --

      • Outputs (dict) --

        The list of execution outputs as defined in the automation document.

        • (string) --

          • (list) --

            • (string) --

      • FailureMessage (string) --

        A message describing why an execution has failed, if the status is set to Failed.

      • Mode (string) --

        The automation execution mode.

      • ParentAutomationExecutionId (string) --

        The AutomationExecutionId of the parent automation.

      • ExecutedBy (string) --

        The Amazon Resource Name (ARN) of the user who executed the automation.

      • CurrentStepName (string) --

        The name of the currently executing step.

      • CurrentAction (string) --

        The action of the currently executing step.

      • TargetParameterName (string) --

        The parameter name.

      • Targets (list) --

        The specified targets.

        • (dict) --

          An array of search criteria that targets instances using a Key,Value combination that you specify. Targets is required if you don't provide one or more instance IDs in the call.

          • Key (string) --

            User-defined criteria for sending commands that target instances that meet the criteria. Key can be tag:<Amazon EC2 tag> or InstanceIds. For more information about how to send commands that target instances using Key,Value parameters, see Targeting Multiple Instances in the AWS Systems Manager User Guide .

          • Values (list) --

            User-defined criteria that maps to Key. For example, if you specified tag:ServerRole, you could specify value:WebServer to execute a command on instances that include Amazon EC2 tags of ServerRole,WebServer. For more information about how to send commands that target instances using Key,Value parameters, see Sending Commands to a Fleet in the AWS Systems Manager User Guide .

            • (string) --

      • TargetMaps (list) --

        The specified key-value mapping of document parameters to target resources.

        • (dict) --

          • (string) --

            • (list) --

              • (string) --

      • ResolvedTargets (dict) --

        A list of resolved targets in the rate control execution.

        • ParameterValues (list) --

          A list of parameter values sent to targets that resolved during the Automation execution.

          • (string) --

        • Truncated (boolean) --

          A boolean value indicating whether the resolved target list is truncated.

      • MaxConcurrency (string) --

        The MaxConcurrency value specified by the user when the execution started.

      • MaxErrors (string) --

        The MaxErrors value specified by the user when the execution started.

      • Target (string) --

        The target of the execution.

      • TargetLocations (list) --

        The combination of AWS Regions and/or AWS accounts where you want to execute the Automation.

        • (dict) --

          The combination of AWS Regions and accounts targeted by the current Automation execution.

          • Accounts (list) --

            The AWS accounts targeted by the current Automation execution.

            • (string) --

          • Regions (list) --

            The AWS Regions targeted by the current Automation execution.

            • (string) --

          • TargetLocationMaxConcurrency (string) --

            The maxium number of AWS accounts and AWS regions allowed to run the Automation concurrently

          • TargetLocationMaxErrors (string) --

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

          • ExecutionRoleName (string) --

            The Automation execution role used by the currently executing Automation.

      • ProgressCounters (dict) --

        An aggregate of step execution statuses displayed in the AWS Console for a multi-Region and multi-account Automation execution.

        • TotalSteps (integer) --

          The total number of steps executed in all specified AWS Regions and accounts for the current Automation execution.

        • SuccessSteps (integer) --

          The total number of steps that successfully completed in all specified AWS Regions and accounts for the current Automation execution.

        • FailedSteps (integer) --

          The total number of steps that failed to execute in all specified AWS Regions and accounts for the current Automation execution.

        • CancelledSteps (integer) --

          The total number of steps that the system cancelled in all specified AWS Regions and accounts for the current Automation execution.

        • TimedOutSteps (integer) --

          The total number of steps that timed out in all specified AWS Regions and accounts for the current Automation execution.

StartAutomationExecution (updated) Link ¶
Changes (request)
{'TargetLocations': [{'Accounts': ['string'],
                      'ExecutionRoleName': 'string',
                      'Regions': ['string'],
                      'TargetLocationMaxConcurrency': 'string',
                      'TargetLocationMaxErrors': 'string'}]}

Initiates execution of an Automation document.

See also: AWS API Documentation

Request Syntax

client.start_automation_execution(
    DocumentName='string',
    DocumentVersion='string',
    Parameters={
        'string': [
            'string',
        ]
    },
    ClientToken='string',
    Mode='Auto'|'Interactive',
    TargetParameterName='string',
    Targets=[
        {
            'Key': 'string',
            'Values': [
                'string',
            ]
        },
    ],
    TargetMaps=[
        {
            'string': [
                'string',
            ]
        },
    ],
    MaxConcurrency='string',
    MaxErrors='string',
    TargetLocations=[
        {
            'Accounts': [
                'string',
            ],
            'Regions': [
                'string',
            ],
            'TargetLocationMaxConcurrency': 'string',
            'TargetLocationMaxErrors': 'string',
            'ExecutionRoleName': 'string'
        },
    ]
)
type DocumentName

string

param DocumentName

[REQUIRED]

The name of the Automation document to use for this execution.

type DocumentVersion

string

param DocumentVersion

The version of the Automation document to use for this execution.

type Parameters

dict

param Parameters

A key-value map of execution parameters, which match the declared parameters in the Automation document.

  • (string) --

    • (list) --

      • (string) --

type ClientToken

string

param ClientToken

User-provided idempotency token. The token must be unique, is case insensitive, enforces the UUID format, and can't be reused.

type Mode

string

param Mode

The execution mode of the automation. Valid modes include the following: Auto and Interactive. The default mode is Auto.

type TargetParameterName

string

param TargetParameterName

The name of the parameter used as the target resource for the rate-controlled execution. Required if you specify targets.

type Targets

list

param Targets

A key-value mapping to target resources. Required if you specify TargetParameterName.

  • (dict) --

    An array of search criteria that targets instances using a Key,Value combination that you specify. Targets is required if you don't provide one or more instance IDs in the call.

    • Key (string) --

      User-defined criteria for sending commands that target instances that meet the criteria. Key can be tag:<Amazon EC2 tag> or InstanceIds. For more information about how to send commands that target instances using Key,Value parameters, see Targeting Multiple Instances in the AWS Systems Manager User Guide .

    • Values (list) --

      User-defined criteria that maps to Key. For example, if you specified tag:ServerRole, you could specify value:WebServer to execute a command on instances that include Amazon EC2 tags of ServerRole,WebServer. For more information about how to send commands that target instances using Key,Value parameters, see Sending Commands to a Fleet in the AWS Systems Manager User Guide .

      • (string) --

type TargetMaps

list

param TargetMaps

A key-value mapping of document parameters to target resources. Both Targets and TargetMaps cannot be specified together.

  • (dict) --

    • (string) --

      • (list) --

        • (string) --

type MaxConcurrency

string

param MaxConcurrency

The maximum number of targets allowed to run this task in parallel. You can specify a number, such as 10, or a percentage, such as 10%. The default value is 10.

type MaxErrors

string

param MaxErrors

The number of errors that are allowed before the system stops running the automation on additional targets. You can specify either an absolute number of errors, for example 10, or a percentage of the target set, for example 10%. If you specify 3, for example, the system stops running the automation when the fourth error is received. If you specify 0, then the system stops running the automation on additional targets after the first error result is returned. If you run an automation on 50 resources and set max-errors to 10%, then the system stops running the automation on additional targets when the sixth error is received.

Executions that are already running an automation when max-errors is reached are allowed to complete, but some of these executions may fail as well. If you need to ensure that there won't be more than max-errors failed executions, set max-concurrency to 1 so the executions proceed one at a time.

type TargetLocations

list

param TargetLocations

A location is a combination of AWS Regions and/or AWS accounts where you want to execute the Automation. Use this action to start an Automation in multiple Regions and multiple accounts. For more information, see Concurrently Executing Automations in Multiple AWS Regions and Accounts in the AWS Systems Manager User Guide .

  • (dict) --

    The combination of AWS Regions and accounts targeted by the current Automation execution.

    • Accounts (list) --

      The AWS accounts targeted by the current Automation execution.

      • (string) --

    • Regions (list) --

      The AWS Regions targeted by the current Automation execution.

      • (string) --

    • TargetLocationMaxConcurrency (string) --

      The maxium number of AWS accounts and AWS regions allowed to run the Automation concurrently

    • TargetLocationMaxErrors (string) --

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

    • ExecutionRoleName (string) --

      The Automation execution role used by the currently executing Automation.

rtype

dict

returns

Response Syntax

{
    'AutomationExecutionId': 'string'
}

Response Structure

  • (dict) --

    • AutomationExecutionId (string) --

      The unique ID of a newly scheduled automation execution.