有一种(简单)的方式让木偶使用互联网上的文件的源属性文件?
例如:
file { "/home/text.txt": source => [ "http://www.example.com/text.txt", ] }
我正在写一个更新的答案来通知未来的读者,现在文件资源确实实现了HTTP源。
从文档 :
资源
源文件,将被复制到本地系统上。 此属性与内容和目标互斥。 允许的值是:
- puppet:指向模块中的文件或Puppet文件服务器挂载点的URI。
- 完全合格的本地可用文件path(包括NFS共享或Windows映射驱动器上的文件)。
- 文件:URI,其行为与本地文件path相同。
- http:URI,指向通用Web服务器提供的文件
所以你可以使用你写的构造:
file { "/home/text.txt": source => "http://www.example.com/text.txt", }
它被要求作为一个function多年…但你最终需要一个自定义函数…或使用curl或wget 。 见木偶伪造 。
什么是text.txt?
现在是不可能的:
资源:
…
可用的URIscheme是木偶和文件。 Puppet URI将从Puppet的内置文件服务器中检索文件
我结束了使用在互联网上find的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' }