| # ============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: {} |