google-apis-migrationcenter_v1alpha1 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,3011 @@
1
+ # Copyright 2020 Google LLC
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ require 'date'
16
+ require 'google/apis/core/base_service'
17
+ require 'google/apis/core/json_representation'
18
+ require 'google/apis/core/hashable'
19
+ require 'google/apis/errors'
20
+
21
+ module Google
22
+ module Apis
23
+ module MigrationcenterV1alpha1
24
+
25
+ # A request to aggregate one or more values.
26
+ class AggregateAssetsValuesRequest
27
+ include Google::Apis::Core::Hashable
28
+
29
+ # Array of aggregations to perform. Up to 25 aggregations can be defined.
30
+ # Corresponds to the JSON property `aggregations`
31
+ # @return [Array<Google::Apis::MigrationcenterV1alpha1::Aggregation>]
32
+ attr_accessor :aggregations
33
+
34
+ # The aggregation will be performed on assets that match the provided filter.
35
+ # Corresponds to the JSON property `filter`
36
+ # @return [String]
37
+ attr_accessor :filter
38
+
39
+ def initialize(**args)
40
+ update!(**args)
41
+ end
42
+
43
+ # Update properties of this object
44
+ def update!(**args)
45
+ @aggregations = args[:aggregations] if args.key?(:aggregations)
46
+ @filter = args[:filter] if args.key?(:filter)
47
+ end
48
+ end
49
+
50
+ # A response to a request to aggregated assets values.
51
+ class AggregateAssetsValuesResponse
52
+ include Google::Apis::Core::Hashable
53
+
54
+ # The aggregation results.
55
+ # Corresponds to the JSON property `results`
56
+ # @return [Array<Google::Apis::MigrationcenterV1alpha1::AggregationResult>]
57
+ attr_accessor :results
58
+
59
+ def initialize(**args)
60
+ update!(**args)
61
+ end
62
+
63
+ # Update properties of this object
64
+ def update!(**args)
65
+ @results = args[:results] if args.key?(:results)
66
+ end
67
+ end
68
+
69
+ # Message describing an aggregation. The message includes the aggregation type,
70
+ # parameters, and the field on which to perform the aggregation.
71
+ class Aggregation
72
+ include Google::Apis::Core::Hashable
73
+
74
+ # Object count.
75
+ # Corresponds to the JSON property `count`
76
+ # @return [Google::Apis::MigrationcenterV1alpha1::AggregationCount]
77
+ attr_accessor :count
78
+
79
+ # The name of the field on which to aggregate.
80
+ # Corresponds to the JSON property `field`
81
+ # @return [String]
82
+ attr_accessor :field
83
+
84
+ # Frequency distribution of all field values.
85
+ # Corresponds to the JSON property `frequency`
86
+ # @return [Google::Apis::MigrationcenterV1alpha1::AggregationFrequency]
87
+ attr_accessor :frequency
88
+
89
+ # Histogram of bucketed assets counts by field value.
90
+ # Corresponds to the JSON property `histogram`
91
+ # @return [Google::Apis::MigrationcenterV1alpha1::AggregationHistogram]
92
+ attr_accessor :histogram
93
+
94
+ # Sum of field values.
95
+ # Corresponds to the JSON property `sum`
96
+ # @return [Google::Apis::MigrationcenterV1alpha1::AggregationSum]
97
+ attr_accessor :sum
98
+
99
+ def initialize(**args)
100
+ update!(**args)
101
+ end
102
+
103
+ # Update properties of this object
104
+ def update!(**args)
105
+ @count = args[:count] if args.key?(:count)
106
+ @field = args[:field] if args.key?(:field)
107
+ @frequency = args[:frequency] if args.key?(:frequency)
108
+ @histogram = args[:histogram] if args.key?(:histogram)
109
+ @sum = args[:sum] if args.key?(:sum)
110
+ end
111
+ end
112
+
113
+ # Object count.
114
+ class AggregationCount
115
+ include Google::Apis::Core::Hashable
116
+
117
+ def initialize(**args)
118
+ update!(**args)
119
+ end
120
+
121
+ # Update properties of this object
122
+ def update!(**args)
123
+ end
124
+ end
125
+
126
+ # Frequency distribution of all field values.
127
+ class AggregationFrequency
128
+ include Google::Apis::Core::Hashable
129
+
130
+ def initialize(**args)
131
+ update!(**args)
132
+ end
133
+
134
+ # Update properties of this object
135
+ def update!(**args)
136
+ end
137
+ end
138
+
139
+ # Histogram of bucketed assets counts by field value.
140
+ class AggregationHistogram
141
+ include Google::Apis::Core::Hashable
142
+
143
+ # Lower bounds of buckets. The response will contain `n+1` buckets for `n`
144
+ # bounds. The first bucket will count all assets for which the field value is
145
+ # smaller than the first bound. Subsequent buckets will count assets for which
146
+ # the field value is greater or equal to a lower bound and smaller than the next
147
+ # one. The last bucket will count assets for which the field value is greater or
148
+ # equal to the final lower bound. You can define up to 20 lower bounds.
149
+ # Corresponds to the JSON property `lowerBounds`
150
+ # @return [Array<Float>]
151
+ attr_accessor :lower_bounds
152
+
153
+ def initialize(**args)
154
+ update!(**args)
155
+ end
156
+
157
+ # Update properties of this object
158
+ def update!(**args)
159
+ @lower_bounds = args[:lower_bounds] if args.key?(:lower_bounds)
160
+ end
161
+ end
162
+
163
+ # Message describing a result of an aggregation.
164
+ class AggregationResult
165
+ include Google::Apis::Core::Hashable
166
+
167
+ # The result of a count aggregation.
168
+ # Corresponds to the JSON property `count`
169
+ # @return [Google::Apis::MigrationcenterV1alpha1::AggregationResultCount]
170
+ attr_accessor :count
171
+
172
+ #
173
+ # Corresponds to the JSON property `field`
174
+ # @return [String]
175
+ attr_accessor :field
176
+
177
+ # The result of a frequency distribution aggregation.
178
+ # Corresponds to the JSON property `frequency`
179
+ # @return [Google::Apis::MigrationcenterV1alpha1::AggregationResultFrequency]
180
+ attr_accessor :frequency
181
+
182
+ # The result of a bucketed histogram aggregation.
183
+ # Corresponds to the JSON property `histogram`
184
+ # @return [Google::Apis::MigrationcenterV1alpha1::AggregationResultHistogram]
185
+ attr_accessor :histogram
186
+
187
+ # The result of a sum aggregation.
188
+ # Corresponds to the JSON property `sum`
189
+ # @return [Google::Apis::MigrationcenterV1alpha1::AggregationResultSum]
190
+ attr_accessor :sum
191
+
192
+ def initialize(**args)
193
+ update!(**args)
194
+ end
195
+
196
+ # Update properties of this object
197
+ def update!(**args)
198
+ @count = args[:count] if args.key?(:count)
199
+ @field = args[:field] if args.key?(:field)
200
+ @frequency = args[:frequency] if args.key?(:frequency)
201
+ @histogram = args[:histogram] if args.key?(:histogram)
202
+ @sum = args[:sum] if args.key?(:sum)
203
+ end
204
+ end
205
+
206
+ # The result of a count aggregation.
207
+ class AggregationResultCount
208
+ include Google::Apis::Core::Hashable
209
+
210
+ #
211
+ # Corresponds to the JSON property `value`
212
+ # @return [Fixnum]
213
+ attr_accessor :value
214
+
215
+ def initialize(**args)
216
+ update!(**args)
217
+ end
218
+
219
+ # Update properties of this object
220
+ def update!(**args)
221
+ @value = args[:value] if args.key?(:value)
222
+ end
223
+ end
224
+
225
+ # The result of a frequency distribution aggregation.
226
+ class AggregationResultFrequency
227
+ include Google::Apis::Core::Hashable
228
+
229
+ #
230
+ # Corresponds to the JSON property `values`
231
+ # @return [Hash<String,Fixnum>]
232
+ attr_accessor :values
233
+
234
+ def initialize(**args)
235
+ update!(**args)
236
+ end
237
+
238
+ # Update properties of this object
239
+ def update!(**args)
240
+ @values = args[:values] if args.key?(:values)
241
+ end
242
+ end
243
+
244
+ # The result of a bucketed histogram aggregation.
245
+ class AggregationResultHistogram
246
+ include Google::Apis::Core::Hashable
247
+
248
+ # Buckets in the histogram. There will be `n+1` buckets matching `n` lower
249
+ # bounds in the request. The first bucket will be from -infinity to the first
250
+ # bound. Subsequent buckets will be between one bound and the next. The final
251
+ # bucket will be from the final bound to infinity.
252
+ # Corresponds to the JSON property `buckets`
253
+ # @return [Array<Google::Apis::MigrationcenterV1alpha1::AggregationResultHistogramBucket>]
254
+ attr_accessor :buckets
255
+
256
+ def initialize(**args)
257
+ update!(**args)
258
+ end
259
+
260
+ # Update properties of this object
261
+ def update!(**args)
262
+ @buckets = args[:buckets] if args.key?(:buckets)
263
+ end
264
+ end
265
+
266
+ # A histogram bucket with a lower and upper bound, and a count of items with a
267
+ # field value between those bounds. The lower bound is inclusive and the upper
268
+ # bound is exclusive. Lower bound may be -infinity and upper bound may be
269
+ # infinity.
270
+ class AggregationResultHistogramBucket
271
+ include Google::Apis::Core::Hashable
272
+
273
+ # Count of items in the bucket.
274
+ # Corresponds to the JSON property `count`
275
+ # @return [Fixnum]
276
+ attr_accessor :count
277
+
278
+ # Lower bound - inclusive.
279
+ # Corresponds to the JSON property `lowerBound`
280
+ # @return [Float]
281
+ attr_accessor :lower_bound
282
+
283
+ # Upper bound - exclusive.
284
+ # Corresponds to the JSON property `upperBound`
285
+ # @return [Float]
286
+ attr_accessor :upper_bound
287
+
288
+ def initialize(**args)
289
+ update!(**args)
290
+ end
291
+
292
+ # Update properties of this object
293
+ def update!(**args)
294
+ @count = args[:count] if args.key?(:count)
295
+ @lower_bound = args[:lower_bound] if args.key?(:lower_bound)
296
+ @upper_bound = args[:upper_bound] if args.key?(:upper_bound)
297
+ end
298
+ end
299
+
300
+ # The result of a sum aggregation.
301
+ class AggregationResultSum
302
+ include Google::Apis::Core::Hashable
303
+
304
+ #
305
+ # Corresponds to the JSON property `value`
306
+ # @return [Float]
307
+ attr_accessor :value
308
+
309
+ def initialize(**args)
310
+ update!(**args)
311
+ end
312
+
313
+ # Update properties of this object
314
+ def update!(**args)
315
+ @value = args[:value] if args.key?(:value)
316
+ end
317
+ end
318
+
319
+ # Sum of field values.
320
+ class AggregationSum
321
+ include Google::Apis::Core::Hashable
322
+
323
+ def initialize(**args)
324
+ update!(**args)
325
+ end
326
+
327
+ # Update properties of this object
328
+ def update!(**args)
329
+ end
330
+ end
331
+
332
+ # An asset represents a resource in your environment. Asset types include
333
+ # virtual machines and databases.
334
+ class Asset
335
+ include Google::Apis::Core::Hashable
336
+
337
+ # Generic asset attributes.
338
+ # Corresponds to the JSON property `attributes`
339
+ # @return [Hash<String,String>]
340
+ attr_accessor :attributes
341
+
342
+ # Output only. The timestamp when the asset was created.
343
+ # Corresponds to the JSON property `createTime`
344
+ # @return [String]
345
+ attr_accessor :create_time
346
+
347
+ # Labels as key value pairs.
348
+ # Corresponds to the JSON property `labels`
349
+ # @return [Hash<String,String>]
350
+ attr_accessor :labels
351
+
352
+ # Output only. The full name of the asset.
353
+ # Corresponds to the JSON property `name`
354
+ # @return [String]
355
+ attr_accessor :name
356
+
357
+ # Output only. The list of sources contributing to the asset.
358
+ # Corresponds to the JSON property `sources`
359
+ # @return [Array<String>]
360
+ attr_accessor :sources
361
+
362
+ # Output only. The timestamp when the asset was last updated.
363
+ # Corresponds to the JSON property `updateTime`
364
+ # @return [String]
365
+ attr_accessor :update_time
366
+
367
+ # Details of a VirtualMachine.
368
+ # Corresponds to the JSON property `virtualMachineDetails`
369
+ # @return [Google::Apis::MigrationcenterV1alpha1::VirtualMachineDetails]
370
+ attr_accessor :virtual_machine_details
371
+
372
+ def initialize(**args)
373
+ update!(**args)
374
+ end
375
+
376
+ # Update properties of this object
377
+ def update!(**args)
378
+ @attributes = args[:attributes] if args.key?(:attributes)
379
+ @create_time = args[:create_time] if args.key?(:create_time)
380
+ @labels = args[:labels] if args.key?(:labels)
381
+ @name = args[:name] if args.key?(:name)
382
+ @sources = args[:sources] if args.key?(:sources)
383
+ @update_time = args[:update_time] if args.key?(:update_time)
384
+ @virtual_machine_details = args[:virtual_machine_details] if args.key?(:virtual_machine_details)
385
+ end
386
+ end
387
+
388
+ # Contains data reported from an inventory source on an asset.
389
+ class AssetFrame
390
+ include Google::Apis::Core::Hashable
391
+
392
+ # Generic asset attributes.
393
+ # Corresponds to the JSON property `attributes`
394
+ # @return [Hash<String,String>]
395
+ attr_accessor :attributes
396
+
397
+ # Labels as key value pairs.
398
+ # Corresponds to the JSON property `labels`
399
+ # @return [Hash<String,String>]
400
+ attr_accessor :labels
401
+
402
+ # Asset performance data samples.
403
+ # Corresponds to the JSON property `performanceSamples`
404
+ # @return [Array<Google::Apis::MigrationcenterV1alpha1::PerformanceSample>]
405
+ attr_accessor :performance_samples
406
+
407
+ # The time the data was reported.
408
+ # Corresponds to the JSON property `reportTime`
409
+ # @return [String]
410
+ attr_accessor :report_time
411
+
412
+ # Optional. Trace token is optionally provided to assist with debugging and
413
+ # traceability.
414
+ # Corresponds to the JSON property `traceToken`
415
+ # @return [String]
416
+ attr_accessor :trace_token
417
+
418
+ # Details of a VirtualMachine.
419
+ # Corresponds to the JSON property `virtualMachineDetails`
420
+ # @return [Google::Apis::MigrationcenterV1alpha1::VirtualMachineDetails]
421
+ attr_accessor :virtual_machine_details
422
+
423
+ def initialize(**args)
424
+ update!(**args)
425
+ end
426
+
427
+ # Update properties of this object
428
+ def update!(**args)
429
+ @attributes = args[:attributes] if args.key?(:attributes)
430
+ @labels = args[:labels] if args.key?(:labels)
431
+ @performance_samples = args[:performance_samples] if args.key?(:performance_samples)
432
+ @report_time = args[:report_time] if args.key?(:report_time)
433
+ @trace_token = args[:trace_token] if args.key?(:trace_token)
434
+ @virtual_machine_details = args[:virtual_machine_details] if args.key?(:virtual_machine_details)
435
+ end
436
+ end
437
+
438
+ # A request to update a list of assets.
439
+ class BatchUpdateAssetsRequest
440
+ include Google::Apis::Core::Hashable
441
+
442
+ # Required. The request message specifying the resources to update. A maximum of
443
+ # 1000 assets can be modified in a batch.
444
+ # Corresponds to the JSON property `requests`
445
+ # @return [Array<Google::Apis::MigrationcenterV1alpha1::UpdateAssetRequest>]
446
+ attr_accessor :requests
447
+
448
+ def initialize(**args)
449
+ update!(**args)
450
+ end
451
+
452
+ # Update properties of this object
453
+ def update!(**args)
454
+ @requests = args[:requests] if args.key?(:requests)
455
+ end
456
+ end
457
+
458
+ # Response for updating a list of assets.
459
+ class BatchUpdateAssetsResponse
460
+ include Google::Apis::Core::Hashable
461
+
462
+ # Update asset content. The content only includes values after field mask being
463
+ # applied.
464
+ # Corresponds to the JSON property `assets`
465
+ # @return [Array<Google::Apis::MigrationcenterV1alpha1::Asset>]
466
+ attr_accessor :assets
467
+
468
+ def initialize(**args)
469
+ update!(**args)
470
+ end
471
+
472
+ # Update properties of this object
473
+ def update!(**args)
474
+ @assets = args[:assets] if args.key?(:assets)
475
+ end
476
+ end
477
+
478
+ # Details about the bios.
479
+ class BiosDetails
480
+ include Google::Apis::Core::Hashable
481
+
482
+ # Bios manufacturer.
483
+ # Corresponds to the JSON property `biosManufacturer`
484
+ # @return [String]
485
+ attr_accessor :bios_manufacturer
486
+
487
+ # Bios name.
488
+ # Corresponds to the JSON property `biosName`
489
+ # @return [String]
490
+ attr_accessor :bios_name
491
+
492
+ # Bios release date.
493
+ # Corresponds to the JSON property `biosReleaseDate`
494
+ # @return [String]
495
+ attr_accessor :bios_release_date
496
+
497
+ # Bios version.
498
+ # Corresponds to the JSON property `biosVersion`
499
+ # @return [String]
500
+ attr_accessor :bios_version
501
+
502
+ # SMBios UUID.
503
+ # Corresponds to the JSON property `smbiosUuid`
504
+ # @return [String]
505
+ attr_accessor :smbios_uuid
506
+
507
+ def initialize(**args)
508
+ update!(**args)
509
+ end
510
+
511
+ # Update properties of this object
512
+ def update!(**args)
513
+ @bios_manufacturer = args[:bios_manufacturer] if args.key?(:bios_manufacturer)
514
+ @bios_name = args[:bios_name] if args.key?(:bios_name)
515
+ @bios_release_date = args[:bios_release_date] if args.key?(:bios_release_date)
516
+ @bios_version = args[:bios_version] if args.key?(:bios_version)
517
+ @smbios_uuid = args[:smbios_uuid] if args.key?(:smbios_uuid)
518
+ end
519
+ end
520
+
521
+ # The request message for Operations.CancelOperation.
522
+ class CancelOperationRequest
523
+ include Google::Apis::Core::Hashable
524
+
525
+ def initialize(**args)
526
+ update!(**args)
527
+ end
528
+
529
+ # Update properties of this object
530
+ def update!(**args)
531
+ end
532
+ end
533
+
534
+ # CPU usage sample.
535
+ class CpuUsageSample
536
+ include Google::Apis::Core::Hashable
537
+
538
+ # Percentage of total CPU capacity utilized. Must be in the interval [0, 100].
539
+ # On most systems can be calculated using 100 - idle percentage.
540
+ # Corresponds to the JSON property `utilizedPercentage`
541
+ # @return [Float]
542
+ attr_accessor :utilized_percentage
543
+
544
+ def initialize(**args)
545
+ update!(**args)
546
+ end
547
+
548
+ # Update properties of this object
549
+ def update!(**args)
550
+ @utilized_percentage = args[:utilized_percentage] if args.key?(:utilized_percentage)
551
+ end
552
+ end
553
+
554
+ # Represents a whole or partial calendar date, such as a birthday. The time of
555
+ # day and time zone are either specified elsewhere or are insignificant. The
556
+ # date is relative to the Gregorian Calendar. This can represent one of the
557
+ # following: * A full date, with non-zero year, month, and day values. * A month
558
+ # and day, with a zero year (for example, an anniversary). * A year on its own,
559
+ # with a zero month and a zero day. * A year and month, with a zero day (for
560
+ # example, a credit card expiration date). Related types: * google.type.
561
+ # TimeOfDay * google.type.DateTime * google.protobuf.Timestamp
562
+ class Date
563
+ include Google::Apis::Core::Hashable
564
+
565
+ # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to
566
+ # specify a year by itself or a year and month where the day isn't significant.
567
+ # Corresponds to the JSON property `day`
568
+ # @return [Fixnum]
569
+ attr_accessor :day
570
+
571
+ # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month
572
+ # and day.
573
+ # Corresponds to the JSON property `month`
574
+ # @return [Fixnum]
575
+ attr_accessor :month
576
+
577
+ # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a
578
+ # year.
579
+ # Corresponds to the JSON property `year`
580
+ # @return [Fixnum]
581
+ attr_accessor :year
582
+
583
+ def initialize(**args)
584
+ update!(**args)
585
+ end
586
+
587
+ # Update properties of this object
588
+ def update!(**args)
589
+ @day = args[:day] if args.key?(:day)
590
+ @month = args[:month] if args.key?(:month)
591
+ @year = args[:year] if args.key?(:year)
592
+ end
593
+ end
594
+
595
+ # Represents civil time (or occasionally physical time). This type can represent
596
+ # a civil time in one of a few possible ways: * When utc_offset is set and
597
+ # time_zone is unset: a civil time on a calendar day with a particular offset
598
+ # from UTC. * When time_zone is set and utc_offset is unset: a civil time on a
599
+ # calendar day in a particular time zone. * When neither time_zone nor
600
+ # utc_offset is set: a civil time on a calendar day in local time. The date is
601
+ # relative to the Proleptic Gregorian Calendar. If year, month, or day are 0,
602
+ # the DateTime is considered not to have a specific year, month, or day
603
+ # respectively. This type may also be used to represent a physical time if all
604
+ # the date and time fields are set and either case of the `time_offset` oneof is
605
+ # set. Consider using `Timestamp` message for physical time instead. If your use
606
+ # case also would like to store the user's timezone, that can be done in another
607
+ # field. This type is more flexible than some applications may want. Make sure
608
+ # to document and validate your application's limitations.
609
+ class DateTime
610
+ include Google::Apis::Core::Hashable
611
+
612
+ # Optional. Day of month. Must be from 1 to 31 and valid for the year and month,
613
+ # or 0 if specifying a datetime without a day.
614
+ # Corresponds to the JSON property `day`
615
+ # @return [Fixnum]
616
+ attr_accessor :day
617
+
618
+ # Optional. Hours of day in 24 hour format. Should be from 0 to 23, defaults to
619
+ # 0 (midnight). An API may choose to allow the value "24:00:00" for scenarios
620
+ # like business closing time.
621
+ # Corresponds to the JSON property `hours`
622
+ # @return [Fixnum]
623
+ attr_accessor :hours
624
+
625
+ # Optional. Minutes of hour of day. Must be from 0 to 59, defaults to 0.
626
+ # Corresponds to the JSON property `minutes`
627
+ # @return [Fixnum]
628
+ attr_accessor :minutes
629
+
630
+ # Optional. Month of year. Must be from 1 to 12, or 0 if specifying a datetime
631
+ # without a month.
632
+ # Corresponds to the JSON property `month`
633
+ # @return [Fixnum]
634
+ attr_accessor :month
635
+
636
+ # Optional. Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999,
637
+ # defaults to 0.
638
+ # Corresponds to the JSON property `nanos`
639
+ # @return [Fixnum]
640
+ attr_accessor :nanos
641
+
642
+ # Optional. Seconds of minutes of the time. Must normally be from 0 to 59,
643
+ # defaults to 0. An API may allow the value 60 if it allows leap-seconds.
644
+ # Corresponds to the JSON property `seconds`
645
+ # @return [Fixnum]
646
+ attr_accessor :seconds
647
+
648
+ # Represents a time zone from the [IANA Time Zone Database](https://www.iana.org/
649
+ # time-zones).
650
+ # Corresponds to the JSON property `timeZone`
651
+ # @return [Google::Apis::MigrationcenterV1alpha1::TimeZone]
652
+ attr_accessor :time_zone
653
+
654
+ # UTC offset. Must be whole seconds, between -18 hours and +18 hours. For
655
+ # example, a UTC offset of -4:00 would be represented as ` seconds: -14400 `.
656
+ # Corresponds to the JSON property `utcOffset`
657
+ # @return [String]
658
+ attr_accessor :utc_offset
659
+
660
+ # Optional. Year of date. Must be from 1 to 9999, or 0 if specifying a datetime
661
+ # without a year.
662
+ # Corresponds to the JSON property `year`
663
+ # @return [Fixnum]
664
+ attr_accessor :year
665
+
666
+ def initialize(**args)
667
+ update!(**args)
668
+ end
669
+
670
+ # Update properties of this object
671
+ def update!(**args)
672
+ @day = args[:day] if args.key?(:day)
673
+ @hours = args[:hours] if args.key?(:hours)
674
+ @minutes = args[:minutes] if args.key?(:minutes)
675
+ @month = args[:month] if args.key?(:month)
676
+ @nanos = args[:nanos] if args.key?(:nanos)
677
+ @seconds = args[:seconds] if args.key?(:seconds)
678
+ @time_zone = args[:time_zone] if args.key?(:time_zone)
679
+ @utc_offset = args[:utc_offset] if args.key?(:utc_offset)
680
+ @year = args[:year] if args.key?(:year)
681
+ end
682
+ end
683
+
684
+ # Single disk entry.
685
+ class DiskEntry
686
+ include Google::Apis::Core::Hashable
687
+
688
+ # Disk label.
689
+ # Corresponds to the JSON property `diskLabel`
690
+ # @return [String]
691
+ attr_accessor :disk_label
692
+
693
+ # Disk label type (e.g. BIOS/GPT)
694
+ # Corresponds to the JSON property `diskLabelType`
695
+ # @return [String]
696
+ attr_accessor :disk_label_type
697
+
698
+ # Disk hardware address (e.g. 0:1 for SCSI).
699
+ # Corresponds to the JSON property `hwAddress`
700
+ # @return [String]
701
+ attr_accessor :hw_address
702
+
703
+ # Disks interface type (e.g. SATA/SCSI)
704
+ # Corresponds to the JSON property `interfaceType`
705
+ # @return [String]
706
+ attr_accessor :interface_type
707
+
708
+ # Partition layout.
709
+ # Corresponds to the JSON property `partitions`
710
+ # @return [Google::Apis::MigrationcenterV1alpha1::DiskPartitionList]
711
+ attr_accessor :partitions
712
+
713
+ # Disk status (e.g. online).
714
+ # Corresponds to the JSON property `status`
715
+ # @return [String]
716
+ attr_accessor :status
717
+
718
+ # Disk Capacity (required).
719
+ # Corresponds to the JSON property `totalCapacityBytes`
720
+ # @return [Fixnum]
721
+ attr_accessor :total_capacity_bytes
722
+
723
+ # Disk Free Space.
724
+ # Corresponds to the JSON property `totalFreeBytes`
725
+ # @return [Fixnum]
726
+ attr_accessor :total_free_bytes
727
+
728
+ # VMware disk config details.
729
+ # Corresponds to the JSON property `vmwareConfig`
730
+ # @return [Google::Apis::MigrationcenterV1alpha1::VmwareDiskConfig]
731
+ attr_accessor :vmware_config
732
+
733
+ def initialize(**args)
734
+ update!(**args)
735
+ end
736
+
737
+ # Update properties of this object
738
+ def update!(**args)
739
+ @disk_label = args[:disk_label] if args.key?(:disk_label)
740
+ @disk_label_type = args[:disk_label_type] if args.key?(:disk_label_type)
741
+ @hw_address = args[:hw_address] if args.key?(:hw_address)
742
+ @interface_type = args[:interface_type] if args.key?(:interface_type)
743
+ @partitions = args[:partitions] if args.key?(:partitions)
744
+ @status = args[:status] if args.key?(:status)
745
+ @total_capacity_bytes = args[:total_capacity_bytes] if args.key?(:total_capacity_bytes)
746
+ @total_free_bytes = args[:total_free_bytes] if args.key?(:total_free_bytes)
747
+ @vmware_config = args[:vmware_config] if args.key?(:vmware_config)
748
+ end
749
+ end
750
+
751
+ # VM disks.
752
+ class DiskEntryList
753
+ include Google::Apis::Core::Hashable
754
+
755
+ # Disk entries.
756
+ # Corresponds to the JSON property `entries`
757
+ # @return [Array<Google::Apis::MigrationcenterV1alpha1::DiskEntry>]
758
+ attr_accessor :entries
759
+
760
+ def initialize(**args)
761
+ update!(**args)
762
+ end
763
+
764
+ # Update properties of this object
765
+ def update!(**args)
766
+ @entries = args[:entries] if args.key?(:entries)
767
+ end
768
+ end
769
+
770
+ # Disk Partition details.
771
+ class DiskPartition
772
+ include Google::Apis::Core::Hashable
773
+
774
+ # Partition capacity.
775
+ # Corresponds to the JSON property `capacityBytes`
776
+ # @return [Fixnum]
777
+ attr_accessor :capacity_bytes
778
+
779
+ # Partition file system.
780
+ # Corresponds to the JSON property `fileSystem`
781
+ # @return [String]
782
+ attr_accessor :file_system
783
+
784
+ # Partition free space.
785
+ # Corresponds to the JSON property `freeBytes`
786
+ # @return [Fixnum]
787
+ attr_accessor :free_bytes
788
+
789
+ # Mount pount (Linux/Windows) or drive letter (Windows).
790
+ # Corresponds to the JSON property `mountPoint`
791
+ # @return [String]
792
+ attr_accessor :mount_point
793
+
794
+ # Sub-partitions.
795
+ # Corresponds to the JSON property `subPartitions`
796
+ # @return [Google::Apis::MigrationcenterV1alpha1::DiskPartitionList]
797
+ attr_accessor :sub_partitions
798
+
799
+ # Partition type (e.g. BIOS boot).
800
+ # Corresponds to the JSON property `type`
801
+ # @return [String]
802
+ attr_accessor :type
803
+
804
+ # Partition UUID.
805
+ # Corresponds to the JSON property `uuid`
806
+ # @return [String]
807
+ attr_accessor :uuid
808
+
809
+ def initialize(**args)
810
+ update!(**args)
811
+ end
812
+
813
+ # Update properties of this object
814
+ def update!(**args)
815
+ @capacity_bytes = args[:capacity_bytes] if args.key?(:capacity_bytes)
816
+ @file_system = args[:file_system] if args.key?(:file_system)
817
+ @free_bytes = args[:free_bytes] if args.key?(:free_bytes)
818
+ @mount_point = args[:mount_point] if args.key?(:mount_point)
819
+ @sub_partitions = args[:sub_partitions] if args.key?(:sub_partitions)
820
+ @type = args[:type] if args.key?(:type)
821
+ @uuid = args[:uuid] if args.key?(:uuid)
822
+ end
823
+ end
824
+
825
+ #
826
+ class DiskPartitionList
827
+ include Google::Apis::Core::Hashable
828
+
829
+ # Partition entries.
830
+ # Corresponds to the JSON property `entries`
831
+ # @return [Array<Google::Apis::MigrationcenterV1alpha1::DiskPartition>]
832
+ attr_accessor :entries
833
+
834
+ def initialize(**args)
835
+ update!(**args)
836
+ end
837
+
838
+ # Update properties of this object
839
+ def update!(**args)
840
+ @entries = args[:entries] if args.key?(:entries)
841
+ end
842
+ end
843
+
844
+ # Disk usage sample. Values are across all disks.
845
+ class DiskUsageSample
846
+ include Google::Apis::Core::Hashable
847
+
848
+ # Average IOPS sampled over a short window. Must be non-negative.
849
+ # Corresponds to the JSON property `averageIops`
850
+ # @return [Float]
851
+ attr_accessor :average_iops
852
+
853
+ def initialize(**args)
854
+ update!(**args)
855
+ end
856
+
857
+ # Update properties of this object
858
+ def update!(**args)
859
+ @average_iops = args[:average_iops] if args.key?(:average_iops)
860
+ end
861
+ end
862
+
863
+ # A generic empty message that you can re-use to avoid defining duplicated empty
864
+ # messages in your APIs. A typical example is to use it as the request or the
865
+ # response type of an API method. For instance: service Foo ` rpc Bar(google.
866
+ # protobuf.Empty) returns (google.protobuf.Empty); `
867
+ class Empty
868
+ include Google::Apis::Core::Hashable
869
+
870
+ def initialize(**args)
871
+ update!(**args)
872
+ end
873
+
874
+ # Update properties of this object
875
+ def update!(**args)
876
+ end
877
+ end
878
+
879
+ # A resource that reports result of the import job execution.
880
+ class ExecutionReport
881
+ include Google::Apis::Core::Hashable
882
+
883
+ # A resource that aggregates errors across import job files.
884
+ # Corresponds to the JSON property `executionErrors`
885
+ # @return [Google::Apis::MigrationcenterV1alpha1::ValidationReport]
886
+ attr_accessor :execution_errors
887
+
888
+ # Total number of asset frames reported for the import job.
889
+ # Corresponds to the JSON property `framesReported`
890
+ # @return [Fixnum]
891
+ attr_accessor :frames_reported
892
+
893
+ # List of job-level errors. Deprecated, use the job errors under
894
+ # execution_errors instead.
895
+ # Corresponds to the JSON property `jobErrors`
896
+ # @return [Array<Google::Apis::MigrationcenterV1alpha1::ImportError>]
897
+ attr_accessor :job_errors
898
+
899
+ # Total number of rows in the import job.
900
+ # Corresponds to the JSON property `totalRowsCount`
901
+ # @return [Fixnum]
902
+ attr_accessor :total_rows_count
903
+
904
+ def initialize(**args)
905
+ update!(**args)
906
+ end
907
+
908
+ # Update properties of this object
909
+ def update!(**args)
910
+ @execution_errors = args[:execution_errors] if args.key?(:execution_errors)
911
+ @frames_reported = args[:frames_reported] if args.key?(:frames_reported)
912
+ @job_errors = args[:job_errors] if args.key?(:job_errors)
913
+ @total_rows_count = args[:total_rows_count] if args.key?(:total_rows_count)
914
+ end
915
+ end
916
+
917
+ # A resource that aggregates the validation errors found in an import job file.
918
+ class FileValidationReport
919
+ include Google::Apis::Core::Hashable
920
+
921
+ # List of file level errors.
922
+ # Corresponds to the JSON property `fileErrors`
923
+ # @return [Array<Google::Apis::MigrationcenterV1alpha1::ImportError>]
924
+ attr_accessor :file_errors
925
+
926
+ # The name of the file.
927
+ # Corresponds to the JSON property `fileName`
928
+ # @return [String]
929
+ attr_accessor :file_name
930
+
931
+ # Flag indicating that processing was aborted due to maximum number of errors.
932
+ # Corresponds to the JSON property `partialReport`
933
+ # @return [Boolean]
934
+ attr_accessor :partial_report
935
+ alias_method :partial_report?, :partial_report
936
+
937
+ # Partial list of rows that encountered validation error.
938
+ # Corresponds to the JSON property `rowErrors`
939
+ # @return [Array<Google::Apis::MigrationcenterV1alpha1::ImportRowError>]
940
+ attr_accessor :row_errors
941
+
942
+ def initialize(**args)
943
+ update!(**args)
944
+ end
945
+
946
+ # Update properties of this object
947
+ def update!(**args)
948
+ @file_errors = args[:file_errors] if args.key?(:file_errors)
949
+ @file_name = args[:file_name] if args.key?(:file_name)
950
+ @partial_report = args[:partial_report] if args.key?(:partial_report)
951
+ @row_errors = args[:row_errors] if args.key?(:row_errors)
952
+ end
953
+ end
954
+
955
+ # Collection of frame data.
956
+ class Frames
957
+ include Google::Apis::Core::Hashable
958
+
959
+ # A repeated field of asset data.
960
+ # Corresponds to the JSON property `framesData`
961
+ # @return [Array<Google::Apis::MigrationcenterV1alpha1::AssetFrame>]
962
+ attr_accessor :frames_data
963
+
964
+ def initialize(**args)
965
+ update!(**args)
966
+ end
967
+
968
+ # Update properties of this object
969
+ def update!(**args)
970
+ @frames_data = args[:frames_data] if args.key?(:frames_data)
971
+ end
972
+ end
973
+
974
+ # Single fstab entry.
975
+ class FstabEntry
976
+ include Google::Apis::Core::Hashable
977
+
978
+ # The mount point for the filesystem.
979
+ # Corresponds to the JSON property `file`
980
+ # @return [String]
981
+ attr_accessor :file
982
+
983
+ # Used by dump to determine which filesystems need to be dumped.
984
+ # Corresponds to the JSON property `freq`
985
+ # @return [Fixnum]
986
+ attr_accessor :freq
987
+
988
+ # Mount options associated with the filesystem.
989
+ # Corresponds to the JSON property `mntops`
990
+ # @return [String]
991
+ attr_accessor :mntops
992
+
993
+ # Used by the fsck(8) program to determine the order in which filesystem checks
994
+ # are done at reboot time.
995
+ # Corresponds to the JSON property `passno`
996
+ # @return [Fixnum]
997
+ attr_accessor :passno
998
+
999
+ # The block special device or remote filesystem to be mounted.
1000
+ # Corresponds to the JSON property `spec`
1001
+ # @return [String]
1002
+ attr_accessor :spec
1003
+
1004
+ # The type of the filesystem.
1005
+ # Corresponds to the JSON property `vfstype`
1006
+ # @return [String]
1007
+ attr_accessor :vfstype
1008
+
1009
+ def initialize(**args)
1010
+ update!(**args)
1011
+ end
1012
+
1013
+ # Update properties of this object
1014
+ def update!(**args)
1015
+ @file = args[:file] if args.key?(:file)
1016
+ @freq = args[:freq] if args.key?(:freq)
1017
+ @mntops = args[:mntops] if args.key?(:mntops)
1018
+ @passno = args[:passno] if args.key?(:passno)
1019
+ @spec = args[:spec] if args.key?(:spec)
1020
+ @vfstype = args[:vfstype] if args.key?(:vfstype)
1021
+ end
1022
+ end
1023
+
1024
+ # Fstab content.
1025
+ class FstabEntryList
1026
+ include Google::Apis::Core::Hashable
1027
+
1028
+ # Fstab entries.
1029
+ # Corresponds to the JSON property `entries`
1030
+ # @return [Array<Google::Apis::MigrationcenterV1alpha1::FstabEntry>]
1031
+ attr_accessor :entries
1032
+
1033
+ def initialize(**args)
1034
+ update!(**args)
1035
+ end
1036
+
1037
+ # Update properties of this object
1038
+ def update!(**args)
1039
+ @entries = args[:entries] if args.key?(:entries)
1040
+ end
1041
+ end
1042
+
1043
+ # A resource that represents a payload hosted on Google Cloud Storage.
1044
+ class GcsPayloadInfo
1045
+ include Google::Apis::Core::Hashable
1046
+
1047
+ # The import job format.
1048
+ # Corresponds to the JSON property `format`
1049
+ # @return [String]
1050
+ attr_accessor :format
1051
+
1052
+ # The payload path in Google Cloud Storage.
1053
+ # Corresponds to the JSON property `path`
1054
+ # @return [String]
1055
+ attr_accessor :path
1056
+
1057
+ def initialize(**args)
1058
+ update!(**args)
1059
+ end
1060
+
1061
+ # Update properties of this object
1062
+ def update!(**args)
1063
+ @format = args[:format] if args.key?(:format)
1064
+ @path = args[:path] if args.key?(:path)
1065
+ end
1066
+ end
1067
+
1068
+ # Guest OS config information.
1069
+ class GuestConfigDetails
1070
+ include Google::Apis::Core::Hashable
1071
+
1072
+ # Fstab content.
1073
+ # Corresponds to the JSON property `fstab`
1074
+ # @return [Google::Apis::MigrationcenterV1alpha1::FstabEntryList]
1075
+ attr_accessor :fstab
1076
+
1077
+ # Hosts content.
1078
+ # Corresponds to the JSON property `hosts`
1079
+ # @return [Google::Apis::MigrationcenterV1alpha1::HostsEntryList]
1080
+ attr_accessor :hosts
1081
+
1082
+ # OS issue (typically /etc/issue in Linux).
1083
+ # Corresponds to the JSON property `issue`
1084
+ # @return [String]
1085
+ attr_accessor :issue
1086
+
1087
+ # NFS exports.
1088
+ # Corresponds to the JSON property `nfsExports`
1089
+ # @return [Google::Apis::MigrationcenterV1alpha1::NfsExportList]
1090
+ attr_accessor :nfs_exports
1091
+
1092
+ # SELinux details.
1093
+ # Corresponds to the JSON property `selinux`
1094
+ # @return [Google::Apis::MigrationcenterV1alpha1::Selinux]
1095
+ attr_accessor :selinux
1096
+
1097
+ def initialize(**args)
1098
+ update!(**args)
1099
+ end
1100
+
1101
+ # Update properties of this object
1102
+ def update!(**args)
1103
+ @fstab = args[:fstab] if args.key?(:fstab)
1104
+ @hosts = args[:hosts] if args.key?(:hosts)
1105
+ @issue = args[:issue] if args.key?(:issue)
1106
+ @nfs_exports = args[:nfs_exports] if args.key?(:nfs_exports)
1107
+ @selinux = args[:selinux] if args.key?(:selinux)
1108
+ end
1109
+ end
1110
+
1111
+ # Guest installed application information.
1112
+ class GuestInstalledApplication
1113
+ include Google::Apis::Core::Hashable
1114
+
1115
+ # Installed application name .
1116
+ # Corresponds to the JSON property `name`
1117
+ # @return [String]
1118
+ attr_accessor :name
1119
+
1120
+ # Source path.
1121
+ # Corresponds to the JSON property `path`
1122
+ # @return [String]
1123
+ attr_accessor :path
1124
+
1125
+ # Date application was installed.
1126
+ # Corresponds to the JSON property `time`
1127
+ # @return [String]
1128
+ attr_accessor :time
1129
+
1130
+ # Installed application vendor.
1131
+ # Corresponds to the JSON property `vendor`
1132
+ # @return [String]
1133
+ attr_accessor :vendor
1134
+
1135
+ # Installed application version.
1136
+ # Corresponds to the JSON property `version`
1137
+ # @return [String]
1138
+ attr_accessor :version
1139
+
1140
+ def initialize(**args)
1141
+ update!(**args)
1142
+ end
1143
+
1144
+ # Update properties of this object
1145
+ def update!(**args)
1146
+ @name = args[:name] if args.key?(:name)
1147
+ @path = args[:path] if args.key?(:path)
1148
+ @time = args[:time] if args.key?(:time)
1149
+ @vendor = args[:vendor] if args.key?(:vendor)
1150
+ @version = args[:version] if args.key?(:version)
1151
+ end
1152
+ end
1153
+
1154
+ # Guest installed application list.
1155
+ class GuestInstalledApplicationList
1156
+ include Google::Apis::Core::Hashable
1157
+
1158
+ #
1159
+ # Corresponds to the JSON property `entries`
1160
+ # @return [Array<Google::Apis::MigrationcenterV1alpha1::GuestInstalledApplication>]
1161
+ attr_accessor :entries
1162
+
1163
+ def initialize(**args)
1164
+ update!(**args)
1165
+ end
1166
+
1167
+ # Update properties of this object
1168
+ def update!(**args)
1169
+ @entries = args[:entries] if args.key?(:entries)
1170
+ end
1171
+ end
1172
+
1173
+ # Information from Guest-level collections.
1174
+ class GuestOsDetails
1175
+ include Google::Apis::Core::Hashable
1176
+
1177
+ # Guest OS config information.
1178
+ # Corresponds to the JSON property `config`
1179
+ # @return [Google::Apis::MigrationcenterV1alpha1::GuestConfigDetails]
1180
+ attr_accessor :config
1181
+
1182
+ # Guest OS runtime information.
1183
+ # Corresponds to the JSON property `runtime`
1184
+ # @return [Google::Apis::MigrationcenterV1alpha1::GuestRuntimeDetails]
1185
+ attr_accessor :runtime
1186
+
1187
+ def initialize(**args)
1188
+ update!(**args)
1189
+ end
1190
+
1191
+ # Update properties of this object
1192
+ def update!(**args)
1193
+ @config = args[:config] if args.key?(:config)
1194
+ @runtime = args[:runtime] if args.key?(:runtime)
1195
+ end
1196
+ end
1197
+
1198
+ # Guest OS runtime information.
1199
+ class GuestRuntimeDetails
1200
+ include Google::Apis::Core::Hashable
1201
+
1202
+ # Domain, e.g. c.stratozone-development.internal.
1203
+ # Corresponds to the JSON property `domain`
1204
+ # @return [String]
1205
+ attr_accessor :domain
1206
+
1207
+ # Guest installed application list.
1208
+ # Corresponds to the JSON property `installedApps`
1209
+ # @return [Google::Apis::MigrationcenterV1alpha1::GuestInstalledApplicationList]
1210
+ attr_accessor :installed_apps
1211
+
1212
+ # Represents a whole or partial calendar date, such as a birthday. The time of
1213
+ # day and time zone are either specified elsewhere or are insignificant. The
1214
+ # date is relative to the Gregorian Calendar. This can represent one of the
1215
+ # following: * A full date, with non-zero year, month, and day values. * A month
1216
+ # and day, with a zero year (for example, an anniversary). * A year on its own,
1217
+ # with a zero month and a zero day. * A year and month, with a zero day (for
1218
+ # example, a credit card expiration date). Related types: * google.type.
1219
+ # TimeOfDay * google.type.DateTime * google.protobuf.Timestamp
1220
+ # Corresponds to the JSON property `lastUptime`
1221
+ # @return [Google::Apis::MigrationcenterV1alpha1::Date]
1222
+ attr_accessor :last_uptime
1223
+
1224
+ # Machine name.
1225
+ # Corresponds to the JSON property `machineName`
1226
+ # @return [String]
1227
+ attr_accessor :machine_name
1228
+
1229
+ # Runtime networking information.
1230
+ # Corresponds to the JSON property `networkInfo`
1231
+ # @return [Google::Apis::MigrationcenterV1alpha1::RuntimeNetworkInfo]
1232
+ attr_accessor :network_info
1233
+
1234
+ # Open file list.
1235
+ # Corresponds to the JSON property `openFileList`
1236
+ # @return [Google::Apis::MigrationcenterV1alpha1::OpenFileList]
1237
+ attr_accessor :open_file_list
1238
+
1239
+ # List of running guest OS processes.
1240
+ # Corresponds to the JSON property `processes`
1241
+ # @return [Google::Apis::MigrationcenterV1alpha1::RunningProcessList]
1242
+ attr_accessor :processes
1243
+
1244
+ # List of running guest OS services.
1245
+ # Corresponds to the JSON property `services`
1246
+ # @return [Google::Apis::MigrationcenterV1alpha1::RunningServiceList]
1247
+ attr_accessor :services
1248
+
1249
+ def initialize(**args)
1250
+ update!(**args)
1251
+ end
1252
+
1253
+ # Update properties of this object
1254
+ def update!(**args)
1255
+ @domain = args[:domain] if args.key?(:domain)
1256
+ @installed_apps = args[:installed_apps] if args.key?(:installed_apps)
1257
+ @last_uptime = args[:last_uptime] if args.key?(:last_uptime)
1258
+ @machine_name = args[:machine_name] if args.key?(:machine_name)
1259
+ @network_info = args[:network_info] if args.key?(:network_info)
1260
+ @open_file_list = args[:open_file_list] if args.key?(:open_file_list)
1261
+ @processes = args[:processes] if args.key?(:processes)
1262
+ @services = args[:services] if args.key?(:services)
1263
+ end
1264
+ end
1265
+
1266
+ # Single /etc/hosts entry.
1267
+ class HostsEntry
1268
+ include Google::Apis::Core::Hashable
1269
+
1270
+ # List of host names / aliases.
1271
+ # Corresponds to the JSON property `hostNames`
1272
+ # @return [Array<String>]
1273
+ attr_accessor :host_names
1274
+
1275
+ # IP (raw, IPv4/6 agnostic).
1276
+ # Corresponds to the JSON property `ip`
1277
+ # @return [String]
1278
+ attr_accessor :ip
1279
+
1280
+ def initialize(**args)
1281
+ update!(**args)
1282
+ end
1283
+
1284
+ # Update properties of this object
1285
+ def update!(**args)
1286
+ @host_names = args[:host_names] if args.key?(:host_names)
1287
+ @ip = args[:ip] if args.key?(:ip)
1288
+ end
1289
+ end
1290
+
1291
+ # Hosts content.
1292
+ class HostsEntryList
1293
+ include Google::Apis::Core::Hashable
1294
+
1295
+ # Hosts entries.
1296
+ # Corresponds to the JSON property `entries`
1297
+ # @return [Array<Google::Apis::MigrationcenterV1alpha1::HostsEntry>]
1298
+ attr_accessor :entries
1299
+
1300
+ def initialize(**args)
1301
+ update!(**args)
1302
+ end
1303
+
1304
+ # Update properties of this object
1305
+ def update!(**args)
1306
+ @entries = args[:entries] if args.key?(:entries)
1307
+ end
1308
+ end
1309
+
1310
+ # A resource that reports the errors encountered while processing an import job.
1311
+ class ImportError
1312
+ include Google::Apis::Core::Hashable
1313
+
1314
+ # The error information.
1315
+ # Corresponds to the JSON property `errorDetails`
1316
+ # @return [String]
1317
+ attr_accessor :error_details
1318
+
1319
+ # The severity of the error.
1320
+ # Corresponds to the JSON property `severity`
1321
+ # @return [String]
1322
+ attr_accessor :severity
1323
+
1324
+ def initialize(**args)
1325
+ update!(**args)
1326
+ end
1327
+
1328
+ # Update properties of this object
1329
+ def update!(**args)
1330
+ @error_details = args[:error_details] if args.key?(:error_details)
1331
+ @severity = args[:severity] if args.key?(:severity)
1332
+ end
1333
+ end
1334
+
1335
+ # A resource that represents the background job that imports asset frames.
1336
+ class ImportJob
1337
+ include Google::Apis::Core::Hashable
1338
+
1339
+ # Required. Reference to a source.
1340
+ # Corresponds to the JSON property `assetSource`
1341
+ # @return [String]
1342
+ attr_accessor :asset_source
1343
+
1344
+ # Output only. The timestamp when the import job was completed.
1345
+ # Corresponds to the JSON property `completeTime`
1346
+ # @return [String]
1347
+ attr_accessor :complete_time
1348
+
1349
+ # Output only. The timestamp when the import job was created.
1350
+ # Corresponds to the JSON property `createTime`
1351
+ # @return [String]
1352
+ attr_accessor :create_time
1353
+
1354
+ # A resource that reports result of the import job execution.
1355
+ # Corresponds to the JSON property `executionReport`
1356
+ # @return [Google::Apis::MigrationcenterV1alpha1::ExecutionReport]
1357
+ attr_accessor :execution_report
1358
+
1359
+ # A resource that represents a payload hosted on Google Cloud Storage.
1360
+ # Corresponds to the JSON property `gcsPayload`
1361
+ # @return [Google::Apis::MigrationcenterV1alpha1::GcsPayloadInfo]
1362
+ attr_accessor :gcs_payload
1363
+
1364
+ # A resource that represents the inline import job payload.
1365
+ # Corresponds to the JSON property `inlinePayload`
1366
+ # @return [Google::Apis::MigrationcenterV1alpha1::InlinePayloadInfo]
1367
+ attr_accessor :inline_payload
1368
+
1369
+ # Labels as key value pairs.
1370
+ # Corresponds to the JSON property `labels`
1371
+ # @return [Hash<String,String>]
1372
+ attr_accessor :labels
1373
+
1374
+ # Output only. The full name of the import job.
1375
+ # Corresponds to the JSON property `name`
1376
+ # @return [String]
1377
+ attr_accessor :name
1378
+
1379
+ # Output only. The state of the import job.
1380
+ # Corresponds to the JSON property `state`
1381
+ # @return [String]
1382
+ attr_accessor :state
1383
+
1384
+ # Output only. The timestamp when the import job was last updated.
1385
+ # Corresponds to the JSON property `updateTime`
1386
+ # @return [String]
1387
+ attr_accessor :update_time
1388
+
1389
+ # A resource that aggregates errors across import job files.
1390
+ # Corresponds to the JSON property `validationReport`
1391
+ # @return [Google::Apis::MigrationcenterV1alpha1::ValidationReport]
1392
+ attr_accessor :validation_report
1393
+
1394
+ def initialize(**args)
1395
+ update!(**args)
1396
+ end
1397
+
1398
+ # Update properties of this object
1399
+ def update!(**args)
1400
+ @asset_source = args[:asset_source] if args.key?(:asset_source)
1401
+ @complete_time = args[:complete_time] if args.key?(:complete_time)
1402
+ @create_time = args[:create_time] if args.key?(:create_time)
1403
+ @execution_report = args[:execution_report] if args.key?(:execution_report)
1404
+ @gcs_payload = args[:gcs_payload] if args.key?(:gcs_payload)
1405
+ @inline_payload = args[:inline_payload] if args.key?(:inline_payload)
1406
+ @labels = args[:labels] if args.key?(:labels)
1407
+ @name = args[:name] if args.key?(:name)
1408
+ @state = args[:state] if args.key?(:state)
1409
+ @update_time = args[:update_time] if args.key?(:update_time)
1410
+ @validation_report = args[:validation_report] if args.key?(:validation_report)
1411
+ end
1412
+ end
1413
+
1414
+ # A resource that reports the import job errors at row level.
1415
+ class ImportRowError
1416
+ include Google::Apis::Core::Hashable
1417
+
1418
+ # The list of errors detected in the row.
1419
+ # Corresponds to the JSON property `errors`
1420
+ # @return [Array<Google::Apis::MigrationcenterV1alpha1::ImportError>]
1421
+ attr_accessor :errors
1422
+
1423
+ # The row number where the error was detected.
1424
+ # Corresponds to the JSON property `rowNumber`
1425
+ # @return [Fixnum]
1426
+ attr_accessor :row_number
1427
+
1428
+ # The name of the VM in the row.
1429
+ # Corresponds to the JSON property `vmName`
1430
+ # @return [String]
1431
+ attr_accessor :vm_name
1432
+
1433
+ # The VM UUID.
1434
+ # Corresponds to the JSON property `vmUuid`
1435
+ # @return [String]
1436
+ attr_accessor :vm_uuid
1437
+
1438
+ def initialize(**args)
1439
+ update!(**args)
1440
+ end
1441
+
1442
+ # Update properties of this object
1443
+ def update!(**args)
1444
+ @errors = args[:errors] if args.key?(:errors)
1445
+ @row_number = args[:row_number] if args.key?(:row_number)
1446
+ @vm_name = args[:vm_name] if args.key?(:vm_name)
1447
+ @vm_uuid = args[:vm_uuid] if args.key?(:vm_uuid)
1448
+ end
1449
+ end
1450
+
1451
+ # A resource that represents the inline import job payload.
1452
+ class InlinePayloadInfo
1453
+ include Google::Apis::Core::Hashable
1454
+
1455
+ # The import job format.
1456
+ # Corresponds to the JSON property `format`
1457
+ # @return [String]
1458
+ attr_accessor :format
1459
+
1460
+ # List of payload files.
1461
+ # Corresponds to the JSON property `payload`
1462
+ # @return [Array<Google::Apis::MigrationcenterV1alpha1::PayloadFile>]
1463
+ attr_accessor :payload
1464
+
1465
+ def initialize(**args)
1466
+ update!(**args)
1467
+ end
1468
+
1469
+ # Update properties of this object
1470
+ def update!(**args)
1471
+ @format = args[:format] if args.key?(:format)
1472
+ @payload = args[:payload] if args.key?(:payload)
1473
+ end
1474
+ end
1475
+
1476
+ # Response message for listing assets.
1477
+ class ListAssetsResponse
1478
+ include Google::Apis::Core::Hashable
1479
+
1480
+ # A list of assets.
1481
+ # Corresponds to the JSON property `assets`
1482
+ # @return [Array<Google::Apis::MigrationcenterV1alpha1::Asset>]
1483
+ attr_accessor :assets
1484
+
1485
+ # A token identifying a page of results the server should return.
1486
+ # Corresponds to the JSON property `nextPageToken`
1487
+ # @return [String]
1488
+ attr_accessor :next_page_token
1489
+
1490
+ # Locations that could not be reached.
1491
+ # Corresponds to the JSON property `unreachable`
1492
+ # @return [Array<String>]
1493
+ attr_accessor :unreachable
1494
+
1495
+ def initialize(**args)
1496
+ update!(**args)
1497
+ end
1498
+
1499
+ # Update properties of this object
1500
+ def update!(**args)
1501
+ @assets = args[:assets] if args.key?(:assets)
1502
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1503
+ @unreachable = args[:unreachable] if args.key?(:unreachable)
1504
+ end
1505
+ end
1506
+
1507
+ # A response for listing import jobs.
1508
+ class ListImportJobsResponse
1509
+ include Google::Apis::Core::Hashable
1510
+
1511
+ # The list of import jobs.
1512
+ # Corresponds to the JSON property `importJobs`
1513
+ # @return [Array<Google::Apis::MigrationcenterV1alpha1::ImportJob>]
1514
+ attr_accessor :import_jobs
1515
+
1516
+ # A token identifying a page of results the server should return.
1517
+ # Corresponds to the JSON property `nextPageToken`
1518
+ # @return [String]
1519
+ attr_accessor :next_page_token
1520
+
1521
+ # Locations that could not be reached.
1522
+ # Corresponds to the JSON property `unreachable`
1523
+ # @return [Array<String>]
1524
+ attr_accessor :unreachable
1525
+
1526
+ def initialize(**args)
1527
+ update!(**args)
1528
+ end
1529
+
1530
+ # Update properties of this object
1531
+ def update!(**args)
1532
+ @import_jobs = args[:import_jobs] if args.key?(:import_jobs)
1533
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1534
+ @unreachable = args[:unreachable] if args.key?(:unreachable)
1535
+ end
1536
+ end
1537
+
1538
+ # The response message for Locations.ListLocations.
1539
+ class ListLocationsResponse
1540
+ include Google::Apis::Core::Hashable
1541
+
1542
+ # A list of locations that matches the specified filter in the request.
1543
+ # Corresponds to the JSON property `locations`
1544
+ # @return [Array<Google::Apis::MigrationcenterV1alpha1::Location>]
1545
+ attr_accessor :locations
1546
+
1547
+ # The standard List next-page token.
1548
+ # Corresponds to the JSON property `nextPageToken`
1549
+ # @return [String]
1550
+ attr_accessor :next_page_token
1551
+
1552
+ def initialize(**args)
1553
+ update!(**args)
1554
+ end
1555
+
1556
+ # Update properties of this object
1557
+ def update!(**args)
1558
+ @locations = args[:locations] if args.key?(:locations)
1559
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1560
+ end
1561
+ end
1562
+
1563
+ # The response message for Operations.ListOperations.
1564
+ class ListOperationsResponse
1565
+ include Google::Apis::Core::Hashable
1566
+
1567
+ # The standard List next-page token.
1568
+ # Corresponds to the JSON property `nextPageToken`
1569
+ # @return [String]
1570
+ attr_accessor :next_page_token
1571
+
1572
+ # A list of operations that matches the specified filter in the request.
1573
+ # Corresponds to the JSON property `operations`
1574
+ # @return [Array<Google::Apis::MigrationcenterV1alpha1::Operation>]
1575
+ attr_accessor :operations
1576
+
1577
+ def initialize(**args)
1578
+ update!(**args)
1579
+ end
1580
+
1581
+ # Update properties of this object
1582
+ def update!(**args)
1583
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1584
+ @operations = args[:operations] if args.key?(:operations)
1585
+ end
1586
+ end
1587
+
1588
+ # Response message for listing sources.
1589
+ class ListSourcesResponse
1590
+ include Google::Apis::Core::Hashable
1591
+
1592
+ # A token identifying a page of results the server should return.
1593
+ # Corresponds to the JSON property `nextPageToken`
1594
+ # @return [String]
1595
+ attr_accessor :next_page_token
1596
+
1597
+ # The list of sources.
1598
+ # Corresponds to the JSON property `sources`
1599
+ # @return [Array<Google::Apis::MigrationcenterV1alpha1::Source>]
1600
+ attr_accessor :sources
1601
+
1602
+ # Locations that could not be reached.
1603
+ # Corresponds to the JSON property `unreachable`
1604
+ # @return [Array<String>]
1605
+ attr_accessor :unreachable
1606
+
1607
+ def initialize(**args)
1608
+ update!(**args)
1609
+ end
1610
+
1611
+ # Update properties of this object
1612
+ def update!(**args)
1613
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1614
+ @sources = args[:sources] if args.key?(:sources)
1615
+ @unreachable = args[:unreachable] if args.key?(:unreachable)
1616
+ end
1617
+ end
1618
+
1619
+ # A resource that represents Google Cloud Platform location.
1620
+ class Location
1621
+ include Google::Apis::Core::Hashable
1622
+
1623
+ # The friendly name for this location, typically a nearby city name. For example,
1624
+ # "Tokyo".
1625
+ # Corresponds to the JSON property `displayName`
1626
+ # @return [String]
1627
+ attr_accessor :display_name
1628
+
1629
+ # Cross-service attributes for the location. For example `"cloud.googleapis.com/
1630
+ # region": "us-east1"`
1631
+ # Corresponds to the JSON property `labels`
1632
+ # @return [Hash<String,String>]
1633
+ attr_accessor :labels
1634
+
1635
+ # The canonical id for this location. For example: `"us-east1"`.
1636
+ # Corresponds to the JSON property `locationId`
1637
+ # @return [String]
1638
+ attr_accessor :location_id
1639
+
1640
+ # Service-specific metadata. For example the available capacity at the given
1641
+ # location.
1642
+ # Corresponds to the JSON property `metadata`
1643
+ # @return [Hash<String,Object>]
1644
+ attr_accessor :metadata
1645
+
1646
+ # Resource name for the location, which may vary between implementations. For
1647
+ # example: `"projects/example-project/locations/us-east1"`
1648
+ # Corresponds to the JSON property `name`
1649
+ # @return [String]
1650
+ attr_accessor :name
1651
+
1652
+ def initialize(**args)
1653
+ update!(**args)
1654
+ end
1655
+
1656
+ # Update properties of this object
1657
+ def update!(**args)
1658
+ @display_name = args[:display_name] if args.key?(:display_name)
1659
+ @labels = args[:labels] if args.key?(:labels)
1660
+ @location_id = args[:location_id] if args.key?(:location_id)
1661
+ @metadata = args[:metadata] if args.key?(:metadata)
1662
+ @name = args[:name] if args.key?(:name)
1663
+ end
1664
+ end
1665
+
1666
+ # Memory usage sample.
1667
+ class MemoryUsageSample
1668
+ include Google::Apis::Core::Hashable
1669
+
1670
+ # Percentage of system memory utilized. Must be in the interval [0, 100].
1671
+ # Corresponds to the JSON property `utilizedPercentage`
1672
+ # @return [Float]
1673
+ attr_accessor :utilized_percentage
1674
+
1675
+ def initialize(**args)
1676
+ update!(**args)
1677
+ end
1678
+
1679
+ # Update properties of this object
1680
+ def update!(**args)
1681
+ @utilized_percentage = args[:utilized_percentage] if args.key?(:utilized_percentage)
1682
+ end
1683
+ end
1684
+
1685
+ # Details of network adapter.
1686
+ class NetworkAdapterDetails
1687
+ include Google::Apis::Core::Hashable
1688
+
1689
+ # Network adapter type (e.g. VMXNET3).
1690
+ # Corresponds to the JSON property `adapterType`
1691
+ # @return [String]
1692
+ attr_accessor :adapter_type
1693
+
1694
+ # List of allocated/assigned network addresses.
1695
+ # Corresponds to the JSON property `addresses`
1696
+ # @return [Google::Apis::MigrationcenterV1alpha1::NetworkAddressList]
1697
+ attr_accessor :addresses
1698
+
1699
+ # MAC address.
1700
+ # Corresponds to the JSON property `macAddress`
1701
+ # @return [String]
1702
+ attr_accessor :mac_address
1703
+
1704
+ def initialize(**args)
1705
+ update!(**args)
1706
+ end
1707
+
1708
+ # Update properties of this object
1709
+ def update!(**args)
1710
+ @adapter_type = args[:adapter_type] if args.key?(:adapter_type)
1711
+ @addresses = args[:addresses] if args.key?(:addresses)
1712
+ @mac_address = args[:mac_address] if args.key?(:mac_address)
1713
+ end
1714
+ end
1715
+
1716
+ #
1717
+ class NetworkAdapterList
1718
+ include Google::Apis::Core::Hashable
1719
+
1720
+ # Network Adapter descriptions.
1721
+ # Corresponds to the JSON property `networkAdapters`
1722
+ # @return [Array<Google::Apis::MigrationcenterV1alpha1::NetworkAdapterDetails>]
1723
+ attr_accessor :network_adapters
1724
+
1725
+ def initialize(**args)
1726
+ update!(**args)
1727
+ end
1728
+
1729
+ # Update properties of this object
1730
+ def update!(**args)
1731
+ @network_adapters = args[:network_adapters] if args.key?(:network_adapters)
1732
+ end
1733
+ end
1734
+
1735
+ # Details of network address.
1736
+ class NetworkAddress
1737
+ include Google::Apis::Core::Hashable
1738
+
1739
+ # If DHCP is used to assign addresses.
1740
+ # Corresponds to the JSON property `assignment`
1741
+ # @return [String]
1742
+ attr_accessor :assignment
1743
+
1744
+ # Broadcast address.
1745
+ # Corresponds to the JSON property `bcast`
1746
+ # @return [String]
1747
+ attr_accessor :bcast
1748
+
1749
+ # Fully qualified domain name.
1750
+ # Corresponds to the JSON property `fqdn`
1751
+ # @return [String]
1752
+ attr_accessor :fqdn
1753
+
1754
+ # Assigned or configured IP Address.
1755
+ # Corresponds to the JSON property `ipAddress`
1756
+ # @return [String]
1757
+ attr_accessor :ip_address
1758
+
1759
+ # Subnet mask.
1760
+ # Corresponds to the JSON property `subnetMask`
1761
+ # @return [String]
1762
+ attr_accessor :subnet_mask
1763
+
1764
+ def initialize(**args)
1765
+ update!(**args)
1766
+ end
1767
+
1768
+ # Update properties of this object
1769
+ def update!(**args)
1770
+ @assignment = args[:assignment] if args.key?(:assignment)
1771
+ @bcast = args[:bcast] if args.key?(:bcast)
1772
+ @fqdn = args[:fqdn] if args.key?(:fqdn)
1773
+ @ip_address = args[:ip_address] if args.key?(:ip_address)
1774
+ @subnet_mask = args[:subnet_mask] if args.key?(:subnet_mask)
1775
+ end
1776
+ end
1777
+
1778
+ # List of allocated/assigned network addresses.
1779
+ class NetworkAddressList
1780
+ include Google::Apis::Core::Hashable
1781
+
1782
+ #
1783
+ # Corresponds to the JSON property `addresses`
1784
+ # @return [Array<Google::Apis::MigrationcenterV1alpha1::NetworkAddress>]
1785
+ attr_accessor :addresses
1786
+
1787
+ def initialize(**args)
1788
+ update!(**args)
1789
+ end
1790
+
1791
+ # Update properties of this object
1792
+ def update!(**args)
1793
+ @addresses = args[:addresses] if args.key?(:addresses)
1794
+ end
1795
+ end
1796
+
1797
+ #
1798
+ class NetworkConnection
1799
+ include Google::Apis::Core::Hashable
1800
+
1801
+ # Local IP address.
1802
+ # Corresponds to the JSON property `localIpAddress`
1803
+ # @return [String]
1804
+ attr_accessor :local_ip_address
1805
+
1806
+ # Local port.
1807
+ # Corresponds to the JSON property `localPort`
1808
+ # @return [Fixnum]
1809
+ attr_accessor :local_port
1810
+
1811
+ # Process ID.
1812
+ # Corresponds to the JSON property `pid`
1813
+ # @return [Fixnum]
1814
+ attr_accessor :pid
1815
+
1816
+ # Process or service name.
1817
+ # Corresponds to the JSON property `processName`
1818
+ # @return [String]
1819
+ attr_accessor :process_name
1820
+
1821
+ # Connection protocol (e.g. TCP/UDP).
1822
+ # Corresponds to the JSON property `protocol`
1823
+ # @return [String]
1824
+ attr_accessor :protocol
1825
+
1826
+ # Remote IP address.
1827
+ # Corresponds to the JSON property `remoteIpAddress`
1828
+ # @return [String]
1829
+ attr_accessor :remote_ip_address
1830
+
1831
+ # Remote port.
1832
+ # Corresponds to the JSON property `remotePort`
1833
+ # @return [Fixnum]
1834
+ attr_accessor :remote_port
1835
+
1836
+ # Connection state (e.g. CONNECTED).
1837
+ # Corresponds to the JSON property `state`
1838
+ # @return [String]
1839
+ attr_accessor :state
1840
+
1841
+ def initialize(**args)
1842
+ update!(**args)
1843
+ end
1844
+
1845
+ # Update properties of this object
1846
+ def update!(**args)
1847
+ @local_ip_address = args[:local_ip_address] if args.key?(:local_ip_address)
1848
+ @local_port = args[:local_port] if args.key?(:local_port)
1849
+ @pid = args[:pid] if args.key?(:pid)
1850
+ @process_name = args[:process_name] if args.key?(:process_name)
1851
+ @protocol = args[:protocol] if args.key?(:protocol)
1852
+ @remote_ip_address = args[:remote_ip_address] if args.key?(:remote_ip_address)
1853
+ @remote_port = args[:remote_port] if args.key?(:remote_port)
1854
+ @state = args[:state] if args.key?(:state)
1855
+ end
1856
+ end
1857
+
1858
+ # Network connection list.
1859
+ class NetworkConnectionList
1860
+ include Google::Apis::Core::Hashable
1861
+
1862
+ #
1863
+ # Corresponds to the JSON property `entries`
1864
+ # @return [Array<Google::Apis::MigrationcenterV1alpha1::NetworkConnection>]
1865
+ attr_accessor :entries
1866
+
1867
+ def initialize(**args)
1868
+ update!(**args)
1869
+ end
1870
+
1871
+ # Update properties of this object
1872
+ def update!(**args)
1873
+ @entries = args[:entries] if args.key?(:entries)
1874
+ end
1875
+ end
1876
+
1877
+ # Network usage sample. Values are across all network interfaces.
1878
+ class NetworkUsageSample
1879
+ include Google::Apis::Core::Hashable
1880
+
1881
+ # Average network egress in B/s sampled over a short window. Must be non-
1882
+ # negative.
1883
+ # Corresponds to the JSON property `averageEgressBps`
1884
+ # @return [Float]
1885
+ attr_accessor :average_egress_bps
1886
+
1887
+ # Average network ingress in B/s sampled over a short window. Must be non-
1888
+ # negative.
1889
+ # Corresponds to the JSON property `averageIngressBps`
1890
+ # @return [Float]
1891
+ attr_accessor :average_ingress_bps
1892
+
1893
+ def initialize(**args)
1894
+ update!(**args)
1895
+ end
1896
+
1897
+ # Update properties of this object
1898
+ def update!(**args)
1899
+ @average_egress_bps = args[:average_egress_bps] if args.key?(:average_egress_bps)
1900
+ @average_ingress_bps = args[:average_ingress_bps] if args.key?(:average_ingress_bps)
1901
+ end
1902
+ end
1903
+
1904
+ # NFS export.
1905
+ class NfsExport
1906
+ include Google::Apis::Core::Hashable
1907
+
1908
+ # The directory being exported.
1909
+ # Corresponds to the JSON property `exportDirectory`
1910
+ # @return [String]
1911
+ attr_accessor :export_directory
1912
+
1913
+ # The hosts or networks to which the export is being shared.
1914
+ # Corresponds to the JSON property `hosts`
1915
+ # @return [Array<String>]
1916
+ attr_accessor :hosts
1917
+
1918
+ def initialize(**args)
1919
+ update!(**args)
1920
+ end
1921
+
1922
+ # Update properties of this object
1923
+ def update!(**args)
1924
+ @export_directory = args[:export_directory] if args.key?(:export_directory)
1925
+ @hosts = args[:hosts] if args.key?(:hosts)
1926
+ end
1927
+ end
1928
+
1929
+ # NFS exports.
1930
+ class NfsExportList
1931
+ include Google::Apis::Core::Hashable
1932
+
1933
+ # NFS export entries.
1934
+ # Corresponds to the JSON property `entries`
1935
+ # @return [Array<Google::Apis::MigrationcenterV1alpha1::NfsExport>]
1936
+ attr_accessor :entries
1937
+
1938
+ def initialize(**args)
1939
+ update!(**args)
1940
+ end
1941
+
1942
+ # Update properties of this object
1943
+ def update!(**args)
1944
+ @entries = args[:entries] if args.key?(:entries)
1945
+ end
1946
+ end
1947
+
1948
+ # Open file Information.
1949
+ class OpenFileDetails
1950
+ include Google::Apis::Core::Hashable
1951
+
1952
+ # Opened file command.
1953
+ # Corresponds to the JSON property `command`
1954
+ # @return [String]
1955
+ attr_accessor :command
1956
+
1957
+ # Opened file file path.
1958
+ # Corresponds to the JSON property `filePath`
1959
+ # @return [String]
1960
+ attr_accessor :file_path
1961
+
1962
+ # Opened file file type.
1963
+ # Corresponds to the JSON property `fileType`
1964
+ # @return [String]
1965
+ attr_accessor :file_type
1966
+
1967
+ # Opened file user.
1968
+ # Corresponds to the JSON property `user`
1969
+ # @return [String]
1970
+ attr_accessor :user
1971
+
1972
+ def initialize(**args)
1973
+ update!(**args)
1974
+ end
1975
+
1976
+ # Update properties of this object
1977
+ def update!(**args)
1978
+ @command = args[:command] if args.key?(:command)
1979
+ @file_path = args[:file_path] if args.key?(:file_path)
1980
+ @file_type = args[:file_type] if args.key?(:file_type)
1981
+ @user = args[:user] if args.key?(:user)
1982
+ end
1983
+ end
1984
+
1985
+ # Open file list.
1986
+ class OpenFileList
1987
+ include Google::Apis::Core::Hashable
1988
+
1989
+ # Open file details entries.
1990
+ # Corresponds to the JSON property `entries`
1991
+ # @return [Array<Google::Apis::MigrationcenterV1alpha1::OpenFileDetails>]
1992
+ attr_accessor :entries
1993
+
1994
+ def initialize(**args)
1995
+ update!(**args)
1996
+ end
1997
+
1998
+ # Update properties of this object
1999
+ def update!(**args)
2000
+ @entries = args[:entries] if args.key?(:entries)
2001
+ end
2002
+ end
2003
+
2004
+ # This resource represents a long-running operation that is the result of a
2005
+ # network API call.
2006
+ class Operation
2007
+ include Google::Apis::Core::Hashable
2008
+
2009
+ # If the value is `false`, it means the operation is still in progress. If `true`
2010
+ # , the operation is completed, and either `error` or `response` is available.
2011
+ # Corresponds to the JSON property `done`
2012
+ # @return [Boolean]
2013
+ attr_accessor :done
2014
+ alias_method :done?, :done
2015
+
2016
+ # The `Status` type defines a logical error model that is suitable for different
2017
+ # programming environments, including REST APIs and RPC APIs. It is used by [
2018
+ # gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
2019
+ # data: error code, error message, and error details. You can find out more
2020
+ # about this error model and how to work with it in the [API Design Guide](https:
2021
+ # //cloud.google.com/apis/design/errors).
2022
+ # Corresponds to the JSON property `error`
2023
+ # @return [Google::Apis::MigrationcenterV1alpha1::Status]
2024
+ attr_accessor :error
2025
+
2026
+ # Service-specific metadata associated with the operation. It typically contains
2027
+ # progress information and common metadata such as create time. Some services
2028
+ # might not provide such metadata. Any method that returns a long-running
2029
+ # operation should document the metadata type, if any.
2030
+ # Corresponds to the JSON property `metadata`
2031
+ # @return [Hash<String,Object>]
2032
+ attr_accessor :metadata
2033
+
2034
+ # The server-assigned name, which is only unique within the same service that
2035
+ # originally returns it. If you use the default HTTP mapping, the `name` should
2036
+ # be a resource name ending with `operations/`unique_id``.
2037
+ # Corresponds to the JSON property `name`
2038
+ # @return [String]
2039
+ attr_accessor :name
2040
+
2041
+ # The normal response of the operation in case of success. If the original
2042
+ # method returns no data on success, such as `Delete`, the response is `google.
2043
+ # protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`,
2044
+ # the response should be the resource. For other methods, the response should
2045
+ # have the type `XxxResponse`, where `Xxx` is the original method name. For
2046
+ # example, if the original method name is `TakeSnapshot()`, the inferred
2047
+ # response type is `TakeSnapshotResponse`.
2048
+ # Corresponds to the JSON property `response`
2049
+ # @return [Hash<String,Object>]
2050
+ attr_accessor :response
2051
+
2052
+ def initialize(**args)
2053
+ update!(**args)
2054
+ end
2055
+
2056
+ # Update properties of this object
2057
+ def update!(**args)
2058
+ @done = args[:done] if args.key?(:done)
2059
+ @error = args[:error] if args.key?(:error)
2060
+ @metadata = args[:metadata] if args.key?(:metadata)
2061
+ @name = args[:name] if args.key?(:name)
2062
+ @response = args[:response] if args.key?(:response)
2063
+ end
2064
+ end
2065
+
2066
+ # Represents the metadata of the long-running operation.
2067
+ class OperationMetadata
2068
+ include Google::Apis::Core::Hashable
2069
+
2070
+ # Output only. API version used to start the operation.
2071
+ # Corresponds to the JSON property `apiVersion`
2072
+ # @return [String]
2073
+ attr_accessor :api_version
2074
+
2075
+ # Output only. The time the operation was created.
2076
+ # Corresponds to the JSON property `createTime`
2077
+ # @return [String]
2078
+ attr_accessor :create_time
2079
+
2080
+ # Output only. The time the operation finished running.
2081
+ # Corresponds to the JSON property `endTime`
2082
+ # @return [String]
2083
+ attr_accessor :end_time
2084
+
2085
+ # Output only. Identifies whether the user has requested cancellation of the
2086
+ # operation. Operations that have been cancelled successfully have Operation.
2087
+ # error value with a google.rpc.Status.code of 1, corresponding to `Code.
2088
+ # CANCELLED`.
2089
+ # Corresponds to the JSON property `requestedCancellation`
2090
+ # @return [Boolean]
2091
+ attr_accessor :requested_cancellation
2092
+ alias_method :requested_cancellation?, :requested_cancellation
2093
+
2094
+ # Output only. Human-readable status of the operation, if any.
2095
+ # Corresponds to the JSON property `statusMessage`
2096
+ # @return [String]
2097
+ attr_accessor :status_message
2098
+
2099
+ # Output only. Server-defined resource path for the target of the operation.
2100
+ # Corresponds to the JSON property `target`
2101
+ # @return [String]
2102
+ attr_accessor :target
2103
+
2104
+ # Output only. Name of the verb executed by the operation.
2105
+ # Corresponds to the JSON property `verb`
2106
+ # @return [String]
2107
+ attr_accessor :verb
2108
+
2109
+ def initialize(**args)
2110
+ update!(**args)
2111
+ end
2112
+
2113
+ # Update properties of this object
2114
+ def update!(**args)
2115
+ @api_version = args[:api_version] if args.key?(:api_version)
2116
+ @create_time = args[:create_time] if args.key?(:create_time)
2117
+ @end_time = args[:end_time] if args.key?(:end_time)
2118
+ @requested_cancellation = args[:requested_cancellation] if args.key?(:requested_cancellation)
2119
+ @status_message = args[:status_message] if args.key?(:status_message)
2120
+ @target = args[:target] if args.key?(:target)
2121
+ @verb = args[:verb] if args.key?(:verb)
2122
+ end
2123
+ end
2124
+
2125
+ # Payload file for inline import job payload.
2126
+ class PayloadFile
2127
+ include Google::Apis::Core::Hashable
2128
+
2129
+ # The file data.
2130
+ # Corresponds to the JSON property `data`
2131
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
2132
+ # @return [String]
2133
+ attr_accessor :data
2134
+
2135
+ # The file name.
2136
+ # Corresponds to the JSON property `name`
2137
+ # @return [String]
2138
+ attr_accessor :name
2139
+
2140
+ def initialize(**args)
2141
+ update!(**args)
2142
+ end
2143
+
2144
+ # Update properties of this object
2145
+ def update!(**args)
2146
+ @data = args[:data] if args.key?(:data)
2147
+ @name = args[:name] if args.key?(:name)
2148
+ end
2149
+ end
2150
+
2151
+ # Performance data sample.
2152
+ class PerformanceSample
2153
+ include Google::Apis::Core::Hashable
2154
+
2155
+ # CPU usage sample.
2156
+ # Corresponds to the JSON property `cpu`
2157
+ # @return [Google::Apis::MigrationcenterV1alpha1::CpuUsageSample]
2158
+ attr_accessor :cpu
2159
+
2160
+ # Disk usage sample. Values are across all disks.
2161
+ # Corresponds to the JSON property `disk`
2162
+ # @return [Google::Apis::MigrationcenterV1alpha1::DiskUsageSample]
2163
+ attr_accessor :disk
2164
+
2165
+ # Memory usage sample.
2166
+ # Corresponds to the JSON property `memory`
2167
+ # @return [Google::Apis::MigrationcenterV1alpha1::MemoryUsageSample]
2168
+ attr_accessor :memory
2169
+
2170
+ # Network usage sample. Values are across all network interfaces.
2171
+ # Corresponds to the JSON property `network`
2172
+ # @return [Google::Apis::MigrationcenterV1alpha1::NetworkUsageSample]
2173
+ attr_accessor :network
2174
+
2175
+ # Time the sample was collected.
2176
+ # Corresponds to the JSON property `sampleTime`
2177
+ # @return [String]
2178
+ attr_accessor :sample_time
2179
+
2180
+ def initialize(**args)
2181
+ update!(**args)
2182
+ end
2183
+
2184
+ # Update properties of this object
2185
+ def update!(**args)
2186
+ @cpu = args[:cpu] if args.key?(:cpu)
2187
+ @disk = args[:disk] if args.key?(:disk)
2188
+ @memory = args[:memory] if args.key?(:memory)
2189
+ @network = args[:network] if args.key?(:network)
2190
+ @sample_time = args[:sample_time] if args.key?(:sample_time)
2191
+ end
2192
+ end
2193
+
2194
+ # Information about the platform.
2195
+ class PlatformDetails
2196
+ include Google::Apis::Core::Hashable
2197
+
2198
+ # VMware specific details.
2199
+ # Corresponds to the JSON property `vmwareDetails`
2200
+ # @return [Google::Apis::MigrationcenterV1alpha1::VmwarePlatformDetails]
2201
+ attr_accessor :vmware_details
2202
+
2203
+ def initialize(**args)
2204
+ update!(**args)
2205
+ end
2206
+
2207
+ # Update properties of this object
2208
+ def update!(**args)
2209
+ @vmware_details = args[:vmware_details] if args.key?(:vmware_details)
2210
+ end
2211
+ end
2212
+
2213
+ # A response to a call to `ReportAssetFrame`.
2214
+ class ReportAssetFramesResponse
2215
+ include Google::Apis::Core::Hashable
2216
+
2217
+ def initialize(**args)
2218
+ update!(**args)
2219
+ end
2220
+
2221
+ # Update properties of this object
2222
+ def update!(**args)
2223
+ end
2224
+ end
2225
+
2226
+ # A request to run an import job.
2227
+ class RunImportJobRequest
2228
+ include Google::Apis::Core::Hashable
2229
+
2230
+ # Optional. An optional request ID to identify requests. Specify a unique
2231
+ # request ID so that if you must retry your request, the server will know to
2232
+ # ignore the request if it has already been completed. The server will guarantee
2233
+ # that for at least 60 minutes after the first request. For example, consider a
2234
+ # situation where you make an initial request and the request times out. If you
2235
+ # make the request again with the same request ID, the server can check if
2236
+ # original operation with the same request ID was received, and if so, will
2237
+ # ignore the second request. This prevents clients from accidentally creating
2238
+ # duplicate commitments. The request ID must be a valid UUID with the exception
2239
+ # that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
2240
+ # Corresponds to the JSON property `requestId`
2241
+ # @return [String]
2242
+ attr_accessor :request_id
2243
+
2244
+ def initialize(**args)
2245
+ update!(**args)
2246
+ end
2247
+
2248
+ # Update properties of this object
2249
+ def update!(**args)
2250
+ @request_id = args[:request_id] if args.key?(:request_id)
2251
+ end
2252
+ end
2253
+
2254
+ # Guest OS running process details.
2255
+ class RunningProcess
2256
+ include Google::Apis::Core::Hashable
2257
+
2258
+ # Process extended attributes.
2259
+ # Corresponds to the JSON property `attributes`
2260
+ # @return [Hash<String,String>]
2261
+ attr_accessor :attributes
2262
+
2263
+ # Process full command line.
2264
+ # Corresponds to the JSON property `cmdline`
2265
+ # @return [String]
2266
+ attr_accessor :cmdline
2267
+
2268
+ # Process binary path.
2269
+ # Corresponds to the JSON property `exePath`
2270
+ # @return [String]
2271
+ attr_accessor :exe_path
2272
+
2273
+ # Process ID.
2274
+ # Corresponds to the JSON property `pid`
2275
+ # @return [Fixnum]
2276
+ attr_accessor :pid
2277
+
2278
+ # User running the process.
2279
+ # Corresponds to the JSON property `user`
2280
+ # @return [String]
2281
+ attr_accessor :user
2282
+
2283
+ def initialize(**args)
2284
+ update!(**args)
2285
+ end
2286
+
2287
+ # Update properties of this object
2288
+ def update!(**args)
2289
+ @attributes = args[:attributes] if args.key?(:attributes)
2290
+ @cmdline = args[:cmdline] if args.key?(:cmdline)
2291
+ @exe_path = args[:exe_path] if args.key?(:exe_path)
2292
+ @pid = args[:pid] if args.key?(:pid)
2293
+ @user = args[:user] if args.key?(:user)
2294
+ end
2295
+ end
2296
+
2297
+ # List of running guest OS processes.
2298
+ class RunningProcessList
2299
+ include Google::Apis::Core::Hashable
2300
+
2301
+ #
2302
+ # Corresponds to the JSON property `processes`
2303
+ # @return [Array<Google::Apis::MigrationcenterV1alpha1::RunningProcess>]
2304
+ attr_accessor :processes
2305
+
2306
+ def initialize(**args)
2307
+ update!(**args)
2308
+ end
2309
+
2310
+ # Update properties of this object
2311
+ def update!(**args)
2312
+ @processes = args[:processes] if args.key?(:processes)
2313
+ end
2314
+ end
2315
+
2316
+ # Guest OS running service details.
2317
+ class RunningService
2318
+ include Google::Apis::Core::Hashable
2319
+
2320
+ # Service command line.
2321
+ # Corresponds to the JSON property `cmdline`
2322
+ # @return [String]
2323
+ attr_accessor :cmdline
2324
+
2325
+ # Service binary path.
2326
+ # Corresponds to the JSON property `exePath`
2327
+ # @return [String]
2328
+ attr_accessor :exe_path
2329
+
2330
+ # Service name.
2331
+ # Corresponds to the JSON property `name`
2332
+ # @return [String]
2333
+ attr_accessor :name
2334
+
2335
+ # Service pid.
2336
+ # Corresponds to the JSON property `pid`
2337
+ # @return [Fixnum]
2338
+ attr_accessor :pid
2339
+
2340
+ # Service start mode (raw, OS-agnostic).
2341
+ # Corresponds to the JSON property `startMode`
2342
+ # @return [String]
2343
+ attr_accessor :start_mode
2344
+
2345
+ # Service state (raw, OS-agnostic).
2346
+ # Corresponds to the JSON property `state`
2347
+ # @return [String]
2348
+ attr_accessor :state
2349
+
2350
+ # Service status.
2351
+ # Corresponds to the JSON property `status`
2352
+ # @return [String]
2353
+ attr_accessor :status
2354
+
2355
+ def initialize(**args)
2356
+ update!(**args)
2357
+ end
2358
+
2359
+ # Update properties of this object
2360
+ def update!(**args)
2361
+ @cmdline = args[:cmdline] if args.key?(:cmdline)
2362
+ @exe_path = args[:exe_path] if args.key?(:exe_path)
2363
+ @name = args[:name] if args.key?(:name)
2364
+ @pid = args[:pid] if args.key?(:pid)
2365
+ @start_mode = args[:start_mode] if args.key?(:start_mode)
2366
+ @state = args[:state] if args.key?(:state)
2367
+ @status = args[:status] if args.key?(:status)
2368
+ end
2369
+ end
2370
+
2371
+ # List of running guest OS services.
2372
+ class RunningServiceList
2373
+ include Google::Apis::Core::Hashable
2374
+
2375
+ #
2376
+ # Corresponds to the JSON property `services`
2377
+ # @return [Array<Google::Apis::MigrationcenterV1alpha1::RunningService>]
2378
+ attr_accessor :services
2379
+
2380
+ def initialize(**args)
2381
+ update!(**args)
2382
+ end
2383
+
2384
+ # Update properties of this object
2385
+ def update!(**args)
2386
+ @services = args[:services] if args.key?(:services)
2387
+ end
2388
+ end
2389
+
2390
+ # Runtime networking information.
2391
+ class RuntimeNetworkInfo
2392
+ include Google::Apis::Core::Hashable
2393
+
2394
+ # Network connection list.
2395
+ # Corresponds to the JSON property `connections`
2396
+ # @return [Google::Apis::MigrationcenterV1alpha1::NetworkConnectionList]
2397
+ attr_accessor :connections
2398
+
2399
+ # Netstat (raw, OS-agnostic).
2400
+ # Corresponds to the JSON property `netstat`
2401
+ # @return [String]
2402
+ attr_accessor :netstat
2403
+
2404
+ # Represents civil time (or occasionally physical time). This type can represent
2405
+ # a civil time in one of a few possible ways: * When utc_offset is set and
2406
+ # time_zone is unset: a civil time on a calendar day with a particular offset
2407
+ # from UTC. * When time_zone is set and utc_offset is unset: a civil time on a
2408
+ # calendar day in a particular time zone. * When neither time_zone nor
2409
+ # utc_offset is set: a civil time on a calendar day in local time. The date is
2410
+ # relative to the Proleptic Gregorian Calendar. If year, month, or day are 0,
2411
+ # the DateTime is considered not to have a specific year, month, or day
2412
+ # respectively. This type may also be used to represent a physical time if all
2413
+ # the date and time fields are set and either case of the `time_offset` oneof is
2414
+ # set. Consider using `Timestamp` message for physical time instead. If your use
2415
+ # case also would like to store the user's timezone, that can be done in another
2416
+ # field. This type is more flexible than some applications may want. Make sure
2417
+ # to document and validate your application's limitations.
2418
+ # Corresponds to the JSON property `netstatTime`
2419
+ # @return [Google::Apis::MigrationcenterV1alpha1::DateTime]
2420
+ attr_accessor :netstat_time
2421
+
2422
+ def initialize(**args)
2423
+ update!(**args)
2424
+ end
2425
+
2426
+ # Update properties of this object
2427
+ def update!(**args)
2428
+ @connections = args[:connections] if args.key?(:connections)
2429
+ @netstat = args[:netstat] if args.key?(:netstat)
2430
+ @netstat_time = args[:netstat_time] if args.key?(:netstat_time)
2431
+ end
2432
+ end
2433
+
2434
+ # SELinux details.
2435
+ class Selinux
2436
+ include Google::Apis::Core::Hashable
2437
+
2438
+ # Is SELinux enabled.
2439
+ # Corresponds to the JSON property `enabled`
2440
+ # @return [Boolean]
2441
+ attr_accessor :enabled
2442
+ alias_method :enabled?, :enabled
2443
+
2444
+ # SELinux mode enforcing / permissive.
2445
+ # Corresponds to the JSON property `mode`
2446
+ # @return [String]
2447
+ attr_accessor :mode
2448
+
2449
+ def initialize(**args)
2450
+ update!(**args)
2451
+ end
2452
+
2453
+ # Update properties of this object
2454
+ def update!(**args)
2455
+ @enabled = args[:enabled] if args.key?(:enabled)
2456
+ @mode = args[:mode] if args.key?(:mode)
2457
+ end
2458
+ end
2459
+
2460
+ # Source represents an object from which asset information is streamed to
2461
+ # Migration Center.
2462
+ class Source
2463
+ include Google::Apis::Core::Hashable
2464
+
2465
+ # Output only. The timestamp when the source was created.
2466
+ # Corresponds to the JSON property `createTime`
2467
+ # @return [String]
2468
+ attr_accessor :create_time
2469
+
2470
+ # Free-text description.
2471
+ # Corresponds to the JSON property `description`
2472
+ # @return [String]
2473
+ attr_accessor :description
2474
+
2475
+ # User-friendly display name.
2476
+ # Corresponds to the JSON property `displayName`
2477
+ # @return [String]
2478
+ attr_accessor :display_name
2479
+
2480
+ # If `true`, the source is managed by other service(s).
2481
+ # Corresponds to the JSON property `isManaged`
2482
+ # @return [Boolean]
2483
+ attr_accessor :is_managed
2484
+ alias_method :is_managed?, :is_managed
2485
+
2486
+ # Output only. The full name of the source.
2487
+ # Corresponds to the JSON property `name`
2488
+ # @return [String]
2489
+ attr_accessor :name
2490
+
2491
+ # Output only. Number of frames that are still being processed.
2492
+ # Corresponds to the JSON property `pendingFrameCount`
2493
+ # @return [Fixnum]
2494
+ attr_accessor :pending_frame_count
2495
+
2496
+ # The information confidence of the source. The higher the value, the higher the
2497
+ # confidence.
2498
+ # Corresponds to the JSON property `priority`
2499
+ # @return [Fixnum]
2500
+ attr_accessor :priority
2501
+
2502
+ # Data source type.
2503
+ # Corresponds to the JSON property `type`
2504
+ # @return [String]
2505
+ attr_accessor :type
2506
+
2507
+ # Output only. The timestamp when the source was last updated.
2508
+ # Corresponds to the JSON property `updateTime`
2509
+ # @return [String]
2510
+ attr_accessor :update_time
2511
+
2512
+ def initialize(**args)
2513
+ update!(**args)
2514
+ end
2515
+
2516
+ # Update properties of this object
2517
+ def update!(**args)
2518
+ @create_time = args[:create_time] if args.key?(:create_time)
2519
+ @description = args[:description] if args.key?(:description)
2520
+ @display_name = args[:display_name] if args.key?(:display_name)
2521
+ @is_managed = args[:is_managed] if args.key?(:is_managed)
2522
+ @name = args[:name] if args.key?(:name)
2523
+ @pending_frame_count = args[:pending_frame_count] if args.key?(:pending_frame_count)
2524
+ @priority = args[:priority] if args.key?(:priority)
2525
+ @type = args[:type] if args.key?(:type)
2526
+ @update_time = args[:update_time] if args.key?(:update_time)
2527
+ end
2528
+ end
2529
+
2530
+ # The `Status` type defines a logical error model that is suitable for different
2531
+ # programming environments, including REST APIs and RPC APIs. It is used by [
2532
+ # gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
2533
+ # data: error code, error message, and error details. You can find out more
2534
+ # about this error model and how to work with it in the [API Design Guide](https:
2535
+ # //cloud.google.com/apis/design/errors).
2536
+ class Status
2537
+ include Google::Apis::Core::Hashable
2538
+
2539
+ # The status code, which should be an enum value of google.rpc.Code.
2540
+ # Corresponds to the JSON property `code`
2541
+ # @return [Fixnum]
2542
+ attr_accessor :code
2543
+
2544
+ # A list of messages that carry the error details. There is a common set of
2545
+ # message types for APIs to use.
2546
+ # Corresponds to the JSON property `details`
2547
+ # @return [Array<Hash<String,Object>>]
2548
+ attr_accessor :details
2549
+
2550
+ # A developer-facing error message, which should be in English. Any user-facing
2551
+ # error message should be localized and sent in the google.rpc.Status.details
2552
+ # field, or localized by the client.
2553
+ # Corresponds to the JSON property `message`
2554
+ # @return [String]
2555
+ attr_accessor :message
2556
+
2557
+ def initialize(**args)
2558
+ update!(**args)
2559
+ end
2560
+
2561
+ # Update properties of this object
2562
+ def update!(**args)
2563
+ @code = args[:code] if args.key?(:code)
2564
+ @details = args[:details] if args.key?(:details)
2565
+ @message = args[:message] if args.key?(:message)
2566
+ end
2567
+ end
2568
+
2569
+ # Represents a time zone from the [IANA Time Zone Database](https://www.iana.org/
2570
+ # time-zones).
2571
+ class TimeZone
2572
+ include Google::Apis::Core::Hashable
2573
+
2574
+ # IANA Time Zone Database time zone, e.g. "America/New_York".
2575
+ # Corresponds to the JSON property `id`
2576
+ # @return [String]
2577
+ attr_accessor :id
2578
+
2579
+ # Optional. IANA Time Zone Database version number, e.g. "2019a".
2580
+ # Corresponds to the JSON property `version`
2581
+ # @return [String]
2582
+ attr_accessor :version
2583
+
2584
+ def initialize(**args)
2585
+ update!(**args)
2586
+ end
2587
+
2588
+ # Update properties of this object
2589
+ def update!(**args)
2590
+ @id = args[:id] if args.key?(:id)
2591
+ @version = args[:version] if args.key?(:version)
2592
+ end
2593
+ end
2594
+
2595
+ # A request to update an asset.
2596
+ class UpdateAssetRequest
2597
+ include Google::Apis::Core::Hashable
2598
+
2599
+ # An asset represents a resource in your environment. Asset types include
2600
+ # virtual machines and databases.
2601
+ # Corresponds to the JSON property `asset`
2602
+ # @return [Google::Apis::MigrationcenterV1alpha1::Asset]
2603
+ attr_accessor :asset
2604
+
2605
+ # Optional. An optional request ID to identify requests. Specify a unique
2606
+ # request ID so that if you must retry your request, the server will know to
2607
+ # ignore the request if it has already been completed. The server will guarantee
2608
+ # that for at least 60 minutes since the first request. For example, consider a
2609
+ # situation where you make an initial request and the request times out. If you
2610
+ # make the request again with the same request ID, the server can check if
2611
+ # original operation with the same request ID was received, and if so, will
2612
+ # ignore the second request. This prevents clients from accidentally creating
2613
+ # duplicate commitments. The request ID must be a valid UUID with the exception
2614
+ # that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
2615
+ # Corresponds to the JSON property `requestId`
2616
+ # @return [String]
2617
+ attr_accessor :request_id
2618
+
2619
+ # Required. Field mask is used to specify the fields to be overwritten in the `
2620
+ # Asset` resource by the update. The values specified in the `update_mask` field
2621
+ # are relative to the resource, not the full request. A field will be
2622
+ # overwritten if it is in the mask. A single * value in the mask lets you to
2623
+ # overwrite all fields.
2624
+ # Corresponds to the JSON property `updateMask`
2625
+ # @return [String]
2626
+ attr_accessor :update_mask
2627
+
2628
+ def initialize(**args)
2629
+ update!(**args)
2630
+ end
2631
+
2632
+ # Update properties of this object
2633
+ def update!(**args)
2634
+ @asset = args[:asset] if args.key?(:asset)
2635
+ @request_id = args[:request_id] if args.key?(:request_id)
2636
+ @update_mask = args[:update_mask] if args.key?(:update_mask)
2637
+ end
2638
+ end
2639
+
2640
+ # A request to validate an import job.
2641
+ class ValidateImportJobRequest
2642
+ include Google::Apis::Core::Hashable
2643
+
2644
+ # Optional. An optional request ID to identify requests. Specify a unique
2645
+ # request ID so that if you must retry your request, the server will know to
2646
+ # ignore the request if it has already been completed. The server will guarantee
2647
+ # that for at least 60 minutes after the first request. For example, consider a
2648
+ # situation where you make an initial request and the request times out. If you
2649
+ # make the request again with the same request ID, the server can check if
2650
+ # original operation with the same request ID was received, and if so, will
2651
+ # ignore the second request. This prevents clients from accidentally creating
2652
+ # duplicate commitments. The request ID must be a valid UUID with the exception
2653
+ # that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
2654
+ # Corresponds to the JSON property `requestId`
2655
+ # @return [String]
2656
+ attr_accessor :request_id
2657
+
2658
+ def initialize(**args)
2659
+ update!(**args)
2660
+ end
2661
+
2662
+ # Update properties of this object
2663
+ def update!(**args)
2664
+ @request_id = args[:request_id] if args.key?(:request_id)
2665
+ end
2666
+ end
2667
+
2668
+ # A resource that aggregates errors across import job files.
2669
+ class ValidationReport
2670
+ include Google::Apis::Core::Hashable
2671
+
2672
+ # List of errors found in files.
2673
+ # Corresponds to the JSON property `fileValidations`
2674
+ # @return [Array<Google::Apis::MigrationcenterV1alpha1::FileValidationReport>]
2675
+ attr_accessor :file_validations
2676
+
2677
+ # List of job level errors.
2678
+ # Corresponds to the JSON property `jobErrors`
2679
+ # @return [Array<Google::Apis::MigrationcenterV1alpha1::ImportError>]
2680
+ attr_accessor :job_errors
2681
+
2682
+ def initialize(**args)
2683
+ update!(**args)
2684
+ end
2685
+
2686
+ # Update properties of this object
2687
+ def update!(**args)
2688
+ @file_validations = args[:file_validations] if args.key?(:file_validations)
2689
+ @job_errors = args[:job_errors] if args.key?(:job_errors)
2690
+ end
2691
+ end
2692
+
2693
+ # Details of the VM architecture.
2694
+ class VirtualMachineArchitectureDetails
2695
+ include Google::Apis::Core::Hashable
2696
+
2697
+ # Details about the bios.
2698
+ # Corresponds to the JSON property `bios`
2699
+ # @return [Google::Apis::MigrationcenterV1alpha1::BiosDetails]
2700
+ attr_accessor :bios
2701
+
2702
+ # CPU architecture e.g.: "x64-based PC", "x86_64", "i686" etc.
2703
+ # Corresponds to the JSON property `cpuArchitecture`
2704
+ # @return [String]
2705
+ attr_accessor :cpu_architecture
2706
+
2707
+ # CPU manufacturer e.g.: "Intel", "AMD".
2708
+ # Corresponds to the JSON property `cpuManufacturer`
2709
+ # @return [String]
2710
+ attr_accessor :cpu_manufacturer
2711
+
2712
+ # CPU name e.g. "Intel Xeon E5-2690", "AMD EPYC 7571" etc.
2713
+ # Corresponds to the JSON property `cpuName`
2714
+ # @return [String]
2715
+ attr_accessor :cpu_name
2716
+
2717
+ # Number of processor sockets allocated to the machine.
2718
+ # Corresponds to the JSON property `cpuSocketCount`
2719
+ # @return [Fixnum]
2720
+ attr_accessor :cpu_socket_count
2721
+
2722
+ # Number of cpu threads allocated to the machine.
2723
+ # Corresponds to the JSON property `cpuThreadCount`
2724
+ # @return [Fixnum]
2725
+ attr_accessor :cpu_thread_count
2726
+
2727
+ # Firmware (BIOS/efi).
2728
+ # Corresponds to the JSON property `firmware`
2729
+ # @return [String]
2730
+ attr_accessor :firmware
2731
+
2732
+ # CPU hyperthreading support (inner enum).
2733
+ # Corresponds to the JSON property `hyperthreading`
2734
+ # @return [String]
2735
+ attr_accessor :hyperthreading
2736
+
2737
+ # Hardware vendor.
2738
+ # Corresponds to the JSON property `vendor`
2739
+ # @return [String]
2740
+ attr_accessor :vendor
2741
+
2742
+ def initialize(**args)
2743
+ update!(**args)
2744
+ end
2745
+
2746
+ # Update properties of this object
2747
+ def update!(**args)
2748
+ @bios = args[:bios] if args.key?(:bios)
2749
+ @cpu_architecture = args[:cpu_architecture] if args.key?(:cpu_architecture)
2750
+ @cpu_manufacturer = args[:cpu_manufacturer] if args.key?(:cpu_manufacturer)
2751
+ @cpu_name = args[:cpu_name] if args.key?(:cpu_name)
2752
+ @cpu_socket_count = args[:cpu_socket_count] if args.key?(:cpu_socket_count)
2753
+ @cpu_thread_count = args[:cpu_thread_count] if args.key?(:cpu_thread_count)
2754
+ @firmware = args[:firmware] if args.key?(:firmware)
2755
+ @hyperthreading = args[:hyperthreading] if args.key?(:hyperthreading)
2756
+ @vendor = args[:vendor] if args.key?(:vendor)
2757
+ end
2758
+ end
2759
+
2760
+ # Details of a VirtualMachine.
2761
+ class VirtualMachineDetails
2762
+ include Google::Apis::Core::Hashable
2763
+
2764
+ # Number of CPU cores in the VirtualMachine. Must be non-negative.
2765
+ # Corresponds to the JSON property `coreCount`
2766
+ # @return [Fixnum]
2767
+ attr_accessor :core_count
2768
+
2769
+ # Information from Guest-level collections.
2770
+ # Corresponds to the JSON property `guestOs`
2771
+ # @return [Google::Apis::MigrationcenterV1alpha1::GuestOsDetails]
2772
+ attr_accessor :guest_os
2773
+
2774
+ # The amount of memory in the VirtualMachine. Must be non-negative.
2775
+ # Corresponds to the JSON property `memoryMb`
2776
+ # @return [Fixnum]
2777
+ attr_accessor :memory_mb
2778
+
2779
+ # What family the OS belong to, if known.
2780
+ # Corresponds to the JSON property `osFamily`
2781
+ # @return [String]
2782
+ attr_accessor :os_family
2783
+
2784
+ # The name of the operating system running on the VirtualMachine.
2785
+ # Corresponds to the JSON property `osName`
2786
+ # @return [String]
2787
+ attr_accessor :os_name
2788
+
2789
+ # Information about the platform.
2790
+ # Corresponds to the JSON property `platform`
2791
+ # @return [Google::Apis::MigrationcenterV1alpha1::PlatformDetails]
2792
+ attr_accessor :platform
2793
+
2794
+ # Power state of VM (poweredOn or poweredOff).
2795
+ # Corresponds to the JSON property `powerState`
2796
+ # @return [String]
2797
+ attr_accessor :power_state
2798
+
2799
+ # Folder name in vCenter where asset resides.
2800
+ # Corresponds to the JSON property `vcenterFolder`
2801
+ # @return [String]
2802
+ attr_accessor :vcenter_folder
2803
+
2804
+ # vCenter URL used in collection.
2805
+ # Corresponds to the JSON property `vcenterUrl`
2806
+ # @return [String]
2807
+ attr_accessor :vcenter_url
2808
+
2809
+ # vCenter VM ID.
2810
+ # Corresponds to the JSON property `vcenterVmId`
2811
+ # @return [String]
2812
+ attr_accessor :vcenter_vm_id
2813
+
2814
+ # Details of the VM architecture.
2815
+ # Corresponds to the JSON property `vmArchitecture`
2816
+ # @return [Google::Apis::MigrationcenterV1alpha1::VirtualMachineArchitectureDetails]
2817
+ attr_accessor :vm_architecture
2818
+
2819
+ # Details of VM disks.
2820
+ # Corresponds to the JSON property `vmDisks`
2821
+ # @return [Google::Apis::MigrationcenterV1alpha1::VirtualMachineDiskDetails]
2822
+ attr_accessor :vm_disks
2823
+
2824
+ # Virtual Machine display name.
2825
+ # Corresponds to the JSON property `vmName`
2826
+ # @return [String]
2827
+ attr_accessor :vm_name
2828
+
2829
+ # Details of network adapters and settings
2830
+ # Corresponds to the JSON property `vmNetwork`
2831
+ # @return [Google::Apis::MigrationcenterV1alpha1::VirtualMachineNetworkDetails]
2832
+ attr_accessor :vm_network
2833
+
2834
+ # Virtual Machine uniqe identifier.
2835
+ # Corresponds to the JSON property `vmUuid`
2836
+ # @return [String]
2837
+ attr_accessor :vm_uuid
2838
+
2839
+ def initialize(**args)
2840
+ update!(**args)
2841
+ end
2842
+
2843
+ # Update properties of this object
2844
+ def update!(**args)
2845
+ @core_count = args[:core_count] if args.key?(:core_count)
2846
+ @guest_os = args[:guest_os] if args.key?(:guest_os)
2847
+ @memory_mb = args[:memory_mb] if args.key?(:memory_mb)
2848
+ @os_family = args[:os_family] if args.key?(:os_family)
2849
+ @os_name = args[:os_name] if args.key?(:os_name)
2850
+ @platform = args[:platform] if args.key?(:platform)
2851
+ @power_state = args[:power_state] if args.key?(:power_state)
2852
+ @vcenter_folder = args[:vcenter_folder] if args.key?(:vcenter_folder)
2853
+ @vcenter_url = args[:vcenter_url] if args.key?(:vcenter_url)
2854
+ @vcenter_vm_id = args[:vcenter_vm_id] if args.key?(:vcenter_vm_id)
2855
+ @vm_architecture = args[:vm_architecture] if args.key?(:vm_architecture)
2856
+ @vm_disks = args[:vm_disks] if args.key?(:vm_disks)
2857
+ @vm_name = args[:vm_name] if args.key?(:vm_name)
2858
+ @vm_network = args[:vm_network] if args.key?(:vm_network)
2859
+ @vm_uuid = args[:vm_uuid] if args.key?(:vm_uuid)
2860
+ end
2861
+ end
2862
+
2863
+ # Details of VM disks.
2864
+ class VirtualMachineDiskDetails
2865
+ include Google::Apis::Core::Hashable
2866
+
2867
+ # VM disks.
2868
+ # Corresponds to the JSON property `disks`
2869
+ # @return [Google::Apis::MigrationcenterV1alpha1::DiskEntryList]
2870
+ attr_accessor :disks
2871
+
2872
+ # Disk total Capacity.
2873
+ # Corresponds to the JSON property `hddTotalCapacityBytes`
2874
+ # @return [Fixnum]
2875
+ attr_accessor :hdd_total_capacity_bytes
2876
+
2877
+ # Total Disk Free Space.
2878
+ # Corresponds to the JSON property `hddTotalFreeBytes`
2879
+ # @return [Fixnum]
2880
+ attr_accessor :hdd_total_free_bytes
2881
+
2882
+ # Raw lsblk output in json.
2883
+ # Corresponds to the JSON property `lsblkJson`
2884
+ # @return [String]
2885
+ attr_accessor :lsblk_json
2886
+
2887
+ def initialize(**args)
2888
+ update!(**args)
2889
+ end
2890
+
2891
+ # Update properties of this object
2892
+ def update!(**args)
2893
+ @disks = args[:disks] if args.key?(:disks)
2894
+ @hdd_total_capacity_bytes = args[:hdd_total_capacity_bytes] if args.key?(:hdd_total_capacity_bytes)
2895
+ @hdd_total_free_bytes = args[:hdd_total_free_bytes] if args.key?(:hdd_total_free_bytes)
2896
+ @lsblk_json = args[:lsblk_json] if args.key?(:lsblk_json)
2897
+ end
2898
+ end
2899
+
2900
+ # Details of network adapters and settings
2901
+ class VirtualMachineNetworkDetails
2902
+ include Google::Apis::Core::Hashable
2903
+
2904
+ # Default GW address. Top-level object, will be later encriched by full
2905
+ # RouteInfo.
2906
+ # Corresponds to the JSON property `defaultGw`
2907
+ # @return [String]
2908
+ attr_accessor :default_gw
2909
+
2910
+ # List of Network Adapters.
2911
+ # Corresponds to the JSON property `networkAdapters`
2912
+ # @return [Google::Apis::MigrationcenterV1alpha1::NetworkAdapterList]
2913
+ attr_accessor :network_adapters
2914
+
2915
+ # IP Address of the machine.
2916
+ # Corresponds to the JSON property `primaryIpAddress`
2917
+ # @return [String]
2918
+ attr_accessor :primary_ip_address
2919
+
2920
+ # MAC Address of the machine. This property is used to uniqly identify the
2921
+ # machine.
2922
+ # Corresponds to the JSON property `primaryMacAddress`
2923
+ # @return [String]
2924
+ attr_accessor :primary_mac_address
2925
+
2926
+ def initialize(**args)
2927
+ update!(**args)
2928
+ end
2929
+
2930
+ # Update properties of this object
2931
+ def update!(**args)
2932
+ @default_gw = args[:default_gw] if args.key?(:default_gw)
2933
+ @network_adapters = args[:network_adapters] if args.key?(:network_adapters)
2934
+ @primary_ip_address = args[:primary_ip_address] if args.key?(:primary_ip_address)
2935
+ @primary_mac_address = args[:primary_mac_address] if args.key?(:primary_mac_address)
2936
+ end
2937
+ end
2938
+
2939
+ # VMware disk config details.
2940
+ class VmwareDiskConfig
2941
+ include Google::Apis::Core::Hashable
2942
+
2943
+ # VMDK backing type.
2944
+ # Corresponds to the JSON property `backingType`
2945
+ # @return [String]
2946
+ attr_accessor :backing_type
2947
+
2948
+ # RDM compatibility mode.
2949
+ # Corresponds to the JSON property `rdmCompatibilityMode`
2950
+ # @return [String]
2951
+ attr_accessor :rdm_compatibility_mode
2952
+
2953
+ # Is VMDK shared with other VMs.
2954
+ # Corresponds to the JSON property `shared`
2955
+ # @return [Boolean]
2956
+ attr_accessor :shared
2957
+ alias_method :shared?, :shared
2958
+
2959
+ # VMDK disk mode.
2960
+ # Corresponds to the JSON property `vmdkDiskMode`
2961
+ # @return [String]
2962
+ attr_accessor :vmdk_disk_mode
2963
+
2964
+ def initialize(**args)
2965
+ update!(**args)
2966
+ end
2967
+
2968
+ # Update properties of this object
2969
+ def update!(**args)
2970
+ @backing_type = args[:backing_type] if args.key?(:backing_type)
2971
+ @rdm_compatibility_mode = args[:rdm_compatibility_mode] if args.key?(:rdm_compatibility_mode)
2972
+ @shared = args[:shared] if args.key?(:shared)
2973
+ @vmdk_disk_mode = args[:vmdk_disk_mode] if args.key?(:vmdk_disk_mode)
2974
+ end
2975
+ end
2976
+
2977
+ # VMware specific details.
2978
+ class VmwarePlatformDetails
2979
+ include Google::Apis::Core::Hashable
2980
+
2981
+ # ESX version.
2982
+ # Corresponds to the JSON property `esxVersion`
2983
+ # @return [String]
2984
+ attr_accessor :esx_version
2985
+
2986
+ # VMware os enum - https://vdc-repo.vmware.com/vmwb-repository/dcr-public/
2987
+ # da47f910-60ac-438b-8b9b-6122f4d14524/16b7274a-bf8b-4b4c-a05e-746f2aa93c8c/doc/
2988
+ # vim.vm.GuestOsDescriptor.GuestOsIdentifier.html.
2989
+ # Corresponds to the JSON property `osid`
2990
+ # @return [String]
2991
+ attr_accessor :osid
2992
+
2993
+ # vCenter version.
2994
+ # Corresponds to the JSON property `vcenterVersion`
2995
+ # @return [String]
2996
+ attr_accessor :vcenter_version
2997
+
2998
+ def initialize(**args)
2999
+ update!(**args)
3000
+ end
3001
+
3002
+ # Update properties of this object
3003
+ def update!(**args)
3004
+ @esx_version = args[:esx_version] if args.key?(:esx_version)
3005
+ @osid = args[:osid] if args.key?(:osid)
3006
+ @vcenter_version = args[:vcenter_version] if args.key?(:vcenter_version)
3007
+ end
3008
+ end
3009
+ end
3010
+ end
3011
+ end