xref: /aosp_15_r20/external/googleapis/google/cloud/baremetalsolution/v2/instance.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.cloud.baremetalsolution.v2;
18*d5c09012SAndroid Build Coastguard Worker
19*d5c09012SAndroid Build Coastguard Workerimport "google/api/field_behavior.proto";
20*d5c09012SAndroid Build Coastguard Workerimport "google/api/resource.proto";
21*d5c09012SAndroid Build Coastguard Workerimport "google/cloud/baremetalsolution/v2/common.proto";
22*d5c09012SAndroid Build Coastguard Workerimport "google/cloud/baremetalsolution/v2/lun.proto";
23*d5c09012SAndroid Build Coastguard Workerimport "google/cloud/baremetalsolution/v2/network.proto";
24*d5c09012SAndroid Build Coastguard Workerimport "google/cloud/baremetalsolution/v2/volume.proto";
25*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/field_mask.proto";
26*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/timestamp.proto";
27*d5c09012SAndroid Build Coastguard Worker
28*d5c09012SAndroid Build Coastguard Workeroption csharp_namespace = "Google.Cloud.BareMetalSolution.V2";
29*d5c09012SAndroid Build Coastguard Workeroption go_package = "cloud.google.com/go/baremetalsolution/apiv2/baremetalsolutionpb;baremetalsolutionpb";
30*d5c09012SAndroid Build Coastguard Workeroption java_multiple_files = true;
31*d5c09012SAndroid Build Coastguard Workeroption java_outer_classname = "InstanceProto";
32*d5c09012SAndroid Build Coastguard Workeroption java_package = "com.google.cloud.baremetalsolution.v2";
33*d5c09012SAndroid Build Coastguard Workeroption php_namespace = "Google\\Cloud\\BareMetalSolution\\V2";
34*d5c09012SAndroid Build Coastguard Workeroption ruby_package = "Google::Cloud::BareMetalSolution::V2";
35*d5c09012SAndroid Build Coastguard Worker
36*d5c09012SAndroid Build Coastguard Worker// A server.
37*d5c09012SAndroid Build Coastguard Workermessage Instance {
38*d5c09012SAndroid Build Coastguard Worker  option (google.api.resource) = {
39*d5c09012SAndroid Build Coastguard Worker    type: "baremetalsolution.googleapis.com/Instance"
40*d5c09012SAndroid Build Coastguard Worker    pattern: "projects/{project}/locations/{location}/instances/{instance}"
41*d5c09012SAndroid Build Coastguard Worker  };
42*d5c09012SAndroid Build Coastguard Worker
43*d5c09012SAndroid Build Coastguard Worker  // The possible states for this server.
44*d5c09012SAndroid Build Coastguard Worker  enum State {
45*d5c09012SAndroid Build Coastguard Worker    // The server is in an unknown state.
46*d5c09012SAndroid Build Coastguard Worker    STATE_UNSPECIFIED = 0;
47*d5c09012SAndroid Build Coastguard Worker
48*d5c09012SAndroid Build Coastguard Worker    // The server is being provisioned.
49*d5c09012SAndroid Build Coastguard Worker    PROVISIONING = 1;
50*d5c09012SAndroid Build Coastguard Worker
51*d5c09012SAndroid Build Coastguard Worker    // The server is running.
52*d5c09012SAndroid Build Coastguard Worker    RUNNING = 2;
53*d5c09012SAndroid Build Coastguard Worker
54*d5c09012SAndroid Build Coastguard Worker    // The server has been deleted.
55*d5c09012SAndroid Build Coastguard Worker    DELETED = 3;
56*d5c09012SAndroid Build Coastguard Worker
57*d5c09012SAndroid Build Coastguard Worker    // The server is being updated.
58*d5c09012SAndroid Build Coastguard Worker    UPDATING = 4;
59*d5c09012SAndroid Build Coastguard Worker
60*d5c09012SAndroid Build Coastguard Worker    // The server is starting.
61*d5c09012SAndroid Build Coastguard Worker    STARTING = 5;
62*d5c09012SAndroid Build Coastguard Worker
63*d5c09012SAndroid Build Coastguard Worker    // The server is stopping.
64*d5c09012SAndroid Build Coastguard Worker    STOPPING = 6;
65*d5c09012SAndroid Build Coastguard Worker
66*d5c09012SAndroid Build Coastguard Worker    // The server is shutdown.
67*d5c09012SAndroid Build Coastguard Worker    SHUTDOWN = 7;
68*d5c09012SAndroid Build Coastguard Worker  }
69*d5c09012SAndroid Build Coastguard Worker
70*d5c09012SAndroid Build Coastguard Worker  // Immutable. The resource name of this `Instance`.
71*d5c09012SAndroid Build Coastguard Worker  // Resource names are schemeless URIs that follow the conventions in
72*d5c09012SAndroid Build Coastguard Worker  // https://cloud.google.com/apis/design/resource_names.
73*d5c09012SAndroid Build Coastguard Worker  // Format:
74*d5c09012SAndroid Build Coastguard Worker  // `projects/{project}/locations/{location}/instances/{instance}`
75*d5c09012SAndroid Build Coastguard Worker  string name = 1 [(google.api.field_behavior) = IMMUTABLE];
76*d5c09012SAndroid Build Coastguard Worker
77*d5c09012SAndroid Build Coastguard Worker  // Output only. An identifier for the `Instance`, generated by the backend.
78*d5c09012SAndroid Build Coastguard Worker  string id = 11 [(google.api.field_behavior) = OUTPUT_ONLY];
79*d5c09012SAndroid Build Coastguard Worker
80*d5c09012SAndroid Build Coastguard Worker  // Output only. Create a time stamp.
81*d5c09012SAndroid Build Coastguard Worker  google.protobuf.Timestamp create_time = 2
82*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OUTPUT_ONLY];
83*d5c09012SAndroid Build Coastguard Worker
84*d5c09012SAndroid Build Coastguard Worker  // Output only. Update a time stamp.
85*d5c09012SAndroid Build Coastguard Worker  google.protobuf.Timestamp update_time = 3
86*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OUTPUT_ONLY];
87*d5c09012SAndroid Build Coastguard Worker
88*d5c09012SAndroid Build Coastguard Worker  // Immutable. The server type.
89*d5c09012SAndroid Build Coastguard Worker  // [Available server
90*d5c09012SAndroid Build Coastguard Worker  // types](https://cloud.google.com/bare-metal/docs/bms-planning#server_configurations)
91*d5c09012SAndroid Build Coastguard Worker  string machine_type = 4 [(google.api.field_behavior) = IMMUTABLE];
92*d5c09012SAndroid Build Coastguard Worker
93*d5c09012SAndroid Build Coastguard Worker  // Output only. The state of the server.
94*d5c09012SAndroid Build Coastguard Worker  State state = 5 [(google.api.field_behavior) = OUTPUT_ONLY];
95*d5c09012SAndroid Build Coastguard Worker
96*d5c09012SAndroid Build Coastguard Worker  // True if you enable hyperthreading for the server, otherwise false.
97*d5c09012SAndroid Build Coastguard Worker  // The default value is false.
98*d5c09012SAndroid Build Coastguard Worker  bool hyperthreading_enabled = 6;
99*d5c09012SAndroid Build Coastguard Worker
100*d5c09012SAndroid Build Coastguard Worker  // Labels as key value pairs.
101*d5c09012SAndroid Build Coastguard Worker  map<string, string> labels = 7;
102*d5c09012SAndroid Build Coastguard Worker
103*d5c09012SAndroid Build Coastguard Worker  // Immutable. List of LUNs associated with this server.
104*d5c09012SAndroid Build Coastguard Worker  repeated Lun luns = 8 [(google.api.field_behavior) = IMMUTABLE];
105*d5c09012SAndroid Build Coastguard Worker
106*d5c09012SAndroid Build Coastguard Worker  // Input only. List of Volumes to attach to this Instance on creation.
107*d5c09012SAndroid Build Coastguard Worker  // This field won't be populated in Get/List responses.
108*d5c09012SAndroid Build Coastguard Worker  repeated Volume volumes = 16 [(google.api.field_behavior) = INPUT_ONLY];
109*d5c09012SAndroid Build Coastguard Worker
110*d5c09012SAndroid Build Coastguard Worker  // Output only. List of networks associated with this server.
111*d5c09012SAndroid Build Coastguard Worker  repeated Network networks = 9 [(google.api.field_behavior) = OUTPUT_ONLY];
112*d5c09012SAndroid Build Coastguard Worker
113*d5c09012SAndroid Build Coastguard Worker  // Output only. True if the interactive serial console feature is enabled for
114*d5c09012SAndroid Build Coastguard Worker  // the instance, false otherwise. The default value is false.
115*d5c09012SAndroid Build Coastguard Worker  bool interactive_serial_console_enabled = 10
116*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OUTPUT_ONLY];
117*d5c09012SAndroid Build Coastguard Worker
118*d5c09012SAndroid Build Coastguard Worker  // The OS image currently installed on the server.
119*d5c09012SAndroid Build Coastguard Worker  string os_image = 12;
120*d5c09012SAndroid Build Coastguard Worker
121*d5c09012SAndroid Build Coastguard Worker  // Immutable. Pod name.
122*d5c09012SAndroid Build Coastguard Worker  // Pod is an independent part of infrastructure.
123*d5c09012SAndroid Build Coastguard Worker  // Instance can be connected to the assets (networks, volumes) allocated
124*d5c09012SAndroid Build Coastguard Worker  // in the same pod only.
125*d5c09012SAndroid Build Coastguard Worker  string pod = 13 [(google.api.field_behavior) = IMMUTABLE];
126*d5c09012SAndroid Build Coastguard Worker
127*d5c09012SAndroid Build Coastguard Worker  // Instance network template name. For eg, bondaa-bondaa, bondab-nic, etc.
128*d5c09012SAndroid Build Coastguard Worker  // Generally, the template name follows the syntax of
129*d5c09012SAndroid Build Coastguard Worker  // "bond<bond_mode>" or "nic".
130*d5c09012SAndroid Build Coastguard Worker  string network_template = 14 [(google.api.resource_reference) = {
131*d5c09012SAndroid Build Coastguard Worker    type: "baremetalsolution.googleapis.com/ServerNetworkTemplate"
132*d5c09012SAndroid Build Coastguard Worker  }];
133*d5c09012SAndroid Build Coastguard Worker
134*d5c09012SAndroid Build Coastguard Worker  // List of logical interfaces for the instance. The number of logical
135*d5c09012SAndroid Build Coastguard Worker  // interfaces will be the same as number of hardware bond/nic on the chosen
136*d5c09012SAndroid Build Coastguard Worker  // network template. For the non-multivlan configurations (for eg, existing
137*d5c09012SAndroid Build Coastguard Worker  // servers) that use existing default network template (bondaa-bondaa), both
138*d5c09012SAndroid Build Coastguard Worker  // the Instance.networks field and the Instance.logical_interfaces fields will
139*d5c09012SAndroid Build Coastguard Worker  // be filled to ensure backward compatibility. For the others, only
140*d5c09012SAndroid Build Coastguard Worker  // Instance.logical_interfaces will be filled.
141*d5c09012SAndroid Build Coastguard Worker  repeated LogicalInterface logical_interfaces = 15;
142*d5c09012SAndroid Build Coastguard Worker
143*d5c09012SAndroid Build Coastguard Worker  // Output only. Text field about info for logging in.
144*d5c09012SAndroid Build Coastguard Worker  string login_info = 17 [(google.api.field_behavior) = OUTPUT_ONLY];
145*d5c09012SAndroid Build Coastguard Worker
146*d5c09012SAndroid Build Coastguard Worker  // The workload profile for the instance.
147*d5c09012SAndroid Build Coastguard Worker  WorkloadProfile workload_profile = 18;
148*d5c09012SAndroid Build Coastguard Worker
149*d5c09012SAndroid Build Coastguard Worker  // Output only. The firmware version for the instance.
150*d5c09012SAndroid Build Coastguard Worker  string firmware_version = 19 [(google.api.field_behavior) = OUTPUT_ONLY];
151*d5c09012SAndroid Build Coastguard Worker}
152*d5c09012SAndroid Build Coastguard Worker
153*d5c09012SAndroid Build Coastguard Worker// Message for requesting server information.
154*d5c09012SAndroid Build Coastguard Workermessage GetInstanceRequest {
155*d5c09012SAndroid Build Coastguard Worker  // Required. Name of the resource.
156*d5c09012SAndroid Build Coastguard Worker  string name = 1 [
157*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
158*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
159*d5c09012SAndroid Build Coastguard Worker      type: "baremetalsolution.googleapis.com/Instance"
160*d5c09012SAndroid Build Coastguard Worker    }
161*d5c09012SAndroid Build Coastguard Worker  ];
162*d5c09012SAndroid Build Coastguard Worker}
163*d5c09012SAndroid Build Coastguard Worker
164*d5c09012SAndroid Build Coastguard Worker// Message for requesting the list of servers.
165*d5c09012SAndroid Build Coastguard Workermessage ListInstancesRequest {
166*d5c09012SAndroid Build Coastguard Worker  // Required. Parent value for ListInstancesRequest.
167*d5c09012SAndroid Build Coastguard Worker  string parent = 1 [
168*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
169*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
170*d5c09012SAndroid Build Coastguard Worker      type: "locations.googleapis.com/Location"
171*d5c09012SAndroid Build Coastguard Worker    }
172*d5c09012SAndroid Build Coastguard Worker  ];
173*d5c09012SAndroid Build Coastguard Worker
174*d5c09012SAndroid Build Coastguard Worker  // Requested page size. Server may return fewer items than requested.
175*d5c09012SAndroid Build Coastguard Worker  // If unspecified, the server will pick an appropriate default.
176*d5c09012SAndroid Build Coastguard Worker  int32 page_size = 2;
177*d5c09012SAndroid Build Coastguard Worker
178*d5c09012SAndroid Build Coastguard Worker  // A token identifying a page of results from the server.
179*d5c09012SAndroid Build Coastguard Worker  string page_token = 3;
180*d5c09012SAndroid Build Coastguard Worker
181*d5c09012SAndroid Build Coastguard Worker  // List filter.
182*d5c09012SAndroid Build Coastguard Worker  string filter = 4;
183*d5c09012SAndroid Build Coastguard Worker}
184*d5c09012SAndroid Build Coastguard Worker
185*d5c09012SAndroid Build Coastguard Worker// Response message for the list of servers.
186*d5c09012SAndroid Build Coastguard Workermessage ListInstancesResponse {
187*d5c09012SAndroid Build Coastguard Worker  // The list of servers.
188*d5c09012SAndroid Build Coastguard Worker  repeated Instance instances = 1;
189*d5c09012SAndroid Build Coastguard Worker
190*d5c09012SAndroid Build Coastguard Worker  // A token identifying a page of results from the server.
191*d5c09012SAndroid Build Coastguard Worker  string next_page_token = 2;
192*d5c09012SAndroid Build Coastguard Worker
193*d5c09012SAndroid Build Coastguard Worker  // Locations that could not be reached.
194*d5c09012SAndroid Build Coastguard Worker  repeated string unreachable = 3;
195*d5c09012SAndroid Build Coastguard Worker}
196*d5c09012SAndroid Build Coastguard Worker
197*d5c09012SAndroid Build Coastguard Worker// Message requesting to updating a server.
198*d5c09012SAndroid Build Coastguard Workermessage UpdateInstanceRequest {
199*d5c09012SAndroid Build Coastguard Worker  // Required. The server to update.
200*d5c09012SAndroid Build Coastguard Worker  //
201*d5c09012SAndroid Build Coastguard Worker  // The `name` field is used to identify the instance to update.
202*d5c09012SAndroid Build Coastguard Worker  // Format: projects/{project}/locations/{location}/instances/{instance}
203*d5c09012SAndroid Build Coastguard Worker  Instance instance = 1 [(google.api.field_behavior) = REQUIRED];
204*d5c09012SAndroid Build Coastguard Worker
205*d5c09012SAndroid Build Coastguard Worker  // The list of fields to update.
206*d5c09012SAndroid Build Coastguard Worker  // The currently supported fields are:
207*d5c09012SAndroid Build Coastguard Worker  //   `labels`
208*d5c09012SAndroid Build Coastguard Worker  //   `hyperthreading_enabled`
209*d5c09012SAndroid Build Coastguard Worker  //   `os_image`
210*d5c09012SAndroid Build Coastguard Worker  google.protobuf.FieldMask update_mask = 2;
211*d5c09012SAndroid Build Coastguard Worker}
212*d5c09012SAndroid Build Coastguard Worker
213*d5c09012SAndroid Build Coastguard Worker// Message requesting rename of a server.
214*d5c09012SAndroid Build Coastguard Workermessage RenameInstanceRequest {
215*d5c09012SAndroid Build Coastguard Worker  // Required. The `name` field is used to identify the instance.
216*d5c09012SAndroid Build Coastguard Worker  // Format: projects/{project}/locations/{location}/instances/{instance}
217*d5c09012SAndroid Build Coastguard Worker  string name = 1 [
218*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
219*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
220*d5c09012SAndroid Build Coastguard Worker      type: "baremetalsolution.googleapis.com/Instance"
221*d5c09012SAndroid Build Coastguard Worker    }
222*d5c09012SAndroid Build Coastguard Worker  ];
223*d5c09012SAndroid Build Coastguard Worker
224*d5c09012SAndroid Build Coastguard Worker  // Required. The new `id` of the instance.
225*d5c09012SAndroid Build Coastguard Worker  string new_instance_id = 2 [(google.api.field_behavior) = REQUIRED];
226*d5c09012SAndroid Build Coastguard Worker}
227*d5c09012SAndroid Build Coastguard Worker
228*d5c09012SAndroid Build Coastguard Worker// Message requesting to reset a server.
229*d5c09012SAndroid Build Coastguard Workermessage ResetInstanceRequest {
230*d5c09012SAndroid Build Coastguard Worker  // Required. Name of the resource.
231*d5c09012SAndroid Build Coastguard Worker  string name = 1 [
232*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
233*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
234*d5c09012SAndroid Build Coastguard Worker      type: "baremetalsolution.googleapis.com/Instance"
235*d5c09012SAndroid Build Coastguard Worker    }
236*d5c09012SAndroid Build Coastguard Worker  ];
237*d5c09012SAndroid Build Coastguard Worker}
238*d5c09012SAndroid Build Coastguard Worker
239*d5c09012SAndroid Build Coastguard Worker// Message requesting to start a server.
240*d5c09012SAndroid Build Coastguard Workermessage StartInstanceRequest {
241*d5c09012SAndroid Build Coastguard Worker  // Required. Name of the resource.
242*d5c09012SAndroid Build Coastguard Worker  string name = 1 [
243*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
244*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
245*d5c09012SAndroid Build Coastguard Worker      type: "baremetalsolution.googleapis.com/Instance"
246*d5c09012SAndroid Build Coastguard Worker    }
247*d5c09012SAndroid Build Coastguard Worker  ];
248*d5c09012SAndroid Build Coastguard Worker}
249*d5c09012SAndroid Build Coastguard Worker
250*d5c09012SAndroid Build Coastguard Worker// Response message from starting a server.
251*d5c09012SAndroid Build Coastguard Workermessage StartInstanceResponse {}
252*d5c09012SAndroid Build Coastguard Worker
253*d5c09012SAndroid Build Coastguard Worker// Message requesting to stop a server.
254*d5c09012SAndroid Build Coastguard Workermessage StopInstanceRequest {
255*d5c09012SAndroid Build Coastguard Worker  // Required. Name of the resource.
256*d5c09012SAndroid Build Coastguard Worker  string name = 1 [
257*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
258*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
259*d5c09012SAndroid Build Coastguard Worker      type: "baremetalsolution.googleapis.com/Instance"
260*d5c09012SAndroid Build Coastguard Worker    }
261*d5c09012SAndroid Build Coastguard Worker  ];
262*d5c09012SAndroid Build Coastguard Worker}
263*d5c09012SAndroid Build Coastguard Worker
264*d5c09012SAndroid Build Coastguard Worker// Response message from stopping a server.
265*d5c09012SAndroid Build Coastguard Workermessage StopInstanceResponse {}
266*d5c09012SAndroid Build Coastguard Worker
267*d5c09012SAndroid Build Coastguard Worker// Message for enabling the interactive serial console on an instance.
268*d5c09012SAndroid Build Coastguard Workermessage EnableInteractiveSerialConsoleRequest {
269*d5c09012SAndroid Build Coastguard Worker  // Required. Name of the resource.
270*d5c09012SAndroid Build Coastguard Worker  string name = 1 [
271*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
272*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
273*d5c09012SAndroid Build Coastguard Worker      type: "baremetalsolution.googleapis.com/Instance"
274*d5c09012SAndroid Build Coastguard Worker    }
275*d5c09012SAndroid Build Coastguard Worker  ];
276*d5c09012SAndroid Build Coastguard Worker}
277*d5c09012SAndroid Build Coastguard Worker
278*d5c09012SAndroid Build Coastguard Worker// Message for response of EnableInteractiveSerialConsole.
279*d5c09012SAndroid Build Coastguard Workermessage EnableInteractiveSerialConsoleResponse {}
280*d5c09012SAndroid Build Coastguard Worker
281*d5c09012SAndroid Build Coastguard Worker// Message for disabling the interactive serial console on an instance.
282*d5c09012SAndroid Build Coastguard Workermessage DisableInteractiveSerialConsoleRequest {
283*d5c09012SAndroid Build Coastguard Worker  // Required. Name of the resource.
284*d5c09012SAndroid Build Coastguard Worker  string name = 1 [
285*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
286*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
287*d5c09012SAndroid Build Coastguard Worker      type: "baremetalsolution.googleapis.com/Instance"
288*d5c09012SAndroid Build Coastguard Worker    }
289*d5c09012SAndroid Build Coastguard Worker  ];
290*d5c09012SAndroid Build Coastguard Worker}
291*d5c09012SAndroid Build Coastguard Worker
292*d5c09012SAndroid Build Coastguard Worker// Message for response of DisableInteractiveSerialConsole.
293*d5c09012SAndroid Build Coastguard Workermessage DisableInteractiveSerialConsoleResponse {}
294*d5c09012SAndroid Build Coastguard Worker
295*d5c09012SAndroid Build Coastguard Worker// Message for detach specific LUN from an Instance.
296*d5c09012SAndroid Build Coastguard Workermessage DetachLunRequest {
297*d5c09012SAndroid Build Coastguard Worker  // Required. Name of the instance.
298*d5c09012SAndroid Build Coastguard Worker  string instance = 1 [
299*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
300*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
301*d5c09012SAndroid Build Coastguard Worker      type: "baremetalsolution.googleapis.com/Instance"
302*d5c09012SAndroid Build Coastguard Worker    }
303*d5c09012SAndroid Build Coastguard Worker  ];
304*d5c09012SAndroid Build Coastguard Worker
305*d5c09012SAndroid Build Coastguard Worker  // Required. Name of the Lun to detach.
306*d5c09012SAndroid Build Coastguard Worker  string lun = 2 [
307*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
308*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
309*d5c09012SAndroid Build Coastguard Worker      type: "baremetalsolution.googleapis.com/Lun"
310*d5c09012SAndroid Build Coastguard Worker    }
311*d5c09012SAndroid Build Coastguard Worker  ];
312*d5c09012SAndroid Build Coastguard Worker
313*d5c09012SAndroid Build Coastguard Worker  // If true, performs lun unmapping without instance reboot.
314*d5c09012SAndroid Build Coastguard Worker  bool skip_reboot = 3;
315*d5c09012SAndroid Build Coastguard Worker}
316*d5c09012SAndroid Build Coastguard Worker
317*d5c09012SAndroid Build Coastguard Worker// Network template.
318*d5c09012SAndroid Build Coastguard Workermessage ServerNetworkTemplate {
319*d5c09012SAndroid Build Coastguard Worker  option (google.api.resource) = {
320*d5c09012SAndroid Build Coastguard Worker    type: "baremetalsolution.googleapis.com/ServerNetworkTemplate"
321*d5c09012SAndroid Build Coastguard Worker    pattern: "projects/{project}/locations/{location}/serverNetworkTemplate/{server_network_template}"
322*d5c09012SAndroid Build Coastguard Worker  };
323*d5c09012SAndroid Build Coastguard Worker
324*d5c09012SAndroid Build Coastguard Worker  // Logical interface.
325*d5c09012SAndroid Build Coastguard Worker  message LogicalInterface {
326*d5c09012SAndroid Build Coastguard Worker    // Interface type.
327*d5c09012SAndroid Build Coastguard Worker    enum InterfaceType {
328*d5c09012SAndroid Build Coastguard Worker      // Unspecified value.
329*d5c09012SAndroid Build Coastguard Worker      INTERFACE_TYPE_UNSPECIFIED = 0;
330*d5c09012SAndroid Build Coastguard Worker
331*d5c09012SAndroid Build Coastguard Worker      // Bond interface type.
332*d5c09012SAndroid Build Coastguard Worker      BOND = 1;
333*d5c09012SAndroid Build Coastguard Worker
334*d5c09012SAndroid Build Coastguard Worker      // NIC interface type.
335*d5c09012SAndroid Build Coastguard Worker      NIC = 2;
336*d5c09012SAndroid Build Coastguard Worker    }
337*d5c09012SAndroid Build Coastguard Worker
338*d5c09012SAndroid Build Coastguard Worker    // Interface name.
339*d5c09012SAndroid Build Coastguard Worker    // This is not a globally unique identifier.
340*d5c09012SAndroid Build Coastguard Worker    // Name is unique only inside the ServerNetworkTemplate. This is of syntax
341*d5c09012SAndroid Build Coastguard Worker    // <bond><interface_type_index><bond_mode> or <nic><interface_type_index>
342*d5c09012SAndroid Build Coastguard Worker    // and forms part of the network template name.
343*d5c09012SAndroid Build Coastguard Worker    string name = 1;
344*d5c09012SAndroid Build Coastguard Worker
345*d5c09012SAndroid Build Coastguard Worker    // Interface type.
346*d5c09012SAndroid Build Coastguard Worker    InterfaceType type = 2;
347*d5c09012SAndroid Build Coastguard Worker
348*d5c09012SAndroid Build Coastguard Worker    // If true, interface must have network connected.
349*d5c09012SAndroid Build Coastguard Worker    bool required = 3;
350*d5c09012SAndroid Build Coastguard Worker  }
351*d5c09012SAndroid Build Coastguard Worker
352*d5c09012SAndroid Build Coastguard Worker  // Output only. Template's unique name. The full resource name follows the
353*d5c09012SAndroid Build Coastguard Worker  // pattern:
354*d5c09012SAndroid Build Coastguard Worker  // `projects/{project}/locations/{location}/serverNetworkTemplate/{server_network_template}`
355*d5c09012SAndroid Build Coastguard Worker  // Generally, the {server_network_template} follows the syntax of
356*d5c09012SAndroid Build Coastguard Worker  // "bond<interface_type_index><bond_mode>" or "nic<interface_type_index>".
357*d5c09012SAndroid Build Coastguard Worker  string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
358*d5c09012SAndroid Build Coastguard Worker
359*d5c09012SAndroid Build Coastguard Worker  // Instance types this template is applicable to.
360*d5c09012SAndroid Build Coastguard Worker  repeated string applicable_instance_types = 2;
361*d5c09012SAndroid Build Coastguard Worker
362*d5c09012SAndroid Build Coastguard Worker  // Logical interfaces.
363*d5c09012SAndroid Build Coastguard Worker  repeated LogicalInterface logical_interfaces = 3;
364*d5c09012SAndroid Build Coastguard Worker}
365