org.jclouds.ec2.compute
Class EC2ComputeService

java.lang.Object
  extended by org.jclouds.compute.internal.BaseComputeService
      extended by org.jclouds.ec2.compute.EC2ComputeService
All Implemented Interfaces:
ComputeService
Direct Known Subclasses:
AWSEC2ComputeService

@Singleton
public class EC2ComputeService
extends BaseComputeService

Author:
Adrian Cole

Field Summary
 
Fields inherited from class org.jclouds.compute.internal.BaseComputeService
context, credentialStore, logger
 
Constructor Summary
protected EC2ComputeService(ComputeServiceContext context, Map<String,Credentials> credentialStore, com.google.common.base.Supplier<Set<? extends Image>> images, com.google.common.base.Supplier<Set<? extends Hardware>> sizes, com.google.common.base.Supplier<Set<? extends Location>> locations, ListNodesStrategy listNodesStrategy, GetNodeMetadataStrategy getNodeMetadataStrategy, CreateNodesInGroupThenAddToSet runNodesAndAddToSetStrategy, RebootNodeStrategy rebootNodeStrategy, DestroyNodeStrategy destroyNodeStrategy, ResumeNodeStrategy startNodeStrategy, SuspendNodeStrategy stopNodeStrategy, javax.inject.Provider<TemplateBuilder> templateBuilderProvider, javax.inject.Provider<TemplateOptions> templateOptionsProvider, com.google.common.base.Predicate<AtomicReference<NodeMetadata>> nodeRunning, com.google.common.base.Predicate<AtomicReference<NodeMetadata>> nodeTerminated, com.google.common.base.Predicate<AtomicReference<NodeMetadata>> nodeSuspended, InitializeRunScriptOnNodeOrPlaceInBadMap.Factory initScriptRunnerFactory, RunScriptOnNode.Factory runScriptOnNodeFactory, InitAdminAccess initAdminAccess, PersistNodeCredentials persistNodeCredentials, ComputeServiceConstants.Timeouts timeouts, ExecutorService executor, EC2Client ec2Client, ConcurrentMap<RegionAndName,KeyPair> credentialsMap, com.google.common.cache.LoadingCache<RegionAndName,String> securityGroupMap)
           
 
Method Summary
protected  void cleanUpIncidentalResources(String region, String group)
           
protected  void cleanUpIncidentalResourcesOfDeadNodes(Set<? extends NodeMetadata> deadNodes)
          Cleans implicit keypairs and security groups.
protected  com.google.common.collect.ImmutableSet<String> extractIdsFromInstances(Iterable<? extends RunningInstance> deadOnes)
           
 EC2TemplateOptions templateOptions()
          returns template options, except of type EC2TemplateOptions.
protected  com.google.common.base.Predicate<RunningInstance> usingKeyPairAndNotDead(KeyPair keyPair)
           
 
Methods inherited from class org.jclouds.compute.internal.BaseComputeService
createNodesInGroup, createNodesInGroup, createNodesInGroup, destroyNode, destroyNodesMatching, doDestroyNode, getContext, getNodeMetadata, listAssignableLocations, listHardwareProfiles, listImages, listNodes, listNodesDetailsMatching, rebootNode, rebootNodesMatching, resumeNode, resumeNodesMatching, runScriptOnNode, runScriptOnNode, runScriptOnNode, runScriptOnNode, runScriptOnNodesMatching, runScriptOnNodesMatching, runScriptOnNodesMatching, runScriptOnNodesMatching, submitScriptOnNode, suspendNode, suspendNodesMatching, templateBuilder, updateNodeWithCredentialsIfPresent
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

EC2ComputeService

@Inject
protected EC2ComputeService(ComputeServiceContext context,
                                   Map<String,Credentials> credentialStore,
                                   com.google.common.base.Supplier<Set<? extends Image>> images,
                                   com.google.common.base.Supplier<Set<? extends Hardware>> sizes,
                                   com.google.common.base.Supplier<Set<? extends Location>> locations,
                                   ListNodesStrategy listNodesStrategy,
                                   GetNodeMetadataStrategy getNodeMetadataStrategy,
                                   CreateNodesInGroupThenAddToSet runNodesAndAddToSetStrategy,
                                   RebootNodeStrategy rebootNodeStrategy,
                                   DestroyNodeStrategy destroyNodeStrategy,
                                   ResumeNodeStrategy startNodeStrategy,
                                   SuspendNodeStrategy stopNodeStrategy,
                                   javax.inject.Provider<TemplateBuilder> templateBuilderProvider,
                                   javax.inject.Provider<TemplateOptions> templateOptionsProvider,
                                   @Named(value="NODE_RUNNING")
                                   com.google.common.base.Predicate<AtomicReference<NodeMetadata>> nodeRunning,
                                   @Named(value="NODE_TERMINATED")
                                   com.google.common.base.Predicate<AtomicReference<NodeMetadata>> nodeTerminated,
                                   @Named(value="NODE_SUSPENDED")
                                   com.google.common.base.Predicate<AtomicReference<NodeMetadata>> nodeSuspended,
                                   InitializeRunScriptOnNodeOrPlaceInBadMap.Factory initScriptRunnerFactory,
                                   RunScriptOnNode.Factory runScriptOnNodeFactory,
                                   InitAdminAccess initAdminAccess,
                                   PersistNodeCredentials persistNodeCredentials,
                                   ComputeServiceConstants.Timeouts timeouts,
                                   @Named(value="jclouds.user-threads")
                                   ExecutorService executor,
                                   EC2Client ec2Client,
                                   ConcurrentMap<RegionAndName,KeyPair> credentialsMap,
                                   @Named(value="SECURITY")
                                   com.google.common.cache.LoadingCache<RegionAndName,String> securityGroupMap)
Method Detail

extractIdsFromInstances

protected com.google.common.collect.ImmutableSet<String> extractIdsFromInstances(Iterable<? extends RunningInstance> deadOnes)

usingKeyPairAndNotDead

protected com.google.common.base.Predicate<RunningInstance> usingKeyPairAndNotDead(KeyPair keyPair)

cleanUpIncidentalResourcesOfDeadNodes

protected void cleanUpIncidentalResourcesOfDeadNodes(Set<? extends NodeMetadata> deadNodes)
Cleans implicit keypairs and security groups.

Overrides:
cleanUpIncidentalResourcesOfDeadNodes in class BaseComputeService

cleanUpIncidentalResources

protected void cleanUpIncidentalResources(String region,
                                          String group)

templateOptions

public EC2TemplateOptions templateOptions()
returns template options, except of type EC2TemplateOptions.

Specified by:
templateOptions in interface ComputeService
Overrides:
templateOptions in class BaseComputeService


Copyright © 2009-2012 jclouds. All Rights Reserved.