ce_ip_interface - Manages L3 attributes for IPv4 and IPv6 interfaces on HUAWEI CloudEngine switches.¶
New in version 2.4.
Parameters¶
Parameter | Choices/Defaults | Comments |
---|---|---|
addr |
IPv4 or IPv6 Address.
|
|
interface
required |
Full name of interface, i.e. 40GE1/0/22, vlanif10.
|
|
ipv4_type |
|
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 |
|
Specify desired state of the resource.
|
version |
|
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.