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 [email protected].
To post to this group, send email to [email protected].
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 [email protected].
    To post to this group, send email to [email protected].
    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 [email protected].
    To post to this group, send email to [email protected].
    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 © 2023 Grokbase