1 Puppet::Type.type(:qpid_user).provide(:saslpasswd2) do
3 commands :saslpasswd2 => 'saslpasswd2'
4 optional_commands :sasldblistusers2 => 'sasldblistusers2'
5 defaultfor :feature => :posix
8 sasldblistusers2('-f', resource[:file]).split(/\n/)[1..-2].map do |line|
9 if line =~ /^(\S+)@(\S+):.*$/
10 new(:name => $1, :realm => $2)
12 raise Puppet::Error, "Cannot parse invalid user line: #{line}"
18 if not system(%{echo "#{resource[:password]}" | saslpasswd2 -f #{resource[:file]} -u #{resource[:realm]} #{resource[:name]}})
20 raise Puppet::Error, "Failed to create user."
25 saslpasswd2('-f', resource[:file], '-u', resource[:realm], '-d', resource[:name])
30 out = sasldblistusers2('-f', resource[:file]).split(/\n/)[1..-2].detect do |line|
31 line.match(/^#{resource[:name]}@#{resource[:realm]}:.*$/)