package alien4cloud.orchestrators.plugin; import java.util.List; import java.util.Set; import org.alien4cloud.tosca.model.CSARDependency; import org.alien4cloud.tosca.model.types.AbstractToscaType; import alien4cloud.model.orchestrators.locations.LocationResourceTemplate; /** * Allows to access the resources of a defined location. */ public interface ILocationResourceAccessor { /** * Get all configured resources for the current location. * * @return A list with all configured resources for the location this instance is associated with. */ List<LocationResourceTemplate> getResources(); /** * Get all the resources of the given type for a given location. * * @param type The type of the location resource to get. * @return A list with all configured resources of the given type for the location this instance is associated with. */ List<LocationResourceTemplate> getResources(String type); /** * Get all tosca elements of a given type for a location * * @param type The type of the tosca element to get * @return the tosca elements found given the provided type, in the related dependencies of the location. */ <T extends AbstractToscaType> T getIndexedToscaElement(String type); /** * Get the set of this location dependencies * * @return A Set of the location archives dependencies. */ Set<CSARDependency> getDependencies(); }