summaryrefslogtreecommitdiffstats
path: root/docs/api/swagger/cps/openapi.yaml
diff options
context:
space:
mode:
Diffstat (limited to 'docs/api/swagger/cps/openapi.yaml')
-rw-r--r--docs/api/swagger/cps/openapi.yaml987
1 files changed, 987 insertions, 0 deletions
diff --git a/docs/api/swagger/cps/openapi.yaml b/docs/api/swagger/cps/openapi.yaml
new file mode 100644
index 000000000..fb219eb65
--- /dev/null
+++ b/docs/api/swagger/cps/openapi.yaml
@@ -0,0 +1,987 @@
+openapi: 3.0.1
+info:
+ title: ONAP Open API v3 Configuration Persistence Service
+ description: Configuration Persistence Service is a Model Driven Generic Database
+ contact:
+ name: ONAP
+ 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
+ version: 1.0.0
+ x-planned-retirement-date: "202212"
+ x-component: Modeling
+ x-logo:
+ url: cps_logo.png
+servers:
+- url: /cps/api
+tags:
+- name: cps-admin
+ description: cps Admin
+- name: cps-data
+ description: cps Data
+paths:
+ /v1/dataspaces:
+ post:
+ tags:
+ - 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
+ responses:
+ "201":
+ description: Created
+ content:
+ text/plain:
+ schema:
+ type: string
+ "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:
+ get:
+ tags:
+ - 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
+ responses:
+ "200":
+ description: OK
+ content:
+ application/json:
+ schema:
+ type: array
+ items:
+ $ref: '#/components/schemas/AnchorDetails'
+ "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:
+ - 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
+ responses:
+ "201":
+ description: Created
+ content:
+ text/plain:
+ schema:
+ type: string
+ "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/{anchor-name}:
+ get:
+ tags:
+ - 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
+ responses:
+ "200":
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/AnchorDetails'
+ "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'
+ delete:
+ tags:
+ - 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
+ 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'
+ /v1/dataspaces/{dataspace-name}/schema-sets:
+ post:
+ tags:
+ - 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:
+ content:
+ multipart/form-data:
+ schema:
+ $ref: '#/components/schemas/MultipartFile'
+ required: true
+ responses:
+ "201":
+ description: Created
+ content:
+ text/plain:
+ schema:
+ type: string
+ "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}/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: 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":
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/SchemaSetDetails'
+ "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'
+ 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: 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":
+ 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'
+ "409":
+ description: Conflict
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ErrorMessage'
+ /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
+ - 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":
+ description: OK
+ content:
+ application/json:
+ schema:
+ type: object
+ example:
+ child: my_child
+ leafList: "leafListElement1, leafListElement2"
+ leaf: my_leaf
+ "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'
+ x-codegen-request-body-name: xpath
+ /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:
+ tags:
+ - 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
+ - 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":
+ description: Created
+ content:
+ text/plain:
+ schema:
+ type: string
+ "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'
+ patch:
+ 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
+ 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'
+ /v1/dataspaces/{dataspace-name}/anchors/{anchor-name}/list-nodes:
+ put:
+ tags:
+ - 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: 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: Created
+ content:
+ text/plain:
+ schema:
+ type: string
+ "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:
+ tags:
+ - 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: 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:
+ "201":
+ description: Created
+ content:
+ text/plain:
+ schema:
+ type: string
+ "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'
+ 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'
+ /v1/dataspaces/{dataspace-name}/anchors/{anchor-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
+ 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
+ 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'
+ "404":
+ description: The specified resource was not found
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ErrorMessage'
+ x-codegen-request-body-name: xpath
+components:
+ schemas:
+ ErrorMessage:
+ title: Error
+ type: object
+ properties:
+ status:
+ type: string
+ 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