docs: def targets(tgt, tgt_type='glob', **kwargs):
      '''
      Return the targets
      '''
      ret = {}
      ports = __opts__['ssh_scan_ports']
      if not isinstance(ports, list):
          # Comma-separate list of integers
          ports = list(map(int, six.text_type(ports).split(',')))
  
      hosts = list(NodeSet(tgt))
      host_addrs = dict([(h, socket.gethostbyname(h)) for h in hosts])
  
      for host, addr in host_addrs.items():
          addr = six.text_type(addr)
          ret[host] = copy.deepcopy(__opts__.get('roster_defaults', {}))
          for port in ports:
              try:
                  sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
                  sock.settimeout(float(__opts__['ssh_scan_timeout']))
                  sock.connect((addr, port))
                  sock.shutdown(socket.SHUT_RDWR)
                  sock.close()
                  ret[host].update({'host': addr, 'port': port})
              except socket.error:
                  pass
      return ret