Class CloudStackComputeService

java.lang.Object
org.jclouds.compute.internal.BaseComputeService
org.jclouds.cloudstack.compute.CloudStackComputeService
All Implemented Interfaces:
org.jclouds.compute.ComputeService

@Singleton public class CloudStackComputeService extends org.jclouds.compute.internal.BaseComputeService
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected final CloudStackApi
     
    protected final com.google.common.cache.LoadingCache<String,SshKeyPair>
     
    protected final org.jclouds.compute.functions.GroupNamingConvention.Factory
     
    protected final com.google.common.base.Function<Set<? extends org.jclouds.compute.domain.NodeMetadata>,com.google.common.collect.Multimap<String,String>>
     
    protected final com.google.common.cache.LoadingCache<ZoneAndName,SecurityGroup>
     
    protected final com.google.common.base.Supplier<com.google.common.cache.LoadingCache<String,Zone>>
     

    Fields inherited from class org.jclouds.compute.internal.BaseComputeService

    context, credentialStore, logger
  • Constructor Summary

    Constructors
    Modifier
    Constructor
    Description
    protected
    CloudStackComputeService(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, com.google.common.util.concurrent.ListeningExecutorService userExecutor, CloudStackApi client, com.google.common.cache.LoadingCache<ZoneAndName,SecurityGroup> securityGroupMap, com.google.common.cache.LoadingCache<String,SshKeyPair> 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.Supplier<com.google.common.cache.LoadingCache<String,Zone>> zoneIdToZone, com.google.common.base.Optional<org.jclouds.compute.extensions.ImageExtension> imageExtension, com.google.common.base.Optional<org.jclouds.compute.extensions.SecurityGroupExtension> securityGroupExtension, org.jclouds.compute.extensions.internal.DelegatingImageExtension.Factory delegatingImageExtension)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected void
     
    protected void
    cleanUpIncidentalResourcesOfDeadNodes(Set<? extends org.jclouds.compute.domain.NodeMetadata> deadNodes)
     
    returns template options, as CloudStackTemplateOptions.

    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 Details

    • client

      protected final CloudStackApi client
    • securityGroupMap

      protected final com.google.common.cache.LoadingCache<ZoneAndName,SecurityGroup> securityGroupMap
    • keyPairCache

      protected final com.google.common.cache.LoadingCache<String,SshKeyPair> 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
    • zoneIdToZone

      protected final com.google.common.base.Supplier<com.google.common.cache.LoadingCache<String,Zone>> zoneIdToZone
  • Constructor Details

    • CloudStackComputeService

      @Inject protected CloudStackComputeService(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("DEFAULT") javax.inject.Provider<org.jclouds.compute.options.TemplateOptions> templateOptionsProvider, @Named("jclouds.compute.timeout.node-running") com.google.common.base.Predicate<AtomicReference<org.jclouds.compute.domain.NodeMetadata>> nodeRunning, @Named("jclouds.compute.timeout.node-terminated") com.google.common.base.Predicate<AtomicReference<org.jclouds.compute.domain.NodeMetadata>> nodeTerminated, @Named("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, @Named("jclouds.user-threads") com.google.common.util.concurrent.ListeningExecutorService userExecutor, CloudStackApi client, com.google.common.cache.LoadingCache<ZoneAndName,SecurityGroup> securityGroupMap, com.google.common.cache.LoadingCache<String,SshKeyPair> 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.Supplier<com.google.common.cache.LoadingCache<String,Zone>> zoneIdToZone, com.google.common.base.Optional<org.jclouds.compute.extensions.ImageExtension> imageExtension, com.google.common.base.Optional<org.jclouds.compute.extensions.SecurityGroupExtension> securityGroupExtension, org.jclouds.compute.extensions.internal.DelegatingImageExtension.Factory delegatingImageExtension)
  • Method Details

    • 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 CloudStackTemplateOptions templateOptions()
      returns template options, as CloudStackTemplateOptions.
      Specified by:
      templateOptions in interface org.jclouds.compute.ComputeService
      Overrides:
      templateOptions in class org.jclouds.compute.internal.BaseComputeService