summaryrefslogtreecommitdiffstats
path: root/docs
diff options
context:
space:
mode:
authorDylanB95EST <dylan.byrne@est.tech>2022-01-27 17:12:52 +0000
committerDylan Byrne <dylan.byrne@est.tech>2022-03-01 16:17:16 +0000
commite557338803286d8aaa0f877aa25d52d18735f309 (patch)
tree059b68301b3e6c34d8bb68a8cb7dadf6bed45a06 /docs
parent03459a08895ecc7e481fc5ec34779556268992f1 (diff)
Create Endpoint For Get Cm Handles By Name
Create endpoint and implement logic for get cm handle details by cm handle name Issue-ID: CPS-817 Change-Id: I83bd2da9219d13fac715a08b19108028ca6f6751 Signed-off-by: DylanB95EST <dylan.byrne@est.tech>
Diffstat (limited to 'docs')
-rw-r--r--docs/api/swagger/ncmp/openapi-inventory.yaml29
-rw-r--r--docs/api/swagger/ncmp/openapi.yaml983
-rwxr-xr-xdocs/release-notes.rst11
3 files changed, 855 insertions, 168 deletions
diff --git a/docs/api/swagger/ncmp/openapi-inventory.yaml b/docs/api/swagger/ncmp/openapi-inventory.yaml
index 34a087b85..154a4411d 100644
--- a/docs/api/swagger/ncmp/openapi-inventory.yaml
+++ b/docs/api/swagger/ncmp/openapi-inventory.yaml
@@ -53,6 +53,16 @@ paths:
status: 403
message: Forbidden error message
details: Forbidden error details
+ "500":
+ description: Internal Server Error
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ErrorMessage'
+ example:
+ status: 500
+ message: Internal Server Error
+ details: Internal Server Error occurred
components:
schemas:
RestDmiPluginRegistration:
@@ -61,26 +71,39 @@ components:
dmiPlugin:
type: string
example: my-dmi-plugin
+ default: ""
dmiDataPlugin:
type: string
example: my-dmi-data-plugin
+ default: ""
dmiModelPlugin:
type: string
example: my-dmi-model-plugin
+ default: ""
createdCmHandles:
type: array
items:
- $ref: '#/components/schemas/RestCmHandle'
+ $ref: '#/components/schemas/RestInputCmHandle'
updatedCmHandles:
type: array
+ example:
+ cmHandle: my-cm-handle
+ cmHandleProperties:
+ add-my-property: add-property
+ update-my-property: updated-property
+ delete-my-property: ~
+ publicCmHandleProperties:
+ add-my-property: add-property
+ update-my-property: updated-property
+ delete-my-property: ~
items:
- $ref: '#/components/schemas/RestCmHandle'
+ $ref: '#/components/schemas/RestInputCmHandle'
removedCmHandles:
type: array
items:
type: string
example: "[\"my-cm-handle1\",\"my-cm-handle2\",\"my-cm-handle3\"]"
- RestCmHandle:
+ RestInputCmHandle:
required:
- cmHandle
type: object
diff --git a/docs/api/swagger/ncmp/openapi.yaml b/docs/api/swagger/ncmp/openapi.yaml
index a3b9dc750..b7a65632e 100644
--- a/docs/api/swagger/ncmp/openapi.yaml
+++ b/docs/api/swagger/ncmp/openapi.yaml
@@ -4,73 +4,72 @@ info:
description: NCMP to CPS Proxy API
version: "1.0"
servers:
- - url: /ncmp
+- url: /ncmp
paths:
/v1/ch/{cm-handle}/data/ds/ncmp-datastore:passthrough-operational:
get:
tags:
- - network-cm-proxy
+ - network-cm-proxy
summary: Get resource data from pass-through operational for cm handle
description: Get resource data from pass-through operational for given cm handle
operationId: getResourceDataOperationalForCmHandle
parameters:
- - name: cm-handle
- in: path
- description: "The identifier for a network function, network element, subnetwork\
+ - name: cm-handle
+ in: path
+ description: "The identifier for a network function, network element, subnetwork\
\ or any other cm object by managed Network CM Proxy"
- required: true
- schema:
- type: string
- - name: resourceIdentifier
- in: query
- description: The format of resource identifier depend on the associated DMI
- Plugin implementation. For ONAP DMI Plugin it will be RESTConf paths but
- it can really be anything.
- required: true
- allowReserved: true
- schema:
- type: string
- examples:
- sample1:
- value:
- resourceIdentifier: \parent\child
- sample2:
- value:
- resourceIdentifier: "\\parent\\listElement[key=value]"
- sample3:
- value:
- resourceIdentifier: "\\parent\\listElement[key=value]\\grandChild"
- sample4:
- value:
- resourceIdentifier: "parent=1,child=abc"
- - name: Accept
- in: header
- description: "Accept parameter for response, if accept parameter is null,\
+ required: true
+ schema:
+ type: string
+ example: my-cm-handle
+ - name: resourceIdentifier
+ in: query
+ description: The format of resource identifier depend on the associated DMI
+ Plugin implementation. For ONAP DMI Plugin it will be RESTConf paths but
+ it can really be anything.
+ required: true
+ allowReserved: true
+ schema:
+ type: string
+ examples:
+ sample 1:
+ value:
+ resourceIdentifier: \shops\bookstore
+ sample 2:
+ value:
+ resourceIdentifier: "\\shops\\bookstore\\categories[@code=1]"
+ sample 3:
+ value:
+ resourceIdentifier: "parent=shops,child=bookstore"
+ - name: Accept
+ in: header
+ description: "Accept parameter for response, if accept parameter is null,\
\ that means client can accept any format."
- required: false
- schema:
- type: string
- enum:
- - application/json
- - application/yang-data+json
- - name: options
- in: query
- description: "options parameter in query, it is mandatory to wrap key(s)=value(s)\
- \ in parenthesis'()'."
- required: false
- allowReserved: true
- schema:
- type: string
- examples:
- sample1:
- value:
- options: "(key1=value1,key2=value2)"
- sample2:
- value:
- options: "(key1=value1,key2=value1/value2)"
- sample3:
- value:
- options: "(key1=10,key2=value2,key3=[val31;val32])"
+ required: false
+ schema:
+ type: string
+ enum:
+ - application/json
+ - application/yang-data+json
+ - name: options
+ in: query
+ description: "options parameter in query, it is mandatory to wrap key(s)=value(s)\
+ \ in parenthesis'()'. The format of options parameter depend on the associated\
+ \ DMI Plugin implementation."
+ required: false
+ allowReserved: true
+ schema:
+ type: string
+ examples:
+ sample 1:
+ value:
+ options: (depth=3)
+ sample 2:
+ value:
+ options: (fields=book)
+ sample 3:
+ value:
+ options: "(depth=2,fields=book/authors)"
responses:
"200":
description: OK
@@ -78,95 +77,113 @@ paths:
application/json:
schema:
type: object
+ examples:
+ dataSampleResponse:
+ $ref: '#/components/examples/dataSampleResponse'
"400":
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorMessage'
+ example:
+ status: 400 BAD_REQUEST
+ message: Bad request error message
+ details: Bad request error details
"401":
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorMessage'
+ example:
+ status: 401
+ message: Unauthorized error message
+ details: Unauthorized error details
"403":
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorMessage'
- "404":
- description: The specified resource was not found
+ example:
+ status: 403
+ message: Forbidden error message
+ details: Forbidden error details
+ "500":
+ description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorMessage'
+ example:
+ status: 500
+ message: Internal Server Error
+ details: Internal Server Error occurred
/v1/ch/{cm-handle}/data/ds/ncmp-datastore:passthrough-running:
get:
tags:
- - network-cm-proxy
+ - network-cm-proxy
summary: Get resource data from pass-through running for cm handle
description: Get resource data from pass-through running for given cm handle
operationId: getResourceDataRunningForCmHandle
parameters:
- - name: cm-handle
- in: path
- description: "The identifier for a network function, network element, subnetwork\
+ - name: cm-handle
+ in: path
+ description: "The identifier for a network function, network element, subnetwork\
\ or any other cm object by managed Network CM Proxy"
- required: true
- schema:
- type: string
- - name: resourceIdentifier
- in: query
- description: The format of resource identifier depend on the associated DMI
- Plugin implementation. For ONAP DMI Plugin it will be RESTConf paths but
- it can really be anything.
- required: true
- allowReserved: true
- schema:
- type: string
- examples:
- sample1:
- value:
- resourceIdentifier: \parent\child
- sample2:
- value:
- resourceIdentifier: "\\parent\\listElement[key=value]"
- sample3:
- value:
- resourceIdentifier: "\\parent\\listElement[key=value]\\grandChild"
- sample4:
- value:
- resourceIdentifier: "parent=1,child=abc"
- - name: Accept
- in: header
- description: "Accept parameter for response, if accept parameter is null,\
+ required: true
+ schema:
+ type: string
+ example: my-cm-handle
+ - name: resourceIdentifier
+ in: query
+ description: The format of resource identifier depend on the associated DMI
+ Plugin implementation. For ONAP DMI Plugin it will be RESTConf paths but
+ it can really be anything.
+ required: true
+ allowReserved: true
+ schema:
+ type: string
+ examples:
+ sample 1:
+ value:
+ resourceIdentifier: \shops\bookstore
+ sample 2:
+ value:
+ resourceIdentifier: "\\shops\\bookstore\\categories[@code=1]"
+ sample 3:
+ value:
+ resourceIdentifier: "parent=shops,child=bookstore"
+ - name: Accept
+ in: header
+ description: "Accept parameter for response, if accept parameter is null,\
\ that means client can accept any format."
- required: false
- schema:
- type: string
- enum:
- - application/json
- - application/yang-data+json
- - name: options
- in: query
- description: "options parameter in query, it is mandatory to wrap key(s)=value(s)\
- \ in parenthesis'()'."
- required: false
- allowReserved: true
- schema:
- type: string
- examples:
- sample1:
- value:
- options: "(key1=value1,key2=value2)"
- sample2:
- value:
- options: "(key1=value1,key2=value1/value2)"
- sample3:
- value:
- options: "(key1=10,key2=value2,key3=[val31;val32])"
+ required: false
+ schema:
+ type: string
+ enum:
+ - application/json
+ - application/yang-data+json
+ - name: options
+ in: query
+ description: "options parameter in query, it is mandatory to wrap key(s)=value(s)\
+ \ in parenthesis'()'. The format of options parameter depend on the associated\
+ \ DMI Plugin implementation."
+ required: false
+ allowReserved: true
+ schema:
+ type: string
+ examples:
+ sample 1:
+ value:
+ options: (depth=3)
+ sample 2:
+ value:
+ options: (fields=book)
+ sample 3:
+ value:
+ options: "(depth=2,fields=book/authors)"
responses:
"200":
description: OK
@@ -174,82 +191,212 @@ paths:
application/json:
schema:
type: object
+ examples:
+ dataSampleResponse:
+ $ref: '#/components/examples/dataSampleResponse'
"400":
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorMessage'
+ example:
+ status: 400 BAD_REQUEST
+ message: Bad request error message
+ details: Bad request error details
"401":
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorMessage'
+ example:
+ status: 401
+ message: Unauthorized error message
+ details: Unauthorized error details
"403":
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorMessage'
- "404":
- description: The specified resource was not found
+ example:
+ status: 403
+ message: Forbidden error message
+ details: Forbidden error details
+ "500":
+ description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorMessage'
+ example:
+ status: 500
+ message: Internal Server Error
+ details: Internal Server Error occurred
+ put:
+ tags:
+ - network-cm-proxy
+ summary: Update resource data from pass-through running for a cm handle
+ description: Update resource data from pass-through running for the given cm
+ handle
+ operationId: updateResourceDataRunningForCmHandle
+ parameters:
+ - name: cm-handle
+ in: path
+ description: "The identifier for a network function, network element, subnetwork\
+ \ or any other cm object by managed Network CM Proxy"
+ required: true
+ schema:
+ type: string
+ example: my-cm-handle
+ - name: resourceIdentifier
+ in: query
+ description: The format of resource identifier depend on the associated DMI
+ Plugin implementation. For ONAP DMI Plugin it will be RESTConf paths but
+ it can really be anything.
+ required: true
+ allowReserved: true
+ schema:
+ type: string
+ examples:
+ sample 1:
+ value:
+ resourceIdentifier: \shops\bookstore
+ sample 2:
+ value:
+ resourceIdentifier: "\\shops\\bookstore\\categories[@code=1]"
+ sample 3:
+ value:
+ resourceIdentifier: "parent=shops,child=bookstore"
+ - name: Content-Type
+ in: header
+ description: "Content parameter for request, if content parameter is null,\
+ \ default value is application/json."
+ required: false
+ schema:
+ type: string
+ example: application/yang-data+json
+ default: application/json
+ requestBody:
+ content:
+ application/json:
+ schema:
+ type: object
+ examples:
+ dataSampleRequest:
+ $ref: '#/components/examples/dataSampleRequest'
+ application/yang-data+json:
+ schema:
+ type: object
+ examples:
+ dataSampleRequest:
+ $ref: '#/components/examples/dataSampleRequest'
+ required: true
+ responses:
+ "200":
+ description: OK
+ content:
+ application/json:
+ schema:
+ type: object
+ "400":
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ErrorMessage'
+ example:
+ status: 400 BAD_REQUEST
+ message: Bad request error message
+ details: Bad request error details
+ "401":
+ description: Unauthorized
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ErrorMessage'
+ example:
+ status: 401
+ message: Unauthorized error message
+ details: Unauthorized error details
+ "403":
+ description: Forbidden
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ErrorMessage'
+ example:
+ status: 403
+ message: Forbidden error message
+ details: Forbidden error details
+ "500":
+ description: Internal Server Error
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ErrorMessage'
+ example:
+ status: 500
+ message: Internal Server Error
+ details: Internal Server Error occurred
post:
tags:
- - network-cm-proxy
+ - network-cm-proxy
summary: create resource data from pass-through running for cm handle
description: create resource data from pass-through running for given cm handle
operationId: createResourceDataRunningForCmHandle
parameters:
- - name: cm-handle
- in: path
- description: "The identifier for a network function, network element, subnetwork\
+ - name: cm-handle
+ in: path
+ description: "The identifier for a network function, network element, subnetwork\
\ or any other cm object by managed Network CM Proxy"
- required: true
- schema:
- type: string
- - name: resourceIdentifier
- in: query
- description: The format of resource identifier depend on the associated DMI
- Plugin implementation. For ONAP DMI Plugin it will be RESTConf paths but
- it can really be anything.
- required: true
- allowReserved: true
- schema:
- type: string
- examples:
- sample1:
- value:
- resourceIdentifier: \parent\child
- sample2:
- value:
- resourceIdentifier: "\\parent\\listElement[key=value]"
- sample3:
- value:
- resourceIdentifier: "\\parent\\listElement[key=value]\\grandChild"
- sample4:
- value:
- resourceIdentifier: "parent=1,child=abc"
- - name: Content-Type
- in: header
- description: "Content parameter for request, if content parameter is null,\
+ required: true
+ schema:
+ type: string
+ example: my-cm-handle
+ - name: resourceIdentifier
+ in: query
+ description: The format of resource identifier depend on the associated DMI
+ Plugin implementation. For ONAP DMI Plugin it will be RESTConf paths but
+ it can really be anything.
+ required: true
+ allowReserved: true
+ schema:
+ type: string
+ examples:
+ sample 1:
+ value:
+ resourceIdentifier: \shops\bookstore
+ sample 2:
+ value:
+ resourceIdentifier: "\\shops\\bookstore\\categories[@code=1]"
+ sample 3:
+ value:
+ resourceIdentifier: "parent=shops,child=bookstore"
+ - name: Content-Type
+ in: header
+ description: "Content parameter for request, if content parameter is null,\
\ default value is application/json."
- required: false
- schema:
- type: string
- default: application/json
+ required: false
+ schema:
+ type: string
+ example: application/yang-data+json
+ default: application/json
requestBody:
content:
application/json:
schema:
- type: string
+ type: object
+ examples:
+ dataSampleRequest:
+ $ref: '#/components/examples/dataSampleRequest'
application/yang-data+json:
schema:
- type: string
+ type: object
+ examples:
+ dataSampleRequest:
+ $ref: '#/components/examples/dataSampleRequest'
required: true
responses:
"201":
@@ -261,71 +408,437 @@ paths:
application/json:
schema:
$ref: '#/components/schemas/ErrorMessage'
+ example:
+ status: 400 BAD_REQUEST
+ message: Bad request error message
+ details: Bad request error details
+ "401":
+ description: Unauthorized
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ErrorMessage'
+ example:
+ status: 401
+ message: Unauthorized error message
+ details: Unauthorized error details
+ "403":
+ description: Forbidden
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ErrorMessage'
+ example:
+ status: 403
+ message: Forbidden error message
+ details: Forbidden error details
+ "500":
+ description: Internal Server Error
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ErrorMessage'
+ example:
+ status: 500
+ message: Internal Server Error
+ details: Internal Server Error occurred
+ delete:
+ tags:
+ - network-cm-proxy
+ summary: Delete resource data
+ description: Delete resource data from pass-through running for a given cm handle
+ operationId: deleteResourceDataRunningForCmHandle
+ parameters:
+ - name: cm-handle
+ in: path
+ description: "The identifier for a network function, network element, subnetwork\
+ \ or any other cm object by managed Network CM Proxy"
+ required: true
+ schema:
+ type: string
+ example: my-cm-handle
+ - name: resourceIdentifier
+ in: query
+ description: The format of resource identifier depend on the associated DMI
+ Plugin implementation. For ONAP DMI Plugin it will be RESTConf paths but
+ it can really be anything.
+ required: true
+ allowReserved: true
+ schema:
+ type: string
+ examples:
+ sample 1:
+ value:
+ resourceIdentifier: \shops\bookstore
+ sample 2:
+ value:
+ resourceIdentifier: "\\shops\\bookstore\\categories[@code=1]"
+ sample 3:
+ value:
+ resourceIdentifier: "parent=shops,child=bookstore"
+ - name: Content-Type
+ in: header
+ description: "Content parameter for request, if content parameter is null,\
+ \ default value is application/json."
+ required: false
+ schema:
+ type: string
+ example: application/yang-data+json
+ default: application/json
+ responses:
+ "204":
+ description: No Content
+ content: {}
+ "400":
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ErrorMessage'
+ example:
+ status: 400 BAD_REQUEST
+ message: Bad request error message
+ details: Bad request error details
"401":
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorMessage'
+ example:
+ status: 401
+ message: Unauthorized error message
+ details: Unauthorized error details
"403":
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorMessage'
+ example:
+ status: 403
+ message: Forbidden error message
+ details: Forbidden error details
"404":
description: The specified resource was not found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorMessage'
+ example:
+ status: 400
+ message: Not found error message
+ details: Not found error details
+ "500":
+ description: Internal Server Error
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ErrorMessage'
+ example:
+ status: 500
+ message: Internal Server Error
+ details: Internal Server Error occurred
+ patch:
+ tags:
+ - network-cm-proxy
+ summary: Patch resource data from pass-through running
+ description: Patch resource data from pass-through running for the given cm
+ handle
+ operationId: patchResourceDataRunningForCmHandle
+ parameters:
+ - name: cm-handle
+ in: path
+ description: "The identifier for a network function, network element, subnetwork\
+ \ or any other cm object by managed Network CM Proxy"
+ required: true
+ schema:
+ type: string
+ example: my-cm-handle
+ - name: resourceIdentifier
+ in: query
+ description: The format of resource identifier depend on the associated DMI
+ Plugin implementation. For ONAP DMI Plugin it will be RESTConf paths but
+ it can really be anything.
+ required: true
+ allowReserved: true
+ schema:
+ type: string
+ examples:
+ sample 1:
+ value:
+ resourceIdentifier: \shops\bookstore
+ sample 2:
+ value:
+ resourceIdentifier: "\\shops\\bookstore\\categories[@code=1]"
+ sample 3:
+ value:
+ resourceIdentifier: "parent=shops,child=bookstore"
+ - name: Content-Type
+ in: header
+ description: "Content parameter for request, if content parameter is null,\
+ \ default value is application/json."
+ required: false
+ schema:
+ type: string
+ example: application/yang-data+json
+ default: application/json
+ requestBody:
+ content:
+ '*/*':
+ schema:
+ type: object
+ examples:
+ dataSampleRequest:
+ $ref: '#/components/examples/dataSamplePatchRequest'
+ required: true
+ responses:
+ "200":
+ description: OK
+ content:
+ application/json:
+ schema:
+ type: object
+ "400":
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ErrorMessage'
+ example:
+ status: 400 BAD_REQUEST
+ message: Bad request error message
+ details: Bad request error details
+ "401":
+ description: Unauthorized
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ErrorMessage'
+ example:
+ status: 401
+ message: Unauthorized error message
+ details: Unauthorized error details
+ "403":
+ description: Forbidden
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ErrorMessage'
+ example:
+ status: 403
+ message: Forbidden error message
+ details: Forbidden error details
+ "500":
+ description: Internal Server Error
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ErrorMessage'
+ example:
+ status: 500
+ message: Internal Server Error
+ details: Internal Server Error occurred
/v1/ch/{cm-handle}/modules:
get:
tags:
- - network-cm-proxy
+ - network-cm-proxy
summary: Fetch all module references (name and revision) for a given cm handle
description: fetch all module references (name and revision) for a given cm
handle
operationId: getModuleReferencesByCmHandle
parameters:
- - name: cm-handle
- in: path
- description: "The identifier for a network function, network element, subnetwork\
+ - name: cm-handle
+ in: path
+ description: "The identifier for a network function, network element, subnetwork\
\ or any other cm object by managed Network CM Proxy"
- required: true
- schema:
- type: string
+ required: true
+ schema:
+ type: string
+ example: my-cm-handle
responses:
"200":
description: OK
content:
application/json:
schema:
- type: object
+ type: array
+ items:
+ $ref: '#/components/schemas/ModuleReference'
+ "400":
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ErrorMessage'
+ example:
+ status: 400 BAD_REQUEST
+ message: Bad request error message
+ details: Bad request error details
+ "401":
+ description: Unauthorized
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ErrorMessage'
+ example:
+ status: 401
+ message: Unauthorized error message
+ details: Unauthorized error details
+ "403":
+ description: Forbidden
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ErrorMessage'
+ example:
+ status: 403
+ message: Forbidden error message
+ details: Forbidden error details
+ "500":
+ description: Internal Server Error
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ErrorMessage'
+ example:
+ status: 500
+ message: Internal Server Error
+ details: Internal Server Error occurred
+ /v1/ch/searches:
+ post:
+ tags:
+ - network-cm-proxy
+ summary: Execute cm handle search using the available conditions
+ description: Execute cm handle searches using 'hasAllModules' condition to get
+ all cm handles for the given module names
+ operationId: executeCmHandleSearch
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Conditions'
+ required: true
+ responses:
+ "200":
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/CmHandles'
+ "400":
+ description: Bad Request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ErrorMessage'
+ example:
+ status: 400 BAD_REQUEST
+ message: Bad request error message
+ details: Bad request error details
+ "401":
+ description: Unauthorized
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ErrorMessage'
+ example:
+ status: 401
+ message: Unauthorized error message
+ details: Unauthorized error details
+ "403":
+ description: Forbidden
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ErrorMessage'
+ example:
+ status: 403
+ message: Forbidden error message
+ details: Forbidden error details
+ "500":
+ description: Internal Server Error
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ErrorMessage'
+ example:
+ status: 500
+ message: Internal Server Error
+ details: Internal Server Error occurred
+ /v1/ch/{cm-handle}:
+ get:
+ tags:
+ - network-cm-proxy
+ summary: Retrieve CM handle details
+ description: Retrieve CM handle details and properties by cm handle id
+ operationId: retrieveCmHandleDetailsById
+ parameters:
+ - name: cm-handle
+ in: path
+ description: "The identifier for a network function, network element, subnetwork\
+ \ or any other cm object by managed Network CM Proxy"
+ required: true
+ schema:
+ type: string
+ example: my-cm-handle
+ responses:
+ "200":
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/RestOutputCmHandle'
"400":
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorMessage'
+ example:
+ status: 400 BAD_REQUEST
+ message: Bad request error message
+ details: Bad request error details
"401":
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorMessage'
+ example:
+ status: 401
+ message: Unauthorized error message
+ details: Unauthorized error details
"403":
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorMessage'
+ example:
+ status: 403
+ message: Forbidden error message
+ details: Forbidden error details
"404":
description: The specified resource was not found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorMessage'
+ example:
+ status: 400
+ message: Not found error message
+ details: Not found error details
+ "500":
+ description: Internal Server Error
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ErrorMessage'
+ example:
+ status: 500
+ message: Internal Server Error
+ details: Internal Server Error occurred
components:
schemas:
ErrorMessage:
@@ -338,3 +851,147 @@ components:
type: string
details:
type: string
+ ModuleReference:
+ title: Module reference details
+ type: object
+ properties:
+ moduleName:
+ type: string
+ example: my-module-name
+ revision:
+ type: string
+ example: my-module-revision
+ Conditions:
+ type: object
+ properties:
+ conditions:
+ $ref: '#/components/schemas/ConditionsData'
+ ConditionsData:
+ type: array
+ items:
+ $ref: '#/components/schemas/ConditionProperties'
+ ConditionProperties:
+ properties:
+ name:
+ type: string
+ example: hasAllModules
+ conditionParameters:
+ $ref: '#/components/schemas/ModuleNamesAsJsonArray'
+ ModuleNamesAsJsonArray:
+ type: array
+ items:
+ $ref: '#/components/schemas/ModuleNameAsJsonObject'
+ ModuleNameAsJsonObject:
+ properties:
+ moduleName:
+ type: string
+ example: my-module
+ CmHandles:
+ type: object
+ properties:
+ cmHandles:
+ $ref: '#/components/schemas/CmHandleProperties'
+ CmHandleProperties:
+ type: array
+ items:
+ $ref: '#/components/schemas/CmHandleProperty'
+ CmHandleProperty:
+ properties:
+ cmHandleId:
+ type: string
+ example: my-cm-handle-id
+ RestOutputCmHandle:
+ title: CM handle Details
+ type: object
+ properties:
+ cmHandle:
+ type: string
+ example: my-cm-handle1
+ publicCmHandleProperties:
+ $ref: '#/components/schemas/CmHandlePublicProperties'
+ CmHandlePublicProperties:
+ type: array
+ items:
+ type: object
+ additionalProperties:
+ type: string
+ example: Book Type
+ examples:
+ dataSampleResponse:
+ summary: Sample response
+ description: Sample response for selecting 'sample 1'.
+ value:
+ bookstore:
+ categories:
+ - code: "01"
+ books:
+ - authors:
+ - Iain M. Banks
+ - Ursula K. Le Guin
+ name: SciFi
+ - code: "02"
+ books:
+ - authors:
+ - Philip Pullman
+ name: kids
+ dataSampleRequest:
+ summary: Sample request
+ description: Sample request body
+ value:
+ test:bookstore:
+ bookstore-name: Chapters
+ categories:
+ - code: "01"
+ name: SciFi
+ books:
+ - authors:
+ - Iain M. Banks
+ - Ursula K. Le Guin
+ - code: "02"
+ name: kids
+ books:
+ - authors:
+ - Philip Pullman
+ dataSamplePatchRequest:
+ summary: Sample patch request
+ description: Sample patch request body
+ value:
+ ietf-restconf:yang-patch:
+ patch-id: patch-1
+ edit:
+ - edit-id: edit1
+ operation: merge
+ target: /
+ value:
+ test:bookstore:
+ bookstore-name: Chapters
+ categories:
+ - code: "01"
+ name: Science
+ books:
+ - authors:
+ - Author1
+ - Author2
+ - code: "02"
+ name: Arts
+ books:
+ - authors:
+ - Author3
+ - edit-id: edit2
+ operation: merge
+ target: /
+ value:
+ test:bookstore:
+ bookstore-name: Novels
+ categories:
+ - code: "03"
+ name: History
+ books:
+ - authors:
+ - Iain M. Banks
+ - Ursula K. Le Guin
+ - code: "04"
+ name: Fiction
+ books:
+ - authors:
+ - Philip Pullman
diff --git a/docs/release-notes.rst b/docs/release-notes.rst
index ff8a98867..0ca0547fa 100755
--- a/docs/release-notes.rst
+++ b/docs/release-notes.rst
@@ -29,9 +29,11 @@ Features
- `CPS-559 <https://jira.onap.org/browse/CPS-559>`_ Define response objects (schemas) in cps-ncmp
- `CPS-636 <https://jira.onap.org/browse/CPS-636>`_ Update operation for datastore pass through running
- `CPS-638 <https://jira.onap.org/browse/CPS-638>`_ Delete operation for datastore pass through running
+ - `CPS-677 <https://jira.onap.org/browse/CPS-677>`_ Support 'public' Cm Handle Properties
- `CPS-741 <https://jira.onap.org/browse/CPS-741>`_ Re sync after removing cm handles
- `CPS-777 <https://jira.onap.org/browse/CPS-777>`_ Ensure all DMI operations use POST method
- `CPS-780 <https://jira.onap.org/browse/CPS-780>`_ Add examples for parameters, request and response in openapi yaml for cps-core
+ - `CPS-817 <https://jira.onap.org/browse/CPS-817>`_ Create Endpoint For Get Cm Handles (incl. public properties) By Name
- `CPS-837 <https://jira.onap.org/browse/CPS-837>`_ Add Remove and Update properties (DMI and Public) as part of CM Handle Registration update
Bug Fixes
@@ -43,15 +45,19 @@ Bug Fixes
- `CPS-841 <https://jira.onap.org/browse/CPS-841>`_ Upgrade log4j to 2.17.1 as recommended by ONAP SECCOM
- `CPS-856 <https://jira.onap.org/browse/CPS-856>`_ Retry mechanism not working for concurrent CmHandle registration
- `CPS-867 <https://jira.onap.org/browse/CPS-867>`_ Database port made configurable through env variable DB_PORT
+ - `CPS-886 <https://jira.onap.org/browse/CPS-886>`_ Fragment handling decreasing performance for large number of cmHandles
- `CPS-887 <https://jira.onap.org/browse/CPS-887>`_ Increase performance of cmHandle registration for large number of schema sets in DB
- `CPS-892 <https://jira.onap.org/browse/CPS-892>`_ Fixed the response code during CM-Handle Registration from 201 CREATED to 204 NO_CONTENT
+ - `CPS-893 <https://jira.onap.org/browse/CPS-893>`_ NCMP Java API depends on NCM-Rest-API (cyclic) through json properties on Java API
Known Limitations, Issues and Workarounds
-----------------------------------------
*System Limitations*
-None
+Null can no longer be passed within the dmi plugin service names when registering a cm handle, as part of
+`CPS-837 <https://jira.onap.org/browse/CPS-837>`_ null is now used to indicate if a property should be removed as part
+of cm handle registration.
*Known Vulnerabilities*
@@ -59,7 +65,8 @@ None
*Workarounds*
-None
+Instead of passing null as a value within the dmi plugin service names, remove them from the request completely, or
+pass an empty string as the value if you do not want to include names for these values.
Security Notes
--------------