org.jclouds.openstack.nova.compute.strategy
Class NovaComputeServiceAdapter

java.lang.Object
  extended by org.jclouds.openstack.nova.compute.strategy.NovaComputeServiceAdapter
All Implemented Interfaces:
ComputeServiceAdapter<Server,Flavor,Image,Location>

@Singleton
public class NovaComputeServiceAdapter
extends Object
implements ComputeServiceAdapter<Server,Flavor,Image,Location>

defines the connection between the NovaClient implementation and the jclouds ComputeService


Nested Class Summary
 
Nested classes/interfaces inherited from interface org.jclouds.compute.ComputeServiceAdapter
ComputeServiceAdapter.NodeAndInitialCredentials<N>
 
Field Summary
protected  NovaClient client
           
 
Constructor Summary
protected NovaComputeServiceAdapter(NovaClient client)
           
 
Method Summary
 ComputeServiceAdapter.NodeAndInitialCredentials<Server> 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.
 void destroyNode(String id)
           
 Server getNode(String id)
           
 Iterable<Flavor> listHardwareProfiles()
          Hardware profiles describe available cpu, memory, and disk configurations that can be used to run a node.
 Iterable<Image> listImages()
          Images are the available configured operating systems that someone can run a node with.
 Iterable<Location> listLocations()
           
 Iterable<Server> 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

client

protected final NovaClient client
Constructor Detail

NovaComputeServiceAdapter

@Inject
protected NovaComputeServiceAdapter(NovaClient client)
Method Detail

createNodeWithGroupEncodedIntoName

public ComputeServiceAdapter.NodeAndInitialCredentials<Server> 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<Server,Flavor,Image,Location>
Parameters:
group - used to aggregate nodes with identical configuration
name - unique supplied name for the node, which has the tag 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<Flavor> 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<Server,Flavor,Image,Location>
Returns:
a non-null iterable of available hardware profiles.
See Also:
ComputeService.listHardwareProfiles()

listImages

public Iterable<Image> 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<Server,Flavor,Image,Location>
Returns:
a non-null iterable of available images.
See Also:
ComputeService.listImages()

listNodes

public Iterable<Server> listNodes()
Specified by:
listNodes in interface ComputeServiceAdapter<Server,Flavor,Image,Location>

listLocations

public Iterable<Location> listLocations()
Specified by:
listLocations in interface ComputeServiceAdapter<Server,Flavor,Image,Location>

getNode

public Server getNode(String id)
Specified by:
getNode in interface ComputeServiceAdapter<Server,Flavor,Image,Location>

destroyNode

public void destroyNode(String id)
Specified by:
destroyNode in interface ComputeServiceAdapter<Server,Flavor,Image,Location>

rebootNode

public void rebootNode(String id)
Specified by:
rebootNode in interface ComputeServiceAdapter<Server,Flavor,Image,Location>

resumeNode

public void resumeNode(String id)
Specified by:
resumeNode in interface ComputeServiceAdapter<Server,Flavor,Image,Location>

suspendNode

public void suspendNode(String id)
Specified by:
suspendNode in interface ComputeServiceAdapter<Server,Flavor,Image,Location>


Copyright © 2009-2012 jclouds. All Rights Reserved.