blob: 7c9e1e837ed133bc655af4ae3b808860f6565758 [file] [log] [blame]
# ============LICENSE_START=======================================================
# Copyright (C) 2021 Nordix Foundation
# Modifications Copyright (C) 2021 Pantheon.tech
# ================================================================================
# 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:
# Common Schemas
ErrorMessage:
type: object
title: Error
properties:
status:
type: string
message:
type: string
details:
type: string
# Request Schemas
RestDmiPluginRegistration:
type: object
properties:
dmiPlugin:
type: string
example: onap-dmi-plugin
createdCmHandles:
type: array
items:
$ref: '#/components/schemas/RestCmHandle'
updatedCmHandles:
type: array
items:
$ref: '#/components/schemas/RestCmHandle'
removedCmHandles:
type: array
items:
type: string
RestCmHandle:
required:
- cmHandle
type: object
properties:
cmHandle:
type: string
example: cmHandle123
cmHandleProperties:
$ref: '#/components/schemas/RestCmHandleAdditionalProperties'
RestCmHandleAdditionalProperties:
type: object
additionalProperties:
type: string
example: system-001
Conditions:
type: object
properties:
conditions:
$ref: '#/components/schemas/ConditionsData'
ConditionsData:
type: array
items:
type: object
$ref: '#/components/schemas/ConditionProperties'
ConditionProperties:
properties:
name:
type: string
example: hasAllModules
conditionParameters:
$ref: '#/components/schemas/ModuleNamesAsJsonArray'
ModuleNamesAsJsonArray:
type: array
items:
type: object
$ref: '#/components/schemas/ModuleNameAsJsonObject'
ModuleNameAsJsonObject:
properties:
moduleName:
type: string
example: someModuleName
#Response Schemas
CmHandles:
type: object
properties:
cmHandles:
$ref: '#/components/schemas/CmHandleProperties'
CmHandleProperties:
type: array
items:
type: object
$ref: '#/components/schemas/CmHandleProperty'
CmHandleProperty:
properties:
cmHandleId:
type: string
example: someCmHandleId
parameters:
cmHandleInPath:
name: cm-handle
in: path
description: The identifier for a network function, network element, subnetwork or any other cm object by managed Network CM Proxy
required: true
schema:
type: string
xpathInQuery:
name: xpath
in: query
description: xpath
required: false
schema:
type: string
default: /
requiredXpathInQuery:
name: xpath
in: query
description: xpath
required: true
schema:
type: string
includeDescendantsOptionInQuery:
name: include-descendants
in: query
description: include-descendants
required: false
schema:
type: boolean
default: false
cpsPathInQuery:
name: cps-path
in: query
description: cps-path
required: false
schema:
type: string
default: /
resourceIdentifierInQuery:
name: resourceIdentifier
in: query
description: The format of resource identifier depend on the associated DMI Plugin implementation. For ONAP DMI Plugin it will be RESTConf paths but it can really be anything.
required: true
allowReserved: true
schema:
type: string
examples:
sample1:
value:
resourceIdentifier: \parent\child
sample2:
value:
resourceIdentifier: \parent\listElement[key=value]
sample3:
value:
resourceIdentifier: \parent\listElement[key=value]\grandChild
sample4:
value:
resourceIdentifier: parent=1,child=abc
acceptParamInHeader:
name: Accept
in: header
required: false
description: Accept parameter for response, if accept parameter is null, that means client can accept any format.
schema:
type: string
enum: [ application/json, application/yang-data+json ]
optionsParamInQuery:
name: options
in: query
description: options parameter in query, it is mandatory to wrap key(s)=value(s) in parenthesis'()'.
required: false
schema:
type: string
allowReserved: true
examples:
sample1:
value:
options: (key1=value1,key2=value2)
sample2:
value:
options: (key1=value1,key2=value1/value2)
sample3:
value:
options: (key1=10,key2=value2,key3=[val31;val32])
contentParamInHeader:
name: Content-Type
in: header
required: false
description: Content parameter for request, if content parameter is null, default value is application/json.
schema:
type: string
default: application/json
responses:
NotFound:
description: The specified resource was not found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorMessage'
Unauthorized:
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorMessage'
Forbidden:
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorMessage'
BadRequest:
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorMessage'
Conflict:
description: Conflict
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorMessage'
NotImplemented:
description: The given path has not been implemented
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorMessage'
Ok:
description: OK
content:
application/json:
schema:
type: object
Created:
description: Created
content: {}
NoContent:
description: No Content
content: {}