Назад | Перейти на главную страницу

Ansible: значение индекса в файле шаблона для каждого экземпляра

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

# main.yml
- name: Configure each Instance
  template: src=config dest=/usr/service/etc/config@{{item}}-{{count}}
  with_items:
    - "A"
    - "B"
    - "C"


# templates/config
id={{count}}

В идеале я получу:

config@A-1
config@B-2
config@C-3

Но я застрял в том, как мне добавить туда переменную "count". Я смотрел на with_indexed_items, но я не уверен, что это правильный путь. Я также рассмотрел использование списка таких списков:

with_items:
 - ["A", "1"]
 - ["B", "2"]
 - ["C", "3"]

Но это не похоже на самый "Ansible" способ сделать это.

Я решил это с помощью with_sequence цикл и абстрагирование значения A, B, C в файл vars:

- name: Configure each Instance
  template: src=config dest=/usr/service/etc/config@{{value}}-{{item}}
  with_sequence: count={{num_instances}}

Тогда мой шаблон выглядит так:

# templates/config
id={{item}}