summaryrefslogtreecommitdiffstats
path: root/docs
diff options
context:
space:
mode:
authorRenu Kumari <renu.kumari@bell.ca>2021-10-12 13:41:01 -0400
committerRenu Kumari <renu.kumari@bell.ca>2021-10-12 13:44:22 -0400
commit3aea57e78651eabe954a2cfb9b2c85289295806f (patch)
tree5160bfe12e74790fa43c9e1bfaf38e85fb64953f /docs
parent73e2c15554f094fc303c0d691472b4977c0398e2 (diff)
Provide complete openapi.yml in read the docs
- Seperate openapi.yml for code gen and read the docs - Added few env varaibles in docker-compose.yml Issue-ID: CPS-733 Signed-off-by: Renu Kumari <renu.kumari@bell.ca> Change-Id: Ibda007c40396436a5adce137d9f69806100253dc
Diffstat (limited to 'docs')
-rw-r--r--docs/api/swagger/openapi.yaml464
-rw-r--r--docs/design.rst2
-rw-r--r--docs/openapi/components.yml202
-rw-r--r--docs/openapi/openapi.yml211
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'
-