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

Note

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

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)