dev/provisioning/modules/archive/manifests/init.pp
changeset 28 b0b56e0f8c7f
child 405 f239c8c5bb94
equal deleted inserted replaced
27:a2342f26c9de 28:b0b56e0f8c7f
       
     1 # == Definition: archive
       
     2 #
       
     3 # Download and extract an archive.
       
     4 #
       
     5 # Parameters:
       
     6 #
       
     7 # - *$url:
       
     8 # - *$target: Destination directory
       
     9 # - *$purge_target: Purge Destination prior to extraction. Default false
       
    10 # - *$checksum: Default value "true"
       
    11 # - *$digest_url: Default value undef
       
    12 # - *$digest_string: Default value undef
       
    13 # - *$digest_type: Default value "md5"
       
    14 # - *$src_target: Default value "/usr/src"
       
    15 # - *$root_dir: Default value undef
       
    16 # - *$extension: Default value ".tar.gz"
       
    17 # - *$timeout: Default value 120
       
    18 # - *$allow_insecure: Default value false
       
    19 # - *$follow_redirects: Default value false
       
    20 # - *$verbose: Default value true
       
    21 # - *$strip_components: Default value 0
       
    22 # - *$proxy_server: Default value undef
       
    23 # - *$user: User used to do the download and the extraction. The final directory will be used by him/her.
       
    24 #
       
    25 # Example usage:
       
    26 #
       
    27 #   archive {"apache-tomcat-6.0.26":
       
    28 #     ensure => present,
       
    29 #     url    => "http://archive.apache.org/dist/tomcat/tomcat-6/v6.0.26/bin/apache-tomcat-6.0.26.tar.gz",
       
    30 #     target => "/opt",
       
    31 #   }
       
    32 #
       
    33 define archive (
       
    34   $url,
       
    35   $target,
       
    36   $ensure=present,
       
    37   $checksum=true,
       
    38   $digest_url=undef,
       
    39   $digest_string=undef,
       
    40   $digest_type='md5',
       
    41   $timeout=120,
       
    42   $root_dir=undef,
       
    43   $extension='tar.gz',
       
    44   $src_target='/usr/src',
       
    45   $allow_insecure=false,
       
    46   $follow_redirects=false,
       
    47   $verbose=true,
       
    48   $strip_components=0,
       
    49   $proxy_server=undef,
       
    50   $purge_target=false,
       
    51   $user=undef,
       
    52 ) {
       
    53 
       
    54   archive::download {"${name}.${extension}":
       
    55     ensure           => $ensure,
       
    56     url              => $url,
       
    57     checksum         => $checksum,
       
    58     digest_url       => $digest_url,
       
    59     digest_string    => $digest_string,
       
    60     digest_type      => $digest_type,
       
    61     timeout          => $timeout,
       
    62     src_target       => $src_target,
       
    63     allow_insecure   => $allow_insecure,
       
    64     follow_redirects => $follow_redirects,
       
    65     verbose          => $verbose,
       
    66     proxy_server     => $proxy_server,
       
    67     user             => $user,
       
    68   }
       
    69 
       
    70   archive::extract {$name:
       
    71     ensure           => $ensure,
       
    72     target           => $target,
       
    73     purge            => $purge_target,
       
    74     src_target       => $src_target,
       
    75     root_dir         => $root_dir,
       
    76     extension        => $extension,
       
    77     timeout          => $timeout,
       
    78     strip_components => $strip_components,
       
    79     require          => Archive::Download["${name}.${extension}"],
       
    80     user             => $user,
       
    81   }
       
    82 }