class_docstr: Poll for the status of EMR container until reaches terminal state.
  
  :param job_flow_id: job_flow_id which contains the step check the state of
  :param step_id:  step to check the state of
  :param waiter_delay: polling period in seconds to check for the status
  :param waiter_max_attempts: The maximum number of attempts to be made
  :param aws_conn_id: Reference to AWS connection id
class_docstr_tok: ["Poll","for","the","status","of","EMR","container","until","reaches","terminal","state",".",":","param","job_flow_id",":","job_flow_id","which","contains","the","step","check","the","state","of",":","param","step_id",":","step","to","check","the","state","of",":","param","waiter_delay",":","polling","period","in","seconds","to","check","for","the","status",":","param","waiter_max_attempts",":","The","maximum","number","of","attempts","to","be","made",":","param","aws_conn_id",":","Reference","to","AWS","connection","id"]
code: def __init__(
      self,
      job_flow_id: str,
      step_id: str,
      waiter_delay: int = 30,
      waiter_max_attempts: int = 60,
      aws_conn_id: str = "aws_default",
  ):
      super().__init__(
          serialized_fields={
              "job_flow_id": job_flow_id,
              "step_id": step_id,
          },
          waiter_name="step_wait_for_terminal",
          waiter_args={"ClusterId": job_flow_id, "StepId": step_id},
          failure_message=f"Error while waiting for step {step_id} to complete",
          status_message=f"Step id: {step_id}, Step is still in non-terminal state",
          status_queries=[
              "Step.Status.State",
              "Step.Status.FailureDetails",
              "Step.Status.StateChangeReason",
          ],
          return_value=None,
          waiter_delay=waiter_delay,
          waiter_max_attempts=waiter_max_attempts,
          aws_conn_id=aws_conn_id,
      )
  
imports: from __future__ import annotations
  import warnings
  from typing import TYPE_CHECKING
  from airflow.exceptions import AirflowProviderDeprecationWarning
  from airflow.providers.amazon.aws.hooks.emr import EmrContainerHook, EmrHook, EmrServerlessHook
  from airflow.providers.amazon.aws.triggers.base import AwsBaseWaiterTrigger
label_desc: Use image node_id 1 to create a new EmrStepSensorTrigger object from inherited base classes: AwsBaseWaiterTrigger with example: obj = EmrStepSensorTrigger(job_flow_id, step_id, waiter_delay, waiter_max_attempts, aws_conn_id)