netbox.netbox.netbox_rack – Create, update or delete racks within NetBox

Note

This plugin is part of the netbox.netbox collection (version 3.4.0).

You might already have this collection installed if you are using the ansible package. It is not included in ansible-core. To check whether it is installed, run ansible-galaxy collection list.

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
cert
raw
Certificate path
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
location
raw
added in 3.1.0 of netbox.netbox
The location the rack will be associated to (NetBox 2.11+)
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 (NetBox < 2.11)
Will be removed in version 5.0.0
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=raw
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 NetBox API token.
netbox_url
string / required
The URL of the NetBox instance.
Must be accessible by the Ansible control host.
query_params
list / elements=string
This can be used to override the specified values in ALLOWED_QUERY_PARAMS that are 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:
  • present ←
  • absent
The state of the object.
validate_certs
raw
Default:
"yes"
If no, SSL certificates will not be validated.
This should only be used on personally controlled sites using a 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: Create rack within NetBox with only required information - Pre 2.11
      netbox_rack:
        netbox_url: http://netbox.local
        netbox_token: thisIsMyToken
        data:
          name: Test rack
          site: Test Site
          rack_group: Test Rack Group
        state: present

    - name: Create rack within NetBox with only required information - Post 2.11
      netbox_rack:
        netbox_url: http://netbox.local
        netbox_token: thisIsMyToken
        data:
          name: Test rack
          site: Test Site
          location: Test Location
        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)