Spec-Zone.ru › Ansible 2.9

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

  • Описание
  • Параметры
  • См. также
  • Примеры
  • Статус

Описание

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

Параметры

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

алиасы: attr
backup
логическое значение
    Варианты:
  • нет ←
  • да
Создать резервный файл (если yes), включая информацию о дате и времени, чтобы вы могли получить исходный файл, если вы каким-то образом его повредили.
decrypt
логическое значение
добавлен в версии 2.4
    Варианты:
  • нет
  • да ←
Этот параметр управляет автоматическим расшифрованием исходных файлов с помощью vault.
delimiter
строка
Разделитель для разделения содержимого файла.
dest
путь / обязательно
Файл для создания путём конкатенации всех исходных файлов.
group
строка
Имя группы, которая должна владеть файлом/директорией, как это подаётся команде chown.
ignore_hidden
логическое значение
    Варианты:
  • нет ←
  • да
Логическое значение, которое определяет, включать ли файлы, начинающиеся с точки '.'.
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
логическое значение
    Варианты:
  • нет ←
  • да
Влияние на использование атомарной операции для предотвращения повреждения данных или несогласованных чтений из целевого файла.
По умолчанию этот модуль использует атомарные операции для предотвращения повреждения данных или несогласованных чтений из целевых файлов, но иногда системы настроены или просто сломаны так, что это невозможно. Одним из примеров являются файлы с монтированием docker, которые не могут быть обновлены атомарно изнутри контейнера и могут быть записаны только небезопасным способом.
Этот параметр позволяет Ansible перейти к небезопасным методам обновления файлов, когда атомарные операции завершаются ошибкой (однако, он не принуждает Ansible выполнять небезопасные записи).
ВАЖНО! Небезопасные записи подвержены гонкам и могут привести к повреждению данных.
validate
строка
Команда валидации для выполнения перед копированием на место.
Путь к файлу для валидации передаётся через '%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]

Поддержка 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.9/modules/assemble_module.html

Spec-Zone.ru

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