aboutsummaryrefslogtreecommitdiffstats
path: root/cps-rest/docs
diff options
context:
space:
mode:
Diffstat (limited to 'cps-rest/docs')
-rw-r--r--cps-rest/docs/openapi/components.yml22
-rw-r--r--cps-rest/docs/openapi/cpsAdmin.yml22
-rw-r--r--cps-rest/docs/openapi/cpsAdminV2.yml74
-rw-r--r--cps-rest/docs/openapi/cpsDataV2.yml82
-rw-r--r--cps-rest/docs/openapi/cpsDelta.yml97
-rw-r--r--cps-rest/docs/openapi/openapi.yml22
6 files changed, 223 insertions, 96 deletions
diff --git a/cps-rest/docs/openapi/components.yml b/cps-rest/docs/openapi/components.yml
index 1a7e4308d9..43a311872a 100644
--- a/cps-rest/docs/openapi/components.yml
+++ b/cps-rest/docs/openapi/components.yml
@@ -1,7 +1,7 @@
# ============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-2025 TechMahindra Ltd.
# Modifications Copyright (C) 2022 Deutsche Telekom AG
# ================================================================================
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -157,7 +157,12 @@ components:
name: "Funny"
target-data:
name: "Comic"
-
+ NotificationSubscriptionsDataSample:
+ value:
+ cps-notification-subscriptions:dataspaces:
+ dataspace:
+ - name: dataspace01
+ - name: dataspace02
parameters:
dataspaceNameInQuery:
name: dataspace-name
@@ -236,6 +241,19 @@ components:
value: /shops/bookstore
list attributes xpath:
value: /shops/bookstore/categories[@code=1]
+ notificationSubscriptionXpathInQuery:
+ 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
+ default: /dataspaces
+ examples:
+ subscription by dataspace xpath:
+ value: /dataspaces/dataspace[@name='dataspace01']
+ subscription by anchor xpath:
+ value: /dataspaces/dataspace[@name='dataspace01']/anchors/anchor[@name='anchor01']
requiredXpathInQuery:
name: xpath
in: query
diff --git a/cps-rest/docs/openapi/cpsAdmin.yml b/cps-rest/docs/openapi/cpsAdmin.yml
index f394270dd5..6cfffa48f3 100644
--- a/cps-rest/docs/openapi/cpsAdmin.yml
+++ b/cps-rest/docs/openapi/cpsAdmin.yml
@@ -1,6 +1,6 @@
# ============LICENSE_START=======================================================
# Copyright (c) 2021 Bell Canada.
-# Modifications Copyright (C) 2021-2022 Nordix Foundation
+# Modifications Copyright (C) 2021-2025 Nordix Foundation
# Modifications Copyright (C) 2022 TechMahindra Ltd.
# ================================================================================
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -230,3 +230,23 @@ adminDataspace:
$ref: 'components.yml#/components/responses/Forbidden'
'500':
$ref: 'components.yml#/components/responses/InternalServerError'
+
+adminCleanDataspace:
+ post:
+ description: Clean the dataspace (remove orphaned schema sets and modules)
+ tags:
+ - cps-admin
+ summary: Clean the dataspace
+ operationId: cleanDataspace
+ parameters:
+ - $ref: 'components.yml#/components/parameters/apiVersionInPath'
+ - $ref: 'components.yml#/components/parameters/dataspaceNameInPath'
+ 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/cpsAdminV2.yml b/cps-rest/docs/openapi/cpsAdminV2.yml
index e501ad8b15..af2572a1f0 100644
--- a/cps-rest/docs/openapi/cpsAdminV2.yml
+++ b/cps-rest/docs/openapi/cpsAdminV2.yml
@@ -1,5 +1,5 @@
# ============LICENSE_START=======================================================
-# Copyright (C) 2022 TechMahindra Ltd.
+# Copyright (C) 2022-2025 TechMahindra Ltd.
# ================================================================================
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -87,3 +87,75 @@ schemaSet:
$ref: 'components.yml#/components/responses/Conflict'
'500':
$ref: 'components.yml#/components/responses/InternalServerError'
+
+notificationSubscription:
+ get:
+ description: Get cps notification subscription
+ tags:
+ - cps-admin
+ summary: Get cps notification subscription
+ operationId: getNotificationSubscription
+ parameters:
+ - $ref: 'components.yml#/components/parameters/notificationSubscriptionXpathInQuery'
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: 'components.yml#/components/examples/NotificationSubscriptionsDataSample'
+ '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'
+ post:
+ description: Create cps notification subscription
+ tags:
+ - cps-admin
+ summary: Create cps notification subscription
+ operationId: createNotificationSubscription
+ parameters:
+ - $ref: 'components.yml#/components/parameters/notificationSubscriptionXpathInQuery'
+ requestBody:
+ required: true
+ content:
+ application/json:
+ schema:
+ type: object
+ examples:
+ dataSample:
+ $ref: 'components.yml#/components/examples/NotificationSubscriptionsDataSample'
+ 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'
+ delete:
+ description: Delete cps notification subscription
+ tags:
+ - cps-admin
+ summary: Delete cps notification subscription
+ operationId: deleteNotificationSubscription
+ parameters:
+ - $ref: 'components.yml#/components/parameters/notificationSubscriptionXpathInQuery'
+ 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' \ No newline at end of file
diff --git a/cps-rest/docs/openapi/cpsDataV2.yml b/cps-rest/docs/openapi/cpsDataV2.yml
index 999c5b2c19..7afda705f7 100644
--- a/cps-rest/docs/openapi/cpsDataV2.yml
+++ b/cps-rest/docs/openapi/cpsDataV2.yml
@@ -1,5 +1,5 @@
# ============LICENSE_START=======================================================
-# Copyright (c) 2022-2024 TechMahindra Ltd.
+# Copyright (c) 2022-2025 TechMahindra Ltd.
# ================================================================================
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -54,83 +54,3 @@ nodeByDataspaceAndAnchor:
'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/cpsDelta.yml b/cps-rest/docs/openapi/cpsDelta.yml
new file mode 100644
index 0000000000..67535ce832
--- /dev/null
+++ b/cps-rest/docs/openapi/cpsDelta.yml
@@ -0,0 +1,97 @@
+# ============LICENSE_START=======================================================
+# Copyright (c) 2025 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=========================================================
+
+delta:
+ get:
+ description: Get delta between two anchors within a given dataspace
+ tags:
+ - cps-delta
+ 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-delta
+ 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'
diff --git a/cps-rest/docs/openapi/openapi.yml b/cps-rest/docs/openapi/openapi.yml
index f4eab61875..747531b30e 100644
--- a/cps-rest/docs/openapi/openapi.yml
+++ b/cps-rest/docs/openapi/openapi.yml
@@ -1,8 +1,8 @@
# ============LICENSE_START=======================================================
-# Copyright (C) 2021-2024 Nordix Foundation
+# Copyright (C) 2021-2025 OpenInfra Foundation Europe. All rights reserved.
# Modifications Copyright (C) 2021 Pantheon.tech
# Modifications Copyright (C) 2021 Bell Canada.
-# Modifications Copyright (C) 2022-2024 TechMahindra Ltd.
+# Modifications Copyright (C) 2022-2025 TechMahindra Ltd.
# ================================================================================
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -23,7 +23,7 @@ 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.6.0"
+ version: "3.6.2"
contact:
name: ONAP
url: "https://onap.readthedocs.io"
@@ -34,16 +34,13 @@ info:
servers:
- url: /cps/api
-components:
- securitySchemes:
- basicAuth:
- type: http
- scheme: basic
tags:
- name: cps-admin
description: cps Admin
- name: cps-data
description: cps Data
+ - name: cps-delta
+ description: CPS Delta
paths:
/v1/dataspaces:
@@ -61,6 +58,9 @@ paths:
/{apiVersion}/admin/dataspaces/{dataspace-name}:
$ref: 'cpsAdmin.yml#/adminDataspace'
+ /{apiVersion}/admin/dataspaces/{dataspace-name}/actions/clean:
+ $ref: 'cpsAdmin.yml#/adminCleanDataspace'
+
/v1/dataspaces/{dataspace-name}/anchors:
$ref: 'cpsAdminV1Deprecated.yml#/anchorsByDataspace'
@@ -101,7 +101,7 @@ paths:
$ref: 'cpsData.yml#/listElementByDataspaceAndAnchor'
/v2/dataspaces/{dataspace-name}/anchors/{source-anchor-name}/delta:
- $ref: 'cpsDataV2.yml#/delta'
+ $ref: 'cpsDelta.yml#/delta'
/v1/dataspaces/{dataspace-name}/anchors/{anchor-name}/nodes/query:
$ref: 'cpsQueryV1Deprecated.yml#/nodesByDataspaceAndAnchorAndCpsPath'
@@ -112,5 +112,5 @@ paths:
/v2/dataspaces/{dataspace-name}/nodes/query:
$ref: 'cpsQueryV2.yml#/nodesByDataspaceAndCpsPath'
-security:
- - basicAuth: []
+ /v2/notification-subscription:
+ $ref: 'cpsAdminV2.yml#/notificationSubscription'