]> git.donarmstrong.com Git - dsa-puppet.git/blob - 3rdparty/modules/keystone/lib/puppet/type/keystone_config.rb
fc6b82040bda5bb77c2cfbc28f6c8f9a627e601f
[dsa-puppet.git] / 3rdparty / modules / keystone / lib / puppet / type / keystone_config.rb
1 Puppet::Type.newtype(:keystone_config) do
2
3   ensurable
4
5   newparam(:name, :namevar => true) do
6     desc 'Section/setting name to manage from keystone.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 end