Spec-Zone.ru › Ansible

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

Примечание

Этот модуль входит в коллекцию community.aws (версия 10.1.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.34.0
  • botocore >= 1.34.0

Параметры

Параметр

Комментарии

access_key

aliases: aws_access_key_id, aws_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 в порядке убывания предпочтения.

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

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

arn

string

ARN описания задачи, которое нужно удалить.

aws_ca_bundle

path

Путь к пакету центров сертификации, используемому для проверки 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 / обязательный

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

Полный список параметров см. на странице https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/ecs.html.

command

list / elements=string

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

cpu

integer

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

dependsOn

list / elements=dictionary

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

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

condition

string / обязательный

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

Возможные значения:

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

containerName

string / обязательный

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

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

Имя ресурса Amazon (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.

Возможные значения:

  • "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 по умолчанию.

Возможные значения:

  • "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 / обязательный

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

permissions

list / elements=string

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

initProcessEnabled

boolean

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

Возможные значения:

  • false
  • true

maxSwap

integer

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

Этот параметр не поддерживается при launch_type=FARGATE.

sharedMemorySize

integer

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

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

swappiness

integer

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

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

tmpfs

list / elements=dictionary

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

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

containerPath

string / обязательный

Абсолютный путь к файлу, по которому монтируется том 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 / обязательный

Размер тома tmpfs (в МиБ).

logConfiguration

dictionary

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

logDriver

string

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

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

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

memory

integer

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

memoryReservation

integer

Мягкое ограничение объема памяти (в МиБ), резервируемого для контейнера.

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 / обязательный

Имя ресурса Amazon (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 / обязательный

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

size

string / обязательный

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

startTimeout

integer

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

stopTimeout

integer

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

systemControls

list / elements=dictionary

Список параметров ядра с пространствами имен, задаваемых в контейнере.

namespace

string

Параметр ядра с пространством имен, для которого задается value.

value

string

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

ulimits

list / elements=dictionary

Список ограничений ulimit, задаваемых в контейнере.

Этот параметр не поддерживается для контейнеров 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

list / elements=dictionary

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

readOnly

boolean

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

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

Варианты:

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

sourceContainer

string

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

workingDirectory

string

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

cpu

string

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

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

debug_botocore_endpoint_logs

boolean

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

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

Варианты:

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

endpoint_url

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

string

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

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

execution_role_arn

string

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

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

family

string

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

force_create

boolean

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

Варианты:

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

launch_type

string

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

Варианты:

  • "EC2"
  • "FARGATE"

memory

string

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

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

network_mode

string

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

Для контейнеров Windows необходимо использовать network_mode=default, при котором используется сетевая технология Docker NAT.

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

Варианты:

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

placement_constraints

list / elements=dictionary

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

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

Для одной задачи можно указать не более 10 ограничений.

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

expression

string

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

type

string

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

profile

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

string

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

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

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

Параметр profile несовместим с параметрами aws_access_key, aws_secret_key и session_token.

region

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

string

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

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

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

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

revision

integer

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

runtime_platform

dictionary

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

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

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

cpuArchitecture

string

Тип архитектуры ЦП, используемый задачей

Варианты:

  • "X86_64"
  • "ARM64"

operatingSystemFamily

string

Тип ОС, используемый задачей

Варианты:

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

secret_key

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

string

Секретный ключ доступа 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 в порядке убывания приоритета.

Параметры secret_key и profile несовместимы.

Псевдоним aws_secret_access_key добавлен в выпуске 5.1.0 для согласованности с SDK AWS botocore.

session_token

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

string

Токен сеанса 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.

Параметры session_token и profile несовместимы.

state

string / обязательный

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

Варианты:

  • "present"
  • "absent"

task_role_arn

string

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

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

validate_certs

boolean

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

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

Варианты:

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

volumes

list / elements=dictionary

Список имён подключаемых томов.

name

string / обязательный

Имя тома.

Примечания

Примечание

  • Внимание: Для модулей переменные окружения и файлы конфигурации считываются из контекста Ansible «хоста», а не из контекста «контроллера». Поэтому может потребоваться явно скопировать файлы на «хост». Для плагинов поиска и подключения переменные окружения и файлы конфигурации считываются из контекста Ansible «контроллера», а не из контекста «хоста».
  • Используемый Ansible пакет AWS SDK (boto3) также может считывать значения учётных данных и других параметров по умолчанию, например региона, из файлов конфигурации в контексте 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

dictionary

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

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

Авторы

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

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

  • Отслеживание проблем
  • Репозиторий (исходный код)
  • Связь

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

Spec-Zone.ru

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