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 |
egernug | 7f84b03 | 2024-04-29 15:26:50 +0100 | [diff] [blame] | 3 | .. Copyright (C) 2021-2024 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 | |
egernug | 7f84b03 | 2024-04-29 15:26:50 +0100 | [diff] [blame] | 22 | :download:`DMI Datajob OpenApi Specification <api/swagger/openapi-datajob.yaml>` |
| 23 | |
lukegleeson | 78d5922 | 2021-10-01 17:21:48 +0100 | [diff] [blame] | 24 | View Offered APIs |
| 25 | ----------------- |
shivasubedi | 3d1579c | 2021-09-13 16:43:20 +0100 | [diff] [blame] | 26 | |
| 27 | The standard for API definition in the RESTful API world is the OpenAPI Specification (OAS). |
| 28 | The OAS 3, which is based on the original "Swagger Specification", is being widely used in API developments. |
| 29 | |
| 30 | Specification can be accessed using following URI: |
| 31 | |
| 32 | .. code-block:: bash |
| 33 | |
lukegleeson | 78d5922 | 2021-10-01 17:21:48 +0100 | [diff] [blame] | 34 | http://<hostname>:<port>/v3/api-docs?group=dmi-plugin-docket |
shivasubedi | 3d1579c | 2021-09-13 16:43:20 +0100 | [diff] [blame] | 35 | |
lukegleeson | 78d5922 | 2021-10-01 17:21:48 +0100 | [diff] [blame] | 36 | Additionally, the Swagger User Interface can be found at the following URI. The component may be changed between CPS-Core |
| 37 | and CPS-NCMP using the drop down table in the top right: |
shivasubedi | 3d1579c | 2021-09-13 16:43:20 +0100 | [diff] [blame] | 38 | |
lukegleeson | 78d5922 | 2021-10-01 17:21:48 +0100 | [diff] [blame] | 39 | .. code-block:: bash |
| 40 | |
| 41 | http://<hostname>:<port>/swagger-ui/index.html?configUrl=/v3/api-docs/swagger-config#/ |
| 42 | |
halil.cakal | 0bdc943 | 2023-09-12 15:32:53 +0100 | [diff] [blame] | 43 | Health Check APIs |
| 44 | ================= |
| 45 | |
| 46 | The healthcheck URL can be accessed using following URI: |
| 47 | |
| 48 | .. code-block:: bash |
| 49 | |
halil.cakal | 56b8406 | 2023-10-25 12:02:49 +0100 | [diff] [blame] | 50 | http://<hostname>:<port>/actuator/health |
halil.cakal | 0bdc943 | 2023-09-12 15:32:53 +0100 | [diff] [blame] | 51 | |
| 52 | The Health check endpoint is essential for monitoring the status of DMI-Plugins. |
| 53 | CPS is using a Spring Boot pattern here which can easily be configured for any spring boot application. |
| 54 | Springboot provides a built-in Health Check feature through the Spring Boot Actuator module. |
| 55 | |
lukegleeson | 78d5922 | 2021-10-01 17:21:48 +0100 | [diff] [blame] | 56 | Consumed APIs |
| 57 | ============= |
| 58 | |
| 59 | - SDNC: REST based interface exposed by the SDNC client. This is used to retrieve the yang resources and modules for CPS. |