使用 puppet 时,我曾经做过类似以下的事情:
class common_vars {
$some_var = calculate_some_var()
}
class A {
Class[common_vars] -> Class[A]
do_something_with($common_vars::some_var)
}
class B {
Class[common_vars] -> Class[B]
do_something_else_with($common_vars::some_var)
}
我现在正在 saltstack 中寻找类似的东西。
例如,我使用它来设置绑定到特定网络地址的网络服务。我首先设置网络,然后计算一些常用地址,然后设置网络服务。
我不想在每个状态文件中一遍又一遍地计算这些地址(不同的服务可能共享相同的地址),我想计算一次,然后再使用它们。