blob: bb684c7ef00312c6836d3a61c33c5c7e5029bae8 [file] [log] [blame]
// 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 lab;
option go_package = "go.chromium.org/chromiumos/infra/proto/go/lab";
import "device/config_id.proto";
import "lab/chromeos_device_id.proto";
import "lab/license.proto";
import "lab/peripherals.proto";
import "lab/servo.proto";
import "manufacturing/config_id.proto";
// Next Tag: 7
message ChromeOSDevice {
// A unique ID for chromeos device, a randomly generated uuid or AssetTag.
ChromeOSDeviceID id = 1;
string serial_number = 2;
manufacturing.ConfigID manufacturing_id = 3;
// Device config identifiers.
// These values will be extracted from DUT and joinable to device config.
device.ConfigId device_config_id = 4;
oneof device {
DeviceUnderTest dut = 5;
Labstation labstation = 6;
};
}
// Next Tag: 6
message DeviceUnderTest{
string hostname = 1;
Peripherals peripherals = 2;
// critical_pools are pool labels that the builders are dependent on, and
// that the cros-infra team is responsible for managing explicitly. All other
// pool labels used for adhoc labeling of DUTs go into self_serve_pools.
// TO BE DELETED
enum DUTPool {
DUT_POOL_INVALID = 0;
DUT_POOL_CQ = 1;
DUT_POOL_BVT = 2;
DUT_POOL_SUITES = 3;
DUT_POOL_CTS = 4;
DUT_POOL_CTS_PERBUILD = 5;
DUT_POOL_CONTINUOUS = 6;
DUT_POOL_ARC_PRESUBMIT = 7;
DUT_POOL_QUOTA = 8;
}
repeated DUTPool critical_pools = 3;
repeated string pools = 4;
repeated License licenses = 5;
}
// Next Tag: 5
message Labstation {
string hostname = 1;
repeated Servo servos = 2;
RPM rpm = 3;
repeated string pools = 4;
}