Documentation

netbox_device – Create or delete devices within Netbox

New in version 2.8.

Synopsis

  • Creates 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
- / required
Defines the device configuration
asset_tag
-
Asset tag that is associated to the device
cluster
-
Cluster that the device will be assigned to
comments
-
Comments that may include additional information in regards to the device
custom_fields
-
must exist in Netbox
device_role
-
Required if state=present
device_type
-
Required if state=present
face
-
Required if rack is defined
name
-
The name of the device
platform
-
The platform of the device
position
-
The position of the device in the rack defined above
rack
-
The name of the rack to assign the device to
serial
-
Serial number of the device
site
-
Required if state=present
status
-
    Choices:
  • Active
  • Offline
  • Planned
  • Staged
  • Failed
  • Inventory
The status of the device
tags
-
Any tags that the device may need to be associated with
tenant
-
The tenant that the device will be assigned to
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
-
    Choices:
  • absent
  • present ←
Use present or absent for adding or removing.
validate_certs
boolean
    Choices:
  • no
  • 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 hosts localhost

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 (not really required, but helpful)
          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
        state: absent

    - name: Create device with tags
      netbox_device:
        netbox_url: http://netbox.local
        netbox_token: thisIsMyToken
        data:
          name: Test
          device_type: C9410R
          device_role: Core Switch
          site: Main
          tags:
            - Schnozzberry
        state: present

    - name: Create device and assign to rack and position
      netbox_device:
        netbox_url: http://netbox.local
        netbox_token: thisIsMyToken
        data:
          name: Test
          device_type: C9410R
          device_role: Core Switch
          site: Main
          rack: Test Rack
          position: 10
          face: Front

Return Values

Common return values are documented here, the following are the fields unique to this module:

Key Returned Description
device
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

Authors

  • Mikhail Yohman (@FragmentedPacket)
  • David Gomez (@amb1s1)

Hint

If you notice any issues in this documentation you can edit this document to improve it.