netbox.netbox.netbox_export_template module – Creates, updates or deletes export templates within NetBox
Note
This module is part of the netbox.netbox collection (version 3.20.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 for details.
To use it in a playbook, specify: netbox.netbox.netbox_export_template
.
New in netbox.netbox 3.6.0
Synopsis
Creates, updates or removes export templates from NetBox
Requirements
The below requirements are needed on the host that executes this module.
pynetbox
Parameters
Parameter |
Comments |
---|---|
Certificate path |
|
Defines the custom field |
|
Download file as attachment |
|
The content type to apply this export template to |
|
The content type to apply this export template to (NetBox 3.4+) |
|
Description of the export template |
|
The file extension of the export template |
|
MIME type of the export template |
|
The name of the export template |
|
The object type to apply this export template to (NetBox 4.0+) |
|
Template code of the export template |
|
The NetBox API token. |
|
The URL of the NetBox instance. Must be accessible by the Ansible control host. |
|
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. |
|
If This should only be used on personally controlled sites using a self-signed certificates. :ansible-option-default-bold:`Default:` :ansible-option-default:`true` |
Notes
Note
This should be ran with connection
local
and hostslocalhost
Use the
!unsafe
data type if you want jinja2 code in template_code
Examples
- name: "Test NetBox export_templates module"
connection: local
hosts: localhost
tasks:
- name: "Ensure export template for /etc/hosts entries exists"
netbox.netbox.netbox_export_template:
netbox_url: http://netbox.local
netbox_token: thisIsMyToken
data:
object_types: ["dcim.device", "virtualization.virtualmachine"]
name: /etc/hosts
description: "Generate entries for /etc/hosts"
as_attachment: true
template_code: !unsafe |
{% for vm in queryset -%}
{%- if vm.primary_ip4 and vm.primary_ip6 %}
{{ vm.primary_ip4.address.ip }} {{ vm.primary_ip6.address.ip }} {{ vm }}
{%- elif vm.primary_ip4 %}
{{ vm.primary_ip4.address.ip }} {{ vm }}
{%- elif vm.primary_ip6 %}
{{ vm.primary_ip6.address.ip }} {{ vm }}
{%- endif -%}
{%- endfor %}
- name: Delete the export template
netbox.netbox.netbox_export_template:
netbox_url: http://netbox.local
netbox_token: thisIsMyToken
data:
content_type: "dcim.device"
name: /etc/hosts
state: absent
Return Values
Common return values are documented here, the following are the fields unique to this module:
Key |
Description |
---|---|
Serialized object as created/existent/updated/deleted within NetBox |
|
Message indicating failure or info about what has been achieved |