def CreateInstanceWithNewBootDisk(
      self, instance_name, machine_type, image,
      startup_script='', service_accounts=None, metadata=None):
    # Use the same disk name as instance name.
    disk_name = instance_name

    # If the boot disk doesn't already exist, create.
    if not self.GetDisk(disk_name):
      if not self.CreateDisk(disk_name, image=image):
        return False

    # Wait until the new persistent disk is READY.
    for _ in xrange(self.MAX_WAIT_TIMES):
      logging.info('Waiting for boot disk %s getting ready...', disk_name)
      time.sleep(self.WAIT_INTERVAL)
      disk = self.GetDisk(disk_name)
      if disk:
        disk_status = disk.get('status', None)
        if disk_status == 'READY' or disk_status == 'RUNNING':
          logging.info('Disk %s created successfully.', disk_name)
          break
    else:
      logging.error('Persistent disk %s creation timed out.', disk_name)
      return False

    return self.CreateInstance(
        instance_name, machine_type, disk_name,
        startup_script, service_accounts, metadata)
Get the vendor passthru methods for a node.
dataset/ETHPy150Open GoogleCloudPlatform/Solutions-Using-ETL-tool-on-Google-Compute-Engine/gce_api.py/GceApi.CreateInstanceWithNewBootDisk--crossover with--dataset/ETHPy150Open openstack/python-ironicclient/ironicclient/v1/node_shell.py/do_node_get_vendor_passthru_methods