netbox_ip_address – Creates or removes IP addresses from Netbox¶
New in version 2.8.
Synopsis¶
Creates or removes IP addresses from Netbox
Requirements¶
The below requirements are needed on the host that executes this module.
pynetbox
Parameters¶
Parameter | Choices/Defaults | Comments | |
---|---|---|---|
data
-
/ required
|
Defines the IP address configuration
|
||
address
-
|
Required if state is
present |
||
custom_fields
-
|
must exist in Netbox
|
||
description
-
|
The description of the interface
|
||
family
-
|
|
Specifies with address family the IP address belongs to
|
|
interface
-
|
The name and device of the interface that the IP address should be assigned to
Required if state is
present and a prefix specified. |
||
nat_inside
-
|
The inside IP address this IP is assigned to
|
||
prefix
-
|
With state
present , if an interface is given, it will ensure
that an IP inside this prefix (and vrf, if given) is attached
to this interface. Otherwise, it will get the next available IP
of this prefix and attach it.
With state new , it will force to get the next available IP in
this prefix. If an interface is given, it will also force to attach
it.
Required if state is present or new when no address is given.
Unused if an address is specified. |
||
role
-
|
|
The role of the IP address
|
|
status
-
|
|
The status of the IP address
|
|
tags
-
|
Any tags that the IP address may need to be associated with
|
||
tenant
-
|
The tenant that the device will be assigned to
|
||
vrf
-
|
VRF that IP address is associated with
|
||
netbox_token
-
/ required
|
The token created within Netbox to authorize API access
|
||
netbox_url
-
/ required
|
URL of the Netbox instance resolvable by Ansible control host
|
||
state
-
|
|
Use
present , new or absent for adding, force adding or removing.
present will check if the IP is already created, and return it if
true. new will force to create it anyway (useful for anycasts, for
example). |
|
validate_certs
boolean
|
|
If
no , SSL certificates will not be validated. This should only be used on personally controlled sites using self-signed certificates. |
Notes¶
Note
Tags should be defined as a YAML list
This should be ran with connection
local
and hostslocalhost
Examples¶
- name: "Test Netbox IP address module"
connection: local
hosts: localhost
gather_facts: False
tasks:
- name: Create IP address within Netbox with only required information
netbox_ip_address:
netbox_url: http://netbox.local
netbox_token: thisIsMyToken
data:
address: 192.168.1.10
state: present
- name: Force to create (even if it already exists) the IP
netbox_ip_address:
netbox_url: http://netbox.local
netbox_token: thisIsMyToken
data:
address: 192.168.1.10
state: new
- name: Get a new available IP inside 192.168.1.0/24
netbox_ip_address:
netbox_url: http://netbox.local
netbox_token: thisIsMyToken
data:
prefix: 192.168.1.0/24
state: new
- name: Delete IP address within netbox
netbox_ip_address:
netbox_url: http://netbox.local
netbox_token: thisIsMyToken
data:
address: 192.168.1.10
state: absent
- name: Create IP address with several specified options
netbox_ip_address:
netbox_url: http://netbox.local
netbox_token: thisIsMyToken
data:
family: 4
address: 192.168.1.20
vrf: Test
tenant: Test Tenant
status: Reserved
role: Loopback
description: Test description
tags:
- Schnozzberry
state: present
- name: Create IP address and assign a nat_inside IP
netbox_ip_address:
netbox_url: http://netbox.local
netbox_token: thisIsMyToken
data:
family: 4
address: 192.168.1.30
vrf: Test
nat_inside:
address: 192.168.1.20
vrf: Test
interface:
name: GigabitEthernet1
device: test100
- name: Ensure that an IP inside 192.168.1.0/24 is attached to GigabitEthernet1
netbox_ip_address:
netbox_url: http://netbox.local
netbox_token: thisIsMyToken
data:
prefix: 192.168.1.0/24
vrf: Test
interface:
name: GigabitEthernet1
device: test100
state: present
- name: Attach a new available IP of 192.168.1.0/24 to GigabitEthernet1
netbox_ip_address:
netbox_url: http://netbox.local
netbox_token: thisIsMyToken
data:
prefix: 192.168.1.0/24
vrf: Test
interface:
name: GigabitEthernet1
device: test100
state: new
Return Values¶
Common return values are documented here, the following are the fields unique to this module:
Key | Returned | Description |
---|---|---|
ip_address
dictionary
|
on creation |
Serialized object as created or already existent within Netbox
|
msg
string
|
always |
Message indicating failure or info about what has been achieved
|
Status¶
This module is not guaranteed to have a backwards compatible interface. [preview]
This module is maintained by the Ansible Community. [community]