Spec-Zone.ru › Ansible

Модуль community.aws.ecs_taskdefinition – регистрация определения задачи в ECS

Примечание

Этот модуль входит в коллекцию community.aws (версия 8.0.0).

Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить установку, выполните ansible-galaxy collection list.

Для установки используйте: ansible-galaxy collection install community.aws. Для использования этого модуля необходимы дополнительные требования, см. Требования для получения подробностей.

Чтобы использовать его в плейбуке, укажите: community.aws.ecs_taskdefinition.

Новая функция в community.aws 1.0.0

  • Описание
  • Требования
  • Параметры
  • Примечания
  • Примеры
  • Возвращаемые значения

Описание

  • Регистрирует или удаляет определения задач в Amazon Web Services (AWS) EC2 Container Service (ECS).

Требования

Ниже приведены требования к хосту, на котором будет выполняться этот модуль.

  • python >= 3.6
  • boto3 >= 1.26.0
  • botocore >= 1.29.0

Параметры

Параметр

Комментарии

access_key

aliases: aws_access_key_id, aws_access_key, ec2_access_key

string

Идентификатор ключа доступа AWS.

См. документацию AWS для получения дополнительной информации о токенах доступа https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys.

Переменные среды AWS_ACCESS_KEY_ID, AWS_ACCESS_KEY или EC2_ACCESS_KEY также могут использоваться в порядке убывания предпочтения.

Параметры aws_access_key и profile являются взаимоисключающими.

Псевдоним aws_access_key_id был добавлен в релизе 5.1.0 для согласованности с AWS botocore SDK.

Псевдоним ec2_access_key устарел и будет удален в релизе после 2024-12-01.

Поддержка переменной среды EC2_ACCESS_KEY устарела и будет удалена в релизе после 2024-12-01.

arn

string

ARN описания задачи для удаления.

aws_ca_bundle

path

Расположение пакета CA, используемого при проверке SSL-сертификатов.

Переменная среды AWS_CA_BUNDLE также может использоваться.

aws_config

dictionary

Словарь для изменения конфигурации botocore.

Параметры можно найти в документации AWS https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html#botocore.config.Config.

containers

list / elements=dictionary / required

Список определений контейнеров.

См. https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/ecs.html для полного списка параметров.

command

list / elements=string

Команда, передаваемая в контейнер. Если есть несколько аргументов, каждый аргумент представляет собой отдельную строку в массиве.

cpu

integer

Количество зарезервированных для контейнера единиц ЦП.

dependsOn

list / elements=dictionary

Зависимости, определенные для запуска и остановки контейнера.

Когда зависимость определена для запуска контейнера, для остановки контейнера она инвертируется.

condition

string / required

Условие зависимости контейнера.

Варианты:

  • "start"
  • "complete"
  • "success"
  • "healthy"

containerName

string / required

Имя контейнера.

disableNetworking

boolean

Когда этот параметр True, сетевое взаимодействие в контейнере отключено.

Варианты:

  • false
  • true

dnsSearchDomains

list / elements=string

Список доменов поиска DNS, которые предоставляются контейнеру.

Этот параметр не поддерживается для контейнеров Windows.

dnsServers

list / elements=string

Список DNS-серверов, которые предоставляются контейнеру.

Этот параметр не поддерживается для контейнеров Windows.

dockerLabels

dictionary

Карта ключ/значение меток для добавления в контейнер.

dockerSecurityOptions

list / elements=string

Список строк для предоставления пользовательских меток для многоуровневых систем безопасности SELinux и AppArmor.

Этот параметр не поддерживается для контейнеров Windows.

entryPoint

string

Точка входа, передаваемая в контейнер.

environment

list / elements=dictionary

Переменные среды для передачи в контейнер.

name

string

Имя пары ключ-значение.

value

string

Значение пары ключ-значение.

environmentFiles

list / elements=dictionary

Список файлов, содержащих переменные среды, которые нужно передать контейнеру.

type

string

Тип используемого файла. Единственное поддерживаемое значение — s3.

value

string

Универсальное имя ресурса (ARN) объекта Amazon S3, содержащего файл переменных среды.

essential

boolean

Если essential=True, и контейнер завершается неудачей или останавливается по какой-либо причине, все остальные контейнеры, являющиеся частью задачи, останавливаются.

Варианты:

  • false
  • true

extraHosts

list / elements=dictionary

Список сопоставлений имен хостов и IP-адресов для добавления в файл /etc/hosts в контейнере.

Этот параметр не поддерживается для контейнеров Windows или задач, использующих network_mode=awsvpc.

hostname

string

Имя хоста для использования в записи /etc/hosts.

ipAddress

string

IP-адрес для использования в записи /etc/hosts.

firelensConfiguration

dictionary

Конфигурация FireLens для контейнера.

Это используется для указания и настройки маршрутизатора журналов для журналов контейнеров.

options

dictionary

Параметры, используемые при настройке маршрутизатора журналов.

Это поле является необязательным и может использоваться для указания файла пользовательской конфигурации или для добавления дополнительных метаданных, таких как данные о задаче, определении задачи, кластере и экземпляре контейнера, в событие журнала.

Если указано, используемый синтаксис — {"enable-ecs-log-metadata":"true|false","config-file-type:"s3|file","config-file-value":"arn:aws:s3:::mybucket/fluent.conf|filepath"}.

Дополнительную информацию см. по адресу https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_firelens.html#firelens-taskdef.

type

string

Маршрутизатор журналов для использования. Допустимые значения — fluentd или fluentbit.

Варианты:

  • "fluentd"
  • "fluentbit"

healthCheck

dictionary

Команда проверки работоспособности и связанные с ней параметры конфигурации для контейнера.

command

list / elements=string

Строковый массив, представляющий команду, которую запускает контейнер, чтобы определить, является ли он работоспособным.

Строковый массив должен начинаться с CMD для запуска аргументов команды напрямую или CMD-SHELL для запуска команды с помощью оболочки по умолчанию контейнера.

Код выхода 0 указывает на успех, а ненулевой код выхода указывает на сбой.

interval

integer

Период времени в секундах между каждым выполнением проверки работоспособности.

Можно указать от 5 до 300 секунд. Значение по умолчанию — 30 секунд.

По умолчанию: 30

retries

integer

Количество попыток повторить неудачную проверку работоспособности, прежде чем контейнер будет считаться неработоспособным.

Можно указать от 1 до 10 попыток. Значение по умолчанию — 3.

По умолчанию: 3

startPeriod

integer

Необязательный льготный период, чтобы предоставить контейнерам время для загрузки, прежде чем неудачные проверки работоспособности будут учитываться в максимальном количестве попыток.

Можно указать от 0 до 300 секунд. По умолчанию startPeriod отключен.

Примечание. Если проверка работоспособности завершается успешно в течение startPeriod, то контейнер считается работоспособным, и любые последующие сбои учитываются в максимальном количестве попыток.

timeout

integer

Период времени в секундах ожидания успешного завершения проверки работоспособности, прежде чем она будет считаться неудачной.

Можно указать от 2 до 60 секунд. Значение по умолчанию — 5.

По умолчанию: 5

hostname

string

Имя хоста для использования в вашем контейнере.

Этот параметр не поддерживается, если network_mode=awsvpc.

image

string

Образ, используемый для запуска контейнера.

interactive

boolean

Когда interactive=True, это позволяет развертывать контейнеризованные приложения, которым требуется выделение stdin или tty.

Варианты:

  • false
  • true

links

list / elements=string

Позволяет контейнерам взаимодействовать друг с другом без необходимости сопоставления портов.

Этот параметр поддерживается только при network_mode=bridge.

linuxParameters

dictionary

Специфические для Linux изменения, применяемые к контейнеру, такие как возможности ядра Linux.

capabilities

dictionary

Возможности Linux для контейнера, которые добавляются или удаляются из конфигурации по умолчанию, предоставленной Docker.

add

list / elements=string

Возможности Linux для контейнера, которые были добавлены к конфигурации по умолчанию, предоставленной Docker.

Если launch_type=FARGATE, этот параметр не поддерживается.

Choices:

  • "ALL"
  • "AUDIT_CONTROL"
  • "AUDIT_WRITE"
  • "BLOCK_SUSPEND"
  • "CHOWN"
  • "DAC_OVERRIDE"
  • "DAC_READ_SEARCH"
  • "FOWNER"
  • "FSETID"
  • "IPC_LOCK"
  • "IPC_OWNER"
  • "KILL"
  • "LEASE"
  • "LINUX_IMMUTABLE"
  • "MAC_ADMIN"
  • "MAC_OVERRIDE"
  • "MKNOD"
  • "NET_ADMIN"
  • "NET_BIND_SERVICE"
  • "NET_BROADCAST"
  • "NET_RAW"
  • "SETFCAP"
  • "SETGID"
  • "SETPCAP"
  • "SETUID"
  • "SYS_ADMIN"
  • "SYS_BOOT"
  • "SYS_CHROOT"
  • "SYS_MODULE"
  • "SYS_NICE"
  • "SYS_PACCT"
  • "SYS_PTRACE"
  • "SYS_RAWIO"
  • "SYS_RESOURCE"
  • "SYS_TIME"
  • "SYS_TTY_CONFIG"
  • "SYSLOG"
  • "WAKE_ALARM"

drop

list / elements=string

Возможности Linux для контейнера, которые были удалены из конфигурации по умолчанию, предоставленной Docker.

Choices:

  • "ALL"
  • "AUDIT_CONTROL"
  • "AUDIT_WRITE"
  • "BLOCK_SUSPEND"
  • "CHOWN"
  • "DAC_OVERRIDE"
  • "DAC_READ_SEARCH"
  • "FOWNER"
  • "FSETID"
  • "IPC_LOCK"
  • "IPC_OWNER"
  • "KILL"
  • "LEASE"
  • "LINUX_IMMUTABLE"
  • "MAC_ADMIN"
  • "MAC_OVERRIDE"
  • "MKNOD"
  • "NET_ADMIN"
  • "NET_BIND_SERVICE"
  • "NET_BROADCAST"
  • "NET_RAW"
  • "SETFCAP"
  • "SETGID"
  • "SETPCAP"
  • "SETUID"
  • "SYS_ADMIN"
  • "SYS_BOOT"
  • "SYS_CHROOT"
  • "SYS_MODULE"
  • "SYS_NICE"
  • "SYS_PACCT"
  • "SYS_PTRACE"
  • "SYS_RAWIO"
  • "SYS_RESOURCE"
  • "SYS_TIME"
  • "SYS_TTY_CONFIG"
  • "SYSLOG"
  • "WAKE_ALARM"

devices

list / elements=dictionary

Любые устройства хоста, которые нужно предоставить контейнеру.

Если launch_type=FARGATE, этот параметр не поддерживается.

containerPath

string

Путь внутри контейнера, в котором должно быть предоставлено устройство хоста.

hostPath

string / required

Путь к устройству на экземпляре хост-контейнера.

permissions

list / elements=string

Явные права доступа, которые необходимо предоставить контейнеру для устройства.

initProcessEnabled

boolean

Запустить init-процесс внутри контейнера, который перенаправляет сигналы и завершает процессы.

Choices:

  • false
  • true

maxSwap

integer

Общее количество памяти подкачки (в MiB), которую может использовать контейнер.

Если launch_type=FARGATE, этот параметр не поддерживается.

sharedMemorySize

integer

Значение размера (в MiB) тома /dev/shm.

Если launch_type=FARGATE, этот параметр не поддерживается.

swappiness

integer

Это позволяет настроить поведение обмена памяти контейнера.

Если launch_type=FARGATE, этот параметр не поддерживается.

tmpfs

list / elements=dictionary

Путь контейнера, параметры монтирования и размер (в MiB) монтирования tmpfs.

Если launch_type=FARGATE, этот параметр не поддерживается.

containerPath

string / required

Абсолютный путь к файлу, куда будет смонтирован том tmpfs.

mountOptions

list / elements=string

Список параметров монтирования тома tmpfs.

Варианты:

  • "defaults"
  • "ro"
  • "rw"
  • "suid"
  • "nosuid"
  • "dev"
  • "nodev"
  • "exec"
  • "noexec"
  • "sync"
  • "async"
  • "dirsync"
  • "remount"
  • "mand"
  • "nomand"
  • "atime"
  • "noatime"
  • "diratime"
  • "nodiratime"
  • "bind"
  • "rbind"
  • "unbindable"
  • "runbindable"
  • "private"
  • "rprivate"
  • "shared"
  • "rshared"
  • "slave"
  • "rslave"
  • "relatime"
  • "norelatime"
  • "strictatime"
  • "nostrictatime"
  • "mode"
  • "uid"
  • "gid"
  • "nr_inodes"
  • "nr_blocks"
  • "mpol"

size

integer / required

Размер (в MiB) тома tmpfs.

logConfiguration

dictionary

Спецификация конфигурации журнала для контейнера.

logDriver

string

Драйвер журнала для использования в контейнере.

Для задач на AWS Fargate поддерживаются драйверы журналов awslogs, splunk и awsfirelens.

Для задач, размещенных на экземплярах Amazon EC2, поддерживаются драйверы журналов awslogs, fluentd, gelf, json-file, journald, logentries, syslog, splunk и awsfirelens.

memory

integer

Объем (в MiB) памяти, предоставляемый контейнеру.

memoryReservation

integer

Мягкий лимит (в MiB) памяти, резервируемый для контейнера.

mountPoints

list / elements=dictionary

Точки монтирования для томов данных в вашем контейнере.

containerPath

string

Путь в контейнере для монтирования тома хоста.

readOnly

boolean

Если это значение равно True, контейнер имеет доступ к тому только для чтения.

Если это значение равно False, контейнер может записывать в том.

Варианты:

  • false ← (по умолчанию)
  • true

sourceVolume

string

Имя монтируемого тома.

name

string

Имя контейнера.

options

string

Параметры конфигурации для отправки драйверу журнала.

portMappings

list / elements=dictionary

Список сопоставлений портов для контейнера.

containerPort

integer

Номер порта в контейнере, привязанный к указанному пользователем или автоматически назначенному порту хоста.

hostPort

integer

Номер порта на экземпляре контейнера, который нужно зарезервировать для вашего контейнера.

protocol

string

Протокол, используемый для сопоставления портов.

Варианты:

  • "tcp" ← (по умолчанию)
  • "udp"

privileged

boolean

Когда этот параметр равен True, контейнеру предоставляются повышенные права на экземпляре контейнера хоста.

Варианты:

  • false
  • true

pseudoTerminal

boolean

Когда этот параметр равен True, выделяется TTY.

Варианты:

  • false
  • true

readonlyRootFilesystem

boolean

Когда этот параметр True, контейнер получает доступ только для чтения к своей корневой файловой системе.

Варианты:

  • false
  • true

repositoryCredentials

dictionary

Учётные данные аутентификации частного репозитория для использования.

credentialsParameter

string / required

Универсальное имя ресурса (ARN) секрета, содержащего учётные данные частного репозитория.

resourceRequirements

list / elements=dictionary

Тип и количество ресурсов для назначения контейнеру.

Поддерживаемые ресурсы: GPU и InferenceAccelerator.

type

string

Тип ресурса для назначения контейнеру.

Варианты:

  • "GPU"
  • "InferenceAccelerator"

value

string

Значение для указанного типа ресурса.

secretOptions

list / elements=dictionary

Секреты для передачи в конфигурацию журнала.

name

string

Имя секрета.

valueFrom

string

Секрет для предоставления контейнеру.

secrets

list / elements=dictionary

Секреты для передачи в контейнер.

name

string / required

Значение для установки в качестве переменной окружения в контейнере.

size

string / required

Секрет для предоставления контейнеру.

startTimeout

integer

Длительность времени (в секундах) ожидания перед отказом от разрешения зависимостей для контейнера.

stopTimeout

integer

Длительность времени (в секундах) ожидания, прежде чем контейнер будет принудительно завершён, если он не завершится нормально самостоятельно.

systemControls

list / elements=dictionary

Список параметров ядра с пространством имён для установки в контейнере.

namespace

string

Параметр ядра с пространством имён для установки value для.

value

string

Значение для параметра ядра с пространством имён, указанного в namespace.

ulimits

list / elements=dictionary

Список ulimits для установки в контейнере.

Этот параметр не поддерживается для контейнеров Windows.

hardLimit

integer

Жёсткий лимит для типа ulimit.

name

string

Тип ulimit.

Варианты:

  • "core"
  • "cpu"
  • "data"
  • "fsize"
  • "locks"
  • "memlock"
  • "msgqueue"
  • "nice"
  • "nofile"
  • "nproc"
  • "rss"
  • "rtprio"
  • "rttime"
  • "sigpending"
  • "stack"

softLimit

integer

Мягкий лимит для типа ulimit.

user

string

Пользователь для использования внутри контейнера.

Этот параметр не поддерживается для контейнеров Windows.

volumesFrom

список / элементы=словарь

Тома данных для монтирования из другого контейнера.

readOnly

логическое

Если это значение равно True, контейнер имеет только чтение для тома.

Если это значение равно False, контейнер может записывать в том.

Варианты:

  • false ← (по умолчанию)
  • true

sourceContainer

строка

Имя другого контейнера в рамках того же определения задачи, из которого нужно смонтировать тома.

workingDirectory

строка

Рабочий каталог, в котором будут выполняться команды внутри контейнера.

cpu

строка

Количество единиц ЦП, используемых задачей. Если launch_type=EC2, это поле необязательно и можно использовать любое значение.

Если launch_type=FARGATE, это поле обязательно и необходимо использовать одно из 256, 512, 1024, 2048, 4096.

debug_botocore_endpoint_logs

логическое

Использовать botocore.endpoint логгер для парсинга уникальных (а не общих) "resource:action" API-вызовов, сделанных во время выполнения задачи, выводит их в ключ resource_actions результатов задачи. Используйте aws_resource_action обратный вызов для вывода в общий список, созданный во время выполнения плейбука.

Также можно использовать переменную окружения ANSIBLE_DEBUG_BOTOCORE_LOGS.

Варианты:

  • false ← (по умолчанию)
  • true

endpoint_url

псевдонимы: ec2_url, aws_endpoint_url, s3_url

строка

URL для подключения вместо стандартных AWS-эндпоинтов. Хотя это можно использовать для подключения к другим совместимым с AWS службам, коллекции amazon.aws и community.aws протестированы только с AWS.

Также можно использовать переменные окружения AWS_URL или EC2_URL, в порядке убывания приоритета.

Псевдонимы ec2_url и s3_url устарели и будут удалены после 2024-12-01.

Поддержка переменной окружения EC2_URL устарела и будет удалена после 2024-12-01.

execution_role_arn

строка

Идентификатор ресурса Amazon (ARN) роли выполнения задачи, которую могут принять агент контейнеров Amazon ECS и демон Docker.

По умолчанию: ""

family

строка

Имя, которое будет присвоено определению задачи.

force_create

логическое

Всегда создавать новое определение задачи.

Варианты:

  • false ← (по умолчанию)
  • true

launch_type

строка

Тип запуска, на котором будет выполняться задача.

Варианты:

  • "EC2"
  • "FARGATE"

memory

строка

Объем памяти (в МБ), используемый задачей. Если launch_type=EC2, это поле необязательно и можно использовать любое значение.

Если launch_type=FARGATE, это поле обязательно и ограничено процессором.

network_mode

строка

Режим работы Docker сети для контейнеров в задаче.

Контейнеры Windows должны использовать network_mode=default, который будет использовать сетевую работу docker NAT.

Установка network_mode=default для контейнера Linux будет использовать bridge режим.

Варианты:

  • "default"
  • "bridge" ← (по умолчанию)
  • "host"
  • "none"
  • "awsvpc"

placement_constraints

список / элементы=словарь

добавлен в community.aws 2.1.0

Объекты ограничений размещения для использования в задаче.

Вы можете указать максимум 10 ограничений на задачу.

Ограничения размещения задач не поддерживаются для задач, выполняемых на Fargate.

expression

строка

Выражение языка запросов кластера для применения к ограничению.

type

строка

Тип ограничения.

profile

псевдонимы: aws_profile

строка

Используемый про-файл AWS для аутентификации.

См. документацию AWS для получения дополнительной информации о настраиваемых профилях https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html.

Также можно использовать переменную окружения AWS_PROFILE.

Опция profile исключает опции aws_access_key, aws_secret_key и security_token.

регион

псевдонимы: aws_region, ec2_region

строка

AWS регион для использования.

Для глобальных служб, таких как IAM, Route53 и CloudFront, регион игнорируется.

Также могут использоваться переменные среды AWS_REGION или EC2_REGION.

Дополнительную информацию см. в документации Amazon AWS по ссылке http://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region.

Псевдоним ec2_region устарел и будет удален в выпуске после 2024-12-01

Поддержка переменной среды EC2_REGION устарела и будет удалена в выпуске после 2024-12-01.

номер_ревизии

целое_число

Номер ревизии для определения задачи.

платформа_выполнения

словарь

добавлено в community.aws 6.4.0

Настройка платформы выполнения для задачи

По умолчанию: {"cpuArchitecture": "X86_64", "operatingSystemFamily": "LINUX"}

архитектура_процессора

строка

Тип архитектуры процессора, который будет использоваться задачей

Доступные значения:

  • "X86_64"
  • "ARM64"

семейство_операционных_систем

строка

Тип ОС, который будет использоваться задачей

Доступные значения:

  • "LINUX"
  • "WINDOWS_SERVER_2019_FULL"
  • "WINDOWS_SERVER_2019_CORE"
  • "WINDOWS_SERVER_2022_FULL"
  • "WINDOWS_SERVER_2022_CORE"

секретный_ключ

псевдонимы: aws_secret_access_key, aws_secret_key, ec2_secret_key

строка

Секретный ключ доступа AWS.

Дополнительную информацию об маркерах доступа см. в документации AWS по ссылке https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys.

Также могут использоваться переменные среды AWS_SECRET_ACCESS_KEY, AWS_SECRET_KEY, или EC2_SECRET_KEY в порядке убывания приоритета.

Параметры secret_key и profile взаимоисключающие.

Псевдоним aws_secret_access_key был добавлен в релизе 5.1.0 для соответствия SDK AWS botocore.

Псевдоним ec2_secret_key устарел и будет удален в выпуске после 2024-12-01.

Поддержка переменной среды EC2_SECRET_KEY устарела и будет удалена в выпуске после 2024-12-01.

токен_сессии

псевдонимы: aws_session_token, security_token, aws_security_token, access_token

строка

Токен сессии AWS STS для использования с временными учетными данными.

Дополнительную информацию об маркерах доступа см. в документации AWS по ссылке https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys.

Также могут использоваться переменные среды AWS_SESSION_TOKEN, AWS_SECURITY_TOKEN или EC2_SECURITY_TOKEN в порядке убывания приоритета.

Параметры security_token и profile взаимоисключающие.

Псевдонимы aws_session_token и session_token были добавлены в релизе 3.2.0, а параметр был переименован из security_token в session_token в релизе 6.0.0.

Псевдонимы security_token, aws_security_token и access_token устарели и будут удалены в выпуске после 2024-12-01.

Поддержка переменных среды EC2_SECRET_KEY и AWS_SECURITY_TOKEN устарела и будет удалена в выпуске после 2024-12-01.

состояние

строка / обязательно

Указывает, должно ли определение задачи существовать или быть удалено.

Доступные значения:

  • "present"
  • "absent"

arn_роли_задачи

строка

Идентификатор ресурса Amazon (ARN) роли IAM, которую контейнеры в этой задаче могут принять. Все контейнеры в этой задаче получают разрешения, указанные в этой роли.

По умолчанию: ""

валидировать_сертификаты

логическое_значение

При значении false, SSL-сертификаты не будут проверяться при общении с API AWS.

Установку validate_certs=false настоятельно не рекомендуется; вместо этого рассмотрите возможность установки aws_ca_bundle.

Доступные значения:

  • false
  • true ← (по умолчанию)

тома

список / элементы=словарь

Список имен томов, которые должны быть подключены.

имя

строка / обязательно

Имя тома.

Примечания

Примечание

  • Внимание: Для модулей переменные среды и файлы конфигурации считываются из контекста Ansible «хост», а не «контроллер». Таким образом, файлы могут потребоваться явно скопировать на «хост». Для плагинов поиска и подключения переменные среды и файлы конфигурации считываются из контекста Ansible «контроллер», а не «хост».
  • AWS SDK (boto3), который использует Ansible, также может считывать значения по умолчанию для учетных данных и других настроек, таких как регион, из своих файлов конфигурации в контексте Ansible «хост» (обычно ~/.aws/credentials). Дополнительную информацию см. в https://boto3.amazonaws.com/v1/documentation/api/latest/guide/credentials.html.

Примеры

- name: Create task definition
  community.aws.ecs_taskdefinition:
    containers:
      - name: simple-app
        cpu: 10
        essential: true
        image: "httpd:2.4"
        memory: 300
        mountPoints:
          - containerPath: /usr/local/apache2/htdocs
            sourceVolume: my-vol
        portMappings:
          - containerPort: 80
            hostPort: 80
        logConfiguration:
          logDriver: awslogs
          options:
            awslogs-group: /ecs/test-cluster-taskdef
            awslogs-region: us-west-2
            awslogs-stream-prefix: ecs
      - name: busybox
        command:
          - >
            /bin/sh -c "while true; do echo '<html><head><title>Amazon ECS Sample App</title></head><body><div><h1>Amazon ECS Sample App</h1>
            <h2>Congratulations!</h2>
            <p>Your application is now running on a container in Amazon ECS.</p>' > top; /bin/date > date ; echo '</div></body></html>' > bottom;
            cat top date bottom > /usr/local/apache2/htdocs/index.html ; sleep 1; done"
        cpu: 10
        entryPoint:
          - sh
          - "-c"
        essential: false
        image: busybox
        memory: 200
        volumesFrom:
          - sourceContainer: simple-app
    volumes:
      - name: my-vol
    family: test-cluster-taskdef
    state: present
  register: task_output

- name: Create task definition
  community.aws.ecs_taskdefinition:
    family: nginx
    containers:
      - name: nginx
        essential: true
        image: "nginx"
        portMappings:
          - containerPort: 8080
            hostPort: 8080
        cpu: 512
        memory: 1024
    state: present

- name: Create task definition
  community.aws.ecs_taskdefinition:
    family: nginx
    containers:
      - name: nginx
        essential: true
        image: "nginx"
        portMappings:
          - containerPort: 8080
            hostPort: 8080
    launch_type: FARGATE
    cpu: 512
    memory: 1024
    state: present
    network_mode: awsvpc

- name: Create task definition
  community.aws.ecs_taskdefinition:
    family: nginx
    containers:
      - name: nginx
        essential: true
        image: "nginx"
        portMappings:
          - containerPort: 8080
            hostPort: 8080
        cpu: 512
        memory: 1024
        dependsOn:
          - containerName: "simple-app"
            condition: "start"

# Create Task Definition with Environment Variables and Secrets
- name: Create task definition
  community.aws.ecs_taskdefinition:
    family: nginx
    containers:
      - name: nginx
        essential: true
        image: "nginx"
        environment:
          - name: "PORT"
            value: "8080"
        secrets:
          # For variables stored in Secrets Manager
          - name: "NGINX_HOST"
            valueFrom: "arn:aws:secretsmanager:us-west-2:123456789012:secret:nginx/NGINX_HOST"
          # For variables stored in Parameter Store
          - name: "API_KEY"
            valueFrom: "arn:aws:ssm:us-west-2:123456789012:parameter/nginx/API_KEY"
    launch_type: FARGATE
    cpu: 512
    memory: 1GB
    state: present
    network_mode: awsvpc

# Create Task Definition with health check
- name: Create task definition
  community.aws.ecs_taskdefinition:
    family: nginx
    containers:
      - name: nginx
        essential: true
        image: "nginx"
        portMappings:
          - containerPort: 8080
            hostPort: 8080
        cpu: 512
        memory: 1024
        healthCheck:
          command:
            - CMD-SHELL
            - /app/healthcheck.py
          interval: 60
          retries: 3
          startPeriod: 15
          timeout: 15
    state: present

Значения возврата

Общие значения возврата документированы здесь, следующие являются полями, уникальными для данного модуля:

Ключ

Описание

taskdefinition

словарь

отражение входных параметров

Возвращается: всегда

Авторы

  • Mark Chance (@Java1Guy)
  • Alina Buzachis (@alinabuzachis)

Ссылки на коллекцию

  • Трекер задач
  • Репозиторий (источники)
  • Общение

© 2012–2018 Michael DeHaan
© 2018–2024 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/community/aws/ecs_taskdefinition_module.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API