Ansible шаблон jinja2 с командой linux - PullRequest
0 голосов
/ 08 ноября 2019

Я учусь ANSIBLE. я написал шаблон jinja2 для зацикливания нескольких значений. Тем не менее, я получаю эти значения из команды Linux.

- name: fetching port ranges 
  command: ls /apache |grep redis|grep ".pid"  | awk -F"_" '{ print $2}'| awk -F"." '{print $1}'

Вывод вышеуказанной команды будет выглядеть следующим образом:

10001
10002
10003
10004
10005

Ниже приведен шаблон jinja2

 [{% for range in port  %}
    "127.0.0.1:{{ range }}",
  {% endfor %}]

со словом "for loop" в шаблоне jinja2,я пытаюсь перебрать значения, сгенерированные командой linux, но я не уверен, как сохранить эти значения и использовать их в шаблоне jinja2. Любая помощь будет оценена.

1 Ответ

2 голосов
/ 08 ноября 2019

Вам необходимо зарегистрировать результат и затем использовать вывод из stdout_lines.

Попробуйте что-то вроде этого:

- name: fetching port ranges 
  command: ls /apache |grep redis|grep ".pid"  | awk -F"_" '{ print $2}'| awk -F"." '{print $1}'
  register: result

- name: my template task
  template:
    src: <src>
    dest: <dest>
  vars:
    port: "{{ result.stdout_lines }}"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...