From: Jonathan Boyett Date: Thu, 16 Jun 2011 21:46:29 +0000 (-0700) Subject: let icmp param accept integers in addition to strings X-Git-Tag: v0.0.1~38 X-Git-Url: https://review.fuel-infra.org/gitweb?a=commitdiff_plain;h=cb4a528ccf0aa0c07c72cd7be1528daefc57aa13;p=puppet-modules%2Fpuppetlabs-firewall.git let icmp param accept integers in addition to strings --- diff --git a/lib/puppet/type/firewall.rb b/lib/puppet/type/firewall.rb index 2d6531d..00a4274 100644 --- a/lib/puppet/type/firewall.rb +++ b/lib/puppet/type/firewall.rb @@ -153,11 +153,16 @@ Puppet::Type.newtype(:firewall) do desc "The value for the iptables --icmp-type parameter" munge do |value| - num = @resource.icmp_name_to_number(value) - if num == nil && value != "" + if value.kind_of?(String) + value = @resource.icmp_name_to_number(value) + else + value + end + + if value == nil && value != "" self.fail("cannot work out icmp type") end - num + value end end diff --git a/spec/type/iptables_type_spec.rb b/spec/type/iptables_type_spec.rb index 8ff3715..aa8480d 100644 --- a/spec/type/iptables_type_spec.rb +++ b/spec/type/iptables_type_spec.rb @@ -140,6 +140,11 @@ describe Puppet::Type.type(:firewall) do end end + it 'should accept values as integers' do + @resource[:icmp] = 9 + @resource[:icmp].should == 9 + end + it 'should fail if icmp type is not recognized' do lambda { @resource[:icmp] = 'foo' }.should raise_error(Puppet::Error) end