shivasubedi | 3d1579c | 2021-09-13 16:43:20 +0100 | [diff] [blame] | 1 | .. This work is licensed under a Creative Commons Attribution 4.0 International License. |
| 2 | .. http://creativecommons.org/licenses/by/4.0 |
halil.cakal | 0bdc943 | 2023-09-12 15:32:53 +0100 | [diff] [blame] | 3 | .. Copyright (C) 2021-2023 Nordix Foundation |
shivasubedi | 3d1579c | 2021-09-13 16:43:20 +0100 | [diff] [blame] | 4 | |
| 5 | .. DO NOT CHANGE THIS LABEL FOR RELEASE NOTES - EVEN THOUGH IT GIVES A WARNING |
| 6 | .. _design: |
| 7 | |
| 8 | |
DylanB95EST | 7f1fa6d | 2021-10-11 16:33:29 +0100 | [diff] [blame] | 9 | DMI-Plugin Design |
shivasubedi | 3d1579c | 2021-09-13 16:43:20 +0100 | [diff] [blame] | 10 | ################# |
| 11 | |
shivasubedi | 3d1579c | 2021-09-13 16:43:20 +0100 | [diff] [blame] | 12 | .. toctree:: |
| 13 | :maxdepth: 1 |
| 14 | |
| 15 | Offered APIs |
| 16 | ============ |
| 17 | |
DylanB95EST | 7f1fa6d | 2021-10-11 16:33:29 +0100 | [diff] [blame] | 18 | The DMI-Plugin supports the public APIs listed in the link below: |
shivasubedi | 3d1579c | 2021-09-13 16:43:20 +0100 | [diff] [blame] | 19 | |
Renu Kumari | 3aea57e | 2021-10-12 13:41:01 -0400 | [diff] [blame] | 20 | :download:`DMI Rest OpenApi Specification <api/swagger/openapi.yaml>` |
shivasubedi | 3d1579c | 2021-09-13 16:43:20 +0100 | [diff] [blame] | 21 | |
lukegleeson | 78d5922 | 2021-10-01 17:21:48 +0100 | [diff] [blame] | 22 | View Offered APIs |
| 23 | ----------------- |
shivasubedi | 3d1579c | 2021-09-13 16:43:20 +0100 | [diff] [blame] | 24 | |
| 25 | The standard for API definition in the RESTful API world is the OpenAPI Specification (OAS). |
| 26 | The OAS 3, which is based on the original "Swagger Specification", is being widely used in API developments. |
| 27 | |
| 28 | Specification can be accessed using following URI: |
| 29 | |
| 30 | .. code-block:: bash |
| 31 | |
lukegleeson | 78d5922 | 2021-10-01 17:21:48 +0100 | [diff] [blame] | 32 | http://<hostname>:<port>/v3/api-docs?group=dmi-plugin-docket |
shivasubedi | 3d1579c | 2021-09-13 16:43:20 +0100 | [diff] [blame] | 33 | |
lukegleeson | 78d5922 | 2021-10-01 17:21:48 +0100 | [diff] [blame] | 34 | Additionally, the Swagger User Interface can be found at the following URI. The component may be changed between CPS-Core |
| 35 | and CPS-NCMP using the drop down table in the top right: |
shivasubedi | 3d1579c | 2021-09-13 16:43:20 +0100 | [diff] [blame] | 36 | |
lukegleeson | 78d5922 | 2021-10-01 17:21:48 +0100 | [diff] [blame] | 37 | .. code-block:: bash |
| 38 | |
| 39 | http://<hostname>:<port>/swagger-ui/index.html?configUrl=/v3/api-docs/swagger-config#/ |
| 40 | |
halil.cakal | 0bdc943 | 2023-09-12 15:32:53 +0100 | [diff] [blame] | 41 | Health Check APIs |
| 42 | ================= |
| 43 | |
| 44 | The healthcheck URL can be accessed using following URI: |
| 45 | |
| 46 | .. code-block:: bash |
| 47 | |
| 48 | http://<hostname>:<port>/manage/health |
| 49 | |
| 50 | The Health check endpoint is essential for monitoring the status of DMI-Plugins. |
| 51 | CPS is using a Spring Boot pattern here which can easily be configured for any spring boot application. |
| 52 | Springboot provides a built-in Health Check feature through the Spring Boot Actuator module. |
| 53 | |
lukegleeson | 78d5922 | 2021-10-01 17:21:48 +0100 | [diff] [blame] | 54 | Consumed APIs |
| 55 | ============= |
| 56 | |
| 57 | - SDNC: REST based interface exposed by the SDNC client. This is used to retrieve the yang resources and modules for CPS. |