assemble - Сборка файла конфигурации из фрагментов
Описание
- Сборка файла конфигурации из фрагментов. Часто конкретная программа использует один файл конфигурации и не поддерживает структуру типа
conf.d, где легко создать конфигурацию из нескольких источников.assembleбудет принимать каталог файлов, которые могут быть локальными или уже переданы в систему, и объединять их в целевой файл. Файлы собираются в лексикографическом порядке строк. Puppet использует это понятие, называемое *фрагментами*.
Параметры
| Параметр | Обязательный | По умолчанию | Варианты | Комментарии |
|---|---|---|---|---|
| attributes (добавлен в 2.3)
| нет | None | Атрибуты файла или каталога. Для получения поддерживаемых флагов см. страницу справки для chattr на целевой системе. Эта строка должна содержать атрибуты в том же порядке, что и в выводе lsattr. Псевдонимы: attr | |
| backup | нет | нет |
| Создать резервный файл (если yes), включая информацию о времени создания, чтобы вы могли вернуть исходный файл, если вы случайно его повредили. |
| decrypt (добавлен в 2.4)
| нет | Да |
| Этот параметр управляет автоматическим расшифрованием исходных файлов с использованием vault. |
| delimiter (добавлен в 1.4)
| нет | Разделитель для разделения содержимого файла. | ||
| dest | да | Файл, который будет создан путём конкатенации всех исходных файлов. | ||
| group | нет | Имя группы, которая должна владеть файлом/каталогом, как это передаётся в chown. | ||
| ignore_hidden (добавлен в 2.0)
| нет | Логическое значение, определяющее, будут ли включены файлы, начинающиеся с «.» | ||
| mode | нет | Режим файла или каталога. Для тех, кто привык к /usr/bin/chmod, помните, что режимы фактически являются восьмеричными числами (например, 0644). Пропуск ведущего нуля, вероятно, приведёт к непредвиденным результатам. Начиная с версии 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 (добавлен в 1.4)
| нет | True |
| Если False, поиск исходного каталога src будет осуществляться на исходной/главной машине, если True — на удалённой/целевой машине. По умолчанию True. |
| selevel | нет | s0 | Уровень контекста файла SELinux. Это атрибут MLS/MCS, иногда называемый range. _default функция работает так же, как для seuser. | |
| serole | нет | Роль контекста файла SELinux, _default функция работает так же, как для seuser. | ||
| setype | нет | Тип контекста файла SELinux, _default функция работает так же, как для seuser. | ||
| seuser | нет | Пользователь контекста файла SELinux. По умолчанию использует системную политику, если применимо. Если установлено значение _default, будет использована часть политики user, если она доступна. | ||
| src | да | Существующий каталог, содержащий исходные файлы. | ||
| unsafe_writes (добавлен в 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, что означает, что разработчики этого модуля гарантируют, что не будут внесены несовместимые изменения в интерфейс.
Информация о поддержке
Дополнительную информацию о поддержке этого модуля компанией Red Hat можно найти в этом knowledge base article<https://access.redhat.com/articles/rhel-top-support-policies>
Для получения помощи в разработке модулей, если вы заинтересованы, пожалуйста, ознакомьтесь с Информация о сообществе и участие в разработке, Тестирование Ansible и Разработка модулей.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.4/assemble_module.html