Модуль cisco.ios.ios_interfaces — модуль ресурсов для настройки интерфейсов.
Примечание
Этот модуль входит в коллекцию cisco.ios (версия 11.4.1).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.
Для установки используйте: ansible-galaxy collection install cisco.ios.
Чтобы использовать модуль в плейбуке, укажите: cisco.ios.ios_interfaces.
Добавлено в cisco.ios 1.0.0
Краткое описание
- Этот модуль управляет атрибутами интерфейсов сетевых устройств Cisco IOS.
Примечание
Этому модулю соответствует плагин действий.
Псевдонимы: interfaces
Параметры
Параметр | Комментарии |
|---|---|
config list / elements=dictionary | Словарь параметров интерфейса |
|
description string |
Описание интерфейса. |
|
duplex string |
Состояние канала интерфейса. Применимо только к интерфейсам Ethernet: полудуплекс, полный дуплекс или автоматический режим с автоматическим согласованием дуплекса. Варианты:
|
|
enabled boolean |
Административное состояние интерфейса. Установите значение Варианты:
|
|
logging dictionary |
Регистрация событий интерфейса |
|
bundle_status boolean |
Сообщения BUNDLE/UNBUNDLE Варианты:
|
|
link_status boolean |
Сообщения UPDOWN и CHANGE Варианты:
|
|
nfas_status boolean |
Сообщения о состоянии канала D NFAS Варианты:
|
|
spanning_tree boolean |
События протокола Spanning Tree на интерфейсе Варианты:
|
|
status boolean |
Сообщения об изменении состояния Spanning Tree Варианты:
|
|
subif_link_status boolean |
Сообщения UPDOWN и CHANGE для подинтерфейса Варианты:
|
|
trunk_status boolean |
Сообщения о состоянии TRUNK Варианты:
|
|
mac_address string |
MAC-адрес в формате H.H.H. |
|
mode string |
Управление состоянием интерфейса уровня 2 или уровня 3. В режиме устройства уровня 2 значение Layer2 добавляет команду switchport (по умолчанию это влияет на идемпотентность). В режиме устройства уровня 2 значение Layer3 добавляет команду no switchport. В режиме устройства уровня 3 значение Layer3/2 не оказывает влияния; вместо этого команда завершается ошибкой при применении. Варианты:
|
|
mtu integer |
MTU для конкретного интерфейса. Применимо только к интерфейсам Ethernet. Допустимые значения см. в документации производителя. |
|
name string / обязательный |
Полное имя интерфейса, например GigabitEthernet0/2, loopback999. |
|
service_policy dictionary |
Настройка политики обслуживания |
|
input string |
Назначение policy-map входящему трафику интерфейса |
|
output string |
Назначение policy-map исходящему трафику интерфейса |
|
type_options dictionary |
Настройка политики обслуживания CPL |
|
access_control dictionary |
Политика policy-map для управления доступом |
|
input string |
Назначение policy-map входящему трафику интерфейса |
|
output string |
Назначение policy-map исходящему трафику интерфейса |
|
epbr dictionary |
Настройка политики обслуживания ePBR |
|
input string |
Назначение policy-map входящему трафику интерфейса |
|
output string |
Назначение policy-map исходящему трафику интерфейса |
|
nwpi dictionary |
Настройка политики обслуживания Network Wide Path Insight |
|
input string |
Назначение policy-map входящему трафику интерфейса |
|
output string |
Назначение policy-map исходящему трафику интерфейса |
|
packet_service dictionary |
Настройка политики обслуживания Packet-Service |
|
input string |
Назначение policy-map входящему трафику интерфейса |
|
output string |
Назначение policy-map исходящему трафику интерфейса |
|
service_chain dictionary |
Настройка политики обслуживания Service-chain |
|
input string |
Назначение policy-map входящему трафику интерфейса |
|
output string |
Назначение policy-map исходящему трафику интерфейса |
|
snmp dictionary |
Настройки SNMP-ловушек |
|
ifindex dictionary |
Сохранение ifindex для интерфейса |
|
clear boolean |
Сброс включения/отключения сохранения ifIndex Варианты:
|
|
persist boolean |
Включение/отключение сохранения ifIndex Варианты:
|
|
trap dictionary |
Разрешить определённую SNMP-ловушку |
|
ip boolean |
Интернет-протокол (snmp trap ip verify drop-rate) Варианты:
|
|
link_status boolean |
Разрешить SNMP-ловушки LINKUP и LINKDOWN (snmp trap link-status permit duplicates) Варианты:
|
|
mac_notification_added boolean |
Уведомление об MAC-адресе для интерфейса (snmp trap mac-notification change added) Варианты:
|
|
mac_notification_removed boolean |
Уведомление об MAC-адресе для интерфейса (snmp trap mac-notification change removed) Варианты:
|
|
speed string |
Скорость канала интерфейса. Применимо только к интерфейсам Ethernet. |
|
template string |
Имя шаблона IOS. |
running_config string | Этот параметр используется только при состоянии parsed. Значением этого параметра должен быть вывод, полученный с устройства IOS при выполнении команды show running-config | section ^interface. Состояние parsed считывает конфигурацию из параметра |
state string | Состояние, в котором должна остаться конфигурация Состояния rendered, gathered и parsed не вносят изменений на устройстве. Состояние rendered преобразует конфигурацию из параметра Состояние gathered получает текущую конфигурацию устройства, преобразует её в структурированные данные в соответствии со спецификацией аргументов модуля ресурсов и возвращает значение в ключе gathered результата. Состояние parsed считывает конфигурацию из параметра Состояние purged удаляет из running-config виртуальные/логические интерфейсы, указанные в задаче. Варианты:
|
Примечания
Примечание
- Проверено на Cisco IOSXE версии 17.3 в CML.
- Этот модуль работает с подключением
network_cli. См. https://docs.ansible.com/ansible/latest/network/user_guide/platform_ios.html - В примерах модуля используется плагин обратного вызова (stdout_callback = yaml) для формирования вывода задач в формате YAML.
Примеры
# Using merged
# Before state:
# -------------
#
# Router#sh running-config | section interface
# interface Loopback888
# no ip address
# interface Loopback999
# no ip address
# interface GigabitEthernet1
# ip address dhcp
# negotiation auto
# interface GigabitEthernet2
# description Configured and Merged by Ansible Network
# ip address dhcp
# speed 1000
# no negotiation auto
# interface GigabitEthernet3
# no ip address
# speed 1000
# no negotiation auto
# interface GigabitEthernet4
# no ip address
# shutdown
# negotiation auto
- name: Merge provided configuration with device configuration
cisco.ios.ios_interfaces:
config:
- name: GigabitEthernet2
description: Configured and Merged by Ansible Network
enabled: true
- name: GigabitEthernet3
description: Configured and Merged by Ansible Network
mtu: 3800
enabled: false
speed: 100
duplex: full
state: merged
# Task Output
# -----------
#
# before:
# - enabled: true
# name: GigabitEthernet1
# - description: Configured and Merged by Ansible Network
# enabled: true
# name: GigabitEthernet2
# speed: '1000'
# - description: Configured and Merged by Ansible Network
# enabled: false
# mtu: 3800
# name: GigabitEthernet3
# speed: '1000'
# - enabled: false
# name: GigabitEthernet4
# - enabled: true
# name: Loopback888
# - enabled: true
# name: Loopback999
# commands:
# - interface GigabitEthernet3
# - description Configured and Merged by Ansible Network
# - speed 100
# - mtu 3800
# - duplex full
# - shutdown
# after:
# - enabled: true
# name: GigabitEthernet1
# - description: Configured and Merged by Ansible Network
# enabled: true
# name: GigabitEthernet2
# speed: '1000'
# - description: Configured and Merged by Ansible Network
# enabled: true
# mtu: 2800
# name: GigabitEthernet3
# speed: '1000'
# - enabled: false
# name: GigabitEthernet4
# - enabled: true
# name: Loopback888
# - enabled: true
# name: Loopback999
# After state:
# ------------
#
# Router#show running-config | section ^interface
# interface Loopback888
# no ip address
# interface Loopback999
# no ip address
# interface GigabitEthernet1
# ip address dhcp
# negotiation auto
# interface GigabitEthernet2
# description Configured and Merged by Ansible Network
# ip address dhcp
# speed 1000
# no negotiation auto
# interface GigabitEthernet3
# description Configured and Merged by Ansible Network
# mtu 3800
# no ip address
# shutdown
# speed 1000
# no negotiation auto
# interface GigabitEthernet4
# no ip address
# shutdown
# negotiation auto
# Using merged - with mode attribute
# Before state:
# -------------
#
# vios#show running-config | section ^interface
# interface GigabitEthernet1
# description Configured by Ansible
# interface GigabitEthernet2
# description This is test
# interface GigabitEthernet3
# description This is test
# no switchport
- name: Merge provided configuration with device configuration
cisco.ios.ios_interfaces:
config:
- name: GigabitEthernet2
description: Configured and Merged by Ansible Network
enabled: true
mode: layer2
- name: GigabitEthernet3
description: Configured and Merged by Ansible Network
mode: layer3
state: merged
# Task Output
# -----------
#
# before:
# - enabled: true
# name: GigabitEthernet1
# - description: Configured and Merged by Ansible Network
# name: GigabitEthernet2
# - description: Configured and Merged by Ansible Network
# name: GigabitEthernet3
# commands:
# - interface GigabitEthernet2
# - description Configured and Merged by Ansible Network
# - switchport
# - interface GigabitEthernet3
# - description Configured and Merged by Ansible Network
# after:
# - enabled: true
# name: GigabitEthernet1
# - description: Configured and Merged by Ansible Network
# enabled: true
# name: GigabitEthernet2
# - description: Configured and Merged by Ansible Network
# name: GigabitEthernet3
# mode: layer3
# After state:
# ------------
#
# vios#show running-config | section ^interface
# interface GigabitEthernet1
# description Configured by Ansible
# interface GigabitEthernet2
# description Configured and Merged by Ansible Network
# interface GigabitEthernet3
# description Configured and Merged by Ansible Network
# no switchport
# Using replaced
# Before state:
# -------------
#
# vios#show running-config | section ^interface
# interface Loopback888
# no ip address
# interface Loopback999
# no ip address
# interface GigabitEthernet1
# description Management interface do not change
# ip address dhcp
# negotiation auto
# interface GigabitEthernet2
# ip address dhcp
# speed 1000
# no negotiation auto
# interface GigabitEthernet3
# no ip address
# speed 1000
# no negotiation auto
# interface GigabitEthernet4
# no ip address
# shutdown
# negotiation auto
# interface Vlan50
# ip address dhcp hostname testHostname
- name: Replaces device configuration of listed interfaces with provided configuration
cisco.ios.ios_interfaces:
config:
- name: GigabitEthernet3
description: Configured and Replaced by Ansible Network
enabled: false
speed: 1000
state: replaced
# Task Output
# -----------
#
# before:
# - description: Management interface do not change
# enabled: true
# name: GigabitEthernet1
# - enabled: true
# name: GigabitEthernet2
# speed: '1000'
# - enabled: true
# name: GigabitEthernet3
# speed: '1000'
# - enabled: false
# name: GigabitEthernet4
# - enabled: true
# name: Loopback888
# - enabled: true
# name: Loopback999
# - enabled: true
# name: Vlan50
# commands:
# - interface GigabitEthernet3
# - description Configured and Replaced by Ansible Network
# - shutdown
# after:
# - description: Management interface do not change
# enabled: true
# name: GigabitEthernet1
# - enabled: true
# name: GigabitEthernet2
# speed: '1000'
# - description: Configured and Replaced by Ansible Network
# enabled: false
# name: GigabitEthernet3
# speed: '1000'
# - enabled: false
# name: GigabitEthernet4
# - enabled: true
# name: Loopback888
# - enabled: true
# name: Loopback999
# - enabled: true
# name: Vlan50
# After state:
# -------------
#
# vios#show running-config | section ^interface
# interface Loopback888
# no ip address
# interface Loopback999
# no ip address
# interface GigabitEthernet1
# description Management interface do not change
# ip address dhcp
# negotiation auto
# interface GigabitEthernet2
# ip address dhcp
# speed 1000
# no negotiation auto
# interface GigabitEthernet3
# description Configured and Replaced by Ansible Network
# no ip address
# shutdown
# speed 1000
# no negotiation auto
# interface GigabitEthernet4
# no ip address
# shutdown
# negotiation auto
# interface Vlan50
# ip address dhcp hostname testHostname
# Using overridden
# Before state:
# -------------
#
# vios#show running-config | section ^interface
# interface Loopback888
# no ip address
# interface Loopback999
# no ip address
# interface GigabitEthernet1
# description Management interface do not change
# ip address dhcp
# negotiation auto
# interface GigabitEthernet2
# ip address dhcp
# speed 1000
# no negotiation auto
# interface GigabitEthernet3
# description Configured and Replaced by Ansible Network
# no ip address
# shutdown
# speed 1000
# no negotiation auto
# interface GigabitEthernet4
# no ip address
# shutdown
# negotiation auto
# interface Vlan50
# ip address dhcp hostname testHostname
- name: Override device configuration of all interfaces with provided configuration
cisco.ios.ios_interfaces:
config:
- description: Management interface do not change
enabled: true
name: GigabitEthernet1
- name: GigabitEthernet2
description: Configured and Overridden by Ansible Network
speed: 10000
- name: GigabitEthernet3
description: Configured and Overridden by Ansible Network
enabled: false
state: overridden
# Task Output
# -----------
#
# before:
# - description: Management interface do not change
# enabled: true
# name: GigabitEthernet1
# - enabled: true
# name: GigabitEthernet2
# speed: '1000'
# - description: Configured and Replaced by Ansible Network
# enabled: false
# name: GigabitEthernet3
# speed: '1000'
# - enabled: false
# name: GigabitEthernet4
# - enabled: true
# name: Loopback888
# - enabled: true
# name: Loopback999
# - enabled: true
# name: Vlan50
# commands:
# - interface loopback888
# - shutdown
# - interface loopback999
# - shutdown
# - interface Vlan50
# - shutdown
# - interface GigabitEthernet2
# - description Configured and Overridden by Ansible Network
# - speed 10000
# - interface GigabitEthernet3
# - description Configured and Overridden by Ansible Network
# - no speed 1000
# after:
# - description: Management interface do not change
# enabled: true
# name: GigabitEthernet1
# - description: Configured and Overridden by Ansible Network
# enabled: true
# name: GigabitEthernet2
# speed: '10000'
# - description: Configured and Overridden by Ansible Network
# enabled: false
# name: GigabitEthernet3
# speed: '1000'
# - enabled: false
# name: GigabitEthernet4
# - enabled: false
# name: Loopback888
# - enabled: false
# name: Loopback999
# - enabled: false
# name: Vlan50
# After state:
# -------------
#
# vios#show running-config | section ^interface
# interface Loopback888
# no ip address
# shutdown
# interface Loopback999
# no ip address
# shutdown
# interface GigabitEthernet1
# description Management interface do not change
# ip address dhcp
# negotiation auto
# interface GigabitEthernet2
# description Configured and Overridden by Ansible Network
# ip address dhcp
# speed 10000
# no negotiation auto
# interface GigabitEthernet3
# description Configured and Overridden by Ansible Network
# no ip address
# shutdown
# speed 1000
# no negotiation auto
# interface GigabitEthernet4
# no ip address
# shutdown
# negotiation auto
# interface Vlan50
# ip address dhcp hostname testHostname
# shutdown
# Using Deleted
# Before state:
# -------------
#
# vios#show running-config | section ^interface
# interface Loopback888
# no ip address
# shutdown
# interface Loopback999
# no ip address
# shutdown
# interface GigabitEthernet1
# description Management interface do not change
# ip address dhcp
# negotiation auto
# interface GigabitEthernet2
# description Configured and Overridden by Ansible Network
# ip address dhcp
# speed 10000
# no negotiation auto
# interface GigabitEthernet3
# description Configured and Overridden by Ansible Network
# no ip address
# shutdown
# speed 1000
# no negotiation auto
# interface GigabitEthernet4
# no ip address
# shutdown
# negotiation auto
# interface Vlan50
# ip address dhcp hostname testHostname
# shutdown
- name: "Delete interface attributes (Note: This won't delete the interface itself)"
cisco.ios.ios_interfaces:
config:
- name: GigabitEthernet2
state: deleted
# Task Output
# -----------
#
# before:
# - description: Management interface do not change
# enabled: true
# name: GigabitEthernet1
# - description: Configured and Overridden by Ansible Network
# enabled: true
# name: GigabitEthernet2
# speed: '10000'
# - description: Configured and Overridden by Ansible Network
# enabled: false
# name: GigabitEthernet3
# speed: '1000'
# - enabled: false
# name: GigabitEthernet4
# - enabled: false
# name: Loopback888
# - enabled: false
# name: Loopback999
# - enabled: false
# name: Vlan50
# commands:
# - interface GigabitEthernet2
# - no description Configured and Overridden by Ansible Network
# - no speed 10000
# - shutdown
# after:
# - description: Management interface do not change
# enabled: true
# name: GigabitEthernet1
# - enabled: false
# name: GigabitEthernet2
# speed: '1000'
# - description: Configured and Overridden by Ansible Network
# enabled: false
# name: GigabitEthernet3
# speed: '1000'
# - enabled: false
# name: GigabitEthernet4
# - enabled: false
# name: Loopback888
# - enabled: false
# name: Loopback999
# - enabled: false
# name: Vlan50
# After state:
# -------------
#
# vios#show running-config | section ^interface
# interface Loopback888
# no ip address
# shutdown
# interface Loopback999
# no ip address
# shutdown
# interface GigabitEthernet1
# description Management interface do not change
# ip address dhcp
# negotiation auto
# interface GigabitEthernet2
# ip address dhcp
# shutdown
# speed 1000
# no negotiation auto
# interface GigabitEthernet3
# description Configured and Overridden by Ansible Network
# no ip address
# shutdown
# speed 1000
# no negotiation auto
# interface GigabitEthernet4
# no ip address
# shutdown
# negotiation auto
# interface Vlan50
# ip address dhcp hostname testHostname
# shutdown
# Using Purged
# Before state:
# -------------
#
# vios#show running-config | section ^interface
# interface Loopback888
# no ip address
# shutdown
# interface Loopback999
# no ip address
# shutdown
# interface GigabitEthernet1
# description Management interface do not change
# ip address dhcp
# negotiation auto
# interface GigabitEthernet2
# ip address dhcp
# shutdown
# speed 1000
# no negotiation auto
# interface GigabitEthernet3
# description Configured and Overridden by Ansible Network
# no ip address
# shutdown
# speed 1000
# no negotiation auto
# interface GigabitEthernet4
# no ip address
# shutdown
# negotiation auto
# interface Vlan50
# ip address dhcp hostname testHostname
# shutdown
- name: "Purge given interfaces (Note: This will delete the interface itself)"
cisco.ios.ios_interfaces:
config:
- name: Loopback888
- name: Vlan50
state: purged
# Task Output
# -----------
#
# before:
# - description: Management interface do not change
# enabled: true
# name: GigabitEthernet1
# - enabled: false
# name: GigabitEthernet2
# speed: '1000'
# - description: Configured and Overridden by Ansible Network
# enabled: false
# name: GigabitEthernet3
# speed: '1000'
# - enabled: false
# name: GigabitEthernet4
# - enabled: false
# name: Loopback888
# - enabled: false
# name: Loopback999
# - enabled: false
# name: Vlan50
# commands:
# - no interface loopback888
# - no interface Vlan50
# after:
# - description: Management interface do not change
# enabled: true
# name: GigabitEthernet1
# - enabled: false
# name: GigabitEthernet2
# speed: '1000'
# - description: Configured and Overridden by Ansible Network
# enabled: false
# name: GigabitEthernet3
# speed: '1000'
# - enabled: false
# name: GigabitEthernet4
# - enabled: false
# name: Loopback999
# After state:
# -------------
#
# vios#show running-config | section ^interface
# interface Loopback999
# no ip address
# shutdown
# interface GigabitEthernet1
# description Management interface do not change
# ip address dhcp
# negotiation auto
# interface GigabitEthernet2
# ip address dhcp
# shutdown
# speed 1000
# no negotiation auto
# interface GigabitEthernet3
# description Configured and Overridden by Ansible Network
# no ip address
# shutdown
# speed 1000
# no negotiation auto
# interface GigabitEthernet4
# no ip address
# shutdown
# negotiation auto
# Using gathered
# Before state:
# -------------
#
# vios#sh running-config | section ^interface
# interface Loopback999
# no ip address
# shutdown
# interface GigabitEthernet1
# description Management interface do not change
# ip address dhcp
# negotiation auto
# interface GigabitEthernet2
# ip address dhcp
# shutdown
# speed 1000
# no negotiation auto
# interface GigabitEthernet3
# description Configured and Overridden by Ansible Network
# no ip address
# shutdown
# speed 1000
# no negotiation auto
# interface GigabitEthernet4
# no ip address
# shutdown
# negotiation auto
- name: Gather facts of interfaces
cisco.ios.ios_interfaces:
config:
state: gathered
# Task Output
# -----------
#
# gathered:
# - description: Management interface do not change
# enabled: true
# name: GigabitEthernet1
# - enabled: false
# name: GigabitEthernet2
# speed: '1000'
# - description: Configured and Overridden by Ansible Network
# enabled: false
# name: GigabitEthernet3
# speed: '1000'
# - enabled: false
# name: GigabitEthernet4
# - enabled: false
# name: Loopback999
# Using rendered
- name: Render the commands for provided configuration
cisco.ios.ios_interfaces:
config:
- name: GigabitEthernet1
description: Configured by Ansible-Network
mtu: 110
enabled: true
duplex: half
- name: GigabitEthernet2
description: Configured by Ansible-Network
mtu: 2800
enabled: false
speed: 100
duplex: full
state: rendered
# Task Output
# -----------
#
# rendered:
# - interface GigabitEthernet1
# - description Configured by Ansible-Network
# - mtu 110
# - duplex half
# - no shutdown
# - interface GigabitEthernet2
# - description Configured by Ansible-Network
# - speed 100
# - mtu 2800
# - duplex full
# - shutdown
# Using parsed
# File: parsed.cfg
# ----------------
#
# interface Loopback999
# no ip address
# shutdown
# interface GigabitEthernet1
# description Management interface do not change
# ip address dhcp
# negotiation auto
# interface GigabitEthernet2
# ip address dhcp
# shutdown
# speed 1000
# no negotiation auto
# interface GigabitEthernet3
# description Configured and Overridden by Ansible Network
# no ip address
# shutdown
# speed 1000
# no negotiation auto
# interface GigabitEthernet4
# no ip address
# shutdown
# negotiation auto
- name: Parse the provided configuration
cisco.ios.ios_interfaces:
running_config: "{{ lookup('file', 'parsed.cfg') }}"
state: parsed
# Task Output
# -----------
#
# parsed:
# - description: Management interface do not change
# enabled: true
# name: GigabitEthernet1
# - enabled: false
# name: GigabitEthernet2
# speed: '1000'
# - description: Configured and Overridden by Ansible Network
# enabled: false
# name: GigabitEthernet3
# speed: '1000'
# - enabled: false
# name: GigabitEthernet4
# - enabled: false
# name: Loopback999
Возвращаемые значения
Общие возвращаемые значения описаны здесь, ниже перечислены поля, уникальные для этого модуля:
Ключ | Описание |
|---|---|
after dictionary | Конфигурация после выполнения модуля. Возвращается: при изменении Пример: |
before dictionary | Конфигурация до выполнения модуля. Возвращается: когда state имеет значение Пример: |
commands list / elements=string | Набор команд, отправленных на удаленное устройство. Возвращается: когда state имеет значение Пример: |
gathered list / elements=string | Факты о сетевом ресурсе, собранные с удаленного устройства в виде структурированных данных. Возвращается: когда state имеет значение Пример: |
parsed list / elements=string | Собственная конфигурация устройства, переданная в параметре running_config и преобразованная в структурированные данные в соответствии со спецификацией аргументов модуля. Возвращается: когда state имеет значение Пример: |
rendered list / elements=string | Переданная конфигурация задачи представлена в формате, используемом устройством (в автономном режиме). Возвращается: когда state имеет значение Пример: |
Ссылки на коллекцию
© 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/cisco/ios/ios_interfaces_module.html