Site icon Mr. 沙先生

Puppet 用 create_resources 來建立多個 resource type

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

 

 

 

Exit mobile version