...
# | Req/usecase | REST Method | URI / Payload | Request/Response Example | Status | Release I | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | Read a data resource directly from Sync call | GET | {ncmp-root}/ncmp/v1/ch/<cm-handle>/{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. | Scenario : Read the GNBCUCPFunction for cm-handle "335ff" as passthrough Method : GET URI : {ncmp-root}/ncmp/v1/data/ch/335ff/ds/GNBCUCPFunction?fields=pLMNId;gNBId;gNBIdLength;syncStatus&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 : Response : Event Response: { | passthrough-running is supported in Istanbul using
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. Always return the yang-data+json in the "data" event payload | yes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
2 | Read a data resource directly from
| GET | {ncmp-root}/ncmp/v1/data/ch/<cm-handle/{data-resource-identifier}?fields={fields} | Scenario : Read the EUtranCellFDD.(administrativeState, operationalState, tac, earfcndl, cellId, physicalLayerCellId) for cmhandle "335ff" as passthrough 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 : Response: HTTP/1.1 200 OK | passthrough-running is supported in Istanbul using
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
3 | Read a data resource directly from Synchronous call | GET | {ncmp-root}/ncmp/v1/data/ch//{data-resource-identifier}?fields={fields} Accept: application/yang-data+json | Scenario : Read the EUtranCellFDD.(administrativeState, operationalState, tac, earfcndl, cellId, physicalLayerCellId) for cmhandle "335ff" as passthrough 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 : Response: HTTP/1.1 200 OK { | passthrough-running is supported in Istanbul using
| Yes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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/data/ch/<cmhandle>/{data-resource-identifier[<condition>]}?fields={fields} | Scenario : Read the LocalSctpEndpoint.(interfaceUsed==X2, sctpEndpointRef) for cmhandle "335ff" as passthrough Method : GET URI cps-path | passthrough-running is supported in Istanbul using
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
5 | Create a data resource for a cmhandle | POST | cmp-root}/ncmp/v1/data/ch/<cm-handle>/{parent-data-resource-identifier} { | Scenario : Create ericsson-nrsectorcarrier-vdu-add:NRSectorCarrier=4 under _3gpp-common-managed-element:ManagedElement=Kista-001 Method : POST URI : {ncmp-root}/ncmp/v1/data/ch/34l5k32/ManagedElement[@id=Kista-001]/GNBDUFunction[@id=1] 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 with plain-patch update | PATCH | {ncmp-root}/ncmp/v1/data/ch/<cmhandle>/{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 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/data/ch/34l5k32/ManagedElement[@id=Kista-001]/GNBDUFunction[@id=1]/NRSectorCarrier[@id=4] Header : Body : { NOTE : If not passthrough then ALL attributes MUST be supplied for the patch at this time. Otherwise, other attributes are removed from CPS. | passthrough-running is supported in Istanbul using
ncmp-datastores:running is not supported in Istanbul this will be treated as a merge | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
7 | 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} { Content: application/yang-data+json If using yang-patch content then ds/ncmp-datastore-passthrough-running mus be used by rad apps until full | Scenario : Update _3gpp-common-managed-element:ManagedElement=Kista-001/_3gpp-nr-nrm-gnbdufunction:GNBDUFunction=1 with multiple operations on the tree Method : PATCH Header : Body : { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
8 | 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 _3gpp-common-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] | passthrough-running is supported in Istanbul using
ncmp-datastores:running is not supported in Istanbul for delete | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
9 | 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 Response: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
10 | Get model info for CMHandle | GET | {ncmp-root}/ncmp/v1/data/ch/{cm-handle}/ietf-yang-library:modules-set | Scenario : Get the model data for CMHandle Method : GET URI :{ncmp-root}/ncmp/v1/data/ch/2334dedf/ietf-yang-library:modules-set Header : Response: { | passthrough-running is supported in Istanbul using
ncmp-datastores:running is not supported in Istanbul for delete | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
11 | Create a data resource for a cmhandleExecute a yang action | POST | {ncmp-root}/ncmp/v1/data/ch/<cm-handle>/ds/ncmp-datastores:passthrough-running/{ | parent-data-resource-identifier}/{action} | <new-yang-data-resource> "param1Name" : "param1Value”, Note : If the "action" statement | Method : POST URI : {ncmp-root}/ncmp/v1/data/ch/3445fff/ | <cmhande>ds/ | ncmp-datastores:passthrough-operational/ManagedElement[@id=Kista-001]/brm/backup-manager[@id="configuration-system import-backup"] Header : Body : Body : | passthrough-running is supported in Istanbul using
ncmp-datastores:running is not supported in Istanbul | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
12 | Execute an rpc operation | POST | {ncmp-root}/ncmp/v1/operations/ch//operations /ds/ncmp-datastores :passthrough-operational/{module-name}:{action} { | "NRSectorCarrier" {"param1Name" | userLabel : " | nrSectorCar-4"param1Value”, | " | txDirectionparam2Name" : | "DL_AND_UL","param2Value” | "configuredMaxTxPower" : "90",} Note : If there is no "input" | Method : POST URI : {ncmp-root}/ncmp/v1/operations/ch/3445fff/ds/ncmp-datastores:passthrough-operational/_3gpp-common-managed-element:resetDevice (dummy action) Header : Body : | "arfcnUL"param1Name" : " | 888888"param1Value”, | "bSChannelBwDL"param2Name" : " | 90",param2Value” Response : | passthrough-running is supported in Istanbul using
ncmp-datastores:running is not supported in Istanbul | 12 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
13 | Delete a dataRead descendant data resources with | resource for a given cmHandle | DELETEGET | {ncmp-root}/ncmp/v1/ch/ | <handleId>/ds/ncmp-<cm-handle>/{data-resource-identifier} | ?fields={fields-expression} options
| 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/data/ch/ | 34l5k32/_3gpp-commonmanaged-element:ManagedElement3445fff/ManagedElement[@id=Kista-001 | /_3gpp-nr-nrmgnbdufunction:GNBDUFunction=1/] | nrsectorcarrier:NRSectorCarrier=[@id=4]nrcelldu:NRCellDU/attributes Header : Response : HTTP/1.1 200 OK {
| 13 | Update a data resource for a cmHandle | PATCH | {ncmp-root}/ncmp/v1/data/<cm-handle>/ds/ncmp- OR with datastores defaults {ncmp-root}/ncmp/v1/ch/<cm-handle>/ | _3gpp-nr-nrm- | gnbdufunctionnrcelldu: | GNBDUFunctionNRCellDU=1 | : { |
| "id" : 1,
| "_3gpp-nr-nrm-nrsectorcarrier:NRSectorCarrier"
| {"top3gpp:id" : | 4"NR-Cell-001" | "attributes" : {" | mf3gpp:userLabel : "nrSectorCar-4",attributes" : { | "txDirection" :
| "DL_AND_UL"," | configuredMaxTxPoweradministrativeState " : " | 90LOCKED", | "arfcnDL"operationalState" : " | 9999999disabled" | ,
| "arfcnUL" : "888888", } | "bSChannelBwDL" : "90",
| "bSChannelBwUL" : "80"}, | "sectorEquipmentFunctionRef" : "_3gpp- | commonnr- | nrm- | elementnrcelldu: | ManagedElement=1/.../ NRCellDU=2 { |
| sef:SectorEquipmentFunction=2""administrativeState " : "LOCKED", | }
| }
| } "operationalState" : "disabled" | 14 | Multiple edits under a target data | PATCH | {ncmp-root}/ncmp/v1/ch/<cm-handle>/ds/ncmp-datastores:passthrough-running/{data-resource-identifier} OR using datastores defaults {ncmp-root}/ncmp/v1/ch/<cm-handle>/{data-resource-identifier} | , | "edit" : [
| {
| "edit-id" : 1," | operationoperationalState" : " | createdisabled" | ,
| "target" : "/_3gpp-nr-nrm-nrcelldu:NRCellDU=1",
| "value" : { }
| "_3gpp-nr-nrm-nrcelldu:NRCellDU | " : =4 { | 1,"NR-Cell-004" | "cId"attributes" : | 511,{ | userLabeladministrativeState " : " | some-cell-labelLOCKED", | ... "operationalState" : "disabled" | }
| }} | ,
| {
| "edit-id" : 2,},
| "operation" : "create",
| "target" : "/_3gpp-nr-nrm-nrcelldu:NRCellDU= | 2",5 { | "value" : {
| "_3gpp-nr-nrm-nrcelldu:NRCellDU" : {"top3gpp:id" : "NR-Cell-005" | "id" : 2, "attributes" : { | "cId" : 512," | userLabeladministrativeState " : " | some-other-cell-labelLOCKED", | ... "operationalState" : "disabled" | }
| }} | ,
| {
| "edit-id" : 3, } | "operation" : "merge",
| "target" : "/_3gpp-nr-nrm-nrcelldu:NRCellDU=3",} | "value" : {15 | Execute a yang action | POST | Method : POST URI : {ncmp-root}/ncmp/v1/data/ch/3445fff/ds/ncmp-datastores:passthrough-operational/ManagedElement[@id=Kista-001]/brm/backup-manager[@id="configuration-system import-backup"] Header : Body : Body : | 16 | Execute an rpc operation | POST | } | passthrough-running is supported in Istanbul using
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
14 | Read data resources to a given depth | POST | {ncmp-root}/ncmp/v1/ch/<cm-handle>{data-resource-identifier}?depth={level}
| Method : POST URI : {ncmp-root}/ncmp/v1/ch/3445fff/ManagedElement[@id=Kista-001]/GNBDUFunction[@id=1]?depth=4 Header : Body: Response : HTTP/1.1 200 OK | 17 | Read a filtered set of data under a data | GET |
Option | Description |
---|---|
fields | Request a subset of the target resource contents |
OR using datastores defaults
{ncmp-root}/ncmp/v1/ch/<cm-handle>/data/{data-resource-identifier}?fields={fields-expression}
Scenario : Read GNBDUFunction=1.userLabel and NRSectorCarrier with
its attributes txDirection & arfcnUL
Method : GET
URI : {ncmp-root}/ncmp/v1/ch/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/ch/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"
}
}
}
}
passthrough-running is supported in Istanbul using
- RestConf Path only
- ?fields implemented by SDNC/Node
- ?topic implemented by DMI plugin
Read descendant data resources with
specified fields under a given data
resource for a given cmHandle
{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/data/ch/3445fff/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"
}
}
}
}
passthrough-running is supported in Istanbul using
- RestConf Path only
- ?fields implemented by SDNC/Node
- ?topic implemented by DMI plugin
Read data resources to a given depth
for a given cmHandle
POST
{ncmp-root}/ncmp/v1/ch/<cm-handle>{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 |
Method : POST
URI : {ncmp-root}/ncmp/v1/ch/3445fff/ManagedElement[@id=Kista-001]/GNBDUFunction[@id=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"
...
}
}
}
}
passthrough-running is supported in Istanbul using
- RESTConf Path only
ncmp-datastores:running is not supported in Istanbul
Create or replace the target data
resource for a CMHandle
{ncmp-root}/ncmp/v1/ch/<cm-handle>/ds/{datastore}/{data-resource-identifier}
{
<yang-data-sub-resource>
}
OR using datastores defaults
{ncmp-root}/ncmp/v1/ch/<cm-handle>/{data-resource-identifier}
{
<yang-data-sub-resource>
}
Method : PUT
URI : {ncmp-root}/v1/ch/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"
....
}
}
passthrough-running is supported in Istanbul using
- RESTConf Path only
ncmp-datastores:running is not supported in Istanbul
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}
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"
}
]
}
}
}
]
}
passthrough-running is supported in Istanbul using
- RESTConf Path only
ncmp-datastores:running is not supported in Istanbul
Read resource data (with 'fields') for list
of CMHandles
{ncmp-root}/ncmp/v1/ds/{datastore}/{data-resource-identifier}
OR
{ncmp-root}/ncmp/v1/{data-resource-identifier}
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".
...
}
},
NRSectorCarrier=4" : {
"top3gpp:id" : "NRSectorCarrier-4",
"attributes" : {
"txDirection" : "DL_AND_UL",
"arfcnUL" : "88888".
...
_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"
...
}
}
}
},
" : "
cmHandle
1232",
_3gpp-nr-nrm-
GNBDUFunction=1 {
"top3gpp:id" : "1", "_3gpp-nr-nrm-nrsectorcarrier:
NRSectorCarrier=2" :
nrcelldu:NRCellDU=2 {
"top3gpp:id" : "
NR-Cell-
002"
"attributes" : {
"
administrativeState " : "
LOCKED",
"
operationalState" : "
disabled"
...
}
},
_3gpp-nr-nrm-
nrcelldu:
NRSectorCarrier
NRCellDU=3
{
"top3gpp:id" : "
NR-Cell-
003"
"attributes" : {
"
administrativeState " : "
LOCKED",
"
operationalState" : "
disabled"
...
}
}
},
{"cmHandle" : "1233",
"yangData" : {
_3gpp-nr-nrm-gnbdufunction:
GNBDUFunction=1 {
},
_3gpp-nr-nrm-
nrcelldu:
NRSectorCarrier
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"
...
}
}
}
}
passthrough-running is supported in Istanbul using
- RESTConf Path only
ncmp-datastores:running is not supported in Istanbul
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}
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",
"administrativeState " : "LOCKED",
"operationalState" : "disabled"
...
}
},
// inspired by yang patch
'operation'
},
{
"
" : "
cmHandle
1234"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=
11
{
"top3gpp:id" : "1",
"_3gpp-nr-nrm-nrcelldu:NRCellDU=
1NR-
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",
}
]
}
passthrough-running is supported in Istanbul using
- RESTConf Path only
ncmp-datastores:running is not supported in Istanbul
Execute a yang action on multiple
CMHandles
"_3gpp-nr-nrm-nrcelldu:NRCellDU=NR-
Cell-001" : {
{ncmp-root}/ncmp/v1/data/{data-resource-identifier}/{action}
input: {"
param1Nametop3gpp:id" :
"param1Value”,"NR-Cell-001"
"attributes" : {
Note : If the "action" statement has no
"input" section, the request
message MUST NOT include a message-body
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/jsonBody
:
{
operation : "action",
"
cmHandlesadministrativeState " :
["1231", "1232", "1233", "1234"]"LOCKED",
input: {
"
param1NameoperationalState" : "
param1Value”,disabled"
...
}
}
Response Success
HTTP/1.1 202 Accepted
Date: Thu, 26 Jan 2021 20:56:30 GMT
}
Content-Type: application/json
//EMPTY BODYError Response :
HTTP/1.1 202 Accepted
}
Date: Thu, 26 Jan 2021 20:56:30 GMT
Content-Type: application/json
response : [
{
}
"cmHandle" : "1232"
},
{
"
cmHandle" : "ddf4545",
"
yangData" :
[{
3gpp-common-managed-element:ManagedElement=1 {
# See
ietf.org/html/rfc6241#section-4.3
_3gpp-nr-nrm-gnbdufunction:GNBDUFunction=1 {
"
top3gpp:id" : "
protocol1",
"error-tag" : "invalid-value",
"
error-path" : "3gpp-common-managed-element:ManagedElement/
_3gpp-nr-nrm-
gnbdufunction:GNBDUFunction/resetPort",
nrcelldu:NRCellDU=NR-Cell-
001" : {
parameter value for param2Name"
}
"top3gpp:id" : "NR-Cell-001"
}
},
{
"
cmHandleattributes" :
""1234",
{
"ietf-restconf:errors" : {
"
erroradministrativeState " :
["LOCKED",
"
error-tagoperationalState" : "
invalid-value",disabled"
managed-element:ManagedElement/_3gpp-nr-nrm-
gnbdufunction:GNBDUFunction/resetPort",
"error-message" : "Invalid input
parameter value for param2Name" }
...
}
}
]
passthrough-running is supported in Istanbul using
- RESTConf Path only
ncmp-datastores:running is not supported in Istanbul
Execute an rpc operation on multiple
CMHandles
{ncmp-root}/ncmp/v1/operations/{module-name}:
{action}
input: {
}
}
}
"param2Name" : "param2Value”
}
}
}
Note : If there is no "input" section, the request MUST NOT include a
message-body
Method : POST
URI,
{
"cmHandle" : "45g6756",
GNBDUFunction=1/resetDevice (dummy action)
Header :
Content-Type: application/json
Body :
{
"handles" : ["1231", "1232", "1233", "1234"],
input: {
"yangData" : {
"ietf-restconf:errors" : {
"error" : [
{
"error-type" : "connectivity",
"error-tag" : "access-denied",
"error-message" : "Cannot read EMS
with given credentials"
}
]
}
"param2Name" : "param2Value”
}
}
]
}
passthrough-running is supported in Istanbul using
- RESTConf Path only
ncmp-datastores:running is not supported in Istanbul
Async Requests
POST/
PATCH
/PUT/
DELETE
{ncmp-root}/ncmp/v1/ch/<cmhandle>/data/ds/ncmp-datastores:passthrough-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.
Scenario : Async request to NCMP
Method : GET/POST/PATCH/PUT/DELETE
URI : {ncmp-root}/ncmp/v1/data/ch/de3455/ManagedElement[@id=Kista-001]/GNBDUFunction[@id=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.
Event Successful Reponse :
{
"requestId" : "dd3434",
"data" : { # Example is for a GET with Accept:
application/yang-data+json
_3gpp-nr-nrm-gnbdufunction:GNBDUFunction=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"
}
}
}
}
}
}
Event Fails Reponse :
{
"requestId" : "dd3434",
"ietf-restconf:errors" : {
"error" : [
{
"error-type" : "protocol",
"error-tag" : "unknown-element",
"error-path" : "ManagedElement[@id=Kista-001]
/GNBDUFunction[@id=1]"
"error-message" : "Data resource does not exist"
}
]
}
}
...