| Req/usecase | REST Method | URI / Payload | Request/Response Example | Release I |
---|
1 | Read of a data resource getting specific fields for a given cmHandle Sync call | GET | ncmp-root}/ncmp/v1/data/ch/<cm-handle>/{data-resource-identifier}?fields={fields}
Note 'topic' and 'fields' are only supported in passthrough mode at this time (ONAP Release I). If not passhrough then an exception is thrown from NCMP at this time. Accept : application/yang-data+json Always return the yang-data+json in the "data" event payload | Scenario : Read the GNBCUCPFunction for cmhandle "335ff" as passthrough Method : GET URI : {ncmp-root}/ncmp/v1/data/ch/335ff/ManagedElement[@id=Kista-001] /GNBCUCPFunction[@id=1]?fields=pLMNId;gNBId;gNBIdLength Header : Accept: application/yang-data+json
Response : { "_3gpp-common-managed-element:ManagedElement" : [ { "id"="Kista-001", _3gpp-nr-nrm-gnbcucpfunction:GNBCUCPFunction : [ { "id"="1", "attributes" : { "pLMNId : [ { "mcc" : "01", "mnc" : "123" }], "gNBId" : 123, "gNBIdLength" : 3 } } ] } ] } Y |
2 | Async read of a data resource getting specific fields from ncmp-datastores: passthrough-running for a given cmHandle | GET | {ncmp-root}/ncmp/v1/data/ch/<cm-handle>/{data-resource-identifier}?fields={fields}&topic={topicId} Note 'topic' and 'fields' are only supported in passthrough mode at this time (ONAP Release I). If not passhrough then an exception is thrown from NCMP at this time. Accept : application/json
Always return the yang-data+json in the "data" event payload | Scenario : Read the GNBCUCPFunction for cmhandle "335ff" as passthrough Method : GET URI : {ncmp-root}/ncmp/v1/data/ch/335ff/ManagedElement[@id=Kista-001] /GNBCUCPFunction[@id=1]?fields=pLMNId;gNBId;gNBIdLength&topic=anr-app: anr24234234:v2 OR {ncmp-root}/ncmp/v1/data/ch/335ff/ds/ncmp-datastores:passthrough-running? fields=_3gpp-common-managed-element:ManagedElement/_3gpp-nr-nrm-gnbcucpfunction:GNBCUCPFunction(pLMNId;gNBId;gNBIdLength)&topic=anr-app: anr24234234:v2
Header : Accept: application/json
Response : { responseId : 323234 } Event Response: { "requestId" : anr24234234:v2Header : Accept: application/json "dd3434", "data" : { "_3gpp-common-managed-element:ManagedElement" : [ { "id"="Kista-001", ? _3gpp-nr-nrm-gnbcucpfunction:GNBCUCPFunction : [ { "id"="1", "attributes" : { "pLMNId : [ { "mcc" : "01", "mnc" : "123" }], "gNBId" : 123, "gNBIdLength" : 3 } } ] } ] } } Note : async not supported by NCMP locally in ONAP Rel I | ? |
3 | Read a data resource directly from source (passthrough) for a cmHandle. Only return specific field(s). Synchronous call | GET | {ncmp-root}/ncmp/v1/data/ch/<cm-handle>/{data-resource-identifier}?fields={fields} Accept: application/yang-data+json | Scenario : Read the EUtranCellFDD.(administrativeState, operationalState, tac, earfcndl, cellId, physicalLayerCellId) for cmhandle "335ff" Method : GET URI : {ncmp-root}/ncmp/v1/data/ch/335ff/ManagedElement[@id=Kista-001] /ENodeBFunction ?fields=ericsson-enm-lrat:EUtranCellFDD(administrativeState; operationalState;tac;earfcndl;cellId; physicalLayerCellId) Header : Accept: application/yang-data+json | Y |
4 | Read a data resource with some leaf value condition directly from the source (passthrough) for a cmHandle. Only return specific field(s). Synchronous call | GET | {ncmp-root}/ncmp/v1/data/ch/<cm-handle>/{data-resource-identifier[<condition<condition>]}?fields={fields}
Accept: application/yang-data+json | Scenario : Read the LocalSctpEndpoint.(interfaceUsed==X2, sctpEndpointRef) for cmhandle "335ff" as passthrough Method : GET URI cps-path {ncmp-root}/ncmp/v1/query/ch/335ff //LocalSctpEndpoint[interfaceUsed=X2]? fields=sctpEndpointRef
|
5 | Read descendant data resources with specified fields under a given data resource for a given cmHandle | GET | {ncmp-root}/ncmp/v1/ch/<cm-handle>/{data-resource-identifier}?fields={fields-expression} options Option | Description |
---|
fields | Request a subset of the target resource contents |
| Scenario : Read all NRCellDU MOs with attributes userLabel and id under the _3gpp-nr-nrm-gnbdufunction:GNBDUFunction MO Method : GET URI :{ncmp-root}/ncmp/v1/ch/3445fff/data/ManagedElement[@id=Kista-001] /GNBCUCPFunction[@id=1]?fields=_3gpp-nr-nrm-nrcelldu:NRCellDU/attributes (administrativeState;operationalState) Header : Accept : application/yang-data+json Response : HTTP/1.1 200 OK Date: Thu, 26 Jan 2017 20:56:30 GMT Server: example-server Content-Type: application/yang-data+json { _3gpp-nr-nrm-gnbdufunction:GNBDUFunction=1 { _3gpp-nr-nrm-nrcelldu:NRCellDU=1 { "top3gpp:id" : "NR-Cell-001" "attributes" : { "administrativeState " : "LOCKED", "operationalState" : "disabled" } }, _3gpp-nr-nrm-nrcelldu:NRCellDU=2 { "top3gpp:id" : "NR-Cell-002" "attributes" : { "administrativeState " : "LOCKED", "operationalState" : "disabled" } }, _3gpp-nr-nrm-nrcelldu:NRCellDU=3 { "top3gpp:id" : "NR-Cell-003" "attributes" : { "administrativeState " : "LOCKED", "operationalState" : "disabled" } }, _3gpp-nr-nrm-nrcelldu:NRCellDU=4 { "top3gpp:id" : "NR-Cell-004" "attributes" : { "administrativeState " : "LOCKED", "operationalState" : "disabled" } }, _3gpp-nr-nrm-nrcelldu:NRCellDU=5 { "top3gpp:id" : "NR-Cell-005" "attributes" : { "administrativeState " : "LOCKED", "operationalState" : "disabled" } } } } |
6 | Create a data resource for a cmhandle | POST | {ncmp-root}/ncmp/v1/data/ch/<cm-handle>/{parent-data-resource-identifier} { <new-yang-data-resource> } Content: application/yang-data+json | Scenario : Create ericsson- nrsectorcarrier-vdu-add:NRSectorCarrier=4 under _3gppcommon-managed-element:ManagedElement=Kista-001/_3gpp-nr-nrm-gnbdufunction: GNBDUFunction=1 Method : POST URI : {ncmp-root}/ncmp/v1/data/ch/34l5k32/ManagedElement[@id=Kista-001] /GNBDUFunction[@id=1] Header : Content-Type: application/yang-data+json |
7 | Update a data resource for a cmhandle with plain-patch update | PATCH | {ncmp-root}/ncmp/v1/data/ch/<cm-handle>/{data-resource-identifier} { } Content: application/yang-data+json Behaves as a merge - merge with existing if it exists or create if it does not exist. | Scenario : Update _3gpp-nr-nrm-nrsectorcarrier:NRSectorCarrier=4 txDirection to "DL_AND_UL" under _3gpp-common-managed-element:ManagedElement=Kista001/_3gpp-nr-nrm-gnbdufunction:GNBDUFunction=1 Method : PATCH URI : {ncmp-root}/ncmp/v1/data/ch/34l5k32/ManagedElement[@id=Kista-001] /GNBDUFunction[@id=1]/NRSectorCarrier[@id=4] Header : Content-Type: application/yang-data+json Body : |
8 | Update a data resource with multiple edits for a cmhandle with yang-patch update | PATCH | {ncmp-root}/ncmp/v1/data/ch/<cm-handle>/{data-resource-identifier} { <updated-yang-data-resource> }
Content: application/yang-patch+json If using yang-patch content then ds/ncmp-datastore-passthrough-running must be used by rad apps until full support is available from NCMP/CPS | Scenario : Update _3gpp-common-managed-element:ManagedElement=Kista-001/_3gpp-nr-nrm-gnbdufunction:GNBDUFunction=1 with multiple operations on the tree Method : PATCH URI : {ncmp-root}/ncmp/v1/data/ch/34l5k32/ds/ncmp-datastore-passthrough-running/ManagedElement[@id=Kista-001]/GNBDUFunction[@id=1] |
9 | Replace a data resource for a cmhandle | PUT | {ncmp-root}/ncmp/v1/data/ch/<cm-handle>/{data-resource-identifier} { <yang-data-resource-for-replace> } Content: application/yang-data+json | Scenario : Replace _3gpp-nr-nrm-nrsectorcarrier:NRSectorCarrier=4 txDirection to "DL_AND_UL" under _3gpp-common-managed-element:ManagedElement=Kista001/_3gpp-nr-nrm-gnbdufunction:GNBDUFunction=1 - removes all config params not specified including sub-tree if one exists Method : PUT URI : {ncmp-root}/ncmp/v1/data/ch/34l5k32/ManagedElement[@id=Kista-001] /GNBDUFunction[@id=1]/NRSectorCarrier[@id=4] Header : Content-Type: application/yang-data+json |
10 | Delete a data resource for a cmhandle | DELETE | {ncmp-root}/ncmp/v1/data/ch/<cm-handle>/{data-resource-identifier | Scenario : Delete ericsson- nrsectorcarrier-vdu-add:NRSectorCarrier=4 under _3gppcommon-managed-element:ManagedElement=Kista-001/_3gpp-nr-nrm-gnbdufunction: GNBDUFunction=1 Method : DELETE URI : {ncmp-root}/ncmp/v1/data/ch/34l5k32/ManagedElement[@id=Kista-001] /GNBDUFunction[@id=1]/NRSectorCarrier[@id=4] Header : Accept: application/json Body : {} |
11 | Get all cmhandles that support a given module | GET | {ncmp-root}/ncmp/v1/data/ch?module={module-name} Content: application/json | Scenario : Get the all cmhandles that support a given module Method : GET URI : {ncmp-root}/ncmp/v1/data/ch?module=_3gpp-nr-nrm-gnbdufunction Header : Accept: application/json Response: { cm-handles : [ "ew534fe", "23ft4", "434fsdf", ... ] } |