Hi Jesse -- I think this is getting pretty close, but you're right this 
would not work without a major version bump. Some comments/questions from 
the thread--

- The 'creeping perlism' of more sigils seems to be pretty unpopular, 
instead most people favour concrete syntax like your example below

- Erik had concerns about using hiera data outside of Puppet - is this a 
common use case? we're looking at moving hiera closer to puppet (i.e. for 
data in modules) and if we can move to a single codebase there it 
simplifies things a fair bit (i.e. relying on future parser) at the expense 
of hiera-without-puppet. Is it using hiera as a library that's important or 
specifically the command-line program?

- Exploring that line of thought further, what if the right-hand-side value 
could contain Puppet DSL expressions? Obviously this opens the door to some 
crazy stuff -- I already have concern with putting code back into data and 
this goes further down the path, but y'all have pretty convincing use cases 
for increasing sophistication in hiera, so it seems worth thinking about 
taking it to the logical extension.

- Reading through Wil's example is really interesting because it also 
touches on module reusability and module APIs. Are others on the thread in 
a similar situation, where you need to compose/abstract common config 
parameters to reduce duplication across your site data hierarchy? (And Wil, 
is there a reason you can't just do that 'ldap_login_server_uris' mapping 
at class declaration time rather than putting the lookups into the class 
definitions themselves?)

eric0

On Friday, June 28, 2013 7:45:05 AM UTC-7, Jesse Hathaway wrote:
>
> If there are concerns with adding a new sigil '^', which is not obviously 
> intuitive, then I would propose keeping only one sigil for interpolation 
> '%' but being explicit on the type of lookup performed.
>
> Examples:
>
>    1.  Scope lookup of `potto01_ip`:
>    1. webserver_ip: "%{scope("potto01_ip")}"
>    2. Hiera lookup of `potto01_ip`
>       1. webserver_ip: "%{hiera("potto01_ip")}"
>    
> This obviously breaks current scope lookups and would need to be deferred 
> to a 2.0 version, but I think it is better to break compatibility rather 
> than cluttering up the language in inconsistent ways.
>

-- 
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 [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/puppet-dev.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to