1 Puppet::Type.newtype(:rabbitmq_user_permissions) do
2 desc 'Type for managing rabbitmq user permissions'
14 autorequire(:service) { 'rabbitmq-server' }
16 newparam(:name, :namevar => true) do
17 desc 'combination of user@vhost to grant privileges to'
18 newvalues(/^\S+@\S+$/)
21 newproperty(:configure_permission) do
22 desc 'regexp representing configuration permissions'
24 resource.validate_permissions(value)
28 newproperty(:read_permission) do
29 desc 'regexp representing read permissions'
31 resource.validate_permissions(value)
35 newproperty(:write_permission) do
36 desc 'regexp representing write permissions'
38 resource.validate_permissions(value)
42 autorequire(:rabbitmq_vhost) do
43 [self[:name].split('@')[1]]
46 autorequire(:rabbitmq_user) do
47 [self[:name].split('@')[0]]
50 # I may want to dissalow whitespace
51 def validate_permissions(value)
55 raise ArgumentError, "Invalid regexp #{value}"