包资源的复杂 Puppet 计划属性

包资源的复杂 Puppet 计划属性

所以我在 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一直使用了。

相关内容