Merge "[PMSH] Release J Documentation"
diff --git a/docs/sections/services/pm-subscription-handler/delivery.rst b/docs/sections/services/pm-subscription-handler/delivery.rst
index b4b2bf5..bf1b397 100644
--- a/docs/sections/services/pm-subscription-handler/delivery.rst
+++ b/docs/sections/services/pm-subscription-handler/delivery.rst
@@ -14,4 +14,4 @@
 
 ::
 
-    nexus3.onap.org:10001/onap/org.onap.dcaegen2.services.pm-subscription-handler:2.0.0
+    nexus3.onap.org:10001/onap/org.onap.dcaegen2.services.pm-subscription-handler:2.2.2
diff --git a/docs/sections/services/pm-subscription-handler/installation.rst b/docs/sections/services/pm-subscription-handler/installation.rst
index 66e5c9f..d0a6e40 100644
--- a/docs/sections/services/pm-subscription-handler/installation.rst
+++ b/docs/sections/services/pm-subscription-handler/installation.rst
@@ -125,9 +125,9 @@
 +-----------------------+---------------------------------------------------------------------------------------------------------+--------+----------+--------------------------+
 | operationalPolicyName | Name of the operational policy to be executed.                                                          | string | True     | operationalPolicyName    |
 +-----------------------+---------------------------------------------------------------------------------------------------------+--------+----------+--------------------------+
-| controlLoopName       | Name of the control loop.                                                                               | string | True     | controlLoopName          |
+| controlLoopName       | Name of the control loop.                                                                               | string | False    | controlLoopName          |
 +-----------------------+---------------------------------------------------------------------------------------------------------+--------+----------+--------------------------+
-| nfFilter              | The network function filter will be used to filter the list of nf's stored in A&AI to produce a subset. |  list  | False    |                          |
+| nfFilter              | The network function filter will be used to filter the list of nf's stored in A&AI to produce a subset. |  list  | True     |                          |
 +-----------------------+---------------------------------------------------------------------------------------------------------+--------+----------+--------------------------+
 | measurementGroups     | List containing measurementGroup.                                                                       |  list  | True     | List of measurementGroup |
 +-----------------------+---------------------------------------------------------------------------------------------------------+--------+----------+--------------------------+
@@ -165,13 +165,13 @@
 +------------------------+-----------------------------------------------------------------------------------------------+------+----------+
 | Field                  | Description                                                                                   | Type | Required |
 +========================+===============================================================================================+======+==========+
-| nfNames                | List of NF names. These names are regexes, which will be parsed by the PMSH.                  | list | False    |
+| nfNames                | List of NF names. These names are regexes, which will be parsed by the PMSH.                  | list | True     |
 +------------------------+-----------------------------------------------------------------------------------------------+------+----------+
-| modelInvariantIDs      | List of modelInvariantIDs. These UUIDs will be checked for exact matches with AAI entities.   | list | False    |
+| modelInvariantIDs      | List of modelInvariantIDs. These UUIDs will be checked for exact matches with AAI entities.   | list | True     |
 +------------------------+-----------------------------------------------------------------------------------------------+------+----------+
-| modelVersionIDs        | List of modelVersionIDs. These IDs will be checked for exact matches with AAI entities.       | list | False    |
+| modelVersionIDs        | List of modelVersionIDs. These IDs will be checked for exact matches with AAI entities.       | list | True     |
 +------------------------+-----------------------------------------------------------------------------------------------+------+----------+
-| modelNames             | List of modelNames. These names will be checked for exact matches with AAI entities.          | list | False    |
+| modelNames             | List of modelNames. These names will be checked for exact matches with AAI entities.          | list | True     |
 +------------------------+-----------------------------------------------------------------------------------------------+------+----------+
 
 **measurementGroup**
@@ -212,13 +212,13 @@
 +-----------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------+----------+--------+
 | Field                 | Description                                                                                                                                                                            | Type | Required | Values |
 +=======================+========================================================================================================================================================================================+======+==========+========+
-| measurementGroupName  | Unique identifier for measurementGroup.                                                                                                                                                |      |          |        |
+| measurementGroupName  | Unique identifier for measurementGroup.                                                                                                                                                |      | True     |        |
 +-----------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------+----------+--------+
-| administrativeState   | Setting a measurementGroup to UNLOCKED will apply the subscription changes to the NF instances immediately. If it is set to LOCKED, it will not be applied until it is later unlocked. |      |          |        |
+| administrativeState   | Setting a measurementGroup to UNLOCKED will apply the subscription changes to the NF instances immediately. If it is set to LOCKED, it will not be applied until it is later unlocked. |      | True     |        |
 +-----------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------+----------+--------+
-| fileBasedGP           | The frequency at which measurements are produced.                                                                                                                                      |      |          |        |
+| fileBasedGP           | The frequency at which measurements are produced.                                                                                                                                      |      | True     |        |
 +-----------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------+----------+--------+
-| fileLocation          | Location of Report Output Period file.                                                                                                                                                 |      |          |        |
+| fileLocation          | Location of Report Output Period file.                                                                                                                                                 |      | True     |        |
 +-----------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------+----------+--------+
 | measurementTypes      | List of measurement types. These are regexes, and it is expected that either the CDS blueprint, or NF can parse them. As the PMSH will not do so.                                      | list | True     |        |
 +-----------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------+----------+--------+
diff --git a/docs/sections/services/pm-subscription-handler/offeredapi.rst b/docs/sections/services/pm-subscription-handler/offeredapi.rst
index 3588036..9dfce02 100644
--- a/docs/sections/services/pm-subscription-handler/offeredapi.rst
+++ b/docs/sections/services/pm-subscription-handler/offeredapi.rst
@@ -35,7 +35,6 @@
 
 Create a PM Subscription
 
-
 Responses
 ~~~~~~~~~
 
@@ -157,8 +156,105 @@
 +-----------+---------------------------------------------------------------------+
 
 
+PUT /subscription/{subscription_name}/nfFilter
+----------------------------------------------
+
+Description
+~~~~~~~~~~~
+
+Update a Subscription nf filter
+
+
+Sample NF Filter Body
+~~~~~~~~~~~~~~~~~~~~~~~~
+
+.. code-block:: http
+
+    {
+        "nfFilter": {
+            "nfNames": [
+            "^pnf.*",
+            "^vnf.*"
+            ],
+            "modelInvariantIDs": [
+
+            ],
+            "modelVersionIDs": [
+
+            ],
+            "modelNames": [
+
+            ]
+        }
+    }
+
+Responses
+~~~~~~~~~
+
++-----------+---------------------------------------------------------------------+
+| HTTP Code | Description                                                         |
++===========+=====================================================================+
+| **201**   | Successfully updated nf filter                                      |
++-----------+---------------------------------------------------------------------+
+| **400**   | Invalid input                                                       |
++-----------+---------------------------------------------------------------------+
+| **409**   | Conflicting data                                                    |
++-----------+---------------------------------------------------------------------+
+| **500**   | Exception occurred while querying database                          |
++-----------+---------------------------------------------------------------------+
+
+
+POST /subscription/{subscription_name}/measurementGroups/{measurement_group_name}
+----------------------------------------------------------------------------------
+
+Description
+~~~~~~~~~~~
+
+Create a measurement group for a given subscription
+
+
+Sample Measurement Group Body
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+.. code-block:: http
+
+    {
+        "measurementGroup": {
+            "measurementGroupName": "msg_grp_03",
+            "fileBasedGP":15,
+            "fileLocation":"pm.xml",
+            "administrativeState": "UNLOCKED",
+            "measurementTypes": [
+                {
+                    "measurementType": "counter_a"
+                }
+            ],
+            "managedObjectDNsBasic": [
+                {
+                    "DN": "string"
+                }
+            ]
+        }
+    }
+
+Responses
+~~~~~~~~~
+
++-----------+---------------------------------------------------------------------+
+| HTTP Code | Description                                                         |
++===========+=====================================================================+
+| **201**   | Successfully created measurement group                              |
++-----------+---------------------------------------------------------------------+
+| **404**   | Subscription with the specified name not found                      |
++-----------+---------------------------------------------------------------------+
+| **409**   | Duplicate data                                                      |
++-----------+---------------------------------------------------------------------+
+| **500**   | Internal server error                                               |
++-----------+---------------------------------------------------------------------+
+
+
 GET /subscription/{subscription_name}/measurementGroups/{measurement_group_name}
---------------------------------------------------------------------------------
+----------------------------------------------------------------------------------
 
 Description
 ~~~~~~~~~~~
@@ -179,8 +275,32 @@
 +-----------+---------------------------------------------------------------------+
 
 
+DELETE /subscription/{subscription_name}/measurementGroups/{measurement_group_name}
+------------------------------------------------------------------------------------
+
+Description
+~~~~~~~~~~~
+
+Delete a measurement group
+
+Responses
+~~~~~~~~~
+
++-----------+--------------------------------------------------------------------------------------------------+
+| HTTP Code | Description                                                                                      |
++===========+==================================================================================================+
+| **204**   | Successfully deleted the measurement group and returns NO Content                                |
++-----------+--------------------------------------------------------------------------------------------------+
+| **404**   | Measurement group with the specified name not found                                              |
++-----------+--------------------------------------------------------------------------------------------------+
+| **409**   | Measurement group not deleted because state UNLOCKED OR state change to LOCKED was under process |
++-----------+--------------------------------------------------------------------------------------------------+
+| **500**   | Exception occurred on the server                                                                 |
++-----------+--------------------------------------------------------------------------------------------------+
+
+
 PUT /subscription/{subscription_name}/measurementGroups/{measurement_group_name}/{administrativeState}
---------------------------------------------------------------------------------
+-------------------------------------------------------------------------------------------------------
 
 Description
 ~~~~~~~~~~~