Versions Compared

Key

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

Table of Contents

...

URIMandatory or OptionalDescription
<OP>mandatorythe HTTP method
dmimandatorythe dmi root resource
<v{vNumber}>mandatoryversion of the dmi interface is the target resource URI is the query parameter list
<cmHandle>mandatoryunique (string) identifier of a yang tree instance.
<data|operations|dmiAction>mandatoryyang data, rpc operation or a (non-modeled) dmi action
{datastore}mandatorymandatory datastore
<resourcePath>optionalthe path expression identifying the resource that is
being accessed by the operation. If this field is not
present, then the target resource is the API itself.
<query>optionalthe set of parameters associated with the RESTCONF message;
see Section 3.4 of [RFC3986]. RESTCONF parameters have 
the familiar form of "name=value" pairs. Most query parameters are
optional to implement by the server and optional to use by the client. Each optional query parameter is identified by a URI

NCPS-NCMP - DMI Plugin Write Request Flow

See CPS-577: Prepare the request from client and send write request to dmi-plugin

Datastore

If the cmhandle metadata indicates that data is not synched in CPS then the request is forwarded to the dmiPlugin

...

Expand
titleAPI Details

Below table shows the proposed interface, actual implementation might deviate from this but can be accessed from

*For response output, where applicable the yang-library format and conventions are used 'as is'  or extended

#Use CaseRest MethodURIExample*
1

Get module set for a cmhandle


POST{dmiRoot}/dmi/v1/ch/cmhandle-001/modules

Header :
Content-Type: application/json


Code Block
languagexml
titleRequest Body
{
  "operation": "read",
    "cmHandleProperties ": {
      "subSystemId": "system-001"
    }
  }
}

Code Block
languagexml
titleResponse Body
Response:  
     "schemas": [
                    {
                      "moduleName": "example-identifier",
                      "revision": "example-version",
                      "namespace": "example-namespace"
                    },
					{
						...
					}
                  ]
                }

2Get yang module source for a list of modulesPOST

{dmiRoot}/dmi/v1/ch/<cmHandle>/moduleResources


DMI Plugin will make multiple requests to xNF and combine the result in a list


Code Block
languagexml
titleRequest Body
{
  "operation": "read",
	"dataType": "application/json",
    "data": {
       "modules": [
        {
          "name": "pnf-sw-upgrade",
          "revision": "2019-12-03"
        }
      ]
    },
    "cmHandleProperties": {
      "subSystemId": "system-001"
    }
}


Response: a list yang module references and source for each

Code Block
languagexml
titleResponse Body
[ {
"name" : "pnf-sw-upgrade",
"revision" : "2019-12-03",
"yang-source": "some-source", {...} ]


...