code: def start(self):
          
  
          if self.status == "started":
              return
  
          if (yield from self.is_running()):
              raise VMwareError("The VM is already running in VMware")
  
          ubridge_path = self.ubridge_path
          if not ubridge_path or not os.path.isfile(ubridge_path):
              raise VMwareError("ubridge is necessary to start a VMware VM")
  
          yield from self._start_ubridge()
          self._read_vmx_file()
          # check if there is enough RAM to run
          if "memsize" in self._vmx_pairs:
              self.check_available_ram(int(self._vmx_pairs["memsize"]))
          self._set_network_options()
          self._set_serial_console()
          self._write_vmx_file()
  
          if self._headless:
              yield from self._control_vm("start", "nogui")
          else:
              yield from self._control_vm("start")
  
          try:
              if self._ubridge_hypervisor:
                  for adapter_number in range(0, self._adapters):
                      nio = self._ethernet_adapters[adapter_number].get_nio(0)
                      if nio:
                          yield from self._add_ubridge_connection(nio, adapter_number)
  
              yield from self._start_console()
          except VMwareError:
              yield from self.stop()
              raise
  
          if self._get_vmx_setting("vhv.enable", "TRUE"):
              self._hw_virtualization = True
  
          self._started = True
          self.status = "started"
          log.info("VMware VM '{name}' [{id}] started".format(name=self.name, id=self.id))
docs: Starts this VMware VM.