Skip to content

Latest commit

 

History

History
1324 lines (692 loc) · 28.6 KB

netbox_inventory_item_module.rst

File metadata and controls

1324 lines (692 loc) · 28.6 KB
orphan

netbox.netbox.netbox_inventory_item module -- Creates or removes inventory items from NetBox

Note

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

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. You need further requirements to be able to use this module, see Requirements <ansible_collections.netbox.netbox.netbox_inventory_item_module_requirements> for details.

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

ansible-version-added

New in netbox.netbox 0.1.0

Synopsis

  • Creates or removes inventory items from NetBox

Requirements

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

  • pynetbox

Parameters

X{1}{3}X{2}{3}

Parameter Comments

ansible-option-title

cert

any

Certificate path

ansible-option-title

data

dictionary / required

Defines the inventory item configuration

ansible-option-title

asset_tag

string

The asset tag of the inventory item

ansible-option-title

component

dictionary

added in netbox.netbox 3.15.0

The associated component

ansible-option-title

device

string

The device the component is attached to.

ansible-option-title

name

string

The name of the component

ansible-option-title

component_type

string

added in netbox.netbox 3.15.0

The type of the component. Required if component is defined.

ansible-option-line

Choices:

  • "dcim.consoleport"
  • "dcim.consoleserverport"
  • "dcim.frontport"
  • "dcim.interface"
  • "dcim.poweroutlet"
  • "dcim.powerport"
  • "dcim.rearport"

ansible-option-title

custom_fields

dictionary

added in netbox.netbox 3.4.0

must exist in Netbox

ansible-option-title

description

string

The description of the inventory item

ansible-option-title

device

any

Name of the device the inventory item belongs to

ansible-option-title

discovered

boolean

Set the discovery flag for the inventory item

ansible-option-line

Choices:

  • false ← (default)
  • true

ansible-option-title

inventory_item_role

any

added in netbox.netbox 3.14.0

Set the inventory item role

ansible-option-title

label

string

added in netbox.netbox 3.4.0

The physical label of the inventory item

ansible-option-title

manufacturer

any

The manufacturer of the inventory item

ansible-option-title

name

string / required

Name of the inventory item to be created

ansible-option-title

parent_inventory_item

any

added in netbox.netbox 3.5.0

The parent inventory item the inventory item will be associated with

ansible-option-title

part_id

string

The part ID of the inventory item

ansible-option-title

serial

string

The serial number of the inventory item

ansible-option-title

tags

list / elements=any

Any tags that the device may need to be associated with

ansible-option-title

netbox_token

string / required

The NetBox API token.

ansible-option-title

netbox_url

string / required

The URL of the NetBox instance.

Must be accessible by the Ansible control host.

ansible-option-title

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.

ansible-option-title

state

string

The state of the object.

ansible-option-line

Choices:

  • "present" ← (default)
  • "absent"

ansible-option-title

validate_certs

any

If no, SSL certificates will not be validated.

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

ansible-option-line

Default: true

Notes

Note

- Tags should be defined as a YAML list - This should be ran with connection local and hosts localhost

Examples

- name: "Test NetBox inventory_item module"
  connection: local
  hosts: localhost
  gather_facts: False
  tasks:
    - name: Create inventory item within NetBox with only required information
      netbox.netbox.netbox_inventory_item:
        netbox_url: http://netbox.local
        netbox_token: thisIsMyToken
        data:
          device: test100
          name: "10G-SFP+"
        state: present

    - name: Update inventory item
      netbox.netbox.netbox_inventory_item:
        netbox_url: http://netbox.local
        netbox_token: thisIsMyToken
        data:
          device: test100
          name: "10G-SFP+"
          manufacturer: "Cisco"
          part_id: "10G-SFP+"
          serial: "1234"
          asset_tag: "1234"
          description: "New SFP"
          inventory_item_role: NIC
        state: present

    - name: Create inventory item with parent
      netbox.netbox.netbox_inventory_item:
        netbox_url: http://netbox.local
        netbox_token: thisIsMyToken
        data:
          parent_inventory_item:
            name: "Line Card 1"
            device: test100
          name: "10G-SFP+"
          device: test100
        state: present

    - name: Create inventory item with component
      netbox.netbox.netbox_inventory_item:
        netbox_url: http://netbox.local
        netbox_token: thisIsMyToken
        data:
          name: "10G-SFP+"
          device: test100
          component_type: "dcim.interface"
          component:
            name: GigabitEthernet2
            device: "test100"
        state: present

    - name: Delete inventory item within netbox
      netbox.netbox.netbox_inventory_item:
        netbox_url: http://netbox.local
        netbox_token: thisIsMyToken
        data:
          device: test100
          name: "10G-SFP+"
        state: absent

Return Values

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

X{1}{3}X{2}{3}

Key Description

ansible-option-title

inventory_item

dictionary

Serialized object as created or already existent within NetBox

ansible-option-line

Returned: on creation

ansible-option-title

msg

string

Message indicating failure or info about what has been achieved

ansible-option-line

Returned: always

Authors

  • Mikhail Yohman (@FragmentedPacket)