...
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
Parameter | Description |
---|---|
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
Parameter | Description |
---|---|
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
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
Code Block |
---|
public abstract boolean createKeyPairFromPublicKey(IaasProvider iaasInfo, String region, String keyPairName, String publicKey); } |