Я использую сервер с вики, который предоставляется с помощью Puppet. Вот упрощенная версия моего wiki
класса:
class wiki($name, $repo, $username, $password) {
# details omitted
}
В настоящее время я использую его следующим образом:
class profiles::my_wiki_server {
class { 'wiki' :
name => 'wiki',
repo => 'wiki',
username => 'admin',
passowrd => 'topsecret'
}
}
Это прекрасно работает. Теперь я хочу запустить вики (давайте назовем это jokes
) на том же сервере. К сожалению, использование другого объявления class { 'wiki' :
не работает, поскольку я уже видел его в других вопросах.
Поэтому мой обходной путь - создать два класса:
class wiki($name, $repo, $username, $password) {
# details omitted
}
class wiki::default($name, $repo, $username, $password) {
include wiki
}
class wiki::jokes($name, $repo, $username, $password) {
include wiki
}
Я могу использовать такие как:
class profiles::my_wiki_server {
class { 'wiki::default' :
name => 'wiki',
repo => 'wiki',
username => 'admin',
passowrd => 'topsecret'
}
class { 'wiki::jokes' :
name => 'jokes',
repo => 'jokes',
username => 'admin',
passowrd => 'topsecret'
}
}
Однако, когда я делаю это, переменные не устанавливаются (Ошибка: expects a value for parameter 'name'
et c.).
Есть ли способ установить эти переменные, чтобы исходный класс wiki
мог их использовать?