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

public abstract class Iaas {
    public abstract void buildComputeServiceAndTemplate(IaasProvider iaasInfo);
    public abstract void 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

buildComputeServiceAndTemplate

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

Parameter

Description

iaasInfo

The corresponding Iaas Provider

setDynamicPayload

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

Parameter

Description

iaasInfo

The corresponding Iaas Provider

associateAddress

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

Parameter

Description

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

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

Method description

This method should create a Key Pair corresponding to a given public key, in the respective region having the given name. This method should a lso override the value of the key pair in the Template of this IaaS.
 

Parameter description

Parameter

Description

iaasInfo

The corresponding Iaas Provider.

region

Region that the key pair will get created.

keyPairName

Name of the key pair. 
NOTE: 
Jclouds adds a prefix : jclouds#

publicKey

Public key from which the key pair will be created.

 

Return value description

Return Value  

Description

boolean

Whether the key pair creation is successful or not.

  • No labels