Revert "[1/2] Move Swagger API to docs folder" 35/139135/2
authorLee Anjella Macabuhay <lee.anjella.macabuhay@est.tech>
Thu, 3 Oct 2024 13:47:14 +0000 (13:47 +0000)
committerPriyank Maheshwari <priyank.maheshwari@est.tech>
Fri, 4 Oct 2024 09:02:51 +0000 (09:02 +0000)
This reverts commit b76392e2d1629d4eb67b10c450cdd954ef678966.

Reason for revert: Release blocker

Change-Id: Ic477dbaaad34992c8f440981d92f12b977cdf96e
Signed-off-by: emaclee <lee.anjella.macabuhay@est.tech>
12 files changed:
cps-rest/docs/openapi/components.yml [new file with mode: 0644]
cps-rest/docs/openapi/cpsAdmin.yml [new file with mode: 0644]
cps-rest/docs/openapi/cpsAdminV1Deprecated.yml [new file with mode: 0644]
cps-rest/docs/openapi/cpsAdminV2.yml [new file with mode: 0644]
cps-rest/docs/openapi/cpsData.yml [new file with mode: 0644]
cps-rest/docs/openapi/cpsDataV1Deprecated.yml [new file with mode: 0644]
cps-rest/docs/openapi/cpsDataV2.yml [new file with mode: 0644]
cps-rest/docs/openapi/cpsQueryV1Deprecated.yml [new file with mode: 0644]
cps-rest/docs/openapi/cpsQueryV2.yml [new file with mode: 0644]
cps-rest/docs/openapi/openapi.yml [new file with mode: 0644]
cps-rest/pom.xml
docs/api/swagger/cps/openapi.yaml

diff --git a/cps-rest/docs/openapi/components.yml b/cps-rest/docs/openapi/components.yml
new file mode 100644 (file)
index 0000000..25ef6a4
--- /dev/null
@@ -0,0 +1,405 @@
+# ============LICENSE_START=======================================================
+# Copyright (c) 2021-2022 Bell Canada.
+# Modifications Copyright (C) 2021-2023 Nordix Foundation
+# Modifications Copyright (C) 2022-2024 TechMahindra Ltd.
+# Modifications Copyright (C) 2022 Deutsche Telekom AG
+# ================================================================================
+# 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=========================================================
+
+components:
+  schemas:
+
+    AnchorDetails:
+      type: object
+      title: Anchor details by anchor Name
+      properties:
+        name:
+          type: string
+          example: my-anchor
+        dataspaceName:
+          type: string
+          example: my-dataspace
+        schemaSetName:
+          type: string
+          example: my-schema-set
+
+    DataspaceDetails:
+      type: object
+      title: Dataspace details by dataspace Name
+      properties:
+        name:
+          type: string
+          example: my-dataspace
+
+    ErrorMessage:
+      type: object
+      title: Error
+      properties:
+        status:
+          type: string
+        message:
+          type: string
+        details:
+          type: string
+
+    MultipartFile:
+      type: object
+      required:
+        - file
+      properties:
+        file:
+          type: string
+          description: multipartFile
+          format: binary
+
+    ModuleReferences:
+      type: object
+      title: Module reference object
+      properties:
+        name:
+          type: string
+          example: my-module-reference-name
+        namespace:
+          type: string
+          example: my-module-reference-namespace
+        revision:
+          type: string
+          example: my-module-reference-revision
+
+    SchemaSetDetails:
+      type: object
+      title: Schema set details by dataspace and schemasetName
+      required:
+        - "moduleReferences"
+      properties:
+        dataspaceName:
+          type: string
+          example: my-dataspace
+        moduleReferences:
+          type: array
+          items:
+            $ref: '#/components/schemas/ModuleReferences'
+        name:
+          type: string
+          example: my-schema-set
+
+  examples:
+    dataSample:
+      value:
+        test:bookstore:
+          bookstore-name: Chapters
+          categories:
+            - code: 01
+              name: SciFi
+            - code: 02
+              name: kids
+    dataSampleXml:
+        value:
+          <stores xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
+            <bookstore xmlns="org:onap:ccsdk:sample">
+              <bookstore-name>Chapters</bookstore-name>
+              <categories>
+                <code>1</code>
+                <name>SciFi</name>
+                <code>2</code>
+                <name>kids</name>
+              </categories>
+            </bookstore>
+          </stores>
+    dataSampleAcrossAnchors:
+      value:
+        - anchorName: bookstore1
+          dataNode:
+            test:bookstore:
+              bookstore-name: Chapters
+              categories:
+                - code: 01
+                  name: SciFi
+                - code: 02
+                  name: kids
+        - anchorName: bookstore2
+          dataNode:
+            test:bookstore:
+              bookstore-name: Chapters
+              categories:
+                - code: 01
+                  name: SciFi
+                - code: 02
+                  name: kids
+    deltaReportSample:
+      value:
+        - action: "create"
+          xpath: "/bookstore/categories/[@code=3]"
+          target-data:
+            code: 3,
+            name: "kidz"
+        - action: "remove"
+          xpath: "/bookstore/categories/[@code=1]"
+          source-data:
+            code: 1,
+            name: "Fiction"
+        - action: "replace"
+          xpath: "/bookstore/categories/[@code=2]"
+          source-data:
+            name: "Funny"
+          target-data:
+            name: "Comic"
+
+  parameters:
+    dataspaceNameInQuery:
+      name: dataspace-name
+      in: query
+      description: dataspace-name
+      required: true
+      schema:
+        type: string
+        example: my-dataspace
+    dataspaceNameInPath:
+      name: dataspace-name
+      in: path
+      description: dataspace-name
+      required: true
+      schema:
+        type: string
+        example: my-dataspace
+    anchorNameInPath:
+      name: anchor-name
+      in: path
+      description: anchor-name
+      required: true
+      schema:
+        type: string
+        example: my-anchor
+    sourceAnchorNameInPath:
+      name: source-anchor-name
+      in: path
+      description: source-anchor-name
+      required: true
+      schema:
+        type: string
+        example: my-anchor
+    schemaSetNameInQuery:
+      name: schema-set-name
+      in: query
+      description: schema-set-name
+      required: true
+      schema:
+        type: string
+        example: my-schema-set
+    schemaSetNameInPath:
+      name: schema-set-name
+      in: path
+      description: schema-set-name
+      required: true
+      schema:
+        type: string
+        example: my-schema-set
+    anchorNameInQuery:
+      name: anchor-name
+      in: query
+      description: anchor-name
+      required: true
+      schema:
+        type: string
+        example: my-anchor
+    targetAnchorNameInQuery:
+      name: target-anchor-name
+      in: query
+      description: target-anchor-name
+      required: true
+      schema:
+        type: string
+        example: my-anchor
+    xpathInQuery:
+      name: xpath
+      in: query
+      description: For more details on xpath, please refer https://docs.onap.org/projects/onap-cps/en/latest/xpath.html
+      required: false
+      schema:
+        type: string
+        default: /
+      examples:
+        container xpath:
+          value: /shops/bookstore
+        list attributes xpath:
+          value: /shops/bookstore/categories[@code=1]
+    requiredXpathInQuery:
+      name: xpath
+      in: query
+      description: For more details on xpath, please refer https://docs.onap.org/projects/onap-cps/en/latest/xpath.html
+      required: true
+      schema:
+        type: string
+      examples:
+        container xpath:
+          value: /shops/bookstore
+        list attributes xpath:
+          value: /shops/bookstore/categories[@code=1]
+    cpsPathInQuery:
+      name: cps-path
+      in: query
+      description: For more details on cps path, please refer https://docs.onap.org/projects/onap-cps/en/latest/cps-path.html
+      required: false
+      schema:
+        type: string
+        default: /
+      examples:
+        container cps path:
+          value: //bookstore
+        list attributes cps path:
+          value: //categories[@code=1]
+    includeDescendantsOptionInQuery:
+      name: include-descendants
+      in: query
+      description: include-descendants
+      required: false
+      schema:
+        type: boolean
+        default: false
+        example: false
+    observedTimestampInQuery:
+      name: observed-timestamp
+      in: query
+      description: observed-timestamp
+      required: false
+      schema:
+        type: string
+        example: '2021-03-21T00:10:34.030-0100'
+    apiVersionInPath:
+      name: apiVersion
+      in: path
+      description: apiVersion
+      required: true
+      schema:
+        type: string
+        enum: [v1, v2]
+        default: v2
+    contentTypeInHeader:
+      name: Content-Type
+      in: header
+      description: Content type in header
+      schema:
+        type: string
+        example: 'application/json'
+      required: true
+    descendantsInQuery:
+      name: descendants
+      in: query
+      description: Number of descendants to query. Allowed values are 'none', 'all', 'direct', 1 (for direct), -1 (for all), 0 (for none) and any positive number.
+      required: false
+      schema:
+        type: string
+        default: none
+        example: 3
+    pageIndexInQuery:
+      name: pageIndex
+      in: query
+      description: page index for pagination over anchors. It must be greater then zero if provided.
+      required: false
+      schema:
+        type: integer
+        example: 1
+    pageSizeInQuery:
+      name: pageSize
+      in: query
+      description: number of records (anchors) per page. It must be greater then zero if provided.
+      required: false
+      schema:
+        type: integer
+        example: 10
+
+  responses:
+    NotFound:
+      description: The specified resource was not found
+      content:
+        application/json:
+          schema:
+            $ref: '#/components/schemas/ErrorMessage'
+          example:
+            status: 404
+            message: Resource Not Found
+            details: The requested resource is not found
+    Unauthorized:
+      description: Unauthorized
+      content:
+        application/json:
+          schema:
+            $ref: '#/components/schemas/ErrorMessage'
+          example:
+            status: 401
+            message: Unauthorized request
+            details: This request is unauthorized
+    Forbidden:
+      description: Forbidden
+      content:
+        application/json:
+          schema:
+            $ref: '#/components/schemas/ErrorMessage'
+          example:
+            status: 403
+            message: Request Forbidden
+            details: This request is forbidden
+    BadRequest:
+      description: Bad Request
+      content:
+        application/json:
+          schema:
+            $ref: '#/components/schemas/ErrorMessage'
+          example:
+            status: 400
+            message: Bad Request
+            details: The provided request is not valid
+    Conflict:
+      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.
+    Ok:
+      description: OK
+      content:
+        application/json:
+          schema:
+            type: object
+          examples:
+            dataSample:
+              value: ""
+    Created:
+      description: Created
+      content:
+        application/json:
+          schema:
+            type: string
+            example: my-resource
+    CreatedV2:
+      description: Created without response body
+    InternalServerError:
+      description: Internal Server Error
+      content:
+        application/json:
+          schema:
+            $ref: "#/components/schemas/ErrorMessage"
+          example:
+            status: 500
+            message: Internal Server Error
+            details: Internal Server Error occurred
+    NoContent:
+      description: No Content
+      content: {}
diff --git a/cps-rest/docs/openapi/cpsAdmin.yml b/cps-rest/docs/openapi/cpsAdmin.yml
new file mode 100644 (file)
index 0000000..f394270
--- /dev/null
@@ -0,0 +1,232 @@
+# ============LICENSE_START=======================================================
+# Copyright (c) 2021 Bell Canada.
+# Modifications Copyright (C) 2021-2022 Nordix Foundation
+# Modifications Copyright (C) 2022 TechMahindra Ltd.
+# ================================================================================
+# 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=========================================================
+
+dataspaces:
+  delete:
+    description: Delete a dataspace
+    tags:
+      - cps-admin
+    summary: Delete a dataspace
+    operationId: deleteDataspace
+    parameters:
+      - $ref: 'components.yml#/components/parameters/apiVersionInPath'
+      - $ref: 'components.yml#/components/parameters/dataspaceNameInQuery'
+    responses:
+      '204':
+        $ref: 'components.yml#/components/responses/NoContent'
+      '400':
+        $ref: 'components.yml#/components/responses/BadRequest'
+      '403':
+        $ref: 'components.yml#/components/responses/Forbidden'
+      '409':
+        $ref: 'components.yml#/components/responses/Conflict'
+      '500':
+        $ref: 'components.yml#/components/responses/InternalServerError'
+
+schemaSet:
+  get:
+    description: Read all schema sets, given a dataspace
+    tags:
+      - cps-admin
+    summary: Get schema sets
+    operationId: getSchemaSets
+    parameters:
+      - $ref: 'components.yml#/components/parameters/apiVersionInPath'
+      - $ref: 'components.yml#/components/parameters/dataspaceNameInPath'
+    responses:
+      '200':
+        description: OK
+        content:
+          application/json:
+            schema:
+              type: array
+              items:
+                $ref: 'components.yml#/components/schemas/SchemaSetDetails'
+      '400':
+        $ref: 'components.yml#/components/responses/BadRequest'
+      '403':
+        $ref: 'components.yml#/components/responses/Forbidden'
+      '500':
+        $ref: 'components.yml#/components/responses/InternalServerError'
+
+schemaSetBySchemaSetName:
+  get:
+    description: Read a schema set given a schema set name and a dataspace
+    tags:
+      - cps-admin
+    summary: Get a schema set
+    operationId: getSchemaSet
+    parameters:
+      - $ref: 'components.yml#/components/parameters/apiVersionInPath'
+      - $ref: 'components.yml#/components/parameters/dataspaceNameInPath'
+      - $ref: 'components.yml#/components/parameters/schemaSetNameInPath'
+    responses:
+      '200':
+        description: OK
+        content:
+          application/json:
+            schema:
+              $ref: 'components.yml#/components/schemas/SchemaSetDetails'
+      '400':
+        $ref: 'components.yml#/components/responses/BadRequest'
+      '403':
+        $ref: 'components.yml#/components/responses/Forbidden'
+      '500':
+        $ref: 'components.yml#/components/responses/InternalServerError'
+  delete:
+    description: Delete a schema set given a schema set name and a dataspace
+    tags:
+      - cps-admin
+    summary: Delete a schema set
+    operationId: deleteSchemaSet
+    parameters:
+      - $ref: 'components.yml#/components/parameters/apiVersionInPath'
+      - $ref: 'components.yml#/components/parameters/dataspaceNameInPath'
+      - $ref: 'components.yml#/components/parameters/schemaSetNameInPath'
+    responses:
+      '204':
+        $ref: 'components.yml#/components/responses/NoContent'
+      '400':
+        $ref: 'components.yml#/components/responses/BadRequest'
+      '403':
+        $ref: 'components.yml#/components/responses/Forbidden'
+      '409':
+        $ref: 'components.yml#/components/responses/Conflict'
+      '500':
+        $ref: 'components.yml#/components/responses/InternalServerError'
+
+anchorsByDataspace:
+  get:
+    description: Read all anchors, given a dataspace
+    tags:
+      - cps-admin
+    summary: Get anchors
+    operationId: getAnchors
+    parameters:
+      - $ref: 'components.yml#/components/parameters/apiVersionInPath'
+      - $ref: 'components.yml#/components/parameters/dataspaceNameInPath'
+    responses:
+      '200':
+        description: OK
+        content:
+          application/json:
+            schema:
+              type: array
+              items:
+                $ref: 'components.yml#/components/schemas/AnchorDetails'
+      '400':
+        $ref: 'components.yml#/components/responses/BadRequest'
+      '403':
+        $ref: 'components.yml#/components/responses/Forbidden'
+      '500':
+        $ref: 'components.yml#/components/responses/InternalServerError'
+
+anchorByDataspaceAndAnchorName:
+  get:
+    description: Read an anchor given an anchor name and a dataspace
+    tags:
+      - cps-admin
+    summary: Get an anchor
+    operationId: getAnchor
+    parameters:
+      - $ref: 'components.yml#/components/parameters/apiVersionInPath'
+      - $ref: 'components.yml#/components/parameters/dataspaceNameInPath'
+      - $ref: 'components.yml#/components/parameters/anchorNameInPath'
+    responses:
+      '200':
+        description: OK
+        content:
+          application/json:
+            schema:
+              $ref: 'components.yml#/components/schemas/AnchorDetails'
+      '400':
+        $ref: 'components.yml#/components/responses/BadRequest'
+      '403':
+        $ref: 'components.yml#/components/responses/Forbidden'
+      '500':
+        $ref: 'components.yml#/components/responses/InternalServerError'
+  delete:
+    description: Delete an anchor given an anchor name and a dataspace
+    tags:
+      - cps-admin
+    summary: Delete an anchor
+    operationId: deleteAnchor
+    parameters:
+      - $ref: 'components.yml#/components/parameters/apiVersionInPath'
+      - $ref: 'components.yml#/components/parameters/dataspaceNameInPath'
+      - $ref: 'components.yml#/components/parameters/anchorNameInPath'
+    responses:
+      '204':
+        $ref: 'components.yml#/components/responses/NoContent'
+      '400':
+        $ref: 'components.yml#/components/responses/BadRequest'
+      '403':
+        $ref: 'components.yml#/components/responses/Forbidden'
+      '500':
+        $ref: 'components.yml#/components/responses/InternalServerError'
+
+adminDataspaces:
+ get:
+   description: Read all dataspaces
+   tags:
+     - cps-admin
+   summary: Get all dataspaces
+   operationId: getAllDataspaces
+   parameters:
+      - $ref: 'components.yml#/components/parameters/apiVersionInPath'
+   responses:
+     '200':
+       description: OK
+       content:
+         application/json:
+           schema:
+             type: array
+             items:
+               $ref: 'components.yml#/components/schemas/DataspaceDetails'
+     '400':
+       $ref: 'components.yml#/components/responses/BadRequest'
+     '403':
+       $ref: 'components.yml#/components/responses/Forbidden'
+     '500':
+       $ref: 'components.yml#/components/responses/InternalServerError'
+
+adminDataspace:
+ get:
+   description: Read a dataspace given a dataspace name
+   tags:
+     - cps-admin
+   summary: Get a dataspace
+   operationId: getDataspace
+   parameters:
+      - $ref: 'components.yml#/components/parameters/apiVersionInPath'
+      - $ref: 'components.yml#/components/parameters/dataspaceNameInPath'
+   responses:
+     '200':
+       description: OK
+       content:
+         application/json:
+           schema:
+             $ref: 'components.yml#/components/schemas/DataspaceDetails'
+     '400':
+       $ref: 'components.yml#/components/responses/BadRequest'
+     '403':
+       $ref: 'components.yml#/components/responses/Forbidden'
+     '500':
+       $ref: 'components.yml#/components/responses/InternalServerError'
diff --git a/cps-rest/docs/openapi/cpsAdminV1Deprecated.yml b/cps-rest/docs/openapi/cpsAdminV1Deprecated.yml
new file mode 100644 (file)
index 0000000..c92f773
--- /dev/null
@@ -0,0 +1,92 @@
+# ============LICENSE_START=======================================================
+# Copyright (C) 2022 TechMahindra Ltd.
+# ================================================================================
+# 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=========================================================
+
+dataspaces:
+  post:
+    deprecated: true
+    description: Create a new dataspace
+    tags:
+      - cps-admin
+    summary: Create a dataspace
+    operationId: createDataspace
+    parameters:
+      - $ref: 'components.yml#/components/parameters/dataspaceNameInQuery'
+    responses:
+      '201':
+        $ref: 'components.yml#/components/responses/Created'
+      '400':
+        $ref: 'components.yml#/components/responses/BadRequest'
+      '403':
+        $ref: 'components.yml#/components/responses/Forbidden'
+      '409':
+        $ref: 'components.yml#/components/responses/Conflict'
+      '500':
+        $ref: 'components.yml#/components/responses/InternalServerError'
+
+anchorsByDataspace:
+  post:
+    deprecated: true
+    description: Create a new anchor in the given dataspace
+    tags:
+      - cps-admin
+    summary: Create an anchor
+    operationId: createAnchor
+    parameters:
+      - $ref: 'components.yml#/components/parameters/dataspaceNameInPath'
+      - $ref: 'components.yml#/components/parameters/schemaSetNameInQuery'
+      - $ref: 'components.yml#/components/parameters/anchorNameInQuery'
+    responses:
+      '201':
+        $ref: 'components.yml#/components/responses/Created'
+      '400':
+        $ref: 'components.yml#/components/responses/BadRequest'
+      '403':
+        $ref: 'components.yml#/components/responses/Forbidden'
+      '409':
+        $ref: 'components.yml#/components/responses/Conflict'
+      '500':
+        $ref: 'components.yml#/components/responses/InternalServerError'
+
+schemaSet:
+  post:
+    deprecated: true
+    description: Create a new schema set in the given dataspace
+    tags:
+      - cps-admin
+    summary: Create a schema set
+    operationId: createSchemaSet
+    parameters:
+      - $ref: 'components.yml#/components/parameters/dataspaceNameInPath'
+      - $ref: 'components.yml#/components/parameters/schemaSetNameInQuery'
+    requestBody:
+      required: true
+      content:
+        multipart/form-data:
+          schema:
+            $ref: 'components.yml#/components/schemas/MultipartFile'
+    responses:
+      '201':
+        $ref: 'components.yml#/components/responses/Created'
+      '400':
+        $ref: 'components.yml#/components/responses/BadRequest'
+      '403':
+        $ref: 'components.yml#/components/responses/Forbidden'
+      '409':
+        $ref: 'components.yml#/components/responses/Conflict'
+      '500':
+        $ref: 'components.yml#/components/responses/InternalServerError'
diff --git a/cps-rest/docs/openapi/cpsAdminV2.yml b/cps-rest/docs/openapi/cpsAdminV2.yml
new file mode 100644 (file)
index 0000000..e501ad8
--- /dev/null
@@ -0,0 +1,89 @@
+# ============LICENSE_START=======================================================
+# Copyright (C) 2022 TechMahindra Ltd.
+# ================================================================================
+# 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=========================================================
+
+dataspaces:
+  post:
+    description: Create a new dataspace
+    tags:
+      - cps-admin
+    summary: Create a dataspace
+    operationId: createDataspaceV2
+    parameters:
+      - $ref: 'components.yml#/components/parameters/dataspaceNameInQuery'
+    responses:
+      '201':
+        $ref: 'components.yml#/components/responses/CreatedV2'
+      '400':
+        $ref: 'components.yml#/components/responses/BadRequest'
+      '403':
+        $ref: 'components.yml#/components/responses/Forbidden'
+      '409':
+        $ref: 'components.yml#/components/responses/Conflict'
+      '500':
+        $ref: 'components.yml#/components/responses/InternalServerError'
+
+anchorsByDataspace:
+  post:
+    description: Create a new anchor in the given dataspace
+    tags:
+      - cps-admin
+    summary: Create an anchor
+    operationId: createAnchorV2
+    parameters:
+      - $ref: 'components.yml#/components/parameters/dataspaceNameInPath'
+      - $ref: 'components.yml#/components/parameters/schemaSetNameInQuery'
+      - $ref: 'components.yml#/components/parameters/anchorNameInQuery'
+    responses:
+      '201':
+        $ref: 'components.yml#/components/responses/CreatedV2'
+      '400':
+        $ref: 'components.yml#/components/responses/BadRequest'
+      '403':
+        $ref: 'components.yml#/components/responses/Forbidden'
+      '409':
+        $ref: 'components.yml#/components/responses/Conflict'
+      '500':
+        $ref: 'components.yml#/components/responses/InternalServerError'
+
+schemaSet:
+  post:
+    description: Create a new schema set in the given dataspace
+    tags:
+      - cps-admin
+    summary: Create a schema set
+    operationId: createSchemaSetV2
+    parameters:
+      - $ref: 'components.yml#/components/parameters/dataspaceNameInPath'
+      - $ref: 'components.yml#/components/parameters/schemaSetNameInQuery'
+    requestBody:
+      required: true
+      content:
+        multipart/form-data:
+          schema:
+            $ref: 'components.yml#/components/schemas/MultipartFile'
+    responses:
+      '201':
+        $ref: 'components.yml#/components/responses/CreatedV2'
+      '400':
+        $ref: 'components.yml#/components/responses/BadRequest'
+      '403':
+        $ref: 'components.yml#/components/responses/Forbidden'
+      '409':
+        $ref: 'components.yml#/components/responses/Conflict'
+      '500':
+        $ref: 'components.yml#/components/responses/InternalServerError'
diff --git a/cps-rest/docs/openapi/cpsData.yml b/cps-rest/docs/openapi/cpsData.yml
new file mode 100644 (file)
index 0000000..4418a3b
--- /dev/null
@@ -0,0 +1,234 @@
+# ============LICENSE_START=======================================================
+# Copyright (c) 2021-2022 Bell Canada.
+# Modifications Copyright (C) 2021-2022 Nordix Foundation
+# Modifications Copyright (C) 2022-2024 TechMahindra Ltd.
+# Modifications Copyright (C) 2022 Deutsche Telekom AG
+# ================================================================================
+# 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=========================================================
+
+listElementByDataspaceAndAnchor:
+  post:
+    description: Add list element(s) to a list for a given anchor and dataspace
+    tags:
+      - cps-data
+    summary: Add list element(s)
+    operationId: addListElements
+    parameters:
+      - $ref: 'components.yml#/components/parameters/apiVersionInPath'
+      - $ref: 'components.yml#/components/parameters/dataspaceNameInPath'
+      - $ref: 'components.yml#/components/parameters/anchorNameInPath'
+      - $ref: 'components.yml#/components/parameters/requiredXpathInQuery'
+      - $ref: 'components.yml#/components/parameters/observedTimestampInQuery'
+      - $ref: 'components.yml#/components/parameters/contentTypeInHeader'
+    requestBody:
+      required: true
+      content:
+        application/json:
+          schema:
+            type: string
+          examples:
+            dataSample:
+              $ref: 'components.yml#/components/examples/dataSample'
+        application/xml:
+          schema:
+            type: object
+            xml:
+              name: stores
+          examples:
+            dataSample:
+              $ref: 'components.yml#/components/examples/dataSampleXml'
+    responses:
+      '201':
+        $ref: 'components.yml#/components/responses/Created'
+      '400':
+        $ref: 'components.yml#/components/responses/BadRequest'
+      '403':
+        $ref: 'components.yml#/components/responses/Forbidden'
+      '500':
+        $ref: 'components.yml#/components/responses/InternalServerError'
+  put:
+    description: Replace list content under a given parent, anchor and dataspace
+    tags:
+      - cps-data
+    summary: Replace list content
+    operationId: replaceListContent
+    parameters:
+      - $ref: 'components.yml#/components/parameters/apiVersionInPath'
+      - $ref: 'components.yml#/components/parameters/dataspaceNameInPath'
+      - $ref: 'components.yml#/components/parameters/anchorNameInPath'
+      - $ref: 'components.yml#/components/parameters/requiredXpathInQuery'
+      - $ref: 'components.yml#/components/parameters/observedTimestampInQuery'
+    requestBody:
+      required: true
+      content:
+        application/json:
+          schema:
+            type: object
+          examples:
+            dataSample:
+              $ref: 'components.yml#/components/examples/dataSample'
+    responses:
+      '200':
+        $ref: 'components.yml#/components/responses/Ok'
+      '400':
+        $ref: 'components.yml#/components/responses/BadRequest'
+      '403':
+        $ref: 'components.yml#/components/responses/Forbidden'
+      '500':
+        $ref: 'components.yml#/components/responses/InternalServerError'
+
+nodesByDataspaceAndAnchor:
+  post:
+    description: Create a node for a given anchor and dataspace
+    tags:
+      - cps-data
+    summary: Create a node
+    operationId: createNode
+    parameters:
+      - $ref: 'components.yml#/components/parameters/apiVersionInPath'
+      - $ref: 'components.yml#/components/parameters/dataspaceNameInPath'
+      - $ref: 'components.yml#/components/parameters/anchorNameInPath'
+      - $ref: 'components.yml#/components/parameters/xpathInQuery'
+      - $ref: 'components.yml#/components/parameters/observedTimestampInQuery'
+      - $ref: 'components.yml#/components/parameters/contentTypeInHeader'
+    requestBody:
+      required: true
+      content:
+        application/json:
+          schema:
+            type: string
+          examples:
+            dataSample:
+              $ref: 'components.yml#/components/examples/dataSample'
+        application/xml:
+          schema:
+            type: object   # Workaround to show example
+            xml:
+              name: stores
+          examples:
+            dataSample:
+              $ref: 'components.yml#/components/examples/dataSampleXml'
+    responses:
+      '201':
+        $ref: 'components.yml#/components/responses/Created'
+      '400':
+        $ref: 'components.yml#/components/responses/BadRequest'
+      '403':
+        $ref: 'components.yml#/components/responses/Forbidden'
+      '409':
+        $ref: 'components.yml#/components/responses/Conflict'
+      '500':
+        $ref: 'components.yml#/components/responses/InternalServerError'
+  patch:
+    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.
+    tags:
+      - cps-data
+    summary: Update node leaves
+    operationId: updateNodeLeaves
+    parameters:
+      - $ref: 'components.yml#/components/parameters/apiVersionInPath'
+      - $ref: 'components.yml#/components/parameters/dataspaceNameInPath'
+      - $ref: 'components.yml#/components/parameters/anchorNameInPath'
+      - $ref: 'components.yml#/components/parameters/xpathInQuery'
+      - $ref: 'components.yml#/components/parameters/observedTimestampInQuery'
+      - $ref: 'components.yml#/components/parameters/contentTypeInHeader'
+    requestBody:
+      required: true
+      content:
+        application/json:
+          schema:
+            type: string
+          examples:
+            dataSample:
+              $ref: 'components.yml#/components/examples/dataSample'
+        application/xml:
+          schema:
+            type: object
+            xml:
+              name: stores
+          examples:
+            dataSample:
+              $ref: 'components.yml#/components/examples/dataSampleXml'
+    responses:
+      '200':
+        $ref: 'components.yml#/components/responses/Ok'
+      '400':
+        $ref: 'components.yml#/components/responses/BadRequest'
+      '403':
+        $ref: 'components.yml#/components/responses/Forbidden'
+      '500':
+        $ref: 'components.yml#/components/responses/InternalServerError'
+  delete:
+    description: Delete a datanode for a given dataspace and anchor given a node xpath.
+    tags:
+      - cps-data
+    summary: Delete a data node
+    operationId: deleteDataNode
+    parameters:
+      - $ref: 'components.yml#/components/parameters/apiVersionInPath'
+      - $ref: 'components.yml#/components/parameters/dataspaceNameInPath'
+      - $ref: 'components.yml#/components/parameters/anchorNameInPath'
+      - $ref: 'components.yml#/components/parameters/xpathInQuery'
+      - $ref: 'components.yml#/components/parameters/observedTimestampInQuery'
+    responses:
+      '204':
+        $ref: 'components.yml#/components/responses/NoContent'
+      '400':
+        $ref: 'components.yml#/components/responses/BadRequest'
+      '403':
+        $ref: 'components.yml#/components/responses/Forbidden'
+      '500':
+        $ref: 'components.yml#/components/responses/InternalServerError'
+  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
+    parameters:
+      - $ref: 'components.yml#/components/parameters/apiVersionInPath'
+      - $ref: 'components.yml#/components/parameters/dataspaceNameInPath'
+      - $ref: 'components.yml#/components/parameters/anchorNameInPath'
+      - $ref: 'components.yml#/components/parameters/xpathInQuery'
+      - $ref: 'components.yml#/components/parameters/observedTimestampInQuery'
+      - $ref: 'components.yml#/components/parameters/contentTypeInHeader'
+    requestBody:
+      required: true
+      content:
+        application/json:
+          schema:
+            type: string
+          examples:
+            dataSample:
+              $ref: 'components.yml#/components/examples/dataSample'
+        application/xml:
+          schema:
+            type: object
+            xml:
+              name: stores
+          examples:
+            dataSample:
+              $ref: 'components.yml#/components/examples/dataSampleXml'
+    responses:
+      '200':
+        $ref: 'components.yml#/components/responses/Ok'
+      '400':
+        $ref: 'components.yml#/components/responses/BadRequest'
+      '403':
+        $ref: 'components.yml#/components/responses/Forbidden'
+      '500':
+        $ref: 'components.yml#/components/responses/InternalServerError'
diff --git a/cps-rest/docs/openapi/cpsDataV1Deprecated.yml b/cps-rest/docs/openapi/cpsDataV1Deprecated.yml
new file mode 100644 (file)
index 0000000..3941856
--- /dev/null
@@ -0,0 +1,71 @@
+# ============LICENSE_START=======================================================
+# Copyright (C) 2022-2023 TechMahindra Ltd.
+# ================================================================================
+# 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=========================================================
+
+nodeByDataspaceAndAnchor:
+  get:
+    description: Get a node with an option to retrieve all the children for a given anchor and dataspace
+    deprecated: true
+    tags:
+      - cps-data
+    summary: Get a node
+    operationId: getNodeByDataspaceAndAnchor
+    parameters:
+      - $ref: 'components.yml#/components/parameters/dataspaceNameInPath'
+      - $ref: 'components.yml#/components/parameters/anchorNameInPath'
+      - $ref: 'components.yml#/components/parameters/xpathInQuery'
+      - $ref: 'components.yml#/components/parameters/includeDescendantsOptionInQuery'
+    responses:
+      '200':
+        description: OK
+        content:
+          application/json:
+            schema:
+              type: object
+            examples:
+              dataSample:
+                $ref: 'components.yml#/components/examples/dataSample'
+      '400':
+        $ref: 'components.yml#/components/responses/BadRequest'
+      '403':
+        $ref: 'components.yml#/components/responses/Forbidden'
+      '500':
+        $ref: 'components.yml#/components/responses/InternalServerError'
+    x-codegen-request-body-name: xpath
+
+listElementByDataspaceAndAnchor:
+  delete:
+    description: Delete one or all list element(s) for a given anchor and dataspace
+    deprecated: true
+    tags:
+      - cps-data
+    summary: Delete one or all list element(s)
+    operationId: deleteListOrListElement
+    parameters:
+      - $ref: 'components.yml#/components/parameters/dataspaceNameInPath'
+      - $ref: 'components.yml#/components/parameters/anchorNameInPath'
+      - $ref: 'components.yml#/components/parameters/requiredXpathInQuery'
+      - $ref: 'components.yml#/components/parameters/observedTimestampInQuery'
+    responses:
+      '204':
+        $ref: 'components.yml#/components/responses/NoContent'
+      '400':
+        $ref: 'components.yml#/components/responses/BadRequest'
+      '403':
+        $ref: 'components.yml#/components/responses/Forbidden'
+      '500':
+        $ref: 'components.yml#/components/responses/InternalServerError'
diff --git a/cps-rest/docs/openapi/cpsDataV2.yml b/cps-rest/docs/openapi/cpsDataV2.yml
new file mode 100644 (file)
index 0000000..d5a8ef3
--- /dev/null
@@ -0,0 +1,127 @@
+# ============LICENSE_START=======================================================
+# Copyright (c) 2022-2024 TechMahindra Ltd.
+# ================================================================================
+# 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=========================================================
+
+nodeByDataspaceAndAnchor:
+  get:
+    description: Get a node with an option to retrieve all the children for a given anchor and dataspace
+    tags:
+      - cps-data
+    summary: Get a node
+    operationId: getNodeByDataspaceAndAnchorV2
+    parameters:
+      - $ref: 'components.yml#/components/parameters/dataspaceNameInPath'
+      - $ref: 'components.yml#/components/parameters/anchorNameInPath'
+      - $ref: 'components.yml#/components/parameters/xpathInQuery'
+      - $ref: 'components.yml#/components/parameters/descendantsInQuery'
+    responses:
+      '200':
+        description: OK
+        content:
+          application/json:
+            schema:
+              type: object
+            examples:
+              dataSample:
+                $ref: 'components.yml#/components/examples/dataSample'
+      '400':
+        $ref: 'components.yml#/components/responses/BadRequest'
+      '403':
+        $ref: 'components.yml#/components/responses/Forbidden'
+      '500':
+        $ref: 'components.yml#/components/responses/InternalServerError'
+    x-codegen-request-body-name: xpath
+
+delta:
+  get:
+    description: Get delta between two anchors within a given dataspace
+    tags:
+      - cps-data
+    summary: Get delta between anchors in the same dataspace
+    operationId: getDeltaByDataspaceAndAnchors
+    parameters:
+      - $ref: 'components.yml#/components/parameters/dataspaceNameInPath'
+      - $ref: 'components.yml#/components/parameters/sourceAnchorNameInPath'
+      - $ref: 'components.yml#/components/parameters/targetAnchorNameInQuery'
+      - $ref: 'components.yml#/components/parameters/xpathInQuery'
+      - $ref: 'components.yml#/components/parameters/descendantsInQuery'
+    responses:
+      '200':
+        description: OK
+        content:
+          application/json:
+            schema:
+              type: object
+            examples:
+              dataSample:
+                $ref: 'components.yml#/components/examples/deltaReportSample'
+      '400':
+        $ref: 'components.yml#/components/responses/BadRequest'
+      '403':
+        $ref: 'components.yml#/components/responses/Forbidden'
+      '500':
+        $ref: 'components.yml#/components/responses/InternalServerError'
+    x-codegen-request-body-name: xpath
+  post:
+    description: Get delta between an anchor in a dataspace and JSON payload
+    tags:
+      - cps-data
+    summary: Get delta between an anchor and JSON payload
+    operationId: getDeltaByDataspaceAnchorAndPayload
+    parameters:
+      - $ref: 'components.yml#/components/parameters/dataspaceNameInPath'
+      - $ref: 'components.yml#/components/parameters/sourceAnchorNameInPath'
+      - $ref: 'components.yml#/components/parameters/xpathInQuery'
+    requestBody:
+      content:
+        multipart/form-data:
+          schema:
+            type: object
+            properties:
+              json:
+                type: object
+                example:
+                  test:bookstore:
+                    bookstore-name: Chapters
+                    categories:
+                      - code: 01
+                        name: SciFi
+                      - code: 02
+                        name: kids
+              file:
+                type: string
+                format: binary
+            required:
+              - json
+    responses:
+      '200':
+        description: OK
+        content:
+          application/json:
+            schema:
+              type: object
+            examples:
+              dataSample:
+                $ref: 'components.yml#/components/examples/deltaReportSample'
+      '400':
+        $ref: 'components.yml#/components/responses/BadRequest'
+      '401':
+        $ref: 'components.yml#/components/responses/Unauthorized'
+      '403':
+        $ref: 'components.yml#/components/responses/Forbidden'
+      '500':
+        $ref: 'components.yml#/components/responses/InternalServerError'
\ No newline at end of file
diff --git a/cps-rest/docs/openapi/cpsQueryV1Deprecated.yml b/cps-rest/docs/openapi/cpsQueryV1Deprecated.yml
new file mode 100644 (file)
index 0000000..9db2823
--- /dev/null
@@ -0,0 +1,50 @@
+#  ============LICENSE_START=======================================================
+#  Copyright (C) 2021 Nordix Foundation
+#  Modifications Copyright (c) 2022 Bell Canada.
+#  Modifications Copyright (c) 2023 TechMahindra Ltd.
+#  ================================================================================
+#  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=========================================================
+
+nodesByDataspaceAndAnchorAndCpsPath:
+  get:
+    description: Query data nodes for the given dataspace and anchor using CPS path
+    tags:
+      - cps-query
+    summary: Query data nodes
+    deprecated: true
+    operationId: getNodesByDataspaceAndAnchorAndCpsPath
+    parameters:
+      - $ref: 'components.yml#/components/parameters/dataspaceNameInPath'
+      - $ref: 'components.yml#/components/parameters/anchorNameInPath'
+      - $ref: 'components.yml#/components/parameters/cpsPathInQuery'
+      - $ref: 'components.yml#/components/parameters/includeDescendantsOptionInQuery'
+    responses:
+      '200':
+        description: OK
+        content:
+          application/json:
+            schema:
+              type: object
+            examples:
+              dataSample:
+                $ref: 'components.yml#/components/examples/dataSample'
+      '400':
+        $ref: 'components.yml#/components/responses/BadRequest'
+      '403':
+        $ref: 'components.yml#/components/responses/Forbidden'
+      '500':
+        $ref: 'components.yml#/components/responses/InternalServerError'
+    x-codegen-request-body-name: xpath
diff --git a/cps-rest/docs/openapi/cpsQueryV2.yml b/cps-rest/docs/openapi/cpsQueryV2.yml
new file mode 100644 (file)
index 0000000..7f0ceff
--- /dev/null
@@ -0,0 +1,78 @@
+#  ============LICENSE_START=======================================================
+#  Copyright (C) 2023 TechMahindra Ltd.
+#  ================================================================================
+#  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=========================================================
+
+nodesByDataspaceAndAnchorAndCpsPath:
+  get:
+    description: Query data nodes for the given dataspace and anchor using CPS path
+    tags:
+      - cps-query
+    summary: Query data nodes
+    operationId: getNodesByDataspaceAndAnchorAndCpsPathV2
+    parameters:
+      - $ref: 'components.yml#/components/parameters/dataspaceNameInPath'
+      - $ref: 'components.yml#/components/parameters/anchorNameInPath'
+      - $ref: 'components.yml#/components/parameters/cpsPathInQuery'
+      - $ref: 'components.yml#/components/parameters/descendantsInQuery'
+    responses:
+      '200':
+        description: OK
+        content:
+          application/json:
+            schema:
+              type: object
+            examples:
+              dataSample:
+                $ref: 'components.yml#/components/examples/dataSample'
+      '400':
+        $ref: 'components.yml#/components/responses/BadRequest'
+      '403':
+        $ref: 'components.yml#/components/responses/Forbidden'
+      '500':
+        $ref: 'components.yml#/components/responses/InternalServerError'
+    x-codegen-request-body-name: xpath
+
+nodesByDataspaceAndCpsPath:
+  get:
+    description: Query data nodes for the given dataspace across anchors using CPS path
+    tags:
+      - cps-query
+    summary: Query data nodes across anchors
+    operationId: getNodesByDataspaceAndCpsPath
+    parameters:
+      - $ref: 'components.yml#/components/parameters/dataspaceNameInPath'
+      - $ref: 'components.yml#/components/parameters/cpsPathInQuery'
+      - $ref: 'components.yml#/components/parameters/descendantsInQuery'
+      - $ref: 'components.yml#/components/parameters/pageIndexInQuery'
+      - $ref: 'components.yml#/components/parameters/pageSizeInQuery'
+    responses:
+      '200':
+        description: OK
+        content:
+          application/json:
+            schema:
+              type: object
+            examples:
+              dataSample:
+                $ref: 'components.yml#/components/examples/dataSampleAcrossAnchors'
+      '400':
+        $ref: 'components.yml#/components/responses/BadRequest'
+      '403':
+        $ref: 'components.yml#/components/responses/Forbidden'
+      '500':
+        $ref: 'components.yml#/components/responses/InternalServerError'
+    x-codegen-request-body-name: xpath
diff --git a/cps-rest/docs/openapi/openapi.yml b/cps-rest/docs/openapi/openapi.yml
new file mode 100644 (file)
index 0000000..70f06fb
--- /dev/null
@@ -0,0 +1,116 @@
+#  ============LICENSE_START=======================================================
+#  Copyright (C) 2021-2023 Nordix Foundation
+#  Modifications Copyright (C) 2021 Pantheon.tech
+#  Modifications Copyright (C) 2021 Bell Canada.
+#  Modifications Copyright (C) 2022-2024 TechMahindra Ltd.
+#  ================================================================================
+#  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.3
+info:
+  title: ONAP Open API v3 Configuration Persistence Service
+  description: Configuration Persistence Service is a Model Driven Generic Database
+  version: "3.5.2"
+  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"
+
+servers:
+  - url: /cps/api
+components:
+  securitySchemes:
+    basicAuth:
+      type: http
+      scheme: basic
+tags:
+  - name: cps-admin
+    description: cps Admin
+  - name: cps-data
+    description: cps Data
+paths:
+
+  /v1/dataspaces:
+    $ref: 'cpsAdminV1Deprecated.yml#/dataspaces'
+
+  /{apiVersion}/dataspaces:
+    $ref: 'cpsAdmin.yml#/dataspaces'
+
+  /v2/dataspaces:
+    $ref: 'cpsAdminV2.yml#/dataspaces'
+
+  /{apiVersion}/admin/dataspaces:
+    $ref: 'cpsAdmin.yml#/adminDataspaces'
+
+  /{apiVersion}/admin/dataspaces/{dataspace-name}:
+    $ref: 'cpsAdmin.yml#/adminDataspace'
+
+  /v1/dataspaces/{dataspace-name}/anchors:
+    $ref: 'cpsAdminV1Deprecated.yml#/anchorsByDataspace'
+
+  /v2/dataspaces/{dataspace-name}/anchors:
+    $ref: 'cpsAdminV2.yml#/anchorsByDataspace'
+
+  /{apiVersion}/dataspaces/{dataspace-name}/anchors:
+    $ref: 'cpsAdmin.yml#/anchorsByDataspace'
+
+  /{apiVersion}/dataspaces/{dataspace-name}/anchors/{anchor-name}:
+    $ref: 'cpsAdmin.yml#/anchorByDataspaceAndAnchorName'
+
+  /v1/dataspaces/{dataspace-name}/schema-sets:
+    $ref: 'cpsAdminV1Deprecated.yml#/schemaSet'
+
+  /v2/dataspaces/{dataspace-name}/schema-sets:
+    $ref: 'cpsAdminV2.yml#/schemaSet'
+
+  /{apiVersion}/dataspaces/{dataspace-name}/schema-sets:
+    $ref: 'cpsAdmin.yml#/schemaSet'
+
+  /{apiVersion}/dataspaces/{dataspace-name}/schema-sets/{schema-set-name}:
+    $ref: 'cpsAdmin.yml#/schemaSetBySchemaSetName'
+
+  /v1/dataspaces/{dataspace-name}/anchors/{anchor-name}/node:
+    $ref: 'cpsDataV1Deprecated.yml#/nodeByDataspaceAndAnchor'
+
+  /v2/dataspaces/{dataspace-name}/anchors/{anchor-name}/node:
+    $ref: 'cpsDataV2.yml#/nodeByDataspaceAndAnchor'
+
+  /{apiVersion}/dataspaces/{dataspace-name}/anchors/{anchor-name}/nodes:
+    $ref: 'cpsData.yml#/nodesByDataspaceAndAnchor'
+
+  /v1/dataspaces/{dataspace-name}/anchors/{anchor-name}/list-nodes:
+    $ref: 'cpsDataV1Deprecated.yml#/listElementByDataspaceAndAnchor'
+
+  /{apiVersion}/dataspaces/{dataspace-name}/anchors/{anchor-name}/list-nodes:
+    $ref: 'cpsData.yml#/listElementByDataspaceAndAnchor'
+
+  /v2/dataspaces/{dataspace-name}/anchors/{source-anchor-name}/delta:
+    $ref: 'cpsDataV2.yml#/delta'
+
+  /v1/dataspaces/{dataspace-name}/anchors/{anchor-name}/nodes/query:
+    $ref: 'cpsQueryV1Deprecated.yml#/nodesByDataspaceAndAnchorAndCpsPath'
+
+  /v2/dataspaces/{dataspace-name}/anchors/{anchor-name}/nodes/query:
+    $ref: 'cpsQueryV2.yml#/nodesByDataspaceAndAnchorAndCpsPath'
+
+  /v2/dataspaces/{dataspace-name}/nodes/query:
+    $ref: 'cpsQueryV2.yml#/nodesByDataspaceAndCpsPath'
+
+security:
+  - basicAuth: []
index 5151a41..4bcb01a 100644 (file)
                             <goal>generate</goal>
                         </goals>
                         <configuration>
-                            <inputSpec>docs/api/swagger/cps/openapi.yaml</inputSpec>
+                            <inputSpec>${project.basedir}/docs/openapi/openapi.yml</inputSpec>
                             <invokerPackage>org.onap.cps.rest.controller</invokerPackage>
                             <modelPackage>org.onap.cps.rest.model</modelPackage>
                             <apiPackage>org.onap.cps.rest.api</apiPackage>
                         </goals>
                         <phase>compile</phase>
                         <configuration>
-                            <inputSpec>docs/api/swagger/cps/openapi.yaml</inputSpec>
+                            <inputSpec>${project.basedir}/docs/openapi/openapi.yml</inputSpec>
                             <generatorName>openapi-yaml</generatorName>
                             <configOptions>
                                 <outputFile>openapi.yaml</outputFile>
                     </execution>
                 </executions>
             </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-resources-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <id>copy-resources</id>
+                        <phase>compile</phase>
+                        <goals>
+                            <goal>copy-resources</goal>
+                        </goals>
+                        <configuration>
+                            <outputDirectory>${project.basedir}/target/classes/static/api-docs/cps-core</outputDirectory>
+                            <resources>
+                                <resource>
+                                    <directory>${project.basedir}/target/generated-sources/openapi/</directory>
+                                    <includes>
+                                      <include>openapi.yaml</include>
+                                    </includes>
+                                </resource>
+                            </resources>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
         </plugins>
     </build>
 </project>
index 74b5234..d6cca6e 100644 (file)
@@ -11,14 +11,14 @@ info:
   title: ONAP Open API v3 Configuration Persistence Service
   version: 3.5.2
 servers:
-  - url: /cps/api
+- url: /cps/api
 security:
-  - basicAuth: []
+- basicAuth: []
 tags:
-  - description: cps Admin
-    name: cps-admin
-  - description: cps Data
-    name: cps-data
+- description: cps Admin
+  name: cps-admin
+- description: cps Data
+  name: cps-data
 paths:
   /v1/dataspaces:
     post:
@@ -26,13 +26,13 @@ paths:
       description: Create a new dataspace
       operationId: createDataspace
       parameters:
-        - description: dataspace-name
-          in: query
-          name: dataspace-name
-          required: true
-          schema:
-            example: my-dataspace
-            type: string
+      - description: dataspace-name
+        in: query
+        name: dataspace-name
+        required: true
+        schema:
+          example: my-dataspace
+          type: string
       responses:
         "201":
           content:
@@ -83,29 +83,29 @@ paths:
           description: Internal Server Error
       summary: Create a dataspace
       tags:
-        - cps-admin
+      - cps-admin
   /{apiVersion}/dataspaces:
     delete:
       description: Delete a dataspace
       operationId: deleteDataspace
       parameters:
-        - description: apiVersion
-          in: path
-          name: apiVersion
-          required: true
-          schema:
-            default: v2
-            enum:
-              - v1
-              - v2
-            type: string
-        - description: dataspace-name
-          in: query
-          name: dataspace-name
-          required: true
-          schema:
-            example: my-dataspace
-            type: string
+      - description: apiVersion
+        in: path
+        name: apiVersion
+        required: true
+        schema:
+          default: v2
+          enum:
+          - v1
+          - v2
+          type: string
+      - description: dataspace-name
+        in: query
+        name: dataspace-name
+        required: true
+        schema:
+          example: my-dataspace
+          type: string
       responses:
         "204":
           content: {}
@@ -152,19 +152,19 @@ paths:
           description: Internal Server Error
       summary: Delete a dataspace
       tags:
-        - cps-admin
+      - cps-admin
   /v2/dataspaces:
     post:
       description: Create a new dataspace
       operationId: createDataspaceV2
       parameters:
-        - description: dataspace-name
-          in: query
-          name: dataspace-name
-          required: true
-          schema:
-            example: my-dataspace
-            type: string
+      - description: dataspace-name
+        in: query
+        name: dataspace-name
+        required: true
+        schema:
+          example: my-dataspace
+          type: string
       responses:
         "201":
           description: Created without response body
@@ -210,22 +210,22 @@ paths:
           description: Internal Server Error
       summary: Create a dataspace
       tags:
-        - cps-admin
+      - cps-admin
   /{apiVersion}/admin/dataspaces:
     get:
       description: Read all dataspaces
       operationId: getAllDataspaces
       parameters:
-        - description: apiVersion
-          in: path
-          name: apiVersion
-          required: true
-          schema:
-            default: v2
-            enum:
-              - v1
-              - v2
-            type: string
+      - description: apiVersion
+        in: path
+        name: apiVersion
+        required: true
+        schema:
+          default: v2
+          enum:
+          - v1
+          - v2
+          type: string
       responses:
         "200":
           content:
@@ -267,29 +267,29 @@ paths:
           description: Internal Server Error
       summary: Get all dataspaces
       tags:
-        - cps-admin
+      - cps-admin
   /{apiVersion}/admin/dataspaces/{dataspace-name}:
     get:
       description: Read a dataspace given a dataspace name
       operationId: getDataspace
       parameters:
-        - description: apiVersion
-          in: path
-          name: apiVersion
-          required: true
-          schema:
-            default: v2
-            enum:
-              - v1
-              - v2
-            type: string
-        - description: dataspace-name
-          in: path
-          name: dataspace-name
-          required: true
-          schema:
-            example: my-dataspace
-            type: string
+      - description: apiVersion
+        in: path
+        name: apiVersion
+        required: true
+        schema:
+          default: v2
+          enum:
+          - v1
+          - v2
+          type: string
+      - description: dataspace-name
+        in: path
+        name: dataspace-name
+        required: true
+        schema:
+          example: my-dataspace
+          type: string
       responses:
         "200":
           content:
@@ -329,34 +329,34 @@ paths:
           description: Internal Server Error
       summary: Get a dataspace
       tags:
-        - cps-admin
+      - cps-admin
   /v1/dataspaces/{dataspace-name}/anchors:
     post:
       deprecated: true
       description: Create a new anchor in the given dataspace
       operationId: createAnchor
       parameters:
-        - description: dataspace-name
-          in: path
-          name: dataspace-name
-          required: true
-          schema:
-            example: my-dataspace
-            type: string
-        - description: schema-set-name
-          in: query
-          name: schema-set-name
-          required: true
-          schema:
-            example: my-schema-set
-            type: string
-        - description: anchor-name
-          in: query
-          name: anchor-name
-          required: true
-          schema:
-            example: my-anchor
-            type: string
+      - description: dataspace-name
+        in: path
+        name: dataspace-name
+        required: true
+        schema:
+          example: my-dataspace
+          type: string
+      - description: schema-set-name
+        in: query
+        name: schema-set-name
+        required: true
+        schema:
+          example: my-schema-set
+          type: string
+      - description: anchor-name
+        in: query
+        name: anchor-name
+        required: true
+        schema:
+          example: my-anchor
+          type: string
       responses:
         "201":
           content:
@@ -407,33 +407,33 @@ paths:
           description: Internal Server Error
       summary: Create an anchor
       tags:
-        - cps-admin
+      - cps-admin
   /v2/dataspaces/{dataspace-name}/anchors:
     post:
       description: Create a new anchor in the given dataspace
       operationId: createAnchorV2
       parameters:
-        - description: dataspace-name
-          in: path
-          name: dataspace-name
-          required: true
-          schema:
-            example: my-dataspace
-            type: string
-        - description: schema-set-name
-          in: query
-          name: schema-set-name
-          required: true
-          schema:
-            example: my-schema-set
-            type: string
-        - description: anchor-name
-          in: query
-          name: anchor-name
-          required: true
-          schema:
-            example: my-anchor
-            type: string
+      - description: dataspace-name
+        in: path
+        name: dataspace-name
+        required: true
+        schema:
+          example: my-dataspace
+          type: string
+      - description: schema-set-name
+        in: query
+        name: schema-set-name
+        required: true
+        schema:
+          example: my-schema-set
+          type: string
+      - description: anchor-name
+        in: query
+        name: anchor-name
+        required: true
+        schema:
+          example: my-anchor
+          type: string
       responses:
         "201":
           description: Created without response body
@@ -479,29 +479,29 @@ paths:
           description: Internal Server Error
       summary: Create an anchor
       tags:
-        - cps-admin
+      - cps-admin
   /{apiVersion}/dataspaces/{dataspace-name}/anchors:
     get:
       description: "Read all anchors, given a dataspace"
       operationId: getAnchors
       parameters:
-        - description: apiVersion
-          in: path
-          name: apiVersion
-          required: true
-          schema:
-            default: v2
-            enum:
-              - v1
-              - v2
-            type: string
-        - description: dataspace-name
-          in: path
-          name: dataspace-name
-          required: true
-          schema:
-            example: my-dataspace
-            type: string
+      - description: apiVersion
+        in: path
+        name: apiVersion
+        required: true
+        schema:
+          default: v2
+          enum:
+          - v1
+          - v2
+          type: string
+      - description: dataspace-name
+        in: path
+        name: dataspace-name
+        required: true
+        schema:
+          example: my-dataspace
+          type: string
       responses:
         "200":
           content:
@@ -543,36 +543,36 @@ paths:
           description: Internal Server Error
       summary: Get anchors
       tags:
-        - cps-admin
+      - cps-admin
   /{apiVersion}/dataspaces/{dataspace-name}/anchors/{anchor-name}:
     delete:
       description: Delete an anchor given an anchor name and a dataspace
       operationId: deleteAnchor
       parameters:
-        - description: apiVersion
-          in: path
-          name: apiVersion
-          required: true
-          schema:
-            default: v2
-            enum:
-              - v1
-              - v2
-            type: string
-        - description: dataspace-name
-          in: path
-          name: dataspace-name
-          required: true
-          schema:
-            example: my-dataspace
-            type: string
-        - description: anchor-name
-          in: path
-          name: anchor-name
-          required: true
-          schema:
-            example: my-anchor
-            type: string
+      - description: apiVersion
+        in: path
+        name: apiVersion
+        required: true
+        schema:
+          default: v2
+          enum:
+          - v1
+          - v2
+          type: string
+      - description: dataspace-name
+        in: path
+        name: dataspace-name
+        required: true
+        schema:
+          example: my-dataspace
+          type: string
+      - description: anchor-name
+        in: path
+        name: anchor-name
+        required: true
+        schema:
+          example: my-anchor
+          type: string
       responses:
         "204":
           content: {}
@@ -609,35 +609,35 @@ paths:
           description: Internal Server Error
       summary: Delete an anchor
       tags:
-        - cps-admin
+      - cps-admin
     get:
       description: Read an anchor given an anchor name and a dataspace
       operationId: getAnchor
       parameters:
-        - description: apiVersion
-          in: path
-          name: apiVersion
-          required: true
-          schema:
-            default: v2
-            enum:
-              - v1
-              - v2
-            type: string
-        - description: dataspace-name
-          in: path
-          name: dataspace-name
-          required: true
-          schema:
-            example: my-dataspace
-            type: string
-        - description: anchor-name
-          in: path
-          name: anchor-name
-          required: true
-          schema:
-            example: my-anchor
-            type: string
+      - description: apiVersion
+        in: path
+        name: apiVersion
+        required: true
+        schema:
+          default: v2
+          enum:
+          - v1
+          - v2
+          type: string
+      - description: dataspace-name
+        in: path
+        name: dataspace-name
+        required: true
+        schema:
+          example: my-dataspace
+          type: string
+      - description: anchor-name
+        in: path
+        name: anchor-name
+        required: true
+        schema:
+          example: my-anchor
+          type: string
       responses:
         "200":
           content:
@@ -677,27 +677,27 @@ paths:
           description: Internal Server Error
       summary: Get an anchor
       tags:
-        - cps-admin
+      - cps-admin
   /v1/dataspaces/{dataspace-name}/schema-sets:
     post:
       deprecated: true
       description: Create a new schema set in the given dataspace
       operationId: createSchemaSet
       parameters:
-        - description: dataspace-name
-          in: path
-          name: dataspace-name
-          required: true
-          schema:
-            example: my-dataspace
-            type: string
-        - description: schema-set-name
-          in: query
-          name: schema-set-name
-          required: true
-          schema:
-            example: my-schema-set
-            type: string
+      - description: dataspace-name
+        in: path
+        name: dataspace-name
+        required: true
+        schema:
+          example: my-dataspace
+          type: string
+      - description: schema-set-name
+        in: query
+        name: schema-set-name
+        required: true
+        schema:
+          example: my-schema-set
+          type: string
       requestBody:
         content:
           multipart/form-data:
@@ -754,26 +754,26 @@ paths:
           description: Internal Server Error
       summary: Create a schema set
       tags:
-        - cps-admin
+      - cps-admin
   /v2/dataspaces/{dataspace-name}/schema-sets:
     post:
       description: Create a new schema set in the given dataspace
       operationId: createSchemaSetV2
       parameters:
-        - description: dataspace-name
-          in: path
-          name: dataspace-name
-          required: true
-          schema:
-            example: my-dataspace
-            type: string
-        - description: schema-set-name
-          in: query
-          name: schema-set-name
-          required: true
-          schema:
-            example: my-schema-set
-            type: string
+      - description: dataspace-name
+        in: path
+        name: dataspace-name
+        required: true
+        schema:
+          example: my-dataspace
+          type: string
+      - description: schema-set-name
+        in: query
+        name: schema-set-name
+        required: true
+        schema:
+          example: my-schema-set
+          type: string
       requestBody:
         content:
           multipart/form-data:
@@ -825,29 +825,29 @@ paths:
           description: Internal Server Error
       summary: Create a schema set
       tags:
-        - cps-admin
+      - cps-admin
   /{apiVersion}/dataspaces/{dataspace-name}/schema-sets:
     get:
       description: "Read all schema sets, given a dataspace"
       operationId: getSchemaSets
       parameters:
-        - description: apiVersion
-          in: path
-          name: apiVersion
-          required: true
-          schema:
-            default: v2
-            enum:
-              - v1
-              - v2
-            type: string
-        - description: dataspace-name
-          in: path
-          name: dataspace-name
-          required: true
-          schema:
-            example: my-dataspace
-            type: string
+      - description: apiVersion
+        in: path
+        name: apiVersion
+        required: true
+        schema:
+          default: v2
+          enum:
+          - v1
+          - v2
+          type: string
+      - description: dataspace-name
+        in: path
+        name: dataspace-name
+        required: true
+        schema:
+          example: my-dataspace
+          type: string
       responses:
         "200":
           content:
@@ -889,36 +889,36 @@ paths:
           description: Internal Server Error
       summary: Get schema sets
       tags:
-        - cps-admin
+      - cps-admin
   /{apiVersion}/dataspaces/{dataspace-name}/schema-sets/{schema-set-name}:
     delete:
       description: Delete a schema set given a schema set name and a dataspace
       operationId: deleteSchemaSet
       parameters:
-        - description: apiVersion
-          in: path
-          name: apiVersion
-          required: true
-          schema:
-            default: v2
-            enum:
-              - v1
-              - v2
-            type: string
-        - description: dataspace-name
-          in: path
-          name: dataspace-name
-          required: true
-          schema:
-            example: my-dataspace
-            type: string
-        - description: schema-set-name
-          in: path
-          name: schema-set-name
-          required: true
-          schema:
-            example: my-schema-set
-            type: string
+      - description: apiVersion
+        in: path
+        name: apiVersion
+        required: true
+        schema:
+          default: v2
+          enum:
+          - v1
+          - v2
+          type: string
+      - description: dataspace-name
+        in: path
+        name: dataspace-name
+        required: true
+        schema:
+          example: my-dataspace
+          type: string
+      - description: schema-set-name
+        in: path
+        name: schema-set-name
+        required: true
+        schema:
+          example: my-schema-set
+          type: string
       responses:
         "204":
           content: {}
@@ -965,35 +965,35 @@ paths:
           description: Internal Server Error
       summary: Delete a schema set
       tags:
-        - cps-admin
+      - cps-admin
     get:
       description: Read a schema set given a schema set name and a dataspace
       operationId: getSchemaSet
       parameters:
-        - description: apiVersion
-          in: path
-          name: apiVersion
-          required: true
-          schema:
-            default: v2
-            enum:
-              - v1
-              - v2
-            type: string
-        - description: dataspace-name
-          in: path
-          name: dataspace-name
-          required: true
-          schema:
-            example: my-dataspace
-            type: string
-        - description: schema-set-name
-          in: path
-          name: schema-set-name
-          required: true
-          schema:
-            example: my-schema-set
-            type: string
+      - description: apiVersion
+        in: path
+        name: apiVersion
+        required: true
+        schema:
+          default: v2
+          enum:
+          - v1
+          - v2
+          type: string
+      - description: dataspace-name
+        in: path
+        name: dataspace-name
+        required: true
+        schema:
+          example: my-dataspace
+          type: string
+      - description: schema-set-name
+        in: path
+        name: schema-set-name
+        required: true
+        schema:
+          example: my-schema-set
+          type: string
       responses:
         "200":
           content:
@@ -1033,7 +1033,7 @@ paths:
           description: Internal Server Error
       summary: Get a schema set
       tags:
-        - cps-admin
+      - cps-admin
   /v1/dataspaces/{dataspace-name}/anchors/{anchor-name}/node:
     get:
       deprecated: true
@@ -1041,40 +1041,40 @@ paths:
         anchor and dataspace
       operationId: getNodeByDataspaceAndAnchor
       parameters:
-        - description: dataspace-name
-          in: path
-          name: dataspace-name
-          required: true
-          schema:
-            example: my-dataspace
-            type: string
-        - description: anchor-name
-          in: path
-          name: anchor-name
-          required: true
-          schema:
-            example: my-anchor
-            type: string
-        - description: "For more details on xpath, please refer https://docs.onap.org/projects/onap-cps/en/latest/xpath.html"
-          examples:
-            container xpath:
-              value: /shops/bookstore
-            list attributes xpath:
-              value: "/shops/bookstore/categories[@code=1]"
-          in: query
-          name: xpath
-          required: false
-          schema:
-            default: /
-            type: string
-        - description: include-descendants
-          in: query
-          name: include-descendants
-          required: false
-          schema:
-            default: false
-            example: false
-            type: boolean
+      - description: dataspace-name
+        in: path
+        name: dataspace-name
+        required: true
+        schema:
+          example: my-dataspace
+          type: string
+      - description: anchor-name
+        in: path
+        name: anchor-name
+        required: true
+        schema:
+          example: my-anchor
+          type: string
+      - description: "For more details on xpath, please refer https://docs.onap.org/projects/onap-cps/en/latest/xpath.html"
+        examples:
+          container xpath:
+            value: /shops/bookstore
+          list attributes xpath:
+            value: "/shops/bookstore/categories[@code=1]"
+        in: query
+        name: xpath
+        required: false
+        schema:
+          default: /
+          type: string
+      - description: include-descendants
+        in: query
+        name: include-descendants
+        required: false
+        schema:
+          default: false
+          example: false
+          type: boolean
       responses:
         "200":
           content:
@@ -1118,7 +1118,7 @@ paths:
           description: Internal Server Error
       summary: Get a node
       tags:
-        - cps-data
+      - cps-data
       x-codegen-request-body-name: xpath
   /v2/dataspaces/{dataspace-name}/anchors/{anchor-name}/node:
     get:
@@ -1126,42 +1126,42 @@ paths:
         anchor and dataspace
       operationId: getNodeByDataspaceAndAnchorV2
       parameters:
-        - description: dataspace-name
-          in: path
-          name: dataspace-name
-          required: true
-          schema:
-            example: my-dataspace
-            type: string
-        - description: anchor-name
-          in: path
-          name: anchor-name
-          required: true
-          schema:
-            example: my-anchor
-            type: string
-        - description: "For more details on xpath, please refer https://docs.onap.org/projects/onap-cps/en/latest/xpath.html"
-          examples:
-            container xpath:
-              value: /shops/bookstore
-            list attributes xpath:
-              value: "/shops/bookstore/categories[@code=1]"
-          in: query
-          name: xpath
-          required: false
-          schema:
-            default: /
-            type: string
-        - description: "Number of descendants to query. Allowed values are 'none', 'all',\
+      - description: dataspace-name
+        in: path
+        name: dataspace-name
+        required: true
+        schema:
+          example: my-dataspace
+          type: string
+      - description: anchor-name
+        in: path
+        name: anchor-name
+        required: true
+        schema:
+          example: my-anchor
+          type: string
+      - description: "For more details on xpath, please refer https://docs.onap.org/projects/onap-cps/en/latest/xpath.html"
+        examples:
+          container xpath:
+            value: /shops/bookstore
+          list attributes xpath:
+            value: "/shops/bookstore/categories[@code=1]"
+        in: query
+        name: xpath
+        required: false
+        schema:
+          default: /
+          type: string
+      - description: "Number of descendants to query. Allowed values are 'none', 'all',\
           \ 'direct', 1 (for direct), -1 (for all), 0 (for none) and any positive\
           \ number."
-          in: query
-          name: descendants
-          required: false
-          schema:
-            default: none
-            example: "3"
-            type: string
+        in: query
+        name: descendants
+        required: false
+        schema:
+          default: none
+          example: "3"
+          type: string
       responses:
         "200":
           content:
@@ -1205,7 +1205,7 @@ paths:
           description: Internal Server Error
       summary: Get a node
       tags:
-        - cps-data
+      - cps-data
       x-codegen-request-body-name: xpath
   /{apiVersion}/dataspaces/{dataspace-name}/anchors/{anchor-name}/nodes:
     delete:
@@ -1213,49 +1213,49 @@ paths:
         xpath.
       operationId: deleteDataNode
       parameters:
-        - description: apiVersion
-          in: path
-          name: apiVersion
-          required: true
-          schema:
-            default: v2
-            enum:
-              - v1
-              - v2
-            type: string
-        - description: dataspace-name
-          in: path
-          name: dataspace-name
-          required: true
-          schema:
-            example: my-dataspace
-            type: string
-        - description: anchor-name
-          in: path
-          name: anchor-name
-          required: true
-          schema:
-            example: my-anchor
-            type: string
-        - description: "For more details on xpath, please refer https://docs.onap.org/projects/onap-cps/en/latest/xpath.html"
-          examples:
-            container xpath:
-              value: /shops/bookstore
-            list attributes xpath:
-              value: "/shops/bookstore/categories[@code=1]"
-          in: query
-          name: xpath
-          required: false
-          schema:
-            default: /
-            type: string
-        - description: observed-timestamp
-          in: query
-          name: observed-timestamp
-          required: false
-          schema:
-            example: 2021-03-21T00:10:34.030-0100
-            type: string
+      - description: apiVersion
+        in: path
+        name: apiVersion
+        required: true
+        schema:
+          default: v2
+          enum:
+          - v1
+          - v2
+          type: string
+      - description: dataspace-name
+        in: path
+        name: dataspace-name
+        required: true
+        schema:
+          example: my-dataspace
+          type: string
+      - description: anchor-name
+        in: path
+        name: anchor-name
+        required: true
+        schema:
+          example: my-anchor
+          type: string
+      - description: "For more details on xpath, please refer https://docs.onap.org/projects/onap-cps/en/latest/xpath.html"
+        examples:
+          container xpath:
+            value: /shops/bookstore
+          list attributes xpath:
+            value: "/shops/bookstore/categories[@code=1]"
+        in: query
+        name: xpath
+        required: false
+        schema:
+          default: /
+          type: string
+      - description: observed-timestamp
+        in: query
+        name: observed-timestamp
+        required: false
+        schema:
+          example: 2021-03-21T00:10:34.030-0100
+          type: string
       responses:
         "204":
           content: {}
@@ -1292,63 +1292,63 @@ paths:
           description: Internal Server Error
       summary: Delete a data node
       tags:
-        - cps-data
+      - cps-data
     patch:
       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:
-        - description: apiVersion
-          in: path
-          name: apiVersion
-          required: true
-          schema:
-            default: v2
-            enum:
-              - v1
-              - v2
-            type: string
-        - description: dataspace-name
-          in: path
-          name: dataspace-name
-          required: true
-          schema:
-            example: my-dataspace
-            type: string
-        - description: anchor-name
-          in: path
-          name: anchor-name
-          required: true
-          schema:
-            example: my-anchor
-            type: string
-        - description: "For more details on xpath, please refer https://docs.onap.org/projects/onap-cps/en/latest/xpath.html"
-          examples:
-            container xpath:
-              value: /shops/bookstore
-            list attributes xpath:
-              value: "/shops/bookstore/categories[@code=1]"
-          in: query
-          name: xpath
-          required: false
-          schema:
-            default: /
-            type: string
-        - description: observed-timestamp
-          in: query
-          name: observed-timestamp
-          required: false
-          schema:
-            example: 2021-03-21T00:10:34.030-0100
-            type: string
-        - description: Content type in header
-          in: header
-          name: Content-Type
-          required: true
-          schema:
-            example: application/json
-            type: string
+      - description: apiVersion
+        in: path
+        name: apiVersion
+        required: true
+        schema:
+          default: v2
+          enum:
+          - v1
+          - v2
+          type: string
+      - description: dataspace-name
+        in: path
+        name: dataspace-name
+        required: true
+        schema:
+          example: my-dataspace
+          type: string
+      - description: anchor-name
+        in: path
+        name: anchor-name
+        required: true
+        schema:
+          example: my-anchor
+          type: string
+      - description: "For more details on xpath, please refer https://docs.onap.org/projects/onap-cps/en/latest/xpath.html"
+        examples:
+          container xpath:
+            value: /shops/bookstore
+          list attributes xpath:
+            value: "/shops/bookstore/categories[@code=1]"
+        in: query
+        name: xpath
+        required: false
+        schema:
+          default: /
+          type: string
+      - description: observed-timestamp
+        in: query
+        name: observed-timestamp
+        required: false
+        schema:
+          example: 2021-03-21T00:10:34.030-0100
+          type: string
+      - description: Content type in header
+        in: header
+        name: Content-Type
+        required: true
+        schema:
+          example: application/json
+          type: string
       requestBody:
         content:
           application/json:
@@ -1410,61 +1410,61 @@ paths:
           description: Internal Server Error
       summary: Update node leaves
       tags:
-        - cps-data
+      - cps-data
     post:
       description: Create a node for a given anchor and dataspace
       operationId: createNode
       parameters:
-        - description: apiVersion
-          in: path
-          name: apiVersion
-          required: true
-          schema:
-            default: v2
-            enum:
-              - v1
-              - v2
-            type: string
-        - description: dataspace-name
-          in: path
-          name: dataspace-name
-          required: true
-          schema:
-            example: my-dataspace
-            type: string
-        - description: anchor-name
-          in: path
-          name: anchor-name
-          required: true
-          schema:
-            example: my-anchor
-            type: string
-        - description: "For more details on xpath, please refer https://docs.onap.org/projects/onap-cps/en/latest/xpath.html"
-          examples:
-            container xpath:
-              value: /shops/bookstore
-            list attributes xpath:
-              value: "/shops/bookstore/categories[@code=1]"
-          in: query
-          name: xpath
-          required: false
-          schema:
-            default: /
-            type: string
-        - description: observed-timestamp
-          in: query
-          name: observed-timestamp
-          required: false
-          schema:
-            example: 2021-03-21T00:10:34.030-0100
-            type: string
-        - description: Content type in header
-          in: header
-          name: Content-Type
-          required: true
-          schema:
-            example: application/json
-            type: string
+      - description: apiVersion
+        in: path
+        name: apiVersion
+        required: true
+        schema:
+          default: v2
+          enum:
+          - v1
+          - v2
+          type: string
+      - description: dataspace-name
+        in: path
+        name: dataspace-name
+        required: true
+        schema:
+          example: my-dataspace
+          type: string
+      - description: anchor-name
+        in: path
+        name: anchor-name
+        required: true
+        schema:
+          example: my-anchor
+          type: string
+      - description: "For more details on xpath, please refer https://docs.onap.org/projects/onap-cps/en/latest/xpath.html"
+        examples:
+          container xpath:
+            value: /shops/bookstore
+          list attributes xpath:
+            value: "/shops/bookstore/categories[@code=1]"
+        in: query
+        name: xpath
+        required: false
+        schema:
+          default: /
+          type: string
+      - description: observed-timestamp
+        in: query
+        name: observed-timestamp
+        required: false
+        schema:
+          example: 2021-03-21T00:10:34.030-0100
+          type: string
+      - description: Content type in header
+        in: header
+        name: Content-Type
+        required: true
+        schema:
+          example: application/json
+          type: string
       requestBody:
         content:
           application/json:
@@ -1534,62 +1534,62 @@ paths:
           description: Internal Server Error
       summary: Create a node
       tags:
-        - cps-data
+      - cps-data
     put:
       description: "Replace a node with descendants for a given dataspace, anchor\
         \ and a parent node xpath"
       operationId: replaceNode
       parameters:
-        - description: apiVersion
-          in: path
-          name: apiVersion
-          required: true
-          schema:
-            default: v2
-            enum:
-              - v1
-              - v2
-            type: string
-        - description: dataspace-name
-          in: path
-          name: dataspace-name
-          required: true
-          schema:
-            example: my-dataspace
-            type: string
-        - description: anchor-name
-          in: path
-          name: anchor-name
-          required: true
-          schema:
-            example: my-anchor
-            type: string
-        - description: "For more details on xpath, please refer https://docs.onap.org/projects/onap-cps/en/latest/xpath.html"
-          examples:
-            container xpath:
-              value: /shops/bookstore
-            list attributes xpath:
-              value: "/shops/bookstore/categories[@code=1]"
-          in: query
-          name: xpath
-          required: false
-          schema:
-            default: /
-            type: string
-        - description: observed-timestamp
-          in: query
-          name: observed-timestamp
-          required: false
-          schema:
-            example: 2021-03-21T00:10:34.030-0100
-            type: string
-        - description: Content type in header
-          in: header
-          name: Content-Type
-          required: true
-          schema:
-            example: application/json
-            type: string
+      - description: apiVersion
+        in: path
+        name: apiVersion
+        required: true
+        schema:
+          default: v2
+          enum:
+          - v1
+          - v2
+          type: string
+      - description: dataspace-name
+        in: path
+        name: dataspace-name
+        required: true
+        schema:
+          example: my-dataspace
+          type: string
+      - description: anchor-name
+        in: path
+        name: anchor-name
+        required: true
+        schema:
+          example: my-anchor
+          type: string
+      - description: "For more details on xpath, please refer https://docs.onap.org/projects/onap-cps/en/latest/xpath.html"
+        examples:
+          container xpath:
+            value: /shops/bookstore
+          list attributes xpath:
+            value: "/shops/bookstore/categories[@code=1]"
+        in: query
+        name: xpath
+        required: false
+        schema:
+          default: /
+          type: string
+      - description: observed-timestamp
+        in: query
+        name: observed-timestamp
+        required: false
+        schema:
+          example: 2021-03-21T00:10:34.030-0100
+          type: string
+      - description: Content type in header
+        in: header
+        name: Content-Type
+        required: true
+        schema:
+          example: application/json
+          type: string
       requestBody:
         content:
           application/json:
@@ -1651,45 +1651,45 @@ paths:
           description: Internal Server Error
       summary: Replace a node with descendants
       tags:
-        - cps-data
+      - cps-data
   /v1/dataspaces/{dataspace-name}/anchors/{anchor-name}/list-nodes:
     delete:
       deprecated: true
       description: Delete one or all list element(s) for a given anchor and dataspace
       operationId: deleteListOrListElement
       parameters:
-        - description: dataspace-name
-          in: path
-          name: dataspace-name
-          required: true
-          schema:
-            example: my-dataspace
-            type: string
-        - description: anchor-name
-          in: path
-          name: anchor-name
-          required: true
-          schema:
-            example: my-anchor
-            type: string
-        - description: "For more details on xpath, please refer https://docs.onap.org/projects/onap-cps/en/latest/xpath.html"
-          examples:
-            container xpath:
-              value: /shops/bookstore
-            list attributes xpath:
-              value: "/shops/bookstore/categories[@code=1]"
-          in: query
-          name: xpath
-          required: true
-          schema:
-            type: string
-        - description: observed-timestamp
-          in: query
-          name: observed-timestamp
-          required: false
-          schema:
-            example: 2021-03-21T00:10:34.030-0100
-            type: string
+      - description: dataspace-name
+        in: path
+        name: dataspace-name
+        required: true
+        schema:
+          example: my-dataspace
+          type: string
+      - description: anchor-name
+        in: path
+        name: anchor-name
+        required: true
+        schema:
+          example: my-anchor
+          type: string
+      - description: "For more details on xpath, please refer https://docs.onap.org/projects/onap-cps/en/latest/xpath.html"
+        examples:
+          container xpath:
+            value: /shops/bookstore
+          list attributes xpath:
+            value: "/shops/bookstore/categories[@code=1]"
+        in: query
+        name: xpath
+        required: true
+        schema:
+          type: string
+      - description: observed-timestamp
+        in: query
+        name: observed-timestamp
+        required: false
+        schema:
+          example: 2021-03-21T00:10:34.030-0100
+          type: string
       responses:
         "204":
           content: {}
@@ -1726,61 +1726,61 @@ paths:
           description: Internal Server Error
       summary: Delete one or all list element(s)
       tags:
-        - cps-data
+      - cps-data
   /{apiVersion}/dataspaces/{dataspace-name}/anchors/{anchor-name}/list-nodes:
     post:
       description: Add list element(s) to a list for a given anchor and dataspace
       operationId: addListElements
       parameters:
-        - description: apiVersion
-          in: path
-          name: apiVersion
-          required: true
-          schema:
-            default: v2
-            enum:
-              - v1
-              - v2
-            type: string
-        - description: dataspace-name
-          in: path
-          name: dataspace-name
-          required: true
-          schema:
-            example: my-dataspace
-            type: string
-        - description: anchor-name
-          in: path
-          name: anchor-name
-          required: true
-          schema:
-            example: my-anchor
-            type: string
-        - description: "For more details on xpath, please refer https://docs.onap.org/projects/onap-cps/en/latest/xpath.html"
-          examples:
-            container xpath:
-              value: /shops/bookstore
-            list attributes xpath:
-              value: "/shops/bookstore/categories[@code=1]"
-          in: query
-          name: xpath
-          required: true
-          schema:
-            type: string
-        - description: observed-timestamp
-          in: query
-          name: observed-timestamp
-          required: false
-          schema:
-            example: 2021-03-21T00:10:34.030-0100
-            type: string
-        - description: Content type in header
-          in: header
-          name: Content-Type
-          required: true
-          schema:
-            example: application/json
-            type: string
+      - description: apiVersion
+        in: path
+        name: apiVersion
+        required: true
+        schema:
+          default: v2
+          enum:
+          - v1
+          - v2
+          type: string
+      - description: dataspace-name
+        in: path
+        name: dataspace-name
+        required: true
+        schema:
+          example: my-dataspace
+          type: string
+      - description: anchor-name
+        in: path
+        name: anchor-name
+        required: true
+        schema:
+          example: my-anchor
+          type: string
+      - description: "For more details on xpath, please refer https://docs.onap.org/projects/onap-cps/en/latest/xpath.html"
+        examples:
+          container xpath:
+            value: /shops/bookstore
+          list attributes xpath:
+            value: "/shops/bookstore/categories[@code=1]"
+        in: query
+        name: xpath
+        required: true
+        schema:
+          type: string
+      - description: observed-timestamp
+        in: query
+        name: observed-timestamp
+        required: false
+        schema:
+          example: 2021-03-21T00:10:34.030-0100
+          type: string
+      - description: Content type in header
+        in: header
+        name: Content-Type
+        required: true
+        schema:
+          example: application/json
+          type: string
       requestBody:
         content:
           application/json:
@@ -1840,53 +1840,53 @@ paths:
           description: Internal Server Error
       summary: Add list element(s)
       tags:
-        - cps-data
+      - cps-data
     put:
       description: "Replace list content under a given parent, anchor and dataspace"
       operationId: replaceListContent
       parameters:
-        - description: apiVersion
-          in: path
-          name: apiVersion
-          required: true
-          schema:
-            default: v2
-            enum:
-              - v1
-              - v2
-            type: string
-        - description: dataspace-name
-          in: path
-          name: dataspace-name
-          required: true
-          schema:
-            example: my-dataspace
-            type: string
-        - description: anchor-name
-          in: path
-          name: anchor-name
-          required: true
-          schema:
-            example: my-anchor
-            type: string
-        - description: "For more details on xpath, please refer https://docs.onap.org/projects/onap-cps/en/latest/xpath.html"
-          examples:
-            container xpath:
-              value: /shops/bookstore
-            list attributes xpath:
-              value: "/shops/bookstore/categories[@code=1]"
-          in: query
-          name: xpath
-          required: true
-          schema:
-            type: string
-        - description: observed-timestamp
-          in: query
-          name: observed-timestamp
-          required: false
-          schema:
-            example: 2021-03-21T00:10:34.030-0100
-            type: string
+      - description: apiVersion
+        in: path
+        name: apiVersion
+        required: true
+        schema:
+          default: v2
+          enum:
+          - v1
+          - v2
+          type: string
+      - description: dataspace-name
+        in: path
+        name: dataspace-name
+        required: true
+        schema:
+          example: my-dataspace
+          type: string
+      - description: anchor-name
+        in: path
+        name: anchor-name
+        required: true
+        schema:
+          example: my-anchor
+          type: string
+      - description: "For more details on xpath, please refer https://docs.onap.org/projects/onap-cps/en/latest/xpath.html"
+        examples:
+          container xpath:
+            value: /shops/bookstore
+          list attributes xpath:
+            value: "/shops/bookstore/categories[@code=1]"
+        in: query
+        name: xpath
+        required: true
+        schema:
+          type: string
+      - description: observed-timestamp
+        in: query
+        name: observed-timestamp
+        required: false
+        schema:
+          example: 2021-03-21T00:10:34.030-0100
+          type: string
       requestBody:
         content:
           application/json:
@@ -1939,55 +1939,55 @@ paths:
           description: Internal Server Error
       summary: Replace list content
       tags:
-        - cps-data
+      - cps-data
   /v2/dataspaces/{dataspace-name}/anchors/{source-anchor-name}/delta:
     get:
       description: Get delta between two anchors within a given dataspace
       operationId: getDeltaByDataspaceAndAnchors
       parameters:
-        - description: dataspace-name
-          in: path
-          name: dataspace-name
-          required: true
-          schema:
-            example: my-dataspace
-            type: string
-        - description: source-anchor-name
-          in: path
-          name: source-anchor-name
-          required: true
-          schema:
-            example: my-anchor
-            type: string
-        - description: target-anchor-name
-          in: query
-          name: target-anchor-name
-          required: true
-          schema:
-            example: my-anchor
-            type: string
-        - description: "For more details on xpath, please refer https://docs.onap.org/projects/onap-cps/en/latest/xpath.html"
-          examples:
-            container xpath:
-              value: /shops/bookstore
-            list attributes xpath:
-              value: "/shops/bookstore/categories[@code=1]"
-          in: query
-          name: xpath
-          required: false
-          schema:
-            default: /
-            type: string
-        - description: "Number of descendants to query. Allowed values are 'none', 'all',\
+      - description: dataspace-name
+        in: path
+        name: dataspace-name
+        required: true
+        schema:
+          example: my-dataspace
+          type: string
+      - description: source-anchor-name
+        in: path
+        name: source-anchor-name
+        required: true
+        schema:
+          example: my-anchor
+          type: string
+      - description: target-anchor-name
+        in: query
+        name: target-anchor-name
+        required: true
+        schema:
+          example: my-anchor
+          type: string
+      - description: "For more details on xpath, please refer https://docs.onap.org/projects/onap-cps/en/latest/xpath.html"
+        examples:
+          container xpath:
+            value: /shops/bookstore
+          list attributes xpath:
+            value: "/shops/bookstore/categories[@code=1]"
+        in: query
+        name: xpath
+        required: false
+        schema:
+          default: /
+          type: string
+      - description: "Number of descendants to query. Allowed values are 'none', 'all',\
           \ 'direct', 1 (for direct), -1 (for all), 0 (for none) and any positive\
           \ number."
-          in: query
-          name: descendants
-          required: false
-          schema:
-            default: none
-            example: "3"
-            type: string
+        in: query
+        name: descendants
+        required: false
+        schema:
+          default: none
+          example: "3"
+          type: string
       responses:
         "200":
           content:
@@ -2031,38 +2031,38 @@ paths:
           description: Internal Server Error
       summary: Get delta between anchors in the same dataspace
       tags:
-        - cps-data
+      - cps-data
       x-codegen-request-body-name: xpath
     post:
       description: Get delta between an anchor in a dataspace and JSON payload
       operationId: getDeltaByDataspaceAnchorAndPayload
       parameters:
-        - description: dataspace-name
-          in: path
-          name: dataspace-name
-          required: true
-          schema:
-            example: my-dataspace
-            type: string
-        - description: source-anchor-name
-          in: path
-          name: source-anchor-name
-          required: true
-          schema:
-            example: my-anchor
-            type: string
-        - description: "For more details on xpath, please refer https://docs.onap.org/projects/onap-cps/en/latest/xpath.html"
-          examples:
-            container xpath:
-              value: /shops/bookstore
-            list attributes xpath:
-              value: "/shops/bookstore/categories[@code=1]"
-          in: query
-          name: xpath
-          required: false
-          schema:
-            default: /
-            type: string
+      - description: dataspace-name
+        in: path
+        name: dataspace-name
+        required: true
+        schema:
+          example: my-dataspace
+          type: string
+      - description: source-anchor-name
+        in: path
+        name: source-anchor-name
+        required: true
+        schema:
+          example: my-anchor
+          type: string
+      - description: "For more details on xpath, please refer https://docs.onap.org/projects/onap-cps/en/latest/xpath.html"
+        examples:
+          container xpath:
+            value: /shops/bookstore
+          list attributes xpath:
+            value: "/shops/bookstore/categories[@code=1]"
+        in: query
+        name: xpath
+        required: false
+        schema:
+          default: /
+          type: string
       requestBody:
         content:
           multipart/form-data:
@@ -2121,47 +2121,47 @@ paths:
           description: Internal Server Error
       summary: Get delta between an anchor and JSON payload
       tags:
-        - cps-data
+      - cps-data
   /v1/dataspaces/{dataspace-name}/anchors/{anchor-name}/nodes/query:
     get:
       deprecated: true
       description: Query data nodes for the given dataspace and anchor using CPS path
       operationId: getNodesByDataspaceAndAnchorAndCpsPath
       parameters:
-        - description: dataspace-name
-          in: path
-          name: dataspace-name
-          required: true
-          schema:
-            example: my-dataspace
-            type: string
-        - description: anchor-name
-          in: path
-          name: anchor-name
-          required: true
-          schema:
-            example: my-anchor
-            type: string
-        - description: "For more details on cps path, please refer https://docs.onap.org/projects/onap-cps/en/latest/cps-path.html"
-          examples:
-            container cps path:
-              value: //bookstore
-            list attributes cps path:
-              value: "//categories[@code=1]"
-          in: query
-          name: cps-path
-          required: false
-          schema:
-            default: /
-            type: string
-        - description: include-descendants
-          in: query
-          name: include-descendants
-          required: false
-          schema:
-            default: false
-            example: false
-            type: boolean
+      - description: dataspace-name
+        in: path
+        name: dataspace-name
+        required: true
+        schema:
+          example: my-dataspace
+          type: string
+      - description: anchor-name
+        in: path
+        name: anchor-name
+        required: true
+        schema:
+          example: my-anchor
+          type: string
+      - description: "For more details on cps path, please refer https://docs.onap.org/projects/onap-cps/en/latest/cps-path.html"
+        examples:
+          container cps path:
+            value: //bookstore
+          list attributes cps path:
+            value: "//categories[@code=1]"
+        in: query
+        name: cps-path
+        required: false
+        schema:
+          default: /
+          type: string
+      - description: include-descendants
+        in: query
+        name: include-descendants
+        required: false
+        schema:
+          default: false
+          example: false
+          type: boolean
       responses:
         "200":
           content:
@@ -2205,49 +2205,49 @@ paths:
           description: Internal Server Error
       summary: Query data nodes
       tags:
-        - cps-query
+      - cps-query
       x-codegen-request-body-name: xpath
   /v2/dataspaces/{dataspace-name}/anchors/{anchor-name}/nodes/query:
     get:
       description: Query data nodes for the given dataspace and anchor using CPS path
       operationId: getNodesByDataspaceAndAnchorAndCpsPathV2
       parameters:
-        - description: dataspace-name
-          in: path
-          name: dataspace-name
-          required: true
-          schema:
-            example: my-dataspace
-            type: string
-        - description: anchor-name
-          in: path
-          name: anchor-name
-          required: true
-          schema:
-            example: my-anchor
-            type: string
-        - description: "For more details on cps path, please refer https://docs.onap.org/projects/onap-cps/en/latest/cps-path.html"
-          examples:
-            container cps path:
-              value: //bookstore
-            list attributes cps path:
-              value: "//categories[@code=1]"
-          in: query
-          name: cps-path
-          required: false
-          schema:
-            default: /
-            type: string
-        - description: "Number of descendants to query. Allowed values are 'none', 'all',\
+      - description: dataspace-name
+        in: path
+        name: dataspace-name
+        required: true
+        schema:
+          example: my-dataspace
+          type: string
+      - description: anchor-name
+        in: path
+        name: anchor-name
+        required: true
+        schema:
+          example: my-anchor
+          type: string
+      - description: "For more details on cps path, please refer https://docs.onap.org/projects/onap-cps/en/latest/cps-path.html"
+        examples:
+          container cps path:
+            value: //bookstore
+          list attributes cps path:
+            value: "//categories[@code=1]"
+        in: query
+        name: cps-path
+        required: false
+        schema:
+          default: /
+          type: string
+      - description: "Number of descendants to query. Allowed values are 'none', 'all',\
           \ 'direct', 1 (for direct), -1 (for all), 0 (for none) and any positive\
           \ number."
-          in: query
-          name: descendants
-          required: false
-          schema:
-            default: none
-            example: "3"
-            type: string
+        in: query
+        name: descendants
+        required: false
+        schema:
+          default: none
+          example: "3"
+          type: string
       responses:
         "200":
           content:
@@ -2291,7 +2291,7 @@ paths:
           description: Internal Server Error
       summary: Query data nodes
       tags:
-        - cps-query
+      - cps-query
       x-codegen-request-body-name: xpath
   /v2/dataspaces/{dataspace-name}/nodes/query:
     get:
@@ -2299,51 +2299,51 @@ paths:
         path
       operationId: getNodesByDataspaceAndCpsPath
       parameters:
-        - description: dataspace-name
-          in: path
-          name: dataspace-name
-          required: true
-          schema:
-            example: my-dataspace
-            type: string
-        - description: "For more details on cps path, please refer https://docs.onap.org/projects/onap-cps/en/latest/cps-path.html"
-          examples:
-            container cps path:
-              value: //bookstore
-            list attributes cps path:
-              value: "//categories[@code=1]"
-          in: query
-          name: cps-path
-          required: false
-          schema:
-            default: /
-            type: string
-        - description: "Number of descendants to query. Allowed values are 'none', 'all',\
+      - description: dataspace-name
+        in: path
+        name: dataspace-name
+        required: true
+        schema:
+          example: my-dataspace
+          type: string
+      - description: "For more details on cps path, please refer https://docs.onap.org/projects/onap-cps/en/latest/cps-path.html"
+        examples:
+          container cps path:
+            value: //bookstore
+          list attributes cps path:
+            value: "//categories[@code=1]"
+        in: query
+        name: cps-path
+        required: false
+        schema:
+          default: /
+          type: string
+      - description: "Number of descendants to query. Allowed values are 'none', 'all',\
           \ 'direct', 1 (for direct), -1 (for all), 0 (for none) and any positive\
           \ number."
-          in: query
-          name: descendants
-          required: false
-          schema:
-            default: none
-            example: "3"
-            type: string
-        - description: page index for pagination over anchors. It must be greater then
-            zero if provided.
-          in: query
-          name: pageIndex
-          required: false
-          schema:
-            example: 1
-            type: integer
-        - description: number of records (anchors) per page. It must be greater then
-            zero if provided.
-          in: query
-          name: pageSize
-          required: false
-          schema:
-            example: 10
-            type: integer
+        in: query
+        name: descendants
+        required: false
+        schema:
+          default: none
+          example: "3"
+          type: string
+      - description: page index for pagination over anchors. It must be greater then
+          zero if provided.
+        in: query
+        name: pageIndex
+        required: false
+        schema:
+          example: 1
+          type: integer
+      - description: number of records (anchors) per page. It must be greater then
+          zero if provided.
+        in: query
+        name: pageSize
+        required: false
+        schema:
+          example: 10
+          type: integer
       responses:
         "200":
           content:
@@ -2387,7 +2387,7 @@ paths:
           description: Internal Server Error
       summary: Query data nodes across anchors
       tags:
-        - cps-query
+      - cps-query
       x-codegen-request-body-name: xpath
 components:
   examples:
@@ -2396,52 +2396,52 @@ components:
         test:bookstore:
           bookstore-name: Chapters
           categories:
-            - code: 1
-              name: SciFi
-            - code: 2
-              name: kids
+          - code: 1
+            name: SciFi
+          - code: 2
+            name: kids
     dataSampleXml:
       value: <stores xmlns="urn:ietf:params:xml:ns:netconf:base:1.0"> <bookstore xmlns="org:onap:ccsdk:sample">
         <bookstore-name>Chapters</bookstore-name> <categories> <code>1</code> <name>SciFi</name>
         <code>2</code> <name>kids</name> </categories> </bookstore> </stores>
     deltaReportSample:
       value:
-        - action: create
-          xpath: "/bookstore/categories/[@code=3]"
-          target-data:
-            code: "3,"
-            name: kidz
-        - action: remove
-          xpath: "/bookstore/categories/[@code=1]"
-          source-data:
-            code: "1,"
-            name: Fiction
-        - action: replace
-          xpath: "/bookstore/categories/[@code=2]"
-          source-data:
-            name: Funny
-          target-data:
-            name: Comic
+      - action: ADD
+        xpath: "/bookstore/categories/[@code=3]"
+        target-data:
+          code: "3,"
+          name: kidz
+      - action: REMOVE
+        xpath: "/bookstore/categories/[@code=1]"
+        source-data:
+          code: "1,"
+          name: Fiction
+      - action: UPDATE
+        xpath: "/bookstore/categories/[@code=2]"
+        source-data:
+          name: Funny
+        target-data:
+          name: Comic
     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
+      - 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
   parameters:
     dataspaceNameInQuery:
       description: dataspace-name
@@ -2459,8 +2459,8 @@ components:
       schema:
         default: v2
         enum:
-          - v1
-          - v2
+        - v1
+        - v2
         type: string
     dataspaceNameInPath:
       description: dataspace-name
@@ -2725,19 +2725,19 @@ components:
           format: binary
           type: string
       required:
-        - file
+      - file
       type: object
     SchemaSetDetails:
       example:
         dataspaceName: my-dataspace
         name: my-schema-set
         moduleReferences:
-          - name: my-module-reference-name
-            namespace: my-module-reference-namespace
-            revision: my-module-reference-revision
-          - name: my-module-reference-name
-            namespace: my-module-reference-namespace
-            revision: my-module-reference-revision
+        - name: my-module-reference-name
+          namespace: my-module-reference-namespace
+          revision: my-module-reference-revision
+        - name: my-module-reference-name
+          namespace: my-module-reference-namespace
+          revision: my-module-reference-revision
       properties:
         dataspaceName:
           example: my-dataspace
@@ -2750,7 +2750,7 @@ components:
           example: my-schema-set
           type: string
       required:
-        - moduleReferences
+      - moduleReferences
       title: Schema set details by dataspace and schemasetName
       type: object
     ModuleReferences:
@@ -2777,16 +2777,16 @@ components:
             test:bookstore:
               bookstore-name: Chapters
               categories:
-                - code: 1
-                  name: SciFi
-                - code: 2
-                  name: kids
+              - code: 1
+                name: SciFi
+              - code: 2
+                name: kids
           type: object
         file:
           format: binary
           type: string
       required:
-        - json
+      - json
       type: object
   securitySchemes:
     basicAuth: