This page is under construction.
<<<separate code from description>>>>
/** * All IaaSes that are going to support by Cloud Controller, should extend this abstract class. */ public abstract class Iaas { /** * This should build the {@link ComputeService} object and the {@link Template} object, * using the information from {@link IaasProvider} and should set the built * {@link ComputeService} object in the {@link IaasProvider#setComputeService(ComputeService)} * and also should set the built {@link Template} object in the * {@link IaasProvider#setTemplate(Template)}. * @param iaasInfo corresponding {@link IaasProvider} */ public abstract void buildComputeServiceAndTemplate(IaasProvider iaasInfo); /** * This method provides a way to set payload that can be obtained from {@link IaasProvider#getPayload()} * in the {@link Template} of this IaaS. * @param iaasInfo corresponding {@link IaasProvider} */ public abstract void setDynamicPayload(IaasProvider iaasInfo); /** * This will obtain an IP address from the allocated list and associate that IP with this node. * @param iaasInfo corresponding {@link IaasProvider} * @param node Node to be associated with an IP. * @return associated public IP. */ public abstract String associateAddress(IaasProvider iaasInfo, NodeMetadata node); /** * This method should create a Key Pair corresponds to a given public key in the respective region having the name given. * Also should override the value of the key pair in the {@link Template} of this IaaS. * @param iaasInfo {@link IaasProvider} * @param region region that the key pair will get created. * @param keyPairName name of the key pair. NOTE: Jclouds adds a prefix : <code>jclouds#</code> * @param publicKey public key, from which the key pair will be created. * @return whether the key pair creation is successful or not. */ public abstract boolean createKeyPairFromPublicKey(IaasProvider iaasInfo, String region, String keyPairName, String publicKey); }