code: def __init__(
      self,
      index: int,
      image: str,
      command: List[str],
      *,
      env: Optional[Dict[str, str]] = None,
      mount_docker_socket: bool = False,
      unconfined: bool = False,
      secrets: Optional[List[Dict[str, str]]] = None,
      service_account: Optional[Dict[str, str]] = None,
      attributes: Optional[Dict[str, str]] = None,
      parents: Optional[List["LocalJob"]] = None,
      input_files: Optional[List[Tuple[str, str]]] = None,
      output_files: Optional[List[Tuple[str, str]]] = None,
      **kwargs,
  ):
      self._index = index
      self._image = image
      self._command = command
  
      self._env = env
      self._mount_docker_socket = mount_docker_socket
      self._unconfined = unconfined
      self._parents = parents
      self._secrets = secrets
      self._service_account = service_account
      self._attributes = attributes
      self._input_files = input_files
      self._output_files = output_files
      self._kwargs = kwargs
  
      self._succeeded: Optional[bool] = None
  
imports: import argparse
  import asyncio
  import base64
  import json
  import os
  from shlex import quote
  from typing import Dict, List, Optional, Tuple
  import kubernetes_asyncio.client
  import kubernetes_asyncio.config
  from ci.build import BuildConfiguration, Code
  from ci.environment import KUBERNETES_SERVER_URL, STORAGE_URI
  from ci.github import clone_or_fetch_script
  from ci.utils import generate_token
  from gear import K8sCache
  from hailtop.utils import check_shell_output
label_desc: Use image node_id 1 to create a new LocalJob object  with example: obj = LocalJob(index, image, command)