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 the
ComputeServices
and 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 ClassesModifier and TypeInterfaceDescriptionstatic class
-
Method Summary
Modifier and TypeMethodDescriptioncreateNodeWithGroupEncodedIntoName
(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) get a specific image by idHardware profiles describe available cpu, memory, and disk configurations that can be used to run a node.Images are the available configured operating systems that someone can run a node with.listNodesByIds
(Iterable<String> ids) void
rebootNode
(String id) void
resumeNode
(String id) void
suspendNode
(String id)
-
Method Details
-
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
) useJCloudsNativeComputeServiceAdapter
instead.note
Your responsibility is to create a node with the underlying library and return after storing its credentials in the supplied map corresponding toinvalid reference
credentialStore
- 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
, andhardwareId
used to resume the instance.- Returns:
- library-native representation of a node. TODO: return typed exception on createNodeFailure
- See Also:
-
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:
-
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:
-
getImage
get a specific image by id- Parameters:
id
-invalid reference
Image#getId
invalid reference
Image#getProviderId
- Returns:
- image or null if not exists.
-
listLocations
-
getNode
-
destroyNode
-
rebootNode
-
resumeNode
-
suspendNode
-
listNodes
-
listNodesByIds
-