2 Puppet::Type.type(:rabbitmq_policy).provide(:rabbitmqctl) do
4 commands :rabbitmqctl => 'rabbitmqctl'
5 defaultfor :feature => :posix
11 @should_vhost = resource[:vhost]
16 rabbitmqctl('list_policies', '-p', should_vhost).split(/\n/)[1..-2].detect do |line|
17 if line =~ /^(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+.*$/
18 new(:name => $2, :vhost => $1, :match => $3, :policy => $4)
20 raise Puppet::Error, "Cannot parse invalid user line: #{line}"
26 rabbitmqctl('set_policy', '-p', should_vhost, resource[:name], resource[:match], resource[:policy])
30 rabbitmqctl('clear_policy', '-p', should_vhost, resource[:name])
34 out = rabbitmqctl('list_policies', '-p', should_vhost).split(/\n/)[1..-2].detect do |line|
35 line.match(/^\S+\s+#{resource[:name]}\s+\S+.*$/)