Class: AWSCDK::EntityResolution::CfnIdNamespace::NamespaceRuleBasedPropertiesProperty

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

Overview

The rule-based properties of an ID namespace.

These properties define how the ID namespace can be used in an ID mapping workflow.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(attribute_matching_model: nil, record_matching_models: nil, rule_definition_types: nil, rules: nil) ⇒ NamespaceRuleBasedPropertiesProperty

Returns a new instance of NamespaceRuleBasedPropertiesProperty.

Parameters:

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

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

  • record_matching_models (Array<String>, nil) (defaults to: nil)

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

  • rule_definition_types (Array<String>, nil) (defaults to: nil)

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

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

    The rules for the ID namespace.



785
786
787
788
789
790
791
792
793
794
# File 'entity_resolution/cfn_id_namespace.rb', line 785

def initialize(attribute_matching_model: nil, record_matching_models: nil, rule_definition_types: nil, rules: nil)
  @attribute_matching_model = attribute_matching_model
  Jsii::Type.check_type(@attribute_matching_model, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "attributeMatchingModel") unless @attribute_matching_model.nil?
  @record_matching_models = record_matching_models
  Jsii::Type.check_type(@record_matching_models, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "recordMatchingModels") unless @record_matching_models.nil?
  @rule_definition_types = rule_definition_types
  Jsii::Type.check_type(@rule_definition_types, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "ruleDefinitionTypes") unless @rule_definition_types.nil?
  @rules = rules
  Jsii::Type.check_type(@rules, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfZW50aXR5cmVzb2x1dGlvbi5DZm5JZE5hbWVzcGFjZS5SdWxlUHJvcGVydHkifV19fSwia2luZCI6ImFycmF5In19XX19")), "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 BusinessEmail field of Profile B, the two profiles are matched on the Email attribute type.



804
805
806
# File 'entity_resolution/cfn_id_namespace.rb', line 804

def attribute_matching_model
  @attribute_matching_model
end

#record_matching_modelsArray<String>? (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 is matched to one record in the target.

If the value is set to MANY_SOURCE_TO_ONE_TARGET , all matching records in the source are matched to one record in the target.



813
814
815
# File 'entity_resolution/cfn_id_namespace.rb', line 813

def record_matching_models
  @record_matching_models
end

#rule_definition_typesArray<String>? (readonly)

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

The limitations specified for the source and target must be compatible.



820
821
822
# File 'entity_resolution/cfn_id_namespace.rb', line 820

def rule_definition_types
  @rule_definition_types
end

Class Method Details

.jsii_propertiesObject



827
828
829
830
831
832
833
834
# File 'entity_resolution/cfn_id_namespace.rb', line 827

def self.jsii_properties
  {
    :attribute_matching_model => "attributeMatchingModel",
    :record_matching_models => "recordMatchingModels",
    :rule_definition_types => "ruleDefinitionTypes",
    :rules => "rules",
  }
end

Instance Method Details

#to_jsiiObject



836
837
838
839
840
841
842
843
844
845
# File 'entity_resolution/cfn_id_namespace.rb', line 836

def to_jsii
  result = {}
  result.merge!({
    "attributeMatchingModel" => @attribute_matching_model,
    "recordMatchingModels" => @record_matching_models,
    "ruleDefinitionTypes" => @rule_definition_types,
    "rules" => @rules,
  })
  result.compact
end