# Adding Devices

{% hint style="warning" %}
The user needs to make sure, The devices have a unique name, otherwise, there will issue while plotting the full topology view(Topology Page).
{% endhint %}

* Agent-based devices auto-discover the ONES-App and get registered automatically on the ONES Inventory page
* To Onboard the Agent-Less devices user needs to add them manually
  * Navigate to Devices

<figure><img src="https://2376813750-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fcd2rizc8cOY7cJKDEOsa%2Fuploads%2Fe8N85H5TIo0wkKRwuQcR%2FScreenshot%202025-08-15%20at%2010.47.07%E2%80%AFPM.png?alt=media&#x26;token=78bef352-f631-48af-94ad-0172e067ddf4" alt=""><figcaption></figcaption></figure>

* This page gives the control to onboard the devices with two options&#x20;
  1. <mark style="color:blue;">**Add Devices**</mark> using the <mark style="color:blue;">**YAML Editor**</mark>&#x20;
  2. Upload the <mark style="color:blue;">**CSV file**</mark> containing the device list

{% hint style="warning" %}
The movement user chooses CSV upload, then the YAML Editor will be disabled
{% endhint %}

<figure><img src="https://2376813750-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fcd2rizc8cOY7cJKDEOsa%2Fuploads%2FJm2gd82zqaQ241IoNxHH%2FScreenshot%202025-08-15%20at%2010.47.45%E2%80%AFPM.png?alt=media&#x26;token=849189cd-de0c-4221-b6a2-61f775831b4b" alt=""><figcaption></figcaption></figure>

## 1. Add Devices using YAML

* Click on <mark style="color:blue;">**Add Devices**</mark>
* Upload Device Inventory using <mark style="color:blue;">**YAML Editor**</mark>
* Navigate to <mark style="color:blue;">**Manage  >> Devices >> Add Devices >> Use YAML**</mark>
* Use the below format to add devices to the application

{% hint style="info" %}
To Identify the device type user needs to mention the platform
{% endhint %}

### Device Type&#x20;

1. Cumulus: cumulus
2. Arista: arista
3. Cisco: cisco-nxos
4. SONiC: sonic&#x20;
5. Server

{% hint style="info" %}
For SONiC-based devices, the user can also leave the type field empty
{% endhint %}

```yaml
 inventory:
     - ipAddress: "172.18.0.21"
       layer: "Core"
       region: "San Jose"
       azId: 1
       brickId: 1
       rackId: 1
       fabricId: "Default"
       user: "admin"
       password: "admin"
       type: "sonic"
       groupId: 1
     - ipAddress: "172.18.0.22"
       layer: "Core"
       region: "San Jose"
       azId: 1
       brickId: 1
       rackId: 1
       fabricId: "Default"
       user: "admin"
       password: "admin"
       type: "sonic"
       groupId: 1
     - ipAddress: "172.18.0.23"
       layer: "Core"
       region: "San Jose"
       azId: 1
       brickId: 1
       rackId: 1
       fabricId: "Default"
       user: "admin"
       password: "admin"
       type: "sonic"
       groupId: 1
     - ipAddress: "172.18.0.24"
       layer: "Core"
       region: "San Jose"
       azId: 1
       brickId: 1
       rackId: 1
       fabricId: "Default"
       user: "admin"
       password: "admin"
       type: "sonic"
       groupId: 1
     - ipAddress: "172.18.0.25"
       layer: "Server"
       region: "San Jose"
       azId: 1
       brickId: 1
       rackId: 1
       fabricId: "Default"
       user: "admin"
       password: "admin"
       type: "server"
       groupId: 1
     - ipAddress: "172.18.0.26"
       layer: "Server"
       region: "San Jose"
       azId: 1
       brickId: 1
       rackId: 1
       fabricId: "Default"
       user: "admin"
       password: "admin"
       type: "server"
       groupId: 1
     - ipAddress: "172.18.0.27"
       layer: "Server"
       region: "San Jose"
       azId: 1
       brickId: 1
       rackId: 1
       fabricId: "Default"
       user: "admin"
       password: "admin"
       type: "server"
       groupId: 1
     - ipAddress: "172.18.0.28"
       layer: "Server"
       region: "San Jose"
       azId: 1
       brickId: 1
       rackId: 1
       fabricId: "Default"
       user: "admin"
       password: "admin"
       type: "server"
       groupId: 1
```

* Make sure to use the correct indentation for the YAML files

<figure><img src="https://2376813750-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fcd2rizc8cOY7cJKDEOsa%2Fuploads%2F5fA869Er1vr5PbmNx0OZ%2FScreenshot%202025-08-15%20at%2010.51.28%E2%80%AFPM.png?alt=media&#x26;token=215d223a-0d8b-4ec6-97c1-7a9cd0b54da5" alt=""><figcaption></figcaption></figure>

* Click <mark style="color:blue;">**Save & Apply**</mark>
* ONES Application is now ready to manage the added devices

## 2. Add devices using CSV

* Click on <mark style="color:blue;">**Add Devices**</mark>
* Upload Device Inventory using <mark style="color:blue;">**CSV File**</mark>
* Navigate to <mark style="color:blue;">**Manage  >> Devices >> Add Devices >> Use CSV**</mark>
* Use the below format to add devices to the application

<figure><img src="https://2376813750-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fcd2rizc8cOY7cJKDEOsa%2Fuploads%2FHiEsabGvicsAcHAd6JYd%2FScreenshot%202025-08-15%20at%2011.08.30%E2%80%AFPM.png?alt=media&#x26;token=2e371359-5edc-48a9-b379-ac39345c5bdf" alt=""><figcaption></figcaption></figure>

* <mark style="color:blue;">**Select CVS file to Upload >> Choose CSV file containing devices entry >>**</mark>

<figure><img src="https://2376813750-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fcd2rizc8cOY7cJKDEOsa%2Fuploads%2F1ust7ENJoYbGKfiGMOCv%2FScreenshot%202025-08-15%20at%2011.09.04%E2%80%AFPM.png?alt=media&#x26;token=766a80ab-e19e-4f1a-bb4e-cb7dfa62831f" alt=""><figcaption></figcaption></figure>

* <mark style="color:blue;">**Upload & Add**</mark>

