Class DockerComputeServiceAdapter
java.lang.Object
org.jclouds.docker.compute.strategy.DockerComputeServiceAdapter
- All Implemented Interfaces:
ComputeServiceAdapter<Container,
Hardware, Image, Location>
@Singleton
public class DockerComputeServiceAdapter
extends Object
implements ComputeServiceAdapter<Container,Hardware,Image,Location>
defines the connection between the
DockerApi
implementation and
the jclouds ComputeService
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.jclouds.compute.ComputeServiceAdapter
ComputeServiceAdapter.NodeAndInitialCredentials<N>
-
Field Summary
Fields -
Constructor Summary
Constructors -
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.protected static com.google.common.base.Predicate
<Image> createPredicateMatchingRepoTags
(String imageIdOrName) 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.Method based onImageApi.listImages()
.listNodesByIds
(Iterable<String> ids) void
rebootNode
(String id) void
resumeNode
(String id) void
suspendNode
(String id)
-
Field Details
-
PREFIX_DOCKER_HUB_HOST
Some Docker versions returns host prefix even for images from Docker hub in repoTags field. We use this constant to correctly identify requested image name.- See Also:
-
SUFFIX_LATEST_VERSION
(Optional) Suffix used, when image version is not used during searching images.- See Also:
-
logger
-
-
Constructor Details
-
DockerComputeServiceAdapter
-
-
Method Details
-
createNodeWithGroupEncodedIntoName
public ComputeServiceAdapter.NodeAndInitialCredentials<Container> createNodeWithGroupEncodedIntoName(String group, String name, Template template) Description copied from interface:ComputeServiceAdapter
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
- Specified by:
createNodeWithGroupEncodedIntoName
in interfaceComputeServiceAdapter<Container,
Hardware, Image, Location> - 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
Description copied from interface:ComputeServiceAdapter
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 interfaceComputeServiceAdapter<Container,
Hardware, Image, Location> - Returns:
- a non-null iterable of available hardware profiles.
- See Also:
-
listImages
Method based onImageApi.listImages()
. It retrieves additional information by inspecting each image.- Specified by:
listImages
in interfaceComputeServiceAdapter<Container,
Hardware, Image, Location> - Returns:
- a non-null iterable of available images.
- See Also:
-
getImage
Description copied from interface:ComputeServiceAdapter
get a specific image by id -
listNodes
-
listNodesByIds
- Specified by:
listNodesByIds
in interfaceComputeServiceAdapter<Container,
Hardware, Image, Location>
-
listLocations
- Specified by:
listLocations
in interfaceComputeServiceAdapter<Container,
Hardware, Image, Location>
-
getNode
-
destroyNode
- Specified by:
destroyNode
in interfaceComputeServiceAdapter<Container,
Hardware, Image, Location>
-
rebootNode
- Specified by:
rebootNode
in interfaceComputeServiceAdapter<Container,
Hardware, Image, Location>
-
resumeNode
- Specified by:
resumeNode
in interfaceComputeServiceAdapter<Container,
Hardware, Image, Location>
-
suspendNode
- Specified by:
suspendNode
in interfaceComputeServiceAdapter<Container,
Hardware, Image, Location>
-
createPredicateMatchingRepoTags
-