community.network.ce_evpn_bgp – Manages BGP EVPN configuration 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_evpn_bgp.

Synopsis

  • This module offers the ability to configure a BGP EVPN peer relationship on HUAWEI CloudEngine switches.

Parameters

Parameter Choices/Defaults Comments
advertise_l2vpn_evpn
string
    Choices:
  • enable
  • disable
Enable or disable a device to advertise IP routes imported to a VPN instance to its EVPN instance.
advertise_router_type
string
    Choices:
  • arp
  • irb
Configures a device to advertise routes to its BGP EVPN peers.
as_number
string
Specifies integral AS number. The value is an integer ranging from 1 to 4294967295.
bgp_instance
string / required
Name of a BGP instance. The value is a string of 1 to 31 case-sensitive characters, spaces not supported.
peer_address
string
Specifies the IPv4 address of a BGP EVPN peer. The value is in dotted decimal notation.
peer_enable
string
    Choices:
  • true
  • false
Enable or disable a BGP device to exchange routes with a specified peer or peer group in the address family view.
peer_group_name
string
Specify the name of a peer group that BGP peers need to join. The value is a string of 1 to 47 case-sensitive characters, spaces not supported.
state
string
    Choices:
  • present ←
  • absent
Manage the state of the resource.
vpn_name
string
Associates a specified VPN instance with the IPv4 address family. The value is a string of 1 to 31 case-sensitive characters, spaces not supported.

Notes

Note

  • Recommended connection is network_cli.

  • This module also works with local connections for legacy playbooks.

Examples

- name: Evpn bgp 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: Enable peer address.
    community.network.ce_evpn_bgp:
      bgp_instance: 100
      peer_address: 1.1.1.1
      as_number: 100
      peer_enable: true
      provider: "{{ cli }}"

  - name: Enable peer group arp.
    community.network.ce_evpn_bgp:
      bgp_instance: 100
      peer_group_name: aaa
      advertise_router_type: arp
      provider: "{{ cli }}"

  - name: Enable advertise l2vpn evpn.
    community.network.ce_evpn_bgp:
      bgp_instance: 100
      vpn_name: aaa
      advertise_l2vpn_evpn: enable
      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
verbose mode
k/v pairs of configuration after module execution

Sample:
{'advertise_l2vpn_evpn': 'enable', 'bgp_instance': '100', 'vpn_name': 'aaa'}
existing
dictionary
always
k/v pairs of existing rollback

Sample:
{'bgp_instance': '100', 'peer_group_advertise_type': []}
proposed
dictionary
always
k/v pairs of parameters passed into module

Sample:
{'advertise_router_type': 'arp', 'bgp_instance': '100', 'peer_group_name': 'aaa', 'state': 'present'}
updates
list / elements=string
always
command sent to the device

Sample:
['peer 1.1.1.1 enable', 'peer aaa advertise arp']


Authors

  • Li Yanfeng (@QijunPan)