diff -r a2342f26c9de -r b0b56e0f8c7f dev/provisioning/modules/archive/manifests/init.pp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/dev/provisioning/modules/archive/manifests/init.pp Fri Jan 15 15:35:00 2016 +0100 @@ -0,0 +1,82 @@ +# == Definition: archive +# +# Download and extract an archive. +# +# Parameters: +# +# - *$url: +# - *$target: Destination directory +# - *$purge_target: Purge Destination prior to extraction. Default false +# - *$checksum: Default value "true" +# - *$digest_url: Default value undef +# - *$digest_string: Default value undef +# - *$digest_type: Default value "md5" +# - *$src_target: Default value "/usr/src" +# - *$root_dir: Default value undef +# - *$extension: Default value ".tar.gz" +# - *$timeout: Default value 120 +# - *$allow_insecure: Default value false +# - *$follow_redirects: Default value false +# - *$verbose: Default value true +# - *$strip_components: Default value 0 +# - *$proxy_server: Default value undef +# - *$user: User used to do the download and the extraction. The final directory will be used by him/her. +# +# Example usage: +# +# archive {"apache-tomcat-6.0.26": +# ensure => present, +# url => "http://archive.apache.org/dist/tomcat/tomcat-6/v6.0.26/bin/apache-tomcat-6.0.26.tar.gz", +# target => "/opt", +# } +# +define archive ( + $url, + $target, + $ensure=present, + $checksum=true, + $digest_url=undef, + $digest_string=undef, + $digest_type='md5', + $timeout=120, + $root_dir=undef, + $extension='tar.gz', + $src_target='/usr/src', + $allow_insecure=false, + $follow_redirects=false, + $verbose=true, + $strip_components=0, + $proxy_server=undef, + $purge_target=false, + $user=undef, +) { + + archive::download {"${name}.${extension}": + ensure => $ensure, + url => $url, + checksum => $checksum, + digest_url => $digest_url, + digest_string => $digest_string, + digest_type => $digest_type, + timeout => $timeout, + src_target => $src_target, + allow_insecure => $allow_insecure, + follow_redirects => $follow_redirects, + verbose => $verbose, + proxy_server => $proxy_server, + user => $user, + } + + archive::extract {$name: + ensure => $ensure, + target => $target, + purge => $purge_target, + src_target => $src_target, + root_dir => $root_dir, + extension => $extension, + timeout => $timeout, + strip_components => $strip_components, + require => Archive::Download["${name}.${extension}"], + user => $user, + } +}