...
# | Usecase | NCMP Datastore | Path | ?fields | ?topic | Query | Time frame |
---|---|---|---|---|---|---|---|
1 | Read | passthrough-running | RESTConf Path only | Implemented by SDNC/Node | Implemented by DMI Plugin | Not supported | Istanbul |
2 | Read | ncmp-datastores:operational | CPSPath only | TBD | TBD | Limited xpath functionality | Istanbul |
3 | Create | passthrough-running | RESTConf Path only | N/A | N/A | N/A | Istanbul |
4 | Create | ncmp-datastores:running | CPSPath only | N/A | N/A | N/A | > Istanbul |
5 | Delete | passthrough-running | RESTConf Path only | N/A | N/A | Not supported | Istanbul |
6 | Delete | ncmp-datastores:running | CPSPath only | N/A | N/A | Not supported | > Istanbul |
7 | Update | passthrough-running | RESTConf Path only | N/A | N/A | N/A | Istanbul |
8 | Update | ncmp-datastores:running | CPSPath only | N/A | N/A | N/A | > Istanbul |
9 | Patches | passthrough-running | RESTConf Path only | N/A | N/A | N/A | Istanbul |
10 | Patches | ncmp-datastores:running | CPSPath only | N/A | N/A | N/A | > Istanbul |
11 | Bulk | passthrough-running | RESTConf Path only | N/A | N/A | N/A | > Istanbul |
12 | Bulk | ncmp-datastores:running | CPSPath only | N/A | N/A | N/A | > Istanbul |
13 | Action | passthrough-running | RESTConf Path only | N/A | N/A | N/A | Istanbul? |
14 | Action | ncmp-datastores:running | CPSPath only | N/A | N/A | N/A | Istanbul? |
REST API
# | Req/usecase | REST Method | URI / Payload | Header Parameters | Request/Response Example | Status |
---|---|---|---|---|---|---|
1 | Read a data resource directly from source (passthrough) for a cmHandle - async | GET | {ncmp-root}/ncmp/v1/cm-handle/<cm-handle>/ds |
/ncmp-datastores:passthrough-running/{dataresource-identifier}?fields={fields}&topic={topicId}
| Accept: application/json | Scenario : Read the GNBCUCPFunction for cmhandle "335ff" as passthrough Method : GET URI : {ncmp-root}/ncmp/v1/cm-handle/335ff/ds/ncmp-datastores: Header : Event Response: { [ } | passthrough-running is supported in Istanbul using
| |||
2 | Read a data resource directly from source (passthrough) for a cmHandle. Only return specific field(s). Synchronous call | GET | {ncmp-root}/ncmp/v1/cmhandle//ds /ncmp-datastores:passthrough-running/{dataresource-identifier}?fields={fields} | Accept: application/json | Scenario : Read the EUtranCellFDD.(administrativeState, Method : GET URI : {ncmp-root}/ncmp/v1/cm-handle/335ff/ds/ncmp-datastores: Header : Response: HTTP/1.1 200 OK { [ | passthrough-running is supported in Istanbul using
|
3 | ALTERNATIVE OUTPUT TO ABOVE Read a data resource directly from Synchronous call | GET | {ncmp-root}/ncmp/v1/cm-handle//ds /ncmp-datastores:passthrough-running/{dataresource-identifier}?fields={fields} | Accept: application/json | Scenario : Read the EUtranCellFDD.(administrativeState, operationalState, tac, earfcndl, cellId, physicalLayerCellId) for cmhandle "335ff" as passthrough Method : GET URI : {ncmp-root}/ncmp/v1/cm-handle/335ff/ds/ncmp-datastores: Header : Response: HTTP/1.1 200 OK { [ OR "/ManagedElement[@id="Kista-001"]/ENodeBFunction[@id="1"] OR "xpath": "/ManagedElement[@id="Kista-001"]/ENodeBFunction | passthrough-running is supported in Istanbul using
|
4 | Read a data resource with some leaf value condition directly from the source (passthrough) for a cmHandle. Only Synchronous call | GET | {ncmp-root}/ncmp/v1/cm-handle//ds /ncmp-datastores:passthrough-running/{dataresource-identifier[]}?fields={fields} &topic={topicId} | ContentType: application/json | Scenario : Read the LocalSctpEndpoint.(interfaceUsed==X2, Method : GET URI : {ncmp-root}/ncmp/v1/cm-handle/335ff/ds/ncmp-datastores: Header : Response: HTTP/1.1 200 OK { [ } | passthrough-running is supported in Istanbul using
|
5 | Create a data resource for a cmhandle | POST | {ncmp-root}/ncmp/v1/cmhandle/<cm-handle>/ds/ncmp-datastores:passthrough-running/{parent-data-resource-identifier} { OR with datastores defaults {ncmp-root}/ncmp/v1/cm-handle/<cmhande>/ { | ContentType: application/json | Scenario : Create ericsson-nrsectorcarrier-vdu-add:NRSectorCarrier=4 Method : POST URI : : {ncmp-root}/ncmp/v1/cm-handle/34l5k32/ManagedElement Header : Body : { | passthrough-running is supported in Istanbul using
ncmp-datastores:running is not supported in Istanbul |
6 | Update a data resource for a cmhandle | PATCH | {ncmp-root}/ncmp/v1/cm-handle/<cmhandle>/ds { OR with datastores defaults {ncmp-root}/ncmp/v1/cm-handle/<cmhande>/ { | ContentType: application /json | Scenario : Update ericsson-nrsectorcarrier-vdu-add:NRSectorCarrier=4 Method : PATCH URI : {ncmp-root}/ncmp/v1/cm-handle/34l5k32/ManagedElement Header : Body : { | passthrough-running is supported in Istanbul using
ncmp-datastores:running is not supported in Istanbul |
7 | Delete a data resource for a cmhandle | DELETE | {ncmp-root}/ncmp/v1/cm-handle/<cmhandle>/ds |
/ncmp-datastores:passthrough-running/{data- OR with datastores defaults {ncmp-root}/ncmp/v1/cm-handle/<cmhande>/ |
{data-resource-identifier} | ContentType: application /json | Scenario : Create ericsson-nrsectorcarrier-vdu-add:NRSectorCarrier=4 under _3gpp-common-managed-element:ManagedElement=Kista-001 /_3gpp-nr-nrm-gnbdufunction:GNBDUFunction=1 Method : DELETE URI : {ncmp-root}/ncmp/v1/cm-handle/34l5k32/ManagedElement [@id=Kista-001]/GNBDUFunction[@id=1]/NRSectorCarrier[@id=4] OR {ncmp-root}/ncmp/v1/cm-handle/34l5k32//NRSectorCarrier[@id=4] Header : Accept: application/json Body : {} | passthrough-running is supported in Istanbul using
ncmp-datastores:running is not supported in Istanbul for delete | |||
8 | Get model (module set) for CMHandle | GET | {ncmp-root}/ncmp/v1/model/<handleId> | Accept: application/ yang- data+json | Scenario : Get the model data for CMHandle with id "335ff" Method : GET URI : {ncmp-root}/ncmp/v1/model/335ff Header : Response: { "ietf-yang-library:modules-state" : { | passthrough-running is supported in Istanbul using
ncmp-datastores:running is not supported in Istanbul for delete |
9 | Create a data resource for a cmhandle | POST | {ncmp-root}/ncmp/v1/cm-handle/<cmhandle>/ds |
/ncmp-datastores:passthrough-running/{parent- |
data-resource-identifier} { OR with datastores defaults {ncmp-root}/ncmp/v1/cm-handle/<cmhande>/ { | Content- Type: application /yang- data+json | Scenario : Create ericsson-nrsectorcarrier-vdu-add:NRSectorCarrier=4 Method : POST URI : {ncmp-root}/ncmp/v1/cm-handle/34l5k32/_3gpp-commonmanaged-element:ManagedElement=Kista-001/_3gpp-nr-nrmgnbdufunction:GNBDUFunction=1 Header : Body : { | passthrough-running is supported in Istanbul using
ncmp-datastores:running is not supported in Istanbul |
10 | Delete a data resource for a cmHandle | DELETE | {ncmp-root}/ncmp/v1/<handleId>/ds/ncmp- |
identifier} OR with datastores defaults {ncmp-root}/ncmp/v1/cm-handle/<cmhande>/ |
{parent-data-resource-identifier} | Content-Type: application/yang- data+json | Scenario : Delete NRSectorCarrier=4 Method : DELETE URI : {adapter-root}/ncmp/v1/cm-handle/34l5k32/_3gpp-commonmanaged-element:ManagedElement=Kista-001/_3gpp-nr-nrmgnbdufunction:GNBDUFunction=1/_3gpp-nr-nrm-nrsectorcarrier: | passthrough-running is supported in Istanbul using
ncmp-datastores:running is not supported in Istanbul for delete |
11 | Update a data resource for a cmHandle | PATCH | {ncmp-root}/ncmp/v1/data/<handleId>/ds/ncmp- |
identifier} OR with datastores defaults {ncmp-root}/ncmp/v1/cmhandle/<cmhandle>/ | Content-Type: application/yang- data+json | Scenario : Add NRSectorCarrier=4 to GNBDUFunction=1 if it doesn't already exist Method : PATCH URI : {ncmp-root}/ncmp/v1/cm-handle/d32455f/_3gpp-commonmanaged-element:ManagedElement=Kista-001/_3gpp-nr-nrmgnbdufunction:GNBDUFunction=1 Header Body { _3gpp-nr-nrm-gnbdufunction:GNBDUFunction=1 : { | passthrough-running is supported in Istanbul using
ncmp-datastores:running is not supported in Istanbul |
12 | Multiple edits under a target data | PATCH | {ncmp-root}/ncmp/v1/cm-handle/<cmhandle>/ds |
/ncmp-datastores:passthrough-running/{data- |
resource-identifier} OR using datastores defaults {ncmp-root}/ncmp/v1/cm-handle/<cmhandle>/ |
{data-resource-identifier} | Content-Type: application/yang- patch+json | Scenario : Make multiple updates under the GNBDUFunction=1 data resource Method : PATCH URI : {ncmp-root}/ncmp/v1/cm-handle/32rf234/_3gpp-common- Header : Body : { "ietf-restconf:yang-patch" : { Response : HTTP/1.1 200 OK { | passthrough-running is supported in Istanbul using
ncmp-datastores:running is not supported in Istanbul |
13 | Execute a yang action | POST | {ncmp-root}/ncmp/v1/cm-handle/<cmhandle>/ds |
/ncmp-datastores:passthrough-running/{data- Note : If the "action" statement OR using datastores defaults {ncmp-root}/ncmp/v1/cm-handle |
identifier} |
/{action} { "param1Name" : } | Content-Type: application/yang- data+json | Method : POST URI : {ncmp-root}/ncmp/v1/cm-handle/3445fff/_3gpp-common- Header : Body : | passthrough-running is supported in Istanbul using
ncmp-datastores:running is not supported in Istanbul |
14 | Execute an rpc operation | POST | {ncmp-root}/ncmp/v1/cm-handle/<cmhandle> |
/operations/ds/ncmp-datastores :passthrough- |
running/{module-name}:{action} { Note : If there is no "input" OR using datastores defaults {ncmp-root}/ncmp/v1/cm-handle/<cmhandle> |
/operations/{module-name}:{action} { | Content-Type: application/yang- data+json | Method : POST URI : {ncmp-root}/ncmp/v1/cm-handle/3445fff/operations/_3gpp- Header : Body : | passthrough-running is supported in Istanbul using
ncmp-datastores:running is not supported in Istanbul |
15 | Read a filtered set of data under a data | GET | {ncmp-root}/ncmp/v1/cm-handle/<cmhandle>/ds |
/ncmp-datastores:passthrough-running/{data- options
OR using datastores defaults {ncmp-root}/ncmp/v1/cm-handle/<cmhandle> |
/data/{data-resource-identifier}?fields={fields- |
expression} | Accept: application /yang-data +json | Scenario : Read GNBDUFunction=1.userLabel and NRSectorCarrier with Method : GET URI : {ncmp-root}/ncmp/v1/cm-handle/3fsdfr3/_3gpp-common- {ncmp-root}/ncmp/v1/cm-handle/3fsdfr3/ManagedElement=Kista-001 Header : Body: Response : HTTP/1.1 200 OK _3gpp-nr-nrm-gnbdufunction:GNBDUFunction=1 { "userLabel" : "myGnodeBFunction-1", _3gpp-nr-nrm-nrsectorcarrier:NRSectorCarrier=1 { _3gpp-nr-nrm-nrsectorcarrier:NRSectorCarrier=3{ _3gpp-nr-nrm-nrsectorcarrier:NRSectorCarrier=4 { } } | passthrough-running is supported in Istanbul using
|
16 | Read descendant data resources with | GET | {ncmp-root}/ncmp/v1/cm-handle/<cmhandle>/ds |
resource-identifier}?fields={fields-expression} options
OR using datastores defaults {ncmp-root}/ncmp/v1/cm-handle/<cmhandle>/ |
{data-resource-identifier}?fields={fields- |
expression} | Accept: application /yang-data+ json | Scenario : Read all NRCellDU MOs with attributes userLabel and id under Method : GET URI : {ncmp-root}/ncmp/v1/cmhandle/3445fff/_3gpp-common- Header : Response : HTTP/1.1 200 OK { _3gpp-nr-nrm-nrcelldu:NRCellDU=1 { _3gpp-nr-nrm-nrcelldu:NRCellDU=4 { _3gpp-nr-nrm-nrcelldu:NRCellDU=5 { | passthrough-running is supported in Istanbul using
|
17 | Read data resources to a given depth | POST | {ncmp-root}/ncmp/v1/cm-handle/<cmhandle>/ds |
/ncmp-datastores:passthrough-running/{data-
OR using datastores defaults {ncmp-root}/ncmp/v1/data/<cmhandle>/{data- | Accept: application /yang- data+json | Method : POST URI : {ncmp-root}/ncmp/v1/cm-handle/3445fff/_3gpp-common- Header : Body: Response : HTTP/1.1 200 OK _3gpp-nr-nrm-nrsectorcarrier: _3gpp-nr-nrm-nrsectorcarrier:NRSectorCarrier=3{ _3gpp-nr-nrm-nrsectorcarrier:NRSectorCarrier=4 { _3gpp-nr-nrm-nrcelldu:NRCellDU=1 { _3gpp-nr-nrm-nrcelldu:NRCellDU=4 { _3gpp-nr-nrm-nrcelldu:NRCellDU=5 { | passthrough-running is supported in Istanbul using
ncmp-datastores:running is not supported in Istanbul | ||||
18 | Create or replace the target data | PUT | {ncmp-root}/ncmp/v1/cm-handle/<cmhandle>/ds/ |
{datastore}/{data-resource-identifier} OR using datastores defaults {ncmp-root}/ncmp/v1/cm-handle/<cmhandle>/ |
{data-resource-identifier} | Accept: application /yang-data+ json | Method : PUT URI : {ncmp-root}/v1/cm-handle/3445fff/_3gpp-common-managed- Header : Body : | passthrough-running is supported in Istanbul using
ncmp-datastores:running is not supported in Istanbul |
19 | Get data for list of CMHandles | PUT | {ncmp-root}/ncmp/v1/ds/{datastore}/{data- |
resource-identifier} OR using datastores defaults {ncmp-root}/ncmp/v1/{data-resource-identifier} | Accept: (yangData | Scenario Get the NRCellDU=Cell-001 data for multiple cmhandles Method : PUT URI : {ncmp-root}/ncmp/v1/ds/ncmp-datastores:passthrough-running? Header : Body : Response : HTTP/1.1 200 OK "response" : [ "top3gpp:id" : "NR-Cell-001" }, _3gpp-nr-nrm-gnbdufunction:GNBDUFunction=1 { "_3gpp-nr-nrm-nrcelldu:NRCellDU=NR- "top3gpp:id" : "NR-Cell-001" } } }, _3gpp-nr-nrm-gnbdufunction:GNBDUFunction=1 { "_3gpp-nr-nrm-nrcelldu:NRCellDU=NR-Cell- } { "ietf-restconf:errors" : { } } ] | passthrough-running is supported in Istanbul using
ncmp-datastores:running is not supported in Istanbul |
20 | Read resource data (with 'fields') for list | POST | {ncmp-root}/ncmp/v1/ds/{datastore}/{data- |
resource-identifier} OR {ncmp-root}/ncmp/v1/{data-resource-identifier} | Accept: (yangData | Scenario Get the and select attributes GNBDUFunction.id of NRSectorCarrier and NRCellDUs Method : POST URI : {ncmp-root}/ncmp/v1//NRSectorCarrier?fields=top3gpp:id;_3gpp- Header : Body: { Response : HTTP/1.1 200 OK "response" : [ " : " cmHandle 1231", "yangData" : { "_3gpp-nr-nrm-nrsectorcarrier: "_3gpp-nr-nrm-nrsectorcarrier: "_3gpp-nr-nrm-nrsectorcarrier: "_3gpp-nr-nrm-nrcelldu:NRCellDU=1" : { "_3gpp-nr-nrm-nrcelldu:NRCellDU=4" : { "_3gpp-nr-nrm-nrcelldu:NRCellDU=5" : { } } }, { " : " cmHandle 1232", "data" : { "_3gpp-nr-nrm-nrsectorcarrier: "_3gpp-nr-nrm-nrsectorcarrier: } }, { "_3gpp-nr-nrm-nrsectorcarrier: "_3gpp-nr-nrm-nrcelldu:NRCellDU=1" : { } }, { " : " cmHandle 1234", "yangData" : { _3gpp-nr-nrm-gnbdufunction: "_3gpp-nr-nrm-nrcelldu:NRCellDU=1 { } } ] } | passthrough-running is supported in Istanbul using
ncmp-datastores:running is not supported in Istanbul |
21 | Execute a yang action on multiple | POST | {ncmp-root}/ncmp/v1/data/{data-resource- |
identifier}/{action} input: { Note : If the "action" statement has no |
NOT
MUST NOT include a message-body | Content-Type: (yangData | Method : POST URI : {ncmp-root}/ncmp/v1/data/_3gpp-common-managed-element: Header : Body : "yangData" : { Response Success HTTP/1.1 202 Accepted //EMPTY BODY Error Response : HTTP/1.1 202 Accepted response : [ { 1232", "yangData" : { ietf.org/html/rfc6241#section-4.3 "error-type" : "protocol", 1234", "yangData" : { "error" : [ | passthrough-running is supported in Istanbul using
ncmp-datastores:running is not supported in Istanbul |
22 | Execute an rpc operation on multiple | POST | {ncmp-root}/ncmp/v1/operations/{module-name}: { Note : If there is no "input" |
section,
the request
section, the request MUST NOT include a | Content-Type: application/json | Method : POST URI :{ncmp-root}/ncmp/v1/operations/_3gpp-common-managedelement:ManagedElement=Kista-001/_3gpp-nr-nrm-gnbdufunction: Header : Body : operation : "action", | passthrough-running is supported in Istanbul using
ncmp-datastores:running is not supported in Istanbul | |||
23 | GET/ POST/ PATCH /PUT/ DELETE | {ncmp-root}/ncmp/v1/cm-handle/ /data/ds/ncmp-datastores:passthrough-running/ {xpath}?topic=<dmaap-topic-Identifier> {ncmp-root}/ncmp/v1/cm-handle/ /data/ds/ncmp-datastores:running/{xpath}?topic=<dmaap-topic-Identifier> **Async communication channel is DMaaP Immediate response with a requestId is sent to the caller and the CRUD request is executed asynchronously where data is returned via the provided topic identifier. | Accept : application/json | Scenario : Async request to NCMP Method : GET/POST/PATCH/PUT/DELETE URI : {ncmp-root}/ncmp/v1/cm-handle/de3455/data/ds/ncmp-datastores: Body : // Include body where required Response : response data is published on the topic identified by <topicIdentifier> |
Output Specification
?fields={fields}&topic= {topicId}
...