Вывести Ansible переменную в командную строку из специальной c команды - PullRequest
0 голосов
/ 07 августа 2020

В настоящее время у меня есть файл YAML, который определяет несколько переменных:

variable_a: some_value_1
variable_b: some_value_2
variable_c: some_value_3

Есть ли специальная c команда, которую я могу запустить с терминала, которая позволит мне выборочно распечатать значение каждой из эти переменные? Например,

ansible --file=my_file.yml --print-var=variable_a

напечатает

some_value_1

Мне нужно получить доступ к этим переменным внутри сценария bash, поэтому я не могу просто использовать include_vars.

1 Ответ

2 голосов
/ 07 августа 2020

Вы должны передать свой файл переменных с опцией --extra-vars или -e для специальной c команды.

Учитывая файл YAML с переменными my_vars.yml

variable_a: some_value_1
variable_b: some_value_2
variable_c: some_value_3

Выполнить ad-ho c команду:

~$ ansible localhost -m debug -a "var=variable_a" -e @my_vars.yml

localhost | SUCCESS => {
  "variable_a": "some_value_1"
}

Если вы хотите обрезать вывод:

~$ ansible localhost -m debug -a "var=variable_a" -e @my_vars.yml | grep variable_a | awk '{print $2}'
"some_value_1"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...