Spec-Zone.ru › Ansible 2.11

ansible.builtin.assemble – Объединение файлов конфигурации из фрагментов

Примечание

Этот модуль входит в состав ansible-base и включён во все установки Ansible. В большинстве случаев, можно использовать короткое имя модуля assemble, даже не указывая ключевое слово collections:. Несмотря на это, рекомендуется использовать полное имя класса (FQCN) для удобной ссылки на документацию модуля и для избежания конфликтов с другими коллекциями, которые могут иметь то же самое имя модуля.

Новое в версии 0.5: модуля ansible.builtin

  • Обзор
  • Параметры
  • См. также
  • Примеры

Обзор

  • Объединяет файл конфигурации из фрагментов.
  • Часто определённая программа использует единственный файл конфигурации и не поддерживает структуру типа conf.d, где легко построить конфигурацию из нескольких источников. Модуль assemble возьмёт каталог файлов, которые могут быть локальными или уже переведены на систему, и склеит их вместе, чтобы создать целевой файл.
  • Файлы объединяются в порядке сортировки строк.
  • Puppet использует этот подход под названием фрагменты.

Примечание

У этого модуля есть соответствующий плагин действия.

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
attributes
строка
добавлен в версии 2.3 ansible.builtin
Атрибуты, которые должен иметь результирующий файл или каталог.
Для получения поддерживаемых флагов см. страницу справки для chattr на целевой системе.
Эта строка должна содержать атрибуты в том же порядке, что и отображается lsattr.
Оператор = принимается по умолчанию, в противном случае операторы + или - должны быть включены в строку.

алиасы: attr
backup
булево
    Варианты:
  • нет ←
  • да
Создать резервную копию файла (если yes), включая информацию о времени создания, чтобы вы могли вернуть исходный файл, если вы каким-то образом его неправильно перезаписали.
decrypt
булево
добавлен в версии 2.4 ansible.builtin
    Варианты:
  • нет
  • да ←
Этот параметр управляет автоматическим расшифрованием исходных файлов с помощью хранилища vault.
delimiter
строка
добавлен в версии 1.4 ansible.builtin
Разделитель для разделения содержимого файла.
dest
путь / обязательный
Файл, который должен быть создан путём объединения всех исходных файлов.
group
строка
Имя группы, которая должна владеть файлом/каталогом, как если бы это было передано в chown.
ignore_hidden
булево
добавлен в версии 2.0 ansible.builtin
    Варианты:
  • нет ←
  • да
Булево значение, которое управляет включением или выключением файлов, начинающихся с '.'.
mode
сырой
Права, которые должен иметь результирующий файл или каталог.
Для тех, кто знаком с /usr/bin/chmod, помните, что режимы фактически являются восьмеричными числами. Вы должны либо добавить ведущий ноль, чтобы парсер YAML Ansible знал, что это восьмеричное число (например, 0644 или 01777), или заключить его в кавычки (например, '644' или '1777'), чтобы Ansible получил строку и выполнил собственное преобразование из строки в число.
Если вы передадите Ansible число без одного из этих правил, это будет десятичное число, что приведёт к неожиданным результатам.
Начиная с Ansible 1.8, режим может быть указан в символической форме (например, u+rwx или u=rw,g=r,o=r).
Если mode не указан и целевой файл не существует, по умолчанию будет использоваться umask на системе при установке режима для только что созданного файла.
Если mode не указан и целевой файл существует, будет использован режим существующего файла.
Указание mode — лучший способ гарантировать, что файлы создаются с правильными правами. См. CVE-2020-1736 для получения дополнительных подробностей.
owner
строка
Имя пользователя, который должен владеть файлом/каталогом, как если бы это было передано в chown.
regexp
строка
Объединять файлы только если regex соответствует имени файла.
Если не указано, объединяются все файлы.
Каждый символ "\" (обратный слэш) должен быть экранирован как "\\", чтобы соответствовать синтаксису YAML.
Используются Python регулярные выражения.
remote_src
булево
добавлен в версии 1.4 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 ansible.builtin
    Варианты:
  • нет ←
  • да
Влияет на использование атомарных операций для предотвращения повреждения данных или несогласованного чтения из целевого файла.
По умолчанию этот модуль использует атомарные операции для предотвращения повреждения данных или несогласованного чтения из целевых файлов, но иногда системы настроены или просто неисправны таким образом, что это невозможно. Один из примеров — файлы с монтированием Docker, которые не могут быть обновлены атомарно изнутри контейнера и могут быть записаны только небезопасным способом.
Этот параметр позволяет Ansible переходить к небезопасным методам обновления файлов, когда атомарные операции терпят неудачу (однако он не заставляет Ansible выполнять небезопасные записи).
ВАЖНО! Небезопасные записи подвержены проблемам гонок и могут привести к повреждению данных.
validate
строка
добавлен в версии 2.0 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–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/ansible/builtin/assemble_module.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API