# 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”** ](https://docs.infraon.io/infraon-help/infinity-user-guide/infraon-configuration/discovery/automatic-discovery#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.

![](https://content.gitbook.com/content/E4mkwSP8a1BSD9BFNFav/blobs/qTEE6GzEkUUKzUIJK5Fz/Unknown%20image)

* **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.
