blob: f4f58f60f0d0cbe5583696f2045a103bb90a9564 [file] [log] [blame]
package brooklyn.location;
import java.util.Map;
import java.util.NoSuchElementException;
/**
* Provides a way of creating location instances of a particular type.
*/
public interface LocationResolver {
/** the prefix that this resolver will attend to */
String getPrefix();
/** returns a Location instance, e.g. a JcloudsLocation instance configured to provision in AWS eu-west-1;
* the properties map may contain lots of info some of which may be relevant to this location
* (eg containing credentials for many clouds, and resolver picks out the ones applicable here) --
* commonly it is a BrooklynProperties instance, read from .brooklyn/brooklyn.properties
* <p>
* throws {@link NoSuchElementException} if not found */
Location newLocationFromString(@SuppressWarnings("rawtypes") Map properties, String spec);
}