Spec-Zone.ru › Ansible 2.8

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

Spec-Zone.ru

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