device¶
Collection Note
This module is part of the networktocode.nautobot collection. To install the collection, use:
Added in version1.0.0
.
You need further requirements to be able to use this module, see the Requirements section for details.
Synopsis¶
- Creates, updates or removes devices from Nautobot
Requirements¶
The following Python packages are needed on the host that executes this module:
Parameters¶
Parameter | Defaults / Choices | Comments |
---|---|---|
api_version str |
API Version Nautobot REST API Version Added: 4.1.0 |
|
asset_tag str |
Asset tag that is associated to the device Version Added: 3.0.0 |
|
cluster raw |
Cluster that the device will be assigned to Version Added: 3.0.0 |
|
comments str |
Comments that may include additional information in regards to the device Version Added: 3.0.0 |
|
controller_managed_device_group raw |
Device controller_managed_device_group the device will be assigned to Requires Nautobot C(v2.2) or later Version Added: 5.7.0 |
|
custom_fields dict |
Must exist in Nautobot and in key/value format Version Added: 3.0.0 |
|
device_redundancy_group raw |
Device redundancy group the device will be assigned to Version Added: 5.1.0 |
|
device_redundancy_group_priority int |
Priority in the assigned device redundancy group Version Added: 5.1.0 |
|
device_type raw |
Required if I(state=present) and the device does not exist yet Recommended when updating or deleting if not using I(id) or I(name) to aid with identification Version Added: 3.0.0 |
|
face str |
Choices: Front, front, Rear, rear | Required if I(rack) is defined Version Added: 3.0.0 |
id str |
The UUID of the object to operate on Version Added: 5.13.0 |
|
local_config_context_data dict |
Arbitrary JSON data to define the devices configuration variables. Version Added: 3.0.0 |
|
location raw |
Required if I(state=present) and the device does not exist yet Recommended when updating or deleting if not using I(id) or I(name) to aid with identification Version Added: 3.0.0 |
|
name str |
The name of the device Version Added: 3.0.0 |
|
platform raw |
The platform of the device Version Added: 3.0.0 |
|
position int |
The position of the device in the rack defined above Version Added: 3.0.0 |
|
primary_ip4 raw |
Primary IPv4 address assigned to the device Version Added: 3.0.0 |
|
primary_ip6 raw |
Primary IPv6 address assigned to the device Version Added: 3.0.0 |
|
query_params list / elements=str |
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. Version Added: 3.0.0 |
|
rack raw |
The name of the rack to assign the device to Version Added: 3.0.0 |
|
role raw |
Required if I(state=present) and the device does not exist yet Recommended when updating or deleting if not using I(id) or I(name) to aid with identification Version Added: 3.0.0 |
|
secrets_group raw |
The secrets_group of the device Version Added: 5.12.0 |
|
serial str |
Serial number of the device Version Added: 3.0.0 |
|
software_image_files raw |
Override the software image files associated with the software version for this inventory item Version Added: 5.13.0 |
|
software_version raw |
The software version associated with the device Version Added: 5.13.0 |
|
state str |
Default: present Choices: absent, present |
Use C(present) or C(absent) for adding or removing. |
status raw |
The status of the device Required if I(state=present) and the device does not exist yet Version Added: 3.0.0 |
|
tags list / elements=raw |
Any tags that this item may need to be associated with Version Added: 3.0.0 |
|
tenant raw |
The tenant that the device will be assigned to Version Added: 3.0.0 |
|
token str required |
The token created within Nautobot to authorize API access Can be omitted if the E(NAUTOBOT_TOKEN) environment variable is configured. |
|
url str required |
The URL of the Nautobot instance resolvable by the Ansible host (for example: http://nautobot.example.com:8000) Can be omitted if the E(NAUTOBOT_URL) environment variable is configured. |
|
validate_certs raw |
Default: True |
If C(no), SSL certificates will not be validated. This should only be used on personally controlled sites using self-signed certificates. Can be omitted if the E(NAUTOBOT_VALIDATE_CERTS) environment variable is configured. |
vc_position int |
Position in the assigned virtual chassis Version Added: 3.0.0 |
|
vc_priority int |
Priority in the assigned virtual chassis Version Added: 3.0.0 |
|
virtual_chassis raw |
Virtual chassis the device will be assigned to Version Added: 3.0.0 |
Notes¶
Note
- Tags should be defined as a YAML list
- This should be ran with connection C(local) and hosts C(localhost)
Examples¶
- name: "Test Nautobot modules"
connection: local
hosts: localhost
gather_facts: false
tasks:
- name: Create device within Nautobot with name
networktocode.nautobot.device:
url: http://nautobot.local
token: thisIsMyToken
name: Test Device
device_type: C9410R
role: Core Switch
location: My Location
status: active
state: present
- name: Delete device within nautobot with name
networktocode.nautobot.device:
url: http://nautobot.local
token: thisIsMyToken
name: Test Device
state: absent
- name: Rename device via ID
networktocode.nautobot.device:
url: http://nautobot.local
token: thisIsMyToken
id: 15b91de1-448d-4ff7-a00e-0a6816e8bf71
name: New Name
state: present
- name: Delete device via ID
networktocode.nautobot.device:
url: http://nautobot.local
token: thisIsMyToken
id: 15b91de1-448d-4ff7-a00e-0a6816e8bf71
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:
name: My Location
parent: Parent Location
status: active
local_config_context_data:
bgp: "65000"
tags:
- Schnozzberry
state: present
- name: Create device within Nautobot with secrets_group
networktocode.nautobot.device:
url: http://nautobot.local
token: thisIsMyToken
name: TopSecretDevice
device_type: C9410R
role: Core Switch
location: My Location
secrets_group: "Test Secrets Group"
status: active
state: present
- 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¶
Key | Data Type | Description | Returned |
---|---|---|---|
device | dict | Serialized object as created or already existent within Nautobot | success (when I(state=present)) |
msg | str | Message indicating failure or info about what has been achieved | always |
Authors¶
- Mikhail Yohman (@fragmentedpacket)
- David Gomez (@amb1s1)