google-cloud-vm_migration-v1 2.2.0 → 2.4.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.
@@ -50,9 +50,13 @@ module Google
50
50
  # @!attribute [rw] state
51
51
  # @return [::Google::Cloud::VMMigration::V1::ReplicationCycle::State]
52
52
  # State of the ReplicationCycle.
53
- # @!attribute [rw] error
53
+ # @!attribute [r] error
54
54
  # @return [::Google::Rpc::Status]
55
- # Provides details on the state of the cycle in case of an error.
55
+ # Output only. Provides details on the state of the cycle in case of an
56
+ # error.
57
+ # @!attribute [r] warnings
58
+ # @return [::Array<::Google::Cloud::VMMigration::V1::MigrationWarning>]
59
+ # Output only. Warnings that occurred during the cycle.
56
60
  class ReplicationCycle
57
61
  include ::Google::Protobuf::MessageExts
58
62
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -151,9 +155,28 @@ module Google
151
155
  # @!attribute [rw] compute_engine_target_defaults
152
156
  # @return [::Google::Cloud::VMMigration::V1::ComputeEngineTargetDefaults]
153
157
  # Details of the target VM in Compute Engine.
158
+ #
159
+ # Note: The following fields are mutually exclusive: `compute_engine_target_defaults`, `compute_engine_disks_target_defaults`. If a field in that set is populated, all other fields in the set will automatically be cleared.
160
+ # @!attribute [rw] compute_engine_disks_target_defaults
161
+ # @return [::Google::Cloud::VMMigration::V1::ComputeEngineDisksTargetDefaults]
162
+ # Details of the target Persistent Disks in Compute Engine.
163
+ #
164
+ # Note: The following fields are mutually exclusive: `compute_engine_disks_target_defaults`, `compute_engine_target_defaults`. If a field in that set is populated, all other fields in the set will automatically be cleared.
165
+ # @!attribute [r] vmware_source_vm_details
166
+ # @return [::Google::Cloud::VMMigration::V1::VmwareSourceVmDetails]
167
+ # Output only. Details of the VM from a Vmware source.
168
+ #
169
+ # Note: The following fields are mutually exclusive: `vmware_source_vm_details`, `aws_source_vm_details`, `azure_source_vm_details`. If a field in that set is populated, all other fields in the set will automatically be cleared.
154
170
  # @!attribute [r] aws_source_vm_details
155
171
  # @return [::Google::Cloud::VMMigration::V1::AwsSourceVmDetails]
156
172
  # Output only. Details of the VM from an AWS source.
173
+ #
174
+ # Note: The following fields are mutually exclusive: `aws_source_vm_details`, `vmware_source_vm_details`, `azure_source_vm_details`. If a field in that set is populated, all other fields in the set will automatically be cleared.
175
+ # @!attribute [r] azure_source_vm_details
176
+ # @return [::Google::Cloud::VMMigration::V1::AzureSourceVmDetails]
177
+ # Output only. Details of the VM from an Azure source.
178
+ #
179
+ # Note: The following fields are mutually exclusive: `azure_source_vm_details`, `vmware_source_vm_details`, `aws_source_vm_details`. If a field in that set is populated, all other fields in the set will automatically be cleared.
157
180
  # @!attribute [r] name
158
181
  # @return [::String]
159
182
  # Output only. The identifier of the MigratingVm.
@@ -190,8 +213,12 @@ module Google
190
213
  # Output only. The last time the migrating VM state was updated.
191
214
  # @!attribute [r] current_sync_info
192
215
  # @return [::Google::Cloud::VMMigration::V1::ReplicationCycle]
193
- # Output only. The percentage progress of the current running replication
194
- # cycle.
216
+ # Output only. Details of the current running replication cycle.
217
+ # @!attribute [r] last_replication_cycle
218
+ # @return [::Google::Cloud::VMMigration::V1::ReplicationCycle]
219
+ # Output only. Details of the last replication cycle. This will be updated
220
+ # whenever a replication cycle is finished and is not to be confused with
221
+ # last_sync which is only updated on successful replication cycles.
195
222
  # @!attribute [r] group
196
223
  # @return [::String]
197
224
  # Output only. The group this migrating vm is included in, if any. The group
@@ -218,10 +245,33 @@ module Google
218
245
  # running cutover job, if one exists.
219
246
  # Note: To have this field populated you need to explicitly request it via
220
247
  # the "view" parameter of the Get/List request.
248
+ # @!attribute [r] cutover_forecast
249
+ # @return [::Google::Cloud::VMMigration::V1::CutoverForecast]
250
+ # Output only. Provides details of future CutoverJobs of a MigratingVm.
251
+ # Set to empty when cutover forecast is unavailable.
252
+ # @!attribute [r] expiration
253
+ # @return [::Google::Cloud::VMMigration::V1::MigratingVm::Expiration]
254
+ # Output only. Provides details about the expiration state of the migrating
255
+ # VM.
221
256
  class MigratingVm
222
257
  include ::Google::Protobuf::MessageExts
223
258
  extend ::Google::Protobuf::MessageExts::ClassMethods
224
259
 
260
+ # Expiration holds information about the expiration of a MigratingVm.
261
+ # @!attribute [r] expire_time
262
+ # @return [::Google::Protobuf::Timestamp]
263
+ # Output only. Timestamp of when this resource is considered expired.
264
+ # @!attribute [r] extension_count
265
+ # @return [::Integer]
266
+ # Output only. The number of times expiration was extended.
267
+ # @!attribute [r] extendable
268
+ # @return [::Boolean]
269
+ # Output only. Describes whether the expiration can be extended.
270
+ class Expiration
271
+ include ::Google::Protobuf::MessageExts
272
+ extend ::Google::Protobuf::MessageExts::ClassMethods
273
+ end
274
+
225
275
  # @!attribute [rw] key
226
276
  # @return [::String]
227
277
  # @!attribute [rw] value
@@ -274,9 +324,27 @@ module Google
274
324
  # The replication process encountered an unrecoverable error and was
275
325
  # aborted.
276
326
  ERROR = 13
327
+
328
+ # The migrating VM has passed its expiration date. It might be possible to
329
+ # bring it back to "Active" state by updating the TTL field. For more
330
+ # information, see the documentation.
331
+ EXPIRED = 14
332
+
333
+ # The migrating VM's has been finalized and migration resources have been
334
+ # removed.
335
+ FINALIZED_EXPIRED = 17
277
336
  end
278
337
  end
279
338
 
339
+ # CutoverForecast holds information about future CutoverJobs of a MigratingVm.
340
+ # @!attribute [r] estimated_cutover_job_duration
341
+ # @return [::Google::Protobuf::Duration]
342
+ # Output only. Estimation of the CutoverJob duration.
343
+ class CutoverForecast
344
+ include ::Google::Protobuf::MessageExts
345
+ extend ::Google::Protobuf::MessageExts::ClassMethods
346
+ end
347
+
280
348
  # CloneJob describes the process of creating a clone of a
281
349
  # {::Google::Cloud::VMMigration::V1::MigratingVm MigratingVM} to the
282
350
  # requested target based on the latest successful uploaded snapshots.
@@ -290,6 +358,13 @@ module Google
290
358
  # @!attribute [r] compute_engine_target_details
291
359
  # @return [::Google::Cloud::VMMigration::V1::ComputeEngineTargetDetails]
292
360
  # Output only. Details of the target VM in Compute Engine.
361
+ #
362
+ # Note: The following fields are mutually exclusive: `compute_engine_target_details`, `compute_engine_disks_target_details`. If a field in that set is populated, all other fields in the set will automatically be cleared.
363
+ # @!attribute [r] compute_engine_disks_target_details
364
+ # @return [::Google::Cloud::VMMigration::V1::ComputeEngineDisksTargetDetails]
365
+ # Output only. Details of the target Persistent Disks in Compute Engine.
366
+ #
367
+ # Note: The following fields are mutually exclusive: `compute_engine_disks_target_details`, `compute_engine_target_details`. If a field in that set is populated, all other fields in the set will automatically be cleared.
293
368
  # @!attribute [r] create_time
294
369
  # @return [::Google::Protobuf::Timestamp]
295
370
  # Output only. The time the clone job was created (as an API call, not when
@@ -393,10 +468,17 @@ module Google
393
468
 
394
469
  # CutoverJob message describes a cutover of a migrating VM. The CutoverJob is
395
470
  # the operation of shutting down the VM, creating a snapshot and
396
- # clonning the VM using the replicated snapshot.
471
+ # cloning the VM using the replicated snapshot.
397
472
  # @!attribute [r] compute_engine_target_details
398
473
  # @return [::Google::Cloud::VMMigration::V1::ComputeEngineTargetDetails]
399
474
  # Output only. Details of the target VM in Compute Engine.
475
+ #
476
+ # Note: The following fields are mutually exclusive: `compute_engine_target_details`, `compute_engine_disks_target_details`. If a field in that set is populated, all other fields in the set will automatically be cleared.
477
+ # @!attribute [r] compute_engine_disks_target_details
478
+ # @return [::Google::Cloud::VMMigration::V1::ComputeEngineDisksTargetDetails]
479
+ # Output only. Details of the target Persistent Disks in Compute Engine.
480
+ #
481
+ # Note: The following fields are mutually exclusive: `compute_engine_disks_target_details`, `compute_engine_target_details`. If a field in that set is populated, all other fields in the set will automatically be cleared.
400
482
  # @!attribute [r] create_time
401
483
  # @return [::Google::Protobuf::Timestamp]
402
484
  # Output only. The time the cutover job was created (as an API call, not when
@@ -520,8 +602,8 @@ module Google
520
602
  # the request if it has already been completed. The server will guarantee
521
603
  # that for at least 60 minutes since the first request.
522
604
  #
523
- # For example, consider a situation where you make an initial request and t
524
- # he request times out. If you make the request again with the same request
605
+ # For example, consider a situation where you make an initial request and
606
+ # the request times out. If you make the request again with the same request
525
607
  # ID, the server can check if original operation with the same request ID
526
608
  # was received, and if so, will ignore the second request. This prevents
527
609
  # clients from accidentally creating duplicate commitments.
@@ -607,12 +689,17 @@ module Google
607
689
  # @return [::Google::Cloud::VMMigration::V1::VmwareSourceDetails]
608
690
  # Vmware type source details.
609
691
  #
610
- # Note: The following fields are mutually exclusive: `vmware`, `aws`. If a field in that set is populated, all other fields in the set will automatically be cleared.
692
+ # Note: The following fields are mutually exclusive: `vmware`, `aws`, `azure`. If a field in that set is populated, all other fields in the set will automatically be cleared.
611
693
  # @!attribute [rw] aws
612
694
  # @return [::Google::Cloud::VMMigration::V1::AwsSourceDetails]
613
695
  # AWS type source details.
614
696
  #
615
- # Note: The following fields are mutually exclusive: `aws`, `vmware`. If a field in that set is populated, all other fields in the set will automatically be cleared.
697
+ # Note: The following fields are mutually exclusive: `aws`, `vmware`, `azure`. If a field in that set is populated, all other fields in the set will automatically be cleared.
698
+ # @!attribute [rw] azure
699
+ # @return [::Google::Cloud::VMMigration::V1::AzureSourceDetails]
700
+ # Azure type source details.
701
+ #
702
+ # Note: The following fields are mutually exclusive: `azure`, `vmware`, `aws`. If a field in that set is populated, all other fields in the set will automatically be cleared.
616
703
  # @!attribute [r] name
617
704
  # @return [::String]
618
705
  # Output only. The Source name.
@@ -628,6 +715,10 @@ module Google
628
715
  # @!attribute [rw] description
629
716
  # @return [::String]
630
717
  # User-provided description of the source.
718
+ # @!attribute [rw] encryption
719
+ # @return [::Google::Cloud::VMMigration::V1::Encryption]
720
+ # Optional. Immutable. The encryption details of the source data stored by
721
+ # the service.
631
722
  class Source
632
723
  include ::Google::Protobuf::MessageExts
633
724
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -642,6 +733,16 @@ module Google
642
733
  end
643
734
  end
644
735
 
736
+ # Encryption message describes the details of the applied encryption.
737
+ # @!attribute [rw] kms_key
738
+ # @return [::String]
739
+ # Required. The name of the encryption key that is stored in Google Cloud
740
+ # KMS.
741
+ class Encryption
742
+ include ::Google::Protobuf::MessageExts
743
+ extend ::Google::Protobuf::MessageExts::ClassMethods
744
+ end
745
+
645
746
  # VmwareSourceDetails message describes a specific source details for the
646
747
  # vmware source type.
647
748
  # @!attribute [rw] username
@@ -657,6 +758,9 @@ module Google
657
758
  # @!attribute [rw] thumbprint
658
759
  # @return [::String]
659
760
  # The thumbprint representing the certificate for the vcenter.
761
+ # @!attribute [rw] resolved_vcenter_host
762
+ # @return [::String]
763
+ # The hostname of the vcenter.
660
764
  class VmwareSourceDetails
661
765
  include ::Google::Protobuf::MessageExts
662
766
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -705,6 +809,11 @@ module Google
705
809
  # @!attribute [rw] secret_access_key
706
810
  # @return [::String]
707
811
  # Input only. AWS secret access key.
812
+ # @!attribute [rw] session_token
813
+ # @return [::String]
814
+ # Input only. AWS session token.
815
+ # Used only when AWS security token service (STS) is responsible for
816
+ # creating the temporary credentials.
708
817
  class AccessKeyCredentials
709
818
  include ::Google::Protobuf::MessageExts
710
819
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -713,10 +822,10 @@ module Google
713
822
  # Tag is an AWS tag representation.
714
823
  # @!attribute [rw] key
715
824
  # @return [::String]
716
- # Key of tag.
825
+ # Required. Key of tag.
717
826
  # @!attribute [rw] value
718
827
  # @return [::String]
719
- # Value of tag.
828
+ # Required. Value of tag.
720
829
  class Tag
721
830
  include ::Google::Protobuf::MessageExts
722
831
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -750,6 +859,82 @@ module Google
750
859
  end
751
860
  end
752
861
 
862
+ # AzureSourceDetails message describes a specific source details for the
863
+ # Azure source type.
864
+ # @!attribute [rw] client_secret_creds
865
+ # @return [::Google::Cloud::VMMigration::V1::AzureSourceDetails::ClientSecretCredentials]
866
+ # Azure Credentials using tenant ID, client ID and secret.
867
+ # @!attribute [rw] subscription_id
868
+ # @return [::String]
869
+ # Immutable. Azure subscription ID.
870
+ # @!attribute [rw] azure_location
871
+ # @return [::String]
872
+ # Immutable. The Azure location (region) that the source VMs will be migrated
873
+ # from.
874
+ # @!attribute [r] state
875
+ # @return [::Google::Cloud::VMMigration::V1::AzureSourceDetails::State]
876
+ # Output only. State of the source as determined by the health check.
877
+ # @!attribute [r] error
878
+ # @return [::Google::Rpc::Status]
879
+ # Output only. Provides details on the state of the Source in case of an
880
+ # error.
881
+ # @!attribute [rw] migration_resources_user_tags
882
+ # @return [::Google::Protobuf::Map{::String => ::String}]
883
+ # User specified tags to add to every M2VM generated resource in Azure.
884
+ # These tags will be set in addition to the default tags that are set as part
885
+ # of the migration process. The tags must not begin with the reserved prefix
886
+ # `m4ce` or `m2vm`.
887
+ # @!attribute [r] resource_group_id
888
+ # @return [::String]
889
+ # Output only. The ID of the Azure resource group that contains all resources
890
+ # related to the migration process of this source.
891
+ class AzureSourceDetails
892
+ include ::Google::Protobuf::MessageExts
893
+ extend ::Google::Protobuf::MessageExts::ClassMethods
894
+
895
+ # Message describing Azure Credentials using tenant ID, client ID and secret.
896
+ # @!attribute [rw] tenant_id
897
+ # @return [::String]
898
+ # Azure tenant ID.
899
+ # @!attribute [rw] client_id
900
+ # @return [::String]
901
+ # Azure client ID.
902
+ # @!attribute [rw] client_secret
903
+ # @return [::String]
904
+ # Input only. Azure client secret.
905
+ class ClientSecretCredentials
906
+ include ::Google::Protobuf::MessageExts
907
+ extend ::Google::Protobuf::MessageExts::ClassMethods
908
+ end
909
+
910
+ # @!attribute [rw] key
911
+ # @return [::String]
912
+ # @!attribute [rw] value
913
+ # @return [::String]
914
+ class MigrationResourcesUserTagsEntry
915
+ include ::Google::Protobuf::MessageExts
916
+ extend ::Google::Protobuf::MessageExts::ClassMethods
917
+ end
918
+
919
+ # The possible values of the state.
920
+ module State
921
+ # The state is unknown. This is used for API compatibility only and is not
922
+ # used by the system.
923
+ STATE_UNSPECIFIED = 0
924
+
925
+ # The state was not sampled by the health checks yet.
926
+ PENDING = 1
927
+
928
+ # The source is available but might not be usable yet due to invalid
929
+ # credentials or another reason.
930
+ # The error message will contain further details.
931
+ FAILED = 2
932
+
933
+ # The source exists and its credentials were verified.
934
+ ACTIVE = 3
935
+ end
936
+ end
937
+
753
938
  # DatacenterConnector message describes a connector between the Source and
754
939
  # Google Cloud, which is installed on a vmware datacenter (an OVA vm installed
755
940
  # by the user) to connect the Datacenter to Google Cloud and support vm
@@ -841,9 +1026,10 @@ module Google
841
1026
  # @!attribute [rw] state
842
1027
  # @return [::Google::Cloud::VMMigration::V1::UpgradeStatus::State]
843
1028
  # The state of the upgradeAppliance operation.
844
- # @!attribute [rw] error
1029
+ # @!attribute [r] error
845
1030
  # @return [::Google::Rpc::Status]
846
- # Provides details on the state of the upgrade operation in case of an error.
1031
+ # Output only. Provides details on the state of the upgrade operation in case
1032
+ # of an error.
847
1033
  # @!attribute [rw] start_time
848
1034
  # @return [::Google::Protobuf::Timestamp]
849
1035
  # The time the operation was started.
@@ -870,7 +1056,7 @@ module Google
870
1056
  end
871
1057
  end
872
1058
 
873
- # Holds informatiom about the available versions for upgrade.
1059
+ # Holds information about the available versions for upgrade.
874
1060
  # @!attribute [rw] new_deployable_appliance
875
1061
  # @return [::Google::Cloud::VMMigration::V1::ApplianceVersion]
876
1062
  # The newest deployable version of the appliance.
@@ -974,8 +1160,8 @@ module Google
974
1160
  # the request if it has already been completed. The server will guarantee
975
1161
  # that for at least 60 minutes since the first request.
976
1162
  #
977
- # For example, consider a situation where you make an initial request and t
978
- # he request times out. If you make the request again with the same request
1163
+ # For example, consider a situation where you make an initial request and
1164
+ # the request times out. If you make the request again with the same request
979
1165
  # ID, the server can check if original operation with the same request ID
980
1166
  # was received, and if so, will ignore the second request. This prevents
981
1167
  # clients from accidentally creating duplicate commitments.
@@ -1005,8 +1191,8 @@ module Google
1005
1191
  # the request if it has already been completed. The server will guarantee
1006
1192
  # that for at least 60 minutes since the first request.
1007
1193
  #
1008
- # For example, consider a situation where you make an initial request and t
1009
- # he request times out. If you make the request again with the same request
1194
+ # For example, consider a situation where you make an initial request and
1195
+ # the request times out. If you make the request again with the same request
1010
1196
  # ID, the server can check if original operation with the same request ID
1011
1197
  # was received, and if so, will ignore the second request. This prevents
1012
1198
  # clients from accidentally creating duplicate commitments.
@@ -1029,8 +1215,8 @@ module Google
1029
1215
  # the request if it has already been completed. The server will guarantee
1030
1216
  # that for at least 60 minutes after the first request.
1031
1217
  #
1032
- # For example, consider a situation where you make an initial request and t
1033
- # he request times out. If you make the request again with the same request
1218
+ # For example, consider a situation where you make an initial request and
1219
+ # the request times out. If you make the request again with the same request
1034
1220
  # ID, the server can check if original operation with the same request ID
1035
1221
  # was received, and if so, will ignore the second request. This prevents
1036
1222
  # clients from accidentally creating duplicate commitments.
@@ -1096,6 +1282,9 @@ module Google
1096
1282
  # @!attribute [r] boot_option
1097
1283
  # @return [::Google::Cloud::VMMigration::V1::VmwareVmDetails::BootOption]
1098
1284
  # Output only. The VM Boot Option.
1285
+ # @!attribute [r] architecture
1286
+ # @return [::Google::Cloud::VMMigration::V1::VmwareVmDetails::VmArchitecture]
1287
+ # Output only. The CPU architecture.
1099
1288
  class VmwareVmDetails
1100
1289
  include ::Google::Protobuf::MessageExts
1101
1290
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -1126,6 +1315,18 @@ module Google
1126
1315
  # The boot option is BIOS.
1127
1316
  BIOS = 2
1128
1317
  end
1318
+
1319
+ # Possible values for the VM architecture.
1320
+ module VmArchitecture
1321
+ # The architecture is unknown.
1322
+ VM_ARCHITECTURE_UNSPECIFIED = 0
1323
+
1324
+ # The architecture is one of the x86 architectures.
1325
+ VM_ARCHITECTURE_X86_FAMILY = 1
1326
+
1327
+ # The architecture is ARM64.
1328
+ VM_ARCHITECTURE_ARM64 = 2
1329
+ end
1129
1330
  end
1130
1331
 
1131
1332
  # AwsVmDetails describes a VM in AWS.
@@ -1146,7 +1347,7 @@ module Google
1146
1347
  # Output only. The power state of the VM at the moment list was taken.
1147
1348
  # @!attribute [rw] cpu_count
1148
1349
  # @return [::Integer]
1149
- # The number of cpus the VM has.
1350
+ # The number of CPU cores the VM has.
1150
1351
  # @!attribute [rw] memory_mb
1151
1352
  # @return [::Integer]
1152
1353
  # The memory size of the VM in MB.
@@ -1183,6 +1384,10 @@ module Google
1183
1384
  # @!attribute [rw] architecture
1184
1385
  # @return [::Google::Cloud::VMMigration::V1::AwsVmDetails::VmArchitecture]
1185
1386
  # The CPU architecture.
1387
+ # @!attribute [rw] vcpu_count
1388
+ # @return [::Integer]
1389
+ # The number of vCPUs the VM has. It is calculated as the
1390
+ # number of CPU cores * threads per CPU the VM has.
1186
1391
  class AwsVmDetails
1187
1392
  include ::Google::Protobuf::MessageExts
1188
1393
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -1270,6 +1475,163 @@ module Google
1270
1475
  extend ::Google::Protobuf::MessageExts::ClassMethods
1271
1476
  end
1272
1477
 
1478
+ # AzureVmDetails describes a VM in Azure.
1479
+ # @!attribute [rw] vm_id
1480
+ # @return [::String]
1481
+ # The VM full path in Azure.
1482
+ # @!attribute [rw] power_state
1483
+ # @return [::Google::Cloud::VMMigration::V1::AzureVmDetails::PowerState]
1484
+ # The power state of the VM at the moment list was taken.
1485
+ # @!attribute [rw] vm_size
1486
+ # @return [::String]
1487
+ # VM size as configured in Azure. Determines the VM's hardware spec.
1488
+ # @!attribute [rw] cpu_count
1489
+ # @return [::Integer]
1490
+ # The number of cpus the VM has.
1491
+ # @!attribute [rw] memory_mb
1492
+ # @return [::Integer]
1493
+ # The memory size of the VM in MB.
1494
+ # @!attribute [rw] disk_count
1495
+ # @return [::Integer]
1496
+ # The number of disks the VM has, including OS disk.
1497
+ # @!attribute [rw] committed_storage_mb
1498
+ # @return [::Integer]
1499
+ # The total size of the storage allocated to the VM in MB.
1500
+ # @!attribute [rw] os_disk
1501
+ # @return [::Google::Cloud::VMMigration::V1::AzureVmDetails::OSDisk]
1502
+ # Description of the OS disk.
1503
+ # @!attribute [rw] disks
1504
+ # @return [::Array<::Google::Cloud::VMMigration::V1::AzureVmDetails::Disk>]
1505
+ # Description of the data disks.
1506
+ # @!attribute [rw] os_description
1507
+ # @return [::Google::Cloud::VMMigration::V1::AzureVmDetails::OSDescription]
1508
+ # Description of the OS.
1509
+ # @!attribute [rw] boot_option
1510
+ # @return [::Google::Cloud::VMMigration::V1::AzureVmDetails::BootOption]
1511
+ # The VM Boot Option.
1512
+ # @!attribute [rw] tags
1513
+ # @return [::Google::Protobuf::Map{::String => ::String}]
1514
+ # The tags of the VM.
1515
+ # @!attribute [rw] computer_name
1516
+ # @return [::String]
1517
+ # The VM's ComputerName.
1518
+ # @!attribute [rw] architecture
1519
+ # @return [::Google::Cloud::VMMigration::V1::AzureVmDetails::VmArchitecture]
1520
+ # The CPU architecture.
1521
+ class AzureVmDetails
1522
+ include ::Google::Protobuf::MessageExts
1523
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1524
+
1525
+ # A message describing the OS disk.
1526
+ # @!attribute [rw] type
1527
+ # @return [::String]
1528
+ # The disk's type.
1529
+ # @!attribute [rw] name
1530
+ # @return [::String]
1531
+ # The disk's full name.
1532
+ # @!attribute [rw] size_gb
1533
+ # @return [::Integer]
1534
+ # The disk's size in GB.
1535
+ class OSDisk
1536
+ include ::Google::Protobuf::MessageExts
1537
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1538
+ end
1539
+
1540
+ # A message describing a data disk.
1541
+ # @!attribute [rw] name
1542
+ # @return [::String]
1543
+ # The disk name.
1544
+ # @!attribute [rw] size_gb
1545
+ # @return [::Integer]
1546
+ # The disk size in GB.
1547
+ # @!attribute [rw] lun
1548
+ # @return [::Integer]
1549
+ # The disk's Logical Unit Number (LUN).
1550
+ class Disk
1551
+ include ::Google::Protobuf::MessageExts
1552
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1553
+ end
1554
+
1555
+ # A message describing the VM's OS. Including OS, Publisher, Offer and Plan
1556
+ # if applicable.
1557
+ # @!attribute [rw] type
1558
+ # @return [::String]
1559
+ # OS type.
1560
+ # @!attribute [rw] publisher
1561
+ # @return [::String]
1562
+ # OS publisher.
1563
+ # @!attribute [rw] offer
1564
+ # @return [::String]
1565
+ # OS offer.
1566
+ # @!attribute [rw] plan
1567
+ # @return [::String]
1568
+ # OS plan.
1569
+ class OSDescription
1570
+ include ::Google::Protobuf::MessageExts
1571
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1572
+ end
1573
+
1574
+ # @!attribute [rw] key
1575
+ # @return [::String]
1576
+ # @!attribute [rw] value
1577
+ # @return [::String]
1578
+ class TagsEntry
1579
+ include ::Google::Protobuf::MessageExts
1580
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1581
+ end
1582
+
1583
+ # Possible values for the power state of the VM.
1584
+ module PowerState
1585
+ # Power state is not specified.
1586
+ POWER_STATE_UNSPECIFIED = 0
1587
+
1588
+ # The VM is starting.
1589
+ STARTING = 1
1590
+
1591
+ # The VM is running.
1592
+ RUNNING = 2
1593
+
1594
+ # The VM is stopping.
1595
+ STOPPING = 3
1596
+
1597
+ # The VM is stopped.
1598
+ STOPPED = 4
1599
+
1600
+ # The VM is deallocating.
1601
+ DEALLOCATING = 5
1602
+
1603
+ # The VM is deallocated.
1604
+ DEALLOCATED = 6
1605
+
1606
+ # The VM's power state is unknown.
1607
+ UNKNOWN = 7
1608
+ end
1609
+
1610
+ # The possible values for the vm boot option.
1611
+ module BootOption
1612
+ # The boot option is unknown.
1613
+ BOOT_OPTION_UNSPECIFIED = 0
1614
+
1615
+ # The boot option is UEFI.
1616
+ EFI = 1
1617
+
1618
+ # The boot option is BIOS.
1619
+ BIOS = 2
1620
+ end
1621
+
1622
+ # Possible values for the VM architecture.
1623
+ module VmArchitecture
1624
+ # The architecture is unknown.
1625
+ VM_ARCHITECTURE_UNSPECIFIED = 0
1626
+
1627
+ # The architecture is one of the x86 architectures.
1628
+ VM_ARCHITECTURE_X86_FAMILY = 1
1629
+
1630
+ # The architecture is ARM64.
1631
+ VM_ARCHITECTURE_ARM64 = 2
1632
+ end
1633
+ end
1634
+
1273
1635
  # VmwareVmsDetails describes VMs in vCenter.
1274
1636
  # @!attribute [rw] details
1275
1637
  # @return [::Array<::Google::Cloud::VMMigration::V1::VmwareVmDetails>]
@@ -1288,18 +1650,32 @@ module Google
1288
1650
  extend ::Google::Protobuf::MessageExts::ClassMethods
1289
1651
  end
1290
1652
 
1653
+ # AzureVmsDetails describes VMs in Azure.
1654
+ # @!attribute [rw] details
1655
+ # @return [::Array<::Google::Cloud::VMMigration::V1::AzureVmDetails>]
1656
+ # The details of the Azure VMs.
1657
+ class AzureVmsDetails
1658
+ include ::Google::Protobuf::MessageExts
1659
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1660
+ end
1661
+
1291
1662
  # Response message for
1292
1663
  # {::Google::Cloud::VMMigration::V1::VMMigration::Client#fetch_inventory fetchInventory}.
1293
1664
  # @!attribute [rw] vmware_vms
1294
1665
  # @return [::Google::Cloud::VMMigration::V1::VmwareVmsDetails]
1295
1666
  # The description of the VMs in a Source of type Vmware.
1296
1667
  #
1297
- # Note: The following fields are mutually exclusive: `vmware_vms`, `aws_vms`. If a field in that set is populated, all other fields in the set will automatically be cleared.
1668
+ # Note: The following fields are mutually exclusive: `vmware_vms`, `aws_vms`, `azure_vms`. If a field in that set is populated, all other fields in the set will automatically be cleared.
1298
1669
  # @!attribute [rw] aws_vms
1299
1670
  # @return [::Google::Cloud::VMMigration::V1::AwsVmsDetails]
1300
1671
  # The description of the VMs in a Source of type AWS.
1301
1672
  #
1302
- # Note: The following fields are mutually exclusive: `aws_vms`, `vmware_vms`. If a field in that set is populated, all other fields in the set will automatically be cleared.
1673
+ # Note: The following fields are mutually exclusive: `aws_vms`, `vmware_vms`, `azure_vms`. If a field in that set is populated, all other fields in the set will automatically be cleared.
1674
+ # @!attribute [rw] azure_vms
1675
+ # @return [::Google::Cloud::VMMigration::V1::AzureVmsDetails]
1676
+ # The description of the VMs in a Source of type Azure.
1677
+ #
1678
+ # Note: The following fields are mutually exclusive: `azure_vms`, `vmware_vms`, `aws_vms`. If a field in that set is populated, all other fields in the set will automatically be cleared.
1303
1679
  # @!attribute [r] update_time
1304
1680
  # @return [::Google::Protobuf::Timestamp]
1305
1681
  # Output only. The timestamp when the source was last queried (if the result
@@ -1309,6 +1685,72 @@ module Google
1309
1685
  extend ::Google::Protobuf::MessageExts::ClassMethods
1310
1686
  end
1311
1687
 
1688
+ # Request message for
1689
+ # {::Google::Cloud::VMMigration::V1::VMMigration::Client#fetch_storage_inventory fetchStorageInventory}.
1690
+ # @!attribute [rw] source
1691
+ # @return [::String]
1692
+ # Required. The name of the Source.
1693
+ # @!attribute [rw] type
1694
+ # @return [::Google::Cloud::VMMigration::V1::FetchStorageInventoryRequest::StorageType]
1695
+ # Required. The type of the storage inventory to fetch.
1696
+ # @!attribute [rw] force_refresh
1697
+ # @return [::Boolean]
1698
+ # Optional. If this flag is set to true, the source will be queried instead
1699
+ # of using cached results. Using this flag will make the call slower.
1700
+ # @!attribute [rw] page_size
1701
+ # @return [::Integer]
1702
+ # Optional. The maximum number of VMs to return. The service may return
1703
+ # fewer than this value.
1704
+ # @!attribute [rw] page_token
1705
+ # @return [::String]
1706
+ # Optional. A page token, received from a previous `FetchStorageInventory`
1707
+ # call. Provide this to retrieve the subsequent page. When paginating, all
1708
+ # other parameters provided to `FetchStorageInventory` must match the call
1709
+ # that provided the page token.
1710
+ class FetchStorageInventoryRequest
1711
+ include ::Google::Protobuf::MessageExts
1712
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1713
+
1714
+ # The type of the storage inventory to fetch.
1715
+ module StorageType
1716
+ # The type is unspecified.
1717
+ STORAGE_TYPE_UNSPECIFIED = 0
1718
+
1719
+ # The type is disks.
1720
+ DISKS = 1
1721
+
1722
+ # The type is snapshots.
1723
+ SNAPSHOTS = 2
1724
+ end
1725
+ end
1726
+
1727
+ # Response message for
1728
+ # {::Google::Cloud::VMMigration::V1::VMMigration::Client#fetch_storage_inventory fetchStorageInventory}.
1729
+ # @!attribute [rw] resources
1730
+ # @return [::Array<::Google::Cloud::VMMigration::V1::SourceStorageResource>]
1731
+ # The list of storage resources in the source.
1732
+ # @!attribute [r] update_time
1733
+ # @return [::Google::Protobuf::Timestamp]
1734
+ # Output only. The timestamp when the source was last queried (if the result
1735
+ # is from the cache).
1736
+ # @!attribute [r] next_page_token
1737
+ # @return [::String]
1738
+ # Output only. A token, which can be sent as `page_token` to retrieve the
1739
+ # next page. If this field is omitted, there are no subsequent pages.
1740
+ class FetchStorageInventoryResponse
1741
+ include ::Google::Protobuf::MessageExts
1742
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1743
+ end
1744
+
1745
+ # SourceStorageResource describes a storage resource in the source.
1746
+ # @!attribute [rw] aws_disk_details
1747
+ # @return [::Google::Cloud::VMMigration::V1::AwsSourceDiskDetails]
1748
+ # Source AWS volume details.
1749
+ class SourceStorageResource
1750
+ include ::Google::Protobuf::MessageExts
1751
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1752
+ end
1753
+
1312
1754
  # Utilization report details the utilization (CPU, memory, etc.) of selected
1313
1755
  # source VMs.
1314
1756
  # @!attribute [r] name
@@ -1514,8 +1956,8 @@ module Google
1514
1956
  # the request if it has already been completed. The server will guarantee
1515
1957
  # that for at least 60 minutes since the first request.
1516
1958
  #
1517
- # For example, consider a situation where you make an initial request and t
1518
- # he request times out. If you make the request again with the same request
1959
+ # For example, consider a situation where you make an initial request and
1960
+ # the request times out. If you make the request again with the same request
1519
1961
  # ID, the server can check if original operation with the same request ID
1520
1962
  # was received, and if so, will ignore the second request. This prevents
1521
1963
  # clients from accidentally creating duplicate commitments.
@@ -1538,8 +1980,8 @@ module Google
1538
1980
  # the request if it has already been completed. The server will guarantee
1539
1981
  # that for at least 60 minutes after the first request.
1540
1982
  #
1541
- # For example, consider a situation where you make an initial request and t
1542
- # he request times out. If you make the request again with the same request
1983
+ # For example, consider a situation where you make an initial request and
1984
+ # the request times out. If you make the request again with the same request
1543
1985
  # ID, the server can check if original operation with the same request ID
1544
1986
  # was received, and if so, will ignore the second request. This prevents
1545
1987
  # clients from accidentally creating duplicate commitments.
@@ -1596,8 +2038,8 @@ module Google
1596
2038
  # the request if it has already been completed. The server will guarantee
1597
2039
  # that for at least 60 minutes since the first request.
1598
2040
  #
1599
- # For example, consider a situation where you make an initial request and t
1600
- # he request times out. If you make the request again with the same request
2041
+ # For example, consider a situation where you make an initial request and
2042
+ # the request times out. If you make the request again with the same request
1601
2043
  # ID, the server can check if original operation with the same request ID
1602
2044
  # was received, and if so, will ignore the second request. This prevents
1603
2045
  # clients from accidentally creating duplicate commitments.
@@ -1620,8 +2062,8 @@ module Google
1620
2062
  # the request if it has already been completed. The server will guarantee
1621
2063
  # that for at least 60 minutes after the first request.
1622
2064
  #
1623
- # For example, consider a situation where you make an initial request and t
1624
- # he request times out. If you make the request again with the same request
2065
+ # For example, consider a situation where you make an initial request and
2066
+ # the request times out. If you make the request again with the same request
1625
2067
  # ID, the server can check if original operation with the same request ID
1626
2068
  # was received, and if so, will ignore the second request. This prevents
1627
2069
  # clients from accidentally creating duplicate commitments.
@@ -1644,8 +2086,8 @@ module Google
1644
2086
  # the request if it has already been completed. The server will guarantee
1645
2087
  # that for at least 60 minutes after the first request.
1646
2088
  #
1647
- # For example, consider a situation where you make an initial request and t
1648
- # he request times out. If you make the request again with the same request
2089
+ # For example, consider a situation where you make an initial request and
2090
+ # the request times out. If you make the request again with the same request
1649
2091
  # ID, the server can check if original operation with the same request ID
1650
2092
  # was received, and if so, will ignore the second request. This prevents
1651
2093
  # clients from accidentally creating duplicate commitments.
@@ -1712,13 +2154,13 @@ module Google
1712
2154
  # The machine type to create the VM with.
1713
2155
  # @!attribute [rw] network_tags
1714
2156
  # @return [::Array<::String>]
1715
- # A map of network tags to associate with the VM.
2157
+ # A list of network tags to associate with the VM.
1716
2158
  # @!attribute [rw] network_interfaces
1717
2159
  # @return [::Array<::Google::Cloud::VMMigration::V1::NetworkInterface>]
1718
2160
  # List of NICs connected to this VM.
1719
2161
  # @!attribute [rw] service_account
1720
2162
  # @return [::String]
1721
- # The service account to associate the VM with.
2163
+ # Optional. The service account to associate the VM with.
1722
2164
  # @!attribute [rw] disk_type
1723
2165
  # @return [::Google::Cloud::VMMigration::V1::ComputeEngineDiskType]
1724
2166
  # The disk type to use in the VM.
@@ -1737,10 +2179,19 @@ module Google
1737
2179
  # @!attribute [rw] secure_boot
1738
2180
  # @return [::Boolean]
1739
2181
  # Defines whether the instance has Secure Boot enabled.
1740
- # This can be set to true only if the vm boot option is EFI.
2182
+ # This can be set to true only if the VM boot option is EFI.
2183
+ # @!attribute [rw] enable_vtpm
2184
+ # @return [::Boolean]
2185
+ # Optional. Defines whether the instance has vTPM enabled.
2186
+ # This can be set to true only if the VM boot option is EFI.
2187
+ # @!attribute [rw] enable_integrity_monitoring
2188
+ # @return [::Boolean]
2189
+ # Optional. Defines whether the instance has integrity monitoring enabled.
2190
+ # This can be set to true only if the VM boot option is EFI, and vTPM is
2191
+ # enabled.
1741
2192
  # @!attribute [r] boot_option
1742
2193
  # @return [::Google::Cloud::VMMigration::V1::ComputeEngineBootOption]
1743
- # Output only. The VM Boot Option, as set in the source vm.
2194
+ # Output only. The VM Boot Option, as set in the source VM.
1744
2195
  # @!attribute [rw] metadata
1745
2196
  # @return [::Google::Protobuf::Map{::String => ::String}]
1746
2197
  # The metadata key/value pairs to assign to the VM.
@@ -1750,6 +2201,25 @@ module Google
1750
2201
  # @!attribute [rw] hostname
1751
2202
  # @return [::String]
1752
2203
  # The hostname to assign to the VM.
2204
+ # @!attribute [rw] encryption
2205
+ # @return [::Google::Cloud::VMMigration::V1::Encryption]
2206
+ # Optional. Immutable. The encryption to apply to the VM disks.
2207
+ # @!attribute [rw] boot_conversion
2208
+ # @return [::Google::Cloud::VMMigration::V1::BootConversion]
2209
+ # Optional. By default the virtual machine will keep its existing boot
2210
+ # option. Setting this property will trigger an internal process which will
2211
+ # convert the virtual machine from using the existing boot option to another.
2212
+ # @!attribute [rw] disk_replica_zones
2213
+ # @return [::Array<::String>]
2214
+ # Optional. Additional replica zones of the target regional disks.
2215
+ # If this list is not empty a regional disk will be created. The first
2216
+ # supported zone would be the one stated in the
2217
+ # {::Google::Cloud::VMMigration::V1::ComputeEngineTargetDefaults#zone zone} field.
2218
+ # The rest are taken from this list. Please refer to the [regional disk
2219
+ # creation
2220
+ # API](https://cloud.google.com/compute/docs/regions-zones/global-regional-zonal-resources)
2221
+ # for further details about regional vs zonal disks. If not specified, a
2222
+ # zonal disk will be created in the same zone the VM is created.
1753
2223
  class ComputeEngineTargetDefaults
1754
2224
  include ::Google::Protobuf::MessageExts
1755
2225
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -1792,7 +2262,7 @@ module Google
1792
2262
  # The machine type to create the VM with.
1793
2263
  # @!attribute [rw] network_tags
1794
2264
  # @return [::Array<::String>]
1795
- # A map of network tags to associate with the VM.
2265
+ # A list of network tags to associate with the VM.
1796
2266
  # @!attribute [rw] network_interfaces
1797
2267
  # @return [::Array<::Google::Cloud::VMMigration::V1::NetworkInterface>]
1798
2268
  # List of NICs connected to this VM.
@@ -1817,10 +2287,16 @@ module Google
1817
2287
  # @!attribute [rw] secure_boot
1818
2288
  # @return [::Boolean]
1819
2289
  # Defines whether the instance has Secure Boot enabled.
1820
- # This can be set to true only if the vm boot option is EFI.
2290
+ # This can be set to true only if the VM boot option is EFI.
2291
+ # @!attribute [rw] enable_vtpm
2292
+ # @return [::Boolean]
2293
+ # Optional. Defines whether the instance has vTPM enabled.
2294
+ # @!attribute [rw] enable_integrity_monitoring
2295
+ # @return [::Boolean]
2296
+ # Optional. Defines whether the instance has integrity monitoring enabled.
1821
2297
  # @!attribute [rw] boot_option
1822
2298
  # @return [::Google::Cloud::VMMigration::V1::ComputeEngineBootOption]
1823
- # The VM Boot Option, as set in the source vm.
2299
+ # The VM Boot Option, as set in the source VM.
1824
2300
  # @!attribute [rw] metadata
1825
2301
  # @return [::Google::Protobuf::Map{::String => ::String}]
1826
2302
  # The metadata key/value pairs to assign to the VM.
@@ -1830,6 +2306,25 @@ module Google
1830
2306
  # @!attribute [rw] hostname
1831
2307
  # @return [::String]
1832
2308
  # The hostname to assign to the VM.
2309
+ # @!attribute [rw] encryption
2310
+ # @return [::Google::Cloud::VMMigration::V1::Encryption]
2311
+ # Optional. The encryption to apply to the VM disks.
2312
+ # @!attribute [rw] boot_conversion
2313
+ # @return [::Google::Cloud::VMMigration::V1::BootConversion]
2314
+ # Optional. By default the virtual machine will keep its existing boot
2315
+ # option. Setting this property will trigger an internal process which will
2316
+ # convert the virtual machine from using the existing boot option to another.
2317
+ # @!attribute [rw] disk_replica_zones
2318
+ # @return [::Array<::String>]
2319
+ # Optional. Additional replica zones of the target regional disks.
2320
+ # If this list is not empty a regional disk will be created. The first
2321
+ # supported zone would be the one stated in the
2322
+ # {::Google::Cloud::VMMigration::V1::ComputeEngineTargetDetails#zone zone} field.
2323
+ # The rest are taken from this list. Please refer to the [regional disk
2324
+ # creation
2325
+ # API](https://cloud.google.com/compute/docs/regions-zones/global-regional-zonal-resources)
2326
+ # for further details about regional vs zonal disks. If not specified, a
2327
+ # zonal disk will be created in the same zone the VM is created.
1833
2328
  class ComputeEngineTargetDetails
1834
2329
  include ::Google::Protobuf::MessageExts
1835
2330
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -1856,18 +2351,23 @@ module Google
1856
2351
  # NetworkInterface represents a NIC of a VM.
1857
2352
  # @!attribute [rw] network
1858
2353
  # @return [::String]
1859
- # The network to connect the NIC to.
2354
+ # Optional. The network to connect the NIC to.
1860
2355
  # @!attribute [rw] subnetwork
1861
2356
  # @return [::String]
1862
- # The subnetwork to connect the NIC to.
2357
+ # Optional. The subnetwork to connect the NIC to.
1863
2358
  # @!attribute [rw] internal_ip
1864
2359
  # @return [::String]
1865
- # The internal IP to define in the NIC.
2360
+ # Optional. The internal IP to define in the NIC.
1866
2361
  # The formats accepted are: `ephemeral` \ ipv4 address \ a named address
1867
2362
  # resource full path.
1868
2363
  # @!attribute [rw] external_ip
1869
2364
  # @return [::String]
1870
- # The external IP to define in the NIC.
2365
+ # Optional. The external IP to define in the NIC.
2366
+ # @!attribute [rw] network_tier
2367
+ # @return [::Google::Cloud::VMMigration::V1::ComputeEngineNetworkTier]
2368
+ # Optional. The networking tier used for optimizing connectivity between
2369
+ # instances and systems on the internet. Applies only for external ephemeral
2370
+ # IP addresses. If left empty, will default to PREMIUM.
1871
2371
  class NetworkInterface
1872
2372
  include ::Google::Protobuf::MessageExts
1873
2373
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -1933,6 +2433,8 @@ module Google
1933
2433
 
1934
2434
  # Scheduling information for VM on maintenance/restart behaviour and
1935
2435
  # node allocation in sole tenant nodes.
2436
+ # Options for instance behavior when the host machine undergoes
2437
+ # maintenance that may temporarily impact instance performance.
1936
2438
  # @!attribute [rw] on_host_maintenance
1937
2439
  # @return [::Google::Cloud::VMMigration::V1::ComputeScheduling::OnHostMaintenance]
1938
2440
  # How the instance should behave when the host machine undergoes
@@ -1985,10 +2487,248 @@ module Google
1985
2487
  end
1986
2488
  end
1987
2489
 
1988
- # A policy for scheduling replications.
1989
- # @!attribute [rw] idle_duration
1990
- # @return [::Google::Protobuf::Duration]
1991
- # The idle duration between replication stages.
2490
+ # ComputeEngineDisksTargetDefaults is a collection of details for creating
2491
+ # Persistent Disks in a target Compute Engine project.
2492
+ # @!attribute [rw] zone
2493
+ # @return [::String]
2494
+ # The zone in which to create the Persistent Disks.
2495
+ # @!attribute [rw] disks_target_defaults
2496
+ # @return [::Google::Cloud::VMMigration::V1::DisksMigrationDisksTargetDefaults]
2497
+ # Details of the disk only migration target.
2498
+ #
2499
+ # Note: The following fields are mutually exclusive: `disks_target_defaults`, `vm_target_defaults`. If a field in that set is populated, all other fields in the set will automatically be cleared.
2500
+ # @!attribute [rw] vm_target_defaults
2501
+ # @return [::Google::Cloud::VMMigration::V1::DisksMigrationVmTargetDefaults]
2502
+ # Details of the VM migration target.
2503
+ #
2504
+ # Note: The following fields are mutually exclusive: `vm_target_defaults`, `disks_target_defaults`. If a field in that set is populated, all other fields in the set will automatically be cleared.
2505
+ # @!attribute [rw] target_project
2506
+ # @return [::String]
2507
+ # The full path of the resource of type TargetProject which represents the
2508
+ # Compute Engine project in which to create the Persistent Disks.
2509
+ # @!attribute [rw] disks
2510
+ # @return [::Array<::Google::Cloud::VMMigration::V1::PersistentDiskDefaults>]
2511
+ # The details of each Persistent Disk to create.
2512
+ class ComputeEngineDisksTargetDefaults
2513
+ include ::Google::Protobuf::MessageExts
2514
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2515
+ end
2516
+
2517
+ # Details for creation of a Persistent Disk.
2518
+ # @!attribute [rw] source_disk_number
2519
+ # @return [::Integer]
2520
+ # Required. The ordinal number of the source VM disk.
2521
+ # @!attribute [rw] disk_name
2522
+ # @return [::String]
2523
+ # Optional. The name of the Persistent Disk to create.
2524
+ # @!attribute [rw] disk_type
2525
+ # @return [::Google::Cloud::VMMigration::V1::ComputeEngineDiskType]
2526
+ # The disk type to use.
2527
+ # @!attribute [rw] additional_labels
2528
+ # @return [::Google::Protobuf::Map{::String => ::String}]
2529
+ # A map of labels to associate with the Persistent Disk.
2530
+ # @!attribute [rw] encryption
2531
+ # @return [::Google::Cloud::VMMigration::V1::Encryption]
2532
+ # Optional. The encryption to apply to the disk.
2533
+ # @!attribute [rw] vm_attachment_details
2534
+ # @return [::Google::Cloud::VMMigration::V1::VmAttachmentDetails]
2535
+ # Optional. Details for attachment of the disk to a VM.
2536
+ # Used when the disk is set to be attached to a target VM.
2537
+ class PersistentDiskDefaults
2538
+ include ::Google::Protobuf::MessageExts
2539
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2540
+
2541
+ # @!attribute [rw] key
2542
+ # @return [::String]
2543
+ # @!attribute [rw] value
2544
+ # @return [::String]
2545
+ class AdditionalLabelsEntry
2546
+ include ::Google::Protobuf::MessageExts
2547
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2548
+ end
2549
+ end
2550
+
2551
+ # Details for attachment of the disk to a VM.
2552
+ # @!attribute [rw] device_name
2553
+ # @return [::String]
2554
+ # Optional. Specifies a unique device name of your choice that is reflected
2555
+ # into the /dev/disk/by-id/google-* tree of a Linux operating system running
2556
+ # within the instance. If not specified, the server chooses a default device
2557
+ # name to apply to this disk, in the form persistent-disk-x, where x is a
2558
+ # number assigned by Google Compute Engine. This field is only applicable for
2559
+ # persistent disks.
2560
+ class VmAttachmentDetails
2561
+ include ::Google::Protobuf::MessageExts
2562
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2563
+ end
2564
+
2565
+ # Details for a disk only migration.
2566
+ class DisksMigrationDisksTargetDefaults
2567
+ include ::Google::Protobuf::MessageExts
2568
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2569
+ end
2570
+
2571
+ # Details for creation of a VM that migrated data disks will be attached to.
2572
+ # @!attribute [rw] vm_name
2573
+ # @return [::String]
2574
+ # Required. The name of the VM to create.
2575
+ # @!attribute [rw] machine_type_series
2576
+ # @return [::String]
2577
+ # Optional. The machine type series to create the VM with.
2578
+ # For presentation only.
2579
+ # @!attribute [rw] machine_type
2580
+ # @return [::String]
2581
+ # Required. The machine type to create the VM with.
2582
+ # @!attribute [rw] network_tags
2583
+ # @return [::Array<::String>]
2584
+ # Optional. A list of network tags to associate with the VM.
2585
+ # @!attribute [rw] network_interfaces
2586
+ # @return [::Array<::Google::Cloud::VMMigration::V1::NetworkInterface>]
2587
+ # Optional. NICs to attach to the VM.
2588
+ # @!attribute [rw] service_account
2589
+ # @return [::String]
2590
+ # Optional. The service account to associate the VM with.
2591
+ # @!attribute [rw] compute_scheduling
2592
+ # @return [::Google::Cloud::VMMigration::V1::ComputeScheduling]
2593
+ # Optional. Compute instance scheduling information (if empty default is
2594
+ # used).
2595
+ # @!attribute [rw] secure_boot
2596
+ # @return [::Boolean]
2597
+ # Optional. Defines whether the instance has Secure Boot enabled.
2598
+ # This can be set to true only if the VM boot option is EFI.
2599
+ # @!attribute [rw] enable_vtpm
2600
+ # @return [::Boolean]
2601
+ # Optional. Defines whether the instance has vTPM enabled.
2602
+ # @!attribute [rw] enable_integrity_monitoring
2603
+ # @return [::Boolean]
2604
+ # Optional. Defines whether the instance has integrity monitoring enabled.
2605
+ # @!attribute [rw] metadata
2606
+ # @return [::Google::Protobuf::Map{::String => ::String}]
2607
+ # Optional. The metadata key/value pairs to assign to the VM.
2608
+ # @!attribute [rw] additional_licenses
2609
+ # @return [::Array<::String>]
2610
+ # Optional. Additional licenses to assign to the VM.
2611
+ # @!attribute [rw] hostname
2612
+ # @return [::String]
2613
+ # Optional. The hostname to assign to the VM.
2614
+ # @!attribute [rw] labels
2615
+ # @return [::Google::Protobuf::Map{::String => ::String}]
2616
+ # Optional. A map of labels to associate with the VM.
2617
+ # @!attribute [rw] boot_disk_defaults
2618
+ # @return [::Google::Cloud::VMMigration::V1::BootDiskDefaults]
2619
+ # Optional. Details of the boot disk of the VM.
2620
+ # @!attribute [rw] encryption
2621
+ # @return [::Google::Cloud::VMMigration::V1::Encryption]
2622
+ # Optional. The encryption to apply to the VM.
2623
+ class DisksMigrationVmTargetDefaults
2624
+ include ::Google::Protobuf::MessageExts
2625
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2626
+
2627
+ # @!attribute [rw] key
2628
+ # @return [::String]
2629
+ # @!attribute [rw] value
2630
+ # @return [::String]
2631
+ class MetadataEntry
2632
+ include ::Google::Protobuf::MessageExts
2633
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2634
+ end
2635
+
2636
+ # @!attribute [rw] key
2637
+ # @return [::String]
2638
+ # @!attribute [rw] value
2639
+ # @return [::String]
2640
+ class LabelsEntry
2641
+ include ::Google::Protobuf::MessageExts
2642
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2643
+ end
2644
+ end
2645
+
2646
+ # BootDiskDefaults hold information about the boot disk of a VM.
2647
+ # @!attribute [rw] image
2648
+ # @return [::Google::Cloud::VMMigration::V1::BootDiskDefaults::DiskImageDefaults]
2649
+ # The image to use when creating the disk.
2650
+ # @!attribute [rw] disk_name
2651
+ # @return [::String]
2652
+ # Optional. The name of the disk.
2653
+ # @!attribute [rw] disk_type
2654
+ # @return [::Google::Cloud::VMMigration::V1::ComputeEngineDiskType]
2655
+ # Optional. The type of disk provisioning to use for the VM.
2656
+ # @!attribute [rw] device_name
2657
+ # @return [::String]
2658
+ # Optional. Specifies a unique device name of your choice that is reflected
2659
+ # into the /dev/disk/by-id/google-* tree of a Linux operating system running
2660
+ # within the instance. If not specified, the server chooses a default device
2661
+ # name to apply to this disk, in the form persistent-disk-x, where x is a
2662
+ # number assigned by Google Compute Engine. This field is only applicable for
2663
+ # persistent disks.
2664
+ # @!attribute [rw] encryption
2665
+ # @return [::Google::Cloud::VMMigration::V1::Encryption]
2666
+ # Optional. The encryption to apply to the boot disk.
2667
+ class BootDiskDefaults
2668
+ include ::Google::Protobuf::MessageExts
2669
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2670
+
2671
+ # Contains details about the image source used to create the disk.
2672
+ # @!attribute [rw] source_image
2673
+ # @return [::String]
2674
+ # Required. The Image resource used when creating the disk.
2675
+ class DiskImageDefaults
2676
+ include ::Google::Protobuf::MessageExts
2677
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2678
+ end
2679
+ end
2680
+
2681
+ # ComputeEngineDisksTargetDetails is a collection of created Persistent Disks
2682
+ # details.
2683
+ # @!attribute [rw] disks_target_details
2684
+ # @return [::Google::Cloud::VMMigration::V1::DisksMigrationDisksTargetDetails]
2685
+ # Details of the disks-only migration target.
2686
+ #
2687
+ # Note: The following fields are mutually exclusive: `disks_target_details`, `vm_target_details`. If a field in that set is populated, all other fields in the set will automatically be cleared.
2688
+ # @!attribute [rw] vm_target_details
2689
+ # @return [::Google::Cloud::VMMigration::V1::DisksMigrationVmTargetDetails]
2690
+ # Details for the VM the migrated data disks are attached to.
2691
+ #
2692
+ # Note: The following fields are mutually exclusive: `vm_target_details`, `disks_target_details`. If a field in that set is populated, all other fields in the set will automatically be cleared.
2693
+ # @!attribute [rw] disks
2694
+ # @return [::Array<::Google::Cloud::VMMigration::V1::PersistentDisk>]
2695
+ # The details of each created Persistent Disk.
2696
+ class ComputeEngineDisksTargetDetails
2697
+ include ::Google::Protobuf::MessageExts
2698
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2699
+ end
2700
+
2701
+ # Details of a created Persistent Disk.
2702
+ # @!attribute [rw] source_disk_number
2703
+ # @return [::Integer]
2704
+ # The ordinal number of the source VM disk.
2705
+ # @!attribute [rw] disk_uri
2706
+ # @return [::String]
2707
+ # The URI of the Persistent Disk.
2708
+ class PersistentDisk
2709
+ include ::Google::Protobuf::MessageExts
2710
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2711
+ end
2712
+
2713
+ # Details for a disks-only migration.
2714
+ class DisksMigrationDisksTargetDetails
2715
+ include ::Google::Protobuf::MessageExts
2716
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2717
+ end
2718
+
2719
+ # Details for the VM created VM as part of disks migration.
2720
+ # @!attribute [r] vm_uri
2721
+ # @return [::String]
2722
+ # Output only. The URI of the Compute Engine VM.
2723
+ class DisksMigrationVmTargetDetails
2724
+ include ::Google::Protobuf::MessageExts
2725
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2726
+ end
2727
+
2728
+ # A policy for scheduling replications.
2729
+ # @!attribute [rw] idle_duration
2730
+ # @return [::Google::Protobuf::Duration]
2731
+ # The idle duration between replication stages.
1992
2732
  # @!attribute [rw] skip_os_adaptation
1993
2733
  # @return [::Boolean]
1994
2734
  # A flag to indicate whether to skip OS adaptation during the replication
@@ -2016,8 +2756,8 @@ module Google
2016
2756
  # the request if it has already been completed. The server will guarantee
2017
2757
  # that for at least 60 minutes since the first request.
2018
2758
  #
2019
- # For example, consider a situation where you make an initial request and t
2020
- # he request times out. If you make the request again with the same request
2759
+ # For example, consider a situation where you make an initial request and
2760
+ # the request times out. If you make the request again with the same request
2021
2761
  # ID, the server can check if original operation with the same request ID
2022
2762
  # was received, and if so, will ignore the second request. This prevents
2023
2763
  # clients from accidentally creating duplicate commitments.
@@ -2106,8 +2846,8 @@ module Google
2106
2846
  # the request if it has already been completed. The server will guarantee
2107
2847
  # that for at least 60 minutes since the first request.
2108
2848
  #
2109
- # For example, consider a situation where you make an initial request and t
2110
- # he request times out. If you make the request again with the same request
2849
+ # For example, consider a situation where you make an initial request and
2850
+ # the request times out. If you make the request again with the same request
2111
2851
  # ID, the server can check if original operation with the same request ID
2112
2852
  # was received, and if so, will ignore the second request. This prevents
2113
2853
  # clients from accidentally creating duplicate commitments.
@@ -2182,6 +2922,21 @@ module Google
2182
2922
  extend ::Google::Protobuf::MessageExts::ClassMethods
2183
2923
  end
2184
2924
 
2925
+ # Request message for 'ExtendMigrationRequest' request.
2926
+ # @!attribute [rw] migrating_vm
2927
+ # @return [::String]
2928
+ # Required. The name of the MigratingVm.
2929
+ class ExtendMigrationRequest
2930
+ include ::Google::Protobuf::MessageExts
2931
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2932
+ end
2933
+
2934
+ # Response message for 'ExtendMigration' request.
2935
+ class ExtendMigrationResponse
2936
+ include ::Google::Protobuf::MessageExts
2937
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2938
+ end
2939
+
2185
2940
  # Response message for 'FinalizeMigration' request.
2186
2941
  class FinalizeMigrationResponse
2187
2942
  include ::Google::Protobuf::MessageExts
@@ -2195,7 +2950,7 @@ module Google
2195
2950
  # Output only. The name of the target project.
2196
2951
  # @!attribute [rw] project
2197
2952
  # @return [::String]
2198
- # The target project ID (number) or project name.
2953
+ # Required. The target project ID (number) or project name.
2199
2954
  # @!attribute [rw] description
2200
2955
  # @return [::String]
2201
2956
  # The target project's description.
@@ -2281,8 +3036,8 @@ module Google
2281
3036
  # the request if it has already been completed. The server will guarantee
2282
3037
  # that for at least 60 minutes since the first request.
2283
3038
  #
2284
- # For example, consider a situation where you make an initial request and t
2285
- # he request times out. If you make the request again with the same request
3039
+ # For example, consider a situation where you make an initial request and
3040
+ # the request times out. If you make the request again with the same request
2286
3041
  # ID, the server can check if original operation with the same request ID
2287
3042
  # was received, and if so, will ignore the second request. This prevents
2288
3043
  # clients from accidentally creating duplicate commitments.
@@ -2312,8 +3067,8 @@ module Google
2312
3067
  # the request if it has already been completed. The server will guarantee
2313
3068
  # that for at least 60 minutes since the first request.
2314
3069
  #
2315
- # For example, consider a situation where you make an initial request and t
2316
- # he request times out. If you make the request again with the same request
3070
+ # For example, consider a situation where you make an initial request and
3071
+ # the request times out. If you make the request again with the same request
2317
3072
  # ID, the server can check if original operation with the same request ID
2318
3073
  # was received, and if so, will ignore the second request. This prevents
2319
3074
  # clients from accidentally creating duplicate commitments.
@@ -2336,8 +3091,8 @@ module Google
2336
3091
  # the request if it has already been completed. The server will guarantee
2337
3092
  # that for at least 60 minutes after the first request.
2338
3093
  #
2339
- # For example, consider a situation where you make an initial request and t
2340
- # he request times out. If you make the request again with the same request
3094
+ # For example, consider a situation where you make an initial request and
3095
+ # the request times out. If you make the request again with the same request
2341
3096
  # ID, the server can check if original operation with the same request ID
2342
3097
  # was received, and if so, will ignore the second request. This prevents
2343
3098
  # clients from accidentally creating duplicate commitments.
@@ -2366,9 +3121,24 @@ module Google
2366
3121
  # @!attribute [rw] display_name
2367
3122
  # @return [::String]
2368
3123
  # Display name is a user defined name for this group which can be updated.
3124
+ # @!attribute [rw] migration_target_type
3125
+ # @return [::Google::Cloud::VMMigration::V1::Group::MigrationTargetType]
3126
+ # Immutable. The target type of this group.
2369
3127
  class Group
2370
3128
  include ::Google::Protobuf::MessageExts
2371
3129
  extend ::Google::Protobuf::MessageExts::ClassMethods
3130
+
3131
+ # The possible types of the group.
3132
+ module MigrationTargetType
3133
+ # Group type is not specified. This defaults to Compute Engine targets.
3134
+ MIGRATION_TARGET_TYPE_UNSPECIFIED = 0
3135
+
3136
+ # All MigratingVMs in the group must have Compute Engine targets.
3137
+ MIGRATION_TARGET_TYPE_GCE = 1
3138
+
3139
+ # All MigratingVMs in the group must have Compute Engine Disks targets.
3140
+ MIGRATION_TARGET_TYPE_DISKS = 2
3141
+ end
2372
3142
  end
2373
3143
 
2374
3144
  # Request message for 'ListGroups' request.
@@ -2441,8 +3211,8 @@ module Google
2441
3211
  # the request if it has already been completed. The server will guarantee
2442
3212
  # that for at least 60 minutes since the first request.
2443
3213
  #
2444
- # For example, consider a situation where you make an initial request and t
2445
- # he request times out. If you make the request again with the same request
3214
+ # For example, consider a situation where you make an initial request and
3215
+ # the request times out. If you make the request again with the same request
2446
3216
  # ID, the server can check if original operation with the same request ID
2447
3217
  # was received, and if so, will ignore the second request. This prevents
2448
3218
  # clients from accidentally creating duplicate commitments.
@@ -2472,8 +3242,8 @@ module Google
2472
3242
  # the request if it has already been completed. The server will guarantee
2473
3243
  # that for at least 60 minutes since the first request.
2474
3244
  #
2475
- # For example, consider a situation where you make an initial request and t
2476
- # he request times out. If you make the request again with the same request
3245
+ # For example, consider a situation where you make an initial request and
3246
+ # the request times out. If you make the request again with the same request
2477
3247
  # ID, the server can check if original operation with the same request ID
2478
3248
  # was received, and if so, will ignore the second request. This prevents
2479
3249
  # clients from accidentally creating duplicate commitments.
@@ -2496,8 +3266,8 @@ module Google
2496
3266
  # the request if it has already been completed. The server will guarantee
2497
3267
  # that for at least 60 minutes after the first request.
2498
3268
  #
2499
- # For example, consider a situation where you make an initial request and t
2500
- # he request times out. If you make the request again with the same request
3269
+ # For example, consider a situation where you make an initial request and
3270
+ # the request times out. If you make the request again with the same request
2501
3271
  # ID, the server can check if original operation with the same request ID
2502
3272
  # was received, and if so, will ignore the second request. This prevents
2503
3273
  # clients from accidentally creating duplicate commitments.
@@ -2562,8 +3332,8 @@ module Google
2562
3332
  # the request if it has already been completed. The server will guarantee
2563
3333
  # that for at least 60 minutes since the first request.
2564
3334
  #
2565
- # For example, consider a situation where you make an initial request and t
2566
- # he request times out. If you make the request again with the same request
3335
+ # For example, consider a situation where you make an initial request and
3336
+ # the request times out. If you make the request again with the same request
2567
3337
  # ID, the server can check if original operation with the same request ID
2568
3338
  # was received, and if so, will ignore the second request. This prevents
2569
3339
  # clients from accidentally creating duplicate commitments.
@@ -2702,48 +3472,166 @@ module Google
2702
3472
  # Default value. This value is not used.
2703
3473
  ERROR_CODE_UNSPECIFIED = 0
2704
3474
 
2705
- # Migrate for Compute encountered an unknown error.
3475
+ # Migrate to Virtual Machines encountered an unknown error.
2706
3476
  UNKNOWN_ERROR = 1
2707
3477
 
2708
- # Migrate for Compute encountered an error while validating replication
2709
- # source health.
3478
+ # Migrate to Virtual Machines encountered an error while validating
3479
+ # replication source health.
2710
3480
  SOURCE_VALIDATION_ERROR = 2
2711
3481
 
2712
- # Migrate for Compute encountered an error during source data operation.
3482
+ # Migrate to Virtual Machines encountered an error during source data
3483
+ # operation.
2713
3484
  SOURCE_REPLICATION_ERROR = 3
2714
3485
 
2715
- # Migrate for Compute encountered an error during target data operation.
3486
+ # Migrate to Virtual Machines encountered an error during target data
3487
+ # operation.
2716
3488
  TARGET_REPLICATION_ERROR = 4
2717
3489
 
2718
- # Migrate for Compute encountered an error during OS adaptation.
3490
+ # Migrate to Virtual Machines encountered an error during OS adaptation.
2719
3491
  OS_ADAPTATION_ERROR = 5
2720
3492
 
2721
- # Migrate for Compute encountered an error in clone operation.
3493
+ # Migrate to Virtual Machines encountered an error in clone operation.
2722
3494
  CLONE_ERROR = 6
2723
3495
 
2724
- # Migrate for Compute encountered an error in cutover operation.
3496
+ # Migrate to Virtual Machines encountered an error in cutover operation.
2725
3497
  CUTOVER_ERROR = 7
2726
3498
 
2727
- # Migrate for Compute encountered an error during utilization report
2728
- # creation.
3499
+ # Migrate to Virtual Machines encountered an error during utilization
3500
+ # report creation.
2729
3501
  UTILIZATION_REPORT_ERROR = 8
2730
3502
 
2731
- # Migrate for Compute encountered an error during appliance upgrade.
3503
+ # Migrate to Virtual Machines encountered an error during appliance
3504
+ # upgrade.
2732
3505
  APPLIANCE_UPGRADE_ERROR = 9
3506
+
3507
+ # Migrate to Virtual Machines encountered an error in image import
3508
+ # operation.
3509
+ IMAGE_IMPORT_ERROR = 10
3510
+
3511
+ # Migrate to Virtual Machines encountered an error in disk migration
3512
+ # operation.
3513
+ DISK_MIGRATION_ERROR = 11
3514
+ end
3515
+ end
3516
+
3517
+ # Represents migration resource warning information that can be used with
3518
+ # google.rpc.Status message. MigrationWarning is used to present the user with
3519
+ # warning information in migration operations.
3520
+ # @!attribute [rw] code
3521
+ # @return [::Google::Cloud::VMMigration::V1::MigrationWarning::WarningCode]
3522
+ # The warning code.
3523
+ # @!attribute [r] warning_message
3524
+ # @return [::Google::Rpc::LocalizedMessage]
3525
+ # Output only. The localized warning message.
3526
+ # @!attribute [r] action_item
3527
+ # @return [::Google::Rpc::LocalizedMessage]
3528
+ # Output only. Suggested action for solving the warning.
3529
+ # @!attribute [r] help_links
3530
+ # @return [::Array<::Google::Rpc::Help::Link>]
3531
+ # Output only. URL(s) pointing to additional information on handling the
3532
+ # current warning.
3533
+ # @!attribute [rw] warning_time
3534
+ # @return [::Google::Protobuf::Timestamp]
3535
+ # The time the warning occurred.
3536
+ class MigrationWarning
3537
+ include ::Google::Protobuf::MessageExts
3538
+ extend ::Google::Protobuf::MessageExts::ClassMethods
3539
+
3540
+ # Represents possible warning codes.
3541
+ module WarningCode
3542
+ # Default value. This value is not used.
3543
+ WARNING_CODE_UNSPECIFIED = 0
3544
+
3545
+ # A warning originated from OS Adaptation.
3546
+ ADAPTATION_WARNING = 1
3547
+ end
3548
+ end
3549
+
3550
+ # Represent the source Vmware VM details.
3551
+ # @!attribute [r] firmware
3552
+ # @return [::Google::Cloud::VMMigration::V1::VmwareSourceVmDetails::Firmware]
3553
+ # Output only. The firmware type of the source VM.
3554
+ # @!attribute [r] committed_storage_bytes
3555
+ # @return [::Integer]
3556
+ # Output only. The total size of the disks being migrated in bytes.
3557
+ # @!attribute [r] disks
3558
+ # @return [::Array<::Google::Cloud::VMMigration::V1::VmwareSourceVmDetails::VmwareDiskDetails>]
3559
+ # Output only. The disks attached to the source VM.
3560
+ # @!attribute [r] vm_capabilities_info
3561
+ # @return [::Google::Cloud::VMMigration::V1::VmCapabilities]
3562
+ # Output only. Information about VM capabilities needed for some Compute
3563
+ # Engine features.
3564
+ # @!attribute [r] architecture
3565
+ # @return [::Google::Cloud::VMMigration::V1::VmArchitecture]
3566
+ # Output only. The VM architecture.
3567
+ class VmwareSourceVmDetails
3568
+ include ::Google::Protobuf::MessageExts
3569
+ extend ::Google::Protobuf::MessageExts::ClassMethods
3570
+
3571
+ # The details of a Vmware VM disk.
3572
+ # @!attribute [r] disk_number
3573
+ # @return [::Integer]
3574
+ # Output only. The ordinal number of the disk.
3575
+ # @!attribute [r] size_gb
3576
+ # @return [::Integer]
3577
+ # Output only. Size in GB.
3578
+ # @!attribute [r] label
3579
+ # @return [::String]
3580
+ # Output only. The disk label.
3581
+ class VmwareDiskDetails
3582
+ include ::Google::Protobuf::MessageExts
3583
+ extend ::Google::Protobuf::MessageExts::ClassMethods
3584
+ end
3585
+
3586
+ # Possible values for Vmware VM firmware.
3587
+ module Firmware
3588
+ # The firmware is unknown.
3589
+ FIRMWARE_UNSPECIFIED = 0
3590
+
3591
+ # The firmware is EFI.
3592
+ EFI = 1
3593
+
3594
+ # The firmware is BIOS.
3595
+ BIOS = 2
2733
3596
  end
2734
3597
  end
2735
3598
 
2736
3599
  # Represent the source AWS VM details.
2737
- # @!attribute [rw] firmware
3600
+ # @!attribute [r] firmware
2738
3601
  # @return [::Google::Cloud::VMMigration::V1::AwsSourceVmDetails::Firmware]
2739
- # The firmware type of the source VM.
2740
- # @!attribute [rw] committed_storage_bytes
3602
+ # Output only. The firmware type of the source VM.
3603
+ # @!attribute [r] committed_storage_bytes
2741
3604
  # @return [::Integer]
2742
- # The total size of the disks being migrated in bytes.
3605
+ # Output only. The total size of the disks being migrated in bytes.
3606
+ # @!attribute [r] disks
3607
+ # @return [::Array<::Google::Cloud::VMMigration::V1::AwsSourceVmDetails::AwsDiskDetails>]
3608
+ # Output only. The disks attached to the source VM.
3609
+ # @!attribute [r] vm_capabilities_info
3610
+ # @return [::Google::Cloud::VMMigration::V1::VmCapabilities]
3611
+ # Output only. Information about VM capabilities needed for some Compute
3612
+ # Engine features.
3613
+ # @!attribute [r] architecture
3614
+ # @return [::Google::Cloud::VMMigration::V1::VmArchitecture]
3615
+ # Output only. The VM architecture.
2743
3616
  class AwsSourceVmDetails
2744
3617
  include ::Google::Protobuf::MessageExts
2745
3618
  extend ::Google::Protobuf::MessageExts::ClassMethods
2746
3619
 
3620
+ # The details of an AWS instance disk.
3621
+ # @!attribute [r] disk_number
3622
+ # @return [::Integer]
3623
+ # Output only. The ordinal number of the disk.
3624
+ # @!attribute [r] volume_id
3625
+ # @return [::String]
3626
+ # Output only. AWS volume ID.
3627
+ # @!attribute [r] size_gb
3628
+ # @return [::Integer]
3629
+ # Output only. Size in GB.
3630
+ class AwsDiskDetails
3631
+ include ::Google::Protobuf::MessageExts
3632
+ extend ::Google::Protobuf::MessageExts::ClassMethods
3633
+ end
3634
+
2747
3635
  # Possible values for AWS VM firmware.
2748
3636
  module Firmware
2749
3637
  # The firmware is unknown.
@@ -2757,6 +3645,55 @@ module Google
2757
3645
  end
2758
3646
  end
2759
3647
 
3648
+ # Represent the source Azure VM details.
3649
+ # @!attribute [r] firmware
3650
+ # @return [::Google::Cloud::VMMigration::V1::AzureSourceVmDetails::Firmware]
3651
+ # Output only. The firmware type of the source VM.
3652
+ # @!attribute [r] committed_storage_bytes
3653
+ # @return [::Integer]
3654
+ # Output only. The total size of the disks being migrated in bytes.
3655
+ # @!attribute [r] disks
3656
+ # @return [::Array<::Google::Cloud::VMMigration::V1::AzureSourceVmDetails::AzureDiskDetails>]
3657
+ # Output only. The disks attached to the source VM.
3658
+ # @!attribute [r] vm_capabilities_info
3659
+ # @return [::Google::Cloud::VMMigration::V1::VmCapabilities]
3660
+ # Output only. Information about VM capabilities needed for some Compute
3661
+ # Engine features.
3662
+ # @!attribute [r] architecture
3663
+ # @return [::Google::Cloud::VMMigration::V1::VmArchitecture]
3664
+ # Output only. The VM architecture.
3665
+ class AzureSourceVmDetails
3666
+ include ::Google::Protobuf::MessageExts
3667
+ extend ::Google::Protobuf::MessageExts::ClassMethods
3668
+
3669
+ # The details of an Azure VM disk.
3670
+ # @!attribute [r] disk_number
3671
+ # @return [::Integer]
3672
+ # Output only. The ordinal number of the disk.
3673
+ # @!attribute [r] disk_id
3674
+ # @return [::String]
3675
+ # Output only. Azure disk ID.
3676
+ # @!attribute [r] size_gb
3677
+ # @return [::Integer]
3678
+ # Output only. Size in GB.
3679
+ class AzureDiskDetails
3680
+ include ::Google::Protobuf::MessageExts
3681
+ extend ::Google::Protobuf::MessageExts::ClassMethods
3682
+ end
3683
+
3684
+ # Possible values for Azure VM firmware.
3685
+ module Firmware
3686
+ # The firmware is unknown.
3687
+ FIRMWARE_UNSPECIFIED = 0
3688
+
3689
+ # The firmware is EFI.
3690
+ EFI = 1
3691
+
3692
+ # The firmware is BIOS.
3693
+ BIOS = 2
3694
+ end
3695
+ end
3696
+
2760
3697
  # Request message for 'LisReplicationCyclesRequest' request.
2761
3698
  # @!attribute [rw] parent
2762
3699
  # @return [::String]
@@ -2810,33 +3747,956 @@ module Google
2810
3747
  extend ::Google::Protobuf::MessageExts::ClassMethods
2811
3748
  end
2812
3749
 
2813
- # Controls the level of details of a Utilization Report.
2814
- module UtilizationReportView
2815
- # The default / unset value.
2816
- # The API will default to FULL on single report request and BASIC for
2817
- # multiple reports request.
2818
- UTILIZATION_REPORT_VIEW_UNSPECIFIED = 0
2819
-
2820
- # Get the report metadata, without the list of VMs and their utilization
2821
- # info.
2822
- BASIC = 1
2823
-
2824
- # Include everything.
2825
- FULL = 2
3750
+ # Migrating VM source information about the VM capabilities needed for some
3751
+ # Compute Engine features.
3752
+ # @!attribute [r] os_capabilities
3753
+ # @return [::Array<::Google::Cloud::VMMigration::V1::OsCapability>]
3754
+ # Output only. Unordered list. List of certain VM OS capabilities needed for
3755
+ # some Compute Engine features.
3756
+ # @!attribute [r] last_os_capabilities_update_time
3757
+ # @return [::Google::Protobuf::Timestamp]
3758
+ # Output only. The last time OS capabilities list was updated.
3759
+ class VmCapabilities
3760
+ include ::Google::Protobuf::MessageExts
3761
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2826
3762
  end
2827
3763
 
2828
- # Controls the level of details of a Migrating VM.
2829
- module MigratingVmView
2830
- # View is unspecified. The API will fallback to the default value.
2831
- MIGRATING_VM_VIEW_UNSPECIFIED = 0
2832
-
2833
- # Get the migrating VM basic details.
2834
- # The basic details do not include the recent clone jobs and recent cutover
2835
- # jobs lists.
2836
- MIGRATING_VM_VIEW_BASIC = 1
2837
-
2838
- # Include everything.
2839
- MIGRATING_VM_VIEW_FULL = 2
3764
+ # ImageImport describes the configuration of the image import to run.
3765
+ # @!attribute [rw] cloud_storage_uri
3766
+ # @return [::String]
3767
+ # Immutable. The path to the Cloud Storage file from which the image should
3768
+ # be imported.
3769
+ # @!attribute [rw] disk_image_target_defaults
3770
+ # @return [::Google::Cloud::VMMigration::V1::DiskImageTargetDetails]
3771
+ # Immutable. Target details for importing a disk image, will be used by
3772
+ # ImageImportJob.
3773
+ #
3774
+ # Note: The following fields are mutually exclusive: `disk_image_target_defaults`, `machine_image_target_defaults`. If a field in that set is populated, all other fields in the set will automatically be cleared.
3775
+ # @!attribute [rw] machine_image_target_defaults
3776
+ # @return [::Google::Cloud::VMMigration::V1::MachineImageTargetDetails]
3777
+ # Immutable. Target details for importing a machine image, will be used by
3778
+ # ImageImportJob.
3779
+ #
3780
+ # Note: The following fields are mutually exclusive: `machine_image_target_defaults`, `disk_image_target_defaults`. If a field in that set is populated, all other fields in the set will automatically be cleared.
3781
+ # @!attribute [r] name
3782
+ # @return [::String]
3783
+ # Output only. The resource path of the ImageImport.
3784
+ # @!attribute [r] create_time
3785
+ # @return [::Google::Protobuf::Timestamp]
3786
+ # Output only. The time the image import was created.
3787
+ # @!attribute [r] recent_image_import_jobs
3788
+ # @return [::Array<::Google::Cloud::VMMigration::V1::ImageImportJob>]
3789
+ # Output only. The result of the most recent runs for this ImageImport. All
3790
+ # jobs for this ImageImport can be listed via ListImageImportJobs.
3791
+ # @!attribute [rw] encryption
3792
+ # @return [::Google::Cloud::VMMigration::V1::Encryption]
3793
+ # Immutable. The encryption details used by the image import process during
3794
+ # the image adaptation for Compute Engine.
3795
+ class ImageImport
3796
+ include ::Google::Protobuf::MessageExts
3797
+ extend ::Google::Protobuf::MessageExts::ClassMethods
3798
+ end
3799
+
3800
+ # ImageImportJob describes the progress and result of an image import.
3801
+ # @!attribute [r] cloud_storage_uri
3802
+ # @return [::String]
3803
+ # Output only. The path to the Cloud Storage file from which the image
3804
+ # should be imported.
3805
+ # @!attribute [r] disk_image_target_details
3806
+ # @return [::Google::Cloud::VMMigration::V1::DiskImageTargetDetails]
3807
+ # Output only. Target details used to import a disk image.
3808
+ #
3809
+ # Note: The following fields are mutually exclusive: `disk_image_target_details`, `machine_image_target_details`. If a field in that set is populated, all other fields in the set will automatically be cleared.
3810
+ # @!attribute [r] machine_image_target_details
3811
+ # @return [::Google::Cloud::VMMigration::V1::MachineImageTargetDetails]
3812
+ # Output only. Target details used to import a machine image.
3813
+ #
3814
+ # Note: The following fields are mutually exclusive: `machine_image_target_details`, `disk_image_target_details`. If a field in that set is populated, all other fields in the set will automatically be cleared.
3815
+ # @!attribute [r] name
3816
+ # @return [::String]
3817
+ # Output only. The resource path of the ImageImportJob.
3818
+ # @!attribute [r] created_resources
3819
+ # @return [::Array<::String>]
3820
+ # Output only. The resource paths of the resources created by the image
3821
+ # import job.
3822
+ # @!attribute [r] state
3823
+ # @return [::Google::Cloud::VMMigration::V1::ImageImportJob::State]
3824
+ # Output only. The state of the image import.
3825
+ # @!attribute [r] create_time
3826
+ # @return [::Google::Protobuf::Timestamp]
3827
+ # Output only. The time the image import was created (as an API call, not
3828
+ # when it was actually created in the target).
3829
+ # @!attribute [r] end_time
3830
+ # @return [::Google::Protobuf::Timestamp]
3831
+ # Output only. The time the image import was ended.
3832
+ # @!attribute [r] errors
3833
+ # @return [::Array<::Google::Rpc::Status>]
3834
+ # Output only. Provides details on the error that led to the image import
3835
+ # state in case of an error.
3836
+ # @!attribute [r] warnings
3837
+ # @return [::Array<::Google::Cloud::VMMigration::V1::MigrationWarning>]
3838
+ # Output only. Warnings that occurred during the image import.
3839
+ # @!attribute [r] steps
3840
+ # @return [::Array<::Google::Cloud::VMMigration::V1::ImageImportStep>]
3841
+ # Output only. The image import steps list representing its progress.
3842
+ class ImageImportJob
3843
+ include ::Google::Protobuf::MessageExts
3844
+ extend ::Google::Protobuf::MessageExts::ClassMethods
3845
+
3846
+ # Possible states of the image import.
3847
+ module State
3848
+ # The state is unknown.
3849
+ STATE_UNSPECIFIED = 0
3850
+
3851
+ # The image import has not yet started.
3852
+ PENDING = 1
3853
+
3854
+ # The image import is active and running.
3855
+ RUNNING = 2
3856
+
3857
+ # The image import has finished successfully.
3858
+ SUCCEEDED = 3
3859
+
3860
+ # The image import has finished with errors.
3861
+ FAILED = 4
3862
+
3863
+ # The image import is being cancelled.
3864
+ CANCELLING = 5
3865
+
3866
+ # The image import was cancelled.
3867
+ CANCELLED = 6
3868
+ end
3869
+ end
3870
+
3871
+ # ImageImportStep holds information about the image import step progress.
3872
+ # @!attribute [rw] initializing
3873
+ # @return [::Google::Cloud::VMMigration::V1::InitializingImageImportStep]
3874
+ # Initializing step.
3875
+ #
3876
+ # Note: The following fields are mutually exclusive: `initializing`, `loading_source_files`, `adapting_os`, `creating_image`. If a field in that set is populated, all other fields in the set will automatically be cleared.
3877
+ # @!attribute [rw] loading_source_files
3878
+ # @return [::Google::Cloud::VMMigration::V1::LoadingImageSourceFilesStep]
3879
+ # Loading source files step.
3880
+ #
3881
+ # Note: The following fields are mutually exclusive: `loading_source_files`, `initializing`, `adapting_os`, `creating_image`. If a field in that set is populated, all other fields in the set will automatically be cleared.
3882
+ # @!attribute [rw] adapting_os
3883
+ # @return [::Google::Cloud::VMMigration::V1::AdaptingOSStep]
3884
+ # Adapting OS step.
3885
+ #
3886
+ # Note: The following fields are mutually exclusive: `adapting_os`, `initializing`, `loading_source_files`, `creating_image`. If a field in that set is populated, all other fields in the set will automatically be cleared.
3887
+ # @!attribute [rw] creating_image
3888
+ # @return [::Google::Cloud::VMMigration::V1::CreatingImageStep]
3889
+ # Creating image step.
3890
+ #
3891
+ # Note: The following fields are mutually exclusive: `creating_image`, `initializing`, `loading_source_files`, `adapting_os`. If a field in that set is populated, all other fields in the set will automatically be cleared.
3892
+ # @!attribute [r] start_time
3893
+ # @return [::Google::Protobuf::Timestamp]
3894
+ # Output only. The time the step has started.
3895
+ # @!attribute [r] end_time
3896
+ # @return [::Google::Protobuf::Timestamp]
3897
+ # Output only. The time the step has ended.
3898
+ class ImageImportStep
3899
+ include ::Google::Protobuf::MessageExts
3900
+ extend ::Google::Protobuf::MessageExts::ClassMethods
3901
+ end
3902
+
3903
+ # InitializingImageImportStep contains specific step details.
3904
+ class InitializingImageImportStep
3905
+ include ::Google::Protobuf::MessageExts
3906
+ extend ::Google::Protobuf::MessageExts::ClassMethods
3907
+ end
3908
+
3909
+ # LoadingImageSourceFilesStep contains specific step details.
3910
+ class LoadingImageSourceFilesStep
3911
+ include ::Google::Protobuf::MessageExts
3912
+ extend ::Google::Protobuf::MessageExts::ClassMethods
3913
+ end
3914
+
3915
+ # CreatingImageStep contains specific step details.
3916
+ class CreatingImageStep
3917
+ include ::Google::Protobuf::MessageExts
3918
+ extend ::Google::Protobuf::MessageExts::ClassMethods
3919
+ end
3920
+
3921
+ # The target details of the image resource that will be created by the import
3922
+ # job.
3923
+ # @!attribute [rw] os_adaptation_parameters
3924
+ # @return [::Google::Cloud::VMMigration::V1::ImageImportOsAdaptationParameters]
3925
+ # Optional. Use to set the parameters relevant for the OS adaptation
3926
+ # process.
3927
+ #
3928
+ # Note: The following fields are mutually exclusive: `os_adaptation_parameters`, `data_disk_image_import`. If a field in that set is populated, all other fields in the set will automatically be cleared.
3929
+ # @!attribute [rw] data_disk_image_import
3930
+ # @return [::Google::Cloud::VMMigration::V1::DataDiskImageImport]
3931
+ # Optional. Use to skip OS adaptation process.
3932
+ #
3933
+ # Note: The following fields are mutually exclusive: `data_disk_image_import`, `os_adaptation_parameters`. If a field in that set is populated, all other fields in the set will automatically be cleared.
3934
+ # @!attribute [rw] image_name
3935
+ # @return [::String]
3936
+ # Required. The name of the image to be created.
3937
+ # @!attribute [rw] target_project
3938
+ # @return [::String]
3939
+ # Required. Reference to the TargetProject resource that represents the
3940
+ # target project in which the imported image will be created.
3941
+ # @!attribute [rw] description
3942
+ # @return [::String]
3943
+ # Optional. An optional description of the image.
3944
+ # @!attribute [rw] family_name
3945
+ # @return [::String]
3946
+ # Optional. The name of the image family to which the new image belongs.
3947
+ # @!attribute [rw] labels
3948
+ # @return [::Google::Protobuf::Map{::String => ::String}]
3949
+ # Optional. A map of labels to associate with the image.
3950
+ # @!attribute [rw] additional_licenses
3951
+ # @return [::Array<::String>]
3952
+ # Optional. Additional licenses to assign to the image.
3953
+ # Format:
3954
+ # https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/licenses/LICENSE_NAME
3955
+ # Or
3956
+ # https://www.googleapis.com/compute/beta/projects/PROJECT_ID/global/licenses/LICENSE_NAME
3957
+ # @!attribute [rw] single_region_storage
3958
+ # @return [::Boolean]
3959
+ # Optional. Set to true to set the image storageLocations to the single
3960
+ # region of the import job. When false, the closest multi-region is selected.
3961
+ # @!attribute [rw] encryption
3962
+ # @return [::Google::Cloud::VMMigration::V1::Encryption]
3963
+ # Immutable. The encryption to apply to the image.
3964
+ class DiskImageTargetDetails
3965
+ include ::Google::Protobuf::MessageExts
3966
+ extend ::Google::Protobuf::MessageExts::ClassMethods
3967
+
3968
+ # @!attribute [rw] key
3969
+ # @return [::String]
3970
+ # @!attribute [rw] value
3971
+ # @return [::String]
3972
+ class LabelsEntry
3973
+ include ::Google::Protobuf::MessageExts
3974
+ extend ::Google::Protobuf::MessageExts::ClassMethods
3975
+ end
3976
+ end
3977
+
3978
+ # The target details of the machine image resource that will be created by the
3979
+ # image import job.
3980
+ # @!attribute [rw] os_adaptation_parameters
3981
+ # @return [::Google::Cloud::VMMigration::V1::ImageImportOsAdaptationParameters]
3982
+ # Optional. Use to set the parameters relevant for the OS adaptation
3983
+ # process.
3984
+ #
3985
+ # Note: The following fields are mutually exclusive: `os_adaptation_parameters`, `skip_os_adaptation`. If a field in that set is populated, all other fields in the set will automatically be cleared.
3986
+ # @!attribute [rw] skip_os_adaptation
3987
+ # @return [::Google::Cloud::VMMigration::V1::SkipOsAdaptation]
3988
+ # Optional. Use to skip OS adaptation process.
3989
+ #
3990
+ # Note: The following fields are mutually exclusive: `skip_os_adaptation`, `os_adaptation_parameters`. If a field in that set is populated, all other fields in the set will automatically be cleared.
3991
+ # @!attribute [rw] machine_image_name
3992
+ # @return [::String]
3993
+ # Required. The name of the machine image to be created.
3994
+ # @!attribute [rw] target_project
3995
+ # @return [::String]
3996
+ # Required. Reference to the TargetProject resource that represents the
3997
+ # target project in which the imported machine image will be created.
3998
+ # @!attribute [rw] description
3999
+ # @return [::String]
4000
+ # Optional. An optional description of the machine image.
4001
+ # @!attribute [rw] single_region_storage
4002
+ # @return [::Boolean]
4003
+ # Optional. Set to true to set the machine image storageLocations to the
4004
+ # single region of the import job. When false, the closest multi-region is
4005
+ # selected.
4006
+ # @!attribute [rw] encryption
4007
+ # @return [::Google::Cloud::VMMigration::V1::Encryption]
4008
+ # Immutable. The encryption to apply to the machine image.
4009
+ # If the Image Import resource has an encryption, this field must be set to
4010
+ # the same encryption key.
4011
+ # @!attribute [rw] machine_image_parameters_overrides
4012
+ # @return [::Google::Cloud::VMMigration::V1::MachineImageParametersOverrides]
4013
+ # Optional. Parameters overriding decisions based on the source machine image
4014
+ # configurations.
4015
+ # @!attribute [rw] service_account
4016
+ # @return [::Google::Cloud::VMMigration::V1::ServiceAccount]
4017
+ # Optional. The service account to assign to the instance created by the
4018
+ # machine image.
4019
+ # @!attribute [rw] additional_licenses
4020
+ # @return [::Array<::String>]
4021
+ # Optional. Additional licenses to assign to the instance created by the
4022
+ # machine image. Format:
4023
+ # https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/licenses/LICENSE_NAME
4024
+ # Or
4025
+ # https://www.googleapis.com/compute/beta/projects/PROJECT_ID/global/licenses/LICENSE_NAME
4026
+ # @!attribute [rw] labels
4027
+ # @return [::Google::Protobuf::Map{::String => ::String}]
4028
+ # Optional. The labels to apply to the instance created by the machine image.
4029
+ # @!attribute [rw] tags
4030
+ # @return [::Array<::String>]
4031
+ # Optional. The tags to apply to the instance created by the machine image.
4032
+ # @!attribute [rw] shielded_instance_config
4033
+ # @return [::Google::Cloud::VMMigration::V1::ShieldedInstanceConfig]
4034
+ # Optional. Shielded instance configuration.
4035
+ # @!attribute [rw] network_interfaces
4036
+ # @return [::Array<::Google::Cloud::VMMigration::V1::NetworkInterface>]
4037
+ # Optional. The network interfaces to create with the instance created by the
4038
+ # machine image. Internal and external IP addresses, and network tiers are
4039
+ # ignored for machine image import.
4040
+ class MachineImageTargetDetails
4041
+ include ::Google::Protobuf::MessageExts
4042
+ extend ::Google::Protobuf::MessageExts::ClassMethods
4043
+
4044
+ # @!attribute [rw] key
4045
+ # @return [::String]
4046
+ # @!attribute [rw] value
4047
+ # @return [::String]
4048
+ class LabelsEntry
4049
+ include ::Google::Protobuf::MessageExts
4050
+ extend ::Google::Protobuf::MessageExts::ClassMethods
4051
+ end
4052
+ end
4053
+
4054
+ # Service account to assign to the instance created by the machine image.
4055
+ # @!attribute [rw] email
4056
+ # @return [::String]
4057
+ # Required. The email address of the service account.
4058
+ # @!attribute [rw] scopes
4059
+ # @return [::Array<::String>]
4060
+ # Optional. The list of scopes to be made available for this service account.
4061
+ class ServiceAccount
4062
+ include ::Google::Protobuf::MessageExts
4063
+ extend ::Google::Protobuf::MessageExts::ClassMethods
4064
+ end
4065
+
4066
+ # Shielded instance configuration.
4067
+ # @!attribute [rw] secure_boot
4068
+ # @return [::Google::Cloud::VMMigration::V1::ShieldedInstanceConfig::SecureBoot]
4069
+ # Optional. Defines whether the instance created by the machine image has
4070
+ # Secure Boot enabled. This can be set to true only if the image boot option
4071
+ # is EFI.
4072
+ # @!attribute [rw] enable_vtpm
4073
+ # @return [::Boolean]
4074
+ # Optional. Defines whether the instance created by the machine image has
4075
+ # vTPM enabled. This can be set to true only if the image boot option is EFI.
4076
+ # @!attribute [rw] enable_integrity_monitoring
4077
+ # @return [::Boolean]
4078
+ # Optional. Defines whether the instance created by the machine image has
4079
+ # integrity monitoring enabled. This can be set to true only if the image
4080
+ # boot option is EFI, and vTPM is enabled.
4081
+ class ShieldedInstanceConfig
4082
+ include ::Google::Protobuf::MessageExts
4083
+ extend ::Google::Protobuf::MessageExts::ClassMethods
4084
+
4085
+ # Possible values for secure boot.
4086
+ module SecureBoot
4087
+ # No explicit value is selected. Will use the configuration of the source
4088
+ # (if exists, otherwise the default will be false).
4089
+ SECURE_BOOT_UNSPECIFIED = 0
4090
+
4091
+ # Use secure boot. This can be set to true only if the image boot option is
4092
+ # EFI.
4093
+ TRUE = 1
4094
+
4095
+ # Do not use secure boot.
4096
+ FALSE = 2
4097
+ end
4098
+ end
4099
+
4100
+ # Parameters overriding decisions based on the source machine image
4101
+ # configurations.
4102
+ # @!attribute [rw] machine_type
4103
+ # @return [::String]
4104
+ # Optional. The machine type to create the MachineImage with.
4105
+ # If empty, the service will choose a relevant machine type based on the
4106
+ # information from the source image.
4107
+ # For more information about machine types, please refer to
4108
+ # https://cloud.google.com/compute/docs/machine-resource.
4109
+ class MachineImageParametersOverrides
4110
+ include ::Google::Protobuf::MessageExts
4111
+ extend ::Google::Protobuf::MessageExts::ClassMethods
4112
+ end
4113
+
4114
+ # Parameters affecting the OS adaptation process.
4115
+ # @!attribute [rw] generalize
4116
+ # @return [::Boolean]
4117
+ # Optional. Set to true in order to generalize the imported image.
4118
+ # The generalization process enables co-existence of multiple VMs created
4119
+ # from the same image.
4120
+ # For Windows, generalizing the image removes computer-specific information
4121
+ # such as installed drivers and the computer security identifier (SID).
4122
+ # @!attribute [rw] license_type
4123
+ # @return [::Google::Cloud::VMMigration::V1::ComputeEngineLicenseType]
4124
+ # Optional. Choose which type of license to apply to the imported image.
4125
+ # @!attribute [rw] boot_conversion
4126
+ # @return [::Google::Cloud::VMMigration::V1::BootConversion]
4127
+ # Optional. By default the image will keep its existing boot option. Setting
4128
+ # this property will trigger an internal process which will convert the
4129
+ # image from using the existing boot option to another.
4130
+ # The size of the boot disk might be increased to allow the conversion
4131
+ class ImageImportOsAdaptationParameters
4132
+ include ::Google::Protobuf::MessageExts
4133
+ extend ::Google::Protobuf::MessageExts::ClassMethods
4134
+ end
4135
+
4136
+ # Mentions that the image import is not using OS adaptation process.
4137
+ class DataDiskImageImport
4138
+ include ::Google::Protobuf::MessageExts
4139
+ extend ::Google::Protobuf::MessageExts::ClassMethods
4140
+ end
4141
+
4142
+ # Mentions that the machine image import is not using OS adaptation process.
4143
+ class SkipOsAdaptation
4144
+ include ::Google::Protobuf::MessageExts
4145
+ extend ::Google::Protobuf::MessageExts::ClassMethods
4146
+ end
4147
+
4148
+ # Request message for 'GetImageImport' call.
4149
+ # @!attribute [rw] name
4150
+ # @return [::String]
4151
+ # Required. The ImageImport name.
4152
+ class GetImageImportRequest
4153
+ include ::Google::Protobuf::MessageExts
4154
+ extend ::Google::Protobuf::MessageExts::ClassMethods
4155
+ end
4156
+
4157
+ # Request message for 'ListImageImports' call.
4158
+ # @!attribute [rw] parent
4159
+ # @return [::String]
4160
+ # Required. The parent, which owns this collection of targets.
4161
+ # @!attribute [rw] page_size
4162
+ # @return [::Integer]
4163
+ # Optional. The maximum number of targets to return. The service may return
4164
+ # fewer than this value. If unspecified, at most 500 targets will be
4165
+ # returned. The maximum value is 1000; values above 1000 will be coerced to
4166
+ # 1000.
4167
+ # @!attribute [rw] page_token
4168
+ # @return [::String]
4169
+ # Optional. A page token, received from a previous `ListImageImports` call.
4170
+ # Provide this to retrieve the subsequent page.
4171
+ #
4172
+ # When paginating, all other parameters provided to `ListImageImports` must
4173
+ # match the call that provided the page token.
4174
+ # @!attribute [rw] filter
4175
+ # @return [::String]
4176
+ # Optional. The filter request (according to <a
4177
+ # href="https://google.aip.dev/160" target="_blank">AIP-160</a>).
4178
+ # @!attribute [rw] order_by
4179
+ # @return [::String]
4180
+ # Optional. The order by fields for the result (according to <a
4181
+ # href="https://google.aip.dev/132#ordering" target="_blank">AIP-132</a>).
4182
+ # Currently ordering is only possible by "name" field.
4183
+ class ListImageImportsRequest
4184
+ include ::Google::Protobuf::MessageExts
4185
+ extend ::Google::Protobuf::MessageExts::ClassMethods
4186
+ end
4187
+
4188
+ # Response message for 'ListImageImports' call.
4189
+ # @!attribute [r] image_imports
4190
+ # @return [::Array<::Google::Cloud::VMMigration::V1::ImageImport>]
4191
+ # Output only. The list of target response.
4192
+ # @!attribute [r] next_page_token
4193
+ # @return [::String]
4194
+ # Output only. A token, which can be sent as `page_token` to retrieve the
4195
+ # next page. If this field is omitted, there are no subsequent pages.
4196
+ # @!attribute [r] unreachable
4197
+ # @return [::Array<::String>]
4198
+ # Output only. Locations that could not be reached.
4199
+ class ListImageImportsResponse
4200
+ include ::Google::Protobuf::MessageExts
4201
+ extend ::Google::Protobuf::MessageExts::ClassMethods
4202
+ end
4203
+
4204
+ # Request message for 'CreateImageImport' request.
4205
+ # @!attribute [rw] parent
4206
+ # @return [::String]
4207
+ # Required. The ImageImport's parent.
4208
+ # @!attribute [rw] image_import_id
4209
+ # @return [::String]
4210
+ # Required. The image import identifier.
4211
+ # This value maximum length is 63 characters, and valid characters are
4212
+ # /[a-z][0-9]-/. It must start with an english letter and must not end with a
4213
+ # hyphen.
4214
+ # @!attribute [rw] image_import
4215
+ # @return [::Google::Cloud::VMMigration::V1::ImageImport]
4216
+ # Required. The create request body.
4217
+ # @!attribute [rw] request_id
4218
+ # @return [::String]
4219
+ # Optional. A request ID to identify requests. Specify a unique request ID
4220
+ # so that if you must retry your request, the server will know to ignore
4221
+ # the request if it has already been completed. The server will guarantee
4222
+ # that for at least 60 minutes since the first request.
4223
+ #
4224
+ # For example, consider a situation where you make an initial request and
4225
+ # the request times out. If you make the request again with the same request
4226
+ # ID, the server can check if original operation with the same request ID
4227
+ # was received, and if so, will ignore the second request. This prevents
4228
+ # clients from accidentally creating duplicate commitments.
4229
+ #
4230
+ # The request ID must be a valid UUID with the exception that zero UUID is
4231
+ # not supported (00000000-0000-0000-0000-000000000000).
4232
+ class CreateImageImportRequest
4233
+ include ::Google::Protobuf::MessageExts
4234
+ extend ::Google::Protobuf::MessageExts::ClassMethods
4235
+ end
4236
+
4237
+ # Request message for 'DeleteImageImport' request.
4238
+ # @!attribute [rw] name
4239
+ # @return [::String]
4240
+ # Required. The ImageImport name.
4241
+ # @!attribute [rw] request_id
4242
+ # @return [::String]
4243
+ # Optional. A request ID to identify requests. Specify a unique request ID
4244
+ # so that if you must retry your request, the server will know to ignore
4245
+ # the request if it has already been completed. The server will guarantee
4246
+ # that for at least 60 minutes after the first request.
4247
+ #
4248
+ # For example, consider a situation where you make an initial request and t
4249
+ # he request times out. If you make the request again with the same request
4250
+ # ID, the server can check if original operation with the same request ID
4251
+ # was received, and if so, will ignore the second request. This prevents
4252
+ # clients from accidentally creating duplicate commitments.
4253
+ #
4254
+ # The request ID must be a valid UUID with the exception that zero UUID is
4255
+ # not supported (00000000-0000-0000-0000-000000000000).
4256
+ class DeleteImageImportRequest
4257
+ include ::Google::Protobuf::MessageExts
4258
+ extend ::Google::Protobuf::MessageExts::ClassMethods
4259
+ end
4260
+
4261
+ # Request message for 'GetImageImportJob' call.
4262
+ # @!attribute [rw] name
4263
+ # @return [::String]
4264
+ # Required. The ImageImportJob name.
4265
+ class GetImageImportJobRequest
4266
+ include ::Google::Protobuf::MessageExts
4267
+ extend ::Google::Protobuf::MessageExts::ClassMethods
4268
+ end
4269
+
4270
+ # Request message for 'ListImageImportJobs' call.
4271
+ # @!attribute [rw] parent
4272
+ # @return [::String]
4273
+ # Required. The parent, which owns this collection of targets.
4274
+ # @!attribute [rw] page_size
4275
+ # @return [::Integer]
4276
+ # Optional. The maximum number of targets to return. The service may return
4277
+ # fewer than this value. If unspecified, at most 500 targets will be
4278
+ # returned. The maximum value is 1000; values above 1000 will be coerced to
4279
+ # 1000.
4280
+ # @!attribute [rw] page_token
4281
+ # @return [::String]
4282
+ # Optional. A page token, received from a previous `ListImageImportJobs`
4283
+ # call. Provide this to retrieve the subsequent page.
4284
+ #
4285
+ # When paginating, all other parameters provided to `ListImageImportJobs`
4286
+ # must match the call that provided the page token.
4287
+ # @!attribute [rw] filter
4288
+ # @return [::String]
4289
+ # Optional. The filter request (according to <a
4290
+ # href="https://google.aip.dev/160" target="_blank">AIP-160</a>).
4291
+ # @!attribute [rw] order_by
4292
+ # @return [::String]
4293
+ # Optional. The order by fields for the result (according to <a
4294
+ # href="https://google.aip.dev/132#ordering" target="_blank">AIP-132</a>).
4295
+ # Currently ordering is only possible by "name" field.
4296
+ class ListImageImportJobsRequest
4297
+ include ::Google::Protobuf::MessageExts
4298
+ extend ::Google::Protobuf::MessageExts::ClassMethods
4299
+ end
4300
+
4301
+ # Response message for 'ListImageImportJobs' call.
4302
+ # @!attribute [r] image_import_jobs
4303
+ # @return [::Array<::Google::Cloud::VMMigration::V1::ImageImportJob>]
4304
+ # Output only. The list of target response.
4305
+ # @!attribute [r] next_page_token
4306
+ # @return [::String]
4307
+ # Output only. A token, which can be sent as `page_token` to retrieve the
4308
+ # next page. If this field is omitted, there are no subsequent pages.
4309
+ # @!attribute [r] unreachable
4310
+ # @return [::Array<::String>]
4311
+ # Output only. Locations that could not be reached.
4312
+ class ListImageImportJobsResponse
4313
+ include ::Google::Protobuf::MessageExts
4314
+ extend ::Google::Protobuf::MessageExts::ClassMethods
4315
+ end
4316
+
4317
+ # Request message for 'CancelImageImportJob' request.
4318
+ # @!attribute [rw] name
4319
+ # @return [::String]
4320
+ # Required. The image import job id.
4321
+ class CancelImageImportJobRequest
4322
+ include ::Google::Protobuf::MessageExts
4323
+ extend ::Google::Protobuf::MessageExts::ClassMethods
4324
+ end
4325
+
4326
+ # Response message for 'CancelImageImportJob' request.
4327
+ class CancelImageImportJobResponse
4328
+ include ::Google::Protobuf::MessageExts
4329
+ extend ::Google::Protobuf::MessageExts::ClassMethods
4330
+ end
4331
+
4332
+ # Describes the disk which will be migrated from the source environment.
4333
+ # The source disk has to be unattached.
4334
+ # @!attribute [rw] aws_source_disk_details
4335
+ # @return [::Google::Cloud::VMMigration::V1::AwsSourceDiskDetails]
4336
+ # Details of the unattached AWS source disk.
4337
+ # @!attribute [r] name
4338
+ # @return [::String]
4339
+ # Output only. Identifier. The identifier of the DiskMigrationJob.
4340
+ # @!attribute [rw] target_details
4341
+ # @return [::Google::Cloud::VMMigration::V1::DiskMigrationJobTargetDetails]
4342
+ # Required. Details of the target Disk in Compute Engine.
4343
+ # @!attribute [r] create_time
4344
+ # @return [::Google::Protobuf::Timestamp]
4345
+ # Output only. The time the DiskMigrationJob resource was created.
4346
+ # @!attribute [r] update_time
4347
+ # @return [::Google::Protobuf::Timestamp]
4348
+ # Output only. The last time the DiskMigrationJob resource was updated.
4349
+ # @!attribute [r] state
4350
+ # @return [::Google::Cloud::VMMigration::V1::DiskMigrationJob::State]
4351
+ # Output only. State of the DiskMigrationJob.
4352
+ # @!attribute [r] errors
4353
+ # @return [::Array<::Google::Rpc::Status>]
4354
+ # Output only. Provides details on the errors that led to the disk migration
4355
+ # job's state in case of an error.
4356
+ # @!attribute [r] steps
4357
+ # @return [::Array<::Google::Cloud::VMMigration::V1::DiskMigrationStep>]
4358
+ # Output only. The disk migration steps list representing its progress.
4359
+ class DiskMigrationJob
4360
+ include ::Google::Protobuf::MessageExts
4361
+ extend ::Google::Protobuf::MessageExts::ClassMethods
4362
+
4363
+ # The possible values of the state/health of DiskMigrationJob.
4364
+ module State
4365
+ # The state is unspecified. This is not in use.
4366
+ STATE_UNSPECIFIED = 0
4367
+
4368
+ # The initial state of the disk migration.
4369
+ # In this state the customers can update the target details.
4370
+ READY = 1
4371
+
4372
+ # The migration is active, and it's running or scheduled to run.
4373
+ RUNNING = 3
4374
+
4375
+ # The migration completed successfully.
4376
+ SUCCEEDED = 4
4377
+
4378
+ # Migration cancellation was initiated.
4379
+ CANCELLING = 5
4380
+
4381
+ # The migration was cancelled.
4382
+ CANCELLED = 6
4383
+
4384
+ # The migration process encountered an unrecoverable error and was aborted.
4385
+ FAILED = 7
4386
+ end
4387
+ end
4388
+
4389
+ # Details of the target disk in Compute Engine.
4390
+ # @!attribute [rw] target_disk
4391
+ # @return [::Google::Cloud::VMMigration::V1::ComputeEngineDisk]
4392
+ # Required. The target disk.
4393
+ # @!attribute [rw] target_project
4394
+ # @return [::String]
4395
+ # Required. The name of the resource of type TargetProject which represents
4396
+ # the Compute Engine project in which to create the disk. Should be of the
4397
+ # form: projects/\\{project}/locations/global/targetProjects/\\{target-project}
4398
+ # @!attribute [rw] labels
4399
+ # @return [::Google::Protobuf::Map{::String => ::String}]
4400
+ # Optional. A map of labels to associate with the disk.
4401
+ # @!attribute [rw] encryption
4402
+ # @return [::Google::Cloud::VMMigration::V1::Encryption]
4403
+ # Optional. The encryption to apply to the disk.
4404
+ # If the DiskMigrationJob parent Source resource has an encryption, this
4405
+ # field must be set to the same encryption key.
4406
+ class DiskMigrationJobTargetDetails
4407
+ include ::Google::Protobuf::MessageExts
4408
+ extend ::Google::Protobuf::MessageExts::ClassMethods
4409
+
4410
+ # @!attribute [rw] key
4411
+ # @return [::String]
4412
+ # @!attribute [rw] value
4413
+ # @return [::String]
4414
+ class LabelsEntry
4415
+ include ::Google::Protobuf::MessageExts
4416
+ extend ::Google::Protobuf::MessageExts::ClassMethods
4417
+ end
4418
+ end
4419
+
4420
+ # DiskMigrationStep holds information about the disk migration step progress.
4421
+ # @!attribute [rw] creating_source_disk_snapshot
4422
+ # @return [::Google::Cloud::VMMigration::V1::CreatingSourceDiskSnapshotStep]
4423
+ # Creating source disk snapshot step.
4424
+ #
4425
+ # Note: The following fields are mutually exclusive: `creating_source_disk_snapshot`, `copying_source_disk_snapshot`, `provisioning_target_disk`. If a field in that set is populated, all other fields in the set will automatically be cleared.
4426
+ # @!attribute [rw] copying_source_disk_snapshot
4427
+ # @return [::Google::Cloud::VMMigration::V1::CopyingSourceDiskSnapshotStep]
4428
+ # Copying source disk snapshot step.
4429
+ #
4430
+ # Note: The following fields are mutually exclusive: `copying_source_disk_snapshot`, `creating_source_disk_snapshot`, `provisioning_target_disk`. If a field in that set is populated, all other fields in the set will automatically be cleared.
4431
+ # @!attribute [rw] provisioning_target_disk
4432
+ # @return [::Google::Cloud::VMMigration::V1::ProvisioningTargetDiskStep]
4433
+ # Creating target disk step.
4434
+ #
4435
+ # Note: The following fields are mutually exclusive: `provisioning_target_disk`, `creating_source_disk_snapshot`, `copying_source_disk_snapshot`. If a field in that set is populated, all other fields in the set will automatically be cleared.
4436
+ # @!attribute [r] start_time
4437
+ # @return [::Google::Protobuf::Timestamp]
4438
+ # Output only. The time the step has started.
4439
+ # @!attribute [r] end_time
4440
+ # @return [::Google::Protobuf::Timestamp]
4441
+ # Output only. The time the step has ended.
4442
+ class DiskMigrationStep
4443
+ include ::Google::Protobuf::MessageExts
4444
+ extend ::Google::Protobuf::MessageExts::ClassMethods
4445
+ end
4446
+
4447
+ # CreatingSourceDiskSnapshotStep contains specific step details.
4448
+ class CreatingSourceDiskSnapshotStep
4449
+ include ::Google::Protobuf::MessageExts
4450
+ extend ::Google::Protobuf::MessageExts::ClassMethods
4451
+ end
4452
+
4453
+ # CopyingSourceDiskSnapshotStep contains specific step details.
4454
+ class CopyingSourceDiskSnapshotStep
4455
+ include ::Google::Protobuf::MessageExts
4456
+ extend ::Google::Protobuf::MessageExts::ClassMethods
4457
+ end
4458
+
4459
+ # ProvisioningTargetDiskStep contains specific step details.
4460
+ class ProvisioningTargetDiskStep
4461
+ include ::Google::Protobuf::MessageExts
4462
+ extend ::Google::Protobuf::MessageExts::ClassMethods
4463
+ end
4464
+
4465
+ # Compute Engine disk target details.
4466
+ # @!attribute [rw] disk_id
4467
+ # @return [::String]
4468
+ # Optional. Target Compute Engine Disk ID.
4469
+ # This is the resource ID segment of the Compute Engine Disk to create.
4470
+ # In the resource name compute/v1/projects/\\{project}/zones/\\{zone}/disks/disk1
4471
+ # "disk1" is the resource ID for the disk.
4472
+ # @!attribute [rw] zone
4473
+ # @return [::String]
4474
+ # Required. The Compute Engine zone in which to create the disk. Should be of
4475
+ # the form: projects/\\{target-project}/locations/\\{zone}
4476
+ # @!attribute [rw] replica_zones
4477
+ # @return [::Array<::String>]
4478
+ # Optional. Replication zones of the regional disk. Should be of the form:
4479
+ # projects/\\{target-project}/locations/\\{replica-zone}
4480
+ # Currently only one replica zone is supported.
4481
+ # @!attribute [rw] disk_type
4482
+ # @return [::Google::Cloud::VMMigration::V1::ComputeEngineDiskType]
4483
+ # Required. The disk type to use.
4484
+ class ComputeEngineDisk
4485
+ include ::Google::Protobuf::MessageExts
4486
+ extend ::Google::Protobuf::MessageExts::ClassMethods
4487
+ end
4488
+
4489
+ # Represents the source AWS Disk details.
4490
+ # @!attribute [rw] volume_id
4491
+ # @return [::String]
4492
+ # Required. AWS volume ID.
4493
+ # @!attribute [r] size_gib
4494
+ # @return [::Integer]
4495
+ # Output only. Size in GiB.
4496
+ # @!attribute [r] disk_type
4497
+ # @return [::Google::Cloud::VMMigration::V1::AwsSourceDiskDetails::Type]
4498
+ # Optional. Output only. Disk type.
4499
+ # @!attribute [r] tags
4500
+ # @return [::Google::Protobuf::Map{::String => ::String}]
4501
+ # Optional. Output only. A map of AWS volume tags.
4502
+ class AwsSourceDiskDetails
4503
+ include ::Google::Protobuf::MessageExts
4504
+ extend ::Google::Protobuf::MessageExts::ClassMethods
4505
+
4506
+ # @!attribute [rw] key
4507
+ # @return [::String]
4508
+ # @!attribute [rw] value
4509
+ # @return [::String]
4510
+ class TagsEntry
4511
+ include ::Google::Protobuf::MessageExts
4512
+ extend ::Google::Protobuf::MessageExts::ClassMethods
4513
+ end
4514
+
4515
+ # Possible values for disk types.
4516
+ module Type
4517
+ # Unspecified AWS disk type. Should not be used.
4518
+ TYPE_UNSPECIFIED = 0
4519
+
4520
+ # GP2 disk type.
4521
+ GP2 = 1
4522
+
4523
+ # GP3 disk type.
4524
+ GP3 = 2
4525
+
4526
+ # IO1 disk type.
4527
+ IO1 = 3
4528
+
4529
+ # IO2 disk type.
4530
+ IO2 = 4
4531
+
4532
+ # ST1 disk type.
4533
+ ST1 = 5
4534
+
4535
+ # SC1 disk type.
4536
+ SC1 = 6
4537
+
4538
+ # Standard disk type.
4539
+ STANDARD = 7
4540
+ end
4541
+ end
4542
+
4543
+ # Request message for 'CreateDiskMigrationJob' request.
4544
+ # @!attribute [rw] parent
4545
+ # @return [::String]
4546
+ # Required. The DiskMigrationJob's parent.
4547
+ # @!attribute [rw] disk_migration_job_id
4548
+ # @return [::String]
4549
+ # Required. The DiskMigrationJob identifier.
4550
+ # The maximum length of this value is 63 characters.
4551
+ # Valid characters are lower case Latin letters, digits and hyphen.
4552
+ # It must start with a Latin letter and must not end with a hyphen.
4553
+ # @!attribute [rw] disk_migration_job
4554
+ # @return [::Google::Cloud::VMMigration::V1::DiskMigrationJob]
4555
+ # Required. The create request body.
4556
+ # @!attribute [rw] request_id
4557
+ # @return [::String]
4558
+ # Optional. A request ID to identify requests. Specify a unique request ID
4559
+ # so that if you must retry your request, the server will know to ignore
4560
+ # the request if it has already been completed. The server will guarantee
4561
+ # that for at least 60 minutes since the first request.
4562
+ #
4563
+ # For example, consider a situation where you make an initial request and
4564
+ # the request timed out. If you make the request again with the same request
4565
+ # ID, the server can check if original operation with the same request ID
4566
+ # was received, and if so, will ignore the second request. This prevents
4567
+ # clients from accidentally creating duplicate commitments.
4568
+ #
4569
+ # The request ID must be a valid UUID with the exception that zero UUID is
4570
+ # not supported (00000000-0000-0000-0000-000000000000).
4571
+ class CreateDiskMigrationJobRequest
4572
+ include ::Google::Protobuf::MessageExts
4573
+ extend ::Google::Protobuf::MessageExts::ClassMethods
4574
+ end
4575
+
4576
+ # Request message for 'ListDiskMigrationJobsRequest' request.
4577
+ # @!attribute [rw] parent
4578
+ # @return [::String]
4579
+ # Required. The parent, which owns this collection of DiskMigrationJobs.
4580
+ # @!attribute [rw] page_size
4581
+ # @return [::Integer]
4582
+ # Optional. The maximum number of disk migration jobs to return. The service
4583
+ # may return fewer than this value. If unspecified, at most 500
4584
+ # disk migration jobs will be returned.
4585
+ # The maximum value is 1000; values above 1000 will be coerced to 1000.
4586
+ # @!attribute [rw] page_token
4587
+ # @return [::String]
4588
+ # Optional. A page token, received from a previous `ListDiskMigrationJobs`
4589
+ # call. Provide this to retrieve the subsequent page.
4590
+ #
4591
+ # When paginating, all parameters provided to `ListDiskMigrationJobs`
4592
+ # except `page_size` must match the call that provided the page token.
4593
+ # @!attribute [rw] filter
4594
+ # @return [::String]
4595
+ # Optional. The filter request (according to <a
4596
+ # href="https://google.aip.dev/160" target="_blank">AIP-160</a>).
4597
+ # @!attribute [rw] order_by
4598
+ # @return [::String]
4599
+ # Optional. Ordering of the result list.
4600
+ class ListDiskMigrationJobsRequest
4601
+ include ::Google::Protobuf::MessageExts
4602
+ extend ::Google::Protobuf::MessageExts::ClassMethods
4603
+ end
4604
+
4605
+ # Response message for 'ListDiskMigrationJobs' request.
4606
+ # @!attribute [r] disk_migration_jobs
4607
+ # @return [::Array<::Google::Cloud::VMMigration::V1::DiskMigrationJob>]
4608
+ # Output only. The list of the disk migration jobs.
4609
+ # @!attribute [r] next_page_token
4610
+ # @return [::String]
4611
+ # Optional. Output only. A token, which can be sent as `page_token` to
4612
+ # retrieve the next page. If this field is omitted, there are no subsequent
4613
+ # pages.
4614
+ # @!attribute [r] unreachable
4615
+ # @return [::Array<::String>]
4616
+ # Output only. Locations that could not be reached.
4617
+ class ListDiskMigrationJobsResponse
4618
+ include ::Google::Protobuf::MessageExts
4619
+ extend ::Google::Protobuf::MessageExts::ClassMethods
4620
+ end
4621
+
4622
+ # Request message for 'GetDiskMigrationJob' request.
4623
+ # @!attribute [rw] name
4624
+ # @return [::String]
4625
+ # Required. The name of the DiskMigrationJob.
4626
+ class GetDiskMigrationJobRequest
4627
+ include ::Google::Protobuf::MessageExts
4628
+ extend ::Google::Protobuf::MessageExts::ClassMethods
4629
+ end
4630
+
4631
+ # Request message for 'UpdateDiskMigrationJob' request.
4632
+ # @!attribute [rw] update_mask
4633
+ # @return [::Google::Protobuf::FieldMask]
4634
+ # Optional. Field mask is used to specify the fields to be overwritten in the
4635
+ # DiskMigrationJob resource by the update.
4636
+ # The fields specified in the update_mask are relative to the resource, not
4637
+ # the full request. A field will be overwritten if it is in the mask. If the
4638
+ # user does not provide a mask, then a mask equivalent to all fields that are
4639
+ # populated (have a non-empty value), will be implied.
4640
+ # @!attribute [rw] disk_migration_job
4641
+ # @return [::Google::Cloud::VMMigration::V1::DiskMigrationJob]
4642
+ # Required. The update request body.
4643
+ # @!attribute [rw] request_id
4644
+ # @return [::String]
4645
+ # Optional. A request ID to identify requests. Specify a unique request ID
4646
+ # so that if you must retry your request, the server will know to ignore
4647
+ # the request if it has already been completed. The server will guarantee
4648
+ # that for at least 60 minutes since the first request.
4649
+ #
4650
+ # For example, consider a situation where you make an initial request and
4651
+ # the request timed out. If you make the request again with the same request
4652
+ # ID, the server can check if original operation with the same request ID
4653
+ # was received, and if so, will ignore the second request. This prevents
4654
+ # clients from accidentally creating duplicate commitments.
4655
+ #
4656
+ # The request ID must be a valid UUID with the exception that zero UUID is
4657
+ # not supported (00000000-0000-0000-0000-000000000000).
4658
+ class UpdateDiskMigrationJobRequest
4659
+ include ::Google::Protobuf::MessageExts
4660
+ extend ::Google::Protobuf::MessageExts::ClassMethods
4661
+ end
4662
+
4663
+ # Request message for 'DeleteDiskMigrationJob' request.
4664
+ # @!attribute [rw] name
4665
+ # @return [::String]
4666
+ # Required. The name of the DiskMigrationJob.
4667
+ class DeleteDiskMigrationJobRequest
4668
+ include ::Google::Protobuf::MessageExts
4669
+ extend ::Google::Protobuf::MessageExts::ClassMethods
4670
+ end
4671
+
4672
+ # Request message for 'RunDiskMigrationJobRequest' request.
4673
+ # @!attribute [rw] name
4674
+ # @return [::String]
4675
+ # Required. The name of the DiskMigrationJob.
4676
+ class RunDiskMigrationJobRequest
4677
+ include ::Google::Protobuf::MessageExts
4678
+ extend ::Google::Protobuf::MessageExts::ClassMethods
4679
+ end
4680
+
4681
+ # Response message for 'RunDiskMigrationJob' request.
4682
+ class RunDiskMigrationJobResponse
4683
+ include ::Google::Protobuf::MessageExts
4684
+ extend ::Google::Protobuf::MessageExts::ClassMethods
4685
+ end
4686
+
4687
+ # Request message for 'CancelDiskMigrationJob' request.
4688
+ # @!attribute [rw] name
4689
+ # @return [::String]
4690
+ # Required. The name of the DiskMigrationJob.
4691
+ class CancelDiskMigrationJobRequest
4692
+ include ::Google::Protobuf::MessageExts
4693
+ extend ::Google::Protobuf::MessageExts::ClassMethods
4694
+ end
4695
+
4696
+ # Response message for 'CancelDiskMigrationJob' request.
4697
+ class CancelDiskMigrationJobResponse
4698
+ include ::Google::Protobuf::MessageExts
4699
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2840
4700
  end
2841
4701
 
2842
4702
  # Types of disks supported for Compute Engine VM.
@@ -2853,6 +4713,9 @@ module Google
2853
4713
  # An alternative to SSD persistent disks that balance performance and
2854
4714
  # cost.
2855
4715
  COMPUTE_ENGINE_DISK_TYPE_BALANCED = 3
4716
+
4717
+ # Hyperdisk balanced disk type.
4718
+ COMPUTE_ENGINE_DISK_TYPE_HYPERDISK_BALANCED = 4
2856
4719
  end
2857
4720
 
2858
4721
  # Types of licenses used in OS adaptation.
@@ -2878,6 +4741,88 @@ module Google
2878
4741
  # The boot option is BIOS.
2879
4742
  COMPUTE_ENGINE_BOOT_OPTION_BIOS = 2
2880
4743
  end
4744
+
4745
+ # VM operating system (OS) capabilities needed for determining compatibility
4746
+ # with Compute Engine features supported by the migration.
4747
+ module OsCapability
4748
+ # This is for API compatibility only and is not in use.
4749
+ OS_CAPABILITY_UNSPECIFIED = 0
4750
+
4751
+ # NVMe driver installed and the VM can use NVMe PD or local SSD.
4752
+ OS_CAPABILITY_NVME_STORAGE_ACCESS = 1
4753
+
4754
+ # gVNIC virtual NIC driver supported.
4755
+ OS_CAPABILITY_GVNIC_NETWORK_INTERFACE = 2
4756
+
4757
+ # IDPF virtual NIC driver supported.
4758
+ OS_CAPABILITY_IDPF_NETWORK_INTERFACE = 3
4759
+ end
4760
+
4761
+ # Possible boot options conversions.
4762
+ module BootConversion
4763
+ # Unspecified conversion type.
4764
+ BOOT_CONVERSION_UNSPECIFIED = 0
4765
+
4766
+ # No conversion.
4767
+ NONE = 1
4768
+
4769
+ # Convert from BIOS to EFI.
4770
+ BIOS_TO_EFI = 2
4771
+ end
4772
+
4773
+ # Controls the level of details of a Utilization Report.
4774
+ module UtilizationReportView
4775
+ # The default / unset value.
4776
+ # The API will default to FULL on single report request and BASIC for
4777
+ # multiple reports request.
4778
+ UTILIZATION_REPORT_VIEW_UNSPECIFIED = 0
4779
+
4780
+ # Get the report metadata, without the list of VMs and their utilization
4781
+ # info.
4782
+ BASIC = 1
4783
+
4784
+ # Include everything.
4785
+ FULL = 2
4786
+ end
4787
+
4788
+ # Controls the level of details of a Migrating VM.
4789
+ module MigratingVmView
4790
+ # View is unspecified. The API will fallback to the default value.
4791
+ MIGRATING_VM_VIEW_UNSPECIFIED = 0
4792
+
4793
+ # Get the migrating VM basic details.
4794
+ # The basic details do not include the recent clone jobs and recent cutover
4795
+ # jobs lists.
4796
+ MIGRATING_VM_VIEW_BASIC = 1
4797
+
4798
+ # Include everything.
4799
+ MIGRATING_VM_VIEW_FULL = 2
4800
+ end
4801
+
4802
+ # Possible values for the VM architecture.
4803
+ module VmArchitecture
4804
+ # The architecture is unknown.
4805
+ VM_ARCHITECTURE_UNSPECIFIED = 0
4806
+
4807
+ # The architecture is one of the x86 architectures.
4808
+ VM_ARCHITECTURE_X86_FAMILY = 1
4809
+
4810
+ # The architecture is ARM64.
4811
+ VM_ARCHITECTURE_ARM64 = 2
4812
+ end
4813
+
4814
+ # Describes the networking tier used for configuring network access
4815
+ # configuration.
4816
+ module ComputeEngineNetworkTier
4817
+ # An unspecified network tier. Will be used as PREMIUM.
4818
+ COMPUTE_ENGINE_NETWORK_TIER_UNSPECIFIED = 0
4819
+
4820
+ # A standard network tier.
4821
+ NETWORK_TIER_STANDARD = 1
4822
+
4823
+ # A premium network tier.
4824
+ NETWORK_TIER_PREMIUM = 2
4825
+ end
2881
4826
  end
2882
4827
  end
2883
4828
  end