networktocode.nautobot.device (5.1.1) — module

Create, update or delete devices within Nautobot

| "added in version" 1.0.0 of networktocode.nautobot"

Authors: Mikhail Yohman (@FragmentedPacket), David Gomez (@amb1s1)

Install collection

Install with ansible-galaxy collection install networktocode.nautobot:==5.1.1


Add to requirements.yml

  collections:
    - name: networktocode.nautobot
      version: 5.1.1

Description

Creates, updates or removes devices from Nautobot


Requirements

Usage examples

  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- 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

Inputs

    
url:
    description:
    - 'The URL of the Nautobot instance resolvable by the Ansible host (for example: http://nautobot.example.com:8000)'
    required: true
    type: str

face:
    choices:
    - Front
    - front
    - Rear
    - rear
    description:
    - Required if I(rack) is defined
    required: false
    type: str
    version_added: 3.0.0
    version_added_collection: networktocode.nautobot

name:
    description:
    - The name of the device
    required: true
    type: str
    version_added: 3.0.0
    version_added_collection: networktocode.nautobot

rack:
    description:
    - The name of the rack to assign the device to
    required: false
    type: raw
    version_added: 3.0.0
    version_added_collection: networktocode.nautobot

role:
    description:
    - Required if I(state=present) and the device does not exist yet
    required: false
    type: raw
    version_added: 3.0.0
    version_added_collection: networktocode.nautobot

tags:
    description:
    - Any tags that this item may need to be associated with
    elements: raw
    required: false
    type: list
    version_added: 3.0.0
    version_added_collection: networktocode.nautobot

state:
    choices:
    - absent
    - present
    default: present
    description:
    - Use C(present) or C(absent) for adding or removing.
    type: str

token:
    description:
    - The token created within Nautobot to authorize API access
    required: true
    type: str

serial:
    description:
    - Serial number of the device
    required: false
    type: str
    version_added: 3.0.0
    version_added_collection: networktocode.nautobot

status:
    description:
    - The status of the device
    - Required if I(state=present) and the device does not exist yet
    required: false
    type: raw
    version_added: 3.0.0
    version_added_collection: networktocode.nautobot

tenant:
    description:
    - The tenant that the device will be assigned to
    required: false
    type: raw
    version_added: 3.0.0
    version_added_collection: networktocode.nautobot

cluster:
    description:
    - Cluster that the device will be assigned to
    required: false
    type: raw
    version_added: 3.0.0
    version_added_collection: networktocode.nautobot

comments:
    description:
    - Comments that may include additional information in regards to the device
    required: false
    type: str
    version_added: 3.0.0
    version_added_collection: networktocode.nautobot

location:
    description:
    - Required if I(state=present) and the device does not exist yet
    required: false
    type: raw
    version_added: 3.0.0
    version_added_collection: networktocode.nautobot

platform:
    description:
    - The platform of the device
    required: false
    type: raw
    version_added: 3.0.0
    version_added_collection: networktocode.nautobot

position:
    description:
    - The position of the device in the rack defined above
    required: false
    type: int
    version_added: 3.0.0
    version_added_collection: networktocode.nautobot

asset_tag:
    description:
    - Asset tag that is associated to the device
    required: false
    type: str
    version_added: 3.0.0
    version_added_collection: networktocode.nautobot

api_version:
    description:
    - API Version Nautobot REST API
    required: false
    type: str
    version_added: 4.1.0
    version_added_collection: networktocode.nautobot

device_type:
    description:
    - Required if I(state=present) and the device does not exist yet
    required: false
    type: raw
    version_added: 3.0.0
    version_added_collection: networktocode.nautobot

primary_ip4:
    description:
    - Primary IPv4 address assigned to the device
    required: false
    type: raw
    version_added: 3.0.0
    version_added_collection: networktocode.nautobot

primary_ip6:
    description:
    - Primary IPv6 address assigned to the device
    required: false
    type: raw
    version_added: 3.0.0
    version_added_collection: networktocode.nautobot

vc_position:
    description:
    - Position in the assigned virtual chassis
    required: false
    type: int
    version_added: 3.0.0
    version_added_collection: networktocode.nautobot

vc_priority:
    description:
    - Priority in the assigned virtual chassis
    required: false
    type: int
    version_added: 3.0.0
    version_added_collection: networktocode.nautobot

query_params:
    description:
    - 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.
    elements: str
    required: false
    type: list
    version_added: 3.0.0
    version_added_collection: networktocode.nautobot

custom_fields:
    description:
    - Must exist in Nautobot and in key/value format
    required: false
    type: dict
    version_added: 3.0.0
    version_added_collection: networktocode.nautobot

validate_certs:
    default: true
    description:
    - If C(no), SSL certificates will not be validated. This should only be used on personally
      controlled sites using self-signed certificates.
    required: false
    type: raw

virtual_chassis:
    description:
    - Virtual chassis the device will be assigned to
    required: false
    type: raw
    version_added: 3.0.0
    version_added_collection: networktocode.nautobot

device_redundancy_group:
    description:
    - Device redundancy group the device will be assigned to
    required: false
    type: raw
    version_added: 5.1.0
    version_added_collection: networktocode.nautobot

local_config_context_data:
    description:
    - Arbitrary JSON data to define the devices configuration variables.
    required: false
    type: dict
    version_added: 3.0.0
    version_added_collection: networktocode.nautobot

device_redundancy_group_priority:
    description:
    - Priority in the assigned device redundancy group
    required: false
    type: int
    version_added: 5.1.0
    version_added_collection: networktocode.nautobot

Outputs

device:
  description: Serialized object as created or already existent within Nautobot
  returned: success (when I(state=present))
  type: dict
msg:
  description: Message indicating failure or info about what has been achieved
  returned: always
  type: str