Service Integrations

This module provides classes to build steps that integrate with Amazon DynamoDB, Amazon SNS, Amazon SQS and Amazon EMR.

Table of Contents

Amazon DynamoDB

class stepfunctions.steps.service.DynamoDBGetItemStep(state_id, **kwargs)

Bases: stepfunctions.steps.states.Task

Creates a Task state to get an item from DynamoDB. See Call DynamoDB APIs with Step Functions for more details.

Parameters:
  • state_id (str) – State name whose length must be less than or equal to 128 unicode characters. State names must be unique within the scope of the whole state machine.
  • comment (str, optional) – Human-readable comment or description. (default: None)
  • timeout_seconds (int, optional) – Positive integer specifying timeout for the state in seconds. If the state runs longer than the specified timeout, then the interpreter fails the state with a States.Timeout Error Name. (default: 60)
  • timeout_seconds_path (str, optional) – Path specifying the state’s timeout value in seconds from the state input. When resolved, the path must select a field whose value is a positive integer.
  • heartbeat_seconds (int, optional) – Positive integer specifying heartbeat timeout for the state in seconds. This value should be lower than the one specified for timeout_seconds. If more time than the specified heartbeat elapses between heartbeats from the task, then the interpreter fails the state with a States.Timeout Error Name.
  • heartbeat_seconds_path (str, optional) – Path specifying the state’s heartbeat value in seconds from the state input. When resolved, the path must select a field whose value is a positive integer.
  • input_path (str, optional) – Path applied to the state’s raw input to select some or all of it; that selection is used by the state. (default: ‘$’)
  • parameters (dict, optional) – The value of this field becomes the effective input for the state.
  • result_path (str, optional) – Path specifying the raw input’s combination with or replacement by the state’s result. (default: ‘$’)
  • output_path (str, optional) – Path applied to the state’s output after the application of result_path, producing the effective output which serves as the raw input for the next state. (default: ‘$’)
class stepfunctions.steps.service.DynamoDBPutItemStep(state_id, **kwargs)

Bases: stepfunctions.steps.states.Task

Creates a Task state to put an item to DynamoDB. See Call DynamoDB APIs with Step Functions for more details.

Parameters:
  • state_id (str) – State name whose length must be less than or equal to 128 unicode characters. State names must be unique within the scope of the whole state machine.
  • comment (str, optional) – Human-readable comment or description. (default: None)
  • timeout_seconds (int, optional) – Positive integer specifying timeout for the state in seconds. If the state runs longer than the specified timeout, then the interpreter fails the state with a States.Timeout Error Name. (default: 60)
  • timeout_seconds_path (str, optional) – Path specifying the state’s timeout value in seconds from the state input. When resolved, the path must select a field whose value is a positive integer.
  • heartbeat_seconds (int, optional) – Positive integer specifying heartbeat timeout for the state in seconds. This value should be lower than the one specified for timeout_seconds. If more time than the specified heartbeat elapses between heartbeats from the task, then the interpreter fails the state with a States.Timeout Error Name.
  • heartbeat_seconds_path (str, optional) – Path specifying the state’s heartbeat value in seconds from the state input. When resolved, the path must select a field whose value is a positive integer.
  • input_path (str, optional) – Path applied to the state’s raw input to select some or all of it; that selection is used by the state. (default: ‘$’)
  • parameters (dict, optional) – The value of this field becomes the effective input for the state.
  • result_path (str, optional) – Path specifying the raw input’s combination with or replacement by the state’s result. (default: ‘$’)
  • output_path (str, optional) – Path applied to the state’s output after the application of result_path, producing the effective output which serves as the raw input for the next state. (default: ‘$’)
class stepfunctions.steps.service.DynamoDBDeleteItemStep(state_id, **kwargs)

Bases: stepfunctions.steps.states.Task

Creates a Task state to delete an item from DynamoDB. See Call DynamoDB APIs with Step Functions for more details.

Parameters:
  • state_id (str) – State name whose length must be less than or equal to 128 unicode characters. State names must be unique within the scope of the whole state machine.
  • comment (str, optional) – Human-readable comment or description. (default: None)
  • timeout_seconds (int, optional) – Positive integer specifying timeout for the state in seconds. If the state runs longer than the specified timeout, then the interpreter fails the state with a States.Timeout Error Name. (default: 60)
  • timeout_seconds_path (str, optional) – Path specifying the state’s timeout value in seconds from the state input. When resolved, the path must select a field whose value is a positive integer.
  • heartbeat_seconds (int, optional) – Positive integer specifying heartbeat timeout for the state in seconds. This value should be lower than the one specified for timeout_seconds. If more time than the specified heartbeat elapses between heartbeats from the task, then the interpreter fails the state with a States.Timeout Error Name.
  • heartbeat_seconds_path (str, optional) – Path specifying the state’s heartbeat value in seconds from the state input. When resolved, the path must select a field whose value is a positive integer.
  • input_path (str, optional) – Path applied to the state’s raw input to select some or all of it; that selection is used by the state. (default: ‘$’)
  • parameters (dict, optional) – The value of this field becomes the effective input for the state.
  • result_path (str, optional) – Path specifying the raw input’s combination with or replacement by the state’s result. (default: ‘$’)
  • output_path (str, optional) – Path applied to the state’s output after the application of result_path, producing the effective output which serves as the raw input for the next state. (default: ‘$’)
class stepfunctions.steps.service.DynamoDBUpdateItemStep(state_id, **kwargs)

Bases: stepfunctions.steps.states.Task

Creates a Task state to update an item from DynamoDB. See Call DynamoDB APIs with Step Functions for more details.

Parameters:
  • state_id (str) – State name whose length must be less than or equal to 128 unicode characters. State names must be unique within the scope of the whole state machine.
  • comment (str, optional) – Human-readable comment or description. (default: None)
  • timeout_seconds (int, optional) – Positive integer specifying timeout for the state in seconds. If the state runs longer than the specified timeout, then the interpreter fails the state with a States.Timeout Error Name. (default: 60)
  • timeout_seconds_path (str, optional) – Path specifying the state’s timeout value in seconds from the state input. When resolved, the path must select a field whose value is a positive integer.
  • heartbeat_seconds (int, optional) – Positive integer specifying heartbeat timeout for the state in seconds. This value should be lower than the one specified for timeout_seconds. If more time than the specified heartbeat elapses between heartbeats from the task, then the interpreter fails the state with a States.Timeout Error Name.
  • heartbeat_seconds_path (str, optional) – Path specifying the state’s heartbeat value in seconds from the state input. When resolved, the path must select a field whose value is a positive integer.
  • input_path (str, optional) – Path applied to the state’s raw input to select some or all of it; that selection is used by the state. (default: ‘$’)
  • parameters (dict, optional) – The value of this field becomes the effective input for the state.
  • result_path (str, optional) – Path specifying the raw input’s combination with or replacement by the state’s result. (default: ‘$’)
  • output_path (str, optional) – Path applied to the state’s output after the application of result_path, producing the effective output which serves as the raw input for the next state. (default: ‘$’)

Amazon EKS

class stepfunctions.steps.service.EksCallStep(state_id, integration_pattern=<IntegrationPattern.CallAndContinue: ''>, **kwargs)

Bases: stepfunctions.steps.states.Task

Creates a Task state that allows you to use the Kubernetes API to read and write Kubernetes resource objects via a Kubernetes API endpoint. See Call Amazon EKS with Step Functions for more details.

Parameters:
  • state_id (str) – State name whose length must be less than or equal to 128 unicode characters. State names must be unique within the scope of the whole state machine.
  • integration_pattern (stepfunctions.steps.integration_resources.IntegrationPattern, optional) –

    Service integration pattern used to call the integrated service. Supported integration patterns (default: CallAndContinue):

    • CallAndContinue: Call Kubernetes API and progress to the next state (See Request Response for more details.)
  • comment (str, optional) – Human-readable comment or description. (default: None)
  • timeout_seconds (int, optional) – Positive integer specifying timeout for the state in seconds. If the state runs longer than the specified timeout, then the interpreter fails the state with a States.Timeout Error Name. (default: 60)
  • timeout_seconds_path (str, optional) – Path specifying the state’s timeout value in seconds from the state input. When resolved, the path must select a field whose value is a positive integer.
  • heartbeat_seconds (int, optional) – Positive integer specifying heartbeat timeout for the state in seconds. This value should be lower than the one specified for timeout_seconds. If more time than the specified heartbeat elapses between heartbeats from the task, then the interpreter fails the state with a States.Timeout Error Name.
  • heartbeat_seconds_path (str, optional) – Path specifying the state’s heartbeat value in seconds from the state input. When resolved, the path must select a field whose value is a positive integer.
  • input_path (str, optional) – Path applied to the state’s raw input to select some or all of it; that selection is used by the state. (default: ‘$’)
  • parameters (dict, optional) – The value of this field becomes the effective input for the state.
  • result_path (str, optional) – Path specifying the raw input’s combination with or replacement by the state’s result. (default: ‘$’)
  • output_path (str, optional) – Path applied to the state’s output after the application of result_path, producing the effective output which serves as the raw input for the next state. (default: ‘$’)
class stepfunctions.steps.service.EksCreateClusterStep(state_id, integration_pattern=<IntegrationPattern.WaitForCompletion: 'sync'>, **kwargs)

Bases: stepfunctions.steps.states.Task

Creates a Task state that creates an Amazon EKS cluster. See Call Amazon EKS with Step Functions for more details.

Parameters:
  • state_id (str) – State name whose length must be less than or equal to 128 unicode characters. State names must be unique within the scope of the whole state machine.
  • integration_pattern (stepfunctions.steps.integration_resources.IntegrationPattern, optional) –

    Service integration pattern used to call the integrated service. Supported integration patterns (default: WaitForCompletion):

    • WaitForCompletion: Wait for the cluster to be created before going to the next state. (See Run A Job for more details.)
    • CallAndContinue: Call CreateCluster and progress to the next state (See Request Response for more details.)
  • comment (str, optional) – Human-readable comment or description. (default: None)
  • timeout_seconds (int, optional) – Positive integer specifying timeout for the state in seconds. If the state runs longer than the specified timeout, then the interpreter fails the state with a States.Timeout Error Name. (default: 60)
  • timeout_seconds_path (str, optional) – Path specifying the state’s timeout value in seconds from the state input. When resolved, the path must select a field whose value is a positive integer.
  • heartbeat_seconds (int, optional) – Positive integer specifying heartbeat timeout for the state in seconds. This value should be lower than the one specified for timeout_seconds. If more time than the specified heartbeat elapses between heartbeats from the task, then the interpreter fails the state with a States.Timeout Error Name.
  • heartbeat_seconds_path (str, optional) – Path specifying the state’s heartbeat value in seconds from the state input. When resolved, the path must select a field whose value is a positive integer.
  • input_path (str, optional) – Path applied to the state’s raw input to select some or all of it; that selection is used by the state. (default: ‘$’)
  • parameters (dict, optional) – The value of this field becomes the effective input for the state.
  • result_path (str, optional) – Path specifying the raw input’s combination with or replacement by the state’s result. (default: ‘$’)
  • output_path (str, optional) – Path applied to the state’s output after the application of result_path, producing the effective output which serves as the raw input for the next state. (default: ‘$’)
class stepfunctions.steps.service.EksCreateFargateProfileStep(state_id, integration_pattern=<IntegrationPattern.WaitForCompletion: 'sync'>, **kwargs)

Bases: stepfunctions.steps.states.Task

Creates a Task state that creates an AWS Fargate profile for your Amazon EKS cluster. See Call Amazon EKS with Step Functions for more details.

Parameters:
  • state_id (str) – State name whose length must be less than or equal to 128 unicode characters. State names must be unique within the scope of the whole state machine.
  • integration_pattern (stepfunctions.steps.integration_resources.IntegrationPattern, optional) –

    Service integration pattern used to call the integrated service. Supported integration patterns (default: WaitForCompletion):

    • WaitForCompletion: Wait for the Fargate profile to be created before going to the next state. (See Run A Job for more details.)
    • CallAndContinue: Call CreateFargateProfile and progress to the next state (See Request Response for more details.)
  • comment (str, optional) – Human-readable comment or description. (default: None)
  • timeout_seconds (int, optional) – Positive integer specifying timeout for the state in seconds. If the state runs longer than the specified timeout, then the interpreter fails the state with a States.Timeout Error Name. (default: 60)
  • timeout_seconds_path (str, optional) – Path specifying the state’s timeout value in seconds from the state input. When resolved, the path must select a field whose value is a positive integer.
  • heartbeat_seconds (int, optional) – Positive integer specifying heartbeat timeout for the state in seconds. This value should be lower than the one specified for timeout_seconds. If more time than the specified heartbeat elapses between heartbeats from the task, then the interpreter fails the state with a States.Timeout Error Name.
  • heartbeat_seconds_path (str, optional) – Path specifying the state’s heartbeat value in seconds from the state input. When resolved, the path must select a field whose value is a positive integer.
  • input_path (str, optional) – Path applied to the state’s raw input to select some or all of it; that selection is used by the state. (default: ‘$’)
  • parameters (dict, optional) – The value of this field becomes the effective input for the state.
  • result_path (str, optional) – Path specifying the raw input’s combination with or replacement by the state’s result. (default: ‘$’)
  • output_path (str, optional) – Path applied to the state’s output after the application of result_path, producing the effective output which serves as the raw input for the next state. (default: ‘$’)
class stepfunctions.steps.service.EksCreateNodegroupStep(state_id, integration_pattern=<IntegrationPattern.WaitForCompletion: 'sync'>, **kwargs)

Bases: stepfunctions.steps.states.Task

Creates a Task state that creates a node group for an Amazon EKS cluster. See Call Amazon EKS with Step Functions for more details.

Parameters:
  • state_id (str) – State name whose length must be less than or equal to 128 unicode characters. State names must be unique within the scope of the whole state machine.
  • integration_pattern (stepfunctions.steps.integration_resources.IntegrationPattern, optional) –

    Service integration pattern used to call the integrated service. Supported integration patterns (default: WaitForCompletion):

    • WaitForCompletion: Wait for the node group to be created before going to the next state. (See Run A Job for more details.)
    • CallAndContinue: Call CreateNodegroup and progress to the next state (See Request Response for more details.)
  • comment (str, optional) – Human-readable comment or description. (default: None)
  • timeout_seconds (int, optional) – Positive integer specifying timeout for the state in seconds. If the state runs longer than the specified timeout, then the interpreter fails the state with a States.Timeout Error Name. (default: 60)
  • timeout_seconds_path (str, optional) – Path specifying the state’s timeout value in seconds from the state input. When resolved, the path must select a field whose value is a positive integer.
  • heartbeat_seconds (int, optional) – Positive integer specifying heartbeat timeout for the state in seconds. This value should be lower than the one specified for timeout_seconds. If more time than the specified heartbeat elapses between heartbeats from the task, then the interpreter fails the state with a States.Timeout Error Name.
  • heartbeat_seconds_path (str, optional) – Path specifying the state’s heartbeat value in seconds from the state input. When resolved, the path must select a field whose value is a positive integer.
  • input_path (str, optional) – Path applied to the state’s raw input to select some or all of it; that selection is used by the state. (default: ‘$’)
  • parameters (dict, optional) – The value of this field becomes the effective input for the state.
  • result_path (str, optional) – Path specifying the raw input’s combination with or replacement by the state’s result. (default: ‘$’)
  • output_path (str, optional) – Path applied to the state’s output after the application of result_path, producing the effective output which serves as the raw input for the next state. (default: ‘$’)
class stepfunctions.steps.service.EksDeleteClusterStep(state_id, integration_pattern=<IntegrationPattern.WaitForCompletion: 'sync'>, **kwargs)

Bases: stepfunctions.steps.states.Task

Creates a Task state that deletes an Amazon EKS cluster. See Call Amazon EKS with Step Functions for more details.

Parameters:
  • state_id (str) – State name whose length must be less than or equal to 128 unicode characters. State names must be unique within the scope of the whole state machine.
  • integration_pattern (stepfunctions.steps.integration_resources.IntegrationPattern, optional) –

    Service integration pattern used to call the integrated service. Supported integration patterns (default: WaitForCompletion):

    • WaitForCompletion: Wait for the cluster to be deleted before going to the next state. (See Run A Job for more details.)
    • CallAndContinue: Call DeleteCluster and progress to the next state (See Request Response for more details.)
  • comment (str, optional) – Human-readable comment or description. (default: None)
  • timeout_seconds (int, optional) – Positive integer specifying timeout for the state in seconds. If the state runs longer than the specified timeout, then the interpreter fails the state with a States.Timeout Error Name. (default: 60)
  • timeout_seconds_path (str, optional) – Path specifying the state’s timeout value in seconds from the state input. When resolved, the path must select a field whose value is a positive integer.
  • heartbeat_seconds (int, optional) – Positive integer specifying heartbeat timeout for the state in seconds. This value should be lower than the one specified for timeout_seconds. If more time than the specified heartbeat elapses between heartbeats from the task, then the interpreter fails the state with a States.Timeout Error Name.
  • heartbeat_seconds_path (str, optional) – Path specifying the state’s heartbeat value in seconds from the state input. When resolved, the path must select a field whose value is a positive integer.
  • input_path (str, optional) – Path applied to the state’s raw input to select some or all of it; that selection is used by the state. (default: ‘$’)
  • parameters (dict, optional) – The value of this field becomes the effective input for the state.
  • result_path (str, optional) – Path specifying the raw input’s combination with or replacement by the state’s result. (default: ‘$’)
  • output_path (str, optional) – Path applied to the state’s output after the application of result_path, producing the effective output which serves as the raw input for the next state. (default: ‘$’)
class stepfunctions.steps.service.EksDeleteFargateProfileStep(state_id, integration_pattern=<IntegrationPattern.WaitForCompletion: 'sync'>, **kwargs)

Bases: stepfunctions.steps.states.Task

Creates a Task state that deletes an AWS Fargate profile. See Call Amazon EKS with Step Functions for more details.

Parameters:
  • state_id (str) – State name whose length must be less than or equal to 128 unicode characters. State names must be unique within the scope of the whole state machine.
  • integration_pattern (stepfunctions.steps.integration_resources.IntegrationPattern, optional) –

    Service integration pattern used to call the integrated service. Supported integration patterns (default: WaitForCompletion):

    • WaitForCompletion: Wait for the Fargate profile to be deleted before going to the next state. (See Run A Job for more details.)
    • CallAndContinue: Call DeleteFargateProfile and progress to the next state (See Request Response for more details.)
  • comment (str, optional) – Human-readable comment or description. (default: None)
  • timeout_seconds (int, optional) – Positive integer specifying timeout for the state in seconds. If the state runs longer than the specified timeout, then the interpreter fails the state with a States.Timeout Error Name. (default: 60)
  • timeout_seconds_path (str, optional) – Path specifying the state’s timeout value in seconds from the state input. When resolved, the path must select a field whose value is a positive integer.
  • heartbeat_seconds (int, optional) – Positive integer specifying heartbeat timeout for the state in seconds. This value should be lower than the one specified for timeout_seconds. If more time than the specified heartbeat elapses between heartbeats from the task, then the interpreter fails the state with a States.Timeout Error Name.
  • heartbeat_seconds_path (str, optional) – Path specifying the state’s heartbeat value in seconds from the state input. When resolved, the path must select a field whose value is a positive integer.
  • input_path (str, optional) – Path applied to the state’s raw input to select some or all of it; that selection is used by the state. (default: ‘$’)
  • parameters (dict, optional) – The value of this field becomes the effective input for the state.
  • result_path (str, optional) – Path specifying the raw input’s combination with or replacement by the state’s result. (default: ‘$’)
  • output_path (str, optional) – Path applied to the state’s output after the application of result_path, producing the effective output which serves as the raw input for the next state. (default: ‘$’)
class stepfunctions.steps.service.EksDeleteNodegroupStep(state_id, integration_pattern=<IntegrationPattern.WaitForCompletion: 'sync'>, **kwargs)

Bases: stepfunctions.steps.states.Task

Creates a Task state that deletes an Amazon EKS node group for a cluster. See Call Amazon EKS with Step Functions for more details.

Parameters:
  • state_id (str) – State name whose length must be less than or equal to 128 unicode characters. State names must be unique within the scope of the whole state machine.
  • integration_pattern (stepfunctions.steps.integration_resources.IntegrationPattern, optional) –

    Service integration pattern used to call the integrated service. Supported integration patterns (default: WaitForCompletion):

    • WaitForCompletion: Wait for the node group to be deleted before going to the next state. (See Run A Job for more details.)
    • CallAndContinue: Call DeleteNodegroup and progress to the next state (See Request Response for more details.)
  • comment (str, optional) – Human-readable comment or description. (default: None)
  • timeout_seconds (int, optional) – Positive integer specifying timeout for the state in seconds. If the state runs longer than the specified timeout, then the interpreter fails the state with a States.Timeout Error Name. (default: 60)
  • timeout_seconds_path (str, optional) – Path specifying the state’s timeout value in seconds from the state input. When resolved, the path must select a field whose value is a positive integer.
  • heartbeat_seconds (int, optional) – Positive integer specifying heartbeat timeout for the state in seconds. This value should be lower than the one specified for timeout_seconds. If more time than the specified heartbeat elapses between heartbeats from the task, then the interpreter fails the state with a States.Timeout Error Name.
  • heartbeat_seconds_path (str, optional) – Path specifying the state’s heartbeat value in seconds from the state input. When resolved, the path must select a field whose value is a positive integer.
  • input_path (str, optional) – Path applied to the state’s raw input to select some or all of it; that selection is used by the state. (default: ‘$’)
  • parameters (dict, optional) – The value of this field becomes the effective input for the state.
  • result_path (str, optional) – Path specifying the raw input’s combination with or replacement by the state’s result. (default: ‘$’)
  • output_path (str, optional) – Path applied to the state’s output after the application of result_path, producing the effective output which serves as the raw input for the next state. (default: ‘$’)
class stepfunctions.steps.service.EksRunJobStep(state_id, integration_pattern=<IntegrationPattern.WaitForCompletion: 'sync'>, **kwargs)

Bases: stepfunctions.steps.states.Task

Creates a Task state that allows you to run a job on your Amazon EKS cluster. See Call Amazon EKS with Step Functions for more details.

Parameters:
  • state_id (str) – State name whose length must be less than or equal to 128 unicode characters. State names must be unique within the scope of the whole state machine.
  • integration_pattern (stepfunctions.steps.integration_resources.IntegrationPattern, optional) –

    Service integration pattern used to call the integrated service. Supported integration patterns (default: WaitForCompletion):

    • WaitForCompletion: Wait for the job to be complete before going to the next state. (See Run A Job for more details.)
    • CallAndContinue: Call RunJob and progress to the next state (See Request Response for more details.)
  • comment (str, optional) – Human-readable comment or description. (default: None)
  • timeout_seconds (int, optional) – Positive integer specifying timeout for the state in seconds. If the state runs longer than the specified timeout, then the interpreter fails the state with a States.Timeout Error Name. (default: 60)
  • timeout_seconds_path (str, optional) – Path specifying the state’s timeout value in seconds from the state input. When resolved, the path must select a field whose value is a positive integer.
  • heartbeat_seconds (int, optional) – Positive integer specifying heartbeat timeout for the state in seconds. This value should be lower than the one specified for timeout_seconds. If more time than the specified heartbeat elapses between heartbeats from the task, then the interpreter fails the state with a States.Timeout Error Name.
  • heartbeat_seconds_path (str, optional) – Path specifying the state’s heartbeat value in seconds from the state input. When resolved, the path must select a field whose value is a positive integer.
  • input_path (str, optional) – Path applied to the state’s raw input to select some or all of it; that selection is used by the state. (default: ‘$’)
  • parameters (dict, optional) – The value of this field becomes the effective input for the state.
  • result_path (str, optional) – Path specifying the raw input’s combination with or replacement by the state’s result. (default: ‘$’)
  • output_path (str, optional) – Path applied to the state’s output after the application of result_path, producing the effective output which serves as the raw input for the next state. (default: ‘$’)

Amazon EMR

class stepfunctions.steps.service.EmrCreateClusterStep(state_id, wait_for_completion=True, **kwargs)

Bases: stepfunctions.steps.states.Task

Creates a Task state to create and start running a cluster (job flow). See Call Amazon EMR with Step Functions for more details.

Parameters:
  • state_id (str) – State name whose length must be less than or equal to 128 unicode characters. State names must be unique within the scope of the whole state machine.
  • comment (str, optional) – Human-readable comment or description. (default: None)
  • timeout_seconds (int, optional) – Positive integer specifying timeout for the state in seconds. If the state runs longer than the specified timeout, then the interpreter fails the state with a States.Timeout Error Name. (default: 60)
  • timeout_seconds_path (str, optional) – Path specifying the state’s timeout value in seconds from the state input. When resolved, the path must select a field whose value is a positive integer.
  • heartbeat_seconds (int, optional) – Positive integer specifying heartbeat timeout for the state in seconds. This value should be lower than the one specified for timeout_seconds. If more time than the specified heartbeat elapses between heartbeats from the task, then the interpreter fails the state with a States.Timeout Error Name.
  • heartbeat_seconds_path (str, optional) – Path specifying the state’s heartbeat value in seconds from the state input. When resolved, the path must select a field whose value is a positive integer.
  • input_path (str, optional) – Path applied to the state’s raw input to select some or all of it; that selection is used by the state. (default: ‘$’)
  • parameters (dict, optional) – The value of this field becomes the effective input for the state.
  • result_path (str, optional) – Path specifying the raw input’s combination with or replacement by the state’s result. (default: ‘$’)
  • output_path (str, optional) – Path applied to the state’s output after the application of result_path, producing the effective output which serves as the raw input for the next state. (default: ‘$’)
  • wait_for_completion (bool, optional) – Boolean value set to True if the Task state should wait to complete before proceeding to the next step in the workflow. (default: True)
class stepfunctions.steps.service.EmrTerminateClusterStep(state_id, wait_for_completion=True, **kwargs)

Bases: stepfunctions.steps.states.Task

Creates a Task state to shut down a cluster (job flow). See Call Amazon EMR with Step Functions for more details.

Parameters:
  • state_id (str) – State name whose length must be less than or equal to 128 unicode characters. State names must be unique within the scope of the whole state machine.
  • comment (str, optional) – Human-readable comment or description. (default: None)
  • timeout_seconds (int, optional) – Positive integer specifying timeout for the state in seconds. If the state runs longer than the specified timeout, then the interpreter fails the state with a States.Timeout Error Name. (default: 60)
  • timeout_seconds_path (str, optional) – Path specifying the state’s timeout value in seconds from the state input. When resolved, the path must select a field whose value is a positive integer.
  • heartbeat_seconds (int, optional) – Positive integer specifying heartbeat timeout for the state in seconds. This value should be lower than the one specified for timeout_seconds. If more time than the specified heartbeat elapses between heartbeats from the task, then the interpreter fails the state with a States.Timeout Error Name.
  • heartbeat_seconds_path (str, optional) – Path specifying the state’s heartbeat value in seconds from the state input. When resolved, the path must select a field whose value is a positive integer.
  • input_path (str, optional) – Path applied to the state’s raw input to select some or all of it; that selection is used by the state. (default: ‘$’)
  • parameters (dict, optional) – The value of this field becomes the effective input for the state.
  • result_path (str, optional) – Path specifying the raw input’s combination with or replacement by the state’s result. (default: ‘$’)
  • output_path (str, optional) – Path applied to the state’s output after the application of result_path, producing the effective output which serves as the raw input for the next state. (default: ‘$’)
  • wait_for_completion (bool, optional) – Boolean value set to True if the Task state should wait to complete before proceeding to the next step in the workflow. (default: True)
class stepfunctions.steps.service.EmrAddStepStep(state_id, wait_for_completion=True, **kwargs)

Bases: stepfunctions.steps.states.Task

Creates a Task state to add a new step to a running cluster. See Call Amazon EMR with Step Functions for more details.

Parameters:
  • state_id (str) – State name whose length must be less than or equal to 128 unicode characters. State names must be unique within the scope of the whole state machine.
  • comment (str, optional) – Human-readable comment or description. (default: None)
  • timeout_seconds (int, optional) – Positive integer specifying timeout for the state in seconds. If the state runs longer than the specified timeout, then the interpreter fails the state with a States.Timeout Error Name. (default: 60)
  • timeout_seconds_path (str, optional) – Path specifying the state’s timeout value in seconds from the state input. When resolved, the path must select a field whose value is a positive integer.
  • heartbeat_seconds (int, optional) – Positive integer specifying heartbeat timeout for the state in seconds. This value should be lower than the one specified for timeout_seconds. If more time than the specified heartbeat elapses between heartbeats from the task, then the interpreter fails the state with a States.Timeout Error Name.
  • heartbeat_seconds_path (str, optional) – Path specifying the state’s heartbeat value in seconds from the state input. When resolved, the path must select a field whose value is a positive integer.
  • input_path (str, optional) – Path applied to the state’s raw input to select some or all of it; that selection is used by the state. (default: ‘$’)
  • parameters (dict, optional) – The value of this field becomes the effective input for the state.
  • result_path (str, optional) – Path specifying the raw input’s combination with or replacement by the state’s result. (default: ‘$’)
  • output_path (str, optional) – Path applied to the state’s output after the application of result_path, producing the effective output which serves as the raw input for the next state. (default: ‘$’)
  • wait_for_completion (bool, optional) – Boolean value set to True if the Task state should wait to complete before proceeding to the next step in the workflow. (default: True)
class stepfunctions.steps.service.EmrCancelStepStep(state_id, **kwargs)

Bases: stepfunctions.steps.states.Task

Creates a Task state to cancel a pending step in a running cluster. See Call Amazon EMR with Step Functions for more details.

Parameters:
  • state_id (str) – State name whose length must be less than or equal to 128 unicode characters. State names must be unique within the scope of the whole state machine.
  • comment (str, optional) – Human-readable comment or description. (default: None)
  • timeout_seconds (int, optional) – Positive integer specifying timeout for the state in seconds. If the state runs longer than the specified timeout, then the interpreter fails the state with a States.Timeout Error Name. (default: 60)
  • timeout_seconds_path (str, optional) – Path specifying the state’s timeout value in seconds from the state input. When resolved, the path must select a field whose value is a positive integer.
  • heartbeat_seconds (int, optional) – Positive integer specifying heartbeat timeout for the state in seconds. This value should be lower than the one specified for timeout_seconds. If more time than the specified heartbeat elapses between heartbeats from the task, then the interpreter fails the state with a States.Timeout Error Name.
  • heartbeat_seconds_path (str, optional) – Path specifying the state’s heartbeat value in seconds from the state input. When resolved, the path must select a field whose value is a positive integer.
  • input_path (str, optional) – Path applied to the state’s raw input to select some or all of it; that selection is used by the state. (default: ‘$’)
  • parameters (dict, optional) – The value of this field becomes the effective input for the state.
  • result_path (str, optional) – Path specifying the raw input’s combination with or replacement by the state’s result. (default: ‘$’)
  • output_path (str, optional) – Path applied to the state’s output after the application of result_path, producing the effective output which serves as the raw input for the next state. (default: ‘$’)
class stepfunctions.steps.service.EmrSetClusterTerminationProtectionStep(state_id, **kwargs)

Bases: stepfunctions.steps.states.Task

Creates a Task state to lock a cluster (job flow) so the EC2 instances in the cluster cannot be terminated by user intervention, an API call, or a job-flow error. See Call Amazon EMR with Step Functions for more details.

Parameters:
  • state_id (str) – State name whose length must be less than or equal to 128 unicode characters. State names must be unique within the scope of the whole state machine.
  • comment (str, optional) – Human-readable comment or description. (default: None)
  • timeout_seconds (int, optional) – Positive integer specifying timeout for the state in seconds. If the state runs longer than the specified timeout, then the interpreter fails the state with a States.Timeout Error Name. (default: 60)
  • timeout_seconds_path (str, optional) – Path specifying the state’s timeout value in seconds from the state input. When resolved, the path must select a field whose value is a positive integer.
  • heartbeat_seconds (int, optional) – Positive integer specifying heartbeat timeout for the state in seconds. This value should be lower than the one specified for timeout_seconds. If more time than the specified heartbeat elapses between heartbeats from the task, then the interpreter fails the state with a States.Timeout Error Name.
  • heartbeat_seconds_path (str, optional) – Path specifying the state’s heartbeat value in seconds from the state input. When resolved, the path must select a field whose value is a positive integer.
  • input_path (str, optional) – Path applied to the state’s raw input to select some or all of it; that selection is used by the state. (default: ‘$’)
  • parameters (dict, optional) – The value of this field becomes the effective input for the state.
  • result_path (str, optional) – Path specifying the raw input’s combination with or replacement by the state’s result. (default: ‘$’)
  • output_path (str, optional) – Path applied to the state’s output after the application of result_path, producing the effective output which serves as the raw input for the next state. (default: ‘$’)
class stepfunctions.steps.service.EmrModifyInstanceFleetByNameStep(state_id, **kwargs)

Bases: stepfunctions.steps.states.Task

Creates a Task state to modify the target On-Demand and target Spot capacities for an instance fleet. See Call Amazon EMR with Step Functions for more details.

Parameters:
  • state_id (str) – State name whose length must be less than or equal to 128 unicode characters. State names must be unique within the scope of the whole state machine.
  • comment (str, optional) – Human-readable comment or description. (default: None)
  • timeout_seconds (int, optional) – Positive integer specifying timeout for the state in seconds. If the state runs longer than the specified timeout, then the interpreter fails the state with a States.Timeout Error Name. (default: 60)
  • timeout_seconds_path (str, optional) – Path specifying the state’s timeout value in seconds from the state input. When resolved, the path must select a field whose value is a positive integer.
  • heartbeat_seconds (int, optional) – Positive integer specifying heartbeat timeout for the state in seconds. This value should be lower than the one specified for timeout_seconds. If more time than the specified heartbeat elapses between heartbeats from the task, then the interpreter fails the state with a States.Timeout Error Name.
  • heartbeat_seconds_path (str, optional) – Path specifying the state’s heartbeat value in seconds from the state input. When resolved, the path must select a field whose value is a positive integer.
  • input_path (str, optional) – Path applied to the state’s raw input to select some or all of it; that selection is used by the state. (default: ‘$’)
  • parameters (dict, optional) – The value of this field becomes the effective input for the state.
  • result_path (str, optional) – Path specifying the raw input’s combination with or replacement by the state’s result. (default: ‘$’)
  • output_path (str, optional) – Path applied to the state’s output after the application of result_path, producing the effective output which serves as the raw input for the next state. (default: ‘$’)
class stepfunctions.steps.service.EmrModifyInstanceGroupByNameStep(state_id, **kwargs)

Bases: stepfunctions.steps.states.Task

Creates a Task state to modify the number of nodes and configuration settings of an instance group. See Call Amazon EMR with Step Functions for more details.

Parameters:
  • state_id (str) – State name whose length must be less than or equal to 128 unicode characters. State names must be unique within the scope of the whole state machine.
  • comment (str, optional) – Human-readable comment or description. (default: None)
  • timeout_seconds (int, optional) – Positive integer specifying timeout for the state in seconds. If the state runs longer than the specified timeout, then the interpreter fails the state with a States.Timeout Error Name. (default: 60)
  • timeout_seconds_path (str, optional) – Path specifying the state’s timeout value in seconds from the state input. When resolved, the path must select a field whose value is a positive integer.
  • heartbeat_seconds (int, optional) – Positive integer specifying heartbeat timeout for the state in seconds. This value should be lower than the one specified for timeout_seconds. If more time than the specified heartbeat elapses between heartbeats from the task, then the interpreter fails the state with a States.Timeout Error Name.
  • heartbeat_seconds_path (str, optional) – Path specifying the state’s heartbeat value in seconds from the state input. When resolved, the path must select a field whose value is a positive integer.
  • input_path (str, optional) – Path applied to the state’s raw input to select some or all of it; that selection is used by the state. (default: ‘$’)
  • parameters (dict, optional) – The value of this field becomes the effective input for the state.
  • result_path (str, optional) – Path specifying the raw input’s combination with or replacement by the state’s result. (default: ‘$’)
  • output_path (str, optional) – Path applied to the state’s output after the application of result_path, producing the effective output which serves as the raw input for the next state. (default: ‘$’)

Amazon EventBridge

class stepfunctions.steps.service.EventBridgePutEventsStep(state_id, wait_for_callback=False, **kwargs)

Bases: stepfunctions.steps.states.Task

Creates a Task to send custom events to Amazon EventBridge. See`Call EventBridge with Step Functions <https://docs.aws.amazon.com/step-functions/latest/dg/connect-eventbridge.html>`_ for more details.

Parameters:
  • state_id (str) – State name whose length must be less than or equal to 128 unicode characters. State names must be unique within the scope of the whole state machine.
  • comment (str, optional) – Human-readable comment or description. (default: None)
  • timeout_seconds (int, optional) – Positive integer specifying timeout for the state in seconds. If the state runs longer than the specified timeout, then the interpreter fails the state with a States.Timeout Error Name. (default: 60)
  • timeout_seconds_path (str, optional) – Path specifying the state’s timeout value in seconds from the state input. When resolved, the path must select a field whose value is a positive integer.
  • heartbeat_seconds (int, optional) – Positive integer specifying heartbeat timeout for the state in seconds. This value should be lower than the one specified for timeout_seconds. If more time than the specified heartbeat elapses between heartbeats from the task, then the interpreter fails the state with a States.Timeout Error Name.
  • heartbeat_seconds_path (str, optional) – Path specifying the state’s heartbeat value in seconds from the state input. When resolved, the path must select a field whose value is a positive integer.
  • input_path (str, optional) – Path applied to the state’s raw input to select some or all of it; that selection is used by the state. (default: ‘$’)
  • parameters (dict, optional) – The value of this field becomes the effective input for the state.
  • result_path (str, optional) – Path specifying the raw input’s combination with or replacement by the state’s result. (default: ‘$’)
  • output_path (str, optional) – Path applied to the state’s output after the application of result_path, producing the effective output which serves as the raw input for the next state. (default: ‘$’)

AWS Glue DataBrew

class stepfunctions.steps.service.GlueDataBrewStartJobRunStep(state_id, integration_pattern=<IntegrationPattern.WaitForCompletion: 'sync'>, **kwargs)

Bases: stepfunctions.steps.states.Task

Creates a Task state that starts a DataBrew job. See Manage AWS Glue DataBrew Jobs with Step Functions for more details.

Parameters:
  • state_id (str) – State name whose length must be less than or equal to 128 unicode characters. State names must be unique within the scope of the whole state machine.
  • integration_pattern (stepfunctions.steps.integration_resources.IntegrationPattern, optional) –

    Service integration pattern used to call the integrated service. Supported integration patterns (default: WaitForCompletion):

    • WaitForCompletion: Wait for the Databrew job to complete before going to the next state. (See Run A Job for more details.)
    • CallAndContinue: Call StartJobRun and progress to the next state (See Request Response for more details.)
  • comment (str, optional) – Human-readable comment or description. (default: None)
  • timeout_seconds (int, optional) – Positive integer specifying timeout for the state in seconds. If the state runs longer than the specified timeout, then the interpreter fails the state with a States.Timeout Error Name. (default: 60)
  • timeout_seconds_path (str, optional) – Path specifying the state’s timeout value in seconds from the state input. When resolved, the path must select a field whose value is a positive integer.
  • heartbeat_seconds (int, optional) – Positive integer specifying heartbeat timeout for the state in seconds. This value should be lower than the one specified for timeout_seconds. If more time than the specified heartbeat elapses between heartbeats from the task, then the interpreter fails the state with a States.Timeout Error Name.
  • heartbeat_seconds_path (str, optional) – Path specifying the state’s heartbeat value in seconds from the state input. When resolved, the path must select a field whose value is a positive integer.
  • input_path (str, optional) – Path applied to the state’s raw input to select some or all of it; that selection is used by the state. (default: ‘$’)
  • parameters (dict, optional) – The value of this field becomes the effective input for the state.
  • result_path (str, optional) – Path specifying the raw input’s combination with or replacement by the state’s result. (default: ‘$’)
  • output_path (str, optional) – Path applied to the state’s output after the application of result_path, producing the effective output which serves as the raw input for the next state. (default: ‘$’)

Amazon SNS

class stepfunctions.steps.service.SnsPublishStep(state_id, wait_for_callback=False, **kwargs)

Bases: stepfunctions.steps.states.Task

Creates a Task state to publish a message to SNS topic. See Call Amazon SNS with Step Functions for more details.

Parameters:
  • state_id (str) – State name whose length must be less than or equal to 128 unicode characters. State names must be unique within the scope of the whole state machine.
  • wait_for_callback (bool, optional) – Boolean value set to True if the Task state should wait for callback to resume the operation. (default: False)
  • timeout_seconds (int, optional) – Positive integer specifying timeout for the state in seconds. If the state runs longer than the specified timeout, then the interpreter fails the state with a States.Timeout Error Name. (default: 60)
  • timeout_seconds_path (str, optional) – Path specifying the state’s timeout value in seconds from the state input. When resolved, the path must select a field whose value is a positive integer.
  • heartbeat_seconds (int, optional) – Positive integer specifying heartbeat timeout for the state in seconds. This value should be lower than the one specified for timeout_seconds. If more time than the specified heartbeat elapses between heartbeats from the task, then the interpreter fails the state with a States.Timeout Error Name.
  • heartbeat_seconds_path (str, optional) – Path specifying the state’s heartbeat value in seconds from the state input. When resolved, the path must select a field whose value is a positive integer.
  • comment (str, optional) – Human-readable comment or description. (default: None)
  • input_path (str, optional) – Path applied to the state’s raw input to select some or all of it; that selection is used by the state. (default: ‘$’)
  • parameters (dict, optional) – The value of this field becomes the effective input for the state.
  • result_path (str, optional) – Path specifying the raw input’s combination with or replacement by the state’s result. (default: ‘$’)
  • output_path (str, optional) – Path applied to the state’s output after the application of result_path, producing the effective output which serves as the raw input for the next state. (default: ‘$’)

Amazon SQS

class stepfunctions.steps.service.SqsSendMessageStep(state_id, wait_for_callback=False, **kwargs)

Bases: stepfunctions.steps.states.Task

Creates a Task state to send a message to SQS queue. See Call Amazon SQS with Step Functions for more details.

Parameters:
  • state_id (str) – State name whose length must be less than or equal to 128 unicode characters. State names must be unique within the scope of the whole state machine.
  • wait_for_callback (bool, optional) – Boolean value set to True if the Task state should wait for callback to resume the operation. (default: False)
  • timeout_seconds (int, optional) – Positive integer specifying timeout for the state in seconds. If the state runs longer than the specified timeout, then the interpreter fails the state with a States.Timeout Error Name. (default: 60)
  • timeout_seconds_path (str, optional) – Path specifying the state’s timeout value in seconds from the state input. When resolved, the path must select a field whose value is a positive integer.
  • heartbeat_seconds (int, optional) – Positive integer specifying heartbeat timeout for the state in seconds. This value should be lower than the one specified for timeout_seconds. If more time than the specified heartbeat elapses between heartbeats from the task, then the interpreter fails the state with a States.Timeout Error Name.
  • heartbeat_seconds_path (str, optional) – Path specifying the state’s heartbeat value in seconds from the state input. When resolved, the path must select a field whose value is a positive integer.
  • comment (str, optional) – Human-readable comment or description. (default: None)
  • input_path (str, optional) – Path applied to the state’s raw input to select some or all of it; that selection is used by the state. (default: ‘$’)
  • parameters (dict, optional) – The value of this field becomes the effective input for the state.
  • result_path (str, optional) – Path specifying the raw input’s combination with or replacement by the state’s result. (default: ‘$’)
  • output_path (str, optional) – Path applied to the state’s output after the application of result_path, producing the effective output which serves as the raw input for the next state. (default: ‘$’)

AWS Step Functions

class stepfunctions.steps.service.StepFunctionsStartExecutionStep(state_id, integration_pattern=<IntegrationPattern.WaitForCompletion: 'sync'>, **kwargs)

Bases: stepfunctions.steps.states.Task

Creates a Task state that starts an execution of a state machine. See Manage AWS Step Functions Executions as an Integrated Service for more details.

Parameters:
  • state_id (str) – State name whose length must be less than or equal to 128 unicode characters. State names must be unique within the scope of the whole state machine.
  • integration_pattern (stepfunctions.steps.integration_resources.IntegrationPattern, optional) –

    Service integration pattern used to call the integrated service. Supported integration patterns (default: WaitForCompletion):

    • WaitForCompletion: Wait for the state machine execution to complete before going to the next state. (See Run A Job for more details.)
    • WaitForTaskToken: Wait for the state machine execution to return a task token before progressing to the next state (See Wait for a Callback with the Task Token for more details.)
    • CallAndContinue: Call StartExecution and progress to the next state (See Request Response for more details.)
  • timeout_seconds (int, optional) – Positive integer specifying timeout for the state in seconds. If the state runs longer than the specified timeout, then the interpreter fails the state with a States.Timeout Error Name. (default: 60)
  • timeout_seconds_path (str, optional) – Path specifying the state’s timeout value in seconds from the state input. When resolved, the path must select a field whose value is a positive integer.
  • heartbeat_seconds (int, optional) – Positive integer specifying heartbeat timeout for the state in seconds. This value should be lower than the one specified for timeout_seconds. If more time than the specified heartbeat elapses between heartbeats from the task, then the interpreter fails the state with a States.Timeout Error Name.
  • heartbeat_seconds_path (str, optional) – Path specifying the state’s heartbeat value in seconds from the state input. When resolved, the path must select a field whose value is a positive integer.
  • comment (str, optional) – Human-readable comment or description. (default: None)
  • input_path (str, optional) – Path applied to the state’s raw input to select some or all of it; that selection is used by the state. (default: ‘$’)
  • parameters (dict, optional) – The value of this field becomes the effective input for the state. (default: None)
  • result_path (str, optional) – Path specifying the raw input’s combination with or replacement by the state’s result. (default: ‘$’)
  • output_path (str, optional) – Path applied to the state’s output after the application of result_path, producing the effective output which serves as the raw input for the next state. (default: ‘$’)