Изменить политику удаления
После создания политики удаления вы можете изменить ее правила, а также статус, имя или описание.
Для обращения к политике используйте ее идентификатор. Как узнать идентификатор политики,
читайте в разделе Получить информацию о политиках удаления.
Если у вас еще нет интерфейса командной строки Yandex.Cloud, установите и инициализируйте его.
-
Посмотрите описание команды CLI для обновления параметров политики:
$ yc container repository lifecycle-policy update --help
-
Измените параметры политики, например, переименуйте политику:
$ yc container repository lifecycle-policy update crp6lg1868p3i0emkv1b --new-name new-policy
Примеры
Изменить правила политики удаления
Если у вас еще нет интерфейса командной строки Yandex.Cloud, установите и инициализируйте его.
-
Подготовьте новые правила политики и сохраните их в файл
new-rules.json
.Пример содержимого файла с правилами, где:
description
— описание правила политики.tag_regexp
— тег Docker-образа для фильтрации.untagged
— флаг для применения правила к Docker-образам без тегов.expire_period
— время, через которое Docker-образ может попадать под политику удаления.
Формат параметра — число и единица измеренияs
,m
,h
илиd
(секунды, минуты, часы, дни).expire_period
должен быть кратен 24 часам.retained_top
— количество Docker-образов, которые не будут удалены, даже если подходят по правилу.
[ { "description": "delete prod Docker images older than 60 days but retain 20 last ones", "tag_regexp": "prod", "expire_period": "60d", "retained_top": 20 }, { "description": "delete all test Docker images except 10 last ones", "tag_regexp": "test.*", "retained_top": 10 }, { "description": "delete all untagged Docker images older than 48 hours", "untagged": true, "expire_period": "48h" } ]
-
Измените правила политики, выполнив команду со следующим параметром:
new-rules
— путь к файлу с новым описанием политик.
Внимание
Обновление политики полностью перезаписывает все текущие правила — они будут удалены.
$ yc container repository lifecycle-policy update crp6lg1868p3i0emkv1b --new-rules ./new-rules.json WARN: All current lifecycle rules will be overwritten. Are you sure?[y/N] y id: crp6lg1868p3i0emkv1b name: test-policy repository_id: crp3cpm16edqql0t30s2 description: disabled lifecycle-policy for tests status: DISABLED created_at: "2020-05-28T15:05:58.143719Z" rules: - description: remove prod images older than 60 days except 20 last ones expire_period: 5184000s tag_regexp: prod retained_top: "20" - description: remove all test and untagged images older than 48 hours expire_period: 172800s tag_regexp: test.* untagged: true
Изменить статус политики удаления
Активириуйте политику удаления
Если у вас еще нет интерфейса командной строки Yandex.Cloud, установите и инициализируйте его.
Сделайте выключенную политику активной, выполнив команду с флагом --activate
:
$ yc container repository lifecycle-policy update crp6lg1868p3i0emkv1b --activate
id: crp6lg1868p3i0emkv1b
name: test-policy
repository_id: crp3cpm16edqql0t30s2
description: disabled lifecycle-policy for tests
status: ACTIVE
created_at: "2020-05-28T15:05:58.143719Z"
rules:
- description: remove prod images older than 60 days except 20 last ones
expire_period: 5184000s
tag_regexp: prod
retained_top: "20"
- description: remove all test and untagged images older than 48 hours
expire_period: 172800s
tag_regexp: test.*
untagged: true
Выключите политику удаления
Выключите активную политику, выполнив команду с флагом --disable
:
$ yc container repository lifecycle-policy update crp6lg1868p3i0emkv1b --disable
id: crp6lg1868p3i0emkv1b
name: test-policy
repository_id: crp3cpm16edqql0t30s2
description: disabled lifecycle-policy for tests
status: DISABLED
created_at: "2020-05-28T15:05:58.143719Z"
rules:
- description: remove prod images older than 60 days except 20 last ones
expire_period: 5184000s
tag_regexp: prod
retained_top: "20"
- description: remove all test and untagged images older than 48 hours
expire_period: 172800s
tag_regexp: test.*
untagged: true
Изменить имя политики удаления
Если у вас еще нет интерфейса командной строки Yandex.Cloud, установите и инициализируйте его.
Измените имя политики, выполнив команду со следующим параметром:
-
new-name
— новое имя политики.- Длина — от 3 до 63 символов.
- Может содержать строчные буквы латинского алфавита, цифры и дефисы.
- Первый символ — буква. Последний символ — не дефис.
$ yc container repository lifecycle-policy update crp6lg1868p3i0emkv1b --new-name new-policy
id: crp6lg1868p3i0emkv1b
name: new-policy
repository_id: crp3cpm16edqql0t30s2
description: disabled lifecycle-policy for tests
status: DISABLED
created_at: "2020-05-28T15:05:58.143719Z"
rules:
- description: remove prod images older than 60 days except 20 last ones
expire_period: 5184000s
tag_regexp: prod
retained_top: "20"
- description: remove all test and untagged images older than 48 hours
expire_period: 172800s
tag_regexp: test.*
untagged: true
Изменить описание политики удаления
Если у вас еще нет интерфейса командной строки Yandex.Cloud, установите и инициализируйте его.
Измените описание политики, выполнив команду со следующим параметром:
new-description
— новое описание политики.
$ yc container repository lifecycle-policy update crp6lg1868p3i0emkv1b --new-description "new description"
id: crp6lg1868p3i0emkv1b
name: test-policy
repository_id: crp3cpm16edqql0t30s2
description: new description
status: DISABLED
created_at: "2020-05-28T15:05:58.143719Z"
rules:
- description: remove prod images older than 60 days except 20 last ones
expire_period: 5184000s
tag_regexp: prod
retained_top: "20"
- description: remove all test and untagged images older than 48 hours
expire_period: 172800s
tag_regexp: test.*
untagged: true