networktocode.nautobot.device_type – Create, update or delete device types within Nautobot

Note

This plugin is part of the networktocode.nautobot collection (version 3.0.0).

To install it use: ansible-galaxy collection install networktocode.nautobot.

To use it in a playbook, specify: networktocode.nautobot.device_type.

New in version 1.0.0: of networktocode.nautobot

Synopsis

  • Creates, updates or removes device types from Nautobot

Requirements

The below requirements are needed on the host that executes this module.

  • pynautobot

Parameters

Parameter Choices/Defaults Comments
comments
string
added in 3.0.0 of networktocode.nautobot
Comments that may include additional information in regards to the device_type
custom_fields
dictionary
added in 3.0.0 of networktocode.nautobot
must exist in Nautobot
is_full_depth
boolean
added in 3.0.0 of networktocode.nautobot
    Choices:
  • no
  • yes
Whether or not the device consumes both front and rear rack faces
manufacturer
raw
added in 3.0.0 of networktocode.nautobot
The manufacturer of the device type
model
raw / required
added in 3.0.0 of networktocode.nautobot
The model of the device type
part_number
string
added in 3.0.0 of networktocode.nautobot
The part number of the device type
query_params
list / elements=string
added in 3.0.0 of networktocode.nautobot
This can be used to override the specified values in ALLOWED_QUERY_PARAMS that is defined
in plugins/module_utils/utils.py and provides control to users on what may make
an object unique in their environment.
slug
string
added in 3.0.0 of networktocode.nautobot
The slug of the device type. Must follow slug formatting (URL friendly)
If not specified, it will slugify the model
ex. test-device-type
state
string
    Choices:
  • absent
  • present ←
Use present or absent for adding or removing.
subdevice_role
string
added in 3.0.0 of networktocode.nautobot
    Choices:
  • Parent
  • parent
  • Child
  • child
Whether the device type is parent, child, or neither
tags
list / elements=raw
added in 3.0.0 of networktocode.nautobot
Any tags that the device type may need to be associated with
token
string / required
The token created within Nautobot to authorize API access
u_height
integer
added in 3.0.0 of networktocode.nautobot
The height of the device type in rack units
url
string / required
URL of the Nautobot instance resolvable by Ansible control host
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 Nautobot modules"
  connection: local
  hosts: localhost
  gather_facts: False

  tasks:
    - name: Create device type within Nautobot with only required information
      networktocode.nautobot.device_type:
        url: http://nautobot.local
        token: thisIsMyToken
        slug: test-device-type
        model: ws-test-3750
        manufacturer: Test Manufacturer
        state: present

    - name: Create device type within Nautobot with only required information
      networktocode.nautobot.device_type:
        url: http://nautobot.local
        token: thisIsMyToken
        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 nautobot
      networktocode.nautobot.device_type:
        url: http://nautobot.local
        token: thisIsMyToken
        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 Nautobot

msg
string
always
Message indicating failure or info about what has been achieved



Authors

  • Mikhail Yohman (@FragmentedPacket)