Versions Compared

Key

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

...

Expand



Req/usecase

REST

Method

 URI / Payload

Request/Response Example
1Read of a data resource getting specific fields for a given cmHandle
Sync call
GET

ncmp-root}/ncmp/v1/data/ch/<cm-handle>/data/{data-resource-identifier}?fields={fields}


Note 'topic' and 'fields' are only supported in passthrough mode at this time (ONAP Release I). If not passhrough passthrough
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/data/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
}
}
]
}
]
}
2Async 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/{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/data/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" : "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/{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 : ?
physicalLayerCellId)
Header :
Accept: application/yang-data+json
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/{data-resource-identifier[<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/query/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 

OptionDescription
fieldsRequest 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"
                                           }
                                        }
                              }
                    }

6Create a data resource for a cmhandlePOST

{ncmp-root}/ncmp/v1/data/ch/<cm-handle>/data/{parent-data-resource-identifier}

{

  <new-yang-data-resource>

}

Content: application/yang-data+json

Scenario : Create 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/data/ManagedElement[@id=Kista-001]
/GNBDUFunction[@id=1]

Header :
Content-Type: application/yang-data+json
7Update 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 :
Body :
{
_3gpp-nr-nrm-nrsectorcarrier:NRSectorCarrier" : {
"id" : 4
"attributes" : {
"userLabel : "nrSectorCar-4",
"txDirection" : "DL_AND_UL",
"configuredMaxTxPower" : "90",
"arfcnDL" : "9999999",
"arfcnUL" : "888888",
"bSChannelBwDL" : "90",
"bSChannelBwUL" : "80",
"sectorEquipmentFunctionRef" : "ManagedElement=1/...
/SectorEquipmentFunction=2"
}
}
}
7Update a data resource for a cmhandle
with plain-patch update
PATCH

{ncmp-root}/ncmp/v1/ch/<cm-handle>/data/{data-resource-identifier}

{

<updated-yang-data-resource>

}

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/ch/34l5k32/data/ManagedElement[@id=Kista-001]
/GNBDUFunction[@id=1]/NRSectorCarrier[@id=4]
Header :
Content-Type: application/yang-data+json
Body :

{
_3gpp-nr-nrm-nrsectorcarrier:NRSectorCarrier" : {
"id" : 4
"attributes" : {
"txDirection" : "DL_AND_UL"
}
}
}
8Update a data resource with multiple
edits for a cmhandle with yang-patch
update
PATCH

{ncmp-root}/ncmp/v1/ch/<cm-handle>/data/{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/ch/34l5k32/data/ds/ncmp-datastore-passthrough-running/ManagedElement[@id=Kista-001]/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]
}
}
8Update 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]
9Replace a data resource for a cmhandlePUT

{ncmp-root}/ncmp/v1/data/ch/<cm-handle>/data/{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/data/ManagedElement[@id=Kista-001]
/GNBDUFunction[@id=1]/

NRSectorCarrier[@id=4]
Header :
Content-Type: application/yang-data+json

NRSectorCarrier[@id=4]
Header :
Content-Type: application/yang-data+json


Body :
{
_3gpp-nr-nrm-nrsectorcarrier:NRSectorCarrier" : {
"id" : 4
"attributes" : {
"txDirection" : "DL_AND_UL"
}
}
}
10Delete a data resource for a cmhandleDELETE{ncmp-root}/ncmp/v1/data/ch/<cm-handle>/data/{data-resource-identifierScenario : Delete 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/data/ManagedElement[@id=Kista-001]
/GNBDUFunction[@id=1]/NRSectorCarrier[@id=4]
Header :
Accept: application/json
Body :
{}
11Get all cmhandles that support a given
module
GET{ncmp-root}/ncmp/v1/ch/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/ch/data/ch?module=_3gpp-nr-nrm-gnbdufunction
Header :
Accept: application/json
Response:
{
cm-handles : [ "ew534fe", "23ft4", "434fsdf", ... ]
}


...