• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1// Copyright 2023 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.api;
8
9option go_package = "go.chromium.org/chromiumos/config/go/test/api";
10
11import "google/protobuf/duration.proto";
12import "google/protobuf/timestamp.proto";
13
14// NEXT TAG: 13
15message VMRequirements {
16  string gce_image = 1;
17  string gce_region = 2;
18  string gce_project = 3;
19
20  // Networking-related params
21  string gce_network = 4;
22  string gce_subnet = 5;
23  bool subnet_mode_network_enabled = 11;
24
25  string gce_machine_type = 6;
26  string gce_scope = 7;
27  // Specified IP address for VM. If not, use ephemeral IP.
28  string gce_ip_address = 8;
29  int64 gce_disk_size = 10;
30  string gce_min_cpu_platform = 12;
31
32  VMType type = 9;
33}
34
35// VMType specifies the type of VM that is requested and will be created.
36enum VMType {
37  VM_TYPE_UNSPECIFIED = 0;
38  VM_TYPE_DUT = 1;
39  VM_TYPE_DRONE = 2;
40}
41
42message HardwareRequirements {
43  message LabelValues {
44    repeated string values = 1;
45  }
46
47  // A map for schedulable labels used to request a matching device.
48  map<string, LabelValues> schedulable_labels = 1;
49}
50
51message ExtendLeaseRequest {
52  // Original lease_id obtained when the lease was created.
53  string lease_id = 1;
54
55  // Important to configure a good lifetime max for leases can not be extended
56  // indefinitely. It is also important to ensure same limits as those for
57  // LeaseDeviceRequest.duration or LeaseVMRequest.duration.
58  google.protobuf.Duration extend_duration = 2;
59
60  // Generated on the client side, shared across retries but pseudo-unique
61  // across different logical requests. Requests with the same key will be
62  // treated as duplicate of original request, return the same response.
63  string idempotency_key = 3;
64}
65
66message ExtendLeaseResponse {
67  string lease_id = 1;
68  google.protobuf.Timestamp expiration_time = 2;
69}
70