interfaces_file – Настройки параметров в файлах /etc/network/interfaces
Новое в версии 2.4.
Описание
- Управление (добавление, удаление, изменение) отдельных параметров интерфейса в файле в стиле interfaces, без необходимости управления всем файлом целиком с помощью, скажем, шаблона или сборка. Интерфейс должен быть представлен в файле.
- Чтение информации об интерфейсах из файлов в стиле interfaces
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| attributes - добавлен в 2.3 | Атрибуты файла или каталога. Для получения поддерживаемых флагов обратитесь к справке по chattr на целевой системе. Эта строка должна содержать атрибуты в том же порядке, что и в выводе lsattr. = оператор предполагается по умолчанию, в противном случае + или - операторы необходимо включить в строку.псевдонимы: attr | |
| backup boolean |
| Создать резервную копию файла, включая информацию о времени, чтобы вернуть исходный файл, если он был неправильно изменен. |
| dest - | Значение по умолчанию: "/etc/network/interfaces" | Путь к файлу interfaces |
| group - | Имя группы, которая должна владеть файлом/каталогом, как если бы это передавалось в chown. | |
| iface - | Имя интерфейса, необходимое для изменения значений или удаления параметра | |
| mode - | Режим файла или каталога. Для тех, кто привык к /usr/bin/chmod, помните, что режимы на самом деле являются восьмеричными числами. Вы должны либо добавить ведущую ноль, чтобы парсер YAML Ansible знал, что это восьмеричное число (например, 0644 или 01777) либо заключить его в кавычки (например, '644' или '1777'), чтобы Ansible получил строку и смог самостоятельно преобразовать строку в число. Передача Ansible числа без соблюдения одного из этих правил приведет к десятичному числу, что даст неожиданные результаты. С версии 1.8 режим может быть указан в символьной форме (например, u+rwx или u=rw,g=r,o=r). | |
| option - | Имя параметра, необходимое для изменения значений или удаления параметра | |
| owner - | Имя пользователя, который должен владеть файлом/каталогом, как если бы это передавалось в chown. | |
| selevel - | Значение по умолчанию: "s0" | Уровень части контекста файла SELinux. Это атрибут MLS/MCS, иногда известный как range. _default функция работает, как и для seuser. |
| serole - | Часть роли контекста файла SELinux, _default функция работает, как и для seuser. | |
| setype - | Часть типа контекста файла SELinux, _default функция работает, как и для seuser. | |
| seuser - | Часть пользователя контекста файла SELinux. По умолчанию используется политика системы, если применимо. Если установлено значение _default, используется часть user политики, если она доступна. | |
| state - |
| Если установлено значение absent, параметр или раздел будут удалены, если они присутствуют, вместо создания. |
| unsafe_writes boolean добавлен в 2.2 |
| По умолчанию этот модуль использует атомарные операции для предотвращения повреждения данных или несогласованного чтения из целевых файлов, но иногда системы настроены или просто работают неправильно, что мешает этому. Одним из примеров являются файлы, смонтированные docker, которые не могут быть обновлены атомарно изнутри контейнера и могут быть записаны только небезопасным образом. Этот параметр позволяет Ansible перейти к небезопасным методам обновления файлов, когда атомарные операции завершаются неудачно (однако он не принуждает Ansible выполнять небезопасные записи). ВАЖНО! Небезопасные записи подвержены проблемам гонок и могут привести к повреждению данных. |
| value - | Если параметр option не задан для интерфейса, и state равен present, параметр будет добавлен. Если option уже существует и не является pre-up, up, post-up или down, его значение будет обновлено. pre-up, up, post-up и down параметры не могут быть обновлены, поддерживается только добавление новых параметров, удаление существующих или очистка всего набора параметров. |
Примечания
Примечание
- Если параметр определен несколько раз, последнее значение будет обновлено, но все будут удалены в случае отсутствия состояния
Примеры
# Set eth1 mtu configuration value to 8000
- 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'] | |||
Статус
- Данный модуль гарантированно не будет содержать обратной совместимости при будущих изменениях. [stableinterface]
- Этот модуль поддерживается сообществом Ansible. [community]
Авторы
- Роман Беляковский (@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.7/modules/interfaces_file_module.html