web-dev-qa-db-ja.com

配列パラメーターに基づいてPuppet定義にリソースを要求するにはどうすればよいですか?

私は次のような定義を持っています:

define user::sys_user($fullname, $uid, $groups, $Shell='/bin/bash', $authkey, $authkey_type=rsa) {
        $username = "sys_${name}"
        group { $username:
                gid =>  $uid,
        }

        user { $username:
                require => Group[$username],
                ensure => present,
                uid => $uid,
                gid => $uid,
                groups => $groups,
                comment => $fullname,
                Shell => $Shell,
                managehome => true,
                allowdupe => false,
        }

        ssh_authorized_key { "${username}_authkey":
                user => $username,
                ensure => present,
                key => $authkey,
                type => $authkey_type,
        }
}

userリソースで、ユーザーのデフォルトグループを要求しています。また、パラメーター$ groupsで指定されている場合は、補足グループを要求したいと思います。

また、私がする方法ですgroups => $groups空の場合、または文字列だけの場合(つまり、配列ではなく1つのグループのみを定義する場合)は失敗しますか?

1

はい、 groups => $groups失敗する可能性があります。ここでは特に失敗しないかもしれませんが、この特定のパターンは安全ではありません。

設定されているかどうかをテストするifステートメントを配置し、userおよびif本体にelseを定義します。

0