netbox.netbox.netbox_device_type – Create, update or delete device types within Netbox

Note

This plugin is part of the netbox.netbox collection.

To install it use: ansible-galaxy collection install netbox.netbox.

To use it in a playbook, specify: netbox.netbox.netbox_device_type.

New in version 0.1.0: of

Synopsis

  • Creates, updates or removes device types 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 type configuration
comments
string
Comments that may include additional information in regards to the device_type
custom_fields
dictionary
must exist in Netbox
is_full_depth
boolean
    Choices:
  • no
  • yes
Whether or not the device consumes both front and rear rack faces
manufacturer
raw
The manufacturer of the device type
model
raw / required
The model of the device type
part_number
string
The part number of the device type
slug
string
The slug of the device type. Must follow slug formatting (URL friendly)
If not specified, it will slugify the model
ex. test-device-type
subdevice_role
string
    Choices:
  • Parent
  • parent
  • Child
  • child
Whether the device type is parent, child, or neither
tags
list / elements=string
Any tags that the device type may need to be associated with
u_height
integer
The height of the device type in rack units
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
    Choices:
  • absent
  • present ←
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 hosts localhost

Examples

- name: "Test Netbox modules"
  connection: local
  hosts: localhost
  gather_facts: False

  tasks:
    - name: Create device type within Netbox with only required information
      netbox_device_type:
        netbox_url: http://netbox.local
        netbox_token: thisIsMyToken
        data:
          slug: test-device-type
          model: ws-test-3750
          manufacturer: Test Manufacturer
        state: present

    - name: Create device type within Netbox with only required information
      netbox_device_type:
        netbox_url: http://netbox.local
        netbox_token: thisIsMyToken
        data:
          slug: test-device-type
          model: ws-test-3750
          manufacturer: Test Manufacturer
          part_number: ws-3750g-v2
          u_height: 1
          is_full_depth: False
          subdevice_role: parent
        state: present

    - name: Delete device type within netbox
      netbox_device_type:
        netbox_url: http://netbox.local
        netbox_token: thisIsMyToken
        data:
          slug: test-device-type
        state: absent

Return Values

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

Key Returned Description
device_type
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)