1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
|
# == Class: python
#
# Installs and manages python, python-dev, python-virtualenv and Gunicorn.
#
# === Parameters
#
# [*version*]
# Python version to install. Default: system default
#
# [*pip*]
# Install python-pip. Default: false
#
# [*dev*]
# Install python-dev. Default: false
#
# [*virtualenv*]
# Install python-virtualenv. Default: false, also accepts 'pip' which will
# install latest virtualenv from pip rather than package manager
#
# [*gunicorn*]
# Install Gunicorn. Default: false
#
# [*manage_gunicorn*]
# Allow Installation / Removal of Gunicorn. Default: true
#
# === Examples
#
# class { 'python':
# version => 'system',
# pip => true,
# dev => true,
# virtualenv => true,
# gunicorn => true,
# }
#
# === Authors
#
# Sergey Stankevich
#
class python (
$version = 'system',
$pip = false,
$dev = false,
$virtualenv = false,
$gunicorn = false,
$manage_gunicorn = true,
$provider = undef
) {
# Module compatibility check
$compatible = [ 'Debian', 'RedHat']
if ! ($::osfamily in $compatible) {
fail("Module is not compatible with ${::operatingsystem}")
}
# Anchor pattern to contain dependencies
anchor { 'python::begin': } ->
class { 'python::install': } ->
class { 'python::config': } ->
anchor { 'python::end': }
}
|