google-cloud-cloud_dms-v1 0.3.0 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -46,7 +46,7 @@ module Google
46
46
  # Required. The destination engine details.
47
47
  # @!attribute [rw] global_settings
48
48
  # @return [::Google::Protobuf::Map{::String => ::String}]
49
- # A generic list of settings for the workspace.
49
+ # Optional. A generic list of settings for the workspace.
50
50
  # The settings are database pair dependant and can indicate default behavior
51
51
  # for the mapping rules engine or turn on or off specific features.
52
52
  # Such examples can be: convert_foreign_key_to_interleave=true,
@@ -69,7 +69,7 @@ module Google
69
69
  # Output only. The timestamp when the workspace resource was last updated.
70
70
  # @!attribute [rw] display_name
71
71
  # @return [::String]
72
- # The display name for the workspace.
72
+ # Optional. The display name for the workspace.
73
73
  class ConversionWorkspace
74
74
  include ::Google::Protobuf::MessageExts
75
75
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -97,70 +97,71 @@ module Google
97
97
  # @!attribute [rw] finish_time
98
98
  # @return [::Google::Protobuf::Timestamp]
99
99
  # The timestamp when the background job was finished.
100
- # @!attribute [rw] completion_state
100
+ # @!attribute [r] completion_state
101
101
  # @return [::Google::Cloud::CloudDMS::V1::BackgroundJobLogEntry::JobCompletionState]
102
- # Job completion state, i.e. the final state after the job completed.
103
- # @!attribute [rw] completion_comment
102
+ # Output only. Job completion state, i.e. the final state after the job
103
+ # completed.
104
+ # @!attribute [r] completion_comment
104
105
  # @return [::String]
105
- # Job completion comment, such as how many entities were seeded,
106
+ # Output only. Job completion comment, such as how many entities were seeded,
106
107
  # how many warnings were found during conversion, and similar information.
107
- # @!attribute [rw] request_autocommit
108
+ # @!attribute [r] request_autocommit
108
109
  # @return [::Boolean]
109
- # Whether the client requested the conversion workspace to be committed after
110
- # a successful completion of the job.
111
- # @!attribute [rw] seed_job_details
110
+ # Output only. Whether the client requested the conversion workspace to be
111
+ # committed after a successful completion of the job.
112
+ # @!attribute [r] seed_job_details
112
113
  # @return [::Google::Cloud::CloudDMS::V1::BackgroundJobLogEntry::SeedJobDetails]
113
- # Seed job details.
114
- # @!attribute [rw] import_rules_job_details
114
+ # Output only. Seed job details.
115
+ # @!attribute [r] import_rules_job_details
115
116
  # @return [::Google::Cloud::CloudDMS::V1::BackgroundJobLogEntry::ImportRulesJobDetails]
116
- # Import rules job details.
117
- # @!attribute [rw] convert_job_details
117
+ # Output only. Import rules job details.
118
+ # @!attribute [r] convert_job_details
118
119
  # @return [::Google::Cloud::CloudDMS::V1::BackgroundJobLogEntry::ConvertJobDetails]
119
- # Convert job details.
120
- # @!attribute [rw] apply_job_details
120
+ # Output only. Convert job details.
121
+ # @!attribute [r] apply_job_details
121
122
  # @return [::Google::Cloud::CloudDMS::V1::BackgroundJobLogEntry::ApplyJobDetails]
122
- # Apply job details.
123
+ # Output only. Apply job details.
123
124
  class BackgroundJobLogEntry
124
125
  include ::Google::Protobuf::MessageExts
125
126
  extend ::Google::Protobuf::MessageExts::ClassMethods
126
127
 
127
128
  # Details regarding a Seed background job.
128
- # @!attribute [rw] connection_profile
129
+ # @!attribute [r] connection_profile
129
130
  # @return [::String]
130
- # The connection profile which was used for the seed job.
131
+ # Output only. The connection profile which was used for the seed job.
131
132
  class SeedJobDetails
132
133
  include ::Google::Protobuf::MessageExts
133
134
  extend ::Google::Protobuf::MessageExts::ClassMethods
134
135
  end
135
136
 
136
137
  # Details regarding an Import Rules background job.
137
- # @!attribute [rw] files
138
+ # @!attribute [r] files
138
139
  # @return [::Array<::String>]
139
- # File names used for the import rules job.
140
- # @!attribute [rw] file_format
140
+ # Output only. File names used for the import rules job.
141
+ # @!attribute [r] file_format
141
142
  # @return [::Google::Cloud::CloudDMS::V1::ImportRulesFileFormat]
142
- # The requested file format.
143
+ # Output only. The requested file format.
143
144
  class ImportRulesJobDetails
144
145
  include ::Google::Protobuf::MessageExts
145
146
  extend ::Google::Protobuf::MessageExts::ClassMethods
146
147
  end
147
148
 
148
149
  # Details regarding a Convert background job.
149
- # @!attribute [rw] filter
150
+ # @!attribute [r] filter
150
151
  # @return [::String]
151
- # AIP-160 based filter used to specify the entities to convert
152
+ # Output only. AIP-160 based filter used to specify the entities to convert
152
153
  class ConvertJobDetails
153
154
  include ::Google::Protobuf::MessageExts
154
155
  extend ::Google::Protobuf::MessageExts::ClassMethods
155
156
  end
156
157
 
157
158
  # Details regarding an Apply background job.
158
- # @!attribute [rw] connection_profile
159
+ # @!attribute [r] connection_profile
159
160
  # @return [::String]
160
- # The connection profile which was used for the apply job.
161
- # @!attribute [rw] filter
161
+ # Output only. The connection profile which was used for the apply job.
162
+ # @!attribute [r] filter
162
163
  # @return [::String]
163
- # AIP-160 based filter used to specify the entities to apply
164
+ # Output only. AIP-160 based filter used to specify the entities to apply
164
165
  class ApplyJobDetails
165
166
  include ::Google::Protobuf::MessageExts
166
167
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -180,6 +181,564 @@ module Google
180
181
  end
181
182
  end
182
183
 
184
+ # A filter defining the entities that a mapping rule should be applied to.
185
+ # When more than one field is specified, the rule is applied only to
186
+ # entities which match all the fields.
187
+ # @!attribute [rw] parent_entity
188
+ # @return [::String]
189
+ # Optional. The rule should be applied to entities whose parent entity
190
+ # (fully qualified name) matches the given value.
191
+ # For example, if the rule applies to a table entity, the expected value
192
+ # should be a schema (schema). If the rule applies to a column or index
193
+ # entity, the expected value can be either a schema (schema) or a table
194
+ # (schema.table)
195
+ # @!attribute [rw] entity_name_prefix
196
+ # @return [::String]
197
+ # Optional. The rule should be applied to entities whose non-qualified name
198
+ # starts with the given prefix.
199
+ # @!attribute [rw] entity_name_suffix
200
+ # @return [::String]
201
+ # Optional. The rule should be applied to entities whose non-qualified name
202
+ # ends with the given suffix.
203
+ # @!attribute [rw] entity_name_contains
204
+ # @return [::String]
205
+ # Optional. The rule should be applied to entities whose non-qualified name
206
+ # contains the given string.
207
+ # @!attribute [rw] entities
208
+ # @return [::Array<::String>]
209
+ # Optional. The rule should be applied to specific entities defined by their
210
+ # fully qualified names.
211
+ class MappingRuleFilter
212
+ include ::Google::Protobuf::MessageExts
213
+ extend ::Google::Protobuf::MessageExts::ClassMethods
214
+ end
215
+
216
+ # Definition of a transformation that is to be applied to a group of entities
217
+ # in the source schema. Several such transformations can be applied to an
218
+ # entity sequentially to define the corresponding entity in the target schema.
219
+ # @!attribute [rw] name
220
+ # @return [::String]
221
+ # Full name of the mapping rule resource, in the form of:
222
+ # projects/\\{project}/locations/\\{location}/conversionWorkspaces/\\{set}/mappingRule/\\{rule}.
223
+ # @!attribute [rw] display_name
224
+ # @return [::String]
225
+ # Optional. A human readable name
226
+ # @!attribute [rw] state
227
+ # @return [::Google::Cloud::CloudDMS::V1::MappingRule::State]
228
+ # Optional. The mapping rule state
229
+ # @!attribute [rw] rule_scope
230
+ # @return [::Google::Cloud::CloudDMS::V1::DatabaseEntityType]
231
+ # Required. The rule scope
232
+ # @!attribute [rw] filter
233
+ # @return [::Google::Cloud::CloudDMS::V1::MappingRuleFilter]
234
+ # Required. The rule filter
235
+ # @!attribute [rw] rule_order
236
+ # @return [::Integer]
237
+ # Required. The order in which the rule is applied. Lower order rules are
238
+ # applied before higher value rules so they may end up being overridden.
239
+ # @!attribute [r] revision_id
240
+ # @return [::String]
241
+ # Output only. The revision ID of the mapping rule.
242
+ # A new revision is committed whenever the mapping rule is changed in any
243
+ # way. The format is an 8-character hexadecimal string.
244
+ # @!attribute [r] revision_create_time
245
+ # @return [::Google::Protobuf::Timestamp]
246
+ # Output only. The timestamp that the revision was created.
247
+ # @!attribute [rw] single_entity_rename
248
+ # @return [::Google::Cloud::CloudDMS::V1::SingleEntityRename]
249
+ # Optional. Rule to specify how a single entity should be renamed.
250
+ # @!attribute [rw] multi_entity_rename
251
+ # @return [::Google::Cloud::CloudDMS::V1::MultiEntityRename]
252
+ # Optional. Rule to specify how multiple entities should be renamed.
253
+ # @!attribute [rw] entity_move
254
+ # @return [::Google::Cloud::CloudDMS::V1::EntityMove]
255
+ # Optional. Rule to specify how multiple entities should be relocated into
256
+ # a different schema.
257
+ # @!attribute [rw] single_column_change
258
+ # @return [::Google::Cloud::CloudDMS::V1::SingleColumnChange]
259
+ # Optional. Rule to specify how a single column is converted.
260
+ # @!attribute [rw] multi_column_data_type_change
261
+ # @return [::Google::Cloud::CloudDMS::V1::MultiColumnDatatypeChange]
262
+ # Optional. Rule to specify how multiple columns should be converted to a
263
+ # different data type.
264
+ # @!attribute [rw] conditional_column_set_value
265
+ # @return [::Google::Cloud::CloudDMS::V1::ConditionalColumnSetValue]
266
+ # Optional. Rule to specify how the data contained in a column should be
267
+ # transformed (such as trimmed, rounded, etc) provided that the data meets
268
+ # certain criteria.
269
+ # @!attribute [rw] convert_rowid_column
270
+ # @return [::Google::Cloud::CloudDMS::V1::ConvertRowIdToColumn]
271
+ # Optional. Rule to specify how multiple tables should be converted with an
272
+ # additional rowid column.
273
+ # @!attribute [rw] set_table_primary_key
274
+ # @return [::Google::Cloud::CloudDMS::V1::SetTablePrimaryKey]
275
+ # Optional. Rule to specify the primary key for a table
276
+ # @!attribute [rw] single_package_change
277
+ # @return [::Google::Cloud::CloudDMS::V1::SinglePackageChange]
278
+ # Optional. Rule to specify how a single package is converted.
279
+ # @!attribute [rw] source_sql_change
280
+ # @return [::Google::Cloud::CloudDMS::V1::SourceSqlChange]
281
+ # Optional. Rule to change the sql code for an entity, for example,
282
+ # function, procedure.
283
+ # @!attribute [rw] filter_table_columns
284
+ # @return [::Google::Cloud::CloudDMS::V1::FilterTableColumns]
285
+ # Optional. Rule to specify the list of columns to include or exclude from
286
+ # a table.
287
+ class MappingRule
288
+ include ::Google::Protobuf::MessageExts
289
+ extend ::Google::Protobuf::MessageExts::ClassMethods
290
+
291
+ # The current mapping rule state such as enabled, disabled or deleted.
292
+ module State
293
+ # The state of the mapping rule is unknown.
294
+ STATE_UNSPECIFIED = 0
295
+
296
+ # The rule is enabled.
297
+ ENABLED = 1
298
+
299
+ # The rule is disabled.
300
+ DISABLED = 2
301
+
302
+ # The rule is logically deleted.
303
+ DELETED = 3
304
+ end
305
+ end
306
+
307
+ # Options to configure rule type SingleEntityRename.
308
+ # The rule is used to rename an entity.
309
+ #
310
+ # The rule filter field can refer to only one entity.
311
+ #
312
+ # The rule scope can be one of: Database, Schema, Table, Column, Constraint,
313
+ # Index, View, Function, Stored Procedure, Materialized View, Sequence, UDT,
314
+ # Synonym
315
+ # @!attribute [rw] new_name
316
+ # @return [::String]
317
+ # Required. The new name of the destination entity
318
+ class SingleEntityRename
319
+ include ::Google::Protobuf::MessageExts
320
+ extend ::Google::Protobuf::MessageExts::ClassMethods
321
+ end
322
+
323
+ # Options to configure rule type MultiEntityRename.
324
+ # The rule is used to rename multiple entities.
325
+ #
326
+ # The rule filter field can refer to one or more entities.
327
+ #
328
+ # The rule scope can be one of: Database, Schema, Table, Column, Constraint,
329
+ # Index, View, Function, Stored Procedure, Materialized View, Sequence, UDT
330
+ # @!attribute [rw] new_name_pattern
331
+ # @return [::String]
332
+ # Optional. The pattern used to generate the new entity's name. This pattern
333
+ # must include the characters '\\{name}', which will be replaced with the name
334
+ # of the original entity. For example, the pattern 't_\\{name}' for an entity
335
+ # name jobs would be converted to 't_jobs'.
336
+ #
337
+ # If unspecified, the default value for this field is '\\{name}'
338
+ # @!attribute [rw] source_name_transformation
339
+ # @return [::Google::Cloud::CloudDMS::V1::EntityNameTransformation]
340
+ # Optional. Additional transformation that can be done on the source entity
341
+ # name before it is being used by the new_name_pattern, for example lower
342
+ # case. If no transformation is desired, use NO_TRANSFORMATION
343
+ class MultiEntityRename
344
+ include ::Google::Protobuf::MessageExts
345
+ extend ::Google::Protobuf::MessageExts::ClassMethods
346
+ end
347
+
348
+ # Options to configure rule type EntityMove.
349
+ # The rule is used to move an entity to a new schema.
350
+ #
351
+ # The rule filter field can refer to one or more entities.
352
+ #
353
+ # The rule scope can be one of: Table, Column, Constraint, Index, View,
354
+ # Function, Stored Procedure, Materialized View, Sequence, UDT
355
+ # @!attribute [rw] new_schema
356
+ # @return [::String]
357
+ # Required. The new schema
358
+ class EntityMove
359
+ include ::Google::Protobuf::MessageExts
360
+ extend ::Google::Protobuf::MessageExts::ClassMethods
361
+ end
362
+
363
+ # Options to configure rule type SingleColumnChange.
364
+ # The rule is used to change the properties of a column.
365
+ #
366
+ # The rule filter field can refer to one entity.
367
+ #
368
+ # The rule scope can be one of: Column.
369
+ #
370
+ # When using this rule, if a field is not specified than the destination
371
+ # column's configuration will be the same as the one in the source column..
372
+ # @!attribute [rw] data_type
373
+ # @return [::String]
374
+ # Optional. Column data type name.
375
+ # @!attribute [rw] charset
376
+ # @return [::String]
377
+ # Optional. Charset override - instead of table level charset.
378
+ # @!attribute [rw] collation
379
+ # @return [::String]
380
+ # Optional. Collation override - instead of table level collation.
381
+ # @!attribute [rw] length
382
+ # @return [::Integer]
383
+ # Optional. Column length - e.g. 50 as in varchar (50) - when relevant.
384
+ # @!attribute [rw] precision
385
+ # @return [::Integer]
386
+ # Optional. Column precision - e.g. 8 as in double (8,2) - when relevant.
387
+ # @!attribute [rw] scale
388
+ # @return [::Integer]
389
+ # Optional. Column scale - e.g. 2 as in double (8,2) - when relevant.
390
+ # @!attribute [rw] fractional_seconds_precision
391
+ # @return [::Integer]
392
+ # Optional. Column fractional seconds precision - e.g. 2 as in timestamp (2)
393
+ # - when relevant.
394
+ # @!attribute [rw] array
395
+ # @return [::Boolean]
396
+ # Optional. Is the column of array type.
397
+ # @!attribute [rw] array_length
398
+ # @return [::Integer]
399
+ # Optional. The length of the array, only relevant if the column type is an
400
+ # array.
401
+ # @!attribute [rw] nullable
402
+ # @return [::Boolean]
403
+ # Optional. Is the column nullable.
404
+ # @!attribute [rw] auto_generated
405
+ # @return [::Boolean]
406
+ # Optional. Is the column auto-generated/identity.
407
+ # @!attribute [rw] udt
408
+ # @return [::Boolean]
409
+ # Optional. Is the column a UDT (User-defined Type).
410
+ # @!attribute [rw] custom_features
411
+ # @return [::Google::Protobuf::Struct]
412
+ # Optional. Custom engine specific features.
413
+ # @!attribute [rw] set_values
414
+ # @return [::Array<::String>]
415
+ # Optional. Specifies the list of values allowed in the column.
416
+ # @!attribute [rw] comment
417
+ # @return [::String]
418
+ # Optional. Comment associated with the column.
419
+ class SingleColumnChange
420
+ include ::Google::Protobuf::MessageExts
421
+ extend ::Google::Protobuf::MessageExts::ClassMethods
422
+ end
423
+
424
+ # Options to configure rule type MultiColumnDatatypeChange.
425
+ # The rule is used to change the data type and associated properties of
426
+ # multiple columns at once.
427
+ #
428
+ # The rule filter field can refer to one or more entities.
429
+ #
430
+ # The rule scope can be one of:Column.
431
+ #
432
+ # This rule requires additional filters to be specified beyond the basic rule
433
+ # filter field, which is the source data type, but the rule supports additional
434
+ # filtering capabilities such as the minimum and maximum field length. All
435
+ # additional filters which are specified are required to be met in order for
436
+ # the rule to be applied (logical AND between the fields).
437
+ # @!attribute [rw] source_data_type_filter
438
+ # @return [::String]
439
+ # Required. Filter on source data type.
440
+ # @!attribute [rw] source_text_filter
441
+ # @return [::Google::Cloud::CloudDMS::V1::SourceTextFilter]
442
+ # Optional. Filter for text-based data types like varchar.
443
+ # @!attribute [rw] source_numeric_filter
444
+ # @return [::Google::Cloud::CloudDMS::V1::SourceNumericFilter]
445
+ # Optional. Filter for fixed point number data types such as
446
+ # NUMERIC/NUMBER.
447
+ # @!attribute [rw] new_data_type
448
+ # @return [::String]
449
+ # Required. New data type.
450
+ # @!attribute [rw] override_length
451
+ # @return [::Integer]
452
+ # Optional. Column length - e.g. varchar (50) - if not specified and relevant
453
+ # uses the source column length.
454
+ # @!attribute [rw] override_scale
455
+ # @return [::Integer]
456
+ # Optional. Column scale - when relevant - if not specified and relevant
457
+ # uses the source column scale.
458
+ # @!attribute [rw] override_precision
459
+ # @return [::Integer]
460
+ # Optional. Column precision - when relevant - if not specified and relevant
461
+ # uses the source column precision.
462
+ # @!attribute [rw] override_fractional_seconds_precision
463
+ # @return [::Integer]
464
+ # Optional. Column fractional seconds precision - used only for timestamp
465
+ # based datatypes - if not specified and relevant uses the source column
466
+ # fractional seconds precision.
467
+ # @!attribute [rw] custom_features
468
+ # @return [::Google::Protobuf::Struct]
469
+ # Optional. Custom engine specific features.
470
+ class MultiColumnDatatypeChange
471
+ include ::Google::Protobuf::MessageExts
472
+ extend ::Google::Protobuf::MessageExts::ClassMethods
473
+ end
474
+
475
+ # Filter for text-based data types like varchar.
476
+ # @!attribute [rw] source_min_length_filter
477
+ # @return [::Integer]
478
+ # Optional. The filter will match columns with length greater than or equal
479
+ # to this number.
480
+ # @!attribute [rw] source_max_length_filter
481
+ # @return [::Integer]
482
+ # Optional. The filter will match columns with length smaller than or equal
483
+ # to this number.
484
+ class SourceTextFilter
485
+ include ::Google::Protobuf::MessageExts
486
+ extend ::Google::Protobuf::MessageExts::ClassMethods
487
+ end
488
+
489
+ # Filter for fixed point number data types such as NUMERIC/NUMBER
490
+ # @!attribute [rw] source_min_scale_filter
491
+ # @return [::Integer]
492
+ # Optional. The filter will match columns with scale greater than or equal to
493
+ # this number.
494
+ # @!attribute [rw] source_max_scale_filter
495
+ # @return [::Integer]
496
+ # Optional. The filter will match columns with scale smaller than or equal to
497
+ # this number.
498
+ # @!attribute [rw] source_min_precision_filter
499
+ # @return [::Integer]
500
+ # Optional. The filter will match columns with precision greater than or
501
+ # equal to this number.
502
+ # @!attribute [rw] source_max_precision_filter
503
+ # @return [::Integer]
504
+ # Optional. The filter will match columns with precision smaller than or
505
+ # equal to this number.
506
+ # @!attribute [rw] numeric_filter_option
507
+ # @return [::Google::Cloud::CloudDMS::V1::NumericFilterOption]
508
+ # Required. Enum to set the option defining the datatypes numeric filter has
509
+ # to be applied to
510
+ class SourceNumericFilter
511
+ include ::Google::Protobuf::MessageExts
512
+ extend ::Google::Protobuf::MessageExts::ClassMethods
513
+ end
514
+
515
+ # Options to configure rule type ConditionalColumnSetValue.
516
+ # The rule is used to transform the data which is being replicated/migrated.
517
+ #
518
+ # The rule filter field can refer to one or more entities.
519
+ #
520
+ # The rule scope can be one of: Column.
521
+ # @!attribute [rw] source_text_filter
522
+ # @return [::Google::Cloud::CloudDMS::V1::SourceTextFilter]
523
+ # Optional. Optional filter on source column length. Used for text based
524
+ # data types like varchar.
525
+ # @!attribute [rw] source_numeric_filter
526
+ # @return [::Google::Cloud::CloudDMS::V1::SourceNumericFilter]
527
+ # Optional. Optional filter on source column precision and scale. Used for
528
+ # fixed point numbers such as NUMERIC/NUMBER data types.
529
+ # @!attribute [rw] value_transformation
530
+ # @return [::Google::Cloud::CloudDMS::V1::ValueTransformation]
531
+ # Required. Description of data transformation during migration.
532
+ # @!attribute [rw] custom_features
533
+ # @return [::Google::Protobuf::Struct]
534
+ # Optional. Custom engine specific features.
535
+ class ConditionalColumnSetValue
536
+ include ::Google::Protobuf::MessageExts
537
+ extend ::Google::Protobuf::MessageExts::ClassMethods
538
+ end
539
+
540
+ # Description of data transformation during migration as part of the
541
+ # ConditionalColumnSetValue.
542
+ # @!attribute [rw] is_null
543
+ # @return [::Google::Protobuf::Empty]
544
+ # Optional. Value is null
545
+ # @!attribute [rw] value_list
546
+ # @return [::Google::Cloud::CloudDMS::V1::ValueListFilter]
547
+ # Optional. Value is found in the specified list.
548
+ # @!attribute [rw] int_comparison
549
+ # @return [::Google::Cloud::CloudDMS::V1::IntComparisonFilter]
550
+ # Optional. Filter on relation between source value and compare value of
551
+ # type integer.
552
+ # @!attribute [rw] double_comparison
553
+ # @return [::Google::Cloud::CloudDMS::V1::DoubleComparisonFilter]
554
+ # Optional. Filter on relation between source value and compare value of
555
+ # type double.
556
+ # @!attribute [rw] assign_null
557
+ # @return [::Google::Protobuf::Empty]
558
+ # Optional. Set to null
559
+ # @!attribute [rw] assign_specific_value
560
+ # @return [::Google::Cloud::CloudDMS::V1::AssignSpecificValue]
561
+ # Optional. Set to a specific value (value is converted to fit the target
562
+ # data type)
563
+ # @!attribute [rw] assign_min_value
564
+ # @return [::Google::Protobuf::Empty]
565
+ # Optional. Set to min_value - if integer or numeric, will use
566
+ # int.minvalue, etc
567
+ # @!attribute [rw] assign_max_value
568
+ # @return [::Google::Protobuf::Empty]
569
+ # Optional. Set to max_value - if integer or numeric, will use
570
+ # int.maxvalue, etc
571
+ # @!attribute [rw] round_scale
572
+ # @return [::Google::Cloud::CloudDMS::V1::RoundToScale]
573
+ # Optional. Allows the data to change scale
574
+ # @!attribute [rw] apply_hash
575
+ # @return [::Google::Cloud::CloudDMS::V1::ApplyHash]
576
+ # Optional. Applies a hash function on the data
577
+ class ValueTransformation
578
+ include ::Google::Protobuf::MessageExts
579
+ extend ::Google::Protobuf::MessageExts::ClassMethods
580
+ end
581
+
582
+ # Options to configure rule type ConvertROWIDToColumn.
583
+ # The rule is used to add column rowid to destination tables based on an Oracle
584
+ # rowid function/property.
585
+ #
586
+ # The rule filter field can refer to one or more entities.
587
+ #
588
+ # The rule scope can be one of: Table.
589
+ #
590
+ # This rule requires additional filter to be specified beyond the basic rule
591
+ # filter field, which is whether or not to work on tables which already have a
592
+ # primary key defined.
593
+ # @!attribute [rw] only_if_no_primary_key
594
+ # @return [::Boolean]
595
+ # Required. Only work on tables without primary key defined
596
+ class ConvertRowIdToColumn
597
+ include ::Google::Protobuf::MessageExts
598
+ extend ::Google::Protobuf::MessageExts::ClassMethods
599
+ end
600
+
601
+ # Options to configure rule type SetTablePrimaryKey.
602
+ # The rule is used to specify the columns and name to configure/alter the
603
+ # primary key of a table.
604
+ #
605
+ # The rule filter field can refer to one entity.
606
+ #
607
+ # The rule scope can be one of: Table.
608
+ # @!attribute [rw] primary_key_columns
609
+ # @return [::Array<::String>]
610
+ # Required. List of column names for the primary key
611
+ # @!attribute [rw] primary_key
612
+ # @return [::String]
613
+ # Optional. Name for the primary key
614
+ class SetTablePrimaryKey
615
+ include ::Google::Protobuf::MessageExts
616
+ extend ::Google::Protobuf::MessageExts::ClassMethods
617
+ end
618
+
619
+ # Options to configure rule type SinglePackageChange.
620
+ # The rule is used to alter the sql code for a package entities.
621
+ #
622
+ # The rule filter field can refer to one entity.
623
+ #
624
+ # The rule scope can be: Package
625
+ # @!attribute [rw] package_description
626
+ # @return [::String]
627
+ # Optional. Sql code for package description
628
+ # @!attribute [rw] package_body
629
+ # @return [::String]
630
+ # Optional. Sql code for package body
631
+ class SinglePackageChange
632
+ include ::Google::Protobuf::MessageExts
633
+ extend ::Google::Protobuf::MessageExts::ClassMethods
634
+ end
635
+
636
+ # Options to configure rule type SourceSqlChange.
637
+ # The rule is used to alter the sql code for database entities.
638
+ #
639
+ # The rule filter field can refer to one entity.
640
+ #
641
+ # The rule scope can be: StoredProcedure, Function, Trigger, View
642
+ # @!attribute [rw] sql_code
643
+ # @return [::String]
644
+ # Required. Sql code for source (stored procedure, function, trigger or view)
645
+ class SourceSqlChange
646
+ include ::Google::Protobuf::MessageExts
647
+ extend ::Google::Protobuf::MessageExts::ClassMethods
648
+ end
649
+
650
+ # Options to configure rule type FilterTableColumns.
651
+ # The rule is used to filter the list of columns to include or exclude from a
652
+ # table.
653
+ #
654
+ # The rule filter field can refer to one entity.
655
+ #
656
+ # The rule scope can be: Table
657
+ #
658
+ # Only one of the two lists can be specified for the rule.
659
+ # @!attribute [rw] include_columns
660
+ # @return [::Array<::String>]
661
+ # Optional. List of columns to be included for a particular table.
662
+ # @!attribute [rw] exclude_columns
663
+ # @return [::Array<::String>]
664
+ # Optional. List of columns to be excluded for a particular table.
665
+ class FilterTableColumns
666
+ include ::Google::Protobuf::MessageExts
667
+ extend ::Google::Protobuf::MessageExts::ClassMethods
668
+ end
669
+
670
+ # A list of values to filter by in ConditionalColumnSetValue
671
+ # @!attribute [rw] value_present_list
672
+ # @return [::Google::Cloud::CloudDMS::V1::ValuePresentInList]
673
+ # Required. Indicates whether the filter matches rows with values that are
674
+ # present in the list or those with values not present in it.
675
+ # @!attribute [rw] values
676
+ # @return [::Array<::String>]
677
+ # Required. The list to be used to filter by
678
+ # @!attribute [rw] ignore_case
679
+ # @return [::Boolean]
680
+ # Required. Whether to ignore case when filtering by values. Defaults to
681
+ # false
682
+ class ValueListFilter
683
+ include ::Google::Protobuf::MessageExts
684
+ extend ::Google::Protobuf::MessageExts::ClassMethods
685
+ end
686
+
687
+ # Filter based on relation between source value and compare value of type
688
+ # integer in ConditionalColumnSetValue
689
+ # @!attribute [rw] value_comparison
690
+ # @return [::Google::Cloud::CloudDMS::V1::ValueComparison]
691
+ # Required. Relation between source value and compare value
692
+ # @!attribute [rw] value
693
+ # @return [::Integer]
694
+ # Required. Integer compare value to be used
695
+ class IntComparisonFilter
696
+ include ::Google::Protobuf::MessageExts
697
+ extend ::Google::Protobuf::MessageExts::ClassMethods
698
+ end
699
+
700
+ # Filter based on relation between source
701
+ # value and compare value of type double in ConditionalColumnSetValue
702
+ # @!attribute [rw] value_comparison
703
+ # @return [::Google::Cloud::CloudDMS::V1::ValueComparison]
704
+ # Required. Relation between source value and compare value
705
+ # @!attribute [rw] value
706
+ # @return [::Float]
707
+ # Required. Double compare value to be used
708
+ class DoubleComparisonFilter
709
+ include ::Google::Protobuf::MessageExts
710
+ extend ::Google::Protobuf::MessageExts::ClassMethods
711
+ end
712
+
713
+ # Set to a specific value (value is converted to fit the target data type)
714
+ # @!attribute [rw] value
715
+ # @return [::String]
716
+ # Required. Specific value to be assigned
717
+ class AssignSpecificValue
718
+ include ::Google::Protobuf::MessageExts
719
+ extend ::Google::Protobuf::MessageExts::ClassMethods
720
+ end
721
+
722
+ # Apply a hash function on the value.
723
+ # @!attribute [rw] uuid_from_bytes
724
+ # @return [::Google::Protobuf::Empty]
725
+ # Optional. Generate UUID from the data's byte array
726
+ class ApplyHash
727
+ include ::Google::Protobuf::MessageExts
728
+ extend ::Google::Protobuf::MessageExts::ClassMethods
729
+ end
730
+
731
+ # This allows the data to change scale, for example if the source is 2 digits
732
+ # after the decimal point, specify round to scale value = 2. If for example the
733
+ # value needs to be converted to an integer, use round to scale value = 0.
734
+ # @!attribute [rw] scale
735
+ # @return [::Integer]
736
+ # Required. Scale value to be used
737
+ class RoundToScale
738
+ include ::Google::Protobuf::MessageExts
739
+ extend ::Google::Protobuf::MessageExts::ClassMethods
740
+ end
741
+
183
742
  # The base entity type for all the database related entities.
184
743
  # The message contains the entity name, the name of its parent, the entity
185
744
  # type, and the specific details per entity type.
@@ -203,6 +762,17 @@ module Google
203
762
  # For draft tree entities, this holds the source entities which were
204
763
  # converted to form the draft entity.
205
764
  # Destination entities will have no mapping details.
765
+ # @!attribute [rw] entity_ddl
766
+ # @return [::Array<::Google::Cloud::CloudDMS::V1::EntityDdl>]
767
+ # Details about the entity DDL script. Multiple DDL scripts are provided for
768
+ # child entities such as a table entity will have one DDL for the table with
769
+ # additional DDLs for each index, constraint and such.
770
+ # @!attribute [rw] issues
771
+ # @return [::Array<::Google::Cloud::CloudDMS::V1::EntityIssue>]
772
+ # Details about the various issues found for the entity.
773
+ # @!attribute [rw] database
774
+ # @return [::Google::Cloud::CloudDMS::V1::DatabaseInstanceEntity]
775
+ # Database.
206
776
  # @!attribute [rw] schema
207
777
  # @return [::Google::Cloud::CloudDMS::V1::SchemaEntity]
208
778
  # Schema.
@@ -227,6 +797,12 @@ module Google
227
797
  # @!attribute [rw] database_package
228
798
  # @return [::Google::Cloud::CloudDMS::V1::PackageEntity]
229
799
  # Package.
800
+ # @!attribute [rw] udt
801
+ # @return [::Google::Cloud::CloudDMS::V1::UDTEntity]
802
+ # UDT.
803
+ # @!attribute [rw] materialized_view
804
+ # @return [::Google::Cloud::CloudDMS::V1::MaterializedViewEntity]
805
+ # Materialized view.
230
806
  class DatabaseEntity
231
807
  include ::Google::Protobuf::MessageExts
232
808
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -247,6 +823,15 @@ module Google
247
823
  end
248
824
  end
249
825
 
826
+ # DatabaseInstance acts as a parent entity to other database entities.
827
+ # @!attribute [rw] custom_features
828
+ # @return [::Google::Protobuf::Struct]
829
+ # Custom engine specific features.
830
+ class DatabaseInstanceEntity
831
+ include ::Google::Protobuf::MessageExts
832
+ extend ::Google::Protobuf::MessageExts::ClassMethods
833
+ end
834
+
250
835
  # Schema typically has no parent entity, but can have a parent entity
251
836
  # DatabaseInstance (for database engines which support it). For some database
252
837
  # engines, the terms schema and user can be used interchangeably when they
@@ -499,6 +1084,18 @@ module Google
499
1084
  extend ::Google::Protobuf::MessageExts::ClassMethods
500
1085
  end
501
1086
 
1087
+ # MaterializedView's parent is a schema.
1088
+ # @!attribute [rw] sql_code
1089
+ # @return [::String]
1090
+ # The SQL code which creates the view.
1091
+ # @!attribute [rw] custom_features
1092
+ # @return [::Google::Protobuf::Struct]
1093
+ # Custom engine specific features.
1094
+ class MaterializedViewEntity
1095
+ include ::Google::Protobuf::MessageExts
1096
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1097
+ end
1098
+
502
1099
  # Synonym's parent is a schema.
503
1100
  # @!attribute [rw] source_entity
504
1101
  # @return [::String]
@@ -531,6 +1128,21 @@ module Google
531
1128
  extend ::Google::Protobuf::MessageExts::ClassMethods
532
1129
  end
533
1130
 
1131
+ # UDT's parent is a schema.
1132
+ # @!attribute [rw] udt_sql_code
1133
+ # @return [::String]
1134
+ # The SQL code which creates the udt.
1135
+ # @!attribute [rw] udt_body
1136
+ # @return [::String]
1137
+ # The SQL code which creates the udt body.
1138
+ # @!attribute [rw] custom_features
1139
+ # @return [::Google::Protobuf::Struct]
1140
+ # Custom engine specific features.
1141
+ class UDTEntity
1142
+ include ::Google::Protobuf::MessageExts
1143
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1144
+ end
1145
+
534
1146
  # Details of the mappings of a database entity.
535
1147
  # @!attribute [rw] source_entity
536
1148
  # @return [::String]
@@ -575,6 +1187,118 @@ module Google
575
1187
  extend ::Google::Protobuf::MessageExts::ClassMethods
576
1188
  end
577
1189
 
1190
+ # A single DDL statement for a specific entity
1191
+ # @!attribute [rw] ddl_type
1192
+ # @return [::String]
1193
+ # Type of DDL (Create, Alter).
1194
+ # @!attribute [rw] entity
1195
+ # @return [::String]
1196
+ # The name of the database entity the ddl refers to.
1197
+ # @!attribute [rw] ddl
1198
+ # @return [::String]
1199
+ # The actual ddl code.
1200
+ # @!attribute [rw] entity_type
1201
+ # @return [::Google::Cloud::CloudDMS::V1::DatabaseEntityType]
1202
+ # The entity type (if the DDL is for a sub entity).
1203
+ # @!attribute [rw] issue_id
1204
+ # @return [::Array<::String>]
1205
+ # EntityIssues found for this ddl.
1206
+ class EntityDdl
1207
+ include ::Google::Protobuf::MessageExts
1208
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1209
+ end
1210
+
1211
+ # Issue related to the entity.
1212
+ # @!attribute [rw] id
1213
+ # @return [::String]
1214
+ # Unique Issue ID.
1215
+ # @!attribute [rw] type
1216
+ # @return [::Google::Cloud::CloudDMS::V1::EntityIssue::IssueType]
1217
+ # The type of the issue.
1218
+ # @!attribute [rw] severity
1219
+ # @return [::Google::Cloud::CloudDMS::V1::EntityIssue::IssueSeverity]
1220
+ # Severity of the issue
1221
+ # @!attribute [rw] message
1222
+ # @return [::String]
1223
+ # Issue detailed message
1224
+ # @!attribute [rw] code
1225
+ # @return [::String]
1226
+ # Error/Warning code
1227
+ # @!attribute [rw] ddl
1228
+ # @return [::String]
1229
+ # The ddl which caused the issue, if relevant.
1230
+ # @!attribute [rw] position
1231
+ # @return [::Google::Cloud::CloudDMS::V1::EntityIssue::Position]
1232
+ # The position of the issue found, if relevant.
1233
+ # @!attribute [rw] entity_type
1234
+ # @return [::Google::Cloud::CloudDMS::V1::DatabaseEntityType]
1235
+ # The entity type (if the DDL is for a sub entity).
1236
+ class EntityIssue
1237
+ include ::Google::Protobuf::MessageExts
1238
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1239
+
1240
+ # Issue position.
1241
+ # @!attribute [rw] line
1242
+ # @return [::Integer]
1243
+ # Issue line number
1244
+ # @!attribute [rw] column
1245
+ # @return [::Integer]
1246
+ # Issue column number
1247
+ # @!attribute [rw] offset
1248
+ # @return [::Integer]
1249
+ # Issue offset
1250
+ # @!attribute [rw] length
1251
+ # @return [::Integer]
1252
+ # Issue length
1253
+ class Position
1254
+ include ::Google::Protobuf::MessageExts
1255
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1256
+ end
1257
+
1258
+ # Type of issue.
1259
+ module IssueType
1260
+ # Unspecified issue type.
1261
+ ISSUE_TYPE_UNSPECIFIED = 0
1262
+
1263
+ # Issue originated from the DDL
1264
+ ISSUE_TYPE_DDL = 1
1265
+
1266
+ # Issue originated during the apply process
1267
+ ISSUE_TYPE_APPLY = 2
1268
+
1269
+ # Issue originated during the convert process
1270
+ ISSUE_TYPE_CONVERT = 3
1271
+ end
1272
+
1273
+ # Severity of issue.
1274
+ module IssueSeverity
1275
+ # Unspecified issue severity
1276
+ ISSUE_SEVERITY_UNSPECIFIED = 0
1277
+
1278
+ # Info
1279
+ ISSUE_SEVERITY_INFO = 1
1280
+
1281
+ # Warning
1282
+ ISSUE_SEVERITY_WARNING = 2
1283
+
1284
+ # Error
1285
+ ISSUE_SEVERITY_ERROR = 3
1286
+ end
1287
+ end
1288
+
1289
+ # Enum used by ValueListFilter to indicate whether the source value is in the
1290
+ # supplied list
1291
+ module ValuePresentInList
1292
+ # Value present in list unspecified
1293
+ VALUE_PRESENT_IN_LIST_UNSPECIFIED = 0
1294
+
1295
+ # If the source value is in the supplied list at value_list
1296
+ VALUE_PRESENT_IN_LIST_IF_VALUE_LIST = 1
1297
+
1298
+ # If the source value is not in the supplied list at value_list
1299
+ VALUE_PRESENT_IN_LIST_IF_VALUE_NOT_LIST = 2
1300
+ end
1301
+
578
1302
  # The type of database entities supported,
579
1303
  module DatabaseEntityType
580
1304
  # Unspecified database entity type.
@@ -626,6 +1350,24 @@ module Google
626
1350
  DATABASE_ENTITY_TYPE_DATABASE = 15
627
1351
  end
628
1352
 
1353
+ # Entity Name Transformation Types
1354
+ module EntityNameTransformation
1355
+ # Entity name transformation unspecified.
1356
+ ENTITY_NAME_TRANSFORMATION_UNSPECIFIED = 0
1357
+
1358
+ # No transformation.
1359
+ ENTITY_NAME_TRANSFORMATION_NO_TRANSFORMATION = 1
1360
+
1361
+ # Transform to lower case.
1362
+ ENTITY_NAME_TRANSFORMATION_LOWER_CASE = 2
1363
+
1364
+ # Transform to upper case.
1365
+ ENTITY_NAME_TRANSFORMATION_UPPER_CASE = 3
1366
+
1367
+ # Transform to capitalized case.
1368
+ ENTITY_NAME_TRANSFORMATION_CAPITALIZED_CASE = 4
1369
+ end
1370
+
629
1371
  # The types of jobs that can be executed in the background.
630
1372
  module BackgroundJobType
631
1373
  # Unspecified background job type.
@@ -657,6 +1399,42 @@ module Google
657
1399
  # Ora2Pg configuration file.
658
1400
  IMPORT_RULES_FILE_FORMAT_ORATOPG_CONFIG_FILE = 2
659
1401
  end
1402
+
1403
+ # Enum used by IntComparisonFilter and DoubleComparisonFilter to indicate the
1404
+ # relation between source value and compare value.
1405
+ module ValueComparison
1406
+ # Value comparison unspecified.
1407
+ VALUE_COMPARISON_UNSPECIFIED = 0
1408
+
1409
+ # Value is smaller than the Compare value.
1410
+ VALUE_COMPARISON_IF_VALUE_SMALLER_THAN = 1
1411
+
1412
+ # Value is smaller or equal than the Compare value.
1413
+ VALUE_COMPARISON_IF_VALUE_SMALLER_EQUAL_THAN = 2
1414
+
1415
+ # Value is larger than the Compare value.
1416
+ VALUE_COMPARISON_IF_VALUE_LARGER_THAN = 3
1417
+
1418
+ # Value is larger or equal than the Compare value.
1419
+ VALUE_COMPARISON_IF_VALUE_LARGER_EQUAL_THAN = 4
1420
+ end
1421
+
1422
+ # Specifies the columns on which numeric filter needs to be applied.
1423
+ module NumericFilterOption
1424
+ # Numeric filter option unspecified
1425
+ NUMERIC_FILTER_OPTION_UNSPECIFIED = 0
1426
+
1427
+ # Numeric filter option that matches all numeric columns.
1428
+ NUMERIC_FILTER_OPTION_ALL = 1
1429
+
1430
+ # Numeric filter option that matches columns having numeric datatypes with
1431
+ # specified precision and scale within the limited range of filter.
1432
+ NUMERIC_FILTER_OPTION_LIMIT = 2
1433
+
1434
+ # Numeric filter option that matches only the numeric columns with no
1435
+ # precision and scale specified.
1436
+ NUMERIC_FILTER_OPTION_LIMITLESS = 3
1437
+ end
660
1438
  end
661
1439
  end
662
1440
  end