Skip to content

controller

Collection Note

This module is part of the networktocode.nautobot collection. To install the collection, use:

ansible-galaxy collection install networktocode.nautobot
You need further requirements to be able to use this module, see the Requirements section for details.

Synopsis

  • Creates, updates or removes controllers 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
controller_device str Device that runs the controller software
controller_device_redundancy_group str Related device redundancy group the controller will be assigned to
custom_fields dict Must exist in Nautobot and in key/value format
Version Added: 3.0.0
description str Description of the controller
external_integration str External connection for the controller, such as Meraki Cloud URL
location raw Required if I(state=present) and the controller does not exist yet
name
required
str The name of the controller
platform raw The platform of the controller
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
role raw Required if I(state=present) and the controller does not exist yet
state str Use C(present) or C(absent) for adding or removing.
status raw The status of the controller Required if I(state=present) and the controller does not exist yet
tags list Any tags that this item may need to be associated with
Version Added: 3.0.0
tenant raw The tenant that the controller will be assigned to
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.

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 controller within Nautobot with only required information
      networktocode.nautobot.controller:
        url: http://nautobot.local
        token: thisIsMyToken
        name: "test_controller_2"
        location: My Location
        status: "Active"
        state: present

    - name: "CREATE THE SECOND CONTROLLER"
      networktocode.nautobot.controller:
        name: "test_controller_3"
        url: http://nautobot.local
        token: thisIsMyToken
        status: "Active"
        description: "Description of the controller"
        location: "Cisco"
        external_integration: "Cisco Catalyst SD-WAN"
        role: "Administrative"
        platform: "Cisco IOS"
        tenant: "Nautobot Baseball Stadiums"
        controller_device_redundancy_group: "controller_test"

    - name: Delete controller within nautobot
      networktocode.nautobot.controller:
        url: http://nautobot.local
        token: thisIsMyToken
        name: test_controller_3
        state: absent

Return Values

Key Data Type Description Returned
controller 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

  • Josh Vanderaa (@jvanderaa)