43 lines
1.7 KiB
ObjectPascal
43 lines
1.7 KiB
ObjectPascal
|
# The define resource extracts compressed file to a staging location.
|
||
|
define staging::deploy (
|
||
|
$source, #: the source file location, supports local files, puppet://, http://, https://, ftp://
|
||
|
$target, #: the target extraction directory
|
||
|
$staging_path = undef, #: the staging location for compressed file. defaults to ${staging::path}/${caller_module_name}
|
||
|
$username = undef, #: https or ftp username
|
||
|
$certificate = undef, #: https certifcate file
|
||
|
$password = undef, #: https or ftp user password or https certificate password
|
||
|
$environment = undef, #: environment variable for settings such as http_proxy
|
||
|
$timeout = undef, #: the time to wait for the file transfer to complete
|
||
|
$user = undef, #: extract file as this user
|
||
|
$group = undef, #: extract group as this group
|
||
|
$creates = undef, #: the file/folder created after extraction. if unspecified defaults to ${target}/${name}
|
||
|
$unless = undef, #: alternative way to conditionally extract file
|
||
|
$onlyif = undef #: alternative way to conditionally extract file
|
||
|
) {
|
||
|
|
||
|
staging::file { $name:
|
||
|
source => $source,
|
||
|
target => $staging_path,
|
||
|
username => $username,
|
||
|
certificate => $certificate,
|
||
|
password => $password,
|
||
|
environment => $environment,
|
||
|
subdir => $caller_module_name,
|
||
|
timeout => $timeout,
|
||
|
}
|
||
|
|
||
|
staging::extract { $name:
|
||
|
target => $target,
|
||
|
source => $staging_path,
|
||
|
user => $user,
|
||
|
group => $group,
|
||
|
environment => $environment,
|
||
|
subdir => $caller_module_name,
|
||
|
creates => $creates,
|
||
|
unless => $unless,
|
||
|
onlyif => $onlyif,
|
||
|
require => Staging::File[$name],
|
||
|
}
|
||
|
|
||
|
}
|