title: SoftLayer API retrieve total network devices from Hardware
body: <p>I'm using a ruby application along with the 'softlayer' gem to retrieve all the hardware (getHardware) and virtual machines (getVirtualGuests) associated to our accounts.  A question has come up about differentiating between network devices and machines.  I understand there are separate calls for getting certain network info and devices.  However, I'm wondering if network device information falls under the getHardware/getVirtualGuests results.  The "getHardware" call is returning several devices with a "Vyatta" operating system so can I assume "getHardware" retrieves all our network devices as well?  If this is true, is there a way I can reliably determine if a device is a network device other than the operating system value?  Example program:</p>
  
  <pre><code>require 'rubygems'
  require 'softlayer_api'
  require 'pp'
  
  client = SoftLayer::Client.new(:username =&gt; user, :api_key =&gt; api_key, :endpoint_url =&gt; endpoint_url, :timeout =&gt; 99999999)
  
  account = client['Account'].object_mask("mask[virtualGuestCount,hardwareCount]").getObject()
  
  bare_metal_machines_count = account["hardwareCount"]
  
  for i in 0..(bare_metal_machines_count/30.0).ceil - 1
    list_of_baremetal_machines = client['Account'].result_limit(i*30,30).object_mask("mask[id, hostname, backendNetworkComponents[primarySubnet[podName]], hourlyBillingFlag, fullyQualifiedDomainName, provisionDate, datacenter[name], billingItem[recurringFee, associatedChildren[recurringFee], orderItem[description, order[userRecord[username], id]]], operatingSystem[id, softwareLicense[id, softwareDescription[longDescription]]], tagReferences[tagId, tag[name]], primaryIpAddress, primaryBackendIpAddress]").getHardware
    for x in 0..list_of_baremetal_machines.length - 1
      pp list_of_baremetal_machines[x]
    end
  end
  </code></pre>
  
  <p>Thank you.</p>