community.network.ce_ip_interface – Manages L3 attributes for IPv4 and IPv6 interfaces on HUAWEI CloudEngine switches.

From Get docs
Ansible/docs/2.11/collections/community/network/ce ip interface module


community.network.ce_ip_interface – Manages L3 attributes for IPv4 and IPv6 interfaces on HUAWEI CloudEngine switches.

Note

This plugin is part of the community.network collection (version 2.0.1).

To install it use: ansible-galaxy collection install community.network.

To use it in a playbook, specify: community.network.ce_ip_interface.


Synopsis

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

Parameters

Parameter Choices/Defaults Comments

addr

string

IPv4 or IPv6 Address.

interface

string / required

Full name of interface, i.e. 40GE1/0/22, vlanif10.

ipv4_type

string

  • main

  • sub

Specifies an address type. The value is an enumerated type. main, primary IP address. sub, secondary IP address.

mask

string

Subnet mask for IPv4 or IPv6 Address in decimal format.

state

string

  • present

  • absent

Specify desired state of the resource.

version

string

  • 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.
  • 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: 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
    community.network.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
    community.network.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
    community.network.ce_ip_interface:
      interface: 10GE1/0/22
      version: v6
      state: present
      provider: '{{ cli }}'

  - name: Ensure ipv6 address is configured on 10GE1/0/22
    community.network.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

dictionary

always

k/v pairs of IP attributes after module execution


Sample:

{'interface': '10GE1/0/22', 'ipv4': [{'addrType': 'main', 'ifIpAddr': '20.20.20.20', 'subnetMask': '255.255.255.0'}]}

existing

dictionary

always

k/v pairs of existing IP attributes on the interface


Sample:

{'interface': '10GE1/0/22', 'ipv4': [{'addrType': 'main', 'ifIpAddr': '11.11.11.11', 'subnetMask': '255.255.0.0'}]}

proposed

dictionary

always

k/v pairs of parameters passed into module


Sample:

{'addr': '20.20.20.20', 'interface': '10GE1/0/22', 'mask': '24'}

updates

list / elements=string

always

commands sent to the device


Sample:

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




Authors

  • QijunPan (@QijunPan)

© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/community/network/ce_ip_interface_module.html