Add documentation of participant composition properties 89/135689/1
authorFrancescoFioraEst <francesco.fiora@est.tech>
Fri, 4 Aug 2023 13:00:54 +0000 (14:00 +0100)
committerFrancesco Fiora <francesco.fiora@est.tech>
Tue, 8 Aug 2023 10:14:28 +0000 (10:14 +0000)
Issue-ID: POLICY-4779
Change-Id: I67ddb8541aa0cfd198d4bd84414b56b59bc1a594
Signed-off-by: FrancescoFioraEst <francesco.fiora@est.tech>
docs/clamp/acm/acm-participant-guide.rst [changed mode: 0644->0755]
docs/clamp/acm/acm-user-guide.rst [changed mode: 0644->0755]

old mode 100644 (file)
new mode 100755 (executable)
index 9228ca3..b2ee244
@@ -122,11 +122,34 @@ This following method is invoked to update the AC element state after each opera
 
   1.  void updateAutomationCompositionElementState(UUID automationCompositionId, UUID elementId, DeployState deployState, LockState lockState, StateChangeResult stateChangeResult, String message);
   2.  Map<UUID, AutomationComposition> getAutomationCompositions();
-  3.  void sendAcElementInfo(UUID automationCompositionId, UUID elementId, String useState, String operationalState, Map<String, Object> outProperties);
-  4.  void updateCompositionState(UUID compositionId, AcTypeState state, StateChangeResult stateChangeResult, String message);
+  3.  AutomationComposition getAutomationComposition(UUID automationCompositionId);
+  4.  AutomationCompositionElement getAutomationCompositionElement(UUID automationCompositionId, UUID elementId);
+  5.  Map<UUID, Map<ToscaConceptIdentifier, AutomationCompositionElementDefinition>> getAcElementsDefinitions();
+  6.  Map<ToscaConceptIdentifier, AutomationCompositionElementDefinition> getAcElementsDefinitions(UUID compositionId);
+  7.  AutomationCompositionElementDefinition getAcElementDefinition(UUID compositionId, ToscaConceptIdentifier elementId);
+  8.  void sendAcDefinitionInfo(UUID compositionId, ToscaConceptIdentifier elementId, Map<String, Object> outProperties);
+  9.  void updateCompositionState(UUID compositionId, AcTypeState state, StateChangeResult stateChangeResult, String message);
+  10.  void sendAcElementInfo(UUID automationCompositionId, UUID elementId, String useState, String operationalState, Map<String, Object> outProperties);
+
+In/Out composition Properties
+-----------------------------
+  The 'Common Properties' could be created or updated by ACM-runtime. Participants will receive that Properties during priming events.
 
-In/Out Properties
------------------
+  The 'Out Properties' could be created or updated by participants. ACM-runtime will receive that Properties during ParticipantStatus event.
+  The participant can trigger this event using the method sendAcDefinitionInfo.
+
+  Is allowed to the participant to read all In/Out Properties of all compositions handled by the participant using the method getAcElementsDefinitions.
+  The following code is an example how to update the property 'myProperty' and send to ACM-runtime:
+
+.. code-block:: java
+
+  var acElement = intermediaryApi.getAcElementDefinition(compositionId, elementId);
+  var outProperties = acElement.getOutProperties();
+  outProperties.put("myProperty", myProperty);
+  intermediaryApi.sendAcDefinitionInfo(compositionId, elementId, outProperties);
+
+In/Out instance Properties
+--------------------------
   The 'In Properties' could be created or updated by ACM-runtime. Participants will receive that Properties during deploy and update events.
 
   The 'Out Properties' could be created or updated by participants. ACM-runtime will receive that Properties during ParticipantStatus event.
@@ -138,9 +161,7 @@ In/Out Properties
 
 .. code-block:: java
 
-  var automationCompositions = intermediaryApi.getAutomationCompositions();
-  var automationComposition = automationCompositions.get(automationCompositionId);
-  var acElement = automationComposition.getElements().get(elementId);
+  var acElement = intermediaryApi.getAutomationCompositionElement(automationCompositionId, elementId);
   var outProperties = acElement.getOutProperties();
   outProperties.put("myProperty", myProperty);
   intermediaryApi.sendAcElementInfo(automationCompositionId, elementId, acElement.getUseState(), acElement.getOperationalState(), outProperties);
old mode 100644 (file)
new mode 100755 (executable)
index 2ed4917..0a033b5
@@ -337,7 +337,9 @@ Functionality covered:
 #. Set participantId and supportedElementType by properties file or by parameter environment.
 #. Set a delay for each operation at runtime by Rest-Api.
 #. Set success or fail for each operation at runtime by Rest-Api.
-#. update useState, operationalState and outPropeties and send to ACM-runtime by Rest-Api.
+#. update composition outProperties and send to ACM-runtime by Rest-Api.
+#. read all AC Definition inProperties/outProperties information by Rest-Api.
+#. update useState, operationalState and outProperties and send to ACM-runtime by Rest-Api.
 #. read all AC instance elements information by Rest-Api.
 
 Mock a participant using docker-compose
@@ -388,8 +390,44 @@ The Json below is an example of configuration:
     "deprimeTimerMs": 100
   }
 
-Update and send useState operationalState and outProperites
------------------------------------------------------------
+Update and send composition outProperites
+-----------------------------------------
+Data like useState operationalState and outProperites could be updated any time using the following endpoint:
+
+.. code-block:: bash
+
+  Invoke a PUT request 'http://participant_sim_ip:port/onap/policy/clamp/acm/simparticipant/v2/compositiondatas'
+
+The Json below is an example of update, where {{compositionId}} is the UUID of the AC Definition
+and ("onap.policy.clamp.ac.element.Http_BridgeAutomationCompositionElement", "1.2.3") is the ToscaConceptIdentifier  of the AC Definition element:
+
+.. code-block:: json
+
+  {
+        "outProperties": {
+            "list": [
+                {"id": 10 },
+                {"id": 20 }
+            ]
+        },
+        "compositionId": "{{compositionId}}",
+        "compositionDefinitionElementId": {
+            "name": "onap.policy.clamp.ac.element.Http_BridgeAutomationCompositionElement",
+            "version": "1.2.3"
+        }
+  }
+
+Read all AC Definition elements information
+-------------------------------------------
+All AC Definition elements information like composition inProperties and outProperties
+could be read using the following endpoint:
+
+.. code-block:: bash
+
+  Invoke a GET request 'http://participant_sim_ip:port/onap/policy/clamp/acm/simparticipant/v2/compositiondatas'
+
+Update and send useState operationalState and instance outProperites
+--------------------------------------------------------------------
 Data like useState operationalState and outProperites could be updated any time using the following endpoint:
 
 .. code-block:: bash