netbox.netbox.netbox_rack – Create, update or delete racks within 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_rack.

New in version 0.1.0: of netbox.netbox

Synopsis

  • Creates, updates or removes racks 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 rack configuration
asset_tag
string
Asset tag that is associated to the rack
comments
string
Comments that may include additional information in regards to the rack
custom_fields
dictionary
must exist in Netbox
desc_units
boolean
    Choices:
  • no
  • yes
Rack units will be numbered top-to-bottom
facility_id
string
The unique rack ID assigned by the facility
name
string / required
The name of the rack
outer_depth
integer
The outer depth of the rack
outer_unit
string
    Choices:
  • Millimeters
  • Inches
Whether the rack unit is in Millimeters or Inches and is required if outer_width/outer_depth is specified
outer_width
integer
The outer width of the rack
rack_group
raw
The rack group the rack will be associated to
rack_role
raw
The rack role the rack will be associated to
serial
string
Serial number of the rack
site
raw
Required if state=present and the rack does not exist yet
status
raw
The status of the rack
tags
list / elements=string
Any tags that the rack may need to be associated with
tenant
raw
The tenant that the device will be assigned to
type
string
    Choices:
  • 2-post frame
  • 4-post frame
  • 4-post cabinet
  • Wall-mounted frame
  • Wall-mounted cabinet
The type of rack
u_height
integer
The height of the rack in rack units
width
integer
    Choices:
  • 10
  • 19
  • 21
  • 23
The rail-to-rail width
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 rack within Netbox with only required information
      netbox_rack:
        netbox_url: http://netbox.local
        netbox_token: thisIsMyToken
        data:
          name: Test rack
          site: Test Site
        state: present

    - name: Delete rack within netbox
      netbox_rack:
        netbox_url: http://netbox.local
        netbox_token: thisIsMyToken
        data:
          name: Test Rack
        state: absent

Return Values

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

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

rack
dictionary
success (when state=present)
Serialized object as created or already existent within Netbox



Authors

  • Mikhail Yohman (@FragmentedPacket)