openapi: 3.0.3
info:
description: NCMP to CPS Proxy API
title: NCMP to CPS Proxy API
version: "1.0"
servers:
- url: /ncmp
security:
- basicAuth: []
paths:
/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:
- 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"
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
responses:
"204":
content: {}
description: No Content
"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
"401":
content:
application/json:
example:
status: 401
message: Unauthorized error message
details: Unauthorized error details
schema:
$ref: '#/components/schemas/ErrorMessage'
description: Unauthorized
"403":
content:
application/json:
example:
status: 403
message: Forbidden error message
details: Forbidden error details
schema:
$ref: '#/components/schemas/ErrorMessage'
description: Forbidden
"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
"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
get:
description: Get resource data for given cm handle
operationId: getResourceDataForCmHandle
parameters:
- 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"
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
responses:
"200":
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
"401":
content:
application/json:
example:
status: 401
message: Unauthorized error message
details: Unauthorized error details
schema:
$ref: '#/components/schemas/ErrorMessage'
description: Unauthorized
"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
"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: Get resource data for cm handle
tags:
- network-cm-proxy
patch:
description: Patch resource data from pass-through running for the given cm
handle
operationId: patchResourceDataRunningForCmHandle
parameters:
- 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"
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
requestBody:
content:
'*/*':
examples:
dataSampleRequest:
$ref: '#/components/examples/dataSamplePatchRequest'
value: null
schema:
type: object
required: true
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
"401":
content:
application/json:
example:
status: 401
message: Unauthorized error message
details: Unauthorized error details
schema:
$ref: '#/components/schemas/ErrorMessage'
description: Unauthorized
"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
"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: Patch resource data from pass-through running
tags:
- network-cm-proxy
post:
description: create resource data from pass-through running for given cm handle
operationId: createResourceDataRunningForCmHandle
parameters:
- 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"
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
requestBody:
content:
application/json:
examples:
dataSampleRequest:
$ref: '#/components/examples/dataSampleRequest'
value: null
schema:
type: object
application/yang-data+json:
examples:
dataSampleRequest:
$ref: '#/components/examples/dataSampleRequest'
value: null
schema:
type: object
required: true
responses:
"201":
content: {}
description: Created
"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
"401":
content:
application/json:
example:
status: 401
message: Unauthorized error message
details: Unauthorized error details
schema:
$ref: '#/components/schemas/ErrorMessage'
description: Unauthorized
"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
"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: create resource data from pass-through running for cm handle
tags:
- network-cm-proxy
put:
description: Update resource data from pass-through running for the given cm
handle
operationId: updateResourceDataRunningForCmHandle
parameters:
- 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"
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
requestBody:
content:
application/json:
examples:
dataSampleRequest:
$ref: '#/components/examples/dataSampleRequest'
value: null
schema:
type: object
application/yang-data+json:
examples:
dataSampleRequest:
$ref: '#/components/examples/dataSampleRequest'
value: null
schema:
type: object
required: true
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
"401":
content:
application/json:
example:
status: 401
message: Unauthorized error message
details: Unauthorized error details
schema:
$ref: '#/components/schemas/ErrorMessage'
description: Unauthorized
"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
"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: Update resource data from pass-through running for a cm handle
tags:
- 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:
- 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
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/DataOperationRequest'
required: true
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
"401":
content:
application/json:
example:
status: 401
message: Unauthorized error message
details: Unauthorized error details
schema:
$ref: '#/components/schemas/ErrorMessage'
description: Unauthorized
"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
"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: Execute a data operation for group of cm handle ids
tags:
- 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:
- 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"
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":
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
"401":
content:
application/json:
example:
status: 401
message: Unauthorized error message
details: Unauthorized error details
schema:
$ref: '#/components/schemas/ErrorMessage'
description: Unauthorized
"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
"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
"401":
content:
application/json:
example:
status: 401
message: Unauthorized error message
details: Unauthorized error details
schema:
$ref: '#/components/schemas/ErrorMessage'
description: Unauthorized
"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: Fetch all module references (name and revision) for a given cm handle
tags:
- 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:
- 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: 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
"401":
content:
application/json:
example:
status: 401
message: Unauthorized error message
details: Unauthorized error details
schema:
$ref: '#/components/schemas/ErrorMessage'
description: Unauthorized
"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: 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 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:
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
"401":
content:
application/json:
example:
status: 401
message: Unauthorized error message
details: Unauthorized error details
schema:
$ref: '#/components/schemas/ErrorMessage'
description: Unauthorized
"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
"401":
content:
application/json:
example:
status: 401
message: Unauthorized error message
details: Unauthorized error details
schema:
$ref: '#/components/schemas/ErrorMessage'
description: Unauthorized
"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: Retrieve CM handle details
tags:
- network-cm-proxy
/v1/ch/{cm-handle}/properties:
get:
description: Get CM handle properties by cm handle id
operationId: getCmHandlePublicPropertiesByCmHandleId
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/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
"401":
content:
application/json:
example:
status: 401
message: Unauthorized error message
details: Unauthorized error details
schema:
$ref: '#/components/schemas/ErrorMessage'
description: Unauthorized
"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 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:
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:
type: string
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
"401":
content:
application/json:
example:
status: 401
message: Unauthorized error message
details: Unauthorized error details
schema:
$ref: '#/components/schemas/ErrorMessage'
description: Unauthorized
"403":
content:
application/json:
example:
status: 403
message: Forbidden error message
details: Forbidden error details
schema:
$ref: '#/components/schemas/ErrorMessage'
description: Forbidden
"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: Execute cm handle query upon a given set of query parameters
tags:
- network-cm-proxy
/v1/ch/{cm-handle}/state:
get:
description: Get CM handle state by cm handle id
operationId: getCmHandleStateByCmHandleId
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/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
"401":
content:
application/json:
example:
status: 401
message: Unauthorized error message
details: Unauthorized error details
schema:
$ref: '#/components/schemas/ErrorMessage'
description: Unauthorized
"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 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
"401":
content:
application/json:
example:
status: 401
message: Unauthorized error message
details: Unauthorized error details
schema:
$ref: '#/components/schemas/ErrorMessage'
description: Unauthorized
"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
"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
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
Unauthorized:
content:
application/json:
example:
status: 401
message: Unauthorized error message
details: Unauthorized error details
schema:
$ref: '#/components/schemas/ErrorMessage'
description: Unauthorized
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:
properties:
status:
type: string
message:
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