Class CloudStackComputeServiceAdapter
java.lang.Object
org.jclouds.cloudstack.compute.strategy.CloudStackComputeServiceAdapter
- All Implemented Interfaces:
ComputeServiceAdapter<VirtualMachine,ServiceOffering, Template, Zone>
@Singleton
public class CloudStackComputeServiceAdapter
extends Object
implements ComputeServiceAdapter<VirtualMachine,ServiceOffering,Template,Zone>
defines the connection between the
CloudStackApi implementation
and the jclouds
invalid reference
ComputeService
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.jclouds.compute.ComputeServiceAdapter
ComputeServiceAdapter.NodeAndInitialCredentials<N> -
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionCloudStackComputeServiceAdapter(CloudStackApi client, com.google.common.base.Predicate<String> jobComplete, com.google.common.base.Supplier<Map<String, Network>> networkSupplier, com.google.common.base.Supplier<Map<String, Project>> projectSupplier, BlockUntilJobCompletesAndReturnResult blockUntilJobCompletesAndReturnResult, StaticNATVirtualMachineInNetwork.Factory staticNATVMInNetwork, CreatePortForwardingRulesForIP setupPortForwardingRulesForIP, CreateFirewallRulesForIP setupFirewallRulesForIP, com.google.common.cache.LoadingCache<String, Set<IPForwardingRule>> vmToRules, Map<String, Credentials> credentialStore, Map<NetworkType, ? extends OptionsConverter> optionsConverters, com.google.common.base.Supplier<com.google.common.cache.LoadingCache<String, Zone>> zoneIdToZone, com.google.common.cache.LoadingCache<ZoneAndName, SecurityGroup> securityGroupCache, com.google.common.cache.LoadingCache<String, SshKeyPair> keyPairCache, GroupNamingConvention.Factory namingConvention, GetLoginForProviderFromPropertiesAndStoreCredentialsOrReturnNull credentialsProvider) -
Method Summary
Modifier and TypeMethodDescriptionvoidawaitCompletion(Iterable<String> jobs) voidawaitCompletion(String job) createNodeWithGroupEncodedIntoName(String group, String name, Template template) ComputeService.createNodesInGroup(String, int, Template)generates the parameters passed into this method such that each node in the set has a unique name.deleteFirewallRulesForVMAndReturnDistinctIPs(String virtualMachineId) deleteIPForwardingRulesForVMAndReturnDistinctIPs(String virtualMachineId) voiddestroyNode(String id) voiddestroyVirtualMachine(String virtualMachineId) voiddisableStaticNATOnIPAddresses(Set<String> ipAddresses) voiddisassociateIPAddresses(Set<String> ipAddresses) get a specific image by idHardware profiles describe available cpu, memory, and disk configurations that can be used to run a node.Images are the available configured operating systems that someone can run a node with.listNodesByIds(Iterable<String> ids) voidrebootNode(String id) voidresumeNode(String id) voidsuspendNode(String id)
-
Field Details
-
logger
-
-
Constructor Details
-
CloudStackComputeServiceAdapter
@Inject public CloudStackComputeServiceAdapter(CloudStackApi client, com.google.common.base.Predicate<String> jobComplete, com.google.common.base.Supplier<Map<String, Network>> networkSupplier, com.google.common.base.Supplier<Map<String, Project>> projectSupplier, BlockUntilJobCompletesAndReturnResult blockUntilJobCompletesAndReturnResult, StaticNATVirtualMachineInNetwork.Factory staticNATVMInNetwork, CreatePortForwardingRulesForIP setupPortForwardingRulesForIP, CreateFirewallRulesForIP setupFirewallRulesForIP, com.google.common.cache.LoadingCache<String, Set<IPForwardingRule>> vmToRules, Map<String, Credentials> credentialStore, Map<NetworkType, ? extends OptionsConverter> optionsConverters, com.google.common.base.Supplier<com.google.common.cache.LoadingCache<String, Zone>> zoneIdToZone, com.google.common.cache.LoadingCache<ZoneAndName, SecurityGroup> securityGroupCache, com.google.common.cache.LoadingCache<String, SshKeyPair> keyPairCache, GroupNamingConvention.Factory namingConvention, GetLoginForProviderFromPropertiesAndStoreCredentialsOrReturnNull credentialsProvider)
-
-
Method Details
-
createNodeWithGroupEncodedIntoName
public ComputeServiceAdapter.NodeAndInitialCredentials<VirtualMachine> createNodeWithGroupEncodedIntoName(String group, String name, Template template) Description copied from interface:ComputeServiceAdapterComputeService.createNodesInGroup(String, int, Template)generates the parameters passed into this method such that each node in the set has a unique name.note
It is intentional to return the library native node object, as generic typeN. If you are not using library-native objects (such as libvirtDomain) useJCloudsNativeComputeServiceAdapterinstead.note
Your responsibility is to create a node with the underlying library and return after storing its credentials in the supplied map corresponding toinvalid reference
credentialStore- Specified by:
createNodeWithGroupEncodedIntoNamein interfaceComputeServiceAdapter<VirtualMachine,ServiceOffering, Template, Zone> - Parameters:
group- used to aggregate nodes with identical configurationname- unique supplied name for the node, which has the group encoded into it.template- includesimageId,locationId, andhardwareIdused to resume the instance.- Returns:
- library-native representation of a node. TODO: return typed exception on createNodeFailure
- See Also:
-
listHardwareProfiles
Description copied from interface:ComputeServiceAdapterHardware profiles describe available cpu, memory, and disk configurations that can be used to run a node. To implement this method, return the library native hardware profiles available to the user. These will be used to launch nodes as a part of the template.- Specified by:
listHardwareProfilesin interfaceComputeServiceAdapter<VirtualMachine,ServiceOffering, Template, Zone> - Returns:
- a non-null iterable of available hardware profiles.
- See Also:
-
listImages
Description copied from interface:ComputeServiceAdapterImages are the available configured operating systems that someone can run a node with. To implement this method, return the library native images available to the user. These will be used to launch nodes as a part of the template.- Specified by:
listImagesin interfaceComputeServiceAdapter<VirtualMachine,ServiceOffering, Template, Zone> - Returns:
- a non-null iterable of available images.
- See Also:
-
getImage
Description copied from interface:ComputeServiceAdapterget a specific image by id- Specified by:
getImagein interfaceComputeServiceAdapter<VirtualMachine,ServiceOffering, Template, Zone> - Parameters:
id-, which is not necessarilyinvalid reference
Image#getIdinvalid reference
Image#getProviderId- Returns:
- image or null if not exists.
-
listNodes
- Specified by:
listNodesin interfaceComputeServiceAdapter<VirtualMachine,ServiceOffering, Template, Zone>
-
listNodesByIds
- Specified by:
listNodesByIdsin interfaceComputeServiceAdapter<VirtualMachine,ServiceOffering, Template, Zone>
-
listLocations
- Specified by:
listLocationsin interfaceComputeServiceAdapter<VirtualMachine,ServiceOffering, Template, Zone>
-
getNode
- Specified by:
getNodein interfaceComputeServiceAdapter<VirtualMachine,ServiceOffering, Template, Zone>
-
destroyNode
- Specified by:
destroyNodein interfaceComputeServiceAdapter<VirtualMachine,ServiceOffering, Template, Zone>
-
disassociateIPAddresses
-
destroyVirtualMachine
-
disableStaticNATOnIPAddresses
-
deleteIPForwardingRulesForVMAndReturnDistinctIPs
-
deleteFirewallRulesForVMAndReturnDistinctIPs
-
awaitCompletion
-
awaitCompletion
-
rebootNode
- Specified by:
rebootNodein interfaceComputeServiceAdapter<VirtualMachine,ServiceOffering, Template, Zone>
-
resumeNode
- Specified by:
resumeNodein interfaceComputeServiceAdapter<VirtualMachine,ServiceOffering, Template, Zone>
-
suspendNode
- Specified by:
suspendNodein interfaceComputeServiceAdapter<VirtualMachine,ServiceOffering, Template, Zone>
-