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 theDockerApiimplementation and the jcloudsComputeService
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.jclouds.compute.ComputeServiceAdapter
ComputeServiceAdapter.NodeAndInitialCredentials<N>
-
-
Field Summary
Fields Modifier and Type Field Description protected Loggerloggerstatic StringPREFIX_DOCKER_HUB_HOSTSome Docker versions returns host prefix even for images from Docker hub in repoTags field.static StringSUFFIX_LATEST_VERSION(Optional) Suffix used, when image version is not used during searching images.
-
Constructor Summary
Constructors Constructor Description DockerComputeServiceAdapter(DockerApi api)
-
Method Summary
-
-
-
Field Detail
-
PREFIX_DOCKER_HUB_HOST
public static final String 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:
- Constant Field Values
-
SUFFIX_LATEST_VERSION
public static final String SUFFIX_LATEST_VERSION
(Optional) Suffix used, when image version is not used during searching images.- See Also:
- Constant Field Values
-
logger
@Named("jclouds.compute") protected Logger logger
-
-
Constructor Detail
-
DockerComputeServiceAdapter
@Inject public DockerComputeServiceAdapter(DockerApi api)
-
-
Method Detail
-
createNodeWithGroupEncodedIntoName
public ComputeServiceAdapter.NodeAndInitialCredentials<Container> createNodeWithGroupEncodedIntoName(String group, String name, Template template)
Description copied from interface:ComputeServiceAdapterComputeService.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- Specified by:
createNodeWithGroupEncodedIntoNamein 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, 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
public Iterable<Hardware> listHardwareProfiles()
Description copied from interface:ComputeServiceAdapterHardware 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:
listHardwareProfilesin interfaceComputeServiceAdapter<Container,Hardware,Image,Location>- Returns:
- a non-null iterable of available hardware profiles.
- See Also:
ComputeService.listHardwareProfiles()
-
listImages
public Set<Image> listImages()
Method based onImageApi.listImages(). It retrieves additional information by inspecting each image.- Specified by:
listImagesin interfaceComputeServiceAdapter<Container,Hardware,Image,Location>- Returns:
- a non-null iterable of available images.
- See Also:
ComputeServiceAdapter.listImages()
-
getImage
public Image getImage(String imageIdOrName)
Description copied from interface:ComputeServiceAdapterget a specific image by id
-
listNodesByIds
public Iterable<Container> listNodesByIds(Iterable<String> ids)
- Specified by:
listNodesByIdsin interfaceComputeServiceAdapter<Container,Hardware,Image,Location>
-
listLocations
public Iterable<Location> listLocations()
- Specified by:
listLocationsin interfaceComputeServiceAdapter<Container,Hardware,Image,Location>
-
destroyNode
public void destroyNode(String id)
- Specified by:
destroyNodein interfaceComputeServiceAdapter<Container,Hardware,Image,Location>
-
rebootNode
public void rebootNode(String id)
- Specified by:
rebootNodein interfaceComputeServiceAdapter<Container,Hardware,Image,Location>
-
resumeNode
public void resumeNode(String id)
- Specified by:
resumeNodein interfaceComputeServiceAdapter<Container,Hardware,Image,Location>
-
suspendNode
public void suspendNode(String id)
- Specified by:
suspendNodein interfaceComputeServiceAdapter<Container,Hardware,Image,Location>
-
-