Package org.jclouds.cloudstack.compute
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
FieldsModifier and TypeFieldDescriptionprotected final CloudStackApiprotected final com.google.common.cache.LoadingCache<String,SshKeyPair> protected final org.jclouds.compute.functions.GroupNamingConvention.Factoryprotected 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> Fields inherited from class org.jclouds.compute.internal.BaseComputeService
context, credentialStore, logger -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedCloudStackComputeService(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 TypeMethodDescriptionprotected voidcleanOrphanedGroupsInZone(Set<String> groups, String zoneId) protected voidcleanUpIncidentalResourcesOfDeadNodes(Set<? extends org.jclouds.compute.domain.NodeMetadata> deadNodes) returns template options, asCloudStackTemplateOptions.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
-
Field Details
-
client
-
securityGroupMap
-
keyPairCache
-
orphanedGroupsByZoneId
-
namingConvention
protected final org.jclouds.compute.functions.GroupNamingConvention.Factory namingConvention -
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:
cleanUpIncidentalResourcesOfDeadNodesin classorg.jclouds.compute.internal.BaseComputeService
-
cleanOrphanedGroupsInZone
-
templateOptions
returns template options, asCloudStackTemplateOptions.- Specified by:
templateOptionsin interfaceorg.jclouds.compute.ComputeService- Overrides:
templateOptionsin classorg.jclouds.compute.internal.BaseComputeService
-