openapi: 3.0.1
info:
title: NCMP to CPS Proxy API
description: NCMP to CPS Proxy API
version: "1.0"
servers:
- url: /ncmp
security:
- basicAuth: []
paths:
/v1/ch/{cm-handle}/data/ds/{datastore-name}:
get:
tags:
- network-cm-proxy
summary: Get resource data for cm handle
description: Get resource data for given cm handle
operationId: getResourceDataForCmHandle
parameters:
- name: datastore-name
in: path
description: The type of the requested data
required: true
schema:
type: string
example: ncmp-datastore:running
- 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: options
in: query
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
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: Determines if descendants are included in response
required: false
schema:
type: boolean
default: false
responses:
"200":
description: OK
content:
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'
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
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: datastore-name
in: path
description: The type of the requested data
required: true
schema:
type: string
example: ncmp-datastore:running
- 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: 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: datastore-name
in: path
description: The type of the requested data
required: true
schema:
type: string
example: ncmp-datastore:running
- 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:
"201":
description: Created
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
"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
delete:
tags:
- network-cm-proxy
summary: Delete resource data
description: Delete resource data from pass-through running for a given cm handle
operationId: deleteResourceDataRunningForCmHandle
parameters:
- name: datastore-name
in: path
description: The type of the requested data
required: true
schema:
type: string
example: ncmp-datastore:running
- 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
responses:
"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'
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: Patch resource data from pass-through running
description: Patch resource data from pass-through running for the given cm
handle
operationId: patchResourceDataRunningForCmHandle
parameters:
- name: datastore-name
in: path
description: The type of the requested data
required: true
schema:
type: string
example: ncmp-datastore:running
- 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:
'*/*':
schema:
type: object
examples:
dataSampleRequest:
$ref: '#/components/examples/dataSamplePatchRequest'
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
/v1/batch/data/ds/{datastore-name}:
post:
tags:
- network-cm-proxy
summary: Get resource data for batch of cm handle ids
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: getResourceDataForCmHandleBatch
parameters:
- name: datastore-name
in: path
description: The type of the requested data
required: true
schema:
type: string
example: ncmp-datastore:running
- 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: "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
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: mandatory topic parameter in query.
required: true
allowReserved: true
schema:
type: string
examples:
sample 1:
value:
topic: my-topic-name
- name: include-descendants
in: query
description: Determines if descendants are included in response
required: false
schema:
type: boolean
default: false
requestBody:
content:
application/json:
schema:
type: object
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
/v1/ch/{cm-handle}/data/ds/{datastore-name}/query:
get:
tags:
- network-cm-proxy
summary: Query resource data for a given cm handle
description: Query resource data for a given cm handle
operationId: queryResourceDataForCmHandle
parameters:
- name: datastore-name
in: path
description: The type of the requested data
required: true
schema:
type: string
example: ncmp-datastore:running
- 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: cps-path
in: query
description: "For more details on cps path, please refer https://docs.onap.org/projects/onap-cps/en/latest/cps-path.html"
required: false
schema:
type: string
default: /
examples:
container cps path:
value: //bookstore
list attributes cps path:
value: "//categories[@code=1]"
- name: options
in: query
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
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: Determines if descendants are included in response
required: false
schema:
type: boolean
default: false
responses:
"200":
description: OK
content:
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'
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
/v1/ch/{cm-handle}/modules:
get:
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
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:
"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'
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/{cm-handle}/modules/definitions:
get:
tags:
- network-cm-proxy
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
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:
"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 cm
handle query search Read the Docs.
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 CPS
Path Read the Docs. The cm handle ancestor is automatically returned for
this query.
operationId: searchCmHandles
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
responses:
"200":
description: OK
content:
application/json:
schema:
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'
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/{cm-handle}:
get:
tags:
- network-cm-proxy
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:
"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'
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/{cm-handle}/properties:
get:
tags:
- network-cm-proxy
summary: Get CM handle properties
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\
\ or any other cm object by managed Network CM Proxy"
required: true
schema:
type: string
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 cm
handle query search Read the Docs.
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 CPS
Path Read the Docs. 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
responses:
"200":
description: OK
content:
application/json:
schema:
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'
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 CM handle state
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\
\ or any other cm object by managed Network CM Proxy"
required: true
schema:
type: string
example: my-cm-handle
responses:
"200":
description: OK
content:
application/json:
schema:
$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'
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/{cm-handle}/data-sync:
put:
tags:
- network-cm-proxy
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
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: dataSyncEnabled
in: query
description: Is used to enable or disable the data synchronization flag
required: true
schema:
type: boolean
example: 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
components:
schemas:
ErrorMessage:
title: Error
type: object
properties:
status:
type: string
message:
type: string
details:
type: string
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:
moduleName:
type: string
example: my-module-name
revision:
type: string
example: 2020-09-15
content:
type: string
example: |
module stores {
yang-version 1.1;
namespace "org:onap:ccsdk:sample";
prefix book-store;
revision "2020-09-15" {
description
"Sample Model";
}
}
CmHandleQueryParameters:
title: Cm Handle query parameters for executing cm handle search
type: object
properties:
cmHandleQueryParameters:
type: array
items:
$ref: '#/components/schemas/ConditionProperties'
conditions:
type: array
description: "not necessary, it is just for backward compatibility"
deprecated: true
items:
$ref: '#/components/schemas/OldConditionProperties'
ConditionProperties:
properties:
conditionName:
type: string
conditionParameters:
type: array
items:
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: 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
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
responses:
BadRequest:
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
Unauthorized:
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorMessage'
example:
status: 401
message: Unauthorized error message
details: Unauthorized error details
Forbidden:
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorMessage'
example:
status: 403
message: Forbidden error message
details: Forbidden error details
InternalServerError:
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorMessage'
example:
status: 500
message: Internal Server Error
details: Internal Server Error occurred
BadGateway:
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
Ok:
description: OK
content:
application/json:
schema:
type: object
Created:
description: Created
content: {}
NoContent:
description: No Content
content: {}
NotFound:
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
parameters:
datastoreName:
name: datastore-name
in: path
description: The type of the requested data
required: true
schema:
type: string
example: ncmp-datastore:running
cmHandleInPath:
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
resourceIdentifierInQuery:
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"
optionsParamInQuery:
name: options
in: query
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
examples:
sample 1:
value:
options: (depth=3)
sample 2:
value:
options: (fields=book)
sample 3:
value:
options: "(depth=2,fields=book/authors)"
topicParamInQuery:
name: topic
in: query
description: topic parameter in query.
required: false
allowReserved: true
schema:
type: string
examples:
sample 1:
value:
topic: my-topic-name
includeDescendantsOptionInQuery:
name: include-descendants
in: query
description: Determines if descendants are included in response
required: false
schema:
type: boolean
default: false
contentParamInHeader:
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
requiredTopicParamInQuery:
name: topic
in: query
description: mandatory topic parameter in query.
required: true
allowReserved: true
schema:
type: string
examples:
sample 1:
value:
topic: my-topic-name
cpsPathInQuery:
name: cps-path
in: query
description: "For more details on cps path, please refer https://docs.onap.org/projects/onap-cps/en/latest/cps-path.html"
required: false
schema:
type: string
default: /
examples:
container cps path:
value: //bookstore
list attributes cps path:
value: "//categories[@code=1]"
dataSyncEnabled:
name: dataSyncEnabled
in: query
description: Is used to enable or disable the data synchronization flag
required: true
schema:
type: boolean
example: true
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']"
securitySchemes:
basicAuth:
type: http
scheme: basic