:py:mod:`airflow.providers.amazon.aws.hooks.step_function`
==========================================================

.. py:module:: airflow.providers.amazon.aws.hooks.step_function


Module Contents
---------------

Classes
~~~~~~~

.. autoapisummary::

   airflow.providers.amazon.aws.hooks.step_function.StepFunctionHook




.. py:class:: StepFunctionHook(*args, **kwargs)

   Bases: :py:obj:`airflow.providers.amazon.aws.hooks.base_aws.AwsBaseHook`

   Interact with an AWS Step Functions State Machine.

   Additional arguments (such as ``aws_conn_id``) may be specified and
   are passed down to the underlying AwsBaseHook.

   .. seealso::
       :class:`~airflow.providers.amazon.aws.hooks.base_aws.AwsBaseHook`

   .. py:method:: start_execution(self, state_machine_arn, name = None, state_machine_input = None)

      Start Execution of the State Machine.
      https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/stepfunctions.html#SFN.Client.start_execution

      :param state_machine_arn: AWS Step Function State Machine ARN
      :param name: The name of the execution.
      :param state_machine_input: JSON data input to pass to the State Machine
      :return: Execution ARN
      :rtype: str


   .. py:method:: describe_execution(self, execution_arn)

      Describes a State Machine Execution
      https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/stepfunctions.html#SFN.Client.describe_execution

      :param execution_arn: ARN of the State Machine Execution
      :return: Dict with Execution details
      :rtype: dict



