org.jclouds.compute.stub.config
Class StubComputeServiceAdapter

java.lang.Object
  extended by org.jclouds.compute.stub.config.StubComputeServiceAdapter
All Implemented Interfaces:
ComputeServiceAdapter<NodeMetadata,Hardware,Image,Location>, JCloudsNativeComputeServiceAdapter

@Singleton
public class StubComputeServiceAdapter
extends Object
implements JCloudsNativeComputeServiceAdapter

Author:
Adrian Cole

Nested Class Summary
 
Nested classes/interfaces inherited from interface org.jclouds.compute.JCloudsNativeComputeServiceAdapter
JCloudsNativeComputeServiceAdapter.NodeWithInitialCredentials
 
Nested classes/interfaces inherited from interface org.jclouds.compute.ComputeServiceAdapter
ComputeServiceAdapter.NodeAndInitialCredentials<N>
 
Constructor Summary
StubComputeServiceAdapter(ConcurrentMap<String,NodeMetadata> nodes, ExecutorService ioThreads, com.google.common.base.Supplier<Location> location, javax.inject.Provider<Integer> idProvider, String publicIpPrefix, String privateIpPrefix, String passwordPrefix, JustProvider locationSupplier, Map<OsFamily,Map<String,String>> osToVersionMap)
           
 
Method Summary
 JCloudsNativeComputeServiceAdapter.NodeWithInitialCredentials 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)
          
 NodeMetadata getNode(String id)
          
 Iterable<Hardware> 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<NodeMetadata> listNodes()
          
 void rebootNode(String id)
          
 void resumeNode(String id)
           
protected  void setStateOnNode(NodeState state, NodeMetadata node)
           
protected  void setStateOnNodeAfterDelay(NodeState state, NodeMetadata node, long millis)
           
 void suspendNode(String id)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

StubComputeServiceAdapter

@Inject
public StubComputeServiceAdapter(ConcurrentMap<String,NodeMetadata> nodes,
                                        @Named(value="jclouds.io-worker-threads")
                                        ExecutorService ioThreads,
                                        com.google.common.base.Supplier<Location> location,
                                        @Named(value="NODE_ID")
                                        javax.inject.Provider<Integer> idProvider,
                                        @Named(value="PUBLIC_IP_PREFIX")
                                        String publicIpPrefix,
                                        @Named(value="PRIVATE_IP_PREFIX")
                                        String privateIpPrefix,
                                        @Named(value="PASSWORD_PREFIX")
                                        String passwordPrefix,
                                        JustProvider locationSupplier,
                                        Map<OsFamily,Map<String,String>> osToVersionMap)
Method Detail

setStateOnNode

protected void setStateOnNode(NodeState state,
                              NodeMetadata node)

setStateOnNodeAfterDelay

protected void setStateOnNodeAfterDelay(NodeState state,
                                        NodeMetadata node,
                                        long millis)

createNodeWithGroupEncodedIntoName

public JCloudsNativeComputeServiceAdapter.NodeWithInitialCredentials createNodeWithGroupEncodedIntoName(String group,
                                                                                                        String name,
                                                                                                        Template template)
Description copied from interface: JCloudsNativeComputeServiceAdapter
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<NodeMetadata,Hardware,Image,Location>
Specified by:
createNodeWithGroupEncodedIntoName in interface JCloudsNativeComputeServiceAdapter
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<Hardware> listHardwareProfiles()
Description copied from interface: JCloudsNativeComputeServiceAdapter
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<NodeMetadata,Hardware,Image,Location>
Specified by:
listHardwareProfiles in interface JCloudsNativeComputeServiceAdapter
Returns:
a non-null iterable of available hardware profiles.
See Also:
ComputeService.listHardwareProfiles()

listImages

public Iterable<Image> listImages()
Description copied from interface: JCloudsNativeComputeServiceAdapter
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<NodeMetadata,Hardware,Image,Location>
Specified by:
listImages in interface JCloudsNativeComputeServiceAdapter
Returns:
a non-null iterable of available images.
See Also:
ComputeService.listImages()

listNodes

public Iterable<NodeMetadata> listNodes()
Description copied from interface: JCloudsNativeComputeServiceAdapter

Specified by:
listNodes in interface ComputeServiceAdapter<NodeMetadata,Hardware,Image,Location>
Specified by:
listNodes in interface JCloudsNativeComputeServiceAdapter

listLocations

public Iterable<Location> listLocations()
Description copied from interface: JCloudsNativeComputeServiceAdapter

Specified by:
listLocations in interface ComputeServiceAdapter<NodeMetadata,Hardware,Image,Location>
Specified by:
listLocations in interface JCloudsNativeComputeServiceAdapter

getNode

public NodeMetadata getNode(String id)
Description copied from interface: JCloudsNativeComputeServiceAdapter

Specified by:
getNode in interface ComputeServiceAdapter<NodeMetadata,Hardware,Image,Location>
Specified by:
getNode in interface JCloudsNativeComputeServiceAdapter

destroyNode

public void destroyNode(String id)
Description copied from interface: JCloudsNativeComputeServiceAdapter

Specified by:
destroyNode in interface ComputeServiceAdapter<NodeMetadata,Hardware,Image,Location>
Specified by:
destroyNode in interface JCloudsNativeComputeServiceAdapter

rebootNode

public void rebootNode(String id)
Description copied from interface: JCloudsNativeComputeServiceAdapter

Specified by:
rebootNode in interface ComputeServiceAdapter<NodeMetadata,Hardware,Image,Location>
Specified by:
rebootNode in interface JCloudsNativeComputeServiceAdapter

resumeNode

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

suspendNode

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


Copyright © 2009-2012 jclouds. All Rights Reserved.