org.jclouds.compute
Interface ComputeServiceAdapter<N,H,I,L>

All Known Subinterfaces:
JCloudsNativeComputeServiceAdapter
All Known Implementing Classes:
BYONComputeServiceAdapter, CloudSigmaComputeServiceAdapter, DeltacloudComputeServiceAdapter, ElasticStackComputeServiceAdapter, ServerManagerComputeServiceAdapter, SoftLayerComputeServiceAdapter, StubComputeServiceAdapter, VPDCComputeServiceAdapter

public interface ComputeServiceAdapter<N,H,I,L>

A means of specifying the interface between the ComputeServices and a concrete compute cloud implementation, jclouds or otherwise.

Author:
Adrian Cole

Method Summary
 N createNodeWithGroupEncodedIntoNameThenStoreCredentials(String tag, String name, Template template, Map<String,Credentials> credentialStore)
          ComputeService.runNodesWithTag(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)
           
 N getNode(String id)
           
 Iterable<H> listHardwareProfiles()
          Hardware profiles describe available cpu, memory, and disk configurations that can be used to run a node.
 Iterable<I> listImages()
          Images are the available configured operating systems that someone can run a node with.
 Iterable<L> listLocations()
           
 Iterable<N> listNodes()
           
 void rebootNode(String id)
           
 void resumeNode(String id)
           
 void suspendNode(String id)
           
 

Method Detail

createNodeWithGroupEncodedIntoNameThenStoreCredentials

N createNodeWithGroupEncodedIntoNameThenStoreCredentials(String tag,
                                                         String name,
                                                         Template template,
                                                         Map<String,Credentials> credentialStore)
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

Parameters:
tag - 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.
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

Iterable<H> listHardwareProfiles()
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.

Returns:
a non-null iterable of available hardware profiles.
See Also:
ComputeService.listHardwareProfiles()

listImages

Iterable<I> listImages()
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.

Returns:
a non-null iterable of available images.
See Also:
ComputeService.listImages()

listLocations

Iterable<L> listLocations()

getNode

N getNode(String id)

destroyNode

void destroyNode(String id)

rebootNode

void rebootNode(String id)

resumeNode

void resumeNode(String id)

suspendNode

void suspendNode(String id)

listNodes

Iterable<N> listNodes()


Copyright © 2009-2011 jclouds. All Rights Reserved.