Table of Contents

Preface

New and Changed Information

Cisco Fabric Automation REST API

Authentication

Auto Configuration

Cable Plan

Config Archive

DCI

DCNM Connect

DHCP

Discovery

Events

Flow Policy Management

Host Management

Host Policy Management for Flow Data

Image Management

Inventory

Multiple Mobility Domain with VLAN Translation

Multiple Orchestrator Support

Operational Management

Performance

POAP

Reports

Static Flow Stitching

Templates

Topology

VxLAN

Cisco Prime DCNM REST API Guide, Release 10

Preface

Organization

This guide includes the following sections:

Section

Title

Description

1

Cisco DCNM REST API

Describes the REST API’s for Cisco DCNM

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

Obtain Documentation and Submit a Service Request

For information on obtaining documentation, using the Cisco Bug Search Tool (BST), submitting a service request, and gathering additional information, see What’s New in Cisco Product Documentation.

To receive new and revised Cisco technical content directly to your desktop, you can subscribe to the What’s New in Cisco Product Documentation RSS feed. The RSS feeds are a free service.

New and Changed Information

The following new publications support both Cisco DCNM for LAN and Cisco DCNM for SAN and address the new licensing model, the new installation process, and the new features of Cisco DCNM:

- Cisco DCNM Installation Guide, Release 10.0.x

- Cisco DCNM Release Notes, Release 10.0.x

The following describes the release-specific information for each new and changed feature in the Cisco Prime DCNM REST API Guide, Release 10.1(x). The latest version of this document is available at the following Cisco website:

https://www.cisco.com/en/US/products/ps9369/tsd_products_support_series_home.html

Table 1 New and Changed Features for Cisco Prime DCNM REST API Guide, Release 10.1(x)

Feature

Description

Changed in Release

Where Documented

DCNM Connect

DCNM Connect REST API support is added.

10.1(1)

DCNM Connect

Host Management

Host Management REST API support is added.

10.1(1)

Host Management

Flow Policy Management

Flow Policy Management REST API support is added.

10.1(1)

Flow Policy Management

Host Policy Management for Flow data

Host Policy Management REST API support is added.

10.1(1)

Host Policy Management for Flow data

Operational Management

Operational Management REST API support is added.

10.1(1)

Operational Management

Static Flow Stitching

Stitching Static Flows REST API support is added.

10.1(1)

Static Flow Stitching

Config Archive

Config Archive REST API support is added.

10.0(1)

Config Archive

Discovery

Discovery REST API support is added.

10.0(1)

Discovery

Image Management

Image Management REST API support is added.

10.0(1)

Image Management

Inventory

Inventory REST API support is added.

10.0(1)

Inventory

Reports

Reports REST API support is added.

10.0(1)

Reports

Templates

Templates REST API support is added.

10.0(1)

Templates

Topology

Topology REST API support is added.

10.0(1)

Topology

Support for HTTPS

Cisco DCNM Supports only the HTTPS protocol.

10.0(1)

—

Cisco Fabric Automation REST API

Introduction

The Cisco Fabric Automation REST APIs for third party applications enables you to programmatically control Cisco Fabric Automation. 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 Fabric Automation 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 Fabric Automation. 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 Fabric Automation 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 Fabric Automation. For an animated description of the Fabric Automation 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 control the Fabric Automation 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.

From Release 10.0(1), by default, the Cisco DCNM will support https only.

The following are the Authentication REST APIs:

- Logon

- Logout

- Get DCNM Version

Status

The following table details the API Response code, status and, the HTTPS methods.

OK

GET

202

Accepted

POST

PUT

DELETE

400

Bad Request

GET

POST

PUT

DELETE

401

Unauthorized

GET

POST

PUT

DELETE

403

Forbidden

GET

POST

PUT

DELETE

404

Not Found

GET

POST

PUT

DELETE

405

Method Not Allowed

GET

POST

PUT

DELETE

500

Internal Server Error

GET

POST

PUT

DELETE

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

O

Token expiry time in milliseconds.

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

Dcnm-Token

S

Details of the token.

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

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

Description

Get the installed DCNM version.

https Method

GET

URL

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

Dcnm-Version

S

Auto Configuration

The following are the auto-configuration 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

vrfProfileName

String

Mandatory

description

String

Optional

serviceNodeIpAddress

String

Optional

dnsServer

String

Optional

secondaryDNSServer

String

Optional

vrfName

String

Optional

dciId

String

Optional

configArg

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

gatewayIpv6Address

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

Mandatory Field Class table

ConfigDeliveryTask

Attributes

Type

Required

Constants, Formats

description

String

Mandatory

Number

Mandatory

String

Mandatory

Format:

dd/MM/yyyy HH:mm:ss

configDeliveryTaskRollbackSetting

String

Mandatory

Possible values:

- Rollback on Device and Stop Delivery on Other Devices

- Rollback on Device and Continue Delivery on Other Devices

- Rollback on All Devices

- Stop Delivery on Error

- Stop Delivery on All Devices on Error

- Continue on Error

configDeliveryTaskDeliveryOrderSetting

String

Optional

Possible values:

- sequential

- parallel

configTemplateRef

ConfigTemplate

configDeliveryTaskDeviceDetailsCol

ConfigDeliveryTaskDeviceDetails[]

isCopyRunToStartTask

Boolean

username

String

password

String

ConfigTemplate

Attributes

Type

Required

name

String

Mandatory

instanceClassId

Number

Optional

ConfigDeliveryTaskDeviceDetails

Attributes

Type

Required

ipAddress

String

Mandatory

paramValues

Array

Mandatory

Status

Status Code

Status

API's HTTPS Method or HTTPS Method

200

OK

GET

OK

POST

PUT

DELETE

2021

Accepted

POST

PUT

DELETE

400

Bad Request

GET

POST

PUT

DELETE

401

Unauthorized

GET

POST

PUT

DELETE

403

Forbidden

GET

POST

PUT

DELETE

404

Not Found

GET

POST

PUT

DELETE

405

Method Not Allowed

GET

POST

PUT

DELETE

500

Internal Server Error

GET

POST

PUT

DELETE

1.Status Code 202 is returned only if the operation is Un-committed. Status code 200 is returned otherwise.

List Organizations

Resource Name

/auto-config/organizations

Description

Displays a list of Organizations.

https Method

GET

URL

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

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.

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

Get an Organization

Resource Name

/auto-config/organizations/organization-name

Description

Enables you to get an organization.

https Method

GET

URL

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

Oganization

O

Organization object

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

Description

Enables you to delete a organization.

https Method

DELETE

URL

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

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

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.

Create a Partition

Resource Name

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

Description

Enables you to create a new partition.

https Method

POST

URL

https://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

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

Type: Object

Attribute Name

Type

Description

Partition

O

Partition object

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

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

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

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

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.

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

Type: Object

Attribute Name

Type

Description

Network

O

Network object

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

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

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

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.

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

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

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.

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

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

Type: Object

Attribute Name

Type

Description

profile

O

Profile object

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

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

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

Status

The following table details the API Response code, status and, the HTTPS methods.

OK

GET

202

Accepted

POST

PUT

DELETE

400

Bad Request

GET

POST

PUT

DELETE

401

Unauthorized

GET

POST

PUT

DELETE

403

Forbidden

GET

POST

PUT

DELETE

404

Not Found

GET

POST

PUT

DELETE

405

Method Not Allowed

GET

POST

PUT

DELETE

500

Internal Server Error

GET

POST

PUT

DELETE

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

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

cable-plan-name

S

Name of the cable plan

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

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

cable-plan-name

S

Name of the cable plan

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

Type: Object

Attribute Name

Type

Description

cable-plan

O

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

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

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

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

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

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

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

Type: Object

Attribute Name

Type

Description

Cable-plan-object

S

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

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

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

Config Archive

The following are the Config Archive REST APIs:

- Get Archived Devices

- Get Archived Configurations for device

- Compare Configurations

- Copy Configuration

- Delete Configurations

- Get List of Archive Jobs

- Get Devices for a Archive Job

- Delete Archive Job

- Get Device in Particular Group

- Get Job Execution History

- Get Job Execution History

Status

The following table details the API Response code, status and, the HTTPS methods.

Status Code

Status

API's HTTPS Method or

HTTPS Method

200

OK

GET

202

Accepted

POST

PUT

DELETE

400

Bad Request

GET

POST

PUT

DELETE

401

Unauthorized

GET

POST

PUT

DELETE

403

Forbidden

GET

POST

PUT

DELETE

404

Not Found

GET

POST

PUT

DELETE

405

Method Not Allowed

GET

POST

PUT

DELETE

500

Internal Server Error

GET

POST

PUT

DELETE

Get Archived Devices

Resource Name

/config/archive/devices

Description

Get Config Archive devices

https Method

GET

URL

https://dcnm-ip/fm/fmrest/config/archive/devices

Parameter

Parameter

Type

Description

filterStr

archivedOnly:true

Filter string

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

List<BackupDeviceDO>

O

List of BackupDeviceDO

Get Archived Configurations for device

Resource Name

/config/archive/devices

Description

Get Archived configuration Archive devices

https Method

GET

URL

https://dcnm-ip/fm/fmrest/config/archive/devices

Parameter

Parameter

Type

Description

filterStr

archivedOnly:true

Filter string

parentID

int

Database ID of the device

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

List<BackupDeviceDO>

O

List of BackupDeviceDO

Compare Configurations

Resource Name

/config/archive/compare

Description

Compares two Archived Configurations and returns the differences.

https Method

GET

URL

https://dcnm-ip/fm/fmrest/config/archive/compare

Parameter

Parameter

Type

Description

sourceDevice

S

Source Device IP Address

sourceConf

S

Source Configuration to Compare

targetDevice

S

Target Device IP Address

targetConf

S

Target Configuration to Compare

showAll

B

Show diff only or all (true/false)

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

Map<String, Report>

O

Map of group configuration Items

Copy Configuration

Resource Name

/config/archive/copy

Description

Get list of archived configurations for a device

https Method

POST

URL

https://dcnm-ip/fm/fmrest/config/archive/restore

Parameter

Parameter

Type

Description

sourceDevice

S

Source Device IP Address

sourceConf

S

Source Configuration to Compare

targetDevices

S

Target Device IP Address

Modified

B

Copy a modified configuration

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

List<String>

O

Copy Command device response

Delete Configurations

Resource Name

/config/archive/

Description

Delete the configuration.

https Method

DELETE

URL

https://dcnm-ip/fm/fmrest/config/archive

Parameter

Parameter

Type

Description

parentID(path parameter)

S

Source Device database ID

configuration(path parameter)

S

Source Configuration to delete

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

Get List of Archive Jobs

Resource Name

/config/archive/jobs

Description

Get all jobs

https Method

GET

URL

https://https://dcnm-ip/fm/fmrest/config/archive/jobs

Parameter

Parameter

Type

Description

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

Map<String, Map<String, ArchiveJobDO >>

O

Map of ArchiveJobDO

Get Devices for a Archive Job

Resource Name

/config/archive/job/{jobID}

Description

Get devices part of the archive job.

https Method

GET

URL

https://https://dcnm-ip/fm/fmrest/config/archive/job/switch/groupID

Parameter

Parameter

Type

Description

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

Map<String, Map<String, SwitchNameDO>>

O

Map of switch group and SwitchNameDo.

Delete Archive Job

Resource Name

/config/archive/jobs

Description

Delete the job

https Method

DELETE

URL

https://https://dcnm-ip/fm/fmrest/config/archive/jobs/{jobName}

Parameter

Parameter

Type

Description

jobName

path

Path parameter

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

ConfigDeliveryTaskDeviceDO []

A

Array of device objects

Get Device in Particular Group

Resource Name

/config/archive/job/group

Description

Get eligible devices for a group.

https Method

GET

URL

https://https://dcnm-ip/fm/fmrest/config/archive/job/group/{groupID}

Parameter

Parameter

Type

Description

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

Map<String, Map<String, SwitchNameDO>>

O

Map of switch group and SwitchNameDo.

Get Job Execution History

Resource Name

/config/archive/

Description

Get job execution history.

https Method

GET

URL

https://https://dcnm-ip/fm/fmrest/config/archive/jobs/execution

Parameter

Parameter

Type

Description

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

Map<String, Map<String, BackupStatusDO>>

O

Map of BackupStatusDO.

Get Unscheduled Groups

Resource Name

/config/archive/job/groups

Description

Get unscheduled groups.

https Method

GET

URL

https://dcnm-ip/fm/fmrest/config/archive/job/group

Parameter

Parameter

Type

Description

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

JSON Array

O

List of details of group

Get Server Current Time

Resource Name

/config/archive/serverTime

Description

Get server time.

https Method

GET

URL

https://dcnm-ip/fm/fmrest/config/archive/serverTime

Parameter

Parameter

Type

Description

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

Text

String

Returns string which has date and time.

DCI

The following are the DCI REST APIs:

- Get Fabric Automation DCI Settings

- Update Fabric Automation DCI Settings

- List DCI pairs

- Create DCI Pairs

- Get DCI Pairs with Node Id

- Update DCI Pairs with Node ID

- Delete DCI Pairs with Node ID

- 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

Status

The following table details the API Response code, status and, the HTTPS methods.

Status Code

Status

API's HTTPS Method or

HTTPS Method

200

OK

GET

202

Accepted

POST

PUT

DELETE

400

Bad Request

GET

POST

PUT

DELETE

401

Unauthorized

GET

POST

PUT

DELETE

403

Forbidden

GET

POST

PUT

DELETE

404

Not Found

GET

POST

PUT

DELETE

405

Method Not Allowed

GET

POST

PUT

DELETE

500

Internal Server Error

GET

POST

PUT

DELETE

Get Fabric Automation DCI Settings

Resource Name

/settings/dci

Description

Get Fabric Automation 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

Update Fabric Automation DCI Settings

Resource Name

/settings/dci

Description

Update Fabric Automation 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

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

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

Get DCI Pairs with Node Id

Resource Name

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

Description

Get the Edge Router with the paired border leaf for a given node ID, or of type “BL-DCI”, or type “Hub PE” without peering.

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

Update DCI Pairs with Node ID

Resource Name

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

Description

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

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

Delete DCI Pairs with Node ID

Resource Name

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

Description

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

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

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

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

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

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

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

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

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

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

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

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

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

DCNM Connect

The following are the Static Flow Stitching REST APIs:

- Create LUN

- Delete LUN

- Mask LUN

- Create Zone

- Create Zone

- Clear Zone

- Delete LUN

Status

The following table details the API Response code, status and, the HTTPS methods.

OK

GET

202

Accepted

POST

PUT

DELETE

400

Bad Request

GET

POST

PUT

DELETE

401

Unauthorized

GET

POST

PUT

DELETE

403

Forbidden

GET

POST

PUT

DELETE

404

Not Found

GET

POST

PUT

DELETE

405

Method Not Allowed

GET

POST

PUT

DELETE

500

Internal Server Error

GET

POST

PUT

DELETE

Create LUN

Resource Name

/storageorchestration/createLun

Description

Create a LUN/Volume of the given type and size within the given pool.

https Method

POST

URL

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

systemSerial

S

A unique identifying string from the SMI-S Provider which represents the Storage System.

systemPartNum

S

Secondary identification of storage system

poolName

S

The Pool from which the storage volume is taken from, LUN is created, and associated.

lunName

S

The intended name of the volume.

size

S

The size of the volume in bytes

raidType

S

Requested Raid Level (Pool specific) eg. "RAID1", "RAID5", "RAID6", etc.

type

I

The type of volume being created. Acceptable values for this parameter are:

- 2 for a fully allocated LUN

- 5 for a thinly provisioned LUN

Delete LUN

Resource Name

storageorchestration/deleteLun

Description

Remove an existing LUN/Volume.

https Method

POST

URL

Return Value

Format: JSON

Type: Long

Attribute Name

Type

Description

systemSerial

S

A unique identifying string from the SMI-S Provider which represents the Storage System.

systemPartNum

S

Secondary identification of storage system

lunId

S

LUN ID of the LUN to be deleted.

Mask LUN

Resource Name

storageorchestration/maskLun

Description

Add a Host and Lun Mapping

https Method

POST

URL

https://<dcnm-ip-address>/fm/fmrest/storageorchestration/maskLun

Parameter

Parameter

Type

Description

hostId

String

Unique identifier of the host (sender/receiver)

Return Value

Format: JSON

Type: Long

Attribute Name

Type

Description

systemSerial

S

A unique identifying string from the SMI-S Provider which represents the Storage System.

systemPartNum

S

Secondary identification of storage system

initiator

S

WWN of Host Port

target

S

WWN of Storage Port

lunId

S

LUN ID

deviceNumber

S

Empty string.

lunAccess

I

Access control:

- 1= read only

- 2 = read/write

Some storage systems only support 2 = read/write.

UnMask Lun

Resource Name

/storageorchestration/unMaskLun

Description

Remove an existing Host through Lun Mapping

https Method

POST

URL

https://<dcnm-ip-address>/fm/fmrest/storageorchestration/unMaskLun

Parameter

Parameter

Type

Description

Type: Long

Attribute Name

Type

Description

systemSerial

S

A unique identifying string from the SMI-S Provider which represents the Storage System.

systemPartNum

S

Secondary identification of storage system

initiator

S

WWN of Host Port

target

S

WWN of Storage Port

lunId

S

LUN ID

Create Zone

Resource Name

/storageorchestration/createZone

Description

Add a zone entry for HostPort-StoragePort pair. If the zone already exists, it will return as successful with appropriate response message.

https Method

POST

URL

https://<dcnm-ip-address>/fm/fmrest/storageorchestration/createZone

Parameter

Parameter

Type

Description

Type: Long

Attribute Name

Type

Description

initiator

S

WWN of Host Port

target

S

WWN of Target Port

Clear Zone

Resource Name

/storageorchestration/checkClearZone

Description

Checks the zoning of a HostPort-StoragePort pair. If that pair is no longer being used in any Host LUN Masks, the zone is removed

https Method

POST

URL

Return Value

Format: JSON

Type: Long

Attribute Name

Type

Description

initiator

S

WWN of Host Port

target

S

WWN of Target Port

DHCP

The following are the DHCP REST APIs:

- List POAP Scopes

- Create a POAP Scope

- Update a POAP Scope

- Delete a POAP Scope

Status

The following table details the API Response code, status and, the HTTPS methods.

Status Code

Status

API's HTTPS Method or

HTTPS Method

200

OK

GET

202

Accepted

POST

PUT

DELETE

400

Bad Request

GET

POST

PUT

DELETE

401

Unauthorized

GET

POST

PUT

DELETE

403

Forbidden

GET

POST

PUT

DELETE

404

Not Found

GET

POST

PUT

DELETE

405

Method Not Allowed

GET

POST

PUT

DELETE

500

Internal Server Error

GET

POST

PUT

DELETE

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.

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.

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

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

Discovery

The following are the Discovery REST APIs:

- Discover Fabric

- Shallow Discover LAN Device(s)

- Discover LAN Device(s)

- Discover Storage Device

- Discover Virtual Machine

Status

The following table details the API Response code, status and, the HTTPS methods.

Status Code

Status

API's HTTPS Method or

HTTPS Method

200

OK

GET

202

Accepted

POST

PUT

DELETE

400

Bad Request

GET

POST

PUT

DELETE

401

Unauthorized

GET

POST

PUT

DELETE

403

Forbidden

GET

POST

PUT

DELETE

404

Not Found

GET

POST

PUT

DELETE

405

Method Not Allowed

GET

POST

PUT

DELETE

500

Internal Server Error

GET

POST

PUT

DELETE

Discover Fabric

Resource Name

/san/discoverFabricWithServerFuji4

Description

Enables you to discover fabrics

https Method

SET

URL

https://dcnm-ip/fm/fmrest/san/discoverFabricWithServerFuji4

Parameter

Parameter

Type

Description

send

string

Seed switch for discovery

isV3

string

Is snmp V3: "true" or "false"

username

string

Snmp user name if v3, ignored if v2

password

string

Snmp v3 password or ignored if v2

v3protocol

string

Snmp v3 protocol

V3 MD5 only = "0"

V3 SHA only = "1"

V3 MD5_DES = "2"

V3 MD5_AES = "3"

V3 SHA_DES = "4"

V3 SHA_AES = "5"

community

string

Snmp v2 community string, ignored if snmp v3

inVsans

string

Included Vsan range for discovery.

Example:

"1" for VSAN 1,

"1,3" for VSAN 1 and 3

"1-3" for VSAN 1, 2, 3

exVsans

string

Excluded Vsan range for discovery.

Example:

"1" for VSAN 1,

"1,3" for VSAN 1 and 3

"1-3" for VSAN 1, 2, 3

globalEnableNpvDiscovery

string

Enable discovery to include NPV sw globally

"true" or "false"

ucsUsername

string

Ssh Username for UCS software, ignored if null or 0 length String

ucsPasswd

string

Ssh password for UCS sw, ignored if null or 0 length String

fmserver

string

Target DCNM server IP String where this fabric will be discovered by, this cannot be blank or null; even in the non-federation setup, the connected DCNM server IP string has to be provided.

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

CallResultDO

A

Result

CallResutlDO.getResultStatus() :

0 means success

Non-0 means failure and getResultMessage() will be the failure result

Shallow Discover LAN Device(s)

Resource Name

/san/shallowLanDiscover

Description

Shallow discover LAN Device(s) by CDP discovery

https Method

GET

URL

https://dcnm-ip/fm/fmrest/san/shallowLanDiscover

Parameter

Parameter

Type

Description

SeedIp

string

Seed switch for LAN CDP discovery by hops or switch ip list for LAN CDP discovery

"10.1.1.1" or "10.1.1.1-3"

isFWSM

string

Always "false"

isV3

string

Is snmp V3: "true" or "false"

username

string

Snmp user name if v3, ignored if v2

password

string

Snmp v3 password or ignored if v2

v3protocol

string

Snmp v3 protocol

V3 MD5 only = "0"

V3 SHA only = "1"

V3 MD5_DES = "2"

V3 MD5_AES = "3"

V3 SHA_DES = "4"

V3 SHA_AES = "5"

community

string

Snmp v2 community string, ignored if snmp v3

maxHop

string

Number of hops for LAN CDP Discovery if a single switch ip is provided in "seedIp" parameter, ignored if a switch list is provided in "seedIp" parameter

cdpTimeout

string

LAN CDP Discovery timeout, "3" for 3 sec and 3, 6, 9, 10, 20, 30 sec are provided on the GUI

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

rstDO

AdminShallowDiscoverNodeDO[]

Array of AdminShallowDiscoverNode Objects

Note for AdminShallowDiscoverNode-

reachable:boolean;

auth:boolean;

known:boolean;

valid:boolean;

selectable:boolean;

sysName:String;

ipaddr:String;

platform:String;

version:String;

lastChange:String;

hopCount:int;

deviceIndex:String;

statusReason:String;

Discover LAN Device(s)

Resource Name

/san/discoverLan

Description

Discover LAN device(s)

https Method

SET

URL

https://dcnm-ip/fm/fmrest/san/discoverLan

Parameter

Parameter

Type

Description

SeedIp

string

switch ip list for LAN CDP discovery

"10.1.1.1" or "10.1.1.1-3"

Note: recommend picking the switch(s) from the output of /san/shallowLanDiscover where the node is reachable true and valid true

isFWSM

string

Always "false"

isV3

string

Is snmp V3: "true" or "false"

username

string

Snmp user name if v3, ignored if v2

password

string

Snmp v3 password or ignored if v2

v3protocol

string

Snmp v3 protocol

V3 MD5 only = "0"

V3 SHA only = "1"

V3 MD5_DES = "2"

V3 MD5_AES = "3"

V3 SHA_DES = "4"

V3 SHA_AES = "5"

community

string

Snmp v2 community string, ignored if snmp v3

maxHop

string

null

enablePwd

string

null

groupDbId

string

LAN Group DB Id, eg. "10" for 10

isDeepDiscovery

string

null

serverIpAddress

string

Target DCNM server IP String where this LAN device will be discovered by, this cannot be blank or null; even in the non-federation setup, the connected DCNM server IP string has to be provided.

isSingleDeviceTask

string

Always "true".

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

CallResultDO

A

Result

CallResutlDO.getResultStatus() :

0 means success

Non-0 means failure and getResultMessage() will be the failure result

Discover Storage Device

Resource Name

/storage/demandDiscoverSmisProvider

Description

Discover SMIS

https Method

SET

URL

https://dcnm-ip/fm/fmrest/storage/demandDiscoverSmisProvider

Parameter

Parameter

Type

Description

smisWorker

SMISProviderWorkerDO

SMIS provider information

providerList:SMISProviderDO[],

password:String,

fmserver:String

note : SMISProviderDO is

dbId:long;

provId:int;

fmServer:String;

ns:String;

interopns:String;

url:String;

username:String;

port:int;

secure:boolean;

vendor:String;

select:String;

status:String;

managedstatus:String;

lastUpdated:String;

version:String;

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

CallResultDO

A

Result

CallResutlDO.getResultStatus() :

0 means success

Non-0 means failure and getResultMessage() will be the failure result

Discover Virtual Machine

Resource Name

/san/addVirtualCenter

Description

Discover Virtual Machine

https Method

SET

URL

https://dcnm-ip/fm/fmrest/san/addVirtualCenter

Parameter

Parameter

Type

Description

vcIP

string

Virtual Center Ip address

username

string

Virtual Center user name

password

string

Virtual Center password

serverIpaddress

string

Target DCNM server IP String where this Virtual Machine will be discovered by, this cannot be blank or null; even in the non-federation setup, the connected DCNM server IP string has to be provided.

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

CallResultDO

A

Result

CallResutlDO.getResultStatus() :

0 means success

Non-0 means failure and getResultMessage() will be the failure result

Events

The following are the Events REST APIs:

- Get Events

- Get Accounting

- Get Forwarders

Status

The following table details the API Response code, status and, the HTTPS methods.

Status Code

Status

API's HTTPS Method or

HTTPS Method

200

OK

GET

202

Accepted

POST

PUT

DELETE

400

Bad Request

GET

POST

PUT

DELETE

401

Unauthorized

GET

POST

PUT

DELETE

403

Forbidden

GET

POST

PUT

DELETE

404

Not Found

GET

POST

PUT

DELETE

405

Method Not Allowed

GET

POST

PUT

DELETE

500

Internal Server Error

GET

POST

PUT

DELETE

Get Events

Resource Name

/health/events

Description

Enables you to get events data

https Method

GET

URL

https://dcnm-ip/fm/fmrest/health/events

Parameter

Parameter

Type

Description

Return Value

Format: JSON

Type: String

Attribute Name

Type

Description

ServerResponse

Array of DBEntryDO Objects

Get Accounting

Resource Name

/health/accounting

Description

Enables you to get accounting data.

https Method

GET

URL

https://dcnm-ip/fm/fmrest/health/accounting

Parameter

Parameter

Type

Description

NA

NA

NA

Return Value

Format: JSON

Type: String

Attribute Name

Type

Description

ServerResponse

Array of DBEntryDO Objects

Get Forwarders

Resource Name

/dbadmin/getEventForwarders

Description

Enables you to get event forwarder list.

https Method

GET

URL

https://dcnm-ip/fm/fmrest/dbadmin/getEventForwarders

Parameter

Parameter

Type

Description

NA

NA

NA

Return Value

Format: JSON

Type: String

Attribute Name

Type

Description

Parsed JSON string

String

Array of DBEntryDO Objects

Flow Policy Management

The following are the Flow Policy Management REST APIs:

- Flow Policy Add

- Flow Policy Bulk Import

- Get Flow Policies

- Delete Flow Policies

Status

The following table details the API Response code, status and, the HTTPS methods.

OK

GET

202

Accepted

POST

PUT

DELETE

400

Bad Request

GET

POST

PUT

DELETE

401

Unauthorized

GET

POST

PUT

DELETE

403

Forbidden

GET

POST

PUT

DELETE

404

Not Found

GET

POST

PUT

DELETE

405

Method Not Allowed

GET

POST

PUT

DELETE

500

Internal Server Error

GET

POST

PUT

DELETE

Flow Policy Add

Resource Name

/rest/pmn/flowpolicies/

Description

Get the host instances created.

https Method

POST

URL

https://dcnm-ip/rest/pmn/flowpolicies/

Parameter

Parameter

Type

Description

policyName

String

Mandatory - Policy name for this host

bandwidth

String

Bandwidth of this Flow in GB

DSCP

String

Decimal mapping of the DSCP bit based on the standard.

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

hostPolicyId

String

Instance id of the hostpolicy defined.

policyName

String

Name of the Policy object

obj.multiCastIpRange

String

MultiCast IP address that this policy is applied on or * if it applies to all multicast groups.

Bandwidth

String

Populate with 3, 1.5 or any other custom number.

Provide the unit with the number as Mbps or Gbps.

Eg: 3gbps or 5mbps

dscp

String

Integer values in range 0-46 mapping to DSCP values indicated below.

Flow Policy Bulk Import

Resource Name

/rest/pmn/flowpolicies/import

Description

Create a new flow instance.

https Method

POST

URL

https://dcnm-ip/rest/pmn/flowpolicies/import

Parameter

Parameter

Type

Description

String payload of CSV File

String

CSV data

Return Value

Format: JSON

Type: Long

Attribute Name

Type

Description

flowpolicyid

String

Unique id for the created Flow policy instances

Get Flow Policies

Resource Name

/rest/pmn/flowpolicies?detail=true

Description

Get a listing of all flow policies or specific flow policy, given the id.

https Method

GET

URL

https://dcnm-ip/rest/pmn/flowpolicies/

Parameter

Parameter

Type

Description

flowpolicyid

String

Optional id parameter, when querying for a specific id.

Return Value

Format: JSON

Type: Long

Attribute Name

Type

Description

flowpolicyid

String

Unique id for the created Host policy instances

Delete Flow Policies

Resource Name

/rest/pmn/flowpolicies/

Description

Delete the Flow policy instances created.

https Method

DELETE

URL

https://dcnm-ip/rest/pmn/flowpolicies/<flowpolicyid>

Parameter

Parameter

Type

Description

Type: Long

Attribute Name

Type

Description

none

Host Management

The following are the Reports REST APIs:

- Get Report View by Selection

- Get Report Jobs

- Bulk Import Hosts

- Get Hosts

- Delete Hosts

- Edit/Update Hosts

Status

The following table details the API Response code, status and, the HTTPS methods.

Status Code

Status

API's HTTPS Method or

HTTPS Method

200

OK

GET

202

Accepted

POST

PUT

DELETE

400

Bad Request

GET

POST

PUT

DELETE

401

Unauthorized

GET

POST

PUT

DELETE

403

Forbidden

GET

POST

PUT

DELETE

404

Not Found

GET

POST

PUT

DELETE

405

Method Not Allowed

GET

POST

PUT

DELETE

500

Internal Server Error

GET

POST

PUT

DELETE

Get Report View by Selection

Resource Name

/report/reportview

Description

Enables you to get a report view by individual selection

https Method

GET

URL

https://dcnm-ip/fm/fmrest/report/reportview

Parameter

Parameter

Type

Description

group

S

URI Parameter

selection

S

URI Parameter

reportFilter

S

URI Parameter

sortDownStr

S

URI Parameter

userName

S

URI Parameter

isAdmin

S

URI Parameter

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

ReportDO

O

Report Object

Get Report Jobs

Resource Name

/report/reportjobs

Description

Enables you to get a report of Jobs

https Method

GET

URL

https://dcnm-ip/fm/fmrest/report/reportjobs

Parameter

Parameter

Type

Description

sortDownStr

S

URI Parameter

userName

S

URI Parameter

isAdmin

S

URI Parameter

Return Value

Format: JSON

Type: Long

Attribute Name

Type

Description

SortedReportJobDO

O

Sorted Report for Jobs Object

Bulk Import Hosts

Resource Name

/rest/pmn/host/import

Description

Creates a new host instance.

https Method

POST

URL

https://dcnm-ip/rest/pmn/host/import

Parameter

Parameter

Type

Description

String payload of CSV File

String

CSV data

Return Value

Format: JSON

Type: Long

Attribute Name

Type

Description

hostid

String

Unique id for the created Host Instance

Get Hosts

Resource Name

/rest/pmn/host/

Description

Get the host instances created.

https Method

GET

URL

https://dcnm-ip/rest/pmn/host/ -- get all Hosts

https://dcnm-ip/rest/pmn/host/{host_id} -- get Host with specific hostid

Parameter

Parameter

Type

Description

none

String

All hosts created

hostid

String

Request about a particular Host ID

Return Value

Format: JSON

Type: Long

Attribute Name

Type

Description

id

String

Unique id for the Host Instance

name

String

Name of the Host Instance

ipAddress

String

IP Address of the Host Instance

macAddress

String

Mac Address of the Host Instance

ethswitchId

String

Unique id of the device the host is connected to

interfaceId

String

Unique id of the interface instance of the device the host is connected to.

Delete Hosts

Resource Name

/rest/pmn/host/

Description

Deletes the host instances created.

https Method

DELETE

URL

https://dcnm-ip/rest/pmn/host/<hostid>

Parameter

Parameter

Type

Description

Return Value

Format: JSON

Type: Long

Attribute Name

Type

Description

Edit/Update Hosts

Resource Name

/rest/pmn/host/

Description

Delete the host instances created.

https Method

PUT

URL

https://dcnm-ip/rest/pmn/host/<hostid>

Parameter

Parameter

Type

Description

Return Value

Format: JSON

Type: Long

Attribute Name

Type

Description

Host Policy Management for Flow data

The following are the Host Policy Management for Flow data REST APIs:

- Host Policy Add

- Host Policy Bulk Import

- Get Host Policies

- Get Hosts

- Delete Hosts

- Edit/Update Hosts

Status

The following table details the API Response code, status and, the HTTPS methods.

Status Code

Status

API's HTTPS Method or

HTTPS Method

200

OK

GET

202

Accepted

POST

PUT

DELETE

400

Bad Request

GET

POST

PUT

DELETE

401

Unauthorized

GET

POST

PUT

DELETE

403

Forbidden

GET

POST

PUT

DELETE

404

Not Found

GET

POST

PUT

DELETE

405

Method Not Allowed

GET

POST

PUT

DELETE

500

Internal Server Error

GET

POST

PUT

DELETE

Host Policy Add

Resource Name

/rest/pmn/hostpolicies/

Description

Method to Get the host instances created. No duplicate policies allowed for Host+hostRole+multiCastIp combination.

https Method

POST/PUT

URL

https://dcnm-ip/rest/pmn/hostpolicies/

Parameter

Parameter

Type

Description

policyName

String

Mandatory - Policy name for this host

Host

String

Mandatory - Id of the host instance that this policy needs to be applied on.

hostRole

Enum

Mandatory - Sender or Receiver

permit

Enum

Mandatory - Yes or No

multiCastIpRange

String

Mandatory - * - for all multicast Groups, or specific unique multicast IP address.

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

hostPolicyId

String

Instance id of the hostpolicy defined.

Host Policy Bulk Import

Resource Name

/rest/pmn/hostpolicies/import

Description

Creates a new host instance.

https Method

POST

URL

https://dcnm-ip/rest/pmn/hostpolicies/import

Parameter

Parameter

Type

Description

String payload of CSV File

String

CSV data

Return Value

Format: JSON

Type: Long

Attribute Name

Type

Description

hostid

String

Unique id for the created Host policy instances

Get Host Policies

Resource Name

/rest/pmn/hostpolicies?detail=true

Description

Get a listing of all hostpolicies or specific hostpolicy, given the id.

https Method

GET

URL

https://dcnm-ip/rest/pmn/hostpolicies/ - Get all hostPolicies

https://dcnm-ip/rest/pmn/hostpolicies/{hostpolicyid} - Get all information about specific hostpolicy

Parameter

Parameter

Type

Description

hostpolicyid

String

Optional id parameter, when querying for a specific id.

Return Value

Format: JSON

Type: Long

Attribute Name

Type

Description

Hostpolicy Object

String

Host Policy object created.

Get Hosts

Resource Name

/rest/pmn/host/

Description

Get the host instances created.

https Method

GET

URL

https://dcnm-ip/rest/pmn/host/ -- get all Hosts

https://dcnm-ip/rest/pmn/host/{host_id} -- get Host with specific hostid

Parameter

Parameter

Type

Description

none

String

All hosts created

hostid

String

Request about a particular Host ID

Return Value

Format: JSON

Type: Long

Attribute Name

Type

Description

id

String

Unique id for the Host Instance

name

String

Name of the Host Instance

ipAddress

String

IP Address of the Host Instance

macAddress

String

Mac Address of the Host Instance

ethswitchId

String

Unique id of the device the host is connected to

interfaceId

String

Unique id of the interface instance of the device the host is connected to.

Delete Hosts

Resource Name

/rest/pmn/host/

Description

Deletes the host instances created.

https Method

DELETE

URL

https://dcnm-ip/rest/pmn/host/<hostid>

Parameter

Parameter

Type

Description

Return Value

Format: JSON

Type: Long

Attribute Name

Type

Description

Edit/Update Hosts

Resource Name

/rest/pmn/host/

Description

Delete the host instances created.

https Method

PUT

URL

https://dcnm-ip/rest/pmn/host/<hostid>

Parameter

Parameter

Type

Description

Return Value

Format: JSON

Type: Long

Attribute Name

Type

Description

Image Management

The following are the Image Management REST APIs:

- Get valid switches for Image Management

- Trigger compatibility check

- Get compatibility check/image upgrade status

- Trigger Image upgrade check

- Get all upgrade and compatibility check jobs

- Activate a SMU package

- Deactivate a SMU package

- Get all active SMU packages for a switches

- Get GIR status for all the switches

- Toggle GIR status for all the switches

- ISSU image upgrade

- Get Bootflash content

- Get available and total space

- Delete files from the Bootflash

- Get server contents in case of SFTP and SCP

Status

The following table details the API Response code, status and, the HTTPS methods.

OK

GET

202

Accepted

POST

PUT

DELETE

400

Bad Request

GET

POST

PUT

DELETE

401

Unauthorized

GET

POST

PUT

DELETE

403

Forbidden

GET

POST

PUT

DELETE

404

Not Found

GET

POST

PUT

DELETE

405

Method Not Allowed

GET

POST

PUT

DELETE

500

Internal Server Error

GET

POST

PUT

DELETE

Mandatory Field Class table

filter

Attributes

Type

Require

Description

entity

String

Mandatory

The value must be ethswitch, to get switch details

filterAttributes

HashMap<String,String>

Mandatory

Name value pair for filtering services. For Image image management key value pair will be "capability" and "ISSU" respectively.

job

Attributes

Type

Require

Description

saverunningConfig

boolean

Optional

Saves the running configuration to switch, if value is true.

concurrentExec

boolean

Mandatory

Upgrade occurs concurrently, if the value is true.

executeImmediately

boolean

Mandatory

Upgrade begins immediately if the value is true. The upgrade process will be scheduled for a later time.

comments

String

Optional

Any comments for the upgrade task

jobType

integer

Mandatory

0 for image upgrade, 2 for compatibility check

id

integer

Mandatory

-1 for new job creation. Job Id of the compatibility job for upgrading image.

taskList

List<ImageInstallTask>

Mandatory

Information on images for different devices.

imageInstallTask

Attributes

Type

Require

Description

kickStartImage

String

Mandatory

Kickstart image for compatibility check or upgrade.

systemImageFile

String

Mandatory

System image for compatibility check or upgrade.

installLog

String

Optional

Contains install log from the device

compatibilty_log

String

Optional

Contains compatibility check log from the device

statusDescr

String

Optional

Description on the status.

compatibilty_desc

String

Optional

-1 for new job creation. Job Id of the compatibility job for upgrading image.

strStatus

String

Optional

Status of the image upgrade task.

strCompStatus

String

Optional

Status of the compatibility check task.

jobId

Integer

Mandatory

Job Id of the parent Job. -1 initially when the job is not yet created.

scheduledTime

Timestamp

Optional

Timestamp at which image upgrade needs to be triggered.

completedTime

Timestamp

Optional

Time at which the compatibility check or image upgrade is completed.

parallelLineCardUpgrade

boolean

Optional

True when the line cards needs to be upgraded parallel.

id

long

Mandatory

-1 initially. Task id once the job is created.

ethswitch_id

long

Mandatory

Ethswitch id for the switch.

hostName

String

Mandatory

Host name of the device

ipAddress

String

Mandatory

IP address of the device

platform

String

Mandatory

Nexus Platform of the device

version

String

Mandatory

NXOS version of the device

serverName

String

Optional

Server from where images needs to be installed.

type

Enum

Optional

Type of the image source. It can be either SERVER or DEVICE.

status

Enum

Optional

Status of image upgrade

compatibility_status

Enum

Optional

Status of compatibility check.

SMUInstallTask

Attributes

Type

Require

Description

packageName

String

Mandatory

Name of the SMU package. Comma seperated in case of multiple packages.

ipAddress

String

Mandatory

IP Address of the device.

statusDescr

String

Optional

Description for the status

type

Enum

Optional

"DEVICE" when the SMU package is on the device. "SERVER" if its on remote server.

serverName

String

Optional

Name of the server from where the image needs to be installed.

platform

String

Mandatory

Platform of the device.

hostName

String

Mandatory

Hostname of the device.

completedTime

TimeStamp

Optional

Time at which SMU installation completes.

id

long

Mandatory

-1 while trigerring SMU.

ethSwitch_id

long

Mandatory

Switch id from db.

status

Enum

Optional

Status of SMU task

jobtype

integer

Mandatory

0 for SMU install and 1 for uninstallation.

SMUInfo

Attributes

Type

Require

Description

switch_id

long

Mandatory

Ethswitch ID of the switch.

packages

Set<String>

Mandatory

SMU packages installed on the switch

GIRInfo

Attributes

Type

Require

Description

switch_id

long

Mandatory

Ethswitch ID of the switch.

bMaintenanceMode

boolean

Mandatory

True if switch is in maintenance mode.

maintenanceMode

String

Mandatory

Indicates of the switch is in isolate or shut down mode. Other wise NA

bSuccess

boolean

Optional

True if the system mode change is successful.

statusDesc

String

Mandatory

Description of the status

hostName

String

Mandatory

Hostname of the device

platform

String

Mandatory

Platform of the device

ipAddress

String

Mandatory

IP address of the device

GIRInfoList

Attributes

Type

Require

Description

girList

List<GIRInfo>

Mandatory

List of GIRInfo

OK

GET

202

Accepted

POST

PUT

DELETE

400

Bad Request

GET

POST

PUT

DELETE

401

Unauthorized

GET

POST

PUT

DELETE

403

Forbidden

GET

POST

PUT

DELETE

404

Not Found

GET

POST

PUT

DELETE

405

Method Not Allowed

GET

POST

PUT

DELETE

500

Internal Server Error

GET

POST

PUT

DELETE

Get valid switches for Image Management

Resource Name

/inventory/switches/

Description

Returns all valid switches that are qualified for image upgrade.

https Method

POST

URL

https://dcnm-ip/fm/fmrest/inventory/switches/

Parameter

Parameter

Type

Description

filter

O

Filter Object

Return Value

Format: JSON

Type: List of Object

Attribute Name

Type

Description

Response

O

Response Object with switch information in string.

Trigger compatibility check

Resource Name

/imagemanagement/job

Description

Triggers compatibility check on the device and returns the job ID

https Method

POST

URL

https://dcnm-ip/fm/fmrest/imagemanagement/job

Parameter

Parameter

Type

Description

saverunningConfig

boolean

Saves the running configuration to switch if value is true.

concurrentExec

boolean

Upgrade will happen concurrently if the value is true.

executeImmediately

boolean

Upgrade will happen immediately if true. Otherwise will be scheduled.

comments

string

Any comments for the upgrade task.

jobType

integer

0 for image upgrade, 2 for compatibility check

id

integer

-1 for new job creation. Job Id of the compatibility job for upgrading image.

taskList

List<ImageInstallTask>

Information on images for different devices.

Return Value

Format: JSON

Type: Long

Attribute Name

Type

Description

Job ID of the new compatibility task

Get compatibility check/image upgrade status

Resource Name

/imagemanagement/job/{Job-id}

Description

Gets the compatibility check status

https Method

GET

URL

https://dcnm-ip/fm/fmrest/imagemanagement/job/{job-id}

Parameter

Parameter

Type

Description

—

Return Value

Format: JSON

Type: ImageInstallTaskList

Attribute Name

Type

Description

Response

O

Response Object with Job status as List of ImageInstallTask.

Trigger Image upgrade check

Resource Name

/imagemanagement/job

Description

Triggers compatibility check on the device and returns the job ID

https Method

POST

URL

https://dcnm-ip/fm/fmrest/imagemanagement/job

Parameter

Parameter

Type

Description

Job

O

Job Object

Return Value

Format: JSON

Type: Long

Attribute Name

Type

Description

Response

O

Response Object with Job Id information as long.

Get all upgrade and compatibility check jobs

Resource Name

/imagemanagement/jobs

Description

Gets the compatibility check status

https Method

GET

URL

https://dcnm-ip/fm/fmrest/imagemanagement/jobs

Parameter

Parameter

Type

Description

—

Return Value

Format: JSON

Type: List of Job

Attribute Name

Type

Description

Response

O

Response Object with list of Job object.

Activate a SMU package

Resource Name

/smu/activate

Description

Installs patch

https Method

POST

URL

https://dcnm-ip/fm/fmrest/smu/activate

Parameter

Parameter

Type

Description

SMUInstallJob

O

List of SMUInstallTask

Return Value

Format: JSON

Type: smuTask

Attribute Name

Type

Description

Response

O

Response Object with list of SMUInstallTask

Deactivate a SMU package

Resource Name

/smu/deactivate

Description

Installs patch

https Method

POST

URL

https://dcnm-ip/fm/fmrest/smu/deactivate

Parameter

Parameter

Type

Description

SMUInstallJob

O

List of SMUInstallTask

Return Value

Format: JSON

Type: smuTask

Attribute Name

Type

Description

Response

O

Response Object with list of SMUInstallTask

Get all active SMU packages for a switches

Resource Name

/smu/getactive

Description

Gets the active SMU packages for a switch

https Method

POST

URL

https://dcnm-ip/fm/fmrest/imagemanagement/jobs

Parameter

Parameter

Type

Description

EthSwitchList

O

List of all Ethernet Switch IDs

Return Value

Format: JSON

Type: List of SMUInfo

Attribute Name

Type

Description

Response

O

Response Object with list of SMUInfo

Get GIR status for all the switches

Resource Name

/imagemanagement/allsystemmode

Description

Gets the maintenance status for all the switches

https Method

GET

URL

https://dcnm-ip/fm/fmrest/imagemanagement/allsystemmode

Parameter

Parameter

Type

Description

—

Return Value

Format: JSON

Type: List of GIRInfo

Attribute Name

Type

Description

Response

O

Response Object with list of GIRInfo

Toggle GIR status for all the switches

Resource Name

/imagemanagement/toggle

Description

Gets the maintenance status for all the switches

https Method

POST

URL

https://dcnm-ip/fm/fmrest/imagemanagement/allsystemmode

Parameter

Parameter

Type

Description

GIRInfoList

O

List of GIRInfo

Return Value

Format: JSON

Type: List of GIRInfo

Attribute Name

Type

Description

Response

O

Response Object with list of GIRInfo

ISSU image upgrade

Resource Name

/imagemanagement/job

Description

Triggers image upgrade on the device and returns the Job ID.

https Method

POST

URL

https://dcnm-ip/fm/fmrest/imagemanagement/job

Parameter

Parameter

Type

Description

Job

O

Job Object

Return Value

Format: JSON

Type: List of GIRInfo

Attribute Name

Type

Description

Response

O

Response Object with Job Id information as long.

Get Bootflash content

Resource Name

/repomanagement/fetchfirstlevelfiles

Description

Gets the contents of the bootflash directory.

https Method

POST

URL

Return Value

Format: JSON

Type: List of GIRInfo

Attribute Name

Type

Description

Response

O

Response Object with FolderContent embedded as entity.

Get available and total space

Resource Name

/repomanagement/fetchdirsize

Description

Gets the available and total space for bootflash directory.

https Method

GET

URL

Return Value

Format: JSON

Type: List of GIRInfo

Attribute Name

Type

Description

Response

O

Response Object with list of RepositoryFile embedded as entity.

Delete files from the Bootflash

Resource Name

/repomanagement/file

Description

Delete files from bootflash directory.

https Method

DELETE

URL

Return Value

Format: JSON

Type: List of GIRInfo

Attribute Name

Type

Description

Response

O

Response Object with integer value embedded as entity.

Get server contents in case of SFTP and SCP

Resource Name

/repomanagement/fetchfirstlevelfiles

Description

Gets the contents of the SFTP and SCP directory.

https Method

GET

URL

https://dcnm-ip/fm/fmrest/repomanagement/fetchfirstlevelfiles?type=SERVER&include=true&serverName=<Repository_Name>&id=<Folder-Name>&path=<Parent_Directory_Path>

Parameter

Parameter

Type

Description

GIRInfoList

O

List of GIRInfo

Return Value

Format: JSON

Type: List of GIRInfo

Attribute Name

Type

Description

Response

O

Inventory

The following are the Inventory REST APIs:

- Get Fabrics

- Get Switches

- Get all End Ports

- Get all End Ports Performance

- Get all San Ethernet Ports

- Get San Isls

- Get Modules

- Get VSANs

- Get Licenses

- Get Host/Storage Enclosed List

- Get Port Groups

- Get Regular Zones

- Get all Lan ISL

- Get all LAN Ethernet Ports

- Get LAN Devices

- Get Storage Providers

- Get Storage Providers worker status

- Get Virtual Centers

- Get FC Flows

Status

The following table details the API Response code, status and, the HTTPS methods.

OK

GET

202

Accepted

POST

PUT

DELETE

400

Bad Request

GET

POST

PUT

DELETE

401

Unauthorized

GET

POST

PUT

DELETE

403

Forbidden

GET

POST

PUT

DELETE

404

Not Found

GET

POST

PUT

DELETE

405

Method Not Allowed

GET

POST

PUT

DELETE

500

Internal Server Error

GET

POST

PUT

DELETE

Get Fabrics

Resource Name

/san/getFabricWithSnmpCredentail_fromDB

Description

Enables to discover fabrics.

https Method

GET

URL

https://dcnm-ip/fm/fmrest/san/getFabricWithSnmpCredentail_fromDB

Parameter

Parameter

Type

Description

NA

NA

NA

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

Rst.toJSONString()

A

Array of DBEntryDO Objects

Get Switches

Resource Name

/inventory/switches

Description

Get all discovered SAN switches

https Method

GET

URL

https://dcnm-ip/fm/fmrest/inventory/switches

Parameter

Parameter

Type

Description

NA

NA

NA

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

Array of SwitchDO objects

Get all End Ports

Resource Name

/inventory/endports

Description

Get all end ports

https Method

GET

URL

https://dcnm-ip/fm/fmrest/statistics/endports

Parameter

Parameter

Type

Description

NA

NA

NA

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

List of all EndPortDO objects

Get all End Ports Performance

Resource Name

/statistics/endportStat

Description

Get all end ports counters

https Method

GET

URL

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

List of all StatisticsDataDO objects

Get all San Ethernet Ports

Resource Name

/statistics/SanGigEStat

Description

Get all Ethernet ports under SAN

https Method

GET

URL

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

List of all StatisticsDataDO objects

Get San Isls

Resource Name

/statistics/sanIslStat

Description

Get all Isls

https Method

GET

URL

https://dcnm-ip/fm/fmrest/statistics/sanIslStat

Parameter

Parameter

Type

Description

NA

NA

NA

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

List of all StatisticsDataDO objects

Get Modules

Resource Name

/inventory/modules

Description

Get all modules

https Method

GET

URL

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

List of all DBEntryDO objects

Get VSANs

Resource Name

/inventory/vsans

Description

Get all VSANs.

https Method

GET

URL

https://dcnm-ip/fm/fmrest/inventory/vsans

Parameter

Parameter

Type

Description

NA

NA

NA

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

List of all VsanDO Objects

Get Licenses

Resource Name

/inventory/licenses

Description

Enables you to get all licenses

https Method

GET

URL

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

License

A

List of all License Objects

Get Host/Storage Enclosed List

Resource Name

/statistics/portGroupStat

Description

Get the Host's enclosure List or Storage Enclosure list

https Method

GET

URL

https://dcnm-ip/fm/fmrest/statistics/portGroupStat

Parameter

Parameter

Type

Description

type

string

Type of the object

Host: type=Host%20Enclosures

Storage: type=Storage%20Enclosures

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

List of StatisticsDataDO objects

Get Port Groups

Resource Name

/statistics/portGroupStat

Description

Get the group groups

https Method

GET

URL

https://dcnm-ip/fm/fmrest/statistics/portGroupStat

Parameter

Parameter

Type

Description

type

string

Type of the object

type=Port%20Groups

Return Value

Format: JSON

ServerResponse

List of StatisticsDataDO objects

Get Regular Zones

Resource Name

/inventory/zones

Description

Get the regular zones

https Method

GET

URL

https://dcnm-ip/fm/fmrest/inventory/zones

Parameter

Parameter

Type

Description

ServerResponse

List of ZoneDO objects

Get all Lan ISL

Resource Name

/statistics/lanIslstat

Description

Get all ISLs under LAN

https Method

GET

URL

https://dcnm-ip/fm/fmrest/statistics/lanIslstat

Parameter

Parameter

Type

Description

ServerResponse

List of all StatisticsDataDO objects

Get all LAN Ethernet Ports

Resource Name

/statistics/LanEthernetStat

Description

Get all Ethernet ports under LAN

https Method

GET

URL

https://dcnm-ip/fm/fmrest/statistics/LanEthernetStat

Parameter

Parameter

Type

Description

ServerResponse

List of StatisticsDataDO objects

Get LAN Devices

Resource Name

/san/getEthSwitchAll

Description

Enables you to discover LAN devices

https Method

GET

URL

https://dcnm-ip/fm/fmrest/san/getEthSwitchAll

Parameter

Parameter

Type

Description

string

DBEntryDO.toJSONString()

Get Storage Providers

Resource Name

/storage/getSmisProviders

Description

Get all discovered SMIS Storage providers

https Method

GET

URL

https://dcnm-ip/fm/fmrest/storage/getSmisProviders

Parameter

Parameter

Type

Description

Type: Object

Attribute Name

Type

Description

Rst

string

SMISProviderListDO.toJSONString(),

SMISProvderListDO object which is an array of SMISProviderDO.

SMISProviderDO is

dbId:long;

provId:int;

fmServer:String;

ns:String;

interopns:String;

url:String;

username:String;

port:int;

secure:boolean;

vendor:String;

select:String;

status:String;

managedstatus:String;

lastUpdated:String;

version:String;

Get Storage Providers worker status

Resource Name

/storage/getWorkerStatus

Description

Get all discovered SMIS Storage worker status

https Method

GET

URL

https://dcnm-ip/fm/fmrest/storage/getWorkerStatus

Parameter

Parameter

Type

Description

smisWorker

SMISProviderWorkerDO

A array of SMIS provider.

SMISProviderWorkerDO -

providerList:SMISProviderDO[],

password:String,

fmserver:String.

Note SMISProviderDO is

dbId:long;

provId:int;

fmServer:String;

ns:String;

interopns:String;

url:String;

username:String;

port:int;

secure:boolean;

vendor:String;

select:String;

status:String;

managedstatus:String;

lastUpdated:String;

version:String;

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

Rst.toJSONString()

string

SMISProviderListDO.toJSONString(),

SMISProvderListDO object which is an array of SMISProviderDO.

SMISProviderDO is

dbId:long;

provId:int;

fmServer:String;

ns:String;

interopns:String;

url:String;

username:String;

port:int;

secure:boolean;

vendor:String;

select:String;

status:String;

managedstatus:String;

lastUpdated:String;

version:String;

Get Virtual Centers

Resource Name

/san/getVirtualCenters

Description

Get all discovered Virtual Centers

https Method

GET

URL

https://dcnm-ip/fm/fmrest/san/getVirtualCenters

Parameter

Parameter

Type

Description

string

DBEntryDO.toJSONString()

Get FC Flows

Resource Name

/Statistics/fcflowsStat

Description

Get the FC Flows.

https Method

GET

URL

https://dcnm-ip/fm/rest/Statistics/portGroupStat

Parameter

Parameter

Type

Description

type

String

Type for Port Groups

type=Port Groups

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

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

Status

The following table details the API Response code, status and, the HTTPS methods.

Status Code

Status

API's HTTPS Method or

HTTPS Method

200

OK

GET

202

Accepted

POST

PUT

DELETE

400

Bad Request

GET

POST

PUT

DELETE

401

Unauthorized

GET

POST

PUT

DELETE

403

Forbidden

GET

POST

PUT

DELETE

404

Not Found

GET

POST

PUT

DELETE

405

Method Not Allowed

GET

POST

PUT

DELETE

500

Internal Server Error

GET

POST

PUT

DELETE

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.

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.

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

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

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

Get Translate VLAN Settings

Resource Name

/rest/settings/general

Description

Get Fabric Automation translate VLAN settings.

https Method

GET

URL

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

Parameter

Parameter

Type

Description

settings

O

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

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

Update Translate VLAN Settings

Resource Name

/rest/settings/general

Description

Update Fabric Automation translate VLAN settings.

https Method

PUT

URL

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

Parameter

Parameter

Type

Description

settings

O

Fabric Automation settings, including translate VLAN related information.

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

Delete Translate VLAN Settings

Resource Name

/rest/settings/general

Description

Delete Fabric Automation translate VLAN settings.

https Method

PUT

URL

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

Parameter

Parameter

Type

Description

settings

O

Fabric Automation settings, including translate VLAN related information.

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

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

Status

The following table details the API Response code, status and, the HTTPS methods.

Status Code

Status

API's HTTPS Method or

HTTPS Method

200

OK

GET

202

Accepted

POST

PUT

DELETE

400

Bad Request

GET

POST

PUT

DELETE

401

Unauthorized

GET

POST

PUT

DELETE

403

Forbidden

GET

POST

PUT

DELETE

404

Not Found

GET

POST

PUT

DELETE

405

Method Not Allowed

GET

POST

PUT

DELETE

500

Internal Server Error

GET

POST

PUT

DELETE

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.

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.

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

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

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

Operational Management

The following are the Static Flow Stitching REST APIs:

- Get Flow_id for a given MulticastIP

- Get Listing of all Active/Current Flows

- Get Listing of all Flows that a selected host participates in

- Topology and Inventory APIs

- Topology and Inventory APIs

- Delete/Leave Receiver for a Flow

- Get Listing of all Active/Current Flows

Status

The following table details the API Response code, status and, the HTTPS methods.

OK

GET

202

Accepted

POST

PUT

DELETE

400

Bad Request

GET

POST

PUT

DELETE

401

Unauthorized

GET

POST

PUT

DELETE

403

Forbidden

GET

POST

PUT

DELETE

404

Not Found

GET

POST

PUT

DELETE

405

Method Not Allowed

GET

POST

PUT

DELETE

500

Internal Server Error

GET

POST

PUT

DELETE

Get Flow_id for a given MulticastIP

Resource Name

/rest/pmn/getflowid/mcastIp/{mcastIp}

Description

Get a listing of all the Current Flows in the network.

https Method

GET

URL

https://dcnm-ip/rest/pmn/getflowid/mcastIp/{mcastIp}- Get Flowid for particular flow.

https://dcnm-ip/rest/pmn/getflowid/mcastIp/{mcastIp}/source/{host_id} - Get listing of specific flow in the network for given mcastIp+sender (host_id) combination(IGMPV3).

Parameter

Parameter

Type

Description

Flow-id

String

Integer number indicating each flow.

Return Value

Format: JSON

Get Listing of all Active/Current Flows

Resource Name

/rest/pmn/flowstatus

Description

Get a listing of all the Current Flows in the network.

https Method

GET

URL

https://dcnm-ip/rest/pmn/flowstatus - Get listing of all Flows in the network.

https://dcnm-ip/rest/pmn/flowstatus/{flow-id} -Get listing about all senders and receivers information about a specific flow.

https://dcnm-ip/rest/pmn/flow/{flowID}/{senderHostId}/{receiverHostId} - Get all information about the specific flow between a selected sender and a receiver.

Note A Flow id is a unique instance of the multicast flow, with bandwidth and dscp bit allocations. Every sender/receiver pair forms an instance of this particular Flow id. Therefore, for a given flow, with one sender and 2 receivers, there will be 2 entries in the flowstatus response.

Parameter

Parameter

Type

Description

Flow-id

String

Integer number indicating each flow.

Return Value

Format: JSON

Get Listing of all Flows that a selected host participates in

Resource Name

/rest/pmn/topology/host/{hostId}/flows-participating-in

Description

Get a listing of all the flows that a selected host participates in.

https Method

GET

URL

https://dcnm-ip/rest/pmn/topology/host/{hostID}/flows-participating-in

Parameter

Parameter

Type

Description

hostId

String

Unique identifier of the host (sender/receiver)

Return Value

Format: JSON

Get Listing of all Flows that a particular switch participates in.

Resource Name

/rest/pmn/topology/switch/{switchId}/flows-passing-through

Description

Get a listing of all the flows that a selected switch participates in.

https Method

GET

URL

https://dcnm-ip/rest/pmn/topology/switch/{switchId}/flows-passing-through

Parameter

Parameter

Type

Description

switchId

String

Unique identifier of the switch

Return Value

Format: JSON

Topology and Inventory APIs

Resource Name

/fm/fmrest/inventory/switches

/fm/fmrest/san/getDetailsBySwitch/?switchDbID={switchDbId}

/fm/fmrest/inventory/getInterfacesBySwitch/?switchDbID={switchDbId}&network=LAN

Description

Get Inventory information and Query information about the inventory, such as, Switch IP, modules, interfaces, mgmt. interface etc.

https Method

GET

URL

https://dcnm-ip/fm/fmrest/inventory/switches - Get listing of all Switch instances with details

https://dcnm-ip/fm/fmrest/san/getDetailsBySwitch/?switchDbID={switchDbId} - Get details about a particular switch.

https://dcnm-ip/fm/fmrest/inventory/getInterfacesBySwitch/?switchDbID={switchDbId} - Get interface specific information about a particular switch.

Note The interface level API, will expose interface ids, that will also be obtained in the flow API and can be mapped to instances participating in a flow.

Parameter

Parameter

Type

Description

switchDbId

String

Unique identifier of the switch

Return Value

Format: JSON

Type: Long

Attribute Name

Type

Description

Access denied

String value indicating Success/Failure of the new flow being deleted.

Delete/Leave Receiver for a Flow

Resource Name

/rest/pmn/events

Description

Get a listing of all the events that occurred in DCNM.

https Method

GET

URL

https://dcnm-ip/rest/pmn/events/ -- Get listing of all events

https://dcnm-ip/rest/pmn/events/start/{startTime} - Get listing of all events posted after a particular time.

https://dcnm-ip/rest/pmn/events/start/{startTime}/severity/{severitylevel} - Get listing of events of a particular severity after a particular start time.

Parameter

Parameter

Type

Description

startTime

String

Start time in format yyyy-MM-dd'T'HH:mm:ss

severitylevel

String

INFO/DEBUG/ERROR/CRITICAL

Return Value

Format: JSON

Performance

The following are the Performance REST APIs:

- Get CPU

- Get Memory

- Get Traffic

Status

The following table details the API Response code, status and, the HTTPS methods.

Status Code

Status

API's HTTPS Method or

HTTPS Method

200

OK

GET

202

Accepted

POST

PUT

DELETE

400

Bad Request

GET

POST

PUT

DELETE

401

Unauthorized

GET

POST

PUT

DELETE

403

Forbidden

GET

POST

PUT

DELETE

404

Not Found

GET

POST

PUT

DELETE

405

Method Not Allowed

GET

POST

PUT

DELETE

500

Internal Server Error

GET

POST

PUT

DELETE

Get CPU

Resource Name

/statistics/cpuStat

Description

Enables you to get switch CPU usage.

https Method

GET

URL

https://dcnm-ip/fm/fmrest/statistics/cpuStat

Parameter

Parameter

Type

Description

NA

NA

NA

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

ServerResponse

Array of StatisticsDataDO Objects

Get Memory

Resource Name

/statistics/memoryStat

Description

Enables you to get switch memory usage data.

https Method

GET

URL

https://dcnm-ip/fm/fmrest/statistics/memoryStat

Parameter

Parameter

Type

Description

NA

NA

NA

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

ServerResponse

Array of StatisticsDataDO Objects

Get Traffic

Resource Name

/statistics/bandwidthStat

Description

Enables you to get switch traffic data.

https Method

GET

URL

https://dcnm-ip/fm/fmrest/statistics/bandwidthStat

Parameter

Parameter

Type

Description

NA

NA

NA

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

ServerResponse

Array of StatisticsDataDO Objects

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 Multiple POAP Definitions

Status

The following table details the API Response code, status and, the HTTPS methods.

OK

GET

202

Accepted

POST

PUT

DELETE

400

Bad Request

GET

POST

PUT

DELETE

401

Unauthorized

GET

POST

PUT

DELETE

403

Forbidden

GET

POST

PUT

DELETE

404

Not Found

GET

POST

PUT

DELETE

405

Method Not Allowed

GET

POST

PUT

DELETE

500

Internal Server Error

GET

POST

PUT

DELETE

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

Type: Object

Attribute Name

Type

Description

poap-servers

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

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

Type: Object

Attribute Name

Type

Description

poap-server

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 image/configserver-object including

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

Return Value

Format: JSON

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

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

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

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.

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

For more information, see the example below.

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

switch-numbers

Example

Format: JSON

The example below shows how to publish a POAP definition (/rest/poap/published-switch-definitions/<serialNumber>) which are created using the API 1, 2, and 3.

API 1

{

"templateParams":{

"SWITCH_NAME":"example-123",

"ADMIN_USERNAME":"admin",

"ADMIN_PASSWORD":"test123",

"MGMT_IP":"5.5.5.5",

"MGMT_PREFIX":"24",

"DEFAULT_GATEWAY":"5.5.5.1",

"CONSOLE_TIMEOUT":"0",

"CONSOLE_SPEED":"9600"

}

}

API 3

API 4

{

}

API 5

[

{

"mgmtIp":"5.5.5.5",

"username":"admin",

"password":"test123",

"lanGroup":2

}

]

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

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

Type: Object

Attribute Name

Type

Description

switch-definition

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

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

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

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}

S

Device serial-number

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

Poap-template

O

Poap template object

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

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

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

Description

Get all the published templates.

https Method

GET

URL

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.

Generate Template Startup Config

Resource Name

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

Description

Generates template for startup config.

https Method

POST

URL

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

Example

Request Body:

{

"templateParams":{

"SWITCH_NAME":"r-123",

"ADMIN_USERNAME":"admin",

"ADMIN_PASSWORD":"test123",

"MGMT_IP":"10.0.0.0",

"MGMT_PREFIX":"24",

"DEFAULT_GATEWAY":"10.0.0.1",

"CONSOLE_TIMEOUT":"0",

"CONSOLE_SPEED":"9600"

}

}

Response Body:

{

"startupConfig":"hostname r-123\n\nno password strength-check\nusername admin password test123 role network-admin\n\nsnmp-server user admin network-admin auth md5 test123 priv test123 \n\nvrf context management\n ip route 0.0.0.0/0 10.0.0.1\n\ninterface mgmt0\n vrf member management\n no cdp enable\n no lldp transmit \n no lldp receive \n ip address 10.0.0.0/24\n no shutdown\n\nline console\n\n exec-timeout 0\n"

}

Parameter

Parameter

Type

Description

templateParams

O

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

The object should contain key-value pairs whose keys align with the Parameters field in the Get Configuration Template method.

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

startupConfig

S

Return startup config

Get Group Navigation

Resource Name

/templates/groups

Description

Get all the groups.

https Method

GET

URL

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

memDbId, name, navType

S

Return group/scope details

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

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

Return Value

Format: JSON

Create Multiple POAP Definitions

Resource Name

/poap/definitions

Description

Simple and Single API to create multiple POAP definitions w/ discovery.

if you use this single API, the following separate APIs are not required.

- Create the switch definition without template— /rest/poap/switch-definitions (POST)

- Generate the startup configuration— /rest/templates/populate-template/<template-name> (POST)

- Associate the template and startup configuration with the switch definition— /rest/poap/templates (POST)

- Publish the switch definition— /rest/poap/published-switch-definitions/<serial-number> (POST)

- Discover the switch in Cisco DCNM— /rest/templates/perform-shallow-discovery (POST)

https Method

POST

URL

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

Parameter

Parameter

Type

Description

Request Payload

A

Array of switchDetails and templateDetails.

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

Response Object

O

POAP Device Serial Number and the Status

Example

The following example shows how to create two POAP definitions using this API:

"switchDetails":[

{

"serialNumber":"SerialNo1",

"switchName":"Switch-1",

"systemImageName":"sys.bin",

"kickstartImageName":"kick.bin",

"imageServerId":1,

"configServerId":1,

"deviceType":"N9K",

"mgmtIp":"80.0.0.10",

"username":"admin",

"password":"cisco123",

"lanGroup":2,

"publish":"true"

},

{

"serialNumber":"SerialNo2",

"switchName":"Switch-2",

"systemImageName":"sys.bin",

"kickstartImageName":"kick.bin",

"imageServerId":1,

"configServerId":1,

"deviceType":"N9K",

"mgmtIp":"80.0.0.11",

"username":"admin",

"password":"cisco123",

"lanGroup":2,

"publish":"true"

}

],

"templateDetails":[

{

"templateParams":{

"SWITCH_NAME":"Switch-1",

"ADMIN_USERNAME":"admin",

"ADMIN_PASSWORD":"cisco123",

"MGMT_IP":"80.0.0.10",

"MGMT_PREFIX":"24",

"DEFAULT_GATEWAY":"80.0.0.1",

"CONSOLE_TIMEOUT":"0",

"CONSOLE_SPEED":"9600"

},

"templateName":"Example_Simple_v6"

},

{

"templateParams":{

"SWITCH_NAME":"Switch-2",

"ADMIN_USERNAME":"admin",

"ADMIN_PASSWORD":"cisco123",

"MGMT_IP":"80.0.0.11",

"MGMT_PREFIX":"24",

"DEFAULT_GATEWAY":"80.0.0.1",

"CONSOLE_TIMEOUT":"0",

"CONSOLE_SPEED":"9600"

},

"templateName":"Example_Simple_v6"

}

]

}

Response:

{

"SerialNo2": "Success",

"SerialNo1": "Success"

}

Reports

The following are the Reports REST APIs:

- Get Report View by Selection

- Get Report Jobs

Status

The following table details the API Response code, status and, the HTTPS methods.

OK

GET

202

Accepted

POST

PUT

DELETE

400

Bad Request

GET

POST

PUT

DELETE

401

Unauthorized

GET

POST

PUT

DELETE

403

Forbidden

GET

POST

PUT

DELETE

404

Not Found

GET

POST

PUT

DELETE

405

Method Not Allowed

GET

POST

PUT

DELETE

500

Internal Server Error

GET

POST

PUT

DELETE

Get Report View by Selection

Resource Name

/report/reportview

Description

Enables you to get a report view by individual selection

https Method

GET

URL

https://dcnm-ip/fm/fmrest/report/reportview

Parameter

Parameter

Type

Description

group

S

URI Parameter

selection

S

URI Parameter

reportFilter

S

URI Parameter

sortDownStr

S

URI Parameter

userName

S

URI Parameter

isAdmin

S

URI Parameter

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

ReportDO

O

Report Object

Get Report Jobs

Resource Name

/report/reportjobs

Description

Enables you to get a report of Jobs

https Method

GET

URL

https://dcnm-ip/fm/fmrest/report/reportjobs

Parameter

Parameter

Type

Description

sortDownStr

S

URI Parameter

userName

S

URI Parameter

isAdmin

S

URI Parameter

Return Value

Format: JSON

Type: Long

Attribute Name

Type

Description

SortedReportJobDO

O

Sorted Report for Jobs Object

Static Flow Stitching

The following are the Static Flow Stitching REST APIs:

- Add/Join Receiver for a Flow

- Delete/Leave Receiver for a Flow

Status

The following table details the API Response code, status and, the HTTPS methods.

OK

GET

202

Accepted

POST

PUT

DELETE

400

Bad Request

GET

POST

PUT

DELETE

401

Unauthorized

GET

POST

PUT

DELETE

403

Forbidden

GET

POST

PUT

DELETE

404

Not Found

GET

POST

PUT

DELETE

405

Method Not Allowed

GET

POST

PUT

DELETE

500

Internal Server Error

GET

POST

PUT

DELETE

Add/Join Receiver for a Flow

Resource Name

/rest/pmn/switches/<switchIp>

Description

Add/Join a receiver flow, from a switch that the receiver host is connected to.

https Method

POST

URL

https://<dcnm-ip-address>/rest/pmn/switches/<switchIp>

Parameter

Parameter

Type

Description

switchIp

String

Mandatory IpAddress of the switch where the host is connected to.

hostId

String

Mandatory IPAddress of the host that intends to join this flow.

hostInterface

String

Mandatory Host interface that the host is connected to the switch by.eg: Ethernet1/50 or Vlan50

multiCastIpAddress

String

Mandatory MulticastIp address of the flow that the host intends to join.

sender

String

Mandatory Boolean value,"true" if this is host is sender of a flow and for Receiver of a fow this value is "False"

seqNum

String

Optional numerical value that can be used to trace flow stitching on switch.

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

Access denied

String value indicating Success/Failure of the new flow being stitched.

Delete/Leave Receiver for a Flow

Resource Name

/rest/pmn/switches/<switchIp>

Description

Delete/Leave a receiver flow, from a switch that the receiver host is connected to.

https Method

DELETE

URL

https://<dcnm-ip-address>/rest/pmn/switches/<switchIp>

Parameter

Parameter

Type

Description

switchIp

String

Mandatory IpAddress of the switch where the host is connected to.

hostId

String

Mandatory IPAddress of the host that intends to join this flow.

hostInterface

String

Mandatory Host interface that the host is connected to the switch by.eg: Ethernet1/50 or Vlan50

multiCastIpAddress

String

Mandatory MulticastIp address of the flow that the host intends to join.

sender

String

Mandatory Boolean value,"true" if this is host is sender of a flow and for Receiver of a fow this value is "False"

seqNum

String

Return Value

Format: JSON

Type: Long

Attribute Name

Type

Description

DCNM session is invalid, need to get new session token.

String value

Templates

The following are the Template REST APIs:

- Get a Template

- Get All Template

- Create a Config Template

- Modify a Config Template

- Delete a Config Template

- Get Populated template CLI content

- Validate a Config Template

- Get Config Template Valid Switches

- Create a Config Template Job

- Get Config Template Jobs

- Get Config Template Job detail

- Delete Config Template Job

Status

The following table details the API Response code, status and, the HTTPS methods.

OK

GET

202

Accepted

POST

PUT

DELETE

400

Bad Request

GET

POST

PUT

DELETE

401

Unauthorized

GET

POST

PUT

DELETE

403

Forbidden

GET

POST

PUT

DELETE

404

Not Found

GET

POST

PUT

DELETE

405

Method Not Allowed

GET

POST

PUT

DELETE

500

Internal Server Error

GET

POST

PUT

DELETE

Get a Template

Resource Name

/config/templates/{template-name}

Description

Get Configuration template

https Method

GET

URL

https://dcnm-ip/fm/fmrest/config/templates/{template-name}

Parameter

Parameter

Type

Description

templateName

S

ConfigTemplate name

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

ConfigTemplateDO

O

ConfigTemplate object

Get All Template

Resource Name

/config/templates

Description

Get All Configuration template

https Method

GET

URL

https://dcnm-ip/fm/fmrest/config/templates

Parameter

Parameter

Type

Description

filterStr

S

Used for filtering the template format is <templateField1>:<filter value1>

sortBy

S

Filed to be sorted +<filed name> for ASC and -<filed name> for DESC

items (request header)

S

Range of records to fetch (i.e. 10-20)

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

ConfigTemplateDO[]

A

Array of ConfigTemplate object

items (response header)

S

Total number of records available

Create a Config Template

Resource Name

/config/templates

Description

Create a Config template

https Method

POST

URL

https://dcnm-ip/fm/fmrest/config/templates

Parameter

Parameter

Type

Description

templateFileContent

S

ConfigTemplate file content in plain text

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

InstanceNameIdDO

O

InstanceNameId of created template

Modify a Config Template

Resource Name

/config/templates/{template-name}

Description

Modify a config template

https Method

PUT

URL

https://dcnm-ip/fm/fmrest/config/templates/{template-name}

Example

Request Body:

{

"content":"##template properties \nname =Example_Simple_v7;\ndescription = Simple POAP Template example to assign a Management IP address;\nuserDefined= true;\nsupportedPlatforms = N3K,N5K,N5500,N5600,N6K,N9K;\ntemplateType = POAP;\ntemplateSubType=NA;\npublished = false;\ntimestamp = 2017-05-26 23:27:05 ;\n##\n##template variables\n\n# Copyright (c) 2017 by Cisco Systems, Inc.\n# All rights reserved.\n\n@(IsSwitchName=true, UseDNSReverseLookup=true, IsMandatory=true, Description=\"The host name of the switch [example: switch{1-3}]\", DisplayName=\"Switch Name\")\nstring SWITCH_NAME;\n\n@(IsMandatory=true, Description=\"Administrative User which will be used to manage this device\", DisplayName=\"Administrative Username\")\nstring ADMIN_USERNAME{\n defaultValue=admin;\n};\n\n@(IsMandatory=true, Description=\"Plain text password of at least 8 characters\", DisplayName=\"Administrative Password\")\nstring ADMIN_PASSWORD;\n\n@(IsManagementIP=true, IsMandatory=true, IsMultiplicity=true, Description=\"Mgmt0 address for this device [example: 10.10.10.10-20]\", DisplayName=\"Management IP\")\nipV4Address MGMT_IP;\n\n@(IsMandatory=true, Description=\"Management Network Prefix\", DisplayName=\"Management Prefix\")\ninteger MGMT_PREFIX{\n defaultValue=%POAP.MGMT_PREFIX;\n};\n\n@(IsMandatory=true, Description=\"Default Gateway IP address\", DisplayName=\"Default Gateway\")\nipV4Address DEFAULT_GATEWAY{\n defaultValue=%POAP.DEFAULT_GATEWAY;\n};\n\n@(IsMandatory=true, DisplayName=\"Console timeout\", Description=\"Enter timeout in minutes, 0 to disable\")\ninteger CONSOLE_TIMEOUT{\n defaultValue=0;\n};\n\n@(IsMandatory=true, DisplayName=\"Console Speed\")\ninteger CONSOLE_SPEED{\n defaultValue=9600;\n};\n##\n\n##template content\n\nhostname $$SWITCH_NAME$$\n\nno password strength-check\nusername $$ADMIN_USERNAME$$ password $$ADMIN_PASSWORD$$ role network-admin\n\nsnmp-server user $$ADMIN_USERNAME$$ network-admin auth md5 $$ADMIN_PASSWORD$$ priv $$ADMIN_PASSWORD$$ \n\nvrf context management\n ip route 0.0.0.0/0 $$DEFAULT_GATEWAY$$\n\ninterface mgmt0\n vrf member management\n no cdp enable\n no lldp transmit \n no lldp receive \n ip address $$MGMT_IP$$/$$MGMT_PREFIX$$\n no shutdown\n\nline console\nif( $$CONSOLE_TIMEOUT$$ != \"30\" ){\n exec-timeout $$CONSOLE_TIMEOUT$$\n}\nif( $$CONSOLE_SPEED$$ != \"9600\" ){ \n speed $$CONSOLE_SPEED$$\n}\n##\n"

}

Note The id attribute must match with the template-name in the URL.

Response Body:

{

"status":"Template modification successful"

}

Parameter

Parameter

Type

Description

templateFileContent

O

ConfigTemplate file content in plain text

The parameter is a JSON object data type with mandatory properties of id and content, where id is the template name and content is the modified template content.

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

Description

Delete a Config template

https Method

DELETE

URL

https://dcnm-ip/fm/fmrest/config/templates/{template-name}

Parameter

Parameter

Type

Description

templateName

S

ConfigTemplate name

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

Description

To get the CLI delivery content for the given parameter value for a template

https Method

POST

URL

https://dcnm-ip/fm/fmrest/config/{templateName}/populate/{deviceIP}

Parameter

Parameter

Type

Description

parametervalue

A

JSON Array of parameter values i.e [1, 'a']

Type: Object

Attribute Name

Type

Description

String

S

Populated CLI commands

Validate a Config Template

Resource Name

/config/templates/validate

Description

To Validate a Config template before creation

https Method

POST

URL

https://dcnm-ip/fm/fmrest/config/templates/validate

Parameter

Parameter

Type

Description

templateFileContent

S

ConfigTemplate file content in plain text

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

ReportItem[]

S

Validation result

Get Config Template Valid Switches

Resource Name

/config/templates/{template-name}/switches

Description

Returns all valid switches available for the template based on “supported platform” attribute there in Template.

https Method

GET

URL

https://dcnm-ip/fm/fmrest/config/templates/{template-name}/switches

Parameter

Parameter

Type

Description

templateName

S

Template name

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

ConfigDeliveryTaskDeviceDO []

A

Array of device objects

Create a Config Template Job

Resource Name

/config/templates/jobs

Description

Creates a Config template delivery job

https Method

POST

URL

https://dcnm-ip/fm/fmrest/config/templates/jobs

Parameter

Parameter

Type

Description

TemplateConfigDeliveryTaskDO

O

ConfigDeliveryTask Object

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

InstanceNameIdDO

O

Task ID value

Get Config Template Jobs

Resource Name

/config/templates/jobs

Description

Fetches the Config template delivery jobs

https Method

GET

URL

https://dcnm-ip/fm/fmrest/config/templates/jobs

Parameter

Parameter

Type

Description

status

S

Could be any of "not started/in progress/completed"

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

ConfigDeliveryTaskDO []

A

Array of ConfigDeliveryTask

Get Config Template Job detail

Resource Name

/config/templates/jobs/{jobID}

Description

Fetches the Config template delivery job with execution details

https Method

GET

URL

https://dcnm-ip/fm/fmrest/config/templates/jobs/{jobID}

Parameter

Parameter

Type

Description

Type: Object

Attribute Name

Type

Description

ConfigDeliveryTaskDO []

A

Array of ConfigDeliveryTask

Delete Config Template Job

Resource Name

/config/templates/jobs/{job-id}

Description

Deletes the Config template delivery jobs

https Method

DELETE

URL

https://dcnm-ip/fm/fmrest/config/templates/jobs/{job-id}

Parameter

Parameter

Type

Description

jobID

S

ID of the ConfigDeliveryTask

Return Value

Format: JSON

Topology

The following are the Topology REST APIs:

- Get a Topology

- Get a Vpc Topology

- Override Switch Role

- Revert Switch Role

- Get Topology Tags

- Fetch Tag

- Create Tag

- Delete Tags

- VLAN Search

- OTV Topology

- OTV Vlans

- VxLan VTEPs

- VxLan VNIs

- VxLan Multicast

- Switch VxLan Details

- Get STP information

Status

The following table details the API Response code, status and, the HTTPS methods.

Status Code

Status

API's HTTPS Method or

HTTPS Method

200

OK

GET

202

Accepted

POST

PUT

DELETE

400

Bad Request

GET

POST

PUT

DELETE

401

Unauthorized

GET

POST

PUT

DELETE

403

Forbidden

GET

POST

PUT

DELETE

404

Not Found

GET

POST

PUT

DELETE

405

Method Not Allowed

GET

POST

PUT

DELETE

500

Internal Server Error

GET

POST

PUT

DELETE

Get a Topology

Resource Name

/topology

Description

Enables to get a topology

https Method

GET

URL

https://dcnm-ip/fm/fmrest/topology

Parameter

Parameter

Type

Description

NA

NA

NA

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

Topology

O

Topology Object

Get a Vpc Topology

Resource Name

/topology/vpc

Description

Enables to get a VPC topology

https Method

GET

URL

https://dcnm-ip/fm/fmrest/topology/vpc

Parameter

Parameter

Type

Description

vpcDbId

long

@QueryParam

VPC database identifier

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

Topology

O

Topology Object

Override Switch Role

Resource Name

topology/role/{ethSwitchId}

Description

Switch override is used by the topology so that you can specify which position to render a node at. This API is used to change the role or override the role of the Switch. It has a default value of -1.

https Method

PUT

URL

https://dcnm-ip/fm/fmrest/topology/role/

Parameter

Parameter

Type

Description

ethSwitchId

long

Switch ID

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

NA

NA

NA

Revert Switch Role

Resource Name

/topology/role/{ethSwitchId}

Description

Reverts the role of the switch to its default role.

https Method

DELETE

URL

https://dcnm-ip/fm/fmrest/topology/role/

Parameter

Parameter

Type

Description

ethSwitchId

long

@PathParam

Switch ID

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

NA

NA

NA

Get Topology Tags

Resource Name

/topology/tags/{definedType}

Description

Enables you to get all topology tags

https Method

GET

URL

https://dcnm-ip/fm/fmrest/topology/{definedType}

Parameter

Parameter

Type

Description

definedType

S

@PathParam

Enums (USER or SYSTEM)

idsToFetch

O

IntegerList of ids to fetch

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

tags

A

A set of all requested tags

Fetch Tag

Resource Name

/topology/tags/{id}

Description

Enables you to fetch a tag

https Method

GET

URL

https://dcnm-ip/fm/fmrest/topology/tags/{id}

Parameter

Parameter

Type

Description

definedType

S

@PathParam

Enums (USER or SYSTEM)

type

S

@QueryParam

Enums (SWITCH or LINK)

id

int

@PathParam

ID to fetch

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

tags

O

Requested tag

Create Tag

Resource Name

/topology/tags

Description

Enables to create a tag

https Method

POST

URL

https://dcnm-ip/fm/fmrest/topology/tags

Parameter

Parameter

Type

Description

tag

O

Tag object

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

Delete Tags

Resource Name

/topology/tags

Description

Enables to delete tags

https Method

DELETE

URL

https://dcnm-ip/fm/fmrest/topology/tags

Parameter

Parameter

Type

Description

definedType

S

@QueryParam

Enums (USER or SYSTEM)

type

S

@QueryParam

Enums (SWITCH or LINK)

id

int

@QueryParam

ID to fetch

tagName

S

@QueryParam

Tag to delete

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

VLAN Search

Resource Name

/topology/l2vlanstp/islsondemand

Description

Enables you to search for VLAN information in a group

https Method

GET

URL

https://dcnm-ip/fm/fmrest/topology/l2vlanstp/islsondemand

Parameter

Parameter

Type

Description

group-id

String

@QueryParam

DCNM Group ID

range

String

@QueryParam

Vlan range to be searched.

Example: 1-10,120-150

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

L2TopologyOnDemand

O

Contains ISL and Switches for the searched VLAN range

OTV Topology

Resource Name

/rest/topology/switches/otv

Description

Enables to fetch OTV overlay networks.

https Method

GET

URL

https://dcnm-ip/rest/topology/switches/otv

Parameter

Parameter

Type

Description

session-id

String

@QueryParam

Token

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

Overlays

O

Contains list of OTV overlays

OTV Vlans

Resource Name

/rest/topology/switches/otv/vlans

Description

Enables you to fetch OTV active and inactive extended vlans for OTV edges

https Method

GET

URL

https://dcnm-ip/rest/topology/switches/otv/vlans

Parameter

Parameter

Type

Description

session-id

String

@QueryParam

Token

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

OtvVlans

A

Contains list of active and inactive extended VLANs.

VxLan VTEPs

Resource Name

/rest/topology/switches/vxlan/vteps

Description

Enables you to fetch all VxLan VTEPs

https Method

GET

URL

https://dcnm-ip/rest/topology/switches/vxlan/vteps

Parameter

Parameter

Type

Description

session-id

String

@QueryParam

Token

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

vteps

A

Contains list of VxLan VTEPs

VxLan VNIs

Resource Name

/rest/topology/switches/vxlan

Description

Enables you to search vteps on VNIs

https Method

GET

URL

https://dcnm-ip/rest/topology/switches/vxlan

Parameter

Parameter

Type

Description

vni

String

@QueryParam

vni

session-id

String

@QueryParam

Token

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

vteps

A

Contains list of VxLAN VTEPs

VxLan Multicast

Resource Name

/rest/topology/switches/vxlan

Description

Enables you to search vteps on multicast address

https Method

GET

URL

https://dcnm-ip/rest/topology/switches/vxlan

Parameter

Parameter

Type

Description

multicast-address

String

@QueryParam

Multicast address

session-id

String

@QueryParam

Token

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

vteps

A

Contains list of VxLAN VTEPs

Switch VxLan Details

Resource Name

/rest/topology/switches/vxlan

Description

Enables you to search vteps on multicast address

https Method

GET

URL

https://dcnm-ip/rest/topology/switches/vxlan

Parameter

Parameter

Type

Description

switch-id

String

@QueryParam

Switch Database ID

session-id

String

@QueryParam

Token

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

VxLanData

A

Contains list of VNIs and associated parameters for switch

Get STP information

Resource Name

/topology/l2vlanstp/stpsearch

Description

Enables to get STP information for VLAN in a group.

https Method

POST

URL

https://dcnm-ip/fm/fmrest/topology/l2vlanstp/stpsearch

Parameter

Parameter

Type

Description

L2TopologyOnDemand

object

Response from the previous API.

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

L2TopologyOnDemand

O

Contains ISL and Switches for the searched VLAN range

VxLAN

The following are the VxLAN REST APIs:

- List all VTEPs

- Get VTEPs with VNI

- Get VTEPs with Multicast address

- Get VNI details for a VTEP

- Get active peers for a VTEP for a given VNI

Status

The following table details the API Response code, status and, the HTTPS methods.

OK

GET

202

Accepted

POST

PUT

DELETE

400

Bad Request

GET

POST

PUT

DELETE

401

Unauthorized

GET

POST

PUT

DELETE

403

Forbidden

GET

POST

PUT

DELETE

404

Not Found

GET

POST

PUT

DELETE

405

Method Not Allowed

GET

POST

PUT

DELETE

500

Internal Server Error

GET

POST

PUT

DELETE

List all VTEPs

Resource Name

/topology/switches/vxlan/vteps

Description

List of all the VTEPs.

https Method

GET

URL

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

VTEPs

A

List of VTEPs including attributes VTEP IP, NVE Interface and Switch ID.

Get VTEPs with VNI

Resource Name

/topology/switches/vxlan?vni=<vni>

Description

Get the VTEPs which have this VNI configured on them.

https Method

GET

URL

https://dcnm-ip/rest/topology/switches/vxlan?vni=<vni>

Parameter

Parameter

Type

Description

vni

S

VxLAN Network Identifier.

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

VTEPs

A

List of VTEPs configured with VNI, including attributes, multicast address, VNI status, VLAN, NVE interface, switch name and switch ID.

Get VTEPs with Multicast address

Resource Name

/topology/switches/vxlan?multicast-address=<multicast-address>

Description

Get VTEPs which have this multicast address configured on them.

https Method

GET

URL

https://dcnm-ip/rest/topology/switches/vxlan?multicast-address=<multicast-address>

Parameter

Parameter

Type

Description

multicast-address

S

Multicast address configured in VxLAN.

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

VTEPs

A

List of VTEPs configured with multicast address, including attributes, VNI, multicast address, VNI status, VLAN, NVE interface, switch name and switch ID.

Get VNI details for a VTEP

Resource Name

/topology/switches/vxlan?switch-id=<switch-id>

Description

Get all the VNIs configured on a VTEP with all the associated attributes.

https Method

GET

URL

https://dcnm-ip/rest/topology/switches/vxlan?switch-id=<switch-id>

Parameter

Parameter

Type

Description

switch-id

S

VTEP switch ID, obtained by the API https://dcnm-ip/rest/topology/switches/vxlan/vteps.

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

VNI Details

A

List of all VNIs on a VTEP, with the associated Multicast Address, VNI Status, VLAN, NVE Interface, Switch Name and Switch ID.

Get active peers for a VTEP for a given VNI

Resource Name

/topology/switches/vxlan/peers?switch-id=<switch-id>&vni=<vni>

Description

Get the active peers for a VTEP for a given VNI.

https Method

GET

URL

https://dcnm-ip/rest/topology/switches/vxlan/peers?switch-id=<switch-id>&vni=<vni>

Parameter

Parameter

Type

Description

switch-id

S

VTEP switch ID, obtained by the API https://dcnm-ip/rest/topology/switches/vxlan/vteps

vni

S

VxLAN Network Identifier

Return Value

Format: JSON

Type: Object

Attribute Name

Type

Description

VTEP peers

A

List of VTEP active peers for given VNI.

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.

Cisco and the Cisco logo are trademarks or registered trademarks of Cisco and/or its affiliates in the U.S. and other countries. To view a list of Cisco trademarks, go to this URL: www.cisco.com/go/trademarks . Third-party trademarks mentioned are the property of their respective owners. The use of the word partner does not imply a partnership relationship between Cisco and any other company. (1721R)

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.

© 2016 Cisco Systems, Inc. All rights reserved.