google-cloud-vm_migration-v1 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,2174 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2021 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Cloud
22
+ module VMMigration
23
+ module V1
24
+ # ReplicationCycle contains information about the current replication cycle
25
+ # status.
26
+ # @!attribute [rw] start_time
27
+ # @return [::Google::Protobuf::Timestamp]
28
+ # The time the replication cycle has started.
29
+ # @!attribute [rw] progress_percent
30
+ # @return [::Integer]
31
+ # The current progress in percentage of this cycle.
32
+ class ReplicationCycle
33
+ include ::Google::Protobuf::MessageExts
34
+ extend ::Google::Protobuf::MessageExts::ClassMethods
35
+ end
36
+
37
+ # ReplicationSync contain information about the last replica sync to the cloud.
38
+ # @!attribute [rw] last_sync_time
39
+ # @return [::Google::Protobuf::Timestamp]
40
+ # The most updated snapshot created time in the source that finished
41
+ # replication.
42
+ class ReplicationSync
43
+ include ::Google::Protobuf::MessageExts
44
+ extend ::Google::Protobuf::MessageExts::ClassMethods
45
+ end
46
+
47
+ # MigratingVm describes the VM that will be migrated from a Source environment
48
+ # and its replication state.
49
+ # @!attribute [rw] compute_engine_target_defaults
50
+ # @return [::Google::Cloud::VMMigration::V1::ComputeEngineTargetDefaults]
51
+ # Details of the target VM in Compute Engine.
52
+ # @!attribute [r] name
53
+ # @return [::String]
54
+ # Output only. The identifier of the MigratingVm.
55
+ # @!attribute [rw] source_vm_id
56
+ # @return [::String]
57
+ # The unique ID of the VM in the source.
58
+ # The VM's name in vSphere can be changed, so this is not the VM's name but
59
+ # rather its moRef id. This id is of the form vm-<num>.
60
+ # @!attribute [rw] display_name
61
+ # @return [::String]
62
+ # The display name attached to the MigratingVm by the user.
63
+ # @!attribute [rw] description
64
+ # @return [::String]
65
+ # The description attached to the migrating VM by the user.
66
+ # @!attribute [rw] policy
67
+ # @return [::Google::Cloud::VMMigration::V1::SchedulePolicy]
68
+ # The replication schedule policy.
69
+ # @!attribute [r] create_time
70
+ # @return [::Google::Protobuf::Timestamp]
71
+ # Output only. The time the migrating VM was created (this refers to this resource and not
72
+ # to the time it was installed in the source).
73
+ # @!attribute [r] update_time
74
+ # @return [::Google::Protobuf::Timestamp]
75
+ # Output only. The last time the migrating VM resource was updated.
76
+ # @!attribute [r] last_sync
77
+ # @return [::Google::Cloud::VMMigration::V1::ReplicationSync]
78
+ # Output only. The most updated snapshot created time in the source that finished
79
+ # replication.
80
+ # @!attribute [r] state
81
+ # @return [::Google::Cloud::VMMigration::V1::MigratingVm::State]
82
+ # Output only. State of the MigratingVm.
83
+ # @!attribute [r] state_time
84
+ # @return [::Google::Protobuf::Timestamp]
85
+ # Output only. The last time the migrating VM state was updated.
86
+ # @!attribute [r] current_sync_info
87
+ # @return [::Google::Cloud::VMMigration::V1::ReplicationCycle]
88
+ # Output only. The percentage progress of the current running replication cycle.
89
+ # @!attribute [r] group
90
+ # @return [::String]
91
+ # Output only. The group this migrating vm is included in, if any. The group is
92
+ # represented by the full path of the appropriate
93
+ # {::Google::Cloud::VMMigration::V1::Group Group} resource.
94
+ # @!attribute [rw] labels
95
+ # @return [::Google::Protobuf::Map{::String => ::String}]
96
+ # The labels of the migrating VM.
97
+ # @!attribute [r] error
98
+ # @return [::Google::Rpc::Status]
99
+ # Output only. Provides details on the state of the Migrating VM in case of an
100
+ # error in replication.
101
+ class MigratingVm
102
+ include ::Google::Protobuf::MessageExts
103
+ extend ::Google::Protobuf::MessageExts::ClassMethods
104
+
105
+ # @!attribute [rw] key
106
+ # @return [::String]
107
+ # @!attribute [rw] value
108
+ # @return [::String]
109
+ class LabelsEntry
110
+ include ::Google::Protobuf::MessageExts
111
+ extend ::Google::Protobuf::MessageExts::ClassMethods
112
+ end
113
+
114
+ # The possible values of the state/health of source VM.
115
+ module State
116
+ # The state was not sampled by the health checks yet.
117
+ STATE_UNSPECIFIED = 0
118
+
119
+ # The VM in the source is being verified.
120
+ PENDING = 1
121
+
122
+ # The source VM was verified, and it's ready to start replication.
123
+ READY = 2
124
+
125
+ # Migration is going through the first sync cycle.
126
+ FIRST_SYNC = 3
127
+
128
+ # The replication is active, and it's running or scheduled to run.
129
+ ACTIVE = 4
130
+
131
+ # The source VM is being turned off, and a final replication is currently
132
+ # running.
133
+ CUTTING_OVER = 7
134
+
135
+ # The source VM was stopped and replicated. The replication is currently
136
+ # paused.
137
+ CUTOVER = 8
138
+
139
+ # A cutover job is active and replication cycle is running the final sync.
140
+ FINAL_SYNC = 9
141
+
142
+ # The replication was paused by the user and no cycles are scheduled to
143
+ # run.
144
+ PAUSED = 10
145
+
146
+ # The migrating VM is being finalized and migration resources are being
147
+ # removed.
148
+ FINALIZING = 11
149
+
150
+ # The replication process is done. The migrating VM is finalized and no
151
+ # longer consumes billable resources.
152
+ FINALIZED = 12
153
+
154
+ # The replication process encountered an unrecoverable error and was
155
+ # aborted.
156
+ ERROR = 13
157
+ end
158
+ end
159
+
160
+ # CloneJob describes the process of creating a clone of a
161
+ # {::Google::Cloud::VMMigration::V1::MigratingVm MigratingVM} to the
162
+ # requested target based on the latest successful uploaded snapshots.
163
+ # While the migration cycles of a MigratingVm take place, it is possible to
164
+ # verify the uploaded VM can be started in the cloud, by creating a clone. The
165
+ # clone can be created without any downtime, and it is created using the latest
166
+ # snapshots which are already in the cloud. The cloneJob is only responsible
167
+ # for its work, not its products, which means once it is finished, it will
168
+ # never touch the instance it created. It will only delete it in case of the
169
+ # CloneJob being cancelled or upon failure to clone.
170
+ # @!attribute [r] compute_engine_target_details
171
+ # @return [::Google::Cloud::VMMigration::V1::ComputeEngineTargetDetails]
172
+ # Output only. Details of the target VM in Compute Engine.
173
+ # @!attribute [r] create_time
174
+ # @return [::Google::Protobuf::Timestamp]
175
+ # Output only. The time the clone job was created (as an API call, not when it was
176
+ # actually created in the target).
177
+ # @!attribute [rw] name
178
+ # @return [::String]
179
+ # The name of the clone.
180
+ # @!attribute [r] state
181
+ # @return [::Google::Cloud::VMMigration::V1::CloneJob::State]
182
+ # Output only. State of the clone job.
183
+ # @!attribute [r] state_time
184
+ # @return [::Google::Protobuf::Timestamp]
185
+ # Output only. The time the state was last updated.
186
+ # @!attribute [r] error
187
+ # @return [::Google::Rpc::Status]
188
+ # Output only. Provides details for the errors that led to the Clone Job's state.
189
+ class CloneJob
190
+ include ::Google::Protobuf::MessageExts
191
+ extend ::Google::Protobuf::MessageExts::ClassMethods
192
+
193
+ # Possible states of the clone job.
194
+ module State
195
+ # The state is unknown. This is used for API compatibility only and is not
196
+ # used by the system.
197
+ STATE_UNSPECIFIED = 0
198
+
199
+ # The clone job has not yet started.
200
+ PENDING = 1
201
+
202
+ # The clone job is active and running.
203
+ ACTIVE = 2
204
+
205
+ # The clone job finished with errors.
206
+ FAILED = 3
207
+
208
+ # The clone job finished successfully.
209
+ SUCCEEDED = 4
210
+
211
+ # The clone job was cancelled.
212
+ CANCELLED = 5
213
+
214
+ # The clone job is being cancelled.
215
+ CANCELLING = 6
216
+
217
+ # OS adaptation is running as part of the clone job to generate license.
218
+ ADAPTING_OS = 7
219
+ end
220
+ end
221
+
222
+ # CutoverJob message describes a cutover of a migrating VM. The CutoverJob is
223
+ # the operation of shutting down the VM, creating a snapshot and
224
+ # clonning the VM using the replicated snapshot.
225
+ # @!attribute [r] compute_engine_target_details
226
+ # @return [::Google::Cloud::VMMigration::V1::ComputeEngineTargetDetails]
227
+ # Output only. Details of the target VM in Compute Engine.
228
+ # @!attribute [r] create_time
229
+ # @return [::Google::Protobuf::Timestamp]
230
+ # Output only. The time the cutover job was created (as an API call, not when it was
231
+ # actually created in the target).
232
+ # @!attribute [r] name
233
+ # @return [::String]
234
+ # Output only. The name of the cutover job.
235
+ # @!attribute [r] state
236
+ # @return [::Google::Cloud::VMMigration::V1::CutoverJob::State]
237
+ # Output only. State of the cutover job.
238
+ # @!attribute [r] state_time
239
+ # @return [::Google::Protobuf::Timestamp]
240
+ # Output only. The time the state was last updated.
241
+ # @!attribute [r] progress_percent
242
+ # @return [::Integer]
243
+ # Output only. The current progress in percentage of the cutover job.
244
+ # @!attribute [r] error
245
+ # @return [::Google::Rpc::Status]
246
+ # Output only. Provides details for the errors that led to the Cutover Job's state.
247
+ # @!attribute [r] state_message
248
+ # @return [::String]
249
+ # Output only. A message providing possible extra details about the current state.
250
+ class CutoverJob
251
+ include ::Google::Protobuf::MessageExts
252
+ extend ::Google::Protobuf::MessageExts::ClassMethods
253
+
254
+ # Possible states of the cutover job.
255
+ module State
256
+ # The state is unknown. This is used for API compatibility only and is not
257
+ # used by the system.
258
+ STATE_UNSPECIFIED = 0
259
+
260
+ # The cutover job has not yet started.
261
+ PENDING = 1
262
+
263
+ # The cutover job finished with errors.
264
+ FAILED = 2
265
+
266
+ # The cutover job finished successfully.
267
+ SUCCEEDED = 3
268
+
269
+ # The cutover job was cancelled.
270
+ CANCELLED = 4
271
+
272
+ # The cutover job is being cancelled.
273
+ CANCELLING = 5
274
+
275
+ # The cutover job is active and running.
276
+ ACTIVE = 6
277
+
278
+ # OS adaptation is running as part of the cutover job to generate license.
279
+ ADAPTING_OS = 7
280
+ end
281
+ end
282
+
283
+ # Request message for 'CreateCloneJob' request.
284
+ # @!attribute [rw] parent
285
+ # @return [::String]
286
+ # Required. The Clone's parent.
287
+ # @!attribute [rw] clone_job_id
288
+ # @return [::String]
289
+ # Required. The clone job identifier.
290
+ # @!attribute [rw] clone_job
291
+ # @return [::Google::Cloud::VMMigration::V1::CloneJob]
292
+ # Required. The clone request body.
293
+ # @!attribute [rw] request_id
294
+ # @return [::String]
295
+ # A request ID to identify requests. Specify a unique request ID
296
+ # so that if you must retry your request, the server will know to ignore
297
+ # the request if it has already been completed. The server will guarantee
298
+ # that for at least 60 minutes since the first request.
299
+ #
300
+ # For example, consider a situation where you make an initial request and t
301
+ # he request times out. If you make the request again with the same request
302
+ # ID, the server can check if original operation with the same request ID
303
+ # was received, and if so, will ignore the second request. This prevents
304
+ # clients from accidentally creating duplicate commitments.
305
+ #
306
+ # The request ID must be a valid UUID with the exception that zero UUID is
307
+ # not supported (00000000-0000-0000-0000-000000000000).
308
+ class CreateCloneJobRequest
309
+ include ::Google::Protobuf::MessageExts
310
+ extend ::Google::Protobuf::MessageExts::ClassMethods
311
+ end
312
+
313
+ # Request message for 'CancelCloneJob' request.
314
+ # @!attribute [rw] name
315
+ # @return [::String]
316
+ # Required. The clone job id
317
+ class CancelCloneJobRequest
318
+ include ::Google::Protobuf::MessageExts
319
+ extend ::Google::Protobuf::MessageExts::ClassMethods
320
+ end
321
+
322
+ # Response message for 'CancelCloneJob' request.
323
+ class CancelCloneJobResponse
324
+ include ::Google::Protobuf::MessageExts
325
+ extend ::Google::Protobuf::MessageExts::ClassMethods
326
+ end
327
+
328
+ # Request message for 'ListCloneJobsRequest' request.
329
+ # @!attribute [rw] parent
330
+ # @return [::String]
331
+ # Required. The parent, which owns this collection of source VMs.
332
+ # @!attribute [rw] page_size
333
+ # @return [::Integer]
334
+ # Optional. The maximum number of clone jobs to return. The service may return
335
+ # fewer than this value. If unspecified, at most 500 clone jobs will be
336
+ # returned. The maximum value is 1000; values above 1000 will be coerced to
337
+ # 1000.
338
+ # @!attribute [rw] page_token
339
+ # @return [::String]
340
+ # Required. A page token, received from a previous `ListCloneJobs` call.
341
+ # Provide this to retrieve the subsequent page.
342
+ #
343
+ # When paginating, all other parameters provided to `ListCloneJobs` must
344
+ # match the call that provided the page token.
345
+ # @!attribute [rw] filter
346
+ # @return [::String]
347
+ # Optional. The filter request.
348
+ # @!attribute [rw] order_by
349
+ # @return [::String]
350
+ # Optional. the order by fields for the result.
351
+ class ListCloneJobsRequest
352
+ include ::Google::Protobuf::MessageExts
353
+ extend ::Google::Protobuf::MessageExts::ClassMethods
354
+ end
355
+
356
+ # Response message for 'ListCloneJobs' request.
357
+ # @!attribute [r] clone_jobs
358
+ # @return [::Array<::Google::Cloud::VMMigration::V1::CloneJob>]
359
+ # Output only. The list of clone jobs response.
360
+ # @!attribute [r] next_page_token
361
+ # @return [::String]
362
+ # Output only. A token, which can be sent as `page_token` to retrieve the next page.
363
+ # If this field is omitted, there are no subsequent pages.
364
+ # @!attribute [r] unreachable
365
+ # @return [::Array<::String>]
366
+ # Output only. Locations that could not be reached.
367
+ class ListCloneJobsResponse
368
+ include ::Google::Protobuf::MessageExts
369
+ extend ::Google::Protobuf::MessageExts::ClassMethods
370
+ end
371
+
372
+ # Request message for 'GetCloneJob' request.
373
+ # @!attribute [rw] name
374
+ # @return [::String]
375
+ # Required. The name of the CloneJob.
376
+ class GetCloneJobRequest
377
+ include ::Google::Protobuf::MessageExts
378
+ extend ::Google::Protobuf::MessageExts::ClassMethods
379
+ end
380
+
381
+ # Source message describes a specific vm migration Source resource. It contains
382
+ # the source environment information.
383
+ # @!attribute [rw] vmware
384
+ # @return [::Google::Cloud::VMMigration::V1::VmwareSourceDetails]
385
+ # Vmware type source details.
386
+ # @!attribute [r] name
387
+ # @return [::String]
388
+ # Output only. The Source name.
389
+ # @!attribute [r] create_time
390
+ # @return [::Google::Protobuf::Timestamp]
391
+ # Output only. The create time timestamp.
392
+ # @!attribute [r] update_time
393
+ # @return [::Google::Protobuf::Timestamp]
394
+ # Output only. The update time timestamp.
395
+ # @!attribute [rw] labels
396
+ # @return [::Google::Protobuf::Map{::String => ::String}]
397
+ # The labels of the source.
398
+ # @!attribute [rw] description
399
+ # @return [::String]
400
+ # User-provided description of the source.
401
+ class Source
402
+ include ::Google::Protobuf::MessageExts
403
+ extend ::Google::Protobuf::MessageExts::ClassMethods
404
+
405
+ # @!attribute [rw] key
406
+ # @return [::String]
407
+ # @!attribute [rw] value
408
+ # @return [::String]
409
+ class LabelsEntry
410
+ include ::Google::Protobuf::MessageExts
411
+ extend ::Google::Protobuf::MessageExts::ClassMethods
412
+ end
413
+ end
414
+
415
+ # VmwareSourceDetails message describes a specific source details for the
416
+ # vmware source type.
417
+ # @!attribute [rw] username
418
+ # @return [::String]
419
+ # The credentials username.
420
+ # @!attribute [rw] password
421
+ # @return [::String]
422
+ # Input only. The credentials password. This is write only and can not be read in a GET
423
+ # operation.
424
+ # @!attribute [rw] vcenter_ip
425
+ # @return [::String]
426
+ # The ip address of the vcenter this Source represents.
427
+ # @!attribute [rw] thumbprint
428
+ # @return [::String]
429
+ # The thumbprint representing the certificate for the vcenter.
430
+ class VmwareSourceDetails
431
+ include ::Google::Protobuf::MessageExts
432
+ extend ::Google::Protobuf::MessageExts::ClassMethods
433
+ end
434
+
435
+ # DatacenterConnector message describes a connector between the Source and GCP,
436
+ # which is installed on a vmware datacenter (an OVA vm installed by the user)
437
+ # to connect the Datacenter to GCP and support vm migration data transfer.
438
+ # @!attribute [r] create_time
439
+ # @return [::Google::Protobuf::Timestamp]
440
+ # Output only. The time the connector was created (as an API call, not when it was
441
+ # actually installed).
442
+ # @!attribute [r] update_time
443
+ # @return [::Google::Protobuf::Timestamp]
444
+ # Output only. The last time the connector was updated with an API call.
445
+ # @!attribute [r] name
446
+ # @return [::String]
447
+ # Output only. The connector's name.
448
+ # @!attribute [rw] registration_id
449
+ # @return [::String]
450
+ # Immutable. A unique key for this connector. This key is internal to the OVA connector
451
+ # and is supplied with its creation during the registration process and can
452
+ # not be modified.
453
+ # @!attribute [rw] service_account
454
+ # @return [::String]
455
+ # The service account to use in the connector when communicating with the
456
+ # cloud.
457
+ # @!attribute [rw] version
458
+ # @return [::String]
459
+ # The version running in the DatacenterConnector. This is supplied by the OVA
460
+ # connector during the registration process and can not be modified.
461
+ # @!attribute [r] bucket
462
+ # @return [::String]
463
+ # Output only. The communication channel between the datacenter connector and GCP.
464
+ # @!attribute [r] state
465
+ # @return [::Google::Cloud::VMMigration::V1::DatacenterConnector::State]
466
+ # Output only. State of the DatacenterConnector, as determined by the health checks.
467
+ # @!attribute [r] state_time
468
+ # @return [::Google::Protobuf::Timestamp]
469
+ # Output only. The time the state was last set.
470
+ # @!attribute [r] error
471
+ # @return [::Google::Rpc::Status]
472
+ # Output only. Provides details on the state of the Datacenter Connector in case of an
473
+ # error.
474
+ class DatacenterConnector
475
+ include ::Google::Protobuf::MessageExts
476
+ extend ::Google::Protobuf::MessageExts::ClassMethods
477
+
478
+ # The possible values of the state.
479
+ module State
480
+ # The state is unknown. This is used for API compatibility only and is not
481
+ # used by the system.
482
+ STATE_UNSPECIFIED = 0
483
+
484
+ # The state was not sampled by the health checks yet.
485
+ PENDING = 1
486
+
487
+ # The source was sampled by health checks and is not available.
488
+ OFFLINE = 2
489
+
490
+ # The source is available but might not be usable yet due to unvalidated
491
+ # credentials or another reason. The credentials referred to are the ones
492
+ # to the Source. The error message will contain further details.
493
+ FAILED = 3
494
+
495
+ # The source exists and its credentials were verified.
496
+ ACTIVE = 4
497
+ end
498
+ end
499
+
500
+ # Request message for 'ListSources' request.
501
+ # @!attribute [rw] parent
502
+ # @return [::String]
503
+ # Required. The parent, which owns this collection of sources.
504
+ # @!attribute [rw] page_size
505
+ # @return [::Integer]
506
+ # Optional. The maximum number of sources to return. The service may return
507
+ # fewer than this value. If unspecified, at most 500 sources will be
508
+ # returned. The maximum value is 1000; values above 1000 will be coerced to
509
+ # 1000.
510
+ # @!attribute [rw] page_token
511
+ # @return [::String]
512
+ # Required. A page token, received from a previous `ListSources` call.
513
+ # Provide this to retrieve the subsequent page.
514
+ #
515
+ # When paginating, all other parameters provided to `ListSources` must
516
+ # match the call that provided the page token.
517
+ # @!attribute [rw] filter
518
+ # @return [::String]
519
+ # Optional. The filter request.
520
+ # @!attribute [rw] order_by
521
+ # @return [::String]
522
+ # Optional. the order by fields for the result.
523
+ class ListSourcesRequest
524
+ include ::Google::Protobuf::MessageExts
525
+ extend ::Google::Protobuf::MessageExts::ClassMethods
526
+ end
527
+
528
+ # Response message for 'ListSources' request.
529
+ # @!attribute [r] sources
530
+ # @return [::Array<::Google::Cloud::VMMigration::V1::Source>]
531
+ # Output only. The list of sources response.
532
+ # @!attribute [r] next_page_token
533
+ # @return [::String]
534
+ # Output only. A token, which can be sent as `page_token` to retrieve the next page.
535
+ # If this field is omitted, there are no subsequent pages.
536
+ # @!attribute [r] unreachable
537
+ # @return [::Array<::String>]
538
+ # Output only. Locations that could not be reached.
539
+ class ListSourcesResponse
540
+ include ::Google::Protobuf::MessageExts
541
+ extend ::Google::Protobuf::MessageExts::ClassMethods
542
+ end
543
+
544
+ # Request message for 'GetSource' request.
545
+ # @!attribute [rw] name
546
+ # @return [::String]
547
+ # Required. The Source name.
548
+ class GetSourceRequest
549
+ include ::Google::Protobuf::MessageExts
550
+ extend ::Google::Protobuf::MessageExts::ClassMethods
551
+ end
552
+
553
+ # Request message for 'CreateSource' request.
554
+ # @!attribute [rw] parent
555
+ # @return [::String]
556
+ # Required. The Source's parent.
557
+ # @!attribute [rw] source_id
558
+ # @return [::String]
559
+ # Required. The source identifier.
560
+ # @!attribute [rw] source
561
+ # @return [::Google::Cloud::VMMigration::V1::Source]
562
+ # Required. The create request body.
563
+ # @!attribute [rw] request_id
564
+ # @return [::String]
565
+ # A request ID to identify requests. Specify a unique request ID
566
+ # so that if you must retry your request, the server will know to ignore
567
+ # the request if it has already been completed. The server will guarantee
568
+ # that for at least 60 minutes since the first request.
569
+ #
570
+ # For example, consider a situation where you make an initial request and t
571
+ # he request times out. If you make the request again with the same request
572
+ # ID, the server can check if original operation with the same request ID
573
+ # was received, and if so, will ignore the second request. This prevents
574
+ # clients from accidentally creating duplicate commitments.
575
+ #
576
+ # The request ID must be a valid UUID with the exception that zero UUID is
577
+ # not supported (00000000-0000-0000-0000-000000000000).
578
+ class CreateSourceRequest
579
+ include ::Google::Protobuf::MessageExts
580
+ extend ::Google::Protobuf::MessageExts::ClassMethods
581
+ end
582
+
583
+ # Update message for 'UpdateSources' request.
584
+ # @!attribute [rw] update_mask
585
+ # @return [::Google::Protobuf::FieldMask]
586
+ # Field mask is used to specify the fields to be overwritten in the
587
+ # Source resource by the update.
588
+ # The fields specified in the update_mask are relative to the resource, not
589
+ # the full request. A field will be overwritten if it is in the mask. If the
590
+ # user does not provide a mask then all fields will be overwritten.
591
+ # @!attribute [rw] source
592
+ # @return [::Google::Cloud::VMMigration::V1::Source]
593
+ # Required. The update request body.
594
+ # @!attribute [rw] request_id
595
+ # @return [::String]
596
+ # A request ID to identify requests. Specify a unique request ID
597
+ # so that if you must retry your request, the server will know to ignore
598
+ # the request if it has already been completed. The server will guarantee
599
+ # that for at least 60 minutes since the first request.
600
+ #
601
+ # For example, consider a situation where you make an initial request and t
602
+ # he request times out. If you make the request again with the same request
603
+ # ID, the server can check if original operation with the same request ID
604
+ # was received, and if so, will ignore the second request. This prevents
605
+ # clients from accidentally creating duplicate commitments.
606
+ #
607
+ # The request ID must be a valid UUID with the exception that zero UUID is
608
+ # not supported (00000000-0000-0000-0000-000000000000).
609
+ class UpdateSourceRequest
610
+ include ::Google::Protobuf::MessageExts
611
+ extend ::Google::Protobuf::MessageExts::ClassMethods
612
+ end
613
+
614
+ # Request message for 'DeleteSource' request.
615
+ # @!attribute [rw] name
616
+ # @return [::String]
617
+ # Required. The Source name.
618
+ # @!attribute [rw] request_id
619
+ # @return [::String]
620
+ # Optional. A request ID to identify requests. Specify a unique request ID
621
+ # so that if you must retry your request, the server will know to ignore
622
+ # the request if it has already been completed. The server will guarantee
623
+ # that for at least 60 minutes after the first request.
624
+ #
625
+ # For example, consider a situation where you make an initial request and t
626
+ # he request times out. If you make the request again with the same request
627
+ # ID, the server can check if original operation with the same request ID
628
+ # was received, and if so, will ignore the second request. This prevents
629
+ # clients from accidentally creating duplicate commitments.
630
+ #
631
+ # The request ID must be a valid UUID with the exception that zero UUID is
632
+ # not supported (00000000-0000-0000-0000-000000000000).
633
+ class DeleteSourceRequest
634
+ include ::Google::Protobuf::MessageExts
635
+ extend ::Google::Protobuf::MessageExts::ClassMethods
636
+ end
637
+
638
+ # Request message for
639
+ # {::Google::Cloud::VMMigration::V1::VMMigration::Client#fetch_inventory fetchInventory}.
640
+ # @!attribute [rw] source
641
+ # @return [::String]
642
+ # Required. The name of the Source.
643
+ # @!attribute [rw] force_refresh
644
+ # @return [::Boolean]
645
+ # If this flag is set to true, the source will be queried instead of using
646
+ # cached results. Using this flag will make the call slower.
647
+ class FetchInventoryRequest
648
+ include ::Google::Protobuf::MessageExts
649
+ extend ::Google::Protobuf::MessageExts::ClassMethods
650
+ end
651
+
652
+ # VmwareVmDetails describes a VM in vCenter.
653
+ # @!attribute [rw] vm_id
654
+ # @return [::String]
655
+ # The VM's id in the source (note that this is not the MigratingVm's id).
656
+ # This is the moref id of the VM.
657
+ # @!attribute [rw] datacenter_id
658
+ # @return [::String]
659
+ # The id of the vCenter's datacenter this VM is contained in.
660
+ # @!attribute [rw] datacenter_description
661
+ # @return [::String]
662
+ # The descriptive name of the vCenter's datacenter this VM is contained in.
663
+ # @!attribute [rw] uuid
664
+ # @return [::String]
665
+ # The unique identifier of the VM in vCenter.
666
+ # @!attribute [rw] display_name
667
+ # @return [::String]
668
+ # The display name of the VM. Note that this is not necessarily unique.
669
+ # @!attribute [rw] power_state
670
+ # @return [::Google::Cloud::VMMigration::V1::VmwareVmDetails::PowerState]
671
+ # The power state of the VM at the moment list was taken.
672
+ # @!attribute [rw] cpu_count
673
+ # @return [::Integer]
674
+ # The number of cpus in the VM.
675
+ # @!attribute [rw] memory_mb
676
+ # @return [::Integer]
677
+ # The size of the memory of the VM in MB.
678
+ # @!attribute [rw] disk_count
679
+ # @return [::Integer]
680
+ # The number of disks the VM has.
681
+ # @!attribute [rw] committed_storage_mb
682
+ # @return [::Integer]
683
+ # The total size of the storage allocated to the VM in MB.
684
+ # @!attribute [rw] guest_description
685
+ # @return [::String]
686
+ # The VM's OS. See for example
687
+ # https://pubs.vmware.com/vi-sdk/visdk250/ReferenceGuide/vim.vm.GuestOsDescriptor.GuestOsIdentifier.html
688
+ # for types of strings this might hold.
689
+ # @!attribute [r] boot_option
690
+ # @return [::Google::Cloud::VMMigration::V1::VmwareVmDetails::BootOption]
691
+ # Output only. The VM Boot Option.
692
+ class VmwareVmDetails
693
+ include ::Google::Protobuf::MessageExts
694
+ extend ::Google::Protobuf::MessageExts::ClassMethods
695
+
696
+ # Possible values for the power state of the VM.
697
+ module PowerState
698
+ # Power state is not specified.
699
+ POWER_STATE_UNSPECIFIED = 0
700
+
701
+ # The VM is turned ON.
702
+ ON = 1
703
+
704
+ # The VM is turned OFF.
705
+ OFF = 2
706
+
707
+ # The VM is suspended. This is similar to hibernation or sleep mode.
708
+ SUSPENDED = 3
709
+ end
710
+
711
+ # Possible values for vm boot option.
712
+ module BootOption
713
+ # The boot option is unknown.
714
+ BOOT_OPTION_UNSPECIFIED = 0
715
+
716
+ # The boot option is EFI.
717
+ EFI = 1
718
+
719
+ # The boot option is BIOS.
720
+ BIOS = 2
721
+ end
722
+ end
723
+
724
+ # VmwareVmsDetails describes VMs in vCenter.
725
+ # @!attribute [rw] details
726
+ # @return [::Array<::Google::Cloud::VMMigration::V1::VmwareVmDetails>]
727
+ # The details of the vmware VMs.
728
+ class VmwareVmsDetails
729
+ include ::Google::Protobuf::MessageExts
730
+ extend ::Google::Protobuf::MessageExts::ClassMethods
731
+ end
732
+
733
+ # Response message for
734
+ # {::Google::Cloud::VMMigration::V1::VMMigration::Client#fetch_inventory fetchInventory}.
735
+ # @!attribute [r] vmware_vms
736
+ # @return [::Google::Cloud::VMMigration::V1::VmwareVmsDetails]
737
+ # Output only. The description of the VMs in a Source of type Vmware.
738
+ # @!attribute [r] update_time
739
+ # @return [::Google::Protobuf::Timestamp]
740
+ # Output only. The timestamp when the source was last queried (if the result is from the
741
+ # cache).
742
+ class FetchInventoryResponse
743
+ include ::Google::Protobuf::MessageExts
744
+ extend ::Google::Protobuf::MessageExts::ClassMethods
745
+ end
746
+
747
+ # Utilization report details the utilization (CPU, memory, etc.) of selected
748
+ # source VMs.
749
+ # @!attribute [r] name
750
+ # @return [::String]
751
+ # Output only. The report unique name.
752
+ # @!attribute [rw] display_name
753
+ # @return [::String]
754
+ # The report display name, as assigned by the user.
755
+ # @!attribute [r] state
756
+ # @return [::Google::Cloud::VMMigration::V1::UtilizationReport::State]
757
+ # Output only. Current state of the report.
758
+ # @!attribute [r] state_time
759
+ # @return [::Google::Protobuf::Timestamp]
760
+ # Output only. The time the state was last set.
761
+ # @!attribute [r] error
762
+ # @return [::Google::Rpc::Status]
763
+ # Output only. Provides details on the state of the report in case of an error.
764
+ # @!attribute [r] create_time
765
+ # @return [::Google::Protobuf::Timestamp]
766
+ # Output only. The time the report was created (this refers to the time of the request,
767
+ # not the time the report creation completed).
768
+ # @!attribute [rw] time_frame
769
+ # @return [::Google::Cloud::VMMigration::V1::UtilizationReport::TimeFrame]
770
+ # Time frame of the report.
771
+ # @!attribute [r] frame_end_time
772
+ # @return [::Google::Protobuf::Timestamp]
773
+ # Output only. The point in time when the time frame ends. Notice that the time
774
+ # frame is counted backwards. For instance if the "frame_end_time" value is
775
+ # 2021/01/20 and the time frame is WEEK then the report covers the week
776
+ # between 2021/01/20 and 2021/01/14.
777
+ # @!attribute [r] vm_count
778
+ # @return [::Integer]
779
+ # Output only. Total number of VMs included in the report.
780
+ # @!attribute [rw] vms
781
+ # @return [::Array<::Google::Cloud::VMMigration::V1::VmUtilizationInfo>]
782
+ # List of utilization information per VM.
783
+ # When sent as part of the request, the "vm_id" field is used in order to
784
+ # specify which VMs to include in the report. In that case all other fields
785
+ # are ignored.
786
+ class UtilizationReport
787
+ include ::Google::Protobuf::MessageExts
788
+ extend ::Google::Protobuf::MessageExts::ClassMethods
789
+
790
+ # Utilization report state.
791
+ module State
792
+ # The state is unknown. This value is not in use.
793
+ STATE_UNSPECIFIED = 0
794
+
795
+ # The report is in the making.
796
+ CREATING = 1
797
+
798
+ # Report creation completed successfully.
799
+ SUCCEEDED = 2
800
+
801
+ # Report creation failed.
802
+ FAILED = 3
803
+ end
804
+
805
+ # Report time frame options.
806
+ module TimeFrame
807
+ # The time frame was not specified and will default to WEEK.
808
+ TIME_FRAME_UNSPECIFIED = 0
809
+
810
+ # One week.
811
+ WEEK = 1
812
+
813
+ # One month.
814
+ MONTH = 2
815
+
816
+ # One year.
817
+ YEAR = 3
818
+ end
819
+ end
820
+
821
+ # Utilization information of a single VM.
822
+ # @!attribute [rw] vmware_vm_details
823
+ # @return [::Google::Cloud::VMMigration::V1::VmwareVmDetails]
824
+ # The description of the VM in a Source of type Vmware.
825
+ # @!attribute [rw] vm_id
826
+ # @return [::String]
827
+ # The VM's ID in the source.
828
+ # @!attribute [rw] utilization
829
+ # @return [::Google::Cloud::VMMigration::V1::VmUtilizationMetrics]
830
+ # Utilization metrics for this VM.
831
+ class VmUtilizationInfo
832
+ include ::Google::Protobuf::MessageExts
833
+ extend ::Google::Protobuf::MessageExts::ClassMethods
834
+ end
835
+
836
+ # Utilization metrics values for a single VM.
837
+ # @!attribute [rw] cpu_max_percent
838
+ # @return [::Integer]
839
+ # Max CPU usage, percent.
840
+ # @!attribute [rw] cpu_average_percent
841
+ # @return [::Integer]
842
+ # Average CPU usage, percent.
843
+ # @!attribute [rw] memory_max_percent
844
+ # @return [::Integer]
845
+ # Max memory usage, percent.
846
+ # @!attribute [rw] memory_average_percent
847
+ # @return [::Integer]
848
+ # Average memory usage, percent.
849
+ # @!attribute [rw] disk_io_rate_max_kbps
850
+ # @return [::Integer]
851
+ # Max disk IO rate, in kilobytes per second.
852
+ # @!attribute [rw] disk_io_rate_average_kbps
853
+ # @return [::Integer]
854
+ # Average disk IO rate, in kilobytes per second.
855
+ # @!attribute [rw] network_throughput_max_kbps
856
+ # @return [::Integer]
857
+ # Max network throughput (combined transmit-rates and receive-rates), in
858
+ # kilobytes per second.
859
+ # @!attribute [rw] network_throughput_average_kbps
860
+ # @return [::Integer]
861
+ # Average network throughput (combined transmit-rates and receive-rates), in
862
+ # kilobytes per second.
863
+ class VmUtilizationMetrics
864
+ include ::Google::Protobuf::MessageExts
865
+ extend ::Google::Protobuf::MessageExts::ClassMethods
866
+ end
867
+
868
+ # Request message for 'ListUtilizationReports' request.
869
+ # @!attribute [rw] parent
870
+ # @return [::String]
871
+ # Required. The Utilization Reports parent.
872
+ # @!attribute [rw] view
873
+ # @return [::Google::Cloud::VMMigration::V1::UtilizationReportView]
874
+ # Optional. The level of details of each report.
875
+ # Defaults to BASIC.
876
+ # @!attribute [rw] page_size
877
+ # @return [::Integer]
878
+ # Optional. The maximum number of reports to return. The service may return
879
+ # fewer than this value. If unspecified, at most 500 reports will be
880
+ # returned. The maximum value is 1000; values above 1000 will be coerced to
881
+ # 1000.
882
+ # @!attribute [rw] page_token
883
+ # @return [::String]
884
+ # Required. A page token, received from a previous `ListUtilizationReports` call.
885
+ # Provide this to retrieve the subsequent page.
886
+ #
887
+ # When paginating, all other parameters provided to `ListUtilizationReports`
888
+ # must match the call that provided the page token.
889
+ # @!attribute [rw] filter
890
+ # @return [::String]
891
+ # Optional. The filter request.
892
+ # @!attribute [rw] order_by
893
+ # @return [::String]
894
+ # Optional. the order by fields for the result.
895
+ class ListUtilizationReportsRequest
896
+ include ::Google::Protobuf::MessageExts
897
+ extend ::Google::Protobuf::MessageExts::ClassMethods
898
+ end
899
+
900
+ # Response message for 'ListUtilizationReports' request.
901
+ # @!attribute [r] utilization_reports
902
+ # @return [::Array<::Google::Cloud::VMMigration::V1::UtilizationReport>]
903
+ # Output only. The list of reports.
904
+ # @!attribute [r] next_page_token
905
+ # @return [::String]
906
+ # Output only. A token, which can be sent as `page_token` to retrieve the next page.
907
+ # If this field is omitted, there are no subsequent pages.
908
+ # @!attribute [r] unreachable
909
+ # @return [::Array<::String>]
910
+ # Output only. Locations that could not be reached.
911
+ class ListUtilizationReportsResponse
912
+ include ::Google::Protobuf::MessageExts
913
+ extend ::Google::Protobuf::MessageExts::ClassMethods
914
+ end
915
+
916
+ # Request message for 'GetUtilizationReport' request.
917
+ # @!attribute [rw] name
918
+ # @return [::String]
919
+ # Required. The Utilization Report name.
920
+ # @!attribute [rw] view
921
+ # @return [::Google::Cloud::VMMigration::V1::UtilizationReportView]
922
+ # Optional. The level of details of the report.
923
+ # Defaults to FULL
924
+ class GetUtilizationReportRequest
925
+ include ::Google::Protobuf::MessageExts
926
+ extend ::Google::Protobuf::MessageExts::ClassMethods
927
+ end
928
+
929
+ # Request message for 'CreateUtilizationReport' request.
930
+ # @!attribute [rw] parent
931
+ # @return [::String]
932
+ # Required. The Utilization Report's parent.
933
+ # @!attribute [rw] utilization_report
934
+ # @return [::Google::Cloud::VMMigration::V1::UtilizationReport]
935
+ # Required. The report to create.
936
+ # @!attribute [rw] utilization_report_id
937
+ # @return [::String]
938
+ # Required. The ID to use for the report, which will become the final component of
939
+ # the reports's resource name.
940
+ #
941
+ # This value maximum length is 63 characters, and valid characters
942
+ # are /[a-z][0-9]-/. It must start with an english letter and must not
943
+ # end with a hyphen.
944
+ # @!attribute [rw] request_id
945
+ # @return [::String]
946
+ # A request ID to identify requests. Specify a unique request ID
947
+ # so that if you must retry your request, the server will know to ignore
948
+ # the request if it has already been completed. The server will guarantee
949
+ # that for at least 60 minutes since the first request.
950
+ #
951
+ # For example, consider a situation where you make an initial request and t
952
+ # he request times out. If you make the request again with the same request
953
+ # ID, the server can check if original operation with the same request ID
954
+ # was received, and if so, will ignore the second request. This prevents
955
+ # clients from accidentally creating duplicate commitments.
956
+ #
957
+ # The request ID must be a valid UUID with the exception that zero UUID is
958
+ # not supported (00000000-0000-0000-0000-000000000000).
959
+ class CreateUtilizationReportRequest
960
+ include ::Google::Protobuf::MessageExts
961
+ extend ::Google::Protobuf::MessageExts::ClassMethods
962
+ end
963
+
964
+ # Request message for 'DeleteUtilizationReport' request.
965
+ # @!attribute [rw] name
966
+ # @return [::String]
967
+ # Required. The Utilization Report name.
968
+ # @!attribute [rw] request_id
969
+ # @return [::String]
970
+ # Optional. A request ID to identify requests. Specify a unique request ID
971
+ # so that if you must retry your request, the server will know to ignore
972
+ # the request if it has already been completed. The server will guarantee
973
+ # that for at least 60 minutes after the first request.
974
+ #
975
+ # For example, consider a situation where you make an initial request and t
976
+ # he request times out. If you make the request again with the same request
977
+ # ID, the server can check if original operation with the same request ID
978
+ # was received, and if so, will ignore the second request. This prevents
979
+ # clients from accidentally creating duplicate commitments.
980
+ #
981
+ # The request ID must be a valid UUID with the exception that zero UUID is
982
+ # not supported (00000000-0000-0000-0000-000000000000).
983
+ class DeleteUtilizationReportRequest
984
+ include ::Google::Protobuf::MessageExts
985
+ extend ::Google::Protobuf::MessageExts::ClassMethods
986
+ end
987
+
988
+ # Response message for 'ListDatacenterConnectors' request.
989
+ # @!attribute [r] datacenter_connectors
990
+ # @return [::Array<::Google::Cloud::VMMigration::V1::DatacenterConnector>]
991
+ # Output only. The list of sources response.
992
+ # @!attribute [r] next_page_token
993
+ # @return [::String]
994
+ # Output only. A token, which can be sent as `page_token` to retrieve the next page.
995
+ # If this field is omitted, there are no subsequent pages.
996
+ # @!attribute [r] unreachable
997
+ # @return [::Array<::String>]
998
+ # Output only. Locations that could not be reached.
999
+ class ListDatacenterConnectorsResponse
1000
+ include ::Google::Protobuf::MessageExts
1001
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1002
+ end
1003
+
1004
+ # Request message for 'GetDatacenterConnector' request.
1005
+ # @!attribute [rw] name
1006
+ # @return [::String]
1007
+ # Required. The name of the DatacenterConnector.
1008
+ class GetDatacenterConnectorRequest
1009
+ include ::Google::Protobuf::MessageExts
1010
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1011
+ end
1012
+
1013
+ # Request message for 'CreateDatacenterConnector' request.
1014
+ # @!attribute [rw] parent
1015
+ # @return [::String]
1016
+ # Required. The DatacenterConnector's parent.
1017
+ # Required. The Source in where the new DatacenterConnector will be created.
1018
+ # For example:
1019
+ # `projects/my-project/locations/us-central1/sources/my-source`
1020
+ # @!attribute [rw] datacenter_connector_id
1021
+ # @return [::String]
1022
+ # Required. The datacenterConnector identifier.
1023
+ # @!attribute [rw] datacenter_connector
1024
+ # @return [::Google::Cloud::VMMigration::V1::DatacenterConnector]
1025
+ # Required. The create request body.
1026
+ # @!attribute [rw] request_id
1027
+ # @return [::String]
1028
+ # A request ID to identify requests. Specify a unique request ID
1029
+ # so that if you must retry your request, the server will know to ignore
1030
+ # the request if it has already been completed. The server will guarantee
1031
+ # that for at least 60 minutes since the first request.
1032
+ #
1033
+ # For example, consider a situation where you make an initial request and t
1034
+ # he request times out. If you make the request again with the same request
1035
+ # ID, the server can check if original operation with the same request ID
1036
+ # was received, and if so, will ignore the second request. This prevents
1037
+ # clients from accidentally creating duplicate commitments.
1038
+ #
1039
+ # The request ID must be a valid UUID with the exception that zero UUID is
1040
+ # not supported (00000000-0000-0000-0000-000000000000).
1041
+ class CreateDatacenterConnectorRequest
1042
+ include ::Google::Protobuf::MessageExts
1043
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1044
+ end
1045
+
1046
+ # Request message for 'DeleteDatacenterConnector' request.
1047
+ # @!attribute [rw] name
1048
+ # @return [::String]
1049
+ # Required. The DatacenterConnector name.
1050
+ # @!attribute [rw] request_id
1051
+ # @return [::String]
1052
+ # A request ID to identify requests. Specify a unique request ID
1053
+ # so that if you must retry your request, the server will know to ignore
1054
+ # the request if it has already been completed. The server will guarantee
1055
+ # that for at least 60 minutes after the first request.
1056
+ #
1057
+ # For example, consider a situation where you make an initial request and t
1058
+ # he request times out. If you make the request again with the same request
1059
+ # ID, the server can check if original operation with the same request ID
1060
+ # was received, and if so, will ignore the second request. This prevents
1061
+ # clients from accidentally creating duplicate commitments.
1062
+ #
1063
+ # The request ID must be a valid UUID with the exception that zero UUID is
1064
+ # not supported (00000000-0000-0000-0000-000000000000).
1065
+ class DeleteDatacenterConnectorRequest
1066
+ include ::Google::Protobuf::MessageExts
1067
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1068
+ end
1069
+
1070
+ # Request message for 'ListDatacenterConnectors' request.
1071
+ # @!attribute [rw] parent
1072
+ # @return [::String]
1073
+ # Required. The parent, which owns this collection of connectors.
1074
+ # @!attribute [rw] page_size
1075
+ # @return [::Integer]
1076
+ # Optional. The maximum number of connectors to return. The service may return
1077
+ # fewer than this value. If unspecified, at most 500 sources will be
1078
+ # returned. The maximum value is 1000; values above 1000 will be coerced to
1079
+ # 1000.
1080
+ # @!attribute [rw] page_token
1081
+ # @return [::String]
1082
+ # Required. A page token, received from a previous `ListDatacenterConnectors` call.
1083
+ # Provide this to retrieve the subsequent page.
1084
+ #
1085
+ # When paginating, all other parameters provided to
1086
+ # `ListDatacenterConnectors` must match the call that provided the page
1087
+ # token.
1088
+ # @!attribute [rw] filter
1089
+ # @return [::String]
1090
+ # Optional. The filter request.
1091
+ # @!attribute [rw] order_by
1092
+ # @return [::String]
1093
+ # Optional. the order by fields for the result.
1094
+ class ListDatacenterConnectorsRequest
1095
+ include ::Google::Protobuf::MessageExts
1096
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1097
+ end
1098
+
1099
+ # ComputeEngineTargetDefaults is a collection of details for creating a VM in a
1100
+ # target Compute Engine project.
1101
+ # @!attribute [rw] vm_name
1102
+ # @return [::String]
1103
+ # The name of the VM to create.
1104
+ # @!attribute [rw] target_project
1105
+ # @return [::String]
1106
+ # The full path of the resource of type TargetProject which represents the
1107
+ # Compute Engine project in which to create this VM.
1108
+ # @!attribute [rw] zone
1109
+ # @return [::String]
1110
+ # The zone in which to create the VM.
1111
+ # @!attribute [rw] machine_type_series
1112
+ # @return [::String]
1113
+ # The machine type series to create the VM with.
1114
+ # @!attribute [rw] machine_type
1115
+ # @return [::String]
1116
+ # The machine type to create the VM with.
1117
+ # @!attribute [rw] network_tags
1118
+ # @return [::Array<::String>]
1119
+ # A map of network tags to associate with the VM.
1120
+ # @!attribute [rw] network_interfaces
1121
+ # @return [::Array<::Google::Cloud::VMMigration::V1::NetworkInterface>]
1122
+ # List of NICs connected to this VM.
1123
+ # @!attribute [rw] service_account
1124
+ # @return [::String]
1125
+ # The service account to associate the VM with.
1126
+ # @!attribute [rw] disk_type
1127
+ # @return [::Google::Cloud::VMMigration::V1::ComputeEngineDiskType]
1128
+ # The disk type to use in the VM.
1129
+ # @!attribute [rw] labels
1130
+ # @return [::Google::Protobuf::Map{::String => ::String}]
1131
+ # A map of labels to associate with the VM.
1132
+ # @!attribute [rw] license_type
1133
+ # @return [::Google::Cloud::VMMigration::V1::ComputeEngineLicenseType]
1134
+ # The license type to use in OS adaptation.
1135
+ # @!attribute [r] applied_license
1136
+ # @return [::Google::Cloud::VMMigration::V1::AppliedLicense]
1137
+ # Output only. The OS license returned from the adaptation module report.
1138
+ # @!attribute [rw] compute_scheduling
1139
+ # @return [::Google::Cloud::VMMigration::V1::ComputeScheduling]
1140
+ # Compute instance scheduling information (if empty default is used).
1141
+ # @!attribute [rw] secure_boot
1142
+ # @return [::Boolean]
1143
+ # Defines whether the instance has Secure Boot enabled.
1144
+ # This can be set to true only if the vm boot option is EFI.
1145
+ # @!attribute [r] boot_option
1146
+ # @return [::Google::Cloud::VMMigration::V1::ComputeEngineBootOption]
1147
+ # Output only. The VM Boot Option, as set in the source vm.
1148
+ # @!attribute [rw] metadata
1149
+ # @return [::Google::Protobuf::Map{::String => ::String}]
1150
+ # The metadata key/value pairs to assign to the VM.
1151
+ class ComputeEngineTargetDefaults
1152
+ include ::Google::Protobuf::MessageExts
1153
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1154
+
1155
+ # @!attribute [rw] key
1156
+ # @return [::String]
1157
+ # @!attribute [rw] value
1158
+ # @return [::String]
1159
+ class LabelsEntry
1160
+ include ::Google::Protobuf::MessageExts
1161
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1162
+ end
1163
+
1164
+ # @!attribute [rw] key
1165
+ # @return [::String]
1166
+ # @!attribute [rw] value
1167
+ # @return [::String]
1168
+ class MetadataEntry
1169
+ include ::Google::Protobuf::MessageExts
1170
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1171
+ end
1172
+ end
1173
+
1174
+ # ComputeEngineTargetDetails is a collection of details for creating a VM in a
1175
+ # target Compute Engine project.
1176
+ # @!attribute [rw] vm_name
1177
+ # @return [::String]
1178
+ # The name of the VM to create.
1179
+ # @!attribute [rw] project
1180
+ # @return [::String]
1181
+ # The GCP target project ID or project name.
1182
+ # @!attribute [rw] zone
1183
+ # @return [::String]
1184
+ # The zone in which to create the VM.
1185
+ # @!attribute [rw] machine_type_series
1186
+ # @return [::String]
1187
+ # The machine type series to create the VM with.
1188
+ # @!attribute [rw] machine_type
1189
+ # @return [::String]
1190
+ # The machine type to create the VM with.
1191
+ # @!attribute [rw] network_tags
1192
+ # @return [::Array<::String>]
1193
+ # A map of network tags to associate with the VM.
1194
+ # @!attribute [rw] network_interfaces
1195
+ # @return [::Array<::Google::Cloud::VMMigration::V1::NetworkInterface>]
1196
+ # List of NICs connected to this VM.
1197
+ # @!attribute [rw] service_account
1198
+ # @return [::String]
1199
+ # The service account to associate the VM with.
1200
+ # @!attribute [rw] disk_type
1201
+ # @return [::Google::Cloud::VMMigration::V1::ComputeEngineDiskType]
1202
+ # The disk type to use in the VM.
1203
+ # @!attribute [rw] labels
1204
+ # @return [::Google::Protobuf::Map{::String => ::String}]
1205
+ # A map of labels to associate with the VM.
1206
+ # @!attribute [rw] license_type
1207
+ # @return [::Google::Cloud::VMMigration::V1::ComputeEngineLicenseType]
1208
+ # The license type to use in OS adaptation.
1209
+ # @!attribute [rw] applied_license
1210
+ # @return [::Google::Cloud::VMMigration::V1::AppliedLicense]
1211
+ # The OS license returned from the adaptation module report.
1212
+ # @!attribute [rw] compute_scheduling
1213
+ # @return [::Google::Cloud::VMMigration::V1::ComputeScheduling]
1214
+ # Compute instance scheduling information (if empty default is used).
1215
+ # @!attribute [rw] secure_boot
1216
+ # @return [::Boolean]
1217
+ # Defines whether the instance has Secure Boot enabled.
1218
+ # This can be set to true only if the vm boot option is EFI.
1219
+ # @!attribute [rw] boot_option
1220
+ # @return [::Google::Cloud::VMMigration::V1::ComputeEngineBootOption]
1221
+ # The VM Boot Option, as set in the source vm.
1222
+ # @!attribute [rw] metadata
1223
+ # @return [::Google::Protobuf::Map{::String => ::String}]
1224
+ # The metadata key/value pairs to assign to the VM.
1225
+ class ComputeEngineTargetDetails
1226
+ include ::Google::Protobuf::MessageExts
1227
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1228
+
1229
+ # @!attribute [rw] key
1230
+ # @return [::String]
1231
+ # @!attribute [rw] value
1232
+ # @return [::String]
1233
+ class LabelsEntry
1234
+ include ::Google::Protobuf::MessageExts
1235
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1236
+ end
1237
+
1238
+ # @!attribute [rw] key
1239
+ # @return [::String]
1240
+ # @!attribute [rw] value
1241
+ # @return [::String]
1242
+ class MetadataEntry
1243
+ include ::Google::Protobuf::MessageExts
1244
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1245
+ end
1246
+ end
1247
+
1248
+ # NetworkInterface represents a NIC of a VM.
1249
+ # @!attribute [rw] network
1250
+ # @return [::String]
1251
+ # The network to connect the NIC to.
1252
+ # @!attribute [rw] subnetwork
1253
+ # @return [::String]
1254
+ # The subnetwork to connect the NIC to.
1255
+ # @!attribute [rw] internal_ip
1256
+ # @return [::String]
1257
+ # The internal IP to define in the NIC.
1258
+ # The formats accepted are: `ephemeral` \ ipv4 address \ a named address
1259
+ # resource full path.
1260
+ # @!attribute [rw] external_ip
1261
+ # @return [::String]
1262
+ # The external IP to define in the NIC.
1263
+ class NetworkInterface
1264
+ include ::Google::Protobuf::MessageExts
1265
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1266
+ end
1267
+
1268
+ # AppliedLicense holds the license data returned by adaptation module report.
1269
+ # @!attribute [rw] type
1270
+ # @return [::Google::Cloud::VMMigration::V1::AppliedLicense::Type]
1271
+ # The license type that was used in OS adaptation.
1272
+ # @!attribute [rw] os_license
1273
+ # @return [::String]
1274
+ # The OS license returned from the adaptation module's report.
1275
+ class AppliedLicense
1276
+ include ::Google::Protobuf::MessageExts
1277
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1278
+
1279
+ # License types used in OS adaptation.
1280
+ module Type
1281
+ # Unspecified license for the OS.
1282
+ TYPE_UNSPECIFIED = 0
1283
+
1284
+ # No license available for the OS.
1285
+ NONE = 1
1286
+
1287
+ # The license type is Pay As You Go license type.
1288
+ PAYG = 2
1289
+
1290
+ # The license type is is Bring Your Own License type.
1291
+ BYOL = 3
1292
+ end
1293
+ end
1294
+
1295
+ # Node Affinity: the configuration of desired nodes onto which this Instance
1296
+ # could be scheduled. Based on
1297
+ # https://cloud.google.com/compute/docs/reference/rest/v1/instances/setScheduling
1298
+ # @!attribute [rw] key
1299
+ # @return [::String]
1300
+ # The label key of Node resource to reference.
1301
+ # @!attribute [rw] operator
1302
+ # @return [::Google::Cloud::VMMigration::V1::SchedulingNodeAffinity::Operator]
1303
+ # The operator to use for the node resources specified in the `values`
1304
+ # parameter.
1305
+ # @!attribute [rw] values
1306
+ # @return [::Array<::String>]
1307
+ # Corresponds to the label values of Node resource.
1308
+ class SchedulingNodeAffinity
1309
+ include ::Google::Protobuf::MessageExts
1310
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1311
+
1312
+ # Possible types of node selection operators. Valid operators are IN for
1313
+ # affinity and NOT_IN for anti-affinity.
1314
+ module Operator
1315
+ # An unknown, unexpected behavior.
1316
+ OPERATOR_UNSPECIFIED = 0
1317
+
1318
+ # The node resource group should be in these resources affinity.
1319
+ IN = 1
1320
+
1321
+ # The node resource group should not be in these resources affinity.
1322
+ NOT_IN = 2
1323
+ end
1324
+ end
1325
+
1326
+ # Scheduling information for VM on maintenance/restart behaviour and
1327
+ # node allocation in sole tenant nodes.
1328
+ # @!attribute [rw] on_host_maintenance
1329
+ # @return [::Google::Cloud::VMMigration::V1::ComputeScheduling::OnHostMaintenance]
1330
+ # How the instance should behave when the host machine undergoes
1331
+ # maintenance that may temporarily impact instance performance.
1332
+ # @!attribute [rw] restart_type
1333
+ # @return [::Google::Cloud::VMMigration::V1::ComputeScheduling::RestartType]
1334
+ # Whether the Instance should be automatically restarted whenever it is
1335
+ # terminated by Compute Engine (not terminated by user).
1336
+ # This configuration is identical to `automaticRestart` field in Compute
1337
+ # Engine create instance under scheduling.
1338
+ # It was changed to an enum (instead of a boolean) to match the default
1339
+ # value in Compute Engine which is automatic restart.
1340
+ # @!attribute [rw] node_affinities
1341
+ # @return [::Array<::Google::Cloud::VMMigration::V1::SchedulingNodeAffinity>]
1342
+ # A set of node affinity and anti-affinity configurations for sole tenant
1343
+ # nodes.
1344
+ # @!attribute [rw] min_node_cpus
1345
+ # @return [::Integer]
1346
+ # The minimum number of virtual CPUs this instance will consume when
1347
+ # running on a sole-tenant node. Ignored if no node_affinites are
1348
+ # configured.
1349
+ class ComputeScheduling
1350
+ include ::Google::Protobuf::MessageExts
1351
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1352
+
1353
+ module OnHostMaintenance
1354
+ # An unknown, unexpected behavior.
1355
+ ON_HOST_MAINTENANCE_UNSPECIFIED = 0
1356
+
1357
+ # Terminate the instance when the host machine undergoes maintenance.
1358
+ TERMINATE = 1
1359
+
1360
+ # Migrate the instance when the host machine undergoes maintenance.
1361
+ MIGRATE = 2
1362
+ end
1363
+
1364
+ # Defines whether the Instance should be automatically restarted whenever
1365
+ # it is terminated by Compute Engine (not terminated by user).
1366
+ module RestartType
1367
+ # Unspecified behavior. This will use the default.
1368
+ RESTART_TYPE_UNSPECIFIED = 0
1369
+
1370
+ # The Instance should be automatically restarted whenever it is
1371
+ # terminated by Compute Engine.
1372
+ AUTOMATIC_RESTART = 1
1373
+
1374
+ # The Instance isn't automatically restarted whenever it is
1375
+ # terminated by Compute Engine.
1376
+ NO_AUTOMATIC_RESTART = 2
1377
+ end
1378
+ end
1379
+
1380
+ # A policy for scheduling replications.
1381
+ # @!attribute [rw] idle_duration
1382
+ # @return [::Google::Protobuf::Duration]
1383
+ # The idle duration between replication stages.
1384
+ # @!attribute [rw] skip_os_adaptation
1385
+ # @return [::Boolean]
1386
+ # A flag to indicate whether to skip OS adaptation during the replication
1387
+ # sync. OS adaptation is a process where the VM's operating system undergoes
1388
+ # changes and adaptations to fully function on Compute Engine.
1389
+ class SchedulePolicy
1390
+ include ::Google::Protobuf::MessageExts
1391
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1392
+ end
1393
+
1394
+ # Request message for 'CreateMigratingVm' request.
1395
+ # @!attribute [rw] parent
1396
+ # @return [::String]
1397
+ # Required. The MigratingVm's parent.
1398
+ # @!attribute [rw] migrating_vm_id
1399
+ # @return [::String]
1400
+ # Required. The migratingVm identifier.
1401
+ # @!attribute [rw] migrating_vm
1402
+ # @return [::Google::Cloud::VMMigration::V1::MigratingVm]
1403
+ # Required. The create request body.
1404
+ # @!attribute [rw] request_id
1405
+ # @return [::String]
1406
+ # A request ID to identify requests. Specify a unique request ID
1407
+ # so that if you must retry your request, the server will know to ignore
1408
+ # the request if it has already been completed. The server will guarantee
1409
+ # that for at least 60 minutes since the first request.
1410
+ #
1411
+ # For example, consider a situation where you make an initial request and t
1412
+ # he request times out. If you make the request again with the same request
1413
+ # ID, the server can check if original operation with the same request ID
1414
+ # was received, and if so, will ignore the second request. This prevents
1415
+ # clients from accidentally creating duplicate commitments.
1416
+ #
1417
+ # The request ID must be a valid UUID with the exception that zero UUID is
1418
+ # not supported (00000000-0000-0000-0000-000000000000).
1419
+ class CreateMigratingVmRequest
1420
+ include ::Google::Protobuf::MessageExts
1421
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1422
+ end
1423
+
1424
+ # Request message for 'LisMigratingVmsRequest' request.
1425
+ # @!attribute [rw] parent
1426
+ # @return [::String]
1427
+ # Required. The parent, which owns this collection of MigratingVms.
1428
+ # @!attribute [rw] page_size
1429
+ # @return [::Integer]
1430
+ # Optional. The maximum number of migrating VMs to return. The service may return
1431
+ # fewer than this value. If unspecified, at most 500 migrating VMs will be
1432
+ # returned. The maximum value is 1000; values above 1000 will be coerced to
1433
+ # 1000.
1434
+ # @!attribute [rw] page_token
1435
+ # @return [::String]
1436
+ # Required. A page token, received from a previous `ListMigratingVms` call.
1437
+ # Provide this to retrieve the subsequent page.
1438
+ #
1439
+ # When paginating, all other parameters provided to `ListMigratingVms`
1440
+ # must match the call that provided the page token.
1441
+ # @!attribute [rw] filter
1442
+ # @return [::String]
1443
+ # Optional. The filter request.
1444
+ # @!attribute [rw] order_by
1445
+ # @return [::String]
1446
+ # Optional. the order by fields for the result.
1447
+ class ListMigratingVmsRequest
1448
+ include ::Google::Protobuf::MessageExts
1449
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1450
+ end
1451
+
1452
+ # Response message for 'ListMigratingVms' request.
1453
+ # @!attribute [r] migrating_vms
1454
+ # @return [::Array<::Google::Cloud::VMMigration::V1::MigratingVm>]
1455
+ # Output only. The list of Migrating VMs response.
1456
+ # @!attribute [r] next_page_token
1457
+ # @return [::String]
1458
+ # Output only. A token, which can be sent as `page_token` to retrieve the next page.
1459
+ # If this field is omitted, there are no subsequent pages.
1460
+ # @!attribute [r] unreachable
1461
+ # @return [::Array<::String>]
1462
+ # Output only. Locations that could not be reached.
1463
+ class ListMigratingVmsResponse
1464
+ include ::Google::Protobuf::MessageExts
1465
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1466
+ end
1467
+
1468
+ # Request message for 'GetMigratingVm' request.
1469
+ # @!attribute [rw] name
1470
+ # @return [::String]
1471
+ # Required. The name of the MigratingVm.
1472
+ class GetMigratingVmRequest
1473
+ include ::Google::Protobuf::MessageExts
1474
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1475
+ end
1476
+
1477
+ # Request message for 'UpdateMigratingVm' request.
1478
+ # @!attribute [rw] update_mask
1479
+ # @return [::Google::Protobuf::FieldMask]
1480
+ # Field mask is used to specify the fields to be overwritten in the
1481
+ # MigratingVm resource by the update.
1482
+ # The fields specified in the update_mask are relative to the resource, not
1483
+ # the full request. A field will be overwritten if it is in the mask. If the
1484
+ # user does not provide a mask then all fields will be overwritten.
1485
+ # @!attribute [rw] migrating_vm
1486
+ # @return [::Google::Cloud::VMMigration::V1::MigratingVm]
1487
+ # Required. The update request body.
1488
+ # @!attribute [rw] request_id
1489
+ # @return [::String]
1490
+ # A request ID to identify requests. Specify a unique request ID
1491
+ # so that if you must retry your request, the server will know to ignore
1492
+ # the request if it has already been completed. The server will guarantee
1493
+ # that for at least 60 minutes since the first request.
1494
+ #
1495
+ # For example, consider a situation where you make an initial request and t
1496
+ # he request times out. If you make the request again with the same request
1497
+ # ID, the server can check if original operation with the same request ID
1498
+ # was received, and if so, will ignore the second request. This prevents
1499
+ # clients from accidentally creating duplicate commitments.
1500
+ #
1501
+ # The request ID must be a valid UUID with the exception that zero UUID is
1502
+ # not supported (00000000-0000-0000-0000-000000000000).
1503
+ class UpdateMigratingVmRequest
1504
+ include ::Google::Protobuf::MessageExts
1505
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1506
+ end
1507
+
1508
+ # Request message for 'DeleteMigratingVm' request.
1509
+ # @!attribute [rw] name
1510
+ # @return [::String]
1511
+ # Required. The name of the MigratingVm.
1512
+ class DeleteMigratingVmRequest
1513
+ include ::Google::Protobuf::MessageExts
1514
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1515
+ end
1516
+
1517
+ # Request message for 'StartMigrationRequest' request.
1518
+ # @!attribute [rw] migrating_vm
1519
+ # @return [::String]
1520
+ # Required. The name of the MigratingVm.
1521
+ class StartMigrationRequest
1522
+ include ::Google::Protobuf::MessageExts
1523
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1524
+ end
1525
+
1526
+ # Response message for 'StartMigration' request.
1527
+ class StartMigrationResponse
1528
+ include ::Google::Protobuf::MessageExts
1529
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1530
+ end
1531
+
1532
+ # Request message for 'PauseMigration' request.
1533
+ # @!attribute [rw] migrating_vm
1534
+ # @return [::String]
1535
+ # Required. The name of the MigratingVm.
1536
+ class PauseMigrationRequest
1537
+ include ::Google::Protobuf::MessageExts
1538
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1539
+ end
1540
+
1541
+ # Response message for 'PauseMigration' request.
1542
+ class PauseMigrationResponse
1543
+ include ::Google::Protobuf::MessageExts
1544
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1545
+ end
1546
+
1547
+ # Request message for 'ResumeMigration' request.
1548
+ # @!attribute [rw] migrating_vm
1549
+ # @return [::String]
1550
+ # Required. The name of the MigratingVm.
1551
+ class ResumeMigrationRequest
1552
+ include ::Google::Protobuf::MessageExts
1553
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1554
+ end
1555
+
1556
+ # Response message for 'ResumeMigration' request.
1557
+ class ResumeMigrationResponse
1558
+ include ::Google::Protobuf::MessageExts
1559
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1560
+ end
1561
+
1562
+ # Request message for 'FinalizeMigration' request.
1563
+ # @!attribute [rw] migrating_vm
1564
+ # @return [::String]
1565
+ # Required. The name of the MigratingVm.
1566
+ class FinalizeMigrationRequest
1567
+ include ::Google::Protobuf::MessageExts
1568
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1569
+ end
1570
+
1571
+ # Response message for 'FinalizeMigration' request.
1572
+ class FinalizeMigrationResponse
1573
+ include ::Google::Protobuf::MessageExts
1574
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1575
+ end
1576
+
1577
+ # TargetProject message represents a target Compute Engine project for a
1578
+ # migration or a clone.
1579
+ # @!attribute [rw] name
1580
+ # @return [::String]
1581
+ # The name of the target project.
1582
+ # @!attribute [rw] project
1583
+ # @return [::String]
1584
+ # The target project ID (number) or project name.
1585
+ # @!attribute [rw] description
1586
+ # @return [::String]
1587
+ # The target project's description.
1588
+ # @!attribute [r] create_time
1589
+ # @return [::Google::Protobuf::Timestamp]
1590
+ # Output only. The time this target project resource was created (not related to when the
1591
+ # Compute Engine project it points to was created).
1592
+ # @!attribute [r] update_time
1593
+ # @return [::Google::Protobuf::Timestamp]
1594
+ # Output only. The last time the target project resource was updated.
1595
+ class TargetProject
1596
+ include ::Google::Protobuf::MessageExts
1597
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1598
+ end
1599
+
1600
+ # Request message for 'GetTargetProject' call.
1601
+ # @!attribute [rw] name
1602
+ # @return [::String]
1603
+ # Required. The TargetProject name.
1604
+ class GetTargetProjectRequest
1605
+ include ::Google::Protobuf::MessageExts
1606
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1607
+ end
1608
+
1609
+ # Request message for 'ListTargetProjects' call.
1610
+ # @!attribute [rw] parent
1611
+ # @return [::String]
1612
+ # Required. The parent, which owns this collection of targets.
1613
+ # @!attribute [rw] page_size
1614
+ # @return [::Integer]
1615
+ # Optional. The maximum number of targets to return. The service may return
1616
+ # fewer than this value. If unspecified, at most 500 targets will be
1617
+ # returned. The maximum value is 1000; values above 1000 will be coerced to
1618
+ # 1000.
1619
+ # @!attribute [rw] page_token
1620
+ # @return [::String]
1621
+ # Required. A page token, received from a previous `ListTargets` call.
1622
+ # Provide this to retrieve the subsequent page.
1623
+ #
1624
+ # When paginating, all other parameters provided to `ListTargets` must
1625
+ # match the call that provided the page token.
1626
+ # @!attribute [rw] filter
1627
+ # @return [::String]
1628
+ # Optional. The filter request.
1629
+ # @!attribute [rw] order_by
1630
+ # @return [::String]
1631
+ # Optional. the order by fields for the result.
1632
+ class ListTargetProjectsRequest
1633
+ include ::Google::Protobuf::MessageExts
1634
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1635
+ end
1636
+
1637
+ # Response message for 'ListTargetProjects' call.
1638
+ # @!attribute [r] target_projects
1639
+ # @return [::Array<::Google::Cloud::VMMigration::V1::TargetProject>]
1640
+ # Output only. The list of target response.
1641
+ # @!attribute [r] next_page_token
1642
+ # @return [::String]
1643
+ # Output only. A token, which can be sent as `page_token` to retrieve the next page.
1644
+ # If this field is omitted, there are no subsequent pages.
1645
+ # @!attribute [r] unreachable
1646
+ # @return [::Array<::String>]
1647
+ # Output only. Locations that could not be reached.
1648
+ class ListTargetProjectsResponse
1649
+ include ::Google::Protobuf::MessageExts
1650
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1651
+ end
1652
+
1653
+ # Request message for 'CreateTargetProject' request.
1654
+ # @!attribute [rw] parent
1655
+ # @return [::String]
1656
+ # Required. The TargetProject's parent.
1657
+ # @!attribute [rw] target_project_id
1658
+ # @return [::String]
1659
+ # Required. The target_project identifier.
1660
+ # @!attribute [rw] target_project
1661
+ # @return [::Google::Cloud::VMMigration::V1::TargetProject]
1662
+ # Required. The create request body.
1663
+ # @!attribute [rw] request_id
1664
+ # @return [::String]
1665
+ # A request ID to identify requests. Specify a unique request ID
1666
+ # so that if you must retry your request, the server will know to ignore
1667
+ # the request if it has already been completed. The server will guarantee
1668
+ # that for at least 60 minutes since the first request.
1669
+ #
1670
+ # For example, consider a situation where you make an initial request and t
1671
+ # he request times out. If you make the request again with the same request
1672
+ # ID, the server can check if original operation with the same request ID
1673
+ # was received, and if so, will ignore the second request. This prevents
1674
+ # clients from accidentally creating duplicate commitments.
1675
+ #
1676
+ # The request ID must be a valid UUID with the exception that zero UUID is
1677
+ # not supported (00000000-0000-0000-0000-000000000000).
1678
+ class CreateTargetProjectRequest
1679
+ include ::Google::Protobuf::MessageExts
1680
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1681
+ end
1682
+
1683
+ # Update message for 'UpdateTargetProject' request.
1684
+ # @!attribute [rw] update_mask
1685
+ # @return [::Google::Protobuf::FieldMask]
1686
+ # Field mask is used to specify the fields to be overwritten in the
1687
+ # TargetProject resource by the update.
1688
+ # The fields specified in the update_mask are relative to the resource, not
1689
+ # the full request. A field will be overwritten if it is in the mask. If the
1690
+ # user does not provide a mask then all fields will be overwritten.
1691
+ # @!attribute [rw] target_project
1692
+ # @return [::Google::Cloud::VMMigration::V1::TargetProject]
1693
+ # Required. The update request body.
1694
+ # @!attribute [rw] request_id
1695
+ # @return [::String]
1696
+ # A request ID to identify requests. Specify a unique request ID
1697
+ # so that if you must retry your request, the server will know to ignore
1698
+ # the request if it has already been completed. The server will guarantee
1699
+ # that for at least 60 minutes since the first request.
1700
+ #
1701
+ # For example, consider a situation where you make an initial request and t
1702
+ # he request times out. If you make the request again with the same request
1703
+ # ID, the server can check if original operation with the same request ID
1704
+ # was received, and if so, will ignore the second request. This prevents
1705
+ # clients from accidentally creating duplicate commitments.
1706
+ #
1707
+ # The request ID must be a valid UUID with the exception that zero UUID is
1708
+ # not supported (00000000-0000-0000-0000-000000000000).
1709
+ class UpdateTargetProjectRequest
1710
+ include ::Google::Protobuf::MessageExts
1711
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1712
+ end
1713
+
1714
+ # Request message for 'DeleteTargetProject' request.
1715
+ # @!attribute [rw] name
1716
+ # @return [::String]
1717
+ # Required. The TargetProject name.
1718
+ # @!attribute [rw] request_id
1719
+ # @return [::String]
1720
+ # Optional. A request ID to identify requests. Specify a unique request ID
1721
+ # so that if you must retry your request, the server will know to ignore
1722
+ # the request if it has already been completed. The server will guarantee
1723
+ # that for at least 60 minutes after the first request.
1724
+ #
1725
+ # For example, consider a situation where you make an initial request and t
1726
+ # he request times out. If you make the request again with the same request
1727
+ # ID, the server can check if original operation with the same request ID
1728
+ # was received, and if so, will ignore the second request. This prevents
1729
+ # clients from accidentally creating duplicate commitments.
1730
+ #
1731
+ # The request ID must be a valid UUID with the exception that zero UUID is
1732
+ # not supported (00000000-0000-0000-0000-000000000000).
1733
+ class DeleteTargetProjectRequest
1734
+ include ::Google::Protobuf::MessageExts
1735
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1736
+ end
1737
+
1738
+ # Describes message for 'Group' resource. The Group is a collections of several
1739
+ # MigratingVms.
1740
+ # @!attribute [rw] name
1741
+ # @return [::String]
1742
+ # The Group name.
1743
+ # @!attribute [r] create_time
1744
+ # @return [::Google::Protobuf::Timestamp]
1745
+ # Output only. The create time timestamp.
1746
+ # @!attribute [r] update_time
1747
+ # @return [::Google::Protobuf::Timestamp]
1748
+ # Output only. The update time timestamp.
1749
+ # @!attribute [rw] description
1750
+ # @return [::String]
1751
+ # User-provided description of the group.
1752
+ # @!attribute [rw] display_name
1753
+ # @return [::String]
1754
+ # Display name is a user defined name for this group which can be updated.
1755
+ class Group
1756
+ include ::Google::Protobuf::MessageExts
1757
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1758
+ end
1759
+
1760
+ # Request message for 'ListGroups' request.
1761
+ # @!attribute [rw] parent
1762
+ # @return [::String]
1763
+ # Required. The parent, which owns this collection of groups.
1764
+ # @!attribute [rw] page_size
1765
+ # @return [::Integer]
1766
+ # Optional. The maximum number of groups to return. The service may return
1767
+ # fewer than this value. If unspecified, at most 500 groups will be
1768
+ # returned. The maximum value is 1000; values above 1000 will be coerced to
1769
+ # 1000.
1770
+ # @!attribute [rw] page_token
1771
+ # @return [::String]
1772
+ # Required. A page token, received from a previous `ListGroups` call.
1773
+ # Provide this to retrieve the subsequent page.
1774
+ #
1775
+ # When paginating, all other parameters provided to `ListGroups` must
1776
+ # match the call that provided the page token.
1777
+ # @!attribute [rw] filter
1778
+ # @return [::String]
1779
+ # Optional. The filter request.
1780
+ # @!attribute [rw] order_by
1781
+ # @return [::String]
1782
+ # Optional. the order by fields for the result.
1783
+ class ListGroupsRequest
1784
+ include ::Google::Protobuf::MessageExts
1785
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1786
+ end
1787
+
1788
+ # Response message for 'ListGroups' request.
1789
+ # @!attribute [r] groups
1790
+ # @return [::Array<::Google::Cloud::VMMigration::V1::Group>]
1791
+ # Output only. The list of groups response.
1792
+ # @!attribute [r] next_page_token
1793
+ # @return [::String]
1794
+ # Output only. A token, which can be sent as `page_token` to retrieve the next page.
1795
+ # If this field is omitted, there are no subsequent pages.
1796
+ # @!attribute [r] unreachable
1797
+ # @return [::Array<::String>]
1798
+ # Output only. Locations that could not be reached.
1799
+ class ListGroupsResponse
1800
+ include ::Google::Protobuf::MessageExts
1801
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1802
+ end
1803
+
1804
+ # Request message for 'GetGroup' request.
1805
+ # @!attribute [rw] name
1806
+ # @return [::String]
1807
+ # Required. The group name.
1808
+ class GetGroupRequest
1809
+ include ::Google::Protobuf::MessageExts
1810
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1811
+ end
1812
+
1813
+ # Request message for 'CreateGroup' request.
1814
+ # @!attribute [rw] parent
1815
+ # @return [::String]
1816
+ # Required. The Group's parent.
1817
+ # @!attribute [rw] group_id
1818
+ # @return [::String]
1819
+ # Required. The group identifier.
1820
+ # @!attribute [rw] group
1821
+ # @return [::Google::Cloud::VMMigration::V1::Group]
1822
+ # Required. The create request body.
1823
+ # @!attribute [rw] request_id
1824
+ # @return [::String]
1825
+ # A request ID to identify requests. Specify a unique request ID
1826
+ # so that if you must retry your request, the server will know to ignore
1827
+ # the request if it has already been completed. The server will guarantee
1828
+ # that for at least 60 minutes since the first request.
1829
+ #
1830
+ # For example, consider a situation where you make an initial request and t
1831
+ # he request times out. If you make the request again with the same request
1832
+ # ID, the server can check if original operation with the same request ID
1833
+ # was received, and if so, will ignore the second request. This prevents
1834
+ # clients from accidentally creating duplicate commitments.
1835
+ #
1836
+ # The request ID must be a valid UUID with the exception that zero UUID is
1837
+ # not supported (00000000-0000-0000-0000-000000000000).
1838
+ class CreateGroupRequest
1839
+ include ::Google::Protobuf::MessageExts
1840
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1841
+ end
1842
+
1843
+ # Update message for 'UpdateGroups' request.
1844
+ # @!attribute [rw] update_mask
1845
+ # @return [::Google::Protobuf::FieldMask]
1846
+ # Field mask is used to specify the fields to be overwritten in the
1847
+ # Group resource by the update.
1848
+ # The fields specified in the update_mask are relative to the resource, not
1849
+ # the full request. A field will be overwritten if it is in the mask. If the
1850
+ # user does not provide a mask then all fields will be overwritten.
1851
+ # @!attribute [rw] group
1852
+ # @return [::Google::Cloud::VMMigration::V1::Group]
1853
+ # Required. The update request body.
1854
+ # @!attribute [rw] request_id
1855
+ # @return [::String]
1856
+ # A request ID to identify requests. Specify a unique request ID
1857
+ # so that if you must retry your request, the server will know to ignore
1858
+ # the request if it has already been completed. The server will guarantee
1859
+ # that for at least 60 minutes since the first request.
1860
+ #
1861
+ # For example, consider a situation where you make an initial request and t
1862
+ # he request times out. If you make the request again with the same request
1863
+ # ID, the server can check if original operation with the same request ID
1864
+ # was received, and if so, will ignore the second request. This prevents
1865
+ # clients from accidentally creating duplicate commitments.
1866
+ #
1867
+ # The request ID must be a valid UUID with the exception that zero UUID is
1868
+ # not supported (00000000-0000-0000-0000-000000000000).
1869
+ class UpdateGroupRequest
1870
+ include ::Google::Protobuf::MessageExts
1871
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1872
+ end
1873
+
1874
+ # Request message for 'DeleteGroup' request.
1875
+ # @!attribute [rw] name
1876
+ # @return [::String]
1877
+ # Required. The Group name.
1878
+ # @!attribute [rw] request_id
1879
+ # @return [::String]
1880
+ # Optional. A request ID to identify requests. Specify a unique request ID
1881
+ # so that if you must retry your request, the server will know to ignore
1882
+ # the request if it has already been completed. The server will guarantee
1883
+ # that for at least 60 minutes after the first request.
1884
+ #
1885
+ # For example, consider a situation where you make an initial request and t
1886
+ # he request times out. If you make the request again with the same request
1887
+ # ID, the server can check if original operation with the same request ID
1888
+ # was received, and if so, will ignore the second request. This prevents
1889
+ # clients from accidentally creating duplicate commitments.
1890
+ #
1891
+ # The request ID must be a valid UUID with the exception that zero UUID is
1892
+ # not supported (00000000-0000-0000-0000-000000000000).
1893
+ class DeleteGroupRequest
1894
+ include ::Google::Protobuf::MessageExts
1895
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1896
+ end
1897
+
1898
+ # Request message for 'AddGroupMigration' request.
1899
+ # @!attribute [rw] group
1900
+ # @return [::String]
1901
+ # Required. The full path name of the Group to add to.
1902
+ # @!attribute [rw] migrating_vm
1903
+ # @return [::String]
1904
+ # The full path name of the MigratingVm to add.
1905
+ class AddGroupMigrationRequest
1906
+ include ::Google::Protobuf::MessageExts
1907
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1908
+ end
1909
+
1910
+ # Response message for 'AddGroupMigration' request.
1911
+ class AddGroupMigrationResponse
1912
+ include ::Google::Protobuf::MessageExts
1913
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1914
+ end
1915
+
1916
+ # Request message for 'RemoveMigration' request.
1917
+ # @!attribute [rw] group
1918
+ # @return [::String]
1919
+ # Required. The name of the Group.
1920
+ # @!attribute [rw] migrating_vm
1921
+ # @return [::String]
1922
+ # The MigratingVm to remove.
1923
+ class RemoveGroupMigrationRequest
1924
+ include ::Google::Protobuf::MessageExts
1925
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1926
+ end
1927
+
1928
+ # Response message for 'RemoveMigration' request.
1929
+ class RemoveGroupMigrationResponse
1930
+ include ::Google::Protobuf::MessageExts
1931
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1932
+ end
1933
+
1934
+ # Request message for 'CreateCutoverJob' request.
1935
+ # @!attribute [rw] parent
1936
+ # @return [::String]
1937
+ # Required. The Cutover's parent.
1938
+ # @!attribute [rw] cutover_job_id
1939
+ # @return [::String]
1940
+ # Required. The cutover job identifier.
1941
+ # @!attribute [rw] cutover_job
1942
+ # @return [::Google::Cloud::VMMigration::V1::CutoverJob]
1943
+ # Required. The cutover request body.
1944
+ # @!attribute [rw] request_id
1945
+ # @return [::String]
1946
+ # A request ID to identify requests. Specify a unique request ID
1947
+ # so that if you must retry your request, the server will know to ignore
1948
+ # the request if it has already been completed. The server will guarantee
1949
+ # that for at least 60 minutes since the first request.
1950
+ #
1951
+ # For example, consider a situation where you make an initial request and t
1952
+ # he request times out. If you make the request again with the same request
1953
+ # ID, the server can check if original operation with the same request ID
1954
+ # was received, and if so, will ignore the second request. This prevents
1955
+ # clients from accidentally creating duplicate commitments.
1956
+ #
1957
+ # The request ID must be a valid UUID with the exception that zero UUID is
1958
+ # not supported (00000000-0000-0000-0000-000000000000).
1959
+ class CreateCutoverJobRequest
1960
+ include ::Google::Protobuf::MessageExts
1961
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1962
+ end
1963
+
1964
+ # Request message for 'CancelCutoverJob' request.
1965
+ # @!attribute [rw] name
1966
+ # @return [::String]
1967
+ # Required. The cutover job id
1968
+ class CancelCutoverJobRequest
1969
+ include ::Google::Protobuf::MessageExts
1970
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1971
+ end
1972
+
1973
+ # Response message for 'CancelCutoverJob' request.
1974
+ class CancelCutoverJobResponse
1975
+ include ::Google::Protobuf::MessageExts
1976
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1977
+ end
1978
+
1979
+ # Request message for 'ListCutoverJobsRequest' request.
1980
+ # @!attribute [rw] parent
1981
+ # @return [::String]
1982
+ # Required. The parent, which owns this collection of migrating VMs.
1983
+ # @!attribute [rw] page_size
1984
+ # @return [::Integer]
1985
+ # Optional. The maximum number of cutover jobs to return. The service may return
1986
+ # fewer than this value. If unspecified, at most 500 cutover jobs will be
1987
+ # returned. The maximum value is 1000; values above 1000 will be coerced to
1988
+ # 1000.
1989
+ # @!attribute [rw] page_token
1990
+ # @return [::String]
1991
+ # Required. A page token, received from a previous `ListCutoverJobs` call.
1992
+ # Provide this to retrieve the subsequent page.
1993
+ #
1994
+ # When paginating, all other parameters provided to `ListCutoverJobs` must
1995
+ # match the call that provided the page token.
1996
+ # @!attribute [rw] filter
1997
+ # @return [::String]
1998
+ # Optional. The filter request.
1999
+ # @!attribute [rw] order_by
2000
+ # @return [::String]
2001
+ # Optional. the order by fields for the result.
2002
+ class ListCutoverJobsRequest
2003
+ include ::Google::Protobuf::MessageExts
2004
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2005
+ end
2006
+
2007
+ # Response message for 'ListCutoverJobs' request.
2008
+ # @!attribute [r] cutover_jobs
2009
+ # @return [::Array<::Google::Cloud::VMMigration::V1::CutoverJob>]
2010
+ # Output only. The list of cutover jobs response.
2011
+ # @!attribute [r] next_page_token
2012
+ # @return [::String]
2013
+ # Output only. A token, which can be sent as `page_token` to retrieve the next page.
2014
+ # If this field is omitted, there are no subsequent pages.
2015
+ # @!attribute [r] unreachable
2016
+ # @return [::Array<::String>]
2017
+ # Output only. Locations that could not be reached.
2018
+ class ListCutoverJobsResponse
2019
+ include ::Google::Protobuf::MessageExts
2020
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2021
+ end
2022
+
2023
+ # Request message for 'GetCutoverJob' request.
2024
+ # @!attribute [rw] name
2025
+ # @return [::String]
2026
+ # Required. The name of the CutoverJob.
2027
+ class GetCutoverJobRequest
2028
+ include ::Google::Protobuf::MessageExts
2029
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2030
+ end
2031
+
2032
+ # Represents the metadata of the long-running operation.
2033
+ # @!attribute [r] create_time
2034
+ # @return [::Google::Protobuf::Timestamp]
2035
+ # Output only. The time the operation was created.
2036
+ # @!attribute [r] end_time
2037
+ # @return [::Google::Protobuf::Timestamp]
2038
+ # Output only. The time the operation finished running.
2039
+ # @!attribute [r] target
2040
+ # @return [::String]
2041
+ # Output only. Server-defined resource path for the target of the operation.
2042
+ # @!attribute [r] verb
2043
+ # @return [::String]
2044
+ # Output only. Name of the verb executed by the operation.
2045
+ # @!attribute [r] status_message
2046
+ # @return [::String]
2047
+ # Output only. Human-readable status of the operation, if any.
2048
+ # @!attribute [r] requested_cancellation
2049
+ # @return [::Boolean]
2050
+ # Output only. Identifies whether the user has requested cancellation
2051
+ # of the operation. Operations that have successfully been cancelled
2052
+ # have [Operation.error][] value with a {::Google::Rpc::Status#code google.rpc.Status.code} of 1,
2053
+ # corresponding to `Code.CANCELLED`.
2054
+ # @!attribute [r] api_version
2055
+ # @return [::String]
2056
+ # Output only. API version used to start the operation.
2057
+ class OperationMetadata
2058
+ include ::Google::Protobuf::MessageExts
2059
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2060
+ end
2061
+
2062
+ # Represents migration resource error information that can be used with
2063
+ # google.rpc.Status message. MigrationError is used to present the user with
2064
+ # error information in migration operations.
2065
+ # @!attribute [r] code
2066
+ # @return [::Google::Cloud::VMMigration::V1::MigrationError::ErrorCode]
2067
+ # Output only. The error code.
2068
+ # @!attribute [r] error_message
2069
+ # @return [::Google::Rpc::LocalizedMessage]
2070
+ # Output only. The localized error message.
2071
+ # @!attribute [r] action_item
2072
+ # @return [::Google::Rpc::LocalizedMessage]
2073
+ # Output only. Suggested action for solving the error.
2074
+ # @!attribute [r] help_links
2075
+ # @return [::Array<::Google::Rpc::Help::Link>]
2076
+ # Output only. URL(s) pointing to additional information on handling the current error.
2077
+ # @!attribute [r] error_time
2078
+ # @return [::Google::Protobuf::Timestamp]
2079
+ # Output only. The time the error occurred.
2080
+ class MigrationError
2081
+ include ::Google::Protobuf::MessageExts
2082
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2083
+
2084
+ # Represents resource error codes.
2085
+ module ErrorCode
2086
+ # Default value. This value is not used.
2087
+ ERROR_CODE_UNSPECIFIED = 0
2088
+
2089
+ # Migrate for Compute encountered an unknown error.
2090
+ UNKNOWN_ERROR = 1
2091
+
2092
+ # Migrate for Compute encountered an error while validating replication
2093
+ # source health.
2094
+ SOURCE_VALIDATION_ERROR = 2
2095
+
2096
+ # Migrate for Compute encountered an error during source data operation.
2097
+ SOURCE_REPLICATION_ERROR = 3
2098
+
2099
+ # Migrate for Compute encountered an error during target data operation.
2100
+ TARGET_REPLICATION_ERROR = 4
2101
+
2102
+ # Migrate for Compute encountered an error during OS adaptation.
2103
+ OS_ADAPTATION_ERROR = 5
2104
+
2105
+ # Migrate for Compute encountered an error in clone operation.
2106
+ CLONE_ERROR = 6
2107
+
2108
+ # Migrate for Compute encountered an error in cutover operation.
2109
+ CUTOVER_ERROR = 7
2110
+
2111
+ # Migrate for Compute encountered an error during utilization report
2112
+ # creation.
2113
+ UTILIZATION_REPORT_ERROR = 8
2114
+ end
2115
+ end
2116
+
2117
+ # Controls the level of details of a Utilization Report.
2118
+ module UtilizationReportView
2119
+ # The default / unset value.
2120
+ # The API will default to FULL on single report request and BASIC for
2121
+ # multiple reports request.
2122
+ UTILIZATION_REPORT_VIEW_UNSPECIFIED = 0
2123
+
2124
+ # Get the report metadata, without the list of VMs and their utilization
2125
+ # info.
2126
+ BASIC = 1
2127
+
2128
+ # Include everything.
2129
+ FULL = 2
2130
+ end
2131
+
2132
+ # Types of disks supported for Compute Engine VM.
2133
+ module ComputeEngineDiskType
2134
+ # An unspecified disk type. Will be used as STANDARD.
2135
+ COMPUTE_ENGINE_DISK_TYPE_UNSPECIFIED = 0
2136
+
2137
+ # A Standard disk type.
2138
+ COMPUTE_ENGINE_DISK_TYPE_STANDARD = 1
2139
+
2140
+ # SSD hard disk type.
2141
+ COMPUTE_ENGINE_DISK_TYPE_SSD = 2
2142
+
2143
+ # An alternative to SSD persistent disks that balance performance and
2144
+ # cost.
2145
+ COMPUTE_ENGINE_DISK_TYPE_BALANCED = 3
2146
+ end
2147
+
2148
+ # Types of licenses used in OS adaptation.
2149
+ module ComputeEngineLicenseType
2150
+ # The license type is the default for the OS.
2151
+ COMPUTE_ENGINE_LICENSE_TYPE_DEFAULT = 0
2152
+
2153
+ # The license type is Pay As You Go license type.
2154
+ COMPUTE_ENGINE_LICENSE_TYPE_PAYG = 1
2155
+
2156
+ # The license type is Bring Your Own License type.
2157
+ COMPUTE_ENGINE_LICENSE_TYPE_BYOL = 2
2158
+ end
2159
+
2160
+ # Possible values for vm boot option.
2161
+ module ComputeEngineBootOption
2162
+ # The boot option is unknown.
2163
+ COMPUTE_ENGINE_BOOT_OPTION_UNSPECIFIED = 0
2164
+
2165
+ # The boot option is EFI.
2166
+ COMPUTE_ENGINE_BOOT_OPTION_EFI = 1
2167
+
2168
+ # The boot option is BIOS.
2169
+ COMPUTE_ENGINE_BOOT_OPTION_BIOS = 2
2170
+ end
2171
+ end
2172
+ end
2173
+ end
2174
+ end