ReplicationConfiguration
The ReplicationConfiguration resource lets you manage AWS ECR ReplicationConfigurations for replicating images across AWS Regions.
Minimal Example
Section titled “Minimal Example”Create a basic replication configuration with required properties.
import AWS from "alchemy/aws/control";
const basicReplicationConfig = await AWS.ECR.ReplicationConfiguration("basicReplicationConfig", { ReplicationConfiguration: { Rules: [ { Destination: { Region: "us-west-2" }, RepositoryFilters: [ { Filter: "my-repo/*", FilterType: "PREFIX" } ] } ] }});
Advanced Configuration
Section titled “Advanced Configuration”Configure a replication setup with detailed rules and multiple destinations.
const advancedReplicationConfig = await AWS.ECR.ReplicationConfiguration("advancedReplicationConfig", { ReplicationConfiguration: { Rules: [ { Destination: { Region: "us-east-1" }, RepositoryFilters: [ { Filter: "project-repo/*", FilterType: "PREFIX" } ] }, { Destination: { Region: "eu-west-1" }, RepositoryFilters: [ { Filter: "another-repo/*", FilterType: "PREFIX" } ] } ] }, adopt: true});
Example with IAM Policies
Section titled “Example with IAM Policies”Set up a replication configuration with IAM policies to restrict access.
const policyReplicationConfig = await AWS.ECR.ReplicationConfiguration("policyReplicationConfig", { ReplicationConfiguration: { Rules: [ { Destination: { Region: "ap-south-1" }, RepositoryFilters: [ { Filter: "secure-repo/*", FilterType: "PREFIX" } ] } ] }, adopt: true});
// Example IAM policy for ECR actionsconst ecrPolicy = { Version: "2012-10-17", Statement: [ { Effect: "Allow", Action: [ "ecr:BatchCheckLayerAvailability", "ecr:BatchGetImage", "ecr:GetAuthorizationToken" ], Resource: "*" } ]};
Example with Multiple Regions
Section titled “Example with Multiple Regions”Set a replication configuration that replicates images to multiple AWS Regions.
const multiRegionReplicationConfig = await AWS.ECR.ReplicationConfiguration("multiRegionReplicationConfig", { ReplicationConfiguration: { Rules: [ { Destination: { Region: "us-west-1" }, RepositoryFilters: [ { Filter: "multi-repo/*", FilterType: "PREFIX" } ] }, { Destination: { Region: "eu-central-1" }, RepositoryFilters: [ { Filter: "multi-repo/*", FilterType: "PREFIX" } ] } ] }});