mirror of https://github.com/apache/jclouds.git
Issue 385: started on javadoc and renamed methods to correspond to jclouds compute service
This commit is contained in:
parent
2291c42b45
commit
e5315d3348
|
@ -36,13 +36,13 @@
|
|||
(org.jclouds.compute.config.JCloudsNativeStandaloneComputeServiceContextModule
|
||||
(defrecord ClojureComputeServiceAdapter []
|
||||
org.jclouds.compute.JCloudsNativeComputeServiceAdapter
|
||||
(^NodeMetadata createNodeAndStoreCredentials [this ^String tag ^String name ^Template template ^Map credentialStore]
|
||||
(^NodeMetadata runNodeWithTagAndNameAndStoreCredentials [this ^String tag ^String name ^Template template ^Map credentialStore]
|
||||
())
|
||||
(^Iterable listNodes [this ]
|
||||
())
|
||||
(^Iterable listImages [this ]
|
||||
())
|
||||
(^Iterable listHardware [this ]
|
||||
(^Iterable listHardwareProfiles [this ]
|
||||
())
|
||||
(^Iterable listLocations [this ]
|
||||
())
|
||||
|
|
|
@ -32,10 +32,56 @@ import org.jclouds.domain.Credentials;
|
|||
*
|
||||
*/
|
||||
public interface ComputeServiceAdapter<N, H, I, L> {
|
||||
N createNodeAndStoreCredentials(String tag, String name, Template template, Map<String, Credentials> credentialStore);
|
||||
|
||||
Iterable<H> listHardware();
|
||||
/**
|
||||
* {@link ComputeService#runNodesWithTag(String, int, Template)} generates the parameters passed
|
||||
* into this method such that each node in the set has a unique name.
|
||||
* <p/>
|
||||
* Your responsibility is to create a node with the underlying library and return after storing
|
||||
* its credentials in the supplied map.
|
||||
* <p/>
|
||||
* Note that it is intentional to return the library native node object, as generic type
|
||||
* {@code N}. If you are not using library-native objects (such as libvirt {@code Domain}) use
|
||||
* {@link JCloudsNativeComputeServiceAdapter} instead.
|
||||
*
|
||||
* @param tag
|
||||
* used to aggregate nodes with identical configuration
|
||||
* @param name
|
||||
* unique supplied name for the node, which has the tag encoded into it.
|
||||
* @param template
|
||||
* includes {@code imageId}, {@code locationId}, and {@code hardwareId} used to start
|
||||
* the instance.
|
||||
* @param credentialStore
|
||||
* once the node is started, its login user and password will be encoded based on the
|
||||
* node {@code id}
|
||||
* @return library-native representation of a node.
|
||||
*
|
||||
* @see ComputeService#runNodesWithTag(String, int, Template)
|
||||
*/
|
||||
N runNodeWithTagAndNameAndStoreCredentials(String tag, String name, Template template,
|
||||
Map<String, Credentials> credentialStore);
|
||||
|
||||
/**
|
||||
* Hardware profiles describe available cpu, memory, and disk configurations that can be used to
|
||||
* run a node.
|
||||
* <p/>
|
||||
* 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.
|
||||
*
|
||||
* @return a non-null iterable of available hardware profiles.
|
||||
* @see ComputeService#listHardwareProfiles()
|
||||
*/
|
||||
Iterable<H> listHardwareProfiles();
|
||||
|
||||
/**
|
||||
* Images are the available configured operating systems that someone can run a node with. *
|
||||
* <p/>
|
||||
* 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.
|
||||
*
|
||||
* @return a non-null iterable of available images.
|
||||
* @see ComputeService#listImages()
|
||||
*/
|
||||
Iterable<I> listImages();
|
||||
|
||||
Iterable<L> listLocations();
|
||||
|
|
|
@ -36,28 +36,52 @@ import org.jclouds.domain.Location;
|
|||
*/
|
||||
public interface JCloudsNativeComputeServiceAdapter extends
|
||||
ComputeServiceAdapter<NodeMetadata, Hardware, Image, Location> {
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
NodeMetadata createNodeAndStoreCredentials(String tag, String name, Template template,
|
||||
NodeMetadata runNodeWithTagAndNameAndStoreCredentials(String tag, String name, Template template,
|
||||
Map<String, Credentials> credentialStore);
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
Iterable<NodeMetadata> listNodes();
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
Iterable<Image> listImages();
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
Iterable<Hardware> listHardware();
|
||||
Iterable<Hardware> listHardwareProfiles();
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
Iterable<Location> listLocations();
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
NodeMetadata getNode(String id);
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
void destroyNode(String id);
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
void rebootNode(String id);
|
||||
|
||||
|
|
|
@ -87,7 +87,7 @@ public class StandaloneComputeServiceContextModule<N, H, I, L> extends BaseCompu
|
|||
|
||||
@Override
|
||||
public Iterable<H> get() {
|
||||
return adapter.listHardware();
|
||||
return adapter.listHardwareProfiles();
|
||||
}
|
||||
|
||||
}, transformer);
|
||||
|
|
|
@ -127,7 +127,7 @@ public class AdaptingComputeServiceStrategies<N, H, I, L> implements AddNodeWith
|
|||
template.getLocation().getId(), name, template.getImage().getProviderId(), template.getHardware()
|
||||
.getProviderId());
|
||||
|
||||
N from = client.createNodeAndStoreCredentials(tag, name, template, credentialStore);
|
||||
N from = client.runNodeWithTagAndNameAndStoreCredentials(tag, name, template, credentialStore);
|
||||
NodeMetadata node = nodeMetadataAdapter.apply(from);
|
||||
logger.debug("<< instantiated node(%s)", node.getId());
|
||||
return node;
|
||||
|
|
|
@ -76,7 +76,7 @@ public class StubComputeServiceAdapter implements JCloudsNativeComputeServiceAda
|
|||
}
|
||||
|
||||
@Override
|
||||
public NodeMetadata createNodeAndStoreCredentials(String tag, String name, Template template,
|
||||
public NodeMetadata runNodeWithTagAndNameAndStoreCredentials(String tag, String name, Template template,
|
||||
Map<String, Credentials> credentialStore) {
|
||||
NodeMetadataBuilder builder = new NodeMetadataBuilder();
|
||||
String id = idProvider.get() + "";
|
||||
|
@ -98,7 +98,7 @@ public class StubComputeServiceAdapter implements JCloudsNativeComputeServiceAda
|
|||
}
|
||||
|
||||
@Override
|
||||
public Iterable<Hardware> listHardware() {
|
||||
public Iterable<Hardware> listHardwareProfiles() {
|
||||
return ImmutableSet.<Hardware> of(StubComputeServiceDependenciesModule.stub("small", 1, 1740, 160),
|
||||
StubComputeServiceDependenciesModule.stub("medium", 4, 7680, 850),
|
||||
StubComputeServiceDependenciesModule.stub("large", 8, 15360, 1690));
|
||||
|
|
|
@ -34,7 +34,7 @@ public class ServerManagerComputeServiceAdapter implements ComputeServiceAdapter
|
|||
}
|
||||
|
||||
@Override
|
||||
public Server createNodeAndStoreCredentials(String tag, String name, Template template,
|
||||
public Server runNodeWithTagAndNameAndStoreCredentials(String tag, String name, Template template,
|
||||
Map<String, Credentials> credentialStore) {
|
||||
// create the backend object using parameters from the template.
|
||||
Server from = client.createServerInDC(template.getLocation().getId(), name,
|
||||
|
@ -46,7 +46,7 @@ public class ServerManagerComputeServiceAdapter implements ComputeServiceAdapter
|
|||
}
|
||||
|
||||
@Override
|
||||
public Iterable<Hardware> listHardware() {
|
||||
public Iterable<Hardware> listHardwareProfiles() {
|
||||
return client.listHardware();
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue