aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFrancescoFioraEst <francesco.fiora@est.tech>2023-08-04 14:00:54 +0100
committerFrancesco Fiora <francesco.fiora@est.tech>2023-08-08 10:14:28 +0000
commitb12c67854c70ae410e02af501126ecf8434e5dd9 (patch)
tree17a6a64d2275c47c9b205f088394b4937292f9f5
parent4f1c3755a6e13086693f8ce56cce5358211d749a (diff)
Add documentation of participant composition properties
Issue-ID: POLICY-4779 Change-Id: I67ddb8541aa0cfd198d4bd84414b56b59bc1a594 Signed-off-by: FrancescoFioraEst <francesco.fiora@est.tech>
-rwxr-xr-x[-rw-r--r--]docs/clamp/acm/acm-participant-guide.rst35
-rwxr-xr-x[-rw-r--r--]docs/clamp/acm/acm-user-guide.rst44
2 files changed, 69 insertions, 10 deletions
diff --git a/docs/clamp/acm/acm-participant-guide.rst b/docs/clamp/acm/acm-participant-guide.rst
index 9228ca37..b2ee244a 100644..100755
--- a/docs/clamp/acm/acm-participant-guide.rst
+++ b/docs/clamp/acm/acm-participant-guide.rst
@@ -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);
diff --git a/docs/clamp/acm/acm-user-guide.rst b/docs/clamp/acm/acm-user-guide.rst
index 2ed49176..0a033b50 100644..100755
--- a/docs/clamp/acm/acm-user-guide.rst
+++ b/docs/clamp/acm/acm-user-guide.rst
@@ -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