def firewall_port_speed
      network_components = self.service.object_mask("mask[id,maxSpeed,networkComponentGroup.networkComponents]").getFrontendNetworkComponents()

      # Split the interfaces into grouped and ungrouped interfaces. The max speed of a group will be the sum
      # of the individual speeds in that group.  The max speed of ungrouped interfaces is simply the max speed
      # of that interface.
      grouped_interfaces, ungrouped_interfaces = network_components.partition{ |interface| interface.has_key?("networkComponentGroup") }

      if !grouped_interfaces.empty?
        group_speeds = grouped_interfaces.collect do |interface|
          interface['networkComponentGroup']['networkComponents'].inject(0) {|total_speed, component| total_speed += component['maxSpeed']}
        end

        max_group_speed = group_speeds.max
      else
        max_group_speed = 0
      end

      if !ungrouped_interfaces.empty?
        max_ungrouped_speed = ungrouped_interfaces.collect { |interface| interface['maxSpeed']}.max
      else
        max_ungrouped_speed = 0
      end

      return [max_group_speed, max_ungrouped_speed].max
    end
def firewall_port_speed
      network_components = self.service.object_mask("mask[id,maxSpeed,networkComponentGroup.networkComponents]").getFrontendNetworkComponents()

      # Split the interfaces into grouped and ungrouped interfaces. The max speed of a group will be the sum
      # of the individual speeds in that group.  The max speed of ungrouped interfaces is simply the max speed
      # of that interface.
      grouped_interfaces, ungrouped_interfaces = network_components.partition{ |interface| interface.has_key?("networkComponentGroup") }

      if !grouped_interfaces.empty?
        group_speeds = grouped_interfaces.collect do |interface|
          interface['networkComponentGroup']['networkComponents'].inject(0) {|total_speed, component| total_speed += component['maxSpeed']}
        end

        max_group_speed = group_speeds.max
      else
        max_group_speed = 0
      end

      if !ungrouped_interfaces.empty?
        max_ungrouped_speed = ungrouped_interfaces.collect { |interface| interface['maxSpeed']}.max
      else
        max_ungrouped_speed = 0
      end

      return [max_group_speed, max_ungrouped_speed].max
    end
Returns the max port speed of the public network interfaces of the server taking into account
 bound interface pairs (redundant network cards).