[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: RE: fixed type-compatible value in property refinement in Tosca 1.3
Hi Denes, Yes, this is a very interesting use case:
I don’t believe we have specified in the spec how to deal with this situation, but my interpretation is that what you’re trying to do is invalid. When you provide a (final) value for ‘s1’ in ‘data_type_3’,
then you will not be allowed to further “refine” ‘s1’ in any derived types. When you’re assigning ‘data_type_2’ to ‘s1’ in ‘data_type_4’, you’re effectively further refining ‘s1’, but by assigning a value in ‘data_type_3’, you have effectively stated that
that is prohibited. Are there any dissenting opinions? Thanks, Chris From: Nemeth, Denes (Nokia - HU/Budapest) <denes.nemeth@nokia.com>
Dear Chris You are right there was a typo in the example.
I am struggling with where to put the “value” keyword in the example below. Because property definitions can not have a “value” keyname. It would be very helpful, if someone could provide an example for the special case in “”. "Property definition refinements support the value keyname that specifies a fixed type-compatible value to assign to the property. These value assignments are considered final, meaning that it is not valid to change the property value later
(e.g. using further refinements)." Here is my example
tosca_definitions_version: tosca_simple_yaml_1_3 data_types: data_type_1: derived_from: tosca.datatypes.Root properties: p1: type: string data_type_2: derived_from: data_type_1 properties: p2: type: string data_type_3: derived_from: tosca.datatypes.Root properties: s1: type: data_type_1 value: p1: a data_type_4: derived_from: data_type_3 properties: s1: type: data_type_2
value: p1: a p2: b Thanks, Denes From:
Chris Lauwers <lauwers@ubicity.com> Hi Denes,
Thanks, Chris From:
tosca@lists.oasis-open.org <tosca@lists.oasis-open.org>
On Behalf Of Nemeth, Denes (Nokia - HU/Budapest) Dear Tosca community Can you help us to clarify the following statement in Tosca 1.3 spec: 3.6.10.6 states that "Property definition refinements support the value keyname that specifies a fixed type-compatible value to assign to the property. These value assignments are considered final, meaning that it is not valid to change the property value later
(e.g. using further refinements)." This would suggest that a property may have an attribute named value, but 3.6.10 does not define a value keyname. Value is only used in 3.6.14 in parameter definitions. So what does the property refinement refer to? Here is an artificial refinement example tosca_definitions_version: tosca_simple_yaml_1_3 data_types: data_type_1: derived_from: tosca.datatypes.Root properties: p1: type: string data_type_2: derived_from: data_type_1 properties: p2: type: string data_type_3: derived_from: tosca.datatypes.Root properties: s1: type: data_type_1 data_type_4: derived_from: tosca.datatypes.Root properties: s1: type: data_type_2 I do not know where the value keyword shall be specified. If it is in the property, than what happens if someone defines default_value and value at the same time. Thanks, D |
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]