【发布时间】:2021-10-12 08:28:50
【问题描述】:
有谁知道是否可以将变量从 puppet 类传递到 .yaml 文件?
class my_module::my_class () {
$current_date = '2021-10-12';
}
目标是能够在 .yaml 文件中获取变量的值
my_module::my_class::date_from_class:
我不知道这是否有可能。 提前致谢
【问题讨论】:
有谁知道是否可以将变量从 puppet 类传递到 .yaml 文件?
class my_module::my_class () {
$current_date = '2021-10-12';
}
目标是能够在 .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 my_module::another_class {
include my_module::my_class
$the_date = $my_module::my_class::current_date
}
【讨论】: