1 require File.expand_path(File.join(File.dirname(__FILE__), '..', 'rabbitmqctl'))
2 Puppet::Type.type(:rabbitmq_vhost).provide(:rabbitmqctl, :parent => Puppet::Provider::Rabbitmqctl) do
4 if Puppet::PUPPETVERSION.to_f < 3
5 commands :rabbitmqctl => 'rabbitmqctl'
7 has_command(:rabbitmqctl, 'rabbitmqctl') do
8 environment :HOME => "/tmp"
13 self.run_with_retries {
14 rabbitmqctl('-q', 'list_vhosts')
15 }.split(/\n/).map do |line|
19 raise Puppet::Error, "Cannot parse invalid user line: #{line}"
25 rabbitmqctl('add_vhost', resource[:name])
29 rabbitmqctl('delete_vhost', resource[:name])
33 out = self.class.run_with_retries {
34 rabbitmqctl('-q', 'list_vhosts')
35 }.split(/\n/).detect do |line|
36 line.match(/^#{Regexp.escape(resource[:name])}$/)