xref: /aosp_15_r20/external/googleapis/google/chromeos/moblab/v1beta1/resources.proto (revision d5c09012810ac0c9f33fe448fb6da8260d444cc9)
1*d5c09012SAndroid Build Coastguard Worker// Copyright 2023 Google LLC
2*d5c09012SAndroid Build Coastguard Worker//
3*d5c09012SAndroid Build Coastguard Worker// Licensed under the Apache License, Version 2.0 (the "License");
4*d5c09012SAndroid Build Coastguard Worker// you may not use this file except in compliance with the License.
5*d5c09012SAndroid Build Coastguard Worker// You may obtain a copy of the License at
6*d5c09012SAndroid Build Coastguard Worker//
7*d5c09012SAndroid Build Coastguard Worker//     http://www.apache.org/licenses/LICENSE-2.0
8*d5c09012SAndroid Build Coastguard Worker//
9*d5c09012SAndroid Build Coastguard Worker// Unless required by applicable law or agreed to in writing, software
10*d5c09012SAndroid Build Coastguard Worker// distributed under the License is distributed on an "AS IS" BASIS,
11*d5c09012SAndroid Build Coastguard Worker// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12*d5c09012SAndroid Build Coastguard Worker// See the License for the specific language governing permissions and
13*d5c09012SAndroid Build Coastguard Worker// limitations under the License.
14*d5c09012SAndroid Build Coastguard Worker
15*d5c09012SAndroid Build Coastguard Workersyntax = "proto3";
16*d5c09012SAndroid Build Coastguard Worker
17*d5c09012SAndroid Build Coastguard Workerpackage google.chromeos.moblab.v1beta1;
18*d5c09012SAndroid Build Coastguard Worker
19*d5c09012SAndroid Build Coastguard Workerimport "google/api/resource.proto";
20*d5c09012SAndroid Build Coastguard Worker
21*d5c09012SAndroid Build Coastguard Workeroption go_package = "google.golang.org/genproto/googleapis/chromeos/moblab/v1beta1;moblab";
22*d5c09012SAndroid Build Coastguard Workeroption java_multiple_files = true;
23*d5c09012SAndroid Build Coastguard Workeroption java_outer_classname = "ResourcesProto";
24*d5c09012SAndroid Build Coastguard Workeroption java_package = "com.google.chromeos.moblab.v1beta1";
25*d5c09012SAndroid Build Coastguard Workeroption optimize_for = SPEED;
26*d5c09012SAndroid Build Coastguard Worker
27*d5c09012SAndroid Build Coastguard Worker// Resource that represents a build target.
28*d5c09012SAndroid Build Coastguard Worker// -- NEXT_TAG: 2 --
29*d5c09012SAndroid Build Coastguard Workermessage BuildTarget {
30*d5c09012SAndroid Build Coastguard Worker  option (google.api.resource) = {
31*d5c09012SAndroid Build Coastguard Worker    type: "chromeosmoblab.googleapis.com/BuildTarget"
32*d5c09012SAndroid Build Coastguard Worker    pattern: "buildTargets/{build_target}"
33*d5c09012SAndroid Build Coastguard Worker  };
34*d5c09012SAndroid Build Coastguard Worker
35*d5c09012SAndroid Build Coastguard Worker  // The resource name of the build target.
36*d5c09012SAndroid Build Coastguard Worker  // Format: buildTargets/{build_target}
37*d5c09012SAndroid Build Coastguard Worker  string name = 1;
38*d5c09012SAndroid Build Coastguard Worker}
39*d5c09012SAndroid Build Coastguard Worker
40*d5c09012SAndroid Build Coastguard Worker// Resource that represents a model. Each model belongs to a build target. For
41*d5c09012SAndroid Build Coastguard Worker// non-unified build, the model name is the same as its build target name.
42*d5c09012SAndroid Build Coastguard Worker// -- NEXT_TAG: 2 --
43*d5c09012SAndroid Build Coastguard Workermessage Model {
44*d5c09012SAndroid Build Coastguard Worker  option (google.api.resource) = {
45*d5c09012SAndroid Build Coastguard Worker    type: "chromeosmoblab.googleapis.com/Model"
46*d5c09012SAndroid Build Coastguard Worker    pattern: "buildTargets/{build_target}/models/{model}"
47*d5c09012SAndroid Build Coastguard Worker  };
48*d5c09012SAndroid Build Coastguard Worker
49*d5c09012SAndroid Build Coastguard Worker  // The resource name of the model.
50*d5c09012SAndroid Build Coastguard Worker  // Format: buildTargets/{build_target}/models/{model}
51*d5c09012SAndroid Build Coastguard Worker  string name = 1;
52*d5c09012SAndroid Build Coastguard Worker}
53*d5c09012SAndroid Build Coastguard Worker
54*d5c09012SAndroid Build Coastguard Worker// Resource that represents a chrome OS milestone.
55*d5c09012SAndroid Build Coastguard Worker// -- NEXT_TAG: 2 --
56*d5c09012SAndroid Build Coastguard Workermessage Milestone {
57*d5c09012SAndroid Build Coastguard Worker  option (google.api.resource) = {
58*d5c09012SAndroid Build Coastguard Worker    type: "chromeosmoblab.googleapis.com/Milestone"
59*d5c09012SAndroid Build Coastguard Worker    pattern: "milestones/{milestone}"
60*d5c09012SAndroid Build Coastguard Worker  };
61*d5c09012SAndroid Build Coastguard Worker
62*d5c09012SAndroid Build Coastguard Worker  // The resource name of the milestone.
63*d5c09012SAndroid Build Coastguard Worker  // Format: milestones/{milestone}
64*d5c09012SAndroid Build Coastguard Worker  string name = 1;
65*d5c09012SAndroid Build Coastguard Worker}
66*d5c09012SAndroid Build Coastguard Worker
67*d5c09012SAndroid Build Coastguard Worker// Resource that represents a build for the given build target, model, milestone
68*d5c09012SAndroid Build Coastguard Worker// and build version.
69*d5c09012SAndroid Build Coastguard Worker// -- NEXT_TAG: 9 --
70*d5c09012SAndroid Build Coastguard Workermessage Build {
71*d5c09012SAndroid Build Coastguard Worker  option (google.api.resource) = {
72*d5c09012SAndroid Build Coastguard Worker    type: "chromeosmoblab.googleapis.com/Build"
73*d5c09012SAndroid Build Coastguard Worker    pattern: "buildTargets/{build_target}/models/{model}/builds/{build}"
74*d5c09012SAndroid Build Coastguard Worker  };
75*d5c09012SAndroid Build Coastguard Worker
76*d5c09012SAndroid Build Coastguard Worker  // The build status types.
77*d5c09012SAndroid Build Coastguard Worker  enum BuildStatus {
78*d5c09012SAndroid Build Coastguard Worker    // No build status is specified.
79*d5c09012SAndroid Build Coastguard Worker    BUILD_STATUS_UNSPECIFIED = 0;
80*d5c09012SAndroid Build Coastguard Worker
81*d5c09012SAndroid Build Coastguard Worker    // Complete Status: The build passed.
82*d5c09012SAndroid Build Coastguard Worker    PASS = 1;
83*d5c09012SAndroid Build Coastguard Worker
84*d5c09012SAndroid Build Coastguard Worker    // Complete Status: The build failed.
85*d5c09012SAndroid Build Coastguard Worker    FAIL = 2;
86*d5c09012SAndroid Build Coastguard Worker
87*d5c09012SAndroid Build Coastguard Worker    // Intermediate Status: The build is still running.
88*d5c09012SAndroid Build Coastguard Worker    RUNNING = 3;
89*d5c09012SAndroid Build Coastguard Worker
90*d5c09012SAndroid Build Coastguard Worker    // Complete Status: The build was aborted.
91*d5c09012SAndroid Build Coastguard Worker    ABORTED = 4;
92*d5c09012SAndroid Build Coastguard Worker  }
93*d5c09012SAndroid Build Coastguard Worker
94*d5c09012SAndroid Build Coastguard Worker  // The build types.
95*d5c09012SAndroid Build Coastguard Worker  enum BuildType {
96*d5c09012SAndroid Build Coastguard Worker    // Invalid build type.
97*d5c09012SAndroid Build Coastguard Worker    BUILD_TYPE_UNSPECIFIED = 0;
98*d5c09012SAndroid Build Coastguard Worker
99*d5c09012SAndroid Build Coastguard Worker    // The release build.
100*d5c09012SAndroid Build Coastguard Worker    RELEASE = 1;
101*d5c09012SAndroid Build Coastguard Worker
102*d5c09012SAndroid Build Coastguard Worker    // The firmware build.
103*d5c09012SAndroid Build Coastguard Worker    FIRMWARE = 2;
104*d5c09012SAndroid Build Coastguard Worker  }
105*d5c09012SAndroid Build Coastguard Worker
106*d5c09012SAndroid Build Coastguard Worker  // The resource name of the build.
107*d5c09012SAndroid Build Coastguard Worker  // Format: buildTargets/{build_target}/models/{model}/builds/{build}
108*d5c09012SAndroid Build Coastguard Worker  // Example: buildTargets/octopus/models/bobba/builds/1234.0.0
109*d5c09012SAndroid Build Coastguard Worker  string name = 1;
110*d5c09012SAndroid Build Coastguard Worker
111*d5c09012SAndroid Build Coastguard Worker  // The milestone that owns the build.
112*d5c09012SAndroid Build Coastguard Worker  // Format: milestones/{milestone}
113*d5c09012SAndroid Build Coastguard Worker  string milestone = 2 [(google.api.resource_reference) = {
114*d5c09012SAndroid Build Coastguard Worker    type: "chromeosmoblab.googleapis.com/Milestone"
115*d5c09012SAndroid Build Coastguard Worker  }];
116*d5c09012SAndroid Build Coastguard Worker
117*d5c09012SAndroid Build Coastguard Worker  // The build version of the build, e.g. 1234.0.0.
118*d5c09012SAndroid Build Coastguard Worker  string build_version = 3;
119*d5c09012SAndroid Build Coastguard Worker
120*d5c09012SAndroid Build Coastguard Worker  // The status of the build.
121*d5c09012SAndroid Build Coastguard Worker  BuildStatus status = 4;
122*d5c09012SAndroid Build Coastguard Worker
123*d5c09012SAndroid Build Coastguard Worker  // The type of the build.
124*d5c09012SAndroid Build Coastguard Worker  BuildType type = 5;
125*d5c09012SAndroid Build Coastguard Worker
126*d5c09012SAndroid Build Coastguard Worker  // The branch of the build.
127*d5c09012SAndroid Build Coastguard Worker  string branch = 6;
128*d5c09012SAndroid Build Coastguard Worker
129*d5c09012SAndroid Build Coastguard Worker  // The firmware version of the software that is flashed to the chip on the
130*d5c09012SAndroid Build Coastguard Worker  // Chrome OS device.
131*d5c09012SAndroid Build Coastguard Worker  string rw_firmware_version = 7;
132*d5c09012SAndroid Build Coastguard Worker
133*d5c09012SAndroid Build Coastguard Worker  // The labels of the build.
134*d5c09012SAndroid Build Coastguard Worker  repeated string labels = 8;
135*d5c09012SAndroid Build Coastguard Worker}
136*d5c09012SAndroid Build Coastguard Worker
137*d5c09012SAndroid Build Coastguard Worker// Resource that represents a build artifact stored in Google Cloud Storage for
138*d5c09012SAndroid Build Coastguard Worker// the given build target, model, build version and bucket.
139*d5c09012SAndroid Build Coastguard Worker// -- NEXT_TAG: 6 --
140*d5c09012SAndroid Build Coastguard Workermessage BuildArtifact {
141*d5c09012SAndroid Build Coastguard Worker  option (google.api.resource) = {
142*d5c09012SAndroid Build Coastguard Worker    type: "chromeosmoblab.googleapis.com/BuildArtifact"
143*d5c09012SAndroid Build Coastguard Worker    pattern: "buildTargets/{build_target}/models/{model}/builds/{build}/artifacts/{artifact}"
144*d5c09012SAndroid Build Coastguard Worker  };
145*d5c09012SAndroid Build Coastguard Worker
146*d5c09012SAndroid Build Coastguard Worker  // The resource name of the build artifact.
147*d5c09012SAndroid Build Coastguard Worker  // Format:
148*d5c09012SAndroid Build Coastguard Worker  // buildTargets/{build_target}/models/{model}/builds/{build}/artifacts/{artifact}
149*d5c09012SAndroid Build Coastguard Worker  // Example:
150*d5c09012SAndroid Build Coastguard Worker  // buildTargets/octopus/models/bobba/builds/1234.0.0/artifacts/chromeos-moblab-peng-staging
151*d5c09012SAndroid Build Coastguard Worker  string name = 1;
152*d5c09012SAndroid Build Coastguard Worker
153*d5c09012SAndroid Build Coastguard Worker  // The build metadata of the build artifact.
154*d5c09012SAndroid Build Coastguard Worker  string build = 2 [(google.api.resource_reference) = {
155*d5c09012SAndroid Build Coastguard Worker    type: "chromeosmoblab.googleapis.com/Build"
156*d5c09012SAndroid Build Coastguard Worker  }];
157*d5c09012SAndroid Build Coastguard Worker
158*d5c09012SAndroid Build Coastguard Worker  // The bucket that stores the build artifact.
159*d5c09012SAndroid Build Coastguard Worker  string bucket = 3;
160*d5c09012SAndroid Build Coastguard Worker
161*d5c09012SAndroid Build Coastguard Worker  // The path of the build artifact in the bucket.
162*d5c09012SAndroid Build Coastguard Worker  string path = 4;
163*d5c09012SAndroid Build Coastguard Worker
164*d5c09012SAndroid Build Coastguard Worker  // The number of objects in the build artifact folder. The object number can
165*d5c09012SAndroid Build Coastguard Worker  // be used to calculated the stage progress by comparing the source build
166*d5c09012SAndroid Build Coastguard Worker  // artifact with the destination build artifact.
167*d5c09012SAndroid Build Coastguard Worker  uint32 object_count = 5;
168*d5c09012SAndroid Build Coastguard Worker}
169