Kukla'nın bir dosyanın Source özelliği için internette bulunan bir dosyayı kullanmasının (basit) bir yolu var mı?
Örneğin:
file { "/home/text.txt":
source => [
"http://www.example.com/text.txt",
]
}
Kukla'nın bir dosyanın Source özelliği için internette bulunan bir dosyayı kullanmasının (basit) bir yolu var mı?
Örneğin:
file { "/home/text.txt":
source => [
"http://www.example.com/text.txt",
]
}
Yanıtlar:
Gelecekteki okuyuculara şimdi Dosya kaynağının gerçekten HTTP kaynağını uyguladığını bildirmek için güncelleştirilmiş bir yanıt yazıyorum.
Gönderen docs :
kaynak
Yerel sistemdeki yerine kopyalanacak bir kaynak dosyası. Bu özellik içerik ve hedefle karşılıklı olarak münhasırdır. İzin verilen değerler:
- kukla: Modüllerdeki dosyalara veya Kukla dosya sunucusu bağlama noktalarına işaret eden URI'ler.
- Yerel olarak kullanılabilir dosyalar için tam nitelikli yollar (NFS paylaşımları veya Windows eşlenmiş sürücülerdeki dosyalar dahil).
- dosya: Yerel dosya yollarıyla aynı şekilde davranan URI'ler.
- http: URI'ler, yaygın web sunucuları tarafından sunulan dosyalara işaret eder
Böylece yapıyı yazdığınız gibi kullanabilirsiniz:
file { "/home/text.txt":
source => "http://www.example.com/text.txt",
}
Bu oldu bir özellik olarak istenen yıllarca ... Ama bunun için özel bir işlev gerek bitirmek istiyorum ... ya kullanmak curl
ya wget
. Bkz. Kukla Dövmesi .
Text.txt dosyasında neler var?
Şu an kutudan çıkması mümkün değil:
kaynak:
...
Kullanılabilir URI şemaları kukla ve dosyadır. Kukla URI'leri, dosyaları Kukla'nın yerleşik dosya sunucusundan alır
Ben define
internette buldum kullanarak sona erdi :
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'
}