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

Note

This module is part of the netbox.netbox collection (version 3.7.1).

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

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

Rack units will be numbered top-to-bottom

Choices:

  • no

  • yes

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

Whether the rack unit is in Millimeters or Inches and is required if outer_width/outer_depth is specified

Choices:

  • Millimeters

  • Inches

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

The type of rack

Choices:

  • 2-post frame

  • 4-post frame

  • 4-post cabinet

  • Wall-mounted frame

  • Wall-mounted cabinet

u_height

integer

The height of the rack in rack units

width

integer

The rail-to-rail width

Choices:

  • 10

  • 19

  • 21

  • 23

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

The state of the object.

Choices:

  • present ← (default)

  • absent

validate_certs

raw

If no, SSL certificates will not be validated.

This should only be used on personally controlled sites using a self-signed certificates.

Default: “yes”

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

Description

msg

string

Message indicating failure or info about what has been achieved

Returned: always

rack

dictionary

Serialized object as created or already existent within NetBox

Returned: success (when state=present)

Authors

  • Mikhail Yohman (@FragmentedPacket)