Skip to content

virtual_device_context

Collection Note

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

ansible-galaxy collection install networktocode.nautobot
Added in version 5.16.0.

You need further requirements to be able to use this module, see the Requirements section for details.

Synopsis

  • Creates, updates or removes virtual device contexts 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
contacts
dict
Associate contacts
Version Added: 6.3.0
contacts.objects List of contacts to associate.
contacts.state Default: merge
Choices: merge, replace, delete
C(merge) adds associations without removing existing ones.
C(replace) enforces exactly the listed associations, removing any extras.
C(delete) removes the listed associations.
custom_fields
dict
Must exist in Nautobot and in key/value format
Version Added: 3.0.0
description
str
The description of the virtual device context
device
raw
The device that the virtual device context is associated with
Required if I(state=present) and the virtual device context does not exist yet
id
str
The UUID of the object to operate on
Version Added: 5.13.0
identifier
int
Unique identifier provided by the platform being virtualized
name
str
The name of the virtual device context
Required if I(state=present) and the virtual device context does not exist yet
notes
dict
Manage notes on the object
Version Added: 6.3.0
notes.objects List of notes to manage.
notes.state Default: merge
Choices: merge, replace, delete
C(merge) adds notes without removing existing ones.
C(replace) enforces exactly the listed notes, removing any extras.
C(delete) removes the listed notes.
primary_ip4
raw
The primary IPv4 address of the virtual device context
primary_ip6
raw
The primary IPv6 address of the virtual device context
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
role
raw
The role of the virtual device context
state
str
Default: present
Choices: absent, present
Use C(present) or C(absent) for adding or removing.
status
raw
The status of the virtual device context
Required if I(state=present) and the virtual device context does not exist yet
tags
list / elements=raw
Any tags that this item may need to be associated with
Version Added: 3.0.0
teams
dict
Associate teams
Version Added: 6.3.0
teams.objects List of teams to associate.
teams.state Default: merge
Choices: merge, replace, delete
C(merge) adds associations without removing existing ones.
C(replace) enforces exactly the listed associations, removing any extras.
C(delete) removes the listed associations.
tenant
raw
The tenant that the virtual device context is associated with
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.
vrfs
dict
List of VRFs to associate with this virtual device context.
Version Added: 6.2.0
vrfs.objects List of VRFs to associate.
vrfs.state Default: merge
Choices: merge, replace, delete
C(merge) adds associations without removing existing ones.
C(replace) enforces exactly the listed associations, removing any extras.
C(delete) removes the listed associations.

Notes

Note

  • Tags should be defined as a YAML list
  • This should be ran with connection C(local) and hosts C(localhost)
  • This module requires Nautobot 2.4 or later

Examples

- name: Create a virtual device context
  networktocode.nautobot.virtual_device_context:
    url: http://nautobot.local
    token: thisIsMyToken
    name: "My Virtual Device Context"
    device: "My Device"
    status: "Active"
    state: present

- name: Create a virtual device context with inline VRF associations
  networktocode.nautobot.virtual_device_context:
    url: http://nautobot.local
    token: thisIsMyToken
    name: "My Virtual Device Context"
    device: "My Device"
    status: "Active"
    vrfs:
      state: merge
      objects:
        - vrf: "Test VRF"
    state: present

- name: Delete a virtual device context
  networktocode.nautobot.virtual_device_context:
    url: http://nautobot.local
    token: thisIsMyToken
    name: "My Virtual Device Context"
    state: absent

- name: Delete a virtual device context by id
  networktocode.nautobot.virtual_device_context:
    url: http://nautobot.local
    token: thisIsMyToken
    id: 00000000-0000-0000-0000-000000000000
    state: absent

Return Values

Key Data Type Description Returned
msg str Message indicating successful operation success
virtual_device_context dict Serialized object as created or already existent within Nautobot success (when I(state=present))

Authors

  • Joe Wesch (@joewesch)