google-apis-datamigration_v1 0.38.0 → 0.40.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -103,11 +103,25 @@ module Google
103
103
  class ApplyConversionWorkspaceRequest
104
104
  include Google::Apis::Core::Hashable
105
105
 
106
- # Fully qualified (Uri) name of the destination connection profile.
106
+ # Optional. Specifies whether the conversion workspace is to be committed
107
+ # automatically after the apply.
108
+ # Corresponds to the JSON property `autoCommit`
109
+ # @return [Boolean]
110
+ attr_accessor :auto_commit
111
+ alias_method :auto_commit?, :auto_commit
112
+
113
+ # Optional. Fully qualified (Uri) name of the destination connection profile.
107
114
  # Corresponds to the JSON property `connectionProfile`
108
115
  # @return [String]
109
116
  attr_accessor :connection_profile
110
117
 
118
+ # Optional. Only validates the apply process, but doesn't change the destination
119
+ # database. Only works for PostgreSQL destination connection profile.
120
+ # Corresponds to the JSON property `dryRun`
121
+ # @return [Boolean]
122
+ attr_accessor :dry_run
123
+ alias_method :dry_run?, :dry_run
124
+
111
125
  # Filter which entities to apply. Leaving this field empty will apply all of the
112
126
  # entities. Supports Google AIP 160 based filtering.
113
127
  # Corresponds to the JSON property `filter`
@@ -120,21 +134,45 @@ module Google
120
134
 
121
135
  # Update properties of this object
122
136
  def update!(**args)
137
+ @auto_commit = args[:auto_commit] if args.key?(:auto_commit)
123
138
  @connection_profile = args[:connection_profile] if args.key?(:connection_profile)
139
+ @dry_run = args[:dry_run] if args.key?(:dry_run)
124
140
  @filter = args[:filter] if args.key?(:filter)
125
141
  end
126
142
  end
127
143
 
144
+ # Apply a hash function on the value.
145
+ class ApplyHash
146
+ include Google::Apis::Core::Hashable
147
+
148
+ # A generic empty message that you can re-use to avoid defining duplicated empty
149
+ # messages in your APIs. A typical example is to use it as the request or the
150
+ # response type of an API method. For instance: service Foo ` rpc Bar(google.
151
+ # protobuf.Empty) returns (google.protobuf.Empty); `
152
+ # Corresponds to the JSON property `uuidFromBytes`
153
+ # @return [Google::Apis::DatamigrationV1::Empty]
154
+ attr_accessor :uuid_from_bytes
155
+
156
+ def initialize(**args)
157
+ update!(**args)
158
+ end
159
+
160
+ # Update properties of this object
161
+ def update!(**args)
162
+ @uuid_from_bytes = args[:uuid_from_bytes] if args.key?(:uuid_from_bytes)
163
+ end
164
+ end
165
+
128
166
  # Details regarding an Apply background job.
129
167
  class ApplyJobDetails
130
168
  include Google::Apis::Core::Hashable
131
169
 
132
- # The connection profile which was used for the apply job.
170
+ # Output only. The connection profile which was used for the apply job.
133
171
  # Corresponds to the JSON property `connectionProfile`
134
172
  # @return [String]
135
173
  attr_accessor :connection_profile
136
174
 
137
- # AIP-160 based filter used to specify the entities to apply
175
+ # Output only. AIP-160 based filter used to specify the entities to apply
138
176
  # Corresponds to the JSON property `filter`
139
177
  # @return [String]
140
178
  attr_accessor :filter
@@ -150,6 +188,25 @@ module Google
150
188
  end
151
189
  end
152
190
 
191
+ # Set to a specific value (value is converted to fit the target data type)
192
+ class AssignSpecificValue
193
+ include Google::Apis::Core::Hashable
194
+
195
+ # Required. Specific value to be assigned
196
+ # Corresponds to the JSON property `value`
197
+ # @return [String]
198
+ attr_accessor :value
199
+
200
+ def initialize(**args)
201
+ update!(**args)
202
+ end
203
+
204
+ # Update properties of this object
205
+ def update!(**args)
206
+ @value = args[:value] if args.key?(:value)
207
+ end
208
+ end
209
+
153
210
  # Specifies the audit configuration for a service. The configuration determines
154
211
  # which permission types are logged, and what identities, if any, are exempted
155
212
  # from logging. An AuditConfig must have one or more AuditLogConfigs. If there
@@ -230,13 +287,14 @@ module Google
230
287
  # @return [Google::Apis::DatamigrationV1::ApplyJobDetails]
231
288
  attr_accessor :apply_job_details
232
289
 
233
- # Job completion comment, such as how many entities were seeded, how many
234
- # warnings were found during conversion, and similar information.
290
+ # Output only. Job completion comment, such as how many entities were seeded,
291
+ # how many warnings were found during conversion, and similar information.
235
292
  # Corresponds to the JSON property `completionComment`
236
293
  # @return [String]
237
294
  attr_accessor :completion_comment
238
295
 
239
- # Job completion state, i.e. the final state after the job completed.
296
+ # Output only. Job completion state, i.e. the final state after the job
297
+ # completed.
240
298
  # Corresponds to the JSON property `completionState`
241
299
  # @return [String]
242
300
  attr_accessor :completion_state
@@ -266,8 +324,8 @@ module Google
266
324
  # @return [String]
267
325
  attr_accessor :job_type
268
326
 
269
- # Whether the client requested the conversion workspace to be committed after a
270
- # successful completion of the job.
327
+ # Output only. Whether the client requested the conversion workspace to be
328
+ # committed after a successful completion of the job.
271
329
  # Corresponds to the JSON property `requestAutocommit`
272
330
  # @return [Boolean]
273
331
  attr_accessor :request_autocommit
@@ -740,6 +798,46 @@ module Google
740
798
  end
741
799
  end
742
800
 
801
+ # Options to configure rule type ConditionalColumnSetValue. The rule is used to
802
+ # transform the data which is being replicated/migrated. The rule filter field
803
+ # can refer to one or more entities. The rule scope can be one of: Column.
804
+ class ConditionalColumnSetValue
805
+ include Google::Apis::Core::Hashable
806
+
807
+ # Optional. Custom engine specific features.
808
+ # Corresponds to the JSON property `customFeatures`
809
+ # @return [Hash<String,Object>]
810
+ attr_accessor :custom_features
811
+
812
+ # Filter for fixed point number data types such as NUMERIC/NUMBER
813
+ # Corresponds to the JSON property `sourceNumericFilter`
814
+ # @return [Google::Apis::DatamigrationV1::SourceNumericFilter]
815
+ attr_accessor :source_numeric_filter
816
+
817
+ # Filter for text-based data types like varchar.
818
+ # Corresponds to the JSON property `sourceTextFilter`
819
+ # @return [Google::Apis::DatamigrationV1::SourceTextFilter]
820
+ attr_accessor :source_text_filter
821
+
822
+ # Description of data transformation during migration as part of the
823
+ # ConditionalColumnSetValue.
824
+ # Corresponds to the JSON property `valueTransformation`
825
+ # @return [Google::Apis::DatamigrationV1::ValueTransformation]
826
+ attr_accessor :value_transformation
827
+
828
+ def initialize(**args)
829
+ update!(**args)
830
+ end
831
+
832
+ # Update properties of this object
833
+ def update!(**args)
834
+ @custom_features = args[:custom_features] if args.key?(:custom_features)
835
+ @source_numeric_filter = args[:source_numeric_filter] if args.key?(:source_numeric_filter)
836
+ @source_text_filter = args[:source_text_filter] if args.key?(:source_text_filter)
837
+ @value_transformation = args[:value_transformation] if args.key?(:value_transformation)
838
+ end
839
+ end
840
+
743
841
  # A connection profile definition.
744
842
  class ConnectionProfile
745
843
  include Google::Apis::Core::Hashable
@@ -925,14 +1023,14 @@ module Google
925
1023
  # @return [Google::Apis::DatamigrationV1::DatabaseEngineInfo]
926
1024
  attr_accessor :destination
927
1025
 
928
- # The display name for the workspace.
1026
+ # Optional. The display name for the workspace.
929
1027
  # Corresponds to the JSON property `displayName`
930
1028
  # @return [String]
931
1029
  attr_accessor :display_name
932
1030
 
933
- # A generic list of settings for the workspace. The settings are database pair
934
- # dependant and can indicate default behavior for the mapping rules engine or
935
- # turn on or off specific features. Such examples can be:
1031
+ # Optional. A generic list of settings for the workspace. The settings are
1032
+ # database pair dependant and can indicate default behavior for the mapping
1033
+ # rules engine or turn on or off specific features. Such examples can be:
936
1034
  # convert_foreign_key_to_interleave=true, skip_triggers=false,
937
1035
  # ignore_non_table_synonyms=true
938
1036
  # Corresponds to the JSON property `globalSettings`
@@ -1020,15 +1118,23 @@ module Google
1020
1118
  class ConvertConversionWorkspaceRequest
1021
1119
  include Google::Apis::Core::Hashable
1022
1120
 
1023
- # Specifies whether the conversion workspace is to be committed automatically
1024
- # after the conversion.
1121
+ # Optional. Specifies whether the conversion workspace is to be committed
1122
+ # automatically after the conversion.
1025
1123
  # Corresponds to the JSON property `autoCommit`
1026
1124
  # @return [Boolean]
1027
1125
  attr_accessor :auto_commit
1028
1126
  alias_method :auto_commit?, :auto_commit
1029
1127
 
1030
- # Filter the entities to convert. Leaving this field empty will convert all of
1031
- # the entities. Supports Google AIP-160 style filtering.
1128
+ # Optional. Automatically convert the full entity path for each entity specified
1129
+ # by the filter. For example, if the filter specifies a table, that table schema
1130
+ # (and database if there is one) will also be converted.
1131
+ # Corresponds to the JSON property `convertFullPath`
1132
+ # @return [Boolean]
1133
+ attr_accessor :convert_full_path
1134
+ alias_method :convert_full_path?, :convert_full_path
1135
+
1136
+ # Optional. Filter the entities to convert. Leaving this field empty will
1137
+ # convert all of the entities. Supports Google AIP-160 style filtering.
1032
1138
  # Corresponds to the JSON property `filter`
1033
1139
  # @return [String]
1034
1140
  attr_accessor :filter
@@ -1040,6 +1146,7 @@ module Google
1040
1146
  # Update properties of this object
1041
1147
  def update!(**args)
1042
1148
  @auto_commit = args[:auto_commit] if args.key?(:auto_commit)
1149
+ @convert_full_path = args[:convert_full_path] if args.key?(:convert_full_path)
1043
1150
  @filter = args[:filter] if args.key?(:filter)
1044
1151
  end
1045
1152
  end
@@ -1048,7 +1155,7 @@ module Google
1048
1155
  class ConvertJobDetails
1049
1156
  include Google::Apis::Core::Hashable
1050
1157
 
1051
- # AIP-160 based filter used to specify the entities to convert
1158
+ # Output only. AIP-160 based filter used to specify the entities to convert
1052
1159
  # Corresponds to the JSON property `filter`
1053
1160
  # @return [String]
1054
1161
  attr_accessor :filter
@@ -1063,6 +1170,31 @@ module Google
1063
1170
  end
1064
1171
  end
1065
1172
 
1173
+ # Options to configure rule type ConvertROWIDToColumn. The rule is used to add
1174
+ # column rowid to destination tables based on an Oracle rowid function/property.
1175
+ # The rule filter field can refer to one or more entities. The rule scope can be
1176
+ # one of: Table. This rule requires additional filter to be specified beyond the
1177
+ # basic rule filter field, which is whether or not to work on tables which
1178
+ # already have a primary key defined.
1179
+ class ConvertRowIdToColumn
1180
+ include Google::Apis::Core::Hashable
1181
+
1182
+ # Required. Only work on tables without primary key defined
1183
+ # Corresponds to the JSON property `onlyIfNoPrimaryKey`
1184
+ # @return [Boolean]
1185
+ attr_accessor :only_if_no_primary_key
1186
+ alias_method :only_if_no_primary_key?, :only_if_no_primary_key
1187
+
1188
+ def initialize(**args)
1189
+ update!(**args)
1190
+ end
1191
+
1192
+ # Update properties of this object
1193
+ def update!(**args)
1194
+ @only_if_no_primary_key = args[:only_if_no_primary_key] if args.key?(:only_if_no_primary_key)
1195
+ end
1196
+ end
1197
+
1066
1198
  # The type and version of a source or destination database.
1067
1199
  class DatabaseEngineInfo
1068
1200
  include Google::Apis::Core::Hashable
@@ -1094,6 +1226,11 @@ module Google
1094
1226
  class DatabaseEntity
1095
1227
  include Google::Apis::Core::Hashable
1096
1228
 
1229
+ # DatabaseInstance acts as a parent entity to other database entities.
1230
+ # Corresponds to the JSON property `database`
1231
+ # @return [Google::Apis::DatamigrationV1::DatabaseInstanceEntity]
1232
+ attr_accessor :database
1233
+
1097
1234
  # Function's parent is a schema.
1098
1235
  # Corresponds to the JSON property `databaseFunction`
1099
1236
  # @return [Google::Apis::DatamigrationV1::FunctionEntity]
@@ -1104,11 +1241,23 @@ module Google
1104
1241
  # @return [Google::Apis::DatamigrationV1::PackageEntity]
1105
1242
  attr_accessor :database_package
1106
1243
 
1244
+ # Details about the entity DDL script. Multiple DDL scripts are provided for
1245
+ # child entities such as a table entity will have one DDL for the table with
1246
+ # additional DDLs for each index, constraint and such.
1247
+ # Corresponds to the JSON property `entityDdl`
1248
+ # @return [Array<Google::Apis::DatamigrationV1::EntityDdl>]
1249
+ attr_accessor :entity_ddl
1250
+
1107
1251
  # The type of the database entity (table, view, index, ...).
1108
1252
  # Corresponds to the JSON property `entityType`
1109
1253
  # @return [String]
1110
1254
  attr_accessor :entity_type
1111
1255
 
1256
+ # Details about the various issues found for the entity.
1257
+ # Corresponds to the JSON property `issues`
1258
+ # @return [Array<Google::Apis::DatamigrationV1::EntityIssue>]
1259
+ attr_accessor :issues
1260
+
1112
1261
  # Details about entity mappings. For source tree entities, this holds the draft
1113
1262
  # entities which were generated by the mapping rules. For draft tree entities,
1114
1263
  # this holds the source entities which were converted to form the draft entity.
@@ -1117,6 +1266,11 @@ module Google
1117
1266
  # @return [Array<Google::Apis::DatamigrationV1::EntityMapping>]
1118
1267
  attr_accessor :mappings
1119
1268
 
1269
+ # MaterializedView's parent is a schema.
1270
+ # Corresponds to the JSON property `materializedView`
1271
+ # @return [Google::Apis::DatamigrationV1::MaterializedViewEntity]
1272
+ attr_accessor :materialized_view
1273
+
1120
1274
  # The full name of the parent entity (e.g. schema name).
1121
1275
  # Corresponds to the JSON property `parentEntity`
1122
1276
  # @return [String]
@@ -1161,6 +1315,11 @@ module Google
1161
1315
  # @return [String]
1162
1316
  attr_accessor :tree
1163
1317
 
1318
+ # UDT's parent is a schema.
1319
+ # Corresponds to the JSON property `udt`
1320
+ # @return [Google::Apis::DatamigrationV1::UdtEntity]
1321
+ attr_accessor :udt
1322
+
1164
1323
  # View's parent is a schema.
1165
1324
  # Corresponds to the JSON property `view`
1166
1325
  # @return [Google::Apis::DatamigrationV1::ViewEntity]
@@ -1172,10 +1331,14 @@ module Google
1172
1331
 
1173
1332
  # Update properties of this object
1174
1333
  def update!(**args)
1334
+ @database = args[:database] if args.key?(:database)
1175
1335
  @database_function = args[:database_function] if args.key?(:database_function)
1176
1336
  @database_package = args[:database_package] if args.key?(:database_package)
1337
+ @entity_ddl = args[:entity_ddl] if args.key?(:entity_ddl)
1177
1338
  @entity_type = args[:entity_type] if args.key?(:entity_type)
1339
+ @issues = args[:issues] if args.key?(:issues)
1178
1340
  @mappings = args[:mappings] if args.key?(:mappings)
1341
+ @materialized_view = args[:materialized_view] if args.key?(:materialized_view)
1179
1342
  @parent_entity = args[:parent_entity] if args.key?(:parent_entity)
1180
1343
  @schema = args[:schema] if args.key?(:schema)
1181
1344
  @sequence = args[:sequence] if args.key?(:sequence)
@@ -1184,10 +1347,30 @@ module Google
1184
1347
  @synonym = args[:synonym] if args.key?(:synonym)
1185
1348
  @table = args[:table] if args.key?(:table)
1186
1349
  @tree = args[:tree] if args.key?(:tree)
1350
+ @udt = args[:udt] if args.key?(:udt)
1187
1351
  @view = args[:view] if args.key?(:view)
1188
1352
  end
1189
1353
  end
1190
1354
 
1355
+ # DatabaseInstance acts as a parent entity to other database entities.
1356
+ class DatabaseInstanceEntity
1357
+ include Google::Apis::Core::Hashable
1358
+
1359
+ # Custom engine specific features.
1360
+ # Corresponds to the JSON property `customFeatures`
1361
+ # @return [Hash<String,Object>]
1362
+ attr_accessor :custom_features
1363
+
1364
+ def initialize(**args)
1365
+ update!(**args)
1366
+ end
1367
+
1368
+ # Update properties of this object
1369
+ def update!(**args)
1370
+ @custom_features = args[:custom_features] if args.key?(:custom_features)
1371
+ end
1372
+ end
1373
+
1191
1374
  # A message defining the database engine and provider.
1192
1375
  class DatabaseType
1193
1376
  include Google::Apis::Core::Hashable
@@ -1258,6 +1441,32 @@ module Google
1258
1441
  end
1259
1442
  end
1260
1443
 
1444
+ # Filter based on relation between source value and compare value of type double
1445
+ # in ConditionalColumnSetValue
1446
+ class DoubleComparisonFilter
1447
+ include Google::Apis::Core::Hashable
1448
+
1449
+ # Required. Double compare value to be used
1450
+ # Corresponds to the JSON property `value`
1451
+ # @return [Float]
1452
+ attr_accessor :value
1453
+
1454
+ # Required. Relation between source value and compare value
1455
+ # Corresponds to the JSON property `valueComparison`
1456
+ # @return [String]
1457
+ attr_accessor :value_comparison
1458
+
1459
+ def initialize(**args)
1460
+ update!(**args)
1461
+ end
1462
+
1463
+ # Update properties of this object
1464
+ def update!(**args)
1465
+ @value = args[:value] if args.key?(:value)
1466
+ @value_comparison = args[:value_comparison] if args.key?(:value_comparison)
1467
+ end
1468
+ end
1469
+
1261
1470
  # Dump flag definition.
1262
1471
  class DumpFlag
1263
1472
  include Google::Apis::Core::Hashable
@@ -1340,6 +1549,110 @@ module Google
1340
1549
  end
1341
1550
  end
1342
1551
 
1552
+ # A single DDL statement for a specific entity
1553
+ class EntityDdl
1554
+ include Google::Apis::Core::Hashable
1555
+
1556
+ # The actual ddl code.
1557
+ # Corresponds to the JSON property `ddl`
1558
+ # @return [String]
1559
+ attr_accessor :ddl
1560
+
1561
+ # Type of DDL (Create, Alter).
1562
+ # Corresponds to the JSON property `ddlType`
1563
+ # @return [String]
1564
+ attr_accessor :ddl_type
1565
+
1566
+ # The name of the database entity the ddl refers to.
1567
+ # Corresponds to the JSON property `entity`
1568
+ # @return [String]
1569
+ attr_accessor :entity
1570
+
1571
+ # The entity type (if the DDL is for a sub entity).
1572
+ # Corresponds to the JSON property `entityType`
1573
+ # @return [String]
1574
+ attr_accessor :entity_type
1575
+
1576
+ # EntityIssues found for this ddl.
1577
+ # Corresponds to the JSON property `issueId`
1578
+ # @return [Array<String>]
1579
+ attr_accessor :issue_id
1580
+
1581
+ def initialize(**args)
1582
+ update!(**args)
1583
+ end
1584
+
1585
+ # Update properties of this object
1586
+ def update!(**args)
1587
+ @ddl = args[:ddl] if args.key?(:ddl)
1588
+ @ddl_type = args[:ddl_type] if args.key?(:ddl_type)
1589
+ @entity = args[:entity] if args.key?(:entity)
1590
+ @entity_type = args[:entity_type] if args.key?(:entity_type)
1591
+ @issue_id = args[:issue_id] if args.key?(:issue_id)
1592
+ end
1593
+ end
1594
+
1595
+ # Issue related to the entity.
1596
+ class EntityIssue
1597
+ include Google::Apis::Core::Hashable
1598
+
1599
+ # Error/Warning code
1600
+ # Corresponds to the JSON property `code`
1601
+ # @return [String]
1602
+ attr_accessor :code
1603
+
1604
+ # The ddl which caused the issue, if relevant.
1605
+ # Corresponds to the JSON property `ddl`
1606
+ # @return [String]
1607
+ attr_accessor :ddl
1608
+
1609
+ # The entity type (if the DDL is for a sub entity).
1610
+ # Corresponds to the JSON property `entityType`
1611
+ # @return [String]
1612
+ attr_accessor :entity_type
1613
+
1614
+ # Unique Issue ID.
1615
+ # Corresponds to the JSON property `id`
1616
+ # @return [String]
1617
+ attr_accessor :id
1618
+
1619
+ # Issue detailed message
1620
+ # Corresponds to the JSON property `message`
1621
+ # @return [String]
1622
+ attr_accessor :message
1623
+
1624
+ # Issue position.
1625
+ # Corresponds to the JSON property `position`
1626
+ # @return [Google::Apis::DatamigrationV1::Position]
1627
+ attr_accessor :position
1628
+
1629
+ # Severity of the issue
1630
+ # Corresponds to the JSON property `severity`
1631
+ # @return [String]
1632
+ attr_accessor :severity
1633
+
1634
+ # The type of the issue.
1635
+ # Corresponds to the JSON property `type`
1636
+ # @return [String]
1637
+ attr_accessor :type
1638
+
1639
+ def initialize(**args)
1640
+ update!(**args)
1641
+ end
1642
+
1643
+ # Update properties of this object
1644
+ def update!(**args)
1645
+ @code = args[:code] if args.key?(:code)
1646
+ @ddl = args[:ddl] if args.key?(:ddl)
1647
+ @entity_type = args[:entity_type] if args.key?(:entity_type)
1648
+ @id = args[:id] if args.key?(:id)
1649
+ @message = args[:message] if args.key?(:message)
1650
+ @position = args[:position] if args.key?(:position)
1651
+ @severity = args[:severity] if args.key?(:severity)
1652
+ @type = args[:type] if args.key?(:type)
1653
+ end
1654
+ end
1655
+
1343
1656
  # Details of the mappings of a database entity.
1344
1657
  class EntityMapping
1345
1658
  include Google::Apis::Core::Hashable
@@ -1420,6 +1733,28 @@ module Google
1420
1733
  end
1421
1734
  end
1422
1735
 
1736
+ # Options to configure rule type EntityMove. The rule is used to move an entity
1737
+ # to a new schema. The rule filter field can refer to one or more entities. The
1738
+ # rule scope can be one of: Table, Column, Constraint, Index, View, Function,
1739
+ # Stored Procedure, Materialized View, Sequence, UDT
1740
+ class EntityMove
1741
+ include Google::Apis::Core::Hashable
1742
+
1743
+ # Required. The new schema
1744
+ # Corresponds to the JSON property `newSchema`
1745
+ # @return [String]
1746
+ attr_accessor :new_schema
1747
+
1748
+ def initialize(**args)
1749
+ update!(**args)
1750
+ end
1751
+
1752
+ # Update properties of this object
1753
+ def update!(**args)
1754
+ @new_schema = args[:new_schema] if args.key?(:new_schema)
1755
+ end
1756
+ end
1757
+
1423
1758
  # Represents a textual expression in the Common Expression Language (CEL) syntax.
1424
1759
  # CEL is a C-like expression language. The syntax and semantics of CEL are
1425
1760
  # documented at https://github.com/google/cel-spec. Example (Comparison): title:
@@ -1500,6 +1835,34 @@ module Google
1500
1835
  end
1501
1836
  end
1502
1837
 
1838
+ # Options to configure rule type FilterTableColumns. The rule is used to filter
1839
+ # the list of columns to include or exclude from a table. The rule filter field
1840
+ # can refer to one entity. The rule scope can be: Table Only one of the two
1841
+ # lists can be specified for the rule.
1842
+ class FilterTableColumns
1843
+ include Google::Apis::Core::Hashable
1844
+
1845
+ # Optional. List of columns to be excluded for a particular table.
1846
+ # Corresponds to the JSON property `excludeColumns`
1847
+ # @return [Array<String>]
1848
+ attr_accessor :exclude_columns
1849
+
1850
+ # Optional. List of columns to be included for a particular table.
1851
+ # Corresponds to the JSON property `includeColumns`
1852
+ # @return [Array<String>]
1853
+ attr_accessor :include_columns
1854
+
1855
+ def initialize(**args)
1856
+ update!(**args)
1857
+ end
1858
+
1859
+ # Update properties of this object
1860
+ def update!(**args)
1861
+ @exclude_columns = args[:exclude_columns] if args.key?(:exclude_columns)
1862
+ @include_columns = args[:include_columns] if args.key?(:include_columns)
1863
+ end
1864
+ end
1865
+
1503
1866
  # Forward SSH Tunnel connectivity.
1504
1867
  class ForwardSshTunnelConnectivity
1505
1868
  include Google::Apis::Core::Hashable
@@ -1711,19 +2074,19 @@ module Google
1711
2074
  class ImportMappingRulesRequest
1712
2075
  include Google::Apis::Core::Hashable
1713
2076
 
1714
- # Should the conversion workspace be committed automatically after the import
1715
- # operation.
2077
+ # Required. Should the conversion workspace be committed automatically after the
2078
+ # import operation.
1716
2079
  # Corresponds to the JSON property `autoCommit`
1717
2080
  # @return [Boolean]
1718
2081
  attr_accessor :auto_commit
1719
2082
  alias_method :auto_commit?, :auto_commit
1720
2083
 
1721
- # One or more rules files.
2084
+ # Required. One or more rules files.
1722
2085
  # Corresponds to the JSON property `rulesFiles`
1723
2086
  # @return [Array<Google::Apis::DatamigrationV1::RulesFile>]
1724
2087
  attr_accessor :rules_files
1725
2088
 
1726
- # The format of the rules content file.
2089
+ # Required. The format of the rules content file.
1727
2090
  # Corresponds to the JSON property `rulesFormat`
1728
2091
  # @return [String]
1729
2092
  attr_accessor :rules_format
@@ -1744,12 +2107,12 @@ module Google
1744
2107
  class ImportRulesJobDetails
1745
2108
  include Google::Apis::Core::Hashable
1746
2109
 
1747
- # The requested file format.
2110
+ # Output only. The requested file format.
1748
2111
  # Corresponds to the JSON property `fileFormat`
1749
2112
  # @return [String]
1750
2113
  attr_accessor :file_format
1751
2114
 
1752
- # File names used for the import rules job.
2115
+ # Output only. File names used for the import rules job.
1753
2116
  # Corresponds to the JSON property `files`
1754
2117
  # @return [Array<String>]
1755
2118
  attr_accessor :files
@@ -1811,6 +2174,32 @@ module Google
1811
2174
  end
1812
2175
  end
1813
2176
 
2177
+ # Filter based on relation between source value and compare value of type
2178
+ # integer in ConditionalColumnSetValue
2179
+ class IntComparisonFilter
2180
+ include Google::Apis::Core::Hashable
2181
+
2182
+ # Required. Integer compare value to be used
2183
+ # Corresponds to the JSON property `value`
2184
+ # @return [Fixnum]
2185
+ attr_accessor :value
2186
+
2187
+ # Required. Relation between source value and compare value
2188
+ # Corresponds to the JSON property `valueComparison`
2189
+ # @return [String]
2190
+ attr_accessor :value_comparison
2191
+
2192
+ def initialize(**args)
2193
+ update!(**args)
2194
+ end
2195
+
2196
+ # Update properties of this object
2197
+ def update!(**args)
2198
+ @value = args[:value] if args.key?(:value)
2199
+ @value_comparison = args[:value_comparison] if args.key?(:value_comparison)
2200
+ end
2201
+ end
2202
+
1814
2203
  # Response message for 'ListConnectionProfiles' request.
1815
2204
  class ListConnectionProfilesResponse
1816
2205
  include Google::Apis::Core::Hashable
@@ -1900,6 +2289,32 @@ module Google
1900
2289
  end
1901
2290
  end
1902
2291
 
2292
+ # Response message for 'ListMappingRulesRequest' request.
2293
+ class ListMappingRulesResponse
2294
+ include Google::Apis::Core::Hashable
2295
+
2296
+ # The list of conversion workspace mapping rules.
2297
+ # Corresponds to the JSON property `mappingRules`
2298
+ # @return [Array<Google::Apis::DatamigrationV1::MappingRule>]
2299
+ attr_accessor :mapping_rules
2300
+
2301
+ # A token which can be sent as `page_token` to retrieve the next page. If this
2302
+ # field is omitted, there are no subsequent pages.
2303
+ # Corresponds to the JSON property `nextPageToken`
2304
+ # @return [String]
2305
+ attr_accessor :next_page_token
2306
+
2307
+ def initialize(**args)
2308
+ update!(**args)
2309
+ end
2310
+
2311
+ # Update properties of this object
2312
+ def update!(**args)
2313
+ @mapping_rules = args[:mapping_rules] if args.key?(:mapping_rules)
2314
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
2315
+ end
2316
+ end
2317
+
1903
2318
  # Response message for 'ListMigrationJobs' request.
1904
2319
  class ListMigrationJobsResponse
1905
2320
  include Google::Apis::Core::Hashable
@@ -2055,19 +2470,268 @@ module Google
2055
2470
  end
2056
2471
  end
2057
2472
 
2058
- # Represents a Database Migration Service migration job object.
2059
- class MigrationJob
2473
+ # Definition of a transformation that is to be applied to a group of entities in
2474
+ # the source schema. Several such transformations can be applied to an entity
2475
+ # sequentially to define the corresponding entity in the target schema.
2476
+ class MappingRule
2060
2477
  include Google::Apis::Core::Hashable
2061
2478
 
2062
- # The CMEK (customer-managed encryption key) fully qualified key name used for
2063
- # the migration job. This field supports all migration jobs types except for: *
2064
- # Mysql to Mysql (use the cmek field in the cloudsql connection profile instead).
2065
- # * PostrgeSQL to PostgreSQL (use the cmek field in the cloudsql connection
2066
- # profile instead). * PostgreSQL to AlloyDB (use the kms_key_name field in the
2067
- # alloydb connection profile instead). Each Cloud CMEK key has the following
2068
- # format: projects/[PROJECT]/locations/[REGION]/keyRings/[RING]/cryptoKeys/[
2069
- # KEY_NAME]
2070
- # Corresponds to the JSON property `cmekKeyName`
2479
+ # Options to configure rule type ConditionalColumnSetValue. The rule is used to
2480
+ # transform the data which is being replicated/migrated. The rule filter field
2481
+ # can refer to one or more entities. The rule scope can be one of: Column.
2482
+ # Corresponds to the JSON property `conditionalColumnSetValue`
2483
+ # @return [Google::Apis::DatamigrationV1::ConditionalColumnSetValue]
2484
+ attr_accessor :conditional_column_set_value
2485
+
2486
+ # Options to configure rule type ConvertROWIDToColumn. The rule is used to add
2487
+ # column rowid to destination tables based on an Oracle rowid function/property.
2488
+ # The rule filter field can refer to one or more entities. The rule scope can be
2489
+ # one of: Table. This rule requires additional filter to be specified beyond the
2490
+ # basic rule filter field, which is whether or not to work on tables which
2491
+ # already have a primary key defined.
2492
+ # Corresponds to the JSON property `convertRowidColumn`
2493
+ # @return [Google::Apis::DatamigrationV1::ConvertRowIdToColumn]
2494
+ attr_accessor :convert_rowid_column
2495
+
2496
+ # Optional. A human readable name
2497
+ # Corresponds to the JSON property `displayName`
2498
+ # @return [String]
2499
+ attr_accessor :display_name
2500
+
2501
+ # Options to configure rule type EntityMove. The rule is used to move an entity
2502
+ # to a new schema. The rule filter field can refer to one or more entities. The
2503
+ # rule scope can be one of: Table, Column, Constraint, Index, View, Function,
2504
+ # Stored Procedure, Materialized View, Sequence, UDT
2505
+ # Corresponds to the JSON property `entityMove`
2506
+ # @return [Google::Apis::DatamigrationV1::EntityMove]
2507
+ attr_accessor :entity_move
2508
+
2509
+ # A filter defining the entities that a mapping rule should be applied to. When
2510
+ # more than one field is specified, the rule is applied only to entities which
2511
+ # match all the fields.
2512
+ # Corresponds to the JSON property `filter`
2513
+ # @return [Google::Apis::DatamigrationV1::MappingRuleFilter]
2514
+ attr_accessor :filter
2515
+
2516
+ # Options to configure rule type FilterTableColumns. The rule is used to filter
2517
+ # the list of columns to include or exclude from a table. The rule filter field
2518
+ # can refer to one entity. The rule scope can be: Table Only one of the two
2519
+ # lists can be specified for the rule.
2520
+ # Corresponds to the JSON property `filterTableColumns`
2521
+ # @return [Google::Apis::DatamigrationV1::FilterTableColumns]
2522
+ attr_accessor :filter_table_columns
2523
+
2524
+ # Options to configure rule type MultiColumnDatatypeChange. The rule is used to
2525
+ # change the data type and associated properties of multiple columns at once.
2526
+ # The rule filter field can refer to one or more entities. The rule scope can be
2527
+ # one of:Column. This rule requires additional filters to be specified beyond
2528
+ # the basic rule filter field, which is the source data type, but the rule
2529
+ # supports additional filtering capabilities such as the minimum and maximum
2530
+ # field length. All additional filters which are specified are required to be
2531
+ # met in order for the rule to be applied (logical AND between the fields).
2532
+ # Corresponds to the JSON property `multiColumnDataTypeChange`
2533
+ # @return [Google::Apis::DatamigrationV1::MultiColumnDatatypeChange]
2534
+ attr_accessor :multi_column_data_type_change
2535
+
2536
+ # Options to configure rule type MultiEntityRename. The rule is used to rename
2537
+ # multiple entities. The rule filter field can refer to one or more entities.
2538
+ # The rule scope can be one of: Database, Schema, Table, Column, Constraint,
2539
+ # Index, View, Function, Stored Procedure, Materialized View, Sequence, UDT
2540
+ # Corresponds to the JSON property `multiEntityRename`
2541
+ # @return [Google::Apis::DatamigrationV1::MultiEntityRename]
2542
+ attr_accessor :multi_entity_rename
2543
+
2544
+ # Full name of the mapping rule resource, in the form of: projects/`project`/
2545
+ # locations/`location`/conversionWorkspaces/`set`/mappingRule/`rule`.
2546
+ # Corresponds to the JSON property `name`
2547
+ # @return [String]
2548
+ attr_accessor :name
2549
+
2550
+ # Output only. The timestamp that the revision was created.
2551
+ # Corresponds to the JSON property `revisionCreateTime`
2552
+ # @return [String]
2553
+ attr_accessor :revision_create_time
2554
+
2555
+ # Output only. The revision ID of the mapping rule. A new revision is committed
2556
+ # whenever the mapping rule is changed in any way. The format is an 8-character
2557
+ # hexadecimal string.
2558
+ # Corresponds to the JSON property `revisionId`
2559
+ # @return [String]
2560
+ attr_accessor :revision_id
2561
+
2562
+ # Required. The order in which the rule is applied. Lower order rules are
2563
+ # applied before higher value rules so they may end up being overridden.
2564
+ # Corresponds to the JSON property `ruleOrder`
2565
+ # @return [Fixnum]
2566
+ attr_accessor :rule_order
2567
+
2568
+ # Required. The rule scope
2569
+ # Corresponds to the JSON property `ruleScope`
2570
+ # @return [String]
2571
+ attr_accessor :rule_scope
2572
+
2573
+ # Options to configure rule type SetTablePrimaryKey. The rule is used to specify
2574
+ # the columns and name to configure/alter the primary key of a table. The rule
2575
+ # filter field can refer to one entity. The rule scope can be one of: Table.
2576
+ # Corresponds to the JSON property `setTablePrimaryKey`
2577
+ # @return [Google::Apis::DatamigrationV1::SetTablePrimaryKey]
2578
+ attr_accessor :set_table_primary_key
2579
+
2580
+ # Options to configure rule type SingleColumnChange. The rule is used to change
2581
+ # the properties of a column. The rule filter field can refer to one entity. The
2582
+ # rule scope can be one of: Column. When using this rule, if a field is not
2583
+ # specified than the destination column's configuration will be the same as the
2584
+ # one in the source column..
2585
+ # Corresponds to the JSON property `singleColumnChange`
2586
+ # @return [Google::Apis::DatamigrationV1::SingleColumnChange]
2587
+ attr_accessor :single_column_change
2588
+
2589
+ # Options to configure rule type SingleEntityRename. The rule is used to rename
2590
+ # an entity. The rule filter field can refer to only one entity. The rule scope
2591
+ # can be one of: Database, Schema, Table, Column, Constraint, Index, View,
2592
+ # Function, Stored Procedure, Materialized View, Sequence, UDT, Synonym
2593
+ # Corresponds to the JSON property `singleEntityRename`
2594
+ # @return [Google::Apis::DatamigrationV1::SingleEntityRename]
2595
+ attr_accessor :single_entity_rename
2596
+
2597
+ # Options to configure rule type SinglePackageChange. The rule is used to alter
2598
+ # the sql code for a package entities. The rule filter field can refer to one
2599
+ # entity. The rule scope can be: Package
2600
+ # Corresponds to the JSON property `singlePackageChange`
2601
+ # @return [Google::Apis::DatamigrationV1::SinglePackageChange]
2602
+ attr_accessor :single_package_change
2603
+
2604
+ # Options to configure rule type SourceSqlChange. The rule is used to alter the
2605
+ # sql code for database entities. The rule filter field can refer to one entity.
2606
+ # The rule scope can be: StoredProcedure, Function, Trigger, View
2607
+ # Corresponds to the JSON property `sourceSqlChange`
2608
+ # @return [Google::Apis::DatamigrationV1::SourceSqlChange]
2609
+ attr_accessor :source_sql_change
2610
+
2611
+ # Optional. The mapping rule state
2612
+ # Corresponds to the JSON property `state`
2613
+ # @return [String]
2614
+ attr_accessor :state
2615
+
2616
+ def initialize(**args)
2617
+ update!(**args)
2618
+ end
2619
+
2620
+ # Update properties of this object
2621
+ def update!(**args)
2622
+ @conditional_column_set_value = args[:conditional_column_set_value] if args.key?(:conditional_column_set_value)
2623
+ @convert_rowid_column = args[:convert_rowid_column] if args.key?(:convert_rowid_column)
2624
+ @display_name = args[:display_name] if args.key?(:display_name)
2625
+ @entity_move = args[:entity_move] if args.key?(:entity_move)
2626
+ @filter = args[:filter] if args.key?(:filter)
2627
+ @filter_table_columns = args[:filter_table_columns] if args.key?(:filter_table_columns)
2628
+ @multi_column_data_type_change = args[:multi_column_data_type_change] if args.key?(:multi_column_data_type_change)
2629
+ @multi_entity_rename = args[:multi_entity_rename] if args.key?(:multi_entity_rename)
2630
+ @name = args[:name] if args.key?(:name)
2631
+ @revision_create_time = args[:revision_create_time] if args.key?(:revision_create_time)
2632
+ @revision_id = args[:revision_id] if args.key?(:revision_id)
2633
+ @rule_order = args[:rule_order] if args.key?(:rule_order)
2634
+ @rule_scope = args[:rule_scope] if args.key?(:rule_scope)
2635
+ @set_table_primary_key = args[:set_table_primary_key] if args.key?(:set_table_primary_key)
2636
+ @single_column_change = args[:single_column_change] if args.key?(:single_column_change)
2637
+ @single_entity_rename = args[:single_entity_rename] if args.key?(:single_entity_rename)
2638
+ @single_package_change = args[:single_package_change] if args.key?(:single_package_change)
2639
+ @source_sql_change = args[:source_sql_change] if args.key?(:source_sql_change)
2640
+ @state = args[:state] if args.key?(:state)
2641
+ end
2642
+ end
2643
+
2644
+ # A filter defining the entities that a mapping rule should be applied to. When
2645
+ # more than one field is specified, the rule is applied only to entities which
2646
+ # match all the fields.
2647
+ class MappingRuleFilter
2648
+ include Google::Apis::Core::Hashable
2649
+
2650
+ # Optional. The rule should be applied to specific entities defined by their
2651
+ # fully qualified names.
2652
+ # Corresponds to the JSON property `entities`
2653
+ # @return [Array<String>]
2654
+ attr_accessor :entities
2655
+
2656
+ # Optional. The rule should be applied to entities whose non-qualified name
2657
+ # contains the given string.
2658
+ # Corresponds to the JSON property `entityNameContains`
2659
+ # @return [String]
2660
+ attr_accessor :entity_name_contains
2661
+
2662
+ # Optional. The rule should be applied to entities whose non-qualified name
2663
+ # starts with the given prefix.
2664
+ # Corresponds to the JSON property `entityNamePrefix`
2665
+ # @return [String]
2666
+ attr_accessor :entity_name_prefix
2667
+
2668
+ # Optional. The rule should be applied to entities whose non-qualified name ends
2669
+ # with the given suffix.
2670
+ # Corresponds to the JSON property `entityNameSuffix`
2671
+ # @return [String]
2672
+ attr_accessor :entity_name_suffix
2673
+
2674
+ # Optional. The rule should be applied to entities whose parent entity (fully
2675
+ # qualified name) matches the given value. For example, if the rule applies to a
2676
+ # table entity, the expected value should be a schema (schema). If the rule
2677
+ # applies to a column or index entity, the expected value can be either a schema
2678
+ # (schema) or a table (schema.table)
2679
+ # Corresponds to the JSON property `parentEntity`
2680
+ # @return [String]
2681
+ attr_accessor :parent_entity
2682
+
2683
+ def initialize(**args)
2684
+ update!(**args)
2685
+ end
2686
+
2687
+ # Update properties of this object
2688
+ def update!(**args)
2689
+ @entities = args[:entities] if args.key?(:entities)
2690
+ @entity_name_contains = args[:entity_name_contains] if args.key?(:entity_name_contains)
2691
+ @entity_name_prefix = args[:entity_name_prefix] if args.key?(:entity_name_prefix)
2692
+ @entity_name_suffix = args[:entity_name_suffix] if args.key?(:entity_name_suffix)
2693
+ @parent_entity = args[:parent_entity] if args.key?(:parent_entity)
2694
+ end
2695
+ end
2696
+
2697
+ # MaterializedView's parent is a schema.
2698
+ class MaterializedViewEntity
2699
+ include Google::Apis::Core::Hashable
2700
+
2701
+ # Custom engine specific features.
2702
+ # Corresponds to the JSON property `customFeatures`
2703
+ # @return [Hash<String,Object>]
2704
+ attr_accessor :custom_features
2705
+
2706
+ # The SQL code which creates the view.
2707
+ # Corresponds to the JSON property `sqlCode`
2708
+ # @return [String]
2709
+ attr_accessor :sql_code
2710
+
2711
+ def initialize(**args)
2712
+ update!(**args)
2713
+ end
2714
+
2715
+ # Update properties of this object
2716
+ def update!(**args)
2717
+ @custom_features = args[:custom_features] if args.key?(:custom_features)
2718
+ @sql_code = args[:sql_code] if args.key?(:sql_code)
2719
+ end
2720
+ end
2721
+
2722
+ # Represents a Database Migration Service migration job object.
2723
+ class MigrationJob
2724
+ include Google::Apis::Core::Hashable
2725
+
2726
+ # The CMEK (customer-managed encryption key) fully qualified key name used for
2727
+ # the migration job. This field supports all migration jobs types except for: *
2728
+ # Mysql to Mysql (use the cmek field in the cloudsql connection profile instead).
2729
+ # * PostrgeSQL to PostgreSQL (use the cmek field in the cloudsql connection
2730
+ # profile instead). * PostgreSQL to AlloyDB (use the kms_key_name field in the
2731
+ # alloydb connection profile instead). Each Cloud CMEK key has the following
2732
+ # format: projects/[PROJECT]/locations/[REGION]/keyRings/[RING]/cryptoKeys/[
2733
+ # KEY_NAME]
2734
+ # Corresponds to the JSON property `cmekKeyName`
2071
2735
  # @return [String]
2072
2736
  attr_accessor :cmek_key_name
2073
2737
 
@@ -2274,6 +2938,119 @@ module Google
2274
2938
  end
2275
2939
  end
2276
2940
 
2941
+ # Options to configure rule type MultiColumnDatatypeChange. The rule is used to
2942
+ # change the data type and associated properties of multiple columns at once.
2943
+ # The rule filter field can refer to one or more entities. The rule scope can be
2944
+ # one of:Column. This rule requires additional filters to be specified beyond
2945
+ # the basic rule filter field, which is the source data type, but the rule
2946
+ # supports additional filtering capabilities such as the minimum and maximum
2947
+ # field length. All additional filters which are specified are required to be
2948
+ # met in order for the rule to be applied (logical AND between the fields).
2949
+ class MultiColumnDatatypeChange
2950
+ include Google::Apis::Core::Hashable
2951
+
2952
+ # Optional. Custom engine specific features.
2953
+ # Corresponds to the JSON property `customFeatures`
2954
+ # @return [Hash<String,Object>]
2955
+ attr_accessor :custom_features
2956
+
2957
+ # Required. New data type.
2958
+ # Corresponds to the JSON property `newDataType`
2959
+ # @return [String]
2960
+ attr_accessor :new_data_type
2961
+
2962
+ # Optional. Column fractional seconds precision - used only for timestamp based
2963
+ # datatypes - if not specified and relevant uses the source column fractional
2964
+ # seconds precision.
2965
+ # Corresponds to the JSON property `overrideFractionalSecondsPrecision`
2966
+ # @return [Fixnum]
2967
+ attr_accessor :override_fractional_seconds_precision
2968
+
2969
+ # Optional. Column length - e.g. varchar (50) - if not specified and relevant
2970
+ # uses the source column length.
2971
+ # Corresponds to the JSON property `overrideLength`
2972
+ # @return [Fixnum]
2973
+ attr_accessor :override_length
2974
+
2975
+ # Optional. Column precision - when relevant - if not specified and relevant
2976
+ # uses the source column precision.
2977
+ # Corresponds to the JSON property `overridePrecision`
2978
+ # @return [Fixnum]
2979
+ attr_accessor :override_precision
2980
+
2981
+ # Optional. Column scale - when relevant - if not specified and relevant uses
2982
+ # the source column scale.
2983
+ # Corresponds to the JSON property `overrideScale`
2984
+ # @return [Fixnum]
2985
+ attr_accessor :override_scale
2986
+
2987
+ # Required. Filter on source data type.
2988
+ # Corresponds to the JSON property `sourceDataTypeFilter`
2989
+ # @return [String]
2990
+ attr_accessor :source_data_type_filter
2991
+
2992
+ # Filter for fixed point number data types such as NUMERIC/NUMBER
2993
+ # Corresponds to the JSON property `sourceNumericFilter`
2994
+ # @return [Google::Apis::DatamigrationV1::SourceNumericFilter]
2995
+ attr_accessor :source_numeric_filter
2996
+
2997
+ # Filter for text-based data types like varchar.
2998
+ # Corresponds to the JSON property `sourceTextFilter`
2999
+ # @return [Google::Apis::DatamigrationV1::SourceTextFilter]
3000
+ attr_accessor :source_text_filter
3001
+
3002
+ def initialize(**args)
3003
+ update!(**args)
3004
+ end
3005
+
3006
+ # Update properties of this object
3007
+ def update!(**args)
3008
+ @custom_features = args[:custom_features] if args.key?(:custom_features)
3009
+ @new_data_type = args[:new_data_type] if args.key?(:new_data_type)
3010
+ @override_fractional_seconds_precision = args[:override_fractional_seconds_precision] if args.key?(:override_fractional_seconds_precision)
3011
+ @override_length = args[:override_length] if args.key?(:override_length)
3012
+ @override_precision = args[:override_precision] if args.key?(:override_precision)
3013
+ @override_scale = args[:override_scale] if args.key?(:override_scale)
3014
+ @source_data_type_filter = args[:source_data_type_filter] if args.key?(:source_data_type_filter)
3015
+ @source_numeric_filter = args[:source_numeric_filter] if args.key?(:source_numeric_filter)
3016
+ @source_text_filter = args[:source_text_filter] if args.key?(:source_text_filter)
3017
+ end
3018
+ end
3019
+
3020
+ # Options to configure rule type MultiEntityRename. The rule is used to rename
3021
+ # multiple entities. The rule filter field can refer to one or more entities.
3022
+ # The rule scope can be one of: Database, Schema, Table, Column, Constraint,
3023
+ # Index, View, Function, Stored Procedure, Materialized View, Sequence, UDT
3024
+ class MultiEntityRename
3025
+ include Google::Apis::Core::Hashable
3026
+
3027
+ # Optional. The pattern used to generate the new entity's name. This pattern
3028
+ # must include the characters '`name`', which will be replaced with the name of
3029
+ # the original entity. For example, the pattern 't_`name`' for an entity name
3030
+ # jobs would be converted to 't_jobs'. If unspecified, the default value for
3031
+ # this field is '`name`'
3032
+ # Corresponds to the JSON property `newNamePattern`
3033
+ # @return [String]
3034
+ attr_accessor :new_name_pattern
3035
+
3036
+ # Optional. Additional transformation that can be done on the source entity name
3037
+ # before it is being used by the new_name_pattern, for example lower case. If no
3038
+ # transformation is desired, use NO_TRANSFORMATION
3039
+ # Corresponds to the JSON property `sourceNameTransformation`
3040
+ # @return [String]
3041
+ attr_accessor :source_name_transformation
3042
+
3043
+ def initialize(**args)
3044
+ update!(**args)
3045
+ end
3046
+
3047
+ # Update properties of this object
3048
+ def update!(**args)
3049
+ @new_name_pattern = args[:new_name_pattern] if args.key?(:new_name_pattern)
3050
+ @source_name_transformation = args[:source_name_transformation] if args.key?(:source_name_transformation)
3051
+ end
3052
+ end
3053
+
2277
3054
  # Specifies connection parameters required specifically for MySQL databases.
2278
3055
  class MySqlConnectionProfile
2279
3056
  include Google::Apis::Core::Hashable
@@ -2602,6 +3379,43 @@ module Google
2602
3379
  end
2603
3380
  end
2604
3381
 
3382
+ # Issue position.
3383
+ class Position
3384
+ include Google::Apis::Core::Hashable
3385
+
3386
+ # Issue column number
3387
+ # Corresponds to the JSON property `column`
3388
+ # @return [Fixnum]
3389
+ attr_accessor :column
3390
+
3391
+ # Issue length
3392
+ # Corresponds to the JSON property `length`
3393
+ # @return [Fixnum]
3394
+ attr_accessor :length
3395
+
3396
+ # Issue line number
3397
+ # Corresponds to the JSON property `line`
3398
+ # @return [Fixnum]
3399
+ attr_accessor :line
3400
+
3401
+ # Issue offset
3402
+ # Corresponds to the JSON property `offset`
3403
+ # @return [Fixnum]
3404
+ attr_accessor :offset
3405
+
3406
+ def initialize(**args)
3407
+ update!(**args)
3408
+ end
3409
+
3410
+ # Update properties of this object
3411
+ def update!(**args)
3412
+ @column = args[:column] if args.key?(:column)
3413
+ @length = args[:length] if args.key?(:length)
3414
+ @line = args[:line] if args.key?(:line)
3415
+ @offset = args[:offset] if args.key?(:offset)
3416
+ end
3417
+ end
3418
+
2605
3419
  # Specifies connection parameters required specifically for PostgreSQL databases.
2606
3420
  class PostgreSqlConnectionProfile
2607
3421
  include Google::Apis::Core::Hashable
@@ -2942,17 +3756,38 @@ module Google
2942
3756
  end
2943
3757
  end
2944
3758
 
3759
+ # This allows the data to change scale, for example if the source is 2 digits
3760
+ # after the decimal point, specify round to scale value = 2. If for example the
3761
+ # value needs to be converted to an integer, use round to scale value = 0.
3762
+ class RoundToScale
3763
+ include Google::Apis::Core::Hashable
3764
+
3765
+ # Required. Scale value to be used
3766
+ # Corresponds to the JSON property `scale`
3767
+ # @return [Fixnum]
3768
+ attr_accessor :scale
3769
+
3770
+ def initialize(**args)
3771
+ update!(**args)
3772
+ end
3773
+
3774
+ # Update properties of this object
3775
+ def update!(**args)
3776
+ @scale = args[:scale] if args.key?(:scale)
3777
+ end
3778
+ end
3779
+
2945
3780
  # Details of a single rules file.
2946
3781
  class RulesFile
2947
3782
  include Google::Apis::Core::Hashable
2948
3783
 
2949
- # The text content of the rules that needs to be converted.
3784
+ # Required. The text content of the rules that needs to be converted.
2950
3785
  # Corresponds to the JSON property `rulesContent`
2951
3786
  # @return [String]
2952
3787
  attr_accessor :rules_content
2953
3788
 
2954
- # The filename of the rules that needs to be converted. The filename is used
2955
- # mainly so that future logs of the import rules job contain it, and can
3789
+ # Required. The filename of the rules that needs to be converted. The filename
3790
+ # is used mainly so that future logs of the import rules job contain it, and can
2956
3791
  # therefore be searched by it.
2957
3792
  # Corresponds to the JSON property `rulesSourceFilename`
2958
3793
  # @return [String]
@@ -3022,12 +3857,12 @@ module Google
3022
3857
  attr_accessor :auto_commit
3023
3858
  alias_method :auto_commit?, :auto_commit
3024
3859
 
3025
- # Fully qualified (Uri) name of the destination connection profile.
3860
+ # Optional. Fully qualified (Uri) name of the destination connection profile.
3026
3861
  # Corresponds to the JSON property `destinationConnectionProfile`
3027
3862
  # @return [String]
3028
3863
  attr_accessor :destination_connection_profile
3029
3864
 
3030
- # Fully qualified (Uri) name of the source connection profile.
3865
+ # Optional. Fully qualified (Uri) name of the source connection profile.
3031
3866
  # Corresponds to the JSON property `sourceConnectionProfile`
3032
3867
  # @return [String]
3033
3868
  attr_accessor :source_connection_profile
@@ -3048,7 +3883,7 @@ module Google
3048
3883
  class SeedJobDetails
3049
3884
  include Google::Apis::Core::Hashable
3050
3885
 
3051
- # The connection profile which was used for the seed job.
3886
+ # Output only. The connection profile which was used for the seed job.
3052
3887
  # Corresponds to the JSON property `connectionProfile`
3053
3888
  # @return [String]
3054
3889
  attr_accessor :connection_profile
@@ -3178,6 +4013,291 @@ module Google
3178
4013
  end
3179
4014
  end
3180
4015
 
4016
+ # Options to configure rule type SetTablePrimaryKey. The rule is used to specify
4017
+ # the columns and name to configure/alter the primary key of a table. The rule
4018
+ # filter field can refer to one entity. The rule scope can be one of: Table.
4019
+ class SetTablePrimaryKey
4020
+ include Google::Apis::Core::Hashable
4021
+
4022
+ # Optional. Name for the primary key
4023
+ # Corresponds to the JSON property `primaryKey`
4024
+ # @return [String]
4025
+ attr_accessor :primary_key
4026
+
4027
+ # Required. List of column names for the primary key
4028
+ # Corresponds to the JSON property `primaryKeyColumns`
4029
+ # @return [Array<String>]
4030
+ attr_accessor :primary_key_columns
4031
+
4032
+ def initialize(**args)
4033
+ update!(**args)
4034
+ end
4035
+
4036
+ # Update properties of this object
4037
+ def update!(**args)
4038
+ @primary_key = args[:primary_key] if args.key?(:primary_key)
4039
+ @primary_key_columns = args[:primary_key_columns] if args.key?(:primary_key_columns)
4040
+ end
4041
+ end
4042
+
4043
+ # Options to configure rule type SingleColumnChange. The rule is used to change
4044
+ # the properties of a column. The rule filter field can refer to one entity. The
4045
+ # rule scope can be one of: Column. When using this rule, if a field is not
4046
+ # specified than the destination column's configuration will be the same as the
4047
+ # one in the source column..
4048
+ class SingleColumnChange
4049
+ include Google::Apis::Core::Hashable
4050
+
4051
+ # Optional. Is the column of array type.
4052
+ # Corresponds to the JSON property `array`
4053
+ # @return [Boolean]
4054
+ attr_accessor :array
4055
+ alias_method :array?, :array
4056
+
4057
+ # Optional. The length of the array, only relevant if the column type is an
4058
+ # array.
4059
+ # Corresponds to the JSON property `arrayLength`
4060
+ # @return [Fixnum]
4061
+ attr_accessor :array_length
4062
+
4063
+ # Optional. Is the column auto-generated/identity.
4064
+ # Corresponds to the JSON property `autoGenerated`
4065
+ # @return [Boolean]
4066
+ attr_accessor :auto_generated
4067
+ alias_method :auto_generated?, :auto_generated
4068
+
4069
+ # Optional. Charset override - instead of table level charset.
4070
+ # Corresponds to the JSON property `charset`
4071
+ # @return [String]
4072
+ attr_accessor :charset
4073
+
4074
+ # Optional. Collation override - instead of table level collation.
4075
+ # Corresponds to the JSON property `collation`
4076
+ # @return [String]
4077
+ attr_accessor :collation
4078
+
4079
+ # Optional. Comment associated with the column.
4080
+ # Corresponds to the JSON property `comment`
4081
+ # @return [String]
4082
+ attr_accessor :comment
4083
+
4084
+ # Optional. Custom engine specific features.
4085
+ # Corresponds to the JSON property `customFeatures`
4086
+ # @return [Hash<String,Object>]
4087
+ attr_accessor :custom_features
4088
+
4089
+ # Optional. Column data type name.
4090
+ # Corresponds to the JSON property `dataType`
4091
+ # @return [String]
4092
+ attr_accessor :data_type
4093
+
4094
+ # Optional. Column fractional seconds precision - e.g. 2 as in timestamp (2) -
4095
+ # when relevant.
4096
+ # Corresponds to the JSON property `fractionalSecondsPrecision`
4097
+ # @return [Fixnum]
4098
+ attr_accessor :fractional_seconds_precision
4099
+
4100
+ # Optional. Column length - e.g. 50 as in varchar (50) - when relevant.
4101
+ # Corresponds to the JSON property `length`
4102
+ # @return [Fixnum]
4103
+ attr_accessor :length
4104
+
4105
+ # Optional. Is the column nullable.
4106
+ # Corresponds to the JSON property `nullable`
4107
+ # @return [Boolean]
4108
+ attr_accessor :nullable
4109
+ alias_method :nullable?, :nullable
4110
+
4111
+ # Optional. Column precision - e.g. 8 as in double (8,2) - when relevant.
4112
+ # Corresponds to the JSON property `precision`
4113
+ # @return [Fixnum]
4114
+ attr_accessor :precision
4115
+
4116
+ # Optional. Column scale - e.g. 2 as in double (8,2) - when relevant.
4117
+ # Corresponds to the JSON property `scale`
4118
+ # @return [Fixnum]
4119
+ attr_accessor :scale
4120
+
4121
+ # Optional. Specifies the list of values allowed in the column.
4122
+ # Corresponds to the JSON property `setValues`
4123
+ # @return [Array<String>]
4124
+ attr_accessor :set_values
4125
+
4126
+ # Optional. Is the column a UDT (User-defined Type).
4127
+ # Corresponds to the JSON property `udt`
4128
+ # @return [Boolean]
4129
+ attr_accessor :udt
4130
+ alias_method :udt?, :udt
4131
+
4132
+ def initialize(**args)
4133
+ update!(**args)
4134
+ end
4135
+
4136
+ # Update properties of this object
4137
+ def update!(**args)
4138
+ @array = args[:array] if args.key?(:array)
4139
+ @array_length = args[:array_length] if args.key?(:array_length)
4140
+ @auto_generated = args[:auto_generated] if args.key?(:auto_generated)
4141
+ @charset = args[:charset] if args.key?(:charset)
4142
+ @collation = args[:collation] if args.key?(:collation)
4143
+ @comment = args[:comment] if args.key?(:comment)
4144
+ @custom_features = args[:custom_features] if args.key?(:custom_features)
4145
+ @data_type = args[:data_type] if args.key?(:data_type)
4146
+ @fractional_seconds_precision = args[:fractional_seconds_precision] if args.key?(:fractional_seconds_precision)
4147
+ @length = args[:length] if args.key?(:length)
4148
+ @nullable = args[:nullable] if args.key?(:nullable)
4149
+ @precision = args[:precision] if args.key?(:precision)
4150
+ @scale = args[:scale] if args.key?(:scale)
4151
+ @set_values = args[:set_values] if args.key?(:set_values)
4152
+ @udt = args[:udt] if args.key?(:udt)
4153
+ end
4154
+ end
4155
+
4156
+ # Options to configure rule type SingleEntityRename. The rule is used to rename
4157
+ # an entity. The rule filter field can refer to only one entity. The rule scope
4158
+ # can be one of: Database, Schema, Table, Column, Constraint, Index, View,
4159
+ # Function, Stored Procedure, Materialized View, Sequence, UDT, Synonym
4160
+ class SingleEntityRename
4161
+ include Google::Apis::Core::Hashable
4162
+
4163
+ # Required. The new name of the destination entity
4164
+ # Corresponds to the JSON property `newName`
4165
+ # @return [String]
4166
+ attr_accessor :new_name
4167
+
4168
+ def initialize(**args)
4169
+ update!(**args)
4170
+ end
4171
+
4172
+ # Update properties of this object
4173
+ def update!(**args)
4174
+ @new_name = args[:new_name] if args.key?(:new_name)
4175
+ end
4176
+ end
4177
+
4178
+ # Options to configure rule type SinglePackageChange. The rule is used to alter
4179
+ # the sql code for a package entities. The rule filter field can refer to one
4180
+ # entity. The rule scope can be: Package
4181
+ class SinglePackageChange
4182
+ include Google::Apis::Core::Hashable
4183
+
4184
+ # Optional. Sql code for package body
4185
+ # Corresponds to the JSON property `packageBody`
4186
+ # @return [String]
4187
+ attr_accessor :package_body
4188
+
4189
+ # Optional. Sql code for package description
4190
+ # Corresponds to the JSON property `packageDescription`
4191
+ # @return [String]
4192
+ attr_accessor :package_description
4193
+
4194
+ def initialize(**args)
4195
+ update!(**args)
4196
+ end
4197
+
4198
+ # Update properties of this object
4199
+ def update!(**args)
4200
+ @package_body = args[:package_body] if args.key?(:package_body)
4201
+ @package_description = args[:package_description] if args.key?(:package_description)
4202
+ end
4203
+ end
4204
+
4205
+ # Filter for fixed point number data types such as NUMERIC/NUMBER
4206
+ class SourceNumericFilter
4207
+ include Google::Apis::Core::Hashable
4208
+
4209
+ # Required. Enum to set the option defining the datatypes numeric filter has to
4210
+ # be applied to
4211
+ # Corresponds to the JSON property `numericFilterOption`
4212
+ # @return [String]
4213
+ attr_accessor :numeric_filter_option
4214
+
4215
+ # Optional. The filter will match columns with precision smaller than or equal
4216
+ # to this number.
4217
+ # Corresponds to the JSON property `sourceMaxPrecisionFilter`
4218
+ # @return [Fixnum]
4219
+ attr_accessor :source_max_precision_filter
4220
+
4221
+ # Optional. The filter will match columns with scale smaller than or equal to
4222
+ # this number.
4223
+ # Corresponds to the JSON property `sourceMaxScaleFilter`
4224
+ # @return [Fixnum]
4225
+ attr_accessor :source_max_scale_filter
4226
+
4227
+ # Optional. The filter will match columns with precision greater than or equal
4228
+ # to this number.
4229
+ # Corresponds to the JSON property `sourceMinPrecisionFilter`
4230
+ # @return [Fixnum]
4231
+ attr_accessor :source_min_precision_filter
4232
+
4233
+ # Optional. The filter will match columns with scale greater than or equal to
4234
+ # this number.
4235
+ # Corresponds to the JSON property `sourceMinScaleFilter`
4236
+ # @return [Fixnum]
4237
+ attr_accessor :source_min_scale_filter
4238
+
4239
+ def initialize(**args)
4240
+ update!(**args)
4241
+ end
4242
+
4243
+ # Update properties of this object
4244
+ def update!(**args)
4245
+ @numeric_filter_option = args[:numeric_filter_option] if args.key?(:numeric_filter_option)
4246
+ @source_max_precision_filter = args[:source_max_precision_filter] if args.key?(:source_max_precision_filter)
4247
+ @source_max_scale_filter = args[:source_max_scale_filter] if args.key?(:source_max_scale_filter)
4248
+ @source_min_precision_filter = args[:source_min_precision_filter] if args.key?(:source_min_precision_filter)
4249
+ @source_min_scale_filter = args[:source_min_scale_filter] if args.key?(:source_min_scale_filter)
4250
+ end
4251
+ end
4252
+
4253
+ # Options to configure rule type SourceSqlChange. The rule is used to alter the
4254
+ # sql code for database entities. The rule filter field can refer to one entity.
4255
+ # The rule scope can be: StoredProcedure, Function, Trigger, View
4256
+ class SourceSqlChange
4257
+ include Google::Apis::Core::Hashable
4258
+
4259
+ # Required. Sql code for source (stored procedure, function, trigger or view)
4260
+ # Corresponds to the JSON property `sqlCode`
4261
+ # @return [String]
4262
+ attr_accessor :sql_code
4263
+
4264
+ def initialize(**args)
4265
+ update!(**args)
4266
+ end
4267
+
4268
+ # Update properties of this object
4269
+ def update!(**args)
4270
+ @sql_code = args[:sql_code] if args.key?(:sql_code)
4271
+ end
4272
+ end
4273
+
4274
+ # Filter for text-based data types like varchar.
4275
+ class SourceTextFilter
4276
+ include Google::Apis::Core::Hashable
4277
+
4278
+ # Optional. The filter will match columns with length smaller than or equal to
4279
+ # this number.
4280
+ # Corresponds to the JSON property `sourceMaxLengthFilter`
4281
+ # @return [Fixnum]
4282
+ attr_accessor :source_max_length_filter
4283
+
4284
+ # Optional. The filter will match columns with length greater than or equal to
4285
+ # this number.
4286
+ # Corresponds to the JSON property `sourceMinLengthFilter`
4287
+ # @return [Fixnum]
4288
+ attr_accessor :source_min_length_filter
4289
+
4290
+ def initialize(**args)
4291
+ update!(**args)
4292
+ end
4293
+
4294
+ # Update properties of this object
4295
+ def update!(**args)
4296
+ @source_max_length_filter = args[:source_max_length_filter] if args.key?(:source_max_length_filter)
4297
+ @source_min_length_filter = args[:source_min_length_filter] if args.key?(:source_min_length_filter)
4298
+ end
4299
+ end
4300
+
3181
4301
  # An entry for an Access Control list.
3182
4302
  class SqlAclEntry
3183
4303
  include Google::Apis::Core::Hashable
@@ -3338,12 +4458,20 @@ module Google
3338
4458
  class StartMigrationJobRequest
3339
4459
  include Google::Apis::Core::Hashable
3340
4460
 
4461
+ # Optional. Start the migration job without running prior configuration
4462
+ # verification. Defaults to `false`.
4463
+ # Corresponds to the JSON property `skipValidation`
4464
+ # @return [Boolean]
4465
+ attr_accessor :skip_validation
4466
+ alias_method :skip_validation?, :skip_validation
4467
+
3341
4468
  def initialize(**args)
3342
4469
  update!(**args)
3343
4470
  end
3344
4471
 
3345
4472
  # Update properties of this object
3346
4473
  def update!(**args)
4474
+ @skip_validation = args[:skip_validation] if args.key?(:skip_validation)
3347
4475
  end
3348
4476
  end
3349
4477
 
@@ -3638,6 +4766,37 @@ module Google
3638
4766
  end
3639
4767
  end
3640
4768
 
4769
+ # UDT's parent is a schema.
4770
+ class UdtEntity
4771
+ include Google::Apis::Core::Hashable
4772
+
4773
+ # Custom engine specific features.
4774
+ # Corresponds to the JSON property `customFeatures`
4775
+ # @return [Hash<String,Object>]
4776
+ attr_accessor :custom_features
4777
+
4778
+ # The SQL code which creates the udt body.
4779
+ # Corresponds to the JSON property `udtBody`
4780
+ # @return [String]
4781
+ attr_accessor :udt_body
4782
+
4783
+ # The SQL code which creates the udt.
4784
+ # Corresponds to the JSON property `udtSqlCode`
4785
+ # @return [String]
4786
+ attr_accessor :udt_sql_code
4787
+
4788
+ def initialize(**args)
4789
+ update!(**args)
4790
+ end
4791
+
4792
+ # Update properties of this object
4793
+ def update!(**args)
4794
+ @custom_features = args[:custom_features] if args.key?(:custom_features)
4795
+ @udt_body = args[:udt_body] if args.key?(:udt_body)
4796
+ @udt_sql_code = args[:udt_sql_code] if args.key?(:udt_sql_code)
4797
+ end
4798
+ end
4799
+
3641
4800
  # The username/password for a database user. Used for specifying initial users
3642
4801
  # at cluster creation time.
3643
4802
  class UserPassword
@@ -3671,16 +4830,152 @@ module Google
3671
4830
  end
3672
4831
  end
3673
4832
 
4833
+ # A list of values to filter by in ConditionalColumnSetValue
4834
+ class ValueListFilter
4835
+ include Google::Apis::Core::Hashable
4836
+
4837
+ # Required. Whether to ignore case when filtering by values. Defaults to false
4838
+ # Corresponds to the JSON property `ignoreCase`
4839
+ # @return [Boolean]
4840
+ attr_accessor :ignore_case
4841
+ alias_method :ignore_case?, :ignore_case
4842
+
4843
+ # Required. Indicates whether the filter matches rows with values that are
4844
+ # present in the list or those with values not present in it.
4845
+ # Corresponds to the JSON property `valuePresentList`
4846
+ # @return [String]
4847
+ attr_accessor :value_present_list
4848
+
4849
+ # Required. The list to be used to filter by
4850
+ # Corresponds to the JSON property `values`
4851
+ # @return [Array<String>]
4852
+ attr_accessor :values
4853
+
4854
+ def initialize(**args)
4855
+ update!(**args)
4856
+ end
4857
+
4858
+ # Update properties of this object
4859
+ def update!(**args)
4860
+ @ignore_case = args[:ignore_case] if args.key?(:ignore_case)
4861
+ @value_present_list = args[:value_present_list] if args.key?(:value_present_list)
4862
+ @values = args[:values] if args.key?(:values)
4863
+ end
4864
+ end
4865
+
4866
+ # Description of data transformation during migration as part of the
4867
+ # ConditionalColumnSetValue.
4868
+ class ValueTransformation
4869
+ include Google::Apis::Core::Hashable
4870
+
4871
+ # Apply a hash function on the value.
4872
+ # Corresponds to the JSON property `applyHash`
4873
+ # @return [Google::Apis::DatamigrationV1::ApplyHash]
4874
+ attr_accessor :apply_hash
4875
+
4876
+ # A generic empty message that you can re-use to avoid defining duplicated empty
4877
+ # messages in your APIs. A typical example is to use it as the request or the
4878
+ # response type of an API method. For instance: service Foo ` rpc Bar(google.
4879
+ # protobuf.Empty) returns (google.protobuf.Empty); `
4880
+ # Corresponds to the JSON property `assignMaxValue`
4881
+ # @return [Google::Apis::DatamigrationV1::Empty]
4882
+ attr_accessor :assign_max_value
4883
+
4884
+ # A generic empty message that you can re-use to avoid defining duplicated empty
4885
+ # messages in your APIs. A typical example is to use it as the request or the
4886
+ # response type of an API method. For instance: service Foo ` rpc Bar(google.
4887
+ # protobuf.Empty) returns (google.protobuf.Empty); `
4888
+ # Corresponds to the JSON property `assignMinValue`
4889
+ # @return [Google::Apis::DatamigrationV1::Empty]
4890
+ attr_accessor :assign_min_value
4891
+
4892
+ # A generic empty message that you can re-use to avoid defining duplicated empty
4893
+ # messages in your APIs. A typical example is to use it as the request or the
4894
+ # response type of an API method. For instance: service Foo ` rpc Bar(google.
4895
+ # protobuf.Empty) returns (google.protobuf.Empty); `
4896
+ # Corresponds to the JSON property `assignNull`
4897
+ # @return [Google::Apis::DatamigrationV1::Empty]
4898
+ attr_accessor :assign_null
4899
+
4900
+ # Set to a specific value (value is converted to fit the target data type)
4901
+ # Corresponds to the JSON property `assignSpecificValue`
4902
+ # @return [Google::Apis::DatamigrationV1::AssignSpecificValue]
4903
+ attr_accessor :assign_specific_value
4904
+
4905
+ # Filter based on relation between source value and compare value of type double
4906
+ # in ConditionalColumnSetValue
4907
+ # Corresponds to the JSON property `doubleComparison`
4908
+ # @return [Google::Apis::DatamigrationV1::DoubleComparisonFilter]
4909
+ attr_accessor :double_comparison
4910
+
4911
+ # Filter based on relation between source value and compare value of type
4912
+ # integer in ConditionalColumnSetValue
4913
+ # Corresponds to the JSON property `intComparison`
4914
+ # @return [Google::Apis::DatamigrationV1::IntComparisonFilter]
4915
+ attr_accessor :int_comparison
4916
+
4917
+ # A generic empty message that you can re-use to avoid defining duplicated empty
4918
+ # messages in your APIs. A typical example is to use it as the request or the
4919
+ # response type of an API method. For instance: service Foo ` rpc Bar(google.
4920
+ # protobuf.Empty) returns (google.protobuf.Empty); `
4921
+ # Corresponds to the JSON property `isNull`
4922
+ # @return [Google::Apis::DatamigrationV1::Empty]
4923
+ attr_accessor :is_null
4924
+
4925
+ # This allows the data to change scale, for example if the source is 2 digits
4926
+ # after the decimal point, specify round to scale value = 2. If for example the
4927
+ # value needs to be converted to an integer, use round to scale value = 0.
4928
+ # Corresponds to the JSON property `roundScale`
4929
+ # @return [Google::Apis::DatamigrationV1::RoundToScale]
4930
+ attr_accessor :round_scale
4931
+
4932
+ # A list of values to filter by in ConditionalColumnSetValue
4933
+ # Corresponds to the JSON property `valueList`
4934
+ # @return [Google::Apis::DatamigrationV1::ValueListFilter]
4935
+ attr_accessor :value_list
4936
+
4937
+ def initialize(**args)
4938
+ update!(**args)
4939
+ end
4940
+
4941
+ # Update properties of this object
4942
+ def update!(**args)
4943
+ @apply_hash = args[:apply_hash] if args.key?(:apply_hash)
4944
+ @assign_max_value = args[:assign_max_value] if args.key?(:assign_max_value)
4945
+ @assign_min_value = args[:assign_min_value] if args.key?(:assign_min_value)
4946
+ @assign_null = args[:assign_null] if args.key?(:assign_null)
4947
+ @assign_specific_value = args[:assign_specific_value] if args.key?(:assign_specific_value)
4948
+ @double_comparison = args[:double_comparison] if args.key?(:double_comparison)
4949
+ @int_comparison = args[:int_comparison] if args.key?(:int_comparison)
4950
+ @is_null = args[:is_null] if args.key?(:is_null)
4951
+ @round_scale = args[:round_scale] if args.key?(:round_scale)
4952
+ @value_list = args[:value_list] if args.key?(:value_list)
4953
+ end
4954
+ end
4955
+
3674
4956
  # Request message for 'VerifyMigrationJob' request.
3675
4957
  class VerifyMigrationJobRequest
3676
4958
  include Google::Apis::Core::Hashable
3677
4959
 
4960
+ # Represents a Database Migration Service migration job object.
4961
+ # Corresponds to the JSON property `migrationJob`
4962
+ # @return [Google::Apis::DatamigrationV1::MigrationJob]
4963
+ attr_accessor :migration_job
4964
+
4965
+ # Optional. Field mask is used to specify the changed fields to be verified. It
4966
+ # will not update the migration job.
4967
+ # Corresponds to the JSON property `updateMask`
4968
+ # @return [String]
4969
+ attr_accessor :update_mask
4970
+
3678
4971
  def initialize(**args)
3679
4972
  update!(**args)
3680
4973
  end
3681
4974
 
3682
4975
  # Update properties of this object
3683
4976
  def update!(**args)
4977
+ @migration_job = args[:migration_job] if args.key?(:migration_job)
4978
+ @update_mask = args[:update_mask] if args.key?(:update_mask)
3684
4979
  end
3685
4980
  end
3686
4981