ce_ip_interface - Manages L3 attributes for IPv4 and IPv6 interfaces on HUAWEI CloudEngine switches.

New in version 2.4.

Synopsis

Parameters

Parameter Choices/Defaults Comments
addr
IPv4 or IPv6 Address.
interface
required
Full name of interface, i.e. 40GE1/0/22, vlanif10.
ipv4_type
    Choices:
  • main ←
  • sub
Specifies an address type. The value is an enumerated type. main, primary IP address. sub, secondary IP address.
mask
Subnet mask for IPv4 or IPv6 Address in decimal format.
state
    Choices:
  • present ←
  • absent
Specify desired state of the resource.
version
    Choices:
  • v4 ←
  • v6
IP address version.

Notes

Note

  • Interface must already be a L3 port when using this module.
  • Logical interfaces (loopback, vlanif) must be created first.
  • mask must be inserted in decimal format (i.e. 24) for both IPv6 and IPv4.
  • A single interface can have multiple IPv6 configured.

Examples

- name: ip_interface 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 ipv4 address is configured on 10GE1/0/22
    ce_ip_interface:
      interface: 10GE1/0/22
      version: v4
      state: present
      addr: 20.20.20.20
      mask: 24
      provider: '{{ cli }}'

  - name: Ensure ipv4 secondary address is configured on 10GE1/0/22
    ce_ip_interface:
      interface: 10GE1/0/22
      version: v4
      state: present
      addr: 30.30.30.30
      mask: 24
      ipv4_type: sub
      provider: '{{ cli }}'

  - name: Ensure ipv6 is enabled on 10GE1/0/22
    ce_ip_interface:
      interface: 10GE1/0/22
      version: v6
      state: present
      provider: '{{ cli }}'

  - name: Ensure ipv6 address is configured on 10GE1/0/22
    ce_ip_interface:
      interface: 10GE1/0/22
      version: v6
      state: present
      addr: 2001::db8:800:200c:cccb
      mask: 64
      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
dict
always
k/v pairs of IP attributes after module execution

Sample:
{'interface': '10GE1/0/22', 'ipv4': [{'subnetMask': '255.255.255.0', 'ifIpAddr': '20.20.20.20', 'addrType': 'main'}]}
existing
dict
always
k/v pairs of existing IP attributes on the interface

Sample:
{'interface': '10GE1/0/22', 'ipv4': [{'subnetMask': '255.255.0.0', 'ifIpAddr': '11.11.11.11', 'addrType': 'main'}]}
proposed
dict
always
k/v pairs of parameters passed into module

Sample:
{'interface': '10GE1/0/22', 'mask': '24', 'addr': '20.20.20.20'}
updates
list
always
commands sent to the device

Sample:
['interface 10GE1/0/22', 'ip address 20.20.20.20 24']


Status

This module is flagged as preview which means that it is not guaranteed to have a backwards compatible interface.

Maintenance

This module is flagged as community which means that it is maintained by the Ansible Community. See Module Maintenance & Support for more info.

For a list of other modules that are also maintained by the Ansible Community, see here.

Author

  • QijunPan (@CloudEngine-Ansible)

Hint

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