Open lterrac opened 2 years ago
Sorry again, one last thought. This could be easily solved also if a way to merge lists exists. Then the problem can be modeled with a relationship where in the pos_configure_source
(once the instance is created) the id is appended to an existing list. What I see (and understand) the current behaviour is that instead of doing an append() the lists are entirely replaced by the new value, am I right?
In the Ubicity implementation, the get_attribute function automatically returns a list of values when multiple requirements exist of the same name.
Ok, thank you. I will look into it next time. As a temporary solution I created a list attribute which is incrementally populated by the playbook attached to the relationships. If anyone needs more information let me know and I will share the solution.
Hi @lterrac, thanks for opening this and nice that you found a temporary solution, for the future versions of opera
we will also consider implementing the same behaviour as @lauwers has specified.
Hi everyone,
I am modelling an OOP programming language and I want to populate a node with attributes taken from other nodes. I have a generic node
class
representing a class of the language. Every class has an attributeid
which is assigned only when the class instance is created. The class has also has a propertyparameters
to state the inputs passed to the class constructor and a requirementcontractId
to specify the dependency between classesThe
node_types
is:The
ServiceTemplate
looks like the following:What I want to achieve is this translate in code:
The solution proposed in
ServiceTemplate
works fine if I have only onecontractId
requirement because I am able to retrieve the class id with{ get_attribute: [SELF, contractId, id] }
but it doesn't work with multiple requirements of the same type. Am I missing something in the TOSCA specification/xopera implementation or this kind of operation can not be achieved? 😄