我在 Centos 7.2 上使用 WSUS 模块和 Puppet Master。我的 Puppet Agent 服务器运行的是 Windows Server 2012。
我想使用带有变量的清单。但是,当 Puppet Agent 服务器运行 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。但我不知道如何使用这三个中的任何一个。
我想在一个地方更改变量并在其父类范围内使用它。我该怎么做?
答案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,
}
}
或者这样
class excellent (
$cool = 'Saturday'
){
class { 'wsus_client':
server_url => 'http://acme.com',
auto_update_option => 'Scheduled'
scheduled_install_day => $cool,
scheduled_install_hour => 1,
}
}
答案2
您目前似乎正在尝试为类声明。您的变量赋值需要分开。
$cool = 'Saturday'
你的类声明应该是这样的。
class {'namevar':
a => 'a',
b => 'b',
c => 'c'
}