cisco.iosxr.iosxr_l3_interfaces – Модуль ресурса L3 интерфейсов
Примечание
Этот плагин входит в коллекцию cisco.iosxr (версия 1.2.1).
Для его установки используйте: ansible-galaxy collection install cisco.iosxr
Для использования в книге задач укажите: cisco.iosxr.iosxr_l3_interfaces
Новое в версии 1.0.0: cisco.iosxr
Обзор
- Этот модуль предоставляет декларативное управление интерфейсами 3-го уровня на устройствах Cisco IOS-XR.
Примечание
Данному модулю соответствует соответствующий плагин действий.
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии | ||
|---|---|---|---|---|
| config список / элементы=словарь | Словарь параметров интерфейса 3-го уровня | |||
| ipv4 список / элементы=словарь | IPv4 адрес, который нужно установить для интерфейса 3-го уровня, указанного в параметре name. Формат адреса: <ipv4 адрес>/<маска>, маска – число в диапазоне 0-32, например 192.168.0.1/24 | |||
| address строка | Настройка IPv4 адреса для интерфейса. | |||
| secondary логическое значение |
| Настройка IP-адреса как дополнительного адреса. | ||
| ipv6 список / элементы=словарь | IPv6 адрес, который нужно установить для интерфейса 3-го уровня, указанного в параметре name. Формат адреса: <ipv6 адрес>/<маска>, маска – число в диапазоне 0-128, например fd5d:12c9:2201:1::1/64 | |||
| address строка | Настройка IPv6 адреса для интерфейса. | |||
| name строка / обязательно | Полное имя интерфейса без номера логического блока, например GigabitEthernet0/1. | |||
| running_config строка | Этот параметр используется только со значением parsed. Значение этого параметра должно быть выводом с устройства IOS-XR, полученного с помощью команды show running-config interface. Состояние parsed считывает конфигурацию из параметра running_config, преобразует её в структурированные данные Ansible согласно argspec модуля ресурса и возвращает значение в ключе parsed в результате. | |||
| state строка |
| Состояние конфигурации после завершения модуля | ||
Примечания
Примечание
- Проверено на Cisco IOS-XRv версии 6.1.3 на VIRL.
- Этот модуль работает с подключением
network_cli. См. параметры платформы IOS-XR.
Примеры
# Using merged
# Before state:
# -------------
#
# viosxr#show running-config interface
# interface GigabitEthernet0/0/0/1
# shutdown
# !
# interface GigabitEthernet0/0/0/2
# shutdown
# !
# interface GigabitEthernet0/0/0/3
# ipv4 address 192.168.0.2 255.255.255.0
# shutdown
# !
# interface GigabitEthernet0/0/0/3.700
# !
# interface GigabitEthernet0/0/0/4
# ipv6 address fd5d:12c9:2201:1::1/64
# shutdown
# !
- name: Merge provided configuration with device configuration
cisco.iosxr.iosxr_l3_interfaces:
config:
- name: GigabitEthernet0/0/0/2
ipv4:
- address: 192.168.0.1/24
- name: GigabitEthernet0/0/0/3
ipv4:
- address: 192.168.2.1/24
secondary: true
state: merged
# After state:
# ------------
#
# viosxr#show running-config interface
# interface GigabitEthernet0/0/0/1
# shutdown
# !
# interface GigabitEthernet0/0/0/2
# ipv4 address 192.168.0.1 255.255.255.0
# shutdown
# !
# interface GigabitEthernet0/0/0/3
# ipv4 address 192.168.1.0 255.255.255.0
# ipv4 address 192.168.2.1 255.255.255.0 secondary
# shutdown
# !
# interface GigabitEthernet0/0/0/3.700
# !
# interface GigabitEthernet0/0/0/4
# ipv6 address fd5d:12c9:2201:1::1/64
# shutdown
# !
# Using overridden
# Before state:
# -------------
#
# viosxr#show running-config interface
# interface GigabitEthernet0/0/0/1
# shutdown
# !
# interface GigabitEthernet0/0/0/2
# ipv4 address 192.168.0.1 255.255.255.0
# shutdown
# !
# interface GigabitEthernet0/0/0/3
# ipv4 address 192.168.1.0 255.255.255.0
# shutdown
# !
# interface GigabitEthernet0/0/0/3.700
# !
# interface GigabitEthernet0/0/0/4
# ipv6 address fd5d:12c9:2201:1::1/64
# shutdown
# !
- name: Override device configuration of all interfaces with provided configuration
cisco.iosxr.iosxr_l3_interfaces:
config:
- name: GigabitEthernet0/0/0/3
ipv4:
- address: 192.168.0.1/24
- name: GigabitEthernet0/0/0/3.700
ipv4:
- address: 192.168.0.2/24
- address: 192.168.2.1/24
secondary: true
state: overridden
# After state:
# -------------
#
# viosxr#show running-config interface
# interface GigabitEthernet0/0/0/1
# shutdown
# !
# interface GigabitEthernet0/0/0/2
# shutdown
# !
# interface GigabitEthernet0/0/0/3
# ipv4 address 192.168.0.1 255.255.255.0
# shutdown
# !
# interface GigabitEthernet0/0/0/3.700
# ipv4 address 192.168.0.2 255.255.255.0
# ipv4 address 192.168.2.1 255.255.255.0 secondary
# !
# interface GigabitEthernet0/0/0/4
# shutdown
# !
# Using replaced
# Before state:
# -------------
#
# viosxr#show running-config interface
# interface GigabitEthernet0/0/0/1
# shutdown
# !
# interface GigabitEthernet0/0/0/2
# shutdown
# !
# interface GigabitEthernet0/0/0/3
# ipv4 address 192.168.0.2 255.255.255.0
# shutdown
# !
# interface GigabitEthernet0/0/0/3.700
# ipv4 address 192.168.0.1 255.255.255.0
# !
# interface GigabitEthernet0/0/0/4
# ipv6 address fd5d:12c9:2201:1::1/64
# shutdown
# !
- name: Replaces device configuration of listed interfaces with provided configuration
cisco.iosxr.iosxr_l3_interfaces:
config:
- name: GigabitEthernet0/0/0/3
ipv6:
- address: fd5d:12c9:2201:1::1/64
- name: GigabitEthernet0/0/0/4
ipv4:
- address: 192.168.0.2/24
state: replaced
# After state:
# -------------
#
# viosxr#show running-config interface
# interface GigabitEthernet0/0/0/1
# shutdown
# !
# interface GigabitEthernet0/0/0/2
# shutdown
# !
# interface GigabitEthernet0/0/0/3
# ipv6 address fd5d:12c9:2201:1::1/64
# shutdown
# !
# interface GigabitEthernet0/0/0/3.700
# ipv4 address 192.168.0.1 255.255.255.0
# !
# interface GigabitEthernet0/0/0/4
# ipv4 address 192.168.0.2 255.255.255.0
# shutdown
# !
# Using deleted
# Before state:
# -------------
#
# viosxr#show running-config interface
# interface GigabitEthernet0/0/0/1
# ipv4 address 192.168.2.1 255.255.255.0
# shutdown
# !
# interface GigabitEthernet0/0/0/2
# ipv4 address 192.168.3.1 255.255.255.0
# shutdown
# !
# interface GigabitEthernet0/0/0/3
# ipv4 address 192.168.0.2 255.255.255.0
# shutdown
# !
# interface GigabitEthernet0/0/0/3.700
# ipv4 address 192.168.0.1 255.255.255.0
# !
# interface GigabitEthernet0/0/0/4
# ipv6 address fd5d:12c9:2201:1::1/64
# shutdown
# !
- name: "Delete L3 attributes of given interfaces (Note: This won't delete the interface itself)"
cisco.iosxr.iosxr_l3_interfaces:
config:
- name: GigabitEthernet0/0/0/3
- name: GigabitEthernet0/0/0/4
- name: GigabitEthernet0/0/0/3.700
state: deleted
# After state:
# -------------
#
# viosxr#show running-config interface
# interface GigabitEthernet0/0/0/1
# ipv4 address 192.168.2.1 255.255.255.0
# shutdown
# !
# interface GigabitEthernet0/0/0/2
# ipv4 address 192.168.3.1 255.255.255.0
# shutdown
# !
# interface GigabitEthernet0/0/0/3
# shutdown
# !
# interface GigabitEthernet0/0/0/3.700
# !
# interface GigabitEthernet0/0/0/4
# shutdown
# !
# Using Deleted without any config passed
# "(NOTE: This will delete all of configured resource module attributes from each configured interface)"
# Before state:
# -------------
#
# viosxr#show running-config interface
# interface GigabitEthernet0/0/0/1
# ipv4 address 192.168.2.1 255.255.255.0
# shutdown
# !
# interface GigabitEthernet0/0/0/2
# ipv4 address 192.168.3.1 255.255.255.0
# shutdown
# !
# interface GigabitEthernet0/0/0/3
# ipv4 address 192.168.0.2 255.255.255.0
# shutdown
# !
# interface GigabitEthernet0/0/0/3.700
# ipv4 address 192.168.0.1 255.255.255.0
# !
# interface GigabitEthernet0/0/0/4
# ipv6 address fd5d:12c9:2201:1::1/64
# shutdown
# !
- name: "Delete L3 attributes of all interfaces (Note: This won't delete the interface itself)"
cisco.iosxr.iosxr_l3_interfaces:
state: deleted
# After state:
# -------------
#
# viosxr#show running-config interface
# interface GigabitEthernet0/0/0/1
# shutdown
# !
# interface GigabitEthernet0/0/0/2
# shutdown
# !
# interface GigabitEthernet0/0/0/3
# shutdown
# !
# interface GigabitEthernet0/0/0/3.700
# !
# interface GigabitEthernet0/0/0/4
# shutdown
# !
# Using parsed
# parsed.cfg
# ------------
#
# nterface Loopback888
# description test for ansible
# shutdown
# !
# interface MgmtEth0/0/CPU0/0
# ipv4 address 10.8.38.70 255.255.255.0
# !
# interface GigabitEthernet0/0/0/0
# description Configured and Merged by Ansible-Network
# mtu 66
# ipv4 address 192.0.2.1 255.255.255.0
# ipv4 address 192.0.2.2 255.255.255.0 secondary
# ipv6 address 2001:db8:0:3::/64
# duplex half
# !
# interface GigabitEthernet0/0/0/1
# description Configured and Merged by Ansible-Network
# mtu 66
# speed 100
# duplex full
# dot1q native vlan 10
# l2transport
# l2protocol cdp forward
# l2protocol pvst tunnel
# propagate remote-status
# !
# !
# interface GigabitEthernet0/0/0/3
# ipv4 address 192.0.22.1 255.255.255.0
# ipv4 address 192.0.23.1 255.255.255.0
# !
# - name: Convert L3 interfaces config to argspec without connecting to the appliance
# cisco.iosxr.iosxr_l3_interfaces:
# running_config: "{{ lookup('file', './parsed.cfg') }}"
# state: parsed
# Task Output (redacted)
# -----------------------
# "parsed": [
# {
# "ipv4": [
# {
# "address": "192.0.2.1 255.255.255.0"
# },
# {
# "address": "192.0.2.2 255.255.255.0",
# "secondary": true
# }
# ],
# "ipv6": [
# {
# "address": "2001:db8:0:3::/64"
# }
# ],
# "name": "GigabitEthernet0/0/0/0"
# },
# {
# "name": "GigabitEthernet0/0/0/1"
# },
# {
# "ipv4": [
# {
# "address": "192.0.22.1 255.255.255.0"
# },
# {
# "address": "192.0.23.1 255.255.255.0"
# }
# ],
# "name": "GigabitEthernet0/0/0/3"
# }
# ]
# Using rendered
- name: Render platform specific commands from task input using rendered state
cisco.iosxr.iosxr_l3_interfaces:
config:
- name: GigabitEthernet0/0/0/0
ipv4:
- address: 198.51.100.1/24
- name: GigabitEthernet0/0/0/1
ipv6:
- address: 2001:db8:0:3::/64
ipv4:
- address: 192.0.2.1/24
- address: 192.0.2.2/24
secondary: true
state: rendered
# Task Output (redacted)
# -----------------------
# "rendered": [
# "interface GigabitEthernet0/0/0/0",
# "ipv4 address 198.51.100.1 255.255.255.0",
# "interface GigabitEthernet0/0/0/1",
# "ipv4 address 192.0.2.2 255.255.255.0 secondary",
# "ipv4 address 192.0.2.1 255.255.255.0",
# "ipv6 address 2001:db8:0:3::/64"
# ]
# Using gathered
# Before state:
# ------------
#
# RP/0/0/CPU0:an-iosxr-02#show running-config interface
# interface Loopback888
# description test for ansible
# shutdown
# !
# interface MgmtEth0/0/CPU0/0
# ipv4 address 10.8.38.70 255.255.255.0
# !
# interface GigabitEthernet0/0/0/0
# description Configured and Merged by Ansible-Network
# mtu 66
# ipv4 address 192.0.2.1 255.255.255.0
# ipv4 address 192.0.2.2 255.255.255.0 secondary
# ipv6 address 2001:db8:0:3::/64
# duplex half
# !
# interface GigabitEthernet0/0/0/1
# description Configured and Merged by Ansible-Network
# mtu 66
# speed 100
# duplex full
# dot1q native vlan 10
# l2transport
# l2protocol cdp forward
# l2protocol pvst tunnel
# propagate remote-status
# !
# !
# interface GigabitEthernet0/0/0/3
# shutdown
# !
# interface GigabitEthernet0/0/0/4
# shutdown
# dot1q native vlan 40
# !
- name: Gather IOSXR l3 interfaces as in given arguments
cisco.iosxr.iosxr_l3_interfaces:
config:
state: gathered
# Task Output (redacted)
# -----------------------
#
# "gathered": [
# {
# "name": "Loopback888"
# },
# {
# "ipv4": [
# {
# "address": "192.0.2.1 255.255.255.0"
# },
# {
# "address": "192.0.2.2 255.255.255.0",
# "secondary": true
# }
# ],
# "ipv6": [
# {
# "address": "2001:db8:0:3::/64"
# }
# ],
# "name": "GigabitEthernet0/0/0/0"
# },
# {
# "name": "GigabitEthernet0/0/0/1"
# },
# {
# "name": "GigabitEthernet0/0/0/3"
# },
# {
# "name": "GigabitEthernet0/0/0/4"
# }
# ]
# After state:
# ------------
#
# RP/0/0/CPU0:an-iosxr-02#show running-config interface
# interface Loopback888
# description test for ansible
# shutdown
# !
# interface MgmtEth0/0/CPU0/0
# ipv4 address 10.8.38.70 255.255.255.0
# !
# interface GigabitEthernet0/0/0/0
# description Configured and Merged by Ansible-Network
# mtu 66
# ipv4 address 192.0.2.1 255.255.255.0
# ipv4 address 192.0.2.2 255.255.255.0 secondary
# ipv6 address 2001:db8:0:3::/64
# duplex half
# !
# interface GigabitEthernet0/0/0/1
# description Configured and Merged by Ansible-Network
# mtu 66
# speed 100
# duplex full
# dot1q native vlan 10
# l2transport
# l2protocol cdp forward
# l2protocol pvst tunnel
# propagate remote-status
# !
# !
# interface GigabitEthernet0/0/0/3
# shutdown
# !
# interface GigabitEthernet0/0/0/4
# shutdown
# dot1q native vlan 40
# !
Возвращаемые значения
Общие возвращаемые значения описаны здесь, следующие поля уникальны для этого модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| after список / элементы=строка | при изменении | Конфигурация в виде структурированных данных после завершения модуля. Пример: Возвращаемая конфигурация всегда будет в том же формате, что и параметры выше. |
| before список / элементы=строка | всегда | Конфигурация в виде структурированных данных перед вызовом модуля. Пример: Возвращаемая конфигурация всегда будет в том же формате, что и параметры выше. |
| commands список / элементы=строка | всегда | Набор команд, отправленных на удалённое устройство Пример: ['interface GigabitEthernet0/0/0/1', 'ipv4 address 192.168.0.1 255.255.255.0'] |
Авторы
- Sumit Jaiswal (@justjais)
- Rohit Thakur (@rohitthakur2590)
© 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/cisco/iosxr/iosxr_l3_interfaces_module.html