Hi, first of all thanks to Jan-Piet for share it.
 My mistake was around shape an inline_template parameter, everything
is ok just deleting linefeeds and spaces characters in it, like this :

     -----
        $res = inline_template(
          "<% users.each do |usr| -%><% usr.each do |k,v| -%><%= k %>:<
%= usr[k]['email'] %>:<%= v['type'] %>:<%= v['key'] %>;<% end -%><%
end -%>")

    # Now create an array from that result
    $users_array = split($res, '[;]')

   one_user{ $users_array: }

     define one_user() {
        $u = split($title, '[:]')
     -----

 This way the inline_template parameter is not readable but it's the
way to do it.

 Regards,
  eduardo.

On 9 jun, 10:03, eduardo <erodr...@gmail.com> wrote:
>  errata for 2) , It should be
>
> Putting function split in a head of class having unique sense to check
> for structure is tell me that parameter is an array not expected hash
> variable.  Why ?
>
>  sorry
>
> On 9 jun, 09:48, eduardo <erodr...@gmail.com> wrote:
>
>
>
>
>
>
>
> >   Dear all,
>
> >   I'm trying to do mass update ssh-accounts by ENC Puppet DSL. I found
> > great reference 
> > inhttp://jpmens.net/2011/07/25/external-node-classification-and-data-in...
> > from Jan-Piet , if anyone had test it may be could help me in a couple
> > issues.
>
> > 1)  I got "Duplicate definition" error while calling define resource
> > one{ $user_array: } to workaround I change defined resource like
> > define one_user($arr) , so to call it one_user{ 'tit': arr => $res } .
> > Jan-Piet said 'to call my one_user() "function" once for each array
> > element' , It's essencial for the mass load but How to do it ?.
>
> > 2) Testing are tell me that input parameter class for
> >inline_template() has not hash structure instead it is array. Putting
> > function split in a head of class having unique sense to check for
> > structure is tell me that parameter is an array not expected string
> > variable.  Why ?
>
> >  My test , I inserted some comments ## upercase  :
>
> > class updssh( $users ) {
>
> >    $users_array = split($users, '[ ;]')  ## NO SENSE , ONLY FOR CHECK
> > $users VARIABLE STRUCTURE
>
> >    notify{'MSG1': message => "$users" }
>
> >         $res =inline_template(     ## RETURN ARRAY
> >           "<% users.each_with_index do |usr, i| -%>
> >             <% usr.each do |k,v| -%>
> >                <%= k %>:<%= usr[k]['email'] %>:<%= v['type'] %>:<%=
> > v['key'] %>
> >            <% end -%>
> >             ;
> >          <% end -%>")
>
> >     # Now create an array from that result
> >     $users_array = split($res, '[ ;]')  ## $res IS AN ARRAY NOT AN
> > STRING VARIABLE  !!!
>
> >   #one_user{ $users_array: }   ## HOW TO DO IT ??
>
> >         one_user{ 'tit':   ## WORKAROUNT AVOIDING "Duplicate
> > definition" error
> >               arr => $res          ### SAME RETURN FROM INLINE,
> >                }
>
> >     define one_user($arr) {
> >        ##  $u = split($title, '[:]')
> >          $u = split($arr, '[:]')
>
> >         $username = $u[0]
> >         $email = $u[1]
> >         $type = $u[2]
>
> >         $dd = $u[6]
>
> >        $msg = sprintf('user=%s, email=%s, type=%s , dd=%s', $username,
> > $email, $type, $dd)
>
> >         notify{'MSG': message => "$msg" }
>
> >     }
>
> > }
>
> > The ENC data are :
>
> >   ---
> > parameters: {}
>
> > classes:
> >   updssh:
> >     users:
> >     - ppuser7:
> >         type: ssh-rsa
> >         user_auth: JOJOXX
> >         user_ssh: ppuser7
> >         key: XXLLAVEXX_DE_PRUEBA_UPD_SSH_PARA_PPUSER7
> >         email: ppus...@speedy.com
> >     - ppuser8:
> >         type: ssh-rsa
> >         user_ssh: ppuser8
> >         key: LLAVEXX_DE_PRUEBA_UPD_SSH_PARA_PPUSER8
> >         email: ppus...@speedy.com
>
> >   Any suggestion ?.
> >    Thanks in advanced,
> >    eduardo.

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To post to this group, send email to puppet-users@googlegroups.com.
To unsubscribe from this group, send email to 
puppet-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/puppet-users?hl=en.

Reply via email to