On this page
netbox.netbox.netbox_device – Create, update or delete devices within Netbox
Note
This plugin is part of the netbox.netbox collection (version 1.2.0).
To install it use: ansible-galaxy collection install netbox.netbox
.
To use it in a playbook, specify: netbox.netbox.netbox_device
.
New in version 0.1.0: of netbox.netbox
Synopsis
- Creates, updates or removes devices 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 device configuration
|
||
asset_tag
string
|
Asset tag that is associated to the device
|
||
cluster
raw
|
Cluster that the device will be assigned to
|
||
comments
string
|
Comments that may include additional information in regards to the device
|
||
custom_fields
dictionary
|
must exist in Netbox
|
||
device_role
raw
|
Required if state=present and the device does not exist yet
|
||
device_type
raw
|
Required if state=present and the device does not exist yet
|
||
face
string
|
|
Required if rack is defined
|
|
local_context_data
dictionary
|
Arbitrary JSON data to define the devices configuration variables.
|
||
name
string / required
|
The name of the device
|
||
platform
raw
|
The platform of the device
|
||
position
integer
|
The position of the device in the rack defined above
|
||
primary_ip4
raw
|
Primary IPv4 address assigned to the device
|
||
primary_ip6
raw
|
Primary IPv6 address assigned to the device
|
||
rack
raw
|
The name of the rack to assign the device to
|
||
serial
string
|
Serial number of the device
|
||
site
raw
|
Required if state=present and the device does not exist yet
|
||
status
raw
|
The status of the device
|
||
tags
list / elements=string
|
Any tags that the device may need to be associated with
|
||
tenant
raw
|
The tenant that the device will be assigned to
|
||
vc_position
integer
|
Position in the assigned virtual chassis
|
||
vc_priority
integer
|
Priority in the assigned virtual chassis
|
||
virtual_chassis
raw
|
Virtual chassis the device will be assigned to
|
||
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 present or absent for adding or removing.
|
|
validate_certs
raw
|
Default:
"yes"
|
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 modules"
connection: local
hosts: localhost
gather_facts: False
tasks:
- name: Create device within Netbox with only required information
netbox_device:
netbox_url: http://netbox.local
netbox_token: thisIsMyToken
data:
name: Test Device
device_type: C9410R
device_role: Core Switch
site: Main
state: present
- name: Create device within Netbox with empty string name to generate UUID
netbox_device:
netbox_url: http://netbox.local
netbox_token: thisIsMyToken
data:
name: ""
device_type: C9410R
device_role: Core Switch
site: Main
state: present
- name: Delete device within netbox
netbox_device:
netbox_url: http://netbox.local
netbox_token: thisIsMyToken
data:
name: Test Device
state: absent
- name: Create device with tags
netbox_device:
netbox_url: http://netbox.local
netbox_token: thisIsMyToken
data:
name: Another Test Device
device_type: C9410R
device_role: Core Switch
site: Main
local_context_data:
bgp: "65000"
tags:
- Schnozzberry
state: present
- name: Update the rack and position of an existing device
netbox_device:
netbox_url: http://netbox.local
netbox_token: thisIsMyToken
data:
name: Test Device
rack: Test Rack
position: 10
face: Front
state: present
Return Values
Common return values are documented here, the following are the fields unique to this module:
Key | Returned | Description |
---|---|---|
device
dictionary
|
success (when state=present) |
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)
- David Gomez (@amb1s1)
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.10/collections/netbox/netbox/netbox_device_module.html