Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Note

This page is under construction.

<<<separate code from description>>>>

...

All

...

IaaSes

...

that

...

are

...

going

...

to

...

be supported by

...

Cloud

...

Controller,

...

should

...

extend

...

this

...

abstract

...

class.

...

Code Block
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);
}