Spec-Zone.ru › Ansible

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

Примечание

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

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

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

Чтобы использовать её в плейбуке, укажите: cisco.iosxr.iosxr_interfaces.

Добавлено в cisco.iosxr 1.0.0

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

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

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

Примечание

Для этого модуля предусмотрен соответствующий плагин действий.

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

Параметры

Параметр

Комментарии

config

list / elements=dictionary

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

description

string

Описание интерфейса.

duplex

string

Настраивает режим дуплекса интерфейса. Если параметр не задан, по умолчанию используется автоматическое согласование.

Варианты:

  • "full"
  • "half"

enabled

boolean

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

Задайте значение True, чтобы административно включить интерфейс, или False, чтобы отключить его.

Варианты:

  • false
  • true

mtu

integer

Задаёт значение MTU для интерфейса. Применимо только к интерфейсам Ethernet.

Допустимые значения см. в документации производителя.

name

string / обязательный

Полное имя настраиваемого интерфейса в формате type + path. Например, GigabitEthernet0/0/0/0

speed

integer

Настраивает скорость интерфейса. Если параметр не задан, по умолчанию используется автоматическое согласование.

running_config

string

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

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

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

state

string

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

Варианты:

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

Примечания

Примечание

  • Этот модуль работает с подключением network_cli. См. https://docs.ansible.com/ansible/latest/network/user_guide/platform_iosxr.html
  • В примерах модуля используется плагин обратного вызова (stdout_callback = yaml) для вывода задач в формате yaml.

Примеры

# Using merged

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

- name: Configure Ethernet interfaces
  cisco.iosxr.iosxr_interfaces:
    config:
      - name: GigabitEthernet0/0/0/2
        description: Configured by Ansible
        enabled: true
      - name: GigabitEthernet0/0/0/3
        description: Configured by Ansible Network
        enabled: false
        duplex: full
    state: merged

# Task Output
# -----------
#
# before:
# - enabled: true
#   name: Loopback888
# - enabled: true
#   name: Loopback999
# commands:
# - interface GigabitEthernet0/0/0/2
# - description Configured by Ansible
# - no shutdown
# - interface GigabitEthernet0/0/0/3
# - description Configured by Ansible Network
# - duplex full
# - shutdown
# after:
# - enabled: true
#   name: Loopback888
# - enabled: true
#   name: Loopback999
# - description: Configured by Ansible
#   enabled: true
#   name: GigabitEthernet0/0/0/2
# - description: Configured by Ansible Network
#   duplex: full
#   enabled: false
#   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
#  description Configured by Ansible
# !
# interface preconfigure GigabitEthernet0/0/0/3
#  description Configured by Ansible Network
#  duplex full
#  shutdown
# !

# 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
#  description Configured by Ansible
# !
# interface preconfigure GigabitEthernet0/0/0/3
#  description Configured by Ansible Network
#  duplex full
#  shutdown
# !

- name: Replace their existing configuration per interface
  cisco.iosxr.iosxr_interfaces:
    config:
      - name: GigabitEthernet0/0/0/2
        description: Configured by Ansible
        enabled: true
        mtu: 2000
      - name: GigabitEthernet0/0/0/3
        description: Configured by Ansible Network
        enabled: false
        duplex: auto
    state: replaced

# Task Output
# -----------
#
# before:
# - enabled: true
#   name: Loopback888
# - enabled: true
#   name: Loopback999
# - description: Configured by Ansible
#   enabled: true
#   name: GigabitEthernet0/0/0/2
# - description: Configured by Ansible Network
#   duplex: full
#   enabled: false
#   name: GigabitEthernet0/0/0/3
# commands:
# - interface GigabitEthernet0/0/0/2
# - mtu 2000
# - interface GigabitEthernet0/0/0/3
# - duplex half
# after:
# - enabled: true
#   name: Loopback888
# - enabled: true
#   name: Loopback999
# - description: Configured by Ansible
#   enabled: true
#   mtu: 2000
#   name: GigabitEthernet0/0/0/2
# - description: Configured by Ansible Network
#   duplex: half
#   enabled: false
#   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
#  description Configured by Ansible
#  mtu 2000
# !
# interface preconfigure GigabitEthernet0/0/0/3
#  description Configured by Ansible Network
#  duplex half
#  shutdown
# !

# 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
#  description Configured by Ansible
#  mtu 2000
# !
# interface preconfigure GigabitEthernet0/0/0/3
#  description Configured by Ansible Network
#  duplex half
#  shutdown
# !

- name: Override interfaces configuration
  cisco.iosxr.iosxr_interfaces:
    config:
      - name: GigabitEthernet0/0/0/2
        description: Configured by Ansible
        enabled: true
        duplex: auto
      - name: GigabitEthernet0/0/0/3
        description: Configured by Ansible Network
        enabled: false
        speed: 1000
    state: overridden

# Task Output
# -----------
#
# before:
# - enabled: true
#   name: Loopback888
# - enabled: true
#   name: Loopback999
# - description: Configured by Ansible
#   enabled: true
#   mtu: 2000
#   name: GigabitEthernet0/0/0/2
# - description: Configured by Ansible Network
#   duplex: half
#   enabled: false
#   name: GigabitEthernet0/0/0/3
# commands:
# - interface GigabitEthernet0/0/0/2
# - no mtu
# - duplex half
# - interface GigabitEthernet0/0/0/3
# - no description
# - no shutdown
# - no duplex
# after:
# - enabled: true
#   name: Loopback888
# - enabled: true
#   name: Loopback999
# - description: Configured by Ansible
#   duplex: half
#   enabled: true
#   name: GigabitEthernet0/0/0/2
# - enabled: 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
#  description Configured by Ansible
#  duplex half
# !
# interface preconfigure GigabitEthernet0/0/0/3
# !

# 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
#  description Configured by Ansible
#  duplex half
# !
# interface preconfigure GigabitEthernet0/0/0/3
# !

- name: Delete interfaces arguments
  cisco.iosxr.iosxr_interfaces:
    config:
      - name: GigabitEthernet0/0/0/2
      - name: GigabitEthernet0/0/0/3
    state: deleted

# Task Output
# -----------
#
# before:
# - enabled: true
#   name: Loopback888
# - enabled: true
#   name: Loopback999
# - description: Configured by Ansible
#   duplex: half
#   enabled: true
#   name: GigabitEthernet0/0/0/2
# - enabled: true
#   name: GigabitEthernet0/0/0/3
# commands:
# - interface GigabitEthernet0/0/0/2
# - no description
# - no duplex
# after:
# - enabled: true
#   name: Loopback888
# - enabled: true
#   name: Loopback999
# - enabled: true
#   name: GigabitEthernet0/0/0/2
# - enabled: 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
# !

# 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 110
#  ipv4 address 172.31.1.1 255.255.255.0
#  duplex half
# !
# interface GigabitEthernet0/0/0/3
#  shutdown
# !
# interface GigabitEthernet0/0/0/4
#  shutdown
# !

# - name: Parse provided configuration
#   cisco.iosxr.iosxr_interfaces:
#     running_config: "{{ lookup('file', './parsed.cfg') }}"
#     state: parsed

# Task Output
# -----------
#
# parsed:
# - name: MgmtEth0/RP0/CPU0/0
# - access_groups:
#   - acls:
#     - direction: in
#       name: acl_1
#     - direction: out
#       name: acl_2
#     afi: ipv4
#   - acls:
#     - direction: in
#       name: acl6_1
#     - direction: out
#       name: acl6_2
#     afi: ipv6
#   name: GigabitEthernet0/0/0/0
# - access_groups:
#   - acls:
#     - direction: out
#       name: acl_1
#     afi: ipv4
#   name: GigabitEthernet0/0/0/1


# Using rendered

- name: Render platform specific commands from task input using rendered state
  cisco.iosxr.iosxr_interfaces:
    config:
      - name: GigabitEthernet0/0/0/0
        description: Configured and Merged by Ansible-Network
        mtu: 110
        enabled: true
        duplex: half
      - name: GigabitEthernet0/0/0/1
        description: Configured and Merged by Ansible-Network
        mtu: 2800
        enabled: false
        speed: 100
        duplex: full
    state: rendered

# Task Output
# -----------
#
# rendered:
# - interface GigabitEthernet0/0/0/0
# - description Configured and Merged by Ansible-Network
# - mtu 110
# - duplex half
# - no shutdown
# - interface GigabitEthernet0/0/0/1
# - description Configured and Merged by Ansible-Network
# - mtu 2800
# - speed 100
# - duplex full
# - shutdown


# 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 110
# ipv4 address 172.31.1.1 255.255.255.0
# duplex half
# !
# interface GigabitEthernet0/0/0/3
# shutdown
# !
# interface GigabitEthernet0/0/0/4
# shutdown
# !

- name: Gather facts for interfaces
  cisco.iosxr.iosxr_interfaces:
    config:
    state: gathered

# Task Output
# -----------
#
# gathered:
# - description: test for ansible
#   enabled: false
#   name: Loopback888
# - description: Configured and Merged by Ansible-Network
#   duplex: half
#   enabled: true
#   mtu: 110
#   name: GigabitEthernet0/0/0/0
# - enabled: false
#   name: GigabitEthernet0/0/0/3
# - enabled: false
#   name: GigabitEthernet0/0/0/4

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

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

Ключ

Описание

after

list / elements=string

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

Возвращается: при наличии изменений

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

before

list / elements=string

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

Возвращается: всегда

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

commands

list / elements=string

Набор команд, отправленных на удалённое устройство

Возвращается: всегда

Пример: ["interface GigabitEthernet0/0/0/2", "description: Configured by Ansible", "shutdown"]

Авторы

  • Sumit Jaiswal (@justjais)
  • Rohit Thakur (@rohitthakur2590)

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

  • Отслеживание проблем
  • Репозиторий (исходный код)

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

Spec-Zone.ru

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