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 для проверки 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:action», выполненных во время задачи, выводив набор в ключ 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–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.10/collections/community/aws/ecs_ecr_module.html