Class GoogleComputeEngineServiceAdapter
- java.lang.Object
-
- org.jclouds.googlecomputeengine.compute.GoogleComputeEngineServiceAdapter
-
- All Implemented Interfaces:
ComputeServiceAdapter<Instance,MachineType,Image,Location>
public final class GoogleComputeEngineServiceAdapter extends Object implements ComputeServiceAdapter<Instance,MachineType,Image,Location>
This implementation maps the following:- ComputeMetadata.getId() to
Instance.selfLink() - NodeMetadata.getGroup() to
Instance.metadata()asjclouds-group - NodeMetadata.getImageId() to
Instance.metadata()asjclouds-image - ComputeMetadata.getId() to
MachineType.selfLink() - ComputeMetadata.getId() to
Image.selfLink() - Location.getId() to
Zone.name() - Location.getDescription() to
Zone.selfLink()
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.jclouds.compute.ComputeServiceAdapter
ComputeServiceAdapter.NodeAndInitialCredentials<N>
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ComputeServiceAdapter.NodeAndInitialCredentials<Instance>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 selfLink)ImagegetImage(String selfLink)get a specific image by idInstancegetNode(String selfLink)Instance.SchedulinggetScheduling(GoogleComputeEngineTemplateOptions options)Iterable<MachineType>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()Unlike EC2, you cannot default GCE instances to a region.Iterable<Instance>listNodes()Iterable<Instance>listNodesByIds(Iterable<String> selfLinks)voidrebootNode(String selfLink)voidresumeNode(String selfLink)voidsuspendNode(String selfLink)
-
-
-
Method Detail
-
createNodeWithGroupEncodedIntoName
public ComputeServiceAdapter.NodeAndInitialCredentials<Instance> 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<Instance,MachineType,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<MachineType> 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<Instance,MachineType,Image,Location>- Returns:
- a non-null iterable of available hardware profiles.
- See Also:
ComputeService.listHardwareProfiles()
-
listImages
public Iterable<Image> listImages()
Description copied from interface:ComputeServiceAdapterImages 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:
listImagesin interfaceComputeServiceAdapter<Instance,MachineType,Image,Location>- Returns:
- a non-null iterable of available images.
- See Also:
ComputeService.listImages()
-
getImage
public Image getImage(String selfLink)
Description copied from interface:ComputeServiceAdapterget a specific image by id- Specified by:
getImagein interfaceComputeServiceAdapter<Instance,MachineType,Image,Location>- Parameters:
selfLink-Image#getId, which is not necessarilyImage#getProviderId- Returns:
- image or null if not exists.
-
listLocations
public Iterable<Location> listLocations()
Unlike EC2, you cannot default GCE instances to a region. Hence, we constrain to zones.- Specified by:
listLocationsin interfaceComputeServiceAdapter<Instance,MachineType,Image,Location>
-
getNode
public Instance getNode(String selfLink)
- Specified by:
getNodein interfaceComputeServiceAdapter<Instance,MachineType,Image,Location>
-
listNodes
public Iterable<Instance> listNodes()
- Specified by:
listNodesin interfaceComputeServiceAdapter<Instance,MachineType,Image,Location>
-
listNodesByIds
public Iterable<Instance> listNodesByIds(Iterable<String> selfLinks)
- Specified by:
listNodesByIdsin interfaceComputeServiceAdapter<Instance,MachineType,Image,Location>
-
destroyNode
public void destroyNode(String selfLink)
- Specified by:
destroyNodein interfaceComputeServiceAdapter<Instance,MachineType,Image,Location>
-
rebootNode
public void rebootNode(String selfLink)
- Specified by:
rebootNodein interfaceComputeServiceAdapter<Instance,MachineType,Image,Location>
-
resumeNode
public void resumeNode(String selfLink)
- Specified by:
resumeNodein interfaceComputeServiceAdapter<Instance,MachineType,Image,Location>
-
suspendNode
public void suspendNode(String selfLink)
- Specified by:
suspendNodein interfaceComputeServiceAdapter<Instance,MachineType,Image,Location>
-
getScheduling
public Instance.Scheduling getScheduling(GoogleComputeEngineTemplateOptions options)
-
-