diff options
author | Niamh Core <niamh.core@est.tech> | 2021-09-14 14:49:07 +0000 |
---|---|---|
committer | Gerrit Code Review <gerrit@onap.org> | 2021-09-14 14:49:07 +0000 |
commit | bd8ab2fc4737aebada59962baed8b35d4f86dd1c (patch) | |
tree | 7977d36ac395ae430b723f8fb2952e0d98ae2abc /docs/api/swagger | |
parent | ade7f1576b3ad5ad63b4f33efc59334a627657a5 (diff) | |
parent | 44beaa34486d0624175c42cc3899a0b53befd9a8 (diff) |
Merge "Create Preliminary Documentation for CPS-Core & NCMP"
Diffstat (limited to 'docs/api/swagger')
-rw-r--r--[-rwxr-xr-x] | docs/api/swagger/cps/openapi.yaml (renamed from docs/api/swagger/openapi.yml) | 971 | ||||
-rw-r--r-- | docs/api/swagger/ncmp/openapi.yaml | 659 |
2 files changed, 1218 insertions, 412 deletions
diff --git a/docs/api/swagger/openapi.yml b/docs/api/swagger/cps/openapi.yaml index 4d64b01b85..fb219eb652 100755..100644 --- a/docs/api/swagger/openapi.yml +++ b/docs/api/swagger/cps/openapi.yaml @@ -1,822 +1,920 @@ -# ============LICENSE_START======================================================= -# Copyright (C) 2021 Nordix Foundation -# Modifications Copyright (C) 2021 Bell Canada. -# ================================================================================ -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# SPDX-License-Identifier: Apache-2.0 -# ============LICENSE_END========================================================= - openapi: 3.0.1 info: title: ONAP Open API v3 Configuration Persistence Service description: Configuration Persistence Service is a Model Driven Generic Database - version: 1.0.0 contact: name: ONAP - url: 'https://onap.readthedocs.io' + url: https://onap.readthedocs.io email: onap-discuss@lists.onap.org license: name: Apache 2.0 - url: 'http://www.apache.org/licenses/LICENSE-2.0' - x-planned-retirement-date: '202212' + url: http://www.apache.org/licenses/LICENSE-2.0 + version: 1.0.0 + x-planned-retirement-date: "202212" x-component: Modeling x-logo: url: cps_logo.png servers: - - url: '//localhost:8088' +- url: /cps/api tags: - - name: cps-admin - description: cps Admin - - name: cps-data - description: cps Data +- name: cps-admin + description: cps Admin +- name: cps-data + description: cps Data paths: /v1/dataspaces: post: - description: Create a new dataspace tags: - - cps-admin + - cps-admin summary: Create a dataspace + description: Create a new dataspace operationId: createDataspace parameters: - - name: dataspace-name - in: query - description: dataspace-name - required: true - schema: - type: string + - name: dataspace-name + in: query + description: dataspace-name + required: true + schema: + type: string responses: - '201': + "201": description: Created content: text/plain: schema: type: string - '400': + "400": description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' - '401': + "401": description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' - '403': + "403": description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' - '/v1/dataspaces/{dataspace-name}': - delete: - description: Delete the given dataspace - DRAFT - tags: - - cps-admin - summary: Delete a dataspace - operationId: deleteDataspace - parameters: - - name: dataspace-name - in: path - description: dataspace-name - required: true - schema: - type: string - responses: - '200': - description: OK - content: - application/json: - schema: - type: object - '204': - description: No Content - content: {} - '400': - description: Bad Request - content: - application/json: - schema: - $ref: '#/components/schemas/ErrorMessage' - '401': - description: Unauthorized - content: - application/json: - schema: - $ref: '#/components/schemas/ErrorMessage' - '403': - description: Forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/ErrorMessage' - '/v1/dataspaces/{dataspace-name}/anchors': + /v1/dataspaces/{dataspace-name}/anchors: get: - description: 'Read all anchors, given a dataspace' tags: - - cps-admin + - cps-admin summary: Get anchors + description: "Read all anchors, given a dataspace" operationId: getAnchors parameters: - - name: dataspace-name - in: path - description: dataspace-name - required: true - schema: - type: string + - name: dataspace-name + in: path + description: dataspace-name + required: true + schema: + type: string responses: - '200': + "200": description: OK content: application/json: schema: - type: object - '400': + type: array + items: + $ref: '#/components/schemas/AnchorDetails' + "400": description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' - '401': + "401": description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' - '403': + "403": description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' - '404': + "404": description: The specified resource was not found content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' post: - description: Create a new anchor in the given dataspace tags: - - cps-admin + - cps-admin summary: Create an anchor + description: Create a new anchor in the given dataspace operationId: createAnchor parameters: - - name: dataspace-name - in: path - description: dataspace-name - required: true - schema: - type: string - - name: schema-set-name - in: query - description: schema-set-name - required: true - schema: - type: string - - name: anchor-name - in: query - description: anchor-name - required: true - schema: - type: string + - name: dataspace-name + in: path + description: dataspace-name + required: true + schema: + type: string + - name: schema-set-name + in: query + description: schema-set-name + required: true + schema: + type: string + - name: anchor-name + in: query + description: anchor-name + required: true + schema: + type: string responses: - '201': + "201": description: Created content: text/plain: schema: type: string - '400': + "400": description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' - '401': + "401": description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' - '403': + "403": description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' - '/v1/dataspaces/{dataspace-name}/anchors/{anchor-name}': + /v1/dataspaces/{dataspace-name}/anchors/{anchor-name}: get: - description: Read an anchor given an anchor name and a dataspace tags: - - cps-admin + - cps-admin summary: Get an anchor + description: Read an anchor given an anchor name and a dataspace operationId: getAnchor parameters: - - name: dataspace-name - in: path - description: dataspace-name - required: true - schema: - type: string - - name: anchor-name - in: path - description: anchor-name - required: true - schema: - type: string + - name: dataspace-name + in: path + description: dataspace-name + required: true + schema: + type: string + - name: anchor-name + in: path + description: anchor-name + required: true + schema: + type: string responses: - '200': + "200": description: OK content: application/json: schema: - type: object - '400': + $ref: '#/components/schemas/AnchorDetails' + "400": description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' - '401': + "401": description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' - '403': + "403": description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' - '404': + "404": description: The specified resource was not found content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' delete: - description: Delete an anchor given an anchor name and a dataspace - DRAFT tags: - - cps-admin + - cps-admin summary: Delete an anchor + description: Delete an anchor given an anchor name and a dataspace operationId: deleteAnchor parameters: - - name: dataspace-name - in: path - description: dataspace-name - required: true - schema: - type: string - - name: anchor-name - in: path - description: anchor-name - required: true - schema: - type: string + - name: dataspace-name + in: path + description: dataspace-name + required: true + schema: + type: string + - name: anchor-name + in: path + description: anchor-name + required: true + schema: + type: string responses: - '200': - description: OK - content: - application/json: - schema: - type: object - '204': + "204": description: No Content content: {} - '400': + "400": description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' - '401': + "401": description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' - '403': + "403": description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' - '/v1/dataspaces/{dataspace-name}/schema-sets': + /v1/dataspaces/{dataspace-name}/schema-sets: post: - description: Create a new schema set in the given dataspace tags: - - cps-admin + - cps-admin summary: Create a schema set + description: Create a new schema set in the given dataspace operationId: createSchemaSet parameters: - - name: dataspace-name - in: path - description: dataspace-name - required: true - schema: - type: string - - name: schema-set-name - in: query - description: schema-set-name - required: true - schema: - type: string - requestBody: + - name: dataspace-name + in: path + description: dataspace-name + required: true + schema: + type: string + - name: schema-set-name + in: query + description: schema-set-name required: true + schema: + type: string + requestBody: content: multipart/form-data: schema: - type: object - required: - - file - properties: - file: - type: string - description: multipartFile - format: binary - example: 'http://example.com/examples/example.yang' + $ref: '#/components/schemas/MultipartFile' + required: true responses: - '201': + "201": description: Created content: text/plain: schema: type: string - '400': + "400": description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' - '401': + "401": description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' - '403': + "403": description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' - '/v1/dataspaces/{dataspace-name}/schema-sets/{schema-set-name}': + /v1/dataspaces/{dataspace-name}/schema-sets/{schema-set-name}: get: - description: Read a schema set given a schema set name and a dataspace tags: - - cps-admin + - cps-admin summary: Get a schema set + description: Read a schema set given a schema set name and a dataspace operationId: getSchemaSet parameters: - - name: dataspace-name - in: path - description: dataspace-name - required: true - schema: - type: string - - name: schema-set-name - in: path - description: schema-set-name - required: true - schema: - type: string + - name: dataspace-name + in: path + description: dataspace-name + required: true + schema: + type: string + - name: schema-set-name + in: path + description: schema-set-name + required: true + schema: + type: string responses: - '200': + "200": description: OK content: application/json: schema: - type: object - '400': + $ref: '#/components/schemas/SchemaSetDetails' + "400": description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' - '401': + "401": description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' - '403': + "403": description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' - '404': + "404": description: The specified resource was not found content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' delete: - description: Delete a schema set given a schema set name and a dataspace tags: - - cps-admin + - cps-admin summary: Delete a schema set + description: Delete a schema set given a schema set name and a dataspace operationId: deleteSchemaSet parameters: - - name: dataspace-name - in: path - description: dataspace-name - required: true - schema: - type: string - - name: schema-set-name - in: path - description: schema-set-name - required: true - schema: - type: string + - name: dataspace-name + in: path + description: dataspace-name + required: true + schema: + type: string + - name: schema-set-name + in: path + description: schema-set-name + required: true + schema: + type: string responses: - '204': + "204": description: No Content content: {} - '400': + "400": description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' - '401': + "401": description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' - '403': + "403": description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' - '409': + "409": description: Conflict content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' - '/v1/dataspaces/{dataspace-name}/anchors/{anchor-name}/node': + /v1/dataspaces/{dataspace-name}/anchors/{anchor-name}/node: get: - description: >- - Get a node with an option to retrieve all the children for a given - anchor and dataspace tags: - - cps-data + - cps-data summary: Get a node + description: Get a node with an option to retrieve all the children for a given + anchor and dataspace operationId: getNodeByDataspaceAndAnchor parameters: - - name: dataspace-name - in: path - description: dataspace-name - required: true - schema: - type: string - - name: anchor-name - in: path - description: anchor-name - required: true - schema: - type: string - - name: xpath - in: query - description: xpath - required: false - schema: - type: string - default: / - - name: include-descendants - in: query - description: include-descendants - required: false - schema: - type: boolean - default: false + - name: dataspace-name + in: path + description: dataspace-name + required: true + schema: + type: string + - name: anchor-name + in: path + description: anchor-name + required: true + schema: + type: string + - name: xpath + in: query + description: xpath + required: false + schema: + type: string + default: / + - name: include-descendants + in: query + description: include-descendants + required: false + schema: + type: boolean + default: false responses: - '200': + "200": description: OK content: application/json: schema: type: object - '400': + example: + child: my_child + leafList: "leafListElement1, leafListElement2" + leaf: my_leaf + "400": description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' - '401': + "401": description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' - '403': + "403": description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' - '404': + "404": description: The specified resource was not found content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' x-codegen-request-body-name: xpath - '/v1/dataspaces/{dataspace-name}/anchors/{anchor-name}/nodes': + /v1/dataspaces/{dataspace-name}/anchors/{anchor-name}/nodes: + put: + tags: + - cps-data + summary: Replace a node with descendants + description: "Replace a node with descendants for a given dataspace, anchor\ + \ and a parent node xpath" + operationId: replaceNode + parameters: + - name: dataspace-name + in: path + description: dataspace-name + required: true + schema: + type: string + - name: anchor-name + in: path + description: anchor-name + required: true + schema: + type: string + - name: xpath + in: query + description: xpath + required: false + schema: + type: string + default: / + - name: observed-timestamp + in: query + description: observed-timestamp + required: false + schema: + type: string + example: 2021-03-21T00:10:34.030-0100 + requestBody: + content: + application/json: + schema: + type: string + required: true + responses: + "200": + description: OK + content: + application/json: + schema: + type: object + example: + key: value + "400": + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + "403": + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' post: - description: Create a node for a given anchor and dataspace tags: - - cps-data + - cps-data summary: Create a node + description: Create a node for a given anchor and dataspace operationId: createNode parameters: - - name: dataspace-name - in: path - description: dataspace-name - required: true - schema: - type: string - - name: anchor-name - in: path - description: anchor-name - required: true - schema: - type: string - requestBody: + - name: dataspace-name + in: path + description: dataspace-name required: true + schema: + type: string + - name: anchor-name + in: path + description: anchor-name + required: true + schema: + type: string + - name: xpath + in: query + description: xpath + required: false + schema: + type: string + default: / + - name: observed-timestamp + in: query + description: observed-timestamp + required: false + schema: + type: string + example: 2021-03-21T00:10:34.030-0100 + requestBody: content: application/json: schema: type: string + required: true responses: - '201': + "201": description: Created content: text/plain: schema: type: string - '400': + "400": description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' - '401': + "401": description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' - '403': + "403": description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' patch: - description: >- - Update a data node leaves for a given dataspace and anchor and a parent - node xpath tags: - - cps-data + - cps-data summary: Update node leaves + description: Update a data node leaves for a given dataspace and anchor and + a parent node xpath operationId: updateNodeLeaves parameters: - - name: dataspace-name - in: path - description: dataspace-name - required: true - schema: - type: string - - name: anchor-name - in: path - description: anchor-name - required: true - schema: - type: string - - name: xpath - in: query - description: xpath - required: false - schema: - type: string - default: / - requestBody: + - name: dataspace-name + in: path + description: dataspace-name required: true + schema: + type: string + - name: anchor-name + in: path + description: anchor-name + required: true + schema: + type: string + - name: xpath + in: query + description: xpath + required: false + schema: + type: string + default: / + - name: observed-timestamp + in: query + description: observed-timestamp + required: false + schema: + type: string + example: 2021-03-21T00:10:34.030-0100 + requestBody: content: application/json: schema: type: string + required: true responses: - '200': + "200": description: OK content: application/json: schema: type: object - '400': + example: + key: value + "400": description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' - '401': + "401": description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' - '403': + "403": description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' + /v1/dataspaces/{dataspace-name}/anchors/{anchor-name}/list-nodes: put: - description: >- - Replace a node with descendants for a given dataspace, anchor and a - parent node xpath tags: - - cps-data - summary: Replace a node with descendants - operationId: replaceNode + - cps-data + summary: Replace list-node child element(s) under existing parent node + description: Replace list-node child elements under existing node for a given + anchor and dataspace + operationId: replaceListNodeElements parameters: - - name: dataspace-name - in: path - description: dataspace-name - required: true - schema: - type: string - - name: anchor-name - in: path - description: anchor-name - required: true - schema: - type: string - - name: xpath - in: query - description: xpath - required: false - schema: - type: string - default: / - requestBody: + - name: dataspace-name + in: path + description: dataspace-name required: true + schema: + type: string + - name: anchor-name + in: path + description: anchor-name + required: true + schema: + type: string + - name: xpath + in: query + description: xpath + required: true + schema: + type: string + - name: observed-timestamp + in: query + description: observed-timestamp + required: false + schema: + type: string + example: 2021-03-21T00:10:34.030-0100 + requestBody: content: application/json: schema: type: string + required: true responses: - '200': - description: OK + "200": + description: Created content: - application/json: + text/plain: schema: - type: object - '400': + type: string + "400": description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' - '401': + "401": description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' - '403': + "403": description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' - '/v1/dataspaces/{dataspace-name}/nodes': - get: - description: >- - Get all nodes for a given dataspace using an xpath or schema node - identifier - DRAFT + post: tags: - - cps-data - summary: Get nodes - operationId: getNodesByDataspace + - cps-data + summary: Add list-node child element(s) under existing parent node + description: Add list-node child elements to existing node for a given anchor + and dataspace + operationId: addListNodeElements parameters: - - name: dataspace-name - in: path - description: dataspace-name - required: true - schema: - type: string + - name: dataspace-name + in: path + description: dataspace-name + required: true + schema: + type: string + - name: anchor-name + in: path + description: anchor-name + required: true + schema: + type: string + - name: xpath + in: query + description: xpath + required: true + schema: + type: string + - name: observed-timestamp + in: query + description: observed-timestamp + required: false + schema: + type: string + example: 2021-03-21T00:10:34.030-0100 + requestBody: + content: + application/json: + schema: + type: string + required: true responses: - '200': - description: OK + "201": + description: Created content: - application/json: + text/plain: schema: - type: object - '400': + type: string + "400": description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' - '401': + "401": description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' - '403': + "403": description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' - '404': - description: The specified resource was not found + delete: + tags: + - cps-data + summary: Delete list-node child element(s) under existing parent node + description: Delete list-node child elements under existing node for a given + anchor and dataspace + operationId: deleteListNodeElements + parameters: + - name: dataspace-name + in: path + description: dataspace-name + required: true + schema: + type: string + - name: anchor-name + in: path + description: anchor-name + required: true + schema: + type: string + - name: xpath + in: query + description: xpath + required: true + schema: + type: string + - name: observed-timestamp + in: query + description: observed-timestamp + required: false + schema: + type: string + example: 2021-03-21T00:10:34.030-0100 + responses: + "204": + description: No Content + content: {} + "400": + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + "403": + description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' - x-codegen-request-body-name: requestBody - '/v1/dataspaces/{dataspace-name}/anchors/{anchor-name}/nodes/query': + /v1/dataspaces/{dataspace-name}/anchors/{anchor-name}/nodes/query: get: - description: Query data nodes for the given dataspace and anchor using CPS path tags: - - cps-query + - cps-query summary: Query data nodes + description: Query data nodes for the given dataspace and anchor using CPS path operationId: getNodesByDataspaceAndAnchorAndCpsPath parameters: - - name: dataspace-name - in: path - description: dataspace-name - required: true - schema: - type: string - - name: anchor-name - in: path - description: anchor-name - required: true - schema: - type: string - - name: cps-path - in: query - description: cps-path - required: false - schema: - type: string - default: / - - name: include-descendants - in: query - description: include-descendants - required: false - schema: - type: boolean - default: false + - name: dataspace-name + in: path + description: dataspace-name + required: true + schema: + type: string + - name: anchor-name + in: path + description: anchor-name + required: true + schema: + type: string + - name: cps-path + in: query + description: cps-path + required: false + schema: + type: string + default: / + - name: include-descendants + in: query + description: include-descendants + required: false + schema: + type: boolean + default: false responses: - '200': + "200": description: OK content: application/json: schema: type: object - '400': + example: + key: value + "400": description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' - '401': + "401": description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' - '403': + "403": description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' - '404': + "404": description: The specified resource was not found content: application/json: @@ -826,15 +924,64 @@ paths: components: schemas: ErrorMessage: - type: object title: Error + type: object properties: status: type: string - example: 400 + example: "400" message: type: string example: Dataspace not found details: type: string example: Dataspace with name D1 does not exist. + AnchorDetails: + title: Anchor details by anchor Name + type: object + properties: + name: + type: string + example: my_anchor + dataspaceName: + type: string + example: my_dataspace + schemaSetName: + type: string + example: my_schema_set + MultipartFile: + required: + - file + type: object + properties: + file: + type: string + description: multipartFile + format: binary + SchemaSetDetails: + title: Schema set details by dataspace and schemasetName + type: object + properties: + dataspaceName: + type: string + example: my_dataspace + moduleReferences: + type: array + items: + $ref: '#/components/schemas/ModuleReferences' + name: + type: string + example: my_schema_set + ModuleReferences: + title: Module reference object + type: object + properties: + name: + type: string + example: module_reference_name + namespace: + type: string + example: module_reference_namespace + revision: + type: string + example: module_reference_revision diff --git a/docs/api/swagger/ncmp/openapi.yaml b/docs/api/swagger/ncmp/openapi.yaml new file mode 100644 index 0000000000..0edce20c17 --- /dev/null +++ b/docs/api/swagger/ncmp/openapi.yaml @@ -0,0 +1,659 @@ +openapi: 3.0.1 +info: + title: NCMP to CPS Proxy API + description: NCMP to CPS Proxy API + version: "1.0" +servers: +- url: /ncmp +paths: + /v1/cm-handles/{cm-handle}/node: + get: + tags: + - network-cm-proxy + summary: Get a node given a cm Handle and xpath + description: Get a node with an option to retrieve all the children for a given + cm Handle + operationId: getNodeByCmHandleAndXpath + 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 + - name: xpath + in: query + description: xpath + required: false + schema: + type: string + default: / + - name: include-descendants + in: query + description: include-descendants + required: false + schema: + type: boolean + default: false + responses: + "200": + description: OK + content: + application/json: + schema: + type: object + "400": + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + "403": + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + "404": + description: The specified resource was not found + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + deprecated: true + /v1/cm-handles/{cm-handle}/list-node: + post: + tags: + - network-cm-proxy + summary: Add list-node child element(s) + description: Add one or more list-node child elements under existing node for + the given CM Handle + operationId: addListNodeElements + 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 + - name: xpath + in: query + description: xpath + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + type: string + required: true + responses: + "201": + description: Created + content: {} + "400": + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + "403": + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + "404": + description: The specified resource was not found + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + deprecated: true + /v1/cm-handles/{cm-handle}/nodes/query: + get: + tags: + - network-cm-proxy + summary: Query data nodes + description: Query nodes for the given cps path and cm Handle + operationId: queryNodesByCmHandleAndCpsPath + 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 + - name: cps-path + in: query + description: cps-path + required: false + schema: + type: string + default: / + - name: include-descendants + in: query + description: include-descendants + required: false + schema: + type: boolean + default: false + responses: + "200": + description: OK + content: + application/json: + schema: + type: object + "400": + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + "403": + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + "404": + description: The specified resource was not found + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + deprecated: true + /v1/cm-handles/{cm-handle}/nodes: + put: + tags: + - network-cm-proxy + summary: Replace a node with descendants + description: Replace a node with descendants for the given cps path and cm Handle + operationId: replaceNode + 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 + - name: xpath + in: query + description: xpath + required: false + schema: + type: string + default: / + requestBody: + content: + application/json: + schema: + type: string + required: true + responses: + "200": + description: OK + content: + application/json: + schema: + type: object + "400": + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + "403": + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + "404": + description: The specified resource was not found + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + deprecated: true + post: + tags: + - network-cm-proxy + summary: Create a node with descendants + description: Create a node with descendants for the given CM Handle; top level + or under existing node (requires xpath) + operationId: createNode + 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 + - name: xpath + in: query + description: xpath + required: false + schema: + type: string + default: / + requestBody: + content: + application/json: + schema: + type: string + required: true + responses: + "201": + description: Created + content: {} + "400": + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + "403": + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + "404": + description: The specified resource was not found + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + deprecated: true + patch: + tags: + - network-cm-proxy + summary: Update node leaves + description: Update node leaves for the given cps path and cm Handle + operationId: updateNodeLeaves + 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 + - name: xpath + in: query + description: xpath + required: false + schema: + type: string + default: / + requestBody: + content: + application/json: + schema: + type: string + required: true + responses: + "200": + description: OK + content: + application/json: + schema: + type: object + "400": + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + "403": + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + "404": + description: The specified resource was not found + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + deprecated: true + /v1/ch: + post: + tags: + - network-cm-proxy + summary: DMI notifies NCMP of new CM Handles + description: "Register a DMI Plugin with any new, updated or removed CM Handles." + operationId: updateDmiPluginRegistration + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/RestDmiPluginRegistration' + required: true + responses: + "201": + description: Created + content: {} + "400": + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + "403": + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + /v1/ch/{cm-handle}/data/ds/ncmp-datastore:passthrough-operational/{resourceIdentifier}: + get: + tags: + - 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\ + \ or any other cm object by managed Network CM Proxy" + required: true + schema: + type: string + - name: resourceIdentifier + in: path + description: Resource identifier to get/set the resource data + required: true + schema: + type: string + - 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: fields + in: query + description: Fields parameter to filter resource + required: false + schema: + type: string + - name: depth + in: query + description: Depth parameter for response + required: false + schema: + minimum: 1 + type: integer + responses: + "200": + description: OK + content: + application/json: + schema: + type: object + "400": + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + "403": + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + "404": + description: The specified resource was not found + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + /v1/ch/{cm-handle}/data/ds/ncmp-datastore:passthrough-running/{resourceIdentifier}: + get: + tags: + - 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\ + \ or any other cm object by managed Network CM Proxy" + required: true + schema: + type: string + - name: resourceIdentifier + in: path + description: Resource identifier to get/set the resource data + required: true + schema: + type: string + - 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: fields + in: query + description: Fields parameter to filter resource + required: false + schema: + type: string + - name: depth + in: query + description: Depth parameter for response + required: false + schema: + minimum: 1 + type: integer + responses: + "200": + description: OK + content: + application/json: + schema: + type: object + "400": + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + "403": + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + "404": + description: The specified resource was not found + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + post: + tags: + - network-cm-proxy + summary: create resource data from pass-through running for cm handle + description: create resource data from pass-through running for given cm handle + operationId: createResourceDataRunningForCmHandle + parameters: + - name: 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: path + description: Resource identifier to get/set the resource data + required: true + schema: + type: string + - 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 + requestBody: + content: + application/json: + schema: + type: object + application/yang-data+json: + schema: + type: object + required: true + responses: + "201": + description: Created + content: {} + "400": + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + "403": + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + "404": + description: The specified resource was not found + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' +components: + schemas: + ErrorMessage: + title: Error + type: object + properties: + status: + type: string + message: + type: string + details: + type: string + RestDmiPluginRegistration: + type: object + properties: + dmiPlugin: + type: string + example: onap-dmi-plugin + createdCmHandles: + type: array + items: + $ref: '#/components/schemas/RestCmHandle' + updatedCmHandles: + type: array + items: + $ref: '#/components/schemas/RestCmHandle' + removedCmHandles: + type: array + items: + type: string + RestCmHandle: + required: + - cmHandle + type: object + properties: + cmHandle: + type: string + example: cmHandle123 + cmHandleProperties: + $ref: '#/components/schemas/RestCmHandleAdditionalProperties' + RestCmHandleAdditionalProperties: + type: object + additionalProperties: + type: string + example: system-001 |