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:
org.jclouds.compute.ComputeService

@Singleton
public class EC2ComputeService
extends org.jclouds.compute.internal.BaseComputeService


Field Summary
 
Fields inherited from class org.jclouds.compute.internal.BaseComputeService
context, credentialStore, logger
 
Constructor Summary
protected EC2ComputeService(org.jclouds.compute.ComputeServiceContext context, Map<String,org.jclouds.domain.Credentials> credentialStore, com.google.common.base.Supplier<Set<? extends org.jclouds.compute.domain.Image>> images, com.google.common.base.Supplier<Set<? extends org.jclouds.compute.domain.Hardware>> sizes, com.google.common.base.Supplier<Set<? extends org.jclouds.domain.Location>> locations, org.jclouds.compute.strategy.ListNodesStrategy listNodesStrategy, org.jclouds.compute.strategy.GetImageStrategy getImageStrategy, org.jclouds.compute.strategy.GetNodeMetadataStrategy getNodeMetadataStrategy, org.jclouds.compute.strategy.CreateNodesInGroupThenAddToSet runNodesAndAddToSetStrategy, org.jclouds.compute.strategy.RebootNodeStrategy rebootNodeStrategy, org.jclouds.compute.strategy.DestroyNodeStrategy destroyNodeStrategy, org.jclouds.compute.strategy.ResumeNodeStrategy startNodeStrategy, org.jclouds.compute.strategy.SuspendNodeStrategy stopNodeStrategy, javax.inject.Provider<org.jclouds.compute.domain.TemplateBuilder> templateBuilderProvider, javax.inject.Provider<org.jclouds.compute.options.TemplateOptions> templateOptionsProvider, com.google.common.base.Predicate<AtomicReference<org.jclouds.compute.domain.NodeMetadata>> nodeRunning, com.google.common.base.Predicate<AtomicReference<org.jclouds.compute.domain.NodeMetadata>> nodeTerminated, com.google.common.base.Predicate<AtomicReference<org.jclouds.compute.domain.NodeMetadata>> nodeSuspended, org.jclouds.compute.strategy.InitializeRunScriptOnNodeOrPlaceInBadMap.Factory initScriptRunnerFactory, org.jclouds.compute.callables.RunScriptOnNode.Factory runScriptOnNodeFactory, org.jclouds.scriptbuilder.functions.InitAdminAccess initAdminAccess, org.jclouds.compute.internal.PersistNodeCredentials persistNodeCredentials, org.jclouds.compute.reference.ComputeServiceConstants.Timeouts timeouts, com.google.common.util.concurrent.ListeningExecutorService userExecutor, EC2Api client, ConcurrentMap<RegionAndName,KeyPair> credentialsMap, com.google.common.cache.LoadingCache<RegionAndName,String> securityGroupMap, com.google.common.base.Optional<org.jclouds.compute.extensions.ImageExtension> imageExtension, org.jclouds.compute.functions.GroupNamingConvention.Factory namingConvention, boolean generateInstanceNames, com.google.common.base.Optional<org.jclouds.compute.extensions.SecurityGroupExtension> securityGroupExtension)
           
 
Method Summary
protected  void cleanUpIncidentalResources(String region, String group)
           
protected  void cleanUpIncidentalResourcesOfDeadNodes(Set<? extends org.jclouds.compute.domain.NodeMetadata> deadNodes)
          Cleans implicit keypairs and security groups.
 Set<? extends org.jclouds.compute.domain.NodeMetadata> createNodesInGroup(String group, int count, org.jclouds.compute.domain.Template template)
           
protected  com.google.common.collect.ImmutableSet<String> extractIdsFromInstances(Iterable<? extends RunningInstance> deadOnes)
           
 EC2TemplateOptions templateOptions()
          returns template options, except of type EC2TemplateOptions.
 
Methods inherited from class org.jclouds.compute.internal.BaseComputeService
createNodesInGroup, createNodesInGroup, destroyNode, destroyNodesMatching, doDestroyNode, getContext, getImage, getImageExtension, getNodeMetadata, getSecurityGroupExtension, listAssignableLocations, listHardwareProfiles, listImages, listNodes, listNodesByIds, listNodesDetailsMatching, rebootNode, rebootNodesMatching, resumeNode, resumeNodesMatching, runScriptOnNode, runScriptOnNode, runScriptOnNode, runScriptOnNode, runScriptOnNodesMatching, runScriptOnNodesMatching, runScriptOnNodesMatching, runScriptOnNodesMatching, submitScriptOnNode, 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(org.jclouds.compute.ComputeServiceContext context,
                                   Map<String,org.jclouds.domain.Credentials> credentialStore,
                                   com.google.common.base.Supplier<Set<? extends org.jclouds.compute.domain.Image>> images,
                                   com.google.common.base.Supplier<Set<? extends org.jclouds.compute.domain.Hardware>> sizes,
                                   com.google.common.base.Supplier<Set<? extends org.jclouds.domain.Location>> locations,
                                   org.jclouds.compute.strategy.ListNodesStrategy listNodesStrategy,
                                   org.jclouds.compute.strategy.GetImageStrategy getImageStrategy,
                                   org.jclouds.compute.strategy.GetNodeMetadataStrategy getNodeMetadataStrategy,
                                   org.jclouds.compute.strategy.CreateNodesInGroupThenAddToSet runNodesAndAddToSetStrategy,
                                   org.jclouds.compute.strategy.RebootNodeStrategy rebootNodeStrategy,
                                   org.jclouds.compute.strategy.DestroyNodeStrategy destroyNodeStrategy,
                                   org.jclouds.compute.strategy.ResumeNodeStrategy startNodeStrategy,
                                   org.jclouds.compute.strategy.SuspendNodeStrategy stopNodeStrategy,
                                   javax.inject.Provider<org.jclouds.compute.domain.TemplateBuilder> templateBuilderProvider,
                                   @Named(value="DEFAULT")
                                   javax.inject.Provider<org.jclouds.compute.options.TemplateOptions> templateOptionsProvider,
                                   @Named(value="jclouds.compute.timeout.node-running")
                                   com.google.common.base.Predicate<AtomicReference<org.jclouds.compute.domain.NodeMetadata>> nodeRunning,
                                   @Named(value="jclouds.compute.timeout.node-terminated")
                                   com.google.common.base.Predicate<AtomicReference<org.jclouds.compute.domain.NodeMetadata>> nodeTerminated,
                                   @Named(value="jclouds.compute.timeout.node-suspended")
                                   com.google.common.base.Predicate<AtomicReference<org.jclouds.compute.domain.NodeMetadata>> nodeSuspended,
                                   org.jclouds.compute.strategy.InitializeRunScriptOnNodeOrPlaceInBadMap.Factory initScriptRunnerFactory,
                                   org.jclouds.compute.callables.RunScriptOnNode.Factory runScriptOnNodeFactory,
                                   org.jclouds.scriptbuilder.functions.InitAdminAccess initAdminAccess,
                                   org.jclouds.compute.internal.PersistNodeCredentials persistNodeCredentials,
                                   org.jclouds.compute.reference.ComputeServiceConstants.Timeouts timeouts,
                                   @Named(value="jclouds.user-threads")
                                   com.google.common.util.concurrent.ListeningExecutorService userExecutor,
                                   EC2Api client,
                                   ConcurrentMap<RegionAndName,KeyPair> credentialsMap,
                                   @Named(value="SECURITY")
                                   com.google.common.cache.LoadingCache<RegionAndName,String> securityGroupMap,
                                   com.google.common.base.Optional<org.jclouds.compute.extensions.ImageExtension> imageExtension,
                                   org.jclouds.compute.functions.GroupNamingConvention.Factory namingConvention,
                                   @Named(value="jclouds.ec2.generate-instance-names")
                                   boolean generateInstanceNames,
                                   com.google.common.base.Optional<org.jclouds.compute.extensions.SecurityGroupExtension> securityGroupExtension)
Method Detail

createNodesInGroup

public Set<? extends org.jclouds.compute.domain.NodeMetadata> createNodesInGroup(String group,
                                                                                 int count,
                                                                                 org.jclouds.compute.domain.Template template)
                                                                          throws org.jclouds.compute.RunNodesException
Specified by:
createNodesInGroup in interface org.jclouds.compute.ComputeService
Overrides:
createNodesInGroup in class org.jclouds.compute.internal.BaseComputeService
Throws:
org.jclouds.compute.RunNodesException

extractIdsFromInstances

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

cleanUpIncidentalResourcesOfDeadNodes

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

Overrides:
cleanUpIncidentalResourcesOfDeadNodes in class org.jclouds.compute.internal.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 org.jclouds.compute.ComputeService
Overrides:
templateOptions in class org.jclouds.compute.internal.BaseComputeService


Copyright © 2009-2014 The Apache Software Foundation. All Rights Reserved.