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

New in version 2.4.

Synopsis

  • Manages Layer 3 attributes for IPv4 and IPv6 interfaces on HUAWEI CloudEngine switches.

Parameters

Parameter Choices/Defaults Comments
addr Default:
None
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 Default:
None
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.

Author

  • QijunPan (@CloudEngine-Ansible)

Hint

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

© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.5/modules/ce_ip_interface_module.html