Download OpenAPI specification:Download
This is the spec that defines the API provided by the application to register devices to a fabric, configure fabric parameters, validate all the devices in the fabric and configure switches for IP Fabric with/without overlay
{- "items": [
- {
- "fabric-name": "BLR-FABRIC",
- "number-of-super-spine-nodes": "2",
- "fabric-description": "Bengaluru Fabric",
- "fabric-stage": 5,
- "fanbric-type": "clos",
- "fanbric-status": "provisioned",
- "number-of-not-provisioned-nodes": "3",
- "number-of-provisioned-nodes": "9",
- "number-of-provisioned-failed-nodes": "9",
- "number-of-config-gen-error-nodes": "3",
- "number-of-config-ready-nodes": "3",
- "number-of-config-refreshed-nodes": "3",
- "number-of-config-in-sync-nodes": "3",
- "number-of-multi-homed-leaf-nodes": "10",
- "fabric-settings": {
- "key": "fabSettingType:fabSettingValue"
}, - "fabric-id": 1,
- "fabric-devices": "",
- "number-of-pods": "5",
- "number-of-racks": "4",
- "number-of-single-homed-leaf-nodes": "0",
- "number-of-spine-nodes": "4",
- "number-of-single-homed-border-leaf-nodes": "4",
- "number-of-multi-homed-border-leaf-nodes": "4"
}, - {
- "fabric-name": "BLR-FABRIC",
- "number-of-super-spine-nodes": "2",
- "fabric-description": "Bengaluru Fabric",
- "fabric-stage": 5,
- "fabric-type": "clos",
- "number-of-not-provisioned-nodes": "3",
- "number-of-provisioned-nodes": "9",
- "number-of-provisioned-failed-nodes": "9",
- "number-of-config-gen-error-nodes": "3",
- "number-of-config-ready-nodes": "3",
- "number-of-config-refreshed-nodes": "3",
- "number-of-config-in-sync-nodes": "3",
- "number-of-multi-homed-leaf-nodes": "10",
- "fabric-settings": {
- "key": "fabSettingType:fabSettingValue"
}, - "fabric-id": 1,
- "fabric-devices": "",
- "number-of-pods": "5",
- "number-of-racks": "4",
- "number-of-single-homed-leaf-nodes": "0",
- "number-of-spine-nodes": "4",
- "number-of-single-homed-border-leaf-nodes": "4",
- "number-of-multi-homed-border-leaf-nodes": "4"
}
]
}
Get only specified fabric details. The fabric can be identified by id or name
name required | string Name of the fabric to retrieve |
{- "fabric-name": "BLR-FABRIC",
- "number-of-super-spine-nodes": "2",
- "fabric-description": "Bengaluru Fabric",
- "fabric-stage": 5,
- "fabric-type": "clos",
- "fabric-status": "provisioned",
- "fabric-setting-updated": "BGP-LL,BGP-MD5",
- "number-of-not-provisioned-nodes": "3",
- "number-of-provisioned-nodes": "9",
- "number-of-provisioned-failed-nodes": "9",
- "number-of-config-gen-error-nodes": "3",
- "number-of-config-ready-nodes": "3",
- "number-of-config-refreshed-nodes": "3",
- "number-of-config-in-sync-nodes": "3",
- "number-of-multi-homed-leaf-nodes": "10",
- "fabric-settings": {
- "key": "fabSettingType:fabSettingValue"
}, - "fabric-id": 1,
- "fabric-devices": "",
- "number-of-pods": "5",
- "numer-of-racks": "4",
- "number-of-single-homed-leaf-nodes": "0",
- "number-of-spine-nodes": "4",
- "number-of-single-homed-border-leaf-nodes": "4",
- "number-of-multi-homed-border-leaf-nodes": "4"
}
Create a new Fabric
name required | string |
description | string |
stage | integer <int32> Enum: 3 5 7 |
type | string Enum: "clos" "non-clos" |
{- "stage": 5,
- "type": "clos",
- "name": "BLR-FABRIC",
- "description": "Bengaluru DC IP Fabric"
}
{- "fabric-name": "BLR-FABRIC",
- "number-of-super-spine-nodes": "2",
- "fabric-description": "Bengaluru Fabric",
- "fabric-stage": 5,
- "fabric-type": "clos",
- "fabric-status": "provisioned",
- "fabric-setting-updated": "BGP-LL,BGP-MD5",
- "number-of-not-provisioned-nodes": "3",
- "number-of-provisioned-nodes": "9",
- "number-of-provisioned-failed-nodes": "9",
- "number-of-config-gen-error-nodes": "3",
- "number-of-config-ready-nodes": "3",
- "number-of-config-refreshed-nodes": "3",
- "number-of-config-in-sync-nodes": "3",
- "number-of-multi-homed-leaf-nodes": "10",
- "fabric-settings": {
- "key": "fabSettingType:fabSettingValue"
}, - "fabric-id": 1,
- "fabric-devices": "",
- "number-of-pods": "5",
- "numer-of-racks": "4",
- "number-of-single-homed-leaf-nodes": "0",
- "number-of-spine-nodes": "4",
- "number-of-single-homed-border-leaf-nodes": "4",
- "number-of-multi-homed-border-leaf-nodes": "4"
}
Delete an existing fabric by fabric name
name required | string Name of the fabric to be deleted |
force | boolean Default: false Value true implies forced deletion of the fabric |
{- "fabric-name": "BLR-FABRIC",
- "number-of-super-spine-nodes": "2",
- "fabric-description": "Bengaluru Fabric",
- "fabric-stage": 5,
- "fabric-type": "clos",
- "fabric-status": "provisioned",
- "fabric-setting-updated": "BGP-LL,BGP-MD5",
- "number-of-not-provisioned-nodes": "3",
- "number-of-provisioned-nodes": "9",
- "number-of-provisioned-failed-nodes": "9",
- "number-of-config-gen-error-nodes": "3",
- "number-of-config-ready-nodes": "3",
- "number-of-config-refreshed-nodes": "3",
- "number-of-config-in-sync-nodes": "3",
- "number-of-multi-homed-leaf-nodes": "10",
- "fabric-settings": {
- "key": "fabSettingType:fabSettingValue"
}, - "fabric-id": 1,
- "fabric-devices": "",
- "number-of-pods": "5",
- "numer-of-racks": "4",
- "number-of-single-homed-leaf-nodes": "0",
- "number-of-spine-nodes": "4",
- "number-of-single-homed-border-leaf-nodes": "4",
- "number-of-multi-homed-border-leaf-nodes": "4"
}
source-fabric required | string Fabric to be cloned from |
destination-fabric required | string Fabric to be cloned to |
{- "fabric-name": "BLR-FABRIC",
- "number-of-super-spine-nodes": "2",
- "fabric-description": "Bengaluru Fabric",
- "fabric-stage": 5,
- "fabric-type": "clos",
- "fabric-status": "provisioned",
- "fabric-setting-updated": "BGP-LL,BGP-MD5",
- "number-of-not-provisioned-nodes": "3",
- "number-of-provisioned-nodes": "9",
- "number-of-provisioned-failed-nodes": "9",
- "number-of-config-gen-error-nodes": "3",
- "number-of-config-ready-nodes": "3",
- "number-of-config-refreshed-nodes": "3",
- "number-of-config-in-sync-nodes": "3",
- "number-of-multi-homed-leaf-nodes": "10",
- "fabric-settings": {
- "key": "fabSettingType:fabSettingValue"
}, - "fabric-id": 1,
- "fabric-devices": "",
- "number-of-pods": "5",
- "numer-of-racks": "4",
- "number-of-single-homed-leaf-nodes": "0",
- "number-of-spine-nodes": "4",
- "number-of-single-homed-border-leaf-nodes": "4",
- "number-of-multi-homed-border-leaf-nodes": "4"
}
Validate CLOS topology of an input fabric
fabric-name required | string Name of the fabric |
{- "fabric_name": "default",
- "fabric_id": 1,
- "missing_links": [
- "missing_links",
- "missing_links"
], - "missing_spines": true,
- "fabric_settings": {
- "key": "fabric_settings"
}, - "missing_leaves": true,
- "redundant_links": [
- "redundant_links",
- "redundant_links"
], - "leaf_leaf_links": [
- "leaf_leaf_links",
- "leaf_leaf_links"
], - "configuration_drifts": "{}",
- "spine_spine_links": [
- "spine_spine_links",
- "spine_spine_links"
]
}
Get Fabric Error For an input fabric
fabric-name required | string Name of the fabric |
{- "fabric_name": "default",
- "fabric_id": 1,
- "deviceErrorResponse": [
- {
- "error_reason": "No Spine Device",
- "role": "Spine",
- "error_type": "CLOS/CONFIG/PROVISIONING",
- "ip_address": "10.24.39.224"
}, - {
- "error_reason": "No Spine Device",
- "role": "Spine",
- "error_type": "CLOS/CONFIG/PROVISIONING",
- "ip_address": "10.24.39.224"
}
]
}
Configure IP Fabric underlay/overlay on all devices of a fabric
fabric-name required | string Name of the fabric |
force | boolean Default: false Force the fabric configure operation on all devices of the fabric |
{- "fabric-name": "BLR-FABRIC",
- "fabric-id": 1,
- "status": "Successful"
}
Update Fabric Settings.
name required | string |
required | Array of objects (FabricParameter) |
{- "name": "name",
- "keyval": [
- {
- "value": "value",
- "key": "key"
}, - {
- "value": "value",
- "key": "key"
}
]
}
{- "fabric-name": "BLR-FABRIC",
- "number-of-super-spine-nodes": "2",
- "fabric-description": "Bengaluru Fabric",
- "fabric-stage": 5,
- "fabric-type": "clos",
- "fabric-status": "provisioned",
- "fabric-setting-updated": "BGP-LL,BGP-MD5",
- "number-of-not-provisioned-nodes": "3",
- "number-of-provisioned-nodes": "9",
- "number-of-provisioned-failed-nodes": "9",
- "number-of-config-gen-error-nodes": "3",
- "number-of-config-ready-nodes": "3",
- "number-of-config-refreshed-nodes": "3",
- "number-of-config-in-sync-nodes": "3",
- "number-of-multi-homed-leaf-nodes": "10",
- "fabric-settings": {
- "key": "fabSettingType:fabSettingValue"
}, - "fabric-id": 1,
- "fabric-devices": "",
- "number-of-pods": "5",
- "numer-of-racks": "4",
- "number-of-single-homed-leaf-nodes": "0",
- "number-of-spine-nodes": "4",
- "number-of-single-homed-border-leaf-nodes": "4",
- "number-of-multi-homed-border-leaf-nodes": "4"
}
Get fabric physical topology for a specified fabric.
fabric-name required | string Name of the fabric |
{- "items": [
- {
- "destination-device-role": "Leaf",
- "source-device-role": "Leaf",
- "destination-device-ip": "destination-device-ip",
- "source-device-multi-homed": true,
- "inter-device-links": {
- "source-node-interface": "source-node-interface",
- "destination-node-interface": "destination-node-interface"
}, - "source-device-ip": "source-device-ip",
- "destination-device-multi-homed": true
}, - {
- "destination-device-role": "Leaf",
- "source-device-role": "Leaf",
- "destination-device-ip": "destination-device-ip",
- "source-device-multi-homed": true,
- "inter-device-links": {
- "source-node-interface": "source-node-interface",
- "destination-node-interface": "destination-node-interface"
}, - "source-device-ip": "source-device-ip",
- "destination-device-multi-homed": true
}
]
}
Get fabric underlay topology for a specified fabric
fabric-name required | string Name of the fabric |
{- "items": [
- {
- "destination-device-router-id": "destination-device-router-id",
- "destination-device-role": "Leaf",
- "source-device-role": "Leaf",
- "destination-device-ip": "destination-device-ip",
- "underlay-session-state": "IDLE",
- "source-device-multi-homed": true,
- "source-device-ip": "source-device-ip",
- "source-device-router-id": "source-device-router-id",
- "source-device-asn": "source-device-asn",
- "destination-device-asn": "destination-device-asn",
- "destination-device-multi-homed": true
}, - {
- "destination-device-router-id": "destination-device-router-id",
- "destination-device-role": "Leaf",
- "source-device-role": "Leaf",
- "destination-device-ip": "destination-device-ip",
- "underlay-session-state": "IDLE",
- "source-device-multi-homed": true,
- "source-device-ip": "source-device-ip",
- "source-device-router-id": "source-device-router-id",
- "source-device-asn": "source-device-asn",
- "destination-device-asn": "destination-device-asn",
- "destination-device-multi-homed": true
}
]
}
Get fabric overlay topology for a specified fabric
fabric-name required | string Name of the fabric |
{- "items": [
- {
- "overlay-destination-leaf-ip": "overlay-destination-leaf-ip",
- "overlay-admin-state": "Up",
- "overlay-oper-state": "Up",
- "overlay-source-leaf-ip": "overlay-source-leaf-ip",
- "overlay-encap-type": "overlay-encap-type",
- "overlay-destination-vtep-ip": "overlay-destination-vtep-ip",
- "overlay-source-vtep-ip": "overlay-source-vtep-ip"
}, - {
- "overlay-destination-leaf-ip": "overlay-destination-leaf-ip",
- "overlay-admin-state": "Up",
- "overlay-oper-state": "Up",
- "overlay-source-leaf-ip": "overlay-source-leaf-ip",
- "overlay-encap-type": "overlay-encap-type",
- "overlay-destination-vtep-ip": "overlay-destination-vtep-ip",
- "overlay-source-vtep-ip": "overlay-source-vtep-ip"
}
]
}
Get All Devices in the specified fabric.
fabric-name required | string Fabric name |
{- "items": [
- {
- "loopback-id": "12",
- "ip-address": "10.20.50.203",
- "role": "Leaf",
- "pod": "ROOM1",
- "rack": "ROW1RACK1",
- "device-provisioning-status": "not provisioned",
- "app-config-status": "cfg ready",
- "config-gen-reason": "NS LA LD",
- "pending-config": "MCT-C",
- "leaf-type": "multi-homed",
- "model": "SLX9240",
- "host-name": "BLR-FABRIC1-ROOM1-TOR1",
- "error": [
- {
- "code": 140,
- "message": "message"
}, - {
- "code": 140,
- "message": "message"
}
], - "asn": "64432",
- "firmware": "17.01.02",
- "vtep-loopback-id": "11"
}, - {
- "loopback-id": "12",
- "ip-address": "10.20.50.203",
- "role": "Leaf",
- "pod": "ROOM1",
- "rack": "ROW1RACK1",
- "device-provisioning-status": "not provisioned",
- "app-config-status": "cfg ready",
- "config-gen-reason": "NS LA LD",
- "pending-config": "MCT-C",
- "leaf-type": "multi-homed",
- "model": "SLX9240",
- "host-name": "BLR-FABRIC1-ROOM1-TOR1",
- "error": [
- {
- "code": 140,
- "message": "message"
}, - {
- "code": 140,
- "message": "message"
}
], - "asn": "64432",
- "firmware": "17.01.02",
- "vtep-loopback-id": "11"
}
]
}
Add new devices to the specified fabric
fabric-name | string Name of the fabric |
Array of objects (FabricDeviceAddRequest) unique |
{- "fabric-name": "BLR-FABRIC",
- "items": [
- {
- "loopback-id": "22",
- "ip-address": "10.20.50.201",
- "role": "leaf",
- "pod": "ROOM1",
- "rack": "ROW1RACK1",
- "leaf-type": "multi-homed",
- "host-name": "BLR-FABRIC1-ROOM1-DH-TOR11",
- "asn": "61441",
- "vtep-loopback-id": "11"
}, - {
- "loopback-id": "22",
- "ip-address": "10.20.50.201",
- "role": "leaf",
- "pod": "ROOM1",
- "rack": "ROW1RACK1",
- "leaf-type": "multi-homed",
- "host-name": "BLR-FABRIC1-ROOM1-DH-TOR11",
- "asn": "61441",
- "vtep-loopback-id": "11"
}
]
}
{- "items": [
- {
- "loopback-id": "12",
- "ip-address": "10.20.50.203",
- "role": "Leaf",
- "pod": "ROOM1",
- "rack": "ROW1RACK1",
- "device-provisioning-status": "not provisioned",
- "app-config-status": "cfg ready",
- "config-gen-reason": "NS LA LD",
- "pending-config": "MCT-C",
- "leaf-type": "multi-homed",
- "model": "SLX9240",
- "host-name": "BLR-FABRIC1-ROOM1-TOR1",
- "error": [
- {
- "code": 140,
- "message": "message"
}, - {
- "code": 140,
- "message": "message"
}
], - "asn": "64432",
- "firmware": "17.01.02",
- "vtep-loopback-id": "11"
}, - {
- "loopback-id": "12",
- "ip-address": "10.20.50.203",
- "role": "Leaf",
- "pod": "ROOM1",
- "rack": "ROW1RACK1",
- "device-provisioning-status": "not provisioned",
- "app-config-status": "cfg ready",
- "config-gen-reason": "NS LA LD",
- "pending-config": "MCT-C",
- "leaf-type": "multi-homed",
- "model": "SLX9240",
- "host-name": "BLR-FABRIC1-ROOM1-TOR1",
- "error": [
- {
- "code": 140,
- "message": "message"
}, - {
- "code": 140,
- "message": "message"
}
], - "asn": "64432",
- "firmware": "17.01.02",
- "vtep-loopback-id": "11"
}
]
}
Remove devices from the specific fabric
Details of the devices to be removed
fabric-name | string Name of the fabric |
Array of objects (FabricDeviceRemoveRequest) unique |
{- "items": [
- {
- "ip-address": "10.20.50.201",
- "fabric-name": "BLR-FABRIC",
- "persist": false,
- "no-device-cleanup": false
}, - {
- "ip-address": "10.20.50.201",
- "fabric-name": "BLR-FABRIC",
- "persist": false,
- "no-device-cleanup": false
}
]
}
{- "items": [
- {
- "loopback-id": "12",
- "ip-address": "10.20.50.203",
- "role": "Leaf",
- "pod": "ROOM1",
- "rack": "ROW1RACK1",
- "device-provisioning-status": "not provisioned",
- "app-config-status": "cfg ready",
- "config-gen-reason": "NS LA LD",
- "pending-config": "MCT-C",
- "leaf-type": "multi-homed",
- "model": "SLX9240",
- "host-name": "BLR-FABRIC1-ROOM1-TOR1",
- "error": [
- {
- "code": 140,
- "message": "message"
}, - {
- "code": 140,
- "message": "message"
}
], - "asn": "64432",
- "firmware": "17.01.02",
- "vtep-loopback-id": "11"
}, - {
- "loopback-id": "12",
- "ip-address": "10.20.50.203",
- "role": "Leaf",
- "pod": "ROOM1",
- "rack": "ROW1RACK1",
- "device-provisioning-status": "not provisioned",
- "app-config-status": "cfg ready",
- "config-gen-reason": "NS LA LD",
- "pending-config": "MCT-C",
- "leaf-type": "multi-homed",
- "model": "SLX9240",
- "host-name": "BLR-FABRIC1-ROOM1-TOR1",
- "error": [
- {
- "code": 140,
- "message": "message"
}, - {
- "code": 140,
- "message": "message"
}
], - "asn": "64432",
- "firmware": "17.01.02",
- "vtep-loopback-id": "11"
}
]
}
name required | string Name of the fabric |
deviceip required | string Device IP |
reconcile | boolean Default: false Reconcile flag |
{- "mgmt-ip": "10.10.10.10",
- "config-drift": {
- "GlobalConfig": [
- {
- "app_state": "cfg-refreshed",
- "config": "mtu",
- "value": "9154"
}
], - "EVPN": [
- {
- "app_state": "cfg-refreshed",
- "name": "default",
- "child_config": [
- "string"
]
}
], - "OverlayGateway": [
- {
- "app_state": "cfg-refreshed",
- "name": "default",
- "child_config": [
- "string"
]
}
], - "Cluster": [
- {
- "app_state": "cfg-refreshed",
- "name": "default",
- "child_config": [
- "string"
]
}
], - "Interface": [
- {
- "app_state": "cfg-refreshed",
- "int_type": "Ethernet",
- "name": "0/1",
- "child_config": [
- "string"
]
}
], - "RouterBGP": [
- {
- "app_state": "cfg-refreshed",
- "child_config": [
- "string"
], - "address_family_ipv4": {
- "app_state": "cfg-refreshed",
- "child_config": [
- "string"
]
}, - "address_family_ipv6": {
- "app_state": "cfg-refreshed",
- "child_config": [
- "string"
]
}, - "address_family_evpn": {
- "app_state": "cfg-refreshed",
- "child_config": [
- "string"
]
}
}
], - "RouterPIM": [
- {
- "app_state": "cfg-refreshed",
- "vrf_name": "vrfred",
- "child_config": [
- "string"
]
}
], - "IPPrefixList": [
- {
- "app_state": "cfg-refreshed",
- "name": "mcast-prefix",
- "child_config": [
- "string"
]
}
]
}, - "reconciliation-status": [
- {
- "config-type": "GlobalConfig",
- "status": "Success",
- "error-list": [
- {
- "code": 0,
- "message": "message"
}
]
}
]
}
Clear configurations from a list of devices
One or More Devices where configs are to be cleared.
reference_fabric_name | string |
ip_address | Array of strings |
{- "ip_address": [
- "10.24.39.204",
- "10.24.39.207"
], - "reference_fabric_name": [
- "BLR_FABRIC"
]
}
{- "status": "Successful"
}
Get configurations Reason for a devices
Get Configs Generate Reasons for One Devices
name | string |
ip_address | string |
{- "ip_address": [
- "10.24.39.204"
], - "name": [
- "BLR_FABRIC"
]
}
{- "lldp_config_generate_reason": [
- {
- "RemoteDeviceRole": "leaf",
- "RemoteInterfaceName": "ethernet",
- "InterfaceType": "ethernet",
- "RemoteIPAddress": "10.20.50.202",
- "InterfaceName": "ethernet",
- "IPAddress": "10.20.50.201",
- "DeviceRole": "leaf",
- "RemoteInterfaceType": "ethernet",
- "LinkState": "CREATE CONFIG"
}, - {
- "RemoteDeviceRole": "leaf",
- "RemoteInterfaceName": "ethernet",
- "InterfaceType": "ethernet",
- "RemoteIPAddress": "10.20.50.202",
- "InterfaceName": "ethernet",
- "IPAddress": "10.20.50.201",
- "DeviceRole": "leaf",
- "RemoteInterfaceType": "ethernet",
- "LinkState": "CREATE CONFIG"
}
]
}
ReConfigure IP Fabric underlay/overlay on all devices of a fabric
fabric-name required | string Name of the fabric |
device required | string ip of the devices whose Device State is provisioned and App State is cfg in-sync for which config needs to be pushed |
{- "fabric-name": "BLR-FABRIC",
- "fabric-id": 1,
- "status": "Successful"
}
Get the detailed output of the given execution ID
id required | string Detailed output of the given execution ID |
{- "start_time": "2000-01-23T04:56:07.000Z",
- "end_time": "2000-01-23T04:56:07.000Z",
- "id": "id",
- "parameters": "configure add",
- "logs": "logs",
- "command": "configure add",
- "status": "Failed, Succeeded",
- "user_name": "admin"
}
Get the list of all the previous executions
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) |
{- "items": [
- {
- "start_time": "2000-01-23T04:56:07.000Z",
- "end_time": "2000-01-23T04:56:07.000Z",
- "id": "id",
- "command": "configure add",
- "status": "configure add"
}, - {
- "start_time": "2000-01-23T04:56:07.000Z",
- "end_time": "2000-01-23T04:56:07.000Z",
- "id": "id",
- "command": "configure add",
- "status": "configure add"
}
]
}
This API will delete the execution older than specific number of days
days_older_by required | integer Default: 30 Deletes execution entries older than specified number of days |
{- "code": 0,
- "message": "message"
}
Get the list of all the event Histories
execution_uuid | string Execution UUID for filtering |
device_ip | string Device IP for filtering |
{- "items": [
- {
- "id": "string",
- "execution_uuid": "123e4567-e89b-12d3-a456-426655440000",
- "service": "tenant",
- "date": "2019-08-24T14:15:22Z",
- "event": "fabric-create",
- "device": "10.24.85.12",
- "message_type": "Fabric",
- "message_object": "fabric-name",
- "message": "Fabric Created",
- "error_text": "Failed at 10.23.45.23"
}
]
}
Get the Configuration of Devices in a Fabric
fabricName required | string Name of the fabric to retrieve |
role required | string Default: "all" Enum: "spines" "leaves" "border leaf" "all" role of the devices for which config needs to be fetched |
ip required | string ip of the devices for which config needs to be fetched |
{- "Response": "Response"
}