# Runtime Parameter

It allows dynamic configuration customization across devices by injecting parameterized values into reusable configuration templates. These parameters act as **runtime placeholders**, such as **hostname, loopback IP, MAC address,** etc., which get automatically replaced during job execution based on contextual data, without hardcoding device-specific values.

The Runtime Parameter framework offers key benefits such as:

* Template reusability across multiple devices<br>
* Dynamic substitution of device-specific values at execution time<br>
* Flexible input methods through UI, CSV upload, or API integration<br>
* Reduced manual errors by ensuring consistent parameter mapping<br>
* Replacement of legacy script-driven setups with a structured, auditable approach<br>

## **How Does It Work?**

Runtime Parameters work as **bridge variables** between static templates and real-time configuration needs. Here's a step-by-step explanation:

**1.** **Template Definition**

A configuration template is created using special variables wrapped in **runtime.** format. For example:

**hostname {{Runtime.hostname}}**\
**ip address {{Runtime.loopback\_ip}} 255.255.255.0**

**2.** **Mapping Runtime Parameters**

These variables must be mapped to actual values for each device. The Runtime Parameter module does this, and it stores the values either per device or per profile.

**3.** **Parameter Input Methods**

* **Manual Entry**: Technicians can input values via the UI during job setup.
* **CSV Upload**: Bulk upload of values for multiple devices using a predefined CSV format.
* **API Integration**: Values fetched automatically from third-party systems like IPAM, CMDB, etc.

**4.** **Job Execution**

During the job run (Upload Job or ZTP), the NCCM engine parses the template and locates the runtime variables, substituting them with the mapped values.

**5.** **Fallback or Validation**

If a runtime variable is missing:

* The system can pause for input (if enabled)
* Skip that section
* Or fail the job (depending on configuration)

## **What Do You See on the Screen**

It provides a tabular view of all parameter mappings associated with configuration templates and profiles.

Each row represents a runtime parameter mapped to a specific IP address and configuration profile. Users can **add parameters manually, import in bulk using CSV**, or **edit/delete existing mappings**.

Runtime Parameters **| Basic Details**

| **Label**                     | **Action**                                         | **Description / Example**                                                                                                                                            |
| ----------------------------- | -------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Search**                    | Search for the parameter.                          | Search by IP address, profile, or template name to quickly locate specific parameters.                                                                               |
| **Filter**                    | Click icon                                         | Apply filters based on configuration profile, visibility, or status to narrow down results.                                                                          |
| **Import from CSV**           | Click to proceed to add parameters from a CSV file | Select the target configuration profile and upload a CSV containing parameter mappings. (Detailed steps will be covered under the **Add Runtime Parameter** section) |
| **Add**                       | Click to add a parameter manually.                 | Opens the form to input a new runtime parameter. (Steps covered in the **Add Runtime Parameter** section)                                                            |
| **IP Address**                | View-only field, no actions can be taken.          | Displays the IP address of the device associated with the runtime parameter.                                                                                         |
| **Configuration Profile**     | View-only field, no actions can be taken.          | Displays the configuration profile that the parameter belongs to.                                                                                                    |
| **Configuration Template(s)** | View-only field, no actions can be taken.          | Shows the template(s) that use the runtime parameter. Example: Cisco ALL Type Changing the Hostname                                                                  |
| **Visibility**                | View-only field, no actions can be taken.          | Indicates whether the parameter is Public or Restricted. Example: Public                                                                                             |
| **Reason For Disable**        | View-only field, no actions can be taken.          | Displays the reason if the parameter is disabled. Example: - (empty if active)                                                                                       |
| **Enable Status**             | Toggle indicator                                   | Shows whether the parameter is currently enabled. Toggle is not editable here.                                                                                       |
| **Status**                    | View-only field, no actions can be taken.          | Reflects the execution status of the parameter. Example: Completed, Yet To Do                                                                                        |
| **Edit**                      | Click the pencil icon                              | Opens the parameter in edit mode to modify mapped values.                                                                                                            |
| **Delete**                    | Click the trash icon.                              | Deletes the runtime parameter mapping from the system. Confirmation may be prompted.                                                                                 |

{% hint style="info" %}
Users can select multiple parameters simultaneously and delete them in bulk using the multi-select option.
{% endhint %}

## **Add Runtime Parameter**

To add a new runtime parameter:

* Go to **Network Configuration→ Runtime Parameter**

Parameters can be added in two different ways.

### **Manually**

* Click the **"Add"** button at the page's top right corner.
* Refer to the table below to enter the details in the pop-up form.

Add Runtime Parameter **| Basic Details**

| Label                          | Action                                                          | Description / Example                                                                                                                                                                                                                |
| ------------------------------ | --------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| Select Configuration Profile\* | Select a configuration profile from the dropdown.               | Used to associate the runtime parameter with the appropriate device group and template. This list is fetched from the Configuration Profiles module.                                                                                 |
| Visibility                     | Choose between “Public” or “Private”                            | This defines the access level for the parameter. Public makes it visible system-wide, while Private restricts it to the user session or scope.                                                                                       |
| IP Address\*                   | Enter the device’s IP address.                                  | <p>Required to uniquely identify the device for which the runtime parameter is being created.</p><p><strong>Example:</strong> 10.0.4.5</p>                                                                                           |
| MAC Address                    | Enter the device’s MAC address.                                 | <p>Helps identify the device if the IP alone is insufficient or during DHCP-based provisioning.</p><p><strong>Example:</strong> 00:1A:2B:3C:4D:5E</p>                                                                                |
| Hostname                       | Enter the hostname of the device                                | Used to set or replace the hostname during configuration template execution dynamically. Example: branch-switch-01                                                                                                                   |
| Serial Number                  | Enter the device’s serial number if known                       | <p>Useful for device inventory validation, licensing, and associating runtime parameters uniquely across similar models.</p><p><strong>Example:</strong> FTX1234ABCD</p>                                                             |
| Template Field – Hostname\*    | Enter the value for the hostname parameter used in the template | <p>This is the actual runtime field being mapped in the selected template. It ensures that the correct hostname is applied during automated configuration.</p><p>It cannot be left empty; use null if it is intentionally blank.</p> |

**Note:** Fields marked with an asterisk (\*) are mandatory and must be filled out.

### **Bulk Upload**

To add runtime parameters in bulk, follow these steps:

* Go to the **Runtime Parameters** module and click the **“Import from CSV”** option in the top panel.
* Choose the relevant **configuration profile** where the parameters should be applied.
* Download the **sample CSV template** and fill in the required fields (such as IP address, hostname, etc.) in the Excel sheet.
* Upload the completed CSV file.
* Click **Next → Import → Proceed with Valid Records** to finalize the upload.


---

# 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/runtime-parameter.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.
