X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=docs%2Fapi%2Fswagger%2Fncmp%2Fopenapi.yaml;h=a1cc5d9ba719f8d14f6a041b25ef673e42650966;hb=7ce495b1e5871d42392b0b45fd3babd9fd5bd634;hp=52379f4addc654065a21cee3334281ecbd0b8e31;hpb=447c872eb3c9bd57631127651bc9744c5c1a8643;p=cps.git diff --git a/docs/api/swagger/ncmp/openapi.yaml b/docs/api/swagger/ncmp/openapi.yaml index 52379f4ad..a1cc5d9ba 100644 --- a/docs/api/swagger/ncmp/openapi.yaml +++ b/docs/api/swagger/ncmp/openapi.yaml @@ -1,891 +1,994 @@ -openapi: 3.0.1 +openapi: 3.0.3 info: - title: NCMP to CPS Proxy API description: NCMP to CPS Proxy API + title: NCMP to CPS Proxy API version: "1.0" servers: - - url: /ncmp +- url: /ncmp security: - - basicAuth: [] +- basicAuth: [] paths: /v1/ch/{cm-handle}/data/ds/{datastore-name}: - get: + 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 - summary: Get resource data for cm handle + - network-cm-proxy + get: description: Get resource data for given cm handle operationId: getResourceDataForCmHandle parameters: - - name: datastore-name - in: path - description: The type of the requested data - required: true - schema: - type: string - example: ncmp-datastore:running - - name: cm-handle - in: path - description: "The identifier for a network function, network element, subnetwork\ + - description: The type of the requested data + in: path + name: datastore-name + required: true + schema: + example: ncmp-datastore:running + type: string + - description: "The identifier for a network function, network element, subnetwork\ \ or any other cm object by managed Network CM Proxy" - required: true - schema: - type: string - example: my-cm-handle - - name: resourceIdentifier - in: query - description: The format of resource identifier depend on the associated DMI - Plugin implementation. For ONAP DMI Plugin it will be RESTConf paths but - it can really be anything. - required: true - allowReserved: true - schema: - type: string - examples: - sample 1: - value: - resourceIdentifier: \shops\bookstore - sample 2: - value: - resourceIdentifier: "\\shops\\bookstore\\categories[@code=1]" - sample 3: - value: - resourceIdentifier: "parent=shops,child=bookstore" - - name: options - in: query - description: "options parameter in query, it is mandatory to wrap key(s)=value(s)\ + in: 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." - required: false - allowReserved: true - schema: - type: string - examples: - sample 1: - value: - options: (depth=3) - sample 2: - value: - options: (fields=book) - sample 3: - value: - options: "(depth=2,fields=book/authors)" - - name: topic - in: query - description: topic parameter in query. - required: false - allowReserved: true - schema: - type: string - examples: - sample 1: - value: - topic: my-topic-name - - name: include-descendants - in: query - description: Determines if descendants are included in response - required: false - schema: - type: boolean - default: false + examples: + sample 1: + value: + options: (depth=3) + sample 2: + value: + options: (fields=book) + sample 3: + value: + options: "(depth=2,fields=book/authors)" + in: query + name: options + required: false + schema: + type: string + - allowReserved: true + description: topic parameter in query. + examples: + sample 1: + value: + topic: my-topic-name + in: query + name: topic + required: false + schema: + type: string + - description: Determines if descendants are included in response + in: query + name: include-descendants + required: false + schema: + default: false + type: boolean responses: "200": - description: OK content: application/json: - schema: - type: object examples: dataSampleResponse: $ref: '#/components/examples/dataSampleResponse' + value: null + schema: + type: object + description: OK "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 + schema: + $ref: '#/components/schemas/ErrorMessage' + description: Bad Request "401": - description: Unauthorized content: application/json: - schema: - $ref: '#/components/schemas/ErrorMessage' example: status: 401 message: Unauthorized error message details: Unauthorized error details + schema: + $ref: '#/components/schemas/ErrorMessage' + description: Unauthorized "403": - description: Forbidden content: application/json: - schema: - $ref: '#/components/schemas/ErrorMessage' example: status: 403 message: Forbidden error message details: Forbidden error details + schema: + $ref: '#/components/schemas/ErrorMessage' + description: Forbidden "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 + schema: + $ref: '#/components/schemas/ErrorMessage' + description: Internal Server Error "502": - description: Bad Gateway content: application/json: - schema: - $ref: '#/components/schemas/DmiErrorMessage' example: message: Bad Gateway Error Message NCMP dmi-response: http-code: 400 body: Bad Request - put: + schema: + $ref: '#/components/schemas/DmiErrorMessage' + description: Bad Gateway + summary: Get resource data for cm handle 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 + - network-cm-proxy + patch: + description: Patch resource data from pass-through running for the given cm handle - operationId: updateResourceDataRunningForCmHandle + operationId: patchResourceDataRunningForCmHandle parameters: - - name: datastore-name - in: path - description: The type of the requested data - required: true - schema: - type: string - example: ncmp-datastore:running - - name: cm-handle - in: path - description: "The identifier for a network function, network element, subnetwork\ + - description: The type of the requested data + in: path + name: datastore-name + required: true + schema: + example: ncmp-datastore:running + type: string + - description: "The identifier for a network function, network element, subnetwork\ \ or any other cm object by managed Network CM Proxy" - required: true - schema: - type: string - 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,\ + 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." - required: false - schema: - type: string - example: application/yang-data+json - default: application/json + in: header + name: Content-Type + required: false + schema: + default: application/json + example: application/yang-data+json + type: string requestBody: content: - application/json: - schema: - type: object + '*/*': examples: dataSampleRequest: - $ref: '#/components/examples/dataSampleRequest' - application/yang-data+json: + $ref: '#/components/examples/dataSamplePatchRequest' + value: null schema: type: object - examples: - dataSampleRequest: - $ref: '#/components/examples/dataSampleRequest' required: true responses: "200": - description: OK content: application/json: schema: type: object + description: OK "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 + schema: + $ref: '#/components/schemas/ErrorMessage' + description: Bad Request "401": - description: Unauthorized content: application/json: - schema: - $ref: '#/components/schemas/ErrorMessage' example: status: 401 message: Unauthorized error message details: Unauthorized error details + schema: + $ref: '#/components/schemas/ErrorMessage' + description: Unauthorized "403": - description: Forbidden content: application/json: - schema: - $ref: '#/components/schemas/ErrorMessage' example: status: 403 message: Forbidden error message details: Forbidden error details + schema: + $ref: '#/components/schemas/ErrorMessage' + description: Forbidden "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 + schema: + $ref: '#/components/schemas/ErrorMessage' + description: Internal Server Error "502": - description: Bad Gateway content: application/json: - schema: - $ref: '#/components/schemas/DmiErrorMessage' example: message: Bad Gateway Error Message NCMP dmi-response: http-code: 400 body: Bad Request - post: + schema: + $ref: '#/components/schemas/DmiErrorMessage' + description: Bad Gateway + summary: Patch resource data from pass-through running tags: - - network-cm-proxy - summary: create resource data from pass-through running for cm handle + - network-cm-proxy + post: description: create resource data from pass-through running for given cm handle operationId: createResourceDataRunningForCmHandle parameters: - - name: datastore-name - in: path - description: The type of the requested data - required: true - schema: - type: string - example: ncmp-datastore:running - - name: cm-handle - in: path - description: "The identifier for a network function, network element, subnetwork\ + - description: The type of the requested data + in: path + name: datastore-name + required: true + schema: + example: ncmp-datastore:running + type: string + - description: "The identifier for a network function, network element, subnetwork\ \ or any other cm object by managed Network CM Proxy" - required: true - schema: - type: string - 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,\ + 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." - required: false - schema: - type: string - example: application/yang-data+json - default: application/json + in: header + name: Content-Type + required: false + schema: + default: application/json + example: application/yang-data+json + type: string requestBody: content: application/json: - schema: - type: object examples: dataSampleRequest: $ref: '#/components/examples/dataSampleRequest' - application/yang-data+json: + value: null schema: type: object + application/yang-data+json: examples: dataSampleRequest: $ref: '#/components/examples/dataSampleRequest' + value: null + schema: + type: object required: true responses: "201": - description: Created content: {} + description: Created "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 + schema: + $ref: '#/components/schemas/ErrorMessage' + description: Bad Request "401": - description: Unauthorized content: application/json: - schema: - $ref: '#/components/schemas/ErrorMessage' example: status: 401 message: Unauthorized error message details: Unauthorized error details + schema: + $ref: '#/components/schemas/ErrorMessage' + description: Unauthorized "403": - description: Forbidden content: application/json: - schema: - $ref: '#/components/schemas/ErrorMessage' example: status: 403 message: Forbidden error message details: Forbidden error details + schema: + $ref: '#/components/schemas/ErrorMessage' + description: Forbidden "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 + schema: + $ref: '#/components/schemas/ErrorMessage' + description: Internal Server Error "502": - description: Bad Gateway content: application/json: - schema: - $ref: '#/components/schemas/DmiErrorMessage' example: message: Bad Gateway Error Message NCMP dmi-response: http-code: 400 body: Bad Request - delete: + schema: + $ref: '#/components/schemas/DmiErrorMessage' + description: Bad Gateway + summary: create resource data from pass-through running for cm handle tags: - - network-cm-proxy - summary: Delete resource data - description: Delete resource data from pass-through running for a given cm handle - operationId: deleteResourceDataRunningForCmHandle + - network-cm-proxy + put: + description: Update resource data from pass-through running for the given cm + handle + operationId: updateResourceDataRunningForCmHandle parameters: - - name: datastore-name - in: path - description: The type of the requested data - required: true - schema: - type: string - example: ncmp-datastore:running - - name: cm-handle - in: path - description: "The identifier for a network function, network element, subnetwork\ + - description: The type of the requested data + in: path + name: datastore-name + required: true + schema: + example: ncmp-datastore:running + type: string + - description: "The identifier for a network function, network element, subnetwork\ \ or any other cm object by managed Network CM Proxy" - required: true - schema: - type: string - 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,\ + 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." - required: false - schema: - type: string - example: application/yang-data+json - default: 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: - "204": - description: No Content - content: {} - "400": - description: Bad Request + "200": content: application/json: schema: - $ref: '#/components/schemas/ErrorMessage' + 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": - description: Unauthorized content: application/json: - schema: - $ref: '#/components/schemas/ErrorMessage' example: status: 401 message: Unauthorized error message details: Unauthorized error details + schema: + $ref: '#/components/schemas/ErrorMessage' + description: Unauthorized "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 + description: Forbidden "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 + schema: + $ref: '#/components/schemas/ErrorMessage' + description: Internal Server Error "502": - description: Bad Gateway content: application/json: - schema: - $ref: '#/components/schemas/DmiErrorMessage' example: message: Bad Gateway Error Message NCMP dmi-response: http-code: 400 body: Bad Request - patch: + schema: + $ref: '#/components/schemas/DmiErrorMessage' + description: Bad Gateway + summary: Update resource data from pass-through running for a cm handle 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 + - network-cm-proxy + /v1/data: + post: + description: This request will be handled asynchronously using messaging to + the supplied topic. The rest response will be an acknowledge with a requestId + to identify the relevant messages. + operationId: executeDataOperationForCmHandles parameters: - - name: datastore-name - in: path - description: The type of the requested data - required: true - schema: - type: string - example: ncmp-datastore:running - - name: cm-handle - in: path - description: "The identifier for a network function, network element, subnetwork\ - \ or any other cm object by managed Network CM Proxy" - required: true - schema: - type: string - example: my-cm-handle - - name: resourceIdentifier - in: query - description: The format of resource identifier depend on the associated DMI - Plugin implementation. For ONAP DMI Plugin it will be RESTConf paths but - it can really be anything. - required: true - allowReserved: true - schema: - type: string - examples: - sample 1: - value: - resourceIdentifier: \shops\bookstore - sample 2: - value: - resourceIdentifier: "\\shops\\bookstore\\categories[@code=1]" - sample 3: - value: - resourceIdentifier: "parent=shops,child=bookstore" - - name: Content-Type - in: header - description: "Content parameter for request, if content parameter is null,\ - \ default value is application/json." - required: false - schema: - type: string - example: application/yang-data+json - default: application/json + - 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: - type: object - examples: - dataSampleRequest: - $ref: '#/components/examples/dataSamplePatchRequest' + $ref: '#/components/schemas/DataOperationRequest' required: true responses: "200": - description: OK content: application/json: schema: type: object + description: OK "400": - description: Bad Request content: application/json: - schema: - $ref: '#/components/schemas/ErrorMessage' example: status: 400 BAD_REQUEST message: Bad request error message details: Bad request error details + schema: + $ref: '#/components/schemas/ErrorMessage' + description: Bad Request "401": - description: Unauthorized content: application/json: - schema: - $ref: '#/components/schemas/ErrorMessage' example: status: 401 message: Unauthorized error message details: Unauthorized error details + schema: + $ref: '#/components/schemas/ErrorMessage' + description: Unauthorized "403": - description: Forbidden content: application/json: - schema: - $ref: '#/components/schemas/ErrorMessage' example: status: 403 message: Forbidden error message details: Forbidden error details + schema: + $ref: '#/components/schemas/ErrorMessage' + description: Forbidden "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 + schema: + $ref: '#/components/schemas/ErrorMessage' + description: Internal Server Error "502": - description: Bad Gateway content: application/json: - schema: - $ref: '#/components/schemas/DmiErrorMessage' example: message: Bad Gateway Error Message NCMP dmi-response: http-code: 400 body: Bad Request + 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: - tags: - - network-cm-proxy - summary: Query resource data for a given cm handle description: Query resource data for a given cm handle operationId: queryResourceDataForCmHandle parameters: - - name: datastore-name - in: path - description: The type of the requested data - required: true - schema: - type: string - example: ncmp-datastore:running - - name: cm-handle - in: path - description: "The identifier for a network function, network element, subnetwork\ + - description: The type of the requested data + in: path + name: datastore-name + required: true + schema: + example: ncmp-datastore:running + type: string + - description: "The identifier for a network function, network element, subnetwork\ \ or any other cm object by managed Network CM Proxy" - required: true - schema: - type: string - example: my-cm-handle - - name: cps-path - in: query - description: "For more details on cps path, please refer https://docs.onap.org/projects/onap-cps/en/latest/cps-path.html" - required: false - schema: - type: string - default: / - examples: - container cps path: - value: //bookstore - list attributes cps path: - value: "//categories[@code=1]" - - name: options - in: query - description: "options parameter in query, it is mandatory to wrap key(s)=value(s)\ + in: 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." - required: false - allowReserved: true - schema: - type: string - examples: - sample 1: - value: - options: (depth=3) - sample 2: - value: - options: (fields=book) - sample 3: - value: - options: "(depth=2,fields=book/authors)" - - name: topic - in: query - description: topic parameter in query. - required: false - allowReserved: true - schema: - type: string - examples: - sample 1: - value: - topic: my-topic-name - - name: include-descendants - in: query - description: Determines if descendants are included in response - required: false - schema: - type: boolean - default: false + examples: + sample 1: + value: + options: (depth=3) + sample 2: + value: + options: (fields=book) + sample 3: + value: + options: "(depth=2,fields=book/authors)" + in: query + name: options + required: false + schema: + type: string + - allowReserved: true + description: topic parameter in query. + examples: + sample 1: + value: + topic: my-topic-name + in: query + name: topic + required: false + schema: + type: string + - description: Determines if descendants are included in response + in: query + name: include-descendants + required: false + schema: + default: false + type: boolean responses: "200": - description: OK content: application/json: - schema: - type: object examples: dataSampleResponse: $ref: '#/components/examples/dataSampleResponse' + value: null + schema: + type: object + description: OK "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 + schema: + $ref: '#/components/schemas/ErrorMessage' + description: Bad Request "401": - description: Unauthorized content: application/json: - schema: - $ref: '#/components/schemas/ErrorMessage' example: status: 401 message: Unauthorized error message details: Unauthorized error details + schema: + $ref: '#/components/schemas/ErrorMessage' + description: Unauthorized "403": - description: Forbidden content: application/json: - schema: - $ref: '#/components/schemas/ErrorMessage' example: status: 403 message: Forbidden error message details: Forbidden error details + schema: + $ref: '#/components/schemas/ErrorMessage' + description: Forbidden "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 + schema: + $ref: '#/components/schemas/ErrorMessage' + description: Internal Server Error "502": - description: Bad Gateway content: application/json: - schema: - $ref: '#/components/schemas/DmiErrorMessage' example: message: Bad Gateway Error Message NCMP dmi-response: http-code: 400 body: Bad Request + 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: - tags: - - network-cm-proxy - summary: Fetch all module references (name and revision) for a given cm handle description: fetch all module references (name and revision) for a given cm handle operationId: getModuleReferencesByCmHandle parameters: - - name: cm-handle - in: path - description: "The identifier for a network function, network element, subnetwork\ + - 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 + in: path + name: cm-handle + required: true + schema: + example: my-cm-handle + type: string responses: "200": - description: OK content: application/json: schema: - type: array items: $ref: '#/components/schemas/RestModuleReference' + type: array + description: OK "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 + schema: + $ref: '#/components/schemas/ErrorMessage' + description: Bad Request "401": - description: Unauthorized content: application/json: - schema: - $ref: '#/components/schemas/ErrorMessage' example: status: 401 message: Unauthorized error message details: Unauthorized error details + schema: + $ref: '#/components/schemas/ErrorMessage' + description: Unauthorized "403": - description: Forbidden content: application/json: - schema: - $ref: '#/components/schemas/ErrorMessage' example: status: 403 message: Forbidden error message details: Forbidden error details + schema: + $ref: '#/components/schemas/ErrorMessage' + description: Forbidden "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 + 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: - tags: - - network-cm-proxy - summary: "Fetch all module definitions (name, revision, yang resource) for a\ - \ given cm handle" - description: "Fetch all module definitions (name, revision, yang resource) for\ - \ a given cm handle" - operationId: getModuleDefinitionsByCmHandleId + description: "Get module definitions (module name, revision, yang resource)\ + \ with options to filter on module name and revision" + operationId: getModuleDefinitions parameters: - - name: cm-handle - in: path - description: "The identifier for a network function, network element, subnetwork\ + - description: "The identifier for a network function, network element, subnetwork\ \ or any other cm object by managed Network CM Proxy" - required: true - schema: - type: string - example: my-cm-handle + 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": - description: OK content: application/json: schema: - type: array items: $ref: '#/components/schemas/RestModuleDefinition' + type: array + description: OK "401": - description: Unauthorized content: application/json: - schema: - $ref: '#/components/schemas/ErrorMessage' example: status: 401 message: Unauthorized error message details: Unauthorized error details + schema: + $ref: '#/components/schemas/ErrorMessage' + description: Unauthorized "403": - description: Forbidden content: application/json: - schema: - $ref: '#/components/schemas/ErrorMessage' example: status: 403 message: Forbidden error message details: Forbidden error details + schema: + $ref: '#/components/schemas/ErrorMessage' + description: Forbidden "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 + schema: + $ref: '#/components/schemas/ErrorMessage' + description: Internal Server Error + summary: Get module definitions + tags: + - network-cm-proxy /v1/ch/searches: post: - tags: - - network-cm-proxy - summary: Execute cm handle search using the available conditions description: Execute cm handle query search and return a list of cm handle details. Any number of conditions can be applied. To be included in the result a cm-handle must fulfill ALL the conditions. An empty collection will be returned in the @@ -900,200 +1003,205 @@ paths: requestBody: content: application/json: - schema: - $ref: '#/components/schemas/CmHandleQueryParameters' 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": - description: OK content: application/json: schema: - type: array items: $ref: '#/components/schemas/RestOutputCmHandle' + type: array + description: OK "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 + schema: + $ref: '#/components/schemas/ErrorMessage' + description: Bad Request "401": - description: Unauthorized content: application/json: - schema: - $ref: '#/components/schemas/ErrorMessage' example: status: 401 message: Unauthorized error message details: Unauthorized error details + schema: + $ref: '#/components/schemas/ErrorMessage' + description: Unauthorized "403": - description: Forbidden content: application/json: - schema: - $ref: '#/components/schemas/ErrorMessage' example: status: 403 message: Forbidden error message details: Forbidden error details + schema: + $ref: '#/components/schemas/ErrorMessage' + description: Forbidden "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 + 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: - 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\ + - 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 + in: path + name: cm-handle + required: true + schema: + example: my-cm-handle + type: string responses: "200": - description: OK content: application/json: schema: $ref: '#/components/schemas/RestOutputCmHandle' + description: OK "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 + schema: + $ref: '#/components/schemas/ErrorMessage' + description: Bad Request "401": - description: Unauthorized content: application/json: - schema: - $ref: '#/components/schemas/ErrorMessage' example: status: 401 message: Unauthorized error message details: Unauthorized error details + schema: + $ref: '#/components/schemas/ErrorMessage' + description: Unauthorized "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 + schema: + $ref: '#/components/schemas/ErrorMessage' + description: The specified resource was not found "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 + schema: + $ref: '#/components/schemas/ErrorMessage' + description: Internal Server Error + summary: Retrieve CM handle details + tags: + - network-cm-proxy /v1/ch/{cm-handle}/properties: get: - tags: - - network-cm-proxy - summary: Get CM handle properties description: Get CM handle properties by cm handle id operationId: getCmHandlePublicPropertiesByCmHandleId parameters: - - name: cm-handle - in: path - description: "The identifier for a network function, network element, subnetwork\ + - 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 + in: path + name: cm-handle + required: true + schema: + example: my-cm-handle + type: string responses: "200": - description: OK content: application/json: schema: $ref: '#/components/schemas/RestOutputCmHandlePublicProperties' + description: OK "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 + schema: + $ref: '#/components/schemas/ErrorMessage' + description: Bad Request "401": - description: Unauthorized content: application/json: - schema: - $ref: '#/components/schemas/ErrorMessage' example: status: 401 message: Unauthorized error message details: Unauthorized error details + schema: + $ref: '#/components/schemas/ErrorMessage' + description: Unauthorized "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 + schema: + $ref: '#/components/schemas/ErrorMessage' + description: The specified resource was not found "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 + schema: + $ref: '#/components/schemas/ErrorMessage' + description: Internal Server Error + summary: Get CM handle properties + tags: + - network-cm-proxy /v1/ch/id-searches: post: - tags: - - network-cm-proxy - summary: Execute cm handle query upon a given set of query parameters description: Execute cm handle query search and return a list of cm handle ids. Any number of conditions can be applied. To be included in the result a cm-handle must fulfill ALL the conditions. An empty collection will be returned in the @@ -1108,230 +1216,571 @@ paths: requestBody: content: application/json: - schema: - $ref: '#/components/schemas/CmHandleQueryParameters' 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": - description: OK content: application/json: schema: - type: array items: type: string + type: array + description: OK "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 + schema: + $ref: '#/components/schemas/ErrorMessage' + description: Bad Request "401": - description: Unauthorized content: application/json: - schema: - $ref: '#/components/schemas/ErrorMessage' example: status: 401 message: Unauthorized error message details: Unauthorized error details + schema: + $ref: '#/components/schemas/ErrorMessage' + description: Unauthorized "403": - description: Forbidden content: application/json: - schema: - $ref: '#/components/schemas/ErrorMessage' example: status: 403 message: Forbidden error message details: Forbidden error details + schema: + $ref: '#/components/schemas/ErrorMessage' + description: Forbidden "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 + schema: + $ref: '#/components/schemas/ErrorMessage' + description: The specified resource was not found "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 + 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: - tags: - - network-cm-proxy - summary: Get CM handle state description: Get CM handle state by cm handle id operationId: getCmHandleStateByCmHandleId parameters: - - name: cm-handle - in: path - description: "The identifier for a network function, network element, subnetwork\ + - 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 + in: path + name: cm-handle + required: true + schema: + example: my-cm-handle + type: string responses: "200": - description: OK content: application/json: schema: $ref: '#/components/schemas/RestOutputCmHandleCompositeState' + description: OK "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 + schema: + $ref: '#/components/schemas/ErrorMessage' + description: Bad Request "401": - description: Unauthorized content: application/json: - schema: - $ref: '#/components/schemas/ErrorMessage' example: status: 401 message: Unauthorized error message details: Unauthorized error details + schema: + $ref: '#/components/schemas/ErrorMessage' + description: Unauthorized "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 + schema: + $ref: '#/components/schemas/ErrorMessage' + description: The specified resource was not found "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 + 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: - tags: - - network-cm-proxy - summary: Set the Data Sync Enabled Flag description: Set the data sync enabled flag to true or false for a specified Cm-Handle. This will in turn set the data sync state to UNSYNCHRONIZED and NONE_REQUESTED respectfully. operationId: setDataSyncEnabledFlagForCmHandle parameters: - - name: cm-handle - in: path - description: "The identifier for a network function, network element, subnetwork\ + - description: "The identifier for a network function, network element, subnetwork\ \ or any other cm object by managed Network CM Proxy" - required: true - schema: - type: string - example: my-cm-handle - - name: dataSyncEnabled - in: query - description: Is used to enable or disable the data synchronization flag - required: true - schema: - type: boolean - example: true + 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": - description: OK content: application/json: schema: type: object + description: OK "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 + schema: + $ref: '#/components/schemas/ErrorMessage' + description: Bad Request "401": - description: Unauthorized content: application/json: - schema: - $ref: '#/components/schemas/ErrorMessage' example: status: 401 message: Unauthorized error message details: Unauthorized error details + schema: + $ref: '#/components/schemas/ErrorMessage' + description: Unauthorized "403": - description: Forbidden content: application/json: - schema: - $ref: '#/components/schemas/ErrorMessage' example: status: 403 message: Forbidden error message details: Forbidden error details + schema: + $ref: '#/components/schemas/ErrorMessage' + description: Forbidden "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 + schema: + $ref: '#/components/schemas/ErrorMessage' + description: Internal Server Error "502": - description: Bad Gateway content: application/json: - schema: - $ref: '#/components/schemas/DmiErrorMessage' example: message: Bad Gateway Error Message NCMP dmi-response: http-code: 400 body: Bad Request + 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: - title: Error - type: object properties: status: type: string @@ -1339,280 +1788,366 @@ components: type: string details: type: string - DmiErrorMessage: - title: DMI Error Message + title: Error type: object + DmiErrorMessage: properties: message: - type: string example: Bad Gateway Error Message NCMP + type: string dmi-response: - $ref: '#/components/schemas/DmiErrorMessage_dmiresponse' - RestModuleReference: - title: Module reference details + $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: - moduleName: + 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 - revision: type: string + revision: example: my-module-revision - RestModuleDefinition: - title: Module definitions + 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: - type: string example: my-module-name + type: string revision: + example: 2020-09-15 type: string - example: 2020-09-15T00:00:00.000+00:00 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 - example: "module stores {\n yang-version 1.1;\n namespace \"org:onap:ccsdk:sample\"\ - ;\n prefix book-store;\n revision \"2020-09-15\" {\n description\n\ - \ \"Sample Model\";\n }\n}\n" - CmHandleQueryParameters: - title: Cm Handle query parameters for executing cm handle search + 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: - type: array items: $ref: '#/components/schemas/ConditionProperties' - conditions: type: array - description: "not necessary, it is just for backward compatibility" + 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: - type: array items: - type: object 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: - type: array items: $ref: '#/components/schemas/ModuleNameAsJsonObject' - deprecated: true + type: array ModuleNameAsJsonObject: + example: + moduleName: my-module properties: moduleName: - type: string example: my-module + type: string RestOutputCmHandle: - title: CM handle Details - type: object + 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: - type: string example: my-cm-handle1 + type: string publicCmHandleProperties: - $ref: '#/components/schemas/CmHandlePublicProperties' + 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: - type: array items: - type: object additionalProperties: - type: string example: Book Type + type: string + type: object + type: array CmHandleCompositeState: - type: object + 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: - type: string example: ADVISED + type: string lockReason: $ref: '#/components/schemas/lock-reason' lastUpdateTime: - type: string example: 2022-12-31T20:30:40.000+0000 + type: string dataSyncEnabled: - type: boolean example: false + type: boolean dataSyncState: $ref: '#/components/schemas/dataStores' - lock-reason: type: object + lock-reason: + example: + reason: LOCKED_MISBEHAVING + details: locked due to failure in module sync properties: reason: - type: string example: LOCKED_MISBEHAVING - details: type: string + details: example: locked due to failure in module sync - dataStores: + 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' - sync-state: type: object + sync-state: + example: + lastSyncTime: 2022-12-31T20:30:40.000+0000 + syncState: NONE_REQUESTED properties: syncState: - type: string example: NONE_REQUESTED - lastSyncTime: type: string + lastSyncTime: example: 2022-12-31T20:30:40.000+0000 - RestOutputCmHandlePublicProperties: + 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: - $ref: '#/components/schemas/CmHandlePublicProperties' - RestOutputCmHandleCompositeState: + 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' - DmiErrorMessage_dmiresponse: type: object + DmiErrorMessage_dmi_response: properties: http-code: - type: integer example: 400 + type: integer body: - type: string example: Bad Request - examples: - dataSampleResponse: - summary: Sample response - description: Sample response for selecting 'sample 1'. - value: - bookstore: - categories: - - code: "01" - books: - - authors: - - Iain M. Banks - - Ursula K. Le Guin - name: SciFi - - code: "02" - books: - - authors: - - Philip Pullman - name: kids - dataSampleRequest: - summary: Sample request - description: Sample request body - value: - test:bookstore: - bookstore-name: Chapters - categories: - - code: "01" - name: SciFi - books: - - authors: - - Iain M. Banks - - Ursula K. Le Guin - - code: "02" - name: kids - books: - - authors: - - Philip Pullman - dataSamplePatchRequest: - summary: Sample patch request - description: Sample patch request body - value: - ietf-restconf:yang-patch: - patch-id: patch-1 - edit: - - edit-id: edit1 - operation: merge - target: / - value: - test:bookstore: - bookstore-name: Chapters - categories: - - code: "01" - name: Science - books: - - authors: - - Author1 - - Author2 - - code: "02" - name: Arts - books: - - authors: - - Author3 - - edit-id: edit2 - operation: merge - target: / - value: - test:bookstore: - bookstore-name: Novels - categories: - - code: "03" - name: History - books: - - authors: - - Iain M. Banks - - Ursula K. Le Guin - - code: "04" - name: Fiction - books: - - authors: - - Philip Pullman - pubPropCmHandleQueryParameters: - value: - cmHandleQueryParameters: - - conditionName: hasAllProperties - conditionParameters: - - Color: yellow - - Shape: circle - - Size: small - modulesCmHandleQueryParameters: - value: - cmHandleQueryParameters: - - conditionName: hasAllModules - conditionParameters: - - moduleName: my-module-1 - - moduleName: my-module-2 - - moduleName: my-module-3 - allCmHandleQueryParameters: - value: - cmHandleQueryParameters: - - conditionName: hasAllModules - conditionParameters: - - moduleName: my-module-1 - - moduleName: my-module-2 - - moduleName: my-module-3 - - conditionName: hasAllProperties - conditionParameters: - - Color: yellow - - Shape: circle - - Size: small - - conditionName: cmHandleWithCpsPath - conditionParameters: - - cpsPath: "//state[@cm-handle-state='ADVISED']" - cpsPathCmHandleStateQueryParameters: - value: - cmHandleQueryParameters: - - conditionName: cmHandleWithCpsPath - conditionParameters: - - cpsPath: "//state[@cm-handle-state='LOCKED']" - cpsPathCmHandleDataSyncQueryParameters: - value: - cmHandleQueryParameters: - - conditionName: cmHandleWithCpsPath - conditionParameters: - - cpsPath: "//state[@data-sync-enabled='true']" + type: string + type: object securitySchemes: basicAuth: - type: http scheme: basic + type: http