blob: 5e2906b60982cdd5a77e95ad2873bdb693676e86 [file] [log] [blame]
package brooklyn.location.jclouds;
import org.jclouds.compute.ComputeService;
import org.jclouds.compute.domain.TemplateBuilder;
import org.jclouds.compute.options.TemplateOptions;
import com.google.common.annotations.Beta;
/**
* Customization hooks to allow apps to perform specific customisation at each stage of jclouds machine provisioning.
* For example, an app could attach an EBS volume to an EC2 node, or configure a desired availability zone.
*/
@Beta
public interface JcloudsLocationCustomizer {
void customize(JcloudsLocation location, ComputeService computeService, TemplateBuilder templateBuilder);
void customize(JcloudsLocation location, ComputeService computeService, TemplateOptions templateOptions);
void customize(JcloudsLocation location, ComputeService computeService, JcloudsSshMachineLocation machine);
}