Class: AWSCDK::CustomerProfiles::CfnDomain::RuleBasedMatchingProperty

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
customer_profiles/cfn_domain.rb

Overview

The process of matching duplicate profiles using Rule-Based matching.

If RuleBasedMatching = true , Connect Customer Customer Profiles will start to match and merge your profiles according to your configuration in the RuleBasedMatchingRequest . You can use the ListRuleBasedMatches and GetSimilarProfiles API to return and review the results. Also, if you have configured ExportingConfig in the RuleBasedMatchingRequest , you can download the results from S3.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(enabled:, attribute_types_selector: nil, conflict_resolution: nil, exporting_config: nil, matching_rules: nil, max_allowed_rule_level_for_matching: nil, max_allowed_rule_level_for_merging: nil, status: nil) ⇒ RuleBasedMatchingProperty

Returns a new instance of RuleBasedMatchingProperty.

Parameters:



1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
# File 'customer_profiles/cfn_domain.rb', line 1210

def initialize(enabled:, attribute_types_selector: nil, conflict_resolution: nil, exporting_config: nil, matching_rules: nil, max_allowed_rule_level_for_matching: nil, max_allowed_rule_level_for_merging: nil, status: nil)
  @enabled = enabled
  Jsii::Type.check_type(@enabled, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "enabled")
  @attribute_types_selector = attribute_types_selector.is_a?(Hash) ? ::AWSCDK::CustomerProfiles::CfnDomain::AttributeTypesSelectorProperty.new(**attribute_types_selector.transform_keys(&:to_sym)) : attribute_types_selector
  Jsii::Type.check_type(@attribute_types_selector, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19jdXN0b21lcnByb2ZpbGVzLkNmbkRvbWFpbi5BdHRyaWJ1dGVUeXBlc1NlbGVjdG9yUHJvcGVydHkifV19fQ==")), "attributeTypesSelector") unless @attribute_types_selector.nil?
  @conflict_resolution = conflict_resolution.is_a?(Hash) ? ::AWSCDK::CustomerProfiles::CfnDomain::ConflictResolutionProperty.new(**conflict_resolution.transform_keys(&:to_sym)) : conflict_resolution
  Jsii::Type.check_type(@conflict_resolution, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19jdXN0b21lcnByb2ZpbGVzLkNmbkRvbWFpbi5Db25mbGljdFJlc29sdXRpb25Qcm9wZXJ0eSJ9XX19")), "conflictResolution") unless @conflict_resolution.nil?
  @exporting_config = exporting_config.is_a?(Hash) ? ::AWSCDK::CustomerProfiles::CfnDomain::ExportingConfigProperty.new(**exporting_config.transform_keys(&:to_sym)) : exporting_config
  Jsii::Type.check_type(@exporting_config, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19jdXN0b21lcnByb2ZpbGVzLkNmbkRvbWFpbi5FeHBvcnRpbmdDb25maWdQcm9wZXJ0eSJ9XX19")), "exportingConfig") unless @exporting_config.nil?
  @matching_rules = matching_rules
  Jsii::Type.check_type(@matching_rules, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfY3VzdG9tZXJwcm9maWxlcy5DZm5Eb21haW4uTWF0Y2hpbmdSdWxlUHJvcGVydHkifV19fSwia2luZCI6ImFycmF5In19XX19")), "matchingRules") unless @matching_rules.nil?
  @max_allowed_rule_level_for_matching = max_allowed_rule_level_for_matching
  Jsii::Type.check_type(@max_allowed_rule_level_for_matching, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "maxAllowedRuleLevelForMatching") unless @max_allowed_rule_level_for_matching.nil?
  @max_allowed_rule_level_for_merging = max_allowed_rule_level_for_merging
  Jsii::Type.check_type(@max_allowed_rule_level_for_merging, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "maxAllowedRuleLevelForMerging") unless @max_allowed_rule_level_for_merging.nil?
  @status = status
  Jsii::Type.check_type(@status, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "status") unless @status.nil?
end

Instance Attribute Details

#attribute_types_selectorAWSCDK::IResolvable, ... (readonly)

Configures information about the AttributeTypesSelector where the rule-based identity resolution uses to match profiles.



1238
1239
1240
# File 'customer_profiles/cfn_domain.rb', line 1238

def attribute_types_selector
  @attribute_types_selector
end

#conflict_resolutionAWSCDK::IResolvable, ... (readonly)

Determines how the auto-merging process should resolve conflicts between different profiles.

For example, if Profile A and Profile B have the same FirstName and LastName , ConflictResolution specifies which EmailAddress should be used.



1245
1246
1247
# File 'customer_profiles/cfn_domain.rb', line 1245

def conflict_resolution
  @conflict_resolution
end

#enabledBoolean, AWSCDK::IResolvable (readonly)

The flag that enables the matching process of duplicate profiles.



1233
1234
1235
# File 'customer_profiles/cfn_domain.rb', line 1233

def enabled
  @enabled
end

#exporting_configAWSCDK::IResolvable, ... (readonly)

The S3 location where Identity Resolution Jobs write result files.



1250
1251
1252
# File 'customer_profiles/cfn_domain.rb', line 1250

def exporting_config
  @exporting_config
end

#matching_rulesAWSCDK::IResolvable, ... (readonly)

Configures how the rule-based matching process should match profiles.

You can have up to 15 MatchingRule in the MatchingRules .



1257
1258
1259
# File 'customer_profiles/cfn_domain.rb', line 1257

def matching_rules
  @matching_rules
end

#max_allowed_rule_level_for_matchingNumeric? (readonly)

Indicates the maximum allowed rule level for matching.



1262
1263
1264
# File 'customer_profiles/cfn_domain.rb', line 1262

def max_allowed_rule_level_for_matching
  @max_allowed_rule_level_for_matching
end

#max_allowed_rule_level_for_mergingNumeric? (readonly)

Indicates the maximum allowed rule level for merging.



1267
1268
1269
# File 'customer_profiles/cfn_domain.rb', line 1267

def max_allowed_rule_level_for_merging
  @max_allowed_rule_level_for_merging
end

#statusString? (readonly)

The status of rule-based matching rule.



1272
1273
1274
# File 'customer_profiles/cfn_domain.rb', line 1272

def status
  @status
end

Class Method Details

.jsii_propertiesObject



1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
# File 'customer_profiles/cfn_domain.rb', line 1274

def self.jsii_properties
  {
    :enabled => "enabled",
    :attribute_types_selector => "attributeTypesSelector",
    :conflict_resolution => "conflictResolution",
    :exporting_config => "exportingConfig",
    :matching_rules => "matchingRules",
    :max_allowed_rule_level_for_matching => "maxAllowedRuleLevelForMatching",
    :max_allowed_rule_level_for_merging => "maxAllowedRuleLevelForMerging",
    :status => "status",
  }
end

Instance Method Details

#to_jsiiObject



1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
# File 'customer_profiles/cfn_domain.rb', line 1287

def to_jsii
  result = {}
  result.merge!({
    "enabled" => @enabled,
    "attributeTypesSelector" => @attribute_types_selector,
    "conflictResolution" => @conflict_resolution,
    "exportingConfig" => @exporting_config,
    "matchingRules" => @matching_rules,
    "maxAllowedRuleLevelForMatching" => @max_allowed_rule_level_for_matching,
    "maxAllowedRuleLevelForMerging" => @max_allowed_rule_level_for_merging,
    "status" => @status,
  })
  result.compact
end