

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::ECR::ReplicationConfiguration
<a name="aws-resource-ecr-replicationconfiguration"></a>

The `AWS::ECR::ReplicationConfiguration` resource creates or updates the replication configuration for a private registry. The first time a replication configuration is applied to a private registry, a service-linked IAM role is created in your account for the replication process. For more information, see [Using Service-Linked Roles for Amazon ECR](https://docs.aws.amazon.com/AmazonECR/latest/userguide/using-service-linked-roles.html) in the *Amazon Elastic Container Registry User Guide*.

**Note**  
When configuring cross-account replication, the destination account must grant the source account permission to replicate. This permission is controlled using a private registry permissions policy. For more information, see `AWS::ECR::RegistryPolicy`.

## Syntax
<a name="aws-resource-ecr-replicationconfiguration-syntax"></a>

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

### JSON
<a name="aws-resource-ecr-replicationconfiguration-syntax.json"></a>

```
{
  "Type" : "AWS::ECR::ReplicationConfiguration",
  "Properties" : {
      "[ReplicationConfiguration](#cfn-ecr-replicationconfiguration-replicationconfiguration)" : ReplicationConfiguration
    }
}
```

### YAML
<a name="aws-resource-ecr-replicationconfiguration-syntax.yaml"></a>

```
Type: AWS::ECR::ReplicationConfiguration
Properties:
  [ReplicationConfiguration](#cfn-ecr-replicationconfiguration-replicationconfiguration): 
    ReplicationConfiguration
```

## Properties
<a name="aws-resource-ecr-replicationconfiguration-properties"></a>

`ReplicationConfiguration`  <a name="cfn-ecr-replicationconfiguration-replicationconfiguration"></a>
The replication configuration for a registry.  
*Required*: Yes  
*Type*: [ReplicationConfiguration](aws-properties-ecr-replicationconfiguration-replicationconfiguration.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-ecr-replicationconfiguration-return-values"></a>

### Fn::GetAtt
<a name="aws-resource-ecr-replicationconfiguration-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-ecr-replicationconfiguration-return-values-fn--getatt-fn--getatt"></a>

`RegistryId`  <a name="RegistryId-fn::getatt"></a>
The account ID of the destination registry.

## Examples
<a name="aws-resource-ecr-replicationconfiguration--examples"></a>



### Specify a replication configuration for a private registry
<a name="aws-resource-ecr-replicationconfiguration--examples--Specify_a_replication_configuration_for_a_private_registry"></a>

The following example specifies a replication configuration in a source Region for a private registry to replicate the contents to the `us-east-2` and `us-west-1` Regions within the same account.

#### JSON
<a name="aws-resource-ecr-replicationconfiguration--examples--Specify_a_replication_configuration_for_a_private_registry--json"></a>

```
"TestReplicationConfiguration": {
  "Type": "AWS::ECR::ReplicationConfiguration",
  "Properties": {
     "ReplicationConfiguration": {
        "Rules": [
           {
              "Destinations": [
                 {
                    "Region": "us-east-2",
                    "RegistryId": "123456789012"
                 },
                 {
                     "Region": "us-west-1",
                     "RegistryId": "123456789012"
                 }
               ]
             }
          ]
       }
    }
}
```

#### YAML
<a name="aws-resource-ecr-replicationconfiguration--examples--Specify_a_replication_configuration_for_a_private_registry--yaml"></a>

```
Resources:
  MyReplicationConfig:
    Type: AWS::ECR::ReplicationConfiguration
    Properties:
      ReplicationConfiguration: 
          Rules:
            - Destinations:
                - Region: "us-east-2"
                  RegistryId: "123456789012"
                - Region: "us-west-1"
                  RegistryId: "123456789012"
```

# AWS::ECR::ReplicationConfiguration ReplicationConfiguration
<a name="aws-properties-ecr-replicationconfiguration-replicationconfiguration"></a>

The replication configuration for a registry.

## Syntax
<a name="aws-properties-ecr-replicationconfiguration-replicationconfiguration-syntax"></a>

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

### JSON
<a name="aws-properties-ecr-replicationconfiguration-replicationconfiguration-syntax.json"></a>

```
{
  "[Rules](#cfn-ecr-replicationconfiguration-replicationconfiguration-rules)" : [ ReplicationRule, ... ]
}
```

### YAML
<a name="aws-properties-ecr-replicationconfiguration-replicationconfiguration-syntax.yaml"></a>

```
  [Rules](#cfn-ecr-replicationconfiguration-replicationconfiguration-rules): 
    - ReplicationRule
```

## Properties
<a name="aws-properties-ecr-replicationconfiguration-replicationconfiguration-properties"></a>

`Rules`  <a name="cfn-ecr-replicationconfiguration-replicationconfiguration-rules"></a>
An array of objects representing the replication destinations and repository filters for a replication configuration.  
*Required*: Yes  
*Type*: Array of [ReplicationRule](aws-properties-ecr-replicationconfiguration-replicationrule.md)  
*Minimum*: `0`  
*Maximum*: `10`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::ECR::ReplicationConfiguration ReplicationDestination
<a name="aws-properties-ecr-replicationconfiguration-replicationdestination"></a>

An array of objects representing the destination for a replication rule.

## Syntax
<a name="aws-properties-ecr-replicationconfiguration-replicationdestination-syntax"></a>

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

### JSON
<a name="aws-properties-ecr-replicationconfiguration-replicationdestination-syntax.json"></a>

```
{
  "[Region](#cfn-ecr-replicationconfiguration-replicationdestination-region)" : String,
  "[RegistryId](#cfn-ecr-replicationconfiguration-replicationdestination-registryid)" : String
}
```

### YAML
<a name="aws-properties-ecr-replicationconfiguration-replicationdestination-syntax.yaml"></a>

```
  [Region](#cfn-ecr-replicationconfiguration-replicationdestination-region): String
  [RegistryId](#cfn-ecr-replicationconfiguration-replicationdestination-registryid): String
```

## Properties
<a name="aws-properties-ecr-replicationconfiguration-replicationdestination-properties"></a>

`Region`  <a name="cfn-ecr-replicationconfiguration-replicationdestination-region"></a>
The Region to replicate to.  
*Required*: Yes  
*Type*: String  
*Pattern*: `[0-9a-z-]{2,25}`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`RegistryId`  <a name="cfn-ecr-replicationconfiguration-replicationdestination-registryid"></a>
The AWS account ID of the Amazon ECR private registry to replicate to. When configuring cross-Region replication within your own registry, specify your own account ID.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^[0-9]{12}$`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::ECR::ReplicationConfiguration ReplicationRule
<a name="aws-properties-ecr-replicationconfiguration-replicationrule"></a>

An array of objects representing the replication destinations and repository filters for a replication configuration.

## Syntax
<a name="aws-properties-ecr-replicationconfiguration-replicationrule-syntax"></a>

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

### JSON
<a name="aws-properties-ecr-replicationconfiguration-replicationrule-syntax.json"></a>

```
{
  "[Destinations](#cfn-ecr-replicationconfiguration-replicationrule-destinations)" : [ ReplicationDestination, ... ],
  "[RepositoryFilters](#cfn-ecr-replicationconfiguration-replicationrule-repositoryfilters)" : [ RepositoryFilter, ... ]
}
```

### YAML
<a name="aws-properties-ecr-replicationconfiguration-replicationrule-syntax.yaml"></a>

```
  [Destinations](#cfn-ecr-replicationconfiguration-replicationrule-destinations): 
    - ReplicationDestination
  [RepositoryFilters](#cfn-ecr-replicationconfiguration-replicationrule-repositoryfilters): 
    - RepositoryFilter
```

## Properties
<a name="aws-properties-ecr-replicationconfiguration-replicationrule-properties"></a>

`Destinations`  <a name="cfn-ecr-replicationconfiguration-replicationrule-destinations"></a>
An array of objects representing the destination for a replication rule.  
*Required*: Yes  
*Type*: Array of [ReplicationDestination](aws-properties-ecr-replicationconfiguration-replicationdestination.md)  
*Minimum*: `1`  
*Maximum*: `100`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`RepositoryFilters`  <a name="cfn-ecr-replicationconfiguration-replicationrule-repositoryfilters"></a>
An array of objects representing the filters for a replication rule. Specifying a repository filter for a replication rule provides a method for controlling which repositories in a private registry are replicated.  
*Required*: No  
*Type*: Array of [RepositoryFilter](aws-properties-ecr-replicationconfiguration-repositoryfilter.md)  
*Minimum*: `0`  
*Maximum*: `100`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::ECR::ReplicationConfiguration RepositoryFilter
<a name="aws-properties-ecr-replicationconfiguration-repositoryfilter"></a>

The filter settings used with image replication. Specifying a repository filter to a replication rule provides a method for controlling which repositories in a private registry are replicated. If no filters are added, the contents of all repositories are replicated.

## Syntax
<a name="aws-properties-ecr-replicationconfiguration-repositoryfilter-syntax"></a>

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

### JSON
<a name="aws-properties-ecr-replicationconfiguration-repositoryfilter-syntax.json"></a>

```
{
  "[Filter](#cfn-ecr-replicationconfiguration-repositoryfilter-filter)" : String,
  "[FilterType](#cfn-ecr-replicationconfiguration-repositoryfilter-filtertype)" : String
}
```

### YAML
<a name="aws-properties-ecr-replicationconfiguration-repositoryfilter-syntax.yaml"></a>

```
  [Filter](#cfn-ecr-replicationconfiguration-repositoryfilter-filter): String
  [FilterType](#cfn-ecr-replicationconfiguration-repositoryfilter-filtertype): String
```

## Properties
<a name="aws-properties-ecr-replicationconfiguration-repositoryfilter-properties"></a>

`Filter`  <a name="cfn-ecr-replicationconfiguration-repositoryfilter-filter"></a>
The repository filter details. When the `PREFIX_MATCH` filter type is specified, this value is required and should be the repository name prefix to configure replication for.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^(?:[a-z0-9]+(?:[._-][a-z0-9]*)*/)*[a-z0-9]*(?:[._-][a-z0-9]*)*$`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`FilterType`  <a name="cfn-ecr-replicationconfiguration-repositoryfilter-filtertype"></a>
The repository filter type. The only supported value is `PREFIX_MATCH`, which is a repository name prefix specified with the `filter` parameter.  
*Required*: Yes  
*Type*: String  
*Allowed values*: `PREFIX_MATCH`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)