org.jclouds.compute
Interface JCloudsNativeComputeServiceAdapter

All Superinterfaces:
ComputeServiceAdapter<NodeMetadata,Hardware,Image,Location>
All Known Implementing Classes:
BYONComputeServiceAdapter, StubComputeServiceAdapter

public interface JCloudsNativeComputeServiceAdapter
extends ComputeServiceAdapter<NodeMetadata,Hardware,Image,Location>

A means of specifying the implementation of a service that uses jclouds types.

Author:
Adrian Cole

Nested Class Summary
static class JCloudsNativeComputeServiceAdapter.NodeWithInitialCredentials
           
 
Nested classes/interfaces inherited from interface org.jclouds.compute.ComputeServiceAdapter
ComputeServiceAdapter.NodeAndInitialCredentials<N>
 
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)
          
 
Methods inherited from interface org.jclouds.compute.ComputeServiceAdapter
resumeNode, suspendNode
 

Method Detail

createNodeWithGroupEncodedIntoName

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.

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>
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)

listNodes

Iterable<NodeMetadata> listNodes()

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

listImages

Iterable<Image> 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.

Specified by:
listImages in interface ComputeServiceAdapter<NodeMetadata,Hardware,Image,Location>
Returns:
a non-null iterable of available images.
See Also:
ComputeService.listImages()

listHardwareProfiles

Iterable<Hardware> 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.

Specified by:
listHardwareProfiles in interface ComputeServiceAdapter<NodeMetadata,Hardware,Image,Location>
Returns:
a non-null iterable of available hardware profiles.
See Also:
ComputeService.listHardwareProfiles()

listLocations

Iterable<Location> listLocations()

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

getNode

NodeMetadata getNode(String id)

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

destroyNode

void destroyNode(String id)

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

rebootNode

void rebootNode(String id)

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


Copyright © 2009-2012 jclouds. All Rights Reserved.