如何在Ruby中复制文件(自定义Puppet类型)?

时间:2015-08-02 10:59:08

标签: ruby puppet

我正在创建自定义木偶类型。我对Ruby很陌生,所以我有一点问题。我有两个参数,destfile

newparam(:dest) do
    desc "The destination of the file"
    isnamevar

    validate do |value|
      unless Puppet::Util.absolute_path?(value)
        fail Puppet::Error, "File paths must be fully qualified, not '#{value}'"
      end
    end
  end

newparam(:file) do
    desc "The file to be copied."

   FileUtils.cp(file, dest)
   # As source I would like to use the value passed by :file.
   # As destination I would like to use the value passed by :dest above
end

作为来源,我想使用:file传递的值 作为目的地,我想使用:dest传递的值。
我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:1)

我认为你需要退一步思考你的类型应该建模的类型。

您是否尝试重新创建file类型的source媒体资源? (你真的需要吗?)

您的dest可能属于某个媒体资源,并且会在其sync行动期间进行复制。但这个模型将是相当笨重的抽象。您应该创建一个新问题,描述您的类型需要做什么,并就如何处理更大问题寻求建议。