Extreme Fabric Automation - Fabric Service APIs (2.1.0)

Download OpenAPI specification:Download

The Fabric Service APIs allow you to programmatically register devices to a fabric, configure fabric parameters, validate all the devices in the fabric and configure switches for IP Fabric with/without overlay

Fabric

getFabrics

Get All fabric details configured in the application

Responses

200

OK

404

No fabrics found in the system

500

Unexpected error

default

Unexpected error

get /fabrics
http://gofabric-service:8081/v1/fabrics

getFabric

Get only specified fabric details. The fabric can be identified by id or name

query Parameters
name
required
string

Name of the fabric to retrieve

Responses

200

OK

401

Authorization information is missing or invalid.

404

A fabric with the specified name was not found.

500

Unexpected error.

default

Unexpected error

get /fabric
http://gofabric-service:8081/v1/fabric

createFabric

Request Body schema: application/json

Create a new Fabric

name
required
string
description
string
stage
integer <int32>
Enum: 3 5 7
type
string
Enum: "clos" "non-clos"

Responses

200

OK

401

Authorization information is missing or invalid.

409

A fabric with the specified name already exists.

500

Unexpected error.

default

Unexpected error

post /fabric
http://gofabric-service:8081/v1/fabric

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "stage": 5,
  • "type": "clos",
  • "name": "BLR-FABRIC",
  • "description": "Bengaluru DC IP Fabric"
}

deleteFabric

Delete an existing fabric by fabric name

query Parameters
name
required
string

Name of the fabric to be deleted

force
boolean
Default: false

Value true implies forced deletion of the fabric

Responses

200

OK

401

Authorization information is missing or invalid.

404

A fabric with the specified name was not found.

500

Unexpected error.

default

Unexpected error

delete /fabric
http://gofabric-service:8081/v1/fabric

cloneFabric

query Parameters
source-fabric
required
string

Fabric to be cloned from

destination-fabric
required
string

Fabric to be cloned to

Responses

200

OK

401

Authorization information is missing or invalid.

409

A fabric with the specified name already exists.

500

Unexpected error.

default

Unexpected error

post /fabric/clone
http://gofabric-service:8081/v1/fabric/clone

validateFabric

Validate CLOS topology of an input fabric

query Parameters
fabric-name
required
string

Name of the fabric

Responses

200

OK

401

Authorization information is missing or invalid.

404

A fabric with the specified name was not found.

500

Unexpected error.

get /fabric/validate
http://gofabric-service:8081/v1/fabric/validate

FabricErrors

Get Fabric Error For an input fabric

query Parameters
fabric-name
required
string

Name of the fabric

Responses

200

OK

401

Authorization information is missing or invalid.

404

A fabric with the specified name was not found.

500

Unexpected error.

get /fabric/errors
http://gofabric-service:8081/v1/fabric/errors

configureFabric

Configure IP Fabric underlay/overlay on all devices of a fabric

query Parameters
fabric-name
required
string

Name of the fabric

force
boolean
Default: false

Force the fabric configure operation on all devices of the fabric

Responses

200

OK

401

Authorization information is missing or invalid.

500

Unexpected error.

default

Unexpected error

post /fabric/configure
http://gofabric-service:8081/v1/fabric/configure

importFabric

Request Body schema: multipart/form-data
file
string <binary>

efa.db file-path. This file will get uploaded to the dcapp server.

fabric_name
required
string

Name of the fabric that gets created after importing db file.

Responses

200

OK

401

Authorization information is missing or invalid.

409

Import fabric validation error

500

Unexpected error.

default

Unexpected error

post /fabric/import
http://gofabric-service:8081/v1/fabric/import

Fabric Setting

getFabricSetting

query Parameters
name
required
string

Name of the fabric to retrieve

Responses

200

OK

400

Incorrect values specified for Fabric setting

401

Authorization information is missing or invalid.

404

A fabric with the specified name was not found.

409

A fabric settings already exist and cannot be updated.

500

Unexpected error.

default

Unexpected error

get /fabric/setting
http://gofabric-service:8081/v1/fabric/setting

updateFabricSetting

Request Body schema: application/json

Update Fabric Settings.

name
required
string
keyval
required
Array of objects (FabricParameter)

Responses

200

OK

400

Incorrect values specified for Fabric setting

401

Authorization information is missing or invalid.

404

A fabric with the specified name was not found.

409

A fabric settings already exist and cannot be updated.

500

Unexpected error.

default

Unexpected error

put /fabric/setting
http://gofabric-service:8081/v1/fabric/setting

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "name": "name",
  • "keyval":
    [
    ]
}

Fabric Topology

getFabricPhysicalTopology

Get fabric physical topology for a specified fabric.

query Parameters
fabric-name
required
string

Name of the fabric

Responses

200

OK

401

Authorization information is missing or invalid.

404

A device with the specified IP was not found.

500

Unexpected error

default

Unexpected error

get /fabric/topology/physical
http://gofabric-service:8081/v1/fabric/topology/physical

getFabricUnderlayTopology

Get fabric underlay topology for a specified fabric

query Parameters
fabric-name
required
string

Name of the fabric

Responses

200

OK

401

Authorization information is missing or invalid

404

A device with the specified IP was not found

500

Unexpected error

default

Unexpected error

get /fabric/topology/underlay
http://gofabric-service:8081/v1/fabric/topology/underlay

getFabricOverlayTopology

Get fabric overlay topology for a specified fabric

query Parameters
fabric-name
required
string

Name of the fabric

Responses

200

OK

401

Authorization information is missing or invalid

404

A device with the specified IP was not found

500

Unexpected error

default

Unexpected error

get /fabric/topology/overlay
http://gofabric-service:8081/v1/fabric/topology/overlay

Fabric Device

getDevicesByFabricName

Get All Devices in the specified fabric.

query Parameters
fabric-name
required
string

Fabric name

Responses

200

OK

404

No Devices found for the specified fabric.

422

Specified Fabric not found.

500

Unexpected error.

default

Unexpected error

get /fabric/devices
http://gofabric-service:8081/v1/fabric/devices

addDevicesToFabric

Request Body schema: application/json

Add new devices to the specified fabric

fabric-name
string

Name of the fabric

items
Array of objects (FabricDeviceAddRequest)

Responses

200

OK

410

Specified fabric doesnt exist

500

Unexpected error.

default

CLOS topology validation error

post /fabric/devices
http://gofabric-service:8081/v1/fabric/devices

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "fabric-name": "BLR-FABRIC",
  • "items":
    [
    ]
}

removeDevicesFromFabric

Remove devices from the specific fabric

Request Body schema: application/json

Details of the devices to be removed

fabric-name
string

Name of the fabric

items
Array of objects (FabricDeviceRemoveRequest)

Responses

200

OK

401

Authorization information is missing or invalid.

404

A Device with the specified IP Address was not found.

500

Unexpected error.

default

Unexpected error

delete /fabric/devices
http://gofabric-service:8081/v1/fabric/devices

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "items":
    [
    ]
}

Debug

clearDeviceConfiguration

Clear configurations from a list of devices

Request Body schema: application/json

One or More Devices where configs are to be cleared.

reference_fabric_name
string
ip_address
Array of strings

Responses

200

OK

401

Authorization information is missing or invalid.

500

Unexpected error.

default

Unexpected error

post /debug/device/clear
http://gofabric-service:8081/v1/debug/device/clear

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "ip_address":
    [
    ],
  • "reference_fabric_name":
    [
    ]
}

Reasons For App generating configs

Get configurations Reason for a devices

Request Body schema: application/json

Get Configs Generate Reasons for One Devices

name
string
ip_address
string

Responses

200

OK

401

Authorization information is missing or invalid.

500

Unexpected error.

default

Unexpected error

get /debug/device/configGenerateReason
http://gofabric-service:8081/v1/debug/device/configGenerateReason

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "ip_address":
    [
    ],
  • "name":
    [
    ]
}

pushConfig

ReConfigure IP Fabric underlay/overlay on all devices of a fabric

query Parameters
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

Responses

200

OK

401

Authorization information is missing or invalid.

500

Unexpected error.

default

Unexpected error

post /debug/device/pushConfig
http://gofabric-service:8081/v1/debug/device/pushConfig

Trouble Shooting

getSupport

Capture the supportsave data and return the file name in the response

Responses

200

OK

401

Authorization information is missing or invalid.

500

Unexpected error.

default

Unexpected error

get /support
http://gofabric-service:8081/v1/support

getExecutionDetail

Get the detailed output of the given execution ID

query Parameters
id
required
string

Detailed output of the given execution ID

Responses

200

OK

401

Authorization information is missing or invalid.

500

Unexpected error.

default

Unexpected error

get /execution
http://gofabric-service:8081/v1/execution

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

200

OK

401

Authorization information is missing or invalid.

500

Unexpected error.

default

Unexpected error

get /executions
http://gofabric-service:8081/v1/executions

Config Show

getConfigShow

Get the Configuration of Devices in a Fabric

query Parameters
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

Responses

200

OK

401

Authorization information is missing or invalid.

500

Unexpected error.

default

Unexpected error

get /config
http://gofabric-service:8081/v1/config