Inventory Service (2.4.2)

Download OpenAPI specification:Download

This is the spec that defines the API provided by the Inventory/Asset Service, which is used by multiple services to access network configuration/state data

Replace

replaceSwitch

Replace the switch as part of an RMA. This will replace the asset information of the new switch in the Inventory.

query Parameters
ip_address
required
string

IP Addresses of the device to be replaced.

config_backup_id
string

UUID of config backup

Responses

Response samples

Content type
application/json
{
  • "href": "href",
  • "uuid": "id"
}

Switch replace

rma

delet RMA ID.

query Parameters
key
string

IP Addresses of the device or RMA uuid to deleted.

Responses

Response samples

Content type
application/json
{
  • "result": 0,
  • "userKey": "1111-1111-1111",
  • "error": "uuid not found"
}

Switch replace History list

getRMAHistorys

Get Switch replace History list

query Parameters
device_ip
string

Ip of the entry for which RMA history is fetched

Responses

Response samples

Content type
application/json
{
  • "items":
    [
    ]
}

Switch Replace Details

getRMADetail

Get RMA Detail

query Parameters
rma_id
required
string

RMA Id of the entry for which detail is fetched

Responses

Response samples

Content type
application/json
{
  • "dr_id": "1111-1111-1111",
  • "device-ip": "1.1.1.1",
  • "status": "Success",
  • "StartTime": "12:03:24,12/2/2020"
}

Compare

compareSwitch

Compare the Specified Switch configuration with whats in the Asset DB

query Parameters
ip_address
required
string

IP Addresses of the device which we want to compare configuration that is saved on the device vs actual configuration on the device.

Responses

Response samples

Content type
application/json
{
  • "compare-results":
    {
    }
}

Switch Setting

getSwitchSetting

query Parameters
ip_address
required
string

IP Addresses of the device to be retrieved.

Responses

Response samples

Content type
application/json
{
  • "device-ip": "10.20.30.40",
  • "device-settings":
    {
    }
}

updateSwitchSetting

Request Body schema: application/json

Update Switch Settings.

ip_address
required
string
required
Array of objects (DeviceParameter)

Responses

Request samples

Content type
application/json
{
  • "ip_address": "10.20.30.40",
  • "keyval":
    [
    ]
}

Response samples

Content type
application/json
{
  • "device-ip": "10.20.30.40",
  • "device-settings":
    {
    }
}

Drift and reconcile

driftAndReconcile

Trigger drift and reconcile for fabric and tenant.

query Parameters
ip_address
required
string

IP Addresses of the device to be retrieved.

reconcile
required
boolean
Default: false

Value true implies efa drift with devices will be reconciled

Responses

Response samples

Content type
application/json
{
  • "href": "href",
  • "uuid": "id"
}

driftAndReconcile

delet drift and reconcile ID.

query Parameters
key
string

IP Addresses of the device or drift and reconcile uuid to deleted.

Responses

Response samples

Content type
application/json
{
  • "result": 0,
  • "userKey": "1111-1111-1111",
  • "error": "uuid not found"
}

switch health status

switchHealthStatus

current health status for the switch.

query Parameters
ip_address
required
string

IP Addresses of the device to be retrieved.

Responses

Response samples

Content type
application/json
{
  • "switchHealth": "disabled",
  • "drUUID": "Id",
  • "href": "/v1/inventory/drift_reconcile/detail",
  • "heartBeatMissCounter": 2,
  • "heartBeatMissThreshold": 2,
  • "healthCheckInterval": "5m",
  • "maintenanceMode": "enabled"
}

Config Replay

StartConfigReplay

Config Replay to device.

query Parameters
ip_address
required
string

IP Addresses of the device to be replayed.

cb_id
string

ConfigBackup Id of the config to be applied

ss_id
string

Snapshot Id of the config to be applied

startup_config
boolean

Copy the config to startup config.

no_reboot
boolean

Don't reboot the device.

Responses

Response samples

Content type
application/json
{
  • "href": "href",
  • "uuid": "id"
}

ConfigReplay

Delete Config Replay ID.

query Parameters
key
string

IP Addresses of the device or config Replay uuid to deleted.

Responses

Response samples

Content type
application/json
{
  • "result": 0,
  • "userKey": "1111-1111-1111",
  • "error": "uuid not found"
}

Config Backup

StartConfigBackup

Config Backup from device.

query Parameters
ip_address
required
string

IP Addresses of the device to be retrieved.

Responses

Response samples

Content type
application/json
{
  • "href": "href",
  • "uuid": "id"
}

ConfigBackup

Delete Config Backup ID.

query Parameters
key
string

IP Addresses of the device or config backup uuid to deleted.

Responses

Response samples

Content type
application/json
{
  • "result": 0,
  • "userKey": "1111-1111-1111",
  • "error": "uuid not found"
}

Switches

getSwitches

Get All switches in the specified fabric.

query Parameters
fabric_name
string

Only devices which are associated to the fabric name specified as returned.

device_ids
Array of integers non-empty

Database Ids of switches to be fetched

device_ips
Array of strings non-empty

IPs of the devices to be fetched

orphan
boolean

This is a standalone parameter, which is used to return devices not associated to any fabric. fabric_name/device_ids/device_ips/role cannot be specified with this parameter

role
string
Enum: "Leaf" "Spine" "SuperSpine" "BorderLeaf" "SuperSuperSpine"

Only devices with the specified role are returned. This parameter works in conjunction with fabric_name parameter and is not expected by itself

Responses

Response samples

Content type
application/json
{
  • "items":
    [
    ]
}

updateSwitches

Update All switches in the specified fabric.

query Parameters
device_ips
Array of strings non-empty

IP Addresses of the device(s) to be updated.

fabric_name
string

Update devices which are associated to the fabric name.

username
string

Update username and password for the devices.

password
string

Update username and password for the devices.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

deleteSwitches

Delete the specified devices from the inventory.

query Parameters
device_ips
Array of strings non-empty

IP Addresses of the device to be deleted.

fabric_name
string

Fabric name. Devices in this fabric will be deleted.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

manageSwitchesConfig

Manage the running-config on the specified devices.

Request Body schema: application/json

Managed the running-config for devices in the fabric or specified devices.

device_ips
Array of strings

IP Addresses of the devices for managing the running-config.

fabric_name
string

Name of the fabric

persist_local
boolean
Default: true

Save the running-config to the startup-config on the specified devices.

Responses

Request samples

Content type
application/json
{
  • "fabric_name": "fabric_name",
  • "device_ips":
    [
    ],
  • "persist_local": true
}

Response samples

Content type
application/json
{
  • "items":
    [
    ]
}

executeSwitchesCli

Execute CLI commands on the specified devices.

Request Body schema: application/json

Execute CLI commands on the devices in the fabric or specified devices.

device_ips
Array of strings

IP Addresses of the devices to execute the CLI command.

fabric_name
string

Name of the fabric

role
string
Enum: "Spine" "Leaf" "Super Spine" "Border Leaf" "Standalone"

role of the device

commands
string

CLI commands to be executed on the device.

config
boolean
Default: false

Specifies if the command is to be executed on config-term or exec-mode of the device.

Responses

Request samples

Content type
application/json
{
  • "fabric_name": "default",
  • "role": "Spine",
  • "device_ips":
    [
    ],
  • "config": false,
  • "commands": "show version"
}

Response samples

Content type
application/json
{
  • "items":
    [
    ]
}

Register

registerSwitches

Register switches with the inventory service

Request Body schema: application/json

Register a new Switch.

device_ips
required
Array of strings
username
required
string
password
required
string
maintmode
boolean

Responses

Request samples

Content type
application/json
{
  • "password": "password",
  • "device_ips":
    [
    ],
  • "username": "username",
  • "maintmode": true
}

Response samples

Content type
application/json
[
  • {
    }
]

FirmwareDownload

getFirmwareDownloadStatus

Get the status of the firmware download execution.

query Parameters
fabric_name
string

Fabric name. Get the firmware download execution status for devices in the given fabric.

execution_id
string

Execution ID. Get the firmware download execution status for devices in the fabric by execution ID.

Responses

Response samples

Content type
application/json
{
  • "items":
    [
    ]
}

executeFirmwareDownload

Execute firmware download on the prepared switches.

query Parameters
fabric_name
required
string

Fabric name. Execute the firmware download for prepared devices in the given fabric.

no_auto_commit
boolean

Configure auto commit for Firmware Downloaed.

no_maint_mode
boolean

Configure Maintainance mode in Firmware Download

Responses

Response samples

Content type
application/json
{
  • "execution_task":
    {
    }
}

commmitFirmwareDownload

Execute firmware download commit on the switches.

Request Body schema: application/json

IPs of the devices to be prepared for a firmware download.

device_ips
Array of strings
fabric
string

Responses

Request samples

Content type
application/json
{
  • "fabric": "fabric",
  • "device_ips":
    [
    ]
}

Response samples

Content type
application/json
{
  • "items":
    [
    ]
}

restoreFirmwareDownload

Execute firmware download restore on the switches.

Request Body schema: application/json

IPs of the devices to be prepared for a firmware download.

device_ips
Array of strings
fabric
string

Responses

Request samples

Content type
application/json
{
  • "fabric": "fabric",
  • "device_ips":
    [
    ]
}

Response samples

Content type
application/json
{
  • "items":
    [
    ]
}

getPreparedSwitches

Get the prepared devices ready for a firmware download operation.

query Parameters
device_ips
Array of strings non-empty

IPs of the devices to be fetched

fabric_name
string

Fabric name. Prepared devices in this fabric to be fetched.

Responses

Response samples

Content type
application/json
{
  • "items":
    [
    ]
}

addPreparedSwitches

Prepare the devices for a firmware download operation.

Request Body schema: application/json

IPs of the devices to be prepared for a firmware download.

device_ips
Array of strings
fabric
string
firmware_host
required
string
firmware_directory
required
string

Responses

Request samples

Content type
application/json
{
  • "fabric": "fabric",
  • "device_ips":
    [
    ],
  • "firmware_host": "firmware_host",
  • "firmware_directory": "firmware_directory"
}

Response samples

Content type
application/json
{
  • "items":
    [
    ]
}

removePreparedSwitches

Un-prepare the devices from a firmware download operation.

query Parameters
device_ips
Array of strings non-empty

IP Addresses of the devices to be unprepared from a firmware download operation.

fabric_name
string

Fabric name. Devices in this fabric will be un-prepared.

Responses

Response samples

Content type
application/json
{
  • "items":
    [
    ]
}

Interfaces

getInterfaces

Get only the interfaces with the specific parameters for the specified switch

query Parameters
device_ips
Array of strings non-empty

IP address of the device for which the interfaces are being fetched for

device_ids
Array of integers non-empty

IP address of the device for which the interfaces are being fetched for

type
required
string
Default: "All"
Enum: "All" "Physical" "Loopback" "VE" "PO"

Interface types. All, Ethernet interfaces, Loopback interfaces only, VE interfaces only or Port channels only

fabric_intf_role
string
Enum: "fabric" "edge"

Fabric interface role , it can be either fabric or edge, Fabric means it will returns interfaces connected to other fabric devices otherwise it is edge ports. This parameter must be given in conjunction with device_ips or device_ids

Responses

Response samples

Content type
application/json
{
  • "items":
    [
    ]
}

Down/Up Interfaces

Down/Up interfaces with the specific parameters for the specified switch

Request Body schema: application/json

Register a new Switch.

fabric_name
string
ip_address
Array of strings
intfNames
required
Array of strings
adminState
required
string
Enum: "up" "down"
intfType
string
Default: "Eth"
Enum: "Eth" "VE" "PO"

Responses

Request samples

Content type
application/json
{
  • "intfType": "Eth",
  • "adminState": "up",
  • "ip_address": "ip_address",
  • "intfNames":
    [
    ]
}

Response samples

Content type
application/json
[
  • {
    }
]

Create Brakout Interface Port

Create Brakout interfaces port with the specific parameters for the specified switch

Request Body schema: application/json

Breakout break Port into multiple interfaces.

fabric_name
string
ip_address
Array of strings
intfNames
required
Array of strings

Interface Port Names

intfType
string
Default: "Eth"
Enum: "Eth" "VE" "PO"
mode
required
string
Enum: "1x10g" "1x25g" "1x40g" "1x100g" "2x40g" "2x50g" "4x10g" "4x25g"

Port breakout mode

Responses

Request samples

Content type
application/json
{
  • "mode": "1x10g",
  • "intfType": "Eth",
  • "ip_address": "ip_address",
  • "intfNames":
    [
    ]
}

Response samples

Content type
application/json
[
  • {
    }
]

Remove Breakout of Interface Port

Remove Breakout of interfaces port with the specific parameters for the specified switch

Request Body schema: application/json

Removes Breakout of interfaces of the Switch.

fabric_name
string
ip_address
Array of strings
intfNames
required
Array of strings

Interface Port Names

intfType
string
Default: "Eth"
Enum: "Eth" "VE" "PO"

Responses

Request samples

Content type
application/json
{
  • "fabric_name": "string",
  • "ip_address":
    [
    ],
  • "intfNames":
    [
    ],
  • "intfType": "Eth"
}

Response samples

Content type
application/json
[
  • {
    }
]

List Brakout Interface Port

List Brakout interfaces port with the specific parameters for the specified switch

query Parameters
device_ips
Array of strings non-empty

IP Addresses of the device(s) to List Breakout Ports.

fabric_name
string

List Breakout Ports of devices which are associated to the fabric name.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Change Interface Port Speed

Change interfaces port speed with the specific parameters for the specified switch

Request Body schema: application/json

Change Port speed of interfaces of the Switch.

fabric_name
string
ip_address
Array of strings
intfNames
required
Array of strings

Interface Port Names

speed
required
string
Enum: "100Mbps" "1Gbps" "10Gbps" "25Gbps" "40Gbps" "100Gbps" "1GbpsAN" "AUTO"

Port Speed

intfType
string
Default: "Eth"
Enum: "Eth" "VE" "PO"

Interface Type

Responses

Request samples

Content type
application/json
{
  • "intfType": "Eth",
  • "ip_address": "ip_address",
  • "intfNames":
    [
    ],
  • "speed": "100Mbps"
}

Response samples

Content type
application/json
[
  • {
    }
]

Set Mtu to Interface

Set L2Mtu, IPv4Mtu and IPv6Mtu to interfaces with the specific parameters for the specified switch

Request Body schema: application/json

Set L2Mtu, IPv4Mtu and IPv6Mtu to device interfaces.

fabric_name
string
ip_address
Array of strings
intfNames
required
Array of strings

Interface Port Names

intfType
string
Default: "Eth"
Enum: "Eth" "VE" "PO"

Interface Type

mtu
integer

L2 Mtu of interface

ip_mtu
integer

IPv4 Mtu of interface

ipv6_mtu
integer

IPv6 Mtu of interface

Responses

Request samples

Content type
application/json
{
  • "fabric_name": "string",
  • "ip_address":
    [
    ],
  • "intfNames":
    [
    ],
  • "intfType": "Eth",
  • "mtu": 0,
  • "ip_mtu": 0,
  • "ipv6_mtu": 0
}

Response samples

Content type
application/json
[
  • {
    }
]

Port Channels

getPortChannels

Get only the POs with the specific parameters for the specified switches

query Parameters
device_ips
Array of strings non-empty

IP address of the device for which the port channels are being fetched for

device_ids
Array of integers non-empty

IP address of the device for which the port channels are being fetched for

po_numbers
Array of integers non-empty

Numbers of the Port Channels to be fetched

Responses

Response samples

Content type
application/json
{
  • "items":
    [
    ]
}

LLDP data

getLldpData

Get LLDP data for a given input param

query Parameters
remote_macs
Array of strings non-empty

fetch the lldp data for remote interface MACs in hhhh.hhhh.hhhh format

device_ips
Array of strings non-empty

fetch the lldp data for device ips in hhh.hhh.hhh.hhh format

Responses

Response samples

Content type
application/json
[
  • {
    }
]

VLANS

getVLANs

Get VLANS for the specified switches

query Parameters
device_ip
string

IP address of the device for which the VLANs are being fetched for

device_id
integer

Device IDs for which the VLANs are being fetched for

vlan_ids
Array of integers non-empty

VLAN IDs to be fetched

Responses

Response samples

Content type
application/json
{
  • "items":
    [
    ]
}

Drift Reconcile History list

getDriftReconcileHistorys

Get Drift Reconcile History list

query Parameters
device_ip
string

Ip of the entry for which Drift-Reconcile history is fetched

Responses

Response samples

Content type
application/json
{
  • "items":
    [
    ]
}

Drift Reconcile Details

getDriftReconcileDetail

Get Drift Reconcile Detail

query Parameters
dr_id
required
string

DriftReconcile Id of the entry for which detail is fetched

Responses

Response samples

Content type
application/json
{
  • "dr_id": "1111-1111-1111",
  • "device-ip": "1.1.1.1",
  • "status": "Success",
  • "Reason": "Manual",
  • "StartTime": "12:03:24,12/2/2020"
}

Config Backup History list

getConfigBackupHistorys

Get Config Backup History list

query Parameters
device_ip
string

Ip of the entry for which Config-Backup history is fetched

Responses

Response samples

Content type
application/json
{
  • "items":
    [
    ]
}

Config Backup Details

getConfigBackupDetail

Get Config Backup Detail

query Parameters
cb_id
required
string

ConfigBackup Id of the entry for which detail is fetched

show_config
boolean

Show complete configuration text

Responses

Response samples

Content type
application/json
{
  • "cb_id": "1111-1111-1111",
  • "device-ip": "1.1.1.1",
  • "status": "Success",
  • "Reason": "Manual",
  • "StartTime": "12:03:24,12/2/2020"
}

Config Replay History list

getConfigReplayHistorys

Get Config Replay History list

query Parameters
device_ip
string

Ip of the entry for which Config-Replay history is fetched

Responses

Response samples

Content type
application/json
{
  • "items":
    [
    ]
}

Config Replay Details

getConfigReplayDetail

Get Config Replay Detail

query Parameters
cr_id
required
string

ConfigReplay Id of the entry for which detail is fetched

Responses

Response samples

Content type
application/json
{
  • "cr_id": "1111-1111-1111",
  • "device-ip": "1.1.1.1",
  • "cb_id": "2222-3333-2233",
  • "status": "Success",
  • "Reason": "Manual",
  • "StartTime": "12:03:24,12/2/2020"
}

VE Interface

getVEs

Get only the VEs with the specific parameters for the specified switches

query Parameters
device_ips
Array of strings non-empty

IP address of the device for which the VEs are being fetched for

device_ids
Array of integers non-empty

IP address of the device for which the VEs are being fetched for

ve_ids
Array of integers non-empty

IDs of the VEs to be fetched

Responses

Response samples

Content type
application/json
{
  • "items":
    [
    ]
}

Router BGP

getRouterBgp

Get only the Router BGP with the specific parameters for the specified switch

query Parameters
device_ip
string

IP address of the device for which the Router BGP are being fetched for

device_id
integer

IP address of the device for which the Router BGP are being fetched for

Responses

Response samples

Content type
application/json
{
  • "af_ip":
    [
    ],
  • "peer_group":
    [
    ],
  • "router_bgp":
    {
    },
  • "af_evpn":
    {
    }
}

MCT

getMCTManagementCluster

Get only the MCT cluster node details with the specific parameters for the specified switch

query Parameters
device_ip
string

IP address of the device for which the cluster members are being fetched for

device_id
integer

ID of the device for which the cluster member are being fetched for

node_ids
Array of integers non-empty

IDs of the cluster nodes to be fetched. This is optional parameter along with device_id or device_ip

ids
Array of integers non-empty

IDs of the nodes to be fetched

Responses

Response samples

Content type
application/json
{
  • "items":
    [
    ]
}

getMCTClusterConfiguration

Get the MCT cluster configuration with the specific parameters for the specified switch

query Parameters
device_ip
string

IP address of the device for which the cluster members are being fetched for

device_id
integer

Device ID of the device for which the cluster member are being fetched for

cluster_ids
Array of integers non-empty

cluster ID for which the configuration to be fetched. This is optional parameter along with device_ip or device_id

ids
Array of integers non-empty

IDs of the cluster client members to be fetched

Responses

Response samples

Content type
application/json
[
  • {
    }
]

getMCTClusterClients

Get the MCT cluster client details with the specific parameters for the specified switch

query Parameters
device_ip
string

IP address of the device for which the cluster members are being fetched for

device_id
integer

ID of the device for which the cluster member are being fetched for

client_ids
Array of integers non-empty

cluster client ID for which the members to be fetched

cluster_id
integer

ID of the cluster for which the clients to be fetched

ids
Array of integers non-empty

IDs of the cluster client members to be fetched

Responses

Response samples

Content type
application/json
[
  • {
    }
]

LIF

getLIF

Get only the LIFs details with the specific parameters for the specified switch

query Parameters
device_ip
string

IP address of the device for which the lifs are being fetched for

device_id
integer

IP address of the device for which the lifs are being fetched for

Responses

Response samples

Content type
application/json
{
  • "items":
    [
    ]
}

EVPN

getEVPNInstance

Get only the EVPN Instance details along with Bridge Domain, VLAN mapping with the specific parameters for the specified switch

query Parameters
device_ip
string

IP address of the device for which the evpn instance are being fetched for

device_id
integer

Device ID for which the evpn instance are being fetched for

Responses

Response samples

Content type
application/json
{
  • "evpn":
    {
    },
  • "vlans":
    [
    ],
  • "route_target":
    [
    ],
  • "id": 1,
  • "bridge_domains":
    [
    ]
}

Pseudowire Profile

getPseudowireProfile

Get the Pseudowire Profile details with the specific parameters for the specified switch

query Parameters
device_ip
string

IP address of the device for which the Pseudowire Profile details are being fetched for

device_id
integer

IP address of the device for which the Pseudowire Profile details are being fetched for

pseudowire_profiles
Array of strings non-empty

Pseudowire Profiles that users want to specifically query. This will be in conjunction with the device_id or device_ip

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Bridge Domain

getBridgeDomain

Get only the EVPN Instance details along with Bridge Domain mapping with the specific parameters for the specified switch

query Parameters
device_ip
string

IP address of the device for which the BD details are being fetched for

device_id
integer

IP address of the device for which the BD details are being fetched for

bridge_domains
Array of integers non-empty

Bridge domains that users want to specifically query. This will be in conjunction with the device_id or device_ip

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Overlay Gateway

getOverlayGateway

Get only the Overlay Gateway details along with Bridge Domain to VNI mappinps and VLAN to VNI mapping with the specific parameters for the specified switch

query Parameters
device_ip
string

IP address of the device for which the overlay gateway details are being fetched for

device_id
integer

Device ID for which the overlay gateway details are being fetched for

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Tunnels

getTunnel

Get only the Tunnel details with the specific parameters for the specified switch

query Parameters
device_ip
string

IP address of the device for which the tunnel details are being fetched for

device_id
integer

IP address of the device for which the tunnel details are being fetched for

ids
Array of integers non-empty

IDs of the tunnel details to be fetched

tunnel_numbers
Array of integers non-empty

Tunnel Numbers of the tunnel details to be fetched

Responses

Response samples

Content type
application/json
{
  • "tunnels":
    [
    ],
  • "ip_address": "ip_address"
}

VRF

getVRF

Get only the VRF details with the specific parameters for the specified switch

query Parameters
device_ip
string

IP address of the device for which the VRF details are being fetched for

device_id
integer

IP address of the device for which the VRF details are being fetched for

ids
Array of integers non-empty

IDs of the VRF details to be fetched

vrfs
Array of strings non-empty

VRF names of the VRF details to be fetched. This will be in conjunction with device_ip or device_id

Responses

Response samples

Content type
application/json
[
  • {
    }
]

VRRP

getVRRP

Get only the VRRP details with the specific parameters for the specified switch

query Parameters
device_ip
string

IP address of the device for which the VRF details are being fetched for

device_id
integer

IP address of the device for which the VRF details are being fetched for

int_type
string
Enum: "ethernet" "ve"

Interface Type to fetch VRRP details for. This works in conjunction with device_id or device_ip and int_name

int_name
string

Interface Name to fetch VRRP details for. This works in conjunction with device_id or device_ip and int_type

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Router PIM

getRouterPim

Get only the Router Pim with the specific parameters for the specified switch

query Parameters
device_ip
string

IP address of the device for which the Router PIM are being fetched for

device_id
integer

Device ID for which the Router PIM are being fetched for

Responses

Response samples

Content type
application/json
{
  • "pim":
    [
    ]
}

IP Prefix-List

getIPPrefixList

Get only the IP Prefix List with the specific parameters for the specified switch

query Parameters
device_ip
string

IP address of the device for which the IP Prefix List is being fetched for

device_id
integer

Device ID for which the IP Prefix List is being fetched for

prefixlist_name
string

IP Prefix List name that is being fetched. This will be in conjunction with device_ip or device_id

Responses

Response samples

Content type
application/json
{
  • "ipprefix-list":
    [
    ]
}

Trouble Shooting

getExecutionDetail

Get the detailed output of the given execution ID

query Parameters
id
required
string

Detailed output of the given execution ID

Responses

Response samples

Content type
application/json
{
  • "start_time": "2000-01-23T04:56:07.000Z",
  • "end_time": "2000-01-23T04:56:07.000Z",
  • "id": "id",
  • "logs": "logs",
  • "URL": "/v1/inventory/switches",
  • "status": "Failed, Succeeded"
}

getExecutionList

Get the list of all the previous executions

query Parameters
limit
required
integer
Default: 10

Limit the number of executions that will be sent in the response. Default is 10

status
string
Default: "all"

Filter the executions based on the status(failed/succeeded/all)

Responses

Response samples

Content type
application/json
{
  • "items":
    [
    ]
}

GetRunningConfig

Get the list of all CLIs in Running Config

Responses

Response samples

Content type
application/json
{
  • "items":
    [
    ]
}

Key Value

getKeyValueList

Returns a list of all key value pairs.

query Parameters
prefix
string

Only return values which name starts with the provided prefix.

decrypt
boolean

Decrypt secrets and display plain text

limit
integer
Default: 100

Number of keys to get

Responses

Response samples

Content type
application/json
{
  • "ref": "core.local"
}

getValueForKey

Get a specific key vale pair based on key_name.

path Parameters
name
required
string

Key Name

query Parameters
decrypt
boolean

Decrypt secrets and display plain text.

Responses

Response samples

Content type
application/json
{
  • "name": "name",
  • "secret": true,
  • "value": "value"
}

updateValueForKey

Create a new key value pair or update an existing one.

path Parameters
name
required
string

Key Name.

Request Body schema: application/json

Key Value pair content.

name
required
string

Key Name.

value
required
string

Key's value.

secret
boolean

Encrypt value before saving the value.

Responses

Request samples

Content type
application/json
{
  • "name": "name",
  • "secret": true,
  • "value": "value"
}

Response samples

Content type
application/json
{
  • "name": "name",
  • "secret": true,
  • "value": "value"
}

deleteKey

Delete a Key.

path Parameters
name
required
string

Key Name.

Responses

Response samples

Content type
application/json
{
  • "message": "Device is already registered in inventory",
  • "code": 101
}

FirmwareHosts

getFirmwareHosts

Get all firmware hosts.

query Parameters
host_ips
Array of strings non-empty

IPs of the firmware hosts to be fetched

Responses

Response samples

Content type
application/json
{
  • "items":
    [
    ]
}

FirmwareHost

getFirmwareHost

Get only specified firmware host details. The firmware host can be identified by IP Address

query Parameters
ip_address
required
string

IP Address of the firmware host

Responses

Response samples

Content type
application/json
{
  • "protocol": "scp",
  • "id": 1,
  • "ip_address": "10.24.39.224",
  • "status":
    {
    }
}

registerFirmwareHost

Register firmware host with the inventory service

Request Body schema: application/json

Register a new firmware host.

ip_address
required
string
protocol
required
string
Enum: "ftp" "tftp" "sftp" "scp" "http"
username
required
string
password
required
string

Responses

Request samples

Content type
application/json
{
  • "protocol": "ftp",
  • "password": "password",
  • "ip_address": "ip_address",
  • "username": "username"
}

Response samples

Content type
application/json
{
  • "protocol": "scp",
  • "id": 1,
  • "ip_address": "10.24.39.224",
  • "status":
    {
    }
}

deleteFirmwareHost

Delete the specified firmware host from the inventory.

query Parameters
ip_address
required
string

IP Addresses of the firmware host to be deleted.

Responses

Response samples

Content type
application/json
{
  • "protocol": "scp",
  • "id": 1,
  • "ip_address": "10.24.39.224",
  • "status":
    {
    }
}

updateFirmwareHost

Update the specified firmware host details in the inventory.

path Parameters
ip_address
required
string

IP Address of the firmware host to be updated.

Request Body schema: application/json

Update firmware host if credentials changes provide new username and password

ip_address
required
string
protocol
required
string
Enum: "ftp" "tftp" "sftp" "scp" "http"
username
required
string
password
required
string

Responses

Request samples

Content type
application/json
{
  • "protocol": "ftp",
  • "password": "password",
  • "ip_address": "ip_address",
  • "username": "username"
}

Response samples

Content type
application/json
{
  • "protocol": "scp",
  • "id": 1,
  • "ip_address": "10.24.39.224",
  • "status":
    {
    }
}

MTU

Change Global MTU for the specified

Change global MTU with the specific parameters for the specified switch

Request Body schema: application/json

Change Port speed of interfaces of the Switch.

fabric_name
string
ip_address
Array of strings
mtu
integer

Global L2 MTU

ip_mtu
integer

Global ipv4 MTU

ipv6_mtu
integer

Global ipv6 MTU

Responses

Request samples

Content type
application/json
{
  • "fabric_name": "string",
  • "ip_address":
    [
    ],
  • "mtu": 0,
  • "ip_mtu": 0,
  • "ipv6_mtu": 0
}

Response samples

Content type
application/json
[
  • {
    }
]

DeviceDetails

Get device discovery interval time & device details

Get device discovery interval time for specific switch or switches in fabric

query Parameters
fabric_name
string

Only devices which are associated to the fabric name specified as returned.

device_ips
string

Device IP's of switches to be fetched

Responses

Response samples

Content type
application/json
{
  • "items":
    [
    ]
}

Change device discovery interval time

Change device discovery interval time for specific switch or switches in fabric

Request Body schema: application/json

Change Port speed of interfaces of the Switch.

ip_address
string

IP address of the device

fabric_name
string

Name of the fabric

min
integer

Device discovery time in minutes

hour
integer

Device discovery time in minutes

Responses

Request samples

Content type
application/json
{
  • "ip_address": "10.25.225.165",
  • "fabric_name": "default",
  • "min": 30,
  • "hour": 2
}

Response samples

Content type
application/json
{
  • "items":
    [
    ]
}

DevicesLockStatus

Get devices lock statuses

Get devices lock statuses

Responses

Response samples

Content type
application/json
{
  • "items":
    [
    ]
}

Certificates

Install Certificates

Install certificates

Request Body schema: application/json

Install certificates on switches

device_ips
Array of strings
certificateType
string
Enum: "https" "token"

Type of certificate to be installed, either https or token

Responses

Request samples

Content type
application/json
{
  • "device_ips":
    [
    ],
  • "certificateType": "https"
}

Response samples

Content type
application/json
[
  • {
    }
]

Device State Change History list

GetDSCHistorys

Get Device State Change History list

query Parameters
device_ip
string

Ip of the device for which DSC history is fetched

Responses

Response samples

Content type
application/json
{
  • "items":
    [
    ]
}

Device State Change Details

getDeviceState

Get Device Current State

query Parameters
device_ip
string

Ip of the entry for which Device State is fetched

Responses

Response samples

Content type
application/json
{
  • "device-ip": "1.1.1.1",
  • "admin_state_action": "up",
  • "oper_state": "up",
  • "switch_health_status": "enable"
}

getDSCDetail

Get DSC Detail

query Parameters
dsc_id
required
string

DSC Id of the entry for which detail is fetched

Responses

Response samples

Content type
application/json
{
  • "dr_id": "1111-1111-1111",
  • "device-ip": "1.1.1.1",
  • "admin_state_action": "up",
  • "status": "Success",
  • "Fabric_status": "Success",
  • "Tenant_status": "Success",
  • "maintenance_mode_enable_status": "Success",
  • "StartTime": "12:03:24,12/2/2020"
}

Device state

deviceState

Trigger device state update as up or down.

query Parameters
ip_address
required
string

IP Address of the device to be retrieved.

state
required
string

State of the device to changed.

Responses

Response samples

Content type
application/json
{
  • "href": "href",
  • "uuid": "id"
}

Device State

deleteDscDetails

delet DSC ID.

query Parameters
key
string

IP Addresses of the device or DSC uuid to deleted.

Responses

Response samples

Content type
application/json
{
  • "result": 0,
  • "userKey": "1111-1111-1111",
  • "error": "uuid not found"
}

Health

getHealth

Get the health of the Inventory service.

Responses

Response samples

Content type
application/json
{
  • "Service": "string",
  • "MessageBus": "string"
}