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

cert

Certificate path

data

Defines the custom field

as_attachment

content_type

The content type to apply this export template to

The content type to apply this export template to (NetBox 3.4+)

description

Description of the export template

file_extension

The file extension of the export template

mime_type

MIME type of the export template

name

The name of the export template

The object type to apply this export template to (NetBox 4.0+)

template_code

Template code of the export template

netbox_token

The NetBox API token.

netbox_url

The URL of the NetBox instance.

Must be accessible by the Ansible control host.

query_params

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

validate_certs

If no, SSL certificates will not be validated.

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 hosts localhost

  • 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

:ansible-option-returned-bold:`Returned:` always

msg

Message indicating failure or info about what has been achieved

:ansible-option-returned-bold:`Returned:` always

Authors

  • Martin Rødvand (@rodvand)