From cb4a528ccf0aa0c07c72cd7be1528daefc57aa13 Mon Sep 17 00:00:00 2001 From: Jonathan Boyett Date: Thu, 16 Jun 2011 14:46:29 -0700 Subject: [PATCH] let icmp param accept integers in addition to strings --- lib/puppet/type/firewall.rb | 11 ++++++++--- spec/type/iptables_type_spec.rb | 5 +++++ 2 files changed, 13 insertions(+), 3 deletions(-) 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 -- 2.45.2