blob: 25ef6a452afdc531a8cc6aad713e841a54080144 [file] [log] [blame]
# ============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:
<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>
<code>2</code>
<name>kids</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
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: {}