community.network.ce_switchport 模块 – 管理华为 CloudEngine 交换机上的二层交换端口接口。

注意

此模块是 community.network 集合(版本 5.1.0)的一部分。

如果您正在使用 ansible 包,您可能已经安装了这个集合。它不包含在 ansible-core 中。要检查是否已安装,请运行 ansible-galaxy collection list

要安装它,请使用:ansible-galaxy collection install community.network

要在 playbook 中使用它,请指定:community.network.ce_switchport

注意

community.network 集合已被弃用,并将从 Ansible 12 中移除。有关更多信息,请参阅讨论帖子

已弃用

在以下版本中移除:

版本 6.0.0

原因:

此集合及其中的所有内容均未维护且已弃用。

替代方案:

未知。

概要

  • 管理华为 CloudEngine 交换机上的二层交换端口接口。

别名:network.cloudengine.ce_switchport

参数

参数

注释

default_vlan

字符串

如果 mode=access, mode=dot1qtunnel,则用作访问 VLAN ID,范围从 1 到 4094。

interface

字符串 / 必需

接口的全名,例如 40GE1/0/22。

mode

字符串

接口的链路类型。

选项

  • "access"

  • "trunk"

  • "hybrid"

  • "dot1qtunnel"

pvid_vlan

字符串

如果 mode=trunk, mode=hybrid,则用作 trunk 本机 VLAN ID,范围从 1 到 4094。

state

字符串

管理资源的状态。

选项

  • "present" ← (默认)

  • "absent"

  • "unconfigured"

tagged_vlans

字符串

如果 mode=hybrid,则用作从 trunk 添加或删除的 VLAN 范围,例如 2-10 或 2,5,10-15 等。

trunk_vlans

字符串

如果 mode=trunk,则用作从 trunk 添加或删除的 VLAN 范围,例如 2-10 或 2,5,10-15 等。

untagged_vlans

字符串

如果 mode=hybrid,则用作从 trunk 添加或删除的 VLAN 范围,例如 2-10 或 2,5,10-15 等。

注意

注意

  • state=absent 时,可以从 trunk 链路添加/删除 VLAN,并且可以将现有的 access VLAN “取消配置”,仅在该接口上具有 VLAN 1。

  • 在处理 trunk VLAN 时,关键字 add/remove 始终在 port trunk allow-pass vlan 命令中发送。使用详细模式查看发送的命令。

  • state=unconfigured 时,接口将具有默认的二层接口,即 access 模式下的 vlan 1。

  • 此模块要求在被管理的远程设备上启用 netconf 系统服务。

  • 建议的连接是 ansible.netcommon.netconf

示例

- name: Switchport module test
  hosts: cloudengine
  gather_facts: false
  vars:
    ansible_user: root
    ansible_password: PASSWORD
    ansible_connection: ansible.netcommon.netconf
    ansible_network_os: community.network.ce

  tasks:
  - name: Ensure 10GE1/0/22 is in its default switchport state
    community.network.ce_switchport:
      interface: 10GE1/0/22
      state: unconfigured

  - name: Ensure 10GE1/0/22 is configured for access vlan 20
    community.network.ce_switchport:
      interface: 10GE1/0/22
      mode: access
      default_vlan: 20

  - name: Ensure 10GE1/0/22 only has vlans 5-10 as trunk vlans
    community.network.ce_switchport:
      interface: 10GE1/0/22
      mode: trunk
      pvid_vlan: 10
      trunk_vlans: 5-10

  - name: Ensure 10GE1/0/22 is a trunk port and ensure 2-50 are being tagged (doesn't mean others aren't also being tagged)
    community.network.ce_switchport:
      interface: 10GE1/0/22
      mode: trunk
      pvid_vlan: 10
      trunk_vlans: 2-50

  - name: Ensure these VLANs are not being tagged on the trunk
    community.network.ce_switchport:
      interface: 10GE1/0/22
      mode: trunk
      trunk_vlans: 51-4000
      state: absent

返回值

通用返回值记录在此处,以下是此模块独有的字段

描述

changed

布尔值

检查设备上是否进行了更改

返回: 始终

示例: true

end_state

字典

模块执行后交换端口的 k/v 对

返回: 始终

示例: {"default_vlan": "20", "interface": "10GE1/0/22", "mode": "access", "switchport": "enable"}

existing

字典

现有交换端口的 k/v 对

返回: 始终

示例: {"default_vlan": "10", "interface": "10GE1/0/22", "mode": "access", "switchport": "enable"}

proposed

字典

传递到模块的参数的 k/v 对

返回: 始终

示例: {"default_vlan": "20", "interface": "10GE1/0/22", "mode": "access"}

updates

列表 / elements=string

发送到设备的命令字符串

返回: 始终

示例: ["10GE1/0/22", "port default vlan 20"]

状态

  • 此模块将在版本 6.0.0 中移除。[已弃用]

  • 有关更多信息,请参阅已弃用

作者

  • QijunPan (@QijunPan)