diff options
Diffstat (limited to 'docs')
-rw-r--r-- | docs/api/swagger/openapi.yaml | 464 | ||||
-rw-r--r-- | docs/design.rst | 2 | ||||
-rw-r--r-- | docs/openapi/components.yml | 202 | ||||
-rw-r--r-- | docs/openapi/openapi.yml | 211 |
4 files changed, 465 insertions, 414 deletions
diff --git a/docs/api/swagger/openapi.yaml b/docs/api/swagger/openapi.yaml new file mode 100644 index 00000000..750091b4 --- /dev/null +++ b/docs/api/swagger/openapi.yaml @@ -0,0 +1,464 @@ +openapi: 3.0.1 +info: + title: NCMP DMI Plugin + description: Adds Data Model Inventory Registry capability for ONAP + version: 1.0.0 +servers: +- url: /dmi +tags: +- name: dmi-plugin-internal + description: DMI plugin internal rest apis +- name: dmi-plugin + description: DMI plugin rest apis +paths: + /v1/ch/{cmHandle}/modules: + post: + tags: + - dmi-plugin + summary: Get all modules for cm handle + description: Get all modules for given cm handle + operationId: getModuleReferences + parameters: + - name: cmHandle + in: path + description: The cm handle to fetch all the modules + required: true + style: simple + explode: false + schema: + type: string + requestBody: + description: Operational body + content: + application/json: + schema: + $ref: '#/components/schemas/ModuleReferencesRequest' + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/ModuleSet' + "400": + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + "403": + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + /v1/inventory/cmHandles: + post: + tags: + - dmi-plugin-internal + summary: register given list of cm handles (internal use only) + description: register given list of cm handles (internal use only) + operationId: registerCmHandles + requestBody: + description: list of cm handles + content: + application/json: + schema: + $ref: '#/components/schemas/CmHandles' + required: true + responses: + "201": + description: Created + content: + text/plain: + schema: + type: string + "400": + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + "403": + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + x-api-audience: component-internal + /v1/ch/{cmHandle}/moduleResources: + post: + tags: + - dmi-plugin + summary: Retrieve module resources + description: Retrieve module resources for one or more modules + operationId: retrieveModuleResources + parameters: + - name: cmHandle + 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 + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ModuleResourcesReadRequest' + required: true + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/YangResources' + "400": + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + "403": + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + /v1/ch/{cmHandle}/data/ds/ncmp-datastore:passthrough-operational: + put: + tags: + - dmi-plugin + summary: Get resource data from passthrough-operational for cm handle + description: Get resource data from passthrough-operational for cm handle + operationId: getResourceDataOperationalForCmHandle + parameters: + - name: cmHandle + 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 + - name: resourceIdentifier + in: query + description: Resource identifier to get/set the resource data + required: true + allowReserved: true + schema: + type: string + - name: accept + in: header + 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 + - name: options + in: query + description: options parameter in query, it is mandatory to wrap key(s)=value(s) + in parenthesis'()'. + required: false + allowReserved: true + schema: + type: string + 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]) + requestBody: + description: Operational body + content: + application/json: + schema: + $ref: '#/components/schemas/DataAccessReadRequest' + responses: + "200": + description: OK + content: + application/json: + schema: + type: object + "400": + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + "403": + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + /v1/ch/{cmHandle}/data/ds/ncmp-datastore:passthrough-running: + put: + tags: + - dmi-plugin + summary: Get resource data from passthrough-running for cm handle + description: Get resource data from passthrough-running for cm handle + operationId: getResourceDataPassthroughRunningForCmHandle + parameters: + - name: cmHandle + 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 + - name: resourceIdentifier + in: query + description: Resource identifier to get/set the resource data + required: true + allowReserved: true + schema: + type: string + - name: accept + in: header + 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 + - name: options + in: query + description: options parameter in query, it is mandatory to wrap key(s)=value(s) + in parenthesis'()'. + required: false + allowReserved: true + schema: + type: string + 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]) + requestBody: + description: Operational body + content: + application/json: + schema: + $ref: '#/components/schemas/DataAccessReadRequest' + responses: + "200": + description: OK + content: + application/json: + schema: + type: object + "400": + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + "403": + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + post: + tags: + - dmi-plugin + summary: Write data for a cmHandle + description: Write data for a cmHandle using passthrough-running + operationId: writeDataByPassthroughRunningForCmHandle + parameters: + - name: cmHandle + 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 + - name: resourceIdentifier + in: query + description: Resource identifier to get/set the resource data + required: true + allowReserved: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DataAccessWriteRequest' + required: true + responses: + "201": + description: Created + content: + text/plain: + schema: + type: string + "400": + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + "403": + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' +components: + schemas: + ModuleReferencesRequest: + type: object + properties: + cmHandleProperties: + $ref: '#/components/schemas/cmHandleProperties' + cmHandleProperties: + type: object + additionalProperties: + type: string + example: '{"prop1":"value1","prop2":"value2"}' + ModuleSet: + type: object + properties: + schemas: + type: array + items: + $ref: '#/components/schemas/ModuleSet_schemas' + revision: + type: string + example: someRevision + ErrorMessage: + title: Error + type: object + properties: + status: + type: string + message: + type: string + details: + type: string + CmHandles: + type: object + properties: + cmHandles: + type: array + items: + type: string + ModuleResourcesReadRequest: + type: object + properties: + data: + $ref: '#/components/schemas/ModuleResourcesReadRequest_data' + cmHandleProperties: + $ref: '#/components/schemas/cmHandleProperties' + name: + type: string + example: someName + YangResources: + type: array + items: + $ref: '#/components/schemas/YangResource' + YangResource: + properties: + yangSource: + type: string + moduleName: + type: string + revision: + $ref: '#/components/schemas/revision' + DataAccessReadRequest: + type: object + properties: + operation: + type: string + enum: + - read + cmHandleProperties: + $ref: '#/components/schemas/cmHandleProperties' + DataAccessWriteRequest: + type: object + properties: + operation: + type: string + enum: + - create + dataType: + type: string + data: + type: string + cmHandleProperties: + $ref: '#/components/schemas/cmHandleProperties' + ModuleSet_schemas: + type: object + properties: + moduleName: + type: string + revision: + $ref: '#/components/schemas/revision' + namespace: + type: string + ModuleResourcesReadRequest_data_modules: + type: object + properties: + name: + $ref: '#/components/schemas/name' + revision: + $ref: '#/components/schemas/revision' + ModuleResourcesReadRequest_data: + type: object + properties: + modules: + type: array + items: + $ref: '#/components/schemas/ModuleResourcesReadRequest_data_modules' diff --git a/docs/design.rst b/docs/design.rst index d0d4b87f..9326fd3d 100644 --- a/docs/design.rst +++ b/docs/design.rst @@ -17,7 +17,7 @@ Offered APIs The DMI-Plugin supports the public APIs listed in the link below: -:download:`DMI Rest OpenApi Specification <openapi/openapi.yaml>` +:download:`DMI Rest OpenApi Specification <api/swagger/openapi.yaml>` View Offered APIs ----------------- diff --git a/docs/openapi/components.yml b/docs/openapi/components.yml deleted file mode 100644 index 30e5987f..00000000 --- a/docs/openapi/components.yml +++ /dev/null @@ -1,202 +0,0 @@ -components: - schemas: - ErrorMessage: - type: object - title: Error - properties: - status: - type: string - message: - type: string - details: - type: string - - CmHandles: - type: object - properties: - cmHandles: - type: array - items: - type: string - - ModuleReferencesRequest: - type: object - properties: - cmHandleProperties: - $ref: '#/components/schemas/cmHandleProperties' - - ModuleResourcesReadRequest: - type: object - properties: - data: - type: object - properties: - modules: - type: array - items: - type: object - properties: - name: - $ref: '#/components/schemas/name' - revision: - $ref: '#/components/schemas/revision' - cmHandleProperties: - $ref: '#/components/schemas/cmHandleProperties' - - ModuleSet: - type: object - properties: - schemas: - type: array - items: - type: object - properties: - moduleName: - type: string - revision: - $ref: '#/components/schemas/revision' - namespace: - type: string - - YangResources: - type: array - items: - type: object - $ref: '#/components/schemas/YangResource' - - YangResource: - properties: - yangSource: - type: string - moduleName: - type: string - revision: - $ref: '#/components/schemas/revision' - - DataAccessReadRequest: - type: object - properties: - operation: - type: string - enum: [ read ] - cmHandleProperties: - $ref: '#/components/schemas/cmHandleProperties' - - DataAccessWriteRequest: - type: object - properties: - operation: - type: string - enum: [ create ] - dataType: - type: string - data: - type: string - cmHandleProperties: - $ref: '#/components/schemas/cmHandleProperties' - - cmHandleProperties: - type: object - additionalProperties: - type: string - example: {"prop1":"value1","prop2":"value2"} - - name: - type: string - example: someName - - revision: - type: string - example: someRevision - - 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' - Ok: - description: OK - content: - application/json: - schema: - type: object - Created: - description: Created - content: - text/plain: - schema: - type: string - NoContent: - description: No Content - content: {} - - parameters: - cmHandleInPath: - name: cmHandle - 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 - - resourceIdentifierInQuery: - name: resourceIdentifier - in: query - description: Resource identifier to get/set the resource data - required: true - allowReserved: true - schema: - type: string - - acceptParamInHeader: - name: accept - in: header - 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])
\ No newline at end of file diff --git a/docs/openapi/openapi.yml b/docs/openapi/openapi.yml deleted file mode 100644 index 83c05abb..00000000 --- a/docs/openapi/openapi.yml +++ /dev/null @@ -1,211 +0,0 @@ -# ============LICENSE_START======================================================= -# Copyright (C) 2021 Nordix Foundation -# ================================================================================ -# 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========================================================= - -openapi: 3.0.1 -info: - title: NCMP DMI Plugin - description: Adds Data Model Inventory Registry capability for ONAP - version: "1.0.0" -servers: - - url: //localhost:8088/ -tags: - - name: dmi-plugin-internal - description: DMI plugin internal rest apis - - name: dmi-plugin - description: DMI plugin rest apis - - -paths: - /v1/ch/{cmHandle}/modules: - post: - tags: - - dmi-plugin - summary: Get all modules for cm handle - description: Get all modules for given cm handle - operationId: getModuleReferences - parameters: - - name: cmHandle - in: path - description: The cm handle to fetch all the modules - required: true - schema: - type: string - requestBody: - description: Operational body - content: - application/json: - schema: - $ref: 'components.yml#/components/schemas/ModuleReferencesRequest' - responses: - '200': - description: OK - content: - application/json: - schema: - $ref: 'components.yml#/components/schemas/ModuleSet' - example: { - "schemas": [ - { - "moduleName": "example-identifier", - "revision": "example-version", - "namespace": "example-namespace" - } - ] - } - '400': - $ref: 'components.yml#/components/responses/BadRequest' - '401': - $ref: 'components.yml#/components/responses/Unauthorized' - '403': - $ref: 'components.yml#/components/responses/Forbidden' - - /v1/inventory/cmHandles: - post: - tags: - - dmi-plugin-internal - summary: register given list of cm handles (internal use only) - description: register given list of cm handles (internal use only) - x-api-audience: component-internal - operationId: registerCmHandles - requestBody: - description: list of cm handles - content: - application/json: - schema: - $ref: 'components.yml#/components/schemas/CmHandles' - required: true - responses: - '201': - $ref: 'components.yml#/components/responses/Created' - '400': - $ref: 'components.yml#/components/responses/BadRequest' - '401': - $ref: 'components.yml#/components/responses/Unauthorized' - '403': - $ref: 'components.yml#/components/responses/Forbidden' - - /v1/ch/{cmHandle}/moduleResources: - post: - description: Retrieve module resources for one or more modules - tags: - - dmi-plugin - summary: Retrieve module resources - operationId: retrieveModuleResources - parameters: - - $ref: 'components.yml#/components/parameters/cmHandleInPath' - requestBody: - required: true - content: - application/json: - schema: - $ref: 'components.yml#/components/schemas/ModuleResourcesReadRequest' - responses: - '200': - description: OK - content: - application/json: - schema: - $ref: 'components.yml#/components/schemas/YangResources' - '400': - $ref: 'components.yml#/components/responses/BadRequest' - '401': - $ref: 'components.yml#/components/responses/Unauthorized' - '403': - $ref: 'components.yml#/components/responses/Forbidden' - - /v1/ch/{cmHandle}/data/ds/ncmp-datastore:passthrough-operational: - put: - tags: - - dmi-plugin - summary: Get resource data from passthrough-operational for cm handle - description: Get resource data from passthrough-operational for cm handle - operationId: getResourceDataOperationalForCmHandle - parameters: - - $ref: 'components.yml#/components/parameters/cmHandleInPath' - - $ref: 'components.yml#/components/parameters/resourceIdentifierInQuery' - - $ref: 'components.yml#/components/parameters/acceptParamInHeader' - - $ref: 'components.yml#/components/parameters/optionsParamInQuery' - requestBody: - description: Operational body - content: - application/json: - schema: - $ref: 'components.yml#/components/schemas/DataAccessReadRequest' - responses: - '200': - $ref: 'components.yml#/components/responses/Ok' - '400': - $ref: 'components.yml#/components/responses/BadRequest' - '401': - $ref: 'components.yml#/components/responses/Unauthorized' - '403': - $ref: 'components.yml#/components/responses/Forbidden' - - /v1/ch/{cmHandle}/data/ds/ncmp-datastore:passthrough-running: - put: - tags: - - dmi-plugin - summary: Get resource data from passthrough-running for cm handle - description: Get resource data from passthrough-running for cm handle - operationId: getResourceDataPassthroughRunningForCmHandle - parameters: - - $ref: 'components.yml#/components/parameters/cmHandleInPath' - - $ref: 'components.yml#/components/parameters/resourceIdentifierInQuery' - - $ref: 'components.yml#/components/parameters/acceptParamInHeader' - - $ref: 'components.yml#/components/parameters/optionsParamInQuery' - requestBody: - description: Operational body - content: - application/json: - schema: - $ref: 'components.yml#/components/schemas/DataAccessReadRequest' - responses: - '200': - $ref: 'components.yml#/components/responses/Ok' - '400': - $ref: 'components.yml#/components/responses/BadRequest' - '401': - $ref: 'components.yml#/components/responses/Unauthorized' - '403': - $ref: 'components.yml#/components/responses/Forbidden' - - post: - description: Write data for a cmHandle using passthrough-running - tags: - - dmi-plugin - summary: Write data for a cmHandle - operationId: writeDataByPassthroughRunningForCmHandle - parameters: - - $ref: 'components.yml#/components/parameters/cmHandleInPath' - - $ref: 'components.yml#/components/parameters/resourceIdentifierInQuery' - requestBody: - required: true - content: - application/json: - schema: - $ref: 'components.yml#/components/schemas/DataAccessWriteRequest' - responses: - '201': - $ref: 'components.yml#/components/responses/Created' - '400': - $ref: 'components.yml#/components/responses/BadRequest' - '401': - $ref: 'components.yml#/components/responses/Unauthorized' - '403': - $ref: 'components.yml#/components/responses/Forbidden' - |