device¶
Collection Note
This module is part of the networktocode.nautobot collection. To install the collection, use:
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 | Data Type | Environment Variable | 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 Version Added: 3.0.0 |
|
face | str | Required if I(rack) is defined Version Added: 3.0.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 Version Added: 3.0.0 |
|
name required |
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 | 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 Version Added: 3.0.0 |
|
serial | str | Serial number of the device Version Added: 3.0.0 |
|
state | str | 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 | 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 required |
str | The token created within Nautobot to authorize API access Can be omitted if the E(NAUTOBOT_TOKEN) environment variable is configured. | |
url required |
str | 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 | 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 only required information
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: 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:
name: My Location
parent: Parent Location
status: active
state: present
- 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:
name: My Location
parent: Parent Location
status: active
local_config_context_data:
bgp: "65000"
tags:
- Schnozzberry
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)