1
0
mirror of https://github.com/netbox-community/netbox.git synced 2024-05-10 07:54:54 +00:00

1.6 KiB

{!models/extras/exporttemplate.md!}

REST API Integration

When it is necessary to provide authentication credentials (such as when LOGIN_REQUIRED has been enabled), it is recommended to render export templates via the REST API. This allows the client to specify an authentication token. To render an export template via the REST API, make a GET request to the model's list endpoint and append the export parameter specifying the export template name. For example:

GET /api/dcim/sites/?export=MyTemplateName

Note that the body of the response will contain only the rendered export template content, as opposed to a JSON object or list.

Example

Here's an example device export template that will generate a simple Nagios configuration from a list of devices.

{% for device in queryset %}{% if device.status and device.primary_ip %}define host{
        use                     generic-switch
        host_name               {{ device.name }}
        address                 {{ device.primary_ip.address.ip }}
}
{% endif %}{% endfor %}

The generated output will look something like this:

define host{
        use                     generic-switch
        host_name               switch1
        address                 192.0.2.1
}
define host{
        use                     generic-switch
        host_name               switch2
        address                 192.0.2.2
}
define host{
        use                     generic-switch
        host_name               switch3
        address                 192.0.2.3
}