I am trying to assign users to multiple groups with a manifest, but I am running into walls.
Attempt 1:
class usergroup { group { "user_one": ensure => present, gid => 500, } group { "user_two": ensure => present, gid => 501, } group { "dev_site_one": ensure => present, gid => 502, } group { "dev_site_two": ensure => present, gid => 503, } group { "dev_site_three": ensure => present, gid => 504, } user { "user_one": ensure => present, uid => 500, gid => 500, gid => 502, gid => 503, gid => 504, } user { "user_two": ensure => present, uid => 501, gid => 501, } }
Launch:
puppet apply --noop ./init.pp
Profitability:
Error: duplicate the "gid" parameter for user [user_one] in /etc/puppet/modules/webserver/manifests/init.pp:159 on nodemy_web_server
Attempt 2:
I tried to wrest each gid declaration like this:
class usergroup { group { "user_one": ensure => present, gid => 500, } group { "user_two": ensure => present, gid => 501, } group { "dev_site_one": ensure => present, gid => 502, } group { "dev_site_two": ensure => present, gid => 503, } group { "dev_site_three": ensure => present, gid => 504, } user { "user_one": ensure => present, uid => 500, gid => 500, } user { "user_one": gid => 502, } user { "user_two": ensure => present, uid => 501, gid => 501, } }
Launch:
puppet apply --noop ./init.pp
Profitability:
Error: Duplicate ad: User [user_one] is already declared in the file /etc/puppet/modules/webserver/manifests/init.pp:156; can't redeclare on /etc/puppet/modules/webserver/manifests/init.pp:160 on node my_web_server
... where 160 is where I am trying to assign gid 502 user_one.
Question
Is there a way to assign multiple groups using Puppet, or do I need to assign these groups manually?