区分 Puppet 代码中的常规调用和一次性调用
Distinguishing between regular and one-time invocations in Puppet code
Puppet 脚本能否确定它是否作为常规配置的一部分被调用 运行,即 Puppet 代理是否定期应用配置(即 puppet agent
),或者因为一次性操作(例如 puppet agent -t
、puppet apply
)?
我还没有在实践中尝试过这个,但以下可能会提供前进的方向:
command line (such as --test
) are also available as Puppet master variables 上的设置(例如$settings::test
)。
Puppet master 变量 $servername
标识 puppet agent
次运行的 Puppet master,并且(可能)undef
次 puppet apply
次运行。
因此,整体解决方案的配方可能如下所示:
$onetime = $settings::test or $settings::onetime or ($servername == undef)
Puppet 脚本能否确定它是否作为常规配置的一部分被调用 运行,即 Puppet 代理是否定期应用配置(即 puppet agent
),或者因为一次性操作(例如 puppet agent -t
、puppet apply
)?
我还没有在实践中尝试过这个,但以下可能会提供前进的方向:
command line (such as --test
) are also available as Puppet master variables 上的设置(例如$settings::test
)。
Puppet master 变量 $servername
标识 puppet agent
次运行的 Puppet master,并且(可能)undef
次 puppet apply
次运行。
因此,整体解决方案的配方可能如下所示:
$onetime = $settings::test or $settings::onetime or ($servername == undef)