xref: /aosp_15_r20/external/googleapis/google/cloud/baremetalsolution/v2/provisioning.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/network.proto";
23*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/field_mask.proto";
24*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/timestamp.proto";
25*d5c09012SAndroid Build Coastguard Worker
26*d5c09012SAndroid Build Coastguard Workeroption csharp_namespace = "Google.Cloud.BareMetalSolution.V2";
27*d5c09012SAndroid Build Coastguard Workeroption go_package = "cloud.google.com/go/baremetalsolution/apiv2/baremetalsolutionpb;baremetalsolutionpb";
28*d5c09012SAndroid Build Coastguard Workeroption java_multiple_files = true;
29*d5c09012SAndroid Build Coastguard Workeroption java_outer_classname = "ProvisioningProto";
30*d5c09012SAndroid Build Coastguard Workeroption java_package = "com.google.cloud.baremetalsolution.v2";
31*d5c09012SAndroid Build Coastguard Workeroption php_namespace = "Google\\Cloud\\BareMetalSolution\\V2";
32*d5c09012SAndroid Build Coastguard Workeroption ruby_package = "Google::Cloud::BareMetalSolution::V2";
33*d5c09012SAndroid Build Coastguard Worker
34*d5c09012SAndroid Build Coastguard Worker// A provisioning configuration.
35*d5c09012SAndroid Build Coastguard Workermessage ProvisioningConfig {
36*d5c09012SAndroid Build Coastguard Worker  option (google.api.resource) = {
37*d5c09012SAndroid Build Coastguard Worker    type: "baremetalsolution.googleapis.com/ProvisioningConfig"
38*d5c09012SAndroid Build Coastguard Worker    pattern: "projects/{project}/locations/{location}/provisioningConfigs/{provisioning_config}"
39*d5c09012SAndroid Build Coastguard Worker  };
40*d5c09012SAndroid Build Coastguard Worker
41*d5c09012SAndroid Build Coastguard Worker  // The possible states for this ProvisioningConfig.
42*d5c09012SAndroid Build Coastguard Worker  enum State {
43*d5c09012SAndroid Build Coastguard Worker    // State wasn't specified.
44*d5c09012SAndroid Build Coastguard Worker    STATE_UNSPECIFIED = 0;
45*d5c09012SAndroid Build Coastguard Worker
46*d5c09012SAndroid Build Coastguard Worker    // ProvisioningConfig is a draft and can be freely modified.
47*d5c09012SAndroid Build Coastguard Worker    DRAFT = 1;
48*d5c09012SAndroid Build Coastguard Worker
49*d5c09012SAndroid Build Coastguard Worker    // ProvisioningConfig was already submitted and cannot be modified.
50*d5c09012SAndroid Build Coastguard Worker    SUBMITTED = 2;
51*d5c09012SAndroid Build Coastguard Worker
52*d5c09012SAndroid Build Coastguard Worker    // ProvisioningConfig was in the provisioning state.  Initially this state
53*d5c09012SAndroid Build Coastguard Worker    // comes from the work order table in big query when SNOW is used.  Later
54*d5c09012SAndroid Build Coastguard Worker    // this field can be set by the work order API.
55*d5c09012SAndroid Build Coastguard Worker    PROVISIONING = 3;
56*d5c09012SAndroid Build Coastguard Worker
57*d5c09012SAndroid Build Coastguard Worker    // ProvisioningConfig was provisioned, meaning the resources exist.
58*d5c09012SAndroid Build Coastguard Worker    PROVISIONED = 4;
59*d5c09012SAndroid Build Coastguard Worker
60*d5c09012SAndroid Build Coastguard Worker    // ProvisioningConfig was validated.  A validation tool will be run to
61*d5c09012SAndroid Build Coastguard Worker    // set this state.
62*d5c09012SAndroid Build Coastguard Worker    VALIDATED = 5;
63*d5c09012SAndroid Build Coastguard Worker
64*d5c09012SAndroid Build Coastguard Worker    // ProvisioningConfig was canceled.
65*d5c09012SAndroid Build Coastguard Worker    CANCELLED = 6;
66*d5c09012SAndroid Build Coastguard Worker
67*d5c09012SAndroid Build Coastguard Worker    // The request is submitted for provisioning, with error return.
68*d5c09012SAndroid Build Coastguard Worker    FAILED = 7;
69*d5c09012SAndroid Build Coastguard Worker  }
70*d5c09012SAndroid Build Coastguard Worker
71*d5c09012SAndroid Build Coastguard Worker  // Output only. The system-generated name of the provisioning config. This
72*d5c09012SAndroid Build Coastguard Worker  // follows the UUID format.
73*d5c09012SAndroid Build Coastguard Worker  string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
74*d5c09012SAndroid Build Coastguard Worker
75*d5c09012SAndroid Build Coastguard Worker  // Instances to be created.
76*d5c09012SAndroid Build Coastguard Worker  repeated InstanceConfig instances = 2;
77*d5c09012SAndroid Build Coastguard Worker
78*d5c09012SAndroid Build Coastguard Worker  // Networks to be created.
79*d5c09012SAndroid Build Coastguard Worker  repeated NetworkConfig networks = 3;
80*d5c09012SAndroid Build Coastguard Worker
81*d5c09012SAndroid Build Coastguard Worker  // Volumes to be created.
82*d5c09012SAndroid Build Coastguard Worker  repeated VolumeConfig volumes = 4;
83*d5c09012SAndroid Build Coastguard Worker
84*d5c09012SAndroid Build Coastguard Worker  // A generated ticket id to track provisioning request.
85*d5c09012SAndroid Build Coastguard Worker  string ticket_id = 5;
86*d5c09012SAndroid Build Coastguard Worker
87*d5c09012SAndroid Build Coastguard Worker  // A service account to enable customers to access instance credentials upon
88*d5c09012SAndroid Build Coastguard Worker  // handover.
89*d5c09012SAndroid Build Coastguard Worker  string handover_service_account = 6;
90*d5c09012SAndroid Build Coastguard Worker
91*d5c09012SAndroid Build Coastguard Worker  // Email provided to send a confirmation with provisioning config to.
92*d5c09012SAndroid Build Coastguard Worker  // Deprecated in favour of email field in request messages.
93*d5c09012SAndroid Build Coastguard Worker  string email = 7 [deprecated = true];
94*d5c09012SAndroid Build Coastguard Worker
95*d5c09012SAndroid Build Coastguard Worker  // Output only. State of ProvisioningConfig.
96*d5c09012SAndroid Build Coastguard Worker  State state = 8 [(google.api.field_behavior) = OUTPUT_ONLY];
97*d5c09012SAndroid Build Coastguard Worker
98*d5c09012SAndroid Build Coastguard Worker  // Optional. Location name of this ProvisioningConfig.
99*d5c09012SAndroid Build Coastguard Worker  // It is optional only for Intake UI transition period.
100*d5c09012SAndroid Build Coastguard Worker  string location = 9 [(google.api.field_behavior) = OPTIONAL];
101*d5c09012SAndroid Build Coastguard Worker
102*d5c09012SAndroid Build Coastguard Worker  // Output only. Last update timestamp.
103*d5c09012SAndroid Build Coastguard Worker  google.protobuf.Timestamp update_time = 10
104*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OUTPUT_ONLY];
105*d5c09012SAndroid Build Coastguard Worker
106*d5c09012SAndroid Build Coastguard Worker  // Output only. URI to Cloud Console UI view of this provisioning config.
107*d5c09012SAndroid Build Coastguard Worker  string cloud_console_uri = 11 [(google.api.field_behavior) = OUTPUT_ONLY];
108*d5c09012SAndroid Build Coastguard Worker
109*d5c09012SAndroid Build Coastguard Worker  // If true, VPC SC is enabled for the cluster.
110*d5c09012SAndroid Build Coastguard Worker  bool vpc_sc_enabled = 12;
111*d5c09012SAndroid Build Coastguard Worker
112*d5c09012SAndroid Build Coastguard Worker  // Optional status messages associated with the FAILED state.
113*d5c09012SAndroid Build Coastguard Worker  string status_message = 13;
114*d5c09012SAndroid Build Coastguard Worker
115*d5c09012SAndroid Build Coastguard Worker  // Optional. The user-defined identifier of the provisioning config.
116*d5c09012SAndroid Build Coastguard Worker  string custom_id = 14 [(google.api.field_behavior) = OPTIONAL];
117*d5c09012SAndroid Build Coastguard Worker}
118*d5c09012SAndroid Build Coastguard Worker
119*d5c09012SAndroid Build Coastguard Worker// Request for SubmitProvisioningConfig.
120*d5c09012SAndroid Build Coastguard Workermessage SubmitProvisioningConfigRequest {
121*d5c09012SAndroid Build Coastguard Worker  // Required. The parent project and location containing the
122*d5c09012SAndroid Build Coastguard Worker  // ProvisioningConfig.
123*d5c09012SAndroid Build Coastguard Worker  string parent = 1 [
124*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
125*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
126*d5c09012SAndroid Build Coastguard Worker      type: "locations.googleapis.com/Location"
127*d5c09012SAndroid Build Coastguard Worker    }
128*d5c09012SAndroid Build Coastguard Worker  ];
129*d5c09012SAndroid Build Coastguard Worker
130*d5c09012SAndroid Build Coastguard Worker  // Required. The ProvisioningConfig to create.
131*d5c09012SAndroid Build Coastguard Worker  ProvisioningConfig provisioning_config = 2
132*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = REQUIRED];
133*d5c09012SAndroid Build Coastguard Worker
134*d5c09012SAndroid Build Coastguard Worker  // Optional. Email provided to send a confirmation with provisioning config
135*d5c09012SAndroid Build Coastguard Worker  // to.
136*d5c09012SAndroid Build Coastguard Worker  string email = 3 [(google.api.field_behavior) = OPTIONAL];
137*d5c09012SAndroid Build Coastguard Worker}
138*d5c09012SAndroid Build Coastguard Worker
139*d5c09012SAndroid Build Coastguard Worker// Response for SubmitProvisioningConfig.
140*d5c09012SAndroid Build Coastguard Workermessage SubmitProvisioningConfigResponse {
141*d5c09012SAndroid Build Coastguard Worker  // The submitted provisioning config.
142*d5c09012SAndroid Build Coastguard Worker  ProvisioningConfig provisioning_config = 1;
143*d5c09012SAndroid Build Coastguard Worker}
144*d5c09012SAndroid Build Coastguard Worker
145*d5c09012SAndroid Build Coastguard Worker// A provisioning quota for a given project.
146*d5c09012SAndroid Build Coastguard Workermessage ProvisioningQuota {
147*d5c09012SAndroid Build Coastguard Worker  option (google.api.resource) = {
148*d5c09012SAndroid Build Coastguard Worker    type: "baremetalsolution.googleapis.com/ProvisioningQuota"
149*d5c09012SAndroid Build Coastguard Worker    pattern: "projects/{project}/locations/{location}/provisioningQuotas/{provisioning_quota}"
150*d5c09012SAndroid Build Coastguard Worker  };
151*d5c09012SAndroid Build Coastguard Worker
152*d5c09012SAndroid Build Coastguard Worker  // The available asset types for intake.
153*d5c09012SAndroid Build Coastguard Worker  enum AssetType {
154*d5c09012SAndroid Build Coastguard Worker    // The unspecified type.
155*d5c09012SAndroid Build Coastguard Worker    ASSET_TYPE_UNSPECIFIED = 0;
156*d5c09012SAndroid Build Coastguard Worker
157*d5c09012SAndroid Build Coastguard Worker    // The server asset type.
158*d5c09012SAndroid Build Coastguard Worker    ASSET_TYPE_SERVER = 1;
159*d5c09012SAndroid Build Coastguard Worker
160*d5c09012SAndroid Build Coastguard Worker    // The storage asset type.
161*d5c09012SAndroid Build Coastguard Worker    ASSET_TYPE_STORAGE = 2;
162*d5c09012SAndroid Build Coastguard Worker
163*d5c09012SAndroid Build Coastguard Worker    // The network asset type.
164*d5c09012SAndroid Build Coastguard Worker    ASSET_TYPE_NETWORK = 3;
165*d5c09012SAndroid Build Coastguard Worker  }
166*d5c09012SAndroid Build Coastguard Worker
167*d5c09012SAndroid Build Coastguard Worker  // Output only. The name of the provisioning quota.
168*d5c09012SAndroid Build Coastguard Worker  string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
169*d5c09012SAndroid Build Coastguard Worker
170*d5c09012SAndroid Build Coastguard Worker  // The asset type of this provisioning quota.
171*d5c09012SAndroid Build Coastguard Worker  AssetType asset_type = 2;
172*d5c09012SAndroid Build Coastguard Worker
173*d5c09012SAndroid Build Coastguard Worker  // The gcp service of the provisioning quota.
174*d5c09012SAndroid Build Coastguard Worker  string gcp_service = 3;
175*d5c09012SAndroid Build Coastguard Worker
176*d5c09012SAndroid Build Coastguard Worker  // The specific location of the provisioining quota.
177*d5c09012SAndroid Build Coastguard Worker  string location = 4;
178*d5c09012SAndroid Build Coastguard Worker
179*d5c09012SAndroid Build Coastguard Worker  // The available count of the provisioning quota.
180*d5c09012SAndroid Build Coastguard Worker  int32 available_count = 5;
181*d5c09012SAndroid Build Coastguard Worker
182*d5c09012SAndroid Build Coastguard Worker  // The quota of one asset type.
183*d5c09012SAndroid Build Coastguard Worker  oneof quota {
184*d5c09012SAndroid Build Coastguard Worker    // Instance quota.
185*d5c09012SAndroid Build Coastguard Worker    InstanceQuota instance_quota = 6;
186*d5c09012SAndroid Build Coastguard Worker  }
187*d5c09012SAndroid Build Coastguard Worker
188*d5c09012SAndroid Build Coastguard Worker  // Available quantity based on asset type.
189*d5c09012SAndroid Build Coastguard Worker  oneof availability {
190*d5c09012SAndroid Build Coastguard Worker    // Server count.
191*d5c09012SAndroid Build Coastguard Worker    int64 server_count = 7;
192*d5c09012SAndroid Build Coastguard Worker
193*d5c09012SAndroid Build Coastguard Worker    // Network bandwidth, Gbps
194*d5c09012SAndroid Build Coastguard Worker    int64 network_bandwidth = 8;
195*d5c09012SAndroid Build Coastguard Worker
196*d5c09012SAndroid Build Coastguard Worker    // Storage size (GB).
197*d5c09012SAndroid Build Coastguard Worker    int64 storage_gib = 9;
198*d5c09012SAndroid Build Coastguard Worker  }
199*d5c09012SAndroid Build Coastguard Worker}
200*d5c09012SAndroid Build Coastguard Worker
201*d5c09012SAndroid Build Coastguard Worker// Message for requesting the list of provisioning quotas.
202*d5c09012SAndroid Build Coastguard Workermessage ListProvisioningQuotasRequest {
203*d5c09012SAndroid Build Coastguard Worker  // Required. Parent value for ListProvisioningQuotasRequest.
204*d5c09012SAndroid Build Coastguard Worker  string parent = 1 [
205*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
206*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
207*d5c09012SAndroid Build Coastguard Worker      type: "locations.googleapis.com/Location"
208*d5c09012SAndroid Build Coastguard Worker    }
209*d5c09012SAndroid Build Coastguard Worker  ];
210*d5c09012SAndroid Build Coastguard Worker
211*d5c09012SAndroid Build Coastguard Worker  // Requested page size. The server might return fewer items than requested.
212*d5c09012SAndroid Build Coastguard Worker  // If unspecified, server will pick an appropriate default.
213*d5c09012SAndroid Build Coastguard Worker  // Notice that page_size field is not supported and won't be respected in
214*d5c09012SAndroid Build Coastguard Worker  // the API request for now, will be updated when pagination is supported.
215*d5c09012SAndroid Build Coastguard Worker  int32 page_size = 2;
216*d5c09012SAndroid Build Coastguard Worker
217*d5c09012SAndroid Build Coastguard Worker  // A token identifying a page of results from the server.
218*d5c09012SAndroid Build Coastguard Worker  string page_token = 3;
219*d5c09012SAndroid Build Coastguard Worker}
220*d5c09012SAndroid Build Coastguard Worker
221*d5c09012SAndroid Build Coastguard Worker// Response message for the list of provisioning quotas.
222*d5c09012SAndroid Build Coastguard Workermessage ListProvisioningQuotasResponse {
223*d5c09012SAndroid Build Coastguard Worker  // The provisioning quotas registered in this project.
224*d5c09012SAndroid Build Coastguard Worker  repeated ProvisioningQuota provisioning_quotas = 1;
225*d5c09012SAndroid Build Coastguard Worker
226*d5c09012SAndroid Build Coastguard Worker  // Token to retrieve the next page of results, or empty if there are no more
227*d5c09012SAndroid Build Coastguard Worker  // results in the list.
228*d5c09012SAndroid Build Coastguard Worker  string next_page_token = 2;
229*d5c09012SAndroid Build Coastguard Worker}
230*d5c09012SAndroid Build Coastguard Worker
231*d5c09012SAndroid Build Coastguard Worker// Configuration parameters for a new instance.
232*d5c09012SAndroid Build Coastguard Workermessage InstanceConfig {
233*d5c09012SAndroid Build Coastguard Worker  option (google.api.resource) = {
234*d5c09012SAndroid Build Coastguard Worker    type: "baremetalsolution.googleapis.com/InstanceConfig"
235*d5c09012SAndroid Build Coastguard Worker    pattern: "projects/{project}/locations/{location}/instanceConfigs/{instance_config}"
236*d5c09012SAndroid Build Coastguard Worker  };
237*d5c09012SAndroid Build Coastguard Worker
238*d5c09012SAndroid Build Coastguard Worker  // A network.
239*d5c09012SAndroid Build Coastguard Worker  message NetworkAddress {
240*d5c09012SAndroid Build Coastguard Worker    // Id of the network to use, within the same ProvisioningConfig request.
241*d5c09012SAndroid Build Coastguard Worker    string network_id = 1;
242*d5c09012SAndroid Build Coastguard Worker
243*d5c09012SAndroid Build Coastguard Worker    // IPv4 address to be assigned to the server.
244*d5c09012SAndroid Build Coastguard Worker    string address = 2;
245*d5c09012SAndroid Build Coastguard Worker
246*d5c09012SAndroid Build Coastguard Worker    // Name of the existing network to use.
247*d5c09012SAndroid Build Coastguard Worker    string existing_network_id = 3;
248*d5c09012SAndroid Build Coastguard Worker  }
249*d5c09012SAndroid Build Coastguard Worker
250*d5c09012SAndroid Build Coastguard Worker  // The network configuration of the instance.
251*d5c09012SAndroid Build Coastguard Worker  enum NetworkConfig {
252*d5c09012SAndroid Build Coastguard Worker    // The unspecified network configuration.
253*d5c09012SAndroid Build Coastguard Worker    NETWORKCONFIG_UNSPECIFIED = 0;
254*d5c09012SAndroid Build Coastguard Worker
255*d5c09012SAndroid Build Coastguard Worker    // Instance part of single client network and single private network.
256*d5c09012SAndroid Build Coastguard Worker    SINGLE_VLAN = 1;
257*d5c09012SAndroid Build Coastguard Worker
258*d5c09012SAndroid Build Coastguard Worker    // Instance part of multiple (or single) client networks and private
259*d5c09012SAndroid Build Coastguard Worker    // networks.
260*d5c09012SAndroid Build Coastguard Worker    MULTI_VLAN = 2;
261*d5c09012SAndroid Build Coastguard Worker  }
262*d5c09012SAndroid Build Coastguard Worker
263*d5c09012SAndroid Build Coastguard Worker  // Output only. The name of the instance config.
264*d5c09012SAndroid Build Coastguard Worker  string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
265*d5c09012SAndroid Build Coastguard Worker
266*d5c09012SAndroid Build Coastguard Worker  // A transient unique identifier to idenfity an instance within an
267*d5c09012SAndroid Build Coastguard Worker  // ProvisioningConfig request.
268*d5c09012SAndroid Build Coastguard Worker  string id = 2;
269*d5c09012SAndroid Build Coastguard Worker
270*d5c09012SAndroid Build Coastguard Worker  // Instance type.
271*d5c09012SAndroid Build Coastguard Worker  // [Available
272*d5c09012SAndroid Build Coastguard Worker  // types](https://cloud.google.com/bare-metal/docs/bms-planning#server_configurations)
273*d5c09012SAndroid Build Coastguard Worker  string instance_type = 3;
274*d5c09012SAndroid Build Coastguard Worker
275*d5c09012SAndroid Build Coastguard Worker  // Whether the instance should be provisioned with Hyperthreading enabled.
276*d5c09012SAndroid Build Coastguard Worker  bool hyperthreading = 4;
277*d5c09012SAndroid Build Coastguard Worker
278*d5c09012SAndroid Build Coastguard Worker  // OS image to initialize the instance.
279*d5c09012SAndroid Build Coastguard Worker  // [Available
280*d5c09012SAndroid Build Coastguard Worker  // images](https://cloud.google.com/bare-metal/docs/bms-planning#server_configurations)
281*d5c09012SAndroid Build Coastguard Worker  string os_image = 5;
282*d5c09012SAndroid Build Coastguard Worker
283*d5c09012SAndroid Build Coastguard Worker  // Client network address. Filled if InstanceConfig.multivlan_config is false.
284*d5c09012SAndroid Build Coastguard Worker  NetworkAddress client_network = 6 [deprecated = true];
285*d5c09012SAndroid Build Coastguard Worker
286*d5c09012SAndroid Build Coastguard Worker  // Private network address, if any. Filled if InstanceConfig.multivlan_config
287*d5c09012SAndroid Build Coastguard Worker  // is false.
288*d5c09012SAndroid Build Coastguard Worker  NetworkAddress private_network = 7 [deprecated = true];
289*d5c09012SAndroid Build Coastguard Worker
290*d5c09012SAndroid Build Coastguard Worker  // User note field, it can be used by customers to add additional information
291*d5c09012SAndroid Build Coastguard Worker  // for the BMS Ops team .
292*d5c09012SAndroid Build Coastguard Worker  string user_note = 8;
293*d5c09012SAndroid Build Coastguard Worker
294*d5c09012SAndroid Build Coastguard Worker  // If true networks can be from different projects of the same vendor account.
295*d5c09012SAndroid Build Coastguard Worker  bool account_networks_enabled = 9;
296*d5c09012SAndroid Build Coastguard Worker
297*d5c09012SAndroid Build Coastguard Worker  // The type of network configuration on the instance.
298*d5c09012SAndroid Build Coastguard Worker  NetworkConfig network_config = 10;
299*d5c09012SAndroid Build Coastguard Worker
300*d5c09012SAndroid Build Coastguard Worker  // Server network template name. Filled if InstanceConfig.multivlan_config is
301*d5c09012SAndroid Build Coastguard Worker  // true.
302*d5c09012SAndroid Build Coastguard Worker  string network_template = 11;
303*d5c09012SAndroid Build Coastguard Worker
304*d5c09012SAndroid Build Coastguard Worker  // List of logical interfaces for the instance. The number of logical
305*d5c09012SAndroid Build Coastguard Worker  // interfaces will be the same as number of hardware bond/nic on the chosen
306*d5c09012SAndroid Build Coastguard Worker  // network template. Filled if InstanceConfig.multivlan_config is true.
307*d5c09012SAndroid Build Coastguard Worker  repeated LogicalInterface logical_interfaces = 12;
308*d5c09012SAndroid Build Coastguard Worker
309*d5c09012SAndroid Build Coastguard Worker  // List of names of ssh keys used to provision the instance.
310*d5c09012SAndroid Build Coastguard Worker  repeated string ssh_key_names = 13;
311*d5c09012SAndroid Build Coastguard Worker}
312*d5c09012SAndroid Build Coastguard Worker
313*d5c09012SAndroid Build Coastguard Worker// Configuration parameters for a new volume.
314*d5c09012SAndroid Build Coastguard Workermessage VolumeConfig {
315*d5c09012SAndroid Build Coastguard Worker  option (google.api.resource) = {
316*d5c09012SAndroid Build Coastguard Worker    type: "baremetalsolution.googleapis.com/VolumeConfig"
317*d5c09012SAndroid Build Coastguard Worker    pattern: "projects/{project}/locations/{location}/volumeConfigs/{volume_config}"
318*d5c09012SAndroid Build Coastguard Worker  };
319*d5c09012SAndroid Build Coastguard Worker
320*d5c09012SAndroid Build Coastguard Worker  // The types of Volumes.
321*d5c09012SAndroid Build Coastguard Worker  enum Type {
322*d5c09012SAndroid Build Coastguard Worker    // The unspecified type.
323*d5c09012SAndroid Build Coastguard Worker    TYPE_UNSPECIFIED = 0;
324*d5c09012SAndroid Build Coastguard Worker
325*d5c09012SAndroid Build Coastguard Worker    // This Volume is on flash.
326*d5c09012SAndroid Build Coastguard Worker    FLASH = 1;
327*d5c09012SAndroid Build Coastguard Worker
328*d5c09012SAndroid Build Coastguard Worker    // This Volume is on disk.
329*d5c09012SAndroid Build Coastguard Worker    DISK = 2;
330*d5c09012SAndroid Build Coastguard Worker  }
331*d5c09012SAndroid Build Coastguard Worker
332*d5c09012SAndroid Build Coastguard Worker  // The protocol used to access the volume.
333*d5c09012SAndroid Build Coastguard Worker  enum Protocol {
334*d5c09012SAndroid Build Coastguard Worker    // Unspecified value.
335*d5c09012SAndroid Build Coastguard Worker    PROTOCOL_UNSPECIFIED = 0;
336*d5c09012SAndroid Build Coastguard Worker
337*d5c09012SAndroid Build Coastguard Worker    // Fibre channel.
338*d5c09012SAndroid Build Coastguard Worker    PROTOCOL_FC = 1;
339*d5c09012SAndroid Build Coastguard Worker
340*d5c09012SAndroid Build Coastguard Worker    // Network file system.
341*d5c09012SAndroid Build Coastguard Worker    PROTOCOL_NFS = 2;
342*d5c09012SAndroid Build Coastguard Worker  }
343*d5c09012SAndroid Build Coastguard Worker
344*d5c09012SAndroid Build Coastguard Worker  // A LUN(Logical Unit Number) range.
345*d5c09012SAndroid Build Coastguard Worker  message LunRange {
346*d5c09012SAndroid Build Coastguard Worker    // Number of LUNs to create.
347*d5c09012SAndroid Build Coastguard Worker    int32 quantity = 1;
348*d5c09012SAndroid Build Coastguard Worker
349*d5c09012SAndroid Build Coastguard Worker    // The requested size of each LUN, in GB.
350*d5c09012SAndroid Build Coastguard Worker    int32 size_gb = 2;
351*d5c09012SAndroid Build Coastguard Worker  }
352*d5c09012SAndroid Build Coastguard Worker
353*d5c09012SAndroid Build Coastguard Worker  // A NFS export entry.
354*d5c09012SAndroid Build Coastguard Worker  message NfsExport {
355*d5c09012SAndroid Build Coastguard Worker    // Permissions that can granted for an export.
356*d5c09012SAndroid Build Coastguard Worker    enum Permissions {
357*d5c09012SAndroid Build Coastguard Worker      // Unspecified value.
358*d5c09012SAndroid Build Coastguard Worker      PERMISSIONS_UNSPECIFIED = 0;
359*d5c09012SAndroid Build Coastguard Worker
360*d5c09012SAndroid Build Coastguard Worker      // Read-only permission.
361*d5c09012SAndroid Build Coastguard Worker      READ_ONLY = 1;
362*d5c09012SAndroid Build Coastguard Worker
363*d5c09012SAndroid Build Coastguard Worker      // Read-write permission.
364*d5c09012SAndroid Build Coastguard Worker      READ_WRITE = 2;
365*d5c09012SAndroid Build Coastguard Worker    }
366*d5c09012SAndroid Build Coastguard Worker
367*d5c09012SAndroid Build Coastguard Worker    // Network to use to publish the export.
368*d5c09012SAndroid Build Coastguard Worker    string network_id = 1;
369*d5c09012SAndroid Build Coastguard Worker
370*d5c09012SAndroid Build Coastguard Worker    // A client object.
371*d5c09012SAndroid Build Coastguard Worker    oneof client {
372*d5c09012SAndroid Build Coastguard Worker      // Either a single machine, identified by an ID, or a comma-separated
373*d5c09012SAndroid Build Coastguard Worker      // list of machine IDs.
374*d5c09012SAndroid Build Coastguard Worker      string machine_id = 2;
375*d5c09012SAndroid Build Coastguard Worker
376*d5c09012SAndroid Build Coastguard Worker      // A CIDR range.
377*d5c09012SAndroid Build Coastguard Worker      string cidr = 3;
378*d5c09012SAndroid Build Coastguard Worker    }
379*d5c09012SAndroid Build Coastguard Worker
380*d5c09012SAndroid Build Coastguard Worker    // Export permissions.
381*d5c09012SAndroid Build Coastguard Worker    Permissions permissions = 4;
382*d5c09012SAndroid Build Coastguard Worker
383*d5c09012SAndroid Build Coastguard Worker    // Disable root squashing, which is a feature of NFS.
384*d5c09012SAndroid Build Coastguard Worker    // Root squash is a special mapping of the remote superuser (root) identity
385*d5c09012SAndroid Build Coastguard Worker    // when using identity authentication.
386*d5c09012SAndroid Build Coastguard Worker    bool no_root_squash = 5;
387*d5c09012SAndroid Build Coastguard Worker
388*d5c09012SAndroid Build Coastguard Worker    // Allow the setuid flag.
389*d5c09012SAndroid Build Coastguard Worker    bool allow_suid = 6;
390*d5c09012SAndroid Build Coastguard Worker
391*d5c09012SAndroid Build Coastguard Worker    // Allow dev flag in NfsShare AllowedClientsRequest.
392*d5c09012SAndroid Build Coastguard Worker    bool allow_dev = 7;
393*d5c09012SAndroid Build Coastguard Worker  }
394*d5c09012SAndroid Build Coastguard Worker
395*d5c09012SAndroid Build Coastguard Worker  // Output only. The name of the volume config.
396*d5c09012SAndroid Build Coastguard Worker  string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
397*d5c09012SAndroid Build Coastguard Worker
398*d5c09012SAndroid Build Coastguard Worker  // A transient unique identifier to identify a volume within an
399*d5c09012SAndroid Build Coastguard Worker  // ProvisioningConfig request.
400*d5c09012SAndroid Build Coastguard Worker  string id = 2;
401*d5c09012SAndroid Build Coastguard Worker
402*d5c09012SAndroid Build Coastguard Worker  // Whether snapshots should be enabled.
403*d5c09012SAndroid Build Coastguard Worker  bool snapshots_enabled = 3;
404*d5c09012SAndroid Build Coastguard Worker
405*d5c09012SAndroid Build Coastguard Worker  // The type of this Volume.
406*d5c09012SAndroid Build Coastguard Worker  Type type = 4;
407*d5c09012SAndroid Build Coastguard Worker
408*d5c09012SAndroid Build Coastguard Worker  // Volume protocol.
409*d5c09012SAndroid Build Coastguard Worker  Protocol protocol = 5;
410*d5c09012SAndroid Build Coastguard Worker
411*d5c09012SAndroid Build Coastguard Worker  // The requested size of this volume, in GB.
412*d5c09012SAndroid Build Coastguard Worker  int32 size_gb = 6;
413*d5c09012SAndroid Build Coastguard Worker
414*d5c09012SAndroid Build Coastguard Worker  // LUN ranges to be configured. Set only when protocol is PROTOCOL_FC.
415*d5c09012SAndroid Build Coastguard Worker  repeated LunRange lun_ranges = 7;
416*d5c09012SAndroid Build Coastguard Worker
417*d5c09012SAndroid Build Coastguard Worker  // Machine ids connected to this volume. Set only when protocol is
418*d5c09012SAndroid Build Coastguard Worker  // PROTOCOL_FC.
419*d5c09012SAndroid Build Coastguard Worker  repeated string machine_ids = 8;
420*d5c09012SAndroid Build Coastguard Worker
421*d5c09012SAndroid Build Coastguard Worker  // NFS exports. Set only when protocol is PROTOCOL_NFS.
422*d5c09012SAndroid Build Coastguard Worker  repeated NfsExport nfs_exports = 9;
423*d5c09012SAndroid Build Coastguard Worker
424*d5c09012SAndroid Build Coastguard Worker  // User note field, it can be used by customers to add additional information
425*d5c09012SAndroid Build Coastguard Worker  // for the BMS Ops team .
426*d5c09012SAndroid Build Coastguard Worker  string user_note = 10;
427*d5c09012SAndroid Build Coastguard Worker
428*d5c09012SAndroid Build Coastguard Worker  // The GCP service of the storage volume. Available gcp_service are in
429*d5c09012SAndroid Build Coastguard Worker  // https://cloud.google.com/bare-metal/docs/bms-planning.
430*d5c09012SAndroid Build Coastguard Worker  string gcp_service = 11;
431*d5c09012SAndroid Build Coastguard Worker
432*d5c09012SAndroid Build Coastguard Worker  // Performance tier of the Volume.
433*d5c09012SAndroid Build Coastguard Worker  // Default is SHARED.
434*d5c09012SAndroid Build Coastguard Worker  VolumePerformanceTier performance_tier = 12;
435*d5c09012SAndroid Build Coastguard Worker}
436*d5c09012SAndroid Build Coastguard Worker
437*d5c09012SAndroid Build Coastguard Worker// Configuration parameters for a new network.
438*d5c09012SAndroid Build Coastguard Workermessage NetworkConfig {
439*d5c09012SAndroid Build Coastguard Worker  option (google.api.resource) = {
440*d5c09012SAndroid Build Coastguard Worker    type: "baremetalsolution.googleapis.com/NetworkConfig"
441*d5c09012SAndroid Build Coastguard Worker    pattern: "projects/{project}/locations/{location}/networkConfigs/{network_config}"
442*d5c09012SAndroid Build Coastguard Worker  };
443*d5c09012SAndroid Build Coastguard Worker
444*d5c09012SAndroid Build Coastguard Worker  // Network type.
445*d5c09012SAndroid Build Coastguard Worker  enum Type {
446*d5c09012SAndroid Build Coastguard Worker    // Unspecified value.
447*d5c09012SAndroid Build Coastguard Worker    TYPE_UNSPECIFIED = 0;
448*d5c09012SAndroid Build Coastguard Worker
449*d5c09012SAndroid Build Coastguard Worker    // Client network, that is a network peered to a GCP VPC.
450*d5c09012SAndroid Build Coastguard Worker    CLIENT = 1;
451*d5c09012SAndroid Build Coastguard Worker
452*d5c09012SAndroid Build Coastguard Worker    // Private network, that is a network local to the BMS POD.
453*d5c09012SAndroid Build Coastguard Worker    PRIVATE = 2;
454*d5c09012SAndroid Build Coastguard Worker  }
455*d5c09012SAndroid Build Coastguard Worker
456*d5c09012SAndroid Build Coastguard Worker  // Interconnect bandwidth.
457*d5c09012SAndroid Build Coastguard Worker  enum Bandwidth {
458*d5c09012SAndroid Build Coastguard Worker    // Unspecified value.
459*d5c09012SAndroid Build Coastguard Worker    BANDWIDTH_UNSPECIFIED = 0;
460*d5c09012SAndroid Build Coastguard Worker
461*d5c09012SAndroid Build Coastguard Worker    // 1 Gbps.
462*d5c09012SAndroid Build Coastguard Worker    BW_1_GBPS = 1;
463*d5c09012SAndroid Build Coastguard Worker
464*d5c09012SAndroid Build Coastguard Worker    // 2 Gbps.
465*d5c09012SAndroid Build Coastguard Worker    BW_2_GBPS = 2;
466*d5c09012SAndroid Build Coastguard Worker
467*d5c09012SAndroid Build Coastguard Worker    // 5 Gbps.
468*d5c09012SAndroid Build Coastguard Worker    BW_5_GBPS = 3;
469*d5c09012SAndroid Build Coastguard Worker
470*d5c09012SAndroid Build Coastguard Worker    // 10 Gbps.
471*d5c09012SAndroid Build Coastguard Worker    BW_10_GBPS = 4;
472*d5c09012SAndroid Build Coastguard Worker  }
473*d5c09012SAndroid Build Coastguard Worker
474*d5c09012SAndroid Build Coastguard Worker  // A GCP vlan attachment.
475*d5c09012SAndroid Build Coastguard Worker  message IntakeVlanAttachment {
476*d5c09012SAndroid Build Coastguard Worker    // Identifier of the VLAN attachment.
477*d5c09012SAndroid Build Coastguard Worker    string id = 1;
478*d5c09012SAndroid Build Coastguard Worker
479*d5c09012SAndroid Build Coastguard Worker    // Attachment pairing key.
480*d5c09012SAndroid Build Coastguard Worker    string pairing_key = 2;
481*d5c09012SAndroid Build Coastguard Worker  }
482*d5c09012SAndroid Build Coastguard Worker
483*d5c09012SAndroid Build Coastguard Worker  // Service network block.
484*d5c09012SAndroid Build Coastguard Worker  enum ServiceCidr {
485*d5c09012SAndroid Build Coastguard Worker    // Unspecified value.
486*d5c09012SAndroid Build Coastguard Worker    SERVICE_CIDR_UNSPECIFIED = 0;
487*d5c09012SAndroid Build Coastguard Worker
488*d5c09012SAndroid Build Coastguard Worker    // Services are disabled for the given network.
489*d5c09012SAndroid Build Coastguard Worker    DISABLED = 1;
490*d5c09012SAndroid Build Coastguard Worker
491*d5c09012SAndroid Build Coastguard Worker    // Use the highest /26 block of the network to host services.
492*d5c09012SAndroid Build Coastguard Worker    HIGH_26 = 2;
493*d5c09012SAndroid Build Coastguard Worker
494*d5c09012SAndroid Build Coastguard Worker    // Use the highest /27 block of the network to host services.
495*d5c09012SAndroid Build Coastguard Worker    HIGH_27 = 3;
496*d5c09012SAndroid Build Coastguard Worker
497*d5c09012SAndroid Build Coastguard Worker    // Use the highest /28 block of the network to host services.
498*d5c09012SAndroid Build Coastguard Worker    HIGH_28 = 4;
499*d5c09012SAndroid Build Coastguard Worker  }
500*d5c09012SAndroid Build Coastguard Worker
501*d5c09012SAndroid Build Coastguard Worker  // Output only. The name of the network config.
502*d5c09012SAndroid Build Coastguard Worker  string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
503*d5c09012SAndroid Build Coastguard Worker
504*d5c09012SAndroid Build Coastguard Worker  // A transient unique identifier to identify a volume within an
505*d5c09012SAndroid Build Coastguard Worker  // ProvisioningConfig request.
506*d5c09012SAndroid Build Coastguard Worker  string id = 2;
507*d5c09012SAndroid Build Coastguard Worker
508*d5c09012SAndroid Build Coastguard Worker  // The type of this network, either Client or Private.
509*d5c09012SAndroid Build Coastguard Worker  Type type = 3;
510*d5c09012SAndroid Build Coastguard Worker
511*d5c09012SAndroid Build Coastguard Worker  // Interconnect bandwidth. Set only when type is CLIENT.
512*d5c09012SAndroid Build Coastguard Worker  Bandwidth bandwidth = 4;
513*d5c09012SAndroid Build Coastguard Worker
514*d5c09012SAndroid Build Coastguard Worker  // List of VLAN attachments. As of now there are always 2 attachments, but it
515*d5c09012SAndroid Build Coastguard Worker  // is going to change in  the future (multi vlan).
516*d5c09012SAndroid Build Coastguard Worker  repeated IntakeVlanAttachment vlan_attachments = 5;
517*d5c09012SAndroid Build Coastguard Worker
518*d5c09012SAndroid Build Coastguard Worker  // CIDR range of the network.
519*d5c09012SAndroid Build Coastguard Worker  string cidr = 6;
520*d5c09012SAndroid Build Coastguard Worker
521*d5c09012SAndroid Build Coastguard Worker  // Service CIDR, if any.
522*d5c09012SAndroid Build Coastguard Worker  ServiceCidr service_cidr = 7;
523*d5c09012SAndroid Build Coastguard Worker
524*d5c09012SAndroid Build Coastguard Worker  // User note field, it can be used by customers to add additional information
525*d5c09012SAndroid Build Coastguard Worker  // for the BMS Ops team .
526*d5c09012SAndroid Build Coastguard Worker  string user_note = 8;
527*d5c09012SAndroid Build Coastguard Worker
528*d5c09012SAndroid Build Coastguard Worker  // The GCP service of the network. Available gcp_service are in
529*d5c09012SAndroid Build Coastguard Worker  // https://cloud.google.com/bare-metal/docs/bms-planning.
530*d5c09012SAndroid Build Coastguard Worker  string gcp_service = 9;
531*d5c09012SAndroid Build Coastguard Worker
532*d5c09012SAndroid Build Coastguard Worker  // Whether the VLAN attachment pair is located in the same project.
533*d5c09012SAndroid Build Coastguard Worker  bool vlan_same_project = 10;
534*d5c09012SAndroid Build Coastguard Worker
535*d5c09012SAndroid Build Coastguard Worker  // The JumboFramesEnabled option for customer to set.
536*d5c09012SAndroid Build Coastguard Worker  bool jumbo_frames_enabled = 11;
537*d5c09012SAndroid Build Coastguard Worker}
538*d5c09012SAndroid Build Coastguard Worker
539*d5c09012SAndroid Build Coastguard Worker// A resource budget.
540*d5c09012SAndroid Build Coastguard Workermessage InstanceQuota {
541*d5c09012SAndroid Build Coastguard Worker  option (google.api.resource) = {
542*d5c09012SAndroid Build Coastguard Worker    type: "baremetalsolution.googleapis.com/InstanceQuota"
543*d5c09012SAndroid Build Coastguard Worker    pattern: "projects/{project}/locations/{location}/instanceQuotas/{instance_quota}"
544*d5c09012SAndroid Build Coastguard Worker  };
545*d5c09012SAndroid Build Coastguard Worker
546*d5c09012SAndroid Build Coastguard Worker  // Output only. The name of the instance quota.
547*d5c09012SAndroid Build Coastguard Worker  string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
548*d5c09012SAndroid Build Coastguard Worker
549*d5c09012SAndroid Build Coastguard Worker  // Instance type.
550*d5c09012SAndroid Build Coastguard Worker  // Deprecated: use gcp_service.
551*d5c09012SAndroid Build Coastguard Worker  string instance_type = 2 [deprecated = true];
552*d5c09012SAndroid Build Coastguard Worker
553*d5c09012SAndroid Build Coastguard Worker  // The gcp service of the provisioning quota.
554*d5c09012SAndroid Build Coastguard Worker  string gcp_service = 5;
555*d5c09012SAndroid Build Coastguard Worker
556*d5c09012SAndroid Build Coastguard Worker  // Location where the quota applies.
557*d5c09012SAndroid Build Coastguard Worker  string location = 3;
558*d5c09012SAndroid Build Coastguard Worker
559*d5c09012SAndroid Build Coastguard Worker  // Number of machines than can be created for the given location and
560*d5c09012SAndroid Build Coastguard Worker  // instance_type.
561*d5c09012SAndroid Build Coastguard Worker  int32 available_machine_count = 4;
562*d5c09012SAndroid Build Coastguard Worker}
563*d5c09012SAndroid Build Coastguard Worker
564*d5c09012SAndroid Build Coastguard Worker// Request for GetProvisioningConfig.
565*d5c09012SAndroid Build Coastguard Workermessage GetProvisioningConfigRequest {
566*d5c09012SAndroid Build Coastguard Worker  // Required. Name of the ProvisioningConfig.
567*d5c09012SAndroid Build Coastguard Worker  string name = 1 [
568*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
569*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
570*d5c09012SAndroid Build Coastguard Worker      type: "baremetalsolution.googleapis.com/ProvisioningConfig"
571*d5c09012SAndroid Build Coastguard Worker    }
572*d5c09012SAndroid Build Coastguard Worker  ];
573*d5c09012SAndroid Build Coastguard Worker}
574*d5c09012SAndroid Build Coastguard Worker
575*d5c09012SAndroid Build Coastguard Worker// Request for CreateProvisioningConfig.
576*d5c09012SAndroid Build Coastguard Workermessage CreateProvisioningConfigRequest {
577*d5c09012SAndroid Build Coastguard Worker  // Required. The parent project and location containing the
578*d5c09012SAndroid Build Coastguard Worker  // ProvisioningConfig.
579*d5c09012SAndroid Build Coastguard Worker  string parent = 1 [
580*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
581*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
582*d5c09012SAndroid Build Coastguard Worker      type: "locations.googleapis.com/Location"
583*d5c09012SAndroid Build Coastguard Worker    }
584*d5c09012SAndroid Build Coastguard Worker  ];
585*d5c09012SAndroid Build Coastguard Worker
586*d5c09012SAndroid Build Coastguard Worker  // Required. The ProvisioningConfig to create.
587*d5c09012SAndroid Build Coastguard Worker  ProvisioningConfig provisioning_config = 2
588*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = REQUIRED];
589*d5c09012SAndroid Build Coastguard Worker
590*d5c09012SAndroid Build Coastguard Worker  // Optional. Email provided to send a confirmation with provisioning config
591*d5c09012SAndroid Build Coastguard Worker  // to.
592*d5c09012SAndroid Build Coastguard Worker  string email = 3 [(google.api.field_behavior) = OPTIONAL];
593*d5c09012SAndroid Build Coastguard Worker}
594*d5c09012SAndroid Build Coastguard Worker
595*d5c09012SAndroid Build Coastguard Worker// Message for updating a ProvisioningConfig.
596*d5c09012SAndroid Build Coastguard Workermessage UpdateProvisioningConfigRequest {
597*d5c09012SAndroid Build Coastguard Worker  // Required. The ProvisioningConfig to update.
598*d5c09012SAndroid Build Coastguard Worker  ProvisioningConfig provisioning_config = 1
599*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = REQUIRED];
600*d5c09012SAndroid Build Coastguard Worker
601*d5c09012SAndroid Build Coastguard Worker  // Required. The list of fields to update.
602*d5c09012SAndroid Build Coastguard Worker  google.protobuf.FieldMask update_mask = 2
603*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = REQUIRED];
604*d5c09012SAndroid Build Coastguard Worker
605*d5c09012SAndroid Build Coastguard Worker  // Optional. Email provided to send a confirmation with provisioning config
606*d5c09012SAndroid Build Coastguard Worker  // to.
607*d5c09012SAndroid Build Coastguard Worker  string email = 3 [(google.api.field_behavior) = OPTIONAL];
608*d5c09012SAndroid Build Coastguard Worker}
609