networktocode.nautobot.device module – Create, update or delete devices within Nautobot
Note
This module is part of the networktocode.nautobot collection (version 5.0.1).
To install it, use: ansible-galaxy collection install networktocode.nautobot
.
You need further requirements to be able to use this module,
see Requirements for details.
To use it in a playbook, specify: networktocode.nautobot.device
.
New in networktocode.nautobot 1.0.0
Synopsis
Creates, updates or removes devices from Nautobot
Requirements
The below requirements are needed on the host that executes this module.
pynautobot
Parameters
Parameter |
Comments |
---|---|
API Version Nautobot REST API |
|
Asset tag that is associated to the device |
|
Cluster that the device will be assigned to |
|
Comments that may include additional information in regards to the device |
|
Must exist in Nautobot and in key/value format |
|
Required if state=present and the device does not exist yet |
|
Required if rack is defined Choices: |
|
Arbitrary JSON data to define the devices configuration variables. |
|
Required if state=present and the device does not exist yet |
|
The name of the device |
|
The platform of the device |
|
The position of the device in the rack defined above |
|
Primary IPv4 address assigned to the device |
|
Primary IPv6 address assigned to the device |
|
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. |
|
The name of the rack to assign the device to |
|
Required if state=present and the device does not exist yet |
|
Serial number of the device |
|
Use Choices: |
|
The status of the device Required if state=present and the device does not exist yet |
|
Any tags that this item may need to be associated with |
|
The tenant that the device will be assigned to |
|
The token created within Nautobot to authorize API access |
|
The URL of the Nautobot instance resolvable by the Ansible host (for example: http://nautobot.example.com:8000) |
|
If Default: :ansible-option-default:`true` |
|
Position in the assigned virtual chassis |
|
Priority in the assigned virtual chassis |
|
Virtual chassis the device will be assigned to |
Notes
Note
Tags should be defined as a YAML list
This should be ran with connection
local
and hostslocalhost
Examples
- name: "Test Nautobot modules"
connection: local
hosts: localhost
gather_facts: False
tasks:
- name: Create device within Nautobot with only required information
networktocode.nautobot.device:
url: http://nautobot.local
token: thisIsMyToken
name: Test Device
device_type: C9410R
role: Core Switch
location: "{{ my_location['key'] }}"
status: active
state: present
vars:
my_location: "{{ lookup('networktocode.nautobot.lookup', 'locations', api_endpoint=nautobot_url, token=nautobot_token, api_filter='name=\"My Location\"') }}"
- name: Create device within Nautobot with empty string name to generate UUID
networktocode.nautobot.device:
url: http://nautobot.local
token: thisIsMyToken
name: ""
device_type: C9410R
role: Core Switch
location: "{{ my_location['key'] }}"
status: active
state: present
vars:
my_location: "{{ lookup('networktocode.nautobot.lookup', 'locations', api_endpoint=nautobot_url, token=nautobot_token, api_filter='name=\"My Location\"') }}"
- name: Delete device within nautobot
networktocode.nautobot.device:
url: http://nautobot.local
token: thisIsMyToken
name: Test Device
state: absent
- name: Create device with tags
networktocode.nautobot.device:
url: http://nautobot.local
token: thisIsMyToken
name: Another Test Device
device_type: C9410R
role: Core Switch
location: "{{ my_location['key'] }}"
status: active
local_config_context_data:
bgp: "65000"
tags:
- Schnozzberry
state: present
vars:
my_location: "{{ lookup('networktocode.nautobot.lookup', 'locations', api_endpoint=nautobot_url, token=nautobot_token, api_filter='name=\"My Location\"') }}"
- name: Update the rack and position of an existing device
networktocode.nautobot.device:
url: http://nautobot.local
token: thisIsMyToken
name: Test Device
rack: Test Rack
position: 10
face: Front
state: present
Return Values
Common return values are documented here, the following are the fields unique to this module:
Key |
Description |
---|---|
Serialized object as created or already existent within Nautobot Returned: success (when state=present) |
|
Message indicating failure or info about what has been achieved Returned: always |