Merge "VES YAML: Add node VES message definition"
[barometer.git] / puppet-barometer / lib / puppet / type / barometer_config.rb
1 Puppet::Type.newtype(:barometer_config) do
2
3   ensurable
4
5   newparam(:name, :namevar => true) do
6     desc 'Section/setting name to manage from barometer.conf'
7     newvalues(/\S+\/\S+/)
8   end
9
10   newproperty(:value) do
11     desc 'The value of the setting to be defined.'
12     munge do |value|
13       value = value.to_s.strip
14       value.capitalize! if value =~ /^(true|false)$/i
15       value
16     end
17     newvalues(/^[\S ]*$/)
18
19     def is_to_s( currentvalue )
20       if resource.secret?
21         return '[old secret redacted]'
22       else
23         return currentvalue
24       end
25     end
26
27     def should_to_s( newvalue )
28       if resource.secret?
29         return '[new secret redacted]'
30       else
31         return newvalue
32       end
33     end
34   end
35
36   newparam(:secret, :boolean => true) do
37     desc 'Whether to hide the value from Puppet logs. Defaults to `false`.'
38
39     newvalues(:true, :false)
40
41     defaultto false
42   end
43
44   newparam(:ensure_absent_val) do
45     desc 'A value that is specified as the value property will behave as if ensure => absent was specified'
46     defaultto('<SERVICE DEFAULT>')
47   end
48
49   autorequire(:package) do
50     'barometer'
51   end
52
53 end