Versions Compared

Key

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

...

All IaaSes that are going to be supported by Cloud Controller, should extend this abstract class.

 * @param iaasInfo corresponding {@link IaasProvider}

Code Block
public abstract class Iaas {
    public abstract  /**void buildComputeServiceAndTemplate(IaasProvider iaasInfo);
    public *abstract Thisvoid 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 
setDynamicPayload(IaasProvider iaasInfo);
    public abstract String associateAddress(IaasProvider iaasInfo, NodeMetadata node);
    public abstract boolean createKeyPairFromPublicKey(IaasProvider iaasInfo, String region, String keyPairName, String publicKey);
}

 

Function Description

Click the respective function link to learn more on its functionality.

  • buildComputeServiceAndTemplate

  • setDynamicPayload

  • associateAddress

  • createKeyPairFromPublicKey

buildComputeServiceAndTemplate

Code Block
public abstract void buildComputeServiceAndTemplate(IaasProvider iaasInfo);

 

Method description

This class should build the ComputeService object and Template object, using the information from IaasProvider and should set the built ComputeService object in the IaasProvider#setComputeService(ComputeService)and also should set the built Template object in the IaasProvider#setTemplate(Template).


Parameter description
ParameterDescription
iaasInfo
The corresponding Iaas Provider

 

setDynamicPayload

Code Block
public abstract void setDynamicPayload(IaasProvider iaasInfo);
Method Description

This method provides a way to set the payload that can be obtained from IaasProvider#getPayload() in the Template of this IaaS.


Parameter description
ParameterDescription
iaasInfo
The corresponding Iaas Provider

 

associateAddress

Code Block
public abstract String associateAddress(IaasProvider iaasInfo, NodeMetadata node);
Method Description

This will obtain an IP address from the allocated list and associate that IP with this node.

Parameter description
ParameterDescription
iaasInfo
The corresponding Iaas Provider.
node

Thee node to be associated with an IP.


 

Return value description

 

Return Value 

Description

String

The associated public IP.

 

 

createKeyPairFromPublicKey

 

Code Block
public abstract boolean createKeyPairFromPublicKey(IaasProvider iaasInfo, String region, String keyPairName, String publicKey);
}