assemble – Сборка файлов конфигурации из фрагментов
Описание
- Сборка файла конфигурации из фрагментов.
- Часто конкретная программа принимает один файл конфигурации и не поддерживает структуру типа
conf.d, где легко собрать конфигурацию из нескольких источников.assembleбудет принимать директорию файлов, которые могут быть локальными или уже перенесены в систему, и объединять их, чтобы создать целевой файл. - Файлы собираются в порядке сортировки строк.
- Puppet называет эту идею фрагментами.
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| attributes строка добавлено в 2.3 | Атрибуты, которые должен иметь результирующий файл или директория. Чтобы получить поддерживаемые флаги, см. страницу справки для chattr на целевой системе. Эта строка должна содержать атрибуты в том же порядке, что и при отображении lsattr. Оператор = предполагается по умолчанию, в противном случае необходимо включить операторы + или - в строку.псевдонимы: attr | |
| backup логическое |
| Создать резервный файл (если yes), включая информацию о дате и времени, чтобы вы могли вернуть исходный файл, если вы каким-то образом неправильно его перезаписали. |
| decrypt логическое добавлено в 2.4 |
| Этот параметр управляет автоматическим расшифрованием исходных файлов с помощью vault. |
| delimiter строка | Разделитель для разделения содержимого файла. | |
| dest путь / обязательно | Файл, который нужно создать, объединив все исходные файлы. | |
| group строка | Имя группы, которая должна владеть файлом/директорией, как это передается в chown. | |
| ignore_hidden логическое добавлено в 2.0 |
| Логическое значение, которое управляет включением или исключением файлов, начинающихся с точки «.». |
| mode строка | Права доступа, которые должен иметь результирующий файл или директория. Для тех, кто привык к /usr/bin/chmod, помните, что режимы фактически являются восьмеричными числами. Вы должны либо добавить ведущую ноль, чтобы парсер YAML Ansible знал, что это восьмеричное число (например, 0644 или 01777) или заключить его в кавычки (например, '644' или '1777') так, чтобы Ansible получил строку и смог выполнить собственное преобразование из строки в число.Передача Ansible числа без соблюдения одного из этих правил приведет к десятичному числу, что приведет к непредвиденным результатам. Начиная с Ansible 1.8, режим может быть указан в символьной форме (например, u+rwx или u=rw,g=r,o=r). | |
| owner строка | Имя пользователя, который должен владеть файлом/директорией, как это передается в chown. | |
| regexp строка | Собрать файлы только если regex соответствует имени файла.Если не задано, собираются все файлы. Каждый «\» (обратный слэш) должен быть экранирован как «\\», чтобы соответствовать синтаксису YAML. Использует Python регулярные выражения. | |
| remote_src логическое |
| Если no, он будет искать src на исходной/главной машине.Если yes, он будет искать src на удалённой/целевой машине. |
| selevel строка | Значение по умолчанию: "s0" | Часть уровня контекста файла SELinux. Это атрибут MLS/MCS, иногда известный как range. При установке в _default, он будет использовать часть политики level, если она доступна. |
| serole строка | Часть роли контекста файла SELinux. При установке в _default, он будет использовать часть политики role, если она доступна. | |
| setype строка | Часть типа контекста файла SELinux. При установке в _default, он будет использовать часть политики type, если она доступна. | |
| seuser строка | Часть пользователя контекста файла SELinux. По умолчанию используется политика system, где это применимо.При установке в _default, он будет использовать часть политики user, если она доступна. | |
| src путь / обязательно | Уже существующая директория, полная исходных файлов. | |
| unsafe_writes логическое добавлено в 2.2 |
| Влияет на использование атомарных операций для предотвращения повреждения данных или несогласованного чтения из целевого файла. По умолчанию этот модуль использует атомарные операции для предотвращения повреждения данных или несогласованного чтения из целевых файлов, но иногда системы настроены или просто неисправны таким образом, что это невозможно. Один из примеров – файлы, смонтированные в Docker, которые не могут быть обновлены атомарно изнутри контейнера и могут быть записаны только неатомарно. Этот параметр позволяет Ansible перейти к небезопасным методам обновления файлов, когда атомарные операции завершаются неудачей (однако он не заставляет Ansible выполнять небезопасные записи). ВАЖНО! Небезопасные записи подвержены гонкам и могут привести к повреждению данных. |
| validate строка добавлено в 2.0 | Команда проверки, которая должна быть запущена перед копированием на место. Путь к файлу для проверки передается через '%s', который должен быть присутствовать, как в примере sshd ниже. Команда передается безопасно, поэтому такие оболочные функции, как расширение и конвейеры, не будут работать. |
См. также
См. также
- copy – Копирование файлов в удаленные места
- Официальная документация по модулю copy.
- template – Шаблонизация файла для удаленного сервера
- Официальная документация по модулю template.
- win_copy – Копирование файлов на удаленные расположения на хостах Windows
- Официальная документация по модулю win_copy.
Примеры
- name: Assemble from fragments from a directory
assemble:
src: /etc/someapp/fragments
dest: /etc/someapp/someapp.conf
- name: Inserted provided delimiter in between each fragment
assemble:
src: /etc/someapp/fragments
dest: /etc/someapp/someapp.conf
delimiter: '### START FRAGMENT ###'
- name: Assemble 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.8/modules/assemble_module.html