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

Лучший способ объявить переменные хоста Icinga в переменной Ansible

Я пишу Ansible роль построить некоторые Icinga 2 конфигурации, и, что более важно, конфигурация клиентского хоста в распределенной установке Icinga.

Я хочу объявить переменные хоста Icinga 2 в переменной Ansible, которую можно передать в шаблон Ansible для создания нового файла конфигурации Icinga 2, например:

object Host "client" {
  import "generic-host"
  address = "123.123.123.123"

  [...]

  vars.disks["Disks"] = {
    disk_all = true
  }

  vars.tcp["Description"] = {
    tcp_address = "foo.bar"
  }

  [...]    

}

Я объявляю переменные хоста Icinga 2 (например, vars.tcp["Description"] в приведенном выше примере) в переменной Ansible (YAML) следующим образом:

icinga2_clients:
  - client:
    - vars:
      - tcp:
        - name: "Description"
          params:
          - tcp_address: "foo.bar"

Есть ли у вас какие-нибудь идеи по поводу того, как лучше написать файл переменных Ansible?