# CfnRepositoryProps

Properties for defining a `CfnRepository`.

Extends: CfnRepositoryProps
Used as props by: CfnRepository

- Source: Generated code
- Type last changed: v2.211.0 · 13 Aug 2025

## Example

```ts
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import { aws_ecr as ecr } from 'aws-cdk-lib';

declare const repositoryPolicyText: any;
const cfnRepositoryProps: ecr.CfnRepositoryProps = {
  emptyOnDelete: false,
  encryptionConfiguration: {
    encryptionType: 'encryptionType',

    // the properties below are optional
    kmsKey: 'kmsKey',
  },
  imageScanningConfiguration: {
    scanOnPush: false,
  },
  imageTagMutability: 'imageTagMutability',
  imageTagMutabilityExclusionFilters: [{
    imageTagMutabilityExclusionFilterType: 'imageTagMutabilityExclusionFilterType',
    imageTagMutabilityExclusionFilterValue: 'imageTagMutabilityExclusionFilterValue',
  }],
  lifecyclePolicy: {
    lifecyclePolicyText: 'lifecyclePolicyText',
    registryId: 'registryId',
  },
  repositoryName: 'repositoryName',
  repositoryPolicyText: repositoryPolicyText,
  tags: [{
    key: 'key',
    value: 'value',
  }],
};
```

## Properties

- `emptyOnDelete`: boolean | [IResolvable](/cdk/api/v2/docs/aws-cdk-lib.IResolvable.html) — 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`: [IResolvable](/cdk/api/v2/docs/aws-cdk-lib.IResolvable.html) | [CfnRepository.EncryptionConfigurationProperty](/cdk/api/v2/docs/aws-cdk-lib.aws_ecr.CfnRepository.EncryptionConfigurationProperty.html) — The encryption configuration for the repository.

  This determines how the contents of your repository are encrypted at rest.

- `imageScanningConfiguration`: [IResolvable](/cdk/api/v2/docs/aws-cdk-lib.IResolvable.html) | [CfnRepository.ImageScanningConfigurationProperty](/cdk/api/v2/docs/aws-cdk-lib.aws_ecr.CfnRepository.ImageScanningConfigurationProperty.html) — > 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`: string — 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`: [IResolvable](/cdk/api/v2/docs/aws-cdk-lib.IResolvable.html) | [IResolvable](/cdk/api/v2/docs/aws-cdk-lib.IResolvable.html) | [CfnRepository.ImageTagMutabilityExclusionFilterProperty](/cdk/api/v2/docs/aws-cdk-lib.aws_ecr.CfnRepository.ImageTagMutabilityExclusionFilterProperty.html)[] — A list of filters that specify which image tags are excluded from the repository's image tag mutability setting.

- `lifecyclePolicy`: [IResolvable](/cdk/api/v2/docs/aws-cdk-lib.IResolvable.html) | [CfnRepository.LifecyclePolicyProperty](/cdk/api/v2/docs/aws-cdk-lib.aws_ecr.CfnRepository.LifecyclePolicyProperty.html) — 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 — 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, AWS CloudFormation 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`: any — 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* .

- `tags`: [CfnTag](/cdk/api/v2/docs/aws-cdk-lib.CfnTag.html)[] — An array of key-value pairs to apply to this resource.
