Модуль community.general.ini_file — настройка параметров в INI-файлах
Примечание
Этот модуль входит в коллекцию community.general (версия 12.6.1).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.
Чтобы установить её, используйте: ansible-galaxy collection install community.general.
Чтобы использовать её в плейбуке, укажите: community.general.ini_file.
Краткое описание
- Управляет отдельными параметрами в файле в формате INI (добавляет, удаляет и изменяет их), избавляя от необходимости управлять файлом целиком с помощью, например, ansible.builtin.template или ansible.builtin.assemble.
- Добавляет отсутствующие разделы, если они не существуют.
- Этот модуль добавляет в файлы отсутствующие завершающие символы новой строки в соответствии со стандартом POSIX, даже если других изменений не требуется.
Параметры
Параметр | Комментарии |
|---|---|
allow_no_value boolean | Разрешить параметр без значения и без символа «=». Варианты:
|
attributes псевдонимы: attr string | Атрибуты, которые должен иметь результирующий объект файловой системы. Список поддерживаемых флагов см. на странице руководства для Эта строка должна содержать атрибуты в том же порядке, в каком они отображаются командой По умолчанию предполагается оператор |
backup boolean | Создать резервную копию файла с информацией о временной метке, чтобы можно было восстановить исходный файл, если он был случайно перезаписан некорректным образом. Варианты:
|
create boolean | Если задано значение По умолчанию модуль создаёт файл, если он отсутствует. Варианты:
|
exclusive boolean добавлено в community.general 3.6.0 | Если задано значение Если задано значение Варианты:
|
follow boolean добавлено в community.general 7.1.0 | Этот флаг указывает, следует ли переходить по существующим ссылкам файловой системы.
Варианты:
|
group string | Имя группы, которой должен принадлежать объект файловой системы; это значение передаётся команде Если параметр не указан, используется текущая группа текущего пользователя, а если вы работаете от имени root — может быть сохранено прежнее владение. |
ignore_spaces boolean добавлено в community.general 7.5.0 | Не изменять строку, если изменение заключается только в добавлении или удалении пробелов до или после символа Варианты:
|
mode any | Права доступа, которые должен иметь результирующий объект файловой системы. Если вы привыкли к Если передать Ansible число, не соблюдая ни одно из этих правил, оно будет интерпретировано как десятичное, что приведёт к неожиданным результатам. Начиная с Ansible 1.8, режим можно задавать в символьном формате (например, Если Если Указание |
modify_inactive_option boolean добавлено в community.general 8.0.0 | По умолчанию модуль заменяет закомментированную строку, соответствующую заданному параметру. Задайте для этого параметра значение Варианты:
|
no_extra_spaces boolean | Не вставлять пробелы до и после символа «=». Варианты:
|
option string | |
owner string | Имя пользователя, которому должен принадлежать объект файловой системы; это значение передаётся команде Если параметр не указан, используется текущий пользователь, а если вы работаете от имени root — может быть сохранено прежнее владение. Числовое имя пользователя будет интерпретировано как идентификатор пользователя, а не как имя. Во избежание путаницы не используйте числовые имена пользователей. |
path псевдонимы: dest path / обязательно | Путь к файлу в формате INI; при необходимости файл создаётся. |
section string | Имя раздела в INI-файле. Оно добавляется автоматически, если Если параметр не указан, Также необходимо не указывать |
section_has_values list / элементы=dictionary добавлено в community.general 8.6.0 | Если имеется несколько разделов с одинаковым именем, выбрать первый, содержащий соответствующие параметры и значения. При значении При значении |
|
option string / обязательно |
Соответствующий |
|
value string |
Соответствующий |
|
values list / элементы=string |
Строковое значение, связываемое с Взаимоисключающий параметр по отношению к
|
selevel string | Часть уровня контекста объекта файловой системы SELinux. Это атрибут MLS/MCS, иногда называемый Если задано значение |
serole string | Часть роли контекста объекта файловой системы SELinux. Если задано значение |
setype string | Часть типа контекста объекта файловой системы SELinux. Если задано значение |
seuser string | Часть пользователя контекста объекта файловой системы SELinux. По умолчанию используется политика Если задано значение |
state string | Если задано значение Если задано значение Если задано значение Если задано значение Варианты:
|
unsafe_writes boolean | Определяет, когда использовать атомарную операцию, чтобы предотвратить повреждение данных или несогласованное чтение целевого объекта файловой системы. По умолчанию этот модуль использует атомарные операции для предотвращения повреждения данных или несогласованного чтения целевых объектов файловой системы, однако иногда настройки систем или их неисправности делают это невозможным. Например, смонтированные в Docker объекты файловой системы нельзя атомарно обновить из контейнера, и их можно записывать только небезопасным способом. Этот параметр позволяет Ansible при сбое атомарных операций прибегнуть к небезопасным способам обновления объектов файловой системы (однако он не заставляет Ansible выполнять небезопасную запись). ВАЖНО! Небезопасная запись подвержена гонкам и может привести к повреждению данных. Варианты:
|
value string | Строковое значение, связываемое с Можно не указывать при удалении Взаимоисключающий параметр по отношению к
|
values list / элементы=string добавлено в community.general 3.6.0 | Строковое значение, связываемое с Можно не указывать при удалении Взаимоисключающий параметр по отношению к
|
Атрибуты
Атрибут | Поддержка | Описание |
|---|---|---|
check_mode | Поддержка: полная | Модуль может работать в режиме |
diff_mode | Поддержка: полная | В режиме сравнения возвращает сведения об изменениях (или о том, какие изменения могут потребоваться в |
Примечания
См. также
См. также
- ansible.builtin.ini — плагин поиска
-
Читает данные из INI-файла.
- community.general.from_ini — плагин фильтра
-
Преобразует текст в формате INI в словарь.
- community.general.to_ini — плагин фильтра
-
Преобразует словарь в формат INI-файла.
Примеры
- name: Ensure "fav=lemonade is in section "[drinks]" in specified file
community.general.ini_file:
path: /etc/conf
section: drinks
option: fav
value: lemonade
mode: '0600'
backup: true
- name: Ensure "temperature=cold is in section "[drinks]" in specified file
community.general.ini_file:
path: /etc/anotherconf
section: drinks
option: temperature
value: cold
backup: true
- name: Add "beverage=lemon juice" is in section "[drinks]" in specified file
community.general.ini_file:
path: /etc/conf
section: drinks
option: beverage
value: lemon juice
mode: '0600'
state: present
exclusive: false
- name: Ensure multiple values "beverage=coke" and "beverage=pepsi" are in section "[drinks]" in specified file
community.general.ini_file:
path: /etc/conf
section: drinks
option: beverage
values:
- coke
- pepsi
mode: '0600'
state: present
- name: Add "beverage=lemon juice" outside a section in specified file
community.general.ini_file:
path: /etc/conf
option: beverage
value: lemon juice
state: present
- name: Remove the peer configuration for 10.128.0.11/32
community.general.ini_file:
path: /etc/wireguard/wg0.conf
section: Peer
section_has_values:
- option: AllowedIps
value: 10.128.0.11/32
mode: '0600'
state: absent
- name: Add "beverage=lemon juice" outside a section in specified file
community.general.ini_file:
path: /etc/conf
option: beverage
value: lemon juice
state: present
- name: Update the public key for peer 10.128.0.12/32
community.general.ini_file:
path: /etc/wireguard/wg0.conf
section: Peer
section_has_values:
- option: AllowedIps
value: 10.128.0.12/32
option: PublicKey
value: xxxxxxxxxxxxxxxxxxxx
mode: '0600'
state: present
- name: Remove the peer configuration for 10.128.0.11/32
community.general.ini_file:
path: /etc/wireguard/wg0.conf
section: Peer
section_has_values:
- option: AllowedIps
value: 10.4.0.11/32
mode: '0600'
state: absent
- name: Update the public key for peer 10.128.0.12/32
community.general.ini_file:
path: /etc/wireguard/wg0.conf
section: Peer
section_has_values:
- option: AllowedIps
value: 10.4.0.12/32
option: PublicKey
value: xxxxxxxxxxxxxxxxxxxx
mode: '0600'
state: present
Ссылки на коллекцию
© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/collections/community/general/ini_file_module.html