2cb96c5fae3e9fdda1714d0676d55415f419af4d
[mirror/dsa-puppet.git] / 3rdparty / modules / rabbitmq / lib / puppet / type / rabbitmq_plugin.rb
1 Puppet::Type.newtype(:rabbitmq_plugin) do
2   desc <<-DESC
3 manages rabbitmq plugins
4
5 @example query all currently enabled plugins
6  $ puppet resource rabbitmq_plugin
7
8 @example Ensure a rabbitmq_plugin resource
9  rabbitmq_plugin {'rabbitmq_stomp':
10    ensure => present,
11  }
12 DESC
13
14   ensurable do
15     defaultto(:present)
16     newvalue(:present) do
17       provider.create
18     end
19     newvalue(:absent) do
20       provider.destroy
21     end
22   end
23
24   newparam(:name, namevar: true) do
25     desc 'The name of the plugin to enable'
26     newvalues(%r{^\S+$})
27   end
28
29   newparam(:umask) do
30     desc 'Sets the octal umask to be used while creating this resource'
31     defaultto '0022'
32     munge do |value|
33       raise Puppet::Error, "The umask specification is invalid: #{value.inspect}" unless value =~ %r{^0?[0-7]{1,3}$}
34       return value.to_i(8)
35     end
36   end
37 end