所以我在 puppet 中看到了资源计划。但不清楚我是否可以制定复杂的计划。如果我只想在周一晚上 10 点至凌晨 3 点或周二上午 10 点至中午安装软件包,除非(另一个系统提供的外部事实)为真,否则最好的方法是什么?我是否需要创建 2 个计划资源、2 个软件包资源,每个资源都有不同的计划,但其他方面相同(也许定义在这里有帮助?)以及包裹在 if $fact == true 语句中的没有计划的软件包资源?
我正在考虑执行 if 语句,这将处理我所说的标志。但是我可以将 2 个或更多计划传递给资源吗?
IE
schedule { 'monday_updates':
range => '22:00 - 03:00',
weekday => 'Monday',
}
schedule { 'tuesday_updates':
range => '10:00 - 12:00',
weekday => 'Tuesday',
}
$updates = ['monday_updates','tuesday_updates']
package { $additionalwindowspackages:
ensure => latest,
provider => 'chocolatey',
schedule => $updates,
}
答案1
不。你想要一个像这样的结构
case $schedule_control_fact {
'some_value': {
$range = X
$day = Y
},
default: {
$range = Z
$day = A
}
}
schedule { 'package-schedule':
range => $range,
weekday => $day,
}
然后就可以package-schedule
一直使用了。