Table of Contents

Preface

Cisco Dynamic Fabric Automation REST APIs

Authentication

Auto Configuration

Cable Plan

DCI

DHCP

Multiple Orchestrator Support

Multiple Mobility Domain with VLAN Translation

POAP

Cisco DCNM REST API Guide, Release 7

Preface

Organization

This guide includes the following sections:

Section

Title

Description

1

DFA REST API

Describes the REST API’s for Cisco Dynamic Fabric Automation.

Conventions

This document uses the following conventions:

Convention

Indication

bold font

Commands and keywords and user-entered text appear in bold font.

italic font

Document titles, new or emphasized terms, and arguments for which you supply values are in italic font.

[ ]

Elements in square brackets are optional.

{x | y | z }

Required alternative keywords are grouped in braces and separated by vertical bars.

[ x | y | z ]

Optional alternative keywords are grouped in brackets and separated by vertical bars.

string

A nonquoted set of characters. Do not use quotation marks around the string or the string will include the quotation marks.

courier font

Terminal sessions and information the system displays appear in courier font.

< >

Nonprinting characters such as passwords are in angle brackets.

[ ]

Default responses to system prompts are in square brackets.

!, #

An exclamation point (!) or a pound sign (#) at the beginning of a line of code indicates a comment line.

Note Means reader take note. Notes contain helpful suggestions or references to material not covered in the manual.

Tip Means the following information will help you solve a problem. The tips information might not be troubleshooting or even an action, but could be useful information, similar to a Timesaver.

Caution Means reader be careful. In this situation, you might perform an action that could result in equipment damage or loss of data.

Timesaver Means the described action saves time. You can save time by performing the action described in the paragraph.

Warning IMPORTANT SAFETY INSTRUCTIONS

This warning symbol means danger. You are in a situation that could cause bodily injury. Before you work on any equipment, be aware of the hazards involved with electrical circuitry and be familiar with standard practices for preventing accidents. Use the statement number provided at the end of each warning to locate its translation in the translated safety warnings that accompanied this device.

SAVE THESE INSTRUCTIONS

Warning Statements using this symbol are provided for additional information and to comply with regulatory and customer requirements

Cisco Unified Fabric REST API

Introduction

The Cisco Unified Fabric REST APIs for third party applications enables you to programmatically control Cisco Unified Fabric. The REST API supports POAP (Power On Auto Provisioning), Auto Config and Cable plan features.

POAP allows devices to boot up with temporary IP address (assigned by DHCP server), to download the POAP boot-up script (also assigned by DHCP server) which will further download the required kick-start and system image, and the device configuration file from the specific TFTP server indicated in the boot-up script.

In the Cisco Unified Fabric architecture, the virtual machine (VM) facing interface on leaf switches is automatically configured and de-configured by the auto config. It detects the server/VM boot-up, retrieves pre-defined network parameters from the asset database, and applies the generated configuration. When the VM is moved or shutdown, the auto config also updates/removes the dynamic configuration.

Cable plan provides a Netmap of port-to-port cable connectivity data that can be imported into the switches of the Unified Fabric. The XML cable plan acts as a lookup table, and if a port is not connected to its corresponding destination port as per the plan, the switch should flag an error and notify the customers.

All the REST API operations can also be performed using the DCNM GUI as DCNM uses these REST APIs to render the GUI.

For more information about Cisco Dynamic Fabric Automation, see the Cisco DFA Application Programmer’s Guide.

Software Architecture

In a Unified Fabric datacenter, Cisco DCNM will be the central point of management for the fabric and for the network auto-configuration. PoAP templates are used to auto-configure the spine and leaf network devices and configuration profiles are used to auto-configure the organizations, networks and services.

DCNM works as the network controller in conjunction with any instances of compute/storage orchestrators and service controllers to provide an open and extensible integrated virtual and physical network. Organizations and networks can be created directly using the Cisco DCNM GUIs or through the compute/storage orchestrators. In both cases the external APIs discussed in this document are used to retrieve information and create/retrieve/update/delete configuration profile instances into the network Asset Database (LDAP). The leaf devices in turn fetch configuration from the Asset Database and self-configure themselves. Service controllers like PNSC can also get organization/network information from DCNM through the APIs, as well as update the configuration profiles for services integration.

The general workflow is as follows:

- Create Organizations and Partitions

- As part of this, edge services may be automatically deployed

- Create Segments

- As part of this, segment services may be automatically deployed

- Deploy application workload

Throughout this process the network and network services can be automated using Unified Fabric. For an animated description of the Unified Fabric architecture and work flow refer the following link https://www.youtube.com/watch?v=MNnv2Y_k6EY.

Note You can also use your own REST based clients to integrate with third party orchestrators.

REST APIs

DCNM will provide REST API, and the REST approach emphasizes on using the resource name as part of the URL. In this release, the response of the REST API will be encoded in JSON format (see https://www.json.org for validation).

The query parameters for the https GET will be appended to the URL after the symbol “?”; the input for the https POST/PUT/DELETE will be specified in the payload with the URL-encoded. REST APIs support both https and https.

This section contains the high level description for the REST API, during implementation the REST APIs are subject to change.

DCNM REST API supports “application/json” for the Content-Type.

The following parameter types are mentioned in this document:

A - Array

S - String

O – Object

- “Authentication” section

- “Auto Configuration” section

- “Cable Plan” section

- “DCI” section

- “DHCP” section

- “Multiple Orchestrator Support” section

- “Multiple Mobility Domain with VLAN Translation” section

- “Power On Auto Provisioning (POAP)” section

Authentication

The Authentication REST APIs can be used by an external application to authenticate itself to the DCNM in order to programmatically control the Unified Fabric cluster. After calling logon to get the token, all the subsequent REST API requests need to set the Dcnm-Token field with the token in the https header.

By default, the dcnm will support http. For https support, you need to run the command "appmgr update dcnm -h true”.

The following are the Authentication REST APIs:

- Logon

- Logout

- Get DCNM Version

Logon

Resource Name

/logon

Description

Logon to DCNM server to authenticate the user. Once the authentication is complete, a token will be returned as the response. All API calls to the DCNM server should use this token until it is expired or invalid. The logon API uses “username:password” with base64 encoded in https Authorization header. For example, “Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==” will return the token in the payload.

https Method

POST

URL

https://dcnm-ip/rest/logon

Parameter

Parameter

Type

Description

expirationTime

S

Token expiry duration.

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

Dcnm-Token

S

Details of the token.

Status Code

200

OK

400

Bad Request

401

Unauthorized

403

Forbidden

500

Internal Server Error

Logout

Resource Name

/logout

Description

Logout from the DCNM server. Once you have logged out, the token will be invalid. You must set the token in the Authorization header while using this API.

https Method

POST

URL

https://dcnm-ip/rest/logout

Parameter

Parameter

Type

Description

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

Status Code

202

Accepted

400

Bad Request

401

Unauthorized

403

Forbidden

500

Internal Server Error

Get DCNM Version

Resource Name

/rest/dcnm-version

Description

Get the installed DCNM version.

https Method

GET

URL

https://dcnm-ip/rest/dcnm-version

Parameter

Parameter

Type

Description

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

Dcnm-Version

S

Get DCNM version.

Status Code

200

OK

400

Bad Request

401

Unauthorized

403

Forbidden

500

Internal Server Error

Auto Configuration

The auto configuration contains the following tables:

- Organization

- Partition

- Network

- Profile

The following are the Authentication REST APIs:

- List Organizations

- Create an Organization

- Get an Organization

- Update an Organization

- Delete an Organization

- List Partitions

- Create a Partition

- Get a Partition

- Update a Partition

- Delete a Partition

- List Networks

- Create a Network

- Get a Network

- Update a Network

- Delete a Network

- Create a Auto Configuration profile

- Delete a Auto Configuration profile

- Get Auto Config Settings

- Update Auto Config Settings

- List Auto Configuration Profiles

- Create a Auto Configuration profile

- Get a Auto Configuration profile

- Update a Auto Configuration profile

- Delete a Auto Configuration profile

Organization

Attributes

Type

Require

organizationName

String

Mandatory

description

String

Optional

orchestrationSource

String

Optional

Partition

Attributes

Type

Require

partitionName

String

Mandatory

partitionSegmentId

String

Mandatory

organizationName

String

Mandatory

description

String

Optional

serviceNodeIpAddress

String

Optional

dnsServer

String

Optional

secondaryDNSServer

String

Optional

vrfName

String

Optional

dciId

String

Optional

Network

Attributes

Type

Require

organizationName

String

Mandatory

networkRole

String

Mandatory

networkName

String

Mandatory

segmentId

String

Mandatory

vlanId

String

Mandatory

mobilityDomainId

String

Mandatory

profileName

String

Mandatory

partitionName

String

Mandatory

dvsId

String

Optional

staticIpStart

String

Optional

gateway

String

Optional

netmaskLength

String

Optional

gatewayIpv6Adddress

String

Optional

prefixLength

String

Optional

secondaryGateway

String

Optional

staticIpEnd

String

Optional

vSwitchControllerNetworkId

String

Optional

description

String

Optional

vSwitchControllerId

String

Optional

configArg

String

Optional

dhcpScope

subnet

Optional

gateway

Optional

ipRange

Optional

vrfName

String

Optional

Profile

Attributes

Type

Require

forwardingMode

String

Mandatory

profileName

String

Mandatory

configCommands

String

Mandatory

description

String

Optional

profileType

String

Mandatory

profileSubType

String

Mandatory

List Organizations

Resource Name

/auto-config/organizations

Description

Displays a list of Organizations.

https Method

GET

URL

https://dcnm-ip/rest/auto-config/organizations

https://dcnm-ip/rest/auto-config/organizations?detail=true

Parameter

Parameter

Type

Description

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

Organizations

A

By default, a list of organization names is displayed. If “detail=true”, then a list of Organization objects is displayed.

Status Code

200

OK

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

405

Method Not Allowed

500

Internal Server Error

Create an Organization

Resource Name

/auto-config/organizations

Description

Enables you to create a new organization.

https Method

POST

URL

https://dcnm-ip/rest/auto-config/organizations

Parameter

Parameter

Type

Description

Organization

O

Organization object

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

Organization-name

S

New organization name

Status Code

202

Accepted

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

405

Method Not Allowed

500

Internal Server Error

Get an Organization

Resource Name

/auto-config/organizations/organization-name

Description

Enables you to get an organization.

https Method

GET

URL

https://dcnm-ip/rest/auto-config/organizations/organization-name

Parameter

Parameter

Type

Description

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

Oganization

O

Organization object

Status Code

200

OK

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

405

Method Not Allowed

500

Internal Server Error

Update an Organization

Resource Name

/auto-config/organizations/organization-name

Description

Enables you to update an organization.

https Method

PUT

URL

https://dcnm-ip/rest/auto-config/organizations/organization-name

Parameter

Parameter

Type

Description

Organization

O

Organization object

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

Status Code

202

Accepted

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

405

Method Not Allowed

500

Internal Server Error

Delete an Organization

Resource Name

/auto-config/organizations/organization-name

Description

Enables you to delete a organization.

https Method

DELETE

URL

https://dcnm-ip/rest/auto-config/organizations/organization-name

Parameter

Parameter

Type

Description

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

Status Code

202

Accepted

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

405

Method Not Allowed

500

Internal Server Error

List Partitions

Resource Name

/auto-config/organizations/organization-name/partitions

Description

Displays a list of partitions.

https Method

GET

URL

https://dcnm-ip/rest/auto-config/organizations/organization1/partitions

https://dcnm-ip/rest/auto-config/organizations/organization1/partitions?detail=true

Parameter

Parameter

Type

Description

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

Partitions

A

By default, a list of partition names is displayed. If “detail=true”, then a list of partition objects is displayed.

Status Code

200

OK

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

405

Method Not Allowed

500

Internal Server Error

Create a Partition

Resource Name

/auto-config/organizations/organization-name/partitions

Description

Enables you to create a new partition.

https Method

POST

URL

http://dcnm-ip/rest/auto-config/organizations/organization-name/partitions

Parameter

Parameter

Type

Description

Partition-object

O

Partition object

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

partition-name

S

Partition name

Status Code

202

Accepted

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

405

Method Not Allowed

500

Internal Server Error

Get a Partition

Resource Name

/auto-config/organizations/organization-name/partitions/partition-name

Description

Enables you to get a partition.

https Method

GET

URL

https://dcnm-ip/rest/auto-config/organizations/organization-name/partitions/partition-name

Parameter

Parameter

Type

Description

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

Partition

O

Partition object

Status Code

200

OK

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

405

Method Not Allowed

500

Internal Server Error

Update a Partition

Resource Name

/auto-config/organizations/organization-name/partitions/partition-name

Description

Update a partition.

https Method

PUT

URL

https://dcnm-ip/rest/auto-config/organizations/organization-name/partitions/partition-name

Parameter

Parameter

Type

Description

Partition

O

Partition object

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

Status Code

202

Accepted

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

405

Method Not Allowed

500

Internal Server Error

Delete a Partition

Resource Name

/auto-config/organizations/organization-name/partitions/partition-name

Description

Delete a partition.

https Method

DELETE

URL

https://dcnm-ip/rest/auto-config/organizations/organization-name/partitions/partition-name

Parameter

Parameter

Type

Description

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

Status Code

202

Accepted

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

405

Method Not Allowed

500

Internal Server Error

List Networks

Resource Name

/auto-config/organizations/organization-name/partitions/partition-name/networks

Description

List of networks.

https Method

GET

URL

https://dcnm-ip/rest/auto-config/organizations/organization-name/partitions/partition-name/networks

https://dcnm-ip/rest/auto-config/organizations/organization-name/partitions/partition-name/networks?detail=true

Parameter

Parameter

Type

Description

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

Networks

A

By default, a list of segment IDs for l2 segments, a list of VLAN IDs, and Mobility Domain IDs for the VLAN Mobility Domain is displayed. If “detail=true”, then list of network objects is displayed

Status Code

200

OK

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

405

Method Not Allowed

500

Internal Server Error

Create a Network

Resource Name

/auto-config/organizations/organization-name/partitions/partition-name/networks

Description

Create a new network.

https Method

POST

URL

https://dcnm-ip/rest/auto-config/organizations/organization-name/partitions/partition-name/networks

Parameter

Parameter

Type

Description

Network

O

Network object

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

SegmentID or VLANID + MobilityDomainID

S

Segment ID for l2 segments or VLAN ID and Mobility Domain ID for VLAN Mobility Domain is displayed.

Status Code

200

OK

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

405

Method Not Allowed

500

Internal Server Error

Get a Network

Resource Name

/auto-config/organizations/organization-name/partitions/partition-name/networks/{network-id}

Description

Get a network.

https Method

GET

URL

https://dcnm-ip/rest/auto-config/organizations/organization-name/partitions/partition-name/networks/segment/20010

https://dcnm-ip/rest/auto-config/organizations/organization-name/partitions/partition-name/networks/vlan/10/mobility-domain/mydomain

Parameter

Parameter

Type

Description

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

Network

O

Network object

Status Code

200

OK

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

405

Method Not Allowed

500

Internal Server Error

Update a Network

Resource Name

/auto-config/organizations/organization-name/partitions/partition-name/networks/{network-id}

Description

Update a network.

https Method

PUT

URL

https://dcnm-ip/rest/auto-config/organizations/organization-name/partitions/partition-name/networks/segment/20010

https://dcnm-ip/rest/auto-config/organizations/organization-name/partitions/partition-name/networks/vlan/10/mobility-domain/mydomain

Parameter

Parameter

Type

Description

Network

O

Network object

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

Status Code

202

Accepted

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

405

Method Not Allowed

500

Internal Server Error

Delete a Network

Resource Name

/auto-config/organizations/organization-name/partitions/partition-name/networks/{network-id}

Description

Delete a network.

https Method

DELETE

URL

https://dcnm-ip/rest/auto-config/organizations/organization-name/partitions/partition-name/networks/segment/20010

https://dcnm-ip/rest/auto-config/organizations/organization-name/partitions/partition-name/networks/vlan/10/mobility-domain/mydomain

Parameter

Parameter

Type

Description

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

Status Code

202

Accepted

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

405

Method Not Allowed

500

Internal Server Error

Get Auto Config Settings

Resource Name

/auto-config/settings

Description

Get auto config settings.

https Method

GET

URL

https://dcnm-ip/rest/auto-config/settings

Parameter

Parameter

Type

Description

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

Auto-config-settings

O

The following auto config settings objects are displayed: ldapServer, ldapUserName, ldapPassWord, segmentIdRange, partitionIdRange, useLocalDhcp,

dhcpPrimarySubnet, enableAmqpNotification, amqpServer, amqpPort, amqpVirtualHost, amqpUserName, amqpPassWord, amqpExchangeName,

xmppServer, xmppUserName, xmppPassWord, xmppGroup, xmppResponseTimeout, xmppSearch, vrfName

The following attributes are applicable for HA set-up:

ldapPeerServer, ldapPeerUserName, ldapPeerPassWord.

Status Code

200

OK

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

405

Method Not Allowed

500

Internal Server Error

Update Auto Config Settings

Resource Name

/auto-config/settings

Description

Update auto config settings.

https Method

PUT

URL

https://dcnm-ip/rest/auto-config/settings

Parameter

Parameter

Type

Description

Auto-config-settings

O

The following auto config settings object are displayed: ldapServer, ldapUserName, ldapPassWord, segmentIdRange, partitionIdRange, useLocalDhcp,

dhcpPrimarySubnet, enableAmqpNotification, amqpServer, amqpPort, amqpVirtualHost, amqpUserName, amqpPassWord, amqpExchangeName,

xmppServer, xmppUserName, xmppPassWord, xmppGroup, xmppResponseTimeout, xmppSearch, vrfName

The following attributes are applicable for HA set-up:

ldapPeerServer, ldapPeerUserName, ldapPeerPassWord.

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

Status Code

202

Accepted

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

405

Method Not Allowed

500

Internal Server Error

List Auto Configuration Profiles

Resource Name

/rest/auto-config/profiles

Description

List of profiles

https Method

GET

URL

https://dcnm-ip/rest/auto-config/profiles

Parameter

Parameter

Type

Description

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

profiles

A

By default, a list of profile Names, profile Types and profile SubTypes are displayed. If "detail=true", a list of profile objects is displayed.

Status Code

200

OK

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

405

Method Not Allowed

500

Internal Server Error

Create a Auto Configuration profile

Resource Name

/rest/auto-config/profiles/

Description

Create a new profile.

https Method

POST

URL

https://dcnm-ip/rest/auto-config/profiles/

Parameter

Parameter

Type

Description

profile

O

Profile object

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

ProfileName

S

Profile name

Status Code

200

OK

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

405

Method Not Allowed

500

Internal Server Error

Get a Auto Configuration profile

Resource Name

/rest/auto-config/profiles/{profile-name}

/rest/auto-config/profiles/{profile-name}/type/IPVLAN

/rest/auto-config/profiles/{profile-name}/type/FPBD

Description

If profile Type has not been provided then response will return default FPVLAN profile.

If profile Type is IPVLAN then response will return IPVLAN profile.

If profile Type is FPBD then response will return FPBD profile.

https Method

GET

URL

https://dcnm-ip/rest/auto-config/profiles/{profile-name}

https://dcnm-ip/rest/auto-config/profiles/{profile-name}/type/IPVLAN

https://dcnm-ip/rest/auto-config/profiles/{profile-name}/type/FPBD

Parameter

Parameter

Type

Description

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

profile

O

Profile object

Status Code

200

OK

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

405

Method Not Allowed

500

Internal Server Error

Update a Auto Configuration profile

Resource Name

/rest/auto-config/profiles/{profile-name}

/rest/auto-config/profiles/{profile-name}/type/IPVLAN

/rest/auto-config/profiles/{profile-name}/type/FPBD

Description

If profile Type has not been provided then update a default FPVLAN profile.

If profile Type is IPVLAN then update an IPVLAN profile.

If profile Type is FPBD then update a FPBD profile.

https Method

PUT

URL

https://dcnm-ip/rest/auto-config/profiles/{profile-name}

https://dcnm-ip/rest/auto-config/profiles/{profile-name}/type/IPVLAN

https://dcnm-ip/rest/auto-config/profiles/{profile-name}/type/FPBD

Parameter

Parameter

Type

Description

profile

O

Profile object

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

Status Code

200

OK

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

405

Method Not Allowed

500

Internal Server Error

Delete a Auto Configuration profile

Resource Name

/rest/auto-config/profiles/{profile-name}

/rest/auto-config/profiles/{profile-name}/type/IPVLAN

/rest/auto-config/profiles/{profile-name}/type/FPBD

Description

If profile Type has not been provided then delete a default FPVLAN profile.

If profile Type is IPVLAN then delete an IPVLAN profile.

If profile Type is FPBD then delete a FPBD profile.

https Method

DELETE

URL

https://dcnm-ip/rest/auto-config/profiles/{profile-name}

https://dcnm-ip/rest/auto-config/profiles/{profile-name}/type/IPVLAN

https://dcnm-ip/rest/auto-config/profiles/{profile-name}/type/FPBD

Parameter

Parameter

Type

Description

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

Status Code

200

OK

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

405

Method Not Allowed

500

Internal Server Error

Cable Plan

The following are the Cable Plan REST APIs:

- Capture a Cable Plan

- Generate a Cable Plan

- Get a Cable Plan

- Save a Cable Plan

- Delete a Cable Plan

- Get a Cable Plan From Device

- View Cable Plan From Device

- Import a Cable Plan

- Export a Cable Plan

- Deploy a Cable Plan

- Revoke a Cable Plan

Capture a Cable Plan

Resource Name

/cable-plans/discovery

Description

Extract a cable plan base on the switches discovered by DCNM.

https Method

GET

URL

https://dcnm-ip/rest/cable-plans/discovery

Parameter

Parameter

Type

Description

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

cable-plan-name

S

Name of the cable plan

Status Code

200

Accepted

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

405

Method Not Allowed

500

Internal Server Error

Generate a Cable Plan

Resource Name

/cable-plans/poap

Description

Generate a cable plan base on the POAP switch definitions from DCNM

https Method

GET

URL

https://dcnm-ip/rest/cable-plans/poap

Parameter

Parameter

Type

Description

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

cable-plan-name

S

Name of the cable plan

Status Code

200

Accepted

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

405

Method Not Allowed

500

Internal Server Error

Get a Cable Plan

Resource Name

/cable-plans

Description

Get a cable plan

https Method

GET

URL

https://dcnm-ip/rest/cable-plans

https://dcnm-ip/rest/cable-plans?detail=true

Parameter

Parameter

Type

Description

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

cable-plan

O

By default returns cable-plan information, if “detail=true”, then will return CablePlan object.

Status Code

200

OK

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

405

Method Not Allowed

500

Internal Server Error

Save a Cable Plan

Resource Name

/cable-plans

Description

Save a cable plan into the DCNM database.

https Method

POST

URL

https://dcnm-ip/rest/cable-plans

Parameter

Parameter

Type

Description

cable-plan-object

O

Cable-plan-object including cable-plan-name, source-device, source-device-type, source-port, dest-device, dest-device-type, dest-port.

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

Status Code

202

Accepted

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

405

Method Not Allowed

500

Internal Server Error

Delete a Cable Plan

Resource Name

/cable-plans

Description

Delete cable plan base on the POAP switch definitions from DCNM.

https Method

DELETE

URL

https://dcnm-ip/rest/cable-plans

Parameter

Parameter

Type

Description

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

Status Code

202

Accepted

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

405

Method Not Allowed

500

Internal Server Error

Get a Cable Plan From Device

Resource Name

/cable-plans/device-xml

Description

Get a cable plan from devices in XML

https Method

POST

URL

https://dcnm-ip/rest/cable-plans/device-xml

Parameter

Parameter

Type

Description

Ip-addresses

S

The Switch IP Address list which derives the cable plan.

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

cable-plan-info

S

Cable plans in XML

Status Code

200

OK

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

405

Method Not Allowed

500

Internal Server Error

View Cable Plan From Device

Resource Name

/cable-plans/device-raw

Description

Get cable plan from devices and return in raw format

https Method

POST

URL

https://dcnm-ip/rest/cable-plans/device-raw

Parameter

Parameter

Type

Description

Ip-addresses

S

The Switch IP Address list which derives the cable plan

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

Cable-plan-info

S

Cable plans in raw format

Status Code

200

OK

202

Accepted

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

405

Method Not Allowed

500

Internal Server Error

Import a Cable Plan

Resource Name

/cable-plans/import

Description

Returns Cable Plan object of imported cable plan file.

https Method

POST

URL

https://dcnm-ip/rest/cable-plans/import

Parameter

Parameter

Type

Description

cable-plan

S

You must provide a Name for the cable plan and the cable plan content in the payload.

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

Cable-plan-object

O

Cable plan object

Status Code

200

OK

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

405

Method Not Allowed

500

Internal Server Error

Export a Cable Plan

Resource Name

/cable-plans/xml

Description

Export a cable plan from DCNM in XML format

https Method

GET

URL

https://dcnm-ip/rest/cable-plans/xml

Parameter

Parameter

Type

Description

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

Cable-plan-object

S

Name of the cable plan and content in XML format in the payload.

Status Code

200

OK

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

405

Method Not Allowed

500

Internal Server Error

Deploy a Cable Plan

Resource Name

/cable-plans/fabric

Description

Deploy a cable plan to all the spine and leaf devices

https Method

POST

URL

hhttps://dcnm-ip/rest/cable-plans/fabric

Parameter

Parameter

Type

Description

Ip-addresses

S

Switch IP address list that needs to be deployed.

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

Status Code

202

Accepted

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

405

Method Not Allowed

500

Internal Server Error

Revoke a Cable Plan

Resource Name

/cable-plans/revoke

Description

Revoke a cable plan from all the spine and leaf devices

https Method

POST

URL

https://dcnm-ip/rest/cable-plans/revoke

Parameter

Parameter

Type

Description

Ip-addresses

S

Switch IP address list that needs to be deployed.

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

Status Code

202

Accepted

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

405

Method Not Allowed

500

Internal Server Error

DCI

The following are the DCI REST APIs:

- Get Unified Fabric DCI Settings

- Update Unified Fabric DCI Settings

- List DCI pairs

- Create DCI Pairs

- Get DCI Pairs with Node Id

- Update DCI Pairs for Special Type BL-DCI and BL

- Delete DCI Pairs for Special Type BL-DCI and BL

- Get DCI Pairs with Node ID and Peer ID

- Update DCI Pairs with Node ID and Peer ID

- Delete DCI Pairs with Node ID and Peer ID

- Create Partition with DCI Option

- Update Partition with DCI ID

- Update Partition to Disable DCI Extension

- Update Partition to Enable DCI Extension

- List All Extended Partitions

- List All Extended Partitions with a VRF

- List all Extended Partitions in an Organization

- Get Extended Partition

Get Unified Fabric DCI Settings

Resource Name

/settings/dci

Description

Get Unified Fabric DCI settings

https Method

GET

URL

https://dcnm-ip/rest/settings/dci

Parameter

Parameter

Type

Description

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

settings

O

Return DCI settings

Status Code

200

OK

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

405

Method Not Allowed

500

Internal Server Error

Update Unified Fabric DCI Settings

Resource Name

/settings/dci

Description

Update Unified Fabric DCI settings

https Method

PUT

URL

https://dcnm-ip/rest/settings/dci

Parameter

Parameter

Type

Description

settings

S

Update the DCI settings.

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

Status Code

200

OK

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

405

Method Not Allowed

500

Internal Server Error

List DCI pairs

Resource Name

/auto-config/dci/paired-devices

Description

List all the DCI pairs.

https Method

GET

URL

https://dcnm-ip/rest/auto-config/dci/paired-devices

Parameter

Parameter

Type

Description

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

dci-pairings

S

DCI pairs

Status Code

200

OK

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

405

Method Not Allowed

500

Internal Server Error

Create DCI Pairs

Resource Name

/auto-config/dci/paired-devices

Description

Create DCI pairing.

https Method

POST

URL

https://dcnm-ip/rest/auto-config/dci/paired-devices

Parameter

Parameter

Type

Description

dci-pairing

O

DCI pairing

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

Status Code

200

OK

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

405

Method Not Allowed

500

Internal Server Error

Get DCI Pairs with Node Id

Resource Name

/auto-config/dci/paired-devices/device/{node-id}

Description

Get the DCI pairings for a given node ID, or the type is "BL-DCI", or type is "BL" without peering.

<<sushs: do we need to expand BL?>>

https Method

GET

URL

https://dcnm-ip/rest/auto-config/dci/paired-devices/device/{node-id}

Parameter

Parameter

Type

Description

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

dci-pairing

O

DCI pairing

Status Code

200

OK

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

405

Method Not Allowed

500

Internal Server Error

Update DCI Pairs for Special Type BL-DCI and BL

Resource Name

/auto-config/dci/paired-devices/device/{node-id}

Description

Update the DCI pairing for the type "BL-DCI" or "BL" without peering

<<sushs: same comment as above>>

https Method

PUT

URL

https://dcnm-ip/rest/auto-config/dci/paired-devices/device/{node-id}

Parameter

Parameter

Type

Description

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

dci-pairing

O

DCI pairing

Status Code

200

OK

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

405

Method Not Allowed

500

Internal Server Error

Delete DCI Pairs for Special Type BL-DCI and BL

Resource Name

/auto-config/dci/paired-devices/device/{node-id}

Description

Delete the DCI pairing for the type "BL-DCI" or "BL" without peering

<<sushs: same comment as above>>

https Method

DELETE

URL

https://dcnm-ip/rest/auto-config/dci/paired-devices/device/{node-id}

Parameter

Parameter

Type

Description

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

Status Code

200

OK

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

405

Method Not Allowed

500

Internal Server Error

Get DCI Pairs with Node ID and Peer ID

Resource Name

/auto-config/dci/paired-devices/device/{node-id}/peer/{peer-node-id}

Description

Get the DCI pairing for a given node-id and peer-id

https Method

GET

URL

https://dcnm-ip/rest/auto-config/dci/paired-devices/device/{node-id}/peer/{peer-node-id}

Parameter

Parameter

Type

Description

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

dci-pairing

O

DCI pairing

Status Code

200

OK

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

405

Method Not Allowed

500

Internal Server Error

Update DCI Pairs with Node ID and Peer ID

Resource Name

/auto-config/dci/paired-devices/device/{node-id}/peer/{peer-node-id}

Description

Update the DCI pairing for a given node-id and peer-id.

https Method

PUT

URL

https://dcnm-ip/rest/auto-config/dci/paired-devices/device/{node-id}/peer/{peer-node-id}

Parameter

Parameter

Type

Description

dci-pairing

O

DCI Pairing

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

settings

O

Return DCI settings

Status Code

200

OK

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

405

Method Not Allowed

500

Internal Server Error

Delete DCI Pairs with Node ID and Peer ID

Resource Name

/auto-config/dci/paired-devices/device/{node-id}/peer/{peer-node-id}

Description

Delete the DCI pairing for a given node ID and peer ID

https Method

DELETE

URL

https://dcnm-ip/rest/auto-config/dci/paired-devices/device/{node-id}/peer/{peer-node-id}

Parameter

Parameter

Type

Description

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

Status Code

200

OK

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

405

Method Not Allowed

500

Internal Server Error

Create Partition with DCI Option

Resource Name

/auto-config/organizations/{organization-name}/partitions

Description

Create the partition with DCI ID and enable DCI extension.

https Method

POST

URL

https://dcnm-ip/rest/auto-config/organizations/{organization-name}/partitions

Parameter

Parameter

Type

Description

partition

O

Partition object

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

Status Code

200

OK

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

405

Method Not Allowed

500

Internal Server Error

Update Partition with DCI ID

Resource Name

/auto-config/organizations/{organization-name}/partitions/{partition-name}

Description

Update the partition with DCI ID.

https Method

PUT

URL

https://dcnm-ip/rest/auto-config/organizations/{organization-name}/partitions/{partition-name}

Parameter

Parameter

Type

Description

partition

O

Partition object

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

Status Code

200

OK

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

405

Method Not Allowed

500

Internal Server Error

Update Partition to Disable DCI Extension

Resource Name

/auto-config/organizations/{organization-name}/partitions/{partition-name}

Description

Update the partition to disable DCI extension.

https Method

PUT

URL

https://dcnm-ip/rest/auto-config/organizations/{organization-name}/partitions/{partition-name}

Parameter

Parameter

Type

Description

partition

O

Partition object

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

Status Code

200

OK

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

405

Method Not Allowed

500

Internal Server Error

Update Partition to Enable DCI Extension

Resource Name

/auto-config/organizations/{organization-name}/partitions/{partition-name}

Description

Update the partition to enable DCI extension.

https Method

PUT

URL

https://dcnm-ip/rest/auto-config/organizations/{organization-name}/partitions/{partition-name}

Parameter

Parameter

Type

Description

partition

O

Partition object

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

Status Code

200

OK

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

405

Method Not Allowed

500

Internal Server Error

List All Extended Partitions

Resource Name

/auto-config/dci/extended-partitions

Description

List all the extended partitions.

https Method

GET

URL

https://dcnm-ip/rest/auto-config/dci/extended-partitions

https://dcnm-ip/rest/auto-config/dci/extended-partitions?detail=true

Parameter

Parameter

Type

Description

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

extended-partition

O

Extended partition

Status Code

200

OK

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

405

Method Not Allowed

500

Internal Server Error

List All Extended Partitions with a VRF

Resource Name

/auto-config/dci/extended-partitions/vrfs/{vrf-name}

Description

List all the extended partitions with a VRF.

https Method

GET

URL

https://dcnm-ip/rest/auto-config/dci/extended-partitions/vrfs/{vrf-name}

https://dcnm-ip/rest/auto-config/dci/extended-partitions/vrfs/{vrf-name}?detail=true

Parameter

Parameter

Type

Description

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

extended-partition

O

Extended partition

Status Code

200

OK

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

405

Method Not Allowed

500

Internal Server Error

List all Extended Partitions in an Organization

Resource Name

/auto-config/dci/extended-partitions/organizations/{organization-name}

Description

List all the extended partitions in a organization.

https Method

GET

URL

https://dcnm-ip/rest/auto-config/dci/extended-partitions/organizations/{organization-name}

https://dcnm-ip/rest/auto-config/dci/extended-partitions/organizations/{organization-name}?detail=true

Parameter

Parameter

Type

Description

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

extended-partition

O

Extended partition

Status Code

200

OK

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

405

Method Not Allowed

500

Internal Server Error

Get Extended Partition

Resource Name

/auto-config/dci/extended-partitions/organizations/{organization-name}/partitions/{partition-name}

Description

Get extended partition

https Method

GET

URL

https://dcnm-ip/rest/auto-config/dci/extended-partitions/organizations/{organization-name}/partitions/{partition-name}

https://dcnm-ip/rest/auto-config/dci/extended-partitions/organizations/{organization-name}/partitions/{partition-name}?detail=true

Parameter

Parameter

Type

Description

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

extended-partition

O

Extended partition

Status Code

200

OK

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

405

Method Not Allowed

500

Internal Server Error

<<sushs: Do we need to add the Sample Flow as mentioned in the SFS? I havent seen any instances earlier.>>

DHCP

The following are the DHCP REST APIs:

- List POAP Scopes

- Create a POAP Scope

- Update a POAP Scope

- Delete a POAP Scope

List POAP Scopes

Resource Name

/poap/dhcp/scopes

Description

List of POAP DHCP scopes

https Method

GET

URL

https://dcnm-ip/rest/poap/dhcp/scopes

Parameter

Parameter

Type

Description

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

Poap-scopes

A

A list of scope objects including scope name, ip-range, default-lease-time, max-lease-time, tftp-server-ip-address, tftp-server-username, tftp-server-password, boot-script-path is displayed.

Status Code

200

OK

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

405

Method Not Allowed

500

Internal Server Error

Create a POAP Scope

Resource Name

/poap/dhcp/scopes

Description

Create a new DHCP scope for POAP.

https Method

POST

URL

https://dcnm-ip/rest/poap/dhcp/scopes

Parameter

Parameter

Type

Description

Poap-scope

Displays a list of POAP scope objects including scope name and ip-range, default-lease-time, max-lease-time, tftp-server-ip-address, tftp-server-username, tftp-server-password, boot-script-path.

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

scope-name

S

DHCP scope name.

Status Code

202

Accepted

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

405

Method Not Allowed

500

Internal Server Error

Update a POAP Scope

Resource Name

/poap/dhcp/scopes/{scope-name}

Description

Update a DHCP scope for POAP.

https Method

PUT

URL

https://dcnm-ip/rest/poap/dhcp/scopes/{scope-name}

Parameter

Parameter

Type

Description

Poap-scope

O

Displays a list of POAP scope objects including scope name and switch-settings, switch-settings includes ip-range, default-lease-time, max-lease-time, tftp-server-ip-address, tftp-server-username, tftp-server-password, boot-script-path

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

Status Code

202

Accepted

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

405

Method Not Allowed

500

Internal Server Error

Delete a POAP Scope

Resource Name

/poap/dhcp/scopes/{scope-name}

Description

Delete a DHCP scope for POAP.

https Method

DELETE

URL

https://dcnm-ip/rest/poap/dhcp/scopes/{scope-name}

Parameter

Parameter

Type

Description

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

Status Code

202

Accepted

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

405

Method Not Allowed

500

Internal Server Error

Multiple Orchestrator Support

The following are the Multiple Orchestrator Support REST APIs:

- List All the Orchestrators with Segment Id Ranges

- Get Orchestrator Segment Id Ranges

- Create Orchestrator Segment Id Ranges

- Update Orchestrator Segment Id Ranges

- Delete Orchestrator Segment Id Ranges

List All the Orchestrators with Segment Id Ranges

Resource Name

/settings/segmentid-ranges

Description

List all the orchestrators with Segment ID Ranges.

https Method

GET

URL

https://dcnm-ip/rest/settings/segmentid-ranges

Parameter

Parameter

Type

Description

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

orchestratorSegmentIds

O

Return all the orchestrators with their segment Id ranges.

Status Code

200

OK

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

405

Method Not Allowed

500

Internal Server Error

Get Orchestrator Segment Id Ranges

Resource Name

/settings/segmentid-ranges/{orchestrator-is}

Description

Get orchestrator segment ID ranges.

https Method

GET

URL

https://dcnm-ip/rest/settings/segmentid-ranges/{orchestrator-id}

Parameter

Parameter

Type

Description

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

orchestratorSegmentIds

O

Return orchestrator with segment Id ranges.

Status Code

200

OK

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

405

Method Not Allowed

500

Internal Server Error

Create Orchestrator Segment Id Ranges

Resource Name

/settings/segmentid-ranges

Description

Create orchestrator segment ID ranges.

https Method

POST

URL

https://dcnm-ip/rest/settings/segmentid-ranges

Parameter

Parameter

Type

Description

orchestratorSegmentIds

O

Orchestrator with segment ID ranges

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

orchestratorSegmentIds

O

Orchestrator with segment ID ranges

Status Code

200

OK

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

405

Method Not Allowed

500

Internal Server Error

Update Orchestrator Segment Id Ranges

Resource Name

/settings/segmentid-ranges/{orchestrator-id}

Description

Update orchestrator segment ID ranges.

https Method

PUT

URL

https://dcnm-ip/rest/settings/segmentid-ranges/{orchestrator-id}

Parameter

Parameter

Type

Description

orchestratorSegmentIds

O

Orchestrator with segment ID ranges

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

orchestratorSegmentIds

O

Orchestrator with segment ID ranges

Status Code

200

OK

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

405

Method Not Allowed

500

Internal Server Error

Delete Orchestrator Segment Id Ranges

Resource Name

/settings/segmentid-ranges/{orchestrator-id}

Description

Delete orchestrator segment ID ranges.

https Method

DELETE

URL

https://dcnm-ip/rest/settings/segmentid-ranges/{orchestrator-id}

Parameter

Parameter

Type

Description

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

Status Code

200

OK

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

405

Method Not Allowed

500

Internal Server Error

Multiple Mobility Domain with VLAN Translation

The following are the Multiple Mobility Domain with VLAN Translation REST APIs:

- List Mobility Domains with VLANs

- Get Mobility Domain with VLANs

- Create Mobility Domain with VLANs

- Update Mobility Domain with VLANs

- Delete Mobility Domain with VLANs

- Get Translate VLAN Settings

- Update Translate VLAN Settings

- Delete Translate VLAN Settings

List Mobility Domains with VLANs

Resource Name

/rest/settings/mobility-domains

Description

List mobility domains with VLANs.

https Method

GET

URL

https://dcnm-ip/rest/settings/mobility-domains

Parameter

Parameter

Type

Description

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

mobilityDomains

O

Return all the mobility domain names with their translated VLAN ranges.

Status Code

200

OK

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

405

Method Not Allowed

500

Internal Server Error

Get Mobility Domain with VLANs

Resource Name

/rest/settings/mobility-domains/{mobility-domain}

Description

Get mobility domain with VLANs.

https Method

GET

URL

https://dcnm-ip/rest/settings/mobility-domains/{mobility-domain}

Parameter

Parameter

Type

Description

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

mobilityDomains

O

Return all the mobility domain names with their translated VLAN ranges.

Status Code

200

OK

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

405

Method Not Allowed

500

Internal Server Error

Create Mobility Domain with VLANs

Resource Name

/rest/settings/mobility-domains

Description

Create mobility domain with VLANs.

https Method

POST

URL

https://dcnm-ip/rest/settings/mobility-domains

Parameter

Parameter

Type

Description

mobilityDomains

Mobility domain name with translated VLAN ranges.

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

Status Code

200

OK

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

405

Method Not Allowed

500

Internal Server Error

Update Mobility Domain with VLANs

Resource Name

/rest/settings/mobility-domains/{mobility-domain}

Description

Update mobility domain with VLANs.

https Method

PUT

URL

https://dcnm-ip/rest/settings/mobility-domains/{mobility-domain}

Parameter

Parameter

Type

Description

mobilityDomains

O

Mobility domain name with translated VLAN ranges.

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

Status Code

200

OK

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

405

Method Not Allowed

500

Internal Server Error

Delete Mobility Domain with VLANs

Resource Name

/rest/settings/mobility-domains/{mobility-domain}

Description

Delete mobility domain with VLANs.

https Method

DELETE

URL

https://dcnm-ip/rest/settings/mobility-domains/{mobility-domain}

Parameter

Parameter

Type

Description

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

Status Code

200

OK

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

405

Method Not Allowed

500

Internal Server Error

Get Translate VLAN Settings

Resource Name

/rest/settings/general

Description

Get Unified Fabric translate VLAN settings.

https Method

GET

URL

https://dcnm-ip/rest/settings/general

Parameter

Parameter

Type

Description

settings

O

Return all the Unified Fabric settings, including translate VLAN related information.

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

Status Code

200

OK

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

405

Method Not Allowed

500

Internal Server Error

Update Translate VLAN Settings

Resource Name

/rest/settings/general

Description

Update Unified Fabric translate VLAN settings.

https Method

PUT

URL

https://dcnm-ip/rest/settings/general

Parameter

Parameter

Type

Description

settings

O

Unified Fabric settings, including translate VLAN related information.

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

Status Code

200

OK

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

405

Method Not Allowed

500

Internal Server Error

Delete Translate VLAN Settings

Resource Name

/rest/settings/general

Description

Delete Unified Fabric translate VLAN settings.

https Method

PUT

URL

https://dcnm-ip/rest/settings/general

Parameter

Parameter

Type

Description

settings

O

Unified Fabric settings, including translate VLAN related information.

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

Status Code

200

OK

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

405

Method Not Allowed

500

Internal Server Error

Power On Auto Provisioning (POAP)

The following are the Power On Auto Provisioning (POAP) REST APIs:

- List Servers

- Create a Server

- Get Servers

- Update Servers

- Delete Servers

- List Switch Definitions

- Create Switch Definitions

- Publish Switch Definitions

- Get a Switch Definition

- Update a Switch Definition

- Delete a Switch Definition

- Get a POAP Template

- Create a POAP Template

- Update a POAP Template

- Delete a POAP Template

- Get All Published Templates

- Generate Template Startup Config

- Get Group Navigation

- Perform Shallow Discovery

- Create POAP Definition

List Servers

Resource Name

/poap/servers

Description

List POAP image/config servers

https Method

GET

URL

https://dcnm-ip/rest/poap/servers

https://dcnm-ip/rest/poap/servers?detail=true

Parameter

Parameter

Type

Description

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

poap-servers

By default, a list of POAP image/config server names is displayed. If "detail=true"a list of POAP image/config server-objects including server-name and URI is displayed.

Status Code

200

OK

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

405

Method Not Allowed

500

Internal Server Error

Create a Server

Resource Name

/poap/servers

Description

Create a new POAP image/config server

https Method

POST

URL

https://dcnm-ip/rest/poap/servers

Parameter

Parameter

Type

Description

poap-servers

POAP image/config server-object includingserver-name,URI,hostname/ipaddress, path,username and password.

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

poap-server-name

POAP image/config server name.

Status Code

200

OK

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

405

Method Not Allowed

500

Internal Server Error

Get Servers

Resource Name

/poap/servers/server-name

Description

Get the POAP image/config servers

https Method

GET

URL

https://dcnm-ip/rest/poap/servers/server-name

Parameter

Parameter

Type

Description

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

poap-server

POAP image/config server-object including server-name and URI.

Status Code

200

OK

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

405

Method Not Allowed

500

Internal Server Error

Update Servers

Resource Name

/poap/servers/server-name

Description

Update the POAP image/config servers

https Method

PUT

URL

https://dcnm-ip/rest/poap/servers/server-name

Parameter

Parameter

Type

Description

poap-server

POAP image/configserver-object including

server-name,hostname/ipaddress, path,username and password.

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

Status Code

200

OK

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

405

Method Not Allowed

500

Internal Server Error

Delete Servers

Resource Name

/poap/servers/server-name

Description

Delete the POAP image/config servers

https Method

DELETE

URL

https://dcnm-ip/rest/poap/servers/server-name

Parameter

Parameter

Type

Description

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

Status Code

200

OK

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

405

Method Not Allowed

500

Internal Server Error

List Switch Definitions

Resource Name

/poap/switch-definitions

Description

List the POAP switch definitions

https Method

GET

URL

https://dcnm-ip/rest/poap/switch-definitions

https://dcnm-ip/rest/poap/switch-definitions?detail=true https://dcnm-ip/rest/poap/switch-definitions?search-string=<search-string>&start-index=<start-index>&size=<size>

Parameter

Parameter

Type

Description

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

Switch-definitions

By default, a list of serial- numbers is displayed. If "detail=true", then a list of switch-definition objects including serial-numbers, status(saved and publish later/published/saved and publishing/error), system-image, kick-start-image, image-server-uri, config-server-uri, template-name, parameter-values with a list of name, type, value corresponding to the template is displayed.

Status Code

200

OK

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

405

Method Not Allowed

500

Internal Server Error

Create Switch Definitions

Resource Name

/poap/switch-definitions

Description

Create POAP switch definitions

https Method

POST

URL

https://dcnm-ip/rest/poap/switch-definitions

Parameter

Parameter

Type

Description

Switch-definitions

Displays a list of serial-numbers, system-image, kick-start-image, image-server-uri, config-server-uri, template-name, poap-settings-name, parameter-values with a list of name, type, value corresponding to the template , and publish=true/false.

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

switch-numbers

List of serial numbers.

Status Code

200

OK

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

405

Method Not Allowed

500

Internal Server Error

Publish Switch Definitions

Resource Name

/poap/published-switch-definitions/{serial-number}

Description

Publish list of switch-definitions to the Repository server.

https Method

POST

URL

https://dcnm-ip/rest/poap/published-switch-definitions/{serial-number}

Parameter

Parameter

Type

Description

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

Status Code

200

OK

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

405

Method Not Allowed

500

Internal Server Error

Get a Switch Definition

Resource Name

/poap/switch-definitions/{serial-number}

Description

Get a switch definition.

https Method

GET

URL

https://dcnm-ip/rest/poap/switch-definitions/{serial-number}

Parameter

Parameter

Type

Description

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

switch-definition

Displays a list of serial-numbers, system-image, kick-start-image, image-server-uri, config-server-uri, template-name and parameter-values with a list of name, type, value corresponding to the template .

Status Code

200

OK

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

405

Method Not Allowed

500

Internal Server Error

Update a Switch Definition

Resource Name

/poap/switch-definitions/serial-number

Description

Update a switch-definition.

https Method

PUT

URL

https://dcnm-ip/rest/poap/switch-definitions/{serial-number}

Parameter

Parameter

Type

Description

switch-definition

Displays a list of serial-numbers, system-image, kick-start-image, image-server-uri, config-server-uri, template-name and parameter-values with a list of name, type, value corresponding to the template , and publish=true/false.

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

Status Code

200

OK

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

405

Method Not Allowed

500

Internal Server Error

Delete a Switch Definition

Resource Name

/poap/switch-definitions/serial-number

Description

Delete a switch-definition.

https Method

DELETE

URL

https://dcnm-ip/rest/poap/switch-definitions/{serial-number}

Parameter

Parameter

Type

Description

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

Status Code

202

Accepted

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

405

Method Not Allowed

500

Internal Server Error

Get a POAP Template

Resource Name

/poap/templates/{template-name}

Description

Get a POAP template.

https Method

GET

URL

https://dcnm-ip/rest/poap/templates/{template-name}

Parameter

Parameter

Type

Description

Serial-number

S

Device serial-number

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

Poap-template

O

Poap template object

Status Code

200

OK

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

405

Method Not Allowed

500

Internal Server Error

Create a POAP Template

Resource Name

/poap/templates

Description

Create a POAP template.

https Method

POST

URL

https://dcnm-ip/rest/poap/templates

Parameter

Parameter

Type

Description

Poap-template

O

Poap template object

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

Poap-template-name

O

Poap template name

Status Code

200

OK

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

405

Method Not Allowed

500

Internal Server Error

Update a POAP Template

Resource Name

/poap/templates/{template-name}

Description

Update a POAP template.

https Method

PUT

URL

https://dcnm-ip/rest/poap/templates/{template-name}

Parameter

Parameter

Type

Description

Poap-template

O

Poap template object

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

Status Code

200

OK

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

405

Method Not Allowed

500

Internal Server Error

Delete a POAP Template

Resource Name

/poap/templates/{template-name}

Description

Delete a POAP template.

https Method

POST

URL

https://dcnm-ip/rest/poap/templates/{template-name}

Parameter

Parameter

Type

Description

Poap-template-name

S

Poap template name

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

Status Code

200

OK

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

405

Method Not Allowed

500

Internal Server Error

Get All Published Templates

Resource Name

/poap/templates?published=true

Description

Get all the published templates.

https Method

GET

URL

https://dcnm-ip/rest/templates?published=true

Parameter

Parameter

Type

Description

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

templates

O

Returns all the published template names, if published=true.

Returns all the templates if published=false.

Status Code

200

OK

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

405

Method Not Allowed

500

Internal Server Error

Generate Template Startup Config

Resource Name

/templates/populate-template/{template-name}

Description

Get all the published templates.

<<sushs: the description is similar to Get a POAP template. how/why is this different? only difference is the https method.>>

https Method

POST

URL

https://dcnm-ip/rest/templates/populate-template/{template-name}

Parameter

Parameter

Type

Description

templateParams

A

Template parameters with values. You will get the templateParams in get template data API response. It returns the template parameters with default values.

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

startupConfig

S

Return startup config

Status Code

200

OK

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

405

Method Not Allowed

500

Internal Server Error

Get Group Navigation

Resource Name

/templates/groups

Description

Get all the groups.

https Method

GET

URL

https://dcnm-ip/rest/templates/groups

Parameter

Parameter

Type

Description

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

memDbId, name, navType

S

Return group/scope details

Status Code

200

OK

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

405

Method Not Allowed

500

Internal Server Error

Perform Shallow Discovery

Resource Name

/templates/perform-shallow-discovery

Description

All the devices provided in payload will be discovered into DCNM.

https Method

POST

URL

https://dcnm-ip/rest/templates/perform-shallow-discovery

Parameter

Parameter

Type

Description

POAP

A

sushs: needs review

Serial Number, Management IP, Lan Group, User Name and Password need to provide in payload.

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

Status Code

200

OK

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

405

Method Not Allowed

500

Internal Server Error

Create POAP Definition

Resource Name

/poap/poap-switch-definition

Description

All the devices provided in payload will be discovered into DCNM.

<<sushs: how is this different from Create Switch Definition?>>

https Method

POST

URL

https://dcnm-ip/rest/poap/poap-switch-definition

Parameter

Parameter

Type

Description

POAP

A

Array of template parameters and POAP switch details.

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

poap

A

Array of POAPv switch details with template content.

Status Code

200

OK

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

405

Method Not Allowed

500

Internal Server Error

Cisco DCNM REST API Guide 7.1.x

Cisco Dynamic Fabric Automation

December 2014

THE SPECIFICATIONS AND INFORMATION REGARDING THE PRODUCTS IN THIS MANUAL ARE SUBJECT TO CHANGE WITHOUT NOTICE. ALL STATEMENTS, INFORMATION, AND RECOMMENDATIONS IN THIS MANUAL ARE BELIEVED TO BE ACCURATE BUT ARE PRESENTED WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED. USERS MUST TAKE FULL RESPONSIBILITY FOR THEIR APPLICATION OF ANY PRODUCTS.

THE SOFTWARE LICENSE AND LIMITED WARRANTY FOR THE ACCOMPANYING PRODUCT ARE SET FORTH IN THE INFORMATION PACKET THAT SHIPPED WITH THE PRODUCT AND ARE INCORPORATED HEREIN BY THIS REFERENCE. IF YOU ARE UNABLE TO LOCATE THE SOFTWARE LICENSE OR LIMITED WARRANTY, CONTACT YOUR CISCO REPRESENTATIVE FOR A COPY.

The Cisco implementation of TCP header compression is an adaptation of a program developed by the University of California, Berkeley (UCB) as part of UCB’s public domain version of the UNIX operating system. All rights reserved. Copyright © 1981, Regents of the University of California.

NOTWITHSTANDING ANY OTHER WARRANTY HEREIN, ALL DOCUMENT FILES AND SOFTWARE OF THESE SUPPLIERS ARE PROVIDED “AS IS” WITH ALL FAULTS. CISCO AND THE ABOVE-NAMED SUPPLIERS DISCLAIM ALL WARRANTIES, EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, THOSE OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OR ARISING FROM A COURSE OF DEALING, USAGE, OR TRADE PRACTICE.

IN NO EVENT SHALL CISCO OR ITS SUPPLIERS BE LIABLE FOR ANY INDIRECT, SPECIAL, CONSEQUENTIAL, OR INCIDENTAL DAMAGES, INCLUDING, WITHOUT LIMITATION, LOST PROFITS OR LOSS OR DAMAGE TO DATA ARISING OUT OF THE USE OR INABILITY TO USE THIS MANUAL, EVEN IF CISCO OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

Any Internet Protocol (IP) addresses and phone numbers used in this document are not intended to be actual addresses and phone numbers. Any examples, command display output, network topology diagrams, and other figures included in the document are shown for illustrative purposes only. Any use of actual IP addresses or phone numbers in illustrative content is unintentional and coincidental.

© 2014 Cisco Systems, Inc. All rights reserved.