Well, you can argue that attributes *vary* per node instance, while properties *do not vary* per node instance.
Our discussion about function values is important: if a property value is a function, the actual evaluated value might indeed be different per node instance. ARIA actually does keep copies of everything (both properties and attributes) for every node instance in the models. We made this blanket decision to allow for full flexibility in implementing plugins and supporting future versions of TOSCA. While in TOSCA properties are strictly read-only at the parser level, it may be possible for plugins to change property values. Imagine, for example, a plugin that takes existing Compute nodes and upgrades them: many of their properties may change. It's fine and good for TOSCA to be strict, but we wanted ARIA to underneath be as flexible as needed. On Thu, Nov 16, 2017 at 5:12 PM, DeWayne Filppi <[email protected]> wrote: > Properties and attributes have no relationship. I always assumed the > reflection was a convenience. Attributes are per instance, not per node. > > On Thu, Nov 16, 2017 at 2:54 PM, Tal Liron <[email protected]> wrote: > > > The reason I think this is a bad feature is that TOSCA makes such a clear > > effort to separate properties from attributes, but then this reflection > > features means that basically it's enough to only have properties... > > > > My proposal for TOSCA 2.0 would be to have *just* properties and to allow > > some properties to have "mutable: true" if you want then to behave like > an > > attribute. > > > > On Thu, Nov 16, 2017 at 3:01 PM, Steve Baillargeon < > > [email protected]> wrote: > > > > > Hi Tal > > > I found the magic statement in 3.5.8.1.1 > > > Yes the reflected attribute name must be the same as the property name > > for > > > the reflection feature. > > > Now I understand your second point. Thanks for your patience. > > > > > > Why do you think it is a bad feature? > > > Property is the desired value while reflected attribute is the actual > > > value. > > > It seems logical to show actual value. > > > Or are you saying the actual value will always be the same as the > desired > > > value and the reflected attribute is useless? > > > > > > -Steve > > > > > > > > > > > > -----Original Message----- > > > From: Tal Liron [mailto:[email protected]] > > > Sent: Thursday, November 16, 2017 3:49 PM > > > To: [email protected] > > > Subject: Re: Attribute and Property Reflection > > > > > > The reflection feature is mentioned very, very briefly in just that one > > > sentence in the spec. They is no mention of changing names, so I am > > > expecting that the attribute names would be identical to the property > > > names. In that case, there would be a conflict if an attribute has the > > same > > > name as a property -- otherwise how would the property be reflected? > > That's > > > why I'm assuming that for this to work we should not allow an attribute > > > name to override a property name. > > > > > > My preferred solution is not to add any custom prefixes in ARIA, > because > > > they would not be portable > > > > > > The TOSCA spec has many authors, and it would be hard to track down the > > > particular one who wrote this sentence... Personally, I think this is > an > > > awful and unclear feature. > > > > > > On Thu, Nov 16, 2017 at 2:43 PM, Steve Baillargeon < > > > [email protected]> wrote: > > > > > > > Back 1 step please. > > > > Are you saying that attribute names and property names within a Type > > > > MUST be different? > > > > As far as I know they can be the same e.g. <attribute_name_1> = > > > > <property_name 1> > > > > > > > > attributes: > > > > <attribute_name_1>: > > > > type:string > > > > properties: > > > > <property_name 1>: > > > > type:string > > > > > > > > > > > > Back to reflection. > > > > I am proposing <attribute_name> = actual_<property_name> But I think > > > > it is best if I ask further clarification from YAML Profile authors. > > > > What do you think? > > > > What is your preferred solution? > > > > > > > > -Steve > > > > > > > > > > > > > > > > > > > > -----Original Message----- > > > > From: Tal Liron [mailto:[email protected]] > > > > Sent: Thursday, November 16, 2017 3:15 PM > > > > To: [email protected] > > > > Subject: Re: Attribute and Property Reflection > > > > > > > > Steve, we cannot change the TOSCA spec, and the spec does not say > > > > anything about naming conventions here. > > > > > > > > I think, though, that an obvious part of this JIRA will be to emit an > > > > error if an attribute name is the same as a property name, because > > > > obviously this would break this feature. > > > > > > > > On Thu, Nov 16, 2017 at 2:12 PM, Steve Baillargeon < > > > > [email protected]> wrote: > > > > > > > > > I see the following text in the JIRA: > > > > > According to the TOSCA 1.0 spec, property value should be > 'exposed', > > > > > with the same name, as attributes. > > > > > > > > > > Does the spec really say to use the same name? As far as I know it > > > > > does not. > > > > > What about using a better reflected attribute naming convention > like > > > > > “actual_<property_name>”? > > > > > Can I add this to the JIRA? > > > > > > > > > > -Steve B > > > > > > > > > > -----Original Message----- > > > > > From: Tal Liron [mailto:[email protected]] > > > > > Sent: Thursday, November 16, 2017 2:48 PM > > > > > To: [email protected] > > > > > Subject: Re: Attribute and Property Reflection > > > > > > > > > > Not right now, but there is an open JIRA to support it. > > > > > > > > > > On Thu, Nov 16, 2017 at 1:42 PM, Steve Baillargeon < > > > > > [email protected]> wrote: > > > > > > > > > > > Hi > > > > > > Does ARIA support "attribute and property reflection" defined in > > > > > 3.5.10.1? > > > > > > > > > > > > Regards > > > > > > Steve B > > > > > > > > > > > > > > > > > > > > > > > > > > >
