#  ============LICENSE_START=======================================================
#  Copyright (C) 2021 Nordix Foundation
#  Modifications Copyright (C) 2021 Pantheon.tech
#  Modifications Copyright (C) 2021 Bell Canada.
#  ================================================================================
#  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.1
info:
  title: ONAP Open API v3 Configuration Persistence Service
  description: Configuration Persistence Service is a Model Driven Generic Database
  version: "1.0.0"
  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"
  x-planned-retirement-date: "202212"
  x-component: "Modeling"
  x-logo:
      url: "cps_logo.png"

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: 'cpsAdmin.yml#/dataspaces'

  /v1/dataspaces/{dataspace-name}/anchors:
    $ref: 'cpsAdmin.yml#/anchorsByDataspace'

  /v1/dataspaces/{dataspace-name}/anchors/{anchor-name}:
    $ref: 'cpsAdmin.yml#/anchorByDataspaceAndAnchorName'

  /v1/dataspaces/{dataspace-name}/schema-sets:
    $ref: 'cpsAdmin.yml#/schemaSet'

  /v1/dataspaces/{dataspace-name}/schema-sets/{schema-set-name}:
    $ref: 'cpsAdmin.yml#/schemaSetBySchemaSetName'

  /v1/dataspaces/{dataspace-name}/anchors/{anchor-name}/node:
    $ref: 'cpsData.yml#/nodeByDataspaceAndAnchor'

  /v1/dataspaces/{dataspace-name}/anchors/{anchor-name}/nodes:
    $ref: 'cpsData.yml#/nodesByDataspaceAndAnchor'

  /v1/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'

security:
  - basicAuth: []