X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;ds=sidebyside;f=3rdparty%2Fmodules%2Farchive%2Fmanifests%2Fdownload.pp;fp=3rdparty%2Fmodules%2Farchive%2Fmanifests%2Fdownload.pp;h=c7be9a63a25494ae4bbd5908388d8ebe9a3874e2;hb=ce70d6baf887ae03a2a6a7f5e73eb2e2c3dea208;hp=0000000000000000000000000000000000000000;hpb=0ba93256399fbad7ed8fabfa39c24dd47169dde3;p=mirror%2Fdsa-puppet.git diff --git a/3rdparty/modules/archive/manifests/download.pp b/3rdparty/modules/archive/manifests/download.pp new file mode 100644 index 000000000..c7be9a63a --- /dev/null +++ b/3rdparty/modules/archive/manifests/download.pp @@ -0,0 +1,64 @@ +# == Definition: archive::download +# +# Archive downloader with integrity verification. +# +# Parameters: +# +# - *$url: +# - *$digest_url: +# - *$digest_string: Default value undef +# - *$digest_type: Default value "md5". +# - *$timeout: Default value 120. (ignored) +# - *$src_target: Default value "/usr/src". +# - *$allow_insecure: Default value false. +# - *$follow_redirects: Default value false. +# - *$verbose: Default value true. +# - *$proxy_server: Default value undef. +# - *$user: The user used to download the archive +# +# Example usage: +# +# archive::download {"apache-tomcat-6.0.26.tar.gz": +# ensure => present, +# url => "http://archive.apache.org/dist/tomcat/tomcat-6/v6.0.26/bin/apache-tomcat-6.0.26.tar.gz", +# } +# +# archive::download {"apache-tomcat-6.0.26.tar.gz": +# ensure => present, +# digest_string => "f9eafa9bfd620324d1270ae8f09a8c89", +# url => "http://archive.apache.org/dist/tomcat/tomcat-6/v6.0.26/bin/apache-tomcat-6.0.26.tar.gz", +# } +# +define archive::download ( + String $url, + Enum['present', 'absent'] $ensure = present, + Boolean $checksum = true, + Optional[String] $digest_url = undef, + Optional[String] $digest_string = undef, + Optional[Enum['none', 'md5', 'sha1', 'sha2','sha256', 'sha384', 'sha512']] $digest_type = 'md5', # bad default! + Integer $timeout = 120, # ignored + Stdlib::Compat::Absolute_path $src_target = '/usr/src', + Boolean $allow_insecure = false, + Boolean $follow_redirects = false, # ignored (default) + Boolean $verbose = true, # ignored + String $path = $::path, # ignored + Optional[String] $proxy_server = undef, + Optional[String] $user = undef, +) { + $target = ($title =~ Stdlib::Compat::Absolute_path) ? { + false => "${src_target}/${title}", + default => $title, + } + + archive { $target: + ensure => $ensure, + source => $url, + checksum_verify => $checksum, + checksum => $digest_string, + checksum_type => $digest_type, + checksum_url => $digest_url, + proxy_server => $proxy_server, + user => $user, + allow_insecure => $allow_insecure, + } +}