Issue #13212 has been updated by Daniel Pittman.

Kelsey Hightower wrote:

> Should this be:
> 
>     $foo = [{"id" => "bar", "ip" => "1.1.1.1"}, {"id" => "baz", "ip" => 
> "2.2.2.2"}]
>     foo::map {$foo:}
>     define foo::map () { notify {$name["id"]: } }
>     
> Using double qoutes around id made it work for me:

It is interesting to know if this works, but there shouldn't be any technical 
difference between a single-quoted expression in the DSL and a double-quoted 
expression in the DSL.  If that does fix it we know a work-around, but the 
underlying problem - whatever that is - that causes the single quote version to 
fail needs to be fixed.

Most especially, 
----------------------------------------
Bug #13212: Pass array to custom define fails
https://projects.puppetlabs.com/issues/13212#change-58473

Author: Juan José Presa Rodal
Status: Needs More Information
Priority: Normal
Assignee: Juan José Presa Rodal
Category: parser
Target version: 
Affected Puppet version: 
Keywords: 
Branch: 


I'm trying to pass a simple array to a custom define and fails with error:

`err: Could not retrieve catalog from remote server: Could not intern from 
pson: Could not convert from pson: Could not find relationship source 
"Foo::Map[idbazip2.2.2.2]"
`

I think that code is very correct:


`$foo = [{"id" => "bar", "ip" => "1.1.1.1"}, {"id" => "baz", "ip" => 
"2.2.2.2"}]`

`foo::map {$foo:}`

`define foo::map () {
  notify {$name['id']:
  }
}
`


-- 
You have received this notification because you have either subscribed to it, 
or are involved in it.
To change your notification preferences, please click here: 
http://projects.puppetlabs.com/my/account

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Bugs" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/puppet-bugs?hl=en.

Reply via email to