X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=docs%2Fapi%2Fswagger%2Fcps%2Fopenapi.yaml;h=b5a5332e56f3e6b985581fe00ee713e8e04f9119;hb=aa3b2d66f489528e7773e2db584d41807dadfcb0;hp=8ea0d7b03ee5889685c460400f58a25ba57d74d7;hpb=77de212a9c4af21a2a2439750ad3f136f5e4ae60;p=cps.git diff --git a/docs/api/swagger/cps/openapi.yaml b/docs/api/swagger/cps/openapi.yaml index 8ea0d7b03..b5a5332e5 100644 --- a/docs/api/swagger/cps/openapi.yaml +++ b/docs/api/swagger/cps/openapi.yaml @@ -16,6 +16,8 @@ info: url: cps_logo.png servers: - url: /cps/api +security: +- basicAuth: [] tags: - name: cps-admin description: cps Admin @@ -95,6 +97,8 @@ paths: status: 500 message: Internal Server Error details: Internal Server Error occurred + deprecated: true + /{apiVersion}/dataspaces: delete: tags: - cps-admin @@ -102,6 +106,16 @@ paths: description: Delete a dataspace operationId: deleteDataspace parameters: + - name: apiVersion + in: path + description: apiVersion + required: true + schema: + type: string + default: v2 + enum: + - v1 + - v2 - name: dataspace-name in: query description: dataspace-name @@ -163,22 +177,24 @@ paths: status: 500 message: Internal Server Error details: Internal Server Error occurred - /v1/admin/dataspaces: - get: + /v2/dataspaces: + post: tags: - cps-admin - summary: Get dataspaces - description: "Read all dataspaces" - operationId: getAllDataspaces + summary: Create a dataspace + description: Create a new dataspace + operationId: createDataspaceV2 + parameters: + - name: dataspace-name + in: query + description: dataspace-name + required: true + schema: + type: string + example: my-dataspace responses: - "200": - description: OK - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/DataspaceDetails' + "201": + description: Created without response body "400": description: Bad Request content: @@ -209,6 +225,16 @@ paths: status: 403 message: Request Forbidden details: This request is forbidden + "409": + description: Conflict + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + example: + status: 409 + message: Conflicting request + details: The request cannot be processed as the resource is in use. "500": description: Internal Server Error content: @@ -219,28 +245,33 @@ paths: status: 500 message: Internal Server Error details: Internal Server Error occurred - /v1/admin/dataspaces/{dataspace-name}: + /{apiVersion}/admin/dataspaces: get: tags: - cps-admin - summary: Get a dataspace - description: Read an dataspace given a dataspace name - operationId: getDataspace + summary: Get all dataspaces + description: Read all dataspaces + operationId: getAllDataspaces parameters: - - name: dataspace-name + - name: apiVersion in: path - description: dataspace-name + description: apiVersion required: true schema: type: string - example: my-dataspace + default: v2 + enum: + - v1 + - v2 responses: "200": description: OK content: application/json: schema: - $ref: '#/components/schemas/DataspaceDetails' + type: array + items: + $ref: '#/components/schemas/DataspaceDetails' "400": description: Bad Request content: @@ -281,14 +312,24 @@ paths: status: 500 message: Internal Server Error details: Internal Server Error occurred - /v1/dataspaces/{dataspace-name}/anchors: + /{apiVersion}/admin/dataspaces/{dataspace-name}: get: tags: - cps-admin - summary: Get anchors - description: "Read all anchors, given a dataspace" - operationId: getAnchors + summary: Get a dataspace + description: Read a dataspace given a dataspace name + operationId: getDataspace parameters: + - name: apiVersion + in: path + description: apiVersion + required: true + schema: + type: string + default: v2 + enum: + - v1 + - v2 - name: dataspace-name in: path description: dataspace-name @@ -302,9 +343,7 @@ paths: content: application/json: schema: - type: array - items: - $ref: '#/components/schemas/AnchorDetails' + $ref: '#/components/schemas/DataspaceDetails' "400": description: Bad Request content: @@ -345,6 +384,7 @@ paths: status: 500 message: Internal Server Error details: Internal Server Error occurred + /v1/dataspaces/{dataspace-name}/anchors: post: tags: - cps-admin @@ -431,13 +471,14 @@ paths: status: 500 message: Internal Server Error details: Internal Server Error occurred - /v1/dataspaces/{dataspace-name}/anchors/{anchor-name}: - get: + deprecated: true + /v2/dataspaces/{dataspace-name}/anchors: + post: tags: - cps-admin - summary: Get an anchor - description: Read an anchor given an anchor name and a dataspace - operationId: getAnchor + summary: Create an anchor + description: Create a new anchor in the given dataspace + operationId: createAnchorV2 parameters: - name: dataspace-name in: path @@ -446,20 +487,23 @@ paths: schema: type: string example: my-dataspace + - name: schema-set-name + in: query + description: schema-set-name + required: true + schema: + type: string + example: my-schema-set - name: anchor-name - in: path + in: query description: anchor-name required: true schema: type: string example: my-anchor responses: - "200": - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/AnchorDetails' + "201": + description: Created without response body "400": description: Bad Request content: @@ -490,6 +534,16 @@ paths: status: 403 message: Request Forbidden details: This request is forbidden + "409": + description: Conflict + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + example: + status: 409 + message: Conflicting request + details: The request cannot be processed as the resource is in use. "500": description: Internal Server Error content: @@ -500,31 +554,40 @@ paths: status: 500 message: Internal Server Error details: Internal Server Error occurred - delete: + /{apiVersion}/dataspaces/{dataspace-name}/anchors: + get: tags: - cps-admin - summary: Delete an anchor - description: Delete an anchor given an anchor name and a dataspace - operationId: deleteAnchor + summary: Get anchors + description: "Read all anchors, given a dataspace" + operationId: getAnchors parameters: - - name: dataspace-name + - name: apiVersion in: path - description: dataspace-name + description: apiVersion required: true schema: type: string - example: my-dataspace - - name: anchor-name + default: v2 + enum: + - v1 + - v2 + - name: dataspace-name in: path - description: anchor-name + description: dataspace-name required: true schema: type: string - example: my-anchor + example: my-dataspace responses: - "204": - description: No Content - content: {} + "200": + description: OK + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/AnchorDetails' "400": description: Bad Request content: @@ -565,14 +628,24 @@ paths: status: 500 message: Internal Server Error details: Internal Server Error occurred - /v1/dataspaces/{dataspace-name}/schema-sets: - post: + /{apiVersion}/dataspaces/{dataspace-name}/anchors/{anchor-name}: + get: tags: - cps-admin - summary: Create a schema set - description: Create a new schema set in the given dataspace - operationId: createSchemaSet + summary: Get an anchor + description: Read an anchor given an anchor name and a dataspace + operationId: getAnchor parameters: + - name: apiVersion + in: path + description: apiVersion + required: true + schema: + type: string + default: v2 + enum: + - v1 + - v2 - name: dataspace-name in: path description: dataspace-name @@ -580,27 +653,20 @@ paths: schema: type: string example: my-dataspace - - name: schema-set-name - in: query - description: schema-set-name + - name: anchor-name + in: path + description: anchor-name required: true schema: type: string - example: my-schema-set - requestBody: - content: - multipart/form-data: - schema: - $ref: '#/components/schemas/MultipartFile' - required: true + example: my-anchor responses: - "201": - description: Created + "200": + description: OK content: - text/plain: + application/json: schema: - type: string - example: my-resource + $ref: '#/components/schemas/AnchorDetails' "400": description: Bad Request content: @@ -631,16 +697,6 @@ paths: status: 403 message: Request Forbidden details: This request is forbidden - "409": - description: Conflict - content: - application/json: - schema: - $ref: '#/components/schemas/ErrorMessage' - example: - status: 409 - message: Conflicting request - details: The request cannot be processed as the resource is in use. "500": description: Internal Server Error content: @@ -651,14 +707,23 @@ paths: status: 500 message: Internal Server Error details: Internal Server Error occurred - /v1/dataspaces/{dataspace-name}/schema-sets/{schema-set-name}: - get: + delete: tags: - cps-admin - summary: Get a schema set - description: Read a schema set given a schema set name and a dataspace - operationId: getSchemaSet + summary: Delete an anchor + description: Delete an anchor given an anchor name and a dataspace + operationId: deleteAnchor parameters: + - name: apiVersion + in: path + description: apiVersion + required: true + schema: + type: string + default: v2 + enum: + - v1 + - v2 - name: dataspace-name in: path description: dataspace-name @@ -666,20 +731,17 @@ paths: schema: type: string example: my-dataspace - - name: schema-set-name + - name: anchor-name in: path - description: schema-set-name + description: anchor-name required: true schema: type: string - example: my-schema-set + example: my-anchor responses: - "200": - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/SchemaSetDetails' + "204": + description: No Content + content: {} "400": description: Bad Request content: @@ -720,12 +782,13 @@ paths: status: 500 message: Internal Server Error details: Internal Server Error occurred - delete: + /v1/dataspaces/{dataspace-name}/schema-sets: + post: tags: - cps-admin - summary: Delete a schema set - description: Delete a schema set given a schema set name and a dataspace - operationId: deleteSchemaSet + summary: Create a schema set + description: Create a new schema set in the given dataspace + operationId: createSchemaSet parameters: - name: dataspace-name in: path @@ -735,16 +798,26 @@ paths: type: string example: my-dataspace - name: schema-set-name - in: path + in: query description: schema-set-name required: true schema: type: string example: my-schema-set + requestBody: + content: + multipart/form-data: + schema: + $ref: '#/components/schemas/MultipartFile' + required: true responses: - "204": - description: No Content - content: {} + "201": + description: Created + content: + text/plain: + schema: + type: string + example: my-resource "400": description: Bad Request content: @@ -795,14 +868,14 @@ paths: status: 500 message: Internal Server Error details: Internal Server Error occurred - /v1/dataspaces/{dataspace-name}/anchors/{anchor-name}/node: - get: + deprecated: true + /v2/dataspaces/{dataspace-name}/schema-sets: + post: tags: - - 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 + - cps-admin + summary: Create a schema set + description: Create a new schema set in the given dataspace + operationId: createSchemaSetV2 parameters: - name: dataspace-name in: path @@ -811,33 +884,449 @@ paths: schema: type: string example: my-dataspace - - name: anchor-name - in: path - description: anchor-name - required: true - schema: - type: string - example: my-anchor - - name: xpath + - name: schema-set-name in: query - description: "For more details on xpath, please refer https://docs.onap.org/projects/onap-cps/en/latest/cps-path.html" - required: false + description: schema-set-name + required: true schema: type: string - default: / - examples: - container xpath: - value: /shops/bookstore - list attributes xpath: - value: "/shops/bookstore/categories[@code=1]" + example: my-schema-set + requestBody: + content: + multipart/form-data: + schema: + $ref: '#/components/schemas/MultipartFile' + required: true + responses: + "201": + description: Created without response body + "400": + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + example: + status: 400 + message: Bad Request + details: The provided request is not valid + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + example: + status: 401 + message: Unauthorized request + details: This request is unauthorized + "403": + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + example: + status: 403 + message: Request Forbidden + details: This request is forbidden + "409": + description: Conflict + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + example: + status: 409 + message: Conflicting request + details: The request cannot be processed as the resource is in use. + "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 + /{apiVersion}/dataspaces/{dataspace-name}/schema-sets: + get: + tags: + - cps-admin + summary: Get schema sets + description: "Read all schema sets, given a dataspace" + operationId: getSchemaSets + parameters: + - name: apiVersion + in: path + description: apiVersion + required: true + schema: + type: string + default: v2 + enum: + - v1 + - v2 + - name: dataspace-name + in: path + description: dataspace-name + required: true + schema: + type: string + example: my-dataspace + responses: + "200": + description: OK + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/SchemaSetDetails' + "400": + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + example: + status: 400 + message: Bad Request + details: The provided request is not valid + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + example: + status: 401 + message: Unauthorized request + details: This request is unauthorized + "403": + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + example: + status: 403 + message: Request Forbidden + details: This request is 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 + /{apiVersion}/dataspaces/{dataspace-name}/schema-sets/{schema-set-name}: + get: + tags: + - cps-admin + summary: Get a schema set + description: Read a schema set given a schema set name and a dataspace + operationId: getSchemaSet + parameters: + - name: apiVersion + in: path + description: apiVersion + required: true + schema: + type: string + default: v2 + enum: + - v1 + - v2 + - name: dataspace-name + in: path + description: dataspace-name + required: true + schema: + type: string + example: my-dataspace + - name: schema-set-name + in: path + description: schema-set-name + required: true + schema: + type: string + example: my-schema-set + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/SchemaSetDetails' + "400": + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + example: + status: 400 + message: Bad Request + details: The provided request is not valid + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + example: + status: 401 + message: Unauthorized request + details: This request is unauthorized + "403": + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + example: + status: 403 + message: Request Forbidden + details: This request is 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 + delete: + tags: + - cps-admin + summary: Delete a schema set + description: Delete a schema set given a schema set name and a dataspace + operationId: deleteSchemaSet + parameters: + - name: apiVersion + in: path + description: apiVersion + required: true + schema: + type: string + default: v2 + enum: + - v1 + - v2 + - name: dataspace-name + in: path + description: dataspace-name + required: true + schema: + type: string + example: my-dataspace + - name: schema-set-name + in: path + description: schema-set-name + required: true + schema: + type: string + example: my-schema-set + responses: + "204": + description: No Content + content: {} + "400": + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + example: + status: 400 + message: Bad Request + details: The provided request is not valid + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + example: + status: 401 + message: Unauthorized request + details: This request is unauthorized + "403": + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + example: + status: 403 + message: Request Forbidden + details: This request is forbidden + "409": + description: Conflict + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + example: + status: 409 + message: Conflicting request + details: The request cannot be processed as the resource is in use. + "500": + description: Internal Server Error + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + example: + status: 500 + message: Internal Server Error + details: Internal Server Error occurred + /v1/dataspaces/{dataspace-name}/anchors/{anchor-name}/node: + get: + tags: + - 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 + example: my-dataspace + - name: anchor-name + in: path + description: anchor-name + required: true + schema: + type: string + example: my-anchor + - name: xpath + in: query + description: "For more details on xpath, please refer https://docs.onap.org/projects/onap-cps/en/latest/cps-path.html" + required: false + schema: + type: string + default: / + examples: + container xpath: + value: /shops/bookstore + list attributes xpath: + value: "/shops/bookstore/categories[@code=1]" - name: include-descendants in: query - description: include-descendants + description: include-descendants + required: false + schema: + type: boolean + example: false + default: false + responses: + "200": + description: OK + content: + application/json: + schema: + type: object + examples: + dataSample: + $ref: '#/components/examples/dataSample' + "400": + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + example: + status: 400 + message: Bad Request + details: The provided request is not valid + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + example: + status: 401 + message: Unauthorized request + details: This request is unauthorized + "403": + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + example: + status: 403 + message: Request Forbidden + details: This request is 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 + deprecated: true + x-codegen-request-body-name: xpath + /v2/dataspaces/{dataspace-name}/anchors/{anchor-name}/node: + get: + tags: + - 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: getNodeByDataspaceAndAnchorV2 + parameters: + - name: dataspace-name + in: path + description: dataspace-name + required: true + schema: + type: string + example: my-dataspace + - name: anchor-name + in: path + description: anchor-name + required: true + schema: + type: string + example: my-anchor + - name: xpath + in: query + description: "For more details on xpath, please refer https://docs.onap.org/projects/onap-cps/en/latest/cps-path.html" required: false schema: - type: boolean - example: false - default: false + type: string + default: / + examples: + container xpath: + value: /shops/bookstore + list attributes xpath: + value: "/shops/bookstore/categories[@code=1]" + - name: descendants + in: query + description: "Number of descendants to query. Allowed values are 'none', 'all',\ + \ -1 (for all), 0 (for none) and any positive number." + required: false + schema: + type: string + example: "3" + default: none responses: "200": description: OK @@ -889,7 +1378,7 @@ paths: message: Internal Server Error details: Internal Server Error occurred x-codegen-request-body-name: xpath - /v1/dataspaces/{dataspace-name}/anchors/{anchor-name}/nodes: + /{apiVersion}/dataspaces/{dataspace-name}/anchors/{anchor-name}/nodes: put: tags: - cps-data @@ -898,6 +1387,258 @@ paths: \ and a parent node xpath" operationId: replaceNode parameters: + - name: apiVersion + in: path + description: apiVersion + required: true + schema: + type: string + default: v2 + enum: + - v1 + - v2 + - name: dataspace-name + in: path + description: dataspace-name + required: true + schema: + type: string + example: my-dataspace + - name: anchor-name + in: path + description: anchor-name + required: true + schema: + type: string + example: my-anchor + - name: xpath + in: query + description: "For more details on xpath, please refer https://docs.onap.org/projects/onap-cps/en/latest/cps-path.html" + required: false + schema: + type: string + default: / + examples: + container xpath: + value: /shops/bookstore + list attributes xpath: + value: "/shops/bookstore/categories[@code=1]" + - 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: object + examples: + dataSample: + $ref: '#/components/examples/dataSample' + required: true + responses: + "200": + description: OK + content: + application/json: + schema: + type: object + examples: + dataSample: + value: "" + "400": + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + example: + status: 400 + message: Bad Request + details: The provided request is not valid + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + example: + status: 401 + message: Unauthorized request + details: This request is unauthorized + "403": + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + example: + status: 403 + message: Request Forbidden + details: This request is 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 + post: + tags: + - cps-data + summary: Create a node + description: Create a node for a given anchor and dataspace + operationId: createNode + parameters: + - name: apiVersion + in: path + description: apiVersion + required: true + schema: + type: string + default: v2 + enum: + - v1 + - v2 + - name: dataspace-name + in: path + description: dataspace-name + required: true + schema: + type: string + example: my-dataspace + - name: anchor-name + in: path + description: anchor-name + required: true + schema: + type: string + example: my-anchor + - name: xpath + in: query + description: "For more details on xpath, please refer https://docs.onap.org/projects/onap-cps/en/latest/cps-path.html" + required: false + schema: + type: string + default: / + examples: + container xpath: + value: /shops/bookstore + list attributes xpath: + value: "/shops/bookstore/categories[@code=1]" + - name: observed-timestamp + in: query + description: observed-timestamp + required: false + schema: + type: string + example: 2021-03-21T00:10:34.030-0100 + - name: Content-Type + in: header + description: Content type header + required: true + schema: + type: string + example: application/json + requestBody: + content: + application/json: + schema: + type: string + examples: + dataSample: + $ref: '#/components/examples/dataSample' + application/xml: + schema: + type: object + xml: + name: stores + examples: + dataSample: + $ref: '#/components/examples/dataSampleXml' + required: true + responses: + "201": + description: Created + content: + text/plain: + schema: + type: string + example: my-resource + "400": + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + example: + status: 400 + message: Bad Request + details: The provided request is not valid + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + example: + status: 401 + message: Unauthorized request + details: This request is unauthorized + "403": + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + example: + status: 403 + message: Request Forbidden + details: This request is forbidden + "409": + description: Conflict + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + example: + status: 409 + message: Conflicting request + details: The request cannot be processed as the resource is in use. + "500": + description: Internal Server Error + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + example: + status: 500 + message: Internal Server Error + details: Internal Server Error occurred + delete: + tags: + - cps-data + summary: Delete a data node + description: Delete a datanode for a given dataspace and anchor given a node + xpath. + operationId: deleteDataNode + parameters: + - name: apiVersion + in: path + description: apiVersion + required: true + schema: + type: string + default: v2 + enum: + - v1 + - v2 - name: dataspace-name in: path description: dataspace-name @@ -931,25 +1672,10 @@ paths: schema: type: string example: 2021-03-21T00:10:34.030-0100 - requestBody: - content: - application/json: - schema: - type: object - examples: - dataSample: - $ref: '#/components/examples/dataSample' - required: true responses: - "200": - description: OK - content: - application/json: - schema: - type: object - examples: - dataSample: - value: "" + "204": + description: No Content + content: {} "400": description: Bad Request content: @@ -990,13 +1716,25 @@ paths: status: 500 message: Internal Server Error details: Internal Server Error occurred - post: + patch: tags: - cps-data - summary: Create a node - description: Create a node for a given anchor and dataspace - operationId: createNode + summary: Update node leaves + description: Update a data node leaves for a given dataspace and anchor and + a parent node xpath. This operation is currently supported for one top level + data node only. + operationId: updateNodeLeaves parameters: + - name: apiVersion + in: path + description: apiVersion + required: true + schema: + type: string + default: v2 + enum: + - v1 + - v2 - name: dataspace-name in: path description: dataspace-name @@ -1040,13 +1778,15 @@ paths: $ref: '#/components/examples/dataSample' required: true responses: - "201": - description: Created + "200": + description: OK content: - text/plain: + application/json: schema: - type: string - example: my-resource + type: object + examples: + dataSample: + value: "" "400": description: Bad Request content: @@ -1077,16 +1817,6 @@ paths: status: 403 message: Request Forbidden details: This request is forbidden - "409": - description: Conflict - content: - application/json: - schema: - $ref: '#/components/schemas/ErrorMessage' - example: - status: 409 - message: Conflicting request - details: The request cannot be processed as the resource is in use. "500": description: Internal Server Error content: @@ -1097,13 +1827,13 @@ paths: status: 500 message: Internal Server Error details: Internal Server Error occurred + /v1/dataspaces/{dataspace-name}/anchors/{anchor-name}/list-nodes: delete: tags: - cps-data - summary: Delete a data node - description: Delete a datanode for a given dataspace and anchor given a node - xpath. - operationId: deleteDataNode + summary: Delete one or all list element(s) + description: Delete one or all list element(s) for a given anchor and dataspace + operationId: deleteListOrListElement parameters: - name: dataspace-name in: path @@ -1122,10 +1852,9 @@ paths: - name: xpath in: query description: "For more details on xpath, please refer https://docs.onap.org/projects/onap-cps/en/latest/cps-path.html" - required: false + required: true schema: type: string - default: / examples: container xpath: value: /shops/bookstore @@ -1182,14 +1911,25 @@ paths: status: 500 message: Internal Server Error details: Internal Server Error occurred - patch: + deprecated: true + /{apiVersion}/dataspaces/{dataspace-name}/anchors/{anchor-name}/list-nodes: + put: tags: - 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 + summary: Replace list content + description: "Replace list content under a given parent, anchor and dataspace" + operationId: replaceListContent parameters: + - name: apiVersion + in: path + description: apiVersion + required: true + schema: + type: string + default: v2 + enum: + - v1 + - v2 - name: dataspace-name in: path description: dataspace-name @@ -1207,10 +1947,9 @@ paths: - name: xpath in: query description: "For more details on xpath, please refer https://docs.onap.org/projects/onap-cps/en/latest/cps-path.html" - required: false + required: true schema: type: string - default: / examples: container xpath: value: /shops/bookstore @@ -1282,14 +2021,23 @@ paths: status: 500 message: Internal Server Error details: Internal Server Error occurred - /v1/dataspaces/{dataspace-name}/anchors/{anchor-name}/list-nodes: - put: + post: tags: - cps-data - summary: Replace list content - description: "Replace list content under a given parent, anchor and dataspace" - operationId: replaceListContent + summary: Add list element(s) + description: Add list element(s) to a list for a given anchor and dataspace + operationId: addListElements parameters: + - name: apiVersion + in: path + description: apiVersion + required: true + schema: + type: string + default: v2 + enum: + - v1 + - v2 - name: dataspace-name in: path description: dataspace-name @@ -1332,15 +2080,13 @@ paths: $ref: '#/components/examples/dataSample' required: true responses: - "200": - description: OK + "201": + description: Created content: - application/json: + text/plain: schema: - type: object - examples: - dataSample: - value: "" + type: string + example: my-resource "400": description: Bad Request content: @@ -1381,12 +2127,13 @@ paths: status: 500 message: Internal Server Error details: Internal Server Error occurred - post: + /v1/dataspaces/{dataspace-name}/anchors/{anchor-name}/nodes/query: + get: tags: - - cps-data - summary: Add list element(s) - description: Add list element(s) to a list for a given anchor and dataspace - operationId: addListElements + - 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 @@ -1402,41 +2149,36 @@ paths: schema: type: string example: my-anchor - - name: xpath + - name: cps-path in: query - description: "For more details on xpath, please refer https://docs.onap.org/projects/onap-cps/en/latest/cps-path.html" - required: true + 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 xpath: - value: /shops/bookstore - list attributes xpath: - value: "/shops/bookstore/categories[@code=1]" - - name: observed-timestamp + container cps path: + value: //bookstore + list attributes cps path: + value: "//categories[@code=1]" + - name: include-descendants in: query - description: observed-timestamp + description: include-descendants required: false schema: - type: string - example: 2021-03-21T00:10:34.030-0100 - requestBody: - content: - application/json: - schema: - type: object - examples: - dataSample: - $ref: '#/components/examples/dataSample' - required: true + type: boolean + example: false + default: false responses: - "201": - description: Created + "200": + description: OK content: - text/plain: + application/json: schema: - type: string - example: my-resource + type: object + examples: + dataSample: + $ref: '#/components/examples/dataSample' "400": description: Bad Request content: @@ -1477,12 +2219,15 @@ paths: status: 500 message: Internal Server Error details: Internal Server Error occurred - delete: + deprecated: true + x-codegen-request-body-name: xpath + /v2/dataspaces/{dataspace-name}/anchors/{anchor-name}/nodes/query: + get: tags: - - cps-data - summary: Delete one or all list element(s) - description: Delete one or all list element(s) for a given anchor and dataspace - operationId: deleteListOrListElement + - cps-query + summary: Query data nodes + description: Query data nodes for the given dataspace and anchor using CPS path + operationId: getNodesByDataspaceAndAnchorAndCpsPathV2 parameters: - name: dataspace-name in: path @@ -1498,28 +2243,37 @@ paths: schema: type: string example: my-anchor - - name: xpath + - name: cps-path in: query - description: "For more details on xpath, please refer https://docs.onap.org/projects/onap-cps/en/latest/cps-path.html" - required: true + 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 xpath: - value: /shops/bookstore - list attributes xpath: - value: "/shops/bookstore/categories[@code=1]" - - name: observed-timestamp + container cps path: + value: //bookstore + list attributes cps path: + value: "//categories[@code=1]" + - name: descendants in: query - description: observed-timestamp + description: "Number of descendants to query. Allowed values are 'none', 'all',\ + \ -1 (for all), 0 (for none) and any positive number." required: false schema: type: string - example: 2021-03-21T00:10:34.030-0100 + example: "3" + default: none responses: - "204": - description: No Content - content: {} + "200": + description: OK + content: + application/json: + schema: + type: object + examples: + dataSample: + $ref: '#/components/examples/dataSample' "400": description: Bad Request content: @@ -1560,14 +2314,15 @@ paths: status: 500 message: Internal Server Error details: Internal Server Error occurred - deprecated: true - /v1/dataspaces/{dataspace-name}/anchors/{anchor-name}/nodes/query: + x-codegen-request-body-name: xpath + /v2/dataspaces/{dataspace-name}/nodes/query: get: tags: - cps-query summary: Query data nodes - description: Query data nodes for the given dataspace and anchor using CPS path - operationId: getNodesByDataspaceAndAnchorAndCpsPath + description: Query data nodes for the given dataspace across anchors using CPS + path + operationId: getNodesByDataspaceAndCpsPath parameters: - name: dataspace-name in: path @@ -1576,13 +2331,6 @@ paths: schema: type: string example: my-dataspace - - name: anchor-name - in: path - description: anchor-name - required: true - schema: - type: string - example: my-anchor - 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" @@ -1595,14 +2343,15 @@ paths: value: //bookstore list attributes cps path: value: "//categories[@code=1]" - - name: include-descendants + - name: descendants in: query - description: include-descendants + description: "Number of descendants to query. Allowed values are 'none', 'all',\ + \ -1 (for all), 0 (for none) and any positive number." required: false schema: - type: boolean - example: false - default: false + type: string + example: "3" + default: none responses: "200": description: OK @@ -1612,7 +2361,7 @@ paths: type: object examples: dataSample: - $ref: '#/components/examples/dataSample' + $ref: '#/components/examples/dataSampleAcrossAnchors' "400": description: Bad Request content: @@ -1655,10 +2404,6 @@ paths: details: Internal Server Error occurred x-codegen-request-body-name: xpath components: - securitySchemes: - basicAuth: - type: http - scheme: basic schemas: ErrorMessage: title: Error @@ -1670,6 +2415,13 @@ components: type: string details: type: string + DataspaceDetails: + title: Dataspace details by dataspace Name + type: object + properties: + name: + type: string + example: my-dataspace AnchorDetails: title: Anchor details by anchor Name type: object @@ -1683,13 +2435,6 @@ components: schemaSetName: type: string example: my-schema-set - DataspaceDetails: - title: Dataspace details by dataspace Name - type: object - properties: - name: - type: string - example: my-dataspace MultipartFile: required: - file @@ -1738,6 +2483,31 @@ components: name: SciFi - code: 2 name: kids - -security: - - basicAuth: [] + dataSampleXml: + value: + Chapters 1 SciFi + + dataSampleAcrossAnchors: + value: + - anchorName: bookstore1 + dataNode: + test:bookstore: + bookstore-name: Chapters + categories: + - code: 1 + name: SciFi + - code: 2 + name: kids + - anchorName: bookstore2 + dataNode: + test:bookstore: + bookstore-name: Chapters + categories: + - code: 1 + name: SciFi + - code: 2 + name: kids + securitySchemes: + basicAuth: + type: http + scheme: basic