class_docstr: Interact with AWS DataBrew.
  
  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`
class_docstr_tok: ["Interact","with","AWS","DataBrew",".","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","`"]
docstr: Wait until Glue DataBrew job reaches terminal status.
  
  :param job_name: The name of the job being processed during this run.
  :param run_id: The unique identifier of the job run.
  :param delay: Time in seconds to delay between polls
  :param maxAttempts: Maximum number of attempts to poll for completion
  :return: job status
docstr_tok: ["Wait","until","Glue","DataBrew","job","reaches","terminal","status",".",":","param","job_name",":","The","name","of","the","job","being","processed","during","this","run",".",":","param","run_id",":","The","unique","identifier","of","the","job","run",".",":","param","delay",":","Time","in","seconds","to","delay","between","polls",":","param","maxAttempts",":","Maximum","number","of","attempts","to","poll","for","completion",":","return",":","job","status"]
code: def job_completion(
      self,
      job_name: str,
      run_id: str,
      delay: int = 10,
      max_attempts: int = 60,
  ) -> str:
      """
      Wait until Glue DataBrew job reaches terminal status.
  
      :param job_name: The name of the job being processed during this run.
      :param run_id: The unique identifier of the job run.
      :param delay: Time in seconds to delay between polls
      :param maxAttempts: Maximum number of attempts to poll for completion
      :return: job status
      """
      self.get_waiter("job_complete").wait(
          Name=job_name,
          RunId=run_id,
          WaiterConfig={"Delay": delay, "maxAttempts": max_attempts},
      )
  
      status = self.get_job_state(job_name, run_id)
      return status
  
imports: from __future__ import annotations
  from airflow.providers.amazon.aws.hooks.base_aws import AwsBaseHook
label_desc: Use image node_id 2 for calling the GlueDataBrewHook obj's underlying member method code with example usage: obj.job_completion(job_name, run_id, delay, max_attempts) and returns: status