Yes, I'm sure it is possible. You can think of it this way: a data type just like a node template also has properties, so these both accept assigned values in the same way. This implies that you can nest values to any depth. The situation is less clear when we are dealing with list and map types. However, I think that it likewise should be possible. And for maps, it should even be possible to use function calls for map keys. (Puccini supports all these cases.) Example: node_types: DataNode: properties: string_map: type: map entry_schema: string topology_template: node_templates: data: type: DataNode properties: string_map: Greeting: Hello Message: { concat: [ Good, ' ', Day ] } { concat: [ Recip, ient ] }: Puccini On Wed, Apr 21, 2021 at 9:50 AM Nemeth, Denes (Nokia - HU/Budapest) <
denes.nemeth@nokia.com > wrote: Dear Tosca community Can you help us to clarify the usage of property assigment in node templates specified in
https://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.3/os/TOSCA-Simple-Profile-YAML-v1.3-os.html#DEFN_ELEMENT_PROPERTY_VALUE_ASSIGNMENT Is is possible to assign parts of complex properties to node templates using property value expressions or not? Node_template_1 assigns complex_input input to p1 property. There is several examples to this in the specs. Node_template_2 constucts the value of p1 from multiple input. Is this valid or not? Many thanks, for the help tosca_definitions_version: tosca_simple_yaml_1_2 data_types: data_type_1: derived_from: tosca.datatypes.Root properties: child1: type: string child2: type: string node_types: node_type_1: properties: p1: type: data_type_1 topology_template: inputs: complex_input: type: data_type_1 simple_input_child1: type: string simple_input_child2: type: string node_templates: node_template_1: type: node_type_1 properties: p1: { get_input: complex_input } node_template_2: type: node_type_1 properties: p1: child1: { get_input: simple_input_child1 } child2: { get_input: simple_input_child2 }