1 Puppet::Type.newtype(:rabbitmq_user_permissions) do
2 desc 'Type for managing rabbitmq user permissions'
14 newparam(:name, :namevar => true) do
15 'combination of user@vhost to grant privileges to'
16 newvalues(/^\S+@\S+$/)
19 newproperty(:configure_permission) do
20 desc 'regexp representing configuration permissions'
22 resource.validate_permissions(value)
26 newproperty(:read_permission) do
27 desc 'regexp representing read permissions'
29 resource.validate_permissions(value)
33 newproperty(:write_permission) do
34 desc 'regexp representing write permissions'
36 resource.validate_permissions(value)
40 autorequire(:rabbitmq_vhost) do
41 [self[:name].split('@')[1]]
44 autorequire(:rabbitmq_user) do
45 [self[:name].split('@')[0]]
48 # I may want to dissalow whitespace
49 def validate_permissions(value)
53 raise ArgumentError, "Invalid regexp #{value}"