Spec-Zone.ru › Ansible

Модуль cisco.iosxr.iosxr_l3_interfaces – Модуль ресурсов для настройки интерфейсов L3.

Примечание

Этот модуль входит в коллекцию cisco.iosxr (версия 9.0.0).

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

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

Для использования в плейбуке укажите: cisco.iosxr.iosxr_l3_interfaces.

Новое в cisco.iosxr 1.0.0

  • Обзор
  • Параметры
  • Примечания
  • Примеры
  • Возвращаемые значения

Обзор

  • Этот модуль обеспечивает декларативное управление интерфейсами третьего уровня на устройствах Cisco IOS-XR.

Псевдонимы: l3_interfaces

Параметры

Параметр

Комментарии

config

список / элементы=словарь

Словарь параметров интерфейса третьего уровня

ipv4

список / элементы=словарь

IPv4-адрес, который нужно установить для интерфейса третьего уровня, указанного в параметре name.

Формат адреса: <ipv4-адрес>/<маска>, маска — число в диапазоне 0–32, например, 192.168.0.1/24

address

строка

Настройка IPv4-адреса для интерфейса.

secondary

булево

Настройка IP-адреса как дополнительного адреса.

Варианты:

  • false
  • true

ipv6

список / элементы=словарь

IPv6-адрес, который нужно установить для интерфейса третьего уровня, указанного в параметре name.

Формат адреса: <ipv6-адрес>/<маска>, маска — число в диапазоне 0–128, например, fd5d:12c9:2201:1::1/64

address

строка

Настройка IPv6-адреса для интерфейса.

name

строка / обязательно

Полное имя интерфейса, без номера логического модуля, например, GigabitEthernet0/1.

running_config

строка

Этот параметр используется только со значением parsed.

Значение этого параметра должно быть результатом выполнения команды show running-config interface на устройстве IOS-XR.

Значение parsed считывает конфигурацию из параметра running_config и преобразует её в структурированные данные Ansible в соответствии с argspec модуля ресурса. Затем это значение возвращается в ключе parsed результата.

state

строка

Состояние конфигурации после завершения работы модуля

Варианты:

  • "merged" ← (по умолчанию)
  • "replaced"
  • "overridden"
  • "deleted"
  • "parsed"
  • "rendered"
  • "gathered"

Примечания

Примечание

  • Этот модуль работает с соединением network_cli. См. параметры платформы IOS-XR.

Примеры

# Using merged

# Before state:
# -------------
#
# viosxr#show running-config interface
# interface Loopback888
# !
# interface Loopback999
# !
# interface MgmtEth0/RP0/CPU0/0
#  ipv4 address dhcp
# !
# interface preconfigure GigabitEthernet0/0/0/2
# !
# interface preconfigure GigabitEthernet0/0/0/3
# !

- 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

# Task Output
# -----------
#
# before:
# - name: Loopback888
# - name: Loopback999
# - name: GigabitEthernet0/0/0/2
# - name: GigabitEthernet0/0/0/3
# commands:
# - interface GigabitEthernet0/0/0/2
# - ipv4 address 192.168.0.1 255.255.255.0
# - interface GigabitEthernet0/0/0/3
# - ipv4 address 192.168.2.1 255.255.255.0 secondary
# after:
# - name: Loopback888
# - name: Loopback999
# - ipv4:
#   - address: 192.168.0.1/24
#   name: GigabitEthernet0/0/0/2
# - ipv4:
#   - address: 192.168.2.1/24
#     secondary: true
#   name: GigabitEthernet0/0/0/3

# After state:
# ------------
#
# viosxr#show running-config interface
# interface Loopback888
# !
# interface Loopback999
# !
# interface MgmtEth0/RP0/CPU0/0
#  ipv4 address dhcp
# !
# interface preconfigure GigabitEthernet0/0/0/2
#  ipv4 address 192.168.0.1 255.255.255.0
# !
# interface preconfigure GigabitEthernet0/0/0/3
#  ipv4 address 192.168.2.1 255.255.255.0 secondary
# !

# Using overridden

# Before state:
# -------------
#
# viosxr#show running-config interface
# interface Loopback888
# !
# interface Loopback999
# !
# interface MgmtEth0/RP0/CPU0/0
#  ipv4 address dhcp
# !
# interface preconfigure GigabitEthernet0/0/0/2
#  ipv4 address 192.168.0.1 255.255.255.0
# !
# interface preconfigure GigabitEthernet0/0/0/3
#  ipv4 address 192.168.2.1 255.255.255.0 secondary
# !

- 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.2/24
          - address: 192.168.2.1/24
            secondary: true
    state: overridden


# Task Output
# -----------
#
# before:
# - name: Loopback888
# - name: Loopback999
# - ipv4:
#   - address: 192.168.0.1/24
#   name: GigabitEthernet0/0/0/2
# - ipv4:
#   - address: 192.168.2.1/24
#     secondary: true
#   name: GigabitEthernet0/0/0/3
# commands:
# - interface GigabitEthernet0/0/0/2
# - no ipv4 address
# - interface GigabitEthernet0/0/0/3
# - ipv4 address 192.168.0.2 255.255.255.0
# - ipv4 address 192.168.0.1 255.255.255.0
# after:
# - name: Loopback888
# - name: Loopback999
# - name: GigabitEthernet0/0/0/2
# - ipv4:
#   - address: 192.168.0.1/24
#   - address: 192.168.2.1/24
#     secondary: true
#   name: GigabitEthernet0/0/0/3

# After state:
# -------------
#
# viosxr#show running-config interface
# interface Loopback888
# !
# interface Loopback999
# !
# interface MgmtEth0/RP0/CPU0/0
#  ipv4 address dhcp
# !
# interface preconfigure GigabitEthernet0/0/0/2
# !
# interface preconfigure GigabitEthernet0/0/0/3
#  ipv4 address 192.168.0.1 255.255.255.0
#  ipv4 address 192.168.2.1 255.255.255.0 secondary
# !

# Using replaced

# Before state:
# -------------
#
# viosxr#show running-config interface
# interface Loopback888
# !
# interface Loopback999
# !
# interface MgmtEth0/RP0/CPU0/0
#  ipv4 address dhcp
# !
# interface preconfigure GigabitEthernet0/0/0/2
# !
# interface preconfigure GigabitEthernet0/0/0/3
#  ipv4 address 192.168.0.1 255.255.255.0
#  ipv4 address 192.168.2.1 255.255.255.0 secondary
# !

- 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/2
        ipv4:
          - address: 192.168.0.2/24
    state: replaced


# Task Output
# -----------
#
# before:
# - name: Loopback888
# - name: Loopback999
# - name: GigabitEthernet0/0/0/2
# - ipv4:
#   - address: 192.168.0.1/24
#   - address: 192.168.2.1/24
#     secondary: true
#   name: GigabitEthernet0/0/0/3
# commands:
# - interface GigabitEthernet0/0/0/3
# - no ipv4 address
# - ipv6 address fd5d:12c9:2201:1::1/64
# - interface GigabitEthernet0/0/0/2
# - ipv4 address 192.168.0.2 255.255.255.0
# after:
# - name: Loopback888
# - name: Loopback999
# - ipv4:
#   - address: 192.168.0.2/24
#   name: GigabitEthernet0/0/0/2
# - ipv6:
#   - address: fd5d:12c9:2201:1::1/64
#   name: GigabitEthernet0/0/0/3

# After state:
# -------------
#
# viosxr#show running-config interface
# interface Loopback888
# !
# interface Loopback999
# !
# interface MgmtEth0/RP0/CPU0/0
#  ipv4 address dhcp
# !
# interface preconfigure GigabitEthernet0/0/0/2
#  ipv4 address 192.168.0.2 255.255.255.0
# !
# interface preconfigure GigabitEthernet0/0/0/3
#  ipv6 address fd5d:12c9:2201:1::1/64
# !

# Using deleted

# Before state:
# -------------
#
# viosxr#show running-config interface
# interface Loopback888
# !
# interface Loopback999
# !
# interface MgmtEth0/RP0/CPU0/0
#  ipv4 address dhcp
# !
# interface preconfigure GigabitEthernet0/0/0/2
#  ipv4 address 192.168.0.2 255.255.255.0
# !
# interface preconfigure GigabitEthernet0/0/0/3
#  ipv6 address fd5d:12c9:2201:1::1/64
# !

- name: Delete attributes for interfaces (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


# Task Output
# -----------
#
# before:
# - name: Loopback888
# - name: Loopback999
# - ipv4:
#   - address: 192.168.0.2/24
#   name: GigabitEthernet0/0/0/2
# - ipv6:
#   - address: fd5d:12c9:2201:1::1/64
#   name: GigabitEthernet0/0/0/3
# commands:
# - interface GigabitEthernet0/0/0/3
# - no ipv6 address
# after:
# - name: Loopback888
# - name: Loopback999
# - ipv4:
#   - address: 192.168.0.2/24
#   name: GigabitEthernet0/0/0/2
# - name: GigabitEthernet0/0/0/3

# After state:
# -------------
#
# viosxr#show running-config interface
# interface Loopback888
# !
# interface Loopback999
# !
# interface MgmtEth0/RP0/CPU0/0
#  ipv4 address dhcp
# !
# interface preconfigure GigabitEthernet0/0/0/2
#  ipv4 address 192.168.0.2 255.255.255.0
# !
# interface preconfigure GigabitEthernet0/0/0/3
# !

# Using deleted - will delete all interface configuration and not interface

# Before state:
# -------------
#
# viosxr#show running-config interface
# interface Loopback888
# !
# interface Loopback999
# !
# interface MgmtEth0/RP0/CPU0/0
#  ipv4 address dhcp
# !
# interface preconfigure GigabitEthernet0/0/0/1
#  ipv4 address 192.168.2.1 255.255.255.0
#  shutdown
# !
# interface preconfigure GigabitEthernet0/0/0/2
#  ipv4 address 192.168.3.1 255.255.255.0
#  shutdown
# !
# interface preconfigure GigabitEthernet0/0/0/3
#  ipv4 address 192.168.0.2 255.255.255.0
#  shutdown
# !
# interface preconfigure GigabitEthernet0/0/0/3.700
#  ipv4 address 192.168.0.1 255.255.255.0
# !
# interface preconfigure GigabitEthernet0/0/0/4
#  ipv6 address fd5d:12c9:2201:1::1/64
#  shutdown
# !

- name: "Delete L3 config of all interfaces (This won't delete the interface itself)"
  cisco.iosxr.iosxr_l3_interfaces:
    state: deleted

# Task Output
# -----------
#
# before:
# - name: Loopback888
# - name: Loopback999
# - ipv4:
#   - address: 192.168.2.1/24
#   name: GigabitEthernet0/0/0/1
# - ipv4:
#   - address: 192.168.3.1/24
#   name: GigabitEthernet0/0/0/2
# - ipv4:
#   - address: 192.168.0.2/24
#   name: GigabitEthernet0/0/0/3
# - ipv4:
#   - address: 192.168.0.1/24
#   name: GigabitEthernet0/0/0/3.700
# - ipv6:
#   - address: fd5d:12c9:2201:1::1/64
#   name: GigabitEthernet0/0/0/4
# commands:
# - interface GigabitEthernet0/0/0/1
# - no ipv4 address
# - interface GigabitEthernet0/0/0/2
# - no ipv4 address
# - interface GigabitEthernet0/0/0/3
# - no ipv4 address
# - interface GigabitEthernet0/0/0/3.700
# - no ipv4 address
# - interface GigabitEthernet0/0/0/4
# - no ipv6 address
# after:
# - name: Loopback888
# - name: Loopback999
# - name: GigabitEthernet0/0/0/1
# - name: GigabitEthernet0/0/0/2
# - name: GigabitEthernet0/0/0/3
# - name: GigabitEthernet0/0/0/3.700
# - name: GigabitEthernet0/0/0/4

# After state:
# -------------
#
# viosxr#show running-config interface
# interface Loopback888
# !
# interface Loopback999
# !
# interface MgmtEth0/RP0/CPU0/0
#  ipv4 address dhcp
# !
# interface preconfigure GigabitEthernet0/0/0/1
#  shutdown
# !
# interface preconfigure GigabitEthernet0/0/0/2
#  shutdown
# !
# interface preconfigure GigabitEthernet0/0/0/3
#  shutdown
# !
# interface preconfigure GigabitEthernet0/0/0/3.700
# !
# interface preconfigure GigabitEthernet0/0/0/4
#  shutdown
# !


# Using parsed

# File: parsed.cfg
# ----------------
#
# 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
#  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
# -----------
#
# 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
# -----------
#
# 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 l3 interfaces facts
  cisco.iosxr.iosxr_l3_interfaces:
    config:
    state: gathered

# Task Output
# -----------
#
# 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

список / элементы=строка

Конфигурация в структурированном формате после завершения работы модуля.

Возвращаемое значение: при изменении

Пример: ["The configuration returned will always be in the same format of the parameters above."]

before

список / элементы=строка

Конфигурация в структурированном формате до запуска модуля.

Возвращаемое значение: всегда

Пример: ["The configuration returned will always be in the same format of the parameters above."]

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–2024 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/cisco/iosxr/iosxr_l3_interfaces_module.html

Spec-Zone.ru

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