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.20.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 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 Choices:
|
|
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 role of the IP address Choices:
|
|
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 Choices:
|
|
If This should only be used on personally controlled sites using a self-signed certificates. Default: |
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 Returned: on creation |
|
Message indicating failure or info about what has been achieved Returned: always |