В соответствии с официальной документацией вы можете определить переменные в инвентаре способом INI со следующим синтаксисом (key=value
):
[atlanta]
host1
host2
[atlanta:vars]
ntp_server=ntp.atlanta.example.com
proxy=proxy.atlanta.example.com
Можно ли определить сложные переменныеНапример:
[atlanta]
host1
host2
[atlanta:vars]
userParameters:
- { string: 'foo', list: ['foo', 'bar'] }
Я обычно определяю сложные переменные в ролях, например, vars / main.yml. В этом случае из-за разных сред я хотел бы определить различные сложные переменные в файле инвентаризации.
Я попытался определить переменные как в формате файла INI, так и в формате YAML, и получаю сообщение об ошибке (пример):
[WARNING]: * Failed to parse /home/user/dir/inventories/development/hosts.ini with ini plugin: /home/user/dir/inventories/development/hosts.ini:9: Expected key=value, got:
userParameters:
[WARNING]: Unable to parse /home/user/dir/inventories/development/hosts.ini as an inventory source
[WARNING]: No inventory was parsed, only implicit localhost is available
[WARNING]: provided hosts list is empty, only localhost is available. Note that the implicit localhost does not match 'all'