blob: 810210f58406edd068ed3cf578c0372f21470edf [file] [log] [blame]
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: "Fetch all module definitions (name, revision, yang resource) for\
\ a given cm handle"
operationId: getModuleDefinitionsByCmHandleId
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/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: "Fetch all module definitions (name, revision, yang resource) for a\
\ given cm handle"
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
"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 <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:
$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
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
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'
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
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