docs: def get_persistent_boot_device(self):
          """Get current persistent boot device set for the host
  
          :returns: persistent boot device for the system
          :raises: IloError, on an error from iLO.
          """
          boot_string = None
          if not self.persistent_boot_config_order or not self.boot_sources:
              msg = ('Boot sources or persistent boot config order not found')
              LOG.debug(msg)
              raise exception.IloError(msg)
  
          preferred_boot_device = self.persistent_boot_config_order[0]
          for boot_source in self.boot_sources:
              if ((boot_source.get("StructuredBootString") is not None) and (
                      preferred_boot_device ==
                      boot_source.get("StructuredBootString"))):
                  boot_string = boot_source["BootString"]
                  break
          else:
              msg = (('Persistent boot device failed, as no matched boot '
                      'sources found for device: %(persistent_boot_device)s')
                     % {'persistent_boot_device': preferred_boot_device})
              LOG.debug(msg)
              raise exception.IloError(msg)
  
          for key, value in BOOT_SOURCE_TARGET_TO_PARTIAL_STRING_MAP.items():
              for val in value:
                  if val in boot_string:
                      return key
          return sushy.BOOT_SOURCE_TARGET_NONE