google-cloud-cloud_dms-v1 0.4.0 → 0.5.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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