W3cubDocs

/Ansible

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.

Options

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

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 Return Values, the following are the fields unique to this module:

name description returned type sample
end_state
k/v pairs of IP attributes after module execution
always dict {'interface': '10GE1/0/22', 'ipv4': [{'subnetMask': '255.255.255.0', 'ifIpAddr': '20.20.20.20', 'addrType': 'main'}]}
changed
check to see if a change was made on the device
always boolean True
updates
commands sent to the device
always list ['interface 10GE1/0/22', 'ip address 20.20.20.20 24']
proposed
k/v pairs of parameters passed into module
always dict {'interface': '10GE1/0/22', 'mask': '24', 'addr': '20.20.20.20'}
existing
k/v pairs of existing IP attributes on the interface
always dict {'interface': '10GE1/0/22', 'ipv4': [{'subnetMask': '255.255.0.0', 'ifIpAddr': '11.11.11.11', 'addrType': 'main'}]}

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.

Status

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

For help in developing on modules, should you be so inclined, please read Community Information & Contributing, Testing Ansible and Developing Modules.

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