# LifecycleRule

An ECR life cycle rule.

- Source: [`aws-ecr/lib/lifecycle.ts`](https://github.com/aws/aws-cdk/blob/v2.276.0/packages/aws-cdk-lib/aws-ecr/lib/lifecycle.ts#L6)
- Type last changed: v2.116.0 · 22 Dec 2023

## Example

```ts
declare const repository: ecr.Repository;
repository.addLifecycleRule({ tagPrefixList: ['prod'], maxImageCount: 9999 });
repository.addLifecycleRule({ maxImageAge: Duration.days(30) });
```

## Properties

- `description`: string — Describes the purpose of the rule.

  **Default:** No description

- `maxImageAge`: [Duration](/cdk/api/v2/docs/aws-cdk-lib.Duration.html) — The maximum age of images to retain. The value must represent a number of days.

  Specify exactly one of maxImageCount and maxImageAge.

- `maxImageCount`: number — The maximum number of images to retain.

  Specify exactly one of maxImageCount and maxImageAge.

- `rulePriority`: number — Controls the order in which rules are evaluated (low to high).

  **Default:** Automatically assigned

  All rules must have a unique priority, where lower numbers have
  higher precedence. The first rule that matches is applied to an image.

  There can only be one rule with a tagStatus of Any, and it must have
  the highest rulePriority.

  All rules without a specified priority will have incrementing priorities
  automatically assigned to them, higher than any rules that DO have priorities.

- `tagPatternList`: string[] — Select images that have ALL the given patterns in their tag.

  There is a maximum limit of four wildcards (*) per string.
  For example, ["*test*1*2*3", "test*1*2*3*"] is valid but
  ["test*1*2*3*4*5*6"] is invalid.

  Both tagPrefixList and tagPatternList cannot be specified
  together in a rule.

  Only if tagStatus == TagStatus.Tagged

- `tagPrefixList`: string[] — Select images that have ALL the given prefixes in their tag.

  Both tagPrefixList and tagPatternList cannot be specified
  together in a rule.

  Only if tagStatus == TagStatus.Tagged

- `tagStatus`: [TagStatus](/cdk/api/v2/docs/aws-cdk-lib.aws_ecr.TagStatus.html) — Select images based on tags.

  **Default:** TagStatus.Tagged if tagPrefixList or tagPatternList is given, TagStatus.Any otherwise

  Only one rule is allowed to select untagged images, and it must
  have the highest rulePriority.
