Versions Compared

Key

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

...


Req/usecase

REST

Method

 URI / Payload

Header Parameters

Request/Response ExampleStatus
1

NCMP-CM-001-2

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

GET

{ncmp-root}/ncmp/v1/cm-handle//ds /ncmp-datastores:passthrough-running/{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 pass through then an exception is thrown from NCMP at this time.

Accept:
application/json

Scenario : Read the bookstore for cmhandle "335ff" as passthrough
Method : GET
URI : {ncmp-root}/ncmp/v1/cm-handle/335ff/ds/ncmp-datastores:
passthrough-running//bookstore
Header :
Accept: application/json


Event Response:


Expand

[
    {
        "xpath""/bookstore",
        "leaves": {
            "bookstore-name""Chapters"
        },
        "childDataNodes": [
            {
                "xpath""/bookstore/categories[@code='01']",
                "leaves": {
                    "code""01",
                    "name""SciFi"
                },
                "childDataNodes": [
                    {
                        "xpath""/bookstore/categories[@code='01']/books[@title='Far Horizons']",
                        "leaves": {
                            "lang""en",
                            "price": {
                                "value"1099.0
                            },
                            "title""Far Horizons",
                            "authors": [
                                "david Brin",
                                "Ursula K. Le Guin",
                                "Rober Silverberg",
                                "Orson Scott Card",
                                "Greg Bear",
                                "Joe Haldeman",
                                "Dan Simmons"
                            ],
                            "pub_year": {
                                "value"1999.0
                            }
                        },
                        "childDataNodes": []
                    },
                    {
                        "xpath""/bookstore/categories[@code='01']/books[@title='Feersum Endjinn']",
                        "leaves": {
                            "lang""en",
                            "price": {
                                "value"895.0
                            },
                            "title""Feersum Endjinn",
                            "authors": [
                                "Iain M. Banks"
                            ],
                            "pub_year": {
                                "value"1994.0
                            }
                        },
                        "childDataNodes": []
                    }
                ]
            },
            {
                "xpath""/bookstore/categories[@code='02']",
                "leaves": {
                    "code""02",
                    "name""kids"
                },
                "childDataNodes": [
                    {
                        "xpath""/bookstore/categories[@code='02']/books[@title='The Golden Compass']",
                        "leaves": {
                            "lang""en",
                            "price": {
                                "value"699.0
                            },
                            "title""The Golden Compass",
                            "authors": [
                                "Philip Pullman"
                            ],
                            "pub_year": {
                                "value"1995.0
                            }
                        },
                        "childDataNodes": []
                    }
                ]
            }
        ]
    }
]


Under Review
2NCMP-CM-001-2
Read a data resource directly from
source (passthrough) for a
cmHandle. Only return specific field(s).
Synchronous call
GET{ncmp-root}/ncmp/v1/cm-handle//ds /ncmp-datastores:passthrough-running/{dataresource-identifier}?fields={fields}Accept:
application/json

Scenario : Read the bookstore.(categories,
title, authors, pub_year, price, lang) for cmhandle
"335ff" as passthrough
Method : GET
URI : {ncmp-root}/ncmp/v1/cm-handle/335ff/ds/ncmp-datastores:
passthrough-running//books?fields=title;
authors;pub_year;price;lang
Header :
Accept: application/json


Response

Expand

[
    {
        "xpath""/bookstore/categories[@code='02']/books[@title='The Golden Compass']",
        "leaves": {
            "lang""en",
            "price": {
                "value"699.0
            },
            "title""The Golden Compass",
            "authors": [
                "Philip Pullman"
            ],
            "pub_year": {
                "value"1995.0
            }
        },
        "childDataNodes": []
    }
]

[
    {
        "xpath""/bookstore/categories[@code='01']/books[@title='Feersum Endjinn']",
        "leaves": {
            "lang""en",
            "price": {
                "value"895.0
            },
            "title""Feersum Endjinn",
            "authors": [
                "Iain M. Banks"
            ],
            "pub_year": {
                "value"1994.0
            }
        },
        "childDataNodes": []
    }
]

[
    {
        "xpath""/bookstore/categories[@code='01']/books[@title='Far Horizons']",
        "leaves": {
            "lang""en",
            "price": {
                "value"1099.0
            },
            "title""Far Horizons",
            "authors": [
                "david Brin",
                "Ursula K. Le Guin",
                "Rober Silverberg",
                "Orson Scott Card",
                "Greg Bear",
                "Joe Haldeman",
                "Dan Simmons"
            ],
            "pub_year": {
                "value"1999.0
            }
        },
        "childDataNodes": []
    }
]


Under Review
3ALTERNATIVE OUTPUT TO ABOVE
SCENARIO
NCMP-CM-001-2
Read a data resource directly from
source (passthrough) for a
cmHandle. Only return specific field(s).
Synchronous call
GETWIPAccept:
application/json
WIPUnder Review
4NCMP-CM-001-2
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/cm-handle//ds /ncmp-datastores:passthrough-running/{data-resource-identifier}?fields={fields} &topic={topicId}Accept:
application/json

Scenario : Read 

Read the LocalSctpEndpoint.(interfaceUsed==X2,sctpEndpointRef) price for cmhandle ="335ff" as passthrough

Method : GET
URI : {ncmp-root}/ncmp/v1/cm-handle/335ff/ds/ncmp-datastores:passthrough running//LocalSctpEndpointbooks[ interfaceUsed@title=X2 'Far Horizons']?fields=sctpEndpointRefprice
Header :
Accept: application/jsonResponse:
HTTP/1.1 200 OK
Date: Thu, 26 Apr 2021 20:56:30 GMT
Server: example-server
Content-Type: application/json

{
[
    {
        "xpath": "/bookstore/ManagedElementcategories[@id=Kista-001]/...
/LocalSctpEndpoint[@id=3@code='01']/books[@title='Far Horizons']",
        "leaves": {
            "sctpEndpointRefprice": "some-sctp-ref"
  1099.0

    }

]
}

Under Review
5

NCMP-CM-001-1

Get model (module set) for CMHandle

GET

{ncmp-root}/ncmp/v1/model/<handleId>


{ncmp-root}/ncmp/v1/model/cmhandle/<cm-handle>

Accept:
application/json

Scenario : Get the model data for CMHandle with id "335ff"
Method : GET
URI : {ncmp-root}/ncmp/v1/model/335ff
Header : Accept: application/yang-data+json

Response :

Expand
{
"test:bookstore":{
"bookstore-name": "Chapters",
"categories": [
{
"code": "01",
"name": "SciFi",
"books": [
{
"authors": [
"Iain M. Banks"
],
"lang": "en",
"price": "895",
"pub_year": "1994",
"title": "Feersum Endjinn"
},
{
"authors": [
"Ursula K. Le Guin",
"Joe Haldeman",
"Orson Scott Card",
"david Brin",
"Rober Silverberg",
"Dan Simmons",
"Greg Bear"
],
"lang": "en",
"price": "1099",
"pub_year": "1999",
"title": "Far Horizons"
}
]
},
{
"name": "kids",
"code": "02",
"books": [
{
"authors": [
"Philip Pullman"
],
"lang": "en",
"price": "699",
"pub_year": "1995",
"title": "The Golden Compass"
}
]
}
]
}
}



Under Review
6NCMP-CM-001-4
Create a data resource for a
cmhandle
POST

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


OR with datastores defaults


{ncmp-root}/ncmp/v1/cmhandle/<cm-hande>/{parent-data-resource-identifier}
{
<new-yang-data-resource>
}

Accept:
application/ yang- data+json

Scenario : Create a data resource of the bookstore model for the given cmhandle.

Method : POST

RI : {ncmp-root}/ncmp/v1/cm-handle/34l5k32/bookstore

Header : Accept: application/yang-data+json


Body:


Expand
{
"test:bookstore":{
"bookstore-name": "Chapters",
"categories": [
{
"code": "01",
"name": "SciFi",
}
]
}
}


Under Review
7NCMP-CM-001-5
Delete a data resource for a
cmHandle
DELETE

{ncmp-root}/ncmp/v1//ds/ncmp-datastores:passthrough-running/{data-resource-identifier}

OR with datastores defaults

{ncmp-root}/ncmp/v1/cmhandle// {parent-data-resource-identifier}

Accept:
application/ yang- data+json

Scenario : Delete categories=SciFi
Method : DELETE
URI : {ncmp-root}/ncmp/v1/cmhandle/<cm-handle>//categories[@name="SciFi"]


do we follow xpath syntax?


{adapter-root}??? 

Under Review
8NCMP-CM-001-3
Update a data resource for a
cmHandle
PATCH

{ncmp-root}/ncmp/v1/data//ds/ncmp-datastores:passthrough-running/{data-resource-identifier}

{
       <yang-data-sub-resource>
}

OR with datastores defaults


{ncmp-root}/ncmp/v1/cmhandle// {parent-data-resource-identifier} 

{
<yang-data-sub-resource>
}

Accept:
application/ yang- data+json

Scenario : Add a book to categories SciFi if it doesn't already exist
Method : PATCH
URI : {ncmp-root}/ncmp/v1/cm-handle/d32455f/bookstore/categories:name=SciFi

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

Body :

Expand
{
"categories"
: [
{
"code": "01",
"name": "SciFi",
"books": [
{
"authors": [
"Iain M. Banks"
],
"lang": "en",
"price": "895",
"pub_year": "1994",
"title": "Feersum Endjinn"
}
]
}
]
}


Under Review
9

NCMP-CM-001-8

Multiple edits under a target data
resource for a single cmHandle

PATCH

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

{

yang-patch payload

}


OR using datastores defaults


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

{

yang-patch payload

}

Content-Type:
application/yang-patch+json

Scenario: Make multiple updates under the bookstore/categories data resource

Method : PATCH

URI : {ncmp-root}/ncmp/v1/cm-handle/32rf234/bookstore/categories

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


Body:

Expand
{
"ietf-restconf:yang-patch" : {
"patch-id" : "change-categories-names",
"edit" : [
{
"edit-id" : 1,
"operation" : "create",
"target" : "/bookstore/categories:code="01",
"value" : {
"/bookstore/categories:code" : {
"name" : "Biography"
}
}
},
{
"edit-id" : 2,
"operation" : "create",
"target" :"/bookstore/categories:code="02"",
"value" : {
"/bookstore/categories:code" : {
"name" : "Detective"
}
}
}
]
}


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-categories-names",
    "ok" : [null]
   }
}

Under Review
10





11





12





13





14





15





16





17





18





19





20





21





...