Я использую Ansible роль Datadog и пытаюсь установить и настроить агенты datadog на целевых серверах, однако я я застрял в точке, где мне нужно использовать переменные хоста и обновить раздел playbook, используя эти переменные. Переменная имеет несколько значений, разделенных пробелом. Я хочу убедиться, что эти значения добавлены в playbook на основе значений переменных. Следующий пример поможет понять требование.
Практика:
- hosts: servers
roles:
- { role: datadog.datadog, become: yes }
vars:
datadog_api_key: "{{ DD_API_KEY }}"
datadog_config:
tags:
- "AID:"{{ AID }}"
Здесь значение тега AID использует переменную хоста с тем же именем, т. е. AID, и в некоторых случаях эта переменная хоста может иметь следующие значения:
AID: 100 101 102 103
Есть ли способ, которым при выполнении раздела тега playbook анализируется на основе значений переменных в следующем формате.
tags:
- AID: 100
- AID: 101
- AID: 102
- AID: 103
Я считаю, что не могу использовать шаблоны для таких требований, поскольку конфигурации используются в переменных роли. Любые предложения будут оценены.
AID
строкой или списком строк? В обоих случаях вам нужно разделить значение вAID
, чтобы получить список строк, а затем перебрать элементы списка и добавить их в словарьdatadog_config.tags
с тегами: {{ ['AID: '] | продукт(помощь) | карта ('присоединиться') | list }} — см. itix.fr/blog/ansible- добавить-префикс-суффикс-в-список - person TRW   schedule 19.04.2021