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
Click the respective function link to learn more on its functionality.
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 : <code>jclouds#</code> |
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. |