community.general.interfaces_file – Настройка параметров в файлах /etc/network/interfaces
Примечание
Этот плагин является частью коллекции community.general (версия 2.0.1).
Для его установки используйте: ansible-galaxy collection install community.general.
Для использования в плейбуке укажите: community.general.interfaces_file.
Обзор
- Управление (добавление, удаление, изменение) отдельных параметров интерфейса в файле в стиле interfaces, без необходимости управления файлом целиком, например, с помощью модуля ansible.builtin.template или ansible.builtin.assemble. Интерфейс должен быть представлен в файле.
- Чтение информации об интерфейсах из файлов в стиле interfaces
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| address_family строка | Семейство адресов интерфейса, полезно, если одно имя интерфейса используется как для inet, так и для inet6 | |
| attributes строка добавлен в версии 2.3 ansible.builtin | Атрибуты, которые должен иметь получившийся файл или каталог. Для получения поддерживаемых флагов смотрите страницу руководства для chattr на целевой системе. Эта строка должна содержать атрибуты в том же порядке, что и при выводе lsattr. Оператор = предполагается по умолчанию, в противном случае необходимо включить операторы + или - в строку.Псевдонимы: attr | |
| backup логический тип |
| Создать резервную копию файла, включая информацию о времени создания, чтобы вы могли получить исходный файл, если вы каким-то образом его неправильно перезаписали. |
| dest путь | По умолчанию: "/etc/network/interfaces" | Путь к файлу interfaces |
| group строка | Имя группы, которая должна владеть файлом/каталогом, как это передается в chown. | |
| iface строка | Имя интерфейса, необходимое для изменения значений или удаления опций | |
| mode сырой | Разрешения, которые должен иметь получившийся файл или каталог. Для тех, кто привык к /usr/bin/chmod, помните, что режимы фактически являются восьмеричными числами. Вы должны либо добавить ведущую нуль, чтобы парсер YAML Ansible понимал, что это восьмеричное число (например, 0644 или 01777) или заключить его в кавычки (например, '644' или '1777') так, чтобы Ansible получил строку и мог выполнить собственное преобразование из строки в число.Передача Ansible числа без соблюдения одного из этих правил приведет к десятичному числу, что приведет к непредвиденным результатам. Начиная с Ansible 1.8, режим можно указать в символьной форме (например, u+rwx или u=rw,g=r,o=r).Если mode не указан, и целевой файл не существует, значение по умолчанию umask на системе будет использоваться при установке режима для вновь созданного файла.Если mode не указан, и целевой файл существует, будет использован режим существующего файла.Указание mode — лучший способ гарантировать, что файлы создаются с правильными разрешениями. См. CVE-2020-1736 для получения дополнительной информации. | |
| option строка | Имя опции, необходимое для изменения значений или удаления опции | |
| owner строка | Имя пользователя, который должен владеть файлом/каталогом, как это передается в chown. | |
| selevel строка | Часть контекста файла SELinux. Это атрибут MLS/MCS, иногда называемый range. Если установлено значение _default, будет использоваться часть политики level, если она доступна. | |
| serole строка | Часть контекста файла SELinux. Если установлено значение _default, будет использоваться часть политики role, если она доступна. | |
| setype строка | Часть контекста файла SELinux. Если установлено значение _default, будет использоваться часть политики type, если она доступна. | |
| seuser строка | Часть контекста файла SELinux. По умолчанию используется политика system, если она применима.Если установлено значение _default, будет использоваться часть политики user, если она доступна. | |
| state строка |
| Если установлено значение absent, опция или раздел будут удалены, если они присутствуют, вместо создания. |
| unsafe_writes логический тип добавлен в версии 2.2 ansible.builtin |
| Влияние на использование атомарной операции для предотвращения повреждения данных или несогласованного чтения из целевого файла. По умолчанию этот модуль использует атомарные операции для предотвращения повреждения данных или несогласованного чтения из целевых файлов, но иногда системы настроены или просто неисправны таким образом, что это невозможно. Одним примером являются файлы, смонтированные в Docker, которые не могут быть обновлены атомарно изнутри контейнера и могут быть записаны только неатомарно. Этот параметр позволяет Ansible перейти к небезопасным методам обновления файлов, когда атомарные операции завершаются неудачно (однако это не заставляет Ansible выполнять небезопасные записи). ВАЖНО! Небезопасные записи подвержены гонкам и могут привести к повреждению данных. |
| value строка | Если для option не указан интерфейс и state имеет значение present, будет добавлена опция. Если option уже существует и не является pre-up, up, post-up или down, его значение будет обновлено. Опции pre-up, up, post-up и down не могут быть обновлены, поддерживаются только добавление новых опций, удаление существующих или очистка всего набора опций. |
Примечания
Примечание
- Если опция определена несколько раз, последнее значение будет обновлено, но все значения будут удалены в случае состояния отсутствия.
Примеры
- 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–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/community/general/interfaces_file_module.html