Skip to content

Latest commit

 

History

History
1262 lines (649 loc) · 27.3 KB

netbox_config_context_module.rst

File metadata and controls

1262 lines (649 loc) · 27.3 KB
orphan

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

Note

This module is part of the netbox.netbox collection (version 3.18.0).

It is not included in ansible-core. To check whether it is installed, run ansible-galaxy collection list.

To install it, use: ansible-galaxy collection install netbox.netbox. You need further requirements to be able to use this module, see Requirements <ansible_collections.netbox.netbox.netbox_config_context_module_requirements> for details.

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

ansible-version-added

New in netbox.netbox 3.3.0

Synopsis

  • Creates, updates or removes configuration contexts from NetBox

Requirements

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

  • pynetbox

Parameters

X{1}{3}X{2}{3}

Parameter Comments

ansible-option-title

cert

any

Certificate path

ansible-option-title

data

dictionary / required

Defines the configuration context

ansible-option-title

cluster_groups

list / elements=string

List of cluster_groups to which configuration context applies

ansible-option-title

cluster_types

list / elements=string

List of cluster_types to which configuration context applies

ansible-option-title

clusters

list / elements=string

List of clusters to which configuration context applies

ansible-option-title

data

dictionary

JSON-formatted configuration context data

ansible-option-title

description

string

The description of the configuration context

ansible-option-title

device_types

list / elements=string

List of device_types to which configuration context applies

ansible-option-title

is_active

boolean

Whether configuration context is active

ansible-option-line

Choices:

  • false
  • true

ansible-option-title

name

string / required

Name of the context

ansible-option-title

platforms

list / elements=string

List of platforms to which configuration context applies

ansible-option-title

regions

list / elements=string

List of regions where configuration context applies

ansible-option-title

roles

list / elements=string

List of roles to which configuration context applies

ansible-option-title

site_groups

list / elements=string

List of site groups where configuration context applies

ansible-option-title

sites

list / elements=string

List of sites where configuration context applies

ansible-option-title

tags

list / elements=string

Any tags that the configuration context associates with

ansible-option-title

tenant_groups

list / elements=string

List of tenant_groups to which configuration context applies

ansible-option-title

tenants

list / elements=string

List of tenants to which configuration context applies

ansible-option-title

weight

integer

The weight of the configuration context

ansible-option-title

netbox_token

string / required

The NetBox API token.

ansible-option-title

netbox_url

string / required

The URL of the NetBox instance.

Must be accessible by the Ansible control host.

ansible-option-title

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.

ansible-option-title

state

string

The state of the object.

ansible-option-line

Choices:

  • "present" ← (default)
  • "absent"

ansible-option-title

validate_certs

any

If no, SSL certificates will not be validated.

This should only be used on personally controlled sites using a self-signed certificates.

ansible-option-line

Default: true

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.netbox.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.netbox.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.netbox.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 <common_return_values>, the following are the fields unique to this module:

X{1}{3}X{2}{3}

Key Description

ansible-option-title

config_context

dictionary

Serialized object as created/existent/updated/deleted within NetBox

ansible-option-line

Returned: always

ansible-option-title

msg

string

Message indicating failure or info about what has been achieved

ansible-option-line

Returned: always

Authors

  • Pavel Korovin (@pkorovin)