ini_file — Настройка параметров в файлах INI
Обзор
- Управление (добавление, удаление, изменение) отдельных настроек в файле в формате INI, без необходимости управления файлом целиком, например, с помощью модуля template или assemble. Добавляет отсутствующие секции, если они не существуют.
- До версии 2.0 комментарии игнорируются при чтении исходного файла и, следовательно, не отображаются в целевом файле.
- С версии 2.3 этот модуль добавляет недостающие завершающие символы новой строки в файлы, чтобы соответствовать стандарту POSIX, даже если не требуется применять другие изменения.
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| allow_no_value bool (добавлен в 2.6) |
|
Разрешить опцию без значения и без символа '=' |
| attributes (добавлен в 2.3) |
Атрибуты, которые должен иметь файл или каталог. Чтобы узнать поддерживаемые флаги, обратитесь к руководству пользователя для команды chattr на целевой системе. Эта строка должна содержать атрибуты в том же порядке, что и в выводе команды lsattr.
псевдонимы: attr |
|
| backup bool |
|
Создать резервную копию файла, включая информацию о времени создания, чтобы вы могли восстановить исходный файл, если вы ошибочно его перезаписали. |
| create bool (добавлен в 2.2) |
|
Если установлено значение 'нет', модуль завершится ошибкой, если файл еще не существует. По умолчанию, он будет создавать файл, если он отсутствует. |
| group | Имя группы, которая должна владеть файлом/каталогом, как если бы она была передана в команду chown. | |
| mode | Режим файла или каталога. Для тех, кто знаком с командой /usr/bin/chmod, помните, что режимы фактически являются восьмеричными числами. Вы должны указать ведущую нуль, чтобы парсер YAML Ansible понял, что это восьмеричное число (например, 0644, 01777) или заключить его в кавычки (например, '644', '0644') для того, чтобы Ansible получил строку и мог преобразовать ее в число. Передача Ansible чисел без соблюдения этих правил приведет к десятичным числам, что может привести к неожиданным результатам. С версии 1.8, режим может быть указан в символической форме (например, u+rwx, u=rw,g=r,o=r). |
|
| no_extra_spaces bool (добавлен в 2.1) |
|
Не вставлять пробелы до и после символа '=' |
| option | Если установлено (требуется для изменения значения), это имя опции. Может быть опущено при добавлении/удалении всей секции. | |
| others | Все аргументы, принятые модулем file, также работают здесь. | |
| owner | Имя пользователя, который должен владеть файлом/каталогом, как если бы оно было передано в команду chown. | |
| path требуется |
Путь к INI-файлу; этот файл создается при необходимости.
До версии 2.3 этот параметр использовался только как dest.
псевдонимы: dest |
|
| section требуется |
Имя секции в файле INI. Это добавляется автоматически, если state=present, когда устанавливается единственное значение.
Если оставлено пустым или установлено как `null`, option будет помещен перед первой section. Использование `null` также требуется, если формат конфигурации не поддерживает секции. |
|
| selevel | По умолчанию: "s0" |
Часть контекста SELinux файла. Это атрибут MLS/MCS, иногда называемый range. Функция _default работает так же, как и для seuser. |
| serole | Часть контекста SELinux файла, функция _default работает так же, как и для seuser. |
|
| setype | Часть контекста SELinux файла, функция _default работает так же, как и для seuser. |
|
| seuser | Часть контекста SELinux файла. Будет использовать политику системы, если применимо. Если установлено значение _default, будет использована часть политики user, если она доступна. |
|
| state |
|
Если установлено значение absent, опция или секция будут удалены, если присутствуют, вместо того, чтобы быть созданными. |
| unsafe_writes bool (добавлен в 2.2) |
|
В обычном режиме этот модуль использует атомарные операции, чтобы предотвратить повреждение данных или несогласованные чтения из целевых файлов. Иногда системы настроены или просто работают таким образом, что это не позволяет делать. Одним из примеров являются файлы, монтированные через Docker; они не могут быть обновлены атомарно и могут обновляться только небезопасными методами. Этот булевый параметр позволяет Ansible перейти к небезопасным методам обновления файлов в тех случаях, когда у вас нет другого выбора. Имейте в виду, что это может привести к проблемам конкурентного доступа и привести к повреждению данных. |
| value | Строковое значение, которое должно быть связано с опцией. Может быть опущено при удалении опции. |
Примечания
Примечание
- Хотя можно добавить опцию без указания значения, это не имеет смысла.
- С Ansible 2.3, параметр dest изменен на path по умолчанию, но dest все еще работает.
Примеры
# Before 2.3, option 'dest' was used instead of 'path'
- name: Ensure "fav=lemonade is in section "[drinks]" in specified file
ini_file:
path: /etc/conf
section: drinks
option: fav
value: lemonade
mode: 0600
backup: yes
- ini_file:
path: /etc/anotherconf
section: drinks
option: temperature
value: cold
backup: yes
Статус
Этот модуль помечен как preview, что означает, что он не гарантирует обратную совместимость.
Техническое обслуживание
Этот модуль помечен как community, что означает, что он поддерживается сообществом Ansible. Подробнее см. Поддержка и обслуживание модулей.
Список других модулей, поддерживаемых сообществом Ansible, см. здесь.
Автор
- Jan-Piet Mens (@jpmens)
- Ales Nosek (@noseka1)
Подсказка
Если вы обнаружите какие-либо проблемы в этом руководстве, вы можете отредактировать этот документ, чтобы улучшить его.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.6/modules/ini_file_module.html