community.aws.aws_batch_job_definition – Управление определениями заданий AWS Batch
Примечание
Этот плагин входит в коллекцию community.aws (версия 1.3.0).
Для его установки используйте: ansible-galaxy collection install community.aws.
Для использования в книге задач укажите: 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 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 | ||
| command список / элементы=строка | Команда, передаваемая контейнеру. Этот параметр соответствует параметру Cmd в разделе "Создание контейнера" удаленного API Docker и параметру COMMAND в команде docker run. Дополнительную информацию см. по адресу https://docs.docker.com/engine/reference/builder/#cmd. | ||
| debug_botocore_endpoint_logs логический тип |
| Используйте logger botocore.endpoint для анализа уникальных (а не общих) API-вызовов «ресурс:действие», выполняемых во время задачи, выведя их в ключ resource_actions результатов задачи. Используйте обратный вызов aws_resource_action, чтобы вывести полный список, сделанный во время выполнения playbook. Переменная окружения ANSIBLE_DEBUG_BOTOCORE_LOGS также может быть использована. | |
| ec2_url строка | URL для подключения к EC2 или вашему облаку Eucalyptus (по умолчанию модуль будет использовать конечные точки EC2). Игнорируется для модулей, где требуется регион. Должен быть указан для всех остальных модулей, если регион не используется. Если не задан, используется значение переменной окружения EC2_URL, если она существует. псевдонимы: aws_endpoint_url, endpoint_url | ||
| environment список / элементы=словарь | Переменные окружения, которые необходимо передать контейнеру. Этот параметр соответствует параметру Env в разделе "Создание контейнера" удаленного API Docker и параметру --env в команде docker run. | ||
| name строка | Имя пары ключ-значение. Для переменных окружения это имя переменной окружения. | ||
| value строка | Значение пары ключ-значение. Для переменных окружения это значение переменной окружения. | ||
| image строка / обязательно | Используемый образ для запуска контейнера. Эта строка передаётся непосредственно демону Docker. Образы из реестра Docker Hub доступны по умолчанию. Другие репозитории указываются с помощью `` repository-url /image <colon>tag ``. Разрешается до 255 букв (заглавные и строчные), цифр, дефисов, нижних подчёркиваний, двоеточий, точек, слэшей и знаков числа. Этот параметр соответствует параметру Image в разделе "Создание контейнера" удаленного API Docker и параметру IMAGE в команде docker run. | ||
| job_definition_arn строка | ARN задания определения. | ||
| job_definition_name строка / обязательно | Имя задания определения. | ||
| job_role_arn строка | Amazon Resource Name (ARN) роли IAM, которую контейнер может принять для разрешений AWS. | ||
| memory целое число / обязательно | Жёсткий предел (в МБ) памяти, предоставляемой контейнеру. Если контейнер пытается превысить указанный здесь объём памяти, контейнер будет остановлен. Этот параметр соответствует параметру Memory в разделе "Создание контейнера" удаленного API Docker и параметру --memory в команде docker run. | ||
| mount_points список / элементы=словарь | Точки монтирования томов данных в контейнере. Этот параметр соответствует параметру Volumes в разделе "Создание контейнера" удаленного API Docker и параметру --volume в команде docker run. | ||
| containerPath строка | Путь в контейнере, по которому монтируется хост-том. | ||
| readOnly строка | Если это значение равно true, контейнер имеет только доступ для чтения к тому; в противном случае, контейнер может записывать в том. Значение по умолчанию — false. | ||
| sourceVolume строка | Имя тома для монтирования. | ||
| parameters словарь | Значения параметров для подстановки по умолчанию для задания. Параметры задаются как пары ключ-значение. Параметры в запросе SubmitJob переопределяют любые соответствующие параметры по умолчанию из задания. | ||
| privileged строка | Если этот параметр равен true, контейнеру предоставляются повышенные привилегии на хост-инстансе контейнера (аналогично пользователю root). Этот параметр соответствует параметру Privileged в разделе "Создание контейнера" удаленного API Docker и параметру --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 и параметру --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 и параметру --ulimit в команде docker run. | ||
| hardLimit строка | Жёсткий предел для типа ulimit. | ||
| name строка | Тип ulimit. | ||
| softLimit строка | Мягкий предел для типа ulimit. | ||
| user строка | Имя пользователя, используемого внутри контейнера. Этот параметр соответствует параметру User в разделе "Создание контейнера" удаленного API Docker и параметру --user в команде docker run. | ||
| validate_certs boolean |
| Если установлено значение "no", сертификаты SSL не будут проверяться для версий boto >= 2.6.0. | |
| vcpus целое число / обязательно | Количество vCPU, резервируемых для контейнера. Этот параметр соответствует CpuShares в разделе «Создание контейнера» удаленного API Docker и параметру --cpu-shares команды docker run. Каждый vCPU эквивалентен 1024 CPU shares. | ||
| volumes список / элементы=словарь | Список томов данных, используемых в задании. | ||
| host строка | Содержимое параметра host определяет, сохраняются ли ваши тома данных в контейнере хоста и где они хранятся. Если параметр host пустой, то демон Docker назначит путь хоста для вашего тома данных, но данные не гарантировано сохранятся после остановки связанных с ним контейнеров. Это словарь с одним свойством, sourcePath — путь на экземпляре контейнера хоста, который предоставляется контейнеру. Если этот параметр пустой, то демон Docker назначил путь хоста для вас. Если параметр host содержит местоположение файла sourcePath, то том данных сохраняется по указанному пути на экземпляре контейнера хоста до его ручного удаления. Если значение sourcePath не существует на экземпляре контейнера хоста, демон Docker создает его. Если местоположение существует, содержимое папки source path экспортируется. | ||
| name строка | Имя тома. Разрешается до 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 словарь | всегда | возвращает выполненное действие, были ли внесены изменения, вызов и ответ Пример: {'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–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.10/collections/community/aws/aws_batch_job_definition_module.html