# ============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: Chapters 1 SciFi 2 kids 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: {}