Файлы инвентаризации INI не позволяют создавать структурированные данные, такие как списки. Как работа вокруг, вы можете определить список в файле группы или хоста var, используя точно обозначение в своем вопросе. Используйте список в игре с with_items
loop.
Например:
$ cat playbook.yml
- hosts: [webservers]
vars_files:
- vars/webservers.yml
tasks:
- debug: host={{item}}
with_items: hosts
$ cat inventory
[webservers]
web1
$ cat vars/webservers.yml
hosts:
- xxx
- yyy
$ ansible-playbook -i inventory playbook.yml
PLAY [webservers] *************************************************************
GATHERING FACTS ***************************************************************
ok: [localhost]
TASK: [debug host={{item}}] ***************************************************
ok: [localhost] => (item=xxx) => {
"item": "xxx",
"msg": "Hello world!"
}
ok: [localhost] => (item=yyy) => {
"item": "yyy",
"msg": "Hello world!"
}
PLAY RECAP ********************************************************************
localhost : ok=2 changed=0 unreachable=0 failed=0
Это не похоже, чтобы помочь. Я не хочу определять переменные внутри пьесы, которую я хотел бы определить в файле инвентаризации. – rgrinberg
Обновлен ответ, чтобы указать, что структурированные данные не разрешены в инвентаре. –
Спасибо, это было мое подозрение, но я не смог найти авторитетный источник. – rgrinberg