community.aws.aws_batch_job_definition – Управление определениями заданий AWS Batch
Примечание
Этот плагин входит в коллекцию community.aws (версия 1.3.0).
Для установки используйте: ansible-galaxy collection install community.aws.
Чтобы использовать его в playbook, укажите: community.aws.aws_batch_job_definition.
Новое в версии 1.0.0: коллекции community.aws
Обзор
- Этот модуль позволяет управлять определениями заданий AWS Batch.
- Он идемпотентен и поддерживает режим «Проверка».
- Для управления средой вычислений используйте модуль community.aws.aws_batch_compute_environment, для управления очередями заданий — community.aws.aws_batch_job_queue, а для управления определениями заданий — community.aws.aws_batch_job_definition.
Требования
Ниже перечислены требования к хосту, на котором будет выполняться этот модуль.
- boto
- boto3
- python >= 2.6
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии | |
|---|---|---|---|
| attempts целое число | Стратегия повторных попыток — количество попыток перевести задание в состояние RUNNABLE. Можно указать от 1 до 10 попыток. Если значение attempts больше одного, задание будет повторно выполняться в случае неудачи, пока не будет переведено в состояние RUNNABLE заданное количество раз. | ||
| 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-сертификаты считываются со стороны «модуля» и, возможно, должны быть явно скопированы из контроллера, если выполнение не происходит локально. | ||
| aws_config словарь | Словарь для изменения конфигурации botocore. Параметры можно найти по адресу https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html#botocore.config.Config. Для модулей boto используется только ключ «user_agent». Дополнительную информацию о конфигурации boto см. по адресу http://boto.cloudhackers.com/en/latest/boto_config_tut.html#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 | ||
| command список / элементы=строка | Команда, передаваемая контейнеру. Этот параметр соответствует параметру Cmd в разделе «Создание контейнера» в API Docker Remote и параметру COMMAND в docker run. Дополнительную информацию см. по адресу https://docs.docker.com/engine/reference/builder/#cmd. | ||
| 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 | ||
| environment список / элементы=словарь | Переменные среды, передаваемые контейнеру. Этот параметр соответствует параметру Env в разделе «Создание контейнера» в API Docker Remote и параметру --env в docker run. | ||
| name строка | Имя пары ключ-значение. Для переменных среды — это имя переменной среды. | ||
| value строка | Значение пары ключ-значение. Для переменных среды — это значение переменной среды. | ||
| image строка / обязательно | Используемый образ для запуска контейнера. Эта строка передается непосредственно демону Docker. Образы из реестра Docker Hub доступны по умолчанию. Другие репозитории указываются с помощью `` repository-url /image <colon>tag ``. Допускается до 255 букв (строчные и прописные), цифр, дефисов, подчеркиваний, двоеточий, точек, слешей и знаков решетки. Этот параметр соответствует параметру Image в разделе «Создание контейнера» в API Docker Remote и параметру IMAGE в docker run. | ||
| job_definition_arn строка | ARN для определения задания. | ||
| job_definition_name строка / обязательно | Имя определения задания. | ||
| job_role_arn строка | Amazon Resource Name (ARN) роли IAM, которую может принять контейнер для разрешений AWS. | ||
| memory целое число / обязательно | Жесткое ограничение (в МБ) памяти, предоставляемой контейнеру. Если контейнер попытается превысить указанный здесь объем памяти, контейнер будет остановлен. Этот параметр соответствует параметру Memory в разделе «Создание контейнера» в API Docker Remote и параметру --memory в docker run. | ||
| mount_points список / элементы=словарь | Точки монтирования томов данных в контейнере. Этот параметр соответствует параметру Volumes в разделе «Создание контейнера» в API Docker Remote и параметру --volume в docker run. | ||
| containerPath строка | Путь в контейнере, по которому будет смонтирован том хоста. | ||
| readOnly строка | Если это значение равно true, контейнер имеет только чтение для тома; в противном случае контейнер может записывать в том. Значение по умолчанию — false. | ||
| sourceVolume строка | Имя тома для монтирования. | ||
| parameters словарь | Предварительно заданные параметры подстановки значений по умолчанию для установки в определении задания. Параметры задаются как пары «ключ-значение». Параметры в запросе SubmitJob переопределяют соответствующие параметры по умолчанию из определения задания. | ||
| privileged строка | При true контейнеру предоставляются повышенные привилегии на хост-инстансе контейнера (аналогично пользователю root). Этот параметр соответствует параметру Privileged в разделе «Создание контейнера» в API Docker Remote и параметру --privileged в docker run. | ||
| 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 | ||
| readonly_root_filesystem строка | При true контейнеру предоставляется доступ только для чтения к его корневой файловой системе. Этот параметр соответствует параметру ReadonlyRootfs в разделе «Создание контейнера» в API Docker Remote и параметру --read-only в docker run. | ||
| region строка | AWS-регион для использования. Если не указан, используется значение переменной окружения AWS_REGION или EC2_REGION, если она есть. См. http://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region
Псевдонимы: aws_region, ec2_region | ||
| security_token строка | Токен безопасности AWS STS. Если не задан, используется значение переменной окружения AWS_SECURITY_TOKEN или EC2_SECURITY_TOKEN. Если задан параметр profile, этот параметр игнорируется. Использование параметров security_token и profile одновременно устарело и будет сделано взаимоисключающим после 2022-06-01. Псевдонимы: aws_security_token, access_token | ||
| state строка |
| Описание желаемого состояния. | |
| type строка / обязательно | Тип определения задания. | ||
| ulimits список / элементы=словарь | Список ограничений ulimit для установки в контейнере. Этот параметр соответствует параметру Ulimits в разделе «Создание контейнера» в API Docker Remote и параметру --ulimit в docker run. | ||
| hardLimit строка | Жесткое ограничение для типа ulimit. | ||
| name строка | Тип ограничения ulimit. | ||
| softLimit строка | Мягкое ограничение для типа ulimit. | ||
| user строка | Имя пользователя для использования внутри контейнера. Этот параметр соответствует параметру User в разделе «Создание контейнера» в API Docker Remote и параметру --user в docker run. | ||
| validate_certs boolean |
| При установке в "no", сертификаты SSL для версий boto >= 2.6.0 не будут проверяться. | |
| vcpus integer / required | Количество виртуальных процессоров (vCPU), резервируемых для контейнера. Этот параметр соответствует параметру CpuShares в разделе "Создание контейнера" в удаленном API Docker и опции --cpu-shares к команде docker run. Каждый vCPU эквивалентен 1024 CPU shares. | ||
| volumes list / elements=dictionary | Список томов данных, используемых в задаче. | ||
| host string | Содержание параметра host определяет, сохраняется ли ваш том данных в контейнере хоста и где он хранится. Если параметр host пуст, тогда демон Docker назначит путь хоста для вашего тома данных, но данные не гарантируются для сохранения после остановки контейнеров, связанных с ним. Это словарь с одним свойством, sourcePath - путь на контейнере хоста, представленный контейнеру. Если этот параметр пуст, то демон Docker назначил путь хоста для вас. Если параметр host содержит местоположение файла sourcePath, то том данных сохраняется в указанном месте на контейнере хоста до его удаления вручную. Если значение sourcePath не существует на контейнере хоста, демон Docker его создаёт. Если местоположение существует, содержимое папки source path экспортируется. | ||
| name string | Имя тома. Допускается до 255 букв (строчные и прописные), цифр, дефисов и подчеркиваний. Это имя используется в параметре sourceVolume определения контейнера mountPoints. | ||
Примечания
Примечание
- Если параметры не установлены внутри модуля, можно использовать следующие переменные окружения в порядке убывания приоритета
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
Примеры
---
- hosts: localhost
gather_facts: no
vars:
state: present
tasks:
- name: My Batch Job Definition
community.aws.aws_batch_job_definition:
job_definition_name: My Batch Job Definition
state: present
type: container
parameters:
Param1: Val1
Param2: Val2
image: <Docker Image URL>
vcpus: 1
memory: 512
command:
- python
- run_my_script.py
- arg1
job_role_arn: <Job Role ARN>
attempts: 3
register: job_definition_create_result
- name: show results
ansible.builtin.debug: var=job_definition_create_result
Возвращаемые значения
Общие возвращаемые значения документированы здесь, следующие поля уникальны для этого модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| output dictionary | всегда | возвращает выполненное действие, изменения, вызов и ответ Пример: {'aws_batch_job_definition_action': 'none', 'changed': False, 'response': {'job_definition_arn': 'arn:aws:batch:....', 'job_definition_name': '<name>', 'status': 'INACTIVE', 'type': 'container'}} |
Авторы
- Jon Meran (@jonmer85)
© 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/aws_batch_job_definition_module.html