So, I am trying to do something with a list (array) of users from hieara.
Here is the yaml:
profile::sysconfig::sftp_users: [ "joe", "bill",
"nancy" ]
In my profile I have a defined class "debugUsers" that I am calling
with
the array I got from hiera:
class profile::sysconfig::sftpserver {> define debugUsers {
> notify { "username: \"${user}\"": }
> }
> class doWork {
> $users = hiera('profile::sysconfig::sftp_users')
> validate_array($users)
> debugUsers { $users: }
> }
> include doWork
}
From everything I know and have read that should give me a notify line for
user in my array. But it doesn't. Instead I get this error from the agent:
Error: Could not retrieve catalog from remote server: Error 400 on SERVER:
> Duplicate declaration: Notify[username: ""] is already declared
in file
>
/etc/puppetlabs/puppet/environments/r10k/dev_users/modules/profile/manifests/sysconfig/sftpserver.pp:5;
> cannot redeclare at
>
/etc/puppetlabs/puppet/environments/r10k/dev_users/modules/profile/manifests/sysconfig/sftpserver.pp:5
Why am I getting duplicate null declarations? If I call out specific
elements of the array I get back exactly what I would expect:
class profile::sysconfig::sftpserver {> class doWork {
> $users = hiera('profile::sysconfig::sftp_users')
> validate_array($users)
> notify { "user1: \"${users[0]}\"": }
> notify { "user2: \"${users[1]}\"": }
> notify { "user3: \"${users[2]}\"": }
> }
> include doWork
}
returns this:
Notice: user1: "joe"> Notice: /Stage[main]/Profile::Sysconfig::Sftpserver::Dowork/Notify[user1:
> "joe"]/message: defined 'message' as 'user1:
"joe"'
> Notice: user3: "nancy"
> Notice: /Stage[main]/Profile::Sysconfig::Sftpserver::Dowork/Notify[user3:
> "nancy"]/message: defined 'message' as 'user3:
"nancy"'
> Notice: user2: "bill"
> Notice: /Stage[main]/Profile::Sysconfig::Sftpserver::Dowork/Notify[user2:
> "bill"]/message: defined 'message' as 'user2:
"bill"'
I am sure this is something really stupid, but can someone point out what
I'm doing wrong here?
Thanks,
--Sean
--
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 view this discussion on the web visit
https://groups.google.com/d/msgid/puppet-users/4477ce95-b58e-4ead-80bc-5ae9ef0b5bda%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.