ah, right you are supplying entire hash in your defined resource. Missed it.
If your defined resource would accept: name, iphost and hostname - then you can use create_resources to define all 3 entry. On 17 Jan 2014 15:21, "Reinaldo Lima" <[email protected]> wrote: > With "create_resources" the error is: > > *Invalid parameter hostName on node* > > > And including the entry[name] in the resource name: > > *Resource title must be a String, not Hash* > > > > =( > > On Friday, January 17, 2014 5:10:16 AM UTC-2, Andrew wrote: >> >> another option to use create_resources('hostinclude',$netentry) >> On 16 Jan 2014 23:47, "Nick Cammorato" <[email protected]> wrote: >> >>> Your augeas resource is always called hosts_include which is why it's >>> doing that. Try including the entry[name] in that resource name. >>> On Jan 16, 2014 4:15 PM, "Reinaldo Lima" <[email protected]> wrote: >>> >>>> Hi Everyone, >>>> >>>> I'm trying to write a class that put some entries in "/etc/hosts" file >>>> as follow below: >>>> >>>> *class hosts {* >>>> >>>> * $netentry = {* >>>> * host01 => { iphost => '192.168.10.1', hostName => >>>> host01 },* >>>> * host02 => { iphost => '192.168.10.2', hostName => >>>> host02 },* >>>> * host03 => { iphost => '192.168.10.3', hostName => >>>> host03 },* >>>> * }* >>>> >>>> * define hostsinclude ($entry) {* >>>> * augeas { "hosts_include":* >>>> * incl => "/etc/hosts",* >>>> * lens => "Hosts.lns",* >>>> * changes => [* >>>> * "set /files/etc/hosts/01/ipaddr >>>> $entry[$name]['iphost']",* >>>> * "set >>>> /files/etc/hosts/01/canonical$entry[$name]['hostName']",* >>>> * ],* >>>> * onlyif => "match */ipaddr[ . = >>>> $entry[$name]['iphost'] ] size == 0"* >>>> * }* >>>> * }* >>>> >>>> * hostsinclude { [* >>>> * 'host01',* >>>> * 'host02',* >>>> * 'host03'* >>>> * ]:* >>>> * entry => $netentry* >>>> * }* >>>> >>>> *}* >>>> >>>> >>>> and, when puppet compiles the manifest, I get the following error: >>>> >>>> *err: Could not retrieve catalog from remote server: Error 400 on >>>> SERVER: Duplicate declaration: Augeas[hosts_include] is already declared in >>>> file /puppet/environments/production/modules/checklist/manifests/hosts.pp >>>> at line 10; cannot redeclare at >>>> /puppet/environments/production/modules/checklist/manifests/hosts.pp:29 on >>>> node* >>>> >>>> Someone can help me? >>>> >>>> Thanks >>>> >>>> -- >>>> You received this message because you are subscribed to the Google >>>> Groups "Puppet Users" group. >>>> To unsubscribe from this group and stop receiving emails from it, send >>>> an email to [email protected]. >>>> To view this discussion on the web visit https://groups.google.com/d/ >>>> msgid/puppet-users/fe9040f2-54de-4f9c-9787-4736b37219d9% >>>> 40googlegroups.com. >>>> For more options, visit https://groups.google.com/groups/opt_out. >>>> >>> -- >>> You received this message because you are subscribed to the Google >>> Groups "Puppet Users" group. >>> To unsubscribe from this group and stop receiving emails from it, send >>> an email to [email protected]. >>> To view this discussion on the web visit https://groups.google.com/d/ >>> msgid/puppet-users/CAKJ8awc5X%2B97jtxwbe%3DpjqhjqyuF8S_dR_ >>> GvAAXM%2BC8t3FC9xA%40mail.gmail.com. >>> For more options, visit https://groups.google.com/groups/opt_out. >>> >> -- > You received this message because you are subscribed to the Google Groups > "Puppet Users" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To view this discussion on the web visit > https://groups.google.com/d/msgid/puppet-users/4f31358c-652d-4afc-9919-aae783afa36c%40googlegroups.com > . > For more options, visit https://groups.google.com/groups/opt_out. > -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/CACzr%3DFdwj-bmkdUzMoutEBLPMa%2BZA%3Dt7v98COQfT%2Bk%2BjBrUzGg%40mail.gmail.com. For more options, visit https://groups.google.com/groups/opt_out.
