assemble – Сборка файла конфигурации из фрагментов
Краткое описание
- Собирает файл конфигурации из фрагментов. Часто определённая программа принимает один файл конфигурации и не поддерживает структуру типа
conf.d, где легко собрать конфигурацию из нескольких источников.assembleпримет директорию файлов, которые могут быть локальными или уже перенесены на систему, и склеит их вместе, создав целевой файл. Файлы собираются в порядке сортировки строк. Puppet называет эту идею фрагментами.
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| attributes - добавлен в 2.3 | Атрибуты файла или каталога. Для получения поддерживаемых флагов обратитесь к странице справки chattr на целевой системе. Эта строка должна содержать атрибуты в том же порядке, что и при отображении командой lsattr. = предполагается как значение по умолчанию, в противном случае + или - операторы должны быть включены в строку.псевдонимы: attr | |
| backup boolean |
| Создать резервную копию файла (если yes), включая информацию о времени создания, чтобы вы могли восстановить исходный файл, если вы случайно его повредили. |
| decrypt boolean добавлен в 2.4 |
| Этот параметр управляет автоматическим расшифрованием исходных файлов с помощью хранилища. |
| delimiter - добавлен в 1.4 | Разделитель для разделения содержимого файла. | |
| dest - / обязательно | Файл для создания, используя конкатенацию всех исходных файлов. | |
| group - | Имя группы, которая должна владеть файлом/каталогом, как в команде chown. | |
| ignore_hidden boolean добавлен в 2.0 |
| Логическое значение, которое определяет, будут ли включаться файлы, начинающиеся с точки '.'. |
| mode - | Режим файла или каталога. Для тех, кто знаком с /usr/bin/chmod, помните, что режимы фактически являются восьмеричными числами. Вы должны добавить ведущую ноль, чтобы Ansible's YAML-парсер понял, что это восьмеричное число (например, 0644 или 01777) или заключить его в кавычки (например, '644' или '1777'), чтобы 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 boolean добавлен в 1.4 |
| Если False, будет производиться поиск src на исходной/главной машине. Если True, будет производиться поиск src на удаленной/целевой машине. |
| selevel - | По умолчанию: "s0" | Уровень контекста файла SELinux. Это атрибут MLS/MCS, иногда называемый range. Функция _default работает аналогично команде seuser. |
| serole - | Роль в контексте файла SELinux, _default функция работает аналогично seuser. |
| setype - | Часть контекста файла SELinux, параметр _default работает так же, как для seuser. | |
| seuser - | Пользовательская часть контекста файла SELinux. По умолчанию используется политика системы, если применимо. Если установлено значение _default, будет использоваться часть политики user, если она доступна. | |
| src - / обязательно | Уже существующий каталог, содержащий исходные файлы. | |
| unsafe_writes boolean добавлен в 2.2 |
| По умолчанию этот модуль использует атомарные операции для предотвращения повреждения данных или несогласованного чтения из целевых файлов, но иногда системы настроены или просто неисправны таким образом, что это невозможно. Одним из примеров являются файлы, смонтированные через Docker, которые не могут быть обновлены атомарно изнутри контейнера и могут быть записаны только небезопасным способом. Этот параметр позволяет Ansible использовать небезопасные методы обновления файлов, когда атомарные операции завершаются сбоем (однако, он не заставляет 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]
- Этот модуль поддерживается командой Ansible Core. [core]
Поддержка Red Hat
Дополнительную информацию о поддержке этого модуля Red Hat можно найти в этой статье базы знаний 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.7/modules/assemble_module.html