# ce_vrf_interface – Manages interface specific VPN configuration on HUAWEI CloudEngine switches

New in version 2.4.

- Synopsis
- Parameters
- Notes
- Examples
- Return Values
- Status

## Synopsis

- Manages interface specific VPN configuration of HUAWEI CloudEngine switches.

## Parameters

Parameter | Choices/Defaults | Comments
--- | --- | ---

state
-

Choices:
- present ←
- absent

Manage the state of the resource.

vpn_interface - / required |  | An interface that can binding VPN instance, i.e. 40GE1/0/22, Vlanif10. Must be fully qualified interface name. Interface types, such as 10GE, 40GE, 100GE, LoopBack, MEth, Tunnel, Vlanif....
vrf - / required |  | VPN instance, the length of vrf name is 1 ~ 31, i.e. "test", but can not be `_public_`.

## Notes

Note

- Ensure that a VPN instance has been created and the IPv4 address family has been enabled for the VPN instance.
- 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 interface 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: "Configure a VPN instance for the interface"
        ce_vrf_interface:
          vpn_interface: 40GE1/0/2
          vrf: test
          state: present
          provider: "{{ cli }}"

      - name: "Disable the association between a VPN instance and an interface"
        ce_vrf_interface:
          vpn_interface: 40GE1/0/2
          vrf: test
          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 | verbose mode | k/v pairs of end attributes on the interface Sample: {'vpn_interface': '40GE2/0/17', 'vrf': 'jss'}
existing dictionary | verbose mode | k/v pairs of existing attributes on the interface Sample: {'vpn_interface': '40GE2/0/17', 'vrf': None}
proposed dictionary | verbose mode | k/v pairs of parameters passed into module Sample: {'state': 'present', 'vpn_interface': '40GE2/0/17', 'vrf': 'jss'}
updates list | always | command list sent to the device Sample: ['ip binding vpn-instance jss']

## Status

- This module is not guaranteed to have a backwards compatible interface. [preview]
- This module is maintained by the Ansible Community. [community]

### Authors

- Zhijin Zhou (@QijunPan)

Hint

If you notice any issues in this documentation, you can edit this document to improve it.