X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=3rdparty%2Fmodules%2Frabbitmq%2Flib%2Fpuppet%2Ftype%2Frabbitmq_policy.rb;fp=3rdparty%2Fmodules%2Frabbitmq%2Flib%2Fpuppet%2Ftype%2Frabbitmq_policy.rb;h=259a1d66c09bd59dc0f32ea12e5ac78c1f51eb8d;hb=24caa46729f80fbba4be8b9b26ebcb3acc4cb0fb;hp=65275a755b30825d59b479542b2cdd045421bc66;hpb=c7e7bcc28cc5dc48a7e284a3c82f33df27d1f57d;p=mirror%2Fdsa-puppet.git diff --git a/3rdparty/modules/rabbitmq/lib/puppet/type/rabbitmq_policy.rb b/3rdparty/modules/rabbitmq/lib/puppet/type/rabbitmq_policy.rb index 65275a755..259a1d66c 100644 --- a/3rdparty/modules/rabbitmq/lib/puppet/type/rabbitmq_policy.rb +++ b/3rdparty/modules/rabbitmq/lib/puppet/type/rabbitmq_policy.rb @@ -1,18 +1,5 @@ Puppet::Type.newtype(:rabbitmq_policy) do - desc <<-DESC -Type for managing rabbitmq policies - -@example Create a rabbitmq_policy - rabbitmq_policy { 'ha-all@myvhost': - pattern => '.*', - priority => 0, - applyto => 'all', - definition => { - 'ha-mode' => 'all', - 'ha-sync-mode' => 'automatic', - }, - } -DESC + desc 'Type for managing rabbitmq policies' ensurable do defaultto(:present) @@ -27,13 +14,13 @@ DESC autorequire(:service) { 'rabbitmq-server' } validate do - raise('pattern parameter is required.') if self[:ensure] == :present && self[:pattern].nil? - raise('definition parameter is required.') if self[:ensure] == :present && self[:definition].nil? + fail('pattern parameter is required.') if self[:ensure] == :present and self[:pattern].nil? + fail('definition parameter is required.') if self[:ensure] == :present and self[:definition].nil? end - newparam(:name, namevar: true) do + newparam(:name, :namevar => true) do desc 'combination of policy@vhost to create policy for' - newvalues(%r{^\S+@\S+$}) + newvalues(/^\S+@\S+$/) end newproperty(:pattern) do @@ -63,7 +50,7 @@ DESC newproperty(:priority) do desc 'policy priority' - newvalues(%r{^\d+$}) + newvalues(/^\d+$/) defaultto 0 end @@ -72,24 +59,20 @@ DESC end def validate_pattern(value) - Regexp.new(value) - rescue RegexpError - raise ArgumentError, "Invalid regexp #{value}" + begin + Regexp.new(value) + rescue RegexpError + raise ArgumentError, "Invalid regexp #{value}" + end end def validate_definition(definition) unless [Hash].include?(definition.class) - raise ArgumentError, 'Invalid definition' + raise ArgumentError, "Invalid definition" end - definition.each do |k, v| - if k == 'ha-params' && definition['ha-mode'] == 'nodes' - unless [Array].include?(v.class) - raise ArgumentError, "Invalid definition, value #{v} for key #{k} is not an array" - end - else - unless [String].include?(v.class) - raise ArgumentError, "Invalid definition, value #{v} is not a string" - end + definition.each do |k,v| + unless [String].include?(v.class) + raise ArgumentError, "Invalid definition" end end if definition['ha-mode'] == 'exactly' @@ -104,36 +87,6 @@ DESC raise ArgumentError, "Invalid expires value '#{expires_val}'" end end - if definition.key? 'message-ttl' - message_ttl_val = definition['message-ttl'] - unless message_ttl_val.to_i.to_s == message_ttl_val - raise ArgumentError, "Invalid message-ttl value '#{message_ttl_val}'" - end - end - if definition.key? 'max-length' - max_length_val = definition['max-length'] - unless max_length_val.to_i.to_s == max_length_val - raise ArgumentError, "Invalid max-length value '#{max_length_val}'" - end - end - if definition.key? 'max-length-bytes' - max_length_bytes_val = definition['max-length-bytes'] - unless max_length_bytes_val.to_i.to_s == max_length_bytes_val - raise ArgumentError, "Invalid max-length-bytes value '#{max_length_bytes_val}'" - end - end - if definition.key? 'shards-per-node' - shards_per_node_val = definition['shards-per-node'] - unless shards_per_node_val.to_i.to_s == shards_per_node_val - raise ArgumentError, "Invalid shards-per-node value '#{shards_per_node_val}'" - end - end - if definition.key? 'ha-sync-batch-size' # rubocop:disable Style/GuardClause - ha_sync_batch_size_val = definition['ha-sync-batch-size'] - unless ha_sync_batch_size_val.to_i.to_s == ha_sync_batch_size_val - raise ArgumentError, "Invalid ha-sync-batch-size value '#{ha_sync_batch_size_val}'" - end - end end def munge_definition(definition) @@ -143,21 +96,6 @@ DESC if definition.key? 'expires' definition['expires'] = definition['expires'].to_i end - if definition.key? 'message-ttl' - definition['message-ttl'] = definition['message-ttl'].to_i - end - if definition.key? 'max-length' - definition['max-length'] = definition['max-length'].to_i - end - if definition.key? 'max-length-bytes' - definition['max-length-bytes'] = definition['max-length-bytes'].to_i - end - if definition.key? 'shards-per-node' - definition['shards-per-node'] = definition['shards-per-node'].to_i - end - if definition.key? 'ha-sync-batch-size' - definition['ha-sync-batch-size'] = definition['ha-sync-batch-size'].to_i - end definition end end