OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

tosca message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: Re: [tosca] Complex property composition


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 }



[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]