class_docstr: Checks for the status of a submitted job_id to AWS Batch until it reaches a failure or a success state.
  
  BatchSensorTrigger is fired as deferred class with params to poll the job state in Triggerer.
  
  :param job_id: the job ID, to poll for job completion or not
  :param region_name: AWS region name to use
      Override the region_name in connection (if provided)
  :param aws_conn_id: connection id of AWS credentials / region name. If None,
      credential boto3 strategy will be used
  :param poke_interval: polling period in seconds to check for the status of the job
code: def __init__(
      self,
      job_id: str,
      region_name: str | None,
      aws_conn_id: str | None = "aws_default",
      poke_interval: float = 5,
  ):
      super().__init__()
      self.job_id = job_id
      self.aws_conn_id = aws_conn_id
      self.region_name = region_name
      self.poke_interval = poke_interval
  
imports: from __future__ import annotations
  import asyncio
  import itertools
  from functools import cached_property
  from typing import TYPE_CHECKING, Any
  from botocore.exceptions import WaiterError
  from deprecated import deprecated
  from airflow.exceptions import AirflowProviderDeprecationWarning
  from airflow.providers.amazon.aws.hooks.batch_client import BatchClientHook
  from airflow.providers.amazon.aws.triggers.base import AwsBaseWaiterTrigger
  from airflow.triggers.base import BaseTrigger, TriggerEvent
label_desc: Use image node_id 1 to create a new BatchSensorTrigger object from inherited base classes: BaseTrigger with example: obj = BatchSensorTrigger(job_id, region_name, aws_conn_id, poke_interval)