Merge "Chsnge to OpenApi 3.0"
[cps.git] / cps-rest / docs / openapi / openapi.yml
index 3c0cc09..4bbf9f0 100644 (file)
@@ -1,4 +1,25 @@
-openapi: 3.0.1
+#  ============LICENSE_START=======================================================
+#  Copyright (C) 2021-2023 Nordix Foundation
+#  Modifications Copyright (C) 2021 Pantheon.tech
+#  Modifications Copyright (C) 2021 Bell Canada.
+#  Modifications 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=========================================================
+
+openapi: 3.0.3
 info:
   title: ONAP Open API v3 Configuration Persistence Service
   description: Configuration Persistence Service is a Model Driven Generic Database
@@ -16,43 +37,81 @@ info:
       url: "cps_logo.png"
 
 servers:
-  - url: //localhost:8088
+  - url: /cps/api
+components:
+  securitySchemes:
+    basicAuth:
+      type: http
+      scheme: basic
 tags:
   - name: cps-admin
     description: cps Admin
   - name: cps-data
-    description: cps Data 
+    description: cps Data
 paths:
 
   /v1/dataspaces:
+    $ref: 'cpsAdminV1Deprecated.yml#/dataspaces'
+
+  /{apiVersion}/dataspaces:
     $ref: 'cpsAdmin.yml#/dataspaces'
 
-  /v1/dataspaces/{dataspace-name}:
-    $ref: 'cpsAdmin.yml#/dataspaceByDataspaceName'
+  /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'
 
-  /v1/dataspaces/{dataspace-name}/anchors/{anchor-name}:
+  /{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'
 
-  /v1/dataspaces/{dataspace-name}/schema-sets/{schema-set-name}:
+  /{apiVersion}/dataspaces/{dataspace-name}/schema-sets/{schema-set-name}:
     $ref: 'cpsAdmin.yml#/schemaSetBySchemaSetName'
 
   /v1/dataspaces/{dataspace-name}/anchors/{anchor-name}/node:
-    $ref: 'cpsData.yml#/nodeByDataspaceAndAnchor'
+    $ref: 'cpsDataV1Deprecated.yml#/nodeByDataspaceAndAnchor'
+
+  /v2/dataspaces/{dataspace-name}/anchors/{anchor-name}/node:
+    $ref: 'cpsDataV2.yml#/nodeByDataspaceAndAnchor'
 
-  /v1/dataspaces/{dataspace-name}/anchors/{anchor-name}/nodes:
+  /{apiVersion}/dataspaces/{dataspace-name}/anchors/{anchor-name}/nodes:
     $ref: 'cpsData.yml#/nodesByDataspaceAndAnchor'
 
-  /v1/dataspaces/{dataspace-name}/anchors/{anchor-name}/list-node:
-    $ref: 'cpsData.yml#/listNodeByDataspaceAndAnchor'
+  /v1/dataspaces/{dataspace-name}/anchors/{anchor-name}/list-nodes:
+    $ref: 'cpsDataV1Deprecated.yml#/listElementByDataspaceAndAnchor'
 
-  /v1/dataspaces/{dataspace-name}/nodes:
-    $ref: 'cpsData.yml#/nodesByDataspace'
+  /{apiVersion}/dataspaces/{dataspace-name}/anchors/{anchor-name}/list-nodes:
+    $ref: 'cpsData.yml#/listElementByDataspaceAndAnchor'
 
   /v1/dataspaces/{dataspace-name}/anchors/{anchor-name}/nodes/query:
-    $ref: 'cpsQuery.yml#/nodesByDataspaceAndAnchorAndCpsPath'
\ No newline at end of file
+    $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: []