Package org.jclouds.compute
Interface ComputeServiceAdapter<N,H,I,L>
-
- All Known Subinterfaces:
JCloudsNativeComputeServiceAdapter
- All Known Implementing Classes:
AzureComputeServiceAdapter,BYONComputeServiceAdapter,CloudStackComputeServiceAdapter,DigitalOcean2ComputeServiceAdapter,DockerComputeServiceAdapter,ElasticStackComputeServiceAdapter,GleSYSComputeServiceAdapter,GoGridComputeServiceAdapter,GoogleComputeEngineServiceAdapter,NovaComputeServiceAdapter,PacketComputeServiceAdapter,ProfitBricksComputeServiceAdapter,ServerManagerComputeServiceAdapter,SoftLayerComputeServiceAdapter,StubComputeServiceAdapter
public interface ComputeServiceAdapter<N,H,I,L>A means of specifying the interface between theComputeServicesand a concrete compute cloud implementation, jclouds or otherwise.Important
While implementations may cache results of calls to this interface, it is important to not cache within this. Otherwise, status updates will not be visible immediately.
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static classComputeServiceAdapter.NodeAndInitialCredentials<N>
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description ComputeServiceAdapter.NodeAndInitialCredentials<N>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.voiddestroyNode(String id)IgetImage(String id)get a specific image by idNgetNode(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()Iterable<N>listNodesByIds(Iterable<String> ids)voidrebootNode(String id)voidresumeNode(String id)voidsuspendNode(String id)
-
-
-
Method Detail
-
createNodeWithGroupEncodedIntoName
ComputeServiceAdapter.NodeAndInitialCredentials<N> 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 typeN. If you are not using library-native objects (such as libvirtDomain) useJCloudsNativeComputeServiceAdapterinstead.note
Your responsibility is to create a node with the underlying library and return after storing its credentials in the supplied map corresponding tocredentialStore- Parameters:
group- used to aggregate nodes with identical configurationname- unique supplied name for the node, which has the group encoded into it.template- includesimageId,locationId, andhardwareIdused 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
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()
-
getImage
@Nullable I getImage(String id)
get a specific image by id- Parameters:
id-Image#getId, which is not necessarilyImage#getProviderId- Returns:
- image or null if not exists.
-
destroyNode
void destroyNode(String id)
-
rebootNode
void rebootNode(String id)
-
resumeNode
void resumeNode(String id)
-
suspendNode
void suspendNode(String id)
-
-