google-apis-datamigration_v1 0.24.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
@@ -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.