Spec-Zone.ru › Ansible 2.11

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
логическое значение
    Варианты:
  • no
  • yes
Настройка 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
строка
    Варианты:
  • merged ←
  • replaced
  • overridden
  • deleted
  • parsed
  • rendered
  • gathered
Состояние конфигурации после завершения модуля

Примечания

Примечание

  • Проверено на 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

Spec-Zone.ru

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