• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1// Copyright 2021 The ChromiumOS Authors
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5syntax = "proto3";
6
7package chromiumos.test.lab.api;
8
9option go_package = "go.chromium.org/chromiumos/config/go/test/lab/api";
10
11// This proto defines the perhipheral topology in a PASIT testbed.
12
13// PASIT is a connected set of peripheral components used in interop testing. The
14// components connected are controlled via an external host. PasitHost describes the
15// devices in the testbed and their connection topology.
16message PasitHost {
17  // The name of the host that controls the devices (e.g. switches)
18  string hostname = 1;
19  // The components/devices in the PASIT testbed (e.g. docks, switches, cameras, monitors, etc)
20  repeated Device devices = 2;
21  // The connections between devices/components in the testbed.
22  repeated Connection connections = 3;
23
24  // A single connection between two components in the topology.
25  message Connection {
26    // If the parent device has multiple connection ports/slots,
27    // this is the name or id of the port.
28    string parent_port = 1;
29    // The ID of the parent component;
30    string parent_id = 2;
31    // The ID of the child component;
32    string child_id = 3;
33    // The speed of the connection.
34    float speed = 4;
35    // The physical port type/technology, e.g. "USBA", "USBC", "HDMI".
36    string type = 5;
37  }
38
39  // A single device/component in the testbed.
40  message Device {
41    // The unique ID of the device. This is not unique across all devices,
42    // in the lab but is unique within a testbed.
43    string id = 1;
44    // The the make/model of the device.
45    string model = 2;
46    // The type of device represented.
47    Type type = 3;
48    // Additional power supply information for devices that provide
49    // power to the DUT.
50    PowerSupply power_supply = 4;
51
52    // The type of device represented.
53    enum Type {
54      UNKNOWN = 0;
55      DUT = 1;
56      SWITCH_FIXTURE = 2;
57      DOCKING_STATION = 3;
58      MONITOR = 4;
59      CAMERA = 5;
60      STORAGE = 6;
61      HID = 7;
62      NETWORK = 8;
63      HEADPHONE = 9;
64      SPEAKER = 10;
65    }
66
67    // Information on the power capabilities of the device.
68    message PowerSupply {
69      float current = 1;
70      float voltage = 2;
71      float power = 3;
72    }
73  }
74}
75