community.network.ce_vlan – Manages VLAN resources and attributes on Huawei CloudEngine switches.

Note

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

You might already have this collection installed if you are using the ansible package. It is not included in ansible-core. To check whether it is installed, run ansible-galaxy collection list.

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

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

Synopsis

  • Manages VLAN configurations on Huawei CloudEngine switches.

Parameters

Parameter Choices/Defaults Comments
description
string
Specify VLAN description, minimum of 1 character, maximum of 80 characters.
name
string
Name of VLAN, minimum of 1 character, maximum of 31 characters.
state
string
    Choices:
  • present ←
  • absent
Manage the state of the resource.
vlan_id
string
Single VLAN ID, in the range from 1 to 4094.
vlan_range
string
Range of VLANs such as 2-10 or 2,5,10-15, etc.

Notes

Note

  • 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: Vlan 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 a range of VLANs are not present on the switch
    community.network.ce_vlan:
      vlan_range: "2-10,20,50,55-60,100-150"
      state: absent
      provider: "{{ cli }}"

  - name: Ensure VLAN 50 exists with the name WEB
    community.network.ce_vlan:
      vlan_id: 50
      name: WEB
      state: absent
      provider: "{{ cli }}"

  - name: Ensure VLAN is NOT on the device
    community.network.ce_vlan:
      vlan_id: 50
      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 the VLAN after executing module or null when using vlan_range

Sample:
{'description': 'vlan for app', 'name': 'VLAN_APP', 'vlan_id': '20'}
end_state_vlans_list
list / elements=string
always
list of VLANs after the module is executed

Sample:
['1', '2', '3', '4', '5', '20', '100']
existing
dictionary
always
k/v pairs of existing vlan or null when using vlan_range

Sample:
{'description': '', 'name': 'VLAN_APP', 'vlan_id': '20'}
existing_vlans_list
list / elements=string
always
list of existing VLANs on the switch prior to making changes

Sample:
['1', '2', '3', '4', '5', '20']
proposed
dictionary
always
k/v pairs of parameters passed into module (does not include vlan_id or vlan_range)

Sample:
{'description': 'vlan for app', 'name': 'VLAN_APP', 'vlan_id': '20'}
proposed_vlans_list
list / elements=string
always
list of VLANs being proposed

Sample:
['100']
updates
list / elements=string
always
command string sent to the device

Sample:
['vlan 20', 'name VLAN20']


Authors

  • QijunPan (@QijunPan)