On this page
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 3.0.0).
You might already have this collection installed if you are using the ansible
package. It is not included in ansible-core
. To check whether it is installed, run ansible-galaxy collection list
.
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
|
|
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
|
|
Specify desired state of the resource.
|
version
string
|
|
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/latest/collections/community/network/ce_ip_interface_module.html