# Configuration Template

Configuration templates can be used to make configuration changes on networking devices, such as “Provisioning,” “OS Upgrade,” “Service Creation,” “Service Deactivation,” and “any change.”

## **Template Execution**

* Template is a Collection of commands (one or more) with zero or more variables to be executed on devices for specific operations (like ACL Modification, Route ADD, Interface NAC configuration, Interface IP Change, Interface Enable Disable, SNMP/LLDP/CDP enable or Disabling, OS Upgrade). By substituting different values (to variables) for different Devices, the user can reuse the same template for similar operations on multiple devices. Device Credentials, Device Interface Name/IP Address, and command inputs will become a variable portion in the command template.
* Templates are vendor and OS-type specific, which means separate templates must be built for the same operation on two different vendor devices or for two different OS Types of the same vendor. This is due to a difference in the command syntax and command formats for the same operation on two vendor devices.
* Apart from the command portion, Templates also contain information about the Vendor, OS Type, Series, and Model where the template can run, along with the ACL configuration that defines who can manage the Templates.
* Once the Configuration Template is built, the user can execute the Templates on devices using the Upload Job functionality.
* The Configuration Template (Network Diagnosis type) can be used in the Network Diagnosis functionality to Check the Device’s operational data and for simple configurations like Crypto cache clearing, daily diagnosis check, etc. (which do not affect and are not part of the Device Configuration).
* Configuration Template command portion should be written in XML format.

The Configuration Template inherits Jinja2 Template standards, and the user gets all the benefits of Jinja2 Template, such as Data Types (Integer, Boolean, List), Control Statements (If—elif—else, for loop, while Loop), and Operator conditions (=, !=, >, =, =, etc.).

{% hint style="info" %}
**Note:** The same Template framework and fundamental is followed in

* Configuration Profile - Used by Configuration Download Job to download Configurations, Inventories, and Operation Data.
* OS Image Download and Upgrade
* Configuration Triggers
* Policy Rule – Command Execution Scope
* Policy Remedy Execution
* CLI (Command Line Interface) Job
  {% endhint %}

Users will be given Direct CLI (SSH or Telnet) access to the Devices from the NCCM Application (like a Gateway process) for changing configurations.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.infraon.io/infraon-help/infinity-user-guide/infraon-configuration/it-operations/network-configuration/configuration-template.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
