一切都完成后或 exec 完成后执行 create_resource
Execute create_resource after everything has finished or after exec has finished
是否可以控制create_resources函数的执行?假设我有一个 class 和一个定义:
define do::something($a, $b) {
exec { .. }
exec { .. }
}
class do::foo {
$params = {
'a' => { .. },
'b' => { .. }
}
exec {'I need to run first': ... }
create_resources('do::something', $params)
}
在我的例子中,我使用 do::something
将密钥添加到 key/value 商店。但我需要先等待 exec
刷新这家商店。如果 exec
在 create_resources
之后,这些键将不会在 key/value 存储中,因为刷新会删除它们。
我尝试过使用 ->
方法和 notify => Exec[]
但我不确定在这种情况下如何传递参数。 create_resource
有它自己的条件天气它将执行但每次都需要在 exec
之后调用它。
与所有 Puppet 功能一样,create_resources()
在目录构建期间运行 。每个目录都是在应用其中声明的任何资源之前完全构建的,并且通常在与其预期的机器不同的机器上。您所追求的似乎不是调节 create_resources()
的行为,而是管理它添加到目录中的资源的相对应用顺序。
而且你可以很容易地通过链操作员和资源收集器来做到这一点。例如,添加
Exec['I need to run first'] -> Do::Something<||>
到 class do::foo
的正文。对此有很多可能的变体,还有一些替代方法,但我需要具体用例的详细信息才能提出更有力或更具体的建议。
是否可以控制create_resources函数的执行?假设我有一个 class 和一个定义:
define do::something($a, $b) {
exec { .. }
exec { .. }
}
class do::foo {
$params = {
'a' => { .. },
'b' => { .. }
}
exec {'I need to run first': ... }
create_resources('do::something', $params)
}
在我的例子中,我使用 do::something
将密钥添加到 key/value 商店。但我需要先等待 exec
刷新这家商店。如果 exec
在 create_resources
之后,这些键将不会在 key/value 存储中,因为刷新会删除它们。
我尝试过使用 ->
方法和 notify => Exec[]
但我不确定在这种情况下如何传递参数。 create_resource
有它自己的条件天气它将执行但每次都需要在 exec
之后调用它。
与所有 Puppet 功能一样,create_resources()
在目录构建期间运行 。每个目录都是在应用其中声明的任何资源之前完全构建的,并且通常在与其预期的机器不同的机器上。您所追求的似乎不是调节 create_resources()
的行为,而是管理它添加到目录中的资源的相对应用顺序。
而且你可以很容易地通过链操作员和资源收集器来做到这一点。例如,添加
Exec['I need to run first'] -> Do::Something<||>
到 class do::foo
的正文。对此有很多可能的变体,还有一些替代方法,但我需要具体用例的详细信息才能提出更有力或更具体的建议。