Brooklyn

brooklyn.location
[Java] Interface MachineProvisioningLocation

brooklyn.location.MachineProvisioningLocation
  brooklyn.location.Location
All Superinterfaces:
Location

public interface MachineProvisioningLocation
extends Location

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
java.util.Map getProvisioningFlags(java.util.Collection tags)

Gets flags, suitable as an argument to obtain().

java.lang.Object obtain(java.util.Map flags)

Obtain a machine in this location.

void release(java.lang.Object machine)

Release a previously-obtained machine.

 
Methods inherited from interface Location
containsLocation, findLocationProperty, getChildLocations, getId, getLocationProperty, getName, getParentLocation, hasLocationProperty, setParentLocation
 

Method Detail

getProvisioningFlags

public java.util.Map getProvisioningFlags(java.util.Collection tags)
Gets flags, suitable as an argument to obtain(). 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.
Parameters:
tags
Returns:


obtain

public java.lang.Object obtain(java.util.Map flags)
Obtain a machine in this location.
throws:
NoMachinesAvailableException if there are no machines available in this location (or impls may return null, but that is discouraged)
Parameters:
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)
Returns:
a machine that is a child of this location.


release

public void release(java.lang.Object machine)
Release a previously-obtained machine.
throws:
IllegalStateException if the machine did not come from a call to obtain() or it has already been released.
Parameters:
machine - a MachineLocation previously obtained from a call to obtain()


 

Brooklyn Multi-Cloud Application Management Platform
brooklyncentral.github.com. Apache License. © 2012.