community.general.filetree поиск — рекурсивно найти все файлы в дереве каталогов
Примечание
Этот плагин поиска входит в коллекцию community.general (версия 9.5.0).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не включена в ansible-core. Чтобы проверить её установку, выполните ansible-galaxy collection list.
Для её установки используйте: ansible-galaxy collection install community.general.
Чтобы использовать её в плейбуке, укажите: community.general.filetree.
Описание
- Этот поиск позволяет вам получить шаблон полного дерева файлов на целевой системе, сохраняя права и владельцев.
- Поддерживает каталоги, файлы и символические ссылки, включая SELinux и другие свойства файлов.
- Если вы предоставите более одного пути, он реализует логику first_found и не будет обрабатывать записи, которые уже обрабатывались в предыдущих путях. Это позволяет объединять различные деревья в порядке важности или добавлять role_vars в определённые пути для влияния на различные экземпляры одного и того же роли.
Термины
Параметр | Комментарии |
|---|---|
Термины список / элементы=строка / обязательный | Путь(и) к файлам для чтения. |
Примеры
- name: Create directories
ansible.builtin.file:
path: /web/{{ item.path }}
state: directory
mode: '{{ item.mode }}'
with_community.general.filetree: web/
when: item.state == 'directory'
- name: Template files (explicitly skip directories in order to use the 'src' attribute)
ansible.builtin.template:
src: '{{ item.src }}'
# Your template files should be stored with a .j2 file extension,
# but should not be deployed with it. splitext|first removes it.
dest: /web/{{ item.path | splitext | first }}
mode: '{{ item.mode }}'
with_community.general.filetree: web/
when: item.state == 'file'
- name: Recreate symlinks
ansible.builtin.file:
src: '{{ item.src }}'
dest: /web/{{ item.path }}
state: link
follow: false # avoid corrupting target files if the link already exists
force: true
mode: '{{ item.mode }}'
with_community.general.filetree: web/
when: item.state == 'link'
- name: list all files under web/
ansible.builtin.debug:
msg: "{{ lookup('community.general.filetree', 'web/') }}"
Возвращаемое значение
Ключ | Описание |
|---|---|
Возвращаемое значение list / elements=dictionary | Список словарей с информацией о файле. Возвращено: success |
|
ctime float |
Время последнего обновления или создания метаданных (зависит от ОС). Возвращено: success |
|
gid integer |
Идентификатор группы файла/каталога. Возвращено: success |
|
group any |
Имя группы, которой принадлежит файл/каталог. Возвращено: success |
|
mode string |
Разрешения для результирующего файла или каталога. Возвращено: success |
|
mtime float |
Время последнего изменения. Возвращено: success |
|
owner any |
Имя пользователя, которому принадлежит файл/каталог. Возвращено: success |
|
path path |
Содержит относительный путь к корню. Возвращено: success |
|
root path |
Позволяет фильтровать по исходному местоположению. Возвращено: success |
|
selevel any |
Часть уровня контекста файла SELinux. Возвращено: success |
|
serole any |
Часть роли контекста файла SELinux. Возвращено: success |
|
setype any |
Часть типа контекста файла SELinux. Возвращено: success |
|
seuser any |
Часть пользователя контекста файла SELinux. Возвращено: success |
|
size integer |
Размер целевого объекта. Возвращено: success |
|
src path |
Полный путь к файлу. Не возвращается, когда Возвращено: success |
|
state string |
TODO Возвращено: success |
|
uid integer |
Идентификатор владельца файла/каталога. Возвращено: success |
Ссылки на коллекцию
© 2012–2018 Michael DeHaan
© 2018–2024 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/community/general/filetree_lookup.html