将变量从 puppet class 传递到 hiera .yaml 文件
Pass variable from a puppet class to a hiera .yaml file
有谁知道是否可以将变量从 puppet class 传递到 .yaml 文件?
class my_module::my_class () {
$current_date = '2021-10-12';
}
objective就是可以获取.yaml文件中变量的值
my_module::my_class::date_from_class:
我不知道这是否可行。
提前致谢
可以interpolate the value of a class variable into your Hiera data:
my_module::my_class::date_from_class: %{my_module::my_class::current_date}
但这样做通常是不明智的,因为 class 变量只有在 class 被求值后才会收到它们的值。 Class 评估顺序很难预测,并且可能会随着清单集或 class 参数值的变化而变化。
如果另一个 class 想要有问题的值,那么它可以直接访问 class 变量。尽管这受到同样的警告,但至少另一个 class 有权确保在访问变量之前评估变量的宿主 class:
class my_module::another_class {
include my_module::my_class
$the_date = $my_module::my_class::current_date
}
有谁知道是否可以将变量从 puppet class 传递到 .yaml 文件?
class my_module::my_class () {
$current_date = '2021-10-12';
}
objective就是可以获取.yaml文件中变量的值
my_module::my_class::date_from_class:
我不知道这是否可行。 提前致谢
可以interpolate the value of a class variable into your Hiera data:
my_module::my_class::date_from_class: %{my_module::my_class::current_date}
但这样做通常是不明智的,因为 class 变量只有在 class 被求值后才会收到它们的值。 Class 评估顺序很难预测,并且可能会随着清单集或 class 参数值的变化而变化。
如果另一个 class 想要有问题的值,那么它可以直接访问 class 变量。尽管这受到同样的警告,但至少另一个 class 有权确保在访问变量之前评估变量的宿主 class:
class my_module::another_class {
include my_module::my_class
$the_date = $my_module::my_class::current_date
}