Answers:
我正在写一个更新的答案,以通知未来的读者,现在File资源确实实现了HTTP源。
从文档:
资源
源文件,它将被复制到本地系统上的适当位置。此属性与内容和目标互斥。允许的值为:
- puppet:URI,指向模块中的文件或Puppet文件服务器安装点。
- 本地可用文件(包括NFS共享或Windows映射驱动器上的文件)的标准路径。
- 文件:URI,其行为与本地文件路径相同。
- http:URI,指向普通Web服务器提供的文件
因此,您可以在编写代码时使用它:
file { "/home/text.txt":
source => "http://www.example.com/text.txt",
}
目前无法立即使用:
资源:
...
可用的URI方案是puppet和file。Puppet URI将从Puppet的内置文件服务器中检索文件
我最终使用define
了在互联网上找到的信息:
define remote_file($remote_location=undef, $mode='0644'){
exec{ "retrieve_${title}":
command => "/usr/bin/wget -q ${remote_location} -O ${title}",
creates => $title,
}
file{$title:
mode => $mode,
require => Exec["retrieve_${title}"],
}
}
remote_file{'/home/text.txt':
remote_location => 'http://www.example.com/text.txt'
}