summaryrefslogtreecommitdiffstats
path: root/docs/sections/services/pm-subscription-handler/offeredapi.rst
diff options
context:
space:
mode:
Diffstat (limited to 'docs/sections/services/pm-subscription-handler/offeredapi.rst')
-rw-r--r--docs/sections/services/pm-subscription-handler/offeredapi.rst201
1 files changed, 201 insertions, 0 deletions
diff --git a/docs/sections/services/pm-subscription-handler/offeredapi.rst b/docs/sections/services/pm-subscription-handler/offeredapi.rst
new file mode 100644
index 00000000..3588036b
--- /dev/null
+++ b/docs/sections/services/pm-subscription-handler/offeredapi.rst
@@ -0,0 +1,201 @@
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. http://creativecommons.org/licenses/by/4.0
+.. Copyright 2022 Nordix Foundation
+
+
+API
+===
+
+GET /healthcheck
+---------------------------------------------------
+
+Description
+~~~~~~~~~~~
+
+This is the health check endpoint. If this returns a 200, the server is alive.
+
+
+Responses
+~~~~~~~~~
+
++-----------+--------------------------+
+| HTTP Code | Description |
++===========+==========================+
+| **200** | Successful response |
++-----------+--------------------------+
+| **503** | Service unavailable |
++-----------+--------------------------+
+
+
+POST /subscription
+--------------------------------------------------
+
+Description
+~~~~~~~~~~~
+
+Create a PM Subscription
+
+
+Responses
+~~~~~~~~~
+
++-----------+--------------------------------------+
+| HTTP Code | Description |
++===========+======================================+
+| **201** | Successfully created PM Subscription |
++-----------+--------------------------------------+
+| **400** | Invalid Input |
++-----------+--------------------------------------+
+| **409** | Duplicate Data |
++-----------+--------------------------------------+
+
+Sample Subscription Body
+~~~~~~~~~~~~~~~~~~~~~~~~
+
+.. code-block:: http
+
+ {
+ "subscription": {
+ "subscriptionName": "new_sub",
+ "policyName": "pmsh_policy",
+ "nfFilter": {
+ "nfNames": [
+ "^pnf.*",
+ "^vnf.*"
+ ],
+ "modelInvariantIDs": [
+
+ ],
+ "modelVersionIDs": [
+
+ ],
+ "modelNames": []
+ },
+ "measurementGroups": [{
+ "measurementGroup": {
+ "measurementGroupName": "msr_grp_name",
+ "fileBasedGP": 15,
+ "fileLocation": "\/pm\/pm.xml",
+ "administrativeState": "UNLOCKED",
+ "measurementTypes": [{
+ "measurementType": "counter_a"
+ }],
+ "managedObjectDNsBasic": [{
+ "DN": "string"
+ }]
+ }
+ }]
+ }
+ }
+
+
+GET /subscription
+--------------------------------------------------
+
+Description
+~~~~~~~~~~~
+
+Get all the subscriptions from PMSH
+
+
+Responses
+~~~~~~~~~
+
++-----------+----------------------------------------+
+| HTTP Code | Description |
++===========+========================================+
+| **200** | Successfully fetched all subscriptions |
++-----------+----------------------------------------+
+| **500** | Exception occured when querying DB |
++-----------+----------------------------------------+
+
+
+GET /subscription/{subscription_name}
+---------------------------------------------------
+
+Description
+~~~~~~~~~~~
+
+Get the Subscription from PMSH specified by Name
+
+Responses
+~~~~~~~~~
+
++-----------+--------------------------------------------+
+| HTTP Code | Description |
++===========+============================================+
+| **200** | OK; Requested Subscription was returned |
++-----------+--------------------------------------------+
+| **404** | Subscription with specified name not found |
++-----------+--------------------------------------------+
+| **500** | Exception occurred while querying database |
++-----------+--------------------------------------------+
+
+
+DELETE /subscription/{subscription_name}
+---------------------------------------------------
+
+Description
+~~~~~~~~~~~
+
+Deletes the Subscription from PMSH specified by Name
+
+Responses
+~~~~~~~~~
+
++-----------+---------------------------------------------------------------------+
+| HTTP Code | Description |
++===========+=====================================================================+
+| **204** | Successfully deleted the subscription and returns NO Content |
++-----------+---------------------------------------------------------------------+
+| **404** | Subscription with specified name not found |
++-----------+---------------------------------------------------------------------+
+| **409** | Subscription could not be deleted as it contains measurement groups |
+| | with state UNLOCKED OR state change to LOCKED was under process |
++-----------+---------------------------------------------------------------------+
+| **500** | Exception occurred on the server |
++-----------+---------------------------------------------------------------------+
+
+
+GET /subscription/{subscription_name}/measurementGroups/{measurement_group_name}
+--------------------------------------------------------------------------------
+
+Description
+~~~~~~~~~~~
+
+Get the measurement group and associated network functions from PMSH by using sub name and meas group name
+
+Responses
+~~~~~~~~~
+
++-----------+---------------------------------------------------------------------+
+| HTTP Code | Description |
++===========+=====================================================================+
+| **200** | OK; Received requested measurement group with associated NF's |
++-----------+---------------------------------------------------------------------+
+| **404** | Measurement group with specified name not found |
++-----------+---------------------------------------------------------------------+
+| **500** | Exception occurred on the server |
++-----------+---------------------------------------------------------------------+
+
+
+PUT /subscription/{subscription_name}/measurementGroups/{measurement_group_name}/{administrativeState}
+--------------------------------------------------------------------------------
+
+Description
+~~~~~~~~~~~
+
+Update administrative state for a measurement group
+
+Responses
+~~~~~~~~~
+
++-----------+---------------------------------------------------------------------+
+| HTTP Code | Description |
++===========+=====================================================================+
+| **201** | Successfully updated administrative state |
++-----------+---------------------------------------------------------------------+
+| **409** | Duplicate data |
++-----------+---------------------------------------------------------------------+
+| **500** | Invalid input |
++-----------+---------------------------------------------------------------------+