Class: AWSCDK::EntityResolution::CfnIdMappingWorkflow::IdMappingRuleBasedPropertiesProperty

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
entity_resolution/cfn_id_mapping_workflow.rb

Overview

An object that defines the list of matching rules to run in an ID mapping workflow.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(attribute_matching_model:, record_matching_model:, rule_definition_type: nil, rules: nil) ⇒ IdMappingRuleBasedPropertiesProperty

Returns a new instance of IdMappingRuleBasedPropertiesProperty.

Parameters:

  • attribute_matching_model (String)

    The comparison type. You can either choose ONE_TO_ONE or MANY_TO_MANY as the attributeMatchingModel .

  • record_matching_model (String)

    The type of matching record that is allowed to be used in an ID mapping workflow.

  • rule_definition_type (String, nil) (defaults to: nil)

    The set of rules you can use in an ID mapping workflow.

  • rules (AWSCDK::IResolvable, Array<AWSCDK::IResolvable, AWSCDK::EntityResolution::CfnIdMappingWorkflow::RuleProperty>, nil) (defaults to: nil)

    The rules that can be used for ID mapping.



673
674
675
676
677
678
679
680
681
682
# File 'entity_resolution/cfn_id_mapping_workflow.rb', line 673

def initialize(attribute_matching_model:, record_matching_model:, rule_definition_type: nil, rules: nil)
  @attribute_matching_model = attribute_matching_model
  Jsii::Type.check_type(@attribute_matching_model, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "attributeMatchingModel")
  @record_matching_model = record_matching_model
  Jsii::Type.check_type(@record_matching_model, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "recordMatchingModel")
  @rule_definition_type = rule_definition_type
  Jsii::Type.check_type(@rule_definition_type, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "ruleDefinitionType") unless @rule_definition_type.nil?
  @rules = rules
  Jsii::Type.check_type(@rules, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfZW50aXR5cmVzb2x1dGlvbi5DZm5JZE1hcHBpbmdXb3JrZmxvdy5SdWxlUHJvcGVydHkifV19fSwia2luZCI6ImFycmF5In19XX19")), "rules") unless @rules.nil?
end

Instance Attribute Details

#attribute_matching_modelString (readonly)

The comparison type. You can either choose ONE_TO_ONE or MANY_TO_MANY as the attributeMatchingModel .

If you choose ONE_TO_ONE , the system can only match attributes if the sub-types are an exact match. For example, for the Email attribute type, the system will only consider it a match if the value of the Email field of Profile A matches the value of the Email field of Profile B.

If you choose MANY_TO_MANY , the system can match attributes across the sub-types of an attribute type. For example, if the value of the Email field of Profile A matches the value of the BusinessEmail field of Profile B, the two profiles are matched on the Email attribute type.



692
693
694
# File 'entity_resolution/cfn_id_mapping_workflow.rb', line 692

def attribute_matching_model
  @attribute_matching_model
end

#record_matching_modelString (readonly)

The type of matching record that is allowed to be used in an ID mapping workflow.

If the value is set to ONE_SOURCE_TO_ONE_TARGET , only one record in the source can be matched to the same record in the target.

If the value is set to MANY_SOURCE_TO_ONE_TARGET , multiple records in the source can be matched to one record in the target.



701
702
703
# File 'entity_resolution/cfn_id_mapping_workflow.rb', line 701

def record_matching_model
  @record_matching_model
end

#rule_definition_typeString? (readonly)

The set of rules you can use in an ID mapping workflow.

The limitations specified for the source or target to define the match rules must be compatible.



708
709
710
# File 'entity_resolution/cfn_id_mapping_workflow.rb', line 708

def rule_definition_type
  @rule_definition_type
end

Class Method Details

.jsii_propertiesObject



715
716
717
718
719
720
721
722
# File 'entity_resolution/cfn_id_mapping_workflow.rb', line 715

def self.jsii_properties
  {
    :attribute_matching_model => "attributeMatchingModel",
    :record_matching_model => "recordMatchingModel",
    :rule_definition_type => "ruleDefinitionType",
    :rules => "rules",
  }
end

Instance Method Details

#to_jsiiObject



724
725
726
727
728
729
730
731
732
733
# File 'entity_resolution/cfn_id_mapping_workflow.rb', line 724

def to_jsii
  result = {}
  result.merge!({
    "attributeMatchingModel" => @attribute_matching_model,
    "recordMatchingModel" => @record_matching_model,
    "ruleDefinitionType" => @rule_definition_type,
    "rules" => @rules,
  })
  result.compact
end