UNPKG

aws-cdk-lib

Version:

Version 2 of the AWS Cloud Development Kit library

89 lines (88 loc) 2.57 kB
import { Duration } from '../../core'; /** * An ECR life cycle rule */ export interface LifecycleRule { /** * Controls the order in which rules are evaluated (low to high) * * 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. * * @default Automatically assigned */ readonly rulePriority?: number; /** * Describes the purpose of the rule * * @default No description */ readonly description?: string; /** * Select images based on tags * * Only one rule is allowed to select untagged images, and it must * have the highest rulePriority. * * @default TagStatus.Tagged if tagPrefixList or tagPatternList is * given, TagStatus.Any otherwise */ readonly tagStatus?: TagStatus; /** * 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 */ readonly tagPrefixList?: 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 */ readonly tagPatternList?: string[]; /** * The maximum number of images to retain * * Specify exactly one of maxImageCount and maxImageAge. */ readonly maxImageCount?: number; /** * The maximum age of images to retain. The value must represent a number of days. * * Specify exactly one of maxImageCount and maxImageAge. */ readonly maxImageAge?: Duration; } /** * Select images based on tags */ export declare enum TagStatus { /** * Rule applies to all images */ ANY = "any", /** * Rule applies to tagged images */ TAGGED = "tagged", /** * Rule applies to untagged images */ UNTAGGED = "untagged" }