class_docstr: Asynchronously poll the boto3 API and wait for the Batch job to be in the `SUCCEEDED` state.
  
  :param job_id:  A unique identifier for the cluster.
  :param max_retries: The maximum number of attempts to be made.
  :param aws_conn_id: The Airflow connection used for AWS credentials.
  :param region_name: region name to use in AWS Hook
  :param poll_interval: The amount of time in seconds to wait between attempts.
code: def __init__(
      self,
      job_id: str | None = None,
      max_retries: int = 10,
      aws_conn_id: str | None = "aws_default",
      region_name: str | None = None,
      poll_interval: int = 30,
  ):
      super().__init__()
      self.job_id = job_id
      self.max_retries = max_retries
      self.aws_conn_id = aws_conn_id
      self.region_name = region_name
      self.poll_interval = poll_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 BatchOperatorTrigger object from inherited base classes: BaseTrigger with example: obj = BatchOperatorTrigger(job_id, max_retries, aws_conn_id, region_name, poll_interval)