ini_file - Настройка параметров в файлах INI
Описание
- Управление (добавление, удаление, изменение) отдельных параметров в файле в формате INI без необходимости управления файлом целиком, например, с помощью модулей template или assemble. Добавляет отсутствующие разделы, если они не существуют.
- До версии 2.0 комментарии игнорировались при чтении исходного файла и, следовательно, не отображались в целевом файле.
- Начиная с версии 2.3, этот модуль добавляет недостающие завершающие символы новой строки в файлы, чтобы соответствовать стандарту POSIX, даже когда не требуется применение других изменений.
Параметры
| Параметр | Обязательный | Значение по умолчанию | Варианты | Комментарии |
|---|---|---|---|---|
| attributes (добавлено в 2.3)
|
нет | None | Атрибуты, которые должен иметь файл или директория. Для получения поддерживаемых флагов обратитесь к странице руководства для chattr на целевой системе. Эта строка должна содержать атрибуты в том же порядке, что и в выводе lsattr.
псевдонимы: attr |
|
| backup |
нет | нет |
|
Создает резервную копию файла, включая информацию о времени создания, чтобы вы могли восстановить исходный файл в случае неверного изменения. |
| create (добавлено в 2.2)
|
нет | да |
|
Если установлено в «нет», модуль завершится ошибкой, если файл не существует. По умолчанию файл создается, если он отсутствует. |
| group |
нет | Имя группы, которая должна владеть файлом/директорией, как при использовании команды chown. |
||
| mode |
нет | Режим файла или директории. Для тех, кто привык к /usr/bin/chmod, помните, что режимы фактически являются восьмеричными числами (например, 0644). Опускание ведущего нуля может привести к непредвиденным результатам. С версии 1.8 режим может быть указан в символьной форме (например, u+rwx или u=rw,g=r,o=r). |
||
| no_extra_spaces (добавлено в 2.1)
|
нет | Не вставлять пробелы до и после символа «=» |
||
| option |
нет | Если установлено (требуется для изменения значения), это имя параметра.
Может быть опущено, если добавляется/удаляется весь раздел. |
||
| others |
нет | Все аргументы, принимаемые модулем file, также работают здесь |
||
| owner |
нет | Имя пользователя, который должен владеть файлом/директорией, как при использовании команды chown. |
||
| path |
да | Путь к файлу в формате INI; этот файл создается при необходимости.
До версии 2.3 этот параметр был доступен только как dest.
псевдонимы: dest |
||
| section |
да | Имя раздела в файле INI. Это добавляется автоматически, когда устанавливается единственное значение.
Если оставлено пустым или установлено в «null», параметр будет размещён перед первым разделом. Использование «null» также требуется, если формат конфигурации не поддерживает разделы. |
||
| selevel |
нет | s0 | Часть уровня контекста файла SELinux. Это атрибут MLS/MCS, иногда называемый range. Функция _default работает так же, как и для seuser. |
|
| serole |
нет | Часть роли контекста файла SELinux, _default функция работает так же, как и для seuser. |
||
| setype |
нет | Часть типа контекста файла SELinux, _default функция работает так же, как и для seuser. |
||
| seuser |
нет | Часть пользователя контекста файла SELinux. По умолчанию используется политика системы, если применимо. Если установлено в _default, будет использоваться часть политики user, если она доступна. |
||
| state |
нет | present |
|
Если установлено в absent, параметр или раздел будут удалены, если присутствуют, вместо создания. |
| unsafe_writes (добавлено в 2.2)
|
нет |
|
Обычно этот модуль использует атомарные операции для предотвращения повреждения данных или несогласованных чтений из целевых файлов; иногда системы настроены или работают так, что это предотвращается. Одним из примеров являются файлы, смонтированные через Docker; они не могут быть обновлены атомарно и могут быть обновлены только небезопасным способом.
Этот булевый параметр позволяет Ansible перейти к небезопасным методам обновления файлов в тех случаях, когда у вас нет другого выбора. Имейте в виду, что это подвержено проблемам гонки и может привести к повреждению данных. |
|
| value |
нет | Строковое значение, которое должно быть связано с параметром. Может быть опущено при удалении параметра. |
Примеры
# 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
Примечания
Примечание
- Хотя возможно добавить параметр без указания значения, это не имеет смысла.
- Начиная с Ansible 2.3, параметр dest изменён на path по умолчанию, но dest по-прежнему работает.
Статус
Этот модуль помечен как предварительный, что означает, что его интерфейс не гарантированно будет обратной совместимостью.
Для помощи в разработке модулей, если вас это интересует, пожалуйста, ознакомьтесь с Справочная информация по сообществу и содействие, Тестирование Ansible и Разработка модулей.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.4/ini_file_module.html