assemble - Объединяет файл конфигурации из фрагментов
Описание
- Объединяет файл конфигурации из фрагментов. Часто конкретная программа использует один файл конфигурации и не поддерживает структуру типа
conf.d, где легко собрать конфигурацию из нескольких источников.assembleпримет каталог файлов, которые могут быть локальными или уже перенесены в систему, и объединит их, чтобы создать целевой файл. Файлы объединяются в порядке сортировки строк. Puppet называет эту идею *фрагментами*.
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| attributes (добавлен в 2.3) | Атрибуты файла или каталога. Чтобы получить поддерживаемые флаги, см. страницу руководства для *chattr* в целевой системе. Эта строка должна содержать атрибуты в том же порядке, что и в выводе *lsattr*. псевдонимы: attr | |
| backup bool |
| Создать резервную копию файла (если yes), включая информацию о времени, чтобы вы могли восстановить исходный файл, если вы каким-то образом его неправильно перезаписали. |
| decrypt bool (добавлен в 2.4) |
"Да" | Этот параметр управляет автоматическим расшифрованием исходных файлов с помощью хранилища. |
| delimiter (добавлен в 1.4) | Разделитель для разделения содержимого файла. | |
| dest необходимый | Файл для создания с помощью объединения всех исходных файлов. | |
| group | Имя группы, которой должен принадлежать файл/каталог, как в команде *chown*. | |
| ignore_hidden bool (добавлен в 2.0) |
| Логическое значение, которое управляет включением или исключением файлов, начинающихся с точки «.» |
| mode | Режим файла или каталога. Для тех, кто знаком с *chmod*, помните, что режимы фактически являются восьмеричными числами. Вы должны либо указать ведущий ноль, чтобы парсер YAML Ansible понимал, что это восьмеричное число (например, 0644 или 01777), либо заключить его в кавычки (например, '644' или '0644'), чтобы Ansible получил строку и мог выполнить преобразование из строки в число. Передача Ansible числа без соблюдения одного из этих правил приведет к десятичному числу, что приведет к неожиданным результатам. Начиная с версии 1.8, режим может быть указан в символическом формате (например, u+rwx или u=rw,g=r,o=r). | |
| owner | Имя пользователя, которому должен принадлежать файл/каталог, как в команде *chown*. | |
| regexp | Объединить файлы только если regex соответствует имени файла. Если не установлено, все файлы объединяются. Все «\» (обратная косая черта) должны быть экранированы как «\\», чтобы соответствовать синтаксису YAML. Использует регулярные выражения Python; см. http://docs.python.org/2/library/re.html. | |
| remote_src bool (добавлен в 1.4) |
| Если ложь, то поиск src будет производиться на исходной/главной машине, если истина - на удаленной/целевой машине для src. Значение по умолчанию - истина. |
| selevel | Значение по умолчанию: "s0" | Часть уровня SELinux контекста файла. Это атрибут MLS/MCS, иногда известный как range. _default функция работает так же, как и для *seuser*. |
| serole | Часть роли контекста SELinux файла, _default функция работает так же, как и для *seuser*. | |
| setype | Часть типа контекста SELinux файла, _default функция работает так же, как и для *seuser*. | |
| seuser | Часть пользователя контекста SELinux файла. По умолчанию будет использоваться политика системы, если применимо. Если установлено значение _default, будет использоваться часть политики user, если она доступна. | |
| src необходимый | Уже существующий каталог, содержащий исходные файлы. | |
| unsafe_writes bool (добавлен в 2.2) |
| Обычно этот модуль использует атомарные операции, чтобы предотвратить повреждение данных или несогласованные чтения из целевых файлов. Иногда системы настроены или просто сломаны таким образом, что это невозможно. Примером являются файлы, смонтированные в Docker; они не могут быть обновлены атомарно и могут быть обновлены только небезопасным способом. Этот логический параметр позволяет Ansible переходить к небезопасным методам обновления файлов в тех случаях, когда у вас нет другого выбора. Имейте в виду, что это подвержено проблемам гонок и может привести к повреждению данных. |
| validate (добавлен в 2.0) | Команда валидации, которая должна быть запущена перед копированием в место назначения. Путь к файлу для валидации передается через '%s', который должен быть присутствовать, как в примере sshd ниже. Команда передается безопасно, поэтому такие возможности оболочки, как расширение и конвейеры, не будут работать. |
Примеры
# Example from Ansible Playbooks
- assemble:
src: /etc/someapp/fragments
dest: /etc/someapp/someapp.conf
# When a delimiter is specified, it will be inserted in between each fragment
- assemble:
src: /etc/someapp/fragments
dest: /etc/someapp/someapp.conf
delimiter: '### START FRAGMENT ###'
# Copy a new "sshd_config" file into place, after passing validation with sshd
- assemble:
src: /etc/ssh/conf.d/
dest: /etc/ssh/sshd_config
validate: '/usr/sbin/sshd -t -f %s'
Статус
Этот модуль помечен как stableinterface, что означает, что разработчики этого модуля гарантируют, что не будут вноситься обратные изменения в интерфейс.
Техническое обслуживание
Этот модуль помечен как core, что означает, что он поддерживается командой Ansible Core Team. Подробнее см. Техническое обслуживание и поддержка модулей.
Список других модулей, которые также поддерживаются командой Ansible Core Team, см. здесь.
Поддержка
Дополнительную информацию о поддержке этого модуля компанией Red Hat см. в этой статье базы знаний.
Автор
- Stephen Fromm (@sfromm)
Подсказка
Если вы обнаружите какие-либо проблемы в этом руководстве, вы можете отредактировать этот документ, чтобы улучшить его.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.6/modules/assemble_module.html