Puppet 中有很多很方便的 function 可以使用,而 create_resources 就是我很常拿來套用的一個 function,在管理組態時你可能會遇到想要建立多個 resources,然後又要每個 resource 都寫一次,而只是參數不同而已。
舉例:建立多個 user 一般會這樣寫
class example {
user { 'scott':
password => 'abcd',
}
user { 'nick':
password => '1234',
}
user { 'eric':
password => '1qaz',
}
}
只不過建立 user 而已就這麼長一串,覺得很笨。
但是用了 create_resources 之後就會變成這樣
class example (
$myusers = {
'scott' => { password => 'abcd', },
'nick' => { password => '1234', },
'eric' => { password => '1qaz', },
},
) {
create_resource(user, $myuser)
}
如果你有許多相同的項目可以用逗號分隔:
class example (
$user_defaults = {
'ensure' => present,
'provider' => 'ldap',
},
$myusers = {
'scott' => { password => 'abcd', },
'nick' => { password => '1234', },
'eric' => { password => '1qaz', },
},
) {
create_resource(user, $myuser, $user_defaults)
}
少寫了好多程式碼 XDD
