// Copyright 2021 The ChromiumOS Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

syntax = "proto3";
option optimize_for = LITE_RUNTIME;

package vm_tools.launch;

message EnsureVmLaunchedRequest {
  // The owner of the VM.
  string owner_id = 1;

  // When asking chrome to launch something for you, you provide a list of
  // descriptors.
  //
  // These descriptors are interpreted as increasingly-specific name/IDs for VM
  // launches. For example: ["borealis"] is sufficient to launch the Borealis
  // VM, ["crostini"] would launch the default crostini container inside
  // termina, but ["crostini", "foo"] might launch a (non-default) container
  // called "foo".
  repeated string launch_descriptors = 2;
}

message EnsureVmLaunchedResponse {
  // The name of the VM that was launched (or already running). Callers use the
  // information in this response to subsequently connect to the VM over vsh.
  string vm_name = 1;

  // The name of the container within the given VM, or "" if there is no
  // container.
  string container_name = 2;
}
