org.jclouds.openstack.nova.v2_0.compute
Class NovaComputeService

java.lang.Object
  extended by org.jclouds.compute.internal.BaseComputeService
      extended by org.jclouds.openstack.nova.v2_0.compute.NovaComputeService
All Implemented Interfaces:
org.jclouds.compute.ComputeService

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


Field Summary
protected  com.google.common.cache.LoadingCache<ZoneAndName,KeyPair> keyPairCache
           
protected  org.jclouds.compute.functions.GroupNamingConvention.Factory namingConvention
           
protected  NovaApi novaApi
           
protected  com.google.common.base.Function<Set<? extends org.jclouds.compute.domain.NodeMetadata>,com.google.common.collect.Multimap<String,String>> orphanedGroupsByZoneId
           
protected  com.google.common.cache.LoadingCache<ZoneAndName,SecurityGroupInZone> securityGroupMap
           
 
Fields inherited from class org.jclouds.compute.internal.BaseComputeService
context, credentialStore, logger
 
Constructor Summary
protected NovaComputeService(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, NovaApi novaApi, com.google.common.cache.LoadingCache<ZoneAndName,SecurityGroupInZone> securityGroupMap, com.google.common.cache.LoadingCache<ZoneAndName,KeyPair> keyPairCache, com.google.common.base.Function<Set<? extends org.jclouds.compute.domain.NodeMetadata>,com.google.common.collect.Multimap<String,String>> orphanedGroupsByZoneId, org.jclouds.compute.functions.GroupNamingConvention.Factory namingConvention, com.google.common.base.Optional<org.jclouds.compute.extensions.ImageExtension> imageExtension, com.google.common.base.Optional<org.jclouds.compute.extensions.SecurityGroupExtension> securityGroupExtension)
           
 
Method Summary
protected  void cleanOrphanedGroupsInZone(Set<String> groups, String zoneId)
           
protected  void cleanUpIncidentalResourcesOfDeadNodes(Set<? extends org.jclouds.compute.domain.NodeMetadata> deadNodes)
           
 NovaTemplateOptions templateOptions()
          returns template options, except of type NovaTemplateOptions.
 
Methods inherited from class org.jclouds.compute.internal.BaseComputeService
createNodesInGroup, 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
 

Field Detail

novaApi

protected final NovaApi novaApi

securityGroupMap

protected final com.google.common.cache.LoadingCache<ZoneAndName,SecurityGroupInZone> securityGroupMap

keyPairCache

protected final com.google.common.cache.LoadingCache<ZoneAndName,KeyPair> keyPairCache

orphanedGroupsByZoneId

protected final com.google.common.base.Function<Set<? extends org.jclouds.compute.domain.NodeMetadata>,com.google.common.collect.Multimap<String,String>> orphanedGroupsByZoneId

namingConvention

protected final org.jclouds.compute.functions.GroupNamingConvention.Factory namingConvention
Constructor Detail

NovaComputeService

@Inject
protected NovaComputeService(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,
                                    NovaApi novaApi,
                                    com.google.common.cache.LoadingCache<ZoneAndName,SecurityGroupInZone> securityGroupMap,
                                    com.google.common.cache.LoadingCache<ZoneAndName,KeyPair> keyPairCache,
                                    com.google.common.base.Function<Set<? extends org.jclouds.compute.domain.NodeMetadata>,com.google.common.collect.Multimap<String,String>> orphanedGroupsByZoneId,
                                    org.jclouds.compute.functions.GroupNamingConvention.Factory namingConvention,
                                    com.google.common.base.Optional<org.jclouds.compute.extensions.ImageExtension> imageExtension,
                                    com.google.common.base.Optional<org.jclouds.compute.extensions.SecurityGroupExtension> securityGroupExtension)
Method Detail

cleanUpIncidentalResourcesOfDeadNodes

protected void cleanUpIncidentalResourcesOfDeadNodes(Set<? extends org.jclouds.compute.domain.NodeMetadata> deadNodes)
Overrides:
cleanUpIncidentalResourcesOfDeadNodes in class org.jclouds.compute.internal.BaseComputeService

cleanOrphanedGroupsInZone

protected void cleanOrphanedGroupsInZone(Set<String> groups,
                                         String zoneId)

templateOptions

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

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.