docs: def hdparms(disks, args=None):
      '''
      Retrieve all info's for all disks
      parse 'em into a nice dict
      (which, considering hdparms output, is quite a hassle)
  
      .. versionadded:: 2016.3.0
  
      CLI Example:
      .. code-block:: bash
  
          salt '*' disk.hdparms /dev/sda
      '''
      all_parms = 'aAbBcCdgHiJkMmNnQrRuW'
      if args is None:
          args = all_parms
      elif isinstance(args, (list, tuple)):
          args = ''.join(args)
  
      if not isinstance(disks, (list, tuple)):
          disks = [disks]
  
      out = {}
      for disk in disks:
          if not disk.startswith('/dev'):
              disk = '/dev/{0}'.format(disk)
          disk_data = {}
          for line in _hdparm('-{0} {1}'.format(args, disk), False).splitlines():
              line = line.strip()
              if not line or line == disk + ':':
                  continue
  
              if ':' in line:
                  key, vals = line.split(':', 1)
                  key = re.sub(r' is$', '', key)
              elif '=' in line:
                  key, vals = line.split('=', 1)
              else:
                  continue
              key = key.strip().lower().replace(' ', '_')
              vals = vals.strip()
  
              rvals = []
              if re.match(r'[0-9]+ \(.*\)', vals):
                  vals = vals.split(' ')
                  rvals.append(int(vals[0]))
                  rvals.append(vals[1].strip('()'))
              else:
                  valdict = {}
                  for val in re.split(r'[/,]', vals.strip()):
                      val = val.strip()
                      try:
                          val = int(val)
                          rvals.append(val)
                      except Exception:
                          if '=' in val:
                              deep_key, val = val.split('=', 1)
                              deep_key = deep_key.strip()
                              val = val.strip()
                              if val:
                                  valdict[deep_key] = val
                          elif val:
                              rvals.append(val)
                  if valdict:
                      rvals.append(valdict)
                  if not rvals:
                      continue
                  elif len(rvals) == 1:
                      rvals = rvals[0]
              disk_data[key] = rvals
  
          out[disk] = disk_data
  
      return out