-openapi: 3.0.1
+openapi: 3.0.3
info:
- title: NCMP to CPS Proxy API
description: NCMP to CPS Proxy API
+ title: NCMP to CPS Proxy API
version: "1.0"
servers:
- - url: /ncmp
+- url: /ncmp
+security:
+- basicAuth: []
paths:
- /v1/cm-handles/{cm-handle}/node:
- 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
+ /v1/ch/{cm-handle}/data/ds/{datastore-name}:
+ delete:
+ description: Delete resource data from pass-through running for a given cm handle
+ operationId: deleteResourceDataRunningForCmHandle
parameters:
- - name: cm-handle
- in: path
- description: "The identifier for a network function, network element, subnetwork\
+ - description: The type of the requested data
+ in: path
+ name: datastore-name
+ required: true
+ schema:
+ example: ncmp-datastore:running
+ type: string
+ - 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
- - name: xpath
- in: query
- description: xpath
- required: false
- schema:
- type: string
- default: /
- - name: include-descendants
- in: query
- description: include-descendants
- required: false
- schema:
- type: boolean
- default: false
+ in: path
+ name: cm-handle
+ required: true
+ schema:
+ example: my-cm-handle
+ type: string
+ - allowReserved: true
+ 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.
+ examples:
+ sample 1:
+ value:
+ resourceIdentifier: \shops\bookstore
+ sample 2:
+ value:
+ resourceIdentifier: "\\shops\\bookstore\\categories[@code=1]"
+ sample 3:
+ value:
+ resourceIdentifier: "parent=shops,child=bookstore"
+ in: query
+ name: resourceIdentifier
+ required: true
+ schema:
+ type: string
+ - description: "Content parameter for request, if content parameter is null,\
+ \ default value is application/json."
+ in: header
+ name: Content-Type
+ required: false
+ schema:
+ default: application/json
+ example: application/yang-data+json
+ type: string
+ - description: Authorization parameter for request.
+ in: header
+ name: Authorization
+ required: false
+ schema:
+ type: string
responses:
- "200":
- description: OK
- content:
- application/json:
- schema:
- type: object
+ "204":
+ content: {}
+ description: No Content
"400":
- description: Bad Request
content:
application/json:
+ example:
+ status: 400 BAD_REQUEST
+ message: Bad request error message
+ details: Bad request error details
schema:
$ref: '#/components/schemas/ErrorMessage'
- "401":
- description: Unauthorized
+ description: Bad Request
+ "403":
content:
application/json:
+ example:
+ status: 403
+ message: Forbidden error message
+ details: Forbidden error details
schema:
$ref: '#/components/schemas/ErrorMessage'
- "403":
description: Forbidden
+ "404":
content:
application/json:
+ example:
+ status: 400
+ message: Not found error message
+ details: Not found error details
schema:
$ref: '#/components/schemas/ErrorMessage'
- "404":
description: The specified resource was not found
+ "500":
content:
application/json:
+ example:
+ status: 500
+ message: Internal Server Error
+ details: Internal Server Error occurred
schema:
$ref: '#/components/schemas/ErrorMessage'
- deprecated: true
- /v1/cm-handles/{cm-handle}/list-node:
- post:
+ description: Internal Server Error
+ "502":
+ content:
+ application/json:
+ example:
+ message: Bad Gateway Error Message NCMP
+ dmi-response:
+ http-code: 400
+ body: Bad Request
+ schema:
+ $ref: '#/components/schemas/DmiErrorMessage'
+ description: Bad Gateway
+ summary: Delete resource data
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
+ - network-cm-proxy
+ get:
+ description: Get resource data for given cm handle
+ operationId: getResourceDataForCmHandle
parameters:
- - name: cm-handle
- in: path
- description: "The identifier for a network function, network element, subnetwork\
+ - description: The type of the requested data
+ in: path
+ name: datastore-name
+ required: true
+ schema:
+ example: ncmp-datastore:running
+ type: string
+ - 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
- - name: xpath
- in: query
- description: xpath
- required: true
- schema:
- type: string
- requestBody:
- content:
- application/json:
- schema:
- type: string
+ in: path
+ name: cm-handle
+ required: true
+ schema:
+ example: my-cm-handle
+ type: string
+ - allowReserved: true
+ 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.
+ examples:
+ sample 1:
+ value:
+ resourceIdentifier: \shops\bookstore
+ sample 2:
+ value:
+ resourceIdentifier: "\\shops\\bookstore\\categories[@code=1]"
+ sample 3:
+ value:
+ resourceIdentifier: "parent=shops,child=bookstore"
+ in: query
+ name: resourceIdentifier
required: true
+ schema:
+ type: string
+ - allowReserved: true
+ 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."
+ examples:
+ sample 1:
+ value:
+ options: (depth=3)
+ sample 2:
+ value:
+ options: (fields=book)
+ sample 3:
+ value:
+ options: "(depth=2,fields=book/authors)"
+ in: query
+ name: options
+ required: false
+ schema:
+ type: string
+ - allowReserved: true
+ description: topic parameter in query.
+ examples:
+ sample 1:
+ value:
+ topic: my-topic-name
+ in: query
+ name: topic
+ required: false
+ schema:
+ type: string
+ - description: Determines if descendants are included in response
+ in: query
+ name: include-descendants
+ required: false
+ schema:
+ default: false
+ type: boolean
+ - description: Authorization parameter for request.
+ in: header
+ name: Authorization
+ required: false
+ schema:
+ type: string
responses:
- "201":
- description: Created
- content: {}
+ "200":
+ content:
+ application/json:
+ examples:
+ dataSampleResponse:
+ $ref: '#/components/examples/dataSampleResponse'
+ value: null
+ schema:
+ type: object
+ description: OK
"400":
- description: Bad Request
content:
application/json:
+ example:
+ status: 400 BAD_REQUEST
+ message: Bad request error message
+ details: Bad request error details
schema:
$ref: '#/components/schemas/ErrorMessage'
- "401":
- description: Unauthorized
+ description: Bad Request
+ "403":
content:
application/json:
+ example:
+ status: 403
+ message: Forbidden error message
+ details: Forbidden error details
schema:
$ref: '#/components/schemas/ErrorMessage'
- "403":
description: Forbidden
+ "500":
content:
application/json:
+ example:
+ status: 500
+ message: Internal Server Error
+ details: Internal Server Error occurred
schema:
$ref: '#/components/schemas/ErrorMessage'
- "404":
- description: The specified resource was not found
+ description: Internal Server Error
+ "502":
content:
application/json:
+ example:
+ message: Bad Gateway Error Message NCMP
+ dmi-response:
+ http-code: 400
+ body: Bad Request
schema:
- $ref: '#/components/schemas/ErrorMessage'
- deprecated: true
- /v1/cm-handles/{cm-handle}/nodes/query:
- get:
+ $ref: '#/components/schemas/DmiErrorMessage'
+ description: Bad Gateway
+ summary: Get resource data for cm handle
tags:
- - network-cm-proxy
- summary: Query data nodes
- description: Query nodes for the given cps path and cm Handle
- operationId: queryNodesByCmHandleAndCpsPath
+ - network-cm-proxy
+ patch:
+ description: Patch resource data from pass-through running for the given cm
+ handle
+ operationId: patchResourceDataRunningForCmHandle
parameters:
- - name: cm-handle
- in: path
- description: "The identifier for a network function, network element, subnetwork\
+ - description: The type of the requested data
+ in: path
+ name: datastore-name
+ required: true
+ schema:
+ example: ncmp-datastore:running
+ type: string
+ - 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
- - name: cps-path
- in: query
- description: cps-path
- required: false
- schema:
- type: string
- default: /
- - name: include-descendants
- in: query
- description: include-descendants
- required: false
- schema:
- type: boolean
- default: false
+ in: path
+ name: cm-handle
+ required: true
+ schema:
+ example: my-cm-handle
+ type: string
+ - allowReserved: true
+ 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.
+ examples:
+ sample 1:
+ value:
+ resourceIdentifier: \shops\bookstore
+ sample 2:
+ value:
+ resourceIdentifier: "\\shops\\bookstore\\categories[@code=1]"
+ sample 3:
+ value:
+ resourceIdentifier: "parent=shops,child=bookstore"
+ in: query
+ name: resourceIdentifier
+ required: true
+ schema:
+ type: string
+ - description: "Content parameter for request, if content parameter is null,\
+ \ default value is application/json."
+ in: header
+ name: Content-Type
+ required: false
+ schema:
+ default: application/json
+ example: application/yang-data+json
+ type: string
+ - description: Authorization parameter for request.
+ in: header
+ name: Authorization
+ required: false
+ schema:
+ type: string
+ requestBody:
+ content:
+ '*/*':
+ examples:
+ dataSampleRequest:
+ $ref: '#/components/examples/dataSamplePatchRequest'
+ value: null
+ schema:
+ type: object
+ required: true
responses:
"200":
- description: OK
content:
application/json:
schema:
type: object
+ description: OK
"400":
- description: Bad Request
content:
application/json:
+ example:
+ status: 400 BAD_REQUEST
+ message: Bad request error message
+ details: Bad request error details
schema:
$ref: '#/components/schemas/ErrorMessage'
- "401":
- description: Unauthorized
+ description: Bad Request
+ "403":
content:
application/json:
+ example:
+ status: 403
+ message: Forbidden error message
+ details: Forbidden error details
schema:
$ref: '#/components/schemas/ErrorMessage'
- "403":
description: Forbidden
+ "500":
content:
application/json:
+ example:
+ status: 500
+ message: Internal Server Error
+ details: Internal Server Error occurred
schema:
$ref: '#/components/schemas/ErrorMessage'
- "404":
- description: The specified resource was not found
+ description: Internal Server Error
+ "502":
content:
application/json:
+ example:
+ message: Bad Gateway Error Message NCMP
+ dmi-response:
+ http-code: 400
+ body: Bad Request
schema:
- $ref: '#/components/schemas/ErrorMessage'
- deprecated: true
- /v1/cm-handles/{cm-handle}/nodes:
- put:
+ $ref: '#/components/schemas/DmiErrorMessage'
+ description: Bad Gateway
+ summary: Patch resource data from pass-through running
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
+ - network-cm-proxy
+ post:
+ description: create resource data from pass-through running for given cm handle
+ operationId: createResourceDataRunningForCmHandle
parameters:
- - name: cm-handle
- in: path
- description: "The identifier for a network function, network element, subnetwork\
+ - description: The type of the requested data
+ in: path
+ name: datastore-name
+ required: true
+ schema:
+ example: ncmp-datastore:running
+ type: string
+ - 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
- - name: xpath
- in: query
- description: xpath
- required: false
- schema:
- type: string
- default: /
+ in: path
+ name: cm-handle
+ required: true
+ schema:
+ example: my-cm-handle
+ type: string
+ - allowReserved: true
+ 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.
+ examples:
+ sample 1:
+ value:
+ resourceIdentifier: \shops\bookstore
+ sample 2:
+ value:
+ resourceIdentifier: "\\shops\\bookstore\\categories[@code=1]"
+ sample 3:
+ value:
+ resourceIdentifier: "parent=shops,child=bookstore"
+ in: query
+ name: resourceIdentifier
+ required: true
+ schema:
+ type: string
+ - description: "Content parameter for request, if content parameter is null,\
+ \ default value is application/json."
+ in: header
+ name: Content-Type
+ required: false
+ schema:
+ default: application/json
+ example: application/yang-data+json
+ type: string
+ - description: Authorization parameter for request.
+ in: header
+ name: Authorization
+ required: false
+ schema:
+ type: string
requestBody:
content:
application/json:
+ examples:
+ dataSampleRequest:
+ $ref: '#/components/examples/dataSampleRequest'
+ value: null
schema:
- type: string
+ type: object
+ application/yang-data+json:
+ examples:
+ dataSampleRequest:
+ $ref: '#/components/examples/dataSampleRequest'
+ value: null
+ schema:
+ type: object
required: true
responses:
- "200":
- description: OK
- content:
- application/json:
- schema:
- type: object
+ "201":
+ content: {}
+ description: Created
"400":
- description: Bad Request
content:
application/json:
+ example:
+ status: 400 BAD_REQUEST
+ message: Bad request error message
+ details: Bad request error details
schema:
$ref: '#/components/schemas/ErrorMessage'
- "401":
- description: Unauthorized
+ description: Bad Request
+ "403":
content:
application/json:
+ example:
+ status: 403
+ message: Forbidden error message
+ details: Forbidden error details
schema:
$ref: '#/components/schemas/ErrorMessage'
- "403":
description: Forbidden
+ "500":
content:
application/json:
+ example:
+ status: 500
+ message: Internal Server Error
+ details: Internal Server Error occurred
schema:
$ref: '#/components/schemas/ErrorMessage'
- "404":
- description: The specified resource was not found
+ description: Internal Server Error
+ "502":
content:
application/json:
+ example:
+ message: Bad Gateway Error Message NCMP
+ dmi-response:
+ http-code: 400
+ body: Bad Request
schema:
- $ref: '#/components/schemas/ErrorMessage'
- deprecated: true
- post:
+ $ref: '#/components/schemas/DmiErrorMessage'
+ description: Bad Gateway
+ summary: create resource data from pass-through running for cm handle
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
+ - network-cm-proxy
+ put:
+ description: Update resource data from pass-through running for the given cm
+ handle
+ operationId: updateResourceDataRunningForCmHandle
parameters:
- - name: cm-handle
- in: path
- description: "The identifier for a network function, network element, subnetwork\
+ - description: The type of the requested data
+ in: path
+ name: datastore-name
+ required: true
+ schema:
+ example: ncmp-datastore:running
+ type: string
+ - 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
- - name: xpath
- in: query
- description: xpath
- required: false
- schema:
- type: string
- default: /
+ in: path
+ name: cm-handle
+ required: true
+ schema:
+ example: my-cm-handle
+ type: string
+ - allowReserved: true
+ 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.
+ examples:
+ sample 1:
+ value:
+ resourceIdentifier: \shops\bookstore
+ sample 2:
+ value:
+ resourceIdentifier: "\\shops\\bookstore\\categories[@code=1]"
+ sample 3:
+ value:
+ resourceIdentifier: "parent=shops,child=bookstore"
+ in: query
+ name: resourceIdentifier
+ required: true
+ schema:
+ type: string
+ - description: "Content parameter for request, if content parameter is null,\
+ \ default value is application/json."
+ in: header
+ name: Content-Type
+ required: false
+ schema:
+ default: application/json
+ example: application/yang-data+json
+ type: string
+ - description: Authorization parameter for request.
+ in: header
+ name: Authorization
+ required: false
+ schema:
+ type: string
requestBody:
content:
application/json:
+ examples:
+ dataSampleRequest:
+ $ref: '#/components/examples/dataSampleRequest'
+ value: null
schema:
- type: string
+ type: object
+ application/yang-data+json:
+ examples:
+ dataSampleRequest:
+ $ref: '#/components/examples/dataSampleRequest'
+ value: null
+ schema:
+ type: object
required: true
responses:
- "201":
- description: Created
- content: {}
+ "200":
+ content:
+ application/json:
+ schema:
+ type: object
+ description: OK
"400":
- description: Bad Request
content:
application/json:
+ example:
+ status: 400 BAD_REQUEST
+ message: Bad request error message
+ details: Bad request error details
schema:
$ref: '#/components/schemas/ErrorMessage'
- "401":
- description: Unauthorized
+ description: Bad Request
+ "403":
content:
application/json:
+ example:
+ status: 403
+ message: Forbidden error message
+ details: Forbidden error details
schema:
$ref: '#/components/schemas/ErrorMessage'
- "403":
description: Forbidden
+ "500":
content:
application/json:
+ example:
+ status: 500
+ message: Internal Server Error
+ details: Internal Server Error occurred
schema:
$ref: '#/components/schemas/ErrorMessage'
- "404":
- description: The specified resource was not found
+ description: Internal Server Error
+ "502":
content:
application/json:
+ example:
+ message: Bad Gateway Error Message NCMP
+ dmi-response:
+ http-code: 400
+ body: Bad Request
schema:
- $ref: '#/components/schemas/ErrorMessage'
- deprecated: true
- patch:
+ $ref: '#/components/schemas/DmiErrorMessage'
+ description: Bad Gateway
+ summary: Update resource data from pass-through running for a cm handle
tags:
- - network-cm-proxy
- summary: Update node leaves
- description: Update node leaves for the given cps path and cm Handle
- operationId: updateNodeLeaves
+ - network-cm-proxy
+ /v1/data:
+ post:
+ description: This request will be handled asynchronously using messaging to
+ the supplied topic. The rest response will be an acknowledge with a requestId
+ to identify the relevant messages.
+ operationId: executeDataOperationForCmHandles
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
- - name: xpath
- in: query
- description: xpath
- required: false
- schema:
- type: string
- default: /
+ - allowReserved: true
+ description: mandatory topic parameter in query.
+ examples:
+ sample 1:
+ value:
+ topic: my-topic-name
+ in: query
+ name: topic
+ required: true
+ schema:
+ type: string
+ - description: Authorization parameter for request.
+ in: header
+ name: Authorization
+ required: false
+ schema:
+ type: string
requestBody:
content:
application/json:
schema:
- type: string
+ $ref: '#/components/schemas/DataOperationRequest'
required: true
responses:
"200":
- description: OK
content:
application/json:
schema:
type: object
+ description: OK
"400":
- description: Bad Request
content:
application/json:
+ example:
+ status: 400 BAD_REQUEST
+ message: Bad request error message
+ details: Bad request error details
schema:
$ref: '#/components/schemas/ErrorMessage'
- "401":
- description: Unauthorized
+ description: Bad Request
+ "403":
content:
application/json:
+ example:
+ status: 403
+ message: Forbidden error message
+ details: Forbidden error details
schema:
$ref: '#/components/schemas/ErrorMessage'
- "403":
description: Forbidden
+ "500":
content:
application/json:
+ example:
+ status: 500
+ message: Internal Server Error
+ details: Internal Server Error occurred
schema:
$ref: '#/components/schemas/ErrorMessage'
- "404":
- description: The specified resource was not found
+ description: Internal Server Error
+ "502":
content:
application/json:
+ example:
+ message: Bad Gateway Error Message NCMP
+ dmi-response:
+ http-code: 400
+ body: Bad Request
schema:
- $ref: '#/components/schemas/ErrorMessage'
- deprecated: true
- /v1/ch/{cm-handle}/data/ds/ncmp-datastore:passthrough-operational:
- get:
+ $ref: '#/components/schemas/DmiErrorMessage'
+ description: Bad Gateway
+ summary: Execute a data operation for group of cm handle ids
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
+ - network-cm-proxy
+ /v1/ch/{cm-handle}/data/ds/{datastore-name}/query:
+ get:
+ description: Query resource data for a given cm handle
+ operationId: queryResourceDataForCmHandle
parameters:
- - name: cm-handle
- in: path
- description: "The identifier for a network function, network element, subnetwork\
+ - description: The type of the requested data
+ in: path
+ name: datastore-name
+ required: true
+ schema:
+ example: ncmp-datastore:running
+ type: string
+ - 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
- - 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:
- sample1:
- value:
- resourceIdentifier: \parent\child
- sample2:
- value:
- resourceIdentifier: "\\parent\\listElement[key=value]"
- sample3:
- value:
- resourceIdentifier: "\\parent\\listElement[key=value]\\grandChild"
- sample4:
- value:
- resourceIdentifier: "parent=1,child=abc"
- - 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: options
- in: query
- description: "options parameter in query, it is mandatory to wrap key(s)=value(s)\
- \ in parenthesis'()'."
- required: false
- allowReserved: true
- schema:
- type: string
- examples:
- sample1:
- value:
- options: "(key1=value1,key2=value2)"
- sample2:
- value:
- options: "(key1=value1,key2=value1/value2)"
- sample3:
- value:
- options: "(key1=10,key2=value2,key3=[val31;val32])"
+ in: path
+ name: cm-handle
+ required: true
+ schema:
+ example: my-cm-handle
+ type: string
+ - description: "For more details on cps path, please refer https://docs.onap.org/projects/onap-cps/en/latest/cps-path.html"
+ examples:
+ container cps path:
+ value: //bookstore
+ list attributes cps path:
+ value: "//categories[@code=1]"
+ in: query
+ name: cps-path
+ required: false
+ schema:
+ default: /
+ type: string
+ - allowReserved: true
+ 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."
+ examples:
+ sample 1:
+ value:
+ options: (depth=3)
+ sample 2:
+ value:
+ options: (fields=book)
+ sample 3:
+ value:
+ options: "(depth=2,fields=book/authors)"
+ in: query
+ name: options
+ required: false
+ schema:
+ type: string
+ - allowReserved: true
+ description: topic parameter in query.
+ examples:
+ sample 1:
+ value:
+ topic: my-topic-name
+ in: query
+ name: topic
+ required: false
+ schema:
+ type: string
+ - description: Determines if descendants are included in response
+ in: query
+ name: include-descendants
+ required: false
+ schema:
+ default: false
+ type: boolean
responses:
"200":
- description: OK
content:
application/json:
+ examples:
+ dataSampleResponse:
+ $ref: '#/components/examples/dataSampleResponse'
+ value: null
schema:
type: object
+ description: OK
"400":
+ content:
+ application/json:
+ example:
+ status: 400 BAD_REQUEST
+ message: Bad request error message
+ details: Bad request error details
+ schema:
+ $ref: '#/components/schemas/ErrorMessage'
description: Bad Request
+ "403":
content:
application/json:
+ example:
+ status: 403
+ message: Forbidden error message
+ details: Forbidden error details
schema:
$ref: '#/components/schemas/ErrorMessage'
- "401":
- description: Unauthorized
+ description: Forbidden
+ "500":
+ content:
+ application/json:
+ example:
+ status: 500
+ message: Internal Server Error
+ details: Internal Server Error occurred
+ schema:
+ $ref: '#/components/schemas/ErrorMessage'
+ description: Internal Server Error
+ "502":
+ content:
+ application/json:
+ example:
+ message: Bad Gateway Error Message NCMP
+ dmi-response:
+ http-code: 400
+ body: Bad Request
+ schema:
+ $ref: '#/components/schemas/DmiErrorMessage'
+ description: Bad Gateway
+ summary: Query resource data for a given cm handle
+ tags:
+ - network-cm-proxy
+ /v1/ch/{cm-handle}/modules:
+ get:
+ description: fetch all module references (name and revision) for a given cm
+ handle
+ operationId: getModuleReferencesByCmHandle
+ parameters:
+ - description: "The identifier for a network function, network element, subnetwork\
+ \ or any other cm object by managed Network CM Proxy"
+ in: path
+ name: cm-handle
+ required: true
+ schema:
+ example: my-cm-handle
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ items:
+ $ref: '#/components/schemas/RestModuleReference'
+ type: array
+ description: OK
+ "400":
content:
application/json:
+ example:
+ status: 400 BAD_REQUEST
+ message: Bad request error message
+ details: Bad request error details
schema:
$ref: '#/components/schemas/ErrorMessage'
+ description: Bad Request
"403":
- description: Forbidden
content:
application/json:
+ example:
+ status: 403
+ message: Forbidden error message
+ details: Forbidden error details
schema:
$ref: '#/components/schemas/ErrorMessage'
- "404":
- description: The specified resource was not found
+ description: Forbidden
+ "500":
content:
application/json:
+ example:
+ status: 500
+ message: Internal Server Error
+ details: Internal Server Error occurred
schema:
$ref: '#/components/schemas/ErrorMessage'
- /v1/ch/{cm-handle}/data/ds/ncmp-datastore:passthrough-running:
- get:
+ description: Internal Server Error
+ summary: Fetch all module references (name and revision) for a given cm handle
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
+ - network-cm-proxy
+ /v1/ch/{cm-handle}/modules/definitions:
+ get:
+ description: "Get module definitions (module name, revision, yang resource)\
+ \ with options to filter on module name and revision"
+ operationId: getModuleDefinitions
parameters:
- - name: cm-handle
- in: path
- description: "The identifier for a network function, network element, subnetwork\
+ - 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
- - 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:
- sample1:
- value:
- resourceIdentifier: \parent\child
- sample2:
- value:
- resourceIdentifier: "\\parent\\listElement[key=value]"
- sample3:
- value:
- resourceIdentifier: "\\parent\\listElement[key=value]\\grandChild"
- sample4:
- value:
- resourceIdentifier: "parent=1,child=abc"
- - 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: options
- in: query
- description: "options parameter in query, it is mandatory to wrap key(s)=value(s)\
- \ in parenthesis'()'."
- required: false
- allowReserved: true
- schema:
- type: string
- examples:
- sample1:
- value:
- options: "(key1=value1,key2=value2)"
- sample2:
- value:
- options: "(key1=value1,key2=value1/value2)"
- sample3:
- value:
- options: "(key1=10,key2=value2,key3=[val31;val32])"
+ in: path
+ name: cm-handle
+ required: true
+ schema:
+ example: my-cm-handle
+ type: string
+ - description: Filter for a module name.This is an optional parameter
+ in: query
+ name: module-name
+ required: false
+ schema:
+ example: my-module
+ type: string
+ - description: Filter for a module revision.This is an optional parameter and
+ ignored when no module name is supplied
+ in: query
+ name: revision
+ required: false
+ schema:
+ example: 2024-01-22
+ type: string
responses:
"200":
+ content:
+ application/json:
+ schema:
+ items:
+ $ref: '#/components/schemas/RestModuleDefinition'
+ type: array
description: OK
+ "403":
content:
application/json:
+ example:
+ status: 403
+ message: Forbidden error message
+ details: Forbidden error details
schema:
- type: object
- "400":
- description: Bad Request
+ $ref: '#/components/schemas/ErrorMessage'
+ description: Forbidden
+ "500":
content:
application/json:
+ example:
+ status: 500
+ message: Internal Server Error
+ details: Internal Server Error occurred
schema:
$ref: '#/components/schemas/ErrorMessage'
- "401":
- description: Unauthorized
+ description: Internal Server Error
+ summary: Get module definitions
+ tags:
+ - network-cm-proxy
+ /v1/ch/searches:
+ post:
+ 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:
+ examples:
+ Cm handle properties query:
+ $ref: '#/components/examples/pubPropCmHandleQueryParameters'
+ value: null
+ Cm handle modules query:
+ $ref: '#/components/examples/modulesCmHandleQueryParameters'
+ value: null
+ All cm handle query parameters:
+ $ref: '#/components/examples/allCmHandleQueryParameters'
+ value: null
+ Cm handle with CPS path state query:
+ $ref: '#/components/examples/cpsPathCmHandleStateQueryParameters'
+ value: null
+ Cm handle with data sync flag query:
+ $ref: '#/components/examples/cpsPathCmHandleDataSyncQueryParameters'
+ value: null
+ schema:
+ $ref: '#/components/schemas/CmHandleQueryParameters'
+ required: true
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ items:
+ $ref: '#/components/schemas/RestOutputCmHandle'
+ type: array
+ description: OK
+ "400":
content:
application/json:
+ example:
+ status: 400 BAD_REQUEST
+ message: Bad request error message
+ details: Bad request error details
schema:
$ref: '#/components/schemas/ErrorMessage'
+ description: Bad Request
"403":
+ content:
+ application/json:
+ example:
+ status: 403
+ message: Forbidden error message
+ details: Forbidden error details
+ schema:
+ $ref: '#/components/schemas/ErrorMessage'
description: Forbidden
+ "500":
content:
application/json:
+ example:
+ status: 500
+ message: Internal Server Error
+ details: Internal Server Error occurred
schema:
$ref: '#/components/schemas/ErrorMessage'
+ description: Internal Server Error
+ summary: Execute cm handle search using the available conditions
+ tags:
+ - network-cm-proxy
+ /v1/ch/{cm-handle}:
+ get:
+ description: Retrieve CM handle details and properties by cm handle id
+ operationId: retrieveCmHandleDetailsById
+ parameters:
+ - description: "The identifier for a network function, network element, subnetwork\
+ \ or any other cm object by managed Network CM Proxy"
+ in: path
+ name: cm-handle
+ required: true
+ schema:
+ example: my-cm-handle
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/RestOutputCmHandle'
+ description: OK
+ "400":
+ content:
+ application/json:
+ example:
+ status: 400 BAD_REQUEST
+ message: Bad request error message
+ details: Bad request error details
+ schema:
+ $ref: '#/components/schemas/ErrorMessage'
+ description: Bad Request
"404":
+ content:
+ application/json:
+ example:
+ status: 400
+ message: Not found error message
+ details: Not found error details
+ schema:
+ $ref: '#/components/schemas/ErrorMessage'
description: The specified resource was not found
+ "500":
content:
application/json:
+ example:
+ status: 500
+ message: Internal Server Error
+ details: Internal Server Error occurred
schema:
$ref: '#/components/schemas/ErrorMessage'
- post:
+ description: Internal Server Error
+ summary: Retrieve CM handle details
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
+ - network-cm-proxy
+ /v1/ch/{cm-handle}/properties:
+ get:
+ description: Get CM handle properties by cm handle id
+ operationId: getCmHandlePublicPropertiesByCmHandleId
parameters:
- - name: cm-handle
- in: path
- description: "The identifier for a network function, network element, subnetwork\
+ - 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
- - 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:
- sample1:
- value:
- resourceIdentifier: \parent\child
- sample2:
- value:
- resourceIdentifier: "\\parent\\listElement[key=value]"
- sample3:
- value:
- resourceIdentifier: "\\parent\\listElement[key=value]\\grandChild"
- sample4:
- value:
- resourceIdentifier: "parent=1,child=abc"
- - 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
+ in: path
+ name: cm-handle
+ required: true
+ schema:
+ example: my-cm-handle
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/RestOutputCmHandlePublicProperties'
+ description: OK
+ "400":
+ content:
+ application/json:
+ example:
+ status: 400 BAD_REQUEST
+ message: Bad request error message
+ details: Bad request error details
+ schema:
+ $ref: '#/components/schemas/ErrorMessage'
+ description: Bad Request
+ "404":
+ content:
+ application/json:
+ example:
+ status: 400
+ message: Not found error message
+ details: Not found error details
+ schema:
+ $ref: '#/components/schemas/ErrorMessage'
+ description: The specified resource was not found
+ "500":
+ content:
+ application/json:
+ example:
+ status: 500
+ message: Internal Server Error
+ details: Internal Server Error occurred
+ schema:
+ $ref: '#/components/schemas/ErrorMessage'
+ description: Internal Server Error
+ summary: Get CM handle properties
+ tags:
+ - network-cm-proxy
+ /v1/ch/id-searches:
+ post:
+ 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:
+ examples:
+ Cm handle properties query:
+ $ref: '#/components/examples/pubPropCmHandleQueryParameters'
+ value: null
+ Cm handle modules query:
+ $ref: '#/components/examples/modulesCmHandleQueryParameters'
+ value: null
+ All cm handle query parameters:
+ $ref: '#/components/examples/allCmHandleQueryParameters'
+ value: null
+ Cm handle with CPS path state query:
+ $ref: '#/components/examples/cpsPathCmHandleStateQueryParameters'
+ value: null
+ Cm handle with data sync flag query:
+ $ref: '#/components/examples/cpsPathCmHandleDataSyncQueryParameters'
+ value: null
schema:
- type: string
- application/yang-data+json:
- schema:
- type: string
+ $ref: '#/components/schemas/CmHandleQueryParameters'
required: true
responses:
- "201":
- description: Created
- content: {}
+ "200":
+ content:
+ application/json:
+ schema:
+ items:
+ type: string
+ type: array
+ description: OK
"400":
- description: Bad Request
content:
application/json:
+ example:
+ status: 400 BAD_REQUEST
+ message: Bad request error message
+ details: Bad request error details
schema:
$ref: '#/components/schemas/ErrorMessage'
- "401":
- description: Unauthorized
+ description: Bad Request
+ "403":
content:
application/json:
+ example:
+ status: 403
+ message: Forbidden error message
+ details: Forbidden error details
schema:
$ref: '#/components/schemas/ErrorMessage'
- "403":
description: Forbidden
+ "404":
content:
application/json:
+ example:
+ status: 400
+ message: Not found error message
+ details: Not found error details
schema:
$ref: '#/components/schemas/ErrorMessage'
- "404":
description: The specified resource was not found
+ "500":
content:
application/json:
+ example:
+ status: 500
+ message: Internal Server Error
+ details: Internal Server Error occurred
schema:
$ref: '#/components/schemas/ErrorMessage'
- /v1/ch/{cm-handle}/modules:
- get:
+ description: Internal Server Error
+ summary: Execute cm handle query upon a given set of query parameters
tags:
- - network-cm-proxy
- 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
+ - network-cm-proxy
+ /v1/ch/{cm-handle}/state:
+ get:
+ description: Get CM handle state by cm handle id
+ operationId: getCmHandleStateByCmHandleId
parameters:
- - name: cm-handle
- in: path
- description: "The identifier for a network function, network element, subnetwork\
+ - 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
+ in: path
+ name: cm-handle
+ required: true
+ schema:
+ example: my-cm-handle
+ type: string
responses:
"200":
- description: OK
content:
application/json:
schema:
- type: object
+ $ref: '#/components/schemas/RestOutputCmHandleCompositeState'
+ description: OK
"400":
+ content:
+ application/json:
+ example:
+ status: 400 BAD_REQUEST
+ message: Bad request error message
+ details: Bad request error details
+ schema:
+ $ref: '#/components/schemas/ErrorMessage'
description: Bad Request
+ "404":
content:
application/json:
+ example:
+ status: 400
+ message: Not found error message
+ details: Not found error details
schema:
$ref: '#/components/schemas/ErrorMessage'
- "401":
- description: Unauthorized
+ description: The specified resource was not found
+ "500":
+ content:
+ application/json:
+ example:
+ status: 500
+ message: Internal Server Error
+ details: Internal Server Error occurred
+ schema:
+ $ref: '#/components/schemas/ErrorMessage'
+ description: Internal Server Error
+ summary: Get CM handle state
+ tags:
+ - network-cm-proxy
+ /v1/ch/{cm-handle}/data-sync:
+ put:
+ 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:
+ - description: "The identifier for a network function, network element, subnetwork\
+ \ or any other cm object by managed Network CM Proxy"
+ in: path
+ name: cm-handle
+ required: true
+ schema:
+ example: my-cm-handle
+ type: string
+ - description: Is used to enable or disable the data synchronization flag
+ in: query
+ name: dataSyncEnabled
+ required: true
+ schema:
+ example: true
+ type: boolean
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ type: object
+ description: OK
+ "400":
content:
application/json:
+ example:
+ status: 400 BAD_REQUEST
+ message: Bad request error message
+ details: Bad request error details
schema:
$ref: '#/components/schemas/ErrorMessage'
+ description: Bad Request
"403":
- description: Forbidden
content:
application/json:
+ example:
+ status: 403
+ message: Forbidden error message
+ details: Forbidden error details
schema:
$ref: '#/components/schemas/ErrorMessage'
- "404":
- description: The specified resource was not found
+ description: Forbidden
+ "500":
content:
application/json:
+ example:
+ status: 500
+ message: Internal Server Error
+ details: Internal Server Error occurred
schema:
$ref: '#/components/schemas/ErrorMessage'
+ description: Internal Server Error
+ "502":
+ content:
+ application/json:
+ example:
+ message: Bad Gateway Error Message NCMP
+ dmi-response:
+ http-code: 400
+ body: Bad Request
+ schema:
+ $ref: '#/components/schemas/DmiErrorMessage'
+ description: Bad Gateway
+ summary: Set the Data Sync Enabled Flag
+ tags:
+ - network-cm-proxy
components:
+ examples:
+ dataSampleResponse:
+ description: Sample response for selecting 'sample 1'.
+ summary: Sample response
+ 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:
+ description: Sample request body
+ summary: Sample request
+ 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:
+ description: Sample patch request body
+ summary: Sample patch request
+ 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']"
+ parameters:
+ datastoreName:
+ description: The type of the requested data
+ in: path
+ name: datastore-name
+ required: true
+ schema:
+ example: ncmp-datastore:running
+ type: string
+ cmHandleInPath:
+ description: "The identifier for a network function, network element, subnetwork\
+ \ or any other cm object by managed Network CM Proxy"
+ in: path
+ name: cm-handle
+ required: true
+ schema:
+ example: my-cm-handle
+ type: string
+ resourceIdentifierInQuery:
+ allowReserved: true
+ 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.
+ examples:
+ sample 1:
+ value:
+ resourceIdentifier: \shops\bookstore
+ sample 2:
+ value:
+ resourceIdentifier: "\\shops\\bookstore\\categories[@code=1]"
+ sample 3:
+ value:
+ resourceIdentifier: "parent=shops,child=bookstore"
+ in: query
+ name: resourceIdentifier
+ required: true
+ schema:
+ type: string
+ optionsParamInQuery:
+ allowReserved: true
+ 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."
+ examples:
+ sample 1:
+ value:
+ options: (depth=3)
+ sample 2:
+ value:
+ options: (fields=book)
+ sample 3:
+ value:
+ options: "(depth=2,fields=book/authors)"
+ in: query
+ name: options
+ required: false
+ schema:
+ type: string
+ topicParamInQuery:
+ allowReserved: true
+ description: topic parameter in query.
+ examples:
+ sample 1:
+ value:
+ topic: my-topic-name
+ in: query
+ name: topic
+ required: false
+ schema:
+ type: string
+ includeDescendantsOptionInQuery:
+ description: Determines if descendants are included in response
+ in: query
+ name: include-descendants
+ required: false
+ schema:
+ default: false
+ type: boolean
+ authorizationParamInHeader:
+ description: Authorization parameter for request.
+ in: header
+ name: Authorization
+ required: false
+ schema:
+ type: string
+ contentParamInHeader:
+ description: "Content parameter for request, if content parameter is null, default\
+ \ value is application/json."
+ in: header
+ name: Content-Type
+ required: false
+ schema:
+ default: application/json
+ example: application/yang-data+json
+ type: string
+ requiredTopicParamInQuery:
+ allowReserved: true
+ description: mandatory topic parameter in query.
+ examples:
+ sample 1:
+ value:
+ topic: my-topic-name
+ in: query
+ name: topic
+ required: true
+ schema:
+ type: string
+ cpsPathInQuery:
+ description: "For more details on cps path, please refer https://docs.onap.org/projects/onap-cps/en/latest/cps-path.html"
+ examples:
+ container cps path:
+ value: //bookstore
+ list attributes cps path:
+ value: "//categories[@code=1]"
+ in: query
+ name: cps-path
+ required: false
+ schema:
+ default: /
+ type: string
+ moduleNameInQuery:
+ description: Filter for a module name.This is an optional parameter
+ in: query
+ name: module-name
+ required: false
+ schema:
+ example: my-module
+ type: string
+ revisionInQuery:
+ description: Filter for a module revision.This is an optional parameter and
+ ignored when no module name is supplied
+ in: query
+ name: revision
+ required: false
+ schema:
+ example: 2024-01-22
+ type: string
+ dataSyncEnabled:
+ description: Is used to enable or disable the data synchronization flag
+ in: query
+ name: dataSyncEnabled
+ required: true
+ schema:
+ example: true
+ type: boolean
+ responses:
+ BadRequest:
+ content:
+ application/json:
+ example:
+ status: 400 BAD_REQUEST
+ message: Bad request error message
+ details: Bad request error details
+ schema:
+ $ref: '#/components/schemas/ErrorMessage'
+ description: Bad Request
+ Forbidden:
+ content:
+ application/json:
+ example:
+ status: 403
+ message: Forbidden error message
+ details: Forbidden error details
+ schema:
+ $ref: '#/components/schemas/ErrorMessage'
+ description: Forbidden
+ InternalServerError:
+ content:
+ application/json:
+ example:
+ status: 500
+ message: Internal Server Error
+ details: Internal Server Error occurred
+ schema:
+ $ref: '#/components/schemas/ErrorMessage'
+ description: Internal Server Error
+ BadGateway:
+ content:
+ application/json:
+ example:
+ message: Bad Gateway Error Message NCMP
+ dmi-response:
+ http-code: 400
+ body: Bad Request
+ schema:
+ $ref: '#/components/schemas/DmiErrorMessage'
+ description: Bad Gateway
+ Ok:
+ content:
+ application/json:
+ schema:
+ type: object
+ description: OK
+ Created:
+ content: {}
+ description: Created
+ NoContent:
+ content: {}
+ description: No Content
+ NotFound:
+ content:
+ application/json:
+ example:
+ status: 400
+ message: Not found error message
+ details: Not found error details
+ schema:
+ $ref: '#/components/schemas/ErrorMessage'
+ description: The specified resource was not found
schemas:
ErrorMessage:
- title: Error
- type: object
properties:
status:
type: string
type: string
details:
type: string
+ title: Error
+ type: object
+ DmiErrorMessage:
+ properties:
+ message:
+ example: Bad Gateway Error Message NCMP
+ type: string
+ dmi-response:
+ $ref: '#/components/schemas/DmiErrorMessage_dmi_response'
+ title: DMI Error Message
+ type: object
+ DataOperationRequest:
+ example:
+ operations:
+ - resourceIdentifier: parent/child
+ targetIds:
+ - "[\"da310eecdb8d44c2acc0ddaae01174b1\",\"c748c58f8e0b438f9fd1f28370b17d47\"\
+ ]"
+ - "[\"da310eecdb8d44c2acc0ddaae01174b1\",\"c748c58f8e0b438f9fd1f28370b17d47\"\
+ ]"
+ datastore: ncmp-datastore:passthrough-operational
+ options: (fields=schemas/schema)
+ operationId: "12"
+ operation: read
+ - resourceIdentifier: parent/child
+ targetIds:
+ - "[\"da310eecdb8d44c2acc0ddaae01174b1\",\"c748c58f8e0b438f9fd1f28370b17d47\"\
+ ]"
+ - "[\"da310eecdb8d44c2acc0ddaae01174b1\",\"c748c58f8e0b438f9fd1f28370b17d47\"\
+ ]"
+ datastore: ncmp-datastore:passthrough-operational
+ options: (fields=schemas/schema)
+ operationId: "12"
+ operation: read
+ properties:
+ operations:
+ description: contains group of data operation requests
+ items:
+ $ref: '#/components/schemas/DataOperationDefinition'
+ type: array
+ title: execute data operation for given array of operations
+ type: object
+ DataOperationDefinition:
+ example:
+ resourceIdentifier: parent/child
+ targetIds:
+ - "[\"da310eecdb8d44c2acc0ddaae01174b1\",\"c748c58f8e0b438f9fd1f28370b17d47\"\
+ ]"
+ - "[\"da310eecdb8d44c2acc0ddaae01174b1\",\"c748c58f8e0b438f9fd1f28370b17d47\"\
+ ]"
+ datastore: ncmp-datastore:passthrough-operational
+ options: (fields=schemas/schema)
+ operationId: "12"
+ operation: read
+ properties:
+ operation:
+ example: read
+ type: string
+ operationId:
+ example: "12"
+ type: string
+ datastore:
+ example: ncmp-datastore:passthrough-operational
+ type: string
+ options:
+ example: (fields=schemas/schema)
+ type: string
+ resourceIdentifier:
+ example: parent/child
+ type: string
+ targetIds:
+ items:
+ example: "[\"da310eecdb8d44c2acc0ddaae01174b1\",\"c748c58f8e0b438f9fd1f28370b17d47\"\
+ ]"
+ type: string
+ type: array
+ required:
+ - datastore
+ - operation
+ - operationId
+ RestModuleReference:
+ example:
+ moduleName: my-module-name
+ revision: my-module-revision
+ properties:
+ moduleName:
+ example: my-module-name
+ type: string
+ revision:
+ example: my-module-revision
+ type: string
+ title: Module reference details
+ type: object
+ RestModuleDefinition:
+ example:
+ moduleName: my-module-name
+ content: |
+ module stores {
+ yang-version 1.1;
+ namespace 'org:onap:ccsdk:sample';
+ prefix book-store;
+ revision '2020-09-15' {
+ description
+ 'Sample Model';
+ }
+ }
+ revision: 2020-09-15
+ properties:
+ moduleName:
+ example: my-module-name
+ type: string
+ revision:
+ example: 2020-09-15
+ type: string
+ content:
+ example: |
+ module stores {
+ yang-version 1.1;
+ namespace 'org:onap:ccsdk:sample';
+ prefix book-store;
+ revision '2020-09-15' {
+ description
+ 'Sample Model';
+ }
+ }
+ type: string
+ title: Module definitions
+ type: object
+ CmHandleQueryParameters:
+ example:
+ cmHandleQueryParameters:
+ - conditionParameters:
+ - key: conditionParameters
+ - key: conditionParameters
+ conditionName: conditionName
+ - conditionParameters:
+ - key: conditionParameters
+ - key: conditionParameters
+ conditionName: conditionName
+ conditions:
+ - name: name
+ conditionParameters:
+ - moduleName: my-module
+ - moduleName: my-module
+ - name: name
+ conditionParameters:
+ - moduleName: my-module
+ - moduleName: my-module
+ properties:
+ cmHandleQueryParameters:
+ items:
+ $ref: '#/components/schemas/ConditionProperties'
+ type: array
+ conditions:
+ deprecated: true
+ description: "not necessary, it is just for backward compatibility"
+ items:
+ $ref: '#/components/schemas/OldConditionProperties'
+ type: array
+ title: Cm Handle query parameters for executing cm handle search
+ type: object
+ ConditionProperties:
+ example:
+ conditionParameters:
+ - key: conditionParameters
+ - key: conditionParameters
+ conditionName: conditionName
+ properties:
+ conditionName:
+ type: string
+ conditionParameters:
+ items:
+ additionalProperties:
+ type: string
+ type: object
+ type: array
+ OldConditionProperties:
+ deprecated: true
+ example:
+ name: name
+ conditionParameters:
+ - moduleName: my-module
+ - moduleName: my-module
+ properties:
+ name:
+ type: string
+ conditionParameters:
+ items:
+ $ref: '#/components/schemas/ModuleNameAsJsonObject'
+ type: array
+ ModuleNameAsJsonObject:
+ example:
+ moduleName: my-module
+ properties:
+ moduleName:
+ example: my-module
+ type: string
+ RestOutputCmHandle:
+ example:
+ cmHandle: my-cm-handle1
+ publicCmHandleProperties:
+ - key: Book Type
+ - key: Book Type
+ state:
+ dataSyncEnabled: false
+ dataSyncState:
+ running:
+ lastSyncTime: 2022-12-31T20:30:40.000+0000
+ syncState: NONE_REQUESTED
+ operational:
+ lastSyncTime: 2022-12-31T20:30:40.000+0000
+ syncState: NONE_REQUESTED
+ cmHandleState: ADVISED
+ lockReason:
+ reason: LOCKED_MISBEHAVING
+ details: locked due to failure in module sync
+ lastUpdateTime: 2022-12-31T20:30:40.000+0000
+ trustLevel: COMPLETE
+ properties:
+ cmHandle:
+ example: my-cm-handle1
+ type: string
+ publicCmHandleProperties:
+ items:
+ additionalProperties:
+ example: Book Type
+ type: string
+ type: object
+ type: array
+ state:
+ $ref: '#/components/schemas/CmHandleCompositeState'
+ trustLevel:
+ description: Current trust level of the relevant CM handle ID.
+ example: COMPLETE
+ type: string
+ title: CM handle Details
+ type: object
+ CmHandlePublicProperties:
+ items:
+ additionalProperties:
+ example: Book Type
+ type: string
+ type: object
+ type: array
+ CmHandleCompositeState:
+ example:
+ dataSyncEnabled: false
+ dataSyncState:
+ running:
+ lastSyncTime: 2022-12-31T20:30:40.000+0000
+ syncState: NONE_REQUESTED
+ operational:
+ lastSyncTime: 2022-12-31T20:30:40.000+0000
+ syncState: NONE_REQUESTED
+ cmHandleState: ADVISED
+ lockReason:
+ reason: LOCKED_MISBEHAVING
+ details: locked due to failure in module sync
+ lastUpdateTime: 2022-12-31T20:30:40.000+0000
+ properties:
+ cmHandleState:
+ example: ADVISED
+ type: string
+ lockReason:
+ $ref: '#/components/schemas/lock-reason'
+ lastUpdateTime:
+ example: 2022-12-31T20:30:40.000+0000
+ type: string
+ dataSyncEnabled:
+ example: false
+ type: boolean
+ dataSyncState:
+ $ref: '#/components/schemas/dataStores'
+ type: object
+ lock-reason:
+ example:
+ reason: LOCKED_MISBEHAVING
+ details: locked due to failure in module sync
+ properties:
+ reason:
+ example: LOCKED_MISBEHAVING
+ type: string
+ details:
+ example: locked due to failure in module sync
+ type: string
+ type: object
+ dataStores:
+ example:
+ running:
+ lastSyncTime: 2022-12-31T20:30:40.000+0000
+ syncState: NONE_REQUESTED
+ operational:
+ lastSyncTime: 2022-12-31T20:30:40.000+0000
+ syncState: NONE_REQUESTED
+ properties:
+ operational:
+ $ref: '#/components/schemas/sync-state'
+ running:
+ $ref: '#/components/schemas/sync-state'
+ type: object
+ sync-state:
+ example:
+ lastSyncTime: 2022-12-31T20:30:40.000+0000
+ syncState: NONE_REQUESTED
+ properties:
+ syncState:
+ example: NONE_REQUESTED
+ type: string
+ lastSyncTime:
+ example: 2022-12-31T20:30:40.000+0000
+ type: string
+ type: object
+ CmHandleTrustLevel:
+ description: Current trust level of the relevant CM handle ID.
+ example: COMPLETE
+ type: string
+ RestOutputCmHandlePublicProperties:
+ example:
+ publicCmHandleProperties:
+ - key: Book Type
+ - key: Book Type
+ properties:
+ publicCmHandleProperties:
+ items:
+ additionalProperties:
+ example: Book Type
+ type: string
+ type: object
+ type: array
+ type: object
+ RestOutputCmHandleCompositeState:
+ example:
+ state:
+ dataSyncEnabled: false
+ dataSyncState:
+ running:
+ lastSyncTime: 2022-12-31T20:30:40.000+0000
+ syncState: NONE_REQUESTED
+ operational:
+ lastSyncTime: 2022-12-31T20:30:40.000+0000
+ syncState: NONE_REQUESTED
+ cmHandleState: ADVISED
+ lockReason:
+ reason: LOCKED_MISBEHAVING
+ details: locked due to failure in module sync
+ lastUpdateTime: 2022-12-31T20:30:40.000+0000
+ properties:
+ state:
+ $ref: '#/components/schemas/CmHandleCompositeState'
+ type: object
+ DmiErrorMessage_dmi_response:
+ properties:
+ http-code:
+ example: 400
+ type: integer
+ body:
+ example: Bad Request
+ type: string
+ type: object
+ securitySchemes:
+ basicAuth:
+ scheme: basic
+ type: http