FAQ
Hi,

Yet another newbie question .. I'd appreciate any good references, too!

I'm creating a class for managing users, and defining "my_user" as a
convenience function that I've seen in many patterns. I'd like it to manage
passwords if one is supplied to the function.

class users::virtual {
   define ssh_user($passwd, $key) {
     user { $name:
       ensure => present,
       managehome => true,
       if $passwd != '' {
          password = $passwd
       }
     }

   # more code here
}


I get an syntax error on the "if" statement when I run the agent:
Error: Could not retrieve catalog from remote server: Error 400 on SERVER:
Syntax error at 'passwd'; expected '}' at <FILE>.pp:17 on node <FQDN>

Thinking it was a scoping error I've tried various combinations to
qualify the "passwd" parameter but nothing seems to have helped.

Any guidance would be appreciated.

Mark

--
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 puppet-users+unsubscribe@googlegroups.com.
To post to this group, send email to puppet-users@googlegroups.com.
Visit this group at http://groups.google.com/group/puppet-users.
For more options, visit https://groups.google.com/groups/opt_out.

Search Discussions

  • Frederiko Costa at Sep 21, 2013 at 11:29 pm
    Hi,

    I believe it could be this way:

    define ssh_user($passwd, $key) {
         user { $name:
           ensure => present,
           managehome => true,
           password = $passwd ? {
               /\w+/ => $passwd,
              default => undef,
           }
      }

    I think you should also double check the class with a define inside.



    -frederiko


    On Sat, Sep 21, 2013 at 3:42 PM, mark bradley wrote:

    Hi,

    Yet another newbie question .. I'd appreciate any good references, too!

    I'm creating a class for managing users, and defining "my_user" as a
    convenience function that I've seen in many patterns. I'd like it to manage
    passwords if one is supplied to the function.

    class users::virtual {
    define ssh_user($passwd, $key) {
    user { $name:
    ensure => present,
    managehome => true,
    if $passwd != '' {
    password = $passwd
    }
    }

    # more code here
    }


    I get an syntax error on the "if" statement when I run the agent:
    Error: Could not retrieve catalog from remote server: Error 400 on SERVER:
    Syntax error at 'passwd'; expected '}' at <FILE>.pp:17 on node <FQDN>

    Thinking it was a scoping error I've tried various combinations to
    qualify the "passwd" parameter but nothing seems to have helped.

    Any guidance would be appreciated.

    Mark

    --
    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 puppet-users+unsubscribe@googlegroups.com.
    To post to this group, send email to puppet-users@googlegroups.com.
    Visit this group at http://groups.google.com/group/puppet-users.
    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 puppet-users+unsubscribe@googlegroups.com.
    To post to this group, send email to puppet-users@googlegroups.com.
    Visit this group at http://groups.google.com/group/puppet-users.
    For more options, visit https://groups.google.com/groups/opt_out.

Related Discussions

Discussion Navigation
viewthread | post
Discussion Overview
grouppuppet-users @
categoriespuppet
postedSep 21, '13 at 10:42p
activeSep 21, '13 at 11:29p
posts2
users2
websitepuppetlabs.com

2 users in discussion

Mark bradley: 1 post Frederiko Costa: 1 post

People

Translate

site design / logo © 2022 Grokbase