// Copyright 2019 The Chromium OS Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

syntax = "proto3";

package test_platform.skylab_local_state;

option go_package = "go.chromium.org/chromiumos/infra/proto/go/test_platform/skylab_local_state";

import "test_platform/skylab_local_state/common.proto";
import "test_platform/skylab_test_runner/result.proto";

// LoadRequest defines the input of `skylab_local_state load`.
message LoadRequest {
  Config config = 1;

  string results_dir = 2 [deprecated=true];

  // DUT hostname.
  string dut_name = 3;

  // Swarming run ID. Used in the results directory name.
  string run_id = 4;
}

// LoadResponse defines the output of `skylab_local_state load`.
message LoadResponse {
  // What is currently installed on the DUT, e.g.
  // "cros-version": "reef-release/R77-12345.0.0".
  map<string, string> provisionable_labels = 1;

  // The path to the newly created directory containing the host info file.
  string results_dir = 2;

  // Paths to future results archives.
  // These paths depend on the path of the local results directory, so they
  // become well-defined the moment the local directory is created.
  // `skylab_local_state load` does not perform the offload to the locations,
  // the offload happens asynchronously after the task finishes.
  test_platform.skylab_test_runner.AsyncResults async_results = 3;
}
