...
Excerpt | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Datastore, Paths and Format Combinations for Read Operations
Works Items for above. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
# | Description | Component | Enables | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1 | Forward request from NCMP to CPS-Core | NCMP | 8,9 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
2 | Forward request from NCMP to DMI-Plugin | NCMP | 6,7 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
3 | Convert json (dataNode) to yang-data+json | CPS-Core/NCMP | 8 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
4 | Convert cpsPath to RESTConf Path | NCMP | 10,11 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
5 | Enhance &fields parameter where needed | NCMP | 10,11+fields option | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
6 | NOT Supported | N/A | 1,2,3,4,5 | State | Input | Behavior | Notes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
# | Data-Sync | Operation | Datastore parameter | Expected Resource-Path format | Content-Type | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1 | On | Off | Create | ncmp/passthrough-running | NCMP does not parse | NCMP does not parse (needs to be valid JSON) | Resolve DMI plugin Forward request to plugin Output received response (success or failure) | The DMI plugin may error if the RP or content type are not supported. The DMI plugin may forward the request without processing too. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
2 | On | Off | Update | ncmp/passthrough-running | NCMP does not parse | NCMP does not parse (needs to be valid JSON) | Resolve DMI plugin Forward request to plugin Output received response (success or failure) | The DMI plugin may error if the RP or content type are not supported. The DMI plugin may forward the request without processing too. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
3 | On | Off | Delete | ncmp/passthrough-running | NCMP does not parse | N/A | Resolve DMI plugin Forward request to plugin Output received response (success or failure) | The DMI plugin may error if the RP or content type are not supported. The DMI plugin may forward the request without processing too. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
4 | On | Off | Patch | ncmp/passthrough-running | NCMP does not parse | NCMP does not parse (needs to be valid JSON) | Resolve DMI plugin Forward request to plugin Output received response (success or failure) | The DMI plugin may error if the RP or content type are not supported. The DMI plugin may forward the request without processing too. | 5 | On | Off | Create | ncmp/running | cpsPath | application/yang-data+json | Resolve DMI plugin Convert cpsPath to RESTConfPath Forward request to plugin Output received response (success or failure) | 6 | On | Off | Update | ncmp/running | cpsPath | application/yang-data+json | Resolve DMI plugin Convert cpsPath to RESTConfPath Forward request to plugin Output received response (success or failure) | 7 | On | Off | Delete | ncmp/running | cpsPath | N/A | Resolve DMI plugin Convert cpsPath to RESTConfPath Forward request to plugin Output received response (success or failure) | 8 | On | Off | Patch | ncmp/running | cpsPath | application/yang-data+json (*plain patch) | Resolve DMI plugin Convert cpsPath to RESTConfPath Forward request to plugin Output received response (success or failure) | 9 | On | Off | Patch | ncmp/running | cpsPath | application/yang-patch+json | Resolve DMI plugin Convert cpsPath to RESTConfPath Forward request to plugin Output received response (success or failure) |
REST API
Read API Example
Works Items for above.
Datastore, Paths and Format Combinations for Write Operations
|
Sync & ModelAPI
Expand | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Expand | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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] Header : Response : HTTP/1.1 200 OK { "_3gpp-nr-nrm-gnbdufunction:GNBDUFunction" : [ { "_3gpp-nr-nrm-nrcelldu:NRCellDU" : [ { "top3gpp:id" : "NR-Cell-001" "attributes" : { "administrativeState " : "LOCKED", "operationalState" : "disabled" } }, { "top3gpp:id" : "NR-Cell-002" "attributes" : { "administrativeState " : "LOCKED", "operationalState" : "disabled" } }, { "top3gpp:id" : "NR-Cell-003" "attributes" : { "administrativeState " : "LOCKED", "operationalState" : "disabled" } }, { "top3gpp:id" : "NR-Cell-004" "attributes" : { "administrativeState " : "LOCKED", "operationalState" : "disabled" } }, { "top3gpp:id" : "NR-Cell-005" "attributes" : { "administrativeState " : "LOCKED", "operationalState" : "disabled" } } ] } ] } 6 | Create a data resource for a cmhandle | POST | {ncmp-root}/ncmp/v1/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 Header : 7 | Update 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 { 8 | Update 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 Scenario : Update _3gpp-common-managed-element:ManagedElement=Kista-001/_3gpp-nr-nrm-gnbdufunction:GNBDUFunction=1 with multiple operations on the tree Header : 9 | Replace a data resource for a cmhandle | PUT | {ncmp-root}/ncmp/v1/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 Body : 10 | Delete a data resource for a cmhandle | DELETE | {ncmp-root}/ncmp/v1/ch/<cm-handle>/data/{data-resource-identifier | Scenario : 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/ch/34l5k32/data/ManagedElement[@id=Kista-001] /GNBDUFunction[@id=1]/NRSectorCarrier[@id=4] Header : Accept: application/json Body : {} 11 | Get all cmhandles that support a given | module GET | {ncmp-root}/ncmp/v1/ch/data?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?module=_3gpp-nr-nrm-gnbdufunction Header : Accept: application/json Response: { cm-handles : [ "ew534fe", "23ft4", "434fsdf", ... ] } 122 | Request (trigger) Data Sync | POST | {ncmp-root}/ncmp/v1/ch/<ch-handle>/sync-data Scenario : Client requests to sync a node URI : {ncmp-root}/ncmp/v1/ch/node123/sync-data Response : HTTP-Status code (only, no body) 133 | Get model info for CMHandle | GET | {ncmp-root}/ncmp/v1/ch/{cm-handle}/modules Scenario : Get the model data for CMHandle Method : GET URI :{ncmp-root}/ncmp/v1/ch/2334dedf/modules Header : Response: { |
...