|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
public interface MachineProvisioningLocation<T extends MachineLocation>
A location that is able to provision new machines within its location.
This interface extends Location to add the ability to provision MachineLocations in this location.
| Method Summary | |
|---|---|
Map<String,Object> |
getProvisioningFlags(Collection<String> tags)
Gets flags, suitable as an argument to obtain(Map). |
MachineProvisioningLocation<T> |
newSubLocation(Map<?,?> newFlags)
Creates a new location of the same type, but with additional creation instructions in the form of flags, e.g. |
T |
obtain(Map<?,?> flags)
Obtain a machine in this location. |
void |
release(T machine)
Release a previously-obtained machine. |
| Methods inherited from interface brooklyn.location.Location |
|---|
containsLocation, findLocationProperty, getAllConfig, getAllConfig, getChildLocations, getChildren, getConfig, getDisplayName, getExtension, getId, getLocationProperty, getName, getParent, getParentLocation, getRebindSupport, hasConfig, hasConfig, hasExtension, hasLocationProperty, setParent, setParentLocation, toVerboseString |
| Method Detail |
|---|
T obtain(Map<?,?> flags)
throws NoMachinesAvailableException
flags - Details of the desired machine (e.g. image, size, open ports, etc; some flag support is limited to selected providers).
"callerContext" can be specified to have custom logging and error messages (useful if starting machines in parallel)
NoMachinesAvailableException - if there are no machines available in this location (or impls may return null, but that is discouraged)MachineProvisioningLocation<T> newSubLocation(Map<?,?> newFlags)
Implementers who wish to subclass this provisioning location for additional functionality in a specific cloud can use the relevant implementation of this method as a guide.
void release(T machine)
machine - a MachineLocation previously obtained from a call to #obtain()
IllegalStateException - if the machine did not come from a call to #obtain() or it has already been released.Map<String,Object> getProvisioningFlags(Collection<String> tags)
obtain(Map). The tags provided give
hints about the machine required. The provisioning-location could be configured to
understand those tags.
For example, an AWS-location could be configured to understand that a particular entity
type (e.g. "TomcatServer") requires a particular AMI in that region, so would return the
required image id.
tags -
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||