

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::EC2::IPAMPrefixListResolver
<a name="aws-resource-ec2-ipamprefixlistresolver"></a>

An IPAM prefix list resolver is a component that manages the synchronization between IPAM's CIDR selection rules and customer-managed prefix lists. It automates connectivity configurations by selecting CIDRs from IPAM's database based on your business logic and synchronizing them with prefix lists used in resources such as VPC route tables and security groups.

## Syntax
<a name="aws-resource-ec2-ipamprefixlistresolver-syntax"></a>

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

### JSON
<a name="aws-resource-ec2-ipamprefixlistresolver-syntax.json"></a>

```
{
  "Type" : "AWS::EC2::IPAMPrefixListResolver",
  "Properties" : {
      "[AddressFamily](#cfn-ec2-ipamprefixlistresolver-addressfamily)" : String,
      "[Description](#cfn-ec2-ipamprefixlistresolver-description)" : String,
      "[IpamId](#cfn-ec2-ipamprefixlistresolver-ipamid)" : String,
      "[Rules](#cfn-ec2-ipamprefixlistresolver-rules)" : [ IpamPrefixListResolverRule, ... ],
      "[Tags](#cfn-ec2-ipamprefixlistresolver-tags)" : [ Tag, ... ]
    }
}
```

### YAML
<a name="aws-resource-ec2-ipamprefixlistresolver-syntax.yaml"></a>

```
Type: AWS::EC2::IPAMPrefixListResolver
Properties:
  [AddressFamily](#cfn-ec2-ipamprefixlistresolver-addressfamily): String
  [Description](#cfn-ec2-ipamprefixlistresolver-description): String
  [IpamId](#cfn-ec2-ipamprefixlistresolver-ipamid): String
  [Rules](#cfn-ec2-ipamprefixlistresolver-rules): 
    - IpamPrefixListResolverRule
  [Tags](#cfn-ec2-ipamprefixlistresolver-tags): 
    - Tag
```

## Properties
<a name="aws-resource-ec2-ipamprefixlistresolver-properties"></a>

`AddressFamily`  <a name="cfn-ec2-ipamprefixlistresolver-addressfamily"></a>
The address family (IPv4 or IPv6) for the IPAM prefix list resolver.  
*Required*: Yes  
*Type*: String  
*Allowed values*: `ipv4 | ipv6`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Description`  <a name="cfn-ec2-ipamprefixlistresolver-description"></a>
The description of the IPAM prefix list resolver.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`IpamId`  <a name="cfn-ec2-ipamprefixlistresolver-ipamid"></a>
The ID of the IPAM associated with this resolver.  
*Required*: No  
*Type*: String  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Rules`  <a name="cfn-ec2-ipamprefixlistresolver-rules"></a>
CIDR selection rules for this resolver.  
*Required*: No  
*Type*: Array of [IpamPrefixListResolverRule](aws-properties-ec2-ipamprefixlistresolver-ipamprefixlistresolverrule.md)  
*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-ec2-ipamprefixlistresolver-tags"></a>
The tags assigned to the IPAM prefix list resolver.  
*Required*: No  
*Type*: Array of [Tag](aws-properties-ec2-ipamprefixlistresolver-tag.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

## Return values
<a name="aws-resource-ec2-ipamprefixlistresolver-return-values"></a>

### Ref
<a name="aws-resource-ec2-ipamprefixlistresolver-return-values-ref"></a>

When you pass the logical ID of this resource to the intrinsic `Ref` function, `Ref` returns the prefix list resolver ID. For example: `ipam-plr-111122223333`.

For more information about using the `Ref` function, see [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-ref.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-ref.html).

### Fn::GetAtt
<a name="aws-resource-ec2-ipamprefixlistresolver-return-values-fn--getatt"></a>

The `Fn::GetAtt` intrinsic function returns a value for a specified attribute of this type. The following are the available attributes and sample return values.

For more information about using the `Fn::GetAtt` intrinsic function, see [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-getatt.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-getatt.html).

#### 
<a name="aws-resource-ec2-ipamprefixlistresolver-return-values-fn--getatt-fn--getatt"></a>

`IpamArn`  <a name="IpamArn-fn::getatt"></a>
The Amazon Resource Name (ARN) of the IPAM associated with this resolver.

`IpamPrefixListResolverArn`  <a name="IpamPrefixListResolverArn-fn::getatt"></a>
The Amazon Resource Name (ARN) of the IPAM prefix list resolver.

`IpamPrefixListResolverId`  <a name="IpamPrefixListResolverId-fn::getatt"></a>
The ID of the IPAM prefix list resolver.

# AWS::EC2::IPAMPrefixListResolver IpamPrefixListResolverRule
<a name="aws-properties-ec2-ipamprefixlistresolver-ipamprefixlistresolverrule"></a>

Describes a CIDR selection rule.

CIDR selection rules define the business logic for selecting CIDRs from IPAM. If a CIDR matches any of the rules, it will be included. If a rule has multiple conditions, the CIDR has to match every condition of that rule. You can create a prefix list resolver without any CIDR selection rules, but it will generate empty versions (containing no CIDRs) until you add rules.

## Syntax
<a name="aws-properties-ec2-ipamprefixlistresolver-ipamprefixlistresolverrule-syntax"></a>

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

### JSON
<a name="aws-properties-ec2-ipamprefixlistresolver-ipamprefixlistresolverrule-syntax.json"></a>

```
{
  "[Conditions](#cfn-ec2-ipamprefixlistresolver-ipamprefixlistresolverrule-conditions)" : [ IpamPrefixListResolverRuleCondition, ... ],
  "[IpamScopeId](#cfn-ec2-ipamprefixlistresolver-ipamprefixlistresolverrule-ipamscopeid)" : String,
  "[ResourceType](#cfn-ec2-ipamprefixlistresolver-ipamprefixlistresolverrule-resourcetype)" : String,
  "[RuleType](#cfn-ec2-ipamprefixlistresolver-ipamprefixlistresolverrule-ruletype)" : String,
  "[StaticCidr](#cfn-ec2-ipamprefixlistresolver-ipamprefixlistresolverrule-staticcidr)" : String
}
```

### YAML
<a name="aws-properties-ec2-ipamprefixlistresolver-ipamprefixlistresolverrule-syntax.yaml"></a>

```
  [Conditions](#cfn-ec2-ipamprefixlistresolver-ipamprefixlistresolverrule-conditions): 
    - IpamPrefixListResolverRuleCondition
  [IpamScopeId](#cfn-ec2-ipamprefixlistresolver-ipamprefixlistresolverrule-ipamscopeid): String
  [ResourceType](#cfn-ec2-ipamprefixlistresolver-ipamprefixlistresolverrule-resourcetype): String
  [RuleType](#cfn-ec2-ipamprefixlistresolver-ipamprefixlistresolverrule-ruletype): String
  [StaticCidr](#cfn-ec2-ipamprefixlistresolver-ipamprefixlistresolverrule-staticcidr): String
```

## Properties
<a name="aws-properties-ec2-ipamprefixlistresolver-ipamprefixlistresolverrule-properties"></a>

`Conditions`  <a name="cfn-ec2-ipamprefixlistresolver-ipamprefixlistresolverrule-conditions"></a>
The conditions that determine which CIDRs are selected by this rule. Conditions specify criteria such as resource type, tags, account IDs, and Regions.  
*Required*: No  
*Type*: Array of [IpamPrefixListResolverRuleCondition](aws-properties-ec2-ipamprefixlistresolver-ipamprefixlistresolverrulecondition.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`IpamScopeId`  <a name="cfn-ec2-ipamprefixlistresolver-ipamprefixlistresolverrule-ipamscopeid"></a>
The ID of the IPAM scope from which to select CIDRs. This determines whether to select from public or private IP address space.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ResourceType`  <a name="cfn-ec2-ipamprefixlistresolver-ipamprefixlistresolverrule-resourcetype"></a>
For rules of type `ipam-resource-cidr`, this is the resource type.  
*Required*: No  
*Type*: String  
*Allowed values*: `vpc | subnet | eip | public-ipv4-pool`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`RuleType`  <a name="cfn-ec2-ipamprefixlistresolver-ipamprefixlistresolverrule-ruletype"></a>
The type of CIDR selection rule. Valid values include `static-cidr` for specifying a fixed CIDR, `ipam-resource-cidr` for CIDRs from resources such as VPCs and subnets, and `ipam-pool-cidr` for CIDRs from IPAM pools.  
*Required*: Yes  
*Type*: String  
*Allowed values*: `static-cidr | ipam-resource-cidr | ipam-pool-cidr`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`StaticCidr`  <a name="cfn-ec2-ipamprefixlistresolver-ipamprefixlistresolverrule-staticcidr"></a>
A fixed CIDR that does not change. This property can only be specified for rules of type `static-cidr`.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::EC2::IPAMPrefixListResolver IpamPrefixListResolverRuleCondition
<a name="aws-properties-ec2-ipamprefixlistresolver-ipamprefixlistresolverrulecondition"></a>

Describes a condition within a CIDR selection rule. Conditions define the criteria for selecting CIDRs from IPAM's database based on resource attributes.

CIDR selection rules define the business logic for selecting CIDRs from IPAM. If a CIDR matches any of the rules, it will be included. If a rule has multiple conditions, the CIDR has to match every condition of that rule. You can create a prefix list resolver without any CIDR selection rules, but it will generate empty versions (containing no CIDRs) until you add rules.

There are three rule types. Only 2 of the 3 rule types support conditions - **IPAM pool CIDR** and **Scope resource CIDR**. **Static CIDR** rules cannot have conditions.
+ **Static CIDR**: A fixed list of CIDRs that do not change (like a manual list replicated across Regions)
+ **IPAM pool CIDR**: CIDRs from specific IPAM pools (like all CIDRs from your IPAM production pool)

  If you choose this option, choose the following:
  + **IPAM scope**: Select the IPAM scope to search for resources
  +  **Conditions:** 
    +  **Property** 
      + **IPAM pool ID**: Select an IPAM pool that contains the resources
      + **CIDR** (like 10.24.34.0/23)
    + **Operation**: Equals/Not equals
    + **Value**: The value on which to match the condition
+ **Scope resource CIDR**: CIDRs from AWS resources like VPCs, subnets, EIPs within an IPAM scope

  If you choose this option, choose the following:
  + **IPAM scope**: Select the IPAM scope to search for resources
  + **Resource type**: Select a resource, like a VPC or subnet.
  + **Conditions**:
    + **Property**:
      + Resource ID: The unique ID of a resource (like vpc-1234567890abcdef0)
      + Resource owner (like 111122223333)
      + Resource region (like us-east-1)
      + Resource tag (like key: name, value: dev-vpc-1)
      + CIDR (like 10.24.34.0/23)
    + **Operation**: Equals/Not equals
    + **Value**: The value on which to match the condition

## Syntax
<a name="aws-properties-ec2-ipamprefixlistresolver-ipamprefixlistresolverrulecondition-syntax"></a>

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

### JSON
<a name="aws-properties-ec2-ipamprefixlistresolver-ipamprefixlistresolverrulecondition-syntax.json"></a>

```
{
  "[Cidr](#cfn-ec2-ipamprefixlistresolver-ipamprefixlistresolverrulecondition-cidr)" : String,
  "[IpamPoolId](#cfn-ec2-ipamprefixlistresolver-ipamprefixlistresolverrulecondition-ipampoolid)" : String,
  "[Operation](#cfn-ec2-ipamprefixlistresolver-ipamprefixlistresolverrulecondition-operation)" : String,
  "[ResourceId](#cfn-ec2-ipamprefixlistresolver-ipamprefixlistresolverrulecondition-resourceid)" : String,
  "[ResourceOwner](#cfn-ec2-ipamprefixlistresolver-ipamprefixlistresolverrulecondition-resourceowner)" : String,
  "[ResourceRegion](#cfn-ec2-ipamprefixlistresolver-ipamprefixlistresolverrulecondition-resourceregion)" : String,
  "[ResourceTag](#cfn-ec2-ipamprefixlistresolver-ipamprefixlistresolverrulecondition-resourcetag)" : Tag
}
```

### YAML
<a name="aws-properties-ec2-ipamprefixlistresolver-ipamprefixlistresolverrulecondition-syntax.yaml"></a>

```
  [Cidr](#cfn-ec2-ipamprefixlistresolver-ipamprefixlistresolverrulecondition-cidr): String
  [IpamPoolId](#cfn-ec2-ipamprefixlistresolver-ipamprefixlistresolverrulecondition-ipampoolid): String
  [Operation](#cfn-ec2-ipamprefixlistresolver-ipamprefixlistresolverrulecondition-operation): String
  [ResourceId](#cfn-ec2-ipamprefixlistresolver-ipamprefixlistresolverrulecondition-resourceid): String
  [ResourceOwner](#cfn-ec2-ipamprefixlistresolver-ipamprefixlistresolverrulecondition-resourceowner): String
  [ResourceRegion](#cfn-ec2-ipamprefixlistresolver-ipamprefixlistresolverrulecondition-resourceregion): String
  [ResourceTag](#cfn-ec2-ipamprefixlistresolver-ipamprefixlistresolverrulecondition-resourcetag): 
    Tag
```

## Properties
<a name="aws-properties-ec2-ipamprefixlistresolver-ipamprefixlistresolverrulecondition-properties"></a>

`Cidr`  <a name="cfn-ec2-ipamprefixlistresolver-ipamprefixlistresolverrulecondition-cidr"></a>
A CIDR block to match against. This condition selects CIDRs that fall within or match the specified CIDR range.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`IpamPoolId`  <a name="cfn-ec2-ipamprefixlistresolver-ipamprefixlistresolverrulecondition-ipampoolid"></a>
The ID of the IPAM pool to match against. This condition selects CIDRs that belong to the specified IPAM pool.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Operation`  <a name="cfn-ec2-ipamprefixlistresolver-ipamprefixlistresolverrulecondition-operation"></a>
The operation to perform when evaluating this condition. Valid values include `equals`, `not-equals`, and `subnet-of`.  
*Required*: No  
*Type*: String  
*Allowed values*: `equals | not-equals | subnet-of`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ResourceId`  <a name="cfn-ec2-ipamprefixlistresolver-ipamprefixlistresolverrulecondition-resourceid"></a>
The ID of the AWS resource to match against. This condition selects CIDRs associated with the specified resource.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ResourceOwner`  <a name="cfn-ec2-ipamprefixlistresolver-ipamprefixlistresolverrulecondition-resourceowner"></a>
The AWS account ID that owns the resources to match against. This condition selects CIDRs from resources owned by the specified account.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ResourceRegion`  <a name="cfn-ec2-ipamprefixlistresolver-ipamprefixlistresolverrulecondition-resourceregion"></a>
The AWS Region where the resources are located. This condition selects CIDRs from resources in the specified Region.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ResourceTag`  <a name="cfn-ec2-ipamprefixlistresolver-ipamprefixlistresolverrulecondition-resourcetag"></a>
A tag key-value pair to match against. This condition selects CIDRs from resources that have the specified tag.  
*Required*: No  
*Type*: [Tag](aws-properties-ec2-ipamprefixlistresolver-tag.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::EC2::IPAMPrefixListResolver Tag
<a name="aws-properties-ec2-ipamprefixlistresolver-tag"></a>

Specifies a tag. For more information, see [Resource tags](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html).

## Syntax
<a name="aws-properties-ec2-ipamprefixlistresolver-tag-syntax"></a>

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

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

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

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

```
  [Key](#cfn-ec2-ipamprefixlistresolver-tag-key): String
  [Value](#cfn-ec2-ipamprefixlistresolver-tag-value): String
```

## Properties
<a name="aws-properties-ec2-ipamprefixlistresolver-tag-properties"></a>

`Key`  <a name="cfn-ec2-ipamprefixlistresolver-tag-key"></a>
The tag key.  
*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-ec2-ipamprefixlistresolver-tag-value"></a>
The tag value.  
*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)

## Examples
<a name="aws-properties-ec2-ipamprefixlistresolver-tag--examples"></a>

### 
<a name="aws-properties-ec2-ipamprefixlistresolver-tag--examples--"></a>

This example specifies two tags for the IPAM prefix list resolver.

#### JSON
<a name="aws-properties-ec2-ipamprefixlistresolver-tag--examples----json"></a>

```
"Tags" : [
   {
      "Key" : "key1",
      "Value" : "value1"
   },
   {
      "Key" : "key2",
      "Value" : "value2"
   }
]
```

#### YAML
<a name="aws-properties-ec2-ipamprefixlistresolver-tag--examples----yaml"></a>

```
Tags:
  - Key: "key1"
    Value: "value1"
  - Key: "key2"
    Value: "value2"
```