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