org.jclouds.aws.ec2.compute
Class AWSEC2ComputeService

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

@Singleton
public class AWSEC2ComputeService
extends org.jclouds.ec2.compute.EC2ComputeService

Author:
Adrian Cole

Field Summary
 
Fields inherited from class org.jclouds.compute.internal.BaseComputeService
context, credentialStore, logger
 
Constructor Summary
protected AWSEC2ComputeService(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, ExecutorService executor, AWSEC2Client ec2Client, ConcurrentMap<org.jclouds.ec2.compute.domain.RegionAndName,org.jclouds.ec2.domain.KeyPair> credentialsMap, com.google.common.cache.LoadingCache<org.jclouds.ec2.compute.domain.RegionAndName,String> securityGroupMap, com.google.common.cache.LoadingCache<org.jclouds.ec2.compute.domain.RegionAndName,String> placementGroupMap, com.google.common.base.Predicate<PlacementGroup> placementGroupDeleted, boolean generateInstanceNames, AWSEC2AsyncClient aclient, com.google.common.base.Optional<org.jclouds.compute.extensions.ImageExtension> imageExtension, org.jclouds.compute.functions.GroupNamingConvention.Factory namingConvention)
           
 
Method Summary
protected  void addTagsToNodesFromUserMetadataInTemplate(Set<? extends org.jclouds.compute.domain.NodeMetadata> nodes, String group, org.jclouds.compute.domain.Template template)
           
protected  Set<? extends org.jclouds.compute.domain.NodeMetadata> addUserMetadataFromTemplateOptionsToNodes(org.jclouds.compute.domain.Template template, String group, Set<? extends org.jclouds.compute.domain.NodeMetadata> nodes)
           
protected  void cleanUpIncidentalResources(String region, String group)
           
 Set<? extends org.jclouds.compute.domain.NodeMetadata> createNodesInGroup(String group, int count, org.jclouds.compute.domain.Template template)
           
 org.jclouds.ec2.compute.options.EC2TemplateOptions templateOptions()
          returns template options, except of type EC2TemplateOptions.
protected  boolean templateWasASpotRequestWithUserMetadata(org.jclouds.compute.domain.Template template)
           
 
Methods inherited from class org.jclouds.ec2.compute.EC2ComputeService
cleanUpIncidentalResourcesOfDeadNodes, extractIdsFromInstances, usingKeyPairAndNotDead
 
Methods inherited from class org.jclouds.compute.internal.BaseComputeService
createNodesInGroup, createNodesInGroup, destroyNode, destroyNodesMatching, doDestroyNode, getContext, getImage, getImageExtension, 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

AWSEC2ComputeService

@Inject
protected AWSEC2ComputeService(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")
                                      ExecutorService executor,
                                      AWSEC2Client ec2Client,
                                      ConcurrentMap<org.jclouds.ec2.compute.domain.RegionAndName,org.jclouds.ec2.domain.KeyPair> credentialsMap,
                                      @Named(value="SECURITY")
                                      com.google.common.cache.LoadingCache<org.jclouds.ec2.compute.domain.RegionAndName,String> securityGroupMap,
                                      @Named(value="PLACEMENT")
                                      com.google.common.cache.LoadingCache<org.jclouds.ec2.compute.domain.RegionAndName,String> placementGroupMap,
                                      @Named(value="DELETED")
                                      com.google.common.base.Predicate<PlacementGroup> placementGroupDeleted,
                                      @Named(value="jclouds.ec2.generate-instance-names")
                                      boolean generateInstanceNames,
                                      AWSEC2AsyncClient aclient,
                                      com.google.common.base.Optional<org.jclouds.compute.extensions.ImageExtension> imageExtension,
                                      org.jclouds.compute.functions.GroupNamingConvention.Factory namingConvention)
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

addTagsToNodesFromUserMetadataInTemplate

protected void addTagsToNodesFromUserMetadataInTemplate(Set<? extends org.jclouds.compute.domain.NodeMetadata> nodes,
                                                        String group,
                                                        org.jclouds.compute.domain.Template template)

templateWasASpotRequestWithUserMetadata

protected boolean templateWasASpotRequestWithUserMetadata(org.jclouds.compute.domain.Template template)

addUserMetadataFromTemplateOptionsToNodes

protected Set<? extends org.jclouds.compute.domain.NodeMetadata> addUserMetadataFromTemplateOptionsToNodes(org.jclouds.compute.domain.Template template,
                                                                                                           String group,
                                                                                                           Set<? extends org.jclouds.compute.domain.NodeMetadata> nodes)

cleanUpIncidentalResources

protected void cleanUpIncidentalResources(String region,
                                          String group)
Overrides:
cleanUpIncidentalResources in class org.jclouds.ec2.compute.EC2ComputeService

templateOptions

public org.jclouds.ec2.compute.options.EC2TemplateOptions templateOptions()
returns template options, except of type EC2TemplateOptions.

Specified by:
templateOptions in interface org.jclouds.compute.ComputeService
Overrides:
templateOptions in class org.jclouds.ec2.compute.EC2ComputeService


Copyright © 2009-2013 jclouds. All Rights Reserved.