community.network.ce_vrf_af – Manages VPN instance address family 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_vrf_af.

Synopsis

  • Manages VPN instance address family of HUAWEI CloudEngine switches.

Parameters

Parameter Choices/Defaults Comments
evpn
boolean
    Choices:
  • no ←
  • yes
Is extend vpn or normal vpn.
route_distinguisher
string
VPN instance route distinguisher,the RD used to distinguish same route prefix from different vpn. The RD must be setted before setting vpn_target_value.
state
string
    Choices:
  • present ←
  • absent
Manage the state of the af.
vpn_target_state
string
    Choices:
  • present
  • absent
Manage the state of the vpn target.
vpn_target_type
string
    Choices:
  • export_extcommunity
  • import_extcommunity
VPN instance vpn target type.
vpn_target_value
string
VPN instance target value. Such as X.X.X.X:number<0-65535> or number<0-65535>:number<0-4294967295> or number<0-65535>.number<0-65535>:number<0-65535> or number<65536-4294967295>:number<0-65535> but not support 0:0 and 0.0:0.
vrf
string / required
VPN instance.
vrf_aftype
string
    Choices:
  • v4 ←
  • v6
VPN instance address family.

Notes

Note

  • If state=absent, the vrf will be removed, regardless of the non-required parameters.

  • 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: Vrf af 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: Config vpna, set address family is ipv4
    community.network.ce_vrf_af:
      vrf: vpna
      vrf_aftype: v4
      state: present
      provider: "{{ cli }}"
  - name: Config vpna, delete address family is ipv4
    community.network.ce_vrf_af:
      vrf: vpna
      vrf_aftype: v4
      state: absent
      provider: "{{ cli }}"
  - name: Config vpna, set address family is ipv4,rd=1:1,set vpn_target_type=export_extcommunity,vpn_target_value=2:2
    community.network.ce_vrf_af:
      vrf: vpna
      vrf_aftype: v4
      route_distinguisher: 1:1
      vpn_target_type: export_extcommunity
      vpn_target_value: 2:2
      vpn_target_state: present
      state: present
      provider: "{{ cli }}"
  - name: Config vpna, set address family is ipv4,rd=1:1,delete vpn_target_type=export_extcommunity,vpn_target_value=2:2
    community.network.ce_vrf_af:
      vrf: vpna
      vrf_aftype: v4
      route_distinguisher: 1:1
      vpn_target_type: export_extcommunity
      vpn_target_value: 2:2
      vpn_target_state: absent
      state: present
      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:
{'route_distinguisher': ['1:1', '2:2'], 'vpn_target_type': ['import_extcommunity', '3:3'], 'vpn_target_value': [], 'vrf': 'vpna', 'vrf_aftype': ['ipv4uni', 'ipv6uni']}
existing
dictionary
always
k/v pairs of existing switchport

Sample:
{'route_distinguisher': ['1:1', '2:2'], 'vpn_target_type': [], 'vpn_target_value': [], 'vrf': 'vpna', 'vrf_aftype': ['ipv4uni', 'ipv6uni']}
proposed
dictionary
always
k/v pairs of parameters passed into module

Sample:
{'evpn': 'none', 'state': 'present', 'vpn_targe_state': 'absent', 'vpn_target_type': 'none', 'vpn_target_value': 'none', 'vrf': 'vpna', 'vrf_aftype': 'v4'}
updates
list / elements=string
always
command list sent to the device

Sample:
['ip vpn-instance vpna', 'vpn-target 3:3 import_extcommunity']


Authors

  • Yang yang (@QijunPan)