ansible.builtin.assemble – Сборка конфигурационных файлов из фрагментов
Примечание
Этот модуль является частью ansible-base и включён во все установки Ansible. В большинстве случаев вы можете использовать короткое имя модуля assemble даже без указания ключевого слова collections:. Несмотря на это, мы рекомендуем использовать полное имя класса (FQCN) для лёгкой ссылки на документацию модуля и для предотвращения конфликтов с другими коллекциями, которые могут иметь такое же имя модуля.
Новое в версии 0.5: of ansible.builtin
Описание
- Сборка конфигурационного файла из фрагментов.
- Часто определённая программа использует единственный конфигурационный файл и не поддерживает структуру типа
conf.d, где легко построить конфигурацию из нескольких источников. Модульassembleпримет каталог файлов, которые могут быть локальными или уже перенесены на систему, и конкатенирует их, чтобы создать целевой файл. - Файлы собираются в порядке сортировки строк.
- Puppet называет эту идею фрагментами.
Примечание
У этого модуля есть соответствующий плагин действий.
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| attributes строка добавлено в 2.3 ansible.builtin | Атрибуты, которые должен иметь получившийся файл или каталог. Для просмотра поддерживаемых флагов обратитесь к справке man для chattr на целевой системе. Эта строка должна содержать атрибуты в том же порядке, что и в выводе lsattr. Оператор = предполагается по умолчанию, в противном случае операторы + или - необходимо включить в строку.алиасы: attr | |
| backup логическое |
| Создать резервную копию файла (если yes), включая информацию о времени создания, чтобы вы могли получить исходный файл обратно, если вы каким-то образом неправильно его перезаписали. |
| decrypt логическое добавлено в 2.4 of ansible.builtin |
| Этот параметр управляет автоматическим расшифрованием исходных файлов с помощью vault. |
| delimiter строка добавлено в 1.4 of ansible.builtin | Разделитель для разделения содержимого файлов. | |
| dest путь / обязательно | Файл для создания с помощью конкатенации всех исходных файлов. | |
| group строка | Имя группы, которая должна владеть файлом/каталогом, как и при использовании chown. | |
| ignore_hidden логическое добавлено в 2.0 of ansible.builtin |
| Логический параметр, контролирующий включение или исключение файлов, начинающихся с точки. |
| mode сырой | Разрешения, которые должен иметь получившийся файл или каталог. Для тех, кто привык к /usr/bin/chmod, помните, что режимы фактически являются восьмеричными числами. Вы должны либо добавить ведущую ноль, чтобы Ansible's YAML-парсер знал, что это восьмеричное число (как 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 логическое добавлено в 1.4 of ansible.builtin |
| Если no, будет поиск src на исходной/главной машине.Если yes, будет поиск src на удалённой/целевой машине. |
| selevel строка | Часть уровня контекста файла SELinux. Это атрибут MLS/MCS, иногда известный как range.Когда установлено на _default, используется часть политики level, если доступна. | |
| serole строка | Часть роли контекста файла SELinux. Когда установлено на _default, используется часть политики role, если доступна. | |
| setype строка | Часть типа контекста файла SELinux. Когда установлено на _default, используется часть политики type, если доступна. | |
| seuser строка | Часть пользователя контекста файла SELinux. По умолчанию используется политика system, где это применимо.Когда установлено на _default, используется часть политики user, если доступна. | |
| src путь / обязательно | Уже существующий каталог с исходными файлами. | |
| unsafe_writes логическое добавлено в 2.2 of ansible.builtin |
| Влияет на то, когда использовать атомную операцию для предотвращения повреждения данных или несогласованных чтений из целевого файла. По умолчанию этот модуль использует атомные операции для предотвращения повреждения данных или несогласованных чтений из целевых файлов, но иногда системы настроены или просто неисправны, что препятствует этому. Одним примером являются файлы с монтированием docker, которые не могут быть обновлены атомарно изнутри контейнера и могут быть записаны только небезопасным способом. Этот параметр позволяет Ansible перейти к небезопасным методам обновления файлов, когда атомные операции завершаются неудачно (хотя он не принуждает Ansible к выполнению небезопасных записей). ВАЖНО! Небезопасные записи подвержены гонкам и могут привести к повреждению данных. |
| validate строка добавлено в 2.0 of ansible.builtin | Команда проверки, которая должна быть выполнена перед копированием. Путь к файлу для проверки передаётся через '%s', который должен присутствовать, как в примере sshd ниже. Команда передаётся безопасно, поэтому такие функции оболочки, как расширение и конвейеры, не будут работать. |
См. также
См. также
- ansible.builtin.copy
-
Официальная документация модуля ansible.builtin.copy.
- ansible.builtin.template
-
Официальная документация модуля ansible.builtin.template.
- ansible.windows.win_copy
-
Официальная документация модуля ansible.windows.win_copy.
Примеры
- name: Assemble from fragments from a directory
ansible.builtin.assemble:
src: /etc/someapp/fragments
dest: /etc/someapp/someapp.conf
- name: Insert the provided delimiter between fragments
ansible.builtin.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
ansible.builtin.assemble:
src: /etc/ssh/conf.d/
dest: /etc/ssh/sshd_config
validate: /usr/sbin/sshd -t -f %s
Авторы
- 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.10/collections/ansible/builtin/assemble_module.html