Модуль community.general.ini_file – Настройка параметров в файлах INI
Примечание
Этот модуль является частью коллекции community.general (версия 9.5.0).
У вас, возможно, уже установлена эта коллекция, если вы используете пакет 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 строка | Атрибуты, которые должен иметь получившийся объект файловой системы. Чтобы получить поддерживаемые флаги, см. страницу руководства для chattr на целевой системе. Эта строка должна содержать атрибуты в том же порядке, что и в выводе lsattr. Оператор |
backup boolean | Создать резервную копию файла, включая информацию о времени создания, чтобы вы могли восстановить исходный файл, если его неправильно перезаписали. Варианты:
|
create boolean | Если установлено значение По умолчанию он создаст файл, если его нет. Варианты:
|
exclusive boolean добавлено в community.general 3.6.0 | Если установлено значение Если установлено значение Варианты:
|
follow boolean добавлено в community.general 7.1.0 | Этот флаг указывает, что ссылки файловой системы, если они существуют, должны быть пройдены.
Варианты:
|
group строка | Имя группы, которой должен принадлежать объект файловой системы, как и в команде chown. Если не указано, используется текущая группа текущего пользователя, за исключением случаев, когда вы являетесь root, в этом случае сохраняется предыдущее владение. |
ignore_spaces boolean добавлено в community.general 7.5.0 | Не изменять строку, если это добавит или удалит пробелы до или после символа Варианты:
|
mode любой | Права доступа, которые должен иметь получившийся объект файловой системы. Для тех, кто привык к /usr/bin/chmod, помните, что режимы фактически являются восьмеричными числами. Вы должны предоставить Ansible достаточно информации, чтобы правильно их разобрать. Для согласованных результатов используйте восьмеричные числа в кавычках (например, Передача Ansible числа без соблюдения этих правил приведёт к десятичному числу, что приведёт к неожиданным результатам. Начиная с Ansible 1.8, режим может быть указан в символическом виде (например, Если Если Указание |
modify_inactive_option boolean добавлено в community.general 8.0.0 | По умолчанию модуль заменяет комментированную строку, которая соответствует заданному параметру. Установите этот параметр в Варианты:
|
no_extra_spaces boolean | Не вставлять пробелы до и после символа ‘=’. Варианты:
|
option строка | |
owner строка | Имя пользователя, которому должен принадлежать объект файловой системы, как и в команде chown. Если не указано, используется текущий пользователь, за исключением случаев, когда вы являетесь root, в этом случае сохраняется предыдущее владение. Указание числового имени пользователя будет интерпретироваться как идентификатор пользователя, а не имя пользователя. Избегайте числовых имён пользователей, чтобы избежать этой путаницы. |
path aliases: dest путь / обязательно | Путь к файлу в стиле INI; этот файл создается при необходимости. |
раздел строка | Имя раздела в файле INI. Это добавляется, если Если опущено, Опущение |
section_has_values список / элементы=словарь добавлен в community.general 8.6.0 | Среди возможных нескольких разделов с одинаковым именем, выбирается первый, содержащий соответствующие опции и значения. С помощью С помощью |
|
option строка / обязательно |
Соответствующий |
|
value строка |
Соответствующий |
|
values список / элементы=строка |
Строковое значение, которое должно быть связано с Взаимоисключающее с
|
selevel строка | Часть уровня SELinux контекста объекта файловой системы. Это атрибут MLS/MCS, иногда известный как При установке в |
serole строка | Часть роли контекста объекта файловой системы SELinux. При установке в |
setype строка | Часть типа контекста объекта файловой системы SELinux. При установке в |
seuser строка | Часть пользователя контекста объекта файловой системы SELinux. По умолчанию используется политика При установке в |
state строка | Если установлено Если установлено Если установлено Если установлено Варианты:
|
unsafe_writes логическое | Влияет на использование атомарной операции для предотвращения повреждения данных или несогласованного чтения из целевого объекта файловой системы. По умолчанию этот модуль использует атомарные операции для предотвращения повреждения данных или несогласованного чтения из целевых объектов файловой системы, но иногда системы настроены или просто сломаны таким образом, что это невозможно. Одним примером являются контейнеры docker, которые не могут быть обновлены атомарно изнутри контейнера и могут быть записаны только небезопасным способом. Эта опция позволяет Ansible переключаться на небезопасные методы обновления объектов файловой системы, когда атомарные операции завершаются неудачно (однако она не заставляет Ansible выполнять небезопасные записи). ВАЖНО! Небезопасные записи подвержены гонкам и могут привести к повреждению данных. Варианты:
|
value строка | Строковое значение, которое должно быть связано с Можно опустить при удалении Взаимоисключающее с
|
values список / элементы=строка добавлен в community.general 3.6.0 | Строковое значение, которое должно быть связано с Можно опустить при удалении Взаимоисключающее с
|
Атрибуты
Атрибут | Поддержка | Описание |
|---|---|---|
check_mode | Поддержка: полная | Может работать в |
diff_mode | Поддержка: полная | Вернет подробности о том, что изменилось (или, возможно, должно измениться в |
Примечания
Примеры
- 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–2024 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/community/general/ini_file_module.html