community.general.interfaces_file – Настройка параметров в файлах /etc/network/interfaces
Примечание
Этот плагин входит в состав коллекции community.general (версия 1.3.2).
Для его установки используйте: ansible-galaxy collection install community.general.
Для использования в книге задач укажите: community.general.interfaces_file.
Обзор
- Управление (добавление, удаление, изменение) отдельных параметров интерфейса в файле в стиле интерфейсов без необходимости управления файлом целиком с помощью, скажем, ansible.builtin.template или ansible.builtin.assemble. Интерфейс должен быть представлен в файле.
- Чтение информации об интерфейсах из файлов в стиле интерфейсов
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| address_family string | Семейство адресов интерфейса, полезно, если одно и то же имя интерфейса используется для inet и inet6 | |
| attributes string добавлен в 2.3 ansible.builtin | Атрибуты, которые должен иметь результирующий файл или каталог. Для получения поддерживаемых флагов обратитесь к странице справки для chattr на целевой системе. Эта строка должна содержать атрибуты в том же порядке, что и в отображаемом lsattr. Оператор = предполагается по умолчанию, в противном случае необходимо включить операторы + или - в строку.Псевдонимы: attr | |
| backup boolean |
| Создать резервную копию файла, включая информацию о дате и времени, чтобы можно было получить исходный файл, если вы каким-то образом повредили его. |
| dest путь | По умолчанию: "/etc/network/interfaces" | Путь к файлу интерфейсов |
| group string | Имя группы, которая должна владеть файлом/каталогом, как и при использовании chown. | |
| iface string | Имя интерфейса, необходимое для изменения значений или удаления параметров. | |
| mode сырой | Разрешения, которые должен иметь результирующий файл или каталог. Для тех, кто привык к /usr/bin/chmod, помните, что режимы фактически являются восьмеричными числами. Вы должны либо добавить ведущую ноль, чтобы интерпретатор YAML Ansible понимал, что это восьмеричное число (например, 0644 или 01777), либо заключить его в кавычки (например, '644' или '1777'), чтобы Ansible получил строку и смог выполнить преобразование из строки в число.Если вы передадите Ansible число без соблюдения одного из этих правил, оно будет интерпретировано как десятичное число, что приведёт к неожиданным результатам. Начиная с Ansible 1.8, режим может быть указан в символической форме (например, u+rwx или u=rw,g=r,o=r). | |
| option string | Имя параметра, необходимое для изменения значений или удаления параметров | |
| owner string | Имя пользователя, который должен владеть файлом/каталогом, как и при использовании chown. | |
| selevel string | Часть контекста файла SELinux, отвечающая за уровень. Это атрибут MLS/MCS, иногда известный как range.Если установлено значение _default, будет использоваться часть политики level, если она доступна. | |
| serole string | Часть контекста файла SELinux, отвечающая за роль. Если установлено значение _default, будет использоваться часть политики role, если она доступна. | |
| setype string | Часть контекста файла SELinux, отвечающая за тип. Если установлено значение _default, будет использоваться часть политики type, если она доступна. | |
| seuser string | Часть контекста файла SELinux, отвечающая за пользователя. По умолчанию используется политика system, где это возможно.Если установлено значение _default, будет использоваться часть политики user, если она доступна. | |
| state string |
| Если установлено значение absent, параметр или раздел будут удалены, если они присутствуют, вместо того, чтобы быть созданными. |
| unsafe_writes boolean добавлен в 2.2 ansible.builtin |
| Влияет на использование атомарной операции для предотвращения повреждения данных или несогласованных чтений из целевого файла. По умолчанию этот модуль использует атомарные операции для предотвращения повреждения данных или несогласованных чтений из целевых файлов, но иногда системы настроены или просто неисправны таким образом, что это не возможно. Одним из примеров являются файлы, смонтированные через Docker, которые не могут быть обновлены атомарно изнутри контейнера и могут быть записаны только небезопасным способом. Этот параметр позволяет Ansible перейти к небезопасным методам обновления файлов, когда атомарные операции завершаются неудачей (хотя он не заставляет Ansible выполнять небезопасные записи). ВАЖНО! Небезопасные записи подвержены проблемам гонок и могут привести к повреждению данных. |
| value string | Если для option не указано значение для interface, а state имеет значение present, параметр будет добавлен. Если option уже существует и не имеет значение pre-up, up, post-up или down, его значение будет обновлено. pre-up, up, post-up и down параметры не могут быть обновлены, поддерживается только добавление новых параметров, удаление существующих или очистка всего набора параметров. |
Примечания
Примечание
- Если параметр определён несколько раз, последнее значение будет обновлено, но все значения будут удалены в случае состояния absent
Примеры
- name: Set eth1 mtu configuration value to 8000
community.general.interfaces_file:
dest: /etc/network/interfaces.d/eth1.cfg
iface: eth1
option: mtu
value: 8000
backup: yes
state: present
register: eth1_cfg
Возвращаемые значения
Общие возвращаемые значения описаны здесь, следующие поля уникальны для этого модуля:
| Ключ | Возвращаемое значение | Описание | |||
|---|---|---|---|---|---|
| dest строка | успех | путь/файл назначения Пример: /etc/network/interfaces | |||
| ifaces сложный тип | успех | словарь интерфейсов | |||
| ifaces словарь | успех | словарь интерфейсов | |||
| eth0 словарь | успех | Имя интерфейса | |||
| address_family строка | успех | Семейство адресов интерфейса Пример: inet | |||
| down список / элементы=строка | успех | список скриптов downПример: ['route del -net 10.10.10.0/24 gw 10.10.10.1 dev eth1', 'route del -net 10.10.11.0/24 gw 10.10.11.1 dev eth2'] | |||
| method строка | успех | Метод интерфейса Пример: manual | |||
| mtu строка | успех | другие параметры, все значения возвращаются в виде строк Пример: 1500 | |||
| post-up список / элементы=строка | успех | список скриптов post-upПример: ['route add -net 10.10.10.0/24 gw 10.10.10.1 dev eth1', 'route add -net 10.10.11.0/24 gw 10.10.11.1 dev eth2'] | |||
| pre-up список / элементы=строка | успех | список скриптов pre-upПример: ['route add -net 10.10.10.0/24 gw 10.10.10.1 dev eth1', 'route add -net 10.10.11.0/24 gw 10.10.11.1 dev eth2'] | |||
| up список / элементы=строка | успех | список скриптов upПример: ['route add -net 10.10.10.0/24 gw 10.10.10.1 dev eth1', 'route add -net 10.10.11.0/24 gw 10.10.11.1 dev eth2'] | |||
Авторы
- Роман Беляковский (@hryamzik)
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.10/collections/community/general/interfaces_file_module.html