Puppet 在满足依赖关系时运行函数

Puppet 在满足依赖关系时运行函数,puppet,Puppet,我在puppet中有一个函数,它创建一个临时文件夹用作临时目录。但是,由于puppet的工作方式,函数在编译时运行,因此始终创建文件夹 我想在函数中添加一个依赖项 以下是函数: module Puppet::Parser::Functions newfunction(:create_temporary, :type => :rvalue) do |args| temporary = Dir.mktmpdir temporary end end

我在puppet中有一个函数,它创建一个临时文件夹用作临时目录。但是,由于puppet的工作方式,函数在编译时运行,因此始终创建文件夹

我想在函数中添加一个依赖项

以下是函数:

module Puppet::Parser::Functions
    newfunction(:create_temporary, :type => :rvalue) do |args|
        temporary = Dir.mktmpdir
        temporary
    end
end

什么样的依赖?您正在使用mktmpdir,每次在编译期间调用此函数时,Ruby的系统调用都会创建一个新的temp dir。我运行一个exec来确定是否应该安装一个程序。如果程序没有运行,我不会清理文件夹。这意味着每次运行我都会有一个新的空tempdir需要删除。不计算。函数在主机上运行,exec在代理上运行。现在还不清楚会发生什么,你期待什么。请扩展问题来描述您的整个场景。我正在运行masterless,因此代理和master是同一个。如果每次运行都创建一个临时目录,那么这可能会更好?