Я использую модуль WSUS с Puppet Master на Centos 7.2. Мои серверы Puppet Agent работают под управлением Windows Server 2012.
Я хочу использовать манифест с переменной. Однако, когда на сервере Puppet Agent запущен марионеточный агент, отображается «ошибка 400, синтаксическая ошибка». Я попытался переписать манифест и все возможные варианты. Я все время получаю ошибку.
Вот один пример манифеста:
class excellent {
class { 'wsus_client':
$cool = 'Saturday'
server_url => 'http://acme.com',
auto_update_option => 'Scheduled'
scheduled_install_day => $cool,
scheduled_install_hour => 1,
}
}
Я пробовал назначать переменную в фигурных скобках {}. Я пробовал использовать $ LOAD_PATH, --custom-dir и FACTERLIB. Но я не мог понять, как использовать любой из этих трех.
Я хочу изменить переменную в одном месте и использовать ее в рамках ее родительского класса. Что мне делать?
Вы пробовали этот способ?
class excellent {
$cool = 'Saturday'
class { 'wsus_client':
server_url => 'http://acme.com',
auto_update_option => 'Scheduled'
scheduled_install_day => $cool,
scheduled_install_hour => 1,
}
}
Или, таким образом
class excellent (
$cool = 'Saturday'
){
class { 'wsus_client':
server_url => 'http://acme.com',
auto_update_option => 'Scheduled'
scheduled_install_day => $cool,
scheduled_install_hour => 1,
}
}
Вы, кажется, сейчас пытаетесь присвоить значение переменной в объявлении класса . Назначение переменных должно быть отдельным.
$cool = 'Saturday'
Объявление вашего класса должно выглядеть так.
class {'namevar':
a => 'a',
b => 'b',
c => 'c'
}