diff options
Diffstat (limited to 'docs')
-rw-r--r-- | docs/_static/cps-r9-ncmp-dmi-plugin-interface-diagram.png | bin | 0 -> 24561 bytes | |||
-rw-r--r-- | docs/admin-guide.rst | 12 | ||||
-rw-r--r-- | docs/architecture.rst | 39 | ||||
-rw-r--r-- | docs/design.rst | 24 | ||||
-rw-r--r-- | docs/index.rst | 17 | ||||
-rw-r--r-- | docs/modeling.rst | 10 | ||||
-rw-r--r-- | docs/openapi/components.yml | 79 | ||||
-rw-r--r-- | docs/openapi/openapi.yml | 22 |
8 files changed, 116 insertions, 87 deletions
diff --git a/docs/_static/cps-r9-ncmp-dmi-plugin-interface-diagram.png b/docs/_static/cps-r9-ncmp-dmi-plugin-interface-diagram.png Binary files differnew file mode 100644 index 00000000..6c5903d2 --- /dev/null +++ b/docs/_static/cps-r9-ncmp-dmi-plugin-interface-diagram.png diff --git a/docs/admin-guide.rst b/docs/admin-guide.rst new file mode 100644 index 00000000..787e931b --- /dev/null +++ b/docs/admin-guide.rst @@ -0,0 +1,12 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International License. +.. http://creativecommons.org/licenses/by/4.0 +.. Copyright (C) 2021 Nordix Foundation + +.. DO NOT CHANGE THIS LABEL FOR RELEASE NOTES - EVEN THOUGH IT GIVES A WARNING +.. _adminGuide: + + +DMI-Plugin Admin Guide +###################### + +For DMI-Plugin Admin Guide, please refer to the `CPS Admin Guide. <https://docs.onap.org/projects/onap-cps/en/latest/admin-guide.html>`_
\ No newline at end of file diff --git a/docs/architecture.rst b/docs/architecture.rst index 65125764..65e10d45 100644 --- a/docs/architecture.rst +++ b/docs/architecture.rst @@ -6,8 +6,6 @@ DMI Plugin Architecture ####################### -.. warning:: draft - .. toctree:: :maxdepth: 1 @@ -15,14 +13,9 @@ DMI Plugin Architecture High Level Component Definition and Architectural Relationships =============================================================== -The DMI plugin provides a gateway for registration of CM Handles within CPS - -Project implementation proposal page describing scope is here: -`CPS-390 Spike: Define and Agree DMI Plugin REST Interface <https://wiki.onap.org/display/DW/CPS-390+Spike%3A+Define+and+Agree+DMI+Plugin+REST+Interface>`_ +The DMI plugin provides a gateway for registration and syncing of CM Handles within CPS. -This page reflects the state for Istanbul-R9 release. - -.. image:: _static/dmi-plugin-r9-arch-diagram.PNG +.. image:: _static/cps-r9-ncmp-dmi-plugin-interface-diagram.png API definitions =============== @@ -30,11 +23,33 @@ API definitions The DMI plugin provides following interfaces. .. list-table:: - :header-rows: 0 + :header-rows: 1 * - Interface name - Interface definition - Interface capabilities - Protocol - -The DMI plugin Basic Concepts are described in :doc:`modeling`. + * - CPS-E-05 + - Provides external clients with xNF data access and module information + - - Create data + - Delete data + - Update data + - Read data + - Query data + - Query module references + - REST + * - CPS-NCMP-I-01 + - DMI Plugin Inventory + - - Register Plug-in CM-Handles + - REST + * - DMI-I-01 + - Provides NCMP with xNF data access and module information + - - Create data + - Delete data + - Update data + - Read data + - Query data + - Query module references + - REST + +More details on the CPS interface CPS-E-05 which is responsible for the DMI Plugin can be found on the `CPS Architecture Page <https://docs.onap.org/projects/onap-cps/en/latest/architecture.html>`_.
\ No newline at end of file diff --git a/docs/design.rst b/docs/design.rst index e65c5aed..708feeb3 100644 --- a/docs/design.rst +++ b/docs/design.rst @@ -9,8 +9,6 @@ DMI Plugin Design ################# -.. warning:: draft - .. toctree:: :maxdepth: 1 @@ -19,10 +17,10 @@ Offered APIs The DMI Plugin supports the public APIs listed in the link below: -:download:`DMI Rest OpenApi Specification <openapi/openapi.yml>` +:download:`DMI Rest OpenApi Specification <openapi/openapi.yaml>` -Exposed API ------------ +View Offered APIs +----------------- The standard for API definition in the RESTful API world is the OpenAPI Specification (OAS). The OAS 3, which is based on the original "Swagger Specification", is being widely used in API developments. @@ -31,10 +29,16 @@ Specification can be accessed using following URI: .. code-block:: bash - “http://<hostname>:<port>/v3/api-docs?group=dmi-plugin-docket” + http://<hostname>:<port>/v3/api-docs?group=dmi-plugin-docket + +Additionally, the Swagger User Interface can be found at the following URI. The component may be changed between CPS-Core +and CPS-NCMP using the drop down table in the top right: + +.. code-block:: bash + + http://<hostname>:<port>/swagger-ui/index.html?configUrl=/v3/api-docs/swagger-config#/ -DMI Plugin CM Handles -===================== +Consumed APIs +============= -Several DMI Plugin APIs use the cm-handle parameter. -The DMI Plugin CM Handles are described in detail in :doc:`dmi-plugin-cm-handle`. +- SDNC: REST based interface exposed by the SDNC client. This is used to retrieve the yang resources and modules for CPS. diff --git a/docs/index.rst b/docs/index.rst index 54da6148..7d1fcf37 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -8,34 +8,27 @@ .. THIS IS USED INTERNALLY IN CPS ONLY .. _dmi-framework-doc: -DMI Plugin Documentation for the Istanbul-R9 Release +DMI-Plugin Documentation for the Istanbul-R9 Release ---------------------------------------------------- -.. warning:: draft - .. toctree:: :maxdepth: 1 overview.rst architecture.rst + admin-guide.rst design.rst modeling.rst deployment.rst release-notes.rst -CPS-Core Documentation for the Istanbul-R9 Release +CPS-NCMP Documentation for the Istanbul-R9 Release --------------------------------------------------------- -.. toctree:: - :maxdepth: 3 - -* `CPS Core(placeholder) `_ +* `CPS-NCMP <https://docs.onap.org/projects/onap-cps/en/latest/index.html>`_ CPS-Temporal Documentation for the Istanbul-R9 Release ------------------------------------------------------ -.. toctree:: - :maxdepth: 1 - -* `CPS Temporal(placeholder) `_
\ No newline at end of file +* `CPS-Temporal <https://docs.onap.org/projects/onap-cps-cps-temporal/en/latest/index.html>`_ diff --git a/docs/modeling.rst b/docs/modeling.rst index 63f25b7c..fdfcef06 100644 --- a/docs/modeling.rst +++ b/docs/modeling.rst @@ -6,13 +6,9 @@ DMI Plugin Modeling ################### -.. warning:: draft - .. toctree:: :maxdepth: 1 -Basic Concepts -============== - -.. image:: _static/dmi-plugin-modeling-concepts.png - :alt: Basic entities relationship +The DMI Plugin acts as a proxy and as such does not have its own data model. For more information on the data which +is passed through the DMI Plugin, please refer to the `NCMP Modeling Section <https://docs.onap.org/projects/onap-cps/en/latest/modeling.html#ncmp-modeling>`_ +of the `CPS Modeling Page <https://docs.onap.org/projects/onap-cps/en/latest/modeling.html>`_. diff --git a/docs/openapi/components.yml b/docs/openapi/components.yml index 9cce52de..30e5987f 100644 --- a/docs/openapi/components.yml +++ b/docs/openapi/components.yml @@ -19,14 +19,15 @@ components: items: type: string - DmiModuleReadRequestBody: + ModuleReferencesRequest: + type: object + properties: + cmHandleProperties: + $ref: '#/components/schemas/cmHandleProperties' + + ModuleResourcesReadRequest: type: object properties: - operation: - type: string - enum: [read] - dataType: - type: string data: type: object properties: @@ -36,14 +37,11 @@ components: type: object properties: name: - type: string + $ref: '#/components/schemas/name' revision: - type: string + $ref: '#/components/schemas/revision' cmHandleProperties: - type: object - additionalProperties: - type: string - example: system-001 + $ref: '#/components/schemas/cmHandleProperties' ModuleSet: type: object @@ -56,7 +54,7 @@ components: moduleName: type: string revision: - type: string + $ref: '#/components/schemas/revision' namespace: type: string @@ -73,7 +71,7 @@ components: moduleName: type: string revision: - type: string + $ref: '#/components/schemas/revision' DataAccessReadRequest: type: object @@ -82,9 +80,7 @@ components: type: string enum: [ read ] cmHandleProperties: - type: object - additionalProperties: - type: string + $ref: '#/components/schemas/cmHandleProperties' DataAccessWriteRequest: type: object @@ -97,9 +93,21 @@ components: data: type: string cmHandleProperties: - type: object - additionalProperties: - type: string + $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: @@ -157,11 +165,12 @@ components: schema: type: string - resourceIdentifierInPath: + resourceIdentifierInQuery: name: resourceIdentifier - in: path + in: query description: Resource identifier to get/set the resource data required: true + allowReserved: true schema: type: string @@ -173,19 +182,21 @@ components: type: string enum: [ application/json, application/yang-data+json ] - fieldsParamInQuery: - name: fields + optionsParamInQuery: + name: options in: query - description: Fields parameter to filter resource + description: options parameter in query, it is mandatory to wrap key(s)=value(s) in parenthesis'()'. required: false schema: type: string - - depthParamInQuery: - name: depth - in: query - description: Depth parameter for response - required: false - schema: - type: integer - minimum: 1
\ No newline at end of file + 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 index f66897a2..83c05abb 100644 --- a/docs/openapi/openapi.yml +++ b/docs/openapi/openapi.yml @@ -37,7 +37,7 @@ paths: - dmi-plugin summary: Get all modules for cm handle description: Get all modules for given cm handle - operationId: getModulesForCmHandle + operationId: getModuleReferences parameters: - name: cmHandle in: path @@ -50,7 +50,7 @@ paths: content: application/json: schema: - $ref: 'components.yml#/components/schemas/DataAccessReadRequest' + $ref: 'components.yml#/components/schemas/ModuleReferencesRequest' responses: '200': description: OK @@ -113,7 +113,7 @@ paths: content: application/json: schema: - $ref: 'components.yml#/components/schemas/DmiModuleReadRequestBody' + $ref: 'components.yml#/components/schemas/ModuleResourcesReadRequest' responses: '200': description: OK @@ -128,7 +128,7 @@ paths: '403': $ref: 'components.yml#/components/responses/Forbidden' - /v1/ch/{cmHandle}/data/ds/ncmp-datastore:passthrough-operational/{resourceIdentifier}: + /v1/ch/{cmHandle}/data/ds/ncmp-datastore:passthrough-operational: put: tags: - dmi-plugin @@ -137,10 +137,9 @@ paths: operationId: getResourceDataOperationalForCmHandle parameters: - $ref: 'components.yml#/components/parameters/cmHandleInPath' - - $ref: 'components.yml#/components/parameters/resourceIdentifierInPath' + - $ref: 'components.yml#/components/parameters/resourceIdentifierInQuery' - $ref: 'components.yml#/components/parameters/acceptParamInHeader' - - $ref: 'components.yml#/components/parameters/fieldsParamInQuery' - - $ref: 'components.yml#/components/parameters/depthParamInQuery' + - $ref: 'components.yml#/components/parameters/optionsParamInQuery' requestBody: description: Operational body content: @@ -157,7 +156,7 @@ paths: '403': $ref: 'components.yml#/components/responses/Forbidden' - /v1/ch/{cmHandle}/data/ds/ncmp-datastore:passthrough-running/{resourceIdentifier}: + /v1/ch/{cmHandle}/data/ds/ncmp-datastore:passthrough-running: put: tags: - dmi-plugin @@ -166,10 +165,9 @@ paths: operationId: getResourceDataPassthroughRunningForCmHandle parameters: - $ref: 'components.yml#/components/parameters/cmHandleInPath' - - $ref: 'components.yml#/components/parameters/resourceIdentifierInPath' + - $ref: 'components.yml#/components/parameters/resourceIdentifierInQuery' - $ref: 'components.yml#/components/parameters/acceptParamInHeader' - - $ref: 'components.yml#/components/parameters/fieldsParamInQuery' - - $ref: 'components.yml#/components/parameters/depthParamInQuery' + - $ref: 'components.yml#/components/parameters/optionsParamInQuery' requestBody: description: Operational body content: @@ -194,7 +192,7 @@ paths: operationId: writeDataByPassthroughRunningForCmHandle parameters: - $ref: 'components.yml#/components/parameters/cmHandleInPath' - - $ref: 'components.yml#/components/parameters/resourceIdentifierInPath' + - $ref: 'components.yml#/components/parameters/resourceIdentifierInQuery' requestBody: required: true content: |