google-apis-migrationcenter_v1alpha1 0.25.0 → 0.27.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -75,7 +75,8 @@ module Google
75
75
  # @return [Array<Google::Apis::MigrationcenterV1alpha1::Aggregation>]
76
76
  attr_accessor :aggregations
77
77
 
78
- # The aggregation will be performed on assets that match the provided filter.
78
+ # Optional. The aggregation will be performed on assets that match the provided
79
+ # filter.
79
80
  # Corresponds to the JSON property `filter`
80
81
  # @return [String]
81
82
  attr_accessor :filter
@@ -401,6 +402,16 @@ module Google
401
402
  # @return [String]
402
403
  attr_accessor :create_time
403
404
 
405
+ # The details of a database deployment asset.
406
+ # Corresponds to the JSON property `databaseDeploymentDetails`
407
+ # @return [Google::Apis::MigrationcenterV1alpha1::DatabaseDeploymentDetails]
408
+ attr_accessor :database_deployment_details
409
+
410
+ # Details of a logical database.
411
+ # Corresponds to the JSON property `databaseDetails`
412
+ # @return [Google::Apis::MigrationcenterV1alpha1::DatabaseDetails]
413
+ attr_accessor :database_details
414
+
404
415
  # Optional. Indicates if the asset is hidden.
405
416
  # Corresponds to the JSON property `hidden`
406
417
  # @return [Boolean]
@@ -442,6 +453,11 @@ module Google
442
453
  # @return [Array<String>]
443
454
  attr_accessor :sources
444
455
 
456
+ # Output only. Server generated human readable name of the asset.
457
+ # Corresponds to the JSON property `title`
458
+ # @return [String]
459
+ attr_accessor :title
460
+
445
461
  # Output only. The timestamp when the asset was last updated.
446
462
  # Corresponds to the JSON property `updateTime`
447
463
  # @return [String]
@@ -461,6 +477,8 @@ module Google
461
477
  @assigned_groups = args[:assigned_groups] if args.key?(:assigned_groups)
462
478
  @attributes = args[:attributes] if args.key?(:attributes)
463
479
  @create_time = args[:create_time] if args.key?(:create_time)
480
+ @database_deployment_details = args[:database_deployment_details] if args.key?(:database_deployment_details)
481
+ @database_details = args[:database_details] if args.key?(:database_details)
464
482
  @hidden = args[:hidden] if args.key?(:hidden)
465
483
  @hide_reason = args[:hide_reason] if args.key?(:hide_reason)
466
484
  @hide_time = args[:hide_time] if args.key?(:hide_time)
@@ -469,6 +487,7 @@ module Google
469
487
  @name = args[:name] if args.key?(:name)
470
488
  @performance_data = args[:performance_data] if args.key?(:performance_data)
471
489
  @sources = args[:sources] if args.key?(:sources)
490
+ @title = args[:title] if args.key?(:title)
472
491
  @update_time = args[:update_time] if args.key?(:update_time)
473
492
  @virtual_machine_details = args[:virtual_machine_details] if args.key?(:virtual_machine_details)
474
493
  end
@@ -483,6 +502,22 @@ module Google
483
502
  # @return [Hash<String,String>]
484
503
  attr_accessor :attributes
485
504
 
505
+ # Optional. Frame collection type, if not specified the collection type will be
506
+ # based on the source type of the source the frame was reported on.
507
+ # Corresponds to the JSON property `collectionType`
508
+ # @return [String]
509
+ attr_accessor :collection_type
510
+
511
+ # The details of a database deployment asset.
512
+ # Corresponds to the JSON property `databaseDeploymentDetails`
513
+ # @return [Google::Apis::MigrationcenterV1alpha1::DatabaseDeploymentDetails]
514
+ attr_accessor :database_deployment_details
515
+
516
+ # Details of a logical database.
517
+ # Corresponds to the JSON property `databaseDetails`
518
+ # @return [Google::Apis::MigrationcenterV1alpha1::DatabaseDetails]
519
+ attr_accessor :database_details
520
+
486
521
  # Labels as key value pairs.
487
522
  # Corresponds to the JSON property `labels`
488
523
  # @return [Hash<String,String>]
@@ -517,6 +552,9 @@ module Google
517
552
  # Update properties of this object
518
553
  def update!(**args)
519
554
  @attributes = args[:attributes] if args.key?(:attributes)
555
+ @collection_type = args[:collection_type] if args.key?(:collection_type)
556
+ @database_deployment_details = args[:database_deployment_details] if args.key?(:database_deployment_details)
557
+ @database_details = args[:database_details] if args.key?(:database_details)
520
558
  @labels = args[:labels] if args.key?(:labels)
521
559
  @performance_samples = args[:performance_samples] if args.key?(:performance_samples)
522
560
  @report_time = args[:report_time] if args.key?(:report_time)
@@ -747,6 +785,222 @@ module Google
747
785
  end
748
786
  end
749
787
 
788
+ # Cloud database migration target.
789
+ class CloudDatabaseMigrationTarget
790
+ include Google::Apis::Core::Hashable
791
+
792
+ # Cloud SQL for MySQL database shape.
793
+ # Corresponds to the JSON property `cloudSqlForMysqlShape`
794
+ # @return [Google::Apis::MigrationcenterV1alpha1::CloudSqlForMySqlShape]
795
+ attr_accessor :cloud_sql_for_mysql_shape
796
+
797
+ # Cloud SQL for Postgres database shape.
798
+ # Corresponds to the JSON property `cloudSqlForPostgresqlShape`
799
+ # @return [Google::Apis::MigrationcenterV1alpha1::CloudSqlForPostgreSqlShape]
800
+ attr_accessor :cloud_sql_for_postgresql_shape
801
+
802
+ # Cloud SQL for SQL Server database shape.
803
+ # Corresponds to the JSON property `cloudSqlShape`
804
+ # @return [Google::Apis::MigrationcenterV1alpha1::CloudSqlForSqlServerShape]
805
+ attr_accessor :cloud_sql_shape
806
+
807
+ def initialize(**args)
808
+ update!(**args)
809
+ end
810
+
811
+ # Update properties of this object
812
+ def update!(**args)
813
+ @cloud_sql_for_mysql_shape = args[:cloud_sql_for_mysql_shape] if args.key?(:cloud_sql_for_mysql_shape)
814
+ @cloud_sql_for_postgresql_shape = args[:cloud_sql_for_postgresql_shape] if args.key?(:cloud_sql_for_postgresql_shape)
815
+ @cloud_sql_shape = args[:cloud_sql_shape] if args.key?(:cloud_sql_shape)
816
+ end
817
+ end
818
+
819
+ # Cloud SQL for MySQL database shape.
820
+ class CloudSqlForMySqlShape
821
+ include Google::Apis::Core::Hashable
822
+
823
+ # Output only. Predicted backup storage size in GiB.
824
+ # Corresponds to the JSON property `backupStorageGb`
825
+ # @return [Fixnum]
826
+ attr_accessor :backup_storage_gb
827
+
828
+ # Output only. Cloud SQL edition.
829
+ # Corresponds to the JSON property `edition`
830
+ # @return [String]
831
+ attr_accessor :edition
832
+
833
+ # Output only. Predicted Network Out traffic GiB per month.
834
+ # Corresponds to the JSON property `egressGbPerMonth`
835
+ # @return [Fixnum]
836
+ attr_accessor :egress_gb_per_month
837
+
838
+ # Output only. Number of logical cores.
839
+ # Corresponds to the JSON property `logicalCoreCount`
840
+ # @return [Fixnum]
841
+ attr_accessor :logical_core_count
842
+
843
+ # Output only. Predicted amount of memory in MiB.
844
+ # Corresponds to the JSON property `memoryMb`
845
+ # @return [Fixnum]
846
+ attr_accessor :memory_mb
847
+
848
+ # Compute Engine storage option descriptor.
849
+ # Corresponds to the JSON property `storage`
850
+ # @return [Google::Apis::MigrationcenterV1alpha1::ComputeStorageDescriptor]
851
+ attr_accessor :storage
852
+
853
+ # Output only. MySQL version to be used on the Cloud SQL for MySQL instance.
854
+ # Corresponds to the JSON property `version`
855
+ # @return [String]
856
+ attr_accessor :version
857
+
858
+ # Output only. Cloud SQL zone availability.
859
+ # Corresponds to the JSON property `zoneAvailability`
860
+ # @return [String]
861
+ attr_accessor :zone_availability
862
+
863
+ def initialize(**args)
864
+ update!(**args)
865
+ end
866
+
867
+ # Update properties of this object
868
+ def update!(**args)
869
+ @backup_storage_gb = args[:backup_storage_gb] if args.key?(:backup_storage_gb)
870
+ @edition = args[:edition] if args.key?(:edition)
871
+ @egress_gb_per_month = args[:egress_gb_per_month] if args.key?(:egress_gb_per_month)
872
+ @logical_core_count = args[:logical_core_count] if args.key?(:logical_core_count)
873
+ @memory_mb = args[:memory_mb] if args.key?(:memory_mb)
874
+ @storage = args[:storage] if args.key?(:storage)
875
+ @version = args[:version] if args.key?(:version)
876
+ @zone_availability = args[:zone_availability] if args.key?(:zone_availability)
877
+ end
878
+ end
879
+
880
+ # Cloud SQL for Postgres database shape.
881
+ class CloudSqlForPostgreSqlShape
882
+ include Google::Apis::Core::Hashable
883
+
884
+ # Output only. Predicted backup storage size in GiB.
885
+ # Corresponds to the JSON property `backupStorageGb`
886
+ # @return [Fixnum]
887
+ attr_accessor :backup_storage_gb
888
+
889
+ # Output only. Cloud SQL edition.
890
+ # Corresponds to the JSON property `edition`
891
+ # @return [String]
892
+ attr_accessor :edition
893
+
894
+ # Output only. Predicted Network Out traffic GiB per month.
895
+ # Corresponds to the JSON property `egressGbPerMonth`
896
+ # @return [Fixnum]
897
+ attr_accessor :egress_gb_per_month
898
+
899
+ # Output only. Number of logical cores.
900
+ # Corresponds to the JSON property `logicalCoreCount`
901
+ # @return [Fixnum]
902
+ attr_accessor :logical_core_count
903
+
904
+ # Output only. Predicted amount of memory in MiB.
905
+ # Corresponds to the JSON property `memoryMb`
906
+ # @return [Fixnum]
907
+ attr_accessor :memory_mb
908
+
909
+ # Compute Engine storage option descriptor.
910
+ # Corresponds to the JSON property `storage`
911
+ # @return [Google::Apis::MigrationcenterV1alpha1::ComputeStorageDescriptor]
912
+ attr_accessor :storage
913
+
914
+ # Output only. PostgreSql version to be used on the Cloud SQL for PostgreSql
915
+ # instance.
916
+ # Corresponds to the JSON property `version`
917
+ # @return [String]
918
+ attr_accessor :version
919
+
920
+ # Output only. Cloud SQL zone availability.
921
+ # Corresponds to the JSON property `zoneAvailability`
922
+ # @return [String]
923
+ attr_accessor :zone_availability
924
+
925
+ def initialize(**args)
926
+ update!(**args)
927
+ end
928
+
929
+ # Update properties of this object
930
+ def update!(**args)
931
+ @backup_storage_gb = args[:backup_storage_gb] if args.key?(:backup_storage_gb)
932
+ @edition = args[:edition] if args.key?(:edition)
933
+ @egress_gb_per_month = args[:egress_gb_per_month] if args.key?(:egress_gb_per_month)
934
+ @logical_core_count = args[:logical_core_count] if args.key?(:logical_core_count)
935
+ @memory_mb = args[:memory_mb] if args.key?(:memory_mb)
936
+ @storage = args[:storage] if args.key?(:storage)
937
+ @version = args[:version] if args.key?(:version)
938
+ @zone_availability = args[:zone_availability] if args.key?(:zone_availability)
939
+ end
940
+ end
941
+
942
+ # Cloud SQL for SQL Server database shape.
943
+ class CloudSqlForSqlServerShape
944
+ include Google::Apis::Core::Hashable
945
+
946
+ # Output only. Predicted backup storage size in GiB.
947
+ # Corresponds to the JSON property `backupStorageGb`
948
+ # @return [Fixnum]
949
+ attr_accessor :backup_storage_gb
950
+
951
+ # Output only. Cloud SQL edition.
952
+ # Corresponds to the JSON property `edition`
953
+ # @return [String]
954
+ attr_accessor :edition
955
+
956
+ # Output only. Predicted Network Out traffic GiB per month.
957
+ # Corresponds to the JSON property `egressGbPerMonth`
958
+ # @return [Fixnum]
959
+ attr_accessor :egress_gb_per_month
960
+
961
+ # Output only. Number of logical cores.
962
+ # Corresponds to the JSON property `logicalCoreCount`
963
+ # @return [Fixnum]
964
+ attr_accessor :logical_core_count
965
+
966
+ # Output only. Predicted amount of memory in MiB.
967
+ # Corresponds to the JSON property `memoryMb`
968
+ # @return [Fixnum]
969
+ attr_accessor :memory_mb
970
+
971
+ # Compute Engine storage option descriptor.
972
+ # Corresponds to the JSON property `storage`
973
+ # @return [Google::Apis::MigrationcenterV1alpha1::ComputeStorageDescriptor]
974
+ attr_accessor :storage
975
+
976
+ # Output only. Microsoft SQL Server version to be used on the Cloud SQL for SQL
977
+ # server instance.
978
+ # Corresponds to the JSON property `version`
979
+ # @return [String]
980
+ attr_accessor :version
981
+
982
+ # Output only. Cloud SQL zone availability.
983
+ # Corresponds to the JSON property `zoneAvailability`
984
+ # @return [String]
985
+ attr_accessor :zone_availability
986
+
987
+ def initialize(**args)
988
+ update!(**args)
989
+ end
990
+
991
+ # Update properties of this object
992
+ def update!(**args)
993
+ @backup_storage_gb = args[:backup_storage_gb] if args.key?(:backup_storage_gb)
994
+ @edition = args[:edition] if args.key?(:edition)
995
+ @egress_gb_per_month = args[:egress_gb_per_month] if args.key?(:egress_gb_per_month)
996
+ @logical_core_count = args[:logical_core_count] if args.key?(:logical_core_count)
997
+ @memory_mb = args[:memory_mb] if args.key?(:memory_mb)
998
+ @storage = args[:storage] if args.key?(:storage)
999
+ @version = args[:version] if args.key?(:version)
1000
+ @zone_availability = args[:zone_availability] if args.key?(:zone_availability)
1001
+ end
1002
+ end
1003
+
750
1004
  # Compute engine migration target.
751
1005
  class ComputeEngineMigrationTarget
752
1006
  include Google::Apis::Core::Hashable
@@ -806,32 +1060,32 @@ module Google
806
1060
  class ComputeEngineShapeDescriptor
807
1061
  include Google::Apis::Core::Hashable
808
1062
 
809
- # Number of logical cores.
1063
+ # Output only. Number of logical cores.
810
1064
  # Corresponds to the JSON property `logicalCoreCount`
811
1065
  # @return [Fixnum]
812
1066
  attr_accessor :logical_core_count
813
1067
 
814
- # Compute Engine machine type.
1068
+ # Output only. Compute Engine machine type.
815
1069
  # Corresponds to the JSON property `machineType`
816
1070
  # @return [String]
817
1071
  attr_accessor :machine_type
818
1072
 
819
- # Memory in mebibytes.
1073
+ # Output only. Memory in mebibytes.
820
1074
  # Corresponds to the JSON property `memoryMb`
821
1075
  # @return [Fixnum]
822
1076
  attr_accessor :memory_mb
823
1077
 
824
- # Number of physical cores.
1078
+ # Output only. Number of physical cores.
825
1079
  # Corresponds to the JSON property `physicalCoreCount`
826
1080
  # @return [Fixnum]
827
1081
  attr_accessor :physical_core_count
828
1082
 
829
- # Compute Engine machine series.
1083
+ # Output only. Compute Engine machine series.
830
1084
  # Corresponds to the JSON property `series`
831
1085
  # @return [String]
832
1086
  attr_accessor :series
833
1087
 
834
- # Compute Engine storage. Never empty.
1088
+ # Output only. Compute Engine storage. Never empty.
835
1089
  # Corresponds to the JSON property `storage`
836
1090
  # @return [Array<Google::Apis::MigrationcenterV1alpha1::ComputeStorageDescriptor>]
837
1091
  attr_accessor :storage
@@ -959,14 +1213,512 @@ module Google
959
1213
  end
960
1214
  end
961
1215
 
962
- # Statistical aggregation of CPU usage.
963
- class DailyResourceUsageAggregationCpu
1216
+ # Statistical aggregation of CPU usage.
1217
+ class DailyResourceUsageAggregationCpu
1218
+ include Google::Apis::Core::Hashable
1219
+
1220
+ # Statistical aggregation of samples for a single resource usage.
1221
+ # Corresponds to the JSON property `utilizationPercentage`
1222
+ # @return [Google::Apis::MigrationcenterV1alpha1::DailyResourceUsageAggregationStats]
1223
+ attr_accessor :utilization_percentage
1224
+
1225
+ def initialize(**args)
1226
+ update!(**args)
1227
+ end
1228
+
1229
+ # Update properties of this object
1230
+ def update!(**args)
1231
+ @utilization_percentage = args[:utilization_percentage] if args.key?(:utilization_percentage)
1232
+ end
1233
+ end
1234
+
1235
+ # Statistical aggregation of disk usage.
1236
+ class DailyResourceUsageAggregationDisk
1237
+ include Google::Apis::Core::Hashable
1238
+
1239
+ # Statistical aggregation of samples for a single resource usage.
1240
+ # Corresponds to the JSON property `iops`
1241
+ # @return [Google::Apis::MigrationcenterV1alpha1::DailyResourceUsageAggregationStats]
1242
+ attr_accessor :iops
1243
+
1244
+ # Statistical aggregation of samples for a single resource usage.
1245
+ # Corresponds to the JSON property `readIops`
1246
+ # @return [Google::Apis::MigrationcenterV1alpha1::DailyResourceUsageAggregationStats]
1247
+ attr_accessor :read_iops
1248
+
1249
+ # Statistical aggregation of samples for a single resource usage.
1250
+ # Corresponds to the JSON property `writeIops`
1251
+ # @return [Google::Apis::MigrationcenterV1alpha1::DailyResourceUsageAggregationStats]
1252
+ attr_accessor :write_iops
1253
+
1254
+ def initialize(**args)
1255
+ update!(**args)
1256
+ end
1257
+
1258
+ # Update properties of this object
1259
+ def update!(**args)
1260
+ @iops = args[:iops] if args.key?(:iops)
1261
+ @read_iops = args[:read_iops] if args.key?(:read_iops)
1262
+ @write_iops = args[:write_iops] if args.key?(:write_iops)
1263
+ end
1264
+ end
1265
+
1266
+ # Statistical aggregation of memory usage.
1267
+ class DailyResourceUsageAggregationMemory
1268
+ include Google::Apis::Core::Hashable
1269
+
1270
+ # Statistical aggregation of samples for a single resource usage.
1271
+ # Corresponds to the JSON property `utilizationPercentage`
1272
+ # @return [Google::Apis::MigrationcenterV1alpha1::DailyResourceUsageAggregationStats]
1273
+ attr_accessor :utilization_percentage
1274
+
1275
+ def initialize(**args)
1276
+ update!(**args)
1277
+ end
1278
+
1279
+ # Update properties of this object
1280
+ def update!(**args)
1281
+ @utilization_percentage = args[:utilization_percentage] if args.key?(:utilization_percentage)
1282
+ end
1283
+ end
1284
+
1285
+ # Statistical aggregation of network usage.
1286
+ class DailyResourceUsageAggregationNetwork
1287
+ include Google::Apis::Core::Hashable
1288
+
1289
+ # Statistical aggregation of samples for a single resource usage.
1290
+ # Corresponds to the JSON property `egressBps`
1291
+ # @return [Google::Apis::MigrationcenterV1alpha1::DailyResourceUsageAggregationStats]
1292
+ attr_accessor :egress_bps
1293
+
1294
+ # Statistical aggregation of samples for a single resource usage.
1295
+ # Corresponds to the JSON property `ingressBps`
1296
+ # @return [Google::Apis::MigrationcenterV1alpha1::DailyResourceUsageAggregationStats]
1297
+ attr_accessor :ingress_bps
1298
+
1299
+ def initialize(**args)
1300
+ update!(**args)
1301
+ end
1302
+
1303
+ # Update properties of this object
1304
+ def update!(**args)
1305
+ @egress_bps = args[:egress_bps] if args.key?(:egress_bps)
1306
+ @ingress_bps = args[:ingress_bps] if args.key?(:ingress_bps)
1307
+ end
1308
+ end
1309
+
1310
+ # Statistical aggregation of samples for a single resource usage.
1311
+ class DailyResourceUsageAggregationStats
1312
+ include Google::Apis::Core::Hashable
1313
+
1314
+ # Average usage value.
1315
+ # Corresponds to the JSON property `average`
1316
+ # @return [Float]
1317
+ attr_accessor :average
1318
+
1319
+ # Median usage value.
1320
+ # Corresponds to the JSON property `median`
1321
+ # @return [Float]
1322
+ attr_accessor :median
1323
+
1324
+ # 95th percentile usage value.
1325
+ # Corresponds to the JSON property `ninteyFifthPercentile`
1326
+ # @return [Float]
1327
+ attr_accessor :nintey_fifth_percentile
1328
+
1329
+ # Peak usage value.
1330
+ # Corresponds to the JSON property `peak`
1331
+ # @return [Float]
1332
+ attr_accessor :peak
1333
+
1334
+ def initialize(**args)
1335
+ update!(**args)
1336
+ end
1337
+
1338
+ # Update properties of this object
1339
+ def update!(**args)
1340
+ @average = args[:average] if args.key?(:average)
1341
+ @median = args[:median] if args.key?(:median)
1342
+ @nintey_fifth_percentile = args[:nintey_fifth_percentile] if args.key?(:nintey_fifth_percentile)
1343
+ @peak = args[:peak] if args.key?(:peak)
1344
+ end
1345
+ end
1346
+
1347
+ # The details of a database deployment asset.
1348
+ class DatabaseDeploymentDetails
1349
+ include Google::Apis::Core::Hashable
1350
+
1351
+ # Aggregated stats for the database deployment.
1352
+ # Corresponds to the JSON property `aggregatedStats`
1353
+ # @return [Google::Apis::MigrationcenterV1alpha1::DatabaseDeploymentDetailsAggregatedStats]
1354
+ attr_accessor :aggregated_stats
1355
+
1356
+ # The database deployment edition.
1357
+ # Corresponds to the JSON property `edition`
1358
+ # @return [String]
1359
+ attr_accessor :edition
1360
+
1361
+ # The database deployment generated ID.
1362
+ # Corresponds to the JSON property `generatedId`
1363
+ # @return [String]
1364
+ attr_accessor :generated_id
1365
+
1366
+ # A manual unique ID set by the user.
1367
+ # Corresponds to the JSON property `manualUniqueId`
1368
+ # @return [String]
1369
+ attr_accessor :manual_unique_id
1370
+
1371
+ # Specific details for a Mysql database deployment.
1372
+ # Corresponds to the JSON property `mysql`
1373
+ # @return [Google::Apis::MigrationcenterV1alpha1::MysqlDatabaseDeployment]
1374
+ attr_accessor :mysql
1375
+
1376
+ # Specific details for a PostgreSQL database deployment.
1377
+ # Corresponds to the JSON property `postgresql`
1378
+ # @return [Google::Apis::MigrationcenterV1alpha1::PostgreSqlDatabaseDeployment]
1379
+ attr_accessor :postgresql
1380
+
1381
+ # Specific details for a Microsoft SQL Server database deployment.
1382
+ # Corresponds to the JSON property `sqlServer`
1383
+ # @return [Google::Apis::MigrationcenterV1alpha1::SqlServerDatabaseDeployment]
1384
+ attr_accessor :sql_server
1385
+
1386
+ # Details of database deployment's topology.
1387
+ # Corresponds to the JSON property `topology`
1388
+ # @return [Google::Apis::MigrationcenterV1alpha1::DatabaseDeploymentTopology]
1389
+ attr_accessor :topology
1390
+
1391
+ # The database deployment version.
1392
+ # Corresponds to the JSON property `version`
1393
+ # @return [String]
1394
+ attr_accessor :version
1395
+
1396
+ def initialize(**args)
1397
+ update!(**args)
1398
+ end
1399
+
1400
+ # Update properties of this object
1401
+ def update!(**args)
1402
+ @aggregated_stats = args[:aggregated_stats] if args.key?(:aggregated_stats)
1403
+ @edition = args[:edition] if args.key?(:edition)
1404
+ @generated_id = args[:generated_id] if args.key?(:generated_id)
1405
+ @manual_unique_id = args[:manual_unique_id] if args.key?(:manual_unique_id)
1406
+ @mysql = args[:mysql] if args.key?(:mysql)
1407
+ @postgresql = args[:postgresql] if args.key?(:postgresql)
1408
+ @sql_server = args[:sql_server] if args.key?(:sql_server)
1409
+ @topology = args[:topology] if args.key?(:topology)
1410
+ @version = args[:version] if args.key?(:version)
1411
+ end
1412
+ end
1413
+
1414
+ # Aggregated stats for the database deployment.
1415
+ class DatabaseDeploymentDetailsAggregatedStats
1416
+ include Google::Apis::Core::Hashable
1417
+
1418
+ # Output only. The number of databases in the deployment.
1419
+ # Corresponds to the JSON property `databaseCount`
1420
+ # @return [Fixnum]
1421
+ attr_accessor :database_count
1422
+
1423
+ def initialize(**args)
1424
+ update!(**args)
1425
+ end
1426
+
1427
+ # Update properties of this object
1428
+ def update!(**args)
1429
+ @database_count = args[:database_count] if args.key?(:database_count)
1430
+ end
1431
+ end
1432
+
1433
+ # Details of database deployment's topology.
1434
+ class DatabaseDeploymentTopology
1435
+ include Google::Apis::Core::Hashable
1436
+
1437
+ # Optional. Number of total cores.
1438
+ # Corresponds to the JSON property `coreCount`
1439
+ # @return [Fixnum]
1440
+ attr_accessor :core_count
1441
+
1442
+ # Optional. Number of total cores limited by db deployment.
1443
+ # Corresponds to the JSON property `coreLimit`
1444
+ # @return [Fixnum]
1445
+ attr_accessor :core_limit
1446
+
1447
+ # Optional. Disk allocated in bytes.
1448
+ # Corresponds to the JSON property `diskAllocatedBytes`
1449
+ # @return [Fixnum]
1450
+ attr_accessor :disk_allocated_bytes
1451
+
1452
+ # Optional. Disk used in bytes.
1453
+ # Corresponds to the JSON property `diskUsedBytes`
1454
+ # @return [Fixnum]
1455
+ attr_accessor :disk_used_bytes
1456
+
1457
+ # Optional. List of database instances.
1458
+ # Corresponds to the JSON property `instances`
1459
+ # @return [Array<Google::Apis::MigrationcenterV1alpha1::DatabaseInstance>]
1460
+ attr_accessor :instances
1461
+
1462
+ # Optional. Total memory in bytes.
1463
+ # Corresponds to the JSON property `memoryBytes`
1464
+ # @return [Fixnum]
1465
+ attr_accessor :memory_bytes
1466
+
1467
+ # Optional. Total memory in bytes limited by db deployment.
1468
+ # Corresponds to the JSON property `memoryLimitBytes`
1469
+ # @return [Fixnum]
1470
+ attr_accessor :memory_limit_bytes
1471
+
1472
+ def initialize(**args)
1473
+ update!(**args)
1474
+ end
1475
+
1476
+ # Update properties of this object
1477
+ def update!(**args)
1478
+ @core_count = args[:core_count] if args.key?(:core_count)
1479
+ @core_limit = args[:core_limit] if args.key?(:core_limit)
1480
+ @disk_allocated_bytes = args[:disk_allocated_bytes] if args.key?(:disk_allocated_bytes)
1481
+ @disk_used_bytes = args[:disk_used_bytes] if args.key?(:disk_used_bytes)
1482
+ @instances = args[:instances] if args.key?(:instances)
1483
+ @memory_bytes = args[:memory_bytes] if args.key?(:memory_bytes)
1484
+ @memory_limit_bytes = args[:memory_limit_bytes] if args.key?(:memory_limit_bytes)
1485
+ end
1486
+ end
1487
+
1488
+ # Details of a logical database.
1489
+ class DatabaseDetails
1490
+ include Google::Apis::Core::Hashable
1491
+
1492
+ # The allocated storage for the database in bytes.
1493
+ # Corresponds to the JSON property `allocatedStorageBytes`
1494
+ # @return [Fixnum]
1495
+ attr_accessor :allocated_storage_bytes
1496
+
1497
+ # The name of the database.
1498
+ # Corresponds to the JSON property `databaseName`
1499
+ # @return [String]
1500
+ attr_accessor :database_name
1501
+
1502
+ # The identifiers of the parent database deployment.
1503
+ # Corresponds to the JSON property `parentDatabaseDeployment`
1504
+ # @return [Google::Apis::MigrationcenterV1alpha1::DatabaseDetailsParentDatabaseDeployment]
1505
+ attr_accessor :parent_database_deployment
1506
+
1507
+ # The database schemas.
1508
+ # Corresponds to the JSON property `schemas`
1509
+ # @return [Array<Google::Apis::MigrationcenterV1alpha1::DatabaseSchema>]
1510
+ attr_accessor :schemas
1511
+
1512
+ def initialize(**args)
1513
+ update!(**args)
1514
+ end
1515
+
1516
+ # Update properties of this object
1517
+ def update!(**args)
1518
+ @allocated_storage_bytes = args[:allocated_storage_bytes] if args.key?(:allocated_storage_bytes)
1519
+ @database_name = args[:database_name] if args.key?(:database_name)
1520
+ @parent_database_deployment = args[:parent_database_deployment] if args.key?(:parent_database_deployment)
1521
+ @schemas = args[:schemas] if args.key?(:schemas)
1522
+ end
1523
+ end
1524
+
1525
+ # The identifiers of the parent database deployment.
1526
+ class DatabaseDetailsParentDatabaseDeployment
1527
+ include Google::Apis::Core::Hashable
1528
+
1529
+ # The parent database deployment generated ID.
1530
+ # Corresponds to the JSON property `generatedId`
1531
+ # @return [String]
1532
+ attr_accessor :generated_id
1533
+
1534
+ # The parent database deployment optional manual unique ID set by the user.
1535
+ # Corresponds to the JSON property `manualUniqueId`
1536
+ # @return [String]
1537
+ attr_accessor :manual_unique_id
1538
+
1539
+ def initialize(**args)
1540
+ update!(**args)
1541
+ end
1542
+
1543
+ # Update properties of this object
1544
+ def update!(**args)
1545
+ @generated_id = args[:generated_id] if args.key?(:generated_id)
1546
+ @manual_unique_id = args[:manual_unique_id] if args.key?(:manual_unique_id)
1547
+ end
1548
+ end
1549
+
1550
+ # Details of a database instance.
1551
+ class DatabaseInstance
1552
+ include Google::Apis::Core::Hashable
1553
+
1554
+ # Optional. The instance's hosts.
1555
+ # Corresponds to the JSON property `hosts`
1556
+ # @return [Array<Google::Apis::MigrationcenterV1alpha1::DatabaseInstanceHost>]
1557
+ attr_accessor :hosts
1558
+
1559
+ # The instance's name.
1560
+ # Corresponds to the JSON property `instanceName`
1561
+ # @return [String]
1562
+ attr_accessor :instance_name
1563
+
1564
+ # The instance role in the database engine.
1565
+ # Corresponds to the JSON property `role`
1566
+ # @return [String]
1567
+ attr_accessor :role
1568
+
1569
+ def initialize(**args)
1570
+ update!(**args)
1571
+ end
1572
+
1573
+ # Update properties of this object
1574
+ def update!(**args)
1575
+ @hosts = args[:hosts] if args.key?(:hosts)
1576
+ @instance_name = args[:instance_name] if args.key?(:instance_name)
1577
+ @role = args[:role] if args.key?(:role)
1578
+ end
1579
+ end
1580
+
1581
+ # Details of a host of a database instance.
1582
+ class DatabaseInstanceHost
1583
+ include Google::Apis::Core::Hashable
1584
+
1585
+ # Optional. The host name of the host.
1586
+ # Corresponds to the JSON property `hostName`
1587
+ # @return [String]
1588
+ attr_accessor :host_name
1589
+
1590
+ def initialize(**args)
1591
+ update!(**args)
1592
+ end
1593
+
1594
+ # Update properties of this object
1595
+ def update!(**args)
1596
+ @host_name = args[:host_name] if args.key?(:host_name)
1597
+ end
1598
+ end
1599
+
1600
+ # Details of a group of database objects.
1601
+ class DatabaseObjects
1602
+ include Google::Apis::Core::Hashable
1603
+
1604
+ # The category of the objects.
1605
+ # Corresponds to the JSON property `category`
1606
+ # @return [String]
1607
+ attr_accessor :category
1608
+
1609
+ # The number of objects.
1610
+ # Corresponds to the JSON property `count`
1611
+ # @return [Fixnum]
1612
+ attr_accessor :count
1613
+
1614
+ def initialize(**args)
1615
+ update!(**args)
1616
+ end
1617
+
1618
+ # Update properties of this object
1619
+ def update!(**args)
1620
+ @category = args[:category] if args.key?(:category)
1621
+ @count = args[:count] if args.key?(:count)
1622
+ end
1623
+ end
1624
+
1625
+ # DatabasePreferences enables you to create sets of preferences for your
1626
+ # migrated databases.
1627
+ class DatabasePreferences
1628
+ include Google::Apis::Core::Hashable
1629
+
1630
+ # Preferences for SQL Server on Cloud SQL.
1631
+ # Corresponds to the JSON property `mssqlToCloudSqlForSqlServerPreferences`
1632
+ # @return [Google::Apis::MigrationcenterV1alpha1::DatabasePreferencesCloudSqlSqlServer]
1633
+ attr_accessor :mssql_to_cloud_sql_for_sql_server_preferences
1634
+
1635
+ # Preferences for MySQL on Cloud SQL.
1636
+ # Corresponds to the JSON property `mysqlToCloudSqlForMysqlPreferences`
1637
+ # @return [Google::Apis::MigrationcenterV1alpha1::DatabasePreferencesCloudSqlMySql]
1638
+ attr_accessor :mysql_to_cloud_sql_for_mysql_preferences
1639
+
1640
+ # Preferences for PostgreSQL on Cloud SQL.
1641
+ # Corresponds to the JSON property `postgresqlToCloudSqlForPostgresqlPreferences`
1642
+ # @return [Google::Apis::MigrationcenterV1alpha1::DatabasePreferencesCloudSqlPostgreSql]
1643
+ attr_accessor :postgresql_to_cloud_sql_for_postgresql_preferences
1644
+
1645
+ def initialize(**args)
1646
+ update!(**args)
1647
+ end
1648
+
1649
+ # Update properties of this object
1650
+ def update!(**args)
1651
+ @mssql_to_cloud_sql_for_sql_server_preferences = args[:mssql_to_cloud_sql_for_sql_server_preferences] if args.key?(:mssql_to_cloud_sql_for_sql_server_preferences)
1652
+ @mysql_to_cloud_sql_for_mysql_preferences = args[:mysql_to_cloud_sql_for_mysql_preferences] if args.key?(:mysql_to_cloud_sql_for_mysql_preferences)
1653
+ @postgresql_to_cloud_sql_for_postgresql_preferences = args[:postgresql_to_cloud_sql_for_postgresql_preferences] if args.key?(:postgresql_to_cloud_sql_for_postgresql_preferences)
1654
+ end
1655
+ end
1656
+
1657
+ # Preferences common to Cloud SQL databases.
1658
+ class DatabasePreferencesCloudSqlCommon
1659
+ include Google::Apis::Core::Hashable
1660
+
1661
+ # Preferences for database backups.
1662
+ # Corresponds to the JSON property `backup`
1663
+ # @return [Google::Apis::MigrationcenterV1alpha1::DatabasePreferencesCloudSqlCommonBackup]
1664
+ attr_accessor :backup
1665
+
1666
+ # Optional. Commitment plan to consider when calculating costs. Only regular
1667
+ # CUDs (not flexible) are currently available.
1668
+ # Corresponds to the JSON property `commitmentPlan`
1669
+ # @return [String]
1670
+ attr_accessor :commitment_plan
1671
+
1672
+ # Optional. Cloud SQL edition. For SQL Server, only Enterprise is available.
1673
+ # Corresponds to the JSON property `edition`
1674
+ # @return [String]
1675
+ attr_accessor :edition
1676
+
1677
+ # Optional. Persistent disk type to use. If unspecified, a disk type is
1678
+ # recommended based on available usage data. For SQL Server, only SSD is
1679
+ # available. For MySQL and PostgreSQL, only STANDARD (HDD) and SSD types are
1680
+ # available.
1681
+ # Corresponds to the JSON property `persistentDiskType`
1682
+ # @return [String]
1683
+ attr_accessor :persistent_disk_type
1684
+
1685
+ # Optional. Sizing optimization strategy of the database. Currently supported
1686
+ # for Cloud SQL are just two values: SIZING_OPTIMIZATION_STRATEGY_MODERATE and
1687
+ # SIZING_OPTIMIZATION_STRATEGY_SAME_AS_SOURCE.
1688
+ # SIZING_OPTIMIZATION_STRATEGY_UNSPECIFIED will behave like
1689
+ # SIZING_OPTIMIZATION_STRATEGY_MODERATE.
1690
+ # Corresponds to the JSON property `sizingOptimizationStrategy`
1691
+ # @return [String]
1692
+ attr_accessor :sizing_optimization_strategy
1693
+
1694
+ # Optional. Preferred zone availability.
1695
+ # Corresponds to the JSON property `zoneAvailability`
1696
+ # @return [String]
1697
+ attr_accessor :zone_availability
1698
+
1699
+ def initialize(**args)
1700
+ update!(**args)
1701
+ end
1702
+
1703
+ # Update properties of this object
1704
+ def update!(**args)
1705
+ @backup = args[:backup] if args.key?(:backup)
1706
+ @commitment_plan = args[:commitment_plan] if args.key?(:commitment_plan)
1707
+ @edition = args[:edition] if args.key?(:edition)
1708
+ @persistent_disk_type = args[:persistent_disk_type] if args.key?(:persistent_disk_type)
1709
+ @sizing_optimization_strategy = args[:sizing_optimization_strategy] if args.key?(:sizing_optimization_strategy)
1710
+ @zone_availability = args[:zone_availability] if args.key?(:zone_availability)
1711
+ end
1712
+ end
1713
+
1714
+ # Preferences for database backups.
1715
+ class DatabasePreferencesCloudSqlCommonBackup
964
1716
  include Google::Apis::Core::Hashable
965
1717
 
966
- # Statistical aggregation of samples for a single resource usage.
967
- # Corresponds to the JSON property `utilizationPercentage`
968
- # @return [Google::Apis::MigrationcenterV1alpha1::DailyResourceUsageAggregationStats]
969
- attr_accessor :utilization_percentage
1718
+ # Optional. Mode of automated backups.
1719
+ # Corresponds to the JSON property `backupMode`
1720
+ # @return [String]
1721
+ attr_accessor :backup_mode
970
1722
 
971
1723
  def initialize(**args)
972
1724
  update!(**args)
@@ -974,18 +1726,18 @@ module Google
974
1726
 
975
1727
  # Update properties of this object
976
1728
  def update!(**args)
977
- @utilization_percentage = args[:utilization_percentage] if args.key?(:utilization_percentage)
1729
+ @backup_mode = args[:backup_mode] if args.key?(:backup_mode)
978
1730
  end
979
1731
  end
980
1732
 
981
- # Statistical aggregation of disk usage.
982
- class DailyResourceUsageAggregationDisk
1733
+ # Preferences for MySQL on Cloud SQL.
1734
+ class DatabasePreferencesCloudSqlMySql
983
1735
  include Google::Apis::Core::Hashable
984
1736
 
985
- # Statistical aggregation of samples for a single resource usage.
986
- # Corresponds to the JSON property `iops`
987
- # @return [Google::Apis::MigrationcenterV1alpha1::DailyResourceUsageAggregationStats]
988
- attr_accessor :iops
1737
+ # Preferences common to Cloud SQL databases.
1738
+ # Corresponds to the JSON property `common`
1739
+ # @return [Google::Apis::MigrationcenterV1alpha1::DatabasePreferencesCloudSqlCommon]
1740
+ attr_accessor :common
989
1741
 
990
1742
  def initialize(**args)
991
1743
  update!(**args)
@@ -993,18 +1745,18 @@ module Google
993
1745
 
994
1746
  # Update properties of this object
995
1747
  def update!(**args)
996
- @iops = args[:iops] if args.key?(:iops)
1748
+ @common = args[:common] if args.key?(:common)
997
1749
  end
998
1750
  end
999
1751
 
1000
- # Statistical aggregation of memory usage.
1001
- class DailyResourceUsageAggregationMemory
1752
+ # Preferences for PostgreSQL on Cloud SQL.
1753
+ class DatabasePreferencesCloudSqlPostgreSql
1002
1754
  include Google::Apis::Core::Hashable
1003
1755
 
1004
- # Statistical aggregation of samples for a single resource usage.
1005
- # Corresponds to the JSON property `utilizationPercentage`
1006
- # @return [Google::Apis::MigrationcenterV1alpha1::DailyResourceUsageAggregationStats]
1007
- attr_accessor :utilization_percentage
1756
+ # Preferences common to Cloud SQL databases.
1757
+ # Corresponds to the JSON property `common`
1758
+ # @return [Google::Apis::MigrationcenterV1alpha1::DatabasePreferencesCloudSqlCommon]
1759
+ attr_accessor :common
1008
1760
 
1009
1761
  def initialize(**args)
1010
1762
  update!(**args)
@@ -1012,23 +1764,29 @@ module Google
1012
1764
 
1013
1765
  # Update properties of this object
1014
1766
  def update!(**args)
1015
- @utilization_percentage = args[:utilization_percentage] if args.key?(:utilization_percentage)
1767
+ @common = args[:common] if args.key?(:common)
1016
1768
  end
1017
1769
  end
1018
1770
 
1019
- # Statistical aggregation of network usage.
1020
- class DailyResourceUsageAggregationNetwork
1771
+ # Preferences for SQL Server on Cloud SQL.
1772
+ class DatabasePreferencesCloudSqlSqlServer
1021
1773
  include Google::Apis::Core::Hashable
1022
1774
 
1023
- # Statistical aggregation of samples for a single resource usage.
1024
- # Corresponds to the JSON property `egressBps`
1025
- # @return [Google::Apis::MigrationcenterV1alpha1::DailyResourceUsageAggregationStats]
1026
- attr_accessor :egress_bps
1775
+ # Preferences common to Cloud SQL databases.
1776
+ # Corresponds to the JSON property `common`
1777
+ # @return [Google::Apis::MigrationcenterV1alpha1::DatabasePreferencesCloudSqlCommon]
1778
+ attr_accessor :common
1027
1779
 
1028
- # Statistical aggregation of samples for a single resource usage.
1029
- # Corresponds to the JSON property `ingressBps`
1030
- # @return [Google::Apis::MigrationcenterV1alpha1::DailyResourceUsageAggregationStats]
1031
- attr_accessor :ingress_bps
1780
+ # Optional. Preferences for multithreading support.
1781
+ # Corresponds to the JSON property `multithreading`
1782
+ # @return [String]
1783
+ attr_accessor :multithreading
1784
+
1785
+ # Optional. Edition of Microsoft SQL version that is used on a Cloud SQL for SQL
1786
+ # server instance.
1787
+ # Corresponds to the JSON property `versionType`
1788
+ # @return [String]
1789
+ attr_accessor :version_type
1032
1790
 
1033
1791
  def initialize(**args)
1034
1792
  update!(**args)
@@ -1036,34 +1794,30 @@ module Google
1036
1794
 
1037
1795
  # Update properties of this object
1038
1796
  def update!(**args)
1039
- @egress_bps = args[:egress_bps] if args.key?(:egress_bps)
1040
- @ingress_bps = args[:ingress_bps] if args.key?(:ingress_bps)
1797
+ @common = args[:common] if args.key?(:common)
1798
+ @multithreading = args[:multithreading] if args.key?(:multithreading)
1799
+ @version_type = args[:version_type] if args.key?(:version_type)
1041
1800
  end
1042
1801
  end
1043
1802
 
1044
- # Statistical aggregation of samples for a single resource usage.
1045
- class DailyResourceUsageAggregationStats
1803
+ # Details of a database schema.
1804
+ class DatabaseSchema
1046
1805
  include Google::Apis::Core::Hashable
1047
1806
 
1048
- # Average usage value.
1049
- # Corresponds to the JSON property `average`
1050
- # @return [Float]
1051
- attr_accessor :average
1052
-
1053
- # Median usage value.
1054
- # Corresponds to the JSON property `median`
1055
- # @return [Float]
1056
- attr_accessor :median
1807
+ # List of details of objects by category.
1808
+ # Corresponds to the JSON property `objects`
1809
+ # @return [Array<Google::Apis::MigrationcenterV1alpha1::DatabaseObjects>]
1810
+ attr_accessor :objects
1057
1811
 
1058
- # 95th percentile usage value.
1059
- # Corresponds to the JSON property `ninteyFifthPercentile`
1060
- # @return [Float]
1061
- attr_accessor :nintey_fifth_percentile
1812
+ # The name of the schema.
1813
+ # Corresponds to the JSON property `schemaName`
1814
+ # @return [String]
1815
+ attr_accessor :schema_name
1062
1816
 
1063
- # Peak usage value.
1064
- # Corresponds to the JSON property `peak`
1065
- # @return [Float]
1066
- attr_accessor :peak
1817
+ # The total size of tables in bytes.
1818
+ # Corresponds to the JSON property `tablesSizeBytes`
1819
+ # @return [Fixnum]
1820
+ attr_accessor :tables_size_bytes
1067
1821
 
1068
1822
  def initialize(**args)
1069
1823
  update!(**args)
@@ -1071,10 +1825,9 @@ module Google
1071
1825
 
1072
1826
  # Update properties of this object
1073
1827
  def update!(**args)
1074
- @average = args[:average] if args.key?(:average)
1075
- @median = args[:median] if args.key?(:median)
1076
- @nintey_fifth_percentile = args[:nintey_fifth_percentile] if args.key?(:nintey_fifth_percentile)
1077
- @peak = args[:peak] if args.key?(:peak)
1828
+ @objects = args[:objects] if args.key?(:objects)
1829
+ @schema_name = args[:schema_name] if args.key?(:schema_name)
1830
+ @tables_size_bytes = args[:tables_size_bytes] if args.key?(:tables_size_bytes)
1078
1831
  end
1079
1832
  end
1080
1833
 
@@ -1234,6 +1987,115 @@ module Google
1234
1987
  end
1235
1988
  end
1236
1989
 
1990
+ # Represents an installed Migration Center Discovery Client instance.
1991
+ class DiscoveryClient
1992
+ include Google::Apis::Core::Hashable
1993
+
1994
+ # Output only. Time when the discovery client was first created.
1995
+ # Corresponds to the JSON property `createTime`
1996
+ # @return [String]
1997
+ attr_accessor :create_time
1998
+
1999
+ # Optional. Free text description. Maximum length is 1000 characters.
2000
+ # Corresponds to the JSON property `description`
2001
+ # @return [String]
2002
+ attr_accessor :description
2003
+
2004
+ # Optional. Free text display name. Maximum length is 63 characters.
2005
+ # Corresponds to the JSON property `displayName`
2006
+ # @return [String]
2007
+ attr_accessor :display_name
2008
+
2009
+ # Output only. Errors affecting client functionality.
2010
+ # Corresponds to the JSON property `errors`
2011
+ # @return [Array<Google::Apis::MigrationcenterV1alpha1::Status>]
2012
+ attr_accessor :errors
2013
+
2014
+ # Optional. Client expiration time in UTC. If specified, the backend will not
2015
+ # accept new frames after this time.
2016
+ # Corresponds to the JSON property `expireTime`
2017
+ # @return [String]
2018
+ attr_accessor :expire_time
2019
+
2020
+ # Output only. Last heartbeat time. Healthy clients are expected to send
2021
+ # heartbeats regularly (normally every few minutes).
2022
+ # Corresponds to the JSON property `heartbeatTime`
2023
+ # @return [String]
2024
+ attr_accessor :heartbeat_time
2025
+
2026
+ # Optional. Labels as key value pairs.
2027
+ # Corresponds to the JSON property `labels`
2028
+ # @return [Hash<String,String>]
2029
+ attr_accessor :labels
2030
+
2031
+ # Output only. Identifier. Full name of this discovery client.
2032
+ # Corresponds to the JSON property `name`
2033
+ # @return [String]
2034
+ attr_accessor :name
2035
+
2036
+ # Required. Service account used by the discovery client for various operation.
2037
+ # Corresponds to the JSON property `serviceAccount`
2038
+ # @return [String]
2039
+ attr_accessor :service_account
2040
+
2041
+ # Output only. This field is intended for internal use.
2042
+ # Corresponds to the JSON property `signalsEndpoint`
2043
+ # @return [String]
2044
+ attr_accessor :signals_endpoint
2045
+
2046
+ # Required. Full name of the source object associated with this discovery client.
2047
+ # Corresponds to the JSON property `source`
2048
+ # @return [String]
2049
+ attr_accessor :source
2050
+
2051
+ # Output only. Current state of the discovery client.
2052
+ # Corresponds to the JSON property `state`
2053
+ # @return [String]
2054
+ attr_accessor :state
2055
+
2056
+ # Optional. Input only. Client time-to-live. If specified, the backend will not
2057
+ # accept new frames after this time. This field is input only. The derived
2058
+ # expiration time is provided as output through the `expire_time` field.
2059
+ # Corresponds to the JSON property `ttl`
2060
+ # @return [String]
2061
+ attr_accessor :ttl
2062
+
2063
+ # Output only. Time when the discovery client was last updated. This value is
2064
+ # not updated by heartbeats, to view the last heartbeat time please refer to the
2065
+ # `heartbeat_time` field.
2066
+ # Corresponds to the JSON property `updateTime`
2067
+ # @return [String]
2068
+ attr_accessor :update_time
2069
+
2070
+ # Output only. Client version, as reported in recent heartbeat.
2071
+ # Corresponds to the JSON property `version`
2072
+ # @return [String]
2073
+ attr_accessor :version
2074
+
2075
+ def initialize(**args)
2076
+ update!(**args)
2077
+ end
2078
+
2079
+ # Update properties of this object
2080
+ def update!(**args)
2081
+ @create_time = args[:create_time] if args.key?(:create_time)
2082
+ @description = args[:description] if args.key?(:description)
2083
+ @display_name = args[:display_name] if args.key?(:display_name)
2084
+ @errors = args[:errors] if args.key?(:errors)
2085
+ @expire_time = args[:expire_time] if args.key?(:expire_time)
2086
+ @heartbeat_time = args[:heartbeat_time] if args.key?(:heartbeat_time)
2087
+ @labels = args[:labels] if args.key?(:labels)
2088
+ @name = args[:name] if args.key?(:name)
2089
+ @service_account = args[:service_account] if args.key?(:service_account)
2090
+ @signals_endpoint = args[:signals_endpoint] if args.key?(:signals_endpoint)
2091
+ @source = args[:source] if args.key?(:source)
2092
+ @state = args[:state] if args.key?(:state)
2093
+ @ttl = args[:ttl] if args.key?(:ttl)
2094
+ @update_time = args[:update_time] if args.key?(:update_time)
2095
+ @version = args[:version] if args.key?(:version)
2096
+ end
2097
+ end
2098
+
1237
2099
  # Single disk entry.
1238
2100
  class DiskEntry
1239
2101
  include Google::Apis::Core::Hashable
@@ -1405,6 +2267,16 @@ module Google
1405
2267
  # @return [Float]
1406
2268
  attr_accessor :average_iops
1407
2269
 
2270
+ # Average read IOPS sampled over a short window. Must be non-negative.
2271
+ # Corresponds to the JSON property `averageReadIops`
2272
+ # @return [Float]
2273
+ attr_accessor :average_read_iops
2274
+
2275
+ # Average write IOPS sampled over a short window. Must be non-negative.
2276
+ # Corresponds to the JSON property `averageWriteIops`
2277
+ # @return [Float]
2278
+ attr_accessor :average_write_iops
2279
+
1408
2280
  def initialize(**args)
1409
2281
  update!(**args)
1410
2282
  end
@@ -1412,6 +2284,8 @@ module Google
1412
2284
  # Update properties of this object
1413
2285
  def update!(**args)
1414
2286
  @average_iops = args[:average_iops] if args.key?(:average_iops)
2287
+ @average_read_iops = args[:average_read_iops] if args.key?(:average_read_iops)
2288
+ @average_write_iops = args[:average_write_iops] if args.key?(:average_write_iops)
1415
2289
  end
1416
2290
  end
1417
2291
 
@@ -2235,11 +3109,31 @@ module Google
2235
3109
  class ImportRowError
2236
3110
  include Google::Apis::Core::Hashable
2237
3111
 
3112
+ # Error details for an archive file.
3113
+ # Corresponds to the JSON property `archiveError`
3114
+ # @return [Google::Apis::MigrationcenterV1alpha1::ImportRowErrorArchiveErrorDetails]
3115
+ attr_accessor :archive_error
3116
+
3117
+ # The asset title.
3118
+ # Corresponds to the JSON property `assetTitle`
3119
+ # @return [String]
3120
+ attr_accessor :asset_title
3121
+
3122
+ # Error details for a CSV file.
3123
+ # Corresponds to the JSON property `csvError`
3124
+ # @return [Google::Apis::MigrationcenterV1alpha1::ImportRowErrorCsvErrorDetails]
3125
+ attr_accessor :csv_error
3126
+
2238
3127
  # The list of errors detected in the row.
2239
3128
  # Corresponds to the JSON property `errors`
2240
3129
  # @return [Array<Google::Apis::MigrationcenterV1alpha1::ImportError>]
2241
3130
  attr_accessor :errors
2242
3131
 
3132
+ # Error details for a JSON file.
3133
+ # Corresponds to the JSON property `jsonError`
3134
+ # @return [Google::Apis::MigrationcenterV1alpha1::ImportRowErrorJsonErrorDetails]
3135
+ attr_accessor :json_error
3136
+
2243
3137
  # The row number where the error was detected.
2244
3138
  # Corresponds to the JSON property `rowNumber`
2245
3139
  # @return [Fixnum]
@@ -2255,16 +3149,108 @@ module Google
2255
3149
  # @return [String]
2256
3150
  attr_accessor :vm_uuid
2257
3151
 
3152
+ # Error details for an XLSX file.
3153
+ # Corresponds to the JSON property `xlsxError`
3154
+ # @return [Google::Apis::MigrationcenterV1alpha1::ImportRowErrorXlsxErrorDetails]
3155
+ attr_accessor :xlsx_error
3156
+
2258
3157
  def initialize(**args)
2259
3158
  update!(**args)
2260
3159
  end
2261
3160
 
2262
3161
  # Update properties of this object
2263
3162
  def update!(**args)
3163
+ @archive_error = args[:archive_error] if args.key?(:archive_error)
3164
+ @asset_title = args[:asset_title] if args.key?(:asset_title)
3165
+ @csv_error = args[:csv_error] if args.key?(:csv_error)
2264
3166
  @errors = args[:errors] if args.key?(:errors)
3167
+ @json_error = args[:json_error] if args.key?(:json_error)
2265
3168
  @row_number = args[:row_number] if args.key?(:row_number)
2266
3169
  @vm_name = args[:vm_name] if args.key?(:vm_name)
2267
3170
  @vm_uuid = args[:vm_uuid] if args.key?(:vm_uuid)
3171
+ @xlsx_error = args[:xlsx_error] if args.key?(:xlsx_error)
3172
+ end
3173
+ end
3174
+
3175
+ # Error details for an archive file.
3176
+ class ImportRowErrorArchiveErrorDetails
3177
+ include Google::Apis::Core::Hashable
3178
+
3179
+ # Error details for a CSV file.
3180
+ # Corresponds to the JSON property `csvError`
3181
+ # @return [Google::Apis::MigrationcenterV1alpha1::ImportRowErrorCsvErrorDetails]
3182
+ attr_accessor :csv_error
3183
+
3184
+ # The file path inside the archive where the error was detected.
3185
+ # Corresponds to the JSON property `filePath`
3186
+ # @return [String]
3187
+ attr_accessor :file_path
3188
+
3189
+ def initialize(**args)
3190
+ update!(**args)
3191
+ end
3192
+
3193
+ # Update properties of this object
3194
+ def update!(**args)
3195
+ @csv_error = args[:csv_error] if args.key?(:csv_error)
3196
+ @file_path = args[:file_path] if args.key?(:file_path)
3197
+ end
3198
+ end
3199
+
3200
+ # Error details for a CSV file.
3201
+ class ImportRowErrorCsvErrorDetails
3202
+ include Google::Apis::Core::Hashable
3203
+
3204
+ # The row number where the error was detected.
3205
+ # Corresponds to the JSON property `rowNumber`
3206
+ # @return [Fixnum]
3207
+ attr_accessor :row_number
3208
+
3209
+ def initialize(**args)
3210
+ update!(**args)
3211
+ end
3212
+
3213
+ # Update properties of this object
3214
+ def update!(**args)
3215
+ @row_number = args[:row_number] if args.key?(:row_number)
3216
+ end
3217
+ end
3218
+
3219
+ # Error details for a JSON file.
3220
+ class ImportRowErrorJsonErrorDetails
3221
+ include Google::Apis::Core::Hashable
3222
+
3223
+ def initialize(**args)
3224
+ update!(**args)
3225
+ end
3226
+
3227
+ # Update properties of this object
3228
+ def update!(**args)
3229
+ end
3230
+ end
3231
+
3232
+ # Error details for an XLSX file.
3233
+ class ImportRowErrorXlsxErrorDetails
3234
+ include Google::Apis::Core::Hashable
3235
+
3236
+ # The row number where the error was detected.
3237
+ # Corresponds to the JSON property `rowNumber`
3238
+ # @return [Fixnum]
3239
+ attr_accessor :row_number
3240
+
3241
+ # The name of the sheet where the error was detected.
3242
+ # Corresponds to the JSON property `sheet`
3243
+ # @return [String]
3244
+ attr_accessor :sheet
3245
+
3246
+ def initialize(**args)
3247
+ update!(**args)
3248
+ end
3249
+
3250
+ # Update properties of this object
3251
+ def update!(**args)
3252
+ @row_number = args[:row_number] if args.key?(:row_number)
3253
+ @sheet = args[:sheet] if args.key?(:sheet)
2268
3254
  end
2269
3255
  end
2270
3256
 
@@ -2297,20 +3283,76 @@ module Google
2297
3283
  class Insight
2298
3284
  include Google::Apis::Core::Hashable
2299
3285
 
2300
- # A generic insight about an asset.
2301
- # Corresponds to the JSON property `genericInsight`
2302
- # @return [Google::Apis::MigrationcenterV1alpha1::GenericInsight]
2303
- attr_accessor :generic_insight
3286
+ # A generic insight about an asset.
3287
+ # Corresponds to the JSON property `genericInsight`
3288
+ # @return [Google::Apis::MigrationcenterV1alpha1::GenericInsight]
3289
+ attr_accessor :generic_insight
3290
+
3291
+ # An insight about potential migrations for an asset.
3292
+ # Corresponds to the JSON property `migrationInsight`
3293
+ # @return [Google::Apis::MigrationcenterV1alpha1::MigrationInsight]
3294
+ attr_accessor :migration_insight
3295
+
3296
+ # An insight regarding software detected on an asset.
3297
+ # Corresponds to the JSON property `softwareInsight`
3298
+ # @return [Google::Apis::MigrationcenterV1alpha1::SoftwareInsight]
3299
+ attr_accessor :software_insight
3300
+
3301
+ def initialize(**args)
3302
+ update!(**args)
3303
+ end
3304
+
3305
+ # Update properties of this object
3306
+ def update!(**args)
3307
+ @generic_insight = args[:generic_insight] if args.key?(:generic_insight)
3308
+ @migration_insight = args[:migration_insight] if args.key?(:migration_insight)
3309
+ @software_insight = args[:software_insight] if args.key?(:software_insight)
3310
+ end
3311
+ end
3312
+
3313
+ # Message containing insights list.
3314
+ class InsightList
3315
+ include Google::Apis::Core::Hashable
3316
+
3317
+ # Output only. Insights of the list.
3318
+ # Corresponds to the JSON property `insights`
3319
+ # @return [Array<Google::Apis::MigrationcenterV1alpha1::Insight>]
3320
+ attr_accessor :insights
3321
+
3322
+ # Output only. Update timestamp.
3323
+ # Corresponds to the JSON property `updateTime`
3324
+ # @return [String]
3325
+ attr_accessor :update_time
3326
+
3327
+ def initialize(**args)
3328
+ update!(**args)
3329
+ end
3330
+
3331
+ # Update properties of this object
3332
+ def update!(**args)
3333
+ @insights = args[:insights] if args.key?(:insights)
3334
+ @update_time = args[:update_time] if args.key?(:update_time)
3335
+ end
3336
+ end
3337
+
3338
+ # An issue associated with a migration.
3339
+ class Issue
3340
+ include Google::Apis::Core::Hashable
3341
+
3342
+ # Details about a compatibility issue.
3343
+ # Corresponds to the JSON property `compatibilityIssue`
3344
+ # @return [Google::Apis::MigrationcenterV1alpha1::IssueCompatibilityIssue]
3345
+ attr_accessor :compatibility_issue
2304
3346
 
2305
- # An insight about potential migrations for an asset.
2306
- # Corresponds to the JSON property `migrationInsight`
2307
- # @return [Google::Apis::MigrationcenterV1alpha1::MigrationInsight]
2308
- attr_accessor :migration_insight
3347
+ # Output only. English description of the issue.
3348
+ # Corresponds to the JSON property `description`
3349
+ # @return [String]
3350
+ attr_accessor :description
2309
3351
 
2310
- # An insight regarding software detected on an asset.
2311
- # Corresponds to the JSON property `softwareInsight`
2312
- # @return [Google::Apis::MigrationcenterV1alpha1::SoftwareInsight]
2313
- attr_accessor :software_insight
3352
+ # Output only. Unique identifier for this issue type.
3353
+ # Corresponds to the JSON property `issueCode`
3354
+ # @return [String]
3355
+ attr_accessor :issue_code
2314
3356
 
2315
3357
  def initialize(**args)
2316
3358
  update!(**args)
@@ -2318,25 +3360,39 @@ module Google
2318
3360
 
2319
3361
  # Update properties of this object
2320
3362
  def update!(**args)
2321
- @generic_insight = args[:generic_insight] if args.key?(:generic_insight)
2322
- @migration_insight = args[:migration_insight] if args.key?(:migration_insight)
2323
- @software_insight = args[:software_insight] if args.key?(:software_insight)
3363
+ @compatibility_issue = args[:compatibility_issue] if args.key?(:compatibility_issue)
3364
+ @description = args[:description] if args.key?(:description)
3365
+ @issue_code = args[:issue_code] if args.key?(:issue_code)
2324
3366
  end
2325
3367
  end
2326
3368
 
2327
- # Message containing insights list.
2328
- class InsightList
3369
+ # Details about a compatibility issue.
3370
+ class IssueCompatibilityIssue
2329
3371
  include Google::Apis::Core::Hashable
2330
3372
 
2331
- # Output only. Insights of the list.
2332
- # Corresponds to the JSON property `insights`
2333
- # @return [Array<Google::Apis::MigrationcenterV1alpha1::Insight>]
2334
- attr_accessor :insights
3373
+ # Output only. Name of the object associated with this compatibility issue
3374
+ # relative to the relevant asset. Does not represent a fully qualified resource
3375
+ # name and is not intended for programmatic use.
3376
+ # Corresponds to the JSON property `associatedObject`
3377
+ # @return [String]
3378
+ attr_accessor :associated_object
2335
3379
 
2336
- # Output only. Update timestamp.
2337
- # Corresponds to the JSON property `updateTime`
3380
+ # Output only. Type of object associated with this migration compatibility issue.
3381
+ # Corresponds to the JSON property `associatedObjectType`
2338
3382
  # @return [String]
2339
- attr_accessor :update_time
3383
+ attr_accessor :associated_object_type
3384
+
3385
+ # Output only. A string representation of actual value associated with this
3386
+ # issue. Some values may contain aggregated information, such as a flag name and
3387
+ # the actual value assigned to it.
3388
+ # Corresponds to the JSON property `associatedValue`
3389
+ # @return [String]
3390
+ attr_accessor :associated_value
3391
+
3392
+ # Output only. Category of this compatibility issue.
3393
+ # Corresponds to the JSON property `category`
3394
+ # @return [String]
3395
+ attr_accessor :category
2340
3396
 
2341
3397
  def initialize(**args)
2342
3398
  update!(**args)
@@ -2344,8 +3400,10 @@ module Google
2344
3400
 
2345
3401
  # Update properties of this object
2346
3402
  def update!(**args)
2347
- @insights = args[:insights] if args.key?(:insights)
2348
- @update_time = args[:update_time] if args.key?(:update_time)
3403
+ @associated_object = args[:associated_object] if args.key?(:associated_object)
3404
+ @associated_object_type = args[:associated_object_type] if args.key?(:associated_object_type)
3405
+ @associated_value = args[:associated_value] if args.key?(:associated_value)
3406
+ @category = args[:category] if args.key?(:category)
2349
3407
  end
2350
3408
  end
2351
3409
 
@@ -2380,6 +3438,38 @@ module Google
2380
3438
  end
2381
3439
  end
2382
3440
 
3441
+ # Response message for listing discovery clients.
3442
+ class ListDiscoveryClientsResponse
3443
+ include Google::Apis::Core::Hashable
3444
+
3445
+ # List of discovery clients.
3446
+ # Corresponds to the JSON property `discoveryClients`
3447
+ # @return [Array<Google::Apis::MigrationcenterV1alpha1::DiscoveryClient>]
3448
+ attr_accessor :discovery_clients
3449
+
3450
+ # A token that can be sent as `page_token` to retrieve the next page. If this
3451
+ # field is omitted, there are no subsequent pages.
3452
+ # Corresponds to the JSON property `nextPageToken`
3453
+ # @return [String]
3454
+ attr_accessor :next_page_token
3455
+
3456
+ # Locations that could not be reached.
3457
+ # Corresponds to the JSON property `unreachable`
3458
+ # @return [Array<String>]
3459
+ attr_accessor :unreachable
3460
+
3461
+ def initialize(**args)
3462
+ update!(**args)
3463
+ end
3464
+
3465
+ # Update properties of this object
3466
+ def update!(**args)
3467
+ @discovery_clients = args[:discovery_clients] if args.key?(:discovery_clients)
3468
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
3469
+ @unreachable = args[:unreachable] if args.key?(:unreachable)
3470
+ end
3471
+ end
3472
+
2383
3473
  # A response for listing error frames.
2384
3474
  class ListErrorFramesResponse
2385
3475
  include Google::Apis::Core::Hashable
@@ -2748,13 +3838,16 @@ module Google
2748
3838
  end
2749
3839
  end
2750
3840
 
2751
- # A Compute Engine machine series.
3841
+ # A machine series, for a target product (e.g. Compute Engine, Google Cloud
3842
+ # VMware Engine).
2752
3843
  class MachineSeries
2753
3844
  include Google::Apis::Core::Hashable
2754
3845
 
2755
- # Code to identify a Compute Engine machine series. Consult https://cloud.google.
2756
- # com/compute/docs/machine-resource#machine_type_comparison for more details on
2757
- # the available series.
3846
+ # Code to identify a machine series. Consult this for more details on the
3847
+ # available series for Compute Engine: https://cloud.google.com/compute/docs/
3848
+ # machine-resource#machine_type_comparison Consult this for more details on the
3849
+ # available series for Google Cloud VMware Engine: https://cloud.google.com/
3850
+ # vmware-engine/pricing
2758
3851
  # Corresponds to the JSON property `code`
2759
3852
  # @return [String]
2760
3853
  attr_accessor :code
@@ -2792,6 +3885,11 @@ module Google
2792
3885
  class MigrationInsight
2793
3886
  include Google::Apis::Core::Hashable
2794
3887
 
3888
+ # Cloud database migration target.
3889
+ # Corresponds to the JSON property `cloudDatabaseTarget`
3890
+ # @return [Google::Apis::MigrationcenterV1alpha1::CloudDatabaseMigrationTarget]
3891
+ attr_accessor :cloud_database_target
3892
+
2795
3893
  # Compute engine sole tenant migration target.
2796
3894
  # Corresponds to the JSON property `computeEngineSoleTenantTarget`
2797
3895
  # @return [Google::Apis::MigrationcenterV1alpha1::ComputeEngineSoleTenantMigrationTarget]
@@ -2812,6 +3910,11 @@ module Google
2812
3910
  # @return [Google::Apis::MigrationcenterV1alpha1::GoogleKubernetesEngineMigrationTarget]
2813
3911
  attr_accessor :gke_target
2814
3912
 
3913
+ # Output only. Issues associated with this migration.
3914
+ # Corresponds to the JSON property `issues`
3915
+ # @return [Array<Google::Apis::MigrationcenterV1alpha1::Issue>]
3916
+ attr_accessor :issues
3917
+
2815
3918
  # VMWare engine migration target.
2816
3919
  # Corresponds to the JSON property `vmwareEngineTarget`
2817
3920
  # @return [Google::Apis::MigrationcenterV1alpha1::VmwareEngineMigrationTarget]
@@ -2823,10 +3926,12 @@ module Google
2823
3926
 
2824
3927
  # Update properties of this object
2825
3928
  def update!(**args)
3929
+ @cloud_database_target = args[:cloud_database_target] if args.key?(:cloud_database_target)
2826
3930
  @compute_engine_sole_tenant_target = args[:compute_engine_sole_tenant_target] if args.key?(:compute_engine_sole_tenant_target)
2827
3931
  @compute_engine_target = args[:compute_engine_target] if args.key?(:compute_engine_target)
2828
3932
  @fit = args[:fit] if args.key?(:fit)
2829
3933
  @gke_target = args[:gke_target] if args.key?(:gke_target)
3934
+ @issues = args[:issues] if args.key?(:issues)
2830
3935
  @vmware_engine_target = args[:vmware_engine_target] if args.key?(:vmware_engine_target)
2831
3936
  end
2832
3937
  end
@@ -2867,6 +3972,57 @@ module Google
2867
3972
  end
2868
3973
  end
2869
3974
 
3975
+ # Specific details for a Mysql database deployment.
3976
+ class MysqlDatabaseDeployment
3977
+ include Google::Apis::Core::Hashable
3978
+
3979
+ # Optional. List of Mysql plugins.
3980
+ # Corresponds to the JSON property `plugins`
3981
+ # @return [Array<Google::Apis::MigrationcenterV1alpha1::MysqlPlugin>]
3982
+ attr_accessor :plugins
3983
+
3984
+ def initialize(**args)
3985
+ update!(**args)
3986
+ end
3987
+
3988
+ # Update properties of this object
3989
+ def update!(**args)
3990
+ @plugins = args[:plugins] if args.key?(:plugins)
3991
+ end
3992
+ end
3993
+
3994
+ # Mysql plugin.
3995
+ class MysqlPlugin
3996
+ include Google::Apis::Core::Hashable
3997
+
3998
+ # Required. The plugin is active.
3999
+ # Corresponds to the JSON property `enabled`
4000
+ # @return [Boolean]
4001
+ attr_accessor :enabled
4002
+ alias_method :enabled?, :enabled
4003
+
4004
+ # Required. The plugin name.
4005
+ # Corresponds to the JSON property `plugin`
4006
+ # @return [String]
4007
+ attr_accessor :plugin
4008
+
4009
+ # Required. The plugin version.
4010
+ # Corresponds to the JSON property `version`
4011
+ # @return [String]
4012
+ attr_accessor :version
4013
+
4014
+ def initialize(**args)
4015
+ update!(**args)
4016
+ end
4017
+
4018
+ # Update properties of this object
4019
+ def update!(**args)
4020
+ @enabled = args[:enabled] if args.key?(:enabled)
4021
+ @plugin = args[:plugin] if args.key?(:plugin)
4022
+ @version = args[:version] if args.key?(:version)
4023
+ end
4024
+ end
4025
+
2870
4026
  # Details of network adapter.
2871
4027
  class NetworkAdapterDetails
2872
4028
  include Google::Apis::Core::Hashable
@@ -3440,6 +4596,19 @@ module Google
3440
4596
  end
3441
4597
  end
3442
4598
 
4599
+ # Specific details for a PostgreSQL database deployment.
4600
+ class PostgreSqlDatabaseDeployment
4601
+ include Google::Apis::Core::Hashable
4602
+
4603
+ def initialize(**args)
4604
+ update!(**args)
4605
+ end
4606
+
4607
+ # Update properties of this object
4608
+ def update!(**args)
4609
+ end
4610
+ end
4611
+
3443
4612
  # The preferences that apply to all assets in a given context.
3444
4613
  class PreferenceSet
3445
4614
  include Google::Apis::Core::Hashable
@@ -3449,6 +4618,12 @@ module Google
3449
4618
  # @return [String]
3450
4619
  attr_accessor :create_time
3451
4620
 
4621
+ # DatabasePreferences enables you to create sets of preferences for your
4622
+ # migrated databases.
4623
+ # Corresponds to the JSON property `databasePreferences`
4624
+ # @return [Google::Apis::MigrationcenterV1alpha1::DatabasePreferences]
4625
+ attr_accessor :database_preferences
4626
+
3452
4627
  # A description of the preference set.
3453
4628
  # Corresponds to the JSON property `description`
3454
4629
  # @return [String]
@@ -3464,6 +4639,11 @@ module Google
3464
4639
  # @return [String]
3465
4640
  attr_accessor :name
3466
4641
 
4642
+ # The user preferences relating to target regions.
4643
+ # Corresponds to the JSON property `regionPreferences`
4644
+ # @return [Google::Apis::MigrationcenterV1alpha1::RegionPreferences]
4645
+ attr_accessor :region_preferences
4646
+
3467
4647
  # Output only. The timestamp when the preference set was last updated.
3468
4648
  # Corresponds to the JSON property `updateTime`
3469
4649
  # @return [String]
@@ -3484,9 +4664,11 @@ module Google
3484
4664
  # Update properties of this object
3485
4665
  def update!(**args)
3486
4666
  @create_time = args[:create_time] if args.key?(:create_time)
4667
+ @database_preferences = args[:database_preferences] if args.key?(:database_preferences)
3487
4668
  @description = args[:description] if args.key?(:description)
3488
4669
  @display_name = args[:display_name] if args.key?(:display_name)
3489
4670
  @name = args[:name] if args.key?(:name)
4671
+ @region_preferences = args[:region_preferences] if args.key?(:region_preferences)
3490
4672
  @update_time = args[:update_time] if args.key?(:update_time)
3491
4673
  @virtual_machine_preferences = args[:virtual_machine_preferences] if args.key?(:virtual_machine_preferences)
3492
4674
  end
@@ -3716,11 +4898,21 @@ module Google
3716
4898
  # @return [Google::Apis::MigrationcenterV1alpha1::ReportSummaryAssetAggregateStats]
3717
4899
  attr_accessor :all_assets_stats
3718
4900
 
4901
+ # Aggregate statistics for a collection of assets.
4902
+ # Corresponds to the JSON property `databaseStats`
4903
+ # @return [Google::Apis::MigrationcenterV1alpha1::ReportSummaryAssetAggregateStats]
4904
+ attr_accessor :database_stats
4905
+
3719
4906
  # Findings for each Group included in this report.
3720
4907
  # Corresponds to the JSON property `groupFindings`
3721
4908
  # @return [Array<Google::Apis::MigrationcenterV1alpha1::ReportSummaryGroupFinding>]
3722
4909
  attr_accessor :group_findings
3723
4910
 
4911
+ # Aggregate statistics for a collection of assets.
4912
+ # Corresponds to the JSON property `virtualMachineStats`
4913
+ # @return [Google::Apis::MigrationcenterV1alpha1::ReportSummaryAssetAggregateStats]
4914
+ attr_accessor :virtual_machine_stats
4915
+
3724
4916
  def initialize(**args)
3725
4917
  update!(**args)
3726
4918
  end
@@ -3728,7 +4920,9 @@ module Google
3728
4920
  # Update properties of this object
3729
4921
  def update!(**args)
3730
4922
  @all_assets_stats = args[:all_assets_stats] if args.key?(:all_assets_stats)
4923
+ @database_stats = args[:database_stats] if args.key?(:database_stats)
3731
4924
  @group_findings = args[:group_findings] if args.key?(:group_findings)
4925
+ @virtual_machine_stats = args[:virtual_machine_stats] if args.key?(:virtual_machine_stats)
3732
4926
  end
3733
4927
  end
3734
4928
 
@@ -3747,6 +4941,11 @@ module Google
3747
4941
  # @return [Google::Apis::MigrationcenterV1alpha1::ReportSummaryHistogramChartData]
3748
4942
  attr_accessor :core_count_histogram
3749
4943
 
4944
+ # Describes a collection of data points rendered as a Chart.
4945
+ # Corresponds to the JSON property `databaseTypes`
4946
+ # @return [Google::Apis::MigrationcenterV1alpha1::ReportSummaryChartData]
4947
+ attr_accessor :database_types
4948
+
3750
4949
  # A Histogram Chart shows a distribution of values into buckets, showing a count
3751
4950
  # of values which fall into a bucket.
3752
4951
  # Corresponds to the JSON property `memoryBytesHistogram`
@@ -3814,6 +5013,7 @@ module Google
3814
5013
  def update!(**args)
3815
5014
  @asset_age = args[:asset_age] if args.key?(:asset_age)
3816
5015
  @core_count_histogram = args[:core_count_histogram] if args.key?(:core_count_histogram)
5016
+ @database_types = args[:database_types] if args.key?(:database_types)
3817
5017
  @memory_bytes_histogram = args[:memory_bytes_histogram] if args.key?(:memory_bytes_histogram)
3818
5018
  @memory_utilization = args[:memory_utilization] if args.key?(:memory_utilization)
3819
5019
  @memory_utilization_chart = args[:memory_utilization_chart] if args.key?(:memory_utilization_chart)
@@ -3873,6 +5073,33 @@ module Google
3873
5073
  end
3874
5074
  end
3875
5075
 
5076
+ # DatabaseFinding contains an aggregate costs and shapes for a single database
5077
+ # type.
5078
+ class ReportSummaryDatabaseFinding
5079
+ include Google::Apis::Core::Hashable
5080
+
5081
+ # Output only. Number of database assets which were successfully assigned in
5082
+ # this finding.
5083
+ # Corresponds to the JSON property `allocatedAssetCount`
5084
+ # @return [Fixnum]
5085
+ attr_accessor :allocated_asset_count
5086
+
5087
+ # Output only. Number of database assets in this finding.
5088
+ # Corresponds to the JSON property `totalAssets`
5089
+ # @return [Fixnum]
5090
+ attr_accessor :total_assets
5091
+
5092
+ def initialize(**args)
5093
+ update!(**args)
5094
+ end
5095
+
5096
+ # Update properties of this object
5097
+ def update!(**args)
5098
+ @allocated_asset_count = args[:allocated_asset_count] if args.key?(:allocated_asset_count)
5099
+ @total_assets = args[:total_assets] if args.key?(:total_assets)
5100
+ end
5101
+ end
5102
+
3876
5103
  # Summary Findings for a specific Group.
3877
5104
  class ReportSummaryGroupFinding
3878
5105
  include Google::Apis::Core::Hashable
@@ -3882,6 +5109,17 @@ module Google
3882
5109
  # @return [Google::Apis::MigrationcenterV1alpha1::ReportSummaryAssetAggregateStats]
3883
5110
  attr_accessor :asset_aggregate_stats
3884
5111
 
5112
+ # Output only. Asset type for the group finding.
5113
+ # Corresponds to the JSON property `assetType`
5114
+ # @return [String]
5115
+ attr_accessor :asset_type
5116
+
5117
+ # Output only. Source asset database type for the group finding. Only present
5118
+ # for databases.
5119
+ # Corresponds to the JSON property `databaseType`
5120
+ # @return [String]
5121
+ attr_accessor :database_type
5122
+
3885
5123
  # Description for this group finding.
3886
5124
  # Corresponds to the JSON property `description`
3887
5125
  # @return [String]
@@ -3892,6 +5130,11 @@ module Google
3892
5130
  # @return [String]
3893
5131
  attr_accessor :display_name
3894
5132
 
5133
+ # Output only. Full name of the group.
5134
+ # Corresponds to the JSON property `group`
5135
+ # @return [String]
5136
+ attr_accessor :group
5137
+
3895
5138
  # This field is deprecated, do not rely on it having a value.
3896
5139
  # Corresponds to the JSON property `overlappingAssetCount`
3897
5140
  # @return [Fixnum]
@@ -3909,8 +5152,11 @@ module Google
3909
5152
  # Update properties of this object
3910
5153
  def update!(**args)
3911
5154
  @asset_aggregate_stats = args[:asset_aggregate_stats] if args.key?(:asset_aggregate_stats)
5155
+ @asset_type = args[:asset_type] if args.key?(:asset_type)
5156
+ @database_type = args[:database_type] if args.key?(:database_type)
3912
5157
  @description = args[:description] if args.key?(:description)
3913
5158
  @display_name = args[:display_name] if args.key?(:display_name)
5159
+ @group = args[:group] if args.key?(:group)
3914
5160
  @overlapping_asset_count = args[:overlapping_asset_count] if args.key?(:overlapping_asset_count)
3915
5161
  @preference_set_findings = args[:preference_set_findings] if args.key?(:preference_set_findings)
3916
5162
  end
@@ -3920,6 +5166,12 @@ module Google
3920
5166
  class ReportSummaryGroupPreferenceSetFinding
3921
5167
  include Google::Apis::Core::Hashable
3922
5168
 
5169
+ # DatabaseFinding contains an aggregate costs and shapes for a single database
5170
+ # type.
5171
+ # Corresponds to the JSON property `databaseFinding`
5172
+ # @return [Google::Apis::MigrationcenterV1alpha1::ReportSummaryDatabaseFinding]
5173
+ attr_accessor :database_finding
5174
+
3923
5175
  # Description for the Preference Set.
3924
5176
  # Corresponds to the JSON property `description`
3925
5177
  # @return [String]
@@ -3948,6 +5200,16 @@ module Google
3948
5200
  # @return [Google::Apis::MigrationcenterV1alpha1::Money]
3949
5201
  attr_accessor :monthly_cost_compute
3950
5202
 
5203
+ # Represents an amount of money with its currency type.
5204
+ # Corresponds to the JSON property `monthlyCostDatabaseBackup`
5205
+ # @return [Google::Apis::MigrationcenterV1alpha1::Money]
5206
+ attr_accessor :monthly_cost_database_backup
5207
+
5208
+ # Represents an amount of money with its currency type.
5209
+ # Corresponds to the JSON property `monthlyCostDatabaseLicensing`
5210
+ # @return [Google::Apis::MigrationcenterV1alpha1::Money]
5211
+ attr_accessor :monthly_cost_database_licensing
5212
+
3951
5213
  # Represents an amount of money with its currency type.
3952
5214
  # Corresponds to the JSON property `monthlyCostNetworkEgress`
3953
5215
  # @return [Google::Apis::MigrationcenterV1alpha1::Money]
@@ -3973,6 +5235,11 @@ module Google
3973
5235
  # @return [Google::Apis::MigrationcenterV1alpha1::Money]
3974
5236
  attr_accessor :monthly_cost_total
3975
5237
 
5238
+ # The preferences that apply to all assets in a given context.
5239
+ # Corresponds to the JSON property `preferenceSet`
5240
+ # @return [Google::Apis::MigrationcenterV1alpha1::PreferenceSet]
5241
+ attr_accessor :preference_set
5242
+
3976
5243
  # Target region for this Preference Set
3977
5244
  # Corresponds to the JSON property `preferredRegion`
3978
5245
  # @return [String]
@@ -4004,16 +5271,20 @@ module Google
4004
5271
 
4005
5272
  # Update properties of this object
4006
5273
  def update!(**args)
5274
+ @database_finding = args[:database_finding] if args.key?(:database_finding)
4007
5275
  @description = args[:description] if args.key?(:description)
4008
5276
  @display_name = args[:display_name] if args.key?(:display_name)
4009
5277
  @machine_finding = args[:machine_finding] if args.key?(:machine_finding)
4010
5278
  @machine_preferences = args[:machine_preferences] if args.key?(:machine_preferences)
4011
5279
  @monthly_cost_compute = args[:monthly_cost_compute] if args.key?(:monthly_cost_compute)
5280
+ @monthly_cost_database_backup = args[:monthly_cost_database_backup] if args.key?(:monthly_cost_database_backup)
5281
+ @monthly_cost_database_licensing = args[:monthly_cost_database_licensing] if args.key?(:monthly_cost_database_licensing)
4012
5282
  @monthly_cost_network_egress = args[:monthly_cost_network_egress] if args.key?(:monthly_cost_network_egress)
4013
5283
  @monthly_cost_os_license = args[:monthly_cost_os_license] if args.key?(:monthly_cost_os_license)
4014
5284
  @monthly_cost_other = args[:monthly_cost_other] if args.key?(:monthly_cost_other)
4015
5285
  @monthly_cost_storage = args[:monthly_cost_storage] if args.key?(:monthly_cost_storage)
4016
5286
  @monthly_cost_total = args[:monthly_cost_total] if args.key?(:monthly_cost_total)
5287
+ @preference_set = args[:preference_set] if args.key?(:preference_set)
4017
5288
  @preferred_region = args[:preferred_region] if args.key?(:preferred_region)
4018
5289
  @pricing_track = args[:pricing_track] if args.key?(:pricing_track)
4019
5290
  @sole_tenant_finding = args[:sole_tenant_finding] if args.key?(:sole_tenant_finding)
@@ -4126,7 +5397,8 @@ module Google
4126
5397
  # @return [Fixnum]
4127
5398
  attr_accessor :allocated_asset_count
4128
5399
 
4129
- # A Compute Engine machine series.
5400
+ # A machine series, for a target product (e.g. Compute Engine, Google Cloud
5401
+ # VMware Engine).
4130
5402
  # Corresponds to the JSON property `machineSeries`
4131
5403
  # @return [Google::Apis::MigrationcenterV1alpha1::MachineSeries]
4132
5404
  attr_accessor :machine_series
@@ -4547,6 +5819,31 @@ module Google
4547
5819
  end
4548
5820
  end
4549
5821
 
5822
+ # A request to send a discovery client heartbeat.
5823
+ class SendDiscoveryClientHeartbeatRequest
5824
+ include Google::Apis::Core::Hashable
5825
+
5826
+ # Optional. Errors affecting client functionality.
5827
+ # Corresponds to the JSON property `errors`
5828
+ # @return [Array<Google::Apis::MigrationcenterV1alpha1::Status>]
5829
+ attr_accessor :errors
5830
+
5831
+ # Optional. Client application version.
5832
+ # Corresponds to the JSON property `version`
5833
+ # @return [String]
5834
+ attr_accessor :version
5835
+
5836
+ def initialize(**args)
5837
+ update!(**args)
5838
+ end
5839
+
5840
+ # Update properties of this object
5841
+ def update!(**args)
5842
+ @errors = args[:errors] if args.key?(:errors)
5843
+ @version = args[:version] if args.key?(:version)
5844
+ end
5845
+ end
5846
+
4550
5847
  # Describes the Migration Center settings related to the project.
4551
5848
  class Settings
4552
5849
  include Google::Apis::Core::Hashable
@@ -4742,6 +6039,121 @@ module Google
4742
6039
  end
4743
6040
  end
4744
6041
 
6042
+ # Specific details for a Microsoft SQL Server database deployment.
6043
+ class SqlServerDatabaseDeployment
6044
+ include Google::Apis::Core::Hashable
6045
+
6046
+ # Optional. List of SQL Server features.
6047
+ # Corresponds to the JSON property `features`
6048
+ # @return [Array<Google::Apis::MigrationcenterV1alpha1::SqlServerFeature>]
6049
+ attr_accessor :features
6050
+
6051
+ # Optional. List of SQL Server server flags.
6052
+ # Corresponds to the JSON property `serverFlags`
6053
+ # @return [Array<Google::Apis::MigrationcenterV1alpha1::SqlServerServerFlag>]
6054
+ attr_accessor :server_flags
6055
+
6056
+ # Optional. List of SQL Server trace flags.
6057
+ # Corresponds to the JSON property `traceFlags`
6058
+ # @return [Array<Google::Apis::MigrationcenterV1alpha1::SqlServerTraceFlag>]
6059
+ attr_accessor :trace_flags
6060
+
6061
+ def initialize(**args)
6062
+ update!(**args)
6063
+ end
6064
+
6065
+ # Update properties of this object
6066
+ def update!(**args)
6067
+ @features = args[:features] if args.key?(:features)
6068
+ @server_flags = args[:server_flags] if args.key?(:server_flags)
6069
+ @trace_flags = args[:trace_flags] if args.key?(:trace_flags)
6070
+ end
6071
+ end
6072
+
6073
+ # SQL Server feature details.
6074
+ class SqlServerFeature
6075
+ include Google::Apis::Core::Hashable
6076
+
6077
+ # Required. Field enabled is set when a feature is used on the source deployment.
6078
+ # Corresponds to the JSON property `enabled`
6079
+ # @return [Boolean]
6080
+ attr_accessor :enabled
6081
+ alias_method :enabled?, :enabled
6082
+
6083
+ # Required. The feature name.
6084
+ # Corresponds to the JSON property `featureName`
6085
+ # @return [String]
6086
+ attr_accessor :feature_name
6087
+
6088
+ def initialize(**args)
6089
+ update!(**args)
6090
+ end
6091
+
6092
+ # Update properties of this object
6093
+ def update!(**args)
6094
+ @enabled = args[:enabled] if args.key?(:enabled)
6095
+ @feature_name = args[:feature_name] if args.key?(:feature_name)
6096
+ end
6097
+ end
6098
+
6099
+ # SQL Server server flag details.
6100
+ class SqlServerServerFlag
6101
+ include Google::Apis::Core::Hashable
6102
+
6103
+ # Required. The server flag name.
6104
+ # Corresponds to the JSON property `serverFlagName`
6105
+ # @return [String]
6106
+ attr_accessor :server_flag_name
6107
+
6108
+ # Required. The server flag value set by the user.
6109
+ # Corresponds to the JSON property `value`
6110
+ # @return [String]
6111
+ attr_accessor :value
6112
+
6113
+ # Required. The server flag actual value. If `value_in_use` is different from `
6114
+ # value` it means that either the configuration change was not applied or it is
6115
+ # an expected behavior. See SQL Server documentation for more details.
6116
+ # Corresponds to the JSON property `valueInUse`
6117
+ # @return [String]
6118
+ attr_accessor :value_in_use
6119
+
6120
+ def initialize(**args)
6121
+ update!(**args)
6122
+ end
6123
+
6124
+ # Update properties of this object
6125
+ def update!(**args)
6126
+ @server_flag_name = args[:server_flag_name] if args.key?(:server_flag_name)
6127
+ @value = args[:value] if args.key?(:value)
6128
+ @value_in_use = args[:value_in_use] if args.key?(:value_in_use)
6129
+ end
6130
+ end
6131
+
6132
+ # SQL Server trace flag details.
6133
+ class SqlServerTraceFlag
6134
+ include Google::Apis::Core::Hashable
6135
+
6136
+ # Required. The trace flag scope.
6137
+ # Corresponds to the JSON property `scope`
6138
+ # @return [String]
6139
+ attr_accessor :scope
6140
+
6141
+ # Required. The trace flag name.
6142
+ # Corresponds to the JSON property `traceFlagName`
6143
+ # @return [String]
6144
+ attr_accessor :trace_flag_name
6145
+
6146
+ def initialize(**args)
6147
+ update!(**args)
6148
+ end
6149
+
6150
+ # Update properties of this object
6151
+ def update!(**args)
6152
+ @scope = args[:scope] if args.key?(:scope)
6153
+ @trace_flag_name = args[:trace_flag_name] if args.key?(:trace_flag_name)
6154
+ end
6155
+ end
6156
+
4745
6157
  # The `Status` type defines a logical error model that is suitable for different
4746
6158
  # programming environments, including REST APIs and RPC APIs. It is used by [
4747
6159
  # gRPC](https://github.com/grpc). Each `Status` message contains three pieces of