google-apis-datamigration_v1 0.23.0 → 0.25.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -92,6 +92,32 @@ module Google
92
92
  end
93
93
  end
94
94
 
95
+ # Request message for 'ApplyConversionWorkspace' request.
96
+ class ApplyConversionWorkspaceRequest
97
+ include Google::Apis::Core::Hashable
98
+
99
+ # Fully qualified (Uri) name of the destination connection profile.
100
+ # Corresponds to the JSON property `connectionProfile`
101
+ # @return [String]
102
+ attr_accessor :connection_profile
103
+
104
+ # Filter which entities to apply. Leaving this field empty will apply all of the
105
+ # entities. Supports Google AIP 160 based filtering.
106
+ # Corresponds to the JSON property `filter`
107
+ # @return [String]
108
+ attr_accessor :filter
109
+
110
+ def initialize(**args)
111
+ update!(**args)
112
+ end
113
+
114
+ # Update properties of this object
115
+ def update!(**args)
116
+ @connection_profile = args[:connection_profile] if args.key?(:connection_profile)
117
+ @filter = args[:filter] if args.key?(:filter)
118
+ end
119
+ end
120
+
95
121
  # Specifies the audit configuration for a service. The configuration determines
96
122
  # which permission types are logged, and what identities, if any, are exempted
97
123
  # from logging. An AuditConfig must have one or more AuditLogConfigs. If there
@@ -163,6 +189,76 @@ module Google
163
189
  end
164
190
  end
165
191
 
192
+ # Execution log of a background job.
193
+ class BackgroundJobLogEntry
194
+ include Google::Apis::Core::Hashable
195
+
196
+ # Job completion comment, such as how many entities were seeded, how many
197
+ # warnings were found during conversion and similar information.
198
+ # Corresponds to the JSON property `completionComment`
199
+ # @return [String]
200
+ attr_accessor :completion_comment
201
+
202
+ # Job completion state, i.e. the final state after the job completed.
203
+ # Corresponds to the JSON property `completionState`
204
+ # @return [String]
205
+ attr_accessor :completion_state
206
+
207
+ # The timestamp when the background job was finished.
208
+ # Corresponds to the JSON property `finishTime`
209
+ # @return [String]
210
+ attr_accessor :finish_time
211
+
212
+ # The background job log entry id
213
+ # Corresponds to the JSON property `id`
214
+ # @return [String]
215
+ attr_accessor :id
216
+
217
+ # Details regarding an Import Rules background job
218
+ # Corresponds to the JSON property `importRulesJobDetails`
219
+ # @return [Google::Apis::DatamigrationV1::ImportRulesJobDetails]
220
+ attr_accessor :import_rules_job_details
221
+
222
+ # The type of job that was executed.
223
+ # Corresponds to the JSON property `jobType`
224
+ # @return [String]
225
+ attr_accessor :job_type
226
+
227
+ # Whether the client requested the conversion workspace to be committed after a
228
+ # successful completion of the job.
229
+ # Corresponds to the JSON property `requestAutocommit`
230
+ # @return [Boolean]
231
+ attr_accessor :request_autocommit
232
+ alias_method :request_autocommit?, :request_autocommit
233
+
234
+ # Details regarding a Seed background job
235
+ # Corresponds to the JSON property `seedJobDetails`
236
+ # @return [Google::Apis::DatamigrationV1::SeedJobDetails]
237
+ attr_accessor :seed_job_details
238
+
239
+ # The timestamp when the background job was started.
240
+ # Corresponds to the JSON property `startTime`
241
+ # @return [String]
242
+ attr_accessor :start_time
243
+
244
+ def initialize(**args)
245
+ update!(**args)
246
+ end
247
+
248
+ # Update properties of this object
249
+ def update!(**args)
250
+ @completion_comment = args[:completion_comment] if args.key?(:completion_comment)
251
+ @completion_state = args[:completion_state] if args.key?(:completion_state)
252
+ @finish_time = args[:finish_time] if args.key?(:finish_time)
253
+ @id = args[:id] if args.key?(:id)
254
+ @import_rules_job_details = args[:import_rules_job_details] if args.key?(:import_rules_job_details)
255
+ @job_type = args[:job_type] if args.key?(:job_type)
256
+ @request_autocommit = args[:request_autocommit] if args.key?(:request_autocommit)
257
+ @seed_job_details = args[:seed_job_details] if args.key?(:seed_job_details)
258
+ @start_time = args[:start_time] if args.key?(:start_time)
259
+ end
260
+ end
261
+
166
262
  # Associates `members`, or principals, with a `role`.
167
263
  class Binding
168
264
  include Google::Apis::Core::Hashable
@@ -257,6 +353,13 @@ module Google
257
353
  class CloudSqlConnectionProfile
258
354
  include Google::Apis::Core::Hashable
259
355
 
356
+ # Output only. The Cloud SQL database instance's additional (outgoing) public IP.
357
+ # Used when the Cloud SQL database availability type is REGIONAL (i.e. multiple
358
+ # zones / highly available).
359
+ # Corresponds to the JSON property `additionalPublicIp`
360
+ # @return [String]
361
+ attr_accessor :additional_public_ip
362
+
260
363
  # Output only. The Cloud SQL instance ID that this connection profile is
261
364
  # associated with.
262
365
  # Corresponds to the JSON property `cloudSqlId`
@@ -284,6 +387,7 @@ module Google
284
387
 
285
388
  # Update properties of this object
286
389
  def update!(**args)
390
+ @additional_public_ip = args[:additional_public_ip] if args.key?(:additional_public_ip)
287
391
  @cloud_sql_id = args[:cloud_sql_id] if args.key?(:cloud_sql_id)
288
392
  @private_ip = args[:private_ip] if args.key?(:private_ip)
289
393
  @public_ip = args[:public_ip] if args.key?(:public_ip)
@@ -314,6 +418,14 @@ module Google
314
418
  attr_accessor :auto_storage_increase
315
419
  alias_method :auto_storage_increase?, :auto_storage_increase
316
420
 
421
+ # Optional. Availability type. Potential values: * `ZONAL`: The instance serves
422
+ # data from only one zone. Outages in that zone affect data availability. * `
423
+ # REGIONAL`: The instance can serve data from more than one zone in a region (it
424
+ # is highly available).
425
+ # Corresponds to the JSON property `availabilityType`
426
+ # @return [String]
427
+ attr_accessor :availability_type
428
+
317
429
  # The KMS key name used for the csql instance.
318
430
  # Corresponds to the JSON property `cmekKeyName`
319
431
  # @return [String]
@@ -363,6 +475,13 @@ module Google
363
475
  attr_accessor :root_password_set
364
476
  alias_method :root_password_set?, :root_password_set
365
477
 
478
+ # Optional. The Google Cloud Platform zone where the failover Cloud SQL database
479
+ # instance is located. Used when the Cloud SQL database availability type is
480
+ # REGIONAL (i.e. multiple zones / highly available).
481
+ # Corresponds to the JSON property `secondaryZone`
482
+ # @return [String]
483
+ attr_accessor :secondary_zone
484
+
366
485
  # The Database Migration Service source connection profile ID, in the format: `
367
486
  # projects/my_project_name/locations/us-central1/connectionProfiles/
368
487
  # connection_profile_ID`
@@ -406,6 +525,7 @@ module Google
406
525
  def update!(**args)
407
526
  @activation_policy = args[:activation_policy] if args.key?(:activation_policy)
408
527
  @auto_storage_increase = args[:auto_storage_increase] if args.key?(:auto_storage_increase)
528
+ @availability_type = args[:availability_type] if args.key?(:availability_type)
409
529
  @cmek_key_name = args[:cmek_key_name] if args.key?(:cmek_key_name)
410
530
  @collation = args[:collation] if args.key?(:collation)
411
531
  @data_disk_size_gb = args[:data_disk_size_gb] if args.key?(:data_disk_size_gb)
@@ -415,6 +535,7 @@ module Google
415
535
  @ip_config = args[:ip_config] if args.key?(:ip_config)
416
536
  @root_password = args[:root_password] if args.key?(:root_password)
417
537
  @root_password_set = args[:root_password_set] if args.key?(:root_password_set)
538
+ @secondary_zone = args[:secondary_zone] if args.key?(:secondary_zone)
418
539
  @source_id = args[:source_id] if args.key?(:source_id)
419
540
  @storage_auto_resize_limit = args[:storage_auto_resize_limit] if args.key?(:storage_auto_resize_limit)
420
541
  @tier = args[:tier] if args.key?(:tier)
@@ -423,6 +544,152 @@ module Google
423
544
  end
424
545
  end
425
546
 
547
+ # Column is not used as an independent entity, it is retrieved as part of a
548
+ # Table entity.
549
+ class ColumnEntity
550
+ include Google::Apis::Core::Hashable
551
+
552
+ # Is the column of array type
553
+ # Corresponds to the JSON property `array`
554
+ # @return [Boolean]
555
+ attr_accessor :array
556
+ alias_method :array?, :array
557
+
558
+ # If the column is array, of which length
559
+ # Corresponds to the JSON property `arrayLength`
560
+ # @return [Fixnum]
561
+ attr_accessor :array_length
562
+
563
+ # Is the column auto-generated/identity
564
+ # Corresponds to the JSON property `autoGenerated`
565
+ # @return [Boolean]
566
+ attr_accessor :auto_generated
567
+ alias_method :auto_generated?, :auto_generated
568
+
569
+ # Charset override - instead of table level charset
570
+ # Corresponds to the JSON property `charset`
571
+ # @return [String]
572
+ attr_accessor :charset
573
+
574
+ # Collation override - instead of table level collation
575
+ # Corresponds to the JSON property `collation`
576
+ # @return [String]
577
+ attr_accessor :collation
578
+
579
+ # Comment associated with the column
580
+ # Corresponds to the JSON property `comment`
581
+ # @return [String]
582
+ attr_accessor :comment
583
+
584
+ # Custom engine specific features
585
+ # Corresponds to the JSON property `customFeatures`
586
+ # @return [Hash<String,Object>]
587
+ attr_accessor :custom_features
588
+
589
+ # Column data type
590
+ # Corresponds to the JSON property `dataType`
591
+ # @return [String]
592
+ attr_accessor :data_type
593
+
594
+ # Default value of the column
595
+ # Corresponds to the JSON property `defaultValue`
596
+ # @return [String]
597
+ attr_accessor :default_value
598
+
599
+ # Column fractional second precision - used for timestamp based datatypes
600
+ # Corresponds to the JSON property `fractionalSecondsPrecision`
601
+ # @return [Fixnum]
602
+ attr_accessor :fractional_seconds_precision
603
+
604
+ # Column length - e.g. varchar (50)
605
+ # Corresponds to the JSON property `length`
606
+ # @return [Fixnum]
607
+ attr_accessor :length
608
+
609
+ # Column name
610
+ # Corresponds to the JSON property `name`
611
+ # @return [String]
612
+ attr_accessor :name
613
+
614
+ # Is the column nullable
615
+ # Corresponds to the JSON property `nullable`
616
+ # @return [Boolean]
617
+ attr_accessor :nullable
618
+ alias_method :nullable?, :nullable
619
+
620
+ # Column order in the table
621
+ # Corresponds to the JSON property `ordinalPosition`
622
+ # @return [Fixnum]
623
+ attr_accessor :ordinal_position
624
+
625
+ # Column precision - when relevant
626
+ # Corresponds to the JSON property `precision`
627
+ # @return [Fixnum]
628
+ attr_accessor :precision
629
+
630
+ # Column scale - when relevant
631
+ # Corresponds to the JSON property `scale`
632
+ # @return [Fixnum]
633
+ attr_accessor :scale
634
+
635
+ # Specifies the list of values allowed in the column. List is empty if set
636
+ # values is not required
637
+ # Corresponds to the JSON property `setValues`
638
+ # @return [Array<String>]
639
+ attr_accessor :set_values
640
+
641
+ # Is the column a UDT
642
+ # Corresponds to the JSON property `udt`
643
+ # @return [Boolean]
644
+ attr_accessor :udt
645
+ alias_method :udt?, :udt
646
+
647
+ def initialize(**args)
648
+ update!(**args)
649
+ end
650
+
651
+ # Update properties of this object
652
+ def update!(**args)
653
+ @array = args[:array] if args.key?(:array)
654
+ @array_length = args[:array_length] if args.key?(:array_length)
655
+ @auto_generated = args[:auto_generated] if args.key?(:auto_generated)
656
+ @charset = args[:charset] if args.key?(:charset)
657
+ @collation = args[:collation] if args.key?(:collation)
658
+ @comment = args[:comment] if args.key?(:comment)
659
+ @custom_features = args[:custom_features] if args.key?(:custom_features)
660
+ @data_type = args[:data_type] if args.key?(:data_type)
661
+ @default_value = args[:default_value] if args.key?(:default_value)
662
+ @fractional_seconds_precision = args[:fractional_seconds_precision] if args.key?(:fractional_seconds_precision)
663
+ @length = args[:length] if args.key?(:length)
664
+ @name = args[:name] if args.key?(:name)
665
+ @nullable = args[:nullable] if args.key?(:nullable)
666
+ @ordinal_position = args[:ordinal_position] if args.key?(:ordinal_position)
667
+ @precision = args[:precision] if args.key?(:precision)
668
+ @scale = args[:scale] if args.key?(:scale)
669
+ @set_values = args[:set_values] if args.key?(:set_values)
670
+ @udt = args[:udt] if args.key?(:udt)
671
+ end
672
+ end
673
+
674
+ # Request message for 'CommitConversionWorkspace' request.
675
+ class CommitConversionWorkspaceRequest
676
+ include Google::Apis::Core::Hashable
677
+
678
+ # Optional name of the commit.
679
+ # Corresponds to the JSON property `commitName`
680
+ # @return [String]
681
+ attr_accessor :commit_name
682
+
683
+ def initialize(**args)
684
+ update!(**args)
685
+ end
686
+
687
+ # Update properties of this object
688
+ def update!(**args)
689
+ @commit_name = args[:commit_name] if args.key?(:commit_name)
690
+ end
691
+ end
692
+
426
693
  # A connection profile definition.
427
694
  class ConnectionProfile
428
695
  include Google::Apis::Core::Hashable
@@ -480,6 +747,11 @@ module Google
480
747
  # @return [String]
481
748
  attr_accessor :name
482
749
 
750
+ # Specifies connection parameters required specifically for Oracle databases.
751
+ # Corresponds to the JSON property `oracle`
752
+ # @return [Google::Apis::DatamigrationV1::OracleConnectionProfile]
753
+ attr_accessor :oracle
754
+
483
755
  # Specifies connection parameters required specifically for PostgreSQL databases.
484
756
  # Corresponds to the JSON property `postgresql`
485
757
  # @return [Google::Apis::DatamigrationV1::PostgreSqlConnectionProfile]
@@ -516,6 +788,7 @@ module Google
516
788
  @labels = args[:labels] if args.key?(:labels)
517
789
  @mysql = args[:mysql] if args.key?(:mysql)
518
790
  @name = args[:name] if args.key?(:name)
791
+ @oracle = args[:oracle] if args.key?(:oracle)
519
792
  @postgresql = args[:postgresql] if args.key?(:postgresql)
520
793
  @provider = args[:provider] if args.key?(:provider)
521
794
  @state = args[:state] if args.key?(:state)
@@ -523,6 +796,329 @@ module Google
523
796
  end
524
797
  end
525
798
 
799
+ # Constraint is not used as an independent entity, it is retrieved as part of
800
+ # another entity such as Table or View.
801
+ class ConstraintEntity
802
+ include Google::Apis::Core::Hashable
803
+
804
+ # Custom engine specific features
805
+ # Corresponds to the JSON property `customFeatures`
806
+ # @return [Hash<String,Object>]
807
+ attr_accessor :custom_features
808
+
809
+ # The name of the table constraint
810
+ # Corresponds to the JSON property `name`
811
+ # @return [String]
812
+ attr_accessor :name
813
+
814
+ # Reference Columns which may be associated with the constraint. eg: if the
815
+ # constraint is a FOREIGN_KEY, this represents the list of full names of
816
+ # referenced columns by the foreign key.
817
+ # Corresponds to the JSON property `referenceColumns`
818
+ # @return [Array<String>]
819
+ attr_accessor :reference_columns
820
+
821
+ # Reference table which may be associated with the constraint. eg: if the
822
+ # constraint is a FOREIGN_KEY, this represents the list of full name of the
823
+ # referenced table by the foreign key.
824
+ # Corresponds to the JSON property `referenceTable`
825
+ # @return [String]
826
+ attr_accessor :reference_table
827
+
828
+ # Table columns used as part of the Constraint for e.g. primary key constraint
829
+ # should list the columns which constitutes the key
830
+ # Corresponds to the JSON property `tableColumns`
831
+ # @return [Array<String>]
832
+ attr_accessor :table_columns
833
+
834
+ # Table which is associated with the constraint. In case the constraint is
835
+ # defined on a table, this field is left empty as this information is stored in
836
+ # parent_name. However, if constraint is defined on a view, this field stores
837
+ # the table name on which the view is defined.
838
+ # Corresponds to the JSON property `tableName`
839
+ # @return [String]
840
+ attr_accessor :table_name
841
+
842
+ # Type of constraint - e.g. unique, primary key, foreign key (currently only
843
+ # primary key is supported)
844
+ # Corresponds to the JSON property `type`
845
+ # @return [String]
846
+ attr_accessor :type
847
+
848
+ def initialize(**args)
849
+ update!(**args)
850
+ end
851
+
852
+ # Update properties of this object
853
+ def update!(**args)
854
+ @custom_features = args[:custom_features] if args.key?(:custom_features)
855
+ @name = args[:name] if args.key?(:name)
856
+ @reference_columns = args[:reference_columns] if args.key?(:reference_columns)
857
+ @reference_table = args[:reference_table] if args.key?(:reference_table)
858
+ @table_columns = args[:table_columns] if args.key?(:table_columns)
859
+ @table_name = args[:table_name] if args.key?(:table_name)
860
+ @type = args[:type] if args.key?(:type)
861
+ end
862
+ end
863
+
864
+ # The main conversion workspace resource entity.
865
+ class ConversionWorkspace
866
+ include Google::Apis::Core::Hashable
867
+
868
+ # Output only. The timestamp when the workspace resource was created.
869
+ # Corresponds to the JSON property `createTime`
870
+ # @return [String]
871
+ attr_accessor :create_time
872
+
873
+ # The type and version of a source or destination DB.
874
+ # Corresponds to the JSON property `destination`
875
+ # @return [Google::Apis::DatamigrationV1::DatabaseEngineInfo]
876
+ attr_accessor :destination
877
+
878
+ # The display name for the workspace
879
+ # Corresponds to the JSON property `displayName`
880
+ # @return [String]
881
+ attr_accessor :display_name
882
+
883
+ # A generic list of settings for the workspace. The settings are database pair
884
+ # dependant and can indicate default behavior for the mapping rules engine or
885
+ # turn on or off specific features. Such examples can be:
886
+ # convert_foreign_key_to_interleave=true, skip_triggers=false,
887
+ # ignore_non_table_synonyms=true
888
+ # Corresponds to the JSON property `globalSettings`
889
+ # @return [Hash<String,String>]
890
+ attr_accessor :global_settings
891
+
892
+ # Output only. Whether the workspace has uncommitted changes (changes which were
893
+ # made after the workspace was committed)
894
+ # Corresponds to the JSON property `hasUncommittedChanges`
895
+ # @return [Boolean]
896
+ attr_accessor :has_uncommitted_changes
897
+ alias_method :has_uncommitted_changes?, :has_uncommitted_changes
898
+
899
+ # Output only. The latest commit id
900
+ # Corresponds to the JSON property `latestCommitId`
901
+ # @return [String]
902
+ attr_accessor :latest_commit_id
903
+
904
+ # Output only. The timestamp when the workspace was committed.
905
+ # Corresponds to the JSON property `latestCommitTime`
906
+ # @return [String]
907
+ attr_accessor :latest_commit_time
908
+
909
+ # Full name of the workspace resource, in the form of: projects/`project`/
910
+ # locations/`location`/conversionWorkspaces/`conversion_workspace`.
911
+ # Corresponds to the JSON property `name`
912
+ # @return [String]
913
+ attr_accessor :name
914
+
915
+ # The type and version of a source or destination DB.
916
+ # Corresponds to the JSON property `source`
917
+ # @return [Google::Apis::DatamigrationV1::DatabaseEngineInfo]
918
+ attr_accessor :source
919
+
920
+ # Output only. The timestamp when the workspace resource was last updated.
921
+ # Corresponds to the JSON property `updateTime`
922
+ # @return [String]
923
+ attr_accessor :update_time
924
+
925
+ def initialize(**args)
926
+ update!(**args)
927
+ end
928
+
929
+ # Update properties of this object
930
+ def update!(**args)
931
+ @create_time = args[:create_time] if args.key?(:create_time)
932
+ @destination = args[:destination] if args.key?(:destination)
933
+ @display_name = args[:display_name] if args.key?(:display_name)
934
+ @global_settings = args[:global_settings] if args.key?(:global_settings)
935
+ @has_uncommitted_changes = args[:has_uncommitted_changes] if args.key?(:has_uncommitted_changes)
936
+ @latest_commit_id = args[:latest_commit_id] if args.key?(:latest_commit_id)
937
+ @latest_commit_time = args[:latest_commit_time] if args.key?(:latest_commit_time)
938
+ @name = args[:name] if args.key?(:name)
939
+ @source = args[:source] if args.key?(:source)
940
+ @update_time = args[:update_time] if args.key?(:update_time)
941
+ end
942
+ end
943
+
944
+ # A conversion workspace's version.
945
+ class ConversionWorkspaceInfo
946
+ include Google::Apis::Core::Hashable
947
+
948
+ # The commit ID of the conversion workspace.
949
+ # Corresponds to the JSON property `commitId`
950
+ # @return [String]
951
+ attr_accessor :commit_id
952
+
953
+ # The resource name (URI) of the conversion workspace.
954
+ # Corresponds to the JSON property `name`
955
+ # @return [String]
956
+ attr_accessor :name
957
+
958
+ def initialize(**args)
959
+ update!(**args)
960
+ end
961
+
962
+ # Update properties of this object
963
+ def update!(**args)
964
+ @commit_id = args[:commit_id] if args.key?(:commit_id)
965
+ @name = args[:name] if args.key?(:name)
966
+ end
967
+ end
968
+
969
+ # Request message for 'ConvertConversionWorkspace' request.
970
+ class ConvertConversionWorkspaceRequest
971
+ include Google::Apis::Core::Hashable
972
+
973
+ # Should the conversion workspace be committed automatically after the
974
+ # conversion.
975
+ # Corresponds to the JSON property `autoCommit`
976
+ # @return [Boolean]
977
+ attr_accessor :auto_commit
978
+ alias_method :auto_commit?, :auto_commit
979
+
980
+ # Filter the entities to convert. Leaving this field empty will convert all of
981
+ # the entities. Supports Google AIP-160 style filtering.
982
+ # Corresponds to the JSON property `filter`
983
+ # @return [String]
984
+ attr_accessor :filter
985
+
986
+ def initialize(**args)
987
+ update!(**args)
988
+ end
989
+
990
+ # Update properties of this object
991
+ def update!(**args)
992
+ @auto_commit = args[:auto_commit] if args.key?(:auto_commit)
993
+ @filter = args[:filter] if args.key?(:filter)
994
+ end
995
+ end
996
+
997
+ # The type and version of a source or destination DB.
998
+ class DatabaseEngineInfo
999
+ include Google::Apis::Core::Hashable
1000
+
1001
+ # Required. Engine Type.
1002
+ # Corresponds to the JSON property `engine`
1003
+ # @return [String]
1004
+ attr_accessor :engine
1005
+
1006
+ # Required. Engine named version, for e.g. 12.c.1
1007
+ # Corresponds to the JSON property `version`
1008
+ # @return [String]
1009
+ attr_accessor :version
1010
+
1011
+ def initialize(**args)
1012
+ update!(**args)
1013
+ end
1014
+
1015
+ # Update properties of this object
1016
+ def update!(**args)
1017
+ @engine = args[:engine] if args.key?(:engine)
1018
+ @version = args[:version] if args.key?(:version)
1019
+ end
1020
+ end
1021
+
1022
+ # The base entity type for all the database related entities The message
1023
+ # contains the entity name, the name of its parent, its type and the specific
1024
+ # details per its type
1025
+ class DatabaseEntity
1026
+ include Google::Apis::Core::Hashable
1027
+
1028
+ # Function's parent is a schema.
1029
+ # Corresponds to the JSON property `databaseFunction`
1030
+ # @return [Google::Apis::DatamigrationV1::FunctionEntity]
1031
+ attr_accessor :database_function
1032
+
1033
+ # Package's parent is a schema.
1034
+ # Corresponds to the JSON property `databasePackage`
1035
+ # @return [Google::Apis::DatamigrationV1::PackageEntity]
1036
+ attr_accessor :database_package
1037
+
1038
+ # The type of the database entity (table, view, index, ...).
1039
+ # Corresponds to the JSON property `entityType`
1040
+ # @return [String]
1041
+ attr_accessor :entity_type
1042
+
1043
+ # Details about entity mappings. For source tree entities, this holds the draft
1044
+ # entities which were generated by the mapping rules. For draft tree entities,
1045
+ # this holds the source entities which were converted to form the draft entity.
1046
+ # Destination entities will have no mapping details.
1047
+ # Corresponds to the JSON property `mappings`
1048
+ # @return [Array<Google::Apis::DatamigrationV1::EntityMapping>]
1049
+ attr_accessor :mappings
1050
+
1051
+ # The full name of the parent entity (e.g. schema name).
1052
+ # Corresponds to the JSON property `parentEntity`
1053
+ # @return [String]
1054
+ attr_accessor :parent_entity
1055
+
1056
+ # Schema typically has no parent entity, but can have a parent entity
1057
+ # DatabaseInstance (for database engines which supports it). For some database
1058
+ # engines the term schema and user can be used interchangeably when they refer
1059
+ # to a namespace or a collection of other database entities. Can store
1060
+ # additional information which is schema specific.
1061
+ # Corresponds to the JSON property `schema`
1062
+ # @return [Google::Apis::DatamigrationV1::SchemaEntity]
1063
+ attr_accessor :schema
1064
+
1065
+ # Sequence's parent is a schema.
1066
+ # Corresponds to the JSON property `sequence`
1067
+ # @return [Google::Apis::DatamigrationV1::SequenceEntity]
1068
+ attr_accessor :sequence
1069
+
1070
+ # The short name (e.g. table name) of the entity.
1071
+ # Corresponds to the JSON property `shortName`
1072
+ # @return [String]
1073
+ attr_accessor :short_name
1074
+
1075
+ # Stored procedure's parent is a schema.
1076
+ # Corresponds to the JSON property `storedProcedure`
1077
+ # @return [Google::Apis::DatamigrationV1::StoredProcedureEntity]
1078
+ attr_accessor :stored_procedure
1079
+
1080
+ # Synonym's parent is a schema.
1081
+ # Corresponds to the JSON property `synonym`
1082
+ # @return [Google::Apis::DatamigrationV1::SynonymEntity]
1083
+ attr_accessor :synonym
1084
+
1085
+ # Table's parent is a schema.
1086
+ # Corresponds to the JSON property `table`
1087
+ # @return [Google::Apis::DatamigrationV1::TableEntity]
1088
+ attr_accessor :table
1089
+
1090
+ # The type of tree the entity belongs to.
1091
+ # Corresponds to the JSON property `tree`
1092
+ # @return [String]
1093
+ attr_accessor :tree
1094
+
1095
+ # View's parent is a schema.
1096
+ # Corresponds to the JSON property `view`
1097
+ # @return [Google::Apis::DatamigrationV1::ViewEntity]
1098
+ attr_accessor :view
1099
+
1100
+ def initialize(**args)
1101
+ update!(**args)
1102
+ end
1103
+
1104
+ # Update properties of this object
1105
+ def update!(**args)
1106
+ @database_function = args[:database_function] if args.key?(:database_function)
1107
+ @database_package = args[:database_package] if args.key?(:database_package)
1108
+ @entity_type = args[:entity_type] if args.key?(:entity_type)
1109
+ @mappings = args[:mappings] if args.key?(:mappings)
1110
+ @parent_entity = args[:parent_entity] if args.key?(:parent_entity)
1111
+ @schema = args[:schema] if args.key?(:schema)
1112
+ @sequence = args[:sequence] if args.key?(:sequence)
1113
+ @short_name = args[:short_name] if args.key?(:short_name)
1114
+ @stored_procedure = args[:stored_procedure] if args.key?(:stored_procedure)
1115
+ @synonym = args[:synonym] if args.key?(:synonym)
1116
+ @table = args[:table] if args.key?(:table)
1117
+ @tree = args[:tree] if args.key?(:tree)
1118
+ @view = args[:view] if args.key?(:view)
1119
+ end
1120
+ end
1121
+
526
1122
  # A message defining the database engine and provider.
527
1123
  class DatabaseType
528
1124
  include Google::Apis::Core::Hashable
@@ -548,6 +1144,51 @@ module Google
548
1144
  end
549
1145
  end
550
1146
 
1147
+ # Response message for 'DescribeConversionWorkspaceRevisions' request.
1148
+ class DescribeConversionWorkspaceRevisionsResponse
1149
+ include Google::Apis::Core::Hashable
1150
+
1151
+ # The list of conversion workspace revisions.
1152
+ # Corresponds to the JSON property `revisions`
1153
+ # @return [Array<Google::Apis::DatamigrationV1::ConversionWorkspace>]
1154
+ attr_accessor :revisions
1155
+
1156
+ def initialize(**args)
1157
+ update!(**args)
1158
+ end
1159
+
1160
+ # Update properties of this object
1161
+ def update!(**args)
1162
+ @revisions = args[:revisions] if args.key?(:revisions)
1163
+ end
1164
+ end
1165
+
1166
+ # Response message for 'DescribeDatabaseEntities' request.
1167
+ class DescribeDatabaseEntitiesResponse
1168
+ include Google::Apis::Core::Hashable
1169
+
1170
+ # The list of database entities for the conversion workspace.
1171
+ # Corresponds to the JSON property `databaseEntities`
1172
+ # @return [Array<Google::Apis::DatamigrationV1::DatabaseEntity>]
1173
+ attr_accessor :database_entities
1174
+
1175
+ # A token, which can be sent as `page_token` to retrieve the next page. If this
1176
+ # field is omitted, there are no subsequent pages.
1177
+ # Corresponds to the JSON property `nextPageToken`
1178
+ # @return [String]
1179
+ attr_accessor :next_page_token
1180
+
1181
+ def initialize(**args)
1182
+ update!(**args)
1183
+ end
1184
+
1185
+ # Update properties of this object
1186
+ def update!(**args)
1187
+ @database_entities = args[:database_entities] if args.key?(:database_entities)
1188
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1189
+ end
1190
+ end
1191
+
551
1192
  # Dump flag definition.
552
1193
  class DumpFlag
553
1194
  include Google::Apis::Core::Hashable
@@ -608,6 +1249,74 @@ module Google
608
1249
  end
609
1250
  end
610
1251
 
1252
+ # Details of the mappings of a database entity.
1253
+ class EntityMapping
1254
+ include Google::Apis::Core::Hashable
1255
+
1256
+ # Target entity full name. The draft entity can also include a column, index or
1257
+ # constraint using the same naming notation schema.table.column
1258
+ # Corresponds to the JSON property `draftEntity`
1259
+ # @return [String]
1260
+ attr_accessor :draft_entity
1261
+
1262
+ # Entity mapping log entries. Multiple rules can be effective and contribute
1263
+ # changes to a converted entity such as, a rule can handle the entity name,
1264
+ # another rule can handle an entity type. In addition, rules which did not
1265
+ # change the entity are also logged along the with the reason preventing them to
1266
+ # do so.
1267
+ # Corresponds to the JSON property `mappingLog`
1268
+ # @return [Array<Google::Apis::DatamigrationV1::EntityMappingLogEntry>]
1269
+ attr_accessor :mapping_log
1270
+
1271
+ # Source entity full name. The source entity can also be a column, index or
1272
+ # constraint using the same naming notation schema.table.column
1273
+ # Corresponds to the JSON property `sourceEntity`
1274
+ # @return [String]
1275
+ attr_accessor :source_entity
1276
+
1277
+ def initialize(**args)
1278
+ update!(**args)
1279
+ end
1280
+
1281
+ # Update properties of this object
1282
+ def update!(**args)
1283
+ @draft_entity = args[:draft_entity] if args.key?(:draft_entity)
1284
+ @mapping_log = args[:mapping_log] if args.key?(:mapping_log)
1285
+ @source_entity = args[:source_entity] if args.key?(:source_entity)
1286
+ end
1287
+ end
1288
+
1289
+ # A single record of a rule which was used for a mapping.
1290
+ class EntityMappingLogEntry
1291
+ include Google::Apis::Core::Hashable
1292
+
1293
+ # Comment.
1294
+ # Corresponds to the JSON property `mappingComment`
1295
+ # @return [String]
1296
+ attr_accessor :mapping_comment
1297
+
1298
+ # Which rule caused it.
1299
+ # Corresponds to the JSON property `ruleId`
1300
+ # @return [String]
1301
+ attr_accessor :rule_id
1302
+
1303
+ # Rule revision id
1304
+ # Corresponds to the JSON property `ruleRevisionId`
1305
+ # @return [String]
1306
+ attr_accessor :rule_revision_id
1307
+
1308
+ def initialize(**args)
1309
+ update!(**args)
1310
+ end
1311
+
1312
+ # Update properties of this object
1313
+ def update!(**args)
1314
+ @mapping_comment = args[:mapping_comment] if args.key?(:mapping_comment)
1315
+ @rule_id = args[:rule_id] if args.key?(:rule_id)
1316
+ @rule_revision_id = args[:rule_revision_id] if args.key?(:rule_revision_id)
1317
+ end
1318
+ end
1319
+
611
1320
  # Represents a textual expression in the Common Expression Language (CEL) syntax.
612
1321
  # CEL is a C-like expression language. The syntax and semantics of CEL are
613
1322
  # documented at https://github.com/google/cel-spec. Example (Comparison): title:
@@ -662,6 +1371,74 @@ module Google
662
1371
  end
663
1372
  end
664
1373
 
1374
+ # Forward SSH Tunnel connectivity.
1375
+ class ForwardSshTunnelConnectivity
1376
+ include Google::Apis::Core::Hashable
1377
+
1378
+ # Required. Hostname for the SSH tunnel.
1379
+ # Corresponds to the JSON property `hostname`
1380
+ # @return [String]
1381
+ attr_accessor :hostname
1382
+
1383
+ # Input only. SSH password.
1384
+ # Corresponds to the JSON property `password`
1385
+ # @return [String]
1386
+ attr_accessor :password
1387
+
1388
+ # Port for the SSH tunnel, default value is 22.
1389
+ # Corresponds to the JSON property `port`
1390
+ # @return [Fixnum]
1391
+ attr_accessor :port
1392
+
1393
+ # Input only. SSH private key.
1394
+ # Corresponds to the JSON property `privateKey`
1395
+ # @return [String]
1396
+ attr_accessor :private_key
1397
+
1398
+ # Required. Username for the SSH tunnel.
1399
+ # Corresponds to the JSON property `username`
1400
+ # @return [String]
1401
+ attr_accessor :username
1402
+
1403
+ def initialize(**args)
1404
+ update!(**args)
1405
+ end
1406
+
1407
+ # Update properties of this object
1408
+ def update!(**args)
1409
+ @hostname = args[:hostname] if args.key?(:hostname)
1410
+ @password = args[:password] if args.key?(:password)
1411
+ @port = args[:port] if args.key?(:port)
1412
+ @private_key = args[:private_key] if args.key?(:private_key)
1413
+ @username = args[:username] if args.key?(:username)
1414
+ end
1415
+ end
1416
+
1417
+ # Function's parent is a schema.
1418
+ class FunctionEntity
1419
+ include Google::Apis::Core::Hashable
1420
+
1421
+ # Custom engine specific features
1422
+ # Corresponds to the JSON property `customFeatures`
1423
+ # @return [Hash<String,Object>]
1424
+ attr_accessor :custom_features
1425
+
1426
+ # The SQL code which creates the function
1427
+ # Corresponds to the JSON property `sqlCode`
1428
+ # @return [String]
1429
+ attr_accessor :sql_code
1430
+
1431
+ def initialize(**args)
1432
+ update!(**args)
1433
+ end
1434
+
1435
+ # Update properties of this object
1436
+ def update!(**args)
1437
+ @custom_features = args[:custom_features] if args.key?(:custom_features)
1438
+ @sql_code = args[:sql_code] if args.key?(:sql_code)
1439
+ end
1440
+ end
1441
+
665
1442
  # Request message for 'GenerateSshScript' request.
666
1443
  class GenerateSshScriptRequest
667
1444
  include Google::Apis::Core::Hashable
@@ -718,29 +1495,135 @@ module Google
718
1495
  # @return [String]
719
1496
  attr_accessor :end_time
720
1497
 
721
- # Output only. Identifies whether the user has requested cancellation of the
722
- # operation. Operations that have successfully been cancelled have Operation.
723
- # error value with a google.rpc.Status.code of 1, corresponding to `Code.
724
- # CANCELLED`.
725
- # Corresponds to the JSON property `requestedCancellation`
726
- # @return [Boolean]
727
- attr_accessor :requested_cancellation
728
- alias_method :requested_cancellation?, :requested_cancellation
1498
+ # Output only. Identifies whether the user has requested cancellation of the
1499
+ # operation. Operations that have successfully been cancelled have Operation.
1500
+ # error value with a google.rpc.Status.code of 1, corresponding to `Code.
1501
+ # CANCELLED`.
1502
+ # Corresponds to the JSON property `requestedCancellation`
1503
+ # @return [Boolean]
1504
+ attr_accessor :requested_cancellation
1505
+ alias_method :requested_cancellation?, :requested_cancellation
1506
+
1507
+ # Output only. Human-readable status of the operation, if any.
1508
+ # Corresponds to the JSON property `statusMessage`
1509
+ # @return [String]
1510
+ attr_accessor :status_message
1511
+
1512
+ # Output only. Server-defined resource path for the target of the operation.
1513
+ # Corresponds to the JSON property `target`
1514
+ # @return [String]
1515
+ attr_accessor :target
1516
+
1517
+ # Output only. Name of the verb executed by the operation.
1518
+ # Corresponds to the JSON property `verb`
1519
+ # @return [String]
1520
+ attr_accessor :verb
1521
+
1522
+ def initialize(**args)
1523
+ update!(**args)
1524
+ end
1525
+
1526
+ # Update properties of this object
1527
+ def update!(**args)
1528
+ @api_version = args[:api_version] if args.key?(:api_version)
1529
+ @create_time = args[:create_time] if args.key?(:create_time)
1530
+ @end_time = args[:end_time] if args.key?(:end_time)
1531
+ @requested_cancellation = args[:requested_cancellation] if args.key?(:requested_cancellation)
1532
+ @status_message = args[:status_message] if args.key?(:status_message)
1533
+ @target = args[:target] if args.key?(:target)
1534
+ @verb = args[:verb] if args.key?(:verb)
1535
+ end
1536
+ end
1537
+
1538
+ # Request message for 'ImportMappingRules' request.
1539
+ class ImportMappingRulesRequest
1540
+ include Google::Apis::Core::Hashable
1541
+
1542
+ # Should the conversion workspace be committed automatically after the import
1543
+ # operation.
1544
+ # Corresponds to the JSON property `autoCommit`
1545
+ # @return [Boolean]
1546
+ attr_accessor :auto_commit
1547
+ alias_method :auto_commit?, :auto_commit
1548
+
1549
+ # One or more rules files
1550
+ # Corresponds to the JSON property `rulesFiles`
1551
+ # @return [Array<Google::Apis::DatamigrationV1::RulesFile>]
1552
+ attr_accessor :rules_files
1553
+
1554
+ # The format of the rules content file.
1555
+ # Corresponds to the JSON property `rulesFormat`
1556
+ # @return [String]
1557
+ attr_accessor :rules_format
1558
+
1559
+ def initialize(**args)
1560
+ update!(**args)
1561
+ end
1562
+
1563
+ # Update properties of this object
1564
+ def update!(**args)
1565
+ @auto_commit = args[:auto_commit] if args.key?(:auto_commit)
1566
+ @rules_files = args[:rules_files] if args.key?(:rules_files)
1567
+ @rules_format = args[:rules_format] if args.key?(:rules_format)
1568
+ end
1569
+ end
1570
+
1571
+ # Details regarding an Import Rules background job
1572
+ class ImportRulesJobDetails
1573
+ include Google::Apis::Core::Hashable
1574
+
1575
+ # The requested file format
1576
+ # Corresponds to the JSON property `fileFormat`
1577
+ # @return [String]
1578
+ attr_accessor :file_format
1579
+
1580
+ # File names used for the import rules job
1581
+ # Corresponds to the JSON property `files`
1582
+ # @return [Array<String>]
1583
+ attr_accessor :files
1584
+
1585
+ def initialize(**args)
1586
+ update!(**args)
1587
+ end
1588
+
1589
+ # Update properties of this object
1590
+ def update!(**args)
1591
+ @file_format = args[:file_format] if args.key?(:file_format)
1592
+ @files = args[:files] if args.key?(:files)
1593
+ end
1594
+ end
1595
+
1596
+ # Index is not used as an independent entity, it is retrieved as part of a Table
1597
+ # entity.
1598
+ class IndexEntity
1599
+ include Google::Apis::Core::Hashable
729
1600
 
730
- # Output only. Human-readable status of the operation, if any.
731
- # Corresponds to the JSON property `statusMessage`
732
- # @return [String]
733
- attr_accessor :status_message
1601
+ # Custom engine specific features
1602
+ # Corresponds to the JSON property `customFeatures`
1603
+ # @return [Hash<String,Object>]
1604
+ attr_accessor :custom_features
734
1605
 
735
- # Output only. Server-defined resource path for the target of the operation.
736
- # Corresponds to the JSON property `target`
1606
+ # The name of the index
1607
+ # Corresponds to the JSON property `name`
737
1608
  # @return [String]
738
- attr_accessor :target
1609
+ attr_accessor :name
739
1610
 
740
- # Output only. Name of the verb executed by the operation.
741
- # Corresponds to the JSON property `verb`
1611
+ # Table columns used as part of the Index for e.g. B-TREE index should list the
1612
+ # columns which constitutes the index.
1613
+ # Corresponds to the JSON property `tableColumns`
1614
+ # @return [Array<String>]
1615
+ attr_accessor :table_columns
1616
+
1617
+ # Type of index - e.g. B-TREE
1618
+ # Corresponds to the JSON property `type`
742
1619
  # @return [String]
743
- attr_accessor :verb
1620
+ attr_accessor :type
1621
+
1622
+ # boolean value indicating whether the index is unique
1623
+ # Corresponds to the JSON property `unique`
1624
+ # @return [Boolean]
1625
+ attr_accessor :unique
1626
+ alias_method :unique?, :unique
744
1627
 
745
1628
  def initialize(**args)
746
1629
  update!(**args)
@@ -748,13 +1631,11 @@ module Google
748
1631
 
749
1632
  # Update properties of this object
750
1633
  def update!(**args)
751
- @api_version = args[:api_version] if args.key?(:api_version)
752
- @create_time = args[:create_time] if args.key?(:create_time)
753
- @end_time = args[:end_time] if args.key?(:end_time)
754
- @requested_cancellation = args[:requested_cancellation] if args.key?(:requested_cancellation)
755
- @status_message = args[:status_message] if args.key?(:status_message)
756
- @target = args[:target] if args.key?(:target)
757
- @verb = args[:verb] if args.key?(:verb)
1634
+ @custom_features = args[:custom_features] if args.key?(:custom_features)
1635
+ @name = args[:name] if args.key?(:name)
1636
+ @table_columns = args[:table_columns] if args.key?(:table_columns)
1637
+ @type = args[:type] if args.key?(:type)
1638
+ @unique = args[:unique] if args.key?(:unique)
758
1639
  end
759
1640
  end
760
1641
 
@@ -790,6 +1671,38 @@ module Google
790
1671
  end
791
1672
  end
792
1673
 
1674
+ # Response message for 'ListConversionWorkspaces' request.
1675
+ class ListConversionWorkspacesResponse
1676
+ include Google::Apis::Core::Hashable
1677
+
1678
+ # The list of conversion workspace objects.
1679
+ # Corresponds to the JSON property `conversionWorkspaces`
1680
+ # @return [Array<Google::Apis::DatamigrationV1::ConversionWorkspace>]
1681
+ attr_accessor :conversion_workspaces
1682
+
1683
+ # A token, which can be sent as `page_token` to retrieve the next page. If this
1684
+ # field is omitted, there are no subsequent pages.
1685
+ # Corresponds to the JSON property `nextPageToken`
1686
+ # @return [String]
1687
+ attr_accessor :next_page_token
1688
+
1689
+ # Locations that could not be reached.
1690
+ # Corresponds to the JSON property `unreachable`
1691
+ # @return [Array<String>]
1692
+ attr_accessor :unreachable
1693
+
1694
+ def initialize(**args)
1695
+ update!(**args)
1696
+ end
1697
+
1698
+ # Update properties of this object
1699
+ def update!(**args)
1700
+ @conversion_workspaces = args[:conversion_workspaces] if args.key?(:conversion_workspaces)
1701
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1702
+ @unreachable = args[:unreachable] if args.key?(:unreachable)
1703
+ end
1704
+ end
1705
+
793
1706
  # The response message for Locations.ListLocations.
794
1707
  class ListLocationsResponse
795
1708
  include Google::Apis::Core::Hashable
@@ -872,6 +1785,38 @@ module Google
872
1785
  end
873
1786
  end
874
1787
 
1788
+ # Response message for 'ListPrivateConnections' request.
1789
+ class ListPrivateConnectionsResponse
1790
+ include Google::Apis::Core::Hashable
1791
+
1792
+ # A token, which can be sent as `page_token` to retrieve the next page. If this
1793
+ # field is omitted, there are no subsequent pages.
1794
+ # Corresponds to the JSON property `nextPageToken`
1795
+ # @return [String]
1796
+ attr_accessor :next_page_token
1797
+
1798
+ # List of private connections.
1799
+ # Corresponds to the JSON property `privateConnections`
1800
+ # @return [Array<Google::Apis::DatamigrationV1::PrivateConnection>]
1801
+ attr_accessor :private_connections
1802
+
1803
+ # Locations that could not be reached.
1804
+ # Corresponds to the JSON property `unreachable`
1805
+ # @return [Array<String>]
1806
+ attr_accessor :unreachable
1807
+
1808
+ def initialize(**args)
1809
+ update!(**args)
1810
+ end
1811
+
1812
+ # Update properties of this object
1813
+ def update!(**args)
1814
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1815
+ @private_connections = args[:private_connections] if args.key?(:private_connections)
1816
+ @unreachable = args[:unreachable] if args.key?(:unreachable)
1817
+ end
1818
+ end
1819
+
875
1820
  # A resource that represents Google Cloud Platform location.
876
1821
  class Location
877
1822
  include Google::Apis::Core::Hashable
@@ -942,6 +1887,11 @@ module Google
942
1887
  class MigrationJob
943
1888
  include Google::Apis::Core::Hashable
944
1889
 
1890
+ # A conversion workspace's version.
1891
+ # Corresponds to the JSON property `conversionWorkspace`
1892
+ # @return [Google::Apis::DatamigrationV1::ConversionWorkspaceInfo]
1893
+ attr_accessor :conversion_workspace
1894
+
945
1895
  # Output only. The timestamp when the migration job resource was created. A
946
1896
  # timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "
947
1897
  # 2014-10-02T15:01:23.045123456Z".
@@ -997,6 +1947,14 @@ module Google
997
1947
  # @return [Google::Apis::DatamigrationV1::Status]
998
1948
  attr_accessor :error
999
1949
 
1950
+ # This field can be used to select the entities to migrate as part of the
1951
+ # migration job. It uses AIP-160 notation to select a subset of the entities
1952
+ # configured on the associated conversion-workspace. This field should not be
1953
+ # set on migration-jobs that are not associated with a conversion workspace.
1954
+ # Corresponds to the JSON property `filter`
1955
+ # @return [String]
1956
+ attr_accessor :filter
1957
+
1000
1958
  # The resource labels for migration job to use to annotate any related
1001
1959
  # underlying resources such as Compute Engine VMs. An object containing a list
1002
1960
  # of "key": "value" pairs. Example: `` "name": "wrench", "mass": "1.3kg", "count"
@@ -1074,6 +2032,7 @@ module Google
1074
2032
 
1075
2033
  # Update properties of this object
1076
2034
  def update!(**args)
2035
+ @conversion_workspace = args[:conversion_workspace] if args.key?(:conversion_workspace)
1077
2036
  @create_time = args[:create_time] if args.key?(:create_time)
1078
2037
  @destination = args[:destination] if args.key?(:destination)
1079
2038
  @destination_database = args[:destination_database] if args.key?(:destination_database)
@@ -1083,6 +2042,7 @@ module Google
1083
2042
  @duration = args[:duration] if args.key?(:duration)
1084
2043
  @end_time = args[:end_time] if args.key?(:end_time)
1085
2044
  @error = args[:error] if args.key?(:error)
2045
+ @filter = args[:filter] if args.key?(:filter)
1086
2046
  @labels = args[:labels] if args.key?(:labels)
1087
2047
  @name = args[:name] if args.key?(:name)
1088
2048
  @phase = args[:phase] if args.key?(:phase)
@@ -1252,6 +2212,110 @@ module Google
1252
2212
  end
1253
2213
  end
1254
2214
 
2215
+ # Specifies connection parameters required specifically for Oracle databases.
2216
+ class OracleConnectionProfile
2217
+ include Google::Apis::Core::Hashable
2218
+
2219
+ # Required. Database service for the Oracle connection.
2220
+ # Corresponds to the JSON property `databaseService`
2221
+ # @return [String]
2222
+ attr_accessor :database_service
2223
+
2224
+ # Forward SSH Tunnel connectivity.
2225
+ # Corresponds to the JSON property `forwardSshConnectivity`
2226
+ # @return [Google::Apis::DatamigrationV1::ForwardSshTunnelConnectivity]
2227
+ attr_accessor :forward_ssh_connectivity
2228
+
2229
+ # Required. The IP or hostname of the source Oracle database.
2230
+ # Corresponds to the JSON property `host`
2231
+ # @return [String]
2232
+ attr_accessor :host
2233
+
2234
+ # Required. Input only. The password for the user that Database Migration
2235
+ # Service will be using to connect to the database. This field is not returned
2236
+ # on request, and the value is encrypted when stored in Database Migration
2237
+ # Service.
2238
+ # Corresponds to the JSON property `password`
2239
+ # @return [String]
2240
+ attr_accessor :password
2241
+
2242
+ # Output only. Indicates whether a new password is included in the request.
2243
+ # Corresponds to the JSON property `passwordSet`
2244
+ # @return [Boolean]
2245
+ attr_accessor :password_set
2246
+ alias_method :password_set?, :password_set
2247
+
2248
+ # Required. The network port of the source Oracle database.
2249
+ # Corresponds to the JSON property `port`
2250
+ # @return [Fixnum]
2251
+ attr_accessor :port
2252
+
2253
+ # Private Connectivity.
2254
+ # Corresponds to the JSON property `privateConnectivity`
2255
+ # @return [Google::Apis::DatamigrationV1::PrivateConnectivity]
2256
+ attr_accessor :private_connectivity
2257
+
2258
+ # Static IP address connectivity configured on service project.
2259
+ # Corresponds to the JSON property `staticServiceIpConnectivity`
2260
+ # @return [Google::Apis::DatamigrationV1::StaticServiceIpConnectivity]
2261
+ attr_accessor :static_service_ip_connectivity
2262
+
2263
+ # Required. The username that Database Migration Service will use to connect to
2264
+ # the database. The value is encrypted when stored in Database Migration Service.
2265
+ # Corresponds to the JSON property `username`
2266
+ # @return [String]
2267
+ attr_accessor :username
2268
+
2269
+ def initialize(**args)
2270
+ update!(**args)
2271
+ end
2272
+
2273
+ # Update properties of this object
2274
+ def update!(**args)
2275
+ @database_service = args[:database_service] if args.key?(:database_service)
2276
+ @forward_ssh_connectivity = args[:forward_ssh_connectivity] if args.key?(:forward_ssh_connectivity)
2277
+ @host = args[:host] if args.key?(:host)
2278
+ @password = args[:password] if args.key?(:password)
2279
+ @password_set = args[:password_set] if args.key?(:password_set)
2280
+ @port = args[:port] if args.key?(:port)
2281
+ @private_connectivity = args[:private_connectivity] if args.key?(:private_connectivity)
2282
+ @static_service_ip_connectivity = args[:static_service_ip_connectivity] if args.key?(:static_service_ip_connectivity)
2283
+ @username = args[:username] if args.key?(:username)
2284
+ end
2285
+ end
2286
+
2287
+ # Package's parent is a schema.
2288
+ class PackageEntity
2289
+ include Google::Apis::Core::Hashable
2290
+
2291
+ # Custom engine specific features
2292
+ # Corresponds to the JSON property `customFeatures`
2293
+ # @return [Hash<String,Object>]
2294
+ attr_accessor :custom_features
2295
+
2296
+ # The SQL code which creates the package body. If the package specification has
2297
+ # cursors or subprograms, then the package body is mandatory.
2298
+ # Corresponds to the JSON property `packageBody`
2299
+ # @return [String]
2300
+ attr_accessor :package_body
2301
+
2302
+ # The SQL code which creates the package
2303
+ # Corresponds to the JSON property `packageSqlCode`
2304
+ # @return [String]
2305
+ attr_accessor :package_sql_code
2306
+
2307
+ def initialize(**args)
2308
+ update!(**args)
2309
+ end
2310
+
2311
+ # Update properties of this object
2312
+ def update!(**args)
2313
+ @custom_features = args[:custom_features] if args.key?(:custom_features)
2314
+ @package_body = args[:package_body] if args.key?(:package_body)
2315
+ @package_sql_code = args[:package_sql_code] if args.key?(:package_sql_code)
2316
+ end
2317
+ end
2318
+
1255
2319
  # An Identity and Access Management (IAM) policy, which specifies access
1256
2320
  # controls for Google Cloud resources. A `Policy` is a collection of `bindings`.
1257
2321
  # A `binding` binds one or more `members`, or principals, to a single `role`.
@@ -1387,11 +2451,25 @@ module Google
1387
2451
  # @return [Fixnum]
1388
2452
  attr_accessor :port
1389
2453
 
2454
+ # Private Service Connect connectivity (https://cloud.google.com/vpc/docs/
2455
+ # private-service-connect#benefits-services)
2456
+ # Corresponds to the JSON property `privateServiceConnectConnectivity`
2457
+ # @return [Google::Apis::DatamigrationV1::PrivateServiceConnectConnectivity]
2458
+ attr_accessor :private_service_connect_connectivity
2459
+
1390
2460
  # SSL configuration information.
1391
2461
  # Corresponds to the JSON property `ssl`
1392
2462
  # @return [Google::Apis::DatamigrationV1::SslConfig]
1393
2463
  attr_accessor :ssl
1394
2464
 
2465
+ # The source database will allow incoming connections from the destination
2466
+ # database's public IP. You can retrieve the Cloud SQL instance's public IP from
2467
+ # the Cloud SQL console or using Cloud SQL APIs. No additional configuration is
2468
+ # required.
2469
+ # Corresponds to the JSON property `staticIpConnectivity`
2470
+ # @return [Google::Apis::DatamigrationV1::StaticIpConnectivity]
2471
+ attr_accessor :static_ip_connectivity
2472
+
1395
2473
  # Required. The username that Database Migration Service will use to connect to
1396
2474
  # the database. The value is encrypted when stored in Database Migration Service.
1397
2475
  # Corresponds to the JSON property `username`
@@ -1410,7 +2488,9 @@ module Google
1410
2488
  @password = args[:password] if args.key?(:password)
1411
2489
  @password_set = args[:password_set] if args.key?(:password_set)
1412
2490
  @port = args[:port] if args.key?(:port)
2491
+ @private_service_connect_connectivity = args[:private_service_connect_connectivity] if args.key?(:private_service_connect_connectivity)
1413
2492
  @ssl = args[:ssl] if args.key?(:ssl)
2493
+ @static_ip_connectivity = args[:static_ip_connectivity] if args.key?(:static_ip_connectivity)
1414
2494
  @username = args[:username] if args.key?(:username)
1415
2495
  end
1416
2496
  end
@@ -1431,22 +2511,138 @@ module Google
1431
2511
  # @return [String]
1432
2512
  attr_accessor :id
1433
2513
 
1434
- # Labels for the AlloyDB primary instance created by DMS. An object containing a
1435
- # list of 'key', 'value' pairs.
1436
- # Corresponds to the JSON property `labels`
1437
- # @return [Hash<String,String>]
1438
- attr_accessor :labels
2514
+ # Labels for the AlloyDB primary instance created by DMS. An object containing a
2515
+ # list of 'key', 'value' pairs.
2516
+ # Corresponds to the JSON property `labels`
2517
+ # @return [Hash<String,String>]
2518
+ attr_accessor :labels
2519
+
2520
+ # MachineConfig describes the configuration of a machine.
2521
+ # Corresponds to the JSON property `machineConfig`
2522
+ # @return [Google::Apis::DatamigrationV1::MachineConfig]
2523
+ attr_accessor :machine_config
2524
+
2525
+ # Output only. The private IP address for the Instance. This is the connection
2526
+ # endpoint for an end-user application.
2527
+ # Corresponds to the JSON property `privateIp`
2528
+ # @return [String]
2529
+ attr_accessor :private_ip
2530
+
2531
+ def initialize(**args)
2532
+ update!(**args)
2533
+ end
2534
+
2535
+ # Update properties of this object
2536
+ def update!(**args)
2537
+ @database_flags = args[:database_flags] if args.key?(:database_flags)
2538
+ @id = args[:id] if args.key?(:id)
2539
+ @labels = args[:labels] if args.key?(:labels)
2540
+ @machine_config = args[:machine_config] if args.key?(:machine_config)
2541
+ @private_ip = args[:private_ip] if args.key?(:private_ip)
2542
+ end
2543
+ end
2544
+
2545
+ # The PrivateConnection resource is used to establish private connectivity with
2546
+ # the customer's network.
2547
+ class PrivateConnection
2548
+ include Google::Apis::Core::Hashable
2549
+
2550
+ # Output only. The create time of the resource.
2551
+ # Corresponds to the JSON property `createTime`
2552
+ # @return [String]
2553
+ attr_accessor :create_time
2554
+
2555
+ # The private connection display name.
2556
+ # Corresponds to the JSON property `displayName`
2557
+ # @return [String]
2558
+ attr_accessor :display_name
2559
+
2560
+ # The `Status` type defines a logical error model that is suitable for different
2561
+ # programming environments, including REST APIs and RPC APIs. It is used by [
2562
+ # gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
2563
+ # data: error code, error message, and error details. You can find out more
2564
+ # about this error model and how to work with it in the [API Design Guide](https:
2565
+ # //cloud.google.com/apis/design/errors).
2566
+ # Corresponds to the JSON property `error`
2567
+ # @return [Google::Apis::DatamigrationV1::Status]
2568
+ attr_accessor :error
2569
+
2570
+ # The resource labels for private connections to use to annotate any related
2571
+ # underlying resources such as Compute Engine VMs. An object containing a list
2572
+ # of "key": "value" pairs. Example: `` "name": "wrench", "mass": "1.3kg", "count"
2573
+ # : "3" ``.
2574
+ # Corresponds to the JSON property `labels`
2575
+ # @return [Hash<String,String>]
2576
+ attr_accessor :labels
2577
+
2578
+ # The resource's name.
2579
+ # Corresponds to the JSON property `name`
2580
+ # @return [String]
2581
+ attr_accessor :name
2582
+
2583
+ # Output only. The state of the Private Connection.
2584
+ # Corresponds to the JSON property `state`
2585
+ # @return [String]
2586
+ attr_accessor :state
2587
+
2588
+ # Output only. The last update time of the resource.
2589
+ # Corresponds to the JSON property `updateTime`
2590
+ # @return [String]
2591
+ attr_accessor :update_time
2592
+
2593
+ # The VPC Peering configuration is used to create VPC peering with the consumer'
2594
+ # s VPC.
2595
+ # Corresponds to the JSON property `vpcPeeringConfig`
2596
+ # @return [Google::Apis::DatamigrationV1::VpcPeeringConfig]
2597
+ attr_accessor :vpc_peering_config
2598
+
2599
+ def initialize(**args)
2600
+ update!(**args)
2601
+ end
2602
+
2603
+ # Update properties of this object
2604
+ def update!(**args)
2605
+ @create_time = args[:create_time] if args.key?(:create_time)
2606
+ @display_name = args[:display_name] if args.key?(:display_name)
2607
+ @error = args[:error] if args.key?(:error)
2608
+ @labels = args[:labels] if args.key?(:labels)
2609
+ @name = args[:name] if args.key?(:name)
2610
+ @state = args[:state] if args.key?(:state)
2611
+ @update_time = args[:update_time] if args.key?(:update_time)
2612
+ @vpc_peering_config = args[:vpc_peering_config] if args.key?(:vpc_peering_config)
2613
+ end
2614
+ end
2615
+
2616
+ # Private Connectivity.
2617
+ class PrivateConnectivity
2618
+ include Google::Apis::Core::Hashable
2619
+
2620
+ # Required. The resource name (URI) of the private connection.
2621
+ # Corresponds to the JSON property `privateConnection`
2622
+ # @return [String]
2623
+ attr_accessor :private_connection
2624
+
2625
+ def initialize(**args)
2626
+ update!(**args)
2627
+ end
1439
2628
 
1440
- # MachineConfig describes the configuration of a machine.
1441
- # Corresponds to the JSON property `machineConfig`
1442
- # @return [Google::Apis::DatamigrationV1::MachineConfig]
1443
- attr_accessor :machine_config
2629
+ # Update properties of this object
2630
+ def update!(**args)
2631
+ @private_connection = args[:private_connection] if args.key?(:private_connection)
2632
+ end
2633
+ end
1444
2634
 
1445
- # Output only. The private IP address for the Instance. This is the connection
1446
- # endpoint for an end-user application.
1447
- # Corresponds to the JSON property `privateIp`
2635
+ # Private Service Connect connectivity (https://cloud.google.com/vpc/docs/
2636
+ # private-service-connect#benefits-services)
2637
+ class PrivateServiceConnectConnectivity
2638
+ include Google::Apis::Core::Hashable
2639
+
2640
+ # Required. A service attachment that exposes a database, and has the following
2641
+ # format: projects/`project`/regions/`region`/serviceAttachments/`
2642
+ # service_attachment_name`
2643
+ # Corresponds to the JSON property `serviceAttachment`
1448
2644
  # @return [String]
1449
- attr_accessor :private_ip
2645
+ attr_accessor :service_attachment
1450
2646
 
1451
2647
  def initialize(**args)
1452
2648
  update!(**args)
@@ -1454,11 +2650,7 @@ module Google
1454
2650
 
1455
2651
  # Update properties of this object
1456
2652
  def update!(**args)
1457
- @database_flags = args[:database_flags] if args.key?(:database_flags)
1458
- @id = args[:id] if args.key?(:id)
1459
- @labels = args[:labels] if args.key?(:labels)
1460
- @machine_config = args[:machine_config] if args.key?(:machine_config)
1461
- @private_ip = args[:private_ip] if args.key?(:private_ip)
2653
+ @service_attachment = args[:service_attachment] if args.key?(:service_attachment)
1462
2654
  end
1463
2655
  end
1464
2656
 
@@ -1546,6 +2738,202 @@ module Google
1546
2738
  end
1547
2739
  end
1548
2740
 
2741
+ # Request message for 'RollbackConversionWorkspace' request.
2742
+ class RollbackConversionWorkspaceRequest
2743
+ include Google::Apis::Core::Hashable
2744
+
2745
+ def initialize(**args)
2746
+ update!(**args)
2747
+ end
2748
+
2749
+ # Update properties of this object
2750
+ def update!(**args)
2751
+ end
2752
+ end
2753
+
2754
+ # Details of a single rules file
2755
+ class RulesFile
2756
+ include Google::Apis::Core::Hashable
2757
+
2758
+ # The text content of the rules that needs to be converted
2759
+ # Corresponds to the JSON property `rulesContent`
2760
+ # @return [String]
2761
+ attr_accessor :rules_content
2762
+
2763
+ # The filename of the rules that needs to be converted. This is used mainly so
2764
+ # future logs of the import rules job will contain this detail and can therefore
2765
+ # be searched by it later
2766
+ # Corresponds to the JSON property `rulesSourceFilename`
2767
+ # @return [String]
2768
+ attr_accessor :rules_source_filename
2769
+
2770
+ def initialize(**args)
2771
+ update!(**args)
2772
+ end
2773
+
2774
+ # Update properties of this object
2775
+ def update!(**args)
2776
+ @rules_content = args[:rules_content] if args.key?(:rules_content)
2777
+ @rules_source_filename = args[:rules_source_filename] if args.key?(:rules_source_filename)
2778
+ end
2779
+ end
2780
+
2781
+ # Schema typically has no parent entity, but can have a parent entity
2782
+ # DatabaseInstance (for database engines which supports it). For some database
2783
+ # engines the term schema and user can be used interchangeably when they refer
2784
+ # to a namespace or a collection of other database entities. Can store
2785
+ # additional information which is schema specific.
2786
+ class SchemaEntity
2787
+ include Google::Apis::Core::Hashable
2788
+
2789
+ # Custom engine specific features
2790
+ # Corresponds to the JSON property `customFeatures`
2791
+ # @return [Hash<String,Object>]
2792
+ attr_accessor :custom_features
2793
+
2794
+ def initialize(**args)
2795
+ update!(**args)
2796
+ end
2797
+
2798
+ # Update properties of this object
2799
+ def update!(**args)
2800
+ @custom_features = args[:custom_features] if args.key?(:custom_features)
2801
+ end
2802
+ end
2803
+
2804
+ # Response message for 'SearchBackgroundJobs' request.
2805
+ class SearchBackgroundJobsResponse
2806
+ include Google::Apis::Core::Hashable
2807
+
2808
+ # The list of conversion workspace mapping rules.
2809
+ # Corresponds to the JSON property `jobs`
2810
+ # @return [Array<Google::Apis::DatamigrationV1::BackgroundJobLogEntry>]
2811
+ attr_accessor :jobs
2812
+
2813
+ def initialize(**args)
2814
+ update!(**args)
2815
+ end
2816
+
2817
+ # Update properties of this object
2818
+ def update!(**args)
2819
+ @jobs = args[:jobs] if args.key?(:jobs)
2820
+ end
2821
+ end
2822
+
2823
+ # Request message for 'SeedConversionWorkspace' request.
2824
+ class SeedConversionWorkspaceRequest
2825
+ include Google::Apis::Core::Hashable
2826
+
2827
+ # Should the conversion workspace be committed automatically after the seed
2828
+ # operation.
2829
+ # Corresponds to the JSON property `autoCommit`
2830
+ # @return [Boolean]
2831
+ attr_accessor :auto_commit
2832
+ alias_method :auto_commit?, :auto_commit
2833
+
2834
+ # Fully qualified (Uri) name of the destination connection profile.
2835
+ # Corresponds to the JSON property `destinationConnectionProfile`
2836
+ # @return [String]
2837
+ attr_accessor :destination_connection_profile
2838
+
2839
+ # Fully qualified (Uri) name of the source connection profile.
2840
+ # Corresponds to the JSON property `sourceConnectionProfile`
2841
+ # @return [String]
2842
+ attr_accessor :source_connection_profile
2843
+
2844
+ def initialize(**args)
2845
+ update!(**args)
2846
+ end
2847
+
2848
+ # Update properties of this object
2849
+ def update!(**args)
2850
+ @auto_commit = args[:auto_commit] if args.key?(:auto_commit)
2851
+ @destination_connection_profile = args[:destination_connection_profile] if args.key?(:destination_connection_profile)
2852
+ @source_connection_profile = args[:source_connection_profile] if args.key?(:source_connection_profile)
2853
+ end
2854
+ end
2855
+
2856
+ # Details regarding a Seed background job
2857
+ class SeedJobDetails
2858
+ include Google::Apis::Core::Hashable
2859
+
2860
+ # The connection profile which was used for the seed job
2861
+ # Corresponds to the JSON property `connectionProfile`
2862
+ # @return [String]
2863
+ attr_accessor :connection_profile
2864
+
2865
+ def initialize(**args)
2866
+ update!(**args)
2867
+ end
2868
+
2869
+ # Update properties of this object
2870
+ def update!(**args)
2871
+ @connection_profile = args[:connection_profile] if args.key?(:connection_profile)
2872
+ end
2873
+ end
2874
+
2875
+ # Sequence's parent is a schema.
2876
+ class SequenceEntity
2877
+ include Google::Apis::Core::Hashable
2878
+
2879
+ # Indicates number of entries to cache / precreate
2880
+ # Corresponds to the JSON property `cache`
2881
+ # @return [Fixnum]
2882
+ attr_accessor :cache
2883
+
2884
+ # Custom engine specific features
2885
+ # Corresponds to the JSON property `customFeatures`
2886
+ # @return [Hash<String,Object>]
2887
+ attr_accessor :custom_features
2888
+
2889
+ # Indicates whether the sequence value should cycle through
2890
+ # Corresponds to the JSON property `cycle`
2891
+ # @return [Boolean]
2892
+ attr_accessor :cycle
2893
+ alias_method :cycle?, :cycle
2894
+
2895
+ # Increment value for the sequence
2896
+ # Corresponds to the JSON property `increment`
2897
+ # @return [Fixnum]
2898
+ attr_accessor :increment
2899
+
2900
+ # Maximum number for the sequence represented as bytes to accommodate large
2901
+ # numbers
2902
+ # Corresponds to the JSON property `maxValue`
2903
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
2904
+ # @return [String]
2905
+ attr_accessor :max_value
2906
+
2907
+ # Minimum number for the sequence represented as bytes to accommodate large
2908
+ # numbers
2909
+ # Corresponds to the JSON property `minValue`
2910
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
2911
+ # @return [String]
2912
+ attr_accessor :min_value
2913
+
2914
+ # Start number for the sequence represented as bytes to accommodate large
2915
+ # numbers
2916
+ # Corresponds to the JSON property `startValue`
2917
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
2918
+ # @return [String]
2919
+ attr_accessor :start_value
2920
+
2921
+ def initialize(**args)
2922
+ update!(**args)
2923
+ end
2924
+
2925
+ # Update properties of this object
2926
+ def update!(**args)
2927
+ @cache = args[:cache] if args.key?(:cache)
2928
+ @custom_features = args[:custom_features] if args.key?(:custom_features)
2929
+ @cycle = args[:cycle] if args.key?(:cycle)
2930
+ @increment = args[:increment] if args.key?(:increment)
2931
+ @max_value = args[:max_value] if args.key?(:max_value)
2932
+ @min_value = args[:min_value] if args.key?(:min_value)
2933
+ @start_value = args[:start_value] if args.key?(:start_value)
2934
+ end
2935
+ end
2936
+
1549
2937
  # Request message for `SetIamPolicy` method.
1550
2938
  class SetIamPolicyRequest
1551
2939
  include Google::Apis::Core::Hashable
@@ -1773,6 +3161,19 @@ module Google
1773
3161
  end
1774
3162
  end
1775
3163
 
3164
+ # Static IP address connectivity configured on service project.
3165
+ class StaticServiceIpConnectivity
3166
+ include Google::Apis::Core::Hashable
3167
+
3168
+ def initialize(**args)
3169
+ update!(**args)
3170
+ end
3171
+
3172
+ # Update properties of this object
3173
+ def update!(**args)
3174
+ end
3175
+ end
3176
+
1776
3177
  # The `Status` type defines a logical error model that is suitable for different
1777
3178
  # programming environments, including REST APIs and RPC APIs. It is used by [
1778
3179
  # gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
@@ -1825,6 +3226,112 @@ module Google
1825
3226
  end
1826
3227
  end
1827
3228
 
3229
+ # Stored procedure's parent is a schema.
3230
+ class StoredProcedureEntity
3231
+ include Google::Apis::Core::Hashable
3232
+
3233
+ # Custom engine specific features
3234
+ # Corresponds to the JSON property `customFeatures`
3235
+ # @return [Hash<String,Object>]
3236
+ attr_accessor :custom_features
3237
+
3238
+ # The SQL code which creates the stored procedure
3239
+ # Corresponds to the JSON property `sqlCode`
3240
+ # @return [String]
3241
+ attr_accessor :sql_code
3242
+
3243
+ def initialize(**args)
3244
+ update!(**args)
3245
+ end
3246
+
3247
+ # Update properties of this object
3248
+ def update!(**args)
3249
+ @custom_features = args[:custom_features] if args.key?(:custom_features)
3250
+ @sql_code = args[:sql_code] if args.key?(:sql_code)
3251
+ end
3252
+ end
3253
+
3254
+ # Synonym's parent is a schema.
3255
+ class SynonymEntity
3256
+ include Google::Apis::Core::Hashable
3257
+
3258
+ # Custom engine specific features
3259
+ # Corresponds to the JSON property `customFeatures`
3260
+ # @return [Hash<String,Object>]
3261
+ attr_accessor :custom_features
3262
+
3263
+ # The name of the entity for which the synonym is being created (the source)
3264
+ # Corresponds to the JSON property `sourceEntity`
3265
+ # @return [String]
3266
+ attr_accessor :source_entity
3267
+
3268
+ # The type of the entity for which the synonym is being created (usually a table
3269
+ # or a sequence)
3270
+ # Corresponds to the JSON property `sourceType`
3271
+ # @return [String]
3272
+ attr_accessor :source_type
3273
+
3274
+ def initialize(**args)
3275
+ update!(**args)
3276
+ end
3277
+
3278
+ # Update properties of this object
3279
+ def update!(**args)
3280
+ @custom_features = args[:custom_features] if args.key?(:custom_features)
3281
+ @source_entity = args[:source_entity] if args.key?(:source_entity)
3282
+ @source_type = args[:source_type] if args.key?(:source_type)
3283
+ end
3284
+ end
3285
+
3286
+ # Table's parent is a schema.
3287
+ class TableEntity
3288
+ include Google::Apis::Core::Hashable
3289
+
3290
+ # Table Columns.
3291
+ # Corresponds to the JSON property `columns`
3292
+ # @return [Array<Google::Apis::DatamigrationV1::ColumnEntity>]
3293
+ attr_accessor :columns
3294
+
3295
+ # Comment associated with the table
3296
+ # Corresponds to the JSON property `comment`
3297
+ # @return [String]
3298
+ attr_accessor :comment
3299
+
3300
+ # Table Constraints.
3301
+ # Corresponds to the JSON property `constraints`
3302
+ # @return [Array<Google::Apis::DatamigrationV1::ConstraintEntity>]
3303
+ attr_accessor :constraints
3304
+
3305
+ # Custom engine specific features
3306
+ # Corresponds to the JSON property `customFeatures`
3307
+ # @return [Hash<String,Object>]
3308
+ attr_accessor :custom_features
3309
+
3310
+ # Table Indices.
3311
+ # Corresponds to the JSON property `indices`
3312
+ # @return [Array<Google::Apis::DatamigrationV1::IndexEntity>]
3313
+ attr_accessor :indices
3314
+
3315
+ # Table triggers.
3316
+ # Corresponds to the JSON property `triggers`
3317
+ # @return [Array<Google::Apis::DatamigrationV1::TriggerEntity>]
3318
+ attr_accessor :triggers
3319
+
3320
+ def initialize(**args)
3321
+ update!(**args)
3322
+ end
3323
+
3324
+ # Update properties of this object
3325
+ def update!(**args)
3326
+ @columns = args[:columns] if args.key?(:columns)
3327
+ @comment = args[:comment] if args.key?(:comment)
3328
+ @constraints = args[:constraints] if args.key?(:constraints)
3329
+ @custom_features = args[:custom_features] if args.key?(:custom_features)
3330
+ @indices = args[:indices] if args.key?(:indices)
3331
+ @triggers = args[:triggers] if args.key?(:triggers)
3332
+ end
3333
+ end
3334
+
1828
3335
  # Request message for `TestIamPermissions` method.
1829
3336
  class TestIamPermissionsRequest
1830
3337
  include Google::Apis::Core::Hashable
@@ -1865,6 +3372,50 @@ module Google
1865
3372
  end
1866
3373
  end
1867
3374
 
3375
+ # Trigger is not used as an independent entity, it is retrieved as part of a
3376
+ # Table entity.
3377
+ class TriggerEntity
3378
+ include Google::Apis::Core::Hashable
3379
+
3380
+ # Custom engine specific features
3381
+ # Corresponds to the JSON property `customFeatures`
3382
+ # @return [Hash<String,Object>]
3383
+ attr_accessor :custom_features
3384
+
3385
+ # The name of the trigger
3386
+ # Corresponds to the JSON property `name`
3387
+ # @return [String]
3388
+ attr_accessor :name
3389
+
3390
+ # The SQL code which creates the trigger
3391
+ # Corresponds to the JSON property `sqlCode`
3392
+ # @return [String]
3393
+ attr_accessor :sql_code
3394
+
3395
+ # Indicates when the trigger fires, e.g. BEFORE STATEMENT, AFTER EACH ROW
3396
+ # Corresponds to the JSON property `triggerType`
3397
+ # @return [String]
3398
+ attr_accessor :trigger_type
3399
+
3400
+ # The DML, DDL, or database events that fires the trigger, e.g. INSERT, UPDATE
3401
+ # Corresponds to the JSON property `triggeringEvents`
3402
+ # @return [Array<String>]
3403
+ attr_accessor :triggering_events
3404
+
3405
+ def initialize(**args)
3406
+ update!(**args)
3407
+ end
3408
+
3409
+ # Update properties of this object
3410
+ def update!(**args)
3411
+ @custom_features = args[:custom_features] if args.key?(:custom_features)
3412
+ @name = args[:name] if args.key?(:name)
3413
+ @sql_code = args[:sql_code] if args.key?(:sql_code)
3414
+ @trigger_type = args[:trigger_type] if args.key?(:trigger_type)
3415
+ @triggering_events = args[:triggering_events] if args.key?(:triggering_events)
3416
+ end
3417
+ end
3418
+
1868
3419
  # The username/password for a database user. Used for specifying initial users
1869
3420
  # at cluster creation time.
1870
3421
  class UserPassword
@@ -1911,6 +3462,37 @@ module Google
1911
3462
  end
1912
3463
  end
1913
3464
 
3465
+ # View's parent is a schema.
3466
+ class ViewEntity
3467
+ include Google::Apis::Core::Hashable
3468
+
3469
+ # View Constraints.
3470
+ # Corresponds to the JSON property `constraints`
3471
+ # @return [Array<Google::Apis::DatamigrationV1::ConstraintEntity>]
3472
+ attr_accessor :constraints
3473
+
3474
+ # Custom engine specific features
3475
+ # Corresponds to the JSON property `customFeatures`
3476
+ # @return [Hash<String,Object>]
3477
+ attr_accessor :custom_features
3478
+
3479
+ # The SQL code which creates the view.
3480
+ # Corresponds to the JSON property `sqlCode`
3481
+ # @return [String]
3482
+ attr_accessor :sql_code
3483
+
3484
+ def initialize(**args)
3485
+ update!(**args)
3486
+ end
3487
+
3488
+ # Update properties of this object
3489
+ def update!(**args)
3490
+ @constraints = args[:constraints] if args.key?(:constraints)
3491
+ @custom_features = args[:custom_features] if args.key?(:custom_features)
3492
+ @sql_code = args[:sql_code] if args.key?(:sql_code)
3493
+ end
3494
+ end
3495
+
1914
3496
  # VM creation configuration message
1915
3497
  class VmCreationConfig
1916
3498
  include Google::Apis::Core::Hashable
@@ -1961,6 +3543,32 @@ module Google
1961
3543
  end
1962
3544
  end
1963
3545
 
3546
+ # The VPC Peering configuration is used to create VPC peering with the consumer'
3547
+ # s VPC.
3548
+ class VpcPeeringConfig
3549
+ include Google::Apis::Core::Hashable
3550
+
3551
+ # Required. A free subnet for peering. (CIDR of /29)
3552
+ # Corresponds to the JSON property `subnet`
3553
+ # @return [String]
3554
+ attr_accessor :subnet
3555
+
3556
+ # Required. Fully qualified name of the VPC DMS will peer to.
3557
+ # Corresponds to the JSON property `vpcName`
3558
+ # @return [String]
3559
+ attr_accessor :vpc_name
3560
+
3561
+ def initialize(**args)
3562
+ update!(**args)
3563
+ end
3564
+
3565
+ # Update properties of this object
3566
+ def update!(**args)
3567
+ @subnet = args[:subnet] if args.key?(:subnet)
3568
+ @vpc_name = args[:vpc_name] if args.key?(:vpc_name)
3569
+ end
3570
+ end
3571
+
1964
3572
  # The details of the VPC where the source database is located in Google Cloud.
1965
3573
  # We will use this information to set up the VPC peering connection between
1966
3574
  # Cloud SQL and this VPC.