# RuleBasedPropertiesProperty

An object which defines the list of matching rules to run in a matching workflow.

- Source: Generated code
- Type last changed: v2.154.0 · 22 Aug 2024

## Example

```ts
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import { aws_entityresolution as entityresolution } from 'aws-cdk-lib';
const ruleBasedPropertiesProperty: entityresolution.CfnMatchingWorkflow.RuleBasedPropertiesProperty = {
  attributeMatchingModel: 'attributeMatchingModel',
  rules: [{
    matchingKeys: ['matchingKeys'],
    ruleName: 'ruleName',
  }],

  // the properties below are optional
  matchPurpose: 'matchPurpose',
};
```

## Properties

- `attributeMatchingModel`: string (required) — The comparison type. You can 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 and the value of `BusinessEmail` field of Profile B matches, the two profiles are matched on the `Email` attribute type.

- `matchPurpose`: string — An indicator of whether to generate IDs and index the data or not.

  If you choose `IDENTIFIER_GENERATION` , the process generates IDs and indexes the data.

  If you choose `INDEXING` , the process indexes the data without generating IDs.

- `rules`: [IResolvable](/cdk/api/v2/docs/aws-cdk-lib.IResolvable.html) | [IResolvable](/cdk/api/v2/docs/aws-cdk-lib.IResolvable.html) | [CfnMatchingWorkflow.RuleProperty](/cdk/api/v2/docs/aws-cdk-lib.aws_entityresolution.CfnMatchingWorkflow.RuleProperty.html)[] (required) — A list of `Rule` objects, each of which have fields `RuleName` and `MatchingKeys` .
