google-apis-datamigration_v1 0.24.0 → 0.25.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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
@@ -448,6 +544,152 @@ module Google
448
544
  end
449
545
  end
450
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
+
451
693
  # A connection profile definition.
452
694
  class ConnectionProfile
453
695
  include Google::Apis::Core::Hashable
@@ -505,6 +747,11 @@ module Google
505
747
  # @return [String]
506
748
  attr_accessor :name
507
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
+
508
755
  # Specifies connection parameters required specifically for PostgreSQL databases.
509
756
  # Corresponds to the JSON property `postgresql`
510
757
  # @return [Google::Apis::DatamigrationV1::PostgreSqlConnectionProfile]
@@ -541,6 +788,7 @@ module Google
541
788
  @labels = args[:labels] if args.key?(:labels)
542
789
  @mysql = args[:mysql] if args.key?(:mysql)
543
790
  @name = args[:name] if args.key?(:name)
791
+ @oracle = args[:oracle] if args.key?(:oracle)
544
792
  @postgresql = args[:postgresql] if args.key?(:postgresql)
545
793
  @provider = args[:provider] if args.key?(:provider)
546
794
  @state = args[:state] if args.key?(:state)
@@ -548,19 +796,54 @@ module Google
548
796
  end
549
797
  end
550
798
 
551
- # A message defining the database engine and provider.
552
- class DatabaseType
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
553
802
  include Google::Apis::Core::Hashable
554
803
 
555
- # The database engine.
556
- # Corresponds to the JSON property `engine`
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`
557
811
  # @return [String]
558
- attr_accessor :engine
812
+ attr_accessor :name
559
813
 
560
- # The database provider.
561
- # Corresponds to the JSON property `provider`
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`
562
825
  # @return [String]
563
- attr_accessor :provider
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
564
847
 
565
848
  def initialize(**args)
566
849
  update!(**args)
@@ -568,24 +851,76 @@ module Google
568
851
 
569
852
  # Update properties of this object
570
853
  def update!(**args)
571
- @engine = args[:engine] if args.key?(:engine)
572
- @provider = args[:provider] if args.key?(:provider)
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)
573
861
  end
574
862
  end
575
863
 
576
- # Dump flag definition.
577
- class DumpFlag
864
+ # The main conversion workspace resource entity.
865
+ class ConversionWorkspace
578
866
  include Google::Apis::Core::Hashable
579
867
 
580
- # The name of the flag
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`.
581
911
  # Corresponds to the JSON property `name`
582
912
  # @return [String]
583
913
  attr_accessor :name
584
914
 
585
- # The value of the flag.
586
- # Corresponds to the JSON property `value`
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`
587
922
  # @return [String]
588
- attr_accessor :value
923
+ attr_accessor :update_time
589
924
 
590
925
  def initialize(**args)
591
926
  update!(**args)
@@ -593,19 +928,32 @@ module Google
593
928
 
594
929
  # Update properties of this object
595
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)
596
938
  @name = args[:name] if args.key?(:name)
597
- @value = args[:value] if args.key?(:value)
939
+ @source = args[:source] if args.key?(:source)
940
+ @update_time = args[:update_time] if args.key?(:update_time)
598
941
  end
599
942
  end
600
943
 
601
- # Dump flags definition.
602
- class DumpFlags
944
+ # A conversion workspace's version.
945
+ class ConversionWorkspaceInfo
603
946
  include Google::Apis::Core::Hashable
604
947
 
605
- # The flags for the initial dump.
606
- # Corresponds to the JSON property `dumpFlags`
607
- # @return [Array<Google::Apis::DatamigrationV1::DumpFlag>]
608
- attr_accessor :dump_flags
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
609
957
 
610
958
  def initialize(**args)
611
959
  update!(**args)
@@ -613,66 +961,52 @@ module Google
613
961
 
614
962
  # Update properties of this object
615
963
  def update!(**args)
616
- @dump_flags = args[:dump_flags] if args.key?(:dump_flags)
964
+ @commit_id = args[:commit_id] if args.key?(:commit_id)
965
+ @name = args[:name] if args.key?(:name)
617
966
  end
618
967
  end
619
968
 
620
- # A generic empty message that you can re-use to avoid defining duplicated empty
621
- # messages in your APIs. A typical example is to use it as the request or the
622
- # response type of an API method. For instance: service Foo ` rpc Bar(google.
623
- # protobuf.Empty) returns (google.protobuf.Empty); `
624
- class Empty
969
+ # Request message for 'ConvertConversionWorkspace' request.
970
+ class ConvertConversionWorkspaceRequest
625
971
  include Google::Apis::Core::Hashable
626
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
+
627
986
  def initialize(**args)
628
987
  update!(**args)
629
988
  end
630
989
 
631
990
  # Update properties of this object
632
991
  def update!(**args)
992
+ @auto_commit = args[:auto_commit] if args.key?(:auto_commit)
993
+ @filter = args[:filter] if args.key?(:filter)
633
994
  end
634
995
  end
635
996
 
636
- # Represents a textual expression in the Common Expression Language (CEL) syntax.
637
- # CEL is a C-like expression language. The syntax and semantics of CEL are
638
- # documented at https://github.com/google/cel-spec. Example (Comparison): title:
639
- # "Summary size limit" description: "Determines if a summary is less than 100
640
- # chars" expression: "document.summary.size() < 100" Example (Equality): title: "
641
- # Requestor is owner" description: "Determines if requestor is the document
642
- # owner" expression: "document.owner == request.auth.claims.email" Example (
643
- # Logic): title: "Public documents" description: "Determine whether the document
644
- # should be publicly visible" expression: "document.type != 'private' &&
645
- # document.type != 'internal'" Example (Data Manipulation): title: "Notification
646
- # string" description: "Create a notification string with a timestamp."
647
- # expression: "'New message received at ' + string(document.create_time)" The
648
- # exact variables and functions that may be referenced within an expression are
649
- # determined by the service that evaluates it. See the service documentation for
650
- # additional information.
651
- class Expr
997
+ # The type and version of a source or destination DB.
998
+ class DatabaseEngineInfo
652
999
  include Google::Apis::Core::Hashable
653
1000
 
654
- # Optional. Description of the expression. This is a longer text which describes
655
- # the expression, e.g. when hovered over it in a UI.
656
- # Corresponds to the JSON property `description`
657
- # @return [String]
658
- attr_accessor :description
659
-
660
- # Textual representation of an expression in Common Expression Language syntax.
661
- # Corresponds to the JSON property `expression`
662
- # @return [String]
663
- attr_accessor :expression
664
-
665
- # Optional. String indicating the location of the expression for error reporting,
666
- # e.g. a file name and a position in the file.
667
- # Corresponds to the JSON property `location`
1001
+ # Required. Engine Type.
1002
+ # Corresponds to the JSON property `engine`
668
1003
  # @return [String]
669
- attr_accessor :location
1004
+ attr_accessor :engine
670
1005
 
671
- # Optional. Title for the expression, i.e. a short string describing its purpose.
672
- # This can be used e.g. in UIs which allow to enter the expression.
673
- # Corresponds to the JSON property `title`
1006
+ # Required. Engine named version, for e.g. 12.c.1
1007
+ # Corresponds to the JSON property `version`
674
1008
  # @return [String]
675
- attr_accessor :title
1009
+ attr_accessor :version
676
1010
 
677
1011
  def initialize(**args)
678
1012
  update!(**args)
@@ -680,31 +1014,449 @@ module Google
680
1014
 
681
1015
  # Update properties of this object
682
1016
  def update!(**args)
683
- @description = args[:description] if args.key?(:description)
684
- @expression = args[:expression] if args.key?(:expression)
685
- @location = args[:location] if args.key?(:location)
686
- @title = args[:title] if args.key?(:title)
1017
+ @engine = args[:engine] if args.key?(:engine)
1018
+ @version = args[:version] if args.key?(:version)
687
1019
  end
688
1020
  end
689
1021
 
690
- # Request message for 'GenerateSshScript' request.
691
- class GenerateSshScriptRequest
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
692
1026
  include Google::Apis::Core::Hashable
693
1027
 
694
- # Required. Bastion VM Instance name to use or to create.
695
- # Corresponds to the JSON property `vm`
696
- # @return [String]
697
- attr_accessor :vm
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
698
1032
 
699
- # VM creation configuration message
700
- # Corresponds to the JSON property `vmCreationConfig`
701
- # @return [Google::Apis::DatamigrationV1::VmCreationConfig]
702
- attr_accessor :vm_creation_config
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
703
1037
 
704
- # The port that will be open on the bastion host
705
- # Corresponds to the JSON property `vmPort`
706
- # @return [Fixnum]
707
- attr_accessor :vm_port
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
+
1122
+ # A message defining the database engine and provider.
1123
+ class DatabaseType
1124
+ include Google::Apis::Core::Hashable
1125
+
1126
+ # The database engine.
1127
+ # Corresponds to the JSON property `engine`
1128
+ # @return [String]
1129
+ attr_accessor :engine
1130
+
1131
+ # The database provider.
1132
+ # Corresponds to the JSON property `provider`
1133
+ # @return [String]
1134
+ attr_accessor :provider
1135
+
1136
+ def initialize(**args)
1137
+ update!(**args)
1138
+ end
1139
+
1140
+ # Update properties of this object
1141
+ def update!(**args)
1142
+ @engine = args[:engine] if args.key?(:engine)
1143
+ @provider = args[:provider] if args.key?(:provider)
1144
+ end
1145
+ end
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
+
1192
+ # Dump flag definition.
1193
+ class DumpFlag
1194
+ include Google::Apis::Core::Hashable
1195
+
1196
+ # The name of the flag
1197
+ # Corresponds to the JSON property `name`
1198
+ # @return [String]
1199
+ attr_accessor :name
1200
+
1201
+ # The value of the flag.
1202
+ # Corresponds to the JSON property `value`
1203
+ # @return [String]
1204
+ attr_accessor :value
1205
+
1206
+ def initialize(**args)
1207
+ update!(**args)
1208
+ end
1209
+
1210
+ # Update properties of this object
1211
+ def update!(**args)
1212
+ @name = args[:name] if args.key?(:name)
1213
+ @value = args[:value] if args.key?(:value)
1214
+ end
1215
+ end
1216
+
1217
+ # Dump flags definition.
1218
+ class DumpFlags
1219
+ include Google::Apis::Core::Hashable
1220
+
1221
+ # The flags for the initial dump.
1222
+ # Corresponds to the JSON property `dumpFlags`
1223
+ # @return [Array<Google::Apis::DatamigrationV1::DumpFlag>]
1224
+ attr_accessor :dump_flags
1225
+
1226
+ def initialize(**args)
1227
+ update!(**args)
1228
+ end
1229
+
1230
+ # Update properties of this object
1231
+ def update!(**args)
1232
+ @dump_flags = args[:dump_flags] if args.key?(:dump_flags)
1233
+ end
1234
+ end
1235
+
1236
+ # A generic empty message that you can re-use to avoid defining duplicated empty
1237
+ # messages in your APIs. A typical example is to use it as the request or the
1238
+ # response type of an API method. For instance: service Foo ` rpc Bar(google.
1239
+ # protobuf.Empty) returns (google.protobuf.Empty); `
1240
+ class Empty
1241
+ include Google::Apis::Core::Hashable
1242
+
1243
+ def initialize(**args)
1244
+ update!(**args)
1245
+ end
1246
+
1247
+ # Update properties of this object
1248
+ def update!(**args)
1249
+ end
1250
+ end
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
+
1320
+ # Represents a textual expression in the Common Expression Language (CEL) syntax.
1321
+ # CEL is a C-like expression language. The syntax and semantics of CEL are
1322
+ # documented at https://github.com/google/cel-spec. Example (Comparison): title:
1323
+ # "Summary size limit" description: "Determines if a summary is less than 100
1324
+ # chars" expression: "document.summary.size() < 100" Example (Equality): title: "
1325
+ # Requestor is owner" description: "Determines if requestor is the document
1326
+ # owner" expression: "document.owner == request.auth.claims.email" Example (
1327
+ # Logic): title: "Public documents" description: "Determine whether the document
1328
+ # should be publicly visible" expression: "document.type != 'private' &&
1329
+ # document.type != 'internal'" Example (Data Manipulation): title: "Notification
1330
+ # string" description: "Create a notification string with a timestamp."
1331
+ # expression: "'New message received at ' + string(document.create_time)" The
1332
+ # exact variables and functions that may be referenced within an expression are
1333
+ # determined by the service that evaluates it. See the service documentation for
1334
+ # additional information.
1335
+ class Expr
1336
+ include Google::Apis::Core::Hashable
1337
+
1338
+ # Optional. Description of the expression. This is a longer text which describes
1339
+ # the expression, e.g. when hovered over it in a UI.
1340
+ # Corresponds to the JSON property `description`
1341
+ # @return [String]
1342
+ attr_accessor :description
1343
+
1344
+ # Textual representation of an expression in Common Expression Language syntax.
1345
+ # Corresponds to the JSON property `expression`
1346
+ # @return [String]
1347
+ attr_accessor :expression
1348
+
1349
+ # Optional. String indicating the location of the expression for error reporting,
1350
+ # e.g. a file name and a position in the file.
1351
+ # Corresponds to the JSON property `location`
1352
+ # @return [String]
1353
+ attr_accessor :location
1354
+
1355
+ # Optional. Title for the expression, i.e. a short string describing its purpose.
1356
+ # This can be used e.g. in UIs which allow to enter the expression.
1357
+ # Corresponds to the JSON property `title`
1358
+ # @return [String]
1359
+ attr_accessor :title
1360
+
1361
+ def initialize(**args)
1362
+ update!(**args)
1363
+ end
1364
+
1365
+ # Update properties of this object
1366
+ def update!(**args)
1367
+ @description = args[:description] if args.key?(:description)
1368
+ @expression = args[:expression] if args.key?(:expression)
1369
+ @location = args[:location] if args.key?(:location)
1370
+ @title = args[:title] if args.key?(:title)
1371
+ end
1372
+ end
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
+
1442
+ # Request message for 'GenerateSshScript' request.
1443
+ class GenerateSshScriptRequest
1444
+ include Google::Apis::Core::Hashable
1445
+
1446
+ # Required. Bastion VM Instance name to use or to create.
1447
+ # Corresponds to the JSON property `vm`
1448
+ # @return [String]
1449
+ attr_accessor :vm
1450
+
1451
+ # VM creation configuration message
1452
+ # Corresponds to the JSON property `vmCreationConfig`
1453
+ # @return [Google::Apis::DatamigrationV1::VmCreationConfig]
1454
+ attr_accessor :vm_creation_config
1455
+
1456
+ # The port that will be open on the bastion host
1457
+ # Corresponds to the JSON property `vmPort`
1458
+ # @return [Fixnum]
1459
+ attr_accessor :vm_port
708
1460
 
709
1461
  # VM selection configuration message
710
1462
  # Corresponds to the JSON property `vmSelectionConfig`
@@ -743,29 +1495,135 @@ module Google
743
1495
  # @return [String]
744
1496
  attr_accessor :end_time
745
1497
 
746
- # Output only. Identifies whether the user has requested cancellation of the
747
- # operation. Operations that have successfully been cancelled have Operation.
748
- # error value with a google.rpc.Status.code of 1, corresponding to `Code.
749
- # CANCELLED`.
750
- # Corresponds to the JSON property `requestedCancellation`
751
- # @return [Boolean]
752
- attr_accessor :requested_cancellation
753
- 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
754
1600
 
755
- # Output only. Human-readable status of the operation, if any.
756
- # Corresponds to the JSON property `statusMessage`
757
- # @return [String]
758
- 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
759
1605
 
760
- # Output only. Server-defined resource path for the target of the operation.
761
- # Corresponds to the JSON property `target`
1606
+ # The name of the index
1607
+ # Corresponds to the JSON property `name`
762
1608
  # @return [String]
763
- attr_accessor :target
1609
+ attr_accessor :name
764
1610
 
765
- # Output only. Name of the verb executed by the operation.
766
- # 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`
767
1619
  # @return [String]
768
- 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
769
1627
 
770
1628
  def initialize(**args)
771
1629
  update!(**args)
@@ -773,13 +1631,11 @@ module Google
773
1631
 
774
1632
  # Update properties of this object
775
1633
  def update!(**args)
776
- @api_version = args[:api_version] if args.key?(:api_version)
777
- @create_time = args[:create_time] if args.key?(:create_time)
778
- @end_time = args[:end_time] if args.key?(:end_time)
779
- @requested_cancellation = args[:requested_cancellation] if args.key?(:requested_cancellation)
780
- @status_message = args[:status_message] if args.key?(:status_message)
781
- @target = args[:target] if args.key?(:target)
782
- @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)
783
1639
  end
784
1640
  end
785
1641
 
@@ -815,6 +1671,38 @@ module Google
815
1671
  end
816
1672
  end
817
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
+
818
1706
  # The response message for Locations.ListLocations.
819
1707
  class ListLocationsResponse
820
1708
  include Google::Apis::Core::Hashable
@@ -897,6 +1785,38 @@ module Google
897
1785
  end
898
1786
  end
899
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
+
900
1820
  # A resource that represents Google Cloud Platform location.
901
1821
  class Location
902
1822
  include Google::Apis::Core::Hashable
@@ -967,6 +1887,11 @@ module Google
967
1887
  class MigrationJob
968
1888
  include Google::Apis::Core::Hashable
969
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
+
970
1895
  # Output only. The timestamp when the migration job resource was created. A
971
1896
  # timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "
972
1897
  # 2014-10-02T15:01:23.045123456Z".
@@ -1022,6 +1947,14 @@ module Google
1022
1947
  # @return [Google::Apis::DatamigrationV1::Status]
1023
1948
  attr_accessor :error
1024
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
+
1025
1958
  # The resource labels for migration job to use to annotate any related
1026
1959
  # underlying resources such as Compute Engine VMs. An object containing a list
1027
1960
  # of "key": "value" pairs. Example: `` "name": "wrench", "mass": "1.3kg", "count"
@@ -1099,6 +2032,7 @@ module Google
1099
2032
 
1100
2033
  # Update properties of this object
1101
2034
  def update!(**args)
2035
+ @conversion_workspace = args[:conversion_workspace] if args.key?(:conversion_workspace)
1102
2036
  @create_time = args[:create_time] if args.key?(:create_time)
1103
2037
  @destination = args[:destination] if args.key?(:destination)
1104
2038
  @destination_database = args[:destination_database] if args.key?(:destination_database)
@@ -1108,6 +2042,7 @@ module Google
1108
2042
  @duration = args[:duration] if args.key?(:duration)
1109
2043
  @end_time = args[:end_time] if args.key?(:end_time)
1110
2044
  @error = args[:error] if args.key?(:error)
2045
+ @filter = args[:filter] if args.key?(:filter)
1111
2046
  @labels = args[:labels] if args.key?(:labels)
1112
2047
  @name = args[:name] if args.key?(:name)
1113
2048
  @phase = args[:phase] if args.key?(:phase)
@@ -1277,6 +2212,110 @@ module Google
1277
2212
  end
1278
2213
  end
1279
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
+
1280
2319
  # An Identity and Access Management (IAM) policy, which specifies access
1281
2320
  # controls for Google Cloud resources. A `Policy` is a collection of `bindings`.
1282
2321
  # A `binding` binds one or more `members`, or principals, to a single `role`.
@@ -1412,11 +2451,25 @@ module Google
1412
2451
  # @return [Fixnum]
1413
2452
  attr_accessor :port
1414
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
+
1415
2460
  # SSL configuration information.
1416
2461
  # Corresponds to the JSON property `ssl`
1417
2462
  # @return [Google::Apis::DatamigrationV1::SslConfig]
1418
2463
  attr_accessor :ssl
1419
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
+
1420
2473
  # Required. The username that Database Migration Service will use to connect to
1421
2474
  # the database. The value is encrypted when stored in Database Migration Service.
1422
2475
  # Corresponds to the JSON property `username`
@@ -1435,7 +2488,9 @@ module Google
1435
2488
  @password = args[:password] if args.key?(:password)
1436
2489
  @password_set = args[:password_set] if args.key?(:password_set)
1437
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)
1438
2492
  @ssl = args[:ssl] if args.key?(:ssl)
2493
+ @static_ip_connectivity = args[:static_ip_connectivity] if args.key?(:static_ip_connectivity)
1439
2494
  @username = args[:username] if args.key?(:username)
1440
2495
  end
1441
2496
  end
@@ -1456,22 +2511,138 @@ module Google
1456
2511
  # @return [String]
1457
2512
  attr_accessor :id
1458
2513
 
1459
- # Labels for the AlloyDB primary instance created by DMS. An object containing a
1460
- # list of 'key', 'value' pairs.
1461
- # Corresponds to the JSON property `labels`
1462
- # @return [Hash<String,String>]
1463
- 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
1464
2628
 
1465
- # MachineConfig describes the configuration of a machine.
1466
- # Corresponds to the JSON property `machineConfig`
1467
- # @return [Google::Apis::DatamigrationV1::MachineConfig]
1468
- 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
1469
2634
 
1470
- # Output only. The private IP address for the Instance. This is the connection
1471
- # endpoint for an end-user application.
1472
- # 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`
1473
2644
  # @return [String]
1474
- attr_accessor :private_ip
2645
+ attr_accessor :service_attachment
1475
2646
 
1476
2647
  def initialize(**args)
1477
2648
  update!(**args)
@@ -1479,11 +2650,7 @@ module Google
1479
2650
 
1480
2651
  # Update properties of this object
1481
2652
  def update!(**args)
1482
- @database_flags = args[:database_flags] if args.key?(:database_flags)
1483
- @id = args[:id] if args.key?(:id)
1484
- @labels = args[:labels] if args.key?(:labels)
1485
- @machine_config = args[:machine_config] if args.key?(:machine_config)
1486
- @private_ip = args[:private_ip] if args.key?(:private_ip)
2653
+ @service_attachment = args[:service_attachment] if args.key?(:service_attachment)
1487
2654
  end
1488
2655
  end
1489
2656
 
@@ -1571,6 +2738,202 @@ module Google
1571
2738
  end
1572
2739
  end
1573
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
+
1574
2937
  # Request message for `SetIamPolicy` method.
1575
2938
  class SetIamPolicyRequest
1576
2939
  include Google::Apis::Core::Hashable
@@ -1798,6 +3161,19 @@ module Google
1798
3161
  end
1799
3162
  end
1800
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
+
1801
3177
  # The `Status` type defines a logical error model that is suitable for different
1802
3178
  # programming environments, including REST APIs and RPC APIs. It is used by [
1803
3179
  # gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
@@ -1850,6 +3226,112 @@ module Google
1850
3226
  end
1851
3227
  end
1852
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
+
1853
3335
  # Request message for `TestIamPermissions` method.
1854
3336
  class TestIamPermissionsRequest
1855
3337
  include Google::Apis::Core::Hashable
@@ -1890,6 +3372,50 @@ module Google
1890
3372
  end
1891
3373
  end
1892
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
+
1893
3419
  # The username/password for a database user. Used for specifying initial users
1894
3420
  # at cluster creation time.
1895
3421
  class UserPassword
@@ -1936,6 +3462,37 @@ module Google
1936
3462
  end
1937
3463
  end
1938
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
+
1939
3496
  # VM creation configuration message
1940
3497
  class VmCreationConfig
1941
3498
  include Google::Apis::Core::Hashable
@@ -1986,6 +3543,32 @@ module Google
1986
3543
  end
1987
3544
  end
1988
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
+
1989
3572
  # The details of the VPC where the source database is located in Google Cloud.
1990
3573
  # We will use this information to set up the VPC peering connection between
1991
3574
  # Cloud SQL and this VPC.