def scan_ips_with_schedule(site_id, ip_addresses, schedules)
      xml   = make_xml('SiteDevicesScanRequest', 'site-id' => site_id)
      hosts = REXML::Element.new('Hosts')
      ip_addresses.each do |ip|
        xml.add_element('range', 'from' => ip)
      end
      xml.add_element(hosts)
      scheds = REXML::Element.new('Schedules')
      schedules.each { |sched| scheds.add_element(sched.as_xml) }
      xml.add_element(scheds)

      _scan_ad_hoc_with_schedules(xml)
    end
def scan_ips_with_schedule(site_id, ip_addresses, schedules)
      xml   = make_xml('SiteDevicesScanRequest', 'site-id' => site_id)
      hosts = REXML::Element.new('Hosts')
      ip_addresses.each do |ip|
        xml.add_element('range', 'from' => ip)
      end
      xml.add_element(hosts)
      scheds = REXML::Element.new('Schedules')
      schedules.each { |sched| scheds.add_element(sched.as_xml) }
      xml.add_element(scheds)

      _scan_ad_hoc_with_schedules(xml)
    end
Perform an ad hoc scan of a subset of IP addresses for a site at a specific time.
 Only IPs from a single site can be submitted per request,
 and IP addresses must already be included in the site configuration.
 Method is designed for scanning when the targets are coming from an
 external source that does not have access to internal identfiers.

 For example:
   to_scan = ['192.168.2.1', '192.168.2.107']
   nsc.scan_ips(5, to_scan)

 @param [Fixnum] site_id Site ID that the assets belong to.
 @param [Array[String]] ip_addresses Array of IP addresses to scan.
 @return [Status] whether the request was successful