# | 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/<cmhandle><cm-handle>/ds /ncmp-datastores:passthrough-running/{dataresource-identifier}?fields={fields}&topic= {topicId} Note 'topic' and 'fields' are only supported in
passthrough mode at this time (ONAP Release
I). If not passthrough then an exception is thrown
from NCMP at this time. | 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: passthrough-running//GNBCUCPFunction?fields=pLMNId;gNBId; gNBIdLength;syncStatus&topic=anr-app:anr24234234:v2 Header : Accept: application/json passthrough Method : GET URI : {ncmp-root}/ncmp/v1/cm-handle/335ff/ds/ncmp-datastores: passthrough-running//GNBCUCPFunction?fields=pLMNId;gNBId; gNBIdLength;syncStatus&topic=anr-app:anr24234234:v2 Header : Accept: application/json Event Response: { [ { "xpath": "/ManagedElement[@id=Kista-001]/GNBCUCPFunction [@id=1]", "leaves": { "pLMNId : [ { "mcc" : "01", "mnc" : "123" } ], "gNBId" : 123, "gNBIdLength" : 3 "syncStatus" : "SYNCHRONIZED" } ] } |
|
2 | Read a data resource directly from source (passthrough) for a cmHandle. Only return specific field(s). Synchronous call | GET | {ncmp-root}/ncmp/v1/cm-handlecmhandle//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: passthrough-running//EUtranCellFDD?fields=administrativeState; operationalState;tac;earfcndl;cellId;physicalLayerCellId Header : Accept: application/json Response: HTTP/1.1 200 OK Date: Thu, 26 Apr 2021 20:56:30 GMT Server: example-server Content-Type: application/json { [ { "xpath": "/ManagedElement[@id="Kista-001"]/ENodeBFunction [@id="1"]/EUtranCellFDD[@id="LTE05ERBS00008-2"], "leaves": { "administrativeState" : "UNLOCKED", "cellId" : 2, "earfcndl" : "4". "operationalState" : "ENABLED", "physicalLayerCellId" : 0, "tac" : "1" }, { "xpath": "/ManagedElement[@id="Kista-001"]/ENodeBFunction [@id="1"]/EUtranCellFDD[@id="LTE05ERBS00008-3"], "leaves": { "administrativeState" : "UNLOCKED", "cellId" : 3, "earfcndl" : 4. "operationalState" : "ENABLED", "physicalLayerCellId" : 3, "tac" : "3" }, { "xpath": "/ManagedElement[@id="Kista-001"]/ENodeBFunction [@id="1"]/EUtranCellFDD[@id="LTE05ERBS00008-4"], "leaves": { "administrativeState" : "UNLOCKED", "cellId" : 4, "earfcndl" : 4. "operationalState" : "ENABLED", "physicalLayerCellId" : 4, "tac" : "4" } ] } |
|
3 | ALTERNATIVE OUTPUT TO ABOVE SCENARIO Read a data resource directly from source (passthrough) for a cmHandle. Only return specific field(s). 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: passthrough-running//EUtranCellFDD?fields=administrativeState; operationalState;tac;earfcndl;cellId;physicalLayerCellId Header : Accept: application/json Response: HTTP/1.1 200 OK Date: Thu, 26 Apr 2021 20:56:30 GMT Server: example-server Content-Type: application/json { [ { "ManagedElement[@id="Kista-001"] : [ "ENodeBFunction[@id="1"] : [ "EUtranCellFDD[@id="LTE05ERBS00008-2"] : { "administrativeState" : "UNLOCKED", "cellId" : 2, "earfcndl" : "4". "operationalState" : "ENABLED", "physicalLayerCellId" : 0, "tac" : "1" } ] ] { OR "/ManagedElement[@id="Kista-001"]/ENodeBFunction[@id="1"] /EUtranCellFDD[@id="LTE05ERBS00008-3"], { "administrativeState" : "UNLOCKED", "cellId" : 3, "earfcndl" : 4. "operationalState" : "ENABLED", "physicalLayerCellId" : 3, "tac" : "3" }, {
OR "xpath": "/ManagedElement[@id="Kista-001"]/ENodeBFunction [@id="1"]/EUtranCellFDD[@id="LTE05ERBS00008-4"], "leaves": { "administrativeState" : "UNLOCKED", "cellId" : 4, "earfcndl" : 4. "operationalState" : "ENABLED", "physicalLayerCellId" : 4, "tac" : "4" } ] } | Under Review Talk to Niamh and Toine on the different options |
4 | Read a data resource with some leaf value condition directly from source (passthrough) for a cmHandle. Only return specific field(s). 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, sctpEndpointRef) for cmhandle "335ff" as passthrough Method : GET URI : {ncmp-root}/ncmp/v1/cm-handle/335ff/ds/ncmp-datastores: passthrough-running//LocalSctpEndpoint[ interfaceUsed=X2 ]? fields=sctpEndpointRef Header : Accept: application/json Response: HTTP/1.1 200 OK Date: Thu, 26 Apr 2021 20:56:30 GMT Server: example-server Content-Type: application/json { [ { "xpath": "/ManagedElement[@id=Kista-001]/... /LocalSctpEndpoint[@id=3]", "leaves": { "sctpEndpointRef" : "some-sctp-ref" } ] } | Under Review |
5 | Create a data resource for a cmhandle | POST | {ncmp-root}/ncmp/v1/cm-handle/<cmhandle>cmhandle/<cm-handle>/ds /ncmp-datastores:passthrough-running/{parent- data-resource-identifier}
{ <new-yang-data-resource> } OR with datastores defaults {ncmp-root}/ncmp/v1/cm-handle/<cmhande>/ {parent-data-resource-identifier}
{ <new-yang-data-resource> } | 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 : POST URI : : {ncmp-root}/ncmp/v1/cm-handle/34l5k32/ManagedElement [@id=Kista-001]/GNBDUFunction[@id=1] Header : Content-Type: application/json Body : { NRSectorCarrier" : { "id" : 4 "attributes" : { "userLabel : "nrSectorCar-4", "txDirection" : "DL_AND_UL", "configuredMaxTxPower" : "90", "arfcnDL" : "9999999", "arfcnUL" : "888888", "bSChannelBwDL" : "90", "bSChannelBwUL" : "80", "sectorEquipmentFunctionRef" : "_3gpp-common- managed- element: ManagedElement=1/.../sef:SectorEquipmentFunction=2" } } } |
|
6 | Update a data resource for a cmhandle | PATCH | {ncmp-root}/ncmp/v1/cm-handle/<cmhandle>/ds /ncmp-datastores:passthrough-running/{parent- data-resource-identifier} { <updated-yang-data-resource> } OR with datastores defaults {ncmp-root}/ncmp/v1/cm-handle/<cmhande>/ {parent-data-resource-identifier} { <updated-yang-data-resource> } | ContentType: application /json | Scenario : Update ericsson-nrsectorcarrier-vdu-add:NRSectorCarrier=4 txDirection to "DL_AND_UL" under _3gpp-common-managed-element: ManagedElement=Kista-001/_3gpp-nr-nrm-gnbdufunction: GNBDUFunction=1 Method : PATCH 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] // should resolve to a single resource/node
Header : Content-Type: application/json Body : { NRSectorCarrier" : { "id" : 4 "attributes" : { "txDirection" : "DL_AND_UL" } } } |
|
7 | Delete a data resource for a cmhandle | DELETE | {ncmp-root}/ncmp/v1/cm-handle/<cmhandle>/ds /ncmp-datastores:passthrough-running/{data- resource-identifier} 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 : {} |
|
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 : Accept: application/yang-data+json Response: { "ietf-yang-library:modules-state" : { "module-set-id" : "5479120c17a619545ea6aff7aa19838b036ebbd7", "module" : [ { "name" : "_3gpp-nr-nrm-nrsectorcarrier", "revision" : "2020-12-09", "schema" : "/modules/_3gpp-nr-nrm- nrsectorcarrier/2020-12-09", "namespace" : "urn:3gpp:sa5:_3gpp-nr-nrm- nrnetwork-nrsectorcarrier", "feature" : [ "feature1", "feature2" ], "deviation" : [ { "name" : "_3gpp-nr-nrm- nrsectorcarrier", "revision" : "2020-12-17" } ], "conformance-type" : "implement" }, { "name" : "ietf-yang-library", "revision" : "2016-06-21", "schema" : "/modules/ietf-yang-library /2016-06-21", "namespace" : "urn:ietf:params:xml:ns:yang:ietf-yang- library", "conformance-type" : "implement" } } } } |
|
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} { <new-yang-data-resource> }
OR with datastores defaults {ncmp-root}/ncmp/v1/cm-handle/<cmhande>/ {parent-data-resource-identifier} { <new-yang-data-resource> } | Content- Type: application /yang- data+json | Scenario : Create ericsson-nrsectorcarrier-vdu-add:NRSectorCarrier=4 under _3gpp-common-managed-element:ManagedElement=Kista-001 /_3gpp-nr-nrm-gnbdufunction:GNBDUFunction=1 Method : POST URI : {ncmp-root}/ncmp/v1/cm-handle/34l5k32/_3gpp-commonmanaged-element:ManagedElement=Kista-001/_3gpp-nr-nrmgnbdufunction:GNBDUFunction=1 Header : Content-Type: application/yang-data+json Body : { "ericsson-nrsectorcarrier-vdu-add:NRSectorCarrier" { "top3gpp:id" : 4 "attributes" : { "mf3gpp:userLabel : "nrSectorCar-4", "txDirection" : "DL_AND_UL", "configuredMaxTxPower" : "90", "arfcnDL" : "9999999", "arfcnUL" : "888888", "bSChannelBwDL" : "90", "bSChannelBwUL" : "80", "sectorEquipmentFunctionRef" : "_3gpp-common- managed-element:ManagedElement=1/.../sef:SectorEquipmentFunction=2" } } } |
|
10 | Delete a data resource for a cmHandle | DELETE | {ncmp-root}/ncmp/v1/<handleId>/ds/ncmp- datastores:passthrough-running/{data-resource- 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: NRSectorCarrier=4 |
|
11 | Update a data resource for a cmHandle | PATCH | {ncmp-root}/ncmp/v1/data/<handleId>/ds/ncmp- datastores:passthrough-running/{data-resource- identifier} { <yang-data-sub-resource> } OR with datastores defaults {ncmp-root}/ncmp/v1/cmhandle/<cmhandle>/ {parent-data-resource-identifier} { <yang-data-sub-resource> } | 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 Content-Type: application/yang-data+json Body { _3gpp-nr-nrm-gnbdufunction:GNBDUFunction=1 : { "id" : 1, "_3gpp-nr-nrm-nrsectorcarrier:NRSectorCarrier" { "top3gpp:id" : 4 "attributes" : { "mf3gpp:userLabel : "nrSectorCar-4", "txDirection" : "DL_AND_UL", "configuredMaxTxPower" : "90", "arfcnDL" : "9999999", "arfcnUL" : "888888", "bSChannelBwDL" : "90", "bSChannelBwUL" : "80", "sectorEquipmentFunctionRef" : "_3gpp-common- managed-element:ManagedElement=1/.../ sef:SectorEquipmentFunction=2" } } } } } |
|
12 | Multiple edits under a target data resource for a single cmHandle | PATCH | {ncmp-root}/ncmp/v1/cm-handle/<cmhandle>/ds /ncmp-datastores:passthrough-running/{data- resource-identifier} { yang-patch payload } OR using datastores defaults {ncmp-root}/ncmp/v1/cm-handle/<cmhandle>/ {data-resource-identifier} { yang-patch payload } | 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- managed-element:ManagedElement=Kista-001/_3gpp-nr-nrm- gnbdufunction:GNBDUFunction[id=1] Header : Content-Type: application/yang-patch+json Body : { "ietf-restconf:yang-patch" : { "patch-id" : "change-cell-and-carriers", "edit" : [ { "edit-id" : 1, "operation" : "create", "target" : "/_3gpp-nr-nrm-nrcelldu:NRCellDU=1", "value" : { "_3gpp-nr-nrm-nrcelldu:NRCellDU" : { "id" : 1, "cId" : 511, "userLabel" : "some-cell-label", ... } } }, { "edit-id" : 2, "operation" : "create", "target" : "/_3gpp-nr-nrm-nrcelldu:NRCellDU=2", "value" : { "_3gpp-nr-nrm-nrcelldu:NRCellDU" : { "id" : 2, "cId" : 512, "userLabel" : "some-other-cell-label", ... } } }, { "edit-id" : 3, "operation" : "merge", "target" : "/_3gpp-nr-nrm-nrcelldu:NRCellDU=3", "value" : { "_3gpp-nr-nrm-nrcelldu:NRCellDU" : { "cId" : 412, "userLabel" : "yet-another-cell-label", ... } } }, { "edit-id" : 4, "operation" : "merge", "target" : "_3gpp-nr-nrm-nrcelldu:NRCellDU=4", "value" : { "_3gpp-nr-nrm-nrcelldu:NRCellDU" : { "cId" : 412, "userLabel" : "yet-another-cell-label", ... } } } ] } } Response : HTTP/1.1 200 OK Date: Thu, 26 Jan 2017 20:56:30 GMT Server: example-server Last-Modified: Thu, 26 Jan 2017 20:56:30 GMT Content-Type: application/yang-patch+json
{ "ietf-yang-patch:yang-patch-status" : { "patch-id" : "change-cell-and-carriers", "ok" : [null] } } |
|
13 | Execute a yang action | POST | {ncmp-root}/ncmp/v1/cm-handle/<cmhandle>/ds /ncmp-datastores:passthrough-running/{data- resource-identifier}/{action} { input: { "param1Name" : "param1Value”, "param2Name" : "param2Value” } } Note : If the "action" statement has no "input" section, the request message MUST NOT include a message-body OR using datastores defaults {ncmp-root}/ncmp/v1/cm-handle /<cmhandle>/data/{data-resource- identifier} /{action} { input: { "param1Name" : "param1Value”, "param2Name" : "param2Value” } } | Content-Type: application/yang- data+json | Method : POST URI : {ncmp-root}/ncmp/v1/cm-handle/3445fff/_3gpp-common- managed-element:ManagedElement=Kista-001/_3gpp-nr-nrm- gnbdufunction:GNBDUFunction=1/resetPort (dummy non-existent action) Header : Content-Type: application/yang-data+json Body : { "input" : { "param1Name" : "param1Value”, "param2Name" : "param2Value” } } |
|
14 | Execute an rpc operation | POST | {ncmp-root}/ncmp/v1/cm-handle/<cmhandle> /operations/ds/ncmp-datastores :passthrough- running/{module-name}:{action} { input: { "param1Name" : "param1Value”, "param2Name" : "param2Value” } } Note : If there is no "input" section, the request MUST NOT include a message-body OR using datastores defaults {ncmp-root}/ncmp/v1/cm-handle/<cmhandle> /operations/{module-name}:{action} { input: { "param1Name" : "param1Value”, "param2Name" : "param2Value” } } | Content-Type: application/yang- data+json | Method : POST URI : {ncmp-root}/ncmp/v1/cm-handle/3445fff/operations/_3gpp- common-managed-element:resetDevice (dummy action) Header : Content-Type: application/yang-data+json Body : { "input" : { "param1Name" : "param1Value”, "param2Name" : "param2Value” } } |
|
15 | Read a filtered set of data under a data resource for a cmHandle | GET | {ncmp-root}/ncmp/v1/cm-handle/<cmhandle>/ds /ncmp-datastores:passthrough-running/{data- resource-identifier}?fields={fields-expression} options
Option | Description |
---|
fields | Request a subset of the target resource contents |
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 its attributes txDirection & arfcnUL Method : GET URI : {ncmp-root}/ncmp/v1/cm-handle/3fsdfr3/_3gpp-common- managed-element:ManagedElement=Kista-001/_3gpp-nr-nrm- gnbdufunction:GNBDUFunction=1?fields=userLabel;(_3gpp-nr-nrm- nrsectorcarrier:NRSectorCarrier(txDirection;arfcnUL) {ncmp-root}/ncmp/v1/cm-handle/3fsdfr3/ManagedElement=Kista-001 //NRSectorCarrier Header : Accept : application/yang-data+json Body: 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 { "userLabel" : "myGnodeBFunction-1", _3gpp-nr-nrm-nrsectorcarrier:NRSectorCarrier=1 { attributes { "txDirection" : "DL_AND_UL", "arfcnUL" : "55555" } }, _3gpp-nr-nrm-nrsectorcarrier:NRSectorCarrier=2 { attributes { "txDirection" : "DL_AND_UL", "arfcnUL" : "66666" } }, _3gpp-nr-nrm-nrsectorcarrier:NRSectorCarrier=3{ attributes { "txDirection" : "DL_AND_UL", "arfcnUL" : "77777" }, _3gpp-nr-nrm-nrsectorcarrier:NRSectorCarrier=4 { attributes { "txDirection" : "DL_AND_UL", "arfcnUL" : "88888" } } } } |
|
16 | Read descendant data resources with specified fields under a given data resource for a given cmHandle | GET | {ncmp-root}/ncmp/v1/cm-handle/<cmhandle>/ds /ncmp-datastores:passthrough-running/{data- resource-identifier}?fields={fields-expression} options
Option | Description |
---|
fields | Request a subset of the target resource contents |
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 the _3gpp-nr-nrm-gnbdufunction:GNBDUFunction MO Method : GET URI : {ncmp-root}/ncmp/v1/cmhandle/3445fff/_3gpp-common- managed-element:ManagedElement=Kista-001/_3gpp-nr-nrm- gnbdufunction:GNBDUFunction=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" } } } } |
|
17 | Read data resources to a given depth for a given cmHandle | POST | {ncmp-root}/ncmp/v1/cm-handle/<cmhandle>/ds /ncmp-datastores:passthrough-running/{data- resource-identifier}?depth={level}
Option | Description |
---|
depth | Request limited sub-tree depth in the reply content If '1' then only immediate data resource is retrieved If 'x' then x levels of data tree are retrieved 'unbounded' will get the full tree starting at the given dataresource-identifier |
OR using datastores defaults {ncmp-root}/ncmp/v1/data/<cmhandle>/{data- resource-identifier}?depth={level} | Accept: application /yang- data+json | Method : POST URI : {ncmp-root}/ncmp/v1/cm-handle/3445fff/_3gpp-common- managed-element:ManagedElement=Kista-001/_3gpp-nr-nrm- gnbdufunction:GNBDUFunction=1?depth=4 Header : Content-Type: application/yang-data+json Accept : application/yang-data+json Body: 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 { # level 1 _3gpp-nr-nrm-nrsectorcarrier: NRSectorCarrier=1 { # level 2 "top3gpp:id" : "NRSectorCarrier-1", # level 3 "attributes" : { # level 3 "txDirection" : "DL_AND_UL", # level 4 "arfcnUL" : "55555", # level 4 ... } }, _3gpp-nr-nrm-nrsectorcarrier:NRSectorCarrier=2 { "top3gpp:id" : "NRSectorCarrier-2", "attributes" : { "txDirection" : "DL_AND_UL", "arfcnUL" : "66666". ... } }, _3gpp-nr-nrm-nrsectorcarrier:NRSectorCarrier=3{ "top3gpp:id" : "NRSectorCarrier-3", "attributes" : { "txDirection" : "DL_AND_UL", "arfcnUL" : "77777". ... } }, _3gpp-nr-nrm-nrsectorcarrier:NRSectorCarrier=4 { "top3gpp:id" : "NRSectorCarrier-4", "attributes" : { "txDirection" : "DL_AND_UL", "arfcnUL" : "88888". ... }, _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" ... } } } } |
|
18 | Create or replace the target data resource for a CMHandle | PUT | {ncmp-root}/ncmp/v1/cm-handle/<cmhandle>/ds/ {datastore}/{data-resource-identifier} { <yang-data-sub-resource> } OR using datastores defaults {ncmp-root}/ncmp/v1/cm-handle/<cmhandle>/ {data-resource-identifier} { <yang-data-sub-resource> } | Accept: application /yang-data+ json | Method : PUT URI : {ncmp-root}/v1/cm-handle/3445fff/_3gpp-common-managed- element:ManagedElement=Kista-001/_3gpp-nr-nrm-gnbdufunction: GNBDUFunction=1 Header : Content-Type: application/yang-data+json Body : { _3gpp-nr-nrm-gnbdufunction:GNBDUFunction { "userLabel" : "newGNB-001", "gNBDUName" : "newGNBDUName-001" .... } } |
|
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: application /json (yangData contains the yang- data +json payload as per individual cmHandle requests) | Scenario Get the NRCellDU=Cell-001 data for multiple cmhandles Method : PUT URI : {ncmp-root}/ncmp/v1/ds/ncmp-datastores:passthrough-running? fields=_3gpp-common-managed-element:ManagedElement/_3gpp-nr-nrm- gnbdufunction:GNBDUFunction/NRCellDU=NR-Cell-001 Header : Accept : application/json Body : { " operation" : "read", // inspired by yang patch 'operation' "cmHandles" : ["34l5k32", "ddf4545", "45g6756"] //omit to get for all cmhandles } Response : HTTP/1.1 200 OK Date: Thu, 26 Jan 2017 20:56:30 GMT Server: example-server Content-Type: application/json "response" : [ { "cmHandle" : "34l5k32", "yangData" : { 3gpp-common-managed-element:ManagedElement=1 { _3gpp-nr-nrm-gnbdufunction:GNBDUFunction=1 { "top3gpp:id" : "1", "_3gpp-nr-nrm-nrcelldu:NRCellDU=NR- Cell-001" : { "top3gpp:id" : "NR-Cell-001" "attributes" : { "administrativeState " : "LOCKED", "operationalState" : "disabled" ... } } }, 3gpp-common-managed-element:ManagedElement=1 { _3gpp-nr-nrm-gnbdufunction:GNBDUFunction=1 { "top3gpp:id" : "1", "_3gpp-nr-nrm-nrcelldu:NRCellDU=NR- Cell-001" : { "top3gpp:id" : "NR-Cell-001" "attributes" : { "administrativeState " : "LOCKED", "operationalState" : "disabled" ... } } } } }, { "cmHandle" : "ddf4545", "yangData" : { 3gpp-common-managed-element:ManagedElement=1 { _3gpp-nr-nrm-gnbdufunction:GNBDUFunction=1 { "top3gpp:id" : "1", "_3gpp-nr-nrm-nrcelldu:NRCellDU=NR-Cell- 001" : { "top3gpp:id" : "NR-Cell-001" "attributes" : { "administrativeState " : "LOCKED", "operationalState" : "disabled" ... } } } } } }, { "cmHandle" : "45g6756", "yangData" : { "ietf-restconf:errors" : { "error" : [ { "error-type" : "connectivity", "error-tag" : "access-denied", "error-message" : "Cannot read EMS with given credentials" } ] } } } ] } |
|
20 | Read resource data (with 'fields') for list of CMHandles | POST | {ncmp-root}/ncmp/v1/ds/{datastore}/{data- resource-identifier} OR {ncmp-root}/ncmp/v1/{data-resource-identifier} | Accept: application /json (yangData contains the yang- data +json payload as per individual cmHandle requests) | Scenario Get the and select attributes GNBDUFunction.id of NRSectorCarrier and NRCellDUs Method : POST URI : {ncmp-root}/ncmp/v1//NRSectorCarrier?fields=top3gpp:id;_3gpp- nr-nrm-nrsectorcarrier:NRSectorCarrier(top3gpp:id;attributes(txDirection; arfcnUL);_3gpp-nr-nrm-nrcelldu:NRCellDU(top3gpp:id;attributes (administrativeState;operationalState) Header : Content-Type: application/json Accept : application/json Body: { operation : "read", "cmHandles" : ["1231", "1232", "1233", "1234"] } Response : HTTP/1.1 200 OK Date: Thu, 26 Jan 2017 20:56:30 GMT Server: example-server Content-Type: application/json "response" : [ { " " : " cmHandle 1231", "yangData" : { _3gpp-nr-nrm-gnbdufunction: GNBDUFunction=1 { "top3gpp:id" : "1", "_3gpp-nr-nrm-nrsectorcarrier: NRSectorCarrier=1" : { "top3gpp:id" : "NRSectorCarrier-1", "attributes" : { "txDirection" : "DL_AND_UL", "arfcnUL" : "55555". ... } }, "_3gpp-nr-nrm-nrsectorcarrier: NRSectorCarrier=2" : { "top3gpp:id" : "NRSectorCarrier-2", "attributes" : { "txDirection" : "DL_AND_UL", "arfcnUL" : "66666". ... } }, "_3gpp-nr-nrm-nrsectorcarrier: NRSectorCarrier=3" : { "top3gpp:id" : "NRSectorCarrier-3", "attributes" : { "txDirection" : "DL_AND_UL", "arfcnUL" : "77777". ... } }, "_3gpp-nr-nrm-nrsectorcarrier: NRSectorCarrier=4" : { "top3gpp:id" : "NRSectorCarrier-4", "attributes" : { "txDirection" : "DL_AND_UL", "arfcnUL" : "88888". ... }, "_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" ... } } } } }, { " " : " cmHandle 1232", "data" : { _3gpp-nr-nrm-gnbdufunction: GNBDUFunction=1 { "top3gpp:id" : "1", "_3gpp-nr-nrm-nrsectorcarrier: NRSectorCarrier=2" : { "top3gpp:id" : "NRSectorCarrier-2", "attributes" : { "txDirection" : "DL_AND_UL", "arfcnUL" : "66666". ... } }, "_3gpp-nr-nrm-nrsectorcarrier: NRSectorCarrier=3" : { "top3gpp:id" : "NRSectorCarrier-3", "attributes" : { "txDirection" : "DL_AND_UL", "arfcnUL" : "77777". ... } } } }, { "cmHandle" : "1233", "yangData" : { _3gpp-nr-nrm-gnbdufunction: GNBDUFunction=1 { "top3gpp:id" : "1", "_3gpp-nr-nrm-nrsectorcarrier: NRSectorCarrier=4" : { "top3gpp:id" : "NRSectorCarrier-4", "attributes" : { "txDirection" : "DL_AND_UL", "arfcnUL" : "88888". ... }, "_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" ... } }, } }, { " " : " cmHandle 1234", "yangData" : { _3gpp-nr-nrm-gnbdufunction: GNBDUFunction=1 { "top3gpp:id" : "1", "_3gpp-nr-nrm-nrcelldu:NRCellDU=1 { "top3gpp:id" : "NR-Cell-001" "attributes" : { "administrativeState " : "LOCKED", "operationalState" : "disabled" ... } } } } ] } |
|
21 | Execute a yang action on multiple CMHandles | POST | {ncmp-root}/ncmp/v1/data/{data-resource- identifier}/{action} input: { "param1Name" : "param1Value”, "param2Name" : "param2Value” } Note : If the "action" statement has no "input" section, the request message MUST NOT include a message-body | Content-Type: application/json (yangData contains the yang-data +json payload as per individual cmHandle requests) | Method : POST URI : {ncmp-root}/ncmp/v1/data/_3gpp-common-managed-element: ManagedElement/_3gpp-nr-nrm-gnbdufunction:GNBDUFunction /resetPort (dummy non-existent action) Header : Content-Type: application/json Body : { operation : "action", "cmHandles" : ["1231", "1232", "1233", "1234"], "yangData" : { input: { "param1Name" : "param1Value”, "param2Name" : "param2Value” } } } Response Success HTTP/1.1 202 Accepted Date: Thu, 26 Jan 2021 20:56:30 GMT Content-Type: application/json //EMPTY BODY Error Response : HTTP/1.1 202 Accepted Date: Thu, 26 Jan 2021 20:56:30 GMT Content-Type: application/json response : [ { "cmHandle" : "
1232", "yangData" : { "ietf-restconf:errors" : { "error" : [ { # See https://tools. ietf.org/html/rfc6241#section-4.3 "error-type" : "protocol", "error-tag" : "invalid-value", "error-path" : "3gpp-common-managed- element:ManagedElement/_3gpp-nr-nrm-gnbdufunction: GNBDUFunction/resetPort", "error-message" : "Invalid input parameter value for param2Name" } ] } }, { "cmHandle" : ""
1234", "yangData" : { "ietf-restconf:errors" : { "error" : [ { "error-type" : "protocol", "error-tag" : "invalid-value", "error-path" : "3gpp-common- managed-element:ManagedElement/_3gpp-nr-nrm- gnbdufunction:GNBDUFunction/resetPort", "error-message" : "Invalid input parameter value for param2Name" } ] } } ] |
|
22 | Execute an rpc operation on multiple CMHandles | POST | {ncmp-root}/ncmp/v1/operations/{module-name}: {action} { input: { "param1Name" : "param1Value”, "param2Name" : "param2Value” } } Note : If there is no "input" section, the request MUST NOT include a message-body | Content-Type: application/json | Method : POST URI :{ncmp-root}/ncmp/v1/operations/_3gpp-common-managedelement:ManagedElement=Kista-001/_3gpp-nr-nrm-gnbdufunction: GNBDUFunction=1/resetDevice (dummy action)
Header : Content-Type: application/json Body : { operation : "action", "handles" : ["1231", "1232", "1233", "1234"], input: { "param1Name" : "param1Value”, "param2Name" : "param2Value” } } |
|
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: passthrough-running/_3gpp-common-managed-element: ManagedElement=Kista-001/_3gpp-nr-nrm-gnbdufunction: GNBDUFunction=1?topic=5G:SectorCarrierOrchestrator-0012391:12 Body : // Include body where required { .... } Response : { "requestId" : "<some-requestId>" } response data is published on the topic identified by <topicIdentifier> keyed on request. |
|