> On Thursday, February 25, 2016 at 7:45:46 PM UTC-6, Trevor Vaughan wrote: >> >> Sorry about that. >> >> What I mean is this: >> >> A -> [] -> B is not equivalent to A -> B since failures in A will not >> affect B. >> >> However, it would be equivalent to [A,B] which I am reading as A before B >> but not in an actual resource relationship. >> > > Just to be a little more clear, when declaring resources I never use a KNOWN empty-in-all-cases array in resource chains, so using "[]" is a leaky analogy. Instead one example is:
Thing[a] -> Thing <| name == $::something::i::want |> -> Thing[b] Some people assume that the Thing[$::something::i::want] is declared and if not then that is an error state. Some people assume that the Thing[$::something::i::want] may be declared, but if not then that's fine. But for all cases Thing[a] -> Thing[b] at most is desired, or at least is possible. The only case in which disjointed dependencies are logically different is when failures in Thing[a] do not skip the evaluation of Thing[b] if and only if Thing[$::something::i::want] is undefined. Does that occur in the real world? Not afaik. ----- The other example that comes to mind is: Thing[a] -> $might_contain_references -> Thing[b] This differs from above as variables are parse-order dependent and collectors are not (right?), and variables may be undefined or undef and collectors are... neither of those things (instead the graph is updated directly when collectors return resources, I believe). A thought on semantic differencs from collectors: the value of a variable is directly obveservable at evaluation time, and dependency chains can be created based on this evaluation. Therefore I would posit that undef or undefined variables in dependency chains are always an error state, whereas empty collectors may or may not be. -- You received this message because you are subscribed to the Google Groups "Puppet Developers" group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-dev+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-dev/CAJaQvGAx1ACQjG3nmQq91hS40hwx8J9KN2Xz%3DG_kc30AsHMZsA%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.