cisco.ios.ios_vlans 模块 – 配置 VLAN 的资源模块。

注意

此模块是 cisco.ios 集合 (版本 9.0.3) 的一部分。

如果您使用的是 ansible 软件包,则可能已安装此集合。它不包含在 ansible-core 中。要检查是否已安装它,请运行 ansible-galaxy collection list

要安装它,请使用: ansible-galaxy collection install cisco.ios

要在剧本中使用它,请指定: cisco.ios.ios_vlans

cisco.ios 1.0.0 中的新增功能

概要

  • 此模块提供对 Cisco IOS 网络设备上 VLAN 的声明式管理。

参数

参数

注释

config

列表 / 元素=字典

VLAN 选项的字典

member

字典

VLAN 成员

evi

整数

以太网虚拟专用网络 (EVPN)

vni

整数 / 必需

VXLAN VNI

mtu

整数

VLAN 最大传输单元。

有关有效值,请参阅厂商文档。

name

字符串

VLAN 的 ASCII 名称。

注意,name 不应命名/附加为 default,因为它保留用于设备默认 VLAN。

private_vlan

字典

专用 VLAN 配置选项。

associated

列表 / 元素=整数

与主 VLAN 关联的专用 VLAN 列表。仅与 `type: primary` 一起使用。

type

字符串

专用 VLAN 类型

选项

  • "primary"

  • "isolated"

  • "community"

remote_span

布尔值

配置为远程 SPAN VLAN

选项

  • false

  • true

shutdown

字符串

关闭 VLAN 交换。

选项

  • "enabled"

  • "disabled"

state

字符串

VLAN 的运行状态

选项

  • "active"

  • "suspend"

vlan_id

整数 / 必需

VLAN 的 ID。范围 1-4094

running_config

字符串

此选项仅与 state parsed 一起使用。

此选项的值应为通过执行命令 show vlan 从 IOS 设备接收到的输出。

state parsedrunning_config 选项读取配置并将其转换为 Ansible 结构化数据,该数据符合资源模块的 argspec,然后在结果中的 parsed 密钥中返回该值。

state

字符串

配置应保留的状态

状态 renderedgatheredparsed 不会对设备进行任何更改。

状态 renderedconfig 选项中的配置转换为特定于平台的 CLI 命令,这些命令将在结果中的 rendered 密钥中返回。对于状态 rendered,不需要与远程主机的活动连接。

状态 gathered 将从设备获取运行配置,并将其转换为符合资源模块 argspec 格式的结构化数据,并将该值返回在结果中的 gathered 密钥中。

状态 parsedrunning_config 选项读取配置,并根据资源模块参数将其转换为 JSON 格式,并将该值返回在结果中的 parsed 密钥中。running_config 选项的值应与在设备上执行的命令 show vlanshow running-config | sec ^vlan configuration .+ 的输出格式相同。对于状态 parsed,不需要与远程主机的活动连接。

选项

  • "merged" ← (默认)

  • "replaced"

  • "overridden"

  • "deleted"

  • "rendered"

  • "gathered"

  • "purged"

  • "parsed"

备注

注意

示例

# Using merged

# Before state:
# -------------
#
# vios_l2#show vlan
# VLAN Name                             Status    Ports
# ---- -------------------------------- --------- -------------------------------
# 1    default                          active    Gi0/1, Gi0/2
# 1002 fddi-default                     act/unsup
# 1003 token-ring-default               act/unsup
# 1004 fddinet-default                  act/unsup
# 1005 trnet-default                    act/unsup
#
# VLAN Type  SAID       MTU   Parent RingNo BridgeNo Stp  BrdgMode Trans1 Trans2
# ---- ----- ---------- ----- ------ ------ -------- ---- -------- ------ ------
# 1    enet  100001     1500  -      -      -        -    -        0      0
# 1002 fddi  101002     1500  -      -      -        -    -        0      0
# 1003 tr    101003     1500  -      -      -        -    -        0      0
# 1004 fdnet 101004     1500  -      -      -        ieee -        0      0
# 1005 trnet 101005     1500  -      -      -        ibm  -        0      0

- name: Merge provided configuration with device configuration
  cisco.ios.ios_vlans:
    config:
      - name: Vlan_10
        vlan_id: 10
        state: active
        shutdown: disabled
        remote_span: true
      - name: Vlan_20
        vlan_id: 20
        mtu: 610
        state: active
        shutdown: enabled
      - name: Vlan_30
        vlan_id: 30
        state: suspend
        shutdown: enabled
    state: merged

# After state:
# ------------
#
# vios_l2#show vlan
# VLAN Name                             Status    Ports
# ---- -------------------------------- --------- -------------------------------
# 1    default                          active    Gi0/1, Gi0/2
# 10   vlan_10                          active
# 20   vlan_20                          act/lshut
# 30   vlan_30                          sus/lshut
# 1002 fddi-default                     act/unsup
# 1003 token-ring-default               act/unsup
# 1004 fddinet-default                  act/unsup
# 1005 trnet-default                    act/unsup
#
# VLAN Type  SAID       MTU   Parent RingNo BridgeNo Stp  BrdgMode Trans1 Trans2
# ---- ----- ---------- ----- ------ ------ -------- ---- -------- ------ ------
# 1    enet  100001     1500  -      -      -        -    -        0      0
# 10   enet  100010     1500  -      -      -        -    -        0      0
# 20   enet  100020     610   -      -      -        -    -        0      0
# 30   enet  100030     1500  -      -      -        -    -        0      0
# 1002 fddi  101002     1500  -      -      -        -    -        0      0
# 1003 tr    101003     1500  -      -      -        -    -        0      0
# 1004 fdnet 101004     1500  -      -      -        ieee -        0      0
# 1005 trnet 101005     1500  -      -      -        ibm  -        0      0
#
# Remote SPAN VLANs
# ------------------------------------------------------------------------------
# 10

# Using merged

# Before state:
# -------------
#
# Leaf-01#show run nve | sec ^vlan configuration
# vlan configuration 101
#  member evpn-instance 101 vni 10101
# vlan configuration 201
#  member evpn-instance 201 vni 10201


- name: Merge provided configuration with device configuration
  cisco.ios.ios_vlans:
    config:
      - vlan_id: 102
        member:
          vni: 10102
          evi: 102
      - vlan_id: 901
        member:
          vni: 50901
    state: merged

# After state:
# ------------
#
# Leaf-01#show run nve | sec ^vlan configuration
# vlan configuration 101
#  member evpn-instance 101 vni 10101
# vlan configuration 102
#  member evpn-instance 102 vni 10102
# vlan configuration 201
#  member evpn-instance 201 vni 10201
# vlan configuration 901
#  member vni 50901

# Using overridden

# Before state:
# -------------
#
# vios_l2#show vlan
# VLAN Name                             Status    Ports
# ---- -------------------------------- --------- -------------------------------
# 1    default                          active    Gi0/1, Gi0/2
# 10   vlan_10                          active
# 20   vlan_20                          act/lshut
# 30   vlan_30                          sus/lshut
# 1002 fddi-default                     act/unsup
# 1003 token-ring-default               act/unsup
# 1004 fddinet-default                  act/unsup
# 1005 trnet-default                    act/unsup
#
# VLAN Type  SAID       MTU   Parent RingNo BridgeNo Stp  BrdgMode Trans1 Trans2
# ---- ----- ---------- ----- ------ ------ -------- ---- -------- ------ ------
# 1    enet  100001     1500  -      -      -        -    -        0      0
# 10   enet  100010     1500  -      -      -        -    -        0      0
# 20   enet  100020     610   -      -      -        -    -        0      0
# 30   enet  100030     1500  -      -      -        -    -        0      0
# 1002 fddi  101002     1500  -      -      -        -    -        0      0
# 1003 tr    101003     1500  -      -      -        -    -        0      0
# 1004 fdnet 101004     1500  -      -      -        ieee -        0      0
# 1005 trnet 101005     1500  -      -      -        ibm  -        0      0
#
# Remote SPAN VLANs
# ------------------------------------------------------------------------------
# 10

- name: Override device configuration of all VLANs with provided configuration
  cisco.ios.ios_vlans:
    config:
      - name: Vlan_10
        vlan_id: 10
        mtu: 1000
    state: overridden

# After state:
# ------------
#
# vios_l2#show vlan
# VLAN Name                             Status    Ports
# ---- -------------------------------- --------- -------------------------------
# 1    default                          active    Gi0/1, Gi0/2
# 10   Vlan_10                          active
# 1002 fddi-default                     act/unsup
# 1003 token-ring-default               act/unsup
# 1004 fddinet-default                  act/unsup
# 1005 trnet-default                    act/unsup
#
# VLAN Type  SAID       MTU   Parent RingNo BridgeNo Stp  BrdgMode Trans1 Trans2
# ---- ----- ---------- ----- ------ ------ -------- ---- -------- ------ ------
# 1    enet  100001     1500  -      -      -        -    -        0      0
# 10   enet  100010     1000  -      -      -        -    -        0      0
# 1002 fddi  101002     1500  -      -      -        -    -        0      0
# 1003 tr    101003     1500  -      -      -        -    -        0      0
# 1004 fdnet 101004     1500  -      -      -        ieee -        0      0
# 1005 trnet 101005     1500  -      -      -        ibm  -        0      0


# Using overridden

# Before state:
# -------------
#
# Leaf-01#show run nve | sec ^vlan configuration
# vlan configuration 101
#  member evpn-instance 101 vni 10101
# vlan configuration 102
#  member evpn-instance 102 vni 10102
# vlan configuration 201
#  member evpn-instance 201 vni 10201
# vlan configuration 901
#  member vni 50901

- name: Override device configuration of all VLANs with provided configuration
  cisco.ios.ios_vlans:
    config:
      - vlan_id: 101
        member:
          vni: 10102
          evi: 102
      - vlan_id: 102
        member:
          vni: 10101
          evi: 101
    state: overridden

# After state:
# ------------
#
# Leaf-01#show run nve | sec ^vlan configuration
# vlan configuration 101
#  member evpn-instance 102 vni 10102
# vlan configuration 102
#  member evpn-instance 101 vni 10101

# Using replaced

# Before state:
# -------------
#
# vios_l2#show vlan
# VLAN Name                             Status    Ports
# ---- -------------------------------- --------- -------------------------------
# 1    default                          active    Gi0/1, Gi0/2
# 10   vlan_10                          active
# 20   vlan_20                          act/lshut
# 30   vlan_30                          sus/lshut
# 1002 fddi-default                     act/unsup
# 1003 token-ring-default               act/unsup
# 1004 fddinet-default                  act/unsup
# 1005 trnet-default                    act/unsup
#
# VLAN Type  SAID       MTU   Parent RingNo BridgeNo Stp  BrdgMode Trans1 Trans2
# ---- ----- ---------- ----- ------ ------ -------- ---- -------- ------ ------
# 1    enet  100001     1500  -      -      -        -    -        0      0
# 10   enet  100010     1500  -      -      -        -    -        0      0
# 20   enet  100020     610   -      -      -        -    -        0      0
# 30   enet  100030     1500  -      -      -        -    -        0      0
# 1002 fddi  101002     1500  -      -      -        -    -        0      0
# 1003 tr    101003     1500  -      -      -        -    -        0      0
# 1004 fdnet 101004     1500  -      -      -        ieee -        0      0
# 1005 trnet 101005     1500  -      -      -        ibm  -        0      0
#
# Remote SPAN VLANs
# ------------------------------------------------------------------------------
# 10

- name: Replaces device configuration of listed VLANs with provided configuration
  cisco.ios.ios_vlans:
    config:
      - vlan_id: 20
        name: Test_VLAN20
        mtu: 700
        shutdown: disabled
      - vlan_id: 50
        name: pvlan-isolated
        private_vlan:
          type: isolated
      - vlan_id: 60
        name: pvlan-community
        private_vlan:
          type: community
      - vlan_id: 70
        name: pvlan-primary
        private_vlan:
          type: primary
          associated:
            - 50
            - 60

    state: replaced

# After state:
# ------------
#
# vios_l2#sh vlan
# VLAN Name                             Status    Ports
# ---- -------------------------------- --------- -------------------------------
# 1    default                          active    Gi0/0, Gi0/1, Gi0/2, Gi0/3
# 10   Vlan_10                          active
# 20   Test_VLAN20                      active
# 50   pvlan-isolated                   active
# 60   pvlan-community                  active
# 70   pvlan-primary                    active
# 1002 fddi-default                     act/unsup
# 1003 token-ring-default               act/unsup
# 1004 fddinet-default                  act/unsup
# 1005 trnet-default                    act/unsup
#
# VLAN Type  SAID       MTU   Parent RingNo BridgeNo Stp  BrdgMode Trans1 Trans2
# ---- ----- ---------- ----- ------ ------ -------- ---- -------- ------ ------
# 1    enet  100001     1500  -      -      -        -    -        0      0
# 10   enet  100010     1000  -      -      -        -    -        0      0
# 20   enet  100020     700   -      -      -        -    -        0      0
# 50   enet  100050     1500  -      -      -        -    -        0      0
# 60   enet  100051     1500  -      -      -        -    -        0      0
# 70   enet  100059     1500  -      -      -        -    -        0      0
# 1002 fddi  101002     1500  -      -      -        -    -        0      0
# 1003 tr    101003     1500  -      -      -        -    -        0      0
# 1004 fdnet 101004     1500  -      -      -        ieee -        0      0
#
# VLAN Type  SAID       MTU   Parent RingNo BridgeNo Stp  BrdgMode Trans1 Trans2
# ---- ----- ---------- ----- ------ ------ -------- ---- -------- ------ ------
# 1005 trnet 101005     1500  -      -      -        ibm  -        0      0
#
# Remote SPAN VLANs
# ------------------------------------------------------------------------------
#
#
# Primary Secondary Type              Ports
# ------- --------- ----------------- ------------------------------------------
# 70      50        isolated
# 70      60        community

# Using deleted

# Before state:
# -------------
#
# vios_l2#show vlan
# VLAN Name                             Status    Ports
# ---- -------------------------------- --------- -------------------------------
# 1    default                          active    Gi0/1, Gi0/2
# 10   vlan_10                          active
# 20   vlan_20                          act/lshut
# 30   vlan_30                          sus/lshut
# 1002 fddi-default                     act/unsup
# 1003 token-ring-default               act/unsup
# 1004 fddinet-default                  act/unsup
# 1005 trnet-default                    act/unsup
#
# VLAN Type  SAID       MTU   Parent RingNo BridgeNo Stp  BrdgMode Trans1 Trans2
# ---- ----- ---------- ----- ------ ------ -------- ---- -------- ------ ------
# 1    enet  100001     1500  -      -      -        -    -        0      0
# 10   enet  100010     1500  -      -      -        -    -        0      0
# 20   enet  100020     610   -      -      -        -    -        0      0
# 30   enet  100030     1500  -      -      -        -    -        0      0
# 1002 fddi  101002     1500  -      -      -        -    -        0      0
# 1003 tr    101003     1500  -      -      -        -    -        0      0
# 1004 fdnet 101004     1500  -      -      -        ieee -        0      0
# 1005 trnet 101005     1500  -      -      -        ibm  -        0      0
#
# Remote SPAN VLANs
# ------------------------------------------------------------------------------
# 10

- name: Delete attributes of given VLANs
  cisco.ios.ios_vlans:
    config:
      - vlan_id: 10
      - vlan_id: 20
    state: deleted

# After state:
# -------------
#
# vios_l2#show vlan
# VLAN Name                             Status    Ports
# ---- -------------------------------- --------- -------------------------------
# 1    default                          active    Gi0/1, Gi0/2
# 30   vlan_30                          sus/lshut
# 1002 fddi-default                     act/unsup
# 1003 token-ring-default               act/unsup
# 1004 fddinet-default                  act/unsup
# 1005 trnet-default                    act/unsup
#
# VLAN Type  SAID       MTU   Parent RingNo BridgeNo Stp  BrdgMode Trans1 Trans2
# ---- ----- ---------- ----- ------ ------ -------- ---- -------- ------ ------
# 1    enet  100001     1500  -      -      -        -    -        0      0
# 30   enet  100030     1500  -      -      -        -    -        0      0
# 1002 fddi  101002     1500  -      -      -        -    -        0      0
# 1003 tr    101003     1500  -      -      -        -    -        0      0
# 1004 fdnet 101004     1500  -      -      -        ieee -        0      0
# 1005 trnet 101005     1500  -      -      -        ibm  -        0      0

# Using deleted

# Before state:
# -------------
#
# Leaf-01#show run nve | sec ^vlan configuration
# vlan configuration 101
#  member evpn-instance 101 vni 10101
# vlan configuration 102
#  member evpn-instance 102 vni 10102
# vlan configuration 201
#  member evpn-instance 201 vni 10201
# vlan configuration 901
#  member vni 50901

- name: Delete attributes of given VLANs
  cisco.ios.ios_vlans:
    config:
      - vlan_id: 101
    state: deleted

# After state:
# -------------
#
# Leaf-01#show run nve | sec ^vlan configuration
# vlan configuration 101
# vlan configuration 102
#  member evpn-instance 102 vni 10102
# vlan configuration 201
#  member evpn-instance 201 vni 10201
# vlan configuration 901
#  member vni 50901

# Using Deleted without any config passed
# "(NOTE: This will delete all of configured vlans attributes)"

# Before state:
# -------------
#
# vios_l2#show vlan
# VLAN Name                             Status    Ports
# ---- -------------------------------- --------- -------------------------------
# 1    default                          active    Gi0/1, Gi0/2
# 10   vlan_10                          active
# 20   vlan_20                          act/lshut
# 30   vlan_30                          sus/lshut
# 1002 fddi-default                     act/unsup
# 1003 token-ring-default               act/unsup
# 1004 fddinet-default                  act/unsup
# 1005 trnet-default                    act/unsup
#
# VLAN Type  SAID       MTU   Parent RingNo BridgeNo Stp  BrdgMode Trans1 Trans2
# ---- ----- ---------- ----- ------ ------ -------- ---- -------- ------ ------
# 1    enet  100001     1500  -      -      -        -    -        0      0
# 10   enet  100010     1500  -      -      -        -    -        0      0
# 20   enet  100020     610   -      -      -        -    -        0      0
# 30   enet  100030     1500  -      -      -        -    -        0      0
# 1002 fddi  101002     1500  -      -      -        -    -        0      0
# 1003 tr    101003     1500  -      -      -        -    -        0      0
# 1004 fdnet 101004     1500  -      -      -        ieee -        0      0
# 1005 trnet 101005     1500  -      -      -        ibm  -        0      0
#
# Remote SPAN VLANs
# ------------------------------------------------------------------------------
# 10

- name: Delete attributes of ALL VLANs
  cisco.ios.ios_vlans:
    state: deleted

# After state:
# -------------
#
# vios_l2#show vlan
# VLAN Name                             Status    Ports
# ---- -------------------------------- --------- -------------------------------
# 1    default                          active    Gi0/1, Gi0/2
# 1002 fddi-default                     act/unsup
# 1003 token-ring-default               act/unsup
# 1004 fddinet-default                  act/unsup
# 1005 trnet-default                    act/unsup
#
# VLAN Type  SAID       MTU   Parent RingNo BridgeNo Stp  BrdgMode Trans1 Trans2
# ---- ----- ---------- ----- ------ ------ -------- ---- -------- ------ ------
# 1    enet  100001     1500  -      -      -        -    -        0      0
# 1002 fddi  101002     1500  -      -      -        -    -        0      0
# 1003 tr    101003     1500  -      -      -        -    -        0      0
# 1004 fdnet 101004     1500  -      -      -        ieee -        0      0
# 1005 trnet 101005     1500  -      -      -        ibm  -        0      0

# Using Deleted without any config passed
# "(NOTE: This will delete all of configured vlans attributes)"

# Before state:
# -------------
#
# Leaf-01#show run nve | sec ^vlan configuration
# vlan configuration 101
#  member evpn-instance 101 vni 10101
# vlan configuration 102
#  member evpn-instance 102 vni 10102
# vlan configuration 201
#  member evpn-instance 201 vni 10201
# vlan configuration 202
#  member evpn-instance 202 vni 10202
# vlan configuration 901
#  member vni 50901

- name: Delete attributes of ALL VLANs
  cisco.ios.ios_vlans:
    state: deleted

# After state:
# -------------
#
# Leaf-01#show run nve | sec ^vlan configuration
# no vlan configuration 101
# no vlan configuration 102
# no vlan configuration 201
# no vlan configuration 202
# no vlan configuration 901
# no vlan configuration 902

# Using gathered, vlan configuration only

# Before state:
# -------------
#
# Leaf-01#show run nve | sec ^vlan configuration
# vlan configuration 101
#  member evpn-instance 101 vni 10101
# vlan configuration 102
#  member evpn-instance 102 vni 10102
# vlan configuration 201
#  member evpn-instance 201 vni 10201
# vlan configuration 202
#  member evpn-instance 202 vni 10202
# vlan configuration 901
#  member vni 50901

- name: Gather listed vlans with provided configurations
  cisco.ios.ios_vlans:
    state: gathered

# Module Execution Result:
# ------------------------
#
# gathered = [
#     {
#         "member": {
#             "evi": 101,
#             "vni": 10101
#         },
#         "vlan_id": 101
#     },
#     {
#         "member": {
#             "evi": 102,
#             "vni": 10102
#         },
#         "vlan_id": 102
#     },
#     {
#         "member": {
#             "evi": 201,
#             "vni": 10201
#         },
#         "vlan_id": 201
#     },
#     {
#         "member": {
#             "evi": 202,
#             "vni": 10202
#         },
#         "vlan_id": 202
#     },
#     {
#         "member": {
#             "vni": 50901
#         },
#         "vlan_id": 901
#     },
#     {
#         "member": {
#             "vni": 50902
#         },
#         "vlan_id": 902
#     }
# ]

# Using Rendered

- name: Render the commands for provided  configuration
  cisco.ios.ios_vlans:
    config:
      - name: Vlan_10
        vlan_id: 10
        state: active
        shutdown: disabled
        remote_span: true
      - name: Vlan_20
        vlan_id: 20
        mtu: 610
        state: active
        shutdown: enabled
      - name: Vlan_30
        vlan_id: 30
        state: suspend
        shutdown: enabled
    state: rendered

# Module Execution Result:
# ------------------------
#
# "rendered": [
#         "vlan 10",
#         "name Vlan_10",
#         "state active",
#         "remote-span",
#         "no shutdown",
#         "vlan 20",
#         "name Vlan_20",
#         "state active",
#         "mtu 610",
#         "shutdown",
#         "vlan 30",
#         "name Vlan_30",
#         "state suspend",
#         "shutdown"
#     ]

# Using Rendered

- name: Render the commands for provided configuration
  cisco.ios.ios_vlans:
    config:
      - vlan_id: 101
        member:
          vni: 10101
          evi: 101
      - vlan_id: 102
        member:
          vni: 10102
          evi: 102
    state: rendered

# Module Execution Result:
# ------------------------
#
# "rendered": [
#     "vlan configuration 101",
#     "member evpn-instance 101 vni 10101",
#     "vlan configuration 102",
#     "member evpn-instance 102 vni 10102"
# ]

# Using Parsed

# File: parsed.cfg
# ----------------
#
# VLAN Name                             Status    Ports
# ---- -------------------------------- --------- -------------------------------
# 1    default                          active    Gi0/1, Gi0/2
# 10   vlan_10                          active
# 20   vlan_20                          act/lshut
# 30   vlan_30                          sus/lshut
# 1002 fddi-default                     act/unsup
# 1003 token-ring-default               act/unsup
# 1004 fddinet-default                  act/unsup
# 1005 trnet-default                    act/unsup
#
# VLAN Type  SAID       MTU   Parent RingNo BridgeNo Stp  BrdgMode Trans1 Trans2
# ---- ----- ---------- ----- ------ ------ -------- ---- -------- ------ ------
# 1    enet  100001     1500  -      -      -        -    -        0      0
# 10   enet  100010     1500  -      -      -        -    -        0      0
# 20   enet  100020     1500  -      -      -        -    -        0      0
# 30   enet  100030     1500  -      -      -        -    -        0      0
# 1002 fddi  101002     1500  -      -      -        -    -        0      0
# 1003 tr    101003     1500  -      -      -        -    -        0      0
# 1004 fdnet 101004     1500  -      -      -        ieee -        0      0
# 1005 trnet 101005     1500  -      -      -        ibm  -        0      0

- name: Parse the commands for provided configuration
  cisco.ios.ios_vlans:
    running_config: "{{ lookup('file', './parsed.cfg') }}"
    state: parsed

# Module Execution Result:
# ------------------------
#
# "parsed": [
#         {
#             "mtu": 1500,
#             "name": "default",
#             "shutdown": "disabled",
#             "state": "active",
#             "vlan_id": 1
#         },
#         {
#             "mtu": 1500,
#             "name": "vlan_10",
#             "shutdown": "disabled",
#             "state": "active",
#             "vlan_id": 10
#         },
#         {
#             "mtu": 1500,
#             "name": "vlan_20",
#             "shutdown": "enabled",
#             "state": "active",
#             "vlan_id": 20
#         },
#         {
#             "mtu": 1500,
#             "name": "vlan_30",
#             "shutdown": "enabled",
#             "state": "suspend",
#             "vlan_id": 30
#         },
#         {
#             "mtu": 1500,
#             "name": "fddi-default",
#             "shutdown": "enabled",
#             "state": "active",
#             "vlan_id": 1002
#         },
#         {
#             "mtu": 1500,
#             "name": "token-ring-default",
#             "shutdown": "enabled",
#             "state": "active",
#             "vlan_id": 1003
#         },
#         {
#             "mtu": 1500,
#             "name": "fddinet-default",
#             "shutdown": "enabled",
#             "state": "active",
#             "vlan_id": 1004
#         },
#         {
#             "mtu": 1500,
#             "name": "trnet-default",
#             "shutdown": "enabled",
#             "state": "active",
#             "vlan_id": 1005
#         }
#     ]

# Using Parsed Vlan configuration only

# File: parsed.cfg
# ----------------
#
# vlan configuration 101
#  member evpn-instance 101 vni 10101
# vlan configuration 102
#  member evpn-instance 102 vni 10102
# vlan configuration 901
#  member vni 50901

- name: Parse the commands for provided configuration
  cisco.ios.ios_vlans:
    running_config: "{{ lookup('file', './parsed.cfg') }}"
    state: parsed

# Module Execution Result:
# ------------------------
#
# "parsed": [
#     {
#         "member": {
#             "evi": 101,
#             "vni": 10101
#         },
#         "vlan_id": 101
#     },
#     {
#         "member": {
#             "evi": 102,
#             "vni": 10102
#         },
#         "vlan_id": 102
#     },
#     {
#         "member": {
#             "vni": 50901
#         },
#         "vlan_id": 901
#     }
# ]

# Using Parsed, Vlan and vlan configuration

# File: parsed.cfg
# ----------------
#
# VLAN Name                             Status    Ports
# ---- -------------------------------- --------- -------------------------------
# 1    default                          active    Gi0/1, Gi0/2
# 101  RemoteIsInMyName                 act/unsup Fa0/1, Fa0/4, Fa0/5, Fa0/6, Fa0/7, Fa0/8, Fa0/9, Fa0/10, Fa0/11, Fa0/12
#                                                 Fa0/13, Fa0/14, Fa0/15, Fa0/16, Fa0/17, Fa0/18, Fa0/19, Fa0/20, Fa0/21
#                                                 Fa0/22, Fa0/23, Fa0/24, Fa0/25, Fa0/26, Fa0/27, Fa0/28, Fa0/29, Fa0/30
#                                                 Fa0/31, Fa0/32, Fa0/33, Fa0/34, Fa0/35, Fa0/36, Fa0/37, Fa0/38, Fa0/39
#                                                 Fa0/40, Fa0/41, Fa0/42, Fa0/43, Fa0/44, Fa0/45, Fa0/46, Fa0/47, Fa0/48
# 150  VLAN0150                         active
# 888  a_very_long_vlan_name_a_very_long_vlan_name
#                                     active
# 1002 fddi-default                     act/unsup
# 1003 trcrf-default                    act/unsup
# 1004 fddinet-default                  act/unsup
# 1005 trbrf-default                    act/unsup
#
# VLAN Type  SAID       MTU   Parent RingNo BridgeNo Stp  BrdgMode Trans1 Trans2
# ---- ----- ---------- ----- ------ ------ -------- ---- -------- ------ ------
# 1    enet  100001     1500  -      -      -        -    -        0      0
# 101  enet  100101     610   -      -      -        -    -        0      0
# 150  enet  100150     1500  -      -      -        -    -        0      0
# 888  enet  100888     1500  -      -      -        -    -        0      0
# 1002 fddi  101002     1500  -      -      -        -    -        0      0
# 1003 trcrf 101003     4472  1005   3276   -        -    srb      0      0
# 1004 fdnet 101004     1500  -      -      -        ieee -        0      0
# 1005 trbrf 101005     4472  -      -      15       ibm  -        0      0
#
#
# VLAN AREHops STEHops Backup CRF
# ---- ------- ------- ----------
# 1003 7       7       off
#
# Remote SPAN VLANs
# ------------------------------------------------------------------------------
# 150
#
# Primary Secondary Type              Ports
# ------- --------- ----------------- ------------------------------------------
#
# vlan configuration 101
#   member evpn-instance 101 vni 10101
# vlan configuration 102
#   member evpn-instance 102 vni 10102
# vlan configuration 901
#   member vni 50901

- name: Parse the commands for provided configuration
  cisco.ios.ios_vlans:
    running_config: "{{ lookup('file', './parsed.cfg') }}"
    state: parsed

# Module Execution Result:
# ------------------------
#
# "parsed": [
#     {
#         "name": "default",
#         "vlan_id": 1,
#         "state": "active",
#         "shutdown": "disabled",
#         "mtu": 1500,
#     },
#     {
#         "name": "RemoteIsInMyName",
#         "vlan_id": 101,
#         "state": "active",
#         "shutdown": "enabled",
#         "mtu": 610,
#         "member": {"evi": 101, "vni": 10101},
#     },
#     {
#         "name": "VLAN0150",
#         "vlan_id": 150,
#         "state": "active",
#         "shutdown": "disabled",
#         "mtu": 1500,
#         "remote_span": True,
#     },
#     {
#         "name": "a_very_long_vlan_name_a_very_long_vlan_name",
#         "vlan_id": 888,
#         "state": "active",
#         "shutdown": "disabled",
#         "mtu": 1500,
#     },
#     {
#         "name": "fddi-default",
#         "vlan_id": 1002,
#         "state": "active",
#         "shutdown": "enabled",
#         "mtu": 1500,
#     },
#     {
#         "name": "trcrf-default",
#         "vlan_id": 1003,
#         "state": "active",
#         "shutdown": "enabled",
#         "mtu": 4472,
#     },
#     {
#         "name": "fddinet-default",
#         "vlan_id": 1004,
#         "state": "active",
#         "shutdown": "enabled",
#         "mtu": 1500,
#     },
#     {
#         "name": "trbrf-default",
#         "vlan_id": 1005,
#         "state": "active",
#         "shutdown": "enabled",
#         "mtu": 4472,
#     },
#     {"vlan_id": 102, "member": {"evi": 102, "vni": 10102}},
#     {"vlan_id": 901, "member": {"vni": 50901}},
# ]

返回值

常见的返回值已在此处记录,以下是此模块特有的字段

描述

after

字典

模块执行后的结果配置。

返回:已更改时

示例: "This output will always be in the same format as the module argspec.\n"

before

字典

模块执行之前的配置。

返回:statemergedreplacedoverriddendeletedpurged

示例: "This output will always be in the same format as the module argspec.\n"

命令

列表 / 元素=字符串

推送到远程设备的命令集。

返回:statemergedreplacedoverriddendeletedpurged

示例: ["vlan configuration 202", "state active", "remote-span"]

收集的

列表 / 元素=字符串

从远程设备收集的关于网络资源的事实信息,以结构化数据的形式呈现。

返回:stategathered

示例: ["This output will always be in the same format as the module argspec.\n"]

解析的

列表 / 元素=字符串

根据模块argspec,将running_config选项中提供的设备原生配置解析成结构化数据。

返回:stateparsed

示例: ["This output will always be in the same format as the module argspec.\n"]

渲染的

列表 / 元素=字符串

以设备原生格式渲染的任务中提供的配置(离线)。

返回:staterendered

示例: ["vlan configuration 202", "member evpn-instance 202 vni 10202", "vlan 200"]

作者

  • Sumit Jaiswal (@justjais)

  • Sagar Paul (@KB-perByte)

  • Padmini Priyadarshini Sivaraj (@PadminiSivaraj)