From: Jonathan Boyett Date: Mon, 15 Aug 2011 22:49:54 +0000 (-0700) Subject: convert class variables to instance variables so we can have unique attributes for... X-Git-Tag: v0.0.1~12 X-Git-Url: https://review.fuel-infra.org/gitweb?a=commitdiff_plain;h=c9cc16e264402acc74dcf5651948ba9e80f5fb7c;p=puppet-modules%2Fpuppetlabs-firewall.git convert class variables to instance variables so we can have unique attributes for each type --- 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