|
1 | 1 | # PRIVATE CLASS: do not call directly |
2 | 2 | class mongodb::mongos::config ( |
3 | | - $ensure = $mongodb::mongos::ensure, |
| 3 | + $package_ensure = $mongodb::mongos::package_ensure, |
4 | 4 | $config = $mongodb::mongos::config, |
5 | 5 | $config_content = $mongodb::mongos::config_content, |
6 | 6 | $config_template = $mongodb::mongos::config_template, |
7 | 7 | $configdb = $mongodb::mongos::configdb, |
8 | 8 | $config_data = $mongodb::mongos::config_data, |
9 | 9 | $service_manage = $mongodb::mongos::service_manage, |
10 | 10 | ) { |
| 11 | + if $package_ensure == 'purged' { |
| 12 | + $ensure = 'absent' |
| 13 | + } else { |
| 14 | + $ensure = 'file' |
| 15 | + } |
11 | 16 |
|
12 | | - if ($ensure == 'present' or $ensure == true) { |
13 | | - |
14 | | - #Pick which config content to use |
15 | | - if $config_content { |
16 | | - $config_content_real = $config_content |
17 | | - } else { |
18 | | - # Template has $config_data hash available |
19 | | - $config_content_real = template(pick($config_template, 'mongodb/mongodb-shard.conf.erb')) |
20 | | - } |
| 17 | + #Pick which config content to use |
| 18 | + if $config_content { |
| 19 | + $config_content_real = $config_content |
| 20 | + } else { |
| 21 | + # Template has $config_data hash available |
| 22 | + $config_content_real = template(pick($config_template, 'mongodb/mongodb-shard.conf.erb')) |
| 23 | + } |
21 | 24 |
|
22 | | - file { $config: |
23 | | - content => $config_content_real, |
24 | | - owner => 'root', |
25 | | - group => 'root', |
26 | | - mode => '0644', |
27 | | - } |
| 25 | + file { $config: |
| 26 | + ensure => $ensure, |
| 27 | + content => $config_content_real, |
| 28 | + owner => 'root', |
| 29 | + group => 'root', |
| 30 | + mode => '0644', |
| 31 | + } |
28 | 32 |
|
29 | | - if $service_manage { |
30 | | - if $facts['os']['family'] == 'RedHat' { |
31 | | - file { '/etc/sysconfig/mongos' : |
32 | | - ensure => file, |
33 | | - owner => 'root', |
34 | | - group => 'root', |
35 | | - mode => '0644', |
36 | | - content => "OPTIONS=\"--quiet -f ${config}\"\n", |
37 | | - } |
38 | | - } elsif $facts['os']['family'] == 'Debian' { |
39 | | - file { '/etc/init.d/mongos' : |
40 | | - ensure => file, |
41 | | - content => template('mongodb/mongos/Debian/mongos.erb'), |
42 | | - owner => 'root', |
43 | | - group => 'root', |
44 | | - mode => '0755', |
45 | | - } |
| 33 | + if $service_manage { |
| 34 | + if $facts['os']['family'] == 'RedHat' { |
| 35 | + file { '/etc/sysconfig/mongos' : |
| 36 | + ensure => $ensure, |
| 37 | + owner => 'root', |
| 38 | + group => 'root', |
| 39 | + mode => '0644', |
| 40 | + content => "OPTIONS=\"--quiet -f ${config}\"\n", |
| 41 | + } |
| 42 | + } elsif $facts['os']['family'] == 'Debian' { |
| 43 | + file { '/etc/init.d/mongos' : |
| 44 | + ensure => $ensure, |
| 45 | + content => template('mongodb/mongos/Debian/mongos.erb'), |
| 46 | + owner => 'root', |
| 47 | + group => 'root', |
| 48 | + mode => '0755', |
46 | 49 | } |
47 | 50 | } |
48 | 51 | } |
49 | | - |
50 | 52 | } |
0 commit comments