org.jclouds.softlayer.compute.strategy
Class SoftLayerComputeServiceAdapter
java.lang.Object
org.jclouds.softlayer.compute.strategy.SoftLayerComputeServiceAdapter
- All Implemented Interfaces:
- ComputeServiceAdapter<VirtualGuest,Iterable<ProductItem>,ProductItem,Datacenter>
@Singleton
public class SoftLayerComputeServiceAdapter
- extends Object
- implements ComputeServiceAdapter<VirtualGuest,Iterable<ProductItem>,ProductItem,Datacenter>
defines the connection between the SoftLayerClient
implementation and the jclouds
ComputeService
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
SoftLayerComputeServiceAdapter
@Inject
public SoftLayerComputeServiceAdapter(SoftLayerClient client,
SoftLayerComputeServiceAdapter.VirtualGuestHasLoginDetailsPresent virtualGuestHasLoginDetailsPresent,
com.google.common.base.Supplier<ProductPackage> productPackageSupplier,
Iterable<ProductItemPrice> prices,
@Named(value="jclouds.softlayer.virtualguest.cpu-regex")
String cpuRegex,
@Named(value="jclouds.softlayer.virtualguest.disk0-type")
String disk0Type,
@Named(value="jclouds.softlayer.virtualguest.port-speed")
float portSpeed,
@Named(value="jclouds.softlayer.virtualguest.order-delay")
long guestLoginDelay)
createNodeWithGroupEncodedIntoNameThenStoreCredentials
public VirtualGuest createNodeWithGroupEncodedIntoNameThenStoreCredentials(String group,
String name,
Template template,
Map<String,Credentials> credentialStore)
- Description copied from interface:
ComputeServiceAdapter
ComputeService.runNodesWithTag(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:
createNodeWithGroupEncodedIntoNameThenStoreCredentials
in interface ComputeServiceAdapter<VirtualGuest,Iterable<ProductItem>,ProductItem,Datacenter>
- Parameters:
group
- used to aggregate nodes with identical configurationname
- unique supplied name for the node, which has the tag encoded into it.template
- includes imageId
, locationId
, and hardwareId
used to resume
the instance.credentialStore
- once the node is resumeed, its login user and password must be stored keyed on
node#id
.
- Returns:
- library-native representation of a node.
- See Also:
ComputeService.runNodesWithTag(String, int, Template)
,
ComputeServiceContext.getCredentialStore()
listHardwareProfiles
public Iterable<Iterable<ProductItem>> 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<VirtualGuest,Iterable<ProductItem>,ProductItem,Datacenter>
- Returns:
- a non-null iterable of available hardware profiles.
- See Also:
ComputeService.listHardwareProfiles()
listImages
public Iterable<ProductItem> 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<VirtualGuest,Iterable<ProductItem>,ProductItem,Datacenter>
- Returns:
- a non-null iterable of available images.
- See Also:
ComputeService.listImages()
listNodes
public Iterable<VirtualGuest> listNodes()
- Specified by:
listNodes
in interface ComputeServiceAdapter<VirtualGuest,Iterable<ProductItem>,ProductItem,Datacenter>
listLocations
public Iterable<Datacenter> listLocations()
- Specified by:
listLocations
in interface ComputeServiceAdapter<VirtualGuest,Iterable<ProductItem>,ProductItem,Datacenter>
getNode
public VirtualGuest getNode(String id)
- Specified by:
getNode
in interface ComputeServiceAdapter<VirtualGuest,Iterable<ProductItem>,ProductItem,Datacenter>
destroyNode
public void destroyNode(String id)
- Specified by:
destroyNode
in interface ComputeServiceAdapter<VirtualGuest,Iterable<ProductItem>,ProductItem,Datacenter>
rebootNode
public void rebootNode(String id)
- Specified by:
rebootNode
in interface ComputeServiceAdapter<VirtualGuest,Iterable<ProductItem>,ProductItem,Datacenter>
resumeNode
public void resumeNode(String id)
- Specified by:
resumeNode
in interface ComputeServiceAdapter<VirtualGuest,Iterable<ProductItem>,ProductItem,Datacenter>
suspendNode
public void suspendNode(String id)
- Specified by:
suspendNode
in interface ComputeServiceAdapter<VirtualGuest,Iterable<ProductItem>,ProductItem,Datacenter>
Copyright © 2009-2011 jclouds. All Rights Reserved.