Марионетка, должно быть, меня ненавидит. Я читаю документ несколько часов подряд и до сих пор не могу добиться следующего:
В псевдокоде это будет:
# 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, }
}