org.jclouds.compute.stub.config
Class StubComputeServiceAdapter
java.lang.Object
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
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)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
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)
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 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.
- 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.