phpservermon/puphpet/puppet/modules/pyenv/manifests/init.pp

46 lines
1.2 KiB
Puppet

class pyenv(
$ensure_repo = 'present',
$repo_location = '/usr/local/pyenv',
$repo_revision = 'v0.4.0-20140404',
$symlink_pyenv = true,
$symlink_path = '/usr/local/bin',
$manage_packages = true,
$ensure_packages = 'latest',
$python_build_packages = $::pyenv::params::python_build_packages,
) inherits ::pyenv::params {
validate_absolute_path($repo_location)
validate_re($ensure_repo, ['present', 'absent'])
validate_string($repo_revision)
validate_bool($symlink_pyenv)
validate_absolute_path($symlink_path)
validate_bool($manage_packages)
validate_array($python_build_packages)
vcsrepo { $repo_location:
ensure => $ensure_repo,
owner => 0,
group => 0,
provider => 'git',
source => 'https://github.com/yyuu/pyenv.git',
revision => $repo_revision,
}
if $symlink_path {
file { "${symlink_path}/pyenv":
target => "${repo_location}/bin/pyenv",
}
}
if $manage_packages {
if empty($python_build_packages) {
warn('You have requested to install packages but
$python_build_packages is empty')
} else {
package { $python_build_packages:
ensure => $ensure_packages,
}
}
}
}