package schedframe.scheduling.plugin.grid; import java.util.List; import schedframe.exceptions.CandidateHostsNotFoundException; import schedframe.resources.ResourceDescription; import schedframe.resources.ResourceProvider; import schedframe.scheduling.AbstractResourceRequirements; import schedframe.scheduling.SecurityContextInterface; /** * This interface provides access to information about resources * * @author Ariel * */ public interface ResourceDiscovery extends Module { /** * @return description of all resources. Order of the resources is not determined. */ public List getResources(SecurityContextInterface secContext); /** * @param reqDesc resource requirements * @return description of all resources that meet resource requirements */ public ResourceDescription getResources(AbstractResourceRequirements reqDesc, SecurityContextInterface secContext); /** * * @return List of resource providers available in the system */ public List getProviders(SecurityContextInterface secContext); /** * * @param admDomain * @return List of resource providers available in particular administration * domain. */ public List getProviders(String admDomain, SecurityContextInterface secContext); /** * * @param reqDesc * @return * @throws CandidateHostsNotFoundException TODO */ public List getProviders(AbstractResourceRequirements reqDesc, List candidateHosts, SecurityContextInterface secContext) throws CandidateHostsNotFoundException; public List getProviders(AbstractResourceRequirements reqDesc, SecurityContextInterface secContext); /** * * @return List of all administration domains in the system */ public List getAdministrationDomains(SecurityContextInterface secContext); public List getResources(); }