class_docstr: Poll the Step Function State Machine Execution until it reaches a terminal state; fails if the task fails.
  
  On successful completion of the Execution the Sensor will do an XCom Push
  of the State Machine's output to `output`
  
  .. seealso::
      For more information on how to use this sensor, take a look at the guide:
      :ref:`howto/sensor:StepFunctionExecutionSensor`
  
  :param execution_arn: execution_arn to check the state of
  :param aws_conn_id: The Airflow connection used for AWS credentials.
      If this is ``None`` or empty then the default boto3 behaviour is used. If
      running Airflow in a distributed manner and aws_conn_id is None or
      empty, then default boto3 configuration would be used (and must be
      maintained on each worker node).
  :param region_name: AWS region_name. If not specified then the default boto3 behaviour is used.
  :param verify: Whether or not to verify SSL certificates. See:
      https://boto3.amazonaws.com/v1/documentation/api/latest/reference/core/session.html
  :param botocore_config: Configuration dictionary (key-values) for botocore client. See:
      https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html
class_docstr_tok: ["Poll","the","Step","Function","State","Machine","Execution","until","it","reaches","a","terminal","state",";","fails","if","the","task","fails",".","On","successful","completion","of","the","Execution","the","Sensor","will","do","an","XCom","Push","of","the","State","Machine","'s","output","to","`","output","`","..","seealso",":",":","For","more","information","on","how","to","use","this","sensor",",","take","a","look","at","the","guide",":",":","ref",":","`","howto\/sensor",":","StepFunctionExecutionSensor","`",":","param","execution_arn",":","execution_arn","to","check","the","state","of",":","param","aws_conn_id",":","The","Airflow","connection","used","for","AWS","credentials",".","If","this","is","``","None","``","or","empty","then","the","default","boto3","behaviour","is","used",".","If","running","Airflow","in","a","distributed","manner","and","aws_conn_id","is","None","or","empty",",","then","default","boto3","configuration","would","be","used","(","and","must","be","maintained","on","each","worker","node",")",".",":","param","region_name",":","AWS","region_name",".","If","not","specified","then","the","default","boto3","behaviour","is","used",".",":","param","verify",":","Whether","or","not","to","verify","SSL","certificates",".","See",":","https",":","\/\/boto3.amazonaws.com\/v1\/documentation\/api\/latest\/reference\/core\/session.html",":","param","botocore_config",":","Configuration","dictionary","(","key-values",")","for","botocore","client",".","See",":","https",":","\/\/botocore.amazonaws.com\/v1\/documentation\/api\/latest\/reference\/config.html"]
code: def poke(self, context: Context):
      execution_status = self.hook.describe_execution(
          self.execution_arn
      )
      state = execution_status["status"]
      output = (
          json.loads(execution_status["output"])
          if "output" in execution_status
          else None
      )
  
      if state in self.FAILURE_STATES:
          # TODO: remove this if block when min_airflow_version is set to higher than 2.7.1
          message = f"Step Function sensor failed. State Machine Output: {output}"
          if self.soft_fail:
              raise AirflowSkipException(message)
          raise AirflowException(message)
  
      if state in self.INTERMEDIATE_STATES:
          return False
  
      self.log.info("Doing xcom_push of output")
      self.xcom_push(context, "output", output)
      return True
  
file_path: airflow/airflow/providers/amazon/aws/sensors/step_function.py
imports: from __future__ import annotations
  import json
  from typing import TYPE_CHECKING, Sequence
  from deprecated import deprecated
  from airflow.exceptions import AirflowException, AirflowProviderDeprecationWarning, AirflowSkipException
  from airflow.providers.amazon.aws.hooks.step_function import StepFunctionHook
  from airflow.providers.amazon.aws.sensors.base_aws import AwsBaseSensor
  from airflow.providers.amazon.aws.utils.mixins import aws_template_fields
label_desc: Use image node_id 2 for calling the StepFunctionExecutionSensor obj's underlying member method code with example usage: obj.poke(context) and returns: True, False