// 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.phosphorus;

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

// BotEnvironment defines bot-specific parameters used by phosphorus.
message BotEnvironment {
  // Absolute path to the autotest directory for the bot, e.g.
  // "/usr/local/autotest".
  string autotest_dir = 1;
}

// TaskEnvironment defines task-specific parameters used by phosphorus.
message TaskEnvironment {

  // Path to the client offload directory relative to the results directory
  //  Intended for log-data which is needed synchronously with high reliability
  string synchronous_offload_dir = 1;

  // Absolute path to the results directory for a given run. Include results of
  //  both tests and non-test tasks like provision
  string results_dir = 2;

  // Absolute path to the results directory for a given run's tests.
  //  MUST be equal to ${results_dir}/autoserv_test if present. This restriction
  //  may be lifted in the future.
  string test_results_dir = 3;
}

// Config defines configuration parameters common to phosphorus subcommands.
message Config {
  BotEnvironment bot = 1;
  TaskEnvironment task = 2;
}
