

This is the new *CloudFormation Template Reference Guide*. Please update your bookmarks and links. For help getting started with CloudFormation, see the [AWS CloudFormation User Guide](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html).

# AWS::EntityResolution::IdNamespace
<a name="aws-resource-entityresolution-idnamespace"></a>

Creates an ID namespace object which will help customers provide metadata explaining their dataset and how to use it. Each ID namespace must have a unique name. To modify an existing ID namespace, use the UpdateIdNamespace API.

## Syntax
<a name="aws-resource-entityresolution-idnamespace-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-resource-entityresolution-idnamespace-syntax.json"></a>

```
{
  "Type" : "AWS::EntityResolution::IdNamespace",
  "Properties" : {
      "[Description](#cfn-entityresolution-idnamespace-description)" : String,
      "[IdMappingWorkflowProperties](#cfn-entityresolution-idnamespace-idmappingworkflowproperties)" : [ IdNamespaceIdMappingWorkflowProperties, ... ],
      "[IdNamespaceName](#cfn-entityresolution-idnamespace-idnamespacename)" : String,
      "[InputSourceConfig](#cfn-entityresolution-idnamespace-inputsourceconfig)" : [ IdNamespaceInputSource, ... ],
      "[RoleArn](#cfn-entityresolution-idnamespace-rolearn)" : String,
      "[Tags](#cfn-entityresolution-idnamespace-tags)" : [ Tag, ... ],
      "[Type](#cfn-entityresolution-idnamespace-type)" : String
    }
}
```

### YAML
<a name="aws-resource-entityresolution-idnamespace-syntax.yaml"></a>

```
Type: AWS::EntityResolution::IdNamespace
Properties:
  [Description](#cfn-entityresolution-idnamespace-description): String
  [IdMappingWorkflowProperties](#cfn-entityresolution-idnamespace-idmappingworkflowproperties): 
    - IdNamespaceIdMappingWorkflowProperties
  [IdNamespaceName](#cfn-entityresolution-idnamespace-idnamespacename): String
  [InputSourceConfig](#cfn-entityresolution-idnamespace-inputsourceconfig): 
    - IdNamespaceInputSource
  [RoleArn](#cfn-entityresolution-idnamespace-rolearn): String
  [Tags](#cfn-entityresolution-idnamespace-tags): 
    - Tag
  [Type](#cfn-entityresolution-idnamespace-type): String
```

## Properties
<a name="aws-resource-entityresolution-idnamespace-properties"></a>

`Description`  <a name="cfn-entityresolution-idnamespace-description"></a>
The description of the ID namespace.  
*Required*: No  
*Type*: String  
*Minimum*: `0`  
*Maximum*: `255`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`IdMappingWorkflowProperties`  <a name="cfn-entityresolution-idnamespace-idmappingworkflowproperties"></a>
Determines the properties of `IdMappingWorflow` where this `IdNamespace` can be used as a `Source` or a `Target`.  
*Required*: No  
*Type*: Array of [IdNamespaceIdMappingWorkflowProperties](aws-properties-entityresolution-idnamespace-idnamespaceidmappingworkflowproperties.md)  
*Minimum*: `1`  
*Maximum*: `1`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`IdNamespaceName`  <a name="cfn-entityresolution-idnamespace-idnamespacename"></a>
The name of the ID namespace.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^[a-zA-Z_0-9-]*$`  
*Minimum*: `1`  
*Maximum*: `255`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`InputSourceConfig`  <a name="cfn-entityresolution-idnamespace-inputsourceconfig"></a>
A list of `InputSource` objects, which have the fields `InputSourceARN` and `SchemaName`.  
*Required*: No  
*Type*: Array of [IdNamespaceInputSource](aws-properties-entityresolution-idnamespace-idnamespaceinputsource.md)  
*Minimum*: `0`  
*Maximum*: `20`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`RoleArn`  <a name="cfn-entityresolution-idnamespace-rolearn"></a>
The Amazon Resource Name (ARN) of the IAM role. AWS Entity Resolution assumes this role to access the resources defined in this `IdNamespace` on your behalf as part of the workflow run.  
*Required*: No  
*Type*: String  
*Pattern*: `^arn:(aws|aws-us-gov|aws-cn):iam::\d{12}:role/?[a-zA-Z_0-9+=,.@\-_/]+$`  
*Minimum*: `32`  
*Maximum*: `512`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Tags`  <a name="cfn-entityresolution-idnamespace-tags"></a>
The tags used to organize, track, or control access for this resource.  
*Required*: No  
*Type*: Array of [Tag](aws-properties-entityresolution-idnamespace-tag.md)  
*Minimum*: `0`  
*Maximum*: `200`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Type`  <a name="cfn-entityresolution-idnamespace-type"></a>
The type of ID namespace. There are two types: `SOURCE` and `TARGET`.  
The `SOURCE` contains configurations for `sourceId` data that will be processed in an ID mapping workflow.   
The `TARGET` contains a configuration of `targetId` which all `sourceIds` will resolve to.  
*Required*: Yes  
*Type*: String  
*Allowed values*: `SOURCE | TARGET`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::EntityResolution::IdNamespace IdNamespaceIdMappingWorkflowProperties
<a name="aws-properties-entityresolution-idnamespace-idnamespaceidmappingworkflowproperties"></a>

An object containing `idMappingType`, `providerProperties`, and `ruleBasedProperties`.

## Syntax
<a name="aws-properties-entityresolution-idnamespace-idnamespaceidmappingworkflowproperties-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-entityresolution-idnamespace-idnamespaceidmappingworkflowproperties-syntax.json"></a>

```
{
  "[IdMappingType](#cfn-entityresolution-idnamespace-idnamespaceidmappingworkflowproperties-idmappingtype)" : String,
  "[ProviderProperties](#cfn-entityresolution-idnamespace-idnamespaceidmappingworkflowproperties-providerproperties)" : NamespaceProviderProperties,
  "[RuleBasedProperties](#cfn-entityresolution-idnamespace-idnamespaceidmappingworkflowproperties-rulebasedproperties)" : NamespaceRuleBasedProperties
}
```

### YAML
<a name="aws-properties-entityresolution-idnamespace-idnamespaceidmappingworkflowproperties-syntax.yaml"></a>

```
  [IdMappingType](#cfn-entityresolution-idnamespace-idnamespaceidmappingworkflowproperties-idmappingtype): String
  [ProviderProperties](#cfn-entityresolution-idnamespace-idnamespaceidmappingworkflowproperties-providerproperties): 
    NamespaceProviderProperties
  [RuleBasedProperties](#cfn-entityresolution-idnamespace-idnamespaceidmappingworkflowproperties-rulebasedproperties): 
    NamespaceRuleBasedProperties
```

## Properties
<a name="aws-properties-entityresolution-idnamespace-idnamespaceidmappingworkflowproperties-properties"></a>

`IdMappingType`  <a name="cfn-entityresolution-idnamespace-idnamespaceidmappingworkflowproperties-idmappingtype"></a>
The type of ID mapping.  
*Required*: Yes  
*Type*: String  
*Allowed values*: `PROVIDER | RULE_BASED`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ProviderProperties`  <a name="cfn-entityresolution-idnamespace-idnamespaceidmappingworkflowproperties-providerproperties"></a>
An object which defines any additional configurations required by the provider service.  
*Required*: No  
*Type*: [NamespaceProviderProperties](aws-properties-entityresolution-idnamespace-namespaceproviderproperties.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`RuleBasedProperties`  <a name="cfn-entityresolution-idnamespace-idnamespaceidmappingworkflowproperties-rulebasedproperties"></a>
 An object which defines any additional configurations required by rule-based matching.  
*Required*: No  
*Type*: [NamespaceRuleBasedProperties](aws-properties-entityresolution-idnamespace-namespacerulebasedproperties.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::EntityResolution::IdNamespace IdNamespaceInputSource
<a name="aws-properties-entityresolution-idnamespace-idnamespaceinputsource"></a>

An object containing `inputSourceARN` and `schemaName`.

## Syntax
<a name="aws-properties-entityresolution-idnamespace-idnamespaceinputsource-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-entityresolution-idnamespace-idnamespaceinputsource-syntax.json"></a>

```
{
  "[InputSourceARN](#cfn-entityresolution-idnamespace-idnamespaceinputsource-inputsourcearn)" : String,
  "[SchemaName](#cfn-entityresolution-idnamespace-idnamespaceinputsource-schemaname)" : String
}
```

### YAML
<a name="aws-properties-entityresolution-idnamespace-idnamespaceinputsource-syntax.yaml"></a>

```
  [InputSourceARN](#cfn-entityresolution-idnamespace-idnamespaceinputsource-inputsourcearn): String
  [SchemaName](#cfn-entityresolution-idnamespace-idnamespaceinputsource-schemaname): String
```

## Properties
<a name="aws-properties-entityresolution-idnamespace-idnamespaceinputsource-properties"></a>

`InputSourceARN`  <a name="cfn-entityresolution-idnamespace-idnamespaceinputsource-inputsourcearn"></a>
An AWS Glue table Amazon Resource Name (ARN) or a matching workflow ARN for the input source table.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^arn:(aws|aws-us-gov|aws-cn):entityresolution:[a-z]{2}-[a-z]{1,10}-[0-9]:[0-9]{12}:(matchingworkflow/[a-zA-Z_0-9-]{1,255})$|^arn:(aws|aws-us-gov|aws-cn):glue:[a-z]{2}-[a-z]{1,10}-[0-9]:[0-9]{12}:(table/[a-zA-Z_0-9-]{1,255}/[a-zA-Z_0-9-]{1,255})$`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`SchemaName`  <a name="cfn-entityresolution-idnamespace-idnamespaceinputsource-schemaname"></a>
The name of the schema.  
*Required*: No  
*Type*: String  
*Pattern*: `^[a-zA-Z_0-9-]*$`  
*Minimum*: `1`  
*Maximum*: `255`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::EntityResolution::IdNamespace NamespaceProviderProperties
<a name="aws-properties-entityresolution-idnamespace-namespaceproviderproperties"></a>

An object containing `providerConfiguration` and `providerServiceArn`.

## Syntax
<a name="aws-properties-entityresolution-idnamespace-namespaceproviderproperties-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-entityresolution-idnamespace-namespaceproviderproperties-syntax.json"></a>

```
{
  "[ProviderConfiguration](#cfn-entityresolution-idnamespace-namespaceproviderproperties-providerconfiguration)" : {Key: Value, ...},
  "[ProviderServiceArn](#cfn-entityresolution-idnamespace-namespaceproviderproperties-providerservicearn)" : String
}
```

### YAML
<a name="aws-properties-entityresolution-idnamespace-namespaceproviderproperties-syntax.yaml"></a>

```
  [ProviderConfiguration](#cfn-entityresolution-idnamespace-namespaceproviderproperties-providerconfiguration): 
    Key: Value
  [ProviderServiceArn](#cfn-entityresolution-idnamespace-namespaceproviderproperties-providerservicearn): String
```

## Properties
<a name="aws-properties-entityresolution-idnamespace-namespaceproviderproperties-properties"></a>

`ProviderConfiguration`  <a name="cfn-entityresolution-idnamespace-namespaceproviderproperties-providerconfiguration"></a>
An object which defines any additional configurations required by the provider service.  
*Required*: No  
*Type*: Object of String  
*Pattern*: `^.+$`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ProviderServiceArn`  <a name="cfn-entityresolution-idnamespace-namespaceproviderproperties-providerservicearn"></a>
The Amazon Resource Name (ARN) of the provider service.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^arn:(aws|aws-us-gov|aws-cn):(entityresolution):([a-z]{2}-[a-z]{1,10}-[0-9])::providerservice/([a-zA-Z0-9_-]{1,255})/([a-zA-Z0-9_-]{1,255})$`  
*Minimum*: `20`  
*Maximum*: `255`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::EntityResolution::IdNamespace NamespaceRuleBasedProperties
<a name="aws-properties-entityresolution-idnamespace-namespacerulebasedproperties"></a>

 The rule-based properties of an ID namespace. These properties define how the ID namespace can be used in an ID mapping workflow.

## Syntax
<a name="aws-properties-entityresolution-idnamespace-namespacerulebasedproperties-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-entityresolution-idnamespace-namespacerulebasedproperties-syntax.json"></a>

```
{
  "[AttributeMatchingModel](#cfn-entityresolution-idnamespace-namespacerulebasedproperties-attributematchingmodel)" : String,
  "[RecordMatchingModels](#cfn-entityresolution-idnamespace-namespacerulebasedproperties-recordmatchingmodels)" : [ String, ... ],
  "[RuleDefinitionTypes](#cfn-entityresolution-idnamespace-namespacerulebasedproperties-ruledefinitiontypes)" : [ String, ... ],
  "[Rules](#cfn-entityresolution-idnamespace-namespacerulebasedproperties-rules)" : [ Rule, ... ]
}
```

### YAML
<a name="aws-properties-entityresolution-idnamespace-namespacerulebasedproperties-syntax.yaml"></a>

```
  [AttributeMatchingModel](#cfn-entityresolution-idnamespace-namespacerulebasedproperties-attributematchingmodel): String
  [RecordMatchingModels](#cfn-entityresolution-idnamespace-namespacerulebasedproperties-recordmatchingmodels): 
    - String
  [RuleDefinitionTypes](#cfn-entityresolution-idnamespace-namespacerulebasedproperties-ruledefinitiontypes): 
    - String
  [Rules](#cfn-entityresolution-idnamespace-namespacerulebasedproperties-rules): 
    - Rule
```

## Properties
<a name="aws-properties-entityresolution-idnamespace-namespacerulebasedproperties-properties"></a>

`AttributeMatchingModel`  <a name="cfn-entityresolution-idnamespace-namespacerulebasedproperties-attributematchingmodel"></a>
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.   
*Required*: No  
*Type*: String  
*Allowed values*: `ONE_TO_ONE | MANY_TO_MANY`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`RecordMatchingModels`  <a name="cfn-entityresolution-idnamespace-namespacerulebasedproperties-recordmatchingmodels"></a>
 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.  
*Required*: No  
*Type*: Array of String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`RuleDefinitionTypes`  <a name="cfn-entityresolution-idnamespace-namespacerulebasedproperties-ruledefinitiontypes"></a>
 The sets of rules you can use in an ID mapping workflow. The limitations specified for the source and target must be compatible.  
*Required*: No  
*Type*: Array of String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Rules`  <a name="cfn-entityresolution-idnamespace-namespacerulebasedproperties-rules"></a>
 The rules for the ID namespace.  
*Required*: No  
*Type*: Array of [Rule](aws-properties-entityresolution-idnamespace-rule.md)  
*Minimum*: `1`  
*Maximum*: `25`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::EntityResolution::IdNamespace Rule
<a name="aws-properties-entityresolution-idnamespace-rule"></a>

An object containing the `ruleName` and `matchingKeys`.

## Syntax
<a name="aws-properties-entityresolution-idnamespace-rule-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-entityresolution-idnamespace-rule-syntax.json"></a>

```
{
  "[MatchingKeys](#cfn-entityresolution-idnamespace-rule-matchingkeys)" : [ String, ... ],
  "[RuleName](#cfn-entityresolution-idnamespace-rule-rulename)" : String
}
```

### YAML
<a name="aws-properties-entityresolution-idnamespace-rule-syntax.yaml"></a>

```
  [MatchingKeys](#cfn-entityresolution-idnamespace-rule-matchingkeys): 
    - String
  [RuleName](#cfn-entityresolution-idnamespace-rule-rulename): String
```

## Properties
<a name="aws-properties-entityresolution-idnamespace-rule-properties"></a>

`MatchingKeys`  <a name="cfn-entityresolution-idnamespace-rule-matchingkeys"></a>
A list of `MatchingKeys`. The `MatchingKeys` must have been defined in the `SchemaMapping`. Two records are considered to match according to this rule if all of the `MatchingKeys` match.  
*Required*: Yes  
*Type*: Array of String  
*Minimum*: `1`  
*Maximum*: `25`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`RuleName`  <a name="cfn-entityresolution-idnamespace-rule-rulename"></a>
A name for the matching rule.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^[a-zA-Z_0-9- \t]*$`  
*Minimum*: `0`  
*Maximum*: `255`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::EntityResolution::IdNamespace Tag
<a name="aws-properties-entityresolution-idnamespace-tag"></a>

The tags used to organize, track, or control access for this resource.

## Syntax
<a name="aws-properties-entityresolution-idnamespace-tag-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-entityresolution-idnamespace-tag-syntax.json"></a>

```
{
  "[Key](#cfn-entityresolution-idnamespace-tag-key)" : String,
  "[Value](#cfn-entityresolution-idnamespace-tag-value)" : String
}
```

### YAML
<a name="aws-properties-entityresolution-idnamespace-tag-syntax.yaml"></a>

```
  [Key](#cfn-entityresolution-idnamespace-tag-key): String
  [Value](#cfn-entityresolution-idnamespace-tag-value): String
```

## Properties
<a name="aws-properties-entityresolution-idnamespace-tag-properties"></a>

`Key`  <a name="cfn-entityresolution-idnamespace-tag-key"></a>
The key of the tag.  
*Required*: Yes  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `128`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Value`  <a name="cfn-entityresolution-idnamespace-tag-value"></a>
The value of the tag.  
*Required*: Yes  
*Type*: String  
*Minimum*: `0`  
*Maximum*: `256`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)