netbox.netbox.netbox_ip_address – Creates or removes IP addresses from Netbox
netbox.netbox.netbox_ip_address – Creates or removes IP addresses from Netbox
Note
This plugin is part of the netbox.netbox collection (version 2.0.0).
To install it use: ansible-galaxy collection install netbox.netbox
.
To use it in a playbook, specify: netbox.netbox.netbox_ip_address
.
New in version 0.1.0: of netbox.netbox
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 dictionary / required |
Defines the IP address configuration | |||
address string |
Required if state is | |||
assigned_object dictionary |
Definition of the assigned object. | |||
device string |
The device the interface is attached to. | |||
name string |
The name of the interface | |||
virtual_machine string |
The virtual machine the interface is attached to. | |||
custom_fields dictionary |
must exist in Netbox | |||
description string |
The description of the interface | |||
dns_name string |
Hostname or FQDN | |||
family integer |
|
(DEPRECATED) - NetBox now handles determining the IP family natively. Specifies with address family the IP address belongs to | ||
interface raw |
The name and device of the interface that the IP address should be assigned to Required if state is | |||
nat_inside raw |
The inside IP address this IP is assigned to | |||
prefix raw |
With state | |||
role string |
|
The role of the IP address | ||
status raw |
The status of the IP address | |||
tags list / elements=string |
Any tags that the IP address may need to be associated with | |||
tenant raw |
The tenant that the device will be assigned to | |||
vrf raw |
VRF that IP address is associated with | |||
netbox_token string / required |
The token created within Netbox to authorize API access | |||
netbox_url string / required |
URL of the Netbox instance resolvable by Ansible control host | |||
query_params list / elements=string |
This can be used to override the specified values in ALLOWED_QUERY_PARAMS that is defined in plugins/module_utils/netbox_utils.py and provides control to users on what may make an object unique in their environment. | |||
state string |
|
Use | ||
validate_certs raw |
Default: "yes" |
If |
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
- name: Attach a new available IP of 192.168.1.0/24 to GigabitEthernet1 (NetBox 2.9+)
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 | 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
|
Authors
- Mikhail Yohman (@FragmentedPacket)
- Anthony Ruhier (@Anthony25)
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/netbox/netbox/netbox_ip_address_module.html