community.network.ce_switchport – Manages Layer 2 switchport interfaces on HUAWEI CloudEngine switches.

From Get docs
Ansible/docs/2.11/collections/community/network/ce switchport module


community.network.ce_switchport – Manages Layer 2 switchport interfaces on HUAWEI CloudEngine switches.

Note

This plugin is part of the community.network collection (version 2.0.1).

To install it use: ansible-galaxy collection install community.network.

To use it in a playbook, specify: community.network.ce_switchport.


Synopsis

  • Manages Layer 2 switchport interfaces on HUAWEI CloudEngine switches.

Parameters

Parameter Choices/Defaults Comments

default_vlan

string

If mode=access, or mode=dot1qtunnel, used as the access VLAN ID, in the range from 1 to 4094.

interface

string / required

Full name of the interface, i.e. 40GE1/0/22.

mode

string

  • access
  • trunk
  • hybrid
  • dot1qtunnel

The link type of an interface.

pvid_vlan

string

If mode=trunk, or mode=hybrid, used as the trunk native VLAN ID, in the range from 1 to 4094.

state

string

  • present

  • absent
  • unconfigured

Manage the state of the resource.

tagged_vlans

string

If mode=hybrid, used as the VLAN range to ADD or REMOVE from the trunk, such as 2-10 or 2,5,10-15, etc.

trunk_vlans

string

If mode=trunk, used as the VLAN range to ADD or REMOVE from the trunk, such as 2-10 or 2,5,10-15, etc.

untagged_vlans

string

If mode=hybrid, used as the VLAN range to ADD or REMOVE from the trunk, such as 2-10 or 2,5,10-15, etc.



Notes

Note

  • When state=absent, VLANs can be added/removed from trunk links and the existing access VLAN can be ‘unconfigured’ to just having VLAN 1 on that interface.
  • When working with trunks VLANs the keywords add/remove are always sent in the port trunk allow-pass vlan command. Use verbose mode to see commands sent.
  • When state=unconfigured, the interface will result with having a default Layer 2 interface, i.e. vlan 1 in access mode.
  • This module requires the netconf system service be enabled on the remote device being managed.
  • Recommended connection is netconf.
  • This module also works with local connections for legacy playbooks.


Examples

- name: Switchport module test
  hosts: cloudengine
  connection: local
  gather_facts: no
  vars:
    cli:
      host: "{{ inventory_hostname }}"
      port: "{{ ansible_ssh_port }}"
      username: "{{ username }}"
      password: "{{ password }}"
      transport: cli

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

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

  - 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
      provider: '{{ cli }}'

  - 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
      provider: '{{ cli }}'

  - 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
      provider: '{{ cli }}'

Return Values

Common return values are documented here, the following are the fields unique to this module:

Key Returned Description

changed

boolean

always

check to see if a change was made on the device


Sample:

True

end_state

dictionary

always

k/v pairs of switchport after module execution


Sample:

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

existing

dictionary

always

k/v pairs of existing switchport


Sample:

{'default_vlan': '10', 'interface': '10GE1/0/22', 'mode': 'access', 'switchport': 'enable'}

proposed

dictionary

always

k/v pairs of parameters passed into module


Sample:

{'default_vlan': '20', 'interface': '10GE1/0/22', 'mode': 'access'}

updates

list / elements=string

always

command string sent to the device


Sample:

['10GE1/0/22', 'port default vlan 20']




Authors

  • QijunPan (@QijunPan)

© 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/community/network/ce_switchport_module.html