---
type: resource-type
title: ECRRepository
description: aws resource type AWS::ECR::Repository
name: ECRRepository
lexicon: aws
resource_type: AWS::ECR::Repository
---
`AWS::ECR::Repository`, a resource type of the aws lexicon.

## Properties

- `Arn` (`string`, optional)
- `EmptyOnDelete` (`boolean`, optional): If true, deleting the repository force deletes the contents of the repository. If false, the repository must be empty before attempting to delete it.
- `EncryptionConfiguration` (`ECRRepository_EncryptionConfiguration`, optional): The encryption configuration for the repository. This determines how the contents of your repository are encrypted at rest.
- `ImageScanningConfiguration` (`ECRRepository_ImageScanningConfiguration`, optional): The ``imageScanningConfiguration`` parameter is being deprecated, in favor of specifying the image scanning configuration at the registry level. For more information, see ``PutRegistryScanningConfiguration``. The image scanning configuration for the repository. This determines whether images are scanned for known vulnerabilities after being pushed to the repository.
- `ImageTagMutability` (`"IMMUTABLE" | "IMMUTABLE_WITH_EXCLUSION" | "MUTABLE" | "MUTABLE_WITH_EXCLUSION"`, optional): The tag mutability setting for the repository. If this parameter is omitted, the default setting of ``MUTABLE`` will be used which will allow image tags to be overwritten. If ``IMMUTABLE`` is specified, all image tags within the repository will be immutable which will prevent them from being overwritten.
- `ImageTagMutabilityExclusionFilters` (`ECRRepository_ImageTagMutabilityExclusionFilter[]`, optional): A list of filters that specify which image tags are excluded from the repository's image tag mutability setting.
- `LifecyclePolicy` (`ECRRepository_LifecyclePolicy`, optional): Creates or updates a lifecycle policy. For information about lifecycle policy syntax, see [Lifecycle policy template](https://docs.aws.amazon.com/AmazonECR/latest/userguide/LifecyclePolicies.html).
- `RepositoryName` (`string`, optional): The name to use for the repository. The repository name may be specified on its own (such as ``nginx-web-app``) or it can be prepended with a namespace to group the repository into a category (such as ``project-a/nginx-web-app``). If you don't specify a name, CFNlong generates a unique physical ID and uses that ID for the repository name. For more information, see [Name type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html). The repository name must start with a letter and can only contain lowercase letters, numbers, hyphens, underscores, and forward slashes. If you specify a name, you cannot perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name.
- `RepositoryPolicyText` (`Record<string, unknown>`, optional): The JSON repository policy text to apply to the repository. For more information, see [Amazon ECR repository policies](https://docs.aws.amazon.com/AmazonECR/latest/userguide/repository-policy-examples.html) in the *Amazon Elastic Container Registry User Guide*.
- `RepositoryUri` (`string`, optional)
- `Tags` (`ECRRepository_Tag[]`, optional): An array of key-value pairs to apply to this resource.

## Attributes

- `Arn`
- `RepositoryUri`

## Governed by

- [WAW053](/rules/WAW053.md): ECR repository does not scan images on push
- [WAW054](/rules/WAW054.md): ECR repository does not have immutable image tags
- [WAW062](/rules/WAW062.md): Duplicate export name or explicit resource name within a template — fails at deploy time
