Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

#Sub interfaceMethodScenarioSpecified HTTP Response CodeImplemented HTTP Response CodeComments
1DMI Plugin Internal

POST - /v1/inventory/cmHandles

DmiPluginInternalApi.registerCmHandles()



Register given list of cm handles (internal use only)

201

400

401

403

201 (created)

  • for success

400 (bad request)

  • for empty cm handles list from input

500 (internal server error)

  • for parsing error when converting provided cm handles into jsonJSON
  • for any response code from NCMP that is different form 201
  • for unexpected system errors

Implementation

  • Input cm handle conversion error should return a 4xx client error
2DMI Plugin

POST - /v1/ch/{cmHandle}/modules

DmiPluginApi.getModuleReferences()

Get all modules for given cm handle

200

400

401

403500 -

200 (ok)

  • for success

500 (internal server error)

  • for unexpected system errors

3DMI Plugin

POST - /v1/ch/{cmHandle}/moduleResources

DmiPluginApi.retrieveModuleResources()

Retrieve module resources for one or more modules

200

400

401

403

200 (ok)

  • for success

404 (not found)

  • module resource not found from SDNC for the given cm handle
  • error occurred when trying to parse the response body from SDNC

500 (internal server error)

  • for JSON parsing error when creating the module request from the given module reference (DmiException)
  • for any SDNC response code that is different from 200 and or 404
  • for unexpected system errors

Implementation:

  • SDNC errors are not really consistent (404 and 500)
  • Error related to the given module reference should be 4xx ?
4DMI Plugin

POST - /v1/ch/{cmHandle}/data/ds/ncmp-datastore:passthrough-operational

DmiPluginApi.dataAccessPassthroughOperational()

Get resource data from passthrough-operational for cm handle. Will support read operations only.

200

400

401

403

200 (ok)

  • for success

400 (bad request)

  • for input operation that is different from read

500 - for unexpected system errors


5DMI Plugin

POST - /v1/ch/{cmHandle}/data/ds/ncmp-datastore:passthrough-running

DmiPluginApi.dataAccessPassthroughRunning()

Post request to Get, Create or to Update resource data for a cm-handle. Since all requests need to include additional information in a request body HTTP Post is used for all use cases and the actual operation is defined in the request body instead.

201

400

401

403

200 (ok)

  • for success with read or update requested operation. Response body is SDNC body response.
500 -

201 (created)

  • for success with create requested operation. Response body is SDNC body response.

204 (no content)

  • for success with delete requested operation. Response body is SDNC body response.

400 (bad request)

  • for requested operation that is different from create, read, update or delete. Response body is SDNC body response.

500 (internal server error)

  • for any SDNC response code that is different from 2xx
  • for unexpected system errors

Specification

  • Should success always be 200 (general ok) instead of 201 (created) ?

Implementation

  • It does not seem consistent to return 404 with SDNC body response when operation is different from create, read update or delete.


CPS-Temporal

#Sub interfaceMethodScenarioSpecified HTTP Response CodeImplemented HTTP Response CodeComments
1Query

GET - /v1/dataspaces/{dataspace-name}/anchors/{anchor-name}/history

CpsTemporalQueryApi.getAnchorDataByName()

Get anchor data by name

200

400

401

403

200 - ok

400 - for input data validation errors

500 - for unexpected system errors

  • Add 500 to the specification
  • Review 401, 403 ?
2Query

GET - /v1/dataspaces/{dataspace-name}/anchors/history

CpsTemporalQueryApi.getAnchorsDataByFilter()


Get anchors data based on filter criteria

200

400

401

403

200 - ok

400 - for input data validation errors

500 - for unexpected system errors

  • Add 500 to the specification
  • Review 401, 403 ?

...