public class BasicJcloudsLocationCustomizer extends BasicConfigurableObject implements JcloudsLocationCustomizer, EntityInitializer
When the class is used as an EntityInitializer
it inserts itself into the entity's
JcloudsLocationConfig.JCLOUDS_LOCATION_CUSTOMIZERS
under the
BrooklynConfigKeys.PROVISIONING_PROPERTIES
key.
Configurable.ConfigurationSupport
Constructor and Description |
---|
BasicJcloudsLocationCustomizer() |
BasicJcloudsLocationCustomizer(ConfigBag params) |
BasicJcloudsLocationCustomizer(java.util.Map<?,?> params) |
Modifier and Type | Method and Description |
---|---|
void |
apply(EntityLocal entity)
Applies initialization logic to a just-built entity.
|
void |
customize(JcloudsLocation location,
org.jclouds.compute.ComputeService computeService,
JcloudsMachineLocation machine)
Override to configure the given machine once it has been created and started by Jclouds.
|
void |
customize(JcloudsLocation location,
org.jclouds.compute.ComputeService computeService,
org.jclouds.compute.domain.Template template)
Override to configure a subclass of this with the built template, or to configure the built
template's
TemplateOptions . |
void |
customize(JcloudsLocation location,
org.jclouds.compute.ComputeService computeService,
org.jclouds.compute.domain.TemplateBuilder templateBuilder)
Override to configure
templateBuilder
before it is built and immutable. |
void |
customize(JcloudsLocation location,
org.jclouds.compute.ComputeService computeService,
org.jclouds.compute.options.TemplateOptions templateOptions)
Override to configure the
TemplateOptions that will
be used by JcloudsLocation to obtain machines. |
void |
postRelease(JcloudsMachineLocation machine)
Override to handle machine-related cleanup after Jclouds is called to release (destroy) the machine.
|
void |
preRelease(JcloudsMachineLocation machine)
Override to handle machine-related cleanup before Jclouds is called to release (destroy) the machine.
|
config, getBrooklynManagementContext, getConfig, getId, setConfig, setManagementContext
public BasicJcloudsLocationCustomizer()
public BasicJcloudsLocationCustomizer(java.util.Map<?,?> params)
public BasicJcloudsLocationCustomizer(ConfigBag params)
public void apply(EntityLocal entity)
EntityInitializer
apply
in interface EntityInitializer
entity
- guaranteed to be the actual implementation instance,
thus guaranteed to be castable to EntityInternal which is often desired,
or to the type at hand (it is not even a proxy)public void customize(JcloudsLocation location, org.jclouds.compute.ComputeService computeService, org.jclouds.compute.domain.TemplateBuilder templateBuilder)
JcloudsLocationCustomizer
templateBuilder
before it is built and immutable.customize
in interface JcloudsLocationCustomizer
public void customize(JcloudsLocation location, org.jclouds.compute.ComputeService computeService, org.jclouds.compute.domain.Template template)
JcloudsLocationCustomizer
TemplateOptions
.
This method will be called before JcloudsLocationCustomizer.customize(JcloudsLocation, ComputeService, TemplateOptions)
.
customize
in interface JcloudsLocationCustomizer
public void customize(JcloudsLocation location, org.jclouds.compute.ComputeService computeService, org.jclouds.compute.options.TemplateOptions templateOptions)
JcloudsLocationCustomizer
TemplateOptions
that will
be used by JcloudsLocation
to obtain machines.customize
in interface JcloudsLocationCustomizer
public void customize(JcloudsLocation location, org.jclouds.compute.ComputeService computeService, JcloudsMachineLocation machine)
JcloudsLocationCustomizer
If CloudLocationConfig.WAIT_FOR_SSHABLE
is true the machine is guaranteed to be
SSHable when this method is called.
customize
in interface JcloudsLocationCustomizer
public void preRelease(JcloudsMachineLocation machine)
JcloudsLocationCustomizer
preRelease
in interface JcloudsLocationCustomizer
public void postRelease(JcloudsMachineLocation machine)
JcloudsLocationCustomizer
postRelease
in interface JcloudsLocationCustomizer