From c9cc16e264402acc74dcf5651948ba9e80f5fb7c Mon Sep 17 00:00:00 2001 From: Jonathan Boyett Date: Mon, 15 Aug 2011 15:49:54 -0700 Subject: [PATCH] convert class variables to instance variables so we can have unique attributes for each type --- lib/puppet/provider/firewall.rb | 4 ++-- lib/puppet/provider/firewall/iptables.rb | 12 ++++++------ 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/lib/puppet/provider/firewall.rb b/lib/puppet/provider/firewall.rb index 0c9e1ff..345893f 100644 --- a/lib/puppet/provider/firewall.rb +++ b/lib/puppet/provider/firewall.rb @@ -1,5 +1,5 @@ class Puppet::Provider::Firewall < Puppet::Provider - + # Prefetch our rule list. This is ran once every time before any other # action (besides initialization of each object). def self.prefetch(resources) @@ -35,7 +35,7 @@ class Puppet::Provider::Firewall < Puppet::Provider # Executed if method is missing. In this case we are going to catch # unqualified property methods for dynamic property setting and getting. def method_missing(meth, *args, &block) - dynamic_methods = @@resource_map.keys + dynamic_methods = self.class.instance_variable_get('@resource_map').keys dynamic_methods << :chain dynamic_methods << :table diff --git a/lib/puppet/provider/firewall/iptables.rb b/lib/puppet/provider/firewall/iptables.rb index 8318ac9..6583e01 100644 --- a/lib/puppet/provider/firewall/iptables.rb +++ b/lib/puppet/provider/firewall/iptables.rb @@ -22,7 +22,7 @@ Puppet::Type.type(:firewall).provide :iptables, :parent => Puppet::Provider::Fir defaultfor :operatingsystem => [:redhat, :debian, :ubuntu, :fedora, :suse, :centos, :sles, :oel, :ovm] confine :operatingsystem => [:redhat, :debian, :ubuntu, :fedora, :suse, :centos, :sles, :oel, :ovm] - @@resource_map = { + @resource_map = { :burst => "--limit-burst", :destination => "-d", :dport => "-m multiport --dports", @@ -45,7 +45,7 @@ Puppet::Type.type(:firewall).provide :iptables, :parent => Puppet::Provider::Fir :tosource => "--to-source", } - @@resource_list = [:table, :source, :destination, :iniface, :outiface, + @resource_list = [:table, :source, :destination, :iniface, :outiface, :proto, :sport, :dport, :name, :state, :icmp, :limit, :burst, :jump, :todest, :tosource, :toports, :log_level, :log_prefix, :reject] @@ -105,8 +105,8 @@ Puppet::Type.type(:firewall).provide :iptables, :parent => Puppet::Provider::Fir keys = [] values = line.dup - @@resource_list.reverse.each do |k| - if values.slice!(@@resource_map[k]) + @resource_list.reverse.each do |k| + if values.slice!(@resource_map[k]) keys << k end end @@ -149,9 +149,9 @@ Puppet::Type.type(:firewall).provide :iptables, :parent => Puppet::Provider::Fir def general_args debug "Current resource: %s" % resource.class args = [] - @@resource_list.each do |res| + self.class.instance_variable_get('@resource_list').each do |res| if(resource.value(res)) - args << @@resource_map[res].split(' ') + args << self.class.instance_variable_get('@resource_map')[res].split(' ') if resource[res].is_a?(Array) args << resource[res].join(',') else -- 2.45.2