Путь к папке ansible для печати из переменной реестра
Я пытаюсь напечатать только путь к переменной регистра, имеющей несколько значений, однако я могу напечатать только определенное значение. как я могу напечатать несколько значений?
---
- name: find directories
find:
paths: "{{ item }}"
recurse: yes
file_type: directory
use_regex: yes
patterns:
- '.*log.*'
- '.*sbin.*'
with_items:
- /var
- /usr
register: folders_info
- name: print folders found
debug:
msg: "{{ item }}"
with_items: "{{ folders_info.results[0].files[0].path }}"
Это выводит:
TASK [filebeat_confirm : find directories] ***********************************************************************************************************************************************
ok: [10.0.1.243] => (item=/var)
ok: [10.0.1.243] => (item=/usr)
TASK [filebeat_confirm : print folders found] ********************************************************************************************************************************************
ok: [10.0.1.243] => (item=/var/log) => {
"msg": "/var/log"
}
1 ответ
Вопрос: «Выведите только путь к регистровой переменной».
О: Декларация ниже дает вам то, что вы хотите.
my_dirs: "{{ folders_info.results|json_query('[].files[].path') }}"
Пример
Дано дерево для тестирования
shell> tree /tmp/test
/tmp/test
├── usr
│ └── bin
│ └── dosepsbin
└── var
├── db
├── lib
│ └── dkms
│ ├── test1
│ │ └── log
│ ├── test2
│ │ └── log
│ └── test3
│ └── log
├── local
└── log
15 directories, 0 files
Книга пьес
shell> cat pb.yml
- hosts: localhost
become: true
vars:
my_dirs: "{{ folders_info.results|json_query('[].files[].path') }}"
tasks:
- name: find directories
find:
paths: "{{ item }}"
recurse: true
file_type: directory
use_regex: true
patterns:
- '.*log.*'
- '.*sbin.*'
loop:
- /tmp/test/var
- /tmp/test/usr
register: folders_info
- debug:
var: my_dirs
дает
shell> ansible-playbook pb.yml
PLAY [localhost] ******************************************************************************************************************************************************************************
TASK [find directories] ***********************************************************************************************************************************************************************
ok: [localhost] => (item=/tmp/test/var)
ok: [localhost] => (item=/tmp/test/usr)
TASK [debug] **********************************************************************************************************************************************************************************
ok: [localhost] =>
my_dirs:
- /tmp/test/var/log
- /tmp/test/var/lib/dkms/test1/log
- /tmp/test/var/lib/dkms/test2/log
- /tmp/test/var/lib/dkms/test3/log
- /tmp/test/usr/bin/dosepsbin
PLAY RECAP ************************************************************************************************************************************************************************************
localhost: ok=2 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0