docs: def _change_iscsi_settings(self, iscsi_info):
          """Change iSCSI settings.
  
          :param iscsi_info: A dictionary that contains information of iSCSI
                             target like target_name, lun, ip_address, port etc.
          :raises: IloError, on an error from iLO.
          """
          headers, bios_uri, bios_settings = self._check_bios_resource()
          # Get the Mappings resource.
          map_settings = self._get_bios_mappings_resource(bios_settings)
          nics = []
          for mapping in map_settings['BiosPciSettingsMappings']:
              for subinstance in mapping['Subinstances']:
                  for association in subinstance['Associations']:
                      if 'NicBoot' in association:
                          nics.append(association)
  
          if not nics:
              msg = ('No nics found')
              raise exception.IloError(msg)
  
          iscsi_uri = self._check_iscsi_rest_patch_allowed()
          # Set iSCSI info to all nics
          iscsi_infos = []
          for nic in nics:
              data = iscsi_info.copy()
              data['iSCSIBootAttemptName'] = nic
              data['iSCSINicSource'] = nic
              data['iSCSIBootAttemptInstance'] = nics.index(nic) + 1
              iscsi_infos.append(data)
  
          patch_data = {'iSCSIBootSources': iscsi_infos}
          status, headers, response = self._rest_patch(iscsi_uri,
                                                       None, patch_data)
          if status >= 300:
              msg = self._get_extended_error(response)
              raise exception.IloError(msg)