Versions Compared

Key

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

...

Create a data resource for a cmhandleparent-     <new-yang-data-resource>
}    

OR with datastores defaults

<cmhande>
{parent-data-resource-identifier}


     <new-yang-data-resource>

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/data/ch/34l5k32/ManagedElement[@id=Kista-001]/GNBDUFunction[@id=1       "NRSectorCarrier"  {
                "id" : 4
                "attributes" : {
      userLabel nrSectorCar-4"       txDirection  "DL_AND_UL",           "configuredMaxTxPower" : "90",
                         "arfcnDL" : "9999999",
              "arfcnUL888888"               "bSChannelBwDL90",
                          "bSChannelBwUL" : "80",
                          "sectorEquipmentFunctionRef" : "_3gpp-common-
managed-element:ManagedElement=1/.../sef:SectorEquipmentFunction=2"
               }
         }
}Delete a data DELETE<handleId>/ds/ncmp-
datastores:passthrough-running

OR with datastores defaults

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

Scenario : Delete NRSectorCarrier=4

Method  : DELETE

URI         : {adapter34l5k32/_3gpp-commonmanaged-element:ManagedElement/_3gpp-nr-nrmgnbdufunction:GNBDUFunction=1/nrsectorcarrier:NRSectorCarrier=[@id=4]

passthrough-running is supported in Istanbul using 

  • RESTConf Path only

ncmp-datastores:running is not supported in Istanbul for delete

Scenario : Add NRSectorCarrier=4 to GNBDUFunction=1 if it doesn't already exist

Method : PATCH

URI : {ncmp-root}/ncmp/v1/ch/d32455f/_3gpp-commonmanaged-element:ManagedElement=Kista-001/_3gpp-nr-nrmgnbdufunction:GNBDUFunction=1

Header
            Content-Type: application/yang-data+json

Body

{

gnbdufunctionGNBDUFunction :   "id" : 1,
"_3gpp-nr-nrm-nrsectorcarrier:NRSectorCarrier" {
4
"attributes" : {
mf3gpp:userLabel : "nrSectorCar-4", "txDirection" : "DL_AND_UL",
configuredMaxTxPower90"arfcnDL9999999, "arfcnUL" : "888888",
"bSChannelBwDL" : "90",
"bSChannelBwUL" : "80" "sectorEquipmentFunctionRef" : "common
managedelementManagedElement=1/.../     
 sef:SectorEquipmentFunction=2" }
}
}

passthrough-running is supported in Istanbul using 

  • RESTConf Path only

ncmp-datastores:running is not supported in Istanbul

Scenario : Make multiple updates under the GNBDUFunction=1 data resource

Method  : PATCH

URI         : {ncmp-root}/ncmp/v1/ch/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,
operationcreate,"target" : "/_3gpp-nr-nrm-nrcelldu:NRCellDU=1",
"value" : { "" : 1,
"cId 511,
userLabelsome-cell-label ...
}
}
, {
"edit-id" : 2,
"operation" : "create",
"target" : "/2","value" : {
"_3gpp-nr-nrm-nrcelldu:NRCellDU" : { "id" : 2,
"cId" : 512,
userLabelsome-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]
             }
          }
      

passthrough-running is supported in Istanbul using 

  • RESTConf Path only

ncmp-datastores:running is not supported in Istanbul

{ncmp-root}/ncmp/v1/data/ch/<cm-handle>/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

passthrough-running is supported in Istanbul using 

  • RESTConf Path only

ncmp-datastores:running is not supported in Istanbul

{ncmp-root}/ncmp/v1/operations/ch//operations /ds/ncmp-datastores :passthrough-operational/{module-name}:{action}

{  
    input: {
                  "param1Name" : "param1Value”,
                  "param2Name" : "param2Value”
             }
}

Note : If there is no "input" 
section, the  request MUST NOT include a 
message-body

Method  : POST 

URI : {ncmp-root}/ncmp/v1/operations/ch/3445fff/ds/ncmp-datastores:passthrough-operational/_3gpp-common-managed-element:resetDevice (dummy action)

Header :
      Content-Type: application/yang-data+json

Body :
{
     "input" : {
           "param1Name" : "param1Value”,
           "param2Name" : "param2Value”
    }
}

Response :
HTTP/1.1 200 OK Date: Thu, 26 Jan 2017 20:56:30 GMT Server: example-server
Content-Type: application/yang-data+json

passthrough-running is supported in Istanbul using 

  • RESTConf Path only

ncmp-datastores:running is not supported in Istanbul

{ncmp-root}/ncmp/v1/ch/<cm-handle>/ds/ncmp-datastores:passthrough-running/{data-
resource-identifier}?fields={fields-expression}

options 

#Req/usecase

REST

Method

 URI / Payload

Request/Response ExampleStatusRelease I
1

Read a data resource directly from
source (passthrough) for a cmHandle -

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.
Accept : application/json
Always return the yang-data+json in the "data" event payload


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 :
      Accept: application/yang-data+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
}
}
]
}
]
}
}



passthrough-running is supported in Istanbul using

  • RestConf Path only
  • ?fields implemented by SDNC/Node
  • ?topic implemented by DMI plugin


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
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}

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 :
      Accept: application/json

Response:

HTTP/1.1 200 OK
Date: Thu, 26 Apr 2021 20:56:30 GMT
Server: example-server
Content-Type: application/yang-data+json
{
"ericsson-enm-comtop:ManagedElement" : {
"managedElementId" : "Kista-001",
"ericsson-enm-lrat:ENodeBFunction" : {
"EUtranCellFDD" : [
{
"eUtranCellFDDId" : "LTE05ERBS00008-2",
"administrativeState" : "UNLOCKED",
"cellId" : 2,
"earfcndl" : 4,
"operationalState" : "ENABLED",
"physicalLayerCellId" : 0,
"tac" : 1
},
{
"eUtranCellFDDId" : "LTE05ERBS00008-3",
"administrativeState" : "UNLOCKED",
"cellId" : 3,
"earfcndl" : 4,
"operationalState" : "ENABLED",
"physicalLayerCellId" : 0,
"tac" : 3
},
{
"eUtranCellFDDId" : "LTE05ERBS00008-4",
"administrativeState" : "UNLOCKED",
"cellId" : 4,
"earfcndl" : 4,
"operationalState" : "ENABLED",
"physicalLayerCellId" : 0,
"tac" : 4
}
]
}
}
]
}

passthrough-running is supported in Istanbul using

  • RestConf Path only
  • ?fields implemented by SDNC/Node
  • ?topic implemented by DMI plugin

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//{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 :
      Accept: application/yang-data+json

Response:

HTTP/1.1 200 OK 
Date: Thu, 26 Apr 2021 20:56:30 GMT 
Server: example-server 
Content-Type: application/yang-data+json

{
"ericsson-enm-comtop:ManagedElement" : {
"managedElementId" : "Kista-001",
"ericsson-enm-lrat:ENodeBFunction" : {
"EUtranCellFDD" : [
{
"eUtranCellFDDId" : "LTE05ERBS00008-2",
"administrativeState" : "UNLOCKED",
"cellId" : 2,
"earfcndl" : 4,
"operationalState" : "ENABLED",
"physicalLayerCellId" : 0,
"tac" : 1
},
{
"eUtranCellFDDId" : "LTE05ERBS00008-3",
"administrativeState" : "UNLOCKED",
"cellId" : 3,
"earfcndl" : 4,
"operationalState" : "ENABLED",
"physicalLayerCellId" : 0,
"tac" : 3
},
{
"eUtranCellFDDId" : "LTE05ERBS00008-4",
"administrativeState" : "UNLOCKED",
"cellId" : 4,
"earfcndl" : 4,
"operationalState" : "ENABLED",
"physicalLayerCellId" : 0,
"tac" : 4
}
]
}
}
]
}

passthrough-running is supported in Istanbul using

  • RestConf Path only
  • ?fields implemented by SDNC/Node
  • ?topic implemented by DMI plugin
Yes
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/<cmhandle>/{data-resource-identifier[<condition>]}?fields={fields}

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

restconf
{ncmp-root}/ncmp/v1/data/ch/335ff?fields=ericsson- enm-comtop:ManagedElement/ericsson-enm-gnbcucp:GNBCUCPFunction
/EndpointResource/LocalSctpEndpoint(sctpEndpointRef)&scope=ericsson-enm-comtop:ManagedElement/ericsson-enm-gnbcucp:
GNBCUCPFunction/EndpointResource/LocalSctpEndpoint[interfaceUsed=X2 ]

Header
:
Accept: application/yang-data+json

Response
:
HTTP/1.1 200 OK
Date: Thu, 26 Apr 2021 20:56:30 GMT
Server: example-server
Content-Type: application/json

{
"ericsson-enm-comtop:ManagedElement" : {
"managedElementId" : "Kista-001",
"ericsson-enm-gnbcucp:GNBCUCPFunction" : {
"EndpointResource" : [
{
"endpointResourceId" : "1",
"LocalSctpEndpoint" : [
{
"localSctpEndpointId" : "3",
"sctpEndpointRef" : "some-sctp-ref"
}
]
}
]
}
}
}

passthrough-running is supported in Istanbul using

  • RestConf Path only
  • ?fields implemented by SDNC/Node
  • ?topic implemented by DMI plugin

5Create a data resource for a cmhandlePOST

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


     <new-yang-data-resource>
}    

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/data/ch/34l5k32/ManagedElement[@id=Kista-001]/GNBDUFunction[@id=1]

Header :
      Content-Type: application/yang-data+json

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

passthrough-running is supported in Istanbul using 

  • RESTConf Path only


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}

{
<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 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 :
      Content-Type: application/yang-data+json

Body :

{
       NRSectorCarrier" : {
                "id" : 4
                "attributes" : {
                        "txDirection" :  "DL_AND_UL"
               }
         }
}

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 

  • RESTConf Path only


ncmp-datastores:running is not supported in Istanbul



this will be treated as a merge


7Update 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-data+json

If using yang-patch content then ds/ncmp-datastore-passthrough-running mus 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

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]
}
}

NOTE : Passthrough only. Not supported in ONAP Release I.


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]

Header :
Accept: application/json
Body : {}

passthrough-running is supported in Istanbul using 

  • RESTConf Path only


ncmp-datastores:running is not supported in Istanbul for delete


9Get 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", ... ]
}



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 :
      Accept: application/yang-data+json

Response:

{
"ietf-yang-library:modules-set" : [ # from RFC 8525
{
"name" : "5479120c17a619545ea6aff7aa19838b036ebbd7",
"module" : [
{
"name" : "_3gpp-nr-nrm-nrsectorcarrier",
"revision" : "2020-12-09",
"namespace" : "urn:3gpp:sa5:_3gpp-nr-nrmnrnetwork-nrsectorcarrier",
"location" : "http://emsadapter.com/modules/_3gppnr-nrm-nrsectorcarrier",
"submodule" : [
{
"name" : "xxxx-module",
"revision" : "2020-12-17",
"namespace" : "urn:3gpp:sa5:xxx-module",
"submodule" : [
{
...
}
]
}
]
},
{
"name" : "ietf-yang-library",
"revision" : "2016-06-21",
"namespace" : "urn:ietf:params:xml:ns:yang:ietfyang-library"
}
]
}

passthrough-running is supported in Istanbul using

  • RestConf Path only
  • ?fields implemented by SDNC/Node
  • ?topic implemented by DMI plugin


ncmp-datastores:running is not supported in Istanbul for delete


11

Execute a yang action

POST

{ncmp-root}/ncmp/v1/data/ch/<cm-handle>/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


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 :
      Content-Type: application/yang-data+json

Body :

Body :
{
"input" : {
"uri" : "ftp://users@14BCP04”,
"password" : "password”
}
}

passthrough-running is supported in Istanbul using 

  • RESTConf Path only


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}

{  
    input: {

                  "param1Name"

: "

param1Value”,
                 

"

param2Name" :

"param2Value”
             

}
}

Note : If there is no "input" 
section, the  request MUST NOT include a 
message-body


Method  : POST 

URI : {ncmp-root}/ncmp/v1/operations/ch/3445fff/ds/ncmp-datastores:passthrough-operational/_3gpp-common-managed-element:resetDevice (dummy action)

Header :
      Content-Type: application/yang-data+json

Body :
{
     "input" : {
           

"param1Name" : "

param1Value”,
           

"param2Name" : "

param2Value”
    }
}


Response :
HTTP/1.1 200 OK Date: Thu, 26 Jan 2017 20:56:30 GMT Server: example-server
Content-Type: application/yang-data+json

passthrough-running is supported in Istanbul using 

  • RESTConf Path only


ncmp-datastores:running is not supported in Istanbul

12


13

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/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 {

                             

13

Update a data resource for a cmHandle

PATCH

{ncmp-root}/ncmp/v1/data/<cm-handle>/ds/ncmp-
datastores:passthrough-running/{data-resource-identifier}
{  
     <yang-data-sub-resource>
}

OR with datastores defaults

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

         _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"
                                           }
                                        }

14

Multiple edits under a target data 
resource for a single cmHandle

PATCH

{ncmp-root}/ncmp/v1/ch/<cm-handle>/ds/ncmp-datastores:passthrough-running/{data-resource-identifier}
{
     yang-patch payload
}

OR using datastores defaults

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

,  
                                         _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"
       

                     

             }


             

                 

        }
         

                   

}
                   

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 :
      Content-Type: application/yang-data+json

Body :

Body :
{
"input" : {
"uri" : "ftp://users@14BCP04”,
"password" : "password”
}
}
16

Execute an rpc operation

POST

}

passthrough-running is supported in Istanbul using

  • RestConf Path only
  • ?fields implemented by SDNC/Node
  • ?topic implemented by DMI plugin

14

Read data resources to a given depth 
for a given cmHandle

POST

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


OptionDescription
depthRequest 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

17

Read a filtered set of data under a  data 
resource for a cmHandle

GET
OptionDescription
fieldsRequest 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
18

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/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
19

Read data resources to a given depth 
for a given cmHandle

POST

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

OptionDescription
depthRequest 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

20

Create or replace the target data 
resource for a CMHandle

PUT

{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

21

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

22

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}

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

nrsectorcarrier:

NRCellDU


NRSectorCarrier=1

" :  {

{     # level 2
                                           "top3gpp:id" : "

NR

NRSectorCarrier-

Cell-001"

1",  # level 3
                                           "attributes"

: {

: {                                    # level 3
                                                  "

administrativeState

txDirection" : "

LOCKED

DL_AND_UL",     # level 4
                                                  "

operationalState

arfcnUL" : "

disabled"

55555",                    # level 4
                                                   ...
                                           }
                                        },  
                                       

"

_3gpp-nr-nrm-

nrcelldu

nrsectorcarrier:

NRCellDU

NRSectorCarrier=2

" :  

{
                                           "top3gpp:id" : "

NR

NRSectorCarrier-

Cell-002

2",
                                           "attributes" : {
                                                  "

administrativeState

txDirection" : "

LOCKED

DL_AND_UL",
                                                  "

operationalState

arfcnUL" : "

disabled

66666".
                                                   ...
                                           }
                                        },  

                                       

"

_3gpp-nr-nrm-

nrcelldu

nrsectorcarrier:

NRCellDU

NRSectorCarrier=3

" :  

{
                                           "top3gpp:id" : "

NR

NRSectorCarrier-

Cell-003

3",
                                           "attributes" : {
                                                  "

administrativeState

txDirection" : "

LOCKED

DL_AND_UL",
                                                  "

operationalState

arfcnUL" : "

disabled

77777".
                                                   ...
                                           }
                                        },  

                                       

"

_3gpp-nr-nrm-

nrcelldu

nrsectorcarrier:

NRCellDU

NRSectorCarrier=4

" :  

{
                                           "top3gpp:id" : "

NR

NRSectorCarrier-

Cell-004

4",
                                           "attributes" : {
                                                  "

administrativeState

txDirection" : "

LOCKED

DL_AND_UL",
                                                  "

operationalState

arfcnUL" : "

disabled

88888"


                                           

.
       

...

                                           

}

...
                                        },

 

 

                                     

"

_3gpp-nr-nrm-nrcelldu:NRCellDU=

5" :  

1 {
                                           "top3gpp:id" : "NR-Cell-

005

001"
                                           "attributes" : {
                                                  "administrativeState " : "LOCKED",
                                                  "operationalState" : "disabled"
                                                   ...
                                           }

                 

                     

}

                 

           

}

                    }

             }

,
     

{

         

"

" : "

cmHandle

1232",

         

"data" : {

             

 

_3gpp-nr-nrm-

gnbdufunction:
GNBDUFunction=1 {
                   "top3gpp:id" : "1",                                       "_3gpp-nr-nrm-nrsectorcarrier:
NRSectorCarrier=2" :

nrcelldu:NRCellDU=2 {
                                           "top3gpp:id" : "

NRSectorCarrier

NR-Cell-

2

002"

,


                                           "attributes" : {
                                                  "

txDirection

administrativeState " : "

DL_AND_UL

LOCKED",
                                                  "

arfcnUL

operationalState" : "

66666

disabled"

.


                                                   ...
                                           }
                                        },  
                                       

"

 _3gpp-nr-nrm-

nrsectorcarrier

nrcelldu:


NRSectorCarrier

NRCellDU=3

" :

{
                                           "top3gpp:id" : "

NRSectorCarrier

NR-Cell-

3

003"

,


                                            "attributes" : {
                                                  "

txDirection

administrativeState " : "

DL_AND_UL

LOCKED",
                                                  "

arfcnUL

operationalState" : "

77777

disabled"

.


                                                   ...
                                           }
               

                        }

                              }

              },

      {
          "cmHandle" : "1233",
          "yangData" : {
               _3gpp-nr-nrm-gnbdufunction:
GNBDUFunction=1 {

                       

"top3gpp:id" : "1",

},  

                                       

"

_3gpp-nr-nrm-

nrsectorcarrier

nrcelldu:


NRSectorCarrier

NRCellDU=4

" :  

{
                                           "top3gpp:id" : "

NRSectorCarrier

NR-Cell-

4

004"

,


                                           "attributes" : {
                                                  "

txDirection

administrativeState " : "

DL_AND_UL

LOCKED",
                                                  "

arfcnUL

operationalState" : "

88888

disabled"

.


                                                   ...
                                           }

,


"_3gpp-nr-nrm-nrcelldu:NRCellDU=1" :

 

{

                                     

     "top3gpp:id" : "NR-Cell-001"

},  

                                       

   "attributes" :

_3gpp-nr-nrm-nrcelldu:NRCellDU=5 {
                                           

      "administrativeState

"top3gpp:id" : "

LOCKED

NR-Cell-005"

,


                                           

     

"

operationalState

attributes" :

"disabled"

{
                                                 

 ...

"administrativeState " : "LOCKED",
                                                 

}

"operationalState" : "disabled"
                                       

},

           ...
                           

"_3gpp-nr-nrm-nrcelldu:NRCellDU=2" :

 

{

             }
                             

"top3gpp:id" : "NR-Cell-002"

          }
              }
         }

passthrough-running is supported in Istanbul using 

  • RESTConf Path only


ncmp-datastores:running is not supported in Istanbul


15

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",

       "attributes" : {
                                                  "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" : {
         

  "yangData" :

3gpp-common-managed-element:ManagedElement=1 {
             

 

_3gpp-nr-nrm-gnbdufunction:


GNBDUFunction=

1


{
                   "top3gpp:id" : "1",
                   

                 

"_3gpp-nr-nrm-nrcelldu:NRCellDU=

1

NR-
Cell-001" :  {

                                           "top3gpp:id" : "NR-Cell-001"
                                           "attributes" : {
                                                  "administrativeState " : "LOCKED",
                                                  "operationalState" : "disabled"
                                                   ...
       

"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

23

Execute a yang action on multiple 
CMHandles

POST

"_3gpp-nr-nrm-nrcelldu:NRCellDU=NR-
Cell-001" :  {

                         

{ncmp-root}/ncmp/v1/data/{data-resource-identifier}/{action}

input: {

                 "

param1Name

top3gpp:id" :

"param1Value”,

"NR-Cell-001"
                 

"param2Name" : "param2Value”

                         "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",

    "

cmHandles

administrativeState " :

["1231", "1232", "1233", "1234"]

"LOCKED",
   

"yangData" : {

                                 

input: {

            "

param1Name

operationalState" : "

param1Value”,

disabled"
           

"param2Name" : "param2Value”

                                       ...
                                           }
                       

}
}

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"

},
       

"yangData" :

{
            "

ietf-restconf:errors" : {

cmHandle" : "ddf4545",
             "

error

yangData" :

[

{      
                   3gpp-common-managed-element:ManagedElement=1 {

           

    # See 

https://tools.

ietf.org/html/rfc6241#section-4.3

_3gpp-nr-nrm-gnbdufunction:GNBDUFunction=1 {
                   "

error-type

top3gpp:id" : "

protocol

1",

                 

"error-tag" : "invalid-value",

                     "

error-path" : "3gpp-common-managed-
element:ManagedElement/

_3gpp-nr-nrm-

gnbdufunction:
GNBDUFunction/resetPort",

nrcelldu:NRCellDU=NR-Cell-
001" :  {
                 

"error-message" : "Invalid input 
parameter value for param2Name"

               

}

         "top3gpp:id" : "NR-Cell-001"
   

]

           

}

       

},

       

{

 


         "

cmHandle

attributes" :

""

1234",

{
                   

"yangData" : {

             

"ietf-restconf:errors" : {

                "

error

administrativeState " :

"LOCKED",
               

   { "error-type" : "protocol", 

                                  "

error-tag

operationalState" : "

invalid-value", 

disabled"
                         

"error-path" : "3gpp-common-
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

24

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

Method  : POST 

URI

,

  {
            "cmHandle" : "45g6756",
             

:{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: {

"yangData" : {      

           "ietf-restconf:errors" : {
              "error" : [
                 {
                  "error-type" : "connectivity",
                  "error-tag" : "access-denied",
                  "error-message" : "Cannot read EMS 
with given credentials"
                 }
               ]
           

"param1Name" : "param1Value”,

}

           

"param2Name" : "param2Value”

}

        }

     ]
} 

passthrough-running is supported in Istanbul using 

  • RESTConf Path only


ncmp-datastores:running is not supported in Istanbul


2516

Async Requests

GET/
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"
}
]
}
}


...