netbox.netbox.netbox_config_context – Creates, updates or deletes configuration contexts within NetBox

Note

This plugin is part of the netbox.netbox collection (version 3.4.0).

To install it use: ansible-galaxy collection install netbox.netbox.

To use it in a playbook, specify: netbox.netbox.netbox_config_context.

New in version 3.3.0: of netbox.netbox

Synopsis

  • Creates, updates or removes configuration contexts from NetBox

Requirements

The below requirements are needed on the host that executes this module.

  • pynetbox

Parameters

Parameter Choices/Defaults Comments
cert
raw
Certificate path
data
dictionary / required
Defines the configuration context
cluster_groups
list / elements=string
List of cluster_groups to which configuration context applies
clusters
list / elements=string
List of clusters to which configuration context applies
data
dictionary
JSON-formatted configuration context data
description
string
The description of the configuration context
device_types
list / elements=string
List of device_types to which configuration context applies
is_active
boolean
    Choices:
  • no
  • yes
Whether configuration context is active
name
string / required
Name of the context
platforms
list / elements=string
List of platforms to which configuration context applies
regions
list / elements=string
List of regions where configuration context applies
roles
list / elements=string
List of roles to which configuration context applies
sites
list / elements=string
List of sites where configuration context applies
tags
list / elements=string
Any tags that the configuration context associates with
tenant_groups
list / elements=string
List of tenant_groups to which configuration context applies
tenants
list / elements=string
List of tenants to which configuration context applies
weight
integer
The weight of the configuration context
netbox_token
string / required
The NetBox API token.
netbox_url
string / required
The URL of the NetBox instance.
Must be accessible by the Ansible control host.
query_params
list / elements=string
This can be used to override the specified values in ALLOWED_QUERY_PARAMS that are defined
in plugins/module_utils/netbox_utils.py and provides control to users on what may make
an object unique in their environment.
state
string
    Choices:
  • present ←
  • absent
The state of the object.
validate_certs
raw
Default:
"yes"
If no, SSL certificates will not be validated.
This should only be used on personally controlled sites using a self-signed certificates.

Notes

Note

  • Tags should be defined as a YAML list

  • This should be ran with connection local and hosts localhost

Examples

- name: "Test NetBox config_context module"
  connection: local
  hosts: localhost
  gather_facts: False
  tasks:
    - name: Create config context and apply it to sites euc1-az1, euc1-az2 with the default weight of 1000
      netbox_config_context:
        netbox_url: http://netbox.local
        netbox_token: thisIsMyToken
        data:
          name: "dns_nameservers-quadnine"
          description: "9.9.9.9"
          data: "{ \"dns\": { \"nameservers\": [ \"9.9.9.9\" ] } }"
          sites: [ euc1-az1, euc1-az2 ]

    - name: Detach config context from euc1-az1, euc1-az2 and attach to euc1-az3
      netbox_config_context:
        netbox_url: http://netbox.local
        netbox_token: thisIsMyToken
        data:
          name: "dns_nameservers-quadnine"
          data: "{ \"dns\": { \"nameservers\": [ \"9.9.9.9\" ] } }"
          sites: [ euc1-az3 ]

    - name: Delete config context
      netbox_config_context:
        netbox_url: http://netbox.local
        netbox_token: thisIsMyToken
        data:
          name: "dns_nameservers-quadnine"
          data: "{ \"dns\": { \"nameservers\": [ \"9.9.9.9\" ] } }"
        state: absent

Return Values

Common return values are documented here, the following are the fields unique to this module:

Key Returned Description
config_context
dictionary
always
Serialized object as created/existent/updated/deleted within NetBox

msg
string
always
Message indicating failure or info about what has been achieved



Authors

  • Pavel Korovin (@pkorovin)