org.jclouds.cloudstack.compute.strategy
Class CloudStackComputeServiceAdapter

java.lang.Object
  extended by org.jclouds.cloudstack.compute.strategy.CloudStackComputeServiceAdapter
All Implemented Interfaces:
org.jclouds.compute.ComputeServiceAdapter<VirtualMachine,ServiceOffering,Template,Zone>

@Singleton
public class CloudStackComputeServiceAdapter
extends Object
implements org.jclouds.compute.ComputeServiceAdapter<VirtualMachine,ServiceOffering,Template,Zone>

defines the connection between the CloudStackClient implementation and the jclouds ComputeService


Nested Class Summary
 
Nested classes/interfaces inherited from interface org.jclouds.compute.ComputeServiceAdapter
org.jclouds.compute.ComputeServiceAdapter.NodeAndInitialCredentials<N>
 
Field Summary
protected  org.jclouds.logging.Logger logger
           
 
Constructor Summary
CloudStackComputeServiceAdapter(CloudStackClient client, com.google.common.base.Predicate<String> jobComplete, com.google.common.base.Supplier<Map<String,Network>> networkSupplier, BlockUntilJobCompletesAndReturnResult blockUntilJobCompletesAndReturnResult, StaticNATVirtualMachineInNetwork.Factory staticNATVMInNetwork, CreatePortForwardingRulesForIP setupPortForwardingRulesForIP, CreateFirewallRulesForIP setupFirewallRulesForIP, com.google.common.cache.LoadingCache<String,Set<IPForwardingRule>> vmToRules, Map<String,org.jclouds.domain.Credentials> credentialStore, Map<NetworkType,? extends OptionsConverter> optionsConverters, com.google.common.base.Supplier<com.google.common.cache.LoadingCache<String,Zone>> zoneIdToZone)
           
 
Method Summary
 void awaitCompletion(Iterable<String> jobs)
           
 void awaitCompletion(String job)
           
 org.jclouds.compute.ComputeServiceAdapter.NodeAndInitialCredentials<VirtualMachine> createNodeWithGroupEncodedIntoName(String group, String name, org.jclouds.compute.domain.Template template)
           
 Set<String> deleteFirewallRulesForVMAndReturnDistinctIPs(String virtualMachineId)
           
 Set<String> deleteIPForwardingRulesForVMAndReturnDistinctIPs(String virtualMachineId)
           
 void destroyNode(String id)
           
 void destroyVirtualMachine(String virtualMachineId)
           
 void disableStaticNATOnIPAddresses(Set<String> ipAddresses)
           
 void disassociateIPAddresses(Set<String> ipAddresses)
           
 Template getImage(String id)
           
 VirtualMachine getNode(String id)
           
 Iterable<ServiceOffering> listHardwareProfiles()
           
 Iterable<Template> listImages()
           
 Iterable<Zone> listLocations()
           
 Iterable<VirtualMachine> listNodes()
           
 void rebootNode(String id)
           
 void resumeNode(String id)
           
 void suspendNode(String id)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

logger

@Named(value="jclouds.compute")
protected org.jclouds.logging.Logger logger
Constructor Detail

CloudStackComputeServiceAdapter

@Inject
public CloudStackComputeServiceAdapter(CloudStackClient client,
                                              com.google.common.base.Predicate<String> jobComplete,
                                              com.google.common.base.Supplier<Map<String,Network>> networkSupplier,
                                              BlockUntilJobCompletesAndReturnResult blockUntilJobCompletesAndReturnResult,
                                              StaticNATVirtualMachineInNetwork.Factory staticNATVMInNetwork,
                                              CreatePortForwardingRulesForIP setupPortForwardingRulesForIP,
                                              CreateFirewallRulesForIP setupFirewallRulesForIP,
                                              com.google.common.cache.LoadingCache<String,Set<IPForwardingRule>> vmToRules,
                                              Map<String,org.jclouds.domain.Credentials> credentialStore,
                                              Map<NetworkType,? extends OptionsConverter> optionsConverters,
                                              com.google.common.base.Supplier<com.google.common.cache.LoadingCache<String,Zone>> zoneIdToZone)
Method Detail

createNodeWithGroupEncodedIntoName

public org.jclouds.compute.ComputeServiceAdapter.NodeAndInitialCredentials<VirtualMachine> createNodeWithGroupEncodedIntoName(String group,
                                                                                                                              String name,
                                                                                                                              org.jclouds.compute.domain.Template template)
Specified by:
createNodeWithGroupEncodedIntoName in interface org.jclouds.compute.ComputeServiceAdapter<VirtualMachine,ServiceOffering,Template,Zone>

listHardwareProfiles

public Iterable<ServiceOffering> listHardwareProfiles()
Specified by:
listHardwareProfiles in interface org.jclouds.compute.ComputeServiceAdapter<VirtualMachine,ServiceOffering,Template,Zone>

listImages

public Iterable<Template> listImages()
Specified by:
listImages in interface org.jclouds.compute.ComputeServiceAdapter<VirtualMachine,ServiceOffering,Template,Zone>

getImage

public Template getImage(String id)
Specified by:
getImage in interface org.jclouds.compute.ComputeServiceAdapter<VirtualMachine,ServiceOffering,Template,Zone>

listNodes

public Iterable<VirtualMachine> listNodes()
Specified by:
listNodes in interface org.jclouds.compute.ComputeServiceAdapter<VirtualMachine,ServiceOffering,Template,Zone>

listLocations

public Iterable<Zone> listLocations()
Specified by:
listLocations in interface org.jclouds.compute.ComputeServiceAdapter<VirtualMachine,ServiceOffering,Template,Zone>

getNode

public VirtualMachine getNode(String id)
Specified by:
getNode in interface org.jclouds.compute.ComputeServiceAdapter<VirtualMachine,ServiceOffering,Template,Zone>

destroyNode

public void destroyNode(String id)
Specified by:
destroyNode in interface org.jclouds.compute.ComputeServiceAdapter<VirtualMachine,ServiceOffering,Template,Zone>

disassociateIPAddresses

public void disassociateIPAddresses(Set<String> ipAddresses)

destroyVirtualMachine

public void destroyVirtualMachine(String virtualMachineId)

disableStaticNATOnIPAddresses

public void disableStaticNATOnIPAddresses(Set<String> ipAddresses)

deleteIPForwardingRulesForVMAndReturnDistinctIPs

public Set<String> deleteIPForwardingRulesForVMAndReturnDistinctIPs(String virtualMachineId)

deleteFirewallRulesForVMAndReturnDistinctIPs

public Set<String> deleteFirewallRulesForVMAndReturnDistinctIPs(String virtualMachineId)

awaitCompletion

public void awaitCompletion(Iterable<String> jobs)

awaitCompletion

public void awaitCompletion(String job)

rebootNode

public void rebootNode(String id)
Specified by:
rebootNode in interface org.jclouds.compute.ComputeServiceAdapter<VirtualMachine,ServiceOffering,Template,Zone>

resumeNode

public void resumeNode(String id)
Specified by:
resumeNode in interface org.jclouds.compute.ComputeServiceAdapter<VirtualMachine,ServiceOffering,Template,Zone>

suspendNode

public void suspendNode(String id)
Specified by:
suspendNode in interface org.jclouds.compute.ComputeServiceAdapter<VirtualMachine,ServiceOffering,Template,Zone>


Copyright © 2009-2012 jclouds. All Rights Reserved.