On Thu, Feb 25, 2016 at 12:44 PM, Hunter Haugen <hun...@puppetlabs.com> wrote:
> I am following up with a runtime type strictness thing. > >> >> If you have a construct like this in your manifests: >> >> Notify['left'] -> $stuff -> Notify['right'] >> >> > Thansk for asking! For me, I would prefer the ordering to follow left -> > right, and not error or warn. > > If I have expressed Notify['left'] -> $stuff -> Notify['right'] then the > ordering of left then right should be possible in all circumstances. > Whether it is required or not when $stuff is empty is another matter, but > it doesn't impact the user if all resources succeed. > > Technologically, the references could be explicit references or > collectors, and collectors can produce zero references, and this is > actually DESIRED by me, as recently as yesterday. My use case was chaining > lots of collections of optional defined types Like `A <||> -> B <||> -> C > <||> D <||>` where B/C/D are optional, but A must always come before B/C/D > and D must always come after A/B/C. In minimal cases, only A and D may be > declared, so I ended up doing A <||> -> D <||> ; A <||> -> B <||> -> D <||> > ; A <||> -> C <||> -> D <||> which is overly verbose. > This is abstract, but maybe an example could help. For reference, my current manifest is https://github.com/hunner/puppetlabs-tomcat/blob/e3d8a56876cb072b60468ded86490051059a56a1/manifests/instance/dependencies.pp though is still a work in progress. And this behavior could be taken off-thread and put in a ticket if you'd rather discuss the outcome separately, since it's not directly about warning and erroring on --strict > > It's worth noting that I ran into the above case because I expected empty > collectors to maintain the chain, and was surprised when resources were > evaluated out of order. > > Producing a whit or something similar to contain the list of zero or more > references would give the dag the structure it needs to maintain ordering > even when an element in the chain is empty. > -- 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/CAJaQvGDV0Te_91NCW32dCVzXyiBgLyQwgFK%2Bbf06Q2NdtNM%3DVg%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.