servers:
- url: /ncmp
paths:
- /v1/cm-handles/{cm-handle}/node:
+ /v1/ch/{cm-handle}/data/ds/{ncmp-datastore-name}:
get:
tags:
- network-cm-proxy
- summary: Get a node given a cm Handle and xpath
- description: Get a node with an option to retrieve all the children for a given
- cm Handle
- operationId: getNodeByCmHandleAndXpath
+ summary: Get resource data for cm handle
+ description: Get resource data for given cm handle
+ operationId: getResourceDataForCmHandle
parameters:
+ - name: ncmp-datastore-name
+ in: path
+ description: The type of the requested data
+ required: true
+ schema:
+ type: string
+ example: ncmp-datastore:operational
- name: cm-handle
in: path
description: "The identifier for a network function, network element, subnetwork\
required: true
schema:
type: string
- - name: xpath
+ example: my-cm-handle
+ - name: resourceIdentifier
+ in: query
+ description: The format of resource identifier depend on the associated DMI
+ Plugin implementation. For ONAP DMI Plugin it will be RESTConf paths but
+ it can really be anything.
+ required: true
+ allowReserved: true
+ schema:
+ type: string
+ examples:
+ sample 1:
+ value:
+ resourceIdentifier: \shops\bookstore
+ sample 2:
+ value:
+ resourceIdentifier: "\\shops\\bookstore\\categories[@code=1]"
+ sample 3:
+ value:
+ resourceIdentifier: "parent=shops,child=bookstore"
+ - name: options
in: query
- description: xpath
+ description: "options parameter in query, it is mandatory to wrap key(s)=value(s)\
+ \ in parenthesis'()'. The format of options parameter depend on the associated\
+ \ DMI Plugin implementation."
required: false
+ allowReserved: true
schema:
type: string
- default: /
+ examples:
+ sample 1:
+ value:
+ options: (depth=3)
+ sample 2:
+ value:
+ options: (fields=book)
+ sample 3:
+ value:
+ options: "(depth=2,fields=book/authors)"
+ - name: topic
+ in: query
+ description: topic parameter in query.
+ required: false
+ allowReserved: true
+ schema:
+ type: string
+ examples:
+ sample 1:
+ value:
+ topic: my-topic-name
- name: include-descendants
in: query
- description: include-descendants
+ description: Determines if descendants are included in response
required: false
schema:
type: boolean
application/json:
schema:
type: object
+ examples:
+ dataSampleResponse:
+ $ref: '#/components/examples/dataSampleResponse'
"400":
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorMessage'
+ example:
+ status: 400 BAD_REQUEST
+ message: Bad request error message
+ details: Bad request error details
"401":
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorMessage'
+ example:
+ status: 401
+ message: Unauthorized error message
+ details: Unauthorized error details
"403":
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorMessage'
- "404":
- description: The specified resource was not found
+ example:
+ status: 403
+ message: Forbidden error message
+ details: Forbidden error details
+ "500":
+ description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorMessage'
- deprecated: true
- /v1/cm-handles/{cm-handle}/list-node:
+ example:
+ status: 500
+ message: Internal Server Error
+ details: Internal Server Error occurred
+ "502":
+ description: Bad Gateway
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/DmiErrorMessage'
+ example:
+ message: Bad Gateway Error Message NCMP
+ dmi-response:
+ http-code: 400
+ body: Bad Request
+ put:
+ tags:
+ - network-cm-proxy
+ summary: Update resource data from pass-through running for a cm handle
+ description: Update resource data from pass-through running for the given cm
+ handle
+ operationId: updateResourceDataRunningForCmHandle
+ parameters:
+ - name: ncmp-datastore-name
+ in: path
+ description: The type of the requested data
+ required: true
+ schema:
+ type: string
+ example: ncmp-datastore:operational
+ - name: cm-handle
+ in: path
+ description: "The identifier for a network function, network element, subnetwork\
+ \ or any other cm object by managed Network CM Proxy"
+ required: true
+ schema:
+ type: string
+ example: my-cm-handle
+ - name: resourceIdentifier
+ in: query
+ description: The format of resource identifier depend on the associated DMI
+ Plugin implementation. For ONAP DMI Plugin it will be RESTConf paths but
+ it can really be anything.
+ required: true
+ allowReserved: true
+ schema:
+ type: string
+ examples:
+ sample 1:
+ value:
+ resourceIdentifier: \shops\bookstore
+ sample 2:
+ value:
+ resourceIdentifier: "\\shops\\bookstore\\categories[@code=1]"
+ sample 3:
+ value:
+ resourceIdentifier: "parent=shops,child=bookstore"
+ - name: Content-Type
+ in: header
+ description: "Content parameter for request, if content parameter is null,\
+ \ default value is application/json."
+ required: false
+ schema:
+ type: string
+ example: application/yang-data+json
+ default: application/json
+ requestBody:
+ content:
+ application/json:
+ schema:
+ type: object
+ examples:
+ dataSampleRequest:
+ $ref: '#/components/examples/dataSampleRequest'
+ application/yang-data+json:
+ schema:
+ type: object
+ examples:
+ dataSampleRequest:
+ $ref: '#/components/examples/dataSampleRequest'
+ required: true
+ responses:
+ "200":
+ description: OK
+ content:
+ application/json:
+ schema:
+ type: object
+ "400":
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ErrorMessage'
+ example:
+ status: 400 BAD_REQUEST
+ message: Bad request error message
+ details: Bad request error details
+ "401":
+ description: Unauthorized
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ErrorMessage'
+ example:
+ status: 401
+ message: Unauthorized error message
+ details: Unauthorized error details
+ "403":
+ description: Forbidden
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ErrorMessage'
+ example:
+ status: 403
+ message: Forbidden error message
+ details: Forbidden error details
+ "500":
+ description: Internal Server Error
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ErrorMessage'
+ example:
+ status: 500
+ message: Internal Server Error
+ details: Internal Server Error occurred
+ "502":
+ description: Bad Gateway
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/DmiErrorMessage'
+ example:
+ message: Bad Gateway Error Message NCMP
+ dmi-response:
+ http-code: 400
+ body: Bad Request
post:
tags:
- network-cm-proxy
- summary: Add list-node child element(s)
- description: Add one or more list-node child elements under existing node for
- the given CM Handle
- operationId: addListNodeElements
+ summary: create resource data from pass-through running for cm handle
+ description: create resource data from pass-through running for given cm handle
+ operationId: createResourceDataRunningForCmHandle
parameters:
+ - name: ncmp-datastore-name
+ in: path
+ description: The type of the requested data
+ required: true
+ schema:
+ type: string
+ example: ncmp-datastore:operational
- name: cm-handle
in: path
description: "The identifier for a network function, network element, subnetwork\
required: true
schema:
type: string
- - name: xpath
+ example: my-cm-handle
+ - name: resourceIdentifier
in: query
- description: xpath
+ description: The format of resource identifier depend on the associated DMI
+ Plugin implementation. For ONAP DMI Plugin it will be RESTConf paths but
+ it can really be anything.
required: true
+ allowReserved: true
schema:
type: string
+ examples:
+ sample 1:
+ value:
+ resourceIdentifier: \shops\bookstore
+ sample 2:
+ value:
+ resourceIdentifier: "\\shops\\bookstore\\categories[@code=1]"
+ sample 3:
+ value:
+ resourceIdentifier: "parent=shops,child=bookstore"
+ - name: Content-Type
+ in: header
+ description: "Content parameter for request, if content parameter is null,\
+ \ default value is application/json."
+ required: false
+ schema:
+ type: string
+ example: application/yang-data+json
+ default: application/json
requestBody:
content:
application/json:
schema:
- type: string
+ type: object
+ examples:
+ dataSampleRequest:
+ $ref: '#/components/examples/dataSampleRequest'
+ application/yang-data+json:
+ schema:
+ type: object
+ examples:
+ dataSampleRequest:
+ $ref: '#/components/examples/dataSampleRequest'
required: true
responses:
"201":
application/json:
schema:
$ref: '#/components/schemas/ErrorMessage'
+ example:
+ status: 400 BAD_REQUEST
+ message: Bad request error message
+ details: Bad request error details
"401":
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorMessage'
+ example:
+ status: 401
+ message: Unauthorized error message
+ details: Unauthorized error details
"403":
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorMessage'
- "404":
- description: The specified resource was not found
+ example:
+ status: 403
+ message: Forbidden error message
+ details: Forbidden error details
+ "500":
+ description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorMessage'
- deprecated: true
- /v1/cm-handles/{cm-handle}/nodes/query:
- get:
+ example:
+ status: 500
+ message: Internal Server Error
+ details: Internal Server Error occurred
+ "502":
+ description: Bad Gateway
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/DmiErrorMessage'
+ example:
+ message: Bad Gateway Error Message NCMP
+ dmi-response:
+ http-code: 400
+ body: Bad Request
+ delete:
tags:
- network-cm-proxy
- summary: Query data nodes
- description: Query nodes for the given cps path and cm Handle
- operationId: queryNodesByCmHandleAndCpsPath
+ summary: Delete resource data
+ description: Delete resource data from pass-through running for a given cm handle
+ operationId: deleteResourceDataRunningForCmHandle
parameters:
+ - name: ncmp-datastore-name
+ in: path
+ description: The type of the requested data
+ required: true
+ schema:
+ type: string
+ example: ncmp-datastore:operational
- name: cm-handle
in: path
description: "The identifier for a network function, network element, subnetwork\
required: true
schema:
type: string
- - name: cps-path
+ example: my-cm-handle
+ - name: resourceIdentifier
in: query
- description: cps-path
- required: false
+ description: The format of resource identifier depend on the associated DMI
+ Plugin implementation. For ONAP DMI Plugin it will be RESTConf paths but
+ it can really be anything.
+ required: true
+ allowReserved: true
schema:
type: string
- default: /
- - name: include-descendants
- in: query
- description: include-descendants
+ examples:
+ sample 1:
+ value:
+ resourceIdentifier: \shops\bookstore
+ sample 2:
+ value:
+ resourceIdentifier: "\\shops\\bookstore\\categories[@code=1]"
+ sample 3:
+ value:
+ resourceIdentifier: "parent=shops,child=bookstore"
+ - name: Content-Type
+ in: header
+ description: "Content parameter for request, if content parameter is null,\
+ \ default value is application/json."
required: false
schema:
- type: boolean
- default: false
+ type: string
+ example: application/yang-data+json
+ default: application/json
responses:
- "200":
- description: OK
- content:
- application/json:
- schema:
- type: object
+ "204":
+ description: No Content
+ content: {}
"400":
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorMessage'
+ example:
+ status: 400 BAD_REQUEST
+ message: Bad request error message
+ details: Bad request error details
"401":
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorMessage'
+ example:
+ status: 401
+ message: Unauthorized error message
+ details: Unauthorized error details
"403":
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorMessage'
+ example:
+ status: 403
+ message: Forbidden error message
+ details: Forbidden error details
"404":
description: The specified resource was not found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorMessage'
- deprecated: true
- /v1/cm-handles/{cm-handle}/nodes:
- put:
+ example:
+ status: 400
+ message: Not found error message
+ details: Not found error details
+ "500":
+ description: Internal Server Error
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ErrorMessage'
+ example:
+ status: 500
+ message: Internal Server Error
+ details: Internal Server Error occurred
+ "502":
+ description: Bad Gateway
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/DmiErrorMessage'
+ example:
+ message: Bad Gateway Error Message NCMP
+ dmi-response:
+ http-code: 400
+ body: Bad Request
+ patch:
tags:
- network-cm-proxy
- summary: Replace a node with descendants
- description: Replace a node with descendants for the given cps path and cm Handle
- operationId: replaceNode
+ summary: Patch resource data from pass-through running
+ description: Patch resource data from pass-through running for the given cm
+ handle
+ operationId: patchResourceDataRunningForCmHandle
parameters:
+ - name: ncmp-datastore-name
+ in: path
+ description: The type of the requested data
+ required: true
+ schema:
+ type: string
+ example: ncmp-datastore:operational
- name: cm-handle
in: path
description: "The identifier for a network function, network element, subnetwork\
required: true
schema:
type: string
- - name: xpath
+ example: my-cm-handle
+ - name: resourceIdentifier
in: query
- description: xpath
+ description: The format of resource identifier depend on the associated DMI
+ Plugin implementation. For ONAP DMI Plugin it will be RESTConf paths but
+ it can really be anything.
+ required: true
+ allowReserved: true
+ schema:
+ type: string
+ examples:
+ sample 1:
+ value:
+ resourceIdentifier: \shops\bookstore
+ sample 2:
+ value:
+ resourceIdentifier: "\\shops\\bookstore\\categories[@code=1]"
+ sample 3:
+ value:
+ resourceIdentifier: "parent=shops,child=bookstore"
+ - name: Content-Type
+ in: header
+ description: "Content parameter for request, if content parameter is null,\
+ \ default value is application/json."
required: false
schema:
type: string
- default: /
+ example: application/yang-data+json
+ default: application/json
requestBody:
content:
- application/json:
+ '*/*':
schema:
- type: string
+ type: object
+ examples:
+ dataSampleRequest:
+ $ref: '#/components/examples/dataSamplePatchRequest'
required: true
responses:
"200":
application/json:
schema:
$ref: '#/components/schemas/ErrorMessage'
+ example:
+ status: 400 BAD_REQUEST
+ message: Bad request error message
+ details: Bad request error details
"401":
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorMessage'
+ example:
+ status: 401
+ message: Unauthorized error message
+ details: Unauthorized error details
"403":
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorMessage'
- "404":
- description: The specified resource was not found
+ example:
+ status: 403
+ message: Forbidden error message
+ details: Forbidden error details
+ "500":
+ description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorMessage'
- deprecated: true
- post:
+ example:
+ status: 500
+ message: Internal Server Error
+ details: Internal Server Error occurred
+ "502":
+ description: Bad Gateway
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/DmiErrorMessage'
+ example:
+ message: Bad Gateway Error Message NCMP
+ dmi-response:
+ http-code: 400
+ body: Bad Request
+ /v1/ch/{cm-handle}/modules:
+ get:
tags:
- network-cm-proxy
- summary: Create a node with descendants
- description: Create a node with descendants for the given CM Handle; top level
- or under existing node (requires xpath)
- operationId: createNode
+ summary: Fetch all module references (name and revision) for a given cm handle
+ description: fetch all module references (name and revision) for a given cm
+ handle
+ operationId: getModuleReferencesByCmHandle
parameters:
- name: cm-handle
in: path
required: true
schema:
type: string
- - name: xpath
- in: query
- description: xpath
- required: false
- schema:
- type: string
- default: /
- requestBody:
- content:
- application/json:
- schema:
- type: string
- required: true
+ example: my-cm-handle
responses:
- "201":
- description: Created
- content: {}
+ "200":
+ description: OK
+ content:
+ application/json:
+ schema:
+ type: array
+ items:
+ $ref: '#/components/schemas/RestModuleReference'
"400":
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorMessage'
+ example:
+ status: 400 BAD_REQUEST
+ message: Bad request error message
+ details: Bad request error details
"401":
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorMessage'
+ example:
+ status: 401
+ message: Unauthorized error message
+ details: Unauthorized error details
"403":
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorMessage'
- "404":
- description: The specified resource was not found
+ example:
+ status: 403
+ message: Forbidden error message
+ details: Forbidden error details
+ "500":
+ description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorMessage'
- deprecated: true
- patch:
+ example:
+ status: 500
+ message: Internal Server Error
+ details: Internal Server Error occurred
+ /v1/ch/{cm-handle}/modules/definitions:
+ get:
tags:
- network-cm-proxy
- summary: Update node leaves
- description: Update node leaves for the given cps path and cm Handle
- operationId: updateNodeLeaves
+ summary: "Fetch all module definitions (name, revision, yang resource) for a\
+ \ given cm handle"
+ description: "Fetch all module definitions (name, revision, yang resource) for\
+ \ a given cm handle"
+ operationId: getModuleDefinitionsByCmHandleId
parameters:
- name: cm-handle
in: path
required: true
schema:
type: string
- - name: xpath
- in: query
- description: xpath
- required: false
- schema:
- type: string
- default: /
+ example: my-cm-handle
+ responses:
+ "200":
+ description: OK
+ content:
+ application/json:
+ schema:
+ type: array
+ items:
+ $ref: '#/components/schemas/RestModuleDefinition'
+ "401":
+ description: Unauthorized
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ErrorMessage'
+ example:
+ status: 401
+ message: Unauthorized error message
+ details: Unauthorized error details
+ "403":
+ description: Forbidden
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ErrorMessage'
+ example:
+ status: 403
+ message: Forbidden error message
+ details: Forbidden error details
+ "500":
+ description: Internal Server Error
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ErrorMessage'
+ example:
+ status: 500
+ message: Internal Server Error
+ details: Internal Server Error occurred
+ /v1/ch/searches:
+ post:
+ tags:
+ - network-cm-proxy
+ summary: Execute cm handle search using the available conditions
+ description: Execute cm handle query search and return a list of cm handle details.
+ Any number of conditions can be applied. To be included in the result a cm-handle
+ must fulfill ALL the conditions. An empty collection will be returned in the
+ case that the cm handle does not match a condition. For more on cm handle
+ query search please refer to <a href="https://docs.onap.org/projects/onap-cps/en/latest/ncmp-cmhandle-querying.html">cm
+ handle query search Read the Docs</a>.<br/>By supplying a CPS Path it is possible
+ to query on any data related to the cm handle. For more on CPS Path please
+ refer to <a href="https://docs.onap.org/projects/onap-cps/en/latest/cps-path.html">CPS
+ Path Read the Docs</a>. The cm handle ancestor is automatically returned for
+ this query.
+ operationId: searchCmHandles
requestBody:
content:
application/json:
schema:
- type: string
+ $ref: '#/components/schemas/CmHandleQueryParameters'
+ examples:
+ Cm handle properties query:
+ $ref: '#/components/examples/pubPropCmHandleQueryParameters'
+ Cm handle modules query:
+ $ref: '#/components/examples/modulesCmHandleQueryParameters'
+ All cm handle query parameters:
+ $ref: '#/components/examples/allCmHandleQueryParameters'
+ Cm handle with CPS path state query:
+ $ref: '#/components/examples/cpsPathCmHandleStateQueryParameters'
+ Cm handle with data sync flag query:
+ $ref: '#/components/examples/cpsPathCmHandleDataSyncQueryParameters'
required: true
responses:
"200":
content:
application/json:
schema:
- type: object
+ type: array
+ items:
+ $ref: '#/components/schemas/RestOutputCmHandle'
"400":
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorMessage'
+ example:
+ status: 400 BAD_REQUEST
+ message: Bad request error message
+ details: Bad request error details
"401":
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorMessage'
+ example:
+ status: 401
+ message: Unauthorized error message
+ details: Unauthorized error details
"403":
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorMessage'
- "404":
- description: The specified resource was not found
+ example:
+ status: 403
+ message: Forbidden error message
+ details: Forbidden error details
+ "500":
+ description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorMessage'
- deprecated: true
- /v1/ch:
- post:
+ example:
+ status: 500
+ message: Internal Server Error
+ details: Internal Server Error occurred
+ /v1/ch/{cm-handle}:
+ get:
tags:
- network-cm-proxy
- summary: DMI notifies NCMP of new CM Handles
- description: "Register a DMI Plugin with any new, updated or removed CM Handles."
- operationId: updateDmiPluginRegistration
- requestBody:
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/RestDmiPluginRegistration'
+ summary: Retrieve CM handle details
+ description: Retrieve CM handle details and properties by cm handle id
+ operationId: retrieveCmHandleDetailsById
+ parameters:
+ - name: cm-handle
+ in: path
+ description: "The identifier for a network function, network element, subnetwork\
+ \ or any other cm object by managed Network CM Proxy"
required: true
+ schema:
+ type: string
+ example: my-cm-handle
responses:
- "201":
- description: Created
- content: {}
+ "200":
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/RestOutputCmHandle'
"400":
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorMessage'
+ example:
+ status: 400 BAD_REQUEST
+ message: Bad request error message
+ details: Bad request error details
"401":
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorMessage'
- "403":
- description: Forbidden
+ example:
+ status: 401
+ message: Unauthorized error message
+ details: Unauthorized error details
+ "404":
+ description: The specified resource was not found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorMessage'
- /v1/ch/{cm-handle}/data/ds/ncmp-datastore:passthrough-operational/{resourceIdentifier}:
+ example:
+ status: 400
+ message: Not found error message
+ details: Not found error details
+ "500":
+ description: Internal Server Error
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ErrorMessage'
+ example:
+ status: 500
+ message: Internal Server Error
+ details: Internal Server Error occurred
+ /v1/ch/{cm-handle}/properties:
get:
tags:
- network-cm-proxy
- summary: Get resource data from pass-through operational for cm handle
- description: Get resource data from pass-through operational for given cm handle
- operationId: getResourceDataOperationalForCmHandle
+ summary: Get CM handle properties
+ description: Get CM handle properties by cm handle id
+ operationId: getCmHandlePublicPropertiesByCmHandleId
parameters:
- name: cm-handle
in: path
required: true
schema:
type: string
- - name: resourceIdentifier
- in: path
- description: Resource identifier to get/set the resource data
+ example: my-cm-handle
+ responses:
+ "200":
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/RestOutputCmHandlePublicProperties'
+ "400":
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ErrorMessage'
+ example:
+ status: 400 BAD_REQUEST
+ message: Bad request error message
+ details: Bad request error details
+ "401":
+ description: Unauthorized
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ErrorMessage'
+ example:
+ status: 401
+ message: Unauthorized error message
+ details: Unauthorized error details
+ "404":
+ description: The specified resource was not found
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ErrorMessage'
+ example:
+ status: 400
+ message: Not found error message
+ details: Not found error details
+ "500":
+ description: Internal Server Error
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ErrorMessage'
+ example:
+ status: 500
+ message: Internal Server Error
+ details: Internal Server Error occurred
+ /v1/ch/id-searches:
+ post:
+ tags:
+ - network-cm-proxy
+ summary: Execute cm handle query upon a given set of query parameters
+ description: Execute cm handle query search and return a list of cm handle ids.
+ Any number of conditions can be applied. To be included in the result a cm-handle
+ must fulfill ALL the conditions. An empty collection will be returned in the
+ case that the cm handle does not match a condition. For more on cm handle
+ query search please refer to <a href="https://docs.onap.org/projects/onap-cps/en/latest/ncmp-cmhandle-querying.html">cm
+ handle query search Read the Docs</a>.<br/>By supplying a CPS Path it is possible
+ to query on any data related to the cm handle. For more on CPS Path please
+ refer to <a href="https://docs.onap.org/projects/onap-cps/en/latest/cps-path.html">CPS
+ Path Read the Docs</a>. The cm handle ancestor is automatically returned for
+ this query.
+ operationId: searchCmHandleIds
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/CmHandleQueryParameters'
+ examples:
+ Cm handle properties query:
+ $ref: '#/components/examples/pubPropCmHandleQueryParameters'
+ Cm handle modules query:
+ $ref: '#/components/examples/modulesCmHandleQueryParameters'
+ All cm handle query parameters:
+ $ref: '#/components/examples/allCmHandleQueryParameters'
+ Cm handle with CPS path state query:
+ $ref: '#/components/examples/cpsPathCmHandleStateQueryParameters'
+ Cm handle with data sync flag query:
+ $ref: '#/components/examples/cpsPathCmHandleDataSyncQueryParameters'
required: true
- schema:
- type: string
- - name: Accept
- in: header
- description: "Accept parameter for response, if accept parameter is null,\
- \ that means client can accept any format."
- required: false
- schema:
- type: string
- enum:
- - application/json
- - application/yang-data+json
- - name: fields
- in: query
- description: Fields parameter to filter resource
- required: false
- schema:
- type: string
- - name: depth
- in: query
- description: Depth parameter for response
- required: false
- schema:
- minimum: 1
- type: integer
responses:
"200":
description: OK
content:
application/json:
schema:
- type: object
+ type: array
+ items:
+ type: string
"400":
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorMessage'
+ example:
+ status: 400 BAD_REQUEST
+ message: Bad request error message
+ details: Bad request error details
"401":
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorMessage'
+ example:
+ status: 401
+ message: Unauthorized error message
+ details: Unauthorized error details
"403":
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorMessage'
+ example:
+ status: 403
+ message: Forbidden error message
+ details: Forbidden error details
"404":
description: The specified resource was not found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorMessage'
- /v1/ch/{cm-handle}/data/ds/ncmp-datastore:passthrough-running/{resourceIdentifier}:
+ example:
+ status: 400
+ message: Not found error message
+ details: Not found error details
+ "500":
+ description: Internal Server Error
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ErrorMessage'
+ example:
+ status: 500
+ message: Internal Server Error
+ details: Internal Server Error occurred
+ /v1/ch/{cm-handle}/state:
get:
tags:
- network-cm-proxy
- summary: Get resource data from pass-through running for cm handle
- description: Get resource data from pass-through running for given cm handle
- operationId: getResourceDataRunningForCmHandle
+ summary: Get CM handle state
+ description: Get CM handle state by cm handle id
+ operationId: getCmHandleStateByCmHandleId
parameters:
- name: cm-handle
in: path
required: true
schema:
type: string
- - name: resourceIdentifier
- in: path
- description: Resource identifier to get/set the resource data
- required: true
- schema:
- type: string
- - name: Accept
- in: header
- description: "Accept parameter for response, if accept parameter is null,\
- \ that means client can accept any format."
- required: false
- schema:
- type: string
- enum:
- - application/json
- - application/yang-data+json
- - name: fields
- in: query
- description: Fields parameter to filter resource
- required: false
- schema:
- type: string
- - name: depth
- in: query
- description: Depth parameter for response
- required: false
- schema:
- minimum: 1
- type: integer
+ example: my-cm-handle
responses:
"200":
description: OK
content:
application/json:
schema:
- type: object
+ $ref: '#/components/schemas/RestOutputCmHandleCompositeState'
"400":
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorMessage'
+ example:
+ status: 400 BAD_REQUEST
+ message: Bad request error message
+ details: Bad request error details
"401":
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorMessage'
- "403":
- description: Forbidden
+ example:
+ status: 401
+ message: Unauthorized error message
+ details: Unauthorized error details
+ "404":
+ description: The specified resource was not found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorMessage'
- "404":
- description: The specified resource was not found
+ example:
+ status: 400
+ message: Not found error message
+ details: Not found error details
+ "500":
+ description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorMessage'
- post:
+ example:
+ status: 500
+ message: Internal Server Error
+ details: Internal Server Error occurred
+ /v1/ch/{cm-handle}/data-sync:
+ put:
tags:
- network-cm-proxy
- summary: create resource data from pass-through running for cm handle
- description: create resource data from pass-through running for given cm handle
- operationId: createResourceDataRunningForCmHandle
+ summary: Set the Data Sync Enabled Flag
+ description: Set the data sync enabled flag to true or false for a specified
+ Cm-Handle. This will in turn set the data sync state to UNSYNCHRONIZED and
+ NONE_REQUESTED respectfully.
+ operationId: setDataSyncEnabledFlagForCmHandle
parameters:
- name: cm-handle
in: path
required: true
schema:
type: string
- - name: resourceIdentifier
- in: path
- description: Resource identifier to get/set the resource data
+ example: my-cm-handle
+ - name: dataSyncEnabled
+ in: query
+ description: Is used to enable or disable the data synchronization flag
required: true
schema:
- type: string
- - name: Content-Type
- in: header
- description: "Content parameter for request, if content parameter is null,\
- \ default value is application/json."
- required: false
- schema:
- type: string
- default: application/json
- requestBody:
- content:
- application/json:
- schema:
- type: object
- application/yang-data+json:
- schema:
- type: object
- required: true
+ type: boolean
+ example: true
responses:
- "201":
- description: Created
- content: {}
+ "200":
+ description: OK
+ content:
+ application/json:
+ schema:
+ type: object
"400":
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorMessage'
+ example:
+ status: 400 BAD_REQUEST
+ message: Bad request error message
+ details: Bad request error details
"401":
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorMessage'
+ example:
+ status: 401
+ message: Unauthorized error message
+ details: Unauthorized error details
"403":
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorMessage'
- "404":
- description: The specified resource was not found
+ example:
+ status: 403
+ message: Forbidden error message
+ details: Forbidden error details
+ "500":
+ description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorMessage'
+ example:
+ status: 500
+ message: Internal Server Error
+ details: Internal Server Error occurred
+ "502":
+ description: Bad Gateway
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/DmiErrorMessage'
+ example:
+ message: Bad Gateway Error Message NCMP
+ dmi-response:
+ http-code: 400
+ body: Bad Request
components:
+ securitySchemes:
+ basicAuth:
+ type: http
+ scheme: basic
schemas:
ErrorMessage:
title: Error
type: string
details:
type: string
- RestDmiPluginRegistration:
+ DmiErrorMessage:
+ title: DMI Error Message
+ type: object
+ properties:
+ message:
+ type: string
+ example: Bad Gateway Error Message NCMP
+ dmi-response:
+ $ref: '#/components/schemas/DmiErrorMessage_dmiresponse'
+ RestModuleReference:
+ title: Module reference details
+ type: object
+ properties:
+ moduleName:
+ type: string
+ example: my-module-name
+ revision:
+ type: string
+ example: my-module-revision
+ RestModuleDefinition:
+ title: Module definitions
type: object
properties:
- dmiPlugin:
+ moduleName:
type: string
- example: onap-dmi-plugin
- createdCmHandles:
+ example: my-module-name
+ revision:
+ type: string
+ example: 2020-09-15T00:00:00.000+00:00
+ content:
+ type: string
+ example: "module stores {\n yang-version 1.1;\n namespace \"org:onap:ccsdk:sample\"\
+ ;\n prefix book-store;\n revision \"2020-09-15\" {\n description\n\
+ \ \"Sample Model\";\n }\n}\n"
+ CmHandleQueryParameters:
+ title: Cm Handle query parameters for executing cm handle search
+ type: object
+ properties:
+ cmHandleQueryParameters:
type: array
items:
- $ref: '#/components/schemas/RestCmHandle'
- updatedCmHandles:
+ $ref: '#/components/schemas/ConditionProperties'
+ conditions:
type: array
+ description: "not necessary, it is just for backward compatibility"
+ deprecated: true
items:
- $ref: '#/components/schemas/RestCmHandle'
- removedCmHandles:
+ $ref: '#/components/schemas/OldConditionProperties'
+ ConditionProperties:
+ properties:
+ conditionName:
+ type: string
+ conditionParameters:
type: array
items:
- type: string
- RestCmHandle:
- required:
- - cmHandle
+ type: object
+ additionalProperties:
+ type: string
+ OldConditionProperties:
+ properties:
+ name:
+ type: string
+ conditionParameters:
+ type: array
+ items:
+ $ref: '#/components/schemas/ModuleNameAsJsonObject'
+ deprecated: true
+ ModuleNameAsJsonObject:
+ properties:
+ moduleName:
+ type: string
+ example: my-module
+ RestOutputCmHandle:
+ title: CM handle Details
type: object
properties:
cmHandle:
type: string
- example: cmHandle123
- cmHandleProperties:
- $ref: '#/components/schemas/RestCmHandleAdditionalProperties'
- RestCmHandleAdditionalProperties:
+ example: my-cm-handle1
+ publicCmHandleProperties:
+ $ref: '#/components/schemas/CmHandlePublicProperties'
+ state:
+ $ref: '#/components/schemas/CmHandleCompositeState'
+ CmHandlePublicProperties:
+ type: array
+ items:
+ type: object
+ additionalProperties:
+ type: string
+ example: Book Type
+ CmHandleCompositeState:
+ type: object
+ properties:
+ cmHandleState:
+ type: string
+ example: ADVISED
+ lockReason:
+ $ref: '#/components/schemas/lock-reason'
+ lastUpdateTime:
+ type: string
+ example: 2022-12-31T20:30:40.000+0000
+ dataSyncEnabled:
+ type: boolean
+ example: false
+ dataSyncState:
+ $ref: '#/components/schemas/dataStores'
+ lock-reason:
+ type: object
+ properties:
+ reason:
+ type: string
+ example: LOCKED_MISBEHAVING
+ details:
+ type: string
+ example: locked due to failure in module sync
+ dataStores:
type: object
- additionalProperties:
- type: string
- example: system-001
+ properties:
+ operational:
+ $ref: '#/components/schemas/sync-state'
+ running:
+ $ref: '#/components/schemas/sync-state'
+ sync-state:
+ type: object
+ properties:
+ syncState:
+ type: string
+ example: NONE_REQUESTED
+ lastSyncTime:
+ type: string
+ example: 2022-12-31T20:30:40.000+0000
+ RestOutputCmHandlePublicProperties:
+ type: object
+ properties:
+ publicCmHandleProperties:
+ $ref: '#/components/schemas/CmHandlePublicProperties'
+ RestOutputCmHandleCompositeState:
+ type: object
+ properties:
+ state:
+ $ref: '#/components/schemas/CmHandleCompositeState'
+ DmiErrorMessage_dmiresponse:
+ type: object
+ properties:
+ http-code:
+ type: integer
+ example: 400
+ body:
+ type: string
+ example: Bad Request
+ examples:
+ dataSampleResponse:
+ summary: Sample response
+ description: Sample response for selecting 'sample 1'.
+ value:
+ bookstore:
+ categories:
+ - code: "01"
+ books:
+ - authors:
+ - Iain M. Banks
+ - Ursula K. Le Guin
+ name: SciFi
+ - code: "02"
+ books:
+ - authors:
+ - Philip Pullman
+ name: kids
+ dataSampleRequest:
+ summary: Sample request
+ description: Sample request body
+ value:
+ test:bookstore:
+ bookstore-name: Chapters
+ categories:
+ - code: "01"
+ name: SciFi
+ books:
+ - authors:
+ - Iain M. Banks
+ - Ursula K. Le Guin
+ - code: "02"
+ name: kids
+ books:
+ - authors:
+ - Philip Pullman
+ dataSamplePatchRequest:
+ summary: Sample patch request
+ description: Sample patch request body
+ value:
+ ietf-restconf:yang-patch:
+ patch-id: patch-1
+ edit:
+ - edit-id: edit1
+ operation: merge
+ target: /
+ value:
+ test:bookstore:
+ bookstore-name: Chapters
+ categories:
+ - code: "01"
+ name: Science
+ books:
+ - authors:
+ - Author1
+ - Author2
+ - code: "02"
+ name: Arts
+ books:
+ - authors:
+ - Author3
+ - edit-id: edit2
+ operation: merge
+ target: /
+ value:
+ test:bookstore:
+ bookstore-name: Novels
+ categories:
+ - code: "03"
+ name: History
+ books:
+ - authors:
+ - Iain M. Banks
+ - Ursula K. Le Guin
+ - code: "04"
+ name: Fiction
+ books:
+ - authors:
+ - Philip Pullman
+ pubPropCmHandleQueryParameters:
+ value:
+ cmHandleQueryParameters:
+ - conditionName: hasAllProperties
+ conditionParameters:
+ - Color: yellow
+ - Shape: circle
+ - Size: small
+ modulesCmHandleQueryParameters:
+ value:
+ cmHandleQueryParameters:
+ - conditionName: hasAllModules
+ conditionParameters:
+ - moduleName: my-module-1
+ - moduleName: my-module-2
+ - moduleName: my-module-3
+ allCmHandleQueryParameters:
+ value:
+ cmHandleQueryParameters:
+ - conditionName: hasAllModules
+ conditionParameters:
+ - moduleName: my-module-1
+ - moduleName: my-module-2
+ - moduleName: my-module-3
+ - conditionName: hasAllProperties
+ conditionParameters:
+ - Color: yellow
+ - Shape: circle
+ - Size: small
+ - conditionName: cmHandleWithCpsPath
+ conditionParameters:
+ - cpsPath: "//state[@cm-handle-state='ADVISED']"
+ cpsPathCmHandleStateQueryParameters:
+ value:
+ cmHandleQueryParameters:
+ - conditionName: cmHandleWithCpsPath
+ conditionParameters:
+ - cpsPath: "//state[@cm-handle-state='LOCKED']"
+ cpsPathCmHandleDataSyncQueryParameters:
+ value:
+ cmHandleQueryParameters:
+ - conditionName: cmHandleWithCpsPath
+ conditionParameters:
+ - cpsPath: "//state[@data-sync-enabled='true']"
+
+security:
+ - basicAuth: []