X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=modules%2Frabbitmq%2Flib%2Fpuppet%2Ftype%2Frabbitmq_policy.rb;fp=modules%2Frabbitmq%2Flib%2Fpuppet%2Ftype%2Frabbitmq_policy.rb;h=c7fb70643eec3dcbb30826d7229f89005ef752f3;hb=0daa0d704c7bc516b1e9a481109e881005144aee;hp=0000000000000000000000000000000000000000;hpb=18c87466f6eaaffc14973a6623b4247c58b22e16;p=mirror%2Fdsa-puppet.git diff --git a/modules/rabbitmq/lib/puppet/type/rabbitmq_policy.rb b/modules/rabbitmq/lib/puppet/type/rabbitmq_policy.rb new file mode 100644 index 000000000..c7fb70643 --- /dev/null +++ b/modules/rabbitmq/lib/puppet/type/rabbitmq_policy.rb @@ -0,0 +1,39 @@ +Puppet::Type.newtype(:rabbitmq_policy) do + desc 'Native type for managing rabbitmq policy' + + ensurable do + defaultto(:present) + newvalue(:present) do + provider.create + end + newvalue(:absent) do + provider.destroy + end + end + + newparam(:name, :namevar => true) do + desc 'Name of policy' + newvalues(/^\S+$/) + end + + newparam(:vhost) do + desc 'Vhost for policy' + newvalues(/^\S+$/) + end + + newparam(:match) do + desc 'Regex match for policy' + end + + newparam(:policy) do + desc 'Policy to set' + end + + validate do + if self[:ensure] == :present and ! self[:policy] and ! self[:match] + raise ArgumentError, 'must set policy and match' unless self[:policy] and self[:match] + end + end + +end +