+# ============LICENSE_START=======================================================
+# Copyright (c) 2021-2022 Bell Canada.
+# Modifications Copyright (C) 2021-2022 Nordix Foundation
+# Modifications Copyright (C) 2022-2023 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:
properties:
name:
type: string
- example: my_anchor
+ example: my-anchor
dataspaceName:
type: string
- example: my_dataspace
+ example: my-dataspace
schemaSetName:
type: string
- example: my_schema_set
+ example: my-schema-set
+
+ DataspaceDetails:
+ type: object
+ title: Dataspace details by dataspace Name
+ properties:
+ name:
+ type: string
+ example: my-dataspace
ErrorMessage:
type: object
properties:
status:
type: string
- example: 400
message:
type: string
- example: Dataspace not found
details:
type: string
- example: Dataspace with name D1 does not exist.
MultipartFile:
+ type: object
required:
- file
properties:
- multipartFile:
+ file:
type: string
description: multipartFile
format: binary
- example: http://example.com/examples/example.yang
+ example: 'https://github.com/onap/cps/blob/master/cps-service/src/test/resources/bookstore.yang'
ModuleReferences:
type: object
properties:
name:
type: string
- example: module_reference_name
+ example: my-module-reference-name
namespace:
type: string
- example: module_reference_namespace
+ example: my-module-reference-namespace
revision:
type: string
- example: module_reference_revision
+ 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
+ example: my-dataspace
moduleReferences:
type: array
items:
$ref: '#/components/schemas/ModuleReferences'
name:
type: string
- example: my_schema_set
+ 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>
+ </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
parameters:
dataspaceNameInQuery:
required: true
schema:
type: string
+ example: my-dataspace
dataspaceNameInPath:
name: dataspace-name
in: path
required: true
schema:
type: string
+ example: my-dataspace
anchorNameInPath:
name: anchor-name
in: path
required: true
schema:
type: string
+ example: my-anchor
schemaSetNameInQuery:
name: schema-set-name
in: query
required: true
schema:
type: string
+ example: my-schema-set
schemaSetNameInPath:
name: schema-set-name
in: path
required: true
schema:
type: string
+ example: my-schema-set
anchorNameInQuery:
name: anchor-name
in: query
required: true
schema:
type: string
+ example: my-anchor
xpathInQuery:
name: xpath
in: query
- description: xpath
+ 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: xpath
+ 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: cps-path
+ 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
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
+ contentTypeHeader:
+ name: Content-Type
+ in: header
+ description: Content type 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:
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:
text/plain:
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: {}