community.aws.ecs_ecr – Управление репозиториями Elastic Container Registry
Примечание
Этот плагин является частью коллекции community.aws (версия 1.3.0).
Для его установки используйте: ansible-galaxy collection install community.aws.
Для использования в книге задач укажите: community.aws.ecs_ecr.
Новое в версии 1.0.0: коллекции community.aws
Обзор
- Управление репозиториями Elastic Container Registry.
Требования
Ниже перечислены требования, необходимые на хосте, на котором выполняется этот модуль.
- boto
- boto3
- python >= 2.6
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| aws_access_key строка | Ключ доступа AWS. Если не задан, используется значение переменной среды AWS_ACCESS_KEY_ID, AWS_ACCESS_KEY или EC2_ACCESS_KEY. Если задан параметр profile, этот параметр игнорируется. Передача параметров aws_access_key и profile одновременно устарела, и эти параметры будут взаимно исключающими после 2022-06-01. псевдонимы: ec2_access_key, access_key | |
| aws_ca_bundle путь | Расположение файла с набором доверенных корневых сертификатов (CA Bundle) для проверки SSL-сертификатов. Используется только для модулей, основанных на boto3. Примечание: CA Bundle читается на стороне модуля и может потребоваться явно скопировать его с контроллера, если он не запускается локально. | |
| aws_config словарь | Словарь для модификации конфигурации botocore. Параметры можно найти по адресу https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html#botocore.config.Config. Для модулей boto используется только ключ 'user_agent'. См. http://boto.cloudhackers.com/en/latest/boto_config_tut.html#boto для дополнительной информации о конфигурации boto. | |
| aws_secret_key строка | Секретный ключ AWS. Если не задан, используется значение переменной среды AWS_SECRET_ACCESS_KEY, AWS_SECRET_KEY или EC2_SECRET_KEY. Если задан параметр profile, этот параметр игнорируется. Передача параметров aws_secret_key и profile одновременно устарела, и эти параметры будут взаимно исключающими после 2022-06-01. псевдонимы: ec2_secret_key, secret_key | |
| debug_botocore_endpoint_logs логический тип |
| Используйте логирования botocore.endpoint для анализа уникальных (а не общих) API-вызовов "ресурс:действие", выполненных во время задачи, выводя набор в ключ resource_actions в результатах задачи. Используйте обратный вызов aws_resource_action для вывода общего списка, выполненного во время книги задач. Также может использоваться переменная среды ANSIBLE_DEBUG_BOTOCORE_LOGS. |
| ec2_url строка | URL для подключения к EC2 или вашему облаку Eucalyptus (по умолчанию модуль будет использовать адреса EC2). Игнорируется для модулей, где требуется регион. Должен быть указан для всех других модулей, если не используется регион. Если не задан, используется значение переменной среды EC2_URL, если она есть. псевдонимы: aws_endpoint_url, endpoint_url | |
| force_set_policy логический тип |
| Если force_set_policy=false, это предотвращает установку политики, которая могла бы помешать вам установить другую политику в будущем. |
| image_tag_mutability строка |
| Настройка того, должен ли репозиторий быть изменяемым (т. е. уже существующую метку можно перезаписать) или нет. |
| lifecycle_policy json | JSON или словарь, представляющий новую политику жизненного цикла. | |
| name строка / обязательно | Имя репозитория. | |
| policy json | JSON или словарь, представляющий новую политику. | |
| profile строка | Использует профиль boto. Работает только с boto >= 2.24.0. Использование profile переопределит aws_access_key, aws_secret_key и security_token, и поддержка их одновременной передачи с profile устарела. aws_access_key, aws_secret_key и security_token будут взаимно исключающими с profile после 2022-06-01. псевдонимы: aws_profile | |
| purge_lifecycle_policy логический тип |
| если true, удалить политику жизненного цикла из репозитория.Значение по умолчанию false. |
| purge_policy логический тип |
| Если да, удалить политику из репозитория. Псевдоним delete_policy устарел и будет удален после 2022-06-01.Значение по умолчанию false.псевдонимы: delete_policy |
| region строка | Регион AWS для использования. Если не указан, используется значение переменной среды AWS_REGION или EC2_REGION, если она есть. См. http://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region
псевдонимы: aws_region, ec2_region | |
| registry_id строка | Идентификатор учетной записи AWS, связанный с реестром. Если не указан, используется реестр по умолчанию. | |
| scan_on_push логический тип добавлен в 1.3.0 community.aws |
| если true, изображения сканируются на наличие известных уязвимостей после отправки в репозиторий.
scan_on_push требует botocore >= 1.13.3 |
| security_token строка | Токен безопасности AWS STS. Если не задан, используется значение переменной среды AWS_SECURITY_TOKEN или EC2_SECURITY_TOKEN. Если задан параметр profile, этот параметр игнорируется. Передача параметров security_token и profile одновременно устарела, и эти параметры будут взаимно исключающими после 2022-06-01. псевдонимы: aws_security_token, access_token | |
| state строка |
| Создание или удаление репозитория. |
| validate_certs логический тип |
| При значении "нет", SSL-сертификаты не будут проверены для boto версий >= 2.6.0. |
Примечания
Примечание
- Если параметры не заданы в модуле, следующие переменные среды могут быть использованы в порядке убывания приоритета
AWS_URLилиEC2_URL,AWS_PROFILEилиAWS_DEFAULT_PROFILE,AWS_ACCESS_KEY_IDилиAWS_ACCESS_KEYилиEC2_ACCESS_KEY,AWS_SECRET_ACCESS_KEYилиAWS_SECRET_KEYилиEC2_SECRET_KEY,AWS_SECURITY_TOKENилиEC2_SECURITY_TOKEN,AWS_REGIONилиEC2_REGION,AWS_CA_BUNDLE. - Ansible использует файл конфигурации boto (обычно ~/.boto), если учетные данные не предоставлены. См. https://boto.readthedocs.io/en/latest/boto_config_tut.html
-
AWS_REGIONилиEC2_REGIONобычно могут использоваться для указания региона AWS, когда это необходимо, но это также можно настроить в файле конфигурации boto
Примеры
# If the repository does not exist, it is created. If it does exist, would not
# affect any policies already on it.
- name: ecr-repo
community.aws.ecs_ecr:
name: super/cool
- name: destroy-ecr-repo
community.aws.ecs_ecr:
name: old/busted
state: absent
- name: Cross account ecr-repo
community.aws.ecs_ecr:
registry_id: 999999999999
name: cross/account
- name: set-policy as object
community.aws.ecs_ecr:
name: needs-policy-object
policy:
Version: '2008-10-17'
Statement:
- Sid: read-only
Effect: Allow
Principal:
AWS: '{{ read_only_arn }}'
Action:
- ecr:GetDownloadUrlForLayer
- ecr:BatchGetImage
- ecr:BatchCheckLayerAvailability
- name: set-policy as string
community.aws.ecs_ecr:
name: needs-policy-string
policy: "{{ lookup('template', 'policy.json.j2') }}"
- name: delete-policy
community.aws.ecs_ecr:
name: needs-no-policy
purge_policy: yes
- name: create immutable ecr-repo
community.aws.ecs_ecr:
name: super/cool
image_tag_mutability: immutable
- name: set-lifecycle-policy
community.aws.ecs_ecr:
name: needs-lifecycle-policy
scan_on_push: yes
lifecycle_policy:
rules:
- rulePriority: 1
description: new policy
selection:
tagStatus: untagged
countType: sinceImagePushed
countUnit: days
countNumber: 365
action:
type: expire
- name: purge-lifecycle-policy
community.aws.ecs_ecr:
name: needs-no-lifecycle-policy
purge_lifecycle_policy: true
Значения возврата
Общие значения возврата документированы здесь, следующие поля уникальны для этого модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| created boolean | всегда | Если true, репозиторий был создан |
| name string | при state == 'absent' | Имя репозитория |
| repository dictionary | при state == 'present' | Созданный или обновленный репозиторий Пример: {'createdAt': '2017-01-17T08:41:32-06:00', 'registryId': '999999999999', 'repositoryArn': 'arn:aws:ecr:us-east-1:999999999999:repository/ecr-test-1484664090', 'repositoryName': 'ecr-test-1484664090', 'repositoryUri': '999999999999.dkr.ecr.us-east-1.amazonaws.com/ecr-test-1484664090'} |
| state string | всегда | Утвержденное состояние репозитория (present, absent) |
Авторы
- David M. Lee (@leedm777)
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/community/aws/ecs_ecr_module.html