Power On Auto Provisioning (POAP)

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

List Servers

Resource Name

/poap/servers

Description

List POAP image/config servers

https Method

GET

URL

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

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

Parameter

Parameter
Type
Description

 

 

 

Return Value

Format: JSON

Type: Object

Attribute Name
Type
Description

poap-servers

 

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

Status Code

200

OK

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

405

Method Not Allowed

500

Internal Server Error

Create a Server

Resource Name

/poap/servers

Description

Create a new POAP image/config server

https Method

POST

URL

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

Parameter

Parameter
Type
Description

poap-servers

 

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

Return Value

Format: JSON

Type: Object

Attribute Name
Type
Description

poap-server-name

 

POAP image/config server name.

Status Code

200

OK

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

405

Method Not Allowed

500

Internal Server Error

Get Servers

Resource Name

/poap/servers/server-name

Description

Get the POAP image/config servers

https Method

GET

URL

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

Parameter

Parameter
Type
Description

 

 

 

Return Value

Format: JSON

Type: Object

Attribute Name
Type
Description

poap-server

 

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

Status Code

200

OK

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

405

Method Not Allowed

500

Internal Server Error

Update Servers

Resource Name

/poap/servers/server-name

Description

Update the POAP image/config servers

https Method

PUT

URL

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

Parameter

Parameter
Type
Description

poap-server

 

POAP image/configserver-object including

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

Return Value

Format: JSON

Type: Object

Attribute Name
Type
Description

 

 

 

Status Code

200

OK

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

405

Method Not Allowed

500

Internal Server Error

Delete Servers

Resource Name

/poap/servers/server-name

Description

Delete the POAP image/config servers

https Method

DELETE

URL

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

Parameter

Parameter
Type
Description

 

 

 

Return Value

Format: JSON

Type: Object

Attribute Name
Type
Description

 

 

 

Status Code

200

OK

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

405

Method Not Allowed

500

Internal Server Error

List Switch Definitions

Resource Name

/poap/switch-definitions

Description

List the POAP switch definitions

https Method

GET

URL

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

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

Parameter

Parameter
Type
Description

 

 

 

Return Value

Format: JSON

Type: Object

Attribute Name
Type
Description

Switch-definitions

 

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

Status Code

200

OK

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

405

Method Not Allowed

500

Internal Server Error

Create Switch Definitions

Resource Name

/poap/switch-definitions

Description

Create POAP switch definitions

https Method

POST

URL

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

Parameter

Parameter
Type
Description

Switch-definitions

 

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

Return Value

Format: JSON

Type: Object

Attribute Name
Type
Description

switch-numbers

 

List of serial numbers.

Status Code

200

OK

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

405

Method Not Allowed

500

Internal Server Error

Publish Switch Definitions

Resource Name

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

Description

Publish list of switch-definitions to the Repository server.

https Method

POST

URL

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

Parameter

Parameter
Type
Description

 

 

 

Return Value

Format: JSON

Type: Object

Attribute Name
Type
Description

 

 

 

Status Code

200

OK

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

405

Method Not Allowed

500

Internal Server Error

Get a Switch Definition

Resource Name

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

Description

Get a switch definition.

https Method

GET

URL

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

Parameter

Parameter
Type
Description

 

 

 

Return Value

Format: JSON

Type: Object

Attribute Name
Type
Description

switch-definition

 

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

Status Code

200

OK

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

405

Method Not Allowed

500

Internal Server Error

Update a Switch Definition

Resource Name

/poap/switch-definitions/serial-number

Description

Update a switch-definition.

https Method

PUT

URL

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

Parameter

Parameter
Type
Description

switch-definition

 

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

Return Value

Format: JSON

Type: Object

Attribute Name
Type
Description

 

 

 

Status Code

200

OK

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

405

Method Not Allowed

500

Internal Server Error

Delete a Switch Definition

Resource Name

/poap/switch-definitions/serial-number

Description

Delete a switch-definition.

https Method

DELETE

URL

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

Parameter

Parameter
Type
Description

 

 

 

Return Value

Format: JSON

Type: Object

Attribute Name
Type
Description

 

 

 

Status Code

202

Accepted

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

405

Method Not Allowed

500

Internal Server Error

Get a POAP Template

Resource Name

/poap/templates/{template-name}

Description

Get a POAP template.

https Method

GET

URL

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

Parameter

Parameter
Type
Description

Serial-number

S

Device serial-number

Return Value

Format: JSON

Type: Object

Attribute Name
Type
Description

Poap-template

O

Poap template object

Status Code

200

OK

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

405

Method Not Allowed

500

Internal Server Error

Create a POAP Template

Resource Name

/poap/templates

Description

Create a POAP template.

https Method

POST

URL

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

Parameter

Parameter
Type
Description

Poap-template

O

Poap template object

Return Value

Format: JSON

Type: Object

Attribute Name
Type
Description

Poap-template-name

O

Poap template name

Status Code

200

OK

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

405

Method Not Allowed

500

Internal Server Error

Update a POAP Template

Resource Name

/poap/templates/{template-name}

Description

Update a POAP template.

https Method

PUT

URL

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

Parameter

Parameter
Type
Description

Poap-template

O

Poap template object

Return Value

Format: JSON

Type: Object

Attribute Name
Type
Description

 

 

 

Status Code

200

OK

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

405

Method Not Allowed

500

Internal Server Error

Delete a POAP Template

Resource Name

/poap/templates/{template-name}

Description

Delete a POAP template.

https Method

POST

URL

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

Parameter

Parameter
Type
Description

Poap-template-name

S

Poap template name

Return Value

Format: JSON

Type: Object

Attribute Name
Type
Description

 

 

 

Status Code

200

OK

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

405

Method Not Allowed

500

Internal Server Error

Get All Published Templates

Resource Name

/poap/templates?published=true

Description

Get all the published templates.

https Method

GET

URL

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

Parameter

Parameter
Type
Description

 

 

 

Return Value

Format: JSON

Type: Object

Attribute Name
Type
Description

templates

O

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

Returns all the templates if published=false.

Status Code

200

OK

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

405

Method Not Allowed

500

Internal Server Error

Generate Template Startup Config

Resource Name

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

Description

Get all the published templates.

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

https Method

POST

URL

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

Parameter

Parameter
Type
Description

templateParams

A

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

Return Value

Format: JSON

Type: Object

Attribute Name
Type
Description

startupConfig

S

Return startup config

Status Code

200

OK

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

405

Method Not Allowed

500

Internal Server Error

Get Group Navigation

Resource Name

/templates/groups

Description

Get all the groups.

https Method

GET

URL

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

Parameter

Parameter
Type
Description

 

 

 

Return Value

Format: JSON

Type: Object

Attribute Name
Type
Description

memDbId, name, navType

S

Return group/scope details

Status Code

200

OK

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

405

Method Not Allowed

500

Internal Server Error

Perform Shallow Discovery

Resource Name

/templates/perform-shallow-discovery

Description

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

https Method

POST

URL

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

Parameter

Parameter
Type
Description

POAP

A

sushs: needs review

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

Return Value

Format: JSON

Type: Object

Attribute Name
Type
Description

 

 

 

Status Code

200

OK

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

405

Method Not Allowed

500

Internal Server Error

Create POAP Definition

Resource Name

/poap/poap-switch-definition

Description

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

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

https Method

POST

URL

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

Parameter

Parameter
Type
Description

POAP

A

Array of template parameters and POAP switch details.

Return Value

Format: JSON

Type: Object

Attribute Name
Type
Description

poap

A

Array of POAPv switch details with template content.

Status Code

200

OK

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

405

Method Not Allowed

500

Internal Server Error