Получить имя переменной файла в ansible - PullRequest
0 голосов
/ 22 октября 2018

При запуске ansible playbook с такой командой:

ansible-playbook playbook.yml -i inventory -e @abc.yml -e @xyz.yml

Как получить имя файла переменной: xyz.yml.или abc.yml.

Требуется создать некоторые ресурсы на основе имени файла переменной.Для этого необходимо передать имя файла переменной в переменную в списке воспроизведения.

1 Ответ

0 голосов
/ 22 октября 2018

Насколько я знаю, нет способа получить доступную командную строку внутри игры.

Если вы хотите изменить поведение игры на основе переменных имени файла, я бы посоветовал вам передать имя файла с переменными какаргумент и динамически загружать переменные:

ansible-playbook playbook.yml -i inventory -e data_source=abc.yml

insde your playbook.yaml:

- name: Load additional variables
  include_vars:
    file: '{{ data_source }}'
  when: data_source is defined

- name: Do something is datasource is abc
  command: echo do something
  when: data_source|default('') == 'abc.yaml'

include_vars работает на хосте ansible controller (хост, на котором запускается бинарный файл ansible-playbook),так что это более или менее эквивалент функции командной строки '@'.

...