@Singleton public class EagerNodePoolComputeServiceAdapter extends BaseNodePoolComputeServiceAdapter
NodePoolComputeService
. Eagerly builds and maintains a pool of nodes. It's only
"started" after min nodes are allocated and available.JCloudsNativeComputeServiceAdapter.NodeWithInitialCredentials
ComputeServiceAdapter.NodeAndInitialCredentials<N>
Modifier and Type | Field and Description |
---|---|
protected Logger |
logger |
backendComputeService, backendTemplate, initialCredentialsBuilder, metadataStore, poolGroupName
Constructor and Description |
---|
EagerNodePoolComputeServiceAdapter(com.google.common.base.Supplier<ComputeService> backendComputeService,
com.google.common.base.Supplier<Template> backendTemplate,
String poolGroupPrefix,
int maxSize,
int minSize,
boolean removeDestroyed,
NodeMetadataStore storage,
String poolNodeAdminAccess,
AdminAccess.Configuration configuration) |
Modifier and Type | Method and Description |
---|---|
JCloudsNativeComputeServiceAdapter.NodeWithInitialCredentials |
createNodeWithGroupEncodedIntoName(String group,
String name,
Template template)
ComputeService.createNodesInGroup(String, int, Template) generates the parameters
passed into this method such that each node in the set has a unique name. |
int |
currentSize() |
void |
destroyNode(String id) |
int |
idleNodes() |
int |
maxNodes() |
int |
minNodes() |
void |
startEagerPool() |
int |
usedNodes() |
addToPool, destroyPool, getBackendComputeServiceContext, getBackendNodes, getImage, getNode, getPoolGroupName, listHardwareProfiles, listImages, listLocations, listNodes, rebootNode, resumeNode, suspendNode
@Named(value="jclouds.compute") protected Logger logger
@Inject public EagerNodePoolComputeServiceAdapter(com.google.common.base.Supplier<ComputeService> backendComputeService, com.google.common.base.Supplier<Template> backendTemplate, @Named(value="jclouds.nodepool.backend-group") String poolGroupPrefix, @Named(value="jclouds.nodepool.max-size") int maxSize, @Named(value="jclouds.nodepool.min-size") int minSize, @Named(value="jclouds.nodepool.remove-destroyed") boolean removeDestroyed, NodeMetadataStore storage, @Named(value="jclouds.nodepool.admin-access") String poolNodeAdminAccess, AdminAccess.Configuration configuration)
@PostConstruct public void startEagerPool()
public JCloudsNativeComputeServiceAdapter.NodeWithInitialCredentials createNodeWithGroupEncodedIntoName(String group, String name, Template template)
ComputeServiceAdapter
ComputeService.createNodesInGroup(String, int, Template)
generates the parameters
passed into this method such that each node in the set has a unique name.
N
. If you are not using library-native objects (such as libvirt Domain
) use
JCloudsNativeComputeServiceAdapter
instead.
credentialStore
group
- used to aggregate nodes with identical configurationname
- unique supplied name for the node, which has the group encoded into it.template
- includes imageId
, locationId
, and hardwareId
used to resume
the instance.ComputeService.createNodesInGroup(String, int, Template)
public void destroyNode(String id)
JCloudsNativeComputeServiceAdapter
public int currentSize()
public int idleNodes()
public int maxNodes()
public int minNodes()
public int usedNodes()
Copyright © 2009-2013 jclouds. All Rights Reserved.