class_docstr: Object representing a single bash job to execute.
  
  Examples
  --------
  
  Create a batch object:
  
  >>> b = Batch()
  
  Create a new bash job that prints hello to a temporary file `t.ofile`:
  
  >>> j = b.new_job()
  >>> j.command(f'echo "hello" > {j.ofile}')
  
  Write the temporary file `t.ofile` to a permanent location
  
  >>> b.write_output(j.ofile, 'hello.txt')
  
  Execute the DAG:
  
  >>> b.run()
  
  Notes
  -----
  This class should never be created directly by the user. Use :meth:`.Batch.new_job`
  or :meth:`.Batch.new_bash_job` instead.
class_docstr_tok: ["Object","representing","a","single","bash","job","to","execute",".","Examples","--","--","--","--","Create","a","batch","object",":",">",">",">","b","=","Batch","(",")","Create","a","new","bash","job","that","prints","hello","to","a","temporary","file","`","t.ofile","`",":",">",">",">","j","=","b.new_job","(",")",">",">",">","j.command","(","f'echo","``","hello","''",">","{","j.ofile","}","'",")","Write","the","temporary","file","`","t.ofile","`","to","a","permanent","location",">",">",">","b.write_output","(","j.ofile",",","'hello.txt","'",")","Execute","the","DAG",":",">",">",">","b.run","(",")","Notes","--","--","-","This","class","should","never","be","created","directly","by","the","user",".","Use",":","meth",":","`",".Batch.new_job","`","or",":","meth",":","`",".Batch.new_bash_job","`","instead","."]
docstr: Set the job's docker image.
  
  Examples
  --------
  
  Set the job's docker image to `ubuntu:22.04`:
  
  >>> b = Batch()
  >>> j = b.new_job()
  >>> (j.image('ubuntu:22.04')
  ...   .command(f'echo "hello"'))
  >>> b.run()  # doctest: +SKIP
  
  Parameters
  ----------
  image:
      Docker image to use.
  
  Returns
  -------
  Same job object with docker image set.
docstr_tok: ["Set","the","job","'s","docker","image",".","Examples","--","--","--","--","Set","the","job","'s","docker","image","to","`","ubuntu:22.04","`",":",">",">",">","b","=","Batch","(",")",">",">",">","j","=","b.new_job","(",")",">",">",">","(","j.image","(","'ubuntu:22.04","'",")","...",".command","(","f'echo","``","hello","''","'",")",")",">",">",">","b.run","(",")","#","doctest",":","+SKIP","Parameters","--","--","--","--","--","image",":","Docker","image","to","use",".","Returns","--","--","--","-","Same","job","object","with","docker","image","set","."]
code: def image(self, image: str) -> "BashJob":
      """
      Set the job's docker image.
  
      Examples
      --------
  
      Set the job's docker image to `ubuntu:22.04`:
  
      >>> b = Batch()
      >>> j = b.new_job()
      >>> (j.image('ubuntu:22.04')
      ...   .command(f'echo "hello"'))
      >>> b.run()  # doctest: +SKIP
  
      Parameters
      ----------
      image:
          Docker image to use.
  
      Returns
      -------
      Same job object with docker image set.
      """
  
      self._image = image
      return self
  
imports: import asyncio
  import inspect
  import os
  import re
  import textwrap
  import warnings
  from shlex import quote
  from typing import Any, Callable, Dict, List, Optional, Set, Tuple, Union, cast, Literal
  from typing_extensions import Self
  import hailtop.batch_client.client
  from .None import backend, batch
  from .None import resource
  from .exceptions import BatchException
label_desc: Use image node_id 3 for calling the BashJob obj's underlying member method code with example usage: obj.image(image) and returns: self