Spec-Zone.ru › Ansible

Модуль community.general.interfaces_file — изменение настроек в файлах /etc/network/interfaces

Примечание

Этот модуль входит в коллекцию community.general (версия 12.6.1).

Эта коллекция уже может быть установлена, если вы используете пакет ansible. Она не входит в состав ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.

Для установки используйте: ansible-galaxy collection install community.general.

Чтобы использовать её в плейбуке, укажите: community.general.interfaces_file.

  • Краткое описание
  • Параметры
  • Атрибуты
  • Примечания
  • Примеры
  • Возвращаемые значения

Краткое описание

  • Управление отдельными параметрами интерфейса (добавление, удаление, изменение) в файле формата interfaces без необходимости управлять файлом целиком с помощью, например, ansible.builtin.template или ansible.builtin.assemble. Интерфейс должен быть представлен в файле.
  • Чтение информации об интерфейсах из файлов формата interfaces.

Параметры

Параметр

Комментарии

address_family

string

Семейство адресов интерфейса. Полезно, если одно и то же имя интерфейса используется как для inet, так и для inet6.

attributes

псевдонимы: attr

string

Атрибуты, которые должен иметь результирующий объект файловой системы.

Список поддерживаемых флагов см. на странице руководства для chattr в целевой системе.

Эта строка должна содержать атрибуты в том же порядке, в котором они отображаются командой lsattr.

По умолчанию предполагается оператор =, в противном случае в строку необходимо включить операторы + или -.

backup

boolean

Создать резервную копию файла с отметкой времени, чтобы можно было восстановить исходный файл, если он был случайно повреждён.

Варианты:

  • false ← (по умолчанию)
  • true

dest

path

Путь к файлу interfaces.

По умолчанию: "/etc/network/interfaces"

group

string

Имя группы, которой должен принадлежать объект файловой системы, как если бы оно передавалось команде chown.

Если значение не указано, используется текущая группа текущего пользователя; если же вы работаете от имени root, можно сохранить прежнего владельца.

iface

string

Имя интерфейса. Обязательно для изменения значения или удаления параметра.

mode

any

Права доступа, которые должен иметь результирующий объект файловой системы.

Тем, кто привык к /usr/bin/chmod, следует помнить, что режимы доступа на самом деле являются восьмеричными числами. Ansible необходимо предоставить достаточно информации, чтобы правильно их разобрать. Для получения согласованных результатов заключайте восьмеричные числа в кавычки (например, '644' или '1777'), чтобы Ansible получил строку и самостоятельно преобразовал её в число. Иногда помогает добавление начального нуля (например, 0755), но в циклах и некоторых других случаях это может не сработать.

Если передать Ansible число, не соблюдая ни одно из этих правил, оно будет интерпретировано как десятичное, что приведёт к неожиданным результатам.

Начиная с Ansible 1.8, режим можно указывать в символической форме (например, u+rwx или u=rw,g=r,o=r).

Если параметр mode не указан, а целевой объект файловой системы не существует, при установке режима для вновь созданного объекта будет использоваться значение umask по умолчанию в системе.

Если параметр mode не указан, а целевой объект файловой системы существует, будет использоваться режим существующего объекта файловой системы.

Указание mode — лучший способ гарантировать, что объекты файловой системы будут созданы с правильными правами доступа. Дополнительные сведения см. в CVE-2020-1736.

option

string

Имя параметра. Обязательно для изменения значения или удаления параметра.

owner

string

Имя пользователя, которому должен принадлежать объект файловой системы, как если бы оно передавалось команде chown.

Если значение не указано, используется текущий пользователь; если же вы работаете от имени root, можно сохранить прежнего владельца.

Числовое имя пользователя будет считаться идентификатором пользователя, а не именем. Во избежание неоднозначности не используйте числовые имена пользователей.

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, существующий параметр или раздел будет удалён, а не создан.

Варианты:

  • "present" ← (по умолчанию)
  • "absent"

unsafe_writes

boolean

Определяет, когда использовать атомарную операцию для предотвращения повреждения данных или несогласованного чтения целевого объекта файловой системы.

По умолчанию этот модуль использует атомарные операции для предотвращения повреждения данных или несогласованного чтения целевых объектов файловой системы, однако иногда конфигурация систем или их неисправность этому препятствуют. Например, смонтированные в Docker объекты файловой системы нельзя атомарно обновить изнутри контейнера, поэтому запись в них возможна только небезопасным способом.

Этот параметр позволяет Ansible при сбое атомарных операций использовать небезопасные способы обновления объектов файловой системы (однако он не заставляет Ansible выполнять небезопасную запись).

ВАЖНО! При небезопасной записи возможны состояния гонки, которые могут привести к повреждению данных.

Варианты:

  • false ← (по умолчанию)
  • true

value

string

Если для iface не задан параметр option, а state имеет значение present, добавляется option. Если option уже существует и имеет значение, отличное от pre-up, up, post-up или down, его значение обновляется. Параметры pre-up, up, post-up и down нельзя обновить; поддерживается только добавление новых параметров, удаление существующих или очистка всего набора параметров.

Атрибуты

Атрибут

Поддержка

Описание

check_mode

Поддержка: полная

Может работать в режиме check_mode и возвращать прогноз изменения состояния, не изменяя целевой объект.

diff_mode

Поддержка: отсутствует

В режиме diff возвращает сведения об изменениях (или о возможных изменениях в check_mode).

Примечания

Примечание

  • Если параметр определён несколько раз, обновляется его последнее вхождение, а все остальные удаляются в случае state=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: true
    state: present
  register: eth1_cfg

Возвращаемые значения

Общие возвращаемые значения описаны здесь; ниже перечислены поля, уникальные для этого модуля:

Ключ

Описание

dest

string

Целевой файл/путь.

Возвращается: при успехе

Пример: "/etc/network/interfaces"

ifaces

dictionary

Словарь интерфейсов.

Возвращается: при успехе

ifaces

dictionary

Словарь интерфейсов.

Возвращается: при успехе

eth0

dictionary

Имя интерфейса.

Возвращается: при успехе

address_family

string

Семейство адресов интерфейса.

Возвращается: при успехе

Пример: "inet"

down

list / элементы=string

Список скриптов 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

string

Метод интерфейса.

Возвращается: при успехе

Пример: "manual"

mtu

string

Другие параметры; все значения возвращаются в виде строк.

Возвращается: при успехе

Пример: "1500"

post-up

list / элементы=string

Список скриптов 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

list / элементы=string

Список скриптов 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

list / элементы=string

Список скриптов 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"]

Авторы

  • Roman Belyakovsky (@hryamzik)

Ссылки на коллекцию

  • Отслеживание проблем
  • Репозиторий (исходный код)
  • Задать вопрос
  • Сообщить об ошибке
  • Предложить функцию
  • Общение

© 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/interfaces_file_module.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API