netbox.netbox.netbox_ip_address module – Creates or removes IP addresses from NetBox
Note
This module is part of the netbox.netbox collection (version 3.21.0).
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 netbox.netbox
.
You need further requirements to be able to use this module,
see Requirements for details.
To use it in a playbook, specify: netbox.netbox.netbox_ip_address
.
New in netbox.netbox 0.1.0
Synopsis
Creates or removes IP addresses from NetBox
Requirements
The below requirements are needed on the host that executes this module.
pynetbox
Parameters
Parameter |
Comments |
---|---|
Certificate path |
|
Defines the IP address configuration |
|
Required if state is |
|
Definition of the assigned object. |
|
The device the interface is attached to. |
|
The name of the interface |
|
The virtual machine the interface is attached to. |
|
Comments that may include additional information in regards to the IP Address |
|
must exist in NetBox |
|
The description of the interface |
|
Hostname or FQDN |
|
(DEPRECATED) - NetBox now handles determining the IP family natively. Specifies with address family the IP address belongs to |
|
The name and device of the interface that the IP address should be assigned to
Required if state is |
|
The inside IP address this IP is assigned to |
|
With state |
|
The status of the IP address |
|
Any tags that the IP address may need to be associated with |
|
The tenant that the device will be assigned to |
|
VRF that IP address is associated with |
|
The NetBox API token. |
|
The URL of the NetBox instance. Must be accessible by the Ansible control host. |
|
This can be used to override the specified values in ALLOWED_QUERY_PARAMS that are defined in plugins/module_utils/netbox_utils.py and provides control to users on what may make an object unique in their environment. |
|
Use |
|
If This should only be used on personally controlled sites using a self-signed certificates. :ansible-option-default-bold:`Default:` :ansible-option-default:`true` |
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.netbox.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.netbox.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.netbox.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.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.netbox.netbox_ip_address:
netbox_url: http://netbox.local
netbox_token: thisIsMyToken
data:
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.netbox.netbox_ip_address:
netbox_url: http://netbox.local
netbox_token: thisIsMyToken
data:
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.netbox.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.netbox.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
- name: Attach a new available IP of 192.168.1.0/24 to GigabitEthernet1 (NetBox 2.9+)
netbox.netbox.netbox_ip_address:
netbox_url: http://netbox.local
netbox_token: thisIsMyToken
data:
prefix: 192.168.1.0/24
vrf: Test
assigned_object:
name: GigabitEthernet1
device: test100
state: new
Return Values
Common return values are documented here, the following are the fields unique to this module:
Key |
Description |
---|---|
Serialized object as created or already existent within NetBox :ansible-option-returned-bold:`Returned:` on creation |
|
Message indicating failure or info about what has been achieved |