# ============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 dmiDataPlugin: type: string example: onap-dmi-data-plugin dmiModelPlugin: type: string example: onap-dmi-model-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: {}