ini_file — Настройка параметров в файлах INI
Обзор
- Управление (добавление, удаление, изменение) отдельных параметров в файле в стиле INI без необходимости управления файлом целиком с помощью, скажем, шаблона или составления. Добавляет отсутствующие разделы, если они не существуют.
- До версии 2.0 комментарии отбрасывались при чтении исходного файла и, следовательно, не отображались в целевом файле.
- С версии 2.3 этот модуль добавляет недостающие завершающие новые строки в файлы, чтобы соответствовать стандарту POSIX, даже если не требуется применять другие изменения.
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| attributes (добавлен в 2.3) | По умолчанию: Нет | Атрибуты файла или каталога. Для получения поддерживаемых флагов см. страницу руководства для chattr на целевой системе. Эта строка должна содержать атрибуты в том же порядке, что и в lsattr. псевдонимы: attr |
| backup |
| Создать резервную копию файла, включая информацию о времени создания, чтобы вы могли восстановить исходный файл, если вы случайно его испортили. |
| create (добавлен в 2.2) |
| Если установлено «нет», модуль завершится неудачно, если файл не существует. По умолчанию файл создается, если он отсутствует. |
| group | По умолчанию: Нет | Имя группы, которая должна владеть файлом/каталогом, как это передаётся в chown. |
| mode | По умолчанию: Нет | Режим файла или каталога. Для тех, кто привык к /usr/bin/chmod, помните, что режимы фактически являются восьмеричными числами (например, 0644 или 01777). Опускание ведущего нуля, вероятно, приведёт к непредвиденным результатам. С версии 1.8 режим может быть задан в символическом формате (например, u+rwx или u=rw,g=r,o=r). |
| no_extra_spaces (добавлен в 2.1) |
| Не вставлять пробелы перед и после символа «=» |
| option | Если установлено (требуется для изменения value), это имя параметра. Можно опустить, если добавляется/удаляется весь раздел. | |
| others | Все аргументы, принимаемые модулем file, также работают здесь | |
| owner | По умолчанию: Нет | Имя пользователя, который должен владеть файлом/каталогом, как это передаётся в chown. |
| path требуется | Путь к файлу в формате INI; этот файл создаётся при необходимости. До версии 2.3 этот параметр был доступен только как dest. псевдонимы: dest | |
| section требуется | Имя раздела в файле INI. Добавляется автоматически, когда устанавливается одно значение. Если оставлен пустым или задан как `null`, option будет размещён перед первым разделом. Использование `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 (добавлен в 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
Статус
Этот модуль помечен как предварительный, что означает, что он не гарантирует обратную совместимость.
Автор
- Ян-Пиет Менс (@jpmens)
- Алеш Носек (@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.5/modules/ini_file_module.html