Я использую модуль 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'
}