code: def __init__(
      self,
      image=None,
      command=None,
      name=None,
      cpu=None,
      mem=None,
      volumes=None,
      gpu=None,
  ):
      # Docker image used to launch this job
      self.image = image
      # Command to run in this job container, this should be a sequence
      # of program arguments instead of a single long string.
      self.command = command
      # Job name
      self.name = name
      # Maximum number of cpu cores this job can use
      self.cpu = cpu
      # Maximum number of cpu cores this job can use
      self.gpu = gpu
      # Maximum memory size in MB that this job can use
      # if mem is None:
      #    mem = cpu * MEM_CPU_RATIO
      self.mem = mem
      # volume name to be mounted, currently only used by k8s backend
      # For example:
      #     volumes = {
      #         "my_volume": {"mode": "rw", "bind": "/persistent"}
      #     }
      self.volumes = volumes
  
imports: import enum
label_desc: Use image node_id 1 to create a new JobSpec object from inherited base classes: object with example: obj = JobSpec(image, command, name, cpu, mem, volumes, gpu)