org.jclouds.cloudstack.compute.strategy
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 CloudStackClient implementation
and the jclouds ComputeService
|
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,Credentials> credentialStore,
Map<NetworkType,? extends OptionsConverter> optionsConverters,
com.google.common.base.Supplier<com.google.common.cache.LoadingCache<String,Zone>> zoneIdToZone)
|
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
logger
@Named(value="jclouds.compute")
protected Logger logger
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,Credentials> credentialStore,
Map<NetworkType,? extends OptionsConverter> optionsConverters,
com.google.common.base.Supplier<com.google.common.cache.LoadingCache<String,Zone>> zoneIdToZone)
createNodeWithGroupEncodedIntoName
public ComputeServiceAdapter.NodeAndInitialCredentials<VirtualMachine> createNodeWithGroupEncodedIntoName(String group,
String name,
Template template)
- Description copied from interface:
ComputeServiceAdapter
ComputeService.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 type
N. If you are not using library-native objects (such as libvirt Domain) use
JCloudsNativeComputeServiceAdapter instead.
note
Your responsibility is to create a node with the underlying library and return
after storing its credentials in the supplied map corresponding to
credentialStore
- Specified by:
createNodeWithGroupEncodedIntoName in interface ComputeServiceAdapter<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 - includes imageId, locationId, and hardwareId used to resume
the instance.
- Returns:
- library-native representation of a node. TODO: return typed exception on
createNodeFailure
- See Also:
ComputeService.createNodesInGroup(String, int, Template)
listHardwareProfiles
public Iterable<ServiceOffering> listHardwareProfiles()
- Description copied from interface:
ComputeServiceAdapter
- Hardware 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:
listHardwareProfiles in interface ComputeServiceAdapter<VirtualMachine,ServiceOffering,Template,Zone>
- Returns:
- a non-null iterable of available hardware profiles.
- See Also:
ComputeService.listHardwareProfiles()
listImages
public Iterable<Template> listImages()
- Description copied from interface:
ComputeServiceAdapter
- Images 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:
listImages in interface ComputeServiceAdapter<VirtualMachine,ServiceOffering,Template,Zone>
- Returns:
- a non-null iterable of available images.
- See Also:
ComputeService.listImages()
getImage
public Template getImage(String id)
- Description copied from interface:
ComputeServiceAdapter
- get a specific image by id
- Specified by:
getImage in interface ComputeServiceAdapter<VirtualMachine,ServiceOffering,Template,Zone>
- Parameters:
id - ComputeMetadata.getId(), which is not necessarily ComputeMetadata.getProviderId()
- Returns:
- image or null if not exists.
listNodes
public Iterable<VirtualMachine> listNodes()
- Specified by:
listNodes in interface ComputeServiceAdapter<VirtualMachine,ServiceOffering,Template,Zone>
listLocations
public Iterable<Zone> listLocations()
- Specified by:
listLocations in interface ComputeServiceAdapter<VirtualMachine,ServiceOffering,Template,Zone>
getNode
public VirtualMachine getNode(String id)
- Specified by:
getNode in interface ComputeServiceAdapter<VirtualMachine,ServiceOffering,Template,Zone>
destroyNode
public void destroyNode(String id)
- Specified by:
destroyNode in interface 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 ComputeServiceAdapter<VirtualMachine,ServiceOffering,Template,Zone>
resumeNode
public void resumeNode(String id)
- Specified by:
resumeNode in interface ComputeServiceAdapter<VirtualMachine,ServiceOffering,Template,Zone>
suspendNode
public void suspendNode(String id)
- Specified by:
suspendNode in interface ComputeServiceAdapter<VirtualMachine,ServiceOffering,Template,Zone>
Copyright © 2009-2012 jclouds. All Rights Reserved.