Назад | Перейти на главную страницу

Один и тот же класс / модуль / или что угодно несколько раз

Марионетка, должно быть, меня ненавидит. Я читаю документ несколько часов подряд и до сих пор не могу добиться следующего:

В псевдокоде это будет:

# The class
classorwhatever myclass ($value) {
    notify { "$value world" }
}

# In the node definition
node whatever {
    myclass("Hello")
    myclass("Goodbye")
}

Я чувствую себя такой глупой, что это даже не смешно. Я знаю это должен быть выполнимым. Но как? :(

Вы можете использовать параметризованный класс только один раз. Если вы планируете несколько раз ударить по узлу с помощью функции, меняя определения данных, вы можете пойти.

пример

class apache ( $module ) {
  if module = ssl then and so on
}

define apache::vhost ($priority=99) {
  file { "apache/vhost.d/${name}":
    content => template("apache/vhosts/$name.erb"),
  }
}

node webserver {
  class { 'apache': module => 'ssl', }
  apache::vhost { 'www': priority => 00, }
  apache::vhost { 'test': priority => 99, } 
}