Использование extra-var для вызова определенной переменной в ansible - PullRequest
3 голосов
/ 15 марта 2019

Возможно ли это? У меня есть книга игр, похожая на это:

вары: BDNAME: ""

  - name: Add a tenant using a JSON string
     aci_bd:
      tenant: "common"
      bd: "{{ BDNAME }}"
      vrf: "PIGGE"
      hostname: '1.1.1.1' 
      username: "x"
      password: "x"
      use_ssl: yes
      validate_certs: false

Это работает, если я предоставляю дополнительную переменную в командной строке:

ansible-playbook apic.yml -i server.yml --extra-vars BDNAME = 'pooh'

Тогда BDNAME получает значение pooh. Но есть ли способ, которым я могу определить пух как переменную. Поэтому, если я запустил книгу воспроизведения, как я только что сделал, BDNAME получит значение этой переменной.

Так что-то вроде вары: BDNAME: "" Пух: nisse

Тогда BDNAME должен быть nisse.

1 Ответ

1 голос
/ 15 марта 2019

Определите BDNAME в playbook непосредственно из дополнительной переменной POOH. Это должно делать то, что вы хотите. Но было бы проще использовать POOH вместо BDNAME.

Вот пример пьесы:

---
- hosts: localhost
  vars:
    BDNAME: "{{ POOH }}"
  tasks:
    - name: print BDNAME
      debug:
        msg: "{{ BDNAME }}"

если вы позвоните с:

ansible-playbook playbook.yml  -e '{"POOH": "Oliver"}'

вы увидите:

TASK [print BDNAME] **********************************************************************************************************************************************************************************************************************************************************
ok: [localhost] => {
    "changed": false, 
    "msg": "Oliver"
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...