Left: | ||
Right: |
OLD | NEW |
---|---|
(Empty) | |
1 # == Class: adblockplus::mercurial | |
2 # | |
3 # Manage Mercurial (https://www.mercurial-scm.org/) resources. | |
4 # | |
5 # === Parameters: | |
mathias
2017/08/24 16:40:52
Please document parameters $config and $package, t
f.lopez
2017/08/24 17:45:58
Done.
| |
6 # | |
7 # === Examples: | |
8 # | |
9 # class {'adblockplus::mercurial': | |
10 # ensure => 'latest', | |
mathias
2017/08/24 16:40:52
That is not a valid example.
f.lopez
2017/08/24 17:45:57
Done.
| |
11 # } | |
12 # | |
13 class adblockplus::mercurial ( | |
14 $config = {}, | |
15 $package = {}, | |
16 ) { | |
17 | |
18 # https://forge.puppet.com/puppetlabs/stdlib | |
19 include stdlib | |
20 | |
21 # https://forge.puppet.com/puppetlabs/stdlib#ensure_resource | |
22 ensure_resource('package', 'mercurial', $package) | |
23 | |
24 # https://forge.puppet.com/puppetlabs/stdlib#getparam | |
25 $package_ensure = getparam(Package['mercurial'], 'ensure') | |
26 | |
27 # https://docs.puppet.com/puppet/latest/lang_conditional.html#selectors | |
28 $ensure = $package_ensure ? { | |
29 /^(absent|latest|present|purged|true)$/ => $package_ensure, | |
30 default => 'present', | |
31 } | |
32 | |
33 # https://docs.puppet.com/puppet/latest/types/file.html#file-attribute-content | |
34 # https://docs.puppet.com/puppet/latest/types/file.html#file-attribute-source | |
35 $default_content = $config['source'] ? { | |
36 undef => template('adblockplus/mercurial/hgrc.erb'), | |
37 default => undef, | |
38 } | |
39 | |
40 # https://forge.puppet.com/puppetlabs/stdlib#merge | |
41 ensure_resource('file', 'hgrc', merge({ | |
42 ensure => ensure_file_state(Package['mercurial']), | |
43 group => 'root', | |
44 mode => '0644', | |
45 owner => 'root', | |
46 path => '/etc/mercurial/hgrc', | |
47 content => $default_content, | |
48 }, $config)) | |
49 | |
50 # https://docs.puppet.com/puppet/latest/lang_relationships.html | |
51 Package['mercurial'] -> File['hgrc'] | |
52 | |
53 # https://docs.puppet.com/puppet/latest/function.html#createresources | |
54 $extensions = hiera_hash('adblockplus::mercurial::extensions', {}) | |
55 create_resources('adblockplus::mercurial::extension', $extensions) | |
56 } | |
OLD | NEW |