名前空間などに頭を包み込もうとしている新しいパペットユーザー。
私は現在、というモジュールに取り組んでいますuser
。とにunixuser
クラスとunixgroup
クラスがunixuser.pp
ありunixgroup.pp
ます。質問はユーザーの作成に限定します。
init.pp
現在、以下のみが含まれています。
class user {
class {'user::unixuser': }
class {'user::unixgroup': }
# Create groups before creating users
Class['user::unixgroup'] -> ['user::unixuser']
}
で、仮想リソースのみを定義したいと思いますunixuser.pp
。unixgroup.pp
これを行う関数はfunctions.pp
、読みやすくするために必要です。
質問1:functions.pp
定義のみを含める必要がありますか、それとも定義をクラス内に配置する必要がありますか?したがって、コードではfunctions.pp
、これを含める必要があります。
class user::functions {
define login ($uid, $gid) {
user { $title:
ensure => present,
uid => $uid,
gid => $gid,
}
}
}
またはdefine login
、user :: Functionsクラスに含めるべきではありませんか?もしそうなら、そのdefine
線はdefine user::login
何か他のものでなければなりませんか?
さらに進むunixuser.pp
と、次の(不完全な)スタンザに似たものが含まれます。
class user::unixuser {
@something { 'admin':
uid => 1000,
gid => 1000,
}
}
これがすべて終了したらrealize
、ユーザーは。のnodes.pp
ようなものを使用しますrealize User::Something['admin']
。
質問2:クラスに関数をどのようuser::unixuser
に認識させる必要がありlogin
ますか?class user::unixuser inherits user::functions
これは、持っているか、持っているべきinclude user::functions
か、class {'user::functions': }
または...によって行われますか?
質問3:質問2に基づいて、クラスがうまく遊ぶ@something
ときの代わりに何が起こりますか?user::unixuser
functions.pp
できる限り質問を作成しようとしましたが、それでも少し混沌としている場合は、お詫び申し上げます。:)