> For the complete documentation index, see [llms.txt](https://docs.infraon.io/infraon-help/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.infraon.io/infraon-help/infinity-user-guide/infraon-configuration/it-operations/network-configuration/download-jobs/add-download-job.md).

# Add Download Job

There are three ways to add download jobs: manually, by entering the required details individually through the interface, or via CSV bulk upload, which allows users to add multiple jobs at once using a preformatted CSV file, and by selecting the [**“Configuration Download”** ](/infraon-help/infinity-user-guide/infraon-configuration/it-operations/discovery/automatic-discovery.md#initiate-automatic-discovery)toggle in the Automatic discovery page.

## **Manual**

To add download jobs for a specific IT asset, follow these steps:

* Click on **“Go to Assets,”** located on the top panel of the page. (This will redirect you to the IT Assets page.)
* Select the checkbox under the desired IT asset, then go to the top panel and choose **“More”** -> **“Add Download Jobs”.**
* Refer to the table below to enter the required details.

**Add Download Jobs |** Manually

| **Label**                                | **Action**                                                                                                                                                                                      | **Description**                                                                                                                                                                                     |
| ---------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Device IP Address**                    |                                                                                                                                                                                                 |                                                                                                                                                                                                     |
| IP Address                               | Enter the unique identifier for the device.                                                                                                                                                     | <p>The IP address helps in identifying the network device for which the job is being added.</p><p><strong>Example:</strong> 192.168.0.1.</p>                                                        |
| **Configuration Profile**                |                                                                                                                                                                                                 |                                                                                                                                                                                                     |
| Profile\*                                | Select from the drop-down to identify the configuration profile to add.                                                                                                                         | <p>The profile name helps group and manage configurations for specific devices.</p><p><strong>Example:</strong> Cisco IOS SGS.</p>                                                                  |
| Vendor\*                                 | Provide the vendor's name associated with the configuration profile.                                                                                                                            | <p>This is the manufacturer of the device.</p><p><strong>Example:</strong> Cisco, Juniper, Nivetti, etc.</p>                                                                                        |
| **Schedule Details \***                  |                                                                                                                                                                                                 |                                                                                                                                                                                                     |
| Schedule Details                         | Choose a schedule mode from the options: **once, every, daily, weekly, or monthly**, and set a specific **time.**                                                                               | <p>Schedule details determine when the download job will be executed automatically.</p><p><strong>Example:</strong> Scheduled on 23 December 2024, 12:0</p>                                         |
| Device Credentials\*                     | Select the primary device credential profile from the drop-down list.                                                                                                                           | <p>Device credentials include a username and password for accessing the device securely.</p><p><strong>Example:</strong> Cisco Infraon Server.</p>                                                  |
| Secondary Device Credentials             | Select an optional secondary device credential profile from the drop-down list.                                                                                                                 | <p>Secondary credentials act as a backup in case primary credentials fail.</p><p><strong>Example:</strong> SNMP Default</p>                                                                         |
| Select Agent\*                           | Pick the relevant agent from the drop-down list.                                                                                                                                                | <p>The agent is a service or application responsible for executing the download job.</p><p><strong>Example:</strong> INFRAON\_APP.</p>                                                              |
| **Connection Details**                   |                                                                                                                                                                                                 |                                                                                                                                                                                                     |
| Ping Timeout (msec)                      | Enter the timeframe in milliseconds.                                                                                                                                                            | <p>If the "Filter by Ping" option is enabled, the specified ping timeout (in msec) will be applied.</p><p><strong>Example:</strong> 500.</p>                                                        |
| Filter by Ping                           | Toggle to enable or disable the functionality.                                                                                                                                                  | When enabled, this option ensures that only devices that respond to a PING request are considered for configuration downloads.                                                                      |
| Configuration Download Shell             | <p>Select either Remote or Local.</p><p><strong>Note:</strong> Shell property is used to Inform NCCM to open a remote session (TELNET or SSH) from a Device for further command executions.</p> | Choose the method to download the configuration file. **Remote** means downloading the configuration from a remote server, while **Local** means downloading the configuration from a local source. |
| Inventory Download Shell                 | <p>Select either Remote or Local.</p><p><strong>Note:</strong> Shell property is used to Inform NCCM to open a remote session (TELNET or SSH) from a Device for further command executions.</p> | Choose the method for downloading the inventory information. **Remote** fetches inventory data from a remote server, whereas **Local** uses data stored locally for the download.                   |
| Other Configuration Download Shell       | <p>Select either Remote or Local.</p><p><strong>Note:</strong> Shell property is used to Inform NCCM to open a remote session (TELNET or SSH) from a Device for further command executions.</p> | Select the method for downloading additional configuration files (other than the main configuration). **Remote or Local** options determine whether the download is from a remote or local source.  |
| Connection Protocol                      | Choose the protocol for Connection Download from the dropdown menu.                                                                                                                             | The communication protocol is used to connect to devices. Options include **SSH, TELNET, or a combination of both.**                                                                                |
| **Download Protocol**                    |                                                                                                                                                                                                 |                                                                                                                                                                                                     |
| Running Configuration Download Protocol  | Select the protocol for Running Configuration Download using the dropdown menu.                                                                                                                 | Protocols available for downloading running configurations: **TFTP, FTP, Terminal, SCP, and SFTP.**                                                                                                 |
| Start-Up Configuration Download Protocol | Select the protocol for Startup Configuration Download using the dropdown menu.                                                                                                                 | Protocols available for downloading start-up configurations: **TFTP, FTP, Terminal, SCP, and SFTP.**                                                                                                |
| OS Image Download Protocol               | Select the protocol for OS Image Download using the dropdown menu.                                                                                                                              | Protocols for downloading OS images include **TFTP, FTP, Terminal, SCP, and SFTP.**                                                                                                                 |
| Inventory Download Protocol              | Select the protocol for Inventory Download using the dropdown menu.                                                                                                                             | Options for downloading inventory details: **TFTP, FTP, Terminal, SCP, SFTP.**                                                                                                                      |
| Other Configuration Download Protocol    | Select the protocol for Other Configuration Download using the dropdown menu.                                                                                                                   | Additional configuration protocols are supported: **TFTP, FTP, Terminal, SCP, and** **SFTP.**                                                                                                       |
| **Retry Times**                          |                                                                                                                                                                                                 |                                                                                                                                                                                                     |
| Retry Times                              | Choose the number of retries for a failed download from the dropdown menu.                                                                                                                      | <p>Specifies how many times the system will attempt to re-download after a failure.</p><p><strong>Options: 0 to 5.</strong></p>                                                                     |
| Retry Interval in Hrs                    | Specify the retry interval in hours using the dropdown menu.                                                                                                                                    | Sets the time interval (in hours) between retries. Options range from **0 to 10.**                                                                                                                  |
| Other Details                            |                                                                                                                                                                                                 |                                                                                                                                                                                                     |
| VTY Properties                           | Enter the VTY properties for the device.                                                                                                                                                        | <p>Defines terminal properties for the Virtual Teletype (VTY) interface.</p><p><strong>Example:</strong> {"TERM":"xterm"}.</p>                                                                      |
| Minimum Configuration Lines Count        | Define the minimum number of configuration lines to process.                                                                                                                                    | <p>Specifies the lower limit for configuration line processing.</p><p><strong>Example:</strong> 10.</p>                                                                                             |

{% hint style="info" %}
**Note:**

* Fields marked with an asterisk (\*) are mandatory and must be filled out.
* **Connection, Download, Retry**, and **Other Details** are pre-filled by default. To modify these fields, use the “Edit” action icon.
* Once the details have been filled, click **“Submit.”**
  {% endhint %}

## **CSV Upload**

To add download jobs for bulk, follow these steps:

* Navigate to the Download Jobs and select the **“Import from CSV”** option located on the top right corner.
* Download the CSV file (Excel sheet) and enter the respective fields on the sheet.
* Upload the same edited CSV file.
* Click Next -> Import -> Proceed with Valid Records.

## **Downloaded Configuration to SFTP**

Processing downloaded configuration to SFTP allows NCCM to **store device configuration data as files in an SFTP repository** when a download job is executed. Instead of only maintaining configuration data internally, this feature enables **file-based storage with version awareness**, ensuring configurations are retained only when changes occur.

This capability is controlled using the **download\_from attribute** in the Configuration Profile.

#### **When and Why to Use This**

Use this feature when you need to:

* Store **running or startup configurations as files** in an external SFTP server
* Maintain **versioned configuration history** outside NCCM
* Avoid duplicate storage when no configuration changes are detected
* Track file operations through **download job audit logs**
* **Configuration Profile**

Used to define how configuration data is downloaded and named using the download\_from attribute.

![](/files/43f7226f446deaa77773147f72ef7ad8e3598c8d)

* **Download Job**

Executes the configuration download and initiates file transfer to the SFTP repository.

### **How It Works**

1. A **download job** is triggered for a device.
2. The configuration is fetched from the device using the **download\_from file transfer command**.
3. The file is transferred from the **device to the agent**, and then from the **agent to the backend API**.
4. The backend API stores the file in the **SFTP repository**.
5. NCCM compares the downloaded configuration with the previously stored version:
6. If a **version change is detected**, the file is retained and renamed.
7. If **no version change is detected**, the newly downloaded file is removed.
8. All file operations are recorded in **Download Job Audits**.

#### **Attribute**

The download\_from attribute is used only when configuration data must be downloaded **as a file**.

**Sample value format:**

```
{{Time.YYYYMMDDHHMMSS}}_running.txt
```

* The timestamp ensures uniqueness during file transfer.
* The same value is used as the **initial file name** when the file is received.
* Applicable for both **running** and **startup** configuration downloads.

#### **File Storage Path**

Downloaded configuration files are stored in the following SFTP directory structure:

```
<default_login_path>/configuration_data/<organization_id>/<ip_address>/
```

#### **Configuration Version**

**When Configuration Version Changes**

* The downloaded file is **retained**.
* The file name is renamed from:

```
{{Time.YYYYMMDDHHMMSS}}_running.txt
to:
<result_id><config_type>
```

* This rename happens **only on the first detection of a new version**.
* An audit entry is recorded for the rename action.

**When Configuration Version Does Not Change**

* The newly downloaded file is **removed from the SFTP server**.
* This prevents duplicate or unnecessary file storage.
* An audit entry is recorded for the file removal.

{% hint style="info" %}

* File storage is enabled only when download\_from is configured.
* Version comparison determines whether a file is retained or removed.
* Timestamp-based file naming is used only during initial download.
* Final file names reflect **result ID, configuration type, and version**.
* All file operations are fully auditable.
  {% endhint %}

## **Configuration Download Status Control**

**Configuration Download Status Control** is a toggle available in the Data Collector module that determines how NCCM evaluates the final status of a **Download Job** when both **running** and **startup** configurations are involved.

This setting controls whether the download job is marked as **Success** or **Failed** based on the outcome of configuration downloads.

### **How It Works**

When a download job is executed, NCCM may download:

* Running configuration
* Startup configuration

The **Configuration Download Status Control** toggle defines how the system decides the overall job result when one or both configuration downloads fail.

* When enabled, the job status is determined with priority to the **running configuration**.
* When disabled, the job status requires **both running and startup configurations** to be successfully downloaded.

This behavior is applied automatically during download job execution and does not require any user action when creating the job.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://docs.infraon.io/infraon-help/infinity-user-guide/infraon-configuration/it-operations/network-configuration/download-jobs/add-download-job.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
