Class: Google::Apis::DatamigrationV1::MappingRule

Inherits:
Object
  • Object
show all
Includes:
Core::Hashable, Core::JsonObjectSupport
Defined in:
lib/google/apis/datamigration_v1/classes.rb,
lib/google/apis/datamigration_v1/representations.rb,
lib/google/apis/datamigration_v1/representations.rb

Overview

Definition of a transformation that is to be applied to a group of entities in the source schema. Several such transformations can be applied to an entity sequentially to define the corresponding entity in the target schema.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ MappingRule

Returns a new instance of MappingRule.



2988
2989
2990
# File 'lib/google/apis/datamigration_v1/classes.rb', line 2988

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#conditional_column_set_valueGoogle::Apis::DatamigrationV1::ConditionalColumnSetValue

Options to configure rule type ConditionalColumnSetValue. The rule is used to transform the data which is being replicated/migrated. The rule filter field can refer to one or more entities. The rule scope can be one of: Column. Corresponds to the JSON property conditionalColumnSetValue



2856
2857
2858
# File 'lib/google/apis/datamigration_v1/classes.rb', line 2856

def conditional_column_set_value
  @conditional_column_set_value
end

#convert_rowid_columnGoogle::Apis::DatamigrationV1::ConvertRowIdToColumn

Options to configure rule type ConvertROWIDToColumn. The rule is used to add column rowid to destination tables based on an Oracle rowid function/property. The rule filter field can refer to one or more entities. The rule scope can be one of: Table. This rule requires additional filter to be specified beyond the basic rule filter field, which is whether or not to work on tables which already have a primary key defined. Corresponds to the JSON property convertRowidColumn



2866
2867
2868
# File 'lib/google/apis/datamigration_v1/classes.rb', line 2866

def convert_rowid_column
  @convert_rowid_column
end

#display_nameString

Optional. A human readable name Corresponds to the JSON property displayName

Returns:

  • (String)


2871
2872
2873
# File 'lib/google/apis/datamigration_v1/classes.rb', line 2871

def display_name
  @display_name
end

#entity_moveGoogle::Apis::DatamigrationV1::EntityMove

Options to configure rule type EntityMove. The rule is used to move an entity to a new schema. The rule filter field can refer to one or more entities. The rule scope can be one of: Table, Column, Constraint, Index, View, Function, Stored Procedure, Materialized View, Sequence, UDT Corresponds to the JSON property entityMove



2879
2880
2881
# File 'lib/google/apis/datamigration_v1/classes.rb', line 2879

def entity_move
  @entity_move
end

#filterGoogle::Apis::DatamigrationV1::MappingRuleFilter

A filter defining the entities that a mapping rule should be applied to. When more than one field is specified, the rule is applied only to entities which match all the fields. Corresponds to the JSON property filter



2886
2887
2888
# File 'lib/google/apis/datamigration_v1/classes.rb', line 2886

def filter
  @filter
end

#filter_table_columnsGoogle::Apis::DatamigrationV1::FilterTableColumns

Options to configure rule type FilterTableColumns. The rule is used to filter the list of columns to include or exclude from a table. The rule filter field can refer to one entity. The rule scope can be: Table Only one of the two lists can be specified for the rule. Corresponds to the JSON property filterTableColumns



2894
2895
2896
# File 'lib/google/apis/datamigration_v1/classes.rb', line 2894

def filter_table_columns
  @filter_table_columns
end

#multi_column_data_type_changeGoogle::Apis::DatamigrationV1::MultiColumnDatatypeChange

Options to configure rule type MultiColumnDatatypeChange. The rule is used to change the data type and associated properties of multiple columns at once. The rule filter field can refer to one or more entities. The rule scope can be one of:Column. This rule requires additional filters to be specified beyond the basic rule filter field, which is the source data type, but the rule supports additional filtering capabilities such as the minimum and maximum field length. All additional filters which are specified are required to be met in order for the rule to be applied (logical AND between the fields). Corresponds to the JSON property multiColumnDataTypeChange



2906
2907
2908
# File 'lib/google/apis/datamigration_v1/classes.rb', line 2906

def multi_column_data_type_change
  @multi_column_data_type_change
end

#multi_entity_renameGoogle::Apis::DatamigrationV1::MultiEntityRename

Options to configure rule type MultiEntityRename. The rule is used to rename multiple entities. The rule filter field can refer to one or more entities. The rule scope can be one of: Database, Schema, Table, Column, Constraint, Index, View, Function, Stored Procedure, Materialized View, Sequence, UDT Corresponds to the JSON property multiEntityRename



2914
2915
2916
# File 'lib/google/apis/datamigration_v1/classes.rb', line 2914

def multi_entity_rename
  @multi_entity_rename
end

#nameString

Full name of the mapping rule resource, in the form of: projects/project/ locations/location/conversionWorkspaces/set/mappingRule/rule. Corresponds to the JSON property name

Returns:

  • (String)


2920
2921
2922
# File 'lib/google/apis/datamigration_v1/classes.rb', line 2920

def name
  @name
end

#revision_create_timeString

Output only. The timestamp that the revision was created. Corresponds to the JSON property revisionCreateTime

Returns:

  • (String)


2925
2926
2927
# File 'lib/google/apis/datamigration_v1/classes.rb', line 2925

def revision_create_time
  @revision_create_time
end

#revision_idString

Output only. The revision ID of the mapping rule. A new revision is committed whenever the mapping rule is changed in any way. The format is an 8-character hexadecimal string. Corresponds to the JSON property revisionId

Returns:

  • (String)


2932
2933
2934
# File 'lib/google/apis/datamigration_v1/classes.rb', line 2932

def revision_id
  @revision_id
end

#rule_orderFixnum

Required. The order in which the rule is applied. Lower order rules are applied before higher value rules so they may end up being overridden. Corresponds to the JSON property ruleOrder

Returns:

  • (Fixnum)


2938
2939
2940
# File 'lib/google/apis/datamigration_v1/classes.rb', line 2938

def rule_order
  @rule_order
end

#rule_scopeString

Required. The rule scope Corresponds to the JSON property ruleScope

Returns:

  • (String)


2943
2944
2945
# File 'lib/google/apis/datamigration_v1/classes.rb', line 2943

def rule_scope
  @rule_scope
end

#set_table_primary_keyGoogle::Apis::DatamigrationV1::SetTablePrimaryKey

Options to configure rule type SetTablePrimaryKey. The rule is used to specify the columns and name to configure/alter the primary key of a table. The rule filter field can refer to one entity. The rule scope can be one of: Table. Corresponds to the JSON property setTablePrimaryKey



2950
2951
2952
# File 'lib/google/apis/datamigration_v1/classes.rb', line 2950

def set_table_primary_key
  @set_table_primary_key
end

#single_column_changeGoogle::Apis::DatamigrationV1::SingleColumnChange

Options to configure rule type SingleColumnChange. The rule is used to change the properties of a column. The rule filter field can refer to one entity. The rule scope can be one of: Column. When using this rule, if a field is not specified than the destination column's configuration will be the same as the one in the source column.. Corresponds to the JSON property singleColumnChange



2959
2960
2961
# File 'lib/google/apis/datamigration_v1/classes.rb', line 2959

def single_column_change
  @single_column_change
end

#single_entity_renameGoogle::Apis::DatamigrationV1::SingleEntityRename

Options to configure rule type SingleEntityRename. The rule is used to rename an entity. The rule filter field can refer to only one entity. The rule scope can be one of: Database, Schema, Table, Column, Constraint, Index, View, Function, Stored Procedure, Materialized View, Sequence, UDT, Synonym Corresponds to the JSON property singleEntityRename



2967
2968
2969
# File 'lib/google/apis/datamigration_v1/classes.rb', line 2967

def single_entity_rename
  @single_entity_rename
end

#single_package_changeGoogle::Apis::DatamigrationV1::SinglePackageChange

Options to configure rule type SinglePackageChange. The rule is used to alter the sql code for a package entities. The rule filter field can refer to one entity. The rule scope can be: Package Corresponds to the JSON property singlePackageChange



2974
2975
2976
# File 'lib/google/apis/datamigration_v1/classes.rb', line 2974

def single_package_change
  @single_package_change
end

#source_sql_changeGoogle::Apis::DatamigrationV1::SourceSqlChange

Options to configure rule type SourceSqlChange. The rule is used to alter the sql code for database entities. The rule filter field can refer to one entity. The rule scope can be: StoredProcedure, Function, Trigger, View Corresponds to the JSON property sourceSqlChange



2981
2982
2983
# File 'lib/google/apis/datamigration_v1/classes.rb', line 2981

def source_sql_change
  @source_sql_change
end

#stateString

Optional. The mapping rule state Corresponds to the JSON property state

Returns:

  • (String)


2986
2987
2988
# File 'lib/google/apis/datamigration_v1/classes.rb', line 2986

def state
  @state
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



2993
2994
2995
2996
2997
2998
2999
3000
3001
3002
3003
3004
3005
3006
3007
3008
3009
3010
3011
3012
3013
# File 'lib/google/apis/datamigration_v1/classes.rb', line 2993

def update!(**args)
  @conditional_column_set_value = args[:conditional_column_set_value] if args.key?(:conditional_column_set_value)
  @convert_rowid_column = args[:convert_rowid_column] if args.key?(:convert_rowid_column)
  @display_name = args[:display_name] if args.key?(:display_name)
  @entity_move = args[:entity_move] if args.key?(:entity_move)
  @filter = args[:filter] if args.key?(:filter)
  @filter_table_columns = args[:filter_table_columns] if args.key?(:filter_table_columns)
  @multi_column_data_type_change = args[:multi_column_data_type_change] if args.key?(:multi_column_data_type_change)
  @multi_entity_rename = args[:multi_entity_rename] if args.key?(:multi_entity_rename)
  @name = args[:name] if args.key?(:name)
  @revision_create_time = args[:revision_create_time] if args.key?(:revision_create_time)
  @revision_id = args[:revision_id] if args.key?(:revision_id)
  @rule_order = args[:rule_order] if args.key?(:rule_order)
  @rule_scope = args[:rule_scope] if args.key?(:rule_scope)
  @set_table_primary_key = args[:set_table_primary_key] if args.key?(:set_table_primary_key)
  @single_column_change = args[:single_column_change] if args.key?(:single_column_change)
  @single_entity_rename = args[:single_entity_rename] if args.key?(:single_entity_rename)
  @single_package_change = args[:single_package_change] if args.key?(:single_package_change)
  @source_sql_change = args[:source_sql_change] if args.key?(:source_sql_change)
  @state = args[:state] if args.key?(:state)
end