xref: /aosp_15_r20/external/googleapis/google/cloud/vmmigration/v1/vmmigration.proto (revision d5c09012810ac0c9f33fe448fb6da8260d444cc9)
1*d5c09012SAndroid Build Coastguard Worker// Copyright 2022 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.vmmigration.v1;
18*d5c09012SAndroid Build Coastguard Worker
19*d5c09012SAndroid Build Coastguard Workerimport "google/api/annotations.proto";
20*d5c09012SAndroid Build Coastguard Workerimport "google/api/client.proto";
21*d5c09012SAndroid Build Coastguard Workerimport "google/api/field_behavior.proto";
22*d5c09012SAndroid Build Coastguard Workerimport "google/api/resource.proto";
23*d5c09012SAndroid Build Coastguard Workerimport "google/longrunning/operations.proto";
24*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/duration.proto";
25*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/field_mask.proto";
26*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/timestamp.proto";
27*d5c09012SAndroid Build Coastguard Workerimport "google/rpc/error_details.proto";
28*d5c09012SAndroid Build Coastguard Workerimport "google/rpc/status.proto";
29*d5c09012SAndroid Build Coastguard Worker
30*d5c09012SAndroid Build Coastguard Workeroption csharp_namespace = "Google.Cloud.VMMigration.V1";
31*d5c09012SAndroid Build Coastguard Workeroption go_package = "cloud.google.com/go/vmmigration/apiv1/vmmigrationpb;vmmigrationpb";
32*d5c09012SAndroid Build Coastguard Workeroption java_multiple_files = true;
33*d5c09012SAndroid Build Coastguard Workeroption java_outer_classname = "VmMigrationProto";
34*d5c09012SAndroid Build Coastguard Workeroption java_package = "com.google.cloud.vmmigration.v1";
35*d5c09012SAndroid Build Coastguard Workeroption php_namespace = "Google\\Cloud\\VMMigration\\V1";
36*d5c09012SAndroid Build Coastguard Workeroption ruby_package = "Google::Cloud::VMMigration::V1";
37*d5c09012SAndroid Build Coastguard Worker
38*d5c09012SAndroid Build Coastguard Worker// VM Migration Service
39*d5c09012SAndroid Build Coastguard Workerservice VmMigration {
40*d5c09012SAndroid Build Coastguard Worker  option (google.api.default_host) = "vmmigration.googleapis.com";
41*d5c09012SAndroid Build Coastguard Worker  option (google.api.oauth_scopes) =
42*d5c09012SAndroid Build Coastguard Worker      "https://www.googleapis.com/auth/cloud-platform";
43*d5c09012SAndroid Build Coastguard Worker
44*d5c09012SAndroid Build Coastguard Worker  // Lists Sources in a given project and location.
45*d5c09012SAndroid Build Coastguard Worker  rpc ListSources(ListSourcesRequest) returns (ListSourcesResponse) {
46*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
47*d5c09012SAndroid Build Coastguard Worker      get: "/v1/{parent=projects/*/locations/*}/sources"
48*d5c09012SAndroid Build Coastguard Worker    };
49*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "parent";
50*d5c09012SAndroid Build Coastguard Worker  }
51*d5c09012SAndroid Build Coastguard Worker
52*d5c09012SAndroid Build Coastguard Worker  // Gets details of a single Source.
53*d5c09012SAndroid Build Coastguard Worker  rpc GetSource(GetSourceRequest) returns (Source) {
54*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
55*d5c09012SAndroid Build Coastguard Worker      get: "/v1/{name=projects/*/locations/*/sources/*}"
56*d5c09012SAndroid Build Coastguard Worker    };
57*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "name";
58*d5c09012SAndroid Build Coastguard Worker  }
59*d5c09012SAndroid Build Coastguard Worker
60*d5c09012SAndroid Build Coastguard Worker  // Creates a new Source in a given project and location.
61*d5c09012SAndroid Build Coastguard Worker  rpc CreateSource(CreateSourceRequest) returns (google.longrunning.Operation) {
62*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
63*d5c09012SAndroid Build Coastguard Worker      post: "/v1/{parent=projects/*/locations/*}/sources"
64*d5c09012SAndroid Build Coastguard Worker      body: "source"
65*d5c09012SAndroid Build Coastguard Worker    };
66*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "parent,source,source_id";
67*d5c09012SAndroid Build Coastguard Worker    option (google.longrunning.operation_info) = {
68*d5c09012SAndroid Build Coastguard Worker      response_type: "Source"
69*d5c09012SAndroid Build Coastguard Worker      metadata_type: "OperationMetadata"
70*d5c09012SAndroid Build Coastguard Worker    };
71*d5c09012SAndroid Build Coastguard Worker  }
72*d5c09012SAndroid Build Coastguard Worker
73*d5c09012SAndroid Build Coastguard Worker  // Updates the parameters of a single Source.
74*d5c09012SAndroid Build Coastguard Worker  rpc UpdateSource(UpdateSourceRequest) returns (google.longrunning.Operation) {
75*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
76*d5c09012SAndroid Build Coastguard Worker      patch: "/v1/{source.name=projects/*/locations/*/sources/*}"
77*d5c09012SAndroid Build Coastguard Worker      body: "source"
78*d5c09012SAndroid Build Coastguard Worker    };
79*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "source,update_mask";
80*d5c09012SAndroid Build Coastguard Worker    option (google.longrunning.operation_info) = {
81*d5c09012SAndroid Build Coastguard Worker      response_type: "Source"
82*d5c09012SAndroid Build Coastguard Worker      metadata_type: "OperationMetadata"
83*d5c09012SAndroid Build Coastguard Worker    };
84*d5c09012SAndroid Build Coastguard Worker  }
85*d5c09012SAndroid Build Coastguard Worker
86*d5c09012SAndroid Build Coastguard Worker  // Deletes a single Source.
87*d5c09012SAndroid Build Coastguard Worker  rpc DeleteSource(DeleteSourceRequest) returns (google.longrunning.Operation) {
88*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
89*d5c09012SAndroid Build Coastguard Worker      delete: "/v1/{name=projects/*/locations/*/sources/*}"
90*d5c09012SAndroid Build Coastguard Worker    };
91*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "name";
92*d5c09012SAndroid Build Coastguard Worker    option (google.longrunning.operation_info) = {
93*d5c09012SAndroid Build Coastguard Worker      response_type: "google.protobuf.Empty"
94*d5c09012SAndroid Build Coastguard Worker      metadata_type: "OperationMetadata"
95*d5c09012SAndroid Build Coastguard Worker    };
96*d5c09012SAndroid Build Coastguard Worker  }
97*d5c09012SAndroid Build Coastguard Worker
98*d5c09012SAndroid Build Coastguard Worker  // List remote source's inventory of VMs.
99*d5c09012SAndroid Build Coastguard Worker  // The remote source is the onprem vCenter (remote in the sense it's not in
100*d5c09012SAndroid Build Coastguard Worker  // Compute Engine). The inventory describes the list of existing VMs in that
101*d5c09012SAndroid Build Coastguard Worker  // source. Note that this operation lists the VMs on the remote source, as
102*d5c09012SAndroid Build Coastguard Worker  // opposed to listing the MigratingVms resources in the vmmigration service.
103*d5c09012SAndroid Build Coastguard Worker  rpc FetchInventory(FetchInventoryRequest) returns (FetchInventoryResponse) {
104*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
105*d5c09012SAndroid Build Coastguard Worker      get: "/v1/{source=projects/*/locations/*/sources/*}:fetchInventory"
106*d5c09012SAndroid Build Coastguard Worker    };
107*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "source";
108*d5c09012SAndroid Build Coastguard Worker  }
109*d5c09012SAndroid Build Coastguard Worker
110*d5c09012SAndroid Build Coastguard Worker  // Lists Utilization Reports of the given Source.
111*d5c09012SAndroid Build Coastguard Worker  rpc ListUtilizationReports(ListUtilizationReportsRequest)
112*d5c09012SAndroid Build Coastguard Worker      returns (ListUtilizationReportsResponse) {
113*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
114*d5c09012SAndroid Build Coastguard Worker      get: "/v1/{parent=projects/*/locations/*/sources/*}/utilizationReports"
115*d5c09012SAndroid Build Coastguard Worker    };
116*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "parent";
117*d5c09012SAndroid Build Coastguard Worker  }
118*d5c09012SAndroid Build Coastguard Worker
119*d5c09012SAndroid Build Coastguard Worker  // Gets a single Utilization Report.
120*d5c09012SAndroid Build Coastguard Worker  rpc GetUtilizationReport(GetUtilizationReportRequest)
121*d5c09012SAndroid Build Coastguard Worker      returns (UtilizationReport) {
122*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
123*d5c09012SAndroid Build Coastguard Worker      get: "/v1/{name=projects/*/locations/*/sources/*/utilizationReports/*}"
124*d5c09012SAndroid Build Coastguard Worker    };
125*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "name";
126*d5c09012SAndroid Build Coastguard Worker  }
127*d5c09012SAndroid Build Coastguard Worker
128*d5c09012SAndroid Build Coastguard Worker  // Creates a new UtilizationReport.
129*d5c09012SAndroid Build Coastguard Worker  rpc CreateUtilizationReport(CreateUtilizationReportRequest)
130*d5c09012SAndroid Build Coastguard Worker      returns (google.longrunning.Operation) {
131*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
132*d5c09012SAndroid Build Coastguard Worker      post: "/v1/{parent=projects/*/locations/*/sources/*}/utilizationReports"
133*d5c09012SAndroid Build Coastguard Worker      body: "utilization_report"
134*d5c09012SAndroid Build Coastguard Worker    };
135*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) =
136*d5c09012SAndroid Build Coastguard Worker        "parent,utilization_report,utilization_report_id";
137*d5c09012SAndroid Build Coastguard Worker    option (google.longrunning.operation_info) = {
138*d5c09012SAndroid Build Coastguard Worker      response_type: "UtilizationReport"
139*d5c09012SAndroid Build Coastguard Worker      metadata_type: "OperationMetadata"
140*d5c09012SAndroid Build Coastguard Worker    };
141*d5c09012SAndroid Build Coastguard Worker  }
142*d5c09012SAndroid Build Coastguard Worker
143*d5c09012SAndroid Build Coastguard Worker  // Deletes a single Utilization Report.
144*d5c09012SAndroid Build Coastguard Worker  rpc DeleteUtilizationReport(DeleteUtilizationReportRequest)
145*d5c09012SAndroid Build Coastguard Worker      returns (google.longrunning.Operation) {
146*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
147*d5c09012SAndroid Build Coastguard Worker      delete: "/v1/{name=projects/*/locations/*/sources/*/utilizationReports/*}"
148*d5c09012SAndroid Build Coastguard Worker    };
149*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "name";
150*d5c09012SAndroid Build Coastguard Worker    option (google.longrunning.operation_info) = {
151*d5c09012SAndroid Build Coastguard Worker      response_type: "google.protobuf.Empty"
152*d5c09012SAndroid Build Coastguard Worker      metadata_type: "OperationMetadata"
153*d5c09012SAndroid Build Coastguard Worker    };
154*d5c09012SAndroid Build Coastguard Worker  }
155*d5c09012SAndroid Build Coastguard Worker
156*d5c09012SAndroid Build Coastguard Worker  // Lists DatacenterConnectors in a given Source.
157*d5c09012SAndroid Build Coastguard Worker  rpc ListDatacenterConnectors(ListDatacenterConnectorsRequest)
158*d5c09012SAndroid Build Coastguard Worker      returns (ListDatacenterConnectorsResponse) {
159*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
160*d5c09012SAndroid Build Coastguard Worker      get: "/v1/{parent=projects/*/locations/*/sources/*}/datacenterConnectors"
161*d5c09012SAndroid Build Coastguard Worker    };
162*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "parent";
163*d5c09012SAndroid Build Coastguard Worker  }
164*d5c09012SAndroid Build Coastguard Worker
165*d5c09012SAndroid Build Coastguard Worker  // Gets details of a single DatacenterConnector.
166*d5c09012SAndroid Build Coastguard Worker  rpc GetDatacenterConnector(GetDatacenterConnectorRequest)
167*d5c09012SAndroid Build Coastguard Worker      returns (DatacenterConnector) {
168*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
169*d5c09012SAndroid Build Coastguard Worker      get: "/v1/{name=projects/*/locations/*/sources/*/datacenterConnectors/*}"
170*d5c09012SAndroid Build Coastguard Worker    };
171*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "name";
172*d5c09012SAndroid Build Coastguard Worker  }
173*d5c09012SAndroid Build Coastguard Worker
174*d5c09012SAndroid Build Coastguard Worker  // Creates a new DatacenterConnector in a given Source.
175*d5c09012SAndroid Build Coastguard Worker  rpc CreateDatacenterConnector(CreateDatacenterConnectorRequest)
176*d5c09012SAndroid Build Coastguard Worker      returns (google.longrunning.Operation) {
177*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
178*d5c09012SAndroid Build Coastguard Worker      post: "/v1/{parent=projects/*/locations/*/sources/*}/datacenterConnectors"
179*d5c09012SAndroid Build Coastguard Worker      body: "datacenter_connector"
180*d5c09012SAndroid Build Coastguard Worker    };
181*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) =
182*d5c09012SAndroid Build Coastguard Worker        "parent,datacenter_connector,datacenter_connector_id";
183*d5c09012SAndroid Build Coastguard Worker    option (google.longrunning.operation_info) = {
184*d5c09012SAndroid Build Coastguard Worker      response_type: "DatacenterConnector"
185*d5c09012SAndroid Build Coastguard Worker      metadata_type: "OperationMetadata"
186*d5c09012SAndroid Build Coastguard Worker    };
187*d5c09012SAndroid Build Coastguard Worker  }
188*d5c09012SAndroid Build Coastguard Worker
189*d5c09012SAndroid Build Coastguard Worker  // Deletes a single DatacenterConnector.
190*d5c09012SAndroid Build Coastguard Worker  rpc DeleteDatacenterConnector(DeleteDatacenterConnectorRequest)
191*d5c09012SAndroid Build Coastguard Worker      returns (google.longrunning.Operation) {
192*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
193*d5c09012SAndroid Build Coastguard Worker      delete: "/v1/{name=projects/*/locations/*/sources/*/datacenterConnectors/*}"
194*d5c09012SAndroid Build Coastguard Worker    };
195*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "name";
196*d5c09012SAndroid Build Coastguard Worker    option (google.longrunning.operation_info) = {
197*d5c09012SAndroid Build Coastguard Worker      response_type: "google.protobuf.Empty"
198*d5c09012SAndroid Build Coastguard Worker      metadata_type: "OperationMetadata"
199*d5c09012SAndroid Build Coastguard Worker    };
200*d5c09012SAndroid Build Coastguard Worker  }
201*d5c09012SAndroid Build Coastguard Worker
202*d5c09012SAndroid Build Coastguard Worker  // Upgrades the appliance relate to this DatacenterConnector to the in-place
203*d5c09012SAndroid Build Coastguard Worker  // updateable version.
204*d5c09012SAndroid Build Coastguard Worker  rpc UpgradeAppliance(UpgradeApplianceRequest)
205*d5c09012SAndroid Build Coastguard Worker      returns (google.longrunning.Operation) {
206*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
207*d5c09012SAndroid Build Coastguard Worker      post: "/v1/{datacenter_connector=projects/*/locations/*/sources/*/datacenterConnectors/*}:upgradeAppliance"
208*d5c09012SAndroid Build Coastguard Worker      body: "*"
209*d5c09012SAndroid Build Coastguard Worker    };
210*d5c09012SAndroid Build Coastguard Worker    option (google.longrunning.operation_info) = {
211*d5c09012SAndroid Build Coastguard Worker      response_type: "UpgradeApplianceResponse"
212*d5c09012SAndroid Build Coastguard Worker      metadata_type: "OperationMetadata"
213*d5c09012SAndroid Build Coastguard Worker    };
214*d5c09012SAndroid Build Coastguard Worker  }
215*d5c09012SAndroid Build Coastguard Worker
216*d5c09012SAndroid Build Coastguard Worker  // Creates a new MigratingVm in a given Source.
217*d5c09012SAndroid Build Coastguard Worker  rpc CreateMigratingVm(CreateMigratingVmRequest)
218*d5c09012SAndroid Build Coastguard Worker      returns (google.longrunning.Operation) {
219*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
220*d5c09012SAndroid Build Coastguard Worker      post: "/v1/{parent=projects/*/locations/*/sources/*}/migratingVms"
221*d5c09012SAndroid Build Coastguard Worker      body: "migrating_vm"
222*d5c09012SAndroid Build Coastguard Worker    };
223*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) =
224*d5c09012SAndroid Build Coastguard Worker        "parent,migrating_vm,migrating_vm_id";
225*d5c09012SAndroid Build Coastguard Worker    option (google.longrunning.operation_info) = {
226*d5c09012SAndroid Build Coastguard Worker      response_type: "MigratingVm"
227*d5c09012SAndroid Build Coastguard Worker      metadata_type: "OperationMetadata"
228*d5c09012SAndroid Build Coastguard Worker    };
229*d5c09012SAndroid Build Coastguard Worker  }
230*d5c09012SAndroid Build Coastguard Worker
231*d5c09012SAndroid Build Coastguard Worker  // Lists MigratingVms in a given Source.
232*d5c09012SAndroid Build Coastguard Worker  rpc ListMigratingVms(ListMigratingVmsRequest)
233*d5c09012SAndroid Build Coastguard Worker      returns (ListMigratingVmsResponse) {
234*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
235*d5c09012SAndroid Build Coastguard Worker      get: "/v1/{parent=projects/*/locations/*/sources/*}/migratingVms"
236*d5c09012SAndroid Build Coastguard Worker    };
237*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "parent";
238*d5c09012SAndroid Build Coastguard Worker  }
239*d5c09012SAndroid Build Coastguard Worker
240*d5c09012SAndroid Build Coastguard Worker  // Gets details of a single MigratingVm.
241*d5c09012SAndroid Build Coastguard Worker  rpc GetMigratingVm(GetMigratingVmRequest) returns (MigratingVm) {
242*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
243*d5c09012SAndroid Build Coastguard Worker      get: "/v1/{name=projects/*/locations/*/sources/*/migratingVms/*}"
244*d5c09012SAndroid Build Coastguard Worker    };
245*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "name";
246*d5c09012SAndroid Build Coastguard Worker  }
247*d5c09012SAndroid Build Coastguard Worker
248*d5c09012SAndroid Build Coastguard Worker  // Updates the parameters of a single MigratingVm.
249*d5c09012SAndroid Build Coastguard Worker  rpc UpdateMigratingVm(UpdateMigratingVmRequest)
250*d5c09012SAndroid Build Coastguard Worker      returns (google.longrunning.Operation) {
251*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
252*d5c09012SAndroid Build Coastguard Worker      patch: "/v1/{migrating_vm.name=projects/*/locations/*/sources/*/migratingVms/*}"
253*d5c09012SAndroid Build Coastguard Worker      body: "migrating_vm"
254*d5c09012SAndroid Build Coastguard Worker    };
255*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "migrating_vm,update_mask";
256*d5c09012SAndroid Build Coastguard Worker    option (google.longrunning.operation_info) = {
257*d5c09012SAndroid Build Coastguard Worker      response_type: "MigratingVm"
258*d5c09012SAndroid Build Coastguard Worker      metadata_type: "OperationMetadata"
259*d5c09012SAndroid Build Coastguard Worker    };
260*d5c09012SAndroid Build Coastguard Worker  }
261*d5c09012SAndroid Build Coastguard Worker
262*d5c09012SAndroid Build Coastguard Worker  // Deletes a single MigratingVm.
263*d5c09012SAndroid Build Coastguard Worker  rpc DeleteMigratingVm(DeleteMigratingVmRequest)
264*d5c09012SAndroid Build Coastguard Worker      returns (google.longrunning.Operation) {
265*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
266*d5c09012SAndroid Build Coastguard Worker      delete: "/v1/{name=projects/*/locations/*/sources/*/migratingVms/*}"
267*d5c09012SAndroid Build Coastguard Worker    };
268*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "name";
269*d5c09012SAndroid Build Coastguard Worker    option (google.longrunning.operation_info) = {
270*d5c09012SAndroid Build Coastguard Worker      response_type: "google.protobuf.Empty"
271*d5c09012SAndroid Build Coastguard Worker      metadata_type: "OperationMetadata"
272*d5c09012SAndroid Build Coastguard Worker    };
273*d5c09012SAndroid Build Coastguard Worker  }
274*d5c09012SAndroid Build Coastguard Worker
275*d5c09012SAndroid Build Coastguard Worker  // Starts migration for a VM. Starts the process of uploading
276*d5c09012SAndroid Build Coastguard Worker  // data and creating snapshots, in replication cycles scheduled by the policy.
277*d5c09012SAndroid Build Coastguard Worker  rpc StartMigration(StartMigrationRequest)
278*d5c09012SAndroid Build Coastguard Worker      returns (google.longrunning.Operation) {
279*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
280*d5c09012SAndroid Build Coastguard Worker      post: "/v1/{migrating_vm=projects/*/locations/*/sources/*/migratingVms/*}:startMigration"
281*d5c09012SAndroid Build Coastguard Worker      body: "*"
282*d5c09012SAndroid Build Coastguard Worker    };
283*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "migrating_vm";
284*d5c09012SAndroid Build Coastguard Worker    option (google.longrunning.operation_info) = {
285*d5c09012SAndroid Build Coastguard Worker      response_type: "StartMigrationResponse"
286*d5c09012SAndroid Build Coastguard Worker      metadata_type: "OperationMetadata"
287*d5c09012SAndroid Build Coastguard Worker    };
288*d5c09012SAndroid Build Coastguard Worker  }
289*d5c09012SAndroid Build Coastguard Worker
290*d5c09012SAndroid Build Coastguard Worker  // Resumes a migration for a VM. When called on a paused migration, will start
291*d5c09012SAndroid Build Coastguard Worker  // the process of uploading data and creating snapshots; when called on a
292*d5c09012SAndroid Build Coastguard Worker  // completed cut-over migration, will update the migration to active state and
293*d5c09012SAndroid Build Coastguard Worker  // start the process of uploading data and creating snapshots.
294*d5c09012SAndroid Build Coastguard Worker  rpc ResumeMigration(ResumeMigrationRequest)
295*d5c09012SAndroid Build Coastguard Worker      returns (google.longrunning.Operation) {
296*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
297*d5c09012SAndroid Build Coastguard Worker      post: "/v1/{migrating_vm=projects/*/locations/*/sources/*/migratingVms/*}:resumeMigration"
298*d5c09012SAndroid Build Coastguard Worker      body: "*"
299*d5c09012SAndroid Build Coastguard Worker    };
300*d5c09012SAndroid Build Coastguard Worker    option (google.longrunning.operation_info) = {
301*d5c09012SAndroid Build Coastguard Worker      response_type: "ResumeMigrationResponse"
302*d5c09012SAndroid Build Coastguard Worker      metadata_type: "OperationMetadata"
303*d5c09012SAndroid Build Coastguard Worker    };
304*d5c09012SAndroid Build Coastguard Worker  }
305*d5c09012SAndroid Build Coastguard Worker
306*d5c09012SAndroid Build Coastguard Worker  // Pauses a migration for a VM. If cycle tasks are running they will be
307*d5c09012SAndroid Build Coastguard Worker  // cancelled, preserving source task data. Further replication cycles will not
308*d5c09012SAndroid Build Coastguard Worker  // be triggered while the VM is paused.
309*d5c09012SAndroid Build Coastguard Worker  rpc PauseMigration(PauseMigrationRequest)
310*d5c09012SAndroid Build Coastguard Worker      returns (google.longrunning.Operation) {
311*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
312*d5c09012SAndroid Build Coastguard Worker      post: "/v1/{migrating_vm=projects/*/locations/*/sources/*/migratingVms/*}:pauseMigration"
313*d5c09012SAndroid Build Coastguard Worker      body: "*"
314*d5c09012SAndroid Build Coastguard Worker    };
315*d5c09012SAndroid Build Coastguard Worker    option (google.longrunning.operation_info) = {
316*d5c09012SAndroid Build Coastguard Worker      response_type: "PauseMigrationResponse"
317*d5c09012SAndroid Build Coastguard Worker      metadata_type: "OperationMetadata"
318*d5c09012SAndroid Build Coastguard Worker    };
319*d5c09012SAndroid Build Coastguard Worker  }
320*d5c09012SAndroid Build Coastguard Worker
321*d5c09012SAndroid Build Coastguard Worker  // Marks a migration as completed, deleting migration resources that are no
322*d5c09012SAndroid Build Coastguard Worker  // longer being used. Only applicable after cutover is done.
323*d5c09012SAndroid Build Coastguard Worker  rpc FinalizeMigration(FinalizeMigrationRequest)
324*d5c09012SAndroid Build Coastguard Worker      returns (google.longrunning.Operation) {
325*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
326*d5c09012SAndroid Build Coastguard Worker      post: "/v1/{migrating_vm=projects/*/locations/*/sources/*/migratingVms/*}:finalizeMigration"
327*d5c09012SAndroid Build Coastguard Worker      body: "*"
328*d5c09012SAndroid Build Coastguard Worker    };
329*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "migrating_vm";
330*d5c09012SAndroid Build Coastguard Worker    option (google.longrunning.operation_info) = {
331*d5c09012SAndroid Build Coastguard Worker      response_type: "FinalizeMigrationResponse"
332*d5c09012SAndroid Build Coastguard Worker      metadata_type: "OperationMetadata"
333*d5c09012SAndroid Build Coastguard Worker    };
334*d5c09012SAndroid Build Coastguard Worker  }
335*d5c09012SAndroid Build Coastguard Worker
336*d5c09012SAndroid Build Coastguard Worker  // Initiates a Clone of a specific migrating VM.
337*d5c09012SAndroid Build Coastguard Worker  rpc CreateCloneJob(CreateCloneJobRequest)
338*d5c09012SAndroid Build Coastguard Worker      returns (google.longrunning.Operation) {
339*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
340*d5c09012SAndroid Build Coastguard Worker      post: "/v1/{parent=projects/*/locations/*/sources/*/migratingVms/*}/cloneJobs"
341*d5c09012SAndroid Build Coastguard Worker      body: "clone_job"
342*d5c09012SAndroid Build Coastguard Worker    };
343*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "parent,clone_job,clone_job_id";
344*d5c09012SAndroid Build Coastguard Worker    option (google.longrunning.operation_info) = {
345*d5c09012SAndroid Build Coastguard Worker      response_type: "CloneJob"
346*d5c09012SAndroid Build Coastguard Worker      metadata_type: "OperationMetadata"
347*d5c09012SAndroid Build Coastguard Worker    };
348*d5c09012SAndroid Build Coastguard Worker  }
349*d5c09012SAndroid Build Coastguard Worker
350*d5c09012SAndroid Build Coastguard Worker  // Initiates the cancellation of a running clone job.
351*d5c09012SAndroid Build Coastguard Worker  rpc CancelCloneJob(CancelCloneJobRequest)
352*d5c09012SAndroid Build Coastguard Worker      returns (google.longrunning.Operation) {
353*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
354*d5c09012SAndroid Build Coastguard Worker      post: "/v1/{name=projects/*/locations/*/sources/*/migratingVms/*/cloneJobs/*}:cancel"
355*d5c09012SAndroid Build Coastguard Worker      body: "*"
356*d5c09012SAndroid Build Coastguard Worker    };
357*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "name";
358*d5c09012SAndroid Build Coastguard Worker    option (google.longrunning.operation_info) = {
359*d5c09012SAndroid Build Coastguard Worker      response_type: "CancelCloneJobResponse"
360*d5c09012SAndroid Build Coastguard Worker      metadata_type: "OperationMetadata"
361*d5c09012SAndroid Build Coastguard Worker    };
362*d5c09012SAndroid Build Coastguard Worker  }
363*d5c09012SAndroid Build Coastguard Worker
364*d5c09012SAndroid Build Coastguard Worker  // Lists CloneJobs of a given migrating VM.
365*d5c09012SAndroid Build Coastguard Worker  rpc ListCloneJobs(ListCloneJobsRequest) returns (ListCloneJobsResponse) {
366*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
367*d5c09012SAndroid Build Coastguard Worker      get: "/v1/{parent=projects/*/locations/*/sources/*/migratingVms/*}/cloneJobs"
368*d5c09012SAndroid Build Coastguard Worker    };
369*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "parent";
370*d5c09012SAndroid Build Coastguard Worker  }
371*d5c09012SAndroid Build Coastguard Worker
372*d5c09012SAndroid Build Coastguard Worker  // Gets details of a single CloneJob.
373*d5c09012SAndroid Build Coastguard Worker  rpc GetCloneJob(GetCloneJobRequest) returns (CloneJob) {
374*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
375*d5c09012SAndroid Build Coastguard Worker      get: "/v1/{name=projects/*/locations/*/sources/*/migratingVms/*/cloneJobs/*}"
376*d5c09012SAndroid Build Coastguard Worker    };
377*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "name";
378*d5c09012SAndroid Build Coastguard Worker  }
379*d5c09012SAndroid Build Coastguard Worker
380*d5c09012SAndroid Build Coastguard Worker  // Initiates a Cutover of a specific migrating VM.
381*d5c09012SAndroid Build Coastguard Worker  // The returned LRO is completed when the cutover job resource is created
382*d5c09012SAndroid Build Coastguard Worker  // and the job is initiated.
383*d5c09012SAndroid Build Coastguard Worker  rpc CreateCutoverJob(CreateCutoverJobRequest)
384*d5c09012SAndroid Build Coastguard Worker      returns (google.longrunning.Operation) {
385*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
386*d5c09012SAndroid Build Coastguard Worker      post: "/v1/{parent=projects/*/locations/*/sources/*/migratingVms/*}/cutoverJobs"
387*d5c09012SAndroid Build Coastguard Worker      body: "cutover_job"
388*d5c09012SAndroid Build Coastguard Worker    };
389*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "parent,cutover_job,cutover_job_id";
390*d5c09012SAndroid Build Coastguard Worker    option (google.longrunning.operation_info) = {
391*d5c09012SAndroid Build Coastguard Worker      response_type: "CutoverJob"
392*d5c09012SAndroid Build Coastguard Worker      metadata_type: "OperationMetadata"
393*d5c09012SAndroid Build Coastguard Worker    };
394*d5c09012SAndroid Build Coastguard Worker  }
395*d5c09012SAndroid Build Coastguard Worker
396*d5c09012SAndroid Build Coastguard Worker  // Initiates the cancellation of a running cutover job.
397*d5c09012SAndroid Build Coastguard Worker  rpc CancelCutoverJob(CancelCutoverJobRequest)
398*d5c09012SAndroid Build Coastguard Worker      returns (google.longrunning.Operation) {
399*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
400*d5c09012SAndroid Build Coastguard Worker      post: "/v1/{name=projects/*/locations/*/sources/*/migratingVms/*/cutoverJobs/*}:cancel"
401*d5c09012SAndroid Build Coastguard Worker      body: "*"
402*d5c09012SAndroid Build Coastguard Worker    };
403*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "name";
404*d5c09012SAndroid Build Coastguard Worker    option (google.longrunning.operation_info) = {
405*d5c09012SAndroid Build Coastguard Worker      response_type: "CancelCutoverJobResponse"
406*d5c09012SAndroid Build Coastguard Worker      metadata_type: "OperationMetadata"
407*d5c09012SAndroid Build Coastguard Worker    };
408*d5c09012SAndroid Build Coastguard Worker  }
409*d5c09012SAndroid Build Coastguard Worker
410*d5c09012SAndroid Build Coastguard Worker  // Lists CutoverJobs of a given migrating VM.
411*d5c09012SAndroid Build Coastguard Worker  rpc ListCutoverJobs(ListCutoverJobsRequest)
412*d5c09012SAndroid Build Coastguard Worker      returns (ListCutoverJobsResponse) {
413*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
414*d5c09012SAndroid Build Coastguard Worker      get: "/v1/{parent=projects/*/locations/*/sources/*/migratingVms/*}/cutoverJobs"
415*d5c09012SAndroid Build Coastguard Worker    };
416*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "parent";
417*d5c09012SAndroid Build Coastguard Worker  }
418*d5c09012SAndroid Build Coastguard Worker
419*d5c09012SAndroid Build Coastguard Worker  // Gets details of a single CutoverJob.
420*d5c09012SAndroid Build Coastguard Worker  rpc GetCutoverJob(GetCutoverJobRequest) returns (CutoverJob) {
421*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
422*d5c09012SAndroid Build Coastguard Worker      get: "/v1/{name=projects/*/locations/*/sources/*/migratingVms/*/cutoverJobs/*}"
423*d5c09012SAndroid Build Coastguard Worker    };
424*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "name";
425*d5c09012SAndroid Build Coastguard Worker  }
426*d5c09012SAndroid Build Coastguard Worker
427*d5c09012SAndroid Build Coastguard Worker  // Lists Groups in a given project and location.
428*d5c09012SAndroid Build Coastguard Worker  rpc ListGroups(ListGroupsRequest) returns (ListGroupsResponse) {
429*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
430*d5c09012SAndroid Build Coastguard Worker      get: "/v1/{parent=projects/*/locations/*}/groups"
431*d5c09012SAndroid Build Coastguard Worker    };
432*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "parent";
433*d5c09012SAndroid Build Coastguard Worker  }
434*d5c09012SAndroid Build Coastguard Worker
435*d5c09012SAndroid Build Coastguard Worker  // Gets details of a single Group.
436*d5c09012SAndroid Build Coastguard Worker  rpc GetGroup(GetGroupRequest) returns (Group) {
437*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
438*d5c09012SAndroid Build Coastguard Worker      get: "/v1/{name=projects/*/locations/*/groups/*}"
439*d5c09012SAndroid Build Coastguard Worker    };
440*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "name";
441*d5c09012SAndroid Build Coastguard Worker  }
442*d5c09012SAndroid Build Coastguard Worker
443*d5c09012SAndroid Build Coastguard Worker  // Creates a new Group in a given project and location.
444*d5c09012SAndroid Build Coastguard Worker  rpc CreateGroup(CreateGroupRequest) returns (google.longrunning.Operation) {
445*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
446*d5c09012SAndroid Build Coastguard Worker      post: "/v1/{parent=projects/*/locations/*}/groups"
447*d5c09012SAndroid Build Coastguard Worker      body: "group"
448*d5c09012SAndroid Build Coastguard Worker    };
449*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "parent,group,group_id";
450*d5c09012SAndroid Build Coastguard Worker    option (google.longrunning.operation_info) = {
451*d5c09012SAndroid Build Coastguard Worker      response_type: "Group"
452*d5c09012SAndroid Build Coastguard Worker      metadata_type: "OperationMetadata"
453*d5c09012SAndroid Build Coastguard Worker    };
454*d5c09012SAndroid Build Coastguard Worker  }
455*d5c09012SAndroid Build Coastguard Worker
456*d5c09012SAndroid Build Coastguard Worker  // Updates the parameters of a single Group.
457*d5c09012SAndroid Build Coastguard Worker  rpc UpdateGroup(UpdateGroupRequest) returns (google.longrunning.Operation) {
458*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
459*d5c09012SAndroid Build Coastguard Worker      patch: "/v1/{group.name=projects/*/locations/*/groups/*}"
460*d5c09012SAndroid Build Coastguard Worker      body: "group"
461*d5c09012SAndroid Build Coastguard Worker    };
462*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "group,update_mask";
463*d5c09012SAndroid Build Coastguard Worker    option (google.longrunning.operation_info) = {
464*d5c09012SAndroid Build Coastguard Worker      response_type: "Group"
465*d5c09012SAndroid Build Coastguard Worker      metadata_type: "OperationMetadata"
466*d5c09012SAndroid Build Coastguard Worker    };
467*d5c09012SAndroid Build Coastguard Worker  }
468*d5c09012SAndroid Build Coastguard Worker
469*d5c09012SAndroid Build Coastguard Worker  // Deletes a single Group.
470*d5c09012SAndroid Build Coastguard Worker  rpc DeleteGroup(DeleteGroupRequest) returns (google.longrunning.Operation) {
471*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
472*d5c09012SAndroid Build Coastguard Worker      delete: "/v1/{name=projects/*/locations/*/groups/*}"
473*d5c09012SAndroid Build Coastguard Worker    };
474*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "name";
475*d5c09012SAndroid Build Coastguard Worker    option (google.longrunning.operation_info) = {
476*d5c09012SAndroid Build Coastguard Worker      response_type: "google.protobuf.Empty"
477*d5c09012SAndroid Build Coastguard Worker      metadata_type: "OperationMetadata"
478*d5c09012SAndroid Build Coastguard Worker    };
479*d5c09012SAndroid Build Coastguard Worker  }
480*d5c09012SAndroid Build Coastguard Worker
481*d5c09012SAndroid Build Coastguard Worker  // Adds a MigratingVm to a Group.
482*d5c09012SAndroid Build Coastguard Worker  rpc AddGroupMigration(AddGroupMigrationRequest)
483*d5c09012SAndroid Build Coastguard Worker      returns (google.longrunning.Operation) {
484*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
485*d5c09012SAndroid Build Coastguard Worker      post: "/v1/{group=projects/*/locations/*/groups/*}:addGroupMigration"
486*d5c09012SAndroid Build Coastguard Worker      body: "*"
487*d5c09012SAndroid Build Coastguard Worker    };
488*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "group";
489*d5c09012SAndroid Build Coastguard Worker    option (google.longrunning.operation_info) = {
490*d5c09012SAndroid Build Coastguard Worker      response_type: "AddGroupMigrationResponse"
491*d5c09012SAndroid Build Coastguard Worker      metadata_type: "OperationMetadata"
492*d5c09012SAndroid Build Coastguard Worker    };
493*d5c09012SAndroid Build Coastguard Worker  }
494*d5c09012SAndroid Build Coastguard Worker
495*d5c09012SAndroid Build Coastguard Worker  // Removes a MigratingVm from a Group.
496*d5c09012SAndroid Build Coastguard Worker  rpc RemoveGroupMigration(RemoveGroupMigrationRequest)
497*d5c09012SAndroid Build Coastguard Worker      returns (google.longrunning.Operation) {
498*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
499*d5c09012SAndroid Build Coastguard Worker      post: "/v1/{group=projects/*/locations/*/groups/*}:removeGroupMigration"
500*d5c09012SAndroid Build Coastguard Worker      body: "*"
501*d5c09012SAndroid Build Coastguard Worker    };
502*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "group";
503*d5c09012SAndroid Build Coastguard Worker    option (google.longrunning.operation_info) = {
504*d5c09012SAndroid Build Coastguard Worker      response_type: "RemoveGroupMigrationResponse"
505*d5c09012SAndroid Build Coastguard Worker      metadata_type: "OperationMetadata"
506*d5c09012SAndroid Build Coastguard Worker    };
507*d5c09012SAndroid Build Coastguard Worker  }
508*d5c09012SAndroid Build Coastguard Worker
509*d5c09012SAndroid Build Coastguard Worker  // Lists TargetProjects in a given project.
510*d5c09012SAndroid Build Coastguard Worker  //
511*d5c09012SAndroid Build Coastguard Worker  // NOTE: TargetProject is a global resource; hence the only supported value
512*d5c09012SAndroid Build Coastguard Worker  // for location is `global`.
513*d5c09012SAndroid Build Coastguard Worker  rpc ListTargetProjects(ListTargetProjectsRequest)
514*d5c09012SAndroid Build Coastguard Worker      returns (ListTargetProjectsResponse) {
515*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
516*d5c09012SAndroid Build Coastguard Worker      get: "/v1/{parent=projects/*/locations/*}/targetProjects"
517*d5c09012SAndroid Build Coastguard Worker    };
518*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "parent";
519*d5c09012SAndroid Build Coastguard Worker  }
520*d5c09012SAndroid Build Coastguard Worker
521*d5c09012SAndroid Build Coastguard Worker  // Gets details of a single TargetProject.
522*d5c09012SAndroid Build Coastguard Worker  //
523*d5c09012SAndroid Build Coastguard Worker  // NOTE: TargetProject is a global resource; hence the only supported value
524*d5c09012SAndroid Build Coastguard Worker  // for location is `global`.
525*d5c09012SAndroid Build Coastguard Worker  rpc GetTargetProject(GetTargetProjectRequest) returns (TargetProject) {
526*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
527*d5c09012SAndroid Build Coastguard Worker      get: "/v1/{name=projects/*/locations/*/targetProjects/*}"
528*d5c09012SAndroid Build Coastguard Worker    };
529*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "name";
530*d5c09012SAndroid Build Coastguard Worker  }
531*d5c09012SAndroid Build Coastguard Worker
532*d5c09012SAndroid Build Coastguard Worker  // Creates a new TargetProject in a given project.
533*d5c09012SAndroid Build Coastguard Worker  //
534*d5c09012SAndroid Build Coastguard Worker  // NOTE: TargetProject is a global resource; hence the only supported value
535*d5c09012SAndroid Build Coastguard Worker  // for location is `global`.
536*d5c09012SAndroid Build Coastguard Worker  rpc CreateTargetProject(CreateTargetProjectRequest)
537*d5c09012SAndroid Build Coastguard Worker      returns (google.longrunning.Operation) {
538*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
539*d5c09012SAndroid Build Coastguard Worker      post: "/v1/{parent=projects/*/locations/*}/targetProjects"
540*d5c09012SAndroid Build Coastguard Worker      body: "target_project"
541*d5c09012SAndroid Build Coastguard Worker    };
542*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) =
543*d5c09012SAndroid Build Coastguard Worker        "parent,target_project,target_project_id";
544*d5c09012SAndroid Build Coastguard Worker    option (google.longrunning.operation_info) = {
545*d5c09012SAndroid Build Coastguard Worker      response_type: "TargetProject"
546*d5c09012SAndroid Build Coastguard Worker      metadata_type: "OperationMetadata"
547*d5c09012SAndroid Build Coastguard Worker    };
548*d5c09012SAndroid Build Coastguard Worker  }
549*d5c09012SAndroid Build Coastguard Worker
550*d5c09012SAndroid Build Coastguard Worker  // Updates the parameters of a single TargetProject.
551*d5c09012SAndroid Build Coastguard Worker  //
552*d5c09012SAndroid Build Coastguard Worker  // NOTE: TargetProject is a global resource; hence the only supported value
553*d5c09012SAndroid Build Coastguard Worker  // for location is `global`.
554*d5c09012SAndroid Build Coastguard Worker  rpc UpdateTargetProject(UpdateTargetProjectRequest)
555*d5c09012SAndroid Build Coastguard Worker      returns (google.longrunning.Operation) {
556*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
557*d5c09012SAndroid Build Coastguard Worker      patch: "/v1/{target_project.name=projects/*/locations/*/targetProjects/*}"
558*d5c09012SAndroid Build Coastguard Worker      body: "target_project"
559*d5c09012SAndroid Build Coastguard Worker    };
560*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "target_project,update_mask";
561*d5c09012SAndroid Build Coastguard Worker    option (google.longrunning.operation_info) = {
562*d5c09012SAndroid Build Coastguard Worker      response_type: "TargetProject"
563*d5c09012SAndroid Build Coastguard Worker      metadata_type: "OperationMetadata"
564*d5c09012SAndroid Build Coastguard Worker    };
565*d5c09012SAndroid Build Coastguard Worker  }
566*d5c09012SAndroid Build Coastguard Worker
567*d5c09012SAndroid Build Coastguard Worker  // Deletes a single TargetProject.
568*d5c09012SAndroid Build Coastguard Worker  //
569*d5c09012SAndroid Build Coastguard Worker  // NOTE: TargetProject is a global resource; hence the only supported value
570*d5c09012SAndroid Build Coastguard Worker  // for location is `global`.
571*d5c09012SAndroid Build Coastguard Worker  rpc DeleteTargetProject(DeleteTargetProjectRequest)
572*d5c09012SAndroid Build Coastguard Worker      returns (google.longrunning.Operation) {
573*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
574*d5c09012SAndroid Build Coastguard Worker      delete: "/v1/{name=projects/*/locations/*/targetProjects/*}"
575*d5c09012SAndroid Build Coastguard Worker    };
576*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "name";
577*d5c09012SAndroid Build Coastguard Worker    option (google.longrunning.operation_info) = {
578*d5c09012SAndroid Build Coastguard Worker      response_type: "google.protobuf.Empty"
579*d5c09012SAndroid Build Coastguard Worker      metadata_type: "OperationMetadata"
580*d5c09012SAndroid Build Coastguard Worker    };
581*d5c09012SAndroid Build Coastguard Worker  }
582*d5c09012SAndroid Build Coastguard Worker
583*d5c09012SAndroid Build Coastguard Worker  // Lists ReplicationCycles in a given MigratingVM.
584*d5c09012SAndroid Build Coastguard Worker  rpc ListReplicationCycles(ListReplicationCyclesRequest)
585*d5c09012SAndroid Build Coastguard Worker      returns (ListReplicationCyclesResponse) {
586*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
587*d5c09012SAndroid Build Coastguard Worker      get: "/v1/{parent=projects/*/locations/*/sources/*/migratingVms/*}/replicationCycles"
588*d5c09012SAndroid Build Coastguard Worker    };
589*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "parent";
590*d5c09012SAndroid Build Coastguard Worker  }
591*d5c09012SAndroid Build Coastguard Worker
592*d5c09012SAndroid Build Coastguard Worker  // Gets details of a single ReplicationCycle.
593*d5c09012SAndroid Build Coastguard Worker  rpc GetReplicationCycle(GetReplicationCycleRequest)
594*d5c09012SAndroid Build Coastguard Worker      returns (ReplicationCycle) {
595*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
596*d5c09012SAndroid Build Coastguard Worker      get: "/v1/{name=projects/*/locations/*/sources/*/migratingVms/*/replicationCycles/*}"
597*d5c09012SAndroid Build Coastguard Worker    };
598*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "name";
599*d5c09012SAndroid Build Coastguard Worker  }
600*d5c09012SAndroid Build Coastguard Worker}
601*d5c09012SAndroid Build Coastguard Worker
602*d5c09012SAndroid Build Coastguard Worker// Controls the level of details of a Utilization Report.
603*d5c09012SAndroid Build Coastguard Workerenum UtilizationReportView {
604*d5c09012SAndroid Build Coastguard Worker  // The default / unset value.
605*d5c09012SAndroid Build Coastguard Worker  // The API will default to FULL on single report request and BASIC for
606*d5c09012SAndroid Build Coastguard Worker  // multiple reports request.
607*d5c09012SAndroid Build Coastguard Worker  UTILIZATION_REPORT_VIEW_UNSPECIFIED = 0;
608*d5c09012SAndroid Build Coastguard Worker
609*d5c09012SAndroid Build Coastguard Worker  // Get the report metadata, without the list of VMs and their utilization
610*d5c09012SAndroid Build Coastguard Worker  // info.
611*d5c09012SAndroid Build Coastguard Worker  BASIC = 1;
612*d5c09012SAndroid Build Coastguard Worker
613*d5c09012SAndroid Build Coastguard Worker  // Include everything.
614*d5c09012SAndroid Build Coastguard Worker  FULL = 2;
615*d5c09012SAndroid Build Coastguard Worker}
616*d5c09012SAndroid Build Coastguard Worker
617*d5c09012SAndroid Build Coastguard Worker// Controls the level of details of a Migrating VM.
618*d5c09012SAndroid Build Coastguard Workerenum MigratingVmView {
619*d5c09012SAndroid Build Coastguard Worker  // View is unspecified. The API will fallback to the default value.
620*d5c09012SAndroid Build Coastguard Worker  MIGRATING_VM_VIEW_UNSPECIFIED = 0;
621*d5c09012SAndroid Build Coastguard Worker
622*d5c09012SAndroid Build Coastguard Worker  // Get the migrating VM basic details.
623*d5c09012SAndroid Build Coastguard Worker  // The basic details do not include the recent clone jobs and recent cutover
624*d5c09012SAndroid Build Coastguard Worker  // jobs lists.
625*d5c09012SAndroid Build Coastguard Worker  MIGRATING_VM_VIEW_BASIC = 1;
626*d5c09012SAndroid Build Coastguard Worker
627*d5c09012SAndroid Build Coastguard Worker  // Include everything.
628*d5c09012SAndroid Build Coastguard Worker  MIGRATING_VM_VIEW_FULL = 2;
629*d5c09012SAndroid Build Coastguard Worker}
630*d5c09012SAndroid Build Coastguard Worker
631*d5c09012SAndroid Build Coastguard Worker// Types of disks supported for Compute Engine VM.
632*d5c09012SAndroid Build Coastguard Workerenum ComputeEngineDiskType {
633*d5c09012SAndroid Build Coastguard Worker  // An unspecified disk type. Will be used as STANDARD.
634*d5c09012SAndroid Build Coastguard Worker  COMPUTE_ENGINE_DISK_TYPE_UNSPECIFIED = 0;
635*d5c09012SAndroid Build Coastguard Worker
636*d5c09012SAndroid Build Coastguard Worker  // A Standard disk type.
637*d5c09012SAndroid Build Coastguard Worker  COMPUTE_ENGINE_DISK_TYPE_STANDARD = 1;
638*d5c09012SAndroid Build Coastguard Worker
639*d5c09012SAndroid Build Coastguard Worker  // SSD hard disk type.
640*d5c09012SAndroid Build Coastguard Worker  COMPUTE_ENGINE_DISK_TYPE_SSD = 2;
641*d5c09012SAndroid Build Coastguard Worker
642*d5c09012SAndroid Build Coastguard Worker  // An alternative to SSD persistent disks that balance performance and
643*d5c09012SAndroid Build Coastguard Worker  // cost.
644*d5c09012SAndroid Build Coastguard Worker  COMPUTE_ENGINE_DISK_TYPE_BALANCED = 3;
645*d5c09012SAndroid Build Coastguard Worker}
646*d5c09012SAndroid Build Coastguard Worker
647*d5c09012SAndroid Build Coastguard Worker// Types of licenses used in OS adaptation.
648*d5c09012SAndroid Build Coastguard Workerenum ComputeEngineLicenseType {
649*d5c09012SAndroid Build Coastguard Worker  // The license type is the default for the OS.
650*d5c09012SAndroid Build Coastguard Worker  COMPUTE_ENGINE_LICENSE_TYPE_DEFAULT = 0;
651*d5c09012SAndroid Build Coastguard Worker
652*d5c09012SAndroid Build Coastguard Worker  // The license type is Pay As You Go license type.
653*d5c09012SAndroid Build Coastguard Worker  COMPUTE_ENGINE_LICENSE_TYPE_PAYG = 1;
654*d5c09012SAndroid Build Coastguard Worker
655*d5c09012SAndroid Build Coastguard Worker  // The license type is Bring Your Own License type.
656*d5c09012SAndroid Build Coastguard Worker  COMPUTE_ENGINE_LICENSE_TYPE_BYOL = 2;
657*d5c09012SAndroid Build Coastguard Worker}
658*d5c09012SAndroid Build Coastguard Worker
659*d5c09012SAndroid Build Coastguard Worker// Possible values for vm boot option.
660*d5c09012SAndroid Build Coastguard Workerenum ComputeEngineBootOption {
661*d5c09012SAndroid Build Coastguard Worker  // The boot option is unknown.
662*d5c09012SAndroid Build Coastguard Worker  COMPUTE_ENGINE_BOOT_OPTION_UNSPECIFIED = 0;
663*d5c09012SAndroid Build Coastguard Worker
664*d5c09012SAndroid Build Coastguard Worker  // The boot option is EFI.
665*d5c09012SAndroid Build Coastguard Worker  COMPUTE_ENGINE_BOOT_OPTION_EFI = 1;
666*d5c09012SAndroid Build Coastguard Worker
667*d5c09012SAndroid Build Coastguard Worker  // The boot option is BIOS.
668*d5c09012SAndroid Build Coastguard Worker  COMPUTE_ENGINE_BOOT_OPTION_BIOS = 2;
669*d5c09012SAndroid Build Coastguard Worker}
670*d5c09012SAndroid Build Coastguard Worker
671*d5c09012SAndroid Build Coastguard Worker// ReplicationCycle contains information about the current replication cycle
672*d5c09012SAndroid Build Coastguard Worker// status.
673*d5c09012SAndroid Build Coastguard Workermessage ReplicationCycle {
674*d5c09012SAndroid Build Coastguard Worker  option (google.api.resource) = {
675*d5c09012SAndroid Build Coastguard Worker    type: "vmmigration.googleapis.com/ReplicationCycle"
676*d5c09012SAndroid Build Coastguard Worker    pattern: "projects/{project}/locations/{location}/sources/{source}/migratingVms/{migrating_vm}/replicationCycles/{replication_cycle}"
677*d5c09012SAndroid Build Coastguard Worker  };
678*d5c09012SAndroid Build Coastguard Worker
679*d5c09012SAndroid Build Coastguard Worker  // Possible states of a replication cycle.
680*d5c09012SAndroid Build Coastguard Worker  enum State {
681*d5c09012SAndroid Build Coastguard Worker    // The state is unknown. This is used for API compatibility only and is not
682*d5c09012SAndroid Build Coastguard Worker    // used by the system.
683*d5c09012SAndroid Build Coastguard Worker    STATE_UNSPECIFIED = 0;
684*d5c09012SAndroid Build Coastguard Worker
685*d5c09012SAndroid Build Coastguard Worker    // The replication cycle is running.
686*d5c09012SAndroid Build Coastguard Worker    RUNNING = 1;
687*d5c09012SAndroid Build Coastguard Worker
688*d5c09012SAndroid Build Coastguard Worker    // The replication cycle is paused.
689*d5c09012SAndroid Build Coastguard Worker    PAUSED = 2;
690*d5c09012SAndroid Build Coastguard Worker
691*d5c09012SAndroid Build Coastguard Worker    // The replication cycle finished with errors.
692*d5c09012SAndroid Build Coastguard Worker    FAILED = 3;
693*d5c09012SAndroid Build Coastguard Worker
694*d5c09012SAndroid Build Coastguard Worker    // The replication cycle finished successfully.
695*d5c09012SAndroid Build Coastguard Worker    SUCCEEDED = 4;
696*d5c09012SAndroid Build Coastguard Worker  }
697*d5c09012SAndroid Build Coastguard Worker
698*d5c09012SAndroid Build Coastguard Worker  // The identifier of the ReplicationCycle.
699*d5c09012SAndroid Build Coastguard Worker  string name = 13;
700*d5c09012SAndroid Build Coastguard Worker
701*d5c09012SAndroid Build Coastguard Worker  // The cycle's ordinal number.
702*d5c09012SAndroid Build Coastguard Worker  int32 cycle_number = 10;
703*d5c09012SAndroid Build Coastguard Worker
704*d5c09012SAndroid Build Coastguard Worker  // The time the replication cycle has started.
705*d5c09012SAndroid Build Coastguard Worker  google.protobuf.Timestamp start_time = 1;
706*d5c09012SAndroid Build Coastguard Worker
707*d5c09012SAndroid Build Coastguard Worker  // The time the replication cycle has ended.
708*d5c09012SAndroid Build Coastguard Worker  google.protobuf.Timestamp end_time = 6;
709*d5c09012SAndroid Build Coastguard Worker
710*d5c09012SAndroid Build Coastguard Worker  // The accumulated duration the replication cycle was paused.
711*d5c09012SAndroid Build Coastguard Worker  google.protobuf.Duration total_pause_duration = 7;
712*d5c09012SAndroid Build Coastguard Worker
713*d5c09012SAndroid Build Coastguard Worker  // The current progress in percentage of this cycle.
714*d5c09012SAndroid Build Coastguard Worker  // Was replaced by 'steps' field, which breaks down the cycle progression more
715*d5c09012SAndroid Build Coastguard Worker  // accurately.
716*d5c09012SAndroid Build Coastguard Worker  int32 progress_percent = 5 [deprecated = true];
717*d5c09012SAndroid Build Coastguard Worker
718*d5c09012SAndroid Build Coastguard Worker  // The cycle's steps list representing its progress.
719*d5c09012SAndroid Build Coastguard Worker  repeated CycleStep steps = 9;
720*d5c09012SAndroid Build Coastguard Worker
721*d5c09012SAndroid Build Coastguard Worker  // State of the ReplicationCycle.
722*d5c09012SAndroid Build Coastguard Worker  State state = 11;
723*d5c09012SAndroid Build Coastguard Worker
724*d5c09012SAndroid Build Coastguard Worker  // Provides details on the state of the cycle in case of an error.
725*d5c09012SAndroid Build Coastguard Worker  google.rpc.Status error = 12;
726*d5c09012SAndroid Build Coastguard Worker}
727*d5c09012SAndroid Build Coastguard Worker
728*d5c09012SAndroid Build Coastguard Worker// CycleStep holds information about a step progress.
729*d5c09012SAndroid Build Coastguard Workermessage CycleStep {
730*d5c09012SAndroid Build Coastguard Worker  oneof step {
731*d5c09012SAndroid Build Coastguard Worker    // Initializing replication step.
732*d5c09012SAndroid Build Coastguard Worker    InitializingReplicationStep initializing_replication = 3;
733*d5c09012SAndroid Build Coastguard Worker
734*d5c09012SAndroid Build Coastguard Worker    // Replicating step.
735*d5c09012SAndroid Build Coastguard Worker    ReplicatingStep replicating = 4;
736*d5c09012SAndroid Build Coastguard Worker
737*d5c09012SAndroid Build Coastguard Worker    // Post processing step.
738*d5c09012SAndroid Build Coastguard Worker    PostProcessingStep post_processing = 5;
739*d5c09012SAndroid Build Coastguard Worker  }
740*d5c09012SAndroid Build Coastguard Worker
741*d5c09012SAndroid Build Coastguard Worker  // The time the cycle step has started.
742*d5c09012SAndroid Build Coastguard Worker  google.protobuf.Timestamp start_time = 1;
743*d5c09012SAndroid Build Coastguard Worker
744*d5c09012SAndroid Build Coastguard Worker  // The time the cycle step has ended.
745*d5c09012SAndroid Build Coastguard Worker  google.protobuf.Timestamp end_time = 2;
746*d5c09012SAndroid Build Coastguard Worker}
747*d5c09012SAndroid Build Coastguard Worker
748*d5c09012SAndroid Build Coastguard Worker// InitializingReplicationStep contains specific step details.
749*d5c09012SAndroid Build Coastguard Workermessage InitializingReplicationStep {}
750*d5c09012SAndroid Build Coastguard Worker
751*d5c09012SAndroid Build Coastguard Worker// ReplicatingStep contains specific step details.
752*d5c09012SAndroid Build Coastguard Workermessage ReplicatingStep {
753*d5c09012SAndroid Build Coastguard Worker  // Total bytes to be handled in the step.
754*d5c09012SAndroid Build Coastguard Worker  int64 total_bytes = 1;
755*d5c09012SAndroid Build Coastguard Worker
756*d5c09012SAndroid Build Coastguard Worker  // Replicated bytes in the step.
757*d5c09012SAndroid Build Coastguard Worker  int64 replicated_bytes = 2;
758*d5c09012SAndroid Build Coastguard Worker
759*d5c09012SAndroid Build Coastguard Worker  // The source disks replication rate for the last 2 minutes in bytes per
760*d5c09012SAndroid Build Coastguard Worker  // second.
761*d5c09012SAndroid Build Coastguard Worker  int64 last_two_minutes_average_bytes_per_second = 3;
762*d5c09012SAndroid Build Coastguard Worker
763*d5c09012SAndroid Build Coastguard Worker  // The source disks replication rate for the last 30 minutes in bytes per
764*d5c09012SAndroid Build Coastguard Worker  // second.
765*d5c09012SAndroid Build Coastguard Worker  int64 last_thirty_minutes_average_bytes_per_second = 4;
766*d5c09012SAndroid Build Coastguard Worker}
767*d5c09012SAndroid Build Coastguard Worker
768*d5c09012SAndroid Build Coastguard Worker// PostProcessingStep contains specific step details.
769*d5c09012SAndroid Build Coastguard Workermessage PostProcessingStep {}
770*d5c09012SAndroid Build Coastguard Worker
771*d5c09012SAndroid Build Coastguard Worker// ReplicationSync contain information about the last replica sync to the cloud.
772*d5c09012SAndroid Build Coastguard Workermessage ReplicationSync {
773*d5c09012SAndroid Build Coastguard Worker  // The most updated snapshot created time in the source that finished
774*d5c09012SAndroid Build Coastguard Worker  // replication.
775*d5c09012SAndroid Build Coastguard Worker  google.protobuf.Timestamp last_sync_time = 1;
776*d5c09012SAndroid Build Coastguard Worker}
777*d5c09012SAndroid Build Coastguard Worker
778*d5c09012SAndroid Build Coastguard Worker// MigratingVm describes the VM that will be migrated from a Source environment
779*d5c09012SAndroid Build Coastguard Worker// and its replication state.
780*d5c09012SAndroid Build Coastguard Workermessage MigratingVm {
781*d5c09012SAndroid Build Coastguard Worker  option (google.api.resource) = {
782*d5c09012SAndroid Build Coastguard Worker    type: "vmmigration.googleapis.com/MigratingVm"
783*d5c09012SAndroid Build Coastguard Worker    pattern: "projects/{project}/locations/{location}/sources/{source}/migratingVms/{migrating_vm}"
784*d5c09012SAndroid Build Coastguard Worker  };
785*d5c09012SAndroid Build Coastguard Worker
786*d5c09012SAndroid Build Coastguard Worker  // The possible values of the state/health of source VM.
787*d5c09012SAndroid Build Coastguard Worker  enum State {
788*d5c09012SAndroid Build Coastguard Worker    // The state was not sampled by the health checks yet.
789*d5c09012SAndroid Build Coastguard Worker    STATE_UNSPECIFIED = 0;
790*d5c09012SAndroid Build Coastguard Worker
791*d5c09012SAndroid Build Coastguard Worker    // The VM in the source is being verified.
792*d5c09012SAndroid Build Coastguard Worker    PENDING = 1;
793*d5c09012SAndroid Build Coastguard Worker
794*d5c09012SAndroid Build Coastguard Worker    // The source VM was verified, and it's ready to start replication.
795*d5c09012SAndroid Build Coastguard Worker    READY = 2;
796*d5c09012SAndroid Build Coastguard Worker
797*d5c09012SAndroid Build Coastguard Worker    // Migration is going through the first sync cycle.
798*d5c09012SAndroid Build Coastguard Worker    FIRST_SYNC = 3;
799*d5c09012SAndroid Build Coastguard Worker
800*d5c09012SAndroid Build Coastguard Worker    // The replication is active, and it's running or scheduled to run.
801*d5c09012SAndroid Build Coastguard Worker    ACTIVE = 4;
802*d5c09012SAndroid Build Coastguard Worker
803*d5c09012SAndroid Build Coastguard Worker    // The source VM is being turned off, and a final replication is currently
804*d5c09012SAndroid Build Coastguard Worker    // running.
805*d5c09012SAndroid Build Coastguard Worker    CUTTING_OVER = 7;
806*d5c09012SAndroid Build Coastguard Worker
807*d5c09012SAndroid Build Coastguard Worker    // The source VM was stopped and replicated. The replication is currently
808*d5c09012SAndroid Build Coastguard Worker    // paused.
809*d5c09012SAndroid Build Coastguard Worker    CUTOVER = 8;
810*d5c09012SAndroid Build Coastguard Worker
811*d5c09012SAndroid Build Coastguard Worker    // A cutover job is active and replication cycle is running the final sync.
812*d5c09012SAndroid Build Coastguard Worker    FINAL_SYNC = 9;
813*d5c09012SAndroid Build Coastguard Worker
814*d5c09012SAndroid Build Coastguard Worker    // The replication was paused by the user and no cycles are scheduled to
815*d5c09012SAndroid Build Coastguard Worker    // run.
816*d5c09012SAndroid Build Coastguard Worker    PAUSED = 10;
817*d5c09012SAndroid Build Coastguard Worker
818*d5c09012SAndroid Build Coastguard Worker    // The migrating VM is being finalized and migration resources are being
819*d5c09012SAndroid Build Coastguard Worker    // removed.
820*d5c09012SAndroid Build Coastguard Worker    FINALIZING = 11;
821*d5c09012SAndroid Build Coastguard Worker
822*d5c09012SAndroid Build Coastguard Worker    // The replication process is done. The migrating VM is finalized and no
823*d5c09012SAndroid Build Coastguard Worker    // longer consumes billable resources.
824*d5c09012SAndroid Build Coastguard Worker    FINALIZED = 12;
825*d5c09012SAndroid Build Coastguard Worker
826*d5c09012SAndroid Build Coastguard Worker    // The replication process encountered an unrecoverable error and was
827*d5c09012SAndroid Build Coastguard Worker    // aborted.
828*d5c09012SAndroid Build Coastguard Worker    ERROR = 13;
829*d5c09012SAndroid Build Coastguard Worker  }
830*d5c09012SAndroid Build Coastguard Worker
831*d5c09012SAndroid Build Coastguard Worker  // The default configuration of the target VM that will be created in Google
832*d5c09012SAndroid Build Coastguard Worker  // Cloud as a result of the migration.
833*d5c09012SAndroid Build Coastguard Worker  oneof target_vm_defaults {
834*d5c09012SAndroid Build Coastguard Worker    // Details of the target VM in Compute Engine.
835*d5c09012SAndroid Build Coastguard Worker    ComputeEngineTargetDefaults compute_engine_target_defaults = 26;
836*d5c09012SAndroid Build Coastguard Worker  }
837*d5c09012SAndroid Build Coastguard Worker
838*d5c09012SAndroid Build Coastguard Worker  // Details about the source VM.
839*d5c09012SAndroid Build Coastguard Worker  oneof source_vm_details {
840*d5c09012SAndroid Build Coastguard Worker    // Output only. Details of the VM from an AWS source.
841*d5c09012SAndroid Build Coastguard Worker    AwsSourceVmDetails aws_source_vm_details = 29
842*d5c09012SAndroid Build Coastguard Worker        [(google.api.field_behavior) = OUTPUT_ONLY];
843*d5c09012SAndroid Build Coastguard Worker  }
844*d5c09012SAndroid Build Coastguard Worker
845*d5c09012SAndroid Build Coastguard Worker  // Output only. The identifier of the MigratingVm.
846*d5c09012SAndroid Build Coastguard Worker  string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
847*d5c09012SAndroid Build Coastguard Worker
848*d5c09012SAndroid Build Coastguard Worker  // The unique ID of the VM in the source.
849*d5c09012SAndroid Build Coastguard Worker  // The VM's name in vSphere can be changed, so this is not the VM's name but
850*d5c09012SAndroid Build Coastguard Worker  // rather its moRef id. This id is of the form vm-<num>.
851*d5c09012SAndroid Build Coastguard Worker  string source_vm_id = 2;
852*d5c09012SAndroid Build Coastguard Worker
853*d5c09012SAndroid Build Coastguard Worker  // The display name attached to the MigratingVm by the user.
854*d5c09012SAndroid Build Coastguard Worker  string display_name = 18;
855*d5c09012SAndroid Build Coastguard Worker
856*d5c09012SAndroid Build Coastguard Worker  // The description attached to the migrating VM by the user.
857*d5c09012SAndroid Build Coastguard Worker  string description = 3;
858*d5c09012SAndroid Build Coastguard Worker
859*d5c09012SAndroid Build Coastguard Worker  // The replication schedule policy.
860*d5c09012SAndroid Build Coastguard Worker  SchedulePolicy policy = 8;
861*d5c09012SAndroid Build Coastguard Worker
862*d5c09012SAndroid Build Coastguard Worker  // Output only. The time the migrating VM was created (this refers to this
863*d5c09012SAndroid Build Coastguard Worker  // resource and not to the time it was installed in the source).
864*d5c09012SAndroid Build Coastguard Worker  google.protobuf.Timestamp create_time = 9
865*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OUTPUT_ONLY];
866*d5c09012SAndroid Build Coastguard Worker
867*d5c09012SAndroid Build Coastguard Worker  // Output only. The last time the migrating VM resource was updated.
868*d5c09012SAndroid Build Coastguard Worker  google.protobuf.Timestamp update_time = 10
869*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OUTPUT_ONLY];
870*d5c09012SAndroid Build Coastguard Worker
871*d5c09012SAndroid Build Coastguard Worker  // Output only. The most updated snapshot created time in the source that
872*d5c09012SAndroid Build Coastguard Worker  // finished replication.
873*d5c09012SAndroid Build Coastguard Worker  ReplicationSync last_sync = 11 [(google.api.field_behavior) = OUTPUT_ONLY];
874*d5c09012SAndroid Build Coastguard Worker
875*d5c09012SAndroid Build Coastguard Worker  // Output only. State of the MigratingVm.
876*d5c09012SAndroid Build Coastguard Worker  State state = 23 [(google.api.field_behavior) = OUTPUT_ONLY];
877*d5c09012SAndroid Build Coastguard Worker
878*d5c09012SAndroid Build Coastguard Worker  // Output only. The last time the migrating VM state was updated.
879*d5c09012SAndroid Build Coastguard Worker  google.protobuf.Timestamp state_time = 22
880*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OUTPUT_ONLY];
881*d5c09012SAndroid Build Coastguard Worker
882*d5c09012SAndroid Build Coastguard Worker  // Output only. The percentage progress of the current running replication
883*d5c09012SAndroid Build Coastguard Worker  // cycle.
884*d5c09012SAndroid Build Coastguard Worker  ReplicationCycle current_sync_info = 13
885*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OUTPUT_ONLY];
886*d5c09012SAndroid Build Coastguard Worker
887*d5c09012SAndroid Build Coastguard Worker  // Output only. The group this migrating vm is included in, if any. The group
888*d5c09012SAndroid Build Coastguard Worker  // is represented by the full path of the appropriate
889*d5c09012SAndroid Build Coastguard Worker  // [Group][google.cloud.vmmigration.v1.Group] resource.
890*d5c09012SAndroid Build Coastguard Worker  string group = 15 [
891*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = OUTPUT_ONLY,
892*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
893*d5c09012SAndroid Build Coastguard Worker      child_type: "vmmigration.googleapis.com/Group"
894*d5c09012SAndroid Build Coastguard Worker    }
895*d5c09012SAndroid Build Coastguard Worker  ];
896*d5c09012SAndroid Build Coastguard Worker
897*d5c09012SAndroid Build Coastguard Worker  // The labels of the migrating VM.
898*d5c09012SAndroid Build Coastguard Worker  map<string, string> labels = 16;
899*d5c09012SAndroid Build Coastguard Worker
900*d5c09012SAndroid Build Coastguard Worker  // Output only. The recent [clone jobs][google.cloud.vmmigration.v1.CloneJob]
901*d5c09012SAndroid Build Coastguard Worker  // performed on the migrating VM. This field holds the vm's last completed
902*d5c09012SAndroid Build Coastguard Worker  // clone job and the vm's running clone job, if one exists.
903*d5c09012SAndroid Build Coastguard Worker  // Note: To have this field populated you need to explicitly request it via
904*d5c09012SAndroid Build Coastguard Worker  // the "view" parameter of the Get/List request.
905*d5c09012SAndroid Build Coastguard Worker  repeated CloneJob recent_clone_jobs = 17
906*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OUTPUT_ONLY];
907*d5c09012SAndroid Build Coastguard Worker
908*d5c09012SAndroid Build Coastguard Worker  // Output only. Provides details on the state of the Migrating VM in case of
909*d5c09012SAndroid Build Coastguard Worker  // an error in replication.
910*d5c09012SAndroid Build Coastguard Worker  google.rpc.Status error = 19 [(google.api.field_behavior) = OUTPUT_ONLY];
911*d5c09012SAndroid Build Coastguard Worker
912*d5c09012SAndroid Build Coastguard Worker  // Output only. The recent cutover jobs performed on the migrating VM.
913*d5c09012SAndroid Build Coastguard Worker  // This field holds the vm's last completed cutover job and the vm's
914*d5c09012SAndroid Build Coastguard Worker  // running cutover job, if one exists.
915*d5c09012SAndroid Build Coastguard Worker  // Note: To have this field populated you need to explicitly request it via
916*d5c09012SAndroid Build Coastguard Worker  // the "view" parameter of the Get/List request.
917*d5c09012SAndroid Build Coastguard Worker  repeated CutoverJob recent_cutover_jobs = 20
918*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OUTPUT_ONLY];
919*d5c09012SAndroid Build Coastguard Worker}
920*d5c09012SAndroid Build Coastguard Worker
921*d5c09012SAndroid Build Coastguard Worker// CloneJob describes the process of creating a clone of a
922*d5c09012SAndroid Build Coastguard Worker// [MigratingVM][google.cloud.vmmigration.v1.MigratingVm] to the
923*d5c09012SAndroid Build Coastguard Worker// requested target based on the latest successful uploaded snapshots.
924*d5c09012SAndroid Build Coastguard Worker// While the migration cycles of a MigratingVm take place, it is possible to
925*d5c09012SAndroid Build Coastguard Worker// verify the uploaded VM can be started in the cloud, by creating a clone. The
926*d5c09012SAndroid Build Coastguard Worker// clone can be created without any downtime, and it is created using the latest
927*d5c09012SAndroid Build Coastguard Worker// snapshots which are already in the cloud. The cloneJob is only responsible
928*d5c09012SAndroid Build Coastguard Worker// for its work, not its products, which means once it is finished, it will
929*d5c09012SAndroid Build Coastguard Worker// never touch the instance it created. It will only delete it in case of the
930*d5c09012SAndroid Build Coastguard Worker// CloneJob being cancelled or upon failure to clone.
931*d5c09012SAndroid Build Coastguard Workermessage CloneJob {
932*d5c09012SAndroid Build Coastguard Worker  option (google.api.resource) = {
933*d5c09012SAndroid Build Coastguard Worker    type: "vmmigration.googleapis.com/CloneJob"
934*d5c09012SAndroid Build Coastguard Worker    pattern: "projects/{project}/locations/{location}/sources/{source}/migratingVms/{migrating_vm}/cloneJobs/{clone_job}"
935*d5c09012SAndroid Build Coastguard Worker  };
936*d5c09012SAndroid Build Coastguard Worker
937*d5c09012SAndroid Build Coastguard Worker  // Possible states of the clone job.
938*d5c09012SAndroid Build Coastguard Worker  enum State {
939*d5c09012SAndroid Build Coastguard Worker    // The state is unknown. This is used for API compatibility only and is not
940*d5c09012SAndroid Build Coastguard Worker    // used by the system.
941*d5c09012SAndroid Build Coastguard Worker    STATE_UNSPECIFIED = 0;
942*d5c09012SAndroid Build Coastguard Worker
943*d5c09012SAndroid Build Coastguard Worker    // The clone job has not yet started.
944*d5c09012SAndroid Build Coastguard Worker    PENDING = 1;
945*d5c09012SAndroid Build Coastguard Worker
946*d5c09012SAndroid Build Coastguard Worker    // The clone job is active and running.
947*d5c09012SAndroid Build Coastguard Worker    ACTIVE = 2;
948*d5c09012SAndroid Build Coastguard Worker
949*d5c09012SAndroid Build Coastguard Worker    // The clone job finished with errors.
950*d5c09012SAndroid Build Coastguard Worker    FAILED = 3;
951*d5c09012SAndroid Build Coastguard Worker
952*d5c09012SAndroid Build Coastguard Worker    // The clone job finished successfully.
953*d5c09012SAndroid Build Coastguard Worker    SUCCEEDED = 4;
954*d5c09012SAndroid Build Coastguard Worker
955*d5c09012SAndroid Build Coastguard Worker    // The clone job was cancelled.
956*d5c09012SAndroid Build Coastguard Worker    CANCELLED = 5;
957*d5c09012SAndroid Build Coastguard Worker
958*d5c09012SAndroid Build Coastguard Worker    // The clone job is being cancelled.
959*d5c09012SAndroid Build Coastguard Worker    CANCELLING = 6;
960*d5c09012SAndroid Build Coastguard Worker
961*d5c09012SAndroid Build Coastguard Worker    // OS adaptation is running as part of the clone job to generate license.
962*d5c09012SAndroid Build Coastguard Worker    ADAPTING_OS = 7;
963*d5c09012SAndroid Build Coastguard Worker  }
964*d5c09012SAndroid Build Coastguard Worker
965*d5c09012SAndroid Build Coastguard Worker  // Details of the VM to create as the target of this clone job.
966*d5c09012SAndroid Build Coastguard Worker  oneof target_vm_details {
967*d5c09012SAndroid Build Coastguard Worker    // Output only. Details of the target VM in Compute Engine.
968*d5c09012SAndroid Build Coastguard Worker    ComputeEngineTargetDetails compute_engine_target_details = 20
969*d5c09012SAndroid Build Coastguard Worker        [(google.api.field_behavior) = OUTPUT_ONLY];
970*d5c09012SAndroid Build Coastguard Worker  }
971*d5c09012SAndroid Build Coastguard Worker
972*d5c09012SAndroid Build Coastguard Worker  // Output only. The time the clone job was created (as an API call, not when
973*d5c09012SAndroid Build Coastguard Worker  // it was actually created in the target).
974*d5c09012SAndroid Build Coastguard Worker  google.protobuf.Timestamp create_time = 1
975*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OUTPUT_ONLY];
976*d5c09012SAndroid Build Coastguard Worker
977*d5c09012SAndroid Build Coastguard Worker  // Output only. The time the clone job was ended.
978*d5c09012SAndroid Build Coastguard Worker  google.protobuf.Timestamp end_time = 22
979*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OUTPUT_ONLY];
980*d5c09012SAndroid Build Coastguard Worker
981*d5c09012SAndroid Build Coastguard Worker  // Output only. The name of the clone.
982*d5c09012SAndroid Build Coastguard Worker  string name = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
983*d5c09012SAndroid Build Coastguard Worker
984*d5c09012SAndroid Build Coastguard Worker  // Output only. State of the clone job.
985*d5c09012SAndroid Build Coastguard Worker  State state = 12 [(google.api.field_behavior) = OUTPUT_ONLY];
986*d5c09012SAndroid Build Coastguard Worker
987*d5c09012SAndroid Build Coastguard Worker  // Output only. The time the state was last updated.
988*d5c09012SAndroid Build Coastguard Worker  google.protobuf.Timestamp state_time = 14
989*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OUTPUT_ONLY];
990*d5c09012SAndroid Build Coastguard Worker
991*d5c09012SAndroid Build Coastguard Worker  // Output only. Provides details for the errors that led to the Clone Job's
992*d5c09012SAndroid Build Coastguard Worker  // state.
993*d5c09012SAndroid Build Coastguard Worker  google.rpc.Status error = 17 [(google.api.field_behavior) = OUTPUT_ONLY];
994*d5c09012SAndroid Build Coastguard Worker
995*d5c09012SAndroid Build Coastguard Worker  // Output only. The clone steps list representing its progress.
996*d5c09012SAndroid Build Coastguard Worker  repeated CloneStep steps = 23 [(google.api.field_behavior) = OUTPUT_ONLY];
997*d5c09012SAndroid Build Coastguard Worker}
998*d5c09012SAndroid Build Coastguard Worker
999*d5c09012SAndroid Build Coastguard Worker// CloneStep holds information about the clone step progress.
1000*d5c09012SAndroid Build Coastguard Workermessage CloneStep {
1001*d5c09012SAndroid Build Coastguard Worker  oneof step {
1002*d5c09012SAndroid Build Coastguard Worker    // Adapting OS step.
1003*d5c09012SAndroid Build Coastguard Worker    AdaptingOSStep adapting_os = 3;
1004*d5c09012SAndroid Build Coastguard Worker
1005*d5c09012SAndroid Build Coastguard Worker    // Preparing VM disks step.
1006*d5c09012SAndroid Build Coastguard Worker    PreparingVMDisksStep preparing_vm_disks = 4;
1007*d5c09012SAndroid Build Coastguard Worker
1008*d5c09012SAndroid Build Coastguard Worker    // Instantiating migrated VM step.
1009*d5c09012SAndroid Build Coastguard Worker    InstantiatingMigratedVMStep instantiating_migrated_vm = 5;
1010*d5c09012SAndroid Build Coastguard Worker  }
1011*d5c09012SAndroid Build Coastguard Worker
1012*d5c09012SAndroid Build Coastguard Worker  // The time the step has started.
1013*d5c09012SAndroid Build Coastguard Worker  google.protobuf.Timestamp start_time = 1;
1014*d5c09012SAndroid Build Coastguard Worker
1015*d5c09012SAndroid Build Coastguard Worker  // The time the step has ended.
1016*d5c09012SAndroid Build Coastguard Worker  google.protobuf.Timestamp end_time = 2;
1017*d5c09012SAndroid Build Coastguard Worker}
1018*d5c09012SAndroid Build Coastguard Worker
1019*d5c09012SAndroid Build Coastguard Worker// AdaptingOSStep contains specific step details.
1020*d5c09012SAndroid Build Coastguard Workermessage AdaptingOSStep {}
1021*d5c09012SAndroid Build Coastguard Worker
1022*d5c09012SAndroid Build Coastguard Worker// PreparingVMDisksStep contains specific step details.
1023*d5c09012SAndroid Build Coastguard Workermessage PreparingVMDisksStep {}
1024*d5c09012SAndroid Build Coastguard Worker
1025*d5c09012SAndroid Build Coastguard Worker// InstantiatingMigratedVMStep contains specific step details.
1026*d5c09012SAndroid Build Coastguard Workermessage InstantiatingMigratedVMStep {}
1027*d5c09012SAndroid Build Coastguard Worker
1028*d5c09012SAndroid Build Coastguard Worker// CutoverJob message describes a cutover of a migrating VM. The CutoverJob is
1029*d5c09012SAndroid Build Coastguard Worker// the operation of shutting down the VM, creating a snapshot and
1030*d5c09012SAndroid Build Coastguard Worker// clonning the VM using the replicated snapshot.
1031*d5c09012SAndroid Build Coastguard Workermessage CutoverJob {
1032*d5c09012SAndroid Build Coastguard Worker  option (google.api.resource) = {
1033*d5c09012SAndroid Build Coastguard Worker    type: "vmmigration.googleapis.com/CutoverJob"
1034*d5c09012SAndroid Build Coastguard Worker    pattern: "projects/{project}/locations/{location}/sources/{source}/migratingVms/{migrating_vm}/cutoverJobs/{cutover_job}"
1035*d5c09012SAndroid Build Coastguard Worker  };
1036*d5c09012SAndroid Build Coastguard Worker
1037*d5c09012SAndroid Build Coastguard Worker  // Possible states of the cutover job.
1038*d5c09012SAndroid Build Coastguard Worker  enum State {
1039*d5c09012SAndroid Build Coastguard Worker    // The state is unknown. This is used for API compatibility only and is not
1040*d5c09012SAndroid Build Coastguard Worker    // used by the system.
1041*d5c09012SAndroid Build Coastguard Worker    STATE_UNSPECIFIED = 0;
1042*d5c09012SAndroid Build Coastguard Worker
1043*d5c09012SAndroid Build Coastguard Worker    // The cutover job has not yet started.
1044*d5c09012SAndroid Build Coastguard Worker    PENDING = 1;
1045*d5c09012SAndroid Build Coastguard Worker
1046*d5c09012SAndroid Build Coastguard Worker    // The cutover job finished with errors.
1047*d5c09012SAndroid Build Coastguard Worker    FAILED = 2;
1048*d5c09012SAndroid Build Coastguard Worker
1049*d5c09012SAndroid Build Coastguard Worker    // The cutover job finished successfully.
1050*d5c09012SAndroid Build Coastguard Worker    SUCCEEDED = 3;
1051*d5c09012SAndroid Build Coastguard Worker
1052*d5c09012SAndroid Build Coastguard Worker    // The cutover job was cancelled.
1053*d5c09012SAndroid Build Coastguard Worker    CANCELLED = 4;
1054*d5c09012SAndroid Build Coastguard Worker
1055*d5c09012SAndroid Build Coastguard Worker    // The cutover job is being cancelled.
1056*d5c09012SAndroid Build Coastguard Worker    CANCELLING = 5;
1057*d5c09012SAndroid Build Coastguard Worker
1058*d5c09012SAndroid Build Coastguard Worker    // The cutover job is active and running.
1059*d5c09012SAndroid Build Coastguard Worker    ACTIVE = 6;
1060*d5c09012SAndroid Build Coastguard Worker
1061*d5c09012SAndroid Build Coastguard Worker    // OS adaptation is running as part of the cutover job to generate license.
1062*d5c09012SAndroid Build Coastguard Worker    ADAPTING_OS = 7;
1063*d5c09012SAndroid Build Coastguard Worker  }
1064*d5c09012SAndroid Build Coastguard Worker
1065*d5c09012SAndroid Build Coastguard Worker  // Details of the VM to create as the target of this cutover job.
1066*d5c09012SAndroid Build Coastguard Worker  oneof target_vm_details {
1067*d5c09012SAndroid Build Coastguard Worker    // Output only. Details of the target VM in Compute Engine.
1068*d5c09012SAndroid Build Coastguard Worker    ComputeEngineTargetDetails compute_engine_target_details = 14
1069*d5c09012SAndroid Build Coastguard Worker        [(google.api.field_behavior) = OUTPUT_ONLY];
1070*d5c09012SAndroid Build Coastguard Worker  }
1071*d5c09012SAndroid Build Coastguard Worker
1072*d5c09012SAndroid Build Coastguard Worker  // Output only. The time the cutover job was created (as an API call, not when
1073*d5c09012SAndroid Build Coastguard Worker  // it was actually created in the target).
1074*d5c09012SAndroid Build Coastguard Worker  google.protobuf.Timestamp create_time = 1
1075*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OUTPUT_ONLY];
1076*d5c09012SAndroid Build Coastguard Worker
1077*d5c09012SAndroid Build Coastguard Worker  // Output only. The time the cutover job had finished.
1078*d5c09012SAndroid Build Coastguard Worker  google.protobuf.Timestamp end_time = 16
1079*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OUTPUT_ONLY];
1080*d5c09012SAndroid Build Coastguard Worker
1081*d5c09012SAndroid Build Coastguard Worker  // Output only. The name of the cutover job.
1082*d5c09012SAndroid Build Coastguard Worker  string name = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
1083*d5c09012SAndroid Build Coastguard Worker
1084*d5c09012SAndroid Build Coastguard Worker  // Output only. State of the cutover job.
1085*d5c09012SAndroid Build Coastguard Worker  State state = 5 [(google.api.field_behavior) = OUTPUT_ONLY];
1086*d5c09012SAndroid Build Coastguard Worker
1087*d5c09012SAndroid Build Coastguard Worker  // Output only. The time the state was last updated.
1088*d5c09012SAndroid Build Coastguard Worker  google.protobuf.Timestamp state_time = 6
1089*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OUTPUT_ONLY];
1090*d5c09012SAndroid Build Coastguard Worker
1091*d5c09012SAndroid Build Coastguard Worker  // Output only. The current progress in percentage of the cutover job.
1092*d5c09012SAndroid Build Coastguard Worker  int32 progress_percent = 13 [(google.api.field_behavior) = OUTPUT_ONLY];
1093*d5c09012SAndroid Build Coastguard Worker
1094*d5c09012SAndroid Build Coastguard Worker  // Output only. Provides details for the errors that led to the Cutover Job's
1095*d5c09012SAndroid Build Coastguard Worker  // state.
1096*d5c09012SAndroid Build Coastguard Worker  google.rpc.Status error = 9 [(google.api.field_behavior) = OUTPUT_ONLY];
1097*d5c09012SAndroid Build Coastguard Worker
1098*d5c09012SAndroid Build Coastguard Worker  // Output only. A message providing possible extra details about the current
1099*d5c09012SAndroid Build Coastguard Worker  // state.
1100*d5c09012SAndroid Build Coastguard Worker  string state_message = 10 [(google.api.field_behavior) = OUTPUT_ONLY];
1101*d5c09012SAndroid Build Coastguard Worker
1102*d5c09012SAndroid Build Coastguard Worker  // Output only. The cutover steps list representing its progress.
1103*d5c09012SAndroid Build Coastguard Worker  repeated CutoverStep steps = 17 [(google.api.field_behavior) = OUTPUT_ONLY];
1104*d5c09012SAndroid Build Coastguard Worker}
1105*d5c09012SAndroid Build Coastguard Worker
1106*d5c09012SAndroid Build Coastguard Worker// CutoverStep holds information about the cutover step progress.
1107*d5c09012SAndroid Build Coastguard Workermessage CutoverStep {
1108*d5c09012SAndroid Build Coastguard Worker  oneof step {
1109*d5c09012SAndroid Build Coastguard Worker    // A replication cycle prior cutover step.
1110*d5c09012SAndroid Build Coastguard Worker    ReplicationCycle previous_replication_cycle = 3;
1111*d5c09012SAndroid Build Coastguard Worker
1112*d5c09012SAndroid Build Coastguard Worker    // Shutting down VM step.
1113*d5c09012SAndroid Build Coastguard Worker    ShuttingDownSourceVMStep shutting_down_source_vm = 4;
1114*d5c09012SAndroid Build Coastguard Worker
1115*d5c09012SAndroid Build Coastguard Worker    // Final sync step.
1116*d5c09012SAndroid Build Coastguard Worker    ReplicationCycle final_sync = 5;
1117*d5c09012SAndroid Build Coastguard Worker
1118*d5c09012SAndroid Build Coastguard Worker    // Preparing VM disks step.
1119*d5c09012SAndroid Build Coastguard Worker    PreparingVMDisksStep preparing_vm_disks = 6;
1120*d5c09012SAndroid Build Coastguard Worker
1121*d5c09012SAndroid Build Coastguard Worker    // Instantiating migrated VM step.
1122*d5c09012SAndroid Build Coastguard Worker    InstantiatingMigratedVMStep instantiating_migrated_vm = 7;
1123*d5c09012SAndroid Build Coastguard Worker  }
1124*d5c09012SAndroid Build Coastguard Worker
1125*d5c09012SAndroid Build Coastguard Worker  // The time the step has started.
1126*d5c09012SAndroid Build Coastguard Worker  google.protobuf.Timestamp start_time = 1;
1127*d5c09012SAndroid Build Coastguard Worker
1128*d5c09012SAndroid Build Coastguard Worker  // The time the step has ended.
1129*d5c09012SAndroid Build Coastguard Worker  google.protobuf.Timestamp end_time = 2;
1130*d5c09012SAndroid Build Coastguard Worker}
1131*d5c09012SAndroid Build Coastguard Worker
1132*d5c09012SAndroid Build Coastguard Worker// ShuttingDownSourceVMStep contains specific step details.
1133*d5c09012SAndroid Build Coastguard Workermessage ShuttingDownSourceVMStep {}
1134*d5c09012SAndroid Build Coastguard Worker
1135*d5c09012SAndroid Build Coastguard Worker// Request message for 'CreateCloneJob' request.
1136*d5c09012SAndroid Build Coastguard Workermessage CreateCloneJobRequest {
1137*d5c09012SAndroid Build Coastguard Worker  // Required. The Clone's parent.
1138*d5c09012SAndroid Build Coastguard Worker  string parent = 1 [
1139*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
1140*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
1141*d5c09012SAndroid Build Coastguard Worker      child_type: "vmmigration.googleapis.com/CloneJob"
1142*d5c09012SAndroid Build Coastguard Worker    }
1143*d5c09012SAndroid Build Coastguard Worker  ];
1144*d5c09012SAndroid Build Coastguard Worker
1145*d5c09012SAndroid Build Coastguard Worker  // Required. The clone job identifier.
1146*d5c09012SAndroid Build Coastguard Worker  string clone_job_id = 2 [(google.api.field_behavior) = REQUIRED];
1147*d5c09012SAndroid Build Coastguard Worker
1148*d5c09012SAndroid Build Coastguard Worker  // Required. The clone request body.
1149*d5c09012SAndroid Build Coastguard Worker  CloneJob clone_job = 3 [(google.api.field_behavior) = REQUIRED];
1150*d5c09012SAndroid Build Coastguard Worker
1151*d5c09012SAndroid Build Coastguard Worker  // A request ID to identify requests. Specify a unique request ID
1152*d5c09012SAndroid Build Coastguard Worker  // so that if you must retry your request, the server will know to ignore
1153*d5c09012SAndroid Build Coastguard Worker  // the request if it has already been completed. The server will guarantee
1154*d5c09012SAndroid Build Coastguard Worker  // that for at least 60 minutes since the first request.
1155*d5c09012SAndroid Build Coastguard Worker  //
1156*d5c09012SAndroid Build Coastguard Worker  // For example, consider a situation where you make an initial request and t
1157*d5c09012SAndroid Build Coastguard Worker  // he request times out. If you make the request again with the same request
1158*d5c09012SAndroid Build Coastguard Worker  // ID, the server can check if original operation with the same request ID
1159*d5c09012SAndroid Build Coastguard Worker  // was received, and if so, will ignore the second request. This prevents
1160*d5c09012SAndroid Build Coastguard Worker  // clients from accidentally creating duplicate commitments.
1161*d5c09012SAndroid Build Coastguard Worker  //
1162*d5c09012SAndroid Build Coastguard Worker  // The request ID must be a valid UUID with the exception that zero UUID is
1163*d5c09012SAndroid Build Coastguard Worker  // not supported (00000000-0000-0000-0000-000000000000).
1164*d5c09012SAndroid Build Coastguard Worker  string request_id = 4;
1165*d5c09012SAndroid Build Coastguard Worker}
1166*d5c09012SAndroid Build Coastguard Worker
1167*d5c09012SAndroid Build Coastguard Worker// Request message for 'CancelCloneJob' request.
1168*d5c09012SAndroid Build Coastguard Workermessage CancelCloneJobRequest {
1169*d5c09012SAndroid Build Coastguard Worker  // Required. The clone job id
1170*d5c09012SAndroid Build Coastguard Worker  string name = 1 [
1171*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
1172*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
1173*d5c09012SAndroid Build Coastguard Worker      type: "vmmigration.googleapis.com/CloneJob"
1174*d5c09012SAndroid Build Coastguard Worker    }
1175*d5c09012SAndroid Build Coastguard Worker  ];
1176*d5c09012SAndroid Build Coastguard Worker}
1177*d5c09012SAndroid Build Coastguard Worker
1178*d5c09012SAndroid Build Coastguard Worker// Response message for 'CancelCloneJob' request.
1179*d5c09012SAndroid Build Coastguard Workermessage CancelCloneJobResponse {}
1180*d5c09012SAndroid Build Coastguard Worker
1181*d5c09012SAndroid Build Coastguard Worker// Request message for 'ListCloneJobsRequest' request.
1182*d5c09012SAndroid Build Coastguard Workermessage ListCloneJobsRequest {
1183*d5c09012SAndroid Build Coastguard Worker  // Required. The parent, which owns this collection of source VMs.
1184*d5c09012SAndroid Build Coastguard Worker  string parent = 1 [
1185*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
1186*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
1187*d5c09012SAndroid Build Coastguard Worker      child_type: "vmmigration.googleapis.com/CloneJob"
1188*d5c09012SAndroid Build Coastguard Worker    }
1189*d5c09012SAndroid Build Coastguard Worker  ];
1190*d5c09012SAndroid Build Coastguard Worker
1191*d5c09012SAndroid Build Coastguard Worker  // Optional. The maximum number of clone jobs to return. The service may
1192*d5c09012SAndroid Build Coastguard Worker  // return fewer than this value. If unspecified, at most 500 clone jobs will
1193*d5c09012SAndroid Build Coastguard Worker  // be returned. The maximum value is 1000; values above 1000 will be coerced
1194*d5c09012SAndroid Build Coastguard Worker  // to 1000.
1195*d5c09012SAndroid Build Coastguard Worker  int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
1196*d5c09012SAndroid Build Coastguard Worker
1197*d5c09012SAndroid Build Coastguard Worker  // Required. A page token, received from a previous `ListCloneJobs` call.
1198*d5c09012SAndroid Build Coastguard Worker  // Provide this to retrieve the subsequent page.
1199*d5c09012SAndroid Build Coastguard Worker  //
1200*d5c09012SAndroid Build Coastguard Worker  // When paginating, all other parameters provided to `ListCloneJobs` must
1201*d5c09012SAndroid Build Coastguard Worker  // match the call that provided the page token.
1202*d5c09012SAndroid Build Coastguard Worker  string page_token = 3 [(google.api.field_behavior) = REQUIRED];
1203*d5c09012SAndroid Build Coastguard Worker
1204*d5c09012SAndroid Build Coastguard Worker  // Optional. The filter request.
1205*d5c09012SAndroid Build Coastguard Worker  string filter = 4 [(google.api.field_behavior) = OPTIONAL];
1206*d5c09012SAndroid Build Coastguard Worker
1207*d5c09012SAndroid Build Coastguard Worker  // Optional. the order by fields for the result.
1208*d5c09012SAndroid Build Coastguard Worker  string order_by = 5 [(google.api.field_behavior) = OPTIONAL];
1209*d5c09012SAndroid Build Coastguard Worker}
1210*d5c09012SAndroid Build Coastguard Worker
1211*d5c09012SAndroid Build Coastguard Worker// Response message for 'ListCloneJobs' request.
1212*d5c09012SAndroid Build Coastguard Workermessage ListCloneJobsResponse {
1213*d5c09012SAndroid Build Coastguard Worker  // Output only. The list of clone jobs response.
1214*d5c09012SAndroid Build Coastguard Worker  repeated CloneJob clone_jobs = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
1215*d5c09012SAndroid Build Coastguard Worker
1216*d5c09012SAndroid Build Coastguard Worker  // Output only. A token, which can be sent as `page_token` to retrieve the
1217*d5c09012SAndroid Build Coastguard Worker  // next page. If this field is omitted, there are no subsequent pages.
1218*d5c09012SAndroid Build Coastguard Worker  string next_page_token = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
1219*d5c09012SAndroid Build Coastguard Worker
1220*d5c09012SAndroid Build Coastguard Worker  // Output only. Locations that could not be reached.
1221*d5c09012SAndroid Build Coastguard Worker  repeated string unreachable = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
1222*d5c09012SAndroid Build Coastguard Worker}
1223*d5c09012SAndroid Build Coastguard Worker
1224*d5c09012SAndroid Build Coastguard Worker// Request message for 'GetCloneJob' request.
1225*d5c09012SAndroid Build Coastguard Workermessage GetCloneJobRequest {
1226*d5c09012SAndroid Build Coastguard Worker  // Required. The name of the CloneJob.
1227*d5c09012SAndroid Build Coastguard Worker  string name = 1 [
1228*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
1229*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
1230*d5c09012SAndroid Build Coastguard Worker      type: "vmmigration.googleapis.com/CloneJob"
1231*d5c09012SAndroid Build Coastguard Worker    }
1232*d5c09012SAndroid Build Coastguard Worker  ];
1233*d5c09012SAndroid Build Coastguard Worker}
1234*d5c09012SAndroid Build Coastguard Worker
1235*d5c09012SAndroid Build Coastguard Worker// Source message describes a specific vm migration Source resource. It contains
1236*d5c09012SAndroid Build Coastguard Worker// the source environment information.
1237*d5c09012SAndroid Build Coastguard Workermessage Source {
1238*d5c09012SAndroid Build Coastguard Worker  option (google.api.resource) = {
1239*d5c09012SAndroid Build Coastguard Worker    type: "vmmigration.googleapis.com/Source"
1240*d5c09012SAndroid Build Coastguard Worker    pattern: "projects/{project}/locations/{location}/sources/{source}"
1241*d5c09012SAndroid Build Coastguard Worker  };
1242*d5c09012SAndroid Build Coastguard Worker
1243*d5c09012SAndroid Build Coastguard Worker  oneof source_details {
1244*d5c09012SAndroid Build Coastguard Worker    // Vmware type source details.
1245*d5c09012SAndroid Build Coastguard Worker    VmwareSourceDetails vmware = 10;
1246*d5c09012SAndroid Build Coastguard Worker
1247*d5c09012SAndroid Build Coastguard Worker    // AWS type source details.
1248*d5c09012SAndroid Build Coastguard Worker    AwsSourceDetails aws = 12;
1249*d5c09012SAndroid Build Coastguard Worker  }
1250*d5c09012SAndroid Build Coastguard Worker
1251*d5c09012SAndroid Build Coastguard Worker  // Output only. The Source name.
1252*d5c09012SAndroid Build Coastguard Worker  string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
1253*d5c09012SAndroid Build Coastguard Worker
1254*d5c09012SAndroid Build Coastguard Worker  // Output only. The create time timestamp.
1255*d5c09012SAndroid Build Coastguard Worker  google.protobuf.Timestamp create_time = 2
1256*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OUTPUT_ONLY];
1257*d5c09012SAndroid Build Coastguard Worker
1258*d5c09012SAndroid Build Coastguard Worker  // Output only. The update time timestamp.
1259*d5c09012SAndroid Build Coastguard Worker  google.protobuf.Timestamp update_time = 3
1260*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OUTPUT_ONLY];
1261*d5c09012SAndroid Build Coastguard Worker
1262*d5c09012SAndroid Build Coastguard Worker  // The labels of the source.
1263*d5c09012SAndroid Build Coastguard Worker  map<string, string> labels = 4;
1264*d5c09012SAndroid Build Coastguard Worker
1265*d5c09012SAndroid Build Coastguard Worker  // User-provided description of the source.
1266*d5c09012SAndroid Build Coastguard Worker  string description = 6;
1267*d5c09012SAndroid Build Coastguard Worker}
1268*d5c09012SAndroid Build Coastguard Worker
1269*d5c09012SAndroid Build Coastguard Worker// VmwareSourceDetails message describes a specific source details for the
1270*d5c09012SAndroid Build Coastguard Worker// vmware source type.
1271*d5c09012SAndroid Build Coastguard Workermessage VmwareSourceDetails {
1272*d5c09012SAndroid Build Coastguard Worker  // The credentials username.
1273*d5c09012SAndroid Build Coastguard Worker  string username = 1;
1274*d5c09012SAndroid Build Coastguard Worker
1275*d5c09012SAndroid Build Coastguard Worker  // Input only. The credentials password. This is write only and can not be
1276*d5c09012SAndroid Build Coastguard Worker  // read in a GET operation.
1277*d5c09012SAndroid Build Coastguard Worker  string password = 2 [(google.api.field_behavior) = INPUT_ONLY];
1278*d5c09012SAndroid Build Coastguard Worker
1279*d5c09012SAndroid Build Coastguard Worker  // The ip address of the vcenter this Source represents.
1280*d5c09012SAndroid Build Coastguard Worker  string vcenter_ip = 3;
1281*d5c09012SAndroid Build Coastguard Worker
1282*d5c09012SAndroid Build Coastguard Worker  // The thumbprint representing the certificate for the vcenter.
1283*d5c09012SAndroid Build Coastguard Worker  string thumbprint = 4;
1284*d5c09012SAndroid Build Coastguard Worker}
1285*d5c09012SAndroid Build Coastguard Worker
1286*d5c09012SAndroid Build Coastguard Worker// AwsSourceDetails message describes a specific source details for the
1287*d5c09012SAndroid Build Coastguard Worker// AWS source type.
1288*d5c09012SAndroid Build Coastguard Workermessage AwsSourceDetails {
1289*d5c09012SAndroid Build Coastguard Worker  // Message describing AWS Credentials using access key id and secret.
1290*d5c09012SAndroid Build Coastguard Worker  message AccessKeyCredentials {
1291*d5c09012SAndroid Build Coastguard Worker    // AWS access key ID.
1292*d5c09012SAndroid Build Coastguard Worker    string access_key_id = 1;
1293*d5c09012SAndroid Build Coastguard Worker
1294*d5c09012SAndroid Build Coastguard Worker    // Input only. AWS secret access key.
1295*d5c09012SAndroid Build Coastguard Worker    string secret_access_key = 2 [(google.api.field_behavior) = INPUT_ONLY];
1296*d5c09012SAndroid Build Coastguard Worker  }
1297*d5c09012SAndroid Build Coastguard Worker
1298*d5c09012SAndroid Build Coastguard Worker  // Tag is an AWS tag representation.
1299*d5c09012SAndroid Build Coastguard Worker  message Tag {
1300*d5c09012SAndroid Build Coastguard Worker    // Key of tag.
1301*d5c09012SAndroid Build Coastguard Worker    string key = 1;
1302*d5c09012SAndroid Build Coastguard Worker
1303*d5c09012SAndroid Build Coastguard Worker    // Value of tag.
1304*d5c09012SAndroid Build Coastguard Worker    string value = 2;
1305*d5c09012SAndroid Build Coastguard Worker  }
1306*d5c09012SAndroid Build Coastguard Worker
1307*d5c09012SAndroid Build Coastguard Worker  // The possible values of the state.
1308*d5c09012SAndroid Build Coastguard Worker  enum State {
1309*d5c09012SAndroid Build Coastguard Worker    // The state is unknown. This is used for API compatibility only and is not
1310*d5c09012SAndroid Build Coastguard Worker    // used by the system.
1311*d5c09012SAndroid Build Coastguard Worker    STATE_UNSPECIFIED = 0;
1312*d5c09012SAndroid Build Coastguard Worker
1313*d5c09012SAndroid Build Coastguard Worker    // The state was not sampled by the health checks yet.
1314*d5c09012SAndroid Build Coastguard Worker    PENDING = 1;
1315*d5c09012SAndroid Build Coastguard Worker
1316*d5c09012SAndroid Build Coastguard Worker    // The source is available but might not be usable yet due to invalid
1317*d5c09012SAndroid Build Coastguard Worker    // credentials or another reason.
1318*d5c09012SAndroid Build Coastguard Worker    // The error message will contain further details.
1319*d5c09012SAndroid Build Coastguard Worker    FAILED = 2;
1320*d5c09012SAndroid Build Coastguard Worker
1321*d5c09012SAndroid Build Coastguard Worker    // The source exists and its credentials were verified.
1322*d5c09012SAndroid Build Coastguard Worker    ACTIVE = 3;
1323*d5c09012SAndroid Build Coastguard Worker  }
1324*d5c09012SAndroid Build Coastguard Worker
1325*d5c09012SAndroid Build Coastguard Worker  oneof credentials_type {
1326*d5c09012SAndroid Build Coastguard Worker    // AWS Credentials using access key id and secret.
1327*d5c09012SAndroid Build Coastguard Worker    AccessKeyCredentials access_key_creds = 11;
1328*d5c09012SAndroid Build Coastguard Worker  }
1329*d5c09012SAndroid Build Coastguard Worker
1330*d5c09012SAndroid Build Coastguard Worker  // Immutable. The AWS region that the source VMs will be migrated from.
1331*d5c09012SAndroid Build Coastguard Worker  string aws_region = 3 [(google.api.field_behavior) = IMMUTABLE];
1332*d5c09012SAndroid Build Coastguard Worker
1333*d5c09012SAndroid Build Coastguard Worker  // Output only. State of the source as determined by the health check.
1334*d5c09012SAndroid Build Coastguard Worker  State state = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
1335*d5c09012SAndroid Build Coastguard Worker
1336*d5c09012SAndroid Build Coastguard Worker  // Output only. Provides details on the state of the Source in case of an
1337*d5c09012SAndroid Build Coastguard Worker  // error.
1338*d5c09012SAndroid Build Coastguard Worker  google.rpc.Status error = 5 [(google.api.field_behavior) = OUTPUT_ONLY];
1339*d5c09012SAndroid Build Coastguard Worker
1340*d5c09012SAndroid Build Coastguard Worker  // AWS resource tags to limit the scope of the source inventory.
1341*d5c09012SAndroid Build Coastguard Worker  repeated Tag inventory_tag_list = 10;
1342*d5c09012SAndroid Build Coastguard Worker
1343*d5c09012SAndroid Build Coastguard Worker  // AWS security group names to limit the scope of the source
1344*d5c09012SAndroid Build Coastguard Worker  // inventory.
1345*d5c09012SAndroid Build Coastguard Worker  repeated string inventory_security_group_names = 7;
1346*d5c09012SAndroid Build Coastguard Worker
1347*d5c09012SAndroid Build Coastguard Worker  // User specified tags to add to every M2VM generated resource in AWS.
1348*d5c09012SAndroid Build Coastguard Worker  // These tags will be set in addition to the default tags that are set as part
1349*d5c09012SAndroid Build Coastguard Worker  // of the migration process. The tags must not begin with the reserved prefix
1350*d5c09012SAndroid Build Coastguard Worker  // `m2vm`.
1351*d5c09012SAndroid Build Coastguard Worker  map<string, string> migration_resources_user_tags = 8;
1352*d5c09012SAndroid Build Coastguard Worker
1353*d5c09012SAndroid Build Coastguard Worker  // Output only. The source's public IP. All communication initiated by this
1354*d5c09012SAndroid Build Coastguard Worker  // source will originate from this IP.
1355*d5c09012SAndroid Build Coastguard Worker  string public_ip = 9 [(google.api.field_behavior) = OUTPUT_ONLY];
1356*d5c09012SAndroid Build Coastguard Worker}
1357*d5c09012SAndroid Build Coastguard Worker
1358*d5c09012SAndroid Build Coastguard Worker// DatacenterConnector message describes a connector between the Source and
1359*d5c09012SAndroid Build Coastguard Worker// Google Cloud, which is installed on a vmware datacenter (an OVA vm installed
1360*d5c09012SAndroid Build Coastguard Worker// by the user) to connect the Datacenter to Google Cloud and support vm
1361*d5c09012SAndroid Build Coastguard Worker// migration data transfer.
1362*d5c09012SAndroid Build Coastguard Workermessage DatacenterConnector {
1363*d5c09012SAndroid Build Coastguard Worker  option (google.api.resource) = {
1364*d5c09012SAndroid Build Coastguard Worker    type: "vmmigration.googleapis.com/DatacenterConnector"
1365*d5c09012SAndroid Build Coastguard Worker    pattern: "projects/{project}/locations/{location}/sources/{source}/datacenterConnectors/{datacenter_connector}"
1366*d5c09012SAndroid Build Coastguard Worker  };
1367*d5c09012SAndroid Build Coastguard Worker
1368*d5c09012SAndroid Build Coastguard Worker  // The possible values of the state.
1369*d5c09012SAndroid Build Coastguard Worker  enum State {
1370*d5c09012SAndroid Build Coastguard Worker    // The state is unknown. This is used for API compatibility only and is not
1371*d5c09012SAndroid Build Coastguard Worker    // used by the system.
1372*d5c09012SAndroid Build Coastguard Worker    STATE_UNSPECIFIED = 0;
1373*d5c09012SAndroid Build Coastguard Worker
1374*d5c09012SAndroid Build Coastguard Worker    // The state was not sampled by the health checks yet.
1375*d5c09012SAndroid Build Coastguard Worker    PENDING = 1;
1376*d5c09012SAndroid Build Coastguard Worker
1377*d5c09012SAndroid Build Coastguard Worker    // The source was sampled by health checks and is not available.
1378*d5c09012SAndroid Build Coastguard Worker    OFFLINE = 2;
1379*d5c09012SAndroid Build Coastguard Worker
1380*d5c09012SAndroid Build Coastguard Worker    // The source is available but might not be usable yet due to unvalidated
1381*d5c09012SAndroid Build Coastguard Worker    // credentials or another reason. The credentials referred to are the ones
1382*d5c09012SAndroid Build Coastguard Worker    // to the Source. The error message will contain further details.
1383*d5c09012SAndroid Build Coastguard Worker    FAILED = 3;
1384*d5c09012SAndroid Build Coastguard Worker
1385*d5c09012SAndroid Build Coastguard Worker    // The source exists and its credentials were verified.
1386*d5c09012SAndroid Build Coastguard Worker    ACTIVE = 4;
1387*d5c09012SAndroid Build Coastguard Worker  }
1388*d5c09012SAndroid Build Coastguard Worker
1389*d5c09012SAndroid Build Coastguard Worker  // Output only. The time the connector was created (as an API call, not when
1390*d5c09012SAndroid Build Coastguard Worker  // it was actually installed).
1391*d5c09012SAndroid Build Coastguard Worker  google.protobuf.Timestamp create_time = 1
1392*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OUTPUT_ONLY];
1393*d5c09012SAndroid Build Coastguard Worker
1394*d5c09012SAndroid Build Coastguard Worker  // Output only. The last time the connector was updated with an API call.
1395*d5c09012SAndroid Build Coastguard Worker  google.protobuf.Timestamp update_time = 2
1396*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OUTPUT_ONLY];
1397*d5c09012SAndroid Build Coastguard Worker
1398*d5c09012SAndroid Build Coastguard Worker  // Output only. The connector's name.
1399*d5c09012SAndroid Build Coastguard Worker  string name = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
1400*d5c09012SAndroid Build Coastguard Worker
1401*d5c09012SAndroid Build Coastguard Worker  // Immutable. A unique key for this connector. This key is internal to the OVA
1402*d5c09012SAndroid Build Coastguard Worker  // connector and is supplied with its creation during the registration process
1403*d5c09012SAndroid Build Coastguard Worker  // and can not be modified.
1404*d5c09012SAndroid Build Coastguard Worker  string registration_id = 12 [(google.api.field_behavior) = IMMUTABLE];
1405*d5c09012SAndroid Build Coastguard Worker
1406*d5c09012SAndroid Build Coastguard Worker  // The service account to use in the connector when communicating with the
1407*d5c09012SAndroid Build Coastguard Worker  // cloud.
1408*d5c09012SAndroid Build Coastguard Worker  string service_account = 5;
1409*d5c09012SAndroid Build Coastguard Worker
1410*d5c09012SAndroid Build Coastguard Worker  // The version running in the DatacenterConnector. This is supplied by the OVA
1411*d5c09012SAndroid Build Coastguard Worker  // connector during the registration process and can not be modified.
1412*d5c09012SAndroid Build Coastguard Worker  string version = 6;
1413*d5c09012SAndroid Build Coastguard Worker
1414*d5c09012SAndroid Build Coastguard Worker  // Output only. The communication channel between the datacenter connector and
1415*d5c09012SAndroid Build Coastguard Worker  // Google Cloud.
1416*d5c09012SAndroid Build Coastguard Worker  string bucket = 10 [(google.api.field_behavior) = OUTPUT_ONLY];
1417*d5c09012SAndroid Build Coastguard Worker
1418*d5c09012SAndroid Build Coastguard Worker  // Output only. State of the DatacenterConnector, as determined by the health
1419*d5c09012SAndroid Build Coastguard Worker  // checks.
1420*d5c09012SAndroid Build Coastguard Worker  State state = 7 [(google.api.field_behavior) = OUTPUT_ONLY];
1421*d5c09012SAndroid Build Coastguard Worker
1422*d5c09012SAndroid Build Coastguard Worker  // Output only. The time the state was last set.
1423*d5c09012SAndroid Build Coastguard Worker  google.protobuf.Timestamp state_time = 8
1424*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OUTPUT_ONLY];
1425*d5c09012SAndroid Build Coastguard Worker
1426*d5c09012SAndroid Build Coastguard Worker  // Output only. Provides details on the state of the Datacenter Connector in
1427*d5c09012SAndroid Build Coastguard Worker  // case of an error.
1428*d5c09012SAndroid Build Coastguard Worker  google.rpc.Status error = 11 [(google.api.field_behavior) = OUTPUT_ONLY];
1429*d5c09012SAndroid Build Coastguard Worker
1430*d5c09012SAndroid Build Coastguard Worker  // Output only. Appliance OVA version.
1431*d5c09012SAndroid Build Coastguard Worker  // This is the OVA which is manually installed by the user and contains the
1432*d5c09012SAndroid Build Coastguard Worker  // infrastructure for the automatically updatable components on the appliance.
1433*d5c09012SAndroid Build Coastguard Worker  string appliance_infrastructure_version = 13
1434*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OUTPUT_ONLY];
1435*d5c09012SAndroid Build Coastguard Worker
1436*d5c09012SAndroid Build Coastguard Worker  // Output only. Appliance last installed update bundle version.
1437*d5c09012SAndroid Build Coastguard Worker  // This is the version of the automatically updatable components on the
1438*d5c09012SAndroid Build Coastguard Worker  // appliance.
1439*d5c09012SAndroid Build Coastguard Worker  string appliance_software_version = 14
1440*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OUTPUT_ONLY];
1441*d5c09012SAndroid Build Coastguard Worker
1442*d5c09012SAndroid Build Coastguard Worker  // Output only. The available versions for updating this appliance.
1443*d5c09012SAndroid Build Coastguard Worker  AvailableUpdates available_versions = 15
1444*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OUTPUT_ONLY];
1445*d5c09012SAndroid Build Coastguard Worker
1446*d5c09012SAndroid Build Coastguard Worker  // Output only. The status of the current / last upgradeAppliance operation.
1447*d5c09012SAndroid Build Coastguard Worker  UpgradeStatus upgrade_status = 16 [(google.api.field_behavior) = OUTPUT_ONLY];
1448*d5c09012SAndroid Build Coastguard Worker}
1449*d5c09012SAndroid Build Coastguard Worker
1450*d5c09012SAndroid Build Coastguard Worker// UpgradeStatus contains information about upgradeAppliance operation.
1451*d5c09012SAndroid Build Coastguard Workermessage UpgradeStatus {
1452*d5c09012SAndroid Build Coastguard Worker  // The possible values of the state.
1453*d5c09012SAndroid Build Coastguard Worker  enum State {
1454*d5c09012SAndroid Build Coastguard Worker    // The state was not sampled by the health checks yet.
1455*d5c09012SAndroid Build Coastguard Worker    STATE_UNSPECIFIED = 0;
1456*d5c09012SAndroid Build Coastguard Worker
1457*d5c09012SAndroid Build Coastguard Worker    // The upgrade has started.
1458*d5c09012SAndroid Build Coastguard Worker    RUNNING = 1;
1459*d5c09012SAndroid Build Coastguard Worker
1460*d5c09012SAndroid Build Coastguard Worker    // The upgrade failed.
1461*d5c09012SAndroid Build Coastguard Worker    FAILED = 2;
1462*d5c09012SAndroid Build Coastguard Worker
1463*d5c09012SAndroid Build Coastguard Worker    // The upgrade finished successfully.
1464*d5c09012SAndroid Build Coastguard Worker    SUCCEEDED = 3;
1465*d5c09012SAndroid Build Coastguard Worker  }
1466*d5c09012SAndroid Build Coastguard Worker
1467*d5c09012SAndroid Build Coastguard Worker  // The version to upgrade to.
1468*d5c09012SAndroid Build Coastguard Worker  string version = 1;
1469*d5c09012SAndroid Build Coastguard Worker
1470*d5c09012SAndroid Build Coastguard Worker  // The state of the upgradeAppliance operation.
1471*d5c09012SAndroid Build Coastguard Worker  State state = 2;
1472*d5c09012SAndroid Build Coastguard Worker
1473*d5c09012SAndroid Build Coastguard Worker  // Provides details on the state of the upgrade operation in case of an error.
1474*d5c09012SAndroid Build Coastguard Worker  google.rpc.Status error = 3;
1475*d5c09012SAndroid Build Coastguard Worker
1476*d5c09012SAndroid Build Coastguard Worker  // The time the operation was started.
1477*d5c09012SAndroid Build Coastguard Worker  google.protobuf.Timestamp start_time = 4;
1478*d5c09012SAndroid Build Coastguard Worker
1479*d5c09012SAndroid Build Coastguard Worker  // The version from which we upgraded.
1480*d5c09012SAndroid Build Coastguard Worker  string previous_version = 5;
1481*d5c09012SAndroid Build Coastguard Worker}
1482*d5c09012SAndroid Build Coastguard Worker
1483*d5c09012SAndroid Build Coastguard Worker// Holds informatiom about the available versions for upgrade.
1484*d5c09012SAndroid Build Coastguard Workermessage AvailableUpdates {
1485*d5c09012SAndroid Build Coastguard Worker  // The newest deployable version of the appliance.
1486*d5c09012SAndroid Build Coastguard Worker  // The current appliance can't be updated into this version, and the owner
1487*d5c09012SAndroid Build Coastguard Worker  // must manually deploy this OVA to a new appliance.
1488*d5c09012SAndroid Build Coastguard Worker  ApplianceVersion new_deployable_appliance = 1;
1489*d5c09012SAndroid Build Coastguard Worker
1490*d5c09012SAndroid Build Coastguard Worker  // The latest version for in place update.
1491*d5c09012SAndroid Build Coastguard Worker  // The current appliance can be updated to this version using the API or m4c
1492*d5c09012SAndroid Build Coastguard Worker  // CLI.
1493*d5c09012SAndroid Build Coastguard Worker  ApplianceVersion in_place_update = 2;
1494*d5c09012SAndroid Build Coastguard Worker}
1495*d5c09012SAndroid Build Coastguard Worker
1496*d5c09012SAndroid Build Coastguard Worker// Describes an appliance version.
1497*d5c09012SAndroid Build Coastguard Workermessage ApplianceVersion {
1498*d5c09012SAndroid Build Coastguard Worker  // The appliance version.
1499*d5c09012SAndroid Build Coastguard Worker  string version = 1;
1500*d5c09012SAndroid Build Coastguard Worker
1501*d5c09012SAndroid Build Coastguard Worker  // A link for downloading the version.
1502*d5c09012SAndroid Build Coastguard Worker  string uri = 2;
1503*d5c09012SAndroid Build Coastguard Worker
1504*d5c09012SAndroid Build Coastguard Worker  // Determine whether it's critical to upgrade the appliance to this version.
1505*d5c09012SAndroid Build Coastguard Worker  bool critical = 3;
1506*d5c09012SAndroid Build Coastguard Worker
1507*d5c09012SAndroid Build Coastguard Worker  // Link to a page that contains the version release notes.
1508*d5c09012SAndroid Build Coastguard Worker  string release_notes_uri = 4;
1509*d5c09012SAndroid Build Coastguard Worker}
1510*d5c09012SAndroid Build Coastguard Worker
1511*d5c09012SAndroid Build Coastguard Worker// Request message for 'ListSources' request.
1512*d5c09012SAndroid Build Coastguard Workermessage ListSourcesRequest {
1513*d5c09012SAndroid Build Coastguard Worker  // Required. The parent, which owns this collection of sources.
1514*d5c09012SAndroid Build Coastguard Worker  string parent = 1 [
1515*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
1516*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
1517*d5c09012SAndroid Build Coastguard Worker      child_type: "vmmigration.googleapis.com/Source"
1518*d5c09012SAndroid Build Coastguard Worker    }
1519*d5c09012SAndroid Build Coastguard Worker  ];
1520*d5c09012SAndroid Build Coastguard Worker
1521*d5c09012SAndroid Build Coastguard Worker  // Optional. The maximum number of sources to return. The service may return
1522*d5c09012SAndroid Build Coastguard Worker  // fewer than this value. If unspecified, at most 500 sources will be
1523*d5c09012SAndroid Build Coastguard Worker  // returned. The maximum value is 1000; values above 1000 will be coerced to
1524*d5c09012SAndroid Build Coastguard Worker  // 1000.
1525*d5c09012SAndroid Build Coastguard Worker  int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
1526*d5c09012SAndroid Build Coastguard Worker
1527*d5c09012SAndroid Build Coastguard Worker  // Required. A page token, received from a previous `ListSources` call.
1528*d5c09012SAndroid Build Coastguard Worker  // Provide this to retrieve the subsequent page.
1529*d5c09012SAndroid Build Coastguard Worker  //
1530*d5c09012SAndroid Build Coastguard Worker  // When paginating, all other parameters provided to `ListSources` must
1531*d5c09012SAndroid Build Coastguard Worker  // match the call that provided the page token.
1532*d5c09012SAndroid Build Coastguard Worker  string page_token = 3 [(google.api.field_behavior) = REQUIRED];
1533*d5c09012SAndroid Build Coastguard Worker
1534*d5c09012SAndroid Build Coastguard Worker  // Optional. The filter request.
1535*d5c09012SAndroid Build Coastguard Worker  string filter = 4 [(google.api.field_behavior) = OPTIONAL];
1536*d5c09012SAndroid Build Coastguard Worker
1537*d5c09012SAndroid Build Coastguard Worker  // Optional. the order by fields for the result.
1538*d5c09012SAndroid Build Coastguard Worker  string order_by = 5 [(google.api.field_behavior) = OPTIONAL];
1539*d5c09012SAndroid Build Coastguard Worker}
1540*d5c09012SAndroid Build Coastguard Worker
1541*d5c09012SAndroid Build Coastguard Worker// Response message for 'ListSources' request.
1542*d5c09012SAndroid Build Coastguard Workermessage ListSourcesResponse {
1543*d5c09012SAndroid Build Coastguard Worker  // Output only. The list of sources response.
1544*d5c09012SAndroid Build Coastguard Worker  repeated Source sources = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
1545*d5c09012SAndroid Build Coastguard Worker
1546*d5c09012SAndroid Build Coastguard Worker  // Output only. A token, which can be sent as `page_token` to retrieve the
1547*d5c09012SAndroid Build Coastguard Worker  // next page. If this field is omitted, there are no subsequent pages.
1548*d5c09012SAndroid Build Coastguard Worker  string next_page_token = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
1549*d5c09012SAndroid Build Coastguard Worker
1550*d5c09012SAndroid Build Coastguard Worker  // Output only. Locations that could not be reached.
1551*d5c09012SAndroid Build Coastguard Worker  repeated string unreachable = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
1552*d5c09012SAndroid Build Coastguard Worker}
1553*d5c09012SAndroid Build Coastguard Worker
1554*d5c09012SAndroid Build Coastguard Worker// Request message for 'GetSource' request.
1555*d5c09012SAndroid Build Coastguard Workermessage GetSourceRequest {
1556*d5c09012SAndroid Build Coastguard Worker  // Required. The Source name.
1557*d5c09012SAndroid Build Coastguard Worker  string name = 1 [
1558*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
1559*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
1560*d5c09012SAndroid Build Coastguard Worker      type: "vmmigration.googleapis.com/Source"
1561*d5c09012SAndroid Build Coastguard Worker    }
1562*d5c09012SAndroid Build Coastguard Worker  ];
1563*d5c09012SAndroid Build Coastguard Worker}
1564*d5c09012SAndroid Build Coastguard Worker
1565*d5c09012SAndroid Build Coastguard Worker// Request message for 'CreateSource' request.
1566*d5c09012SAndroid Build Coastguard Workermessage CreateSourceRequest {
1567*d5c09012SAndroid Build Coastguard Worker  // Required. The Source's parent.
1568*d5c09012SAndroid Build Coastguard Worker  string parent = 1 [
1569*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
1570*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
1571*d5c09012SAndroid Build Coastguard Worker      child_type: "vmmigration.googleapis.com/Source"
1572*d5c09012SAndroid Build Coastguard Worker    }
1573*d5c09012SAndroid Build Coastguard Worker  ];
1574*d5c09012SAndroid Build Coastguard Worker
1575*d5c09012SAndroid Build Coastguard Worker  // Required. The source identifier.
1576*d5c09012SAndroid Build Coastguard Worker  string source_id = 2 [(google.api.field_behavior) = REQUIRED];
1577*d5c09012SAndroid Build Coastguard Worker
1578*d5c09012SAndroid Build Coastguard Worker  // Required. The create request body.
1579*d5c09012SAndroid Build Coastguard Worker  Source source = 3 [(google.api.field_behavior) = REQUIRED];
1580*d5c09012SAndroid Build Coastguard Worker
1581*d5c09012SAndroid Build Coastguard Worker  // A request ID to identify requests. Specify a unique request ID
1582*d5c09012SAndroid Build Coastguard Worker  // so that if you must retry your request, the server will know to ignore
1583*d5c09012SAndroid Build Coastguard Worker  // the request if it has already been completed. The server will guarantee
1584*d5c09012SAndroid Build Coastguard Worker  // that for at least 60 minutes since the first request.
1585*d5c09012SAndroid Build Coastguard Worker  //
1586*d5c09012SAndroid Build Coastguard Worker  // For example, consider a situation where you make an initial request and t
1587*d5c09012SAndroid Build Coastguard Worker  // he request times out. If you make the request again with the same request
1588*d5c09012SAndroid Build Coastguard Worker  // ID, the server can check if original operation with the same request ID
1589*d5c09012SAndroid Build Coastguard Worker  // was received, and if so, will ignore the second request. This prevents
1590*d5c09012SAndroid Build Coastguard Worker  // clients from accidentally creating duplicate commitments.
1591*d5c09012SAndroid Build Coastguard Worker  //
1592*d5c09012SAndroid Build Coastguard Worker  // The request ID must be a valid UUID with the exception that zero UUID is
1593*d5c09012SAndroid Build Coastguard Worker  // not supported (00000000-0000-0000-0000-000000000000).
1594*d5c09012SAndroid Build Coastguard Worker  string request_id = 4;
1595*d5c09012SAndroid Build Coastguard Worker}
1596*d5c09012SAndroid Build Coastguard Worker
1597*d5c09012SAndroid Build Coastguard Worker// Update message for 'UpdateSources' request.
1598*d5c09012SAndroid Build Coastguard Workermessage UpdateSourceRequest {
1599*d5c09012SAndroid Build Coastguard Worker  // Field mask is used to specify the fields to be overwritten in the
1600*d5c09012SAndroid Build Coastguard Worker  // Source resource by the update.
1601*d5c09012SAndroid Build Coastguard Worker  // The fields specified in the update_mask are relative to the resource, not
1602*d5c09012SAndroid Build Coastguard Worker  // the full request. A field will be overwritten if it is in the mask. If the
1603*d5c09012SAndroid Build Coastguard Worker  // user does not provide a mask then all fields will be overwritten.
1604*d5c09012SAndroid Build Coastguard Worker  google.protobuf.FieldMask update_mask = 1;
1605*d5c09012SAndroid Build Coastguard Worker
1606*d5c09012SAndroid Build Coastguard Worker  // Required. The update request body.
1607*d5c09012SAndroid Build Coastguard Worker  Source source = 2 [(google.api.field_behavior) = REQUIRED];
1608*d5c09012SAndroid Build Coastguard Worker
1609*d5c09012SAndroid Build Coastguard Worker  // A request ID to identify requests. Specify a unique request ID
1610*d5c09012SAndroid Build Coastguard Worker  // so that if you must retry your request, the server will know to ignore
1611*d5c09012SAndroid Build Coastguard Worker  // the request if it has already been completed. The server will guarantee
1612*d5c09012SAndroid Build Coastguard Worker  // that for at least 60 minutes since the first request.
1613*d5c09012SAndroid Build Coastguard Worker  //
1614*d5c09012SAndroid Build Coastguard Worker  // For example, consider a situation where you make an initial request and t
1615*d5c09012SAndroid Build Coastguard Worker  // he request times out. If you make the request again with the same request
1616*d5c09012SAndroid Build Coastguard Worker  // ID, the server can check if original operation with the same request ID
1617*d5c09012SAndroid Build Coastguard Worker  // was received, and if so, will ignore the second request. This prevents
1618*d5c09012SAndroid Build Coastguard Worker  // clients from accidentally creating duplicate commitments.
1619*d5c09012SAndroid Build Coastguard Worker  //
1620*d5c09012SAndroid Build Coastguard Worker  // The request ID must be a valid UUID with the exception that zero UUID is
1621*d5c09012SAndroid Build Coastguard Worker  // not supported (00000000-0000-0000-0000-000000000000).
1622*d5c09012SAndroid Build Coastguard Worker  string request_id = 3;
1623*d5c09012SAndroid Build Coastguard Worker}
1624*d5c09012SAndroid Build Coastguard Worker
1625*d5c09012SAndroid Build Coastguard Worker// Request message for 'DeleteSource' request.
1626*d5c09012SAndroid Build Coastguard Workermessage DeleteSourceRequest {
1627*d5c09012SAndroid Build Coastguard Worker  // Required. The Source name.
1628*d5c09012SAndroid Build Coastguard Worker  string name = 1 [
1629*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
1630*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
1631*d5c09012SAndroid Build Coastguard Worker      type: "vmmigration.googleapis.com/Source"
1632*d5c09012SAndroid Build Coastguard Worker    }
1633*d5c09012SAndroid Build Coastguard Worker  ];
1634*d5c09012SAndroid Build Coastguard Worker
1635*d5c09012SAndroid Build Coastguard Worker  // Optional. A request ID to identify requests. Specify a unique request ID
1636*d5c09012SAndroid Build Coastguard Worker  // so that if you must retry your request, the server will know to ignore
1637*d5c09012SAndroid Build Coastguard Worker  // the request if it has already been completed. The server will guarantee
1638*d5c09012SAndroid Build Coastguard Worker  // that for at least 60 minutes after the first request.
1639*d5c09012SAndroid Build Coastguard Worker  //
1640*d5c09012SAndroid Build Coastguard Worker  // For example, consider a situation where you make an initial request and t
1641*d5c09012SAndroid Build Coastguard Worker  // he request times out. If you make the request again with the same request
1642*d5c09012SAndroid Build Coastguard Worker  // ID, the server can check if original operation with the same request ID
1643*d5c09012SAndroid Build Coastguard Worker  // was received, and if so, will ignore the second request. This prevents
1644*d5c09012SAndroid Build Coastguard Worker  // clients from accidentally creating duplicate commitments.
1645*d5c09012SAndroid Build Coastguard Worker  //
1646*d5c09012SAndroid Build Coastguard Worker  // The request ID must be a valid UUID with the exception that zero UUID is
1647*d5c09012SAndroid Build Coastguard Worker  // not supported (00000000-0000-0000-0000-000000000000).
1648*d5c09012SAndroid Build Coastguard Worker  string request_id = 2 [(google.api.field_behavior) = OPTIONAL];
1649*d5c09012SAndroid Build Coastguard Worker}
1650*d5c09012SAndroid Build Coastguard Worker
1651*d5c09012SAndroid Build Coastguard Worker// Request message for
1652*d5c09012SAndroid Build Coastguard Worker// [fetchInventory][google.cloud.vmmigration.v1.VmMigration.FetchInventory].
1653*d5c09012SAndroid Build Coastguard Workermessage FetchInventoryRequest {
1654*d5c09012SAndroid Build Coastguard Worker  // Required. The name of the Source.
1655*d5c09012SAndroid Build Coastguard Worker  string source = 1 [
1656*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
1657*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
1658*d5c09012SAndroid Build Coastguard Worker      type: "vmmigration.googleapis.com/Source"
1659*d5c09012SAndroid Build Coastguard Worker    }
1660*d5c09012SAndroid Build Coastguard Worker  ];
1661*d5c09012SAndroid Build Coastguard Worker
1662*d5c09012SAndroid Build Coastguard Worker  // If this flag is set to true, the source will be queried instead of using
1663*d5c09012SAndroid Build Coastguard Worker  // cached results. Using this flag will make the call slower.
1664*d5c09012SAndroid Build Coastguard Worker  bool force_refresh = 2;
1665*d5c09012SAndroid Build Coastguard Worker}
1666*d5c09012SAndroid Build Coastguard Worker
1667*d5c09012SAndroid Build Coastguard Worker// VmwareVmDetails describes a VM in vCenter.
1668*d5c09012SAndroid Build Coastguard Workermessage VmwareVmDetails {
1669*d5c09012SAndroid Build Coastguard Worker  // Possible values for the power state of the VM.
1670*d5c09012SAndroid Build Coastguard Worker  enum PowerState {
1671*d5c09012SAndroid Build Coastguard Worker    // Power state is not specified.
1672*d5c09012SAndroid Build Coastguard Worker    POWER_STATE_UNSPECIFIED = 0;
1673*d5c09012SAndroid Build Coastguard Worker
1674*d5c09012SAndroid Build Coastguard Worker    // The VM is turned ON.
1675*d5c09012SAndroid Build Coastguard Worker    ON = 1;
1676*d5c09012SAndroid Build Coastguard Worker
1677*d5c09012SAndroid Build Coastguard Worker    // The VM is turned OFF.
1678*d5c09012SAndroid Build Coastguard Worker    OFF = 2;
1679*d5c09012SAndroid Build Coastguard Worker
1680*d5c09012SAndroid Build Coastguard Worker    // The VM is suspended. This is similar to hibernation or sleep mode.
1681*d5c09012SAndroid Build Coastguard Worker    SUSPENDED = 3;
1682*d5c09012SAndroid Build Coastguard Worker  }
1683*d5c09012SAndroid Build Coastguard Worker
1684*d5c09012SAndroid Build Coastguard Worker  // Possible values for vm boot option.
1685*d5c09012SAndroid Build Coastguard Worker  enum BootOption {
1686*d5c09012SAndroid Build Coastguard Worker    // The boot option is unknown.
1687*d5c09012SAndroid Build Coastguard Worker    BOOT_OPTION_UNSPECIFIED = 0;
1688*d5c09012SAndroid Build Coastguard Worker
1689*d5c09012SAndroid Build Coastguard Worker    // The boot option is EFI.
1690*d5c09012SAndroid Build Coastguard Worker    EFI = 1;
1691*d5c09012SAndroid Build Coastguard Worker
1692*d5c09012SAndroid Build Coastguard Worker    // The boot option is BIOS.
1693*d5c09012SAndroid Build Coastguard Worker    BIOS = 2;
1694*d5c09012SAndroid Build Coastguard Worker  }
1695*d5c09012SAndroid Build Coastguard Worker
1696*d5c09012SAndroid Build Coastguard Worker  // The VM's id in the source (note that this is not the MigratingVm's id).
1697*d5c09012SAndroid Build Coastguard Worker  // This is the moref id of the VM.
1698*d5c09012SAndroid Build Coastguard Worker  string vm_id = 1;
1699*d5c09012SAndroid Build Coastguard Worker
1700*d5c09012SAndroid Build Coastguard Worker  // The id of the vCenter's datacenter this VM is contained in.
1701*d5c09012SAndroid Build Coastguard Worker  string datacenter_id = 2;
1702*d5c09012SAndroid Build Coastguard Worker
1703*d5c09012SAndroid Build Coastguard Worker  // The descriptive name of the vCenter's datacenter this VM is contained in.
1704*d5c09012SAndroid Build Coastguard Worker  string datacenter_description = 3;
1705*d5c09012SAndroid Build Coastguard Worker
1706*d5c09012SAndroid Build Coastguard Worker  // The unique identifier of the VM in vCenter.
1707*d5c09012SAndroid Build Coastguard Worker  string uuid = 4;
1708*d5c09012SAndroid Build Coastguard Worker
1709*d5c09012SAndroid Build Coastguard Worker  // The display name of the VM. Note that this is not necessarily unique.
1710*d5c09012SAndroid Build Coastguard Worker  string display_name = 5;
1711*d5c09012SAndroid Build Coastguard Worker
1712*d5c09012SAndroid Build Coastguard Worker  // The power state of the VM at the moment list was taken.
1713*d5c09012SAndroid Build Coastguard Worker  PowerState power_state = 6;
1714*d5c09012SAndroid Build Coastguard Worker
1715*d5c09012SAndroid Build Coastguard Worker  // The number of cpus in the VM.
1716*d5c09012SAndroid Build Coastguard Worker  int32 cpu_count = 7;
1717*d5c09012SAndroid Build Coastguard Worker
1718*d5c09012SAndroid Build Coastguard Worker  // The size of the memory of the VM in MB.
1719*d5c09012SAndroid Build Coastguard Worker  int32 memory_mb = 8;
1720*d5c09012SAndroid Build Coastguard Worker
1721*d5c09012SAndroid Build Coastguard Worker  // The number of disks the VM has.
1722*d5c09012SAndroid Build Coastguard Worker  int32 disk_count = 9;
1723*d5c09012SAndroid Build Coastguard Worker
1724*d5c09012SAndroid Build Coastguard Worker  // The total size of the storage allocated to the VM in MB.
1725*d5c09012SAndroid Build Coastguard Worker  int64 committed_storage_mb = 12;
1726*d5c09012SAndroid Build Coastguard Worker
1727*d5c09012SAndroid Build Coastguard Worker  // The VM's OS. See for example
1728*d5c09012SAndroid Build Coastguard Worker  // https://vdc-repo.vmware.com/vmwb-repository/dcr-public/da47f910-60ac-438b-8b9b-6122f4d14524/16b7274a-bf8b-4b4c-a05e-746f2aa93c8c/doc/vim.vm.GuestOsDescriptor.GuestOsIdentifier.html
1729*d5c09012SAndroid Build Coastguard Worker  // for types of strings this might hold.
1730*d5c09012SAndroid Build Coastguard Worker  string guest_description = 11;
1731*d5c09012SAndroid Build Coastguard Worker
1732*d5c09012SAndroid Build Coastguard Worker  // Output only. The VM Boot Option.
1733*d5c09012SAndroid Build Coastguard Worker  BootOption boot_option = 13 [(google.api.field_behavior) = OUTPUT_ONLY];
1734*d5c09012SAndroid Build Coastguard Worker}
1735*d5c09012SAndroid Build Coastguard Worker
1736*d5c09012SAndroid Build Coastguard Worker// AwsVmDetails describes a VM in AWS.
1737*d5c09012SAndroid Build Coastguard Workermessage AwsVmDetails {
1738*d5c09012SAndroid Build Coastguard Worker  // Possible values for the power state of the VM.
1739*d5c09012SAndroid Build Coastguard Worker  enum PowerState {
1740*d5c09012SAndroid Build Coastguard Worker    // Power state is not specified.
1741*d5c09012SAndroid Build Coastguard Worker    POWER_STATE_UNSPECIFIED = 0;
1742*d5c09012SAndroid Build Coastguard Worker
1743*d5c09012SAndroid Build Coastguard Worker    // The VM is turned on.
1744*d5c09012SAndroid Build Coastguard Worker    ON = 1;
1745*d5c09012SAndroid Build Coastguard Worker
1746*d5c09012SAndroid Build Coastguard Worker    // The VM is turned off.
1747*d5c09012SAndroid Build Coastguard Worker    OFF = 2;
1748*d5c09012SAndroid Build Coastguard Worker
1749*d5c09012SAndroid Build Coastguard Worker    // The VM is suspended. This is similar to hibernation or sleep
1750*d5c09012SAndroid Build Coastguard Worker    // mode.
1751*d5c09012SAndroid Build Coastguard Worker    SUSPENDED = 3;
1752*d5c09012SAndroid Build Coastguard Worker
1753*d5c09012SAndroid Build Coastguard Worker    // The VM is starting.
1754*d5c09012SAndroid Build Coastguard Worker    PENDING = 4;
1755*d5c09012SAndroid Build Coastguard Worker  }
1756*d5c09012SAndroid Build Coastguard Worker
1757*d5c09012SAndroid Build Coastguard Worker  // The possible values for the vm boot option.
1758*d5c09012SAndroid Build Coastguard Worker  enum BootOption {
1759*d5c09012SAndroid Build Coastguard Worker    // The boot option is unknown.
1760*d5c09012SAndroid Build Coastguard Worker    BOOT_OPTION_UNSPECIFIED = 0;
1761*d5c09012SAndroid Build Coastguard Worker
1762*d5c09012SAndroid Build Coastguard Worker    // The boot option is UEFI.
1763*d5c09012SAndroid Build Coastguard Worker    EFI = 1;
1764*d5c09012SAndroid Build Coastguard Worker
1765*d5c09012SAndroid Build Coastguard Worker    // The boot option is LEGACY-BIOS.
1766*d5c09012SAndroid Build Coastguard Worker    BIOS = 2;
1767*d5c09012SAndroid Build Coastguard Worker  }
1768*d5c09012SAndroid Build Coastguard Worker
1769*d5c09012SAndroid Build Coastguard Worker  // Possible values for the virtualization types of the VM.
1770*d5c09012SAndroid Build Coastguard Worker  enum VmVirtualizationType {
1771*d5c09012SAndroid Build Coastguard Worker    // The virtualization type is unknown.
1772*d5c09012SAndroid Build Coastguard Worker    VM_VIRTUALIZATION_TYPE_UNSPECIFIED = 0;
1773*d5c09012SAndroid Build Coastguard Worker
1774*d5c09012SAndroid Build Coastguard Worker    // The virtualziation type is HVM.
1775*d5c09012SAndroid Build Coastguard Worker    HVM = 1;
1776*d5c09012SAndroid Build Coastguard Worker
1777*d5c09012SAndroid Build Coastguard Worker    // The virtualziation type is PARAVIRTUAL.
1778*d5c09012SAndroid Build Coastguard Worker    PARAVIRTUAL = 2;
1779*d5c09012SAndroid Build Coastguard Worker  }
1780*d5c09012SAndroid Build Coastguard Worker
1781*d5c09012SAndroid Build Coastguard Worker  // Possible values for the architectures of the VM.
1782*d5c09012SAndroid Build Coastguard Worker  enum VmArchitecture {
1783*d5c09012SAndroid Build Coastguard Worker    // The architecture is unknown.
1784*d5c09012SAndroid Build Coastguard Worker    VM_ARCHITECTURE_UNSPECIFIED = 0;
1785*d5c09012SAndroid Build Coastguard Worker
1786*d5c09012SAndroid Build Coastguard Worker    // The architecture is I386.
1787*d5c09012SAndroid Build Coastguard Worker    I386 = 1;
1788*d5c09012SAndroid Build Coastguard Worker
1789*d5c09012SAndroid Build Coastguard Worker    // The architecture is X86_64.
1790*d5c09012SAndroid Build Coastguard Worker    X86_64 = 2;
1791*d5c09012SAndroid Build Coastguard Worker
1792*d5c09012SAndroid Build Coastguard Worker    // The architecture is ARM64.
1793*d5c09012SAndroid Build Coastguard Worker    ARM64 = 3;
1794*d5c09012SAndroid Build Coastguard Worker
1795*d5c09012SAndroid Build Coastguard Worker    // The architecture is X86_64_MAC.
1796*d5c09012SAndroid Build Coastguard Worker    X86_64_MAC = 4;
1797*d5c09012SAndroid Build Coastguard Worker  }
1798*d5c09012SAndroid Build Coastguard Worker
1799*d5c09012SAndroid Build Coastguard Worker  // The VM ID in AWS.
1800*d5c09012SAndroid Build Coastguard Worker  string vm_id = 1;
1801*d5c09012SAndroid Build Coastguard Worker
1802*d5c09012SAndroid Build Coastguard Worker  // The display name of the VM. Note that this value is not necessarily unique.
1803*d5c09012SAndroid Build Coastguard Worker  string display_name = 2;
1804*d5c09012SAndroid Build Coastguard Worker
1805*d5c09012SAndroid Build Coastguard Worker  // The id of the AWS's source this VM is connected to.
1806*d5c09012SAndroid Build Coastguard Worker  string source_id = 3;
1807*d5c09012SAndroid Build Coastguard Worker
1808*d5c09012SAndroid Build Coastguard Worker  // The descriptive name of the AWS's source this VM is connected to.
1809*d5c09012SAndroid Build Coastguard Worker  string source_description = 4;
1810*d5c09012SAndroid Build Coastguard Worker
1811*d5c09012SAndroid Build Coastguard Worker  // Output only. The power state of the VM at the moment list was taken.
1812*d5c09012SAndroid Build Coastguard Worker  PowerState power_state = 5 [(google.api.field_behavior) = OUTPUT_ONLY];
1813*d5c09012SAndroid Build Coastguard Worker
1814*d5c09012SAndroid Build Coastguard Worker  // The number of cpus the VM has.
1815*d5c09012SAndroid Build Coastguard Worker  int32 cpu_count = 6;
1816*d5c09012SAndroid Build Coastguard Worker
1817*d5c09012SAndroid Build Coastguard Worker  // The memory size of the VM in MB.
1818*d5c09012SAndroid Build Coastguard Worker  int32 memory_mb = 7;
1819*d5c09012SAndroid Build Coastguard Worker
1820*d5c09012SAndroid Build Coastguard Worker  // The number of disks the VM has.
1821*d5c09012SAndroid Build Coastguard Worker  int32 disk_count = 8;
1822*d5c09012SAndroid Build Coastguard Worker
1823*d5c09012SAndroid Build Coastguard Worker  // The total size of the storage allocated to the VM in MB.
1824*d5c09012SAndroid Build Coastguard Worker  int64 committed_storage_mb = 9;
1825*d5c09012SAndroid Build Coastguard Worker
1826*d5c09012SAndroid Build Coastguard Worker  // The VM's OS.
1827*d5c09012SAndroid Build Coastguard Worker  string os_description = 10;
1828*d5c09012SAndroid Build Coastguard Worker
1829*d5c09012SAndroid Build Coastguard Worker  // The VM Boot Option.
1830*d5c09012SAndroid Build Coastguard Worker  BootOption boot_option = 11;
1831*d5c09012SAndroid Build Coastguard Worker
1832*d5c09012SAndroid Build Coastguard Worker  // The instance type of the VM.
1833*d5c09012SAndroid Build Coastguard Worker  string instance_type = 12;
1834*d5c09012SAndroid Build Coastguard Worker
1835*d5c09012SAndroid Build Coastguard Worker  // The VPC ID the VM belongs to.
1836*d5c09012SAndroid Build Coastguard Worker  string vpc_id = 13;
1837*d5c09012SAndroid Build Coastguard Worker
1838*d5c09012SAndroid Build Coastguard Worker  // The security groups the VM belongs to.
1839*d5c09012SAndroid Build Coastguard Worker  repeated AwsSecurityGroup security_groups = 14;
1840*d5c09012SAndroid Build Coastguard Worker
1841*d5c09012SAndroid Build Coastguard Worker  // The tags of the VM.
1842*d5c09012SAndroid Build Coastguard Worker  map<string, string> tags = 15;
1843*d5c09012SAndroid Build Coastguard Worker
1844*d5c09012SAndroid Build Coastguard Worker  // The AWS zone of the VM.
1845*d5c09012SAndroid Build Coastguard Worker  string zone = 16;
1846*d5c09012SAndroid Build Coastguard Worker
1847*d5c09012SAndroid Build Coastguard Worker  // The virtualization type.
1848*d5c09012SAndroid Build Coastguard Worker  VmVirtualizationType virtualization_type = 17;
1849*d5c09012SAndroid Build Coastguard Worker
1850*d5c09012SAndroid Build Coastguard Worker  // The CPU architecture.
1851*d5c09012SAndroid Build Coastguard Worker  VmArchitecture architecture = 18;
1852*d5c09012SAndroid Build Coastguard Worker}
1853*d5c09012SAndroid Build Coastguard Worker
1854*d5c09012SAndroid Build Coastguard Worker// AwsSecurityGroup describes a security group of an AWS VM.
1855*d5c09012SAndroid Build Coastguard Workermessage AwsSecurityGroup {
1856*d5c09012SAndroid Build Coastguard Worker  // The AWS security group id.
1857*d5c09012SAndroid Build Coastguard Worker  string id = 1;
1858*d5c09012SAndroid Build Coastguard Worker
1859*d5c09012SAndroid Build Coastguard Worker  // The AWS security group name.
1860*d5c09012SAndroid Build Coastguard Worker  string name = 2;
1861*d5c09012SAndroid Build Coastguard Worker}
1862*d5c09012SAndroid Build Coastguard Worker
1863*d5c09012SAndroid Build Coastguard Worker// VmwareVmsDetails describes VMs in vCenter.
1864*d5c09012SAndroid Build Coastguard Workermessage VmwareVmsDetails {
1865*d5c09012SAndroid Build Coastguard Worker  // The details of the vmware VMs.
1866*d5c09012SAndroid Build Coastguard Worker  repeated VmwareVmDetails details = 1;
1867*d5c09012SAndroid Build Coastguard Worker}
1868*d5c09012SAndroid Build Coastguard Worker
1869*d5c09012SAndroid Build Coastguard Worker// AWSVmsDetails describes VMs in AWS.
1870*d5c09012SAndroid Build Coastguard Workermessage AwsVmsDetails {
1871*d5c09012SAndroid Build Coastguard Worker  // The details of the AWS VMs.
1872*d5c09012SAndroid Build Coastguard Worker  repeated AwsVmDetails details = 1;
1873*d5c09012SAndroid Build Coastguard Worker}
1874*d5c09012SAndroid Build Coastguard Worker
1875*d5c09012SAndroid Build Coastguard Worker// Response message for
1876*d5c09012SAndroid Build Coastguard Worker// [fetchInventory][google.cloud.vmmigration.v1.VmMigration.FetchInventory].
1877*d5c09012SAndroid Build Coastguard Workermessage FetchInventoryResponse {
1878*d5c09012SAndroid Build Coastguard Worker  oneof SourceVms {
1879*d5c09012SAndroid Build Coastguard Worker    // The description of the VMs in a Source of type Vmware.
1880*d5c09012SAndroid Build Coastguard Worker    VmwareVmsDetails vmware_vms = 1;
1881*d5c09012SAndroid Build Coastguard Worker
1882*d5c09012SAndroid Build Coastguard Worker    // The description of the VMs in a Source of type AWS.
1883*d5c09012SAndroid Build Coastguard Worker    AwsVmsDetails aws_vms = 3;
1884*d5c09012SAndroid Build Coastguard Worker  }
1885*d5c09012SAndroid Build Coastguard Worker
1886*d5c09012SAndroid Build Coastguard Worker  // Output only. The timestamp when the source was last queried (if the result
1887*d5c09012SAndroid Build Coastguard Worker  // is from the cache).
1888*d5c09012SAndroid Build Coastguard Worker  google.protobuf.Timestamp update_time = 2
1889*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OUTPUT_ONLY];
1890*d5c09012SAndroid Build Coastguard Worker}
1891*d5c09012SAndroid Build Coastguard Worker
1892*d5c09012SAndroid Build Coastguard Worker// Utilization report details the utilization (CPU, memory, etc.) of selected
1893*d5c09012SAndroid Build Coastguard Worker// source VMs.
1894*d5c09012SAndroid Build Coastguard Workermessage UtilizationReport {
1895*d5c09012SAndroid Build Coastguard Worker  option (google.api.resource) = {
1896*d5c09012SAndroid Build Coastguard Worker    type: "vmmigration.googleapis.com/UtilizationReport"
1897*d5c09012SAndroid Build Coastguard Worker    pattern: "projects/{project}/locations/{location}/sources/{source}/utilizationReports/{utilization_report}"
1898*d5c09012SAndroid Build Coastguard Worker  };
1899*d5c09012SAndroid Build Coastguard Worker
1900*d5c09012SAndroid Build Coastguard Worker  // Utilization report state.
1901*d5c09012SAndroid Build Coastguard Worker  enum State {
1902*d5c09012SAndroid Build Coastguard Worker    // The state is unknown. This value is not in use.
1903*d5c09012SAndroid Build Coastguard Worker    STATE_UNSPECIFIED = 0;
1904*d5c09012SAndroid Build Coastguard Worker
1905*d5c09012SAndroid Build Coastguard Worker    // The report is in the making.
1906*d5c09012SAndroid Build Coastguard Worker    CREATING = 1;
1907*d5c09012SAndroid Build Coastguard Worker
1908*d5c09012SAndroid Build Coastguard Worker    // Report creation completed successfully.
1909*d5c09012SAndroid Build Coastguard Worker    SUCCEEDED = 2;
1910*d5c09012SAndroid Build Coastguard Worker
1911*d5c09012SAndroid Build Coastguard Worker    // Report creation failed.
1912*d5c09012SAndroid Build Coastguard Worker    FAILED = 3;
1913*d5c09012SAndroid Build Coastguard Worker  }
1914*d5c09012SAndroid Build Coastguard Worker
1915*d5c09012SAndroid Build Coastguard Worker  // Report time frame options.
1916*d5c09012SAndroid Build Coastguard Worker  enum TimeFrame {
1917*d5c09012SAndroid Build Coastguard Worker    // The time frame was not specified and will default to WEEK.
1918*d5c09012SAndroid Build Coastguard Worker    TIME_FRAME_UNSPECIFIED = 0;
1919*d5c09012SAndroid Build Coastguard Worker
1920*d5c09012SAndroid Build Coastguard Worker    // One week.
1921*d5c09012SAndroid Build Coastguard Worker    WEEK = 1;
1922*d5c09012SAndroid Build Coastguard Worker
1923*d5c09012SAndroid Build Coastguard Worker    // One month.
1924*d5c09012SAndroid Build Coastguard Worker    MONTH = 2;
1925*d5c09012SAndroid Build Coastguard Worker
1926*d5c09012SAndroid Build Coastguard Worker    // One year.
1927*d5c09012SAndroid Build Coastguard Worker    YEAR = 3;
1928*d5c09012SAndroid Build Coastguard Worker  }
1929*d5c09012SAndroid Build Coastguard Worker
1930*d5c09012SAndroid Build Coastguard Worker  // Output only. The report unique name.
1931*d5c09012SAndroid Build Coastguard Worker  string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
1932*d5c09012SAndroid Build Coastguard Worker
1933*d5c09012SAndroid Build Coastguard Worker  // The report display name, as assigned by the user.
1934*d5c09012SAndroid Build Coastguard Worker  string display_name = 2;
1935*d5c09012SAndroid Build Coastguard Worker
1936*d5c09012SAndroid Build Coastguard Worker  // Output only. Current state of the report.
1937*d5c09012SAndroid Build Coastguard Worker  State state = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
1938*d5c09012SAndroid Build Coastguard Worker
1939*d5c09012SAndroid Build Coastguard Worker  // Output only. The time the state was last set.
1940*d5c09012SAndroid Build Coastguard Worker  google.protobuf.Timestamp state_time = 4
1941*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OUTPUT_ONLY];
1942*d5c09012SAndroid Build Coastguard Worker
1943*d5c09012SAndroid Build Coastguard Worker  // Output only. Provides details on the state of the report in case of an
1944*d5c09012SAndroid Build Coastguard Worker  // error.
1945*d5c09012SAndroid Build Coastguard Worker  google.rpc.Status error = 5 [(google.api.field_behavior) = OUTPUT_ONLY];
1946*d5c09012SAndroid Build Coastguard Worker
1947*d5c09012SAndroid Build Coastguard Worker  // Output only. The time the report was created (this refers to the time of
1948*d5c09012SAndroid Build Coastguard Worker  // the request, not the time the report creation completed).
1949*d5c09012SAndroid Build Coastguard Worker  google.protobuf.Timestamp create_time = 6
1950*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OUTPUT_ONLY];
1951*d5c09012SAndroid Build Coastguard Worker
1952*d5c09012SAndroid Build Coastguard Worker  // Time frame of the report.
1953*d5c09012SAndroid Build Coastguard Worker  TimeFrame time_frame = 7;
1954*d5c09012SAndroid Build Coastguard Worker
1955*d5c09012SAndroid Build Coastguard Worker  // Output only. The point in time when the time frame ends. Notice that the
1956*d5c09012SAndroid Build Coastguard Worker  // time frame is counted backwards. For instance if the "frame_end_time" value
1957*d5c09012SAndroid Build Coastguard Worker  // is 2021/01/20 and the time frame is WEEK then the report covers the week
1958*d5c09012SAndroid Build Coastguard Worker  // between 2021/01/20 and 2021/01/14.
1959*d5c09012SAndroid Build Coastguard Worker  google.protobuf.Timestamp frame_end_time = 8
1960*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OUTPUT_ONLY];
1961*d5c09012SAndroid Build Coastguard Worker
1962*d5c09012SAndroid Build Coastguard Worker  // Output only. Total number of VMs included in the report.
1963*d5c09012SAndroid Build Coastguard Worker  int32 vm_count = 9 [(google.api.field_behavior) = OUTPUT_ONLY];
1964*d5c09012SAndroid Build Coastguard Worker
1965*d5c09012SAndroid Build Coastguard Worker  // List of utilization information per VM.
1966*d5c09012SAndroid Build Coastguard Worker  // When sent as part of the request, the "vm_id" field is used in order to
1967*d5c09012SAndroid Build Coastguard Worker  // specify which VMs to include in the report. In that case all other fields
1968*d5c09012SAndroid Build Coastguard Worker  // are ignored.
1969*d5c09012SAndroid Build Coastguard Worker  repeated VmUtilizationInfo vms = 10;
1970*d5c09012SAndroid Build Coastguard Worker}
1971*d5c09012SAndroid Build Coastguard Worker
1972*d5c09012SAndroid Build Coastguard Worker// Utilization information of a single VM.
1973*d5c09012SAndroid Build Coastguard Workermessage VmUtilizationInfo {
1974*d5c09012SAndroid Build Coastguard Worker  oneof VmDetails {
1975*d5c09012SAndroid Build Coastguard Worker    // The description of the VM in a Source of type Vmware.
1976*d5c09012SAndroid Build Coastguard Worker    VmwareVmDetails vmware_vm_details = 1;
1977*d5c09012SAndroid Build Coastguard Worker  }
1978*d5c09012SAndroid Build Coastguard Worker
1979*d5c09012SAndroid Build Coastguard Worker  // The VM's ID in the source.
1980*d5c09012SAndroid Build Coastguard Worker  string vm_id = 3;
1981*d5c09012SAndroid Build Coastguard Worker
1982*d5c09012SAndroid Build Coastguard Worker  // Utilization metrics for this VM.
1983*d5c09012SAndroid Build Coastguard Worker  VmUtilizationMetrics utilization = 2;
1984*d5c09012SAndroid Build Coastguard Worker}
1985*d5c09012SAndroid Build Coastguard Worker
1986*d5c09012SAndroid Build Coastguard Worker// Utilization metrics values for a single VM.
1987*d5c09012SAndroid Build Coastguard Workermessage VmUtilizationMetrics {
1988*d5c09012SAndroid Build Coastguard Worker  // Max CPU usage, percent.
1989*d5c09012SAndroid Build Coastguard Worker  int32 cpu_max_percent = 9;
1990*d5c09012SAndroid Build Coastguard Worker
1991*d5c09012SAndroid Build Coastguard Worker  // Average CPU usage, percent.
1992*d5c09012SAndroid Build Coastguard Worker  int32 cpu_average_percent = 10;
1993*d5c09012SAndroid Build Coastguard Worker
1994*d5c09012SAndroid Build Coastguard Worker  // Max memory usage, percent.
1995*d5c09012SAndroid Build Coastguard Worker  int32 memory_max_percent = 11;
1996*d5c09012SAndroid Build Coastguard Worker
1997*d5c09012SAndroid Build Coastguard Worker  // Average memory usage, percent.
1998*d5c09012SAndroid Build Coastguard Worker  int32 memory_average_percent = 12;
1999*d5c09012SAndroid Build Coastguard Worker
2000*d5c09012SAndroid Build Coastguard Worker  // Max disk IO rate, in kilobytes per second.
2001*d5c09012SAndroid Build Coastguard Worker  int64 disk_io_rate_max_kbps = 13;
2002*d5c09012SAndroid Build Coastguard Worker
2003*d5c09012SAndroid Build Coastguard Worker  // Average disk IO rate, in kilobytes per second.
2004*d5c09012SAndroid Build Coastguard Worker  int64 disk_io_rate_average_kbps = 14;
2005*d5c09012SAndroid Build Coastguard Worker
2006*d5c09012SAndroid Build Coastguard Worker  // Max network throughput (combined transmit-rates and receive-rates), in
2007*d5c09012SAndroid Build Coastguard Worker  // kilobytes per second.
2008*d5c09012SAndroid Build Coastguard Worker  int64 network_throughput_max_kbps = 15;
2009*d5c09012SAndroid Build Coastguard Worker
2010*d5c09012SAndroid Build Coastguard Worker  // Average network throughput (combined transmit-rates and receive-rates), in
2011*d5c09012SAndroid Build Coastguard Worker  // kilobytes per second.
2012*d5c09012SAndroid Build Coastguard Worker  int64 network_throughput_average_kbps = 16;
2013*d5c09012SAndroid Build Coastguard Worker}
2014*d5c09012SAndroid Build Coastguard Worker
2015*d5c09012SAndroid Build Coastguard Worker// Request message for 'ListUtilizationReports' request.
2016*d5c09012SAndroid Build Coastguard Workermessage ListUtilizationReportsRequest {
2017*d5c09012SAndroid Build Coastguard Worker  // Required. The Utilization Reports parent.
2018*d5c09012SAndroid Build Coastguard Worker  string parent = 1 [
2019*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
2020*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
2021*d5c09012SAndroid Build Coastguard Worker      child_type: "vmmigration.googleapis.com/UtilizationReport"
2022*d5c09012SAndroid Build Coastguard Worker    }
2023*d5c09012SAndroid Build Coastguard Worker  ];
2024*d5c09012SAndroid Build Coastguard Worker
2025*d5c09012SAndroid Build Coastguard Worker  // Optional. The level of details of each report.
2026*d5c09012SAndroid Build Coastguard Worker  // Defaults to BASIC.
2027*d5c09012SAndroid Build Coastguard Worker  UtilizationReportView view = 2 [(google.api.field_behavior) = OPTIONAL];
2028*d5c09012SAndroid Build Coastguard Worker
2029*d5c09012SAndroid Build Coastguard Worker  // Optional. The maximum number of reports to return. The service may return
2030*d5c09012SAndroid Build Coastguard Worker  // fewer than this value. If unspecified, at most 500 reports will be
2031*d5c09012SAndroid Build Coastguard Worker  // returned. The maximum value is 1000; values above 1000 will be coerced to
2032*d5c09012SAndroid Build Coastguard Worker  // 1000.
2033*d5c09012SAndroid Build Coastguard Worker  int32 page_size = 3 [(google.api.field_behavior) = OPTIONAL];
2034*d5c09012SAndroid Build Coastguard Worker
2035*d5c09012SAndroid Build Coastguard Worker  // Required. A page token, received from a previous `ListUtilizationReports`
2036*d5c09012SAndroid Build Coastguard Worker  // call. Provide this to retrieve the subsequent page.
2037*d5c09012SAndroid Build Coastguard Worker  //
2038*d5c09012SAndroid Build Coastguard Worker  // When paginating, all other parameters provided to `ListUtilizationReports`
2039*d5c09012SAndroid Build Coastguard Worker  // must match the call that provided the page token.
2040*d5c09012SAndroid Build Coastguard Worker  string page_token = 4 [(google.api.field_behavior) = REQUIRED];
2041*d5c09012SAndroid Build Coastguard Worker
2042*d5c09012SAndroid Build Coastguard Worker  // Optional. The filter request.
2043*d5c09012SAndroid Build Coastguard Worker  string filter = 5 [(google.api.field_behavior) = OPTIONAL];
2044*d5c09012SAndroid Build Coastguard Worker
2045*d5c09012SAndroid Build Coastguard Worker  // Optional. the order by fields for the result.
2046*d5c09012SAndroid Build Coastguard Worker  string order_by = 6 [(google.api.field_behavior) = OPTIONAL];
2047*d5c09012SAndroid Build Coastguard Worker}
2048*d5c09012SAndroid Build Coastguard Worker
2049*d5c09012SAndroid Build Coastguard Worker// Response message for 'ListUtilizationReports' request.
2050*d5c09012SAndroid Build Coastguard Workermessage ListUtilizationReportsResponse {
2051*d5c09012SAndroid Build Coastguard Worker  // Output only. The list of reports.
2052*d5c09012SAndroid Build Coastguard Worker  repeated UtilizationReport utilization_reports = 1
2053*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OUTPUT_ONLY];
2054*d5c09012SAndroid Build Coastguard Worker
2055*d5c09012SAndroid Build Coastguard Worker  // Output only. A token, which can be sent as `page_token` to retrieve the
2056*d5c09012SAndroid Build Coastguard Worker  // next page. If this field is omitted, there are no subsequent pages.
2057*d5c09012SAndroid Build Coastguard Worker  string next_page_token = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
2058*d5c09012SAndroid Build Coastguard Worker
2059*d5c09012SAndroid Build Coastguard Worker  // Output only. Locations that could not be reached.
2060*d5c09012SAndroid Build Coastguard Worker  repeated string unreachable = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
2061*d5c09012SAndroid Build Coastguard Worker}
2062*d5c09012SAndroid Build Coastguard Worker
2063*d5c09012SAndroid Build Coastguard Worker// Request message for 'GetUtilizationReport' request.
2064*d5c09012SAndroid Build Coastguard Workermessage GetUtilizationReportRequest {
2065*d5c09012SAndroid Build Coastguard Worker  // Required. The Utilization Report name.
2066*d5c09012SAndroid Build Coastguard Worker  string name = 1 [
2067*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
2068*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
2069*d5c09012SAndroid Build Coastguard Worker      type: "vmmigration.googleapis.com/UtilizationReport"
2070*d5c09012SAndroid Build Coastguard Worker    }
2071*d5c09012SAndroid Build Coastguard Worker  ];
2072*d5c09012SAndroid Build Coastguard Worker
2073*d5c09012SAndroid Build Coastguard Worker  // Optional. The level of details of the report.
2074*d5c09012SAndroid Build Coastguard Worker  // Defaults to FULL
2075*d5c09012SAndroid Build Coastguard Worker  UtilizationReportView view = 2 [(google.api.field_behavior) = OPTIONAL];
2076*d5c09012SAndroid Build Coastguard Worker}
2077*d5c09012SAndroid Build Coastguard Worker
2078*d5c09012SAndroid Build Coastguard Worker// Request message for 'CreateUtilizationReport' request.
2079*d5c09012SAndroid Build Coastguard Workermessage CreateUtilizationReportRequest {
2080*d5c09012SAndroid Build Coastguard Worker  // Required. The Utilization Report's parent.
2081*d5c09012SAndroid Build Coastguard Worker  string parent = 1 [
2082*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
2083*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
2084*d5c09012SAndroid Build Coastguard Worker      child_type: "vmmigration.googleapis.com/UtilizationReport"
2085*d5c09012SAndroid Build Coastguard Worker    }
2086*d5c09012SAndroid Build Coastguard Worker  ];
2087*d5c09012SAndroid Build Coastguard Worker
2088*d5c09012SAndroid Build Coastguard Worker  // Required. The report to create.
2089*d5c09012SAndroid Build Coastguard Worker  UtilizationReport utilization_report = 2
2090*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = REQUIRED];
2091*d5c09012SAndroid Build Coastguard Worker
2092*d5c09012SAndroid Build Coastguard Worker  // Required. The ID to use for the report, which will become the final
2093*d5c09012SAndroid Build Coastguard Worker  // component of the reports's resource name.
2094*d5c09012SAndroid Build Coastguard Worker  //
2095*d5c09012SAndroid Build Coastguard Worker  // This value maximum length is 63 characters, and valid characters
2096*d5c09012SAndroid Build Coastguard Worker  // are /[a-z][0-9]-/. It must start with an english letter and must not
2097*d5c09012SAndroid Build Coastguard Worker  // end with a hyphen.
2098*d5c09012SAndroid Build Coastguard Worker  string utilization_report_id = 3 [(google.api.field_behavior) = REQUIRED];
2099*d5c09012SAndroid Build Coastguard Worker
2100*d5c09012SAndroid Build Coastguard Worker  // A request ID to identify requests. Specify a unique request ID
2101*d5c09012SAndroid Build Coastguard Worker  // so that if you must retry your request, the server will know to ignore
2102*d5c09012SAndroid Build Coastguard Worker  // the request if it has already been completed. The server will guarantee
2103*d5c09012SAndroid Build Coastguard Worker  // that for at least 60 minutes since the first request.
2104*d5c09012SAndroid Build Coastguard Worker  //
2105*d5c09012SAndroid Build Coastguard Worker  // For example, consider a situation where you make an initial request and t
2106*d5c09012SAndroid Build Coastguard Worker  // he request times out. If you make the request again with the same request
2107*d5c09012SAndroid Build Coastguard Worker  // ID, the server can check if original operation with the same request ID
2108*d5c09012SAndroid Build Coastguard Worker  // was received, and if so, will ignore the second request. This prevents
2109*d5c09012SAndroid Build Coastguard Worker  // clients from accidentally creating duplicate commitments.
2110*d5c09012SAndroid Build Coastguard Worker  //
2111*d5c09012SAndroid Build Coastguard Worker  // The request ID must be a valid UUID with the exception that zero UUID is
2112*d5c09012SAndroid Build Coastguard Worker  // not supported (00000000-0000-0000-0000-000000000000).
2113*d5c09012SAndroid Build Coastguard Worker  string request_id = 4;
2114*d5c09012SAndroid Build Coastguard Worker}
2115*d5c09012SAndroid Build Coastguard Worker
2116*d5c09012SAndroid Build Coastguard Worker// Request message for 'DeleteUtilizationReport' request.
2117*d5c09012SAndroid Build Coastguard Workermessage DeleteUtilizationReportRequest {
2118*d5c09012SAndroid Build Coastguard Worker  // Required. The Utilization Report name.
2119*d5c09012SAndroid Build Coastguard Worker  string name = 1 [
2120*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
2121*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
2122*d5c09012SAndroid Build Coastguard Worker      type: "vmmigration.googleapis.com/UtilizationReport"
2123*d5c09012SAndroid Build Coastguard Worker    }
2124*d5c09012SAndroid Build Coastguard Worker  ];
2125*d5c09012SAndroid Build Coastguard Worker
2126*d5c09012SAndroid Build Coastguard Worker  // Optional. A request ID to identify requests. Specify a unique request ID
2127*d5c09012SAndroid Build Coastguard Worker  // so that if you must retry your request, the server will know to ignore
2128*d5c09012SAndroid Build Coastguard Worker  // the request if it has already been completed. The server will guarantee
2129*d5c09012SAndroid Build Coastguard Worker  // that for at least 60 minutes after the first request.
2130*d5c09012SAndroid Build Coastguard Worker  //
2131*d5c09012SAndroid Build Coastguard Worker  // For example, consider a situation where you make an initial request and t
2132*d5c09012SAndroid Build Coastguard Worker  // he request times out. If you make the request again with the same request
2133*d5c09012SAndroid Build Coastguard Worker  // ID, the server can check if original operation with the same request ID
2134*d5c09012SAndroid Build Coastguard Worker  // was received, and if so, will ignore the second request. This prevents
2135*d5c09012SAndroid Build Coastguard Worker  // clients from accidentally creating duplicate commitments.
2136*d5c09012SAndroid Build Coastguard Worker  //
2137*d5c09012SAndroid Build Coastguard Worker  // The request ID must be a valid UUID with the exception that zero UUID is
2138*d5c09012SAndroid Build Coastguard Worker  // not supported (00000000-0000-0000-0000-000000000000).
2139*d5c09012SAndroid Build Coastguard Worker  string request_id = 2 [(google.api.field_behavior) = OPTIONAL];
2140*d5c09012SAndroid Build Coastguard Worker}
2141*d5c09012SAndroid Build Coastguard Worker
2142*d5c09012SAndroid Build Coastguard Worker// Response message for 'ListDatacenterConnectors' request.
2143*d5c09012SAndroid Build Coastguard Workermessage ListDatacenterConnectorsResponse {
2144*d5c09012SAndroid Build Coastguard Worker  // Output only. The list of sources response.
2145*d5c09012SAndroid Build Coastguard Worker  repeated DatacenterConnector datacenter_connectors = 1
2146*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OUTPUT_ONLY];
2147*d5c09012SAndroid Build Coastguard Worker
2148*d5c09012SAndroid Build Coastguard Worker  // Output only. A token, which can be sent as `page_token` to retrieve the
2149*d5c09012SAndroid Build Coastguard Worker  // next page. If this field is omitted, there are no subsequent pages.
2150*d5c09012SAndroid Build Coastguard Worker  string next_page_token = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
2151*d5c09012SAndroid Build Coastguard Worker
2152*d5c09012SAndroid Build Coastguard Worker  // Output only. Locations that could not be reached.
2153*d5c09012SAndroid Build Coastguard Worker  repeated string unreachable = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
2154*d5c09012SAndroid Build Coastguard Worker}
2155*d5c09012SAndroid Build Coastguard Worker
2156*d5c09012SAndroid Build Coastguard Worker// Request message for 'GetDatacenterConnector' request.
2157*d5c09012SAndroid Build Coastguard Workermessage GetDatacenterConnectorRequest {
2158*d5c09012SAndroid Build Coastguard Worker  // Required. The name of the DatacenterConnector.
2159*d5c09012SAndroid Build Coastguard Worker  string name = 1 [
2160*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
2161*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
2162*d5c09012SAndroid Build Coastguard Worker      type: "vmmigration.googleapis.com/DatacenterConnector"
2163*d5c09012SAndroid Build Coastguard Worker    }
2164*d5c09012SAndroid Build Coastguard Worker  ];
2165*d5c09012SAndroid Build Coastguard Worker}
2166*d5c09012SAndroid Build Coastguard Worker
2167*d5c09012SAndroid Build Coastguard Worker// Request message for 'CreateDatacenterConnector' request.
2168*d5c09012SAndroid Build Coastguard Workermessage CreateDatacenterConnectorRequest {
2169*d5c09012SAndroid Build Coastguard Worker  // Required. The DatacenterConnector's parent.
2170*d5c09012SAndroid Build Coastguard Worker  // Required. The Source in where the new DatacenterConnector will be created.
2171*d5c09012SAndroid Build Coastguard Worker  // For example:
2172*d5c09012SAndroid Build Coastguard Worker  // `projects/my-project/locations/us-central1/sources/my-source`
2173*d5c09012SAndroid Build Coastguard Worker  string parent = 1 [
2174*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
2175*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
2176*d5c09012SAndroid Build Coastguard Worker      child_type: "vmmigration.googleapis.com/DatacenterConnector"
2177*d5c09012SAndroid Build Coastguard Worker    }
2178*d5c09012SAndroid Build Coastguard Worker  ];
2179*d5c09012SAndroid Build Coastguard Worker
2180*d5c09012SAndroid Build Coastguard Worker  // Required. The datacenterConnector identifier.
2181*d5c09012SAndroid Build Coastguard Worker  string datacenter_connector_id = 2 [(google.api.field_behavior) = REQUIRED];
2182*d5c09012SAndroid Build Coastguard Worker
2183*d5c09012SAndroid Build Coastguard Worker  // Required. The create request body.
2184*d5c09012SAndroid Build Coastguard Worker  DatacenterConnector datacenter_connector = 3
2185*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = REQUIRED];
2186*d5c09012SAndroid Build Coastguard Worker
2187*d5c09012SAndroid Build Coastguard Worker  // A request ID to identify requests. Specify a unique request ID
2188*d5c09012SAndroid Build Coastguard Worker  // so that if you must retry your request, the server will know to ignore
2189*d5c09012SAndroid Build Coastguard Worker  // the request if it has already been completed. The server will guarantee
2190*d5c09012SAndroid Build Coastguard Worker  // that for at least 60 minutes since the first request.
2191*d5c09012SAndroid Build Coastguard Worker  //
2192*d5c09012SAndroid Build Coastguard Worker  // For example, consider a situation where you make an initial request and t
2193*d5c09012SAndroid Build Coastguard Worker  // he request times out. If you make the request again with the same request
2194*d5c09012SAndroid Build Coastguard Worker  // ID, the server can check if original operation with the same request ID
2195*d5c09012SAndroid Build Coastguard Worker  // was received, and if so, will ignore the second request. This prevents
2196*d5c09012SAndroid Build Coastguard Worker  // clients from accidentally creating duplicate commitments.
2197*d5c09012SAndroid Build Coastguard Worker  //
2198*d5c09012SAndroid Build Coastguard Worker  // The request ID must be a valid UUID with the exception that zero UUID is
2199*d5c09012SAndroid Build Coastguard Worker  // not supported (00000000-0000-0000-0000-000000000000).
2200*d5c09012SAndroid Build Coastguard Worker  string request_id = 4;
2201*d5c09012SAndroid Build Coastguard Worker}
2202*d5c09012SAndroid Build Coastguard Worker
2203*d5c09012SAndroid Build Coastguard Worker// Request message for 'DeleteDatacenterConnector' request.
2204*d5c09012SAndroid Build Coastguard Workermessage DeleteDatacenterConnectorRequest {
2205*d5c09012SAndroid Build Coastguard Worker  // Required. The DatacenterConnector name.
2206*d5c09012SAndroid Build Coastguard Worker  string name = 1 [
2207*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
2208*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
2209*d5c09012SAndroid Build Coastguard Worker      type: "vmmigration.googleapis.com/DatacenterConnector"
2210*d5c09012SAndroid Build Coastguard Worker    }
2211*d5c09012SAndroid Build Coastguard Worker  ];
2212*d5c09012SAndroid Build Coastguard Worker
2213*d5c09012SAndroid Build Coastguard Worker  // A request ID to identify requests. Specify a unique request ID
2214*d5c09012SAndroid Build Coastguard Worker  // so that if you must retry your request, the server will know to ignore
2215*d5c09012SAndroid Build Coastguard Worker  // the request if it has already been completed. The server will guarantee
2216*d5c09012SAndroid Build Coastguard Worker  // that for at least 60 minutes after the first request.
2217*d5c09012SAndroid Build Coastguard Worker  //
2218*d5c09012SAndroid Build Coastguard Worker  // For example, consider a situation where you make an initial request and t
2219*d5c09012SAndroid Build Coastguard Worker  // he request times out. If you make the request again with the same request
2220*d5c09012SAndroid Build Coastguard Worker  // ID, the server can check if original operation with the same request ID
2221*d5c09012SAndroid Build Coastguard Worker  // was received, and if so, will ignore the second request. This prevents
2222*d5c09012SAndroid Build Coastguard Worker  // clients from accidentally creating duplicate commitments.
2223*d5c09012SAndroid Build Coastguard Worker  //
2224*d5c09012SAndroid Build Coastguard Worker  // The request ID must be a valid UUID with the exception that zero UUID is
2225*d5c09012SAndroid Build Coastguard Worker  // not supported (00000000-0000-0000-0000-000000000000).
2226*d5c09012SAndroid Build Coastguard Worker  string request_id = 2;
2227*d5c09012SAndroid Build Coastguard Worker}
2228*d5c09012SAndroid Build Coastguard Worker
2229*d5c09012SAndroid Build Coastguard Worker// Request message for 'UpgradeAppliance' request.
2230*d5c09012SAndroid Build Coastguard Workermessage UpgradeApplianceRequest {
2231*d5c09012SAndroid Build Coastguard Worker  // Required. The DatacenterConnector name.
2232*d5c09012SAndroid Build Coastguard Worker  string datacenter_connector = 1 [
2233*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
2234*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
2235*d5c09012SAndroid Build Coastguard Worker      type: "vmmigration.googleapis.com/DatacenterConnector"
2236*d5c09012SAndroid Build Coastguard Worker    }
2237*d5c09012SAndroid Build Coastguard Worker  ];
2238*d5c09012SAndroid Build Coastguard Worker
2239*d5c09012SAndroid Build Coastguard Worker  // A request ID to identify requests. Specify a unique request ID
2240*d5c09012SAndroid Build Coastguard Worker  // so that if you must retry your request, the server will know to ignore
2241*d5c09012SAndroid Build Coastguard Worker  // the request if it has already been completed. The server will guarantee
2242*d5c09012SAndroid Build Coastguard Worker  // that for at least 60 minutes after the first request.
2243*d5c09012SAndroid Build Coastguard Worker  //
2244*d5c09012SAndroid Build Coastguard Worker  // For example, consider a situation where you make an initial request and t
2245*d5c09012SAndroid Build Coastguard Worker  // he request times out. If you make the request again with the same request
2246*d5c09012SAndroid Build Coastguard Worker  // ID, the server can check if original operation with the same request ID
2247*d5c09012SAndroid Build Coastguard Worker  // was received, and if so, will ignore the second request. This prevents
2248*d5c09012SAndroid Build Coastguard Worker  // clients from accidentally creating duplicate commitments.
2249*d5c09012SAndroid Build Coastguard Worker  //
2250*d5c09012SAndroid Build Coastguard Worker  // The request ID must be a valid UUID with the exception that zero UUID is
2251*d5c09012SAndroid Build Coastguard Worker  // not supported (00000000-0000-0000-0000-000000000000).
2252*d5c09012SAndroid Build Coastguard Worker  string request_id = 2;
2253*d5c09012SAndroid Build Coastguard Worker}
2254*d5c09012SAndroid Build Coastguard Worker
2255*d5c09012SAndroid Build Coastguard Worker// Response message for 'UpgradeAppliance' request.
2256*d5c09012SAndroid Build Coastguard Workermessage UpgradeApplianceResponse {}
2257*d5c09012SAndroid Build Coastguard Worker
2258*d5c09012SAndroid Build Coastguard Worker// Request message for 'ListDatacenterConnectors' request.
2259*d5c09012SAndroid Build Coastguard Workermessage ListDatacenterConnectorsRequest {
2260*d5c09012SAndroid Build Coastguard Worker  // Required. The parent, which owns this collection of connectors.
2261*d5c09012SAndroid Build Coastguard Worker  string parent = 1 [
2262*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
2263*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
2264*d5c09012SAndroid Build Coastguard Worker      child_type: "vmmigration.googleapis.com/DatacenterConnector"
2265*d5c09012SAndroid Build Coastguard Worker    }
2266*d5c09012SAndroid Build Coastguard Worker  ];
2267*d5c09012SAndroid Build Coastguard Worker
2268*d5c09012SAndroid Build Coastguard Worker  // Optional. The maximum number of connectors to return. The service may
2269*d5c09012SAndroid Build Coastguard Worker  // return fewer than this value. If unspecified, at most 500 sources will be
2270*d5c09012SAndroid Build Coastguard Worker  // returned. The maximum value is 1000; values above 1000 will be coerced to
2271*d5c09012SAndroid Build Coastguard Worker  // 1000.
2272*d5c09012SAndroid Build Coastguard Worker  int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
2273*d5c09012SAndroid Build Coastguard Worker
2274*d5c09012SAndroid Build Coastguard Worker  // Required. A page token, received from a previous `ListDatacenterConnectors`
2275*d5c09012SAndroid Build Coastguard Worker  // call. Provide this to retrieve the subsequent page.
2276*d5c09012SAndroid Build Coastguard Worker  //
2277*d5c09012SAndroid Build Coastguard Worker  // When paginating, all other parameters provided to
2278*d5c09012SAndroid Build Coastguard Worker  // `ListDatacenterConnectors` must match the call that provided the page
2279*d5c09012SAndroid Build Coastguard Worker  // token.
2280*d5c09012SAndroid Build Coastguard Worker  string page_token = 3 [(google.api.field_behavior) = REQUIRED];
2281*d5c09012SAndroid Build Coastguard Worker
2282*d5c09012SAndroid Build Coastguard Worker  // Optional. The filter request.
2283*d5c09012SAndroid Build Coastguard Worker  string filter = 4 [(google.api.field_behavior) = OPTIONAL];
2284*d5c09012SAndroid Build Coastguard Worker
2285*d5c09012SAndroid Build Coastguard Worker  // Optional. the order by fields for the result.
2286*d5c09012SAndroid Build Coastguard Worker  string order_by = 5 [(google.api.field_behavior) = OPTIONAL];
2287*d5c09012SAndroid Build Coastguard Worker}
2288*d5c09012SAndroid Build Coastguard Worker
2289*d5c09012SAndroid Build Coastguard Worker// ComputeEngineTargetDefaults is a collection of details for creating a VM in a
2290*d5c09012SAndroid Build Coastguard Worker// target Compute Engine project.
2291*d5c09012SAndroid Build Coastguard Workermessage ComputeEngineTargetDefaults {
2292*d5c09012SAndroid Build Coastguard Worker  // The name of the VM to create.
2293*d5c09012SAndroid Build Coastguard Worker  string vm_name = 1;
2294*d5c09012SAndroid Build Coastguard Worker
2295*d5c09012SAndroid Build Coastguard Worker  // The full path of the resource of type TargetProject which represents the
2296*d5c09012SAndroid Build Coastguard Worker  // Compute Engine project in which to create this VM.
2297*d5c09012SAndroid Build Coastguard Worker  string target_project = 2 [(google.api.resource_reference) = {
2298*d5c09012SAndroid Build Coastguard Worker    type: "vmmigration.googleapis.com/TargetProject"
2299*d5c09012SAndroid Build Coastguard Worker  }];
2300*d5c09012SAndroid Build Coastguard Worker
2301*d5c09012SAndroid Build Coastguard Worker  // The zone in which to create the VM.
2302*d5c09012SAndroid Build Coastguard Worker  string zone = 3;
2303*d5c09012SAndroid Build Coastguard Worker
2304*d5c09012SAndroid Build Coastguard Worker  // The machine type series to create the VM with.
2305*d5c09012SAndroid Build Coastguard Worker  string machine_type_series = 4;
2306*d5c09012SAndroid Build Coastguard Worker
2307*d5c09012SAndroid Build Coastguard Worker  // The machine type to create the VM with.
2308*d5c09012SAndroid Build Coastguard Worker  string machine_type = 5;
2309*d5c09012SAndroid Build Coastguard Worker
2310*d5c09012SAndroid Build Coastguard Worker  // A map of network tags to associate with the VM.
2311*d5c09012SAndroid Build Coastguard Worker  repeated string network_tags = 6;
2312*d5c09012SAndroid Build Coastguard Worker
2313*d5c09012SAndroid Build Coastguard Worker  // List of NICs connected to this VM.
2314*d5c09012SAndroid Build Coastguard Worker  repeated NetworkInterface network_interfaces = 7;
2315*d5c09012SAndroid Build Coastguard Worker
2316*d5c09012SAndroid Build Coastguard Worker  // The service account to associate the VM with.
2317*d5c09012SAndroid Build Coastguard Worker  string service_account = 8;
2318*d5c09012SAndroid Build Coastguard Worker
2319*d5c09012SAndroid Build Coastguard Worker  // The disk type to use in the VM.
2320*d5c09012SAndroid Build Coastguard Worker  ComputeEngineDiskType disk_type = 9;
2321*d5c09012SAndroid Build Coastguard Worker
2322*d5c09012SAndroid Build Coastguard Worker  // A map of labels to associate with the VM.
2323*d5c09012SAndroid Build Coastguard Worker  map<string, string> labels = 10;
2324*d5c09012SAndroid Build Coastguard Worker
2325*d5c09012SAndroid Build Coastguard Worker  // The license type to use in OS adaptation.
2326*d5c09012SAndroid Build Coastguard Worker  ComputeEngineLicenseType license_type = 11;
2327*d5c09012SAndroid Build Coastguard Worker
2328*d5c09012SAndroid Build Coastguard Worker  // Output only. The OS license returned from the adaptation module report.
2329*d5c09012SAndroid Build Coastguard Worker  AppliedLicense applied_license = 12
2330*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OUTPUT_ONLY];
2331*d5c09012SAndroid Build Coastguard Worker
2332*d5c09012SAndroid Build Coastguard Worker  // Compute instance scheduling information (if empty default is used).
2333*d5c09012SAndroid Build Coastguard Worker  ComputeScheduling compute_scheduling = 13;
2334*d5c09012SAndroid Build Coastguard Worker
2335*d5c09012SAndroid Build Coastguard Worker  // Defines whether the instance has Secure Boot enabled.
2336*d5c09012SAndroid Build Coastguard Worker  // This can be set to true only if the vm boot option is EFI.
2337*d5c09012SAndroid Build Coastguard Worker  bool secure_boot = 14;
2338*d5c09012SAndroid Build Coastguard Worker
2339*d5c09012SAndroid Build Coastguard Worker  // Output only. The VM Boot Option, as set in the source vm.
2340*d5c09012SAndroid Build Coastguard Worker  ComputeEngineBootOption boot_option = 15
2341*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OUTPUT_ONLY];
2342*d5c09012SAndroid Build Coastguard Worker
2343*d5c09012SAndroid Build Coastguard Worker  // The metadata key/value pairs to assign to the VM.
2344*d5c09012SAndroid Build Coastguard Worker  map<string, string> metadata = 16;
2345*d5c09012SAndroid Build Coastguard Worker
2346*d5c09012SAndroid Build Coastguard Worker  // Additional licenses to assign to the VM.
2347*d5c09012SAndroid Build Coastguard Worker  repeated string additional_licenses = 17;
2348*d5c09012SAndroid Build Coastguard Worker
2349*d5c09012SAndroid Build Coastguard Worker  // The hostname to assign to the VM.
2350*d5c09012SAndroid Build Coastguard Worker  string hostname = 18;
2351*d5c09012SAndroid Build Coastguard Worker}
2352*d5c09012SAndroid Build Coastguard Worker
2353*d5c09012SAndroid Build Coastguard Worker// ComputeEngineTargetDetails is a collection of details for creating a VM in a
2354*d5c09012SAndroid Build Coastguard Worker// target Compute Engine project.
2355*d5c09012SAndroid Build Coastguard Workermessage ComputeEngineTargetDetails {
2356*d5c09012SAndroid Build Coastguard Worker  // The name of the VM to create.
2357*d5c09012SAndroid Build Coastguard Worker  string vm_name = 1;
2358*d5c09012SAndroid Build Coastguard Worker
2359*d5c09012SAndroid Build Coastguard Worker  // The Google Cloud target project ID or project name.
2360*d5c09012SAndroid Build Coastguard Worker  string project = 2;
2361*d5c09012SAndroid Build Coastguard Worker
2362*d5c09012SAndroid Build Coastguard Worker  // The zone in which to create the VM.
2363*d5c09012SAndroid Build Coastguard Worker  string zone = 3;
2364*d5c09012SAndroid Build Coastguard Worker
2365*d5c09012SAndroid Build Coastguard Worker  // The machine type series to create the VM with.
2366*d5c09012SAndroid Build Coastguard Worker  string machine_type_series = 4;
2367*d5c09012SAndroid Build Coastguard Worker
2368*d5c09012SAndroid Build Coastguard Worker  // The machine type to create the VM with.
2369*d5c09012SAndroid Build Coastguard Worker  string machine_type = 5;
2370*d5c09012SAndroid Build Coastguard Worker
2371*d5c09012SAndroid Build Coastguard Worker  // A map of network tags to associate with the VM.
2372*d5c09012SAndroid Build Coastguard Worker  repeated string network_tags = 6;
2373*d5c09012SAndroid Build Coastguard Worker
2374*d5c09012SAndroid Build Coastguard Worker  // List of NICs connected to this VM.
2375*d5c09012SAndroid Build Coastguard Worker  repeated NetworkInterface network_interfaces = 7;
2376*d5c09012SAndroid Build Coastguard Worker
2377*d5c09012SAndroid Build Coastguard Worker  // The service account to associate the VM with.
2378*d5c09012SAndroid Build Coastguard Worker  string service_account = 8;
2379*d5c09012SAndroid Build Coastguard Worker
2380*d5c09012SAndroid Build Coastguard Worker  // The disk type to use in the VM.
2381*d5c09012SAndroid Build Coastguard Worker  ComputeEngineDiskType disk_type = 9;
2382*d5c09012SAndroid Build Coastguard Worker
2383*d5c09012SAndroid Build Coastguard Worker  // A map of labels to associate with the VM.
2384*d5c09012SAndroid Build Coastguard Worker  map<string, string> labels = 10;
2385*d5c09012SAndroid Build Coastguard Worker
2386*d5c09012SAndroid Build Coastguard Worker  // The license type to use in OS adaptation.
2387*d5c09012SAndroid Build Coastguard Worker  ComputeEngineLicenseType license_type = 11;
2388*d5c09012SAndroid Build Coastguard Worker
2389*d5c09012SAndroid Build Coastguard Worker  // The OS license returned from the adaptation module report.
2390*d5c09012SAndroid Build Coastguard Worker  AppliedLicense applied_license = 12;
2391*d5c09012SAndroid Build Coastguard Worker
2392*d5c09012SAndroid Build Coastguard Worker  // Compute instance scheduling information (if empty default is used).
2393*d5c09012SAndroid Build Coastguard Worker  ComputeScheduling compute_scheduling = 13;
2394*d5c09012SAndroid Build Coastguard Worker
2395*d5c09012SAndroid Build Coastguard Worker  // Defines whether the instance has Secure Boot enabled.
2396*d5c09012SAndroid Build Coastguard Worker  // This can be set to true only if the vm boot option is EFI.
2397*d5c09012SAndroid Build Coastguard Worker  bool secure_boot = 14;
2398*d5c09012SAndroid Build Coastguard Worker
2399*d5c09012SAndroid Build Coastguard Worker  // The VM Boot Option, as set in the source vm.
2400*d5c09012SAndroid Build Coastguard Worker  ComputeEngineBootOption boot_option = 15;
2401*d5c09012SAndroid Build Coastguard Worker
2402*d5c09012SAndroid Build Coastguard Worker  // The metadata key/value pairs to assign to the VM.
2403*d5c09012SAndroid Build Coastguard Worker  map<string, string> metadata = 16;
2404*d5c09012SAndroid Build Coastguard Worker
2405*d5c09012SAndroid Build Coastguard Worker  // Additional licenses to assign to the VM.
2406*d5c09012SAndroid Build Coastguard Worker  repeated string additional_licenses = 17;
2407*d5c09012SAndroid Build Coastguard Worker
2408*d5c09012SAndroid Build Coastguard Worker  // The hostname to assign to the VM.
2409*d5c09012SAndroid Build Coastguard Worker  string hostname = 18;
2410*d5c09012SAndroid Build Coastguard Worker}
2411*d5c09012SAndroid Build Coastguard Worker
2412*d5c09012SAndroid Build Coastguard Worker// NetworkInterface represents a NIC of a VM.
2413*d5c09012SAndroid Build Coastguard Workermessage NetworkInterface {
2414*d5c09012SAndroid Build Coastguard Worker  // The network to connect the NIC to.
2415*d5c09012SAndroid Build Coastguard Worker  string network = 1;
2416*d5c09012SAndroid Build Coastguard Worker
2417*d5c09012SAndroid Build Coastguard Worker  // The subnetwork to connect the NIC to.
2418*d5c09012SAndroid Build Coastguard Worker  string subnetwork = 2;
2419*d5c09012SAndroid Build Coastguard Worker
2420*d5c09012SAndroid Build Coastguard Worker  // The internal IP to define in the NIC.
2421*d5c09012SAndroid Build Coastguard Worker  // The formats accepted are: `ephemeral` \ ipv4 address \ a named address
2422*d5c09012SAndroid Build Coastguard Worker  // resource full path.
2423*d5c09012SAndroid Build Coastguard Worker  string internal_ip = 3;
2424*d5c09012SAndroid Build Coastguard Worker
2425*d5c09012SAndroid Build Coastguard Worker  // The external IP to define in the NIC.
2426*d5c09012SAndroid Build Coastguard Worker  string external_ip = 4;
2427*d5c09012SAndroid Build Coastguard Worker}
2428*d5c09012SAndroid Build Coastguard Worker
2429*d5c09012SAndroid Build Coastguard Worker// AppliedLicense holds the license data returned by adaptation module report.
2430*d5c09012SAndroid Build Coastguard Workermessage AppliedLicense {
2431*d5c09012SAndroid Build Coastguard Worker  // License types used in OS adaptation.
2432*d5c09012SAndroid Build Coastguard Worker  enum Type {
2433*d5c09012SAndroid Build Coastguard Worker    // Unspecified license for the OS.
2434*d5c09012SAndroid Build Coastguard Worker    TYPE_UNSPECIFIED = 0;
2435*d5c09012SAndroid Build Coastguard Worker
2436*d5c09012SAndroid Build Coastguard Worker    // No license available for the OS.
2437*d5c09012SAndroid Build Coastguard Worker    NONE = 1;
2438*d5c09012SAndroid Build Coastguard Worker
2439*d5c09012SAndroid Build Coastguard Worker    // The license type is Pay As You Go license type.
2440*d5c09012SAndroid Build Coastguard Worker    PAYG = 2;
2441*d5c09012SAndroid Build Coastguard Worker
2442*d5c09012SAndroid Build Coastguard Worker    // The license type is Bring Your Own License type.
2443*d5c09012SAndroid Build Coastguard Worker    BYOL = 3;
2444*d5c09012SAndroid Build Coastguard Worker  }
2445*d5c09012SAndroid Build Coastguard Worker
2446*d5c09012SAndroid Build Coastguard Worker  // The license type that was used in OS adaptation.
2447*d5c09012SAndroid Build Coastguard Worker  Type type = 1;
2448*d5c09012SAndroid Build Coastguard Worker
2449*d5c09012SAndroid Build Coastguard Worker  // The OS license returned from the adaptation module's report.
2450*d5c09012SAndroid Build Coastguard Worker  string os_license = 2;
2451*d5c09012SAndroid Build Coastguard Worker}
2452*d5c09012SAndroid Build Coastguard Worker
2453*d5c09012SAndroid Build Coastguard Worker// Node Affinity: the configuration of desired nodes onto which this Instance
2454*d5c09012SAndroid Build Coastguard Worker// could be scheduled. Based on
2455*d5c09012SAndroid Build Coastguard Worker// https://cloud.google.com/compute/docs/reference/rest/v1/instances/setScheduling
2456*d5c09012SAndroid Build Coastguard Workermessage SchedulingNodeAffinity {
2457*d5c09012SAndroid Build Coastguard Worker  // Possible types of node selection operators. Valid operators are IN for
2458*d5c09012SAndroid Build Coastguard Worker  // affinity and NOT_IN for anti-affinity.
2459*d5c09012SAndroid Build Coastguard Worker  enum Operator {
2460*d5c09012SAndroid Build Coastguard Worker    // An unknown, unexpected behavior.
2461*d5c09012SAndroid Build Coastguard Worker    OPERATOR_UNSPECIFIED = 0;
2462*d5c09012SAndroid Build Coastguard Worker
2463*d5c09012SAndroid Build Coastguard Worker    // The node resource group should be in these resources affinity.
2464*d5c09012SAndroid Build Coastguard Worker    IN = 1;
2465*d5c09012SAndroid Build Coastguard Worker
2466*d5c09012SAndroid Build Coastguard Worker    // The node resource group should not be in these resources affinity.
2467*d5c09012SAndroid Build Coastguard Worker    NOT_IN = 2;
2468*d5c09012SAndroid Build Coastguard Worker  }
2469*d5c09012SAndroid Build Coastguard Worker
2470*d5c09012SAndroid Build Coastguard Worker  // The label key of Node resource to reference.
2471*d5c09012SAndroid Build Coastguard Worker  string key = 1;
2472*d5c09012SAndroid Build Coastguard Worker
2473*d5c09012SAndroid Build Coastguard Worker  // The operator to use for the node resources specified in the `values`
2474*d5c09012SAndroid Build Coastguard Worker  // parameter.
2475*d5c09012SAndroid Build Coastguard Worker  Operator operator = 2;
2476*d5c09012SAndroid Build Coastguard Worker
2477*d5c09012SAndroid Build Coastguard Worker  // Corresponds to the label values of Node resource.
2478*d5c09012SAndroid Build Coastguard Worker  repeated string values = 3;
2479*d5c09012SAndroid Build Coastguard Worker}
2480*d5c09012SAndroid Build Coastguard Worker
2481*d5c09012SAndroid Build Coastguard Worker// Scheduling information for VM on maintenance/restart behaviour and
2482*d5c09012SAndroid Build Coastguard Worker// node allocation in sole tenant nodes.
2483*d5c09012SAndroid Build Coastguard Workermessage ComputeScheduling {
2484*d5c09012SAndroid Build Coastguard Worker  enum OnHostMaintenance {
2485*d5c09012SAndroid Build Coastguard Worker    // An unknown, unexpected behavior.
2486*d5c09012SAndroid Build Coastguard Worker    ON_HOST_MAINTENANCE_UNSPECIFIED = 0;
2487*d5c09012SAndroid Build Coastguard Worker
2488*d5c09012SAndroid Build Coastguard Worker    // Terminate the instance when the host machine undergoes maintenance.
2489*d5c09012SAndroid Build Coastguard Worker    TERMINATE = 1;
2490*d5c09012SAndroid Build Coastguard Worker
2491*d5c09012SAndroid Build Coastguard Worker    // Migrate the instance when the host machine undergoes maintenance.
2492*d5c09012SAndroid Build Coastguard Worker    MIGRATE = 2;
2493*d5c09012SAndroid Build Coastguard Worker  }
2494*d5c09012SAndroid Build Coastguard Worker
2495*d5c09012SAndroid Build Coastguard Worker  // Defines whether the Instance should be automatically restarted whenever
2496*d5c09012SAndroid Build Coastguard Worker  // it is terminated by Compute Engine (not terminated by user).
2497*d5c09012SAndroid Build Coastguard Worker  enum RestartType {
2498*d5c09012SAndroid Build Coastguard Worker    // Unspecified behavior. This will use the default.
2499*d5c09012SAndroid Build Coastguard Worker    RESTART_TYPE_UNSPECIFIED = 0;
2500*d5c09012SAndroid Build Coastguard Worker
2501*d5c09012SAndroid Build Coastguard Worker    // The Instance should be automatically restarted whenever it is
2502*d5c09012SAndroid Build Coastguard Worker    // terminated by Compute Engine.
2503*d5c09012SAndroid Build Coastguard Worker    AUTOMATIC_RESTART = 1;
2504*d5c09012SAndroid Build Coastguard Worker
2505*d5c09012SAndroid Build Coastguard Worker    // The Instance isn't automatically restarted whenever it is
2506*d5c09012SAndroid Build Coastguard Worker    // terminated by Compute Engine.
2507*d5c09012SAndroid Build Coastguard Worker    NO_AUTOMATIC_RESTART = 2;
2508*d5c09012SAndroid Build Coastguard Worker  }
2509*d5c09012SAndroid Build Coastguard Worker
2510*d5c09012SAndroid Build Coastguard Worker  // How the instance should behave when the host machine undergoes
2511*d5c09012SAndroid Build Coastguard Worker  // maintenance that may temporarily impact instance performance.
2512*d5c09012SAndroid Build Coastguard Worker  OnHostMaintenance on_host_maintenance = 1;
2513*d5c09012SAndroid Build Coastguard Worker
2514*d5c09012SAndroid Build Coastguard Worker  // Whether the Instance should be automatically restarted whenever it is
2515*d5c09012SAndroid Build Coastguard Worker  // terminated by Compute Engine (not terminated by user).
2516*d5c09012SAndroid Build Coastguard Worker  // This configuration is identical to `automaticRestart` field in Compute
2517*d5c09012SAndroid Build Coastguard Worker  // Engine create instance under scheduling.
2518*d5c09012SAndroid Build Coastguard Worker  // It was changed to an enum (instead of a boolean) to match the default
2519*d5c09012SAndroid Build Coastguard Worker  // value in Compute Engine which is automatic restart.
2520*d5c09012SAndroid Build Coastguard Worker  RestartType restart_type = 5;
2521*d5c09012SAndroid Build Coastguard Worker
2522*d5c09012SAndroid Build Coastguard Worker  // A set of node affinity and anti-affinity configurations for sole tenant
2523*d5c09012SAndroid Build Coastguard Worker  // nodes.
2524*d5c09012SAndroid Build Coastguard Worker  repeated SchedulingNodeAffinity node_affinities = 3;
2525*d5c09012SAndroid Build Coastguard Worker
2526*d5c09012SAndroid Build Coastguard Worker  // The minimum number of virtual CPUs this instance will consume when
2527*d5c09012SAndroid Build Coastguard Worker  // running on a sole-tenant node. Ignored if no node_affinites are
2528*d5c09012SAndroid Build Coastguard Worker  // configured.
2529*d5c09012SAndroid Build Coastguard Worker  int32 min_node_cpus = 4;
2530*d5c09012SAndroid Build Coastguard Worker}
2531*d5c09012SAndroid Build Coastguard Worker
2532*d5c09012SAndroid Build Coastguard Worker// A policy for scheduling replications.
2533*d5c09012SAndroid Build Coastguard Workermessage SchedulePolicy {
2534*d5c09012SAndroid Build Coastguard Worker  // The idle duration between replication stages.
2535*d5c09012SAndroid Build Coastguard Worker  google.protobuf.Duration idle_duration = 1;
2536*d5c09012SAndroid Build Coastguard Worker
2537*d5c09012SAndroid Build Coastguard Worker  // A flag to indicate whether to skip OS adaptation during the replication
2538*d5c09012SAndroid Build Coastguard Worker  // sync. OS adaptation is a process where the VM's operating system undergoes
2539*d5c09012SAndroid Build Coastguard Worker  // changes and adaptations to fully function on Compute Engine.
2540*d5c09012SAndroid Build Coastguard Worker  bool skip_os_adaptation = 2;
2541*d5c09012SAndroid Build Coastguard Worker}
2542*d5c09012SAndroid Build Coastguard Worker
2543*d5c09012SAndroid Build Coastguard Worker// Request message for 'CreateMigratingVm' request.
2544*d5c09012SAndroid Build Coastguard Workermessage CreateMigratingVmRequest {
2545*d5c09012SAndroid Build Coastguard Worker  // Required. The MigratingVm's parent.
2546*d5c09012SAndroid Build Coastguard Worker  string parent = 1 [
2547*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
2548*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
2549*d5c09012SAndroid Build Coastguard Worker      child_type: "vmmigration.googleapis.com/MigratingVm"
2550*d5c09012SAndroid Build Coastguard Worker    }
2551*d5c09012SAndroid Build Coastguard Worker  ];
2552*d5c09012SAndroid Build Coastguard Worker
2553*d5c09012SAndroid Build Coastguard Worker  // Required. The migratingVm identifier.
2554*d5c09012SAndroid Build Coastguard Worker  string migrating_vm_id = 2 [(google.api.field_behavior) = REQUIRED];
2555*d5c09012SAndroid Build Coastguard Worker
2556*d5c09012SAndroid Build Coastguard Worker  // Required. The create request body.
2557*d5c09012SAndroid Build Coastguard Worker  MigratingVm migrating_vm = 3 [(google.api.field_behavior) = REQUIRED];
2558*d5c09012SAndroid Build Coastguard Worker
2559*d5c09012SAndroid Build Coastguard Worker  // A request ID to identify requests. Specify a unique request ID
2560*d5c09012SAndroid Build Coastguard Worker  // so that if you must retry your request, the server will know to ignore
2561*d5c09012SAndroid Build Coastguard Worker  // the request if it has already been completed. The server will guarantee
2562*d5c09012SAndroid Build Coastguard Worker  // that for at least 60 minutes since the first request.
2563*d5c09012SAndroid Build Coastguard Worker  //
2564*d5c09012SAndroid Build Coastguard Worker  // For example, consider a situation where you make an initial request and t
2565*d5c09012SAndroid Build Coastguard Worker  // he request times out. If you make the request again with the same request
2566*d5c09012SAndroid Build Coastguard Worker  // ID, the server can check if original operation with the same request ID
2567*d5c09012SAndroid Build Coastguard Worker  // was received, and if so, will ignore the second request. This prevents
2568*d5c09012SAndroid Build Coastguard Worker  // clients from accidentally creating duplicate commitments.
2569*d5c09012SAndroid Build Coastguard Worker  //
2570*d5c09012SAndroid Build Coastguard Worker  // The request ID must be a valid UUID with the exception that zero UUID is
2571*d5c09012SAndroid Build Coastguard Worker  // not supported (00000000-0000-0000-0000-000000000000).
2572*d5c09012SAndroid Build Coastguard Worker  string request_id = 4;
2573*d5c09012SAndroid Build Coastguard Worker}
2574*d5c09012SAndroid Build Coastguard Worker
2575*d5c09012SAndroid Build Coastguard Worker// Request message for 'LisMigratingVmsRequest' request.
2576*d5c09012SAndroid Build Coastguard Workermessage ListMigratingVmsRequest {
2577*d5c09012SAndroid Build Coastguard Worker  // Required. The parent, which owns this collection of MigratingVms.
2578*d5c09012SAndroid Build Coastguard Worker  string parent = 1 [
2579*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
2580*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
2581*d5c09012SAndroid Build Coastguard Worker      child_type: "vmmigration.googleapis.com/MigratingVm"
2582*d5c09012SAndroid Build Coastguard Worker    }
2583*d5c09012SAndroid Build Coastguard Worker  ];
2584*d5c09012SAndroid Build Coastguard Worker
2585*d5c09012SAndroid Build Coastguard Worker  // Optional. The maximum number of migrating VMs to return. The service may
2586*d5c09012SAndroid Build Coastguard Worker  // return fewer than this value. If unspecified, at most 500 migrating VMs
2587*d5c09012SAndroid Build Coastguard Worker  // will be returned. The maximum value is 1000; values above 1000 will be
2588*d5c09012SAndroid Build Coastguard Worker  // coerced to 1000.
2589*d5c09012SAndroid Build Coastguard Worker  int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
2590*d5c09012SAndroid Build Coastguard Worker
2591*d5c09012SAndroid Build Coastguard Worker  // Required. A page token, received from a previous `ListMigratingVms` call.
2592*d5c09012SAndroid Build Coastguard Worker  // Provide this to retrieve the subsequent page.
2593*d5c09012SAndroid Build Coastguard Worker  //
2594*d5c09012SAndroid Build Coastguard Worker  // When paginating, all other parameters provided to `ListMigratingVms`
2595*d5c09012SAndroid Build Coastguard Worker  // must match the call that provided the page token.
2596*d5c09012SAndroid Build Coastguard Worker  string page_token = 3 [(google.api.field_behavior) = REQUIRED];
2597*d5c09012SAndroid Build Coastguard Worker
2598*d5c09012SAndroid Build Coastguard Worker  // Optional. The filter request.
2599*d5c09012SAndroid Build Coastguard Worker  string filter = 4 [(google.api.field_behavior) = OPTIONAL];
2600*d5c09012SAndroid Build Coastguard Worker
2601*d5c09012SAndroid Build Coastguard Worker  // Optional. the order by fields for the result.
2602*d5c09012SAndroid Build Coastguard Worker  string order_by = 5 [(google.api.field_behavior) = OPTIONAL];
2603*d5c09012SAndroid Build Coastguard Worker
2604*d5c09012SAndroid Build Coastguard Worker  // Optional. The level of details of each migrating VM.
2605*d5c09012SAndroid Build Coastguard Worker  MigratingVmView view = 6 [(google.api.field_behavior) = OPTIONAL];
2606*d5c09012SAndroid Build Coastguard Worker}
2607*d5c09012SAndroid Build Coastguard Worker
2608*d5c09012SAndroid Build Coastguard Worker// Response message for 'ListMigratingVms' request.
2609*d5c09012SAndroid Build Coastguard Workermessage ListMigratingVmsResponse {
2610*d5c09012SAndroid Build Coastguard Worker  // Output only. The list of Migrating VMs response.
2611*d5c09012SAndroid Build Coastguard Worker  repeated MigratingVm migrating_vms = 1
2612*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OUTPUT_ONLY];
2613*d5c09012SAndroid Build Coastguard Worker
2614*d5c09012SAndroid Build Coastguard Worker  // Output only. A token, which can be sent as `page_token` to retrieve the
2615*d5c09012SAndroid Build Coastguard Worker  // next page. If this field is omitted, there are no subsequent pages.
2616*d5c09012SAndroid Build Coastguard Worker  string next_page_token = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
2617*d5c09012SAndroid Build Coastguard Worker
2618*d5c09012SAndroid Build Coastguard Worker  // Output only. Locations that could not be reached.
2619*d5c09012SAndroid Build Coastguard Worker  repeated string unreachable = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
2620*d5c09012SAndroid Build Coastguard Worker}
2621*d5c09012SAndroid Build Coastguard Worker
2622*d5c09012SAndroid Build Coastguard Worker// Request message for 'GetMigratingVm' request.
2623*d5c09012SAndroid Build Coastguard Workermessage GetMigratingVmRequest {
2624*d5c09012SAndroid Build Coastguard Worker  // Required. The name of the MigratingVm.
2625*d5c09012SAndroid Build Coastguard Worker  string name = 1 [
2626*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
2627*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
2628*d5c09012SAndroid Build Coastguard Worker      type: "vmmigration.googleapis.com/MigratingVm"
2629*d5c09012SAndroid Build Coastguard Worker    }
2630*d5c09012SAndroid Build Coastguard Worker  ];
2631*d5c09012SAndroid Build Coastguard Worker
2632*d5c09012SAndroid Build Coastguard Worker  // Optional. The level of details of the migrating VM.
2633*d5c09012SAndroid Build Coastguard Worker  MigratingVmView view = 2 [(google.api.field_behavior) = OPTIONAL];
2634*d5c09012SAndroid Build Coastguard Worker}
2635*d5c09012SAndroid Build Coastguard Worker
2636*d5c09012SAndroid Build Coastguard Worker// Request message for 'UpdateMigratingVm' request.
2637*d5c09012SAndroid Build Coastguard Workermessage UpdateMigratingVmRequest {
2638*d5c09012SAndroid Build Coastguard Worker  // Field mask is used to specify the fields to be overwritten in the
2639*d5c09012SAndroid Build Coastguard Worker  // MigratingVm resource by the update.
2640*d5c09012SAndroid Build Coastguard Worker  // The fields specified in the update_mask are relative to the resource, not
2641*d5c09012SAndroid Build Coastguard Worker  // the full request. A field will be overwritten if it is in the mask. If the
2642*d5c09012SAndroid Build Coastguard Worker  // user does not provide a mask then all fields will be overwritten.
2643*d5c09012SAndroid Build Coastguard Worker  google.protobuf.FieldMask update_mask = 1;
2644*d5c09012SAndroid Build Coastguard Worker
2645*d5c09012SAndroid Build Coastguard Worker  // Required. The update request body.
2646*d5c09012SAndroid Build Coastguard Worker  MigratingVm migrating_vm = 2 [(google.api.field_behavior) = REQUIRED];
2647*d5c09012SAndroid Build Coastguard Worker
2648*d5c09012SAndroid Build Coastguard Worker  // A request ID to identify requests. Specify a unique request ID
2649*d5c09012SAndroid Build Coastguard Worker  // so that if you must retry your request, the server will know to ignore
2650*d5c09012SAndroid Build Coastguard Worker  // the request if it has already been completed. The server will guarantee
2651*d5c09012SAndroid Build Coastguard Worker  // that for at least 60 minutes since the first request.
2652*d5c09012SAndroid Build Coastguard Worker  //
2653*d5c09012SAndroid Build Coastguard Worker  // For example, consider a situation where you make an initial request and t
2654*d5c09012SAndroid Build Coastguard Worker  // he request times out. If you make the request again with the same request
2655*d5c09012SAndroid Build Coastguard Worker  // ID, the server can check if original operation with the same request ID
2656*d5c09012SAndroid Build Coastguard Worker  // was received, and if so, will ignore the second request. This prevents
2657*d5c09012SAndroid Build Coastguard Worker  // clients from accidentally creating duplicate commitments.
2658*d5c09012SAndroid Build Coastguard Worker  //
2659*d5c09012SAndroid Build Coastguard Worker  // The request ID must be a valid UUID with the exception that zero UUID is
2660*d5c09012SAndroid Build Coastguard Worker  // not supported (00000000-0000-0000-0000-000000000000).
2661*d5c09012SAndroid Build Coastguard Worker  string request_id = 3;
2662*d5c09012SAndroid Build Coastguard Worker}
2663*d5c09012SAndroid Build Coastguard Worker
2664*d5c09012SAndroid Build Coastguard Worker// Request message for 'DeleteMigratingVm' request.
2665*d5c09012SAndroid Build Coastguard Workermessage DeleteMigratingVmRequest {
2666*d5c09012SAndroid Build Coastguard Worker  // Required. The name of the MigratingVm.
2667*d5c09012SAndroid Build Coastguard Worker  string name = 1 [
2668*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
2669*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
2670*d5c09012SAndroid Build Coastguard Worker      type: "vmmigration.googleapis.com/MigratingVm"
2671*d5c09012SAndroid Build Coastguard Worker    }
2672*d5c09012SAndroid Build Coastguard Worker  ];
2673*d5c09012SAndroid Build Coastguard Worker}
2674*d5c09012SAndroid Build Coastguard Worker
2675*d5c09012SAndroid Build Coastguard Worker// Request message for 'StartMigrationRequest' request.
2676*d5c09012SAndroid Build Coastguard Workermessage StartMigrationRequest {
2677*d5c09012SAndroid Build Coastguard Worker  // Required. The name of the MigratingVm.
2678*d5c09012SAndroid Build Coastguard Worker  string migrating_vm = 1 [
2679*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
2680*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
2681*d5c09012SAndroid Build Coastguard Worker      type: "vmmigration.googleapis.com/MigratingVm"
2682*d5c09012SAndroid Build Coastguard Worker    }
2683*d5c09012SAndroid Build Coastguard Worker  ];
2684*d5c09012SAndroid Build Coastguard Worker}
2685*d5c09012SAndroid Build Coastguard Worker
2686*d5c09012SAndroid Build Coastguard Worker// Response message for 'StartMigration' request.
2687*d5c09012SAndroid Build Coastguard Workermessage StartMigrationResponse {}
2688*d5c09012SAndroid Build Coastguard Worker
2689*d5c09012SAndroid Build Coastguard Worker// Request message for 'PauseMigration' request.
2690*d5c09012SAndroid Build Coastguard Workermessage PauseMigrationRequest {
2691*d5c09012SAndroid Build Coastguard Worker  // Required. The name of the MigratingVm.
2692*d5c09012SAndroid Build Coastguard Worker  string migrating_vm = 1 [
2693*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
2694*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
2695*d5c09012SAndroid Build Coastguard Worker      type: "vmmigration.googleapis.com/MigratingVm"
2696*d5c09012SAndroid Build Coastguard Worker    }
2697*d5c09012SAndroid Build Coastguard Worker  ];
2698*d5c09012SAndroid Build Coastguard Worker}
2699*d5c09012SAndroid Build Coastguard Worker
2700*d5c09012SAndroid Build Coastguard Worker// Response message for 'PauseMigration' request.
2701*d5c09012SAndroid Build Coastguard Workermessage PauseMigrationResponse {}
2702*d5c09012SAndroid Build Coastguard Worker
2703*d5c09012SAndroid Build Coastguard Worker// Request message for 'ResumeMigration' request.
2704*d5c09012SAndroid Build Coastguard Workermessage ResumeMigrationRequest {
2705*d5c09012SAndroid Build Coastguard Worker  // Required. The name of the MigratingVm.
2706*d5c09012SAndroid Build Coastguard Worker  string migrating_vm = 1 [
2707*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
2708*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
2709*d5c09012SAndroid Build Coastguard Worker      type: "vmmigration.googleapis.com/MigratingVm"
2710*d5c09012SAndroid Build Coastguard Worker    }
2711*d5c09012SAndroid Build Coastguard Worker  ];
2712*d5c09012SAndroid Build Coastguard Worker}
2713*d5c09012SAndroid Build Coastguard Worker
2714*d5c09012SAndroid Build Coastguard Worker// Response message for 'ResumeMigration' request.
2715*d5c09012SAndroid Build Coastguard Workermessage ResumeMigrationResponse {}
2716*d5c09012SAndroid Build Coastguard Worker
2717*d5c09012SAndroid Build Coastguard Worker// Request message for 'FinalizeMigration' request.
2718*d5c09012SAndroid Build Coastguard Workermessage FinalizeMigrationRequest {
2719*d5c09012SAndroid Build Coastguard Worker  // Required. The name of the MigratingVm.
2720*d5c09012SAndroid Build Coastguard Worker  string migrating_vm = 1 [
2721*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
2722*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
2723*d5c09012SAndroid Build Coastguard Worker      type: "vmmigration.googleapis.com/MigratingVm"
2724*d5c09012SAndroid Build Coastguard Worker    }
2725*d5c09012SAndroid Build Coastguard Worker  ];
2726*d5c09012SAndroid Build Coastguard Worker}
2727*d5c09012SAndroid Build Coastguard Worker
2728*d5c09012SAndroid Build Coastguard Worker// Response message for 'FinalizeMigration' request.
2729*d5c09012SAndroid Build Coastguard Workermessage FinalizeMigrationResponse {}
2730*d5c09012SAndroid Build Coastguard Worker
2731*d5c09012SAndroid Build Coastguard Worker// TargetProject message represents a target Compute Engine project for a
2732*d5c09012SAndroid Build Coastguard Worker// migration or a clone.
2733*d5c09012SAndroid Build Coastguard Workermessage TargetProject {
2734*d5c09012SAndroid Build Coastguard Worker  option (google.api.resource) = {
2735*d5c09012SAndroid Build Coastguard Worker    type: "vmmigration.googleapis.com/TargetProject"
2736*d5c09012SAndroid Build Coastguard Worker    pattern: "projects/{project}/locations/{location}/targetProjects/{target_project}"
2737*d5c09012SAndroid Build Coastguard Worker  };
2738*d5c09012SAndroid Build Coastguard Worker
2739*d5c09012SAndroid Build Coastguard Worker  // Output only. The name of the target project.
2740*d5c09012SAndroid Build Coastguard Worker  string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
2741*d5c09012SAndroid Build Coastguard Worker
2742*d5c09012SAndroid Build Coastguard Worker  // The target project ID (number) or project name.
2743*d5c09012SAndroid Build Coastguard Worker  string project = 2;
2744*d5c09012SAndroid Build Coastguard Worker
2745*d5c09012SAndroid Build Coastguard Worker  // The target project's description.
2746*d5c09012SAndroid Build Coastguard Worker  string description = 3;
2747*d5c09012SAndroid Build Coastguard Worker
2748*d5c09012SAndroid Build Coastguard Worker  // Output only. The time this target project resource was created (not related
2749*d5c09012SAndroid Build Coastguard Worker  // to when the Compute Engine project it points to was created).
2750*d5c09012SAndroid Build Coastguard Worker  google.protobuf.Timestamp create_time = 4
2751*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OUTPUT_ONLY];
2752*d5c09012SAndroid Build Coastguard Worker
2753*d5c09012SAndroid Build Coastguard Worker  // Output only. The last time the target project resource was updated.
2754*d5c09012SAndroid Build Coastguard Worker  google.protobuf.Timestamp update_time = 5
2755*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OUTPUT_ONLY];
2756*d5c09012SAndroid Build Coastguard Worker}
2757*d5c09012SAndroid Build Coastguard Worker
2758*d5c09012SAndroid Build Coastguard Worker// Request message for 'GetTargetProject' call.
2759*d5c09012SAndroid Build Coastguard Workermessage GetTargetProjectRequest {
2760*d5c09012SAndroid Build Coastguard Worker  // Required. The TargetProject name.
2761*d5c09012SAndroid Build Coastguard Worker  string name = 1 [
2762*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
2763*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
2764*d5c09012SAndroid Build Coastguard Worker      type: "vmmigration.googleapis.com/TargetProject"
2765*d5c09012SAndroid Build Coastguard Worker    }
2766*d5c09012SAndroid Build Coastguard Worker  ];
2767*d5c09012SAndroid Build Coastguard Worker}
2768*d5c09012SAndroid Build Coastguard Worker
2769*d5c09012SAndroid Build Coastguard Worker// Request message for 'ListTargetProjects' call.
2770*d5c09012SAndroid Build Coastguard Workermessage ListTargetProjectsRequest {
2771*d5c09012SAndroid Build Coastguard Worker  // Required. The parent, which owns this collection of targets.
2772*d5c09012SAndroid Build Coastguard Worker  string parent = 1 [
2773*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
2774*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
2775*d5c09012SAndroid Build Coastguard Worker      child_type: "vmmigration.googleapis.com/TargetProject"
2776*d5c09012SAndroid Build Coastguard Worker    }
2777*d5c09012SAndroid Build Coastguard Worker  ];
2778*d5c09012SAndroid Build Coastguard Worker
2779*d5c09012SAndroid Build Coastguard Worker  // Optional. The maximum number of targets to return. The service may return
2780*d5c09012SAndroid Build Coastguard Worker  // fewer than this value. If unspecified, at most 500 targets will be
2781*d5c09012SAndroid Build Coastguard Worker  // returned. The maximum value is 1000; values above 1000 will be coerced to
2782*d5c09012SAndroid Build Coastguard Worker  // 1000.
2783*d5c09012SAndroid Build Coastguard Worker  int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
2784*d5c09012SAndroid Build Coastguard Worker
2785*d5c09012SAndroid Build Coastguard Worker  // Required. A page token, received from a previous `ListTargets` call.
2786*d5c09012SAndroid Build Coastguard Worker  // Provide this to retrieve the subsequent page.
2787*d5c09012SAndroid Build Coastguard Worker  //
2788*d5c09012SAndroid Build Coastguard Worker  // When paginating, all other parameters provided to `ListTargets` must
2789*d5c09012SAndroid Build Coastguard Worker  // match the call that provided the page token.
2790*d5c09012SAndroid Build Coastguard Worker  string page_token = 3 [(google.api.field_behavior) = REQUIRED];
2791*d5c09012SAndroid Build Coastguard Worker
2792*d5c09012SAndroid Build Coastguard Worker  // Optional. The filter request.
2793*d5c09012SAndroid Build Coastguard Worker  string filter = 4 [(google.api.field_behavior) = OPTIONAL];
2794*d5c09012SAndroid Build Coastguard Worker
2795*d5c09012SAndroid Build Coastguard Worker  // Optional. the order by fields for the result.
2796*d5c09012SAndroid Build Coastguard Worker  string order_by = 5 [(google.api.field_behavior) = OPTIONAL];
2797*d5c09012SAndroid Build Coastguard Worker}
2798*d5c09012SAndroid Build Coastguard Worker
2799*d5c09012SAndroid Build Coastguard Worker// Response message for 'ListTargetProjects' call.
2800*d5c09012SAndroid Build Coastguard Workermessage ListTargetProjectsResponse {
2801*d5c09012SAndroid Build Coastguard Worker  // Output only. The list of target response.
2802*d5c09012SAndroid Build Coastguard Worker  repeated TargetProject target_projects = 1
2803*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OUTPUT_ONLY];
2804*d5c09012SAndroid Build Coastguard Worker
2805*d5c09012SAndroid Build Coastguard Worker  // Output only. A token, which can be sent as `page_token` to retrieve the
2806*d5c09012SAndroid Build Coastguard Worker  // next page. If this field is omitted, there are no subsequent pages.
2807*d5c09012SAndroid Build Coastguard Worker  string next_page_token = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
2808*d5c09012SAndroid Build Coastguard Worker
2809*d5c09012SAndroid Build Coastguard Worker  // Output only. Locations that could not be reached.
2810*d5c09012SAndroid Build Coastguard Worker  repeated string unreachable = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
2811*d5c09012SAndroid Build Coastguard Worker}
2812*d5c09012SAndroid Build Coastguard Worker
2813*d5c09012SAndroid Build Coastguard Worker// Request message for 'CreateTargetProject' request.
2814*d5c09012SAndroid Build Coastguard Workermessage CreateTargetProjectRequest {
2815*d5c09012SAndroid Build Coastguard Worker  // Required. The TargetProject's parent.
2816*d5c09012SAndroid Build Coastguard Worker  string parent = 1 [
2817*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
2818*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
2819*d5c09012SAndroid Build Coastguard Worker      child_type: "vmmigration.googleapis.com/TargetProject"
2820*d5c09012SAndroid Build Coastguard Worker    }
2821*d5c09012SAndroid Build Coastguard Worker  ];
2822*d5c09012SAndroid Build Coastguard Worker
2823*d5c09012SAndroid Build Coastguard Worker  // Required. The target_project identifier.
2824*d5c09012SAndroid Build Coastguard Worker  string target_project_id = 2 [(google.api.field_behavior) = REQUIRED];
2825*d5c09012SAndroid Build Coastguard Worker
2826*d5c09012SAndroid Build Coastguard Worker  // Required. The create request body.
2827*d5c09012SAndroid Build Coastguard Worker  TargetProject target_project = 3 [(google.api.field_behavior) = REQUIRED];
2828*d5c09012SAndroid Build Coastguard Worker
2829*d5c09012SAndroid Build Coastguard Worker  // A request ID to identify requests. Specify a unique request ID
2830*d5c09012SAndroid Build Coastguard Worker  // so that if you must retry your request, the server will know to ignore
2831*d5c09012SAndroid Build Coastguard Worker  // the request if it has already been completed. The server will guarantee
2832*d5c09012SAndroid Build Coastguard Worker  // that for at least 60 minutes since the first request.
2833*d5c09012SAndroid Build Coastguard Worker  //
2834*d5c09012SAndroid Build Coastguard Worker  // For example, consider a situation where you make an initial request and t
2835*d5c09012SAndroid Build Coastguard Worker  // he request times out. If you make the request again with the same request
2836*d5c09012SAndroid Build Coastguard Worker  // ID, the server can check if original operation with the same request ID
2837*d5c09012SAndroid Build Coastguard Worker  // was received, and if so, will ignore the second request. This prevents
2838*d5c09012SAndroid Build Coastguard Worker  // clients from accidentally creating duplicate commitments.
2839*d5c09012SAndroid Build Coastguard Worker  //
2840*d5c09012SAndroid Build Coastguard Worker  // The request ID must be a valid UUID with the exception that zero UUID is
2841*d5c09012SAndroid Build Coastguard Worker  // not supported (00000000-0000-0000-0000-000000000000).
2842*d5c09012SAndroid Build Coastguard Worker  string request_id = 4;
2843*d5c09012SAndroid Build Coastguard Worker}
2844*d5c09012SAndroid Build Coastguard Worker
2845*d5c09012SAndroid Build Coastguard Worker// Update message for 'UpdateTargetProject' request.
2846*d5c09012SAndroid Build Coastguard Workermessage UpdateTargetProjectRequest {
2847*d5c09012SAndroid Build Coastguard Worker  // Field mask is used to specify the fields to be overwritten in the
2848*d5c09012SAndroid Build Coastguard Worker  // TargetProject resource by the update.
2849*d5c09012SAndroid Build Coastguard Worker  // The fields specified in the update_mask are relative to the resource, not
2850*d5c09012SAndroid Build Coastguard Worker  // the full request. A field will be overwritten if it is in the mask. If the
2851*d5c09012SAndroid Build Coastguard Worker  // user does not provide a mask then all fields will be overwritten.
2852*d5c09012SAndroid Build Coastguard Worker  google.protobuf.FieldMask update_mask = 1;
2853*d5c09012SAndroid Build Coastguard Worker
2854*d5c09012SAndroid Build Coastguard Worker  // Required. The update request body.
2855*d5c09012SAndroid Build Coastguard Worker  TargetProject target_project = 2 [(google.api.field_behavior) = REQUIRED];
2856*d5c09012SAndroid Build Coastguard Worker
2857*d5c09012SAndroid Build Coastguard Worker  // A request ID to identify requests. Specify a unique request ID
2858*d5c09012SAndroid Build Coastguard Worker  // so that if you must retry your request, the server will know to ignore
2859*d5c09012SAndroid Build Coastguard Worker  // the request if it has already been completed. The server will guarantee
2860*d5c09012SAndroid Build Coastguard Worker  // that for at least 60 minutes since the first request.
2861*d5c09012SAndroid Build Coastguard Worker  //
2862*d5c09012SAndroid Build Coastguard Worker  // For example, consider a situation where you make an initial request and t
2863*d5c09012SAndroid Build Coastguard Worker  // he request times out. If you make the request again with the same request
2864*d5c09012SAndroid Build Coastguard Worker  // ID, the server can check if original operation with the same request ID
2865*d5c09012SAndroid Build Coastguard Worker  // was received, and if so, will ignore the second request. This prevents
2866*d5c09012SAndroid Build Coastguard Worker  // clients from accidentally creating duplicate commitments.
2867*d5c09012SAndroid Build Coastguard Worker  //
2868*d5c09012SAndroid Build Coastguard Worker  // The request ID must be a valid UUID with the exception that zero UUID is
2869*d5c09012SAndroid Build Coastguard Worker  // not supported (00000000-0000-0000-0000-000000000000).
2870*d5c09012SAndroid Build Coastguard Worker  string request_id = 3;
2871*d5c09012SAndroid Build Coastguard Worker}
2872*d5c09012SAndroid Build Coastguard Worker
2873*d5c09012SAndroid Build Coastguard Worker// Request message for 'DeleteTargetProject' request.
2874*d5c09012SAndroid Build Coastguard Workermessage DeleteTargetProjectRequest {
2875*d5c09012SAndroid Build Coastguard Worker  // Required. The TargetProject name.
2876*d5c09012SAndroid Build Coastguard Worker  string name = 1 [
2877*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
2878*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
2879*d5c09012SAndroid Build Coastguard Worker      type: "vmmigration.googleapis.com/TargetProject"
2880*d5c09012SAndroid Build Coastguard Worker    }
2881*d5c09012SAndroid Build Coastguard Worker  ];
2882*d5c09012SAndroid Build Coastguard Worker
2883*d5c09012SAndroid Build Coastguard Worker  // Optional. A request ID to identify requests. Specify a unique request ID
2884*d5c09012SAndroid Build Coastguard Worker  // so that if you must retry your request, the server will know to ignore
2885*d5c09012SAndroid Build Coastguard Worker  // the request if it has already been completed. The server will guarantee
2886*d5c09012SAndroid Build Coastguard Worker  // that for at least 60 minutes after the first request.
2887*d5c09012SAndroid Build Coastguard Worker  //
2888*d5c09012SAndroid Build Coastguard Worker  // For example, consider a situation where you make an initial request and t
2889*d5c09012SAndroid Build Coastguard Worker  // he request times out. If you make the request again with the same request
2890*d5c09012SAndroid Build Coastguard Worker  // ID, the server can check if original operation with the same request ID
2891*d5c09012SAndroid Build Coastguard Worker  // was received, and if so, will ignore the second request. This prevents
2892*d5c09012SAndroid Build Coastguard Worker  // clients from accidentally creating duplicate commitments.
2893*d5c09012SAndroid Build Coastguard Worker  //
2894*d5c09012SAndroid Build Coastguard Worker  // The request ID must be a valid UUID with the exception that zero UUID is
2895*d5c09012SAndroid Build Coastguard Worker  // not supported (00000000-0000-0000-0000-000000000000).
2896*d5c09012SAndroid Build Coastguard Worker  string request_id = 2 [(google.api.field_behavior) = OPTIONAL];
2897*d5c09012SAndroid Build Coastguard Worker}
2898*d5c09012SAndroid Build Coastguard Worker
2899*d5c09012SAndroid Build Coastguard Worker// Describes message for 'Group' resource. The Group is a collections of several
2900*d5c09012SAndroid Build Coastguard Worker// MigratingVms.
2901*d5c09012SAndroid Build Coastguard Workermessage Group {
2902*d5c09012SAndroid Build Coastguard Worker  option (google.api.resource) = {
2903*d5c09012SAndroid Build Coastguard Worker    type: "vmmigration.googleapis.com/Group"
2904*d5c09012SAndroid Build Coastguard Worker    pattern: "projects/{project}/locations/{location}/groups/{group}"
2905*d5c09012SAndroid Build Coastguard Worker  };
2906*d5c09012SAndroid Build Coastguard Worker
2907*d5c09012SAndroid Build Coastguard Worker  // Output only. The Group name.
2908*d5c09012SAndroid Build Coastguard Worker  string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
2909*d5c09012SAndroid Build Coastguard Worker
2910*d5c09012SAndroid Build Coastguard Worker  // Output only. The create time timestamp.
2911*d5c09012SAndroid Build Coastguard Worker  google.protobuf.Timestamp create_time = 2
2912*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OUTPUT_ONLY];
2913*d5c09012SAndroid Build Coastguard Worker
2914*d5c09012SAndroid Build Coastguard Worker  // Output only. The update time timestamp.
2915*d5c09012SAndroid Build Coastguard Worker  google.protobuf.Timestamp update_time = 3
2916*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OUTPUT_ONLY];
2917*d5c09012SAndroid Build Coastguard Worker
2918*d5c09012SAndroid Build Coastguard Worker  // User-provided description of the group.
2919*d5c09012SAndroid Build Coastguard Worker  string description = 4;
2920*d5c09012SAndroid Build Coastguard Worker
2921*d5c09012SAndroid Build Coastguard Worker  // Display name is a user defined name for this group which can be updated.
2922*d5c09012SAndroid Build Coastguard Worker  string display_name = 5;
2923*d5c09012SAndroid Build Coastguard Worker}
2924*d5c09012SAndroid Build Coastguard Worker
2925*d5c09012SAndroid Build Coastguard Worker// Request message for 'ListGroups' request.
2926*d5c09012SAndroid Build Coastguard Workermessage ListGroupsRequest {
2927*d5c09012SAndroid Build Coastguard Worker  // Required. The parent, which owns this collection of groups.
2928*d5c09012SAndroid Build Coastguard Worker  string parent = 1 [
2929*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
2930*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
2931*d5c09012SAndroid Build Coastguard Worker      child_type: "vmmigration.googleapis.com/Group"
2932*d5c09012SAndroid Build Coastguard Worker    }
2933*d5c09012SAndroid Build Coastguard Worker  ];
2934*d5c09012SAndroid Build Coastguard Worker
2935*d5c09012SAndroid Build Coastguard Worker  // Optional. The maximum number of groups to return. The service may return
2936*d5c09012SAndroid Build Coastguard Worker  // fewer than this value. If unspecified, at most 500 groups will be
2937*d5c09012SAndroid Build Coastguard Worker  // returned. The maximum value is 1000; values above 1000 will be coerced to
2938*d5c09012SAndroid Build Coastguard Worker  // 1000.
2939*d5c09012SAndroid Build Coastguard Worker  int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
2940*d5c09012SAndroid Build Coastguard Worker
2941*d5c09012SAndroid Build Coastguard Worker  // Required. A page token, received from a previous `ListGroups` call.
2942*d5c09012SAndroid Build Coastguard Worker  // Provide this to retrieve the subsequent page.
2943*d5c09012SAndroid Build Coastguard Worker  //
2944*d5c09012SAndroid Build Coastguard Worker  // When paginating, all other parameters provided to `ListGroups` must
2945*d5c09012SAndroid Build Coastguard Worker  // match the call that provided the page token.
2946*d5c09012SAndroid Build Coastguard Worker  string page_token = 3 [(google.api.field_behavior) = REQUIRED];
2947*d5c09012SAndroid Build Coastguard Worker
2948*d5c09012SAndroid Build Coastguard Worker  // Optional. The filter request.
2949*d5c09012SAndroid Build Coastguard Worker  string filter = 4 [(google.api.field_behavior) = OPTIONAL];
2950*d5c09012SAndroid Build Coastguard Worker
2951*d5c09012SAndroid Build Coastguard Worker  // Optional. the order by fields for the result.
2952*d5c09012SAndroid Build Coastguard Worker  string order_by = 5 [(google.api.field_behavior) = OPTIONAL];
2953*d5c09012SAndroid Build Coastguard Worker}
2954*d5c09012SAndroid Build Coastguard Worker
2955*d5c09012SAndroid Build Coastguard Worker// Response message for 'ListGroups' request.
2956*d5c09012SAndroid Build Coastguard Workermessage ListGroupsResponse {
2957*d5c09012SAndroid Build Coastguard Worker  // Output only. The list of groups response.
2958*d5c09012SAndroid Build Coastguard Worker  repeated Group groups = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
2959*d5c09012SAndroid Build Coastguard Worker
2960*d5c09012SAndroid Build Coastguard Worker  // Output only. A token, which can be sent as `page_token` to retrieve the
2961*d5c09012SAndroid Build Coastguard Worker  // next page. If this field is omitted, there are no subsequent pages.
2962*d5c09012SAndroid Build Coastguard Worker  string next_page_token = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
2963*d5c09012SAndroid Build Coastguard Worker
2964*d5c09012SAndroid Build Coastguard Worker  // Output only. Locations that could not be reached.
2965*d5c09012SAndroid Build Coastguard Worker  repeated string unreachable = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
2966*d5c09012SAndroid Build Coastguard Worker}
2967*d5c09012SAndroid Build Coastguard Worker
2968*d5c09012SAndroid Build Coastguard Worker// Request message for 'GetGroup' request.
2969*d5c09012SAndroid Build Coastguard Workermessage GetGroupRequest {
2970*d5c09012SAndroid Build Coastguard Worker  // Required. The group name.
2971*d5c09012SAndroid Build Coastguard Worker  string name = 1 [
2972*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
2973*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
2974*d5c09012SAndroid Build Coastguard Worker      type: "vmmigration.googleapis.com/Group"
2975*d5c09012SAndroid Build Coastguard Worker    }
2976*d5c09012SAndroid Build Coastguard Worker  ];
2977*d5c09012SAndroid Build Coastguard Worker}
2978*d5c09012SAndroid Build Coastguard Worker
2979*d5c09012SAndroid Build Coastguard Worker// Request message for 'CreateGroup' request.
2980*d5c09012SAndroid Build Coastguard Workermessage CreateGroupRequest {
2981*d5c09012SAndroid Build Coastguard Worker  // Required. The Group's parent.
2982*d5c09012SAndroid Build Coastguard Worker  string parent = 1 [
2983*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
2984*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
2985*d5c09012SAndroid Build Coastguard Worker      child_type: "vmmigration.googleapis.com/Group"
2986*d5c09012SAndroid Build Coastguard Worker    }
2987*d5c09012SAndroid Build Coastguard Worker  ];
2988*d5c09012SAndroid Build Coastguard Worker
2989*d5c09012SAndroid Build Coastguard Worker  // Required. The group identifier.
2990*d5c09012SAndroid Build Coastguard Worker  string group_id = 2 [(google.api.field_behavior) = REQUIRED];
2991*d5c09012SAndroid Build Coastguard Worker
2992*d5c09012SAndroid Build Coastguard Worker  // Required. The create request body.
2993*d5c09012SAndroid Build Coastguard Worker  Group group = 3 [(google.api.field_behavior) = REQUIRED];
2994*d5c09012SAndroid Build Coastguard Worker
2995*d5c09012SAndroid Build Coastguard Worker  // A request ID to identify requests. Specify a unique request ID
2996*d5c09012SAndroid Build Coastguard Worker  // so that if you must retry your request, the server will know to ignore
2997*d5c09012SAndroid Build Coastguard Worker  // the request if it has already been completed. The server will guarantee
2998*d5c09012SAndroid Build Coastguard Worker  // that for at least 60 minutes since the first request.
2999*d5c09012SAndroid Build Coastguard Worker  //
3000*d5c09012SAndroid Build Coastguard Worker  // For example, consider a situation where you make an initial request and t
3001*d5c09012SAndroid Build Coastguard Worker  // he request times out. If you make the request again with the same request
3002*d5c09012SAndroid Build Coastguard Worker  // ID, the server can check if original operation with the same request ID
3003*d5c09012SAndroid Build Coastguard Worker  // was received, and if so, will ignore the second request. This prevents
3004*d5c09012SAndroid Build Coastguard Worker  // clients from accidentally creating duplicate commitments.
3005*d5c09012SAndroid Build Coastguard Worker  //
3006*d5c09012SAndroid Build Coastguard Worker  // The request ID must be a valid UUID with the exception that zero UUID is
3007*d5c09012SAndroid Build Coastguard Worker  // not supported (00000000-0000-0000-0000-000000000000).
3008*d5c09012SAndroid Build Coastguard Worker  string request_id = 4;
3009*d5c09012SAndroid Build Coastguard Worker}
3010*d5c09012SAndroid Build Coastguard Worker
3011*d5c09012SAndroid Build Coastguard Worker// Update message for 'UpdateGroups' request.
3012*d5c09012SAndroid Build Coastguard Workermessage UpdateGroupRequest {
3013*d5c09012SAndroid Build Coastguard Worker  // Field mask is used to specify the fields to be overwritten in the
3014*d5c09012SAndroid Build Coastguard Worker  // Group resource by the update.
3015*d5c09012SAndroid Build Coastguard Worker  // The fields specified in the update_mask are relative to the resource, not
3016*d5c09012SAndroid Build Coastguard Worker  // the full request. A field will be overwritten if it is in the mask. If the
3017*d5c09012SAndroid Build Coastguard Worker  // user does not provide a mask then all fields will be overwritten.
3018*d5c09012SAndroid Build Coastguard Worker  google.protobuf.FieldMask update_mask = 1;
3019*d5c09012SAndroid Build Coastguard Worker
3020*d5c09012SAndroid Build Coastguard Worker  // Required. The update request body.
3021*d5c09012SAndroid Build Coastguard Worker  Group group = 2 [(google.api.field_behavior) = REQUIRED];
3022*d5c09012SAndroid Build Coastguard Worker
3023*d5c09012SAndroid Build Coastguard Worker  // A request ID to identify requests. Specify a unique request ID
3024*d5c09012SAndroid Build Coastguard Worker  // so that if you must retry your request, the server will know to ignore
3025*d5c09012SAndroid Build Coastguard Worker  // the request if it has already been completed. The server will guarantee
3026*d5c09012SAndroid Build Coastguard Worker  // that for at least 60 minutes since the first request.
3027*d5c09012SAndroid Build Coastguard Worker  //
3028*d5c09012SAndroid Build Coastguard Worker  // For example, consider a situation where you make an initial request and t
3029*d5c09012SAndroid Build Coastguard Worker  // he request times out. If you make the request again with the same request
3030*d5c09012SAndroid Build Coastguard Worker  // ID, the server can check if original operation with the same request ID
3031*d5c09012SAndroid Build Coastguard Worker  // was received, and if so, will ignore the second request. This prevents
3032*d5c09012SAndroid Build Coastguard Worker  // clients from accidentally creating duplicate commitments.
3033*d5c09012SAndroid Build Coastguard Worker  //
3034*d5c09012SAndroid Build Coastguard Worker  // The request ID must be a valid UUID with the exception that zero UUID is
3035*d5c09012SAndroid Build Coastguard Worker  // not supported (00000000-0000-0000-0000-000000000000).
3036*d5c09012SAndroid Build Coastguard Worker  string request_id = 3;
3037*d5c09012SAndroid Build Coastguard Worker}
3038*d5c09012SAndroid Build Coastguard Worker
3039*d5c09012SAndroid Build Coastguard Worker// Request message for 'DeleteGroup' request.
3040*d5c09012SAndroid Build Coastguard Workermessage DeleteGroupRequest {
3041*d5c09012SAndroid Build Coastguard Worker  // Required. The Group name.
3042*d5c09012SAndroid Build Coastguard Worker  string name = 1 [
3043*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
3044*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
3045*d5c09012SAndroid Build Coastguard Worker      type: "vmmigration.googleapis.com/Group"
3046*d5c09012SAndroid Build Coastguard Worker    }
3047*d5c09012SAndroid Build Coastguard Worker  ];
3048*d5c09012SAndroid Build Coastguard Worker
3049*d5c09012SAndroid Build Coastguard Worker  // Optional. A request ID to identify requests. Specify a unique request ID
3050*d5c09012SAndroid Build Coastguard Worker  // so that if you must retry your request, the server will know to ignore
3051*d5c09012SAndroid Build Coastguard Worker  // the request if it has already been completed. The server will guarantee
3052*d5c09012SAndroid Build Coastguard Worker  // that for at least 60 minutes after the first request.
3053*d5c09012SAndroid Build Coastguard Worker  //
3054*d5c09012SAndroid Build Coastguard Worker  // For example, consider a situation where you make an initial request and t
3055*d5c09012SAndroid Build Coastguard Worker  // he request times out. If you make the request again with the same request
3056*d5c09012SAndroid Build Coastguard Worker  // ID, the server can check if original operation with the same request ID
3057*d5c09012SAndroid Build Coastguard Worker  // was received, and if so, will ignore the second request. This prevents
3058*d5c09012SAndroid Build Coastguard Worker  // clients from accidentally creating duplicate commitments.
3059*d5c09012SAndroid Build Coastguard Worker  //
3060*d5c09012SAndroid Build Coastguard Worker  // The request ID must be a valid UUID with the exception that zero UUID is
3061*d5c09012SAndroid Build Coastguard Worker  // not supported (00000000-0000-0000-0000-000000000000).
3062*d5c09012SAndroid Build Coastguard Worker  string request_id = 2 [(google.api.field_behavior) = OPTIONAL];
3063*d5c09012SAndroid Build Coastguard Worker}
3064*d5c09012SAndroid Build Coastguard Worker
3065*d5c09012SAndroid Build Coastguard Worker// Request message for 'AddGroupMigration' request.
3066*d5c09012SAndroid Build Coastguard Workermessage AddGroupMigrationRequest {
3067*d5c09012SAndroid Build Coastguard Worker  // Required. The full path name of the Group to add to.
3068*d5c09012SAndroid Build Coastguard Worker  string group = 1 [
3069*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
3070*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
3071*d5c09012SAndroid Build Coastguard Worker      type: "vmmigration.googleapis.com/Group"
3072*d5c09012SAndroid Build Coastguard Worker    }
3073*d5c09012SAndroid Build Coastguard Worker  ];
3074*d5c09012SAndroid Build Coastguard Worker
3075*d5c09012SAndroid Build Coastguard Worker  // The full path name of the MigratingVm to add.
3076*d5c09012SAndroid Build Coastguard Worker  string migrating_vm = 2 [(google.api.resource_reference) = {
3077*d5c09012SAndroid Build Coastguard Worker    type: "vmmigration.googleapis.com/MigratingVm"
3078*d5c09012SAndroid Build Coastguard Worker  }];
3079*d5c09012SAndroid Build Coastguard Worker}
3080*d5c09012SAndroid Build Coastguard Worker
3081*d5c09012SAndroid Build Coastguard Worker// Response message for 'AddGroupMigration' request.
3082*d5c09012SAndroid Build Coastguard Workermessage AddGroupMigrationResponse {}
3083*d5c09012SAndroid Build Coastguard Worker
3084*d5c09012SAndroid Build Coastguard Worker// Request message for 'RemoveMigration' request.
3085*d5c09012SAndroid Build Coastguard Workermessage RemoveGroupMigrationRequest {
3086*d5c09012SAndroid Build Coastguard Worker  // Required. The name of the Group.
3087*d5c09012SAndroid Build Coastguard Worker  string group = 1 [
3088*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
3089*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
3090*d5c09012SAndroid Build Coastguard Worker      type: "vmmigration.googleapis.com/Group"
3091*d5c09012SAndroid Build Coastguard Worker    }
3092*d5c09012SAndroid Build Coastguard Worker  ];
3093*d5c09012SAndroid Build Coastguard Worker
3094*d5c09012SAndroid Build Coastguard Worker  // The MigratingVm to remove.
3095*d5c09012SAndroid Build Coastguard Worker  string migrating_vm = 2 [(google.api.resource_reference) = {
3096*d5c09012SAndroid Build Coastguard Worker    type: "vmmigration.googleapis.com/MigratingVm"
3097*d5c09012SAndroid Build Coastguard Worker  }];
3098*d5c09012SAndroid Build Coastguard Worker}
3099*d5c09012SAndroid Build Coastguard Worker
3100*d5c09012SAndroid Build Coastguard Worker// Response message for 'RemoveMigration' request.
3101*d5c09012SAndroid Build Coastguard Workermessage RemoveGroupMigrationResponse {}
3102*d5c09012SAndroid Build Coastguard Worker
3103*d5c09012SAndroid Build Coastguard Worker// Request message for 'CreateCutoverJob' request.
3104*d5c09012SAndroid Build Coastguard Workermessage CreateCutoverJobRequest {
3105*d5c09012SAndroid Build Coastguard Worker  // Required. The Cutover's parent.
3106*d5c09012SAndroid Build Coastguard Worker  string parent = 1 [
3107*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
3108*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
3109*d5c09012SAndroid Build Coastguard Worker      child_type: "vmmigration.googleapis.com/CutoverJob"
3110*d5c09012SAndroid Build Coastguard Worker    }
3111*d5c09012SAndroid Build Coastguard Worker  ];
3112*d5c09012SAndroid Build Coastguard Worker
3113*d5c09012SAndroid Build Coastguard Worker  // Required. The cutover job identifier.
3114*d5c09012SAndroid Build Coastguard Worker  string cutover_job_id = 2 [(google.api.field_behavior) = REQUIRED];
3115*d5c09012SAndroid Build Coastguard Worker
3116*d5c09012SAndroid Build Coastguard Worker  // Required. The cutover request body.
3117*d5c09012SAndroid Build Coastguard Worker  CutoverJob cutover_job = 3 [(google.api.field_behavior) = REQUIRED];
3118*d5c09012SAndroid Build Coastguard Worker
3119*d5c09012SAndroid Build Coastguard Worker  // A request ID to identify requests. Specify a unique request ID
3120*d5c09012SAndroid Build Coastguard Worker  // so that if you must retry your request, the server will know to ignore
3121*d5c09012SAndroid Build Coastguard Worker  // the request if it has already been completed. The server will guarantee
3122*d5c09012SAndroid Build Coastguard Worker  // that for at least 60 minutes since the first request.
3123*d5c09012SAndroid Build Coastguard Worker  //
3124*d5c09012SAndroid Build Coastguard Worker  // For example, consider a situation where you make an initial request and t
3125*d5c09012SAndroid Build Coastguard Worker  // he request times out. If you make the request again with the same request
3126*d5c09012SAndroid Build Coastguard Worker  // ID, the server can check if original operation with the same request ID
3127*d5c09012SAndroid Build Coastguard Worker  // was received, and if so, will ignore the second request. This prevents
3128*d5c09012SAndroid Build Coastguard Worker  // clients from accidentally creating duplicate commitments.
3129*d5c09012SAndroid Build Coastguard Worker  //
3130*d5c09012SAndroid Build Coastguard Worker  // The request ID must be a valid UUID with the exception that zero UUID is
3131*d5c09012SAndroid Build Coastguard Worker  // not supported (00000000-0000-0000-0000-000000000000).
3132*d5c09012SAndroid Build Coastguard Worker  string request_id = 4;
3133*d5c09012SAndroid Build Coastguard Worker}
3134*d5c09012SAndroid Build Coastguard Worker
3135*d5c09012SAndroid Build Coastguard Worker// Request message for 'CancelCutoverJob' request.
3136*d5c09012SAndroid Build Coastguard Workermessage CancelCutoverJobRequest {
3137*d5c09012SAndroid Build Coastguard Worker  // Required. The cutover job id
3138*d5c09012SAndroid Build Coastguard Worker  string name = 1 [
3139*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
3140*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
3141*d5c09012SAndroid Build Coastguard Worker      type: "vmmigration.googleapis.com/CutoverJob"
3142*d5c09012SAndroid Build Coastguard Worker    }
3143*d5c09012SAndroid Build Coastguard Worker  ];
3144*d5c09012SAndroid Build Coastguard Worker}
3145*d5c09012SAndroid Build Coastguard Worker
3146*d5c09012SAndroid Build Coastguard Worker// Response message for 'CancelCutoverJob' request.
3147*d5c09012SAndroid Build Coastguard Workermessage CancelCutoverJobResponse {}
3148*d5c09012SAndroid Build Coastguard Worker
3149*d5c09012SAndroid Build Coastguard Worker// Request message for 'ListCutoverJobsRequest' request.
3150*d5c09012SAndroid Build Coastguard Workermessage ListCutoverJobsRequest {
3151*d5c09012SAndroid Build Coastguard Worker  // Required. The parent, which owns this collection of migrating VMs.
3152*d5c09012SAndroid Build Coastguard Worker  string parent = 1 [
3153*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
3154*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
3155*d5c09012SAndroid Build Coastguard Worker      child_type: "vmmigration.googleapis.com/CutoverJob"
3156*d5c09012SAndroid Build Coastguard Worker    }
3157*d5c09012SAndroid Build Coastguard Worker  ];
3158*d5c09012SAndroid Build Coastguard Worker
3159*d5c09012SAndroid Build Coastguard Worker  // Optional. The maximum number of cutover jobs to return. The service may
3160*d5c09012SAndroid Build Coastguard Worker  // return fewer than this value. If unspecified, at most 500 cutover jobs will
3161*d5c09012SAndroid Build Coastguard Worker  // be returned. The maximum value is 1000; values above 1000 will be coerced
3162*d5c09012SAndroid Build Coastguard Worker  // to 1000.
3163*d5c09012SAndroid Build Coastguard Worker  int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
3164*d5c09012SAndroid Build Coastguard Worker
3165*d5c09012SAndroid Build Coastguard Worker  // Required. A page token, received from a previous `ListCutoverJobs` call.
3166*d5c09012SAndroid Build Coastguard Worker  // Provide this to retrieve the subsequent page.
3167*d5c09012SAndroid Build Coastguard Worker  //
3168*d5c09012SAndroid Build Coastguard Worker  // When paginating, all other parameters provided to `ListCutoverJobs` must
3169*d5c09012SAndroid Build Coastguard Worker  // match the call that provided the page token.
3170*d5c09012SAndroid Build Coastguard Worker  string page_token = 3 [(google.api.field_behavior) = REQUIRED];
3171*d5c09012SAndroid Build Coastguard Worker
3172*d5c09012SAndroid Build Coastguard Worker  // Optional. The filter request.
3173*d5c09012SAndroid Build Coastguard Worker  string filter = 4 [(google.api.field_behavior) = OPTIONAL];
3174*d5c09012SAndroid Build Coastguard Worker
3175*d5c09012SAndroid Build Coastguard Worker  // Optional. the order by fields for the result.
3176*d5c09012SAndroid Build Coastguard Worker  string order_by = 5 [(google.api.field_behavior) = OPTIONAL];
3177*d5c09012SAndroid Build Coastguard Worker}
3178*d5c09012SAndroid Build Coastguard Worker
3179*d5c09012SAndroid Build Coastguard Worker// Response message for 'ListCutoverJobs' request.
3180*d5c09012SAndroid Build Coastguard Workermessage ListCutoverJobsResponse {
3181*d5c09012SAndroid Build Coastguard Worker  // Output only. The list of cutover jobs response.
3182*d5c09012SAndroid Build Coastguard Worker  repeated CutoverJob cutover_jobs = 1
3183*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OUTPUT_ONLY];
3184*d5c09012SAndroid Build Coastguard Worker
3185*d5c09012SAndroid Build Coastguard Worker  // Output only. A token, which can be sent as `page_token` to retrieve the
3186*d5c09012SAndroid Build Coastguard Worker  // next page. If this field is omitted, there are no subsequent pages.
3187*d5c09012SAndroid Build Coastguard Worker  string next_page_token = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
3188*d5c09012SAndroid Build Coastguard Worker
3189*d5c09012SAndroid Build Coastguard Worker  // Output only. Locations that could not be reached.
3190*d5c09012SAndroid Build Coastguard Worker  repeated string unreachable = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
3191*d5c09012SAndroid Build Coastguard Worker}
3192*d5c09012SAndroid Build Coastguard Worker
3193*d5c09012SAndroid Build Coastguard Worker// Request message for 'GetCutoverJob' request.
3194*d5c09012SAndroid Build Coastguard Workermessage GetCutoverJobRequest {
3195*d5c09012SAndroid Build Coastguard Worker  // Required. The name of the CutoverJob.
3196*d5c09012SAndroid Build Coastguard Worker  string name = 1 [
3197*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
3198*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
3199*d5c09012SAndroid Build Coastguard Worker      type: "vmmigration.googleapis.com/CutoverJob"
3200*d5c09012SAndroid Build Coastguard Worker    }
3201*d5c09012SAndroid Build Coastguard Worker  ];
3202*d5c09012SAndroid Build Coastguard Worker}
3203*d5c09012SAndroid Build Coastguard Worker
3204*d5c09012SAndroid Build Coastguard Worker// Represents the metadata of the long-running operation.
3205*d5c09012SAndroid Build Coastguard Workermessage OperationMetadata {
3206*d5c09012SAndroid Build Coastguard Worker  // Output only. The time the operation was created.
3207*d5c09012SAndroid Build Coastguard Worker  google.protobuf.Timestamp create_time = 1
3208*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OUTPUT_ONLY];
3209*d5c09012SAndroid Build Coastguard Worker
3210*d5c09012SAndroid Build Coastguard Worker  // Output only. The time the operation finished running.
3211*d5c09012SAndroid Build Coastguard Worker  google.protobuf.Timestamp end_time = 2
3212*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OUTPUT_ONLY];
3213*d5c09012SAndroid Build Coastguard Worker
3214*d5c09012SAndroid Build Coastguard Worker  // Output only. Server-defined resource path for the target of the operation.
3215*d5c09012SAndroid Build Coastguard Worker  string target = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
3216*d5c09012SAndroid Build Coastguard Worker
3217*d5c09012SAndroid Build Coastguard Worker  // Output only. Name of the verb executed by the operation.
3218*d5c09012SAndroid Build Coastguard Worker  string verb = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
3219*d5c09012SAndroid Build Coastguard Worker
3220*d5c09012SAndroid Build Coastguard Worker  // Output only. Human-readable status of the operation, if any.
3221*d5c09012SAndroid Build Coastguard Worker  string status_message = 5 [(google.api.field_behavior) = OUTPUT_ONLY];
3222*d5c09012SAndroid Build Coastguard Worker
3223*d5c09012SAndroid Build Coastguard Worker  // Output only. Identifies whether the user has requested cancellation
3224*d5c09012SAndroid Build Coastguard Worker  // of the operation. Operations that have successfully been cancelled
3225*d5c09012SAndroid Build Coastguard Worker  // have [Operation.error][] value with a
3226*d5c09012SAndroid Build Coastguard Worker  // [google.rpc.Status.code][google.rpc.Status.code] of 1, corresponding to
3227*d5c09012SAndroid Build Coastguard Worker  // `Code.CANCELLED`.
3228*d5c09012SAndroid Build Coastguard Worker  bool requested_cancellation = 6 [(google.api.field_behavior) = OUTPUT_ONLY];
3229*d5c09012SAndroid Build Coastguard Worker
3230*d5c09012SAndroid Build Coastguard Worker  // Output only. API version used to start the operation.
3231*d5c09012SAndroid Build Coastguard Worker  string api_version = 7 [(google.api.field_behavior) = OUTPUT_ONLY];
3232*d5c09012SAndroid Build Coastguard Worker}
3233*d5c09012SAndroid Build Coastguard Worker
3234*d5c09012SAndroid Build Coastguard Worker// Represents migration resource error information that can be used with
3235*d5c09012SAndroid Build Coastguard Worker// google.rpc.Status message. MigrationError is used to present the user with
3236*d5c09012SAndroid Build Coastguard Worker// error information in migration operations.
3237*d5c09012SAndroid Build Coastguard Workermessage MigrationError {
3238*d5c09012SAndroid Build Coastguard Worker  // Represents resource error codes.
3239*d5c09012SAndroid Build Coastguard Worker  enum ErrorCode {
3240*d5c09012SAndroid Build Coastguard Worker    // Default value. This value is not used.
3241*d5c09012SAndroid Build Coastguard Worker    ERROR_CODE_UNSPECIFIED = 0;
3242*d5c09012SAndroid Build Coastguard Worker
3243*d5c09012SAndroid Build Coastguard Worker    // Migrate for Compute encountered an unknown error.
3244*d5c09012SAndroid Build Coastguard Worker    UNKNOWN_ERROR = 1;
3245*d5c09012SAndroid Build Coastguard Worker
3246*d5c09012SAndroid Build Coastguard Worker    // Migrate for Compute encountered an error while validating replication
3247*d5c09012SAndroid Build Coastguard Worker    // source health.
3248*d5c09012SAndroid Build Coastguard Worker    SOURCE_VALIDATION_ERROR = 2;
3249*d5c09012SAndroid Build Coastguard Worker
3250*d5c09012SAndroid Build Coastguard Worker    // Migrate for Compute encountered an error during source data operation.
3251*d5c09012SAndroid Build Coastguard Worker    SOURCE_REPLICATION_ERROR = 3;
3252*d5c09012SAndroid Build Coastguard Worker
3253*d5c09012SAndroid Build Coastguard Worker    // Migrate for Compute encountered an error during target data operation.
3254*d5c09012SAndroid Build Coastguard Worker    TARGET_REPLICATION_ERROR = 4;
3255*d5c09012SAndroid Build Coastguard Worker
3256*d5c09012SAndroid Build Coastguard Worker    // Migrate for Compute encountered an error during OS adaptation.
3257*d5c09012SAndroid Build Coastguard Worker    OS_ADAPTATION_ERROR = 5;
3258*d5c09012SAndroid Build Coastguard Worker
3259*d5c09012SAndroid Build Coastguard Worker    // Migrate for Compute encountered an error in clone operation.
3260*d5c09012SAndroid Build Coastguard Worker    CLONE_ERROR = 6;
3261*d5c09012SAndroid Build Coastguard Worker
3262*d5c09012SAndroid Build Coastguard Worker    // Migrate for Compute encountered an error in cutover operation.
3263*d5c09012SAndroid Build Coastguard Worker    CUTOVER_ERROR = 7;
3264*d5c09012SAndroid Build Coastguard Worker
3265*d5c09012SAndroid Build Coastguard Worker    // Migrate for Compute encountered an error during utilization report
3266*d5c09012SAndroid Build Coastguard Worker    // creation.
3267*d5c09012SAndroid Build Coastguard Worker    UTILIZATION_REPORT_ERROR = 8;
3268*d5c09012SAndroid Build Coastguard Worker
3269*d5c09012SAndroid Build Coastguard Worker    // Migrate for Compute encountered an error during appliance upgrade.
3270*d5c09012SAndroid Build Coastguard Worker    APPLIANCE_UPGRADE_ERROR = 9;
3271*d5c09012SAndroid Build Coastguard Worker  }
3272*d5c09012SAndroid Build Coastguard Worker
3273*d5c09012SAndroid Build Coastguard Worker  // Output only. The error code.
3274*d5c09012SAndroid Build Coastguard Worker  ErrorCode code = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
3275*d5c09012SAndroid Build Coastguard Worker
3276*d5c09012SAndroid Build Coastguard Worker  // Output only. The localized error message.
3277*d5c09012SAndroid Build Coastguard Worker  google.rpc.LocalizedMessage error_message = 2
3278*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OUTPUT_ONLY];
3279*d5c09012SAndroid Build Coastguard Worker
3280*d5c09012SAndroid Build Coastguard Worker  // Output only. Suggested action for solving the error.
3281*d5c09012SAndroid Build Coastguard Worker  google.rpc.LocalizedMessage action_item = 3
3282*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OUTPUT_ONLY];
3283*d5c09012SAndroid Build Coastguard Worker
3284*d5c09012SAndroid Build Coastguard Worker  // Output only. URL(s) pointing to additional information on handling the
3285*d5c09012SAndroid Build Coastguard Worker  // current error.
3286*d5c09012SAndroid Build Coastguard Worker  repeated google.rpc.Help.Link help_links = 4
3287*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OUTPUT_ONLY];
3288*d5c09012SAndroid Build Coastguard Worker
3289*d5c09012SAndroid Build Coastguard Worker  // Output only. The time the error occurred.
3290*d5c09012SAndroid Build Coastguard Worker  google.protobuf.Timestamp error_time = 5
3291*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OUTPUT_ONLY];
3292*d5c09012SAndroid Build Coastguard Worker}
3293*d5c09012SAndroid Build Coastguard Worker
3294*d5c09012SAndroid Build Coastguard Worker// Represent the source AWS VM details.
3295*d5c09012SAndroid Build Coastguard Workermessage AwsSourceVmDetails {
3296*d5c09012SAndroid Build Coastguard Worker  // Possible values for AWS VM firmware.
3297*d5c09012SAndroid Build Coastguard Worker  enum Firmware {
3298*d5c09012SAndroid Build Coastguard Worker    // The firmware is unknown.
3299*d5c09012SAndroid Build Coastguard Worker    FIRMWARE_UNSPECIFIED = 0;
3300*d5c09012SAndroid Build Coastguard Worker
3301*d5c09012SAndroid Build Coastguard Worker    // The firmware is EFI.
3302*d5c09012SAndroid Build Coastguard Worker    EFI = 1;
3303*d5c09012SAndroid Build Coastguard Worker
3304*d5c09012SAndroid Build Coastguard Worker    // The firmware is BIOS.
3305*d5c09012SAndroid Build Coastguard Worker    BIOS = 2;
3306*d5c09012SAndroid Build Coastguard Worker  }
3307*d5c09012SAndroid Build Coastguard Worker
3308*d5c09012SAndroid Build Coastguard Worker  // The firmware type of the source VM.
3309*d5c09012SAndroid Build Coastguard Worker  Firmware firmware = 1;
3310*d5c09012SAndroid Build Coastguard Worker
3311*d5c09012SAndroid Build Coastguard Worker  // The total size of the disks being migrated in bytes.
3312*d5c09012SAndroid Build Coastguard Worker  int64 committed_storage_bytes = 2;
3313*d5c09012SAndroid Build Coastguard Worker}
3314*d5c09012SAndroid Build Coastguard Worker
3315*d5c09012SAndroid Build Coastguard Worker// Request message for 'LisReplicationCyclesRequest' request.
3316*d5c09012SAndroid Build Coastguard Workermessage ListReplicationCyclesRequest {
3317*d5c09012SAndroid Build Coastguard Worker  // Required. The parent, which owns this collection of ReplicationCycles.
3318*d5c09012SAndroid Build Coastguard Worker  string parent = 1 [
3319*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
3320*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
3321*d5c09012SAndroid Build Coastguard Worker      child_type: "vmmigration.googleapis.com/ReplicationCycle"
3322*d5c09012SAndroid Build Coastguard Worker    }
3323*d5c09012SAndroid Build Coastguard Worker  ];
3324*d5c09012SAndroid Build Coastguard Worker
3325*d5c09012SAndroid Build Coastguard Worker  // Optional. The maximum number of replication cycles to return. The service
3326*d5c09012SAndroid Build Coastguard Worker  // may return fewer than this value. If unspecified, at most 100 migrating VMs
3327*d5c09012SAndroid Build Coastguard Worker  // will be returned. The maximum value is 100; values above 100 will be
3328*d5c09012SAndroid Build Coastguard Worker  // coerced to 100.
3329*d5c09012SAndroid Build Coastguard Worker  int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
3330*d5c09012SAndroid Build Coastguard Worker
3331*d5c09012SAndroid Build Coastguard Worker  // Required. A page token, received from a previous `ListReplicationCycles`
3332*d5c09012SAndroid Build Coastguard Worker  // call. Provide this to retrieve the subsequent page.
3333*d5c09012SAndroid Build Coastguard Worker  //
3334*d5c09012SAndroid Build Coastguard Worker  // When paginating, all other parameters provided to `ListReplicationCycles`
3335*d5c09012SAndroid Build Coastguard Worker  // must match the call that provided the page token.
3336*d5c09012SAndroid Build Coastguard Worker  string page_token = 3 [(google.api.field_behavior) = REQUIRED];
3337*d5c09012SAndroid Build Coastguard Worker
3338*d5c09012SAndroid Build Coastguard Worker  // Optional. The filter request.
3339*d5c09012SAndroid Build Coastguard Worker  string filter = 4 [(google.api.field_behavior) = OPTIONAL];
3340*d5c09012SAndroid Build Coastguard Worker
3341*d5c09012SAndroid Build Coastguard Worker  // Optional. the order by fields for the result.
3342*d5c09012SAndroid Build Coastguard Worker  string order_by = 5 [(google.api.field_behavior) = OPTIONAL];
3343*d5c09012SAndroid Build Coastguard Worker}
3344*d5c09012SAndroid Build Coastguard Worker
3345*d5c09012SAndroid Build Coastguard Worker// Response message for 'ListReplicationCycles' request.
3346*d5c09012SAndroid Build Coastguard Workermessage ListReplicationCyclesResponse {
3347*d5c09012SAndroid Build Coastguard Worker  // Output only. The list of replication cycles response.
3348*d5c09012SAndroid Build Coastguard Worker  repeated ReplicationCycle replication_cycles = 1
3349*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OUTPUT_ONLY];
3350*d5c09012SAndroid Build Coastguard Worker
3351*d5c09012SAndroid Build Coastguard Worker  // Output only. A token, which can be sent as `page_token` to retrieve the
3352*d5c09012SAndroid Build Coastguard Worker  // next page. If this field is omitted, there are no subsequent pages.
3353*d5c09012SAndroid Build Coastguard Worker  string next_page_token = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
3354*d5c09012SAndroid Build Coastguard Worker
3355*d5c09012SAndroid Build Coastguard Worker  // Output only. Locations that could not be reached.
3356*d5c09012SAndroid Build Coastguard Worker  repeated string unreachable = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
3357*d5c09012SAndroid Build Coastguard Worker}
3358*d5c09012SAndroid Build Coastguard Worker
3359*d5c09012SAndroid Build Coastguard Worker// Request message for 'GetReplicationCycle' request.
3360*d5c09012SAndroid Build Coastguard Workermessage GetReplicationCycleRequest {
3361*d5c09012SAndroid Build Coastguard Worker  // Required. The name of the ReplicationCycle.
3362*d5c09012SAndroid Build Coastguard Worker  string name = 1 [
3363*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
3364*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
3365*d5c09012SAndroid Build Coastguard Worker      type: "vmmigration.googleapis.com/ReplicationCycle"
3366*d5c09012SAndroid Build Coastguard Worker    }
3367*d5c09012SAndroid Build Coastguard Worker  ];
3368*d5c09012SAndroid Build Coastguard Worker}
3369