+++ /dev/null
-# download from go
-define archive::go (
- String $server,
- Integer $port,
- String $url_path,
- String $md5_url_path,
- String $username,
- String $password,
- Enum['present', 'absent'] $ensure = present,
- String $path = $name,
- Optional[String] $owner = undef,
- Optional[String] $group = undef,
- Optional[String] $mode = undef,
- Optional[Boolean] $extract = undef,
- Optional[String] $extract_path = undef,
- Optional[String] $creates = undef,
- Optional[Boolean] $cleanup = undef,
- Optional[Stdlib::Compat::Absolute_path] $archive_path = undef,
-) {
-
- include ::archive::params
-
- if $archive_path {
- $file_path = "${archive_path}/${name}"
- } else {
- $file_path = $path
- }
-
- if $file_path !~ Stdlib::Compat::Absolute_path {
- fail("archive::go[${name}]: \$name or \$archive_path must be an absolute path!") # lint:ignore:trailing_comma
- }
-
- $go_url = "http://${server}:${port}"
- $file_url = "${go_url}/${url_path}"
- $md5_url = "${go_url}/${md5_url_path}"
-
- archive { $file_path:
- ensure => $ensure,
- path => $file_path,
- extract => $extract,
- extract_path => $extract_path,
- source => $file_url,
- checksum => go_md5($username, $password, $name, $md5_url),
- checksum_type => 'md5',
- creates => $creates,
- cleanup => $cleanup,
- username => $username,
- password => $password,
- }
-
- $file_owner = pick($owner, $archive::params::owner)
- $file_group = pick($group, $archive::params::group)
- $file_mode = pick($mode, $archive::params::mode)
-
- file { $file_path:
- owner => $file_owner,
- group => $file_group,
- mode => $file_mode,
- require => Archive[$file_path],
- }
-}