org.apache.whirr
Class ClusterSpec

java.lang.Object
  extended by org.apache.whirr.ClusterSpec

public class ClusterSpec
extends Object

This class represents the specification of a cluster. It is used to describe the properties of a cluster before it is launched.


Nested Class Summary
static class ClusterSpec.Property
           
 
Constructor Summary
ClusterSpec()
           
ClusterSpec(org.apache.commons.configuration.Configuration config)
           
ClusterSpec(org.apache.commons.configuration.Configuration userConfig, boolean loadDefaults)
           
 
Method Summary
 ClusterSpec copy()
          Create a deep object copy.
 boolean equals(Object o)
           
 String getBlobStoreCredential()
           
 String getBlobStoreIdentity()
           
 String getBlobStoreLocationId()
           
 String getBlobStoreProvider()
           
 List<String> getClientCidrs()
           
 File getClusterDirectory()
           
 String getClusterName()
           
 String getClusterUser()
           
 org.apache.commons.configuration.Configuration getConfiguration()
           
 org.apache.commons.configuration.Configuration getConfigurationForKeysWithPrefix(String prefix)
           
 String getCredential()
           
 String getHardwareId()
           
 int getHardwareMinRam()
           
 String getIdentity()
           
 String getImageId()
           
 InstanceTemplate getInstanceTemplate(Set<String> roles)
           
 InstanceTemplate getInstanceTemplate(String... roles)
           
 List<InstanceTemplate> getInstanceTemplates()
           
 String getLocationId()
           
 String getLoginUser()
           
 int getMaxStartupRetries()
           
 String getPrivateKey()
           
 File getPrivateKeyFile()
           
 String getProvider()
           
 String getPublicKey()
           
 String getRunUrlBase()
           
 String getServiceName()
           
 String getStateStore()
           
 String getStateStoreBlob()
           
 String getStateStoreContainer()
           
 String getVersion()
           
 int hashCode()
           
 void setBlobStoreCredential(String credential)
           
 void setBlobStoreIdentity(String identity)
           
 void setBlobStoreLocationId(String locationId)
           
 void setBlobStoreProvider(String provider)
           
 void setClientCidrs(List<String> clientCidrs)
           
 void setClusterName(String clusterName)
           
 void setClusterUser(String user)
           
 void setCredential(String credential)
           
 void setHardwareId(String hardwareId)
           
 void setHardwareMinRam(int minRam)
           
 void setIdentity(String identity)
           
 void setImageId(String imageId)
           
 void setInstanceTemplates(List<InstanceTemplate> instanceTemplates)
           
 void setLocationId(String locationId)
           
 void setLoginUser(String user)
           
 void setMaxStartupRetries(int maxStartupRetries)
           
 void setPrivateKey(File privateKey)
           
 void setPrivateKey(String privateKey)
          The rsa private key which is used as the login identity on the cloud nodes.
 void setProvider(String provider)
           
 void setPublicKey(File publicKey)
           
 void setPublicKey(String publicKey)
          The rsa public key which is authorized to login to your on the cloud nodes.
 void setRunUrlBase(String runUrlBase)
           
 void setServiceName(String serviceName)
           
 void setStateStore(String type)
           
 void setStateStoreBlob(String blob)
           
 void setStateStoreContainer(String container)
           
 void setVersion(String version)
           
 String toString()
           
static ClusterSpec withNoDefaults()
          Create new empty instance for testing.
static ClusterSpec withNoDefaults(org.apache.commons.configuration.Configuration conf)
           
static ClusterSpec withTemporaryKeys()
          Create an instance that uses a temporary RSA key pair.
static ClusterSpec withTemporaryKeys(org.apache.commons.configuration.Configuration conf)
           
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ClusterSpec

public ClusterSpec()
            throws org.apache.commons.configuration.ConfigurationException
Throws:
org.apache.commons.configuration.ConfigurationException

ClusterSpec

public ClusterSpec(org.apache.commons.configuration.Configuration config)
            throws org.apache.commons.configuration.ConfigurationException
Throws:
org.apache.commons.configuration.ConfigurationException

ClusterSpec

public ClusterSpec(org.apache.commons.configuration.Configuration userConfig,
                   boolean loadDefaults)
            throws org.apache.commons.configuration.ConfigurationException
Throws:
org.apache.commons.configuration.ConfigurationException - if something is wrong
Method Detail

withTemporaryKeys

public static ClusterSpec withTemporaryKeys()
                                     throws org.apache.commons.configuration.ConfigurationException,
                                            com.jcraft.jsch.JSchException,
                                            IOException
Create an instance that uses a temporary RSA key pair.

Throws:
org.apache.commons.configuration.ConfigurationException
com.jcraft.jsch.JSchException
IOException

withTemporaryKeys

public static ClusterSpec withTemporaryKeys(org.apache.commons.configuration.Configuration conf)
                                     throws org.apache.commons.configuration.ConfigurationException,
                                            com.jcraft.jsch.JSchException,
                                            IOException
Throws:
org.apache.commons.configuration.ConfigurationException
com.jcraft.jsch.JSchException
IOException

withNoDefaults

public static ClusterSpec withNoDefaults()
                                  throws org.apache.commons.configuration.ConfigurationException
Create new empty instance for testing.

Throws:
org.apache.commons.configuration.ConfigurationException

withNoDefaults

public static ClusterSpec withNoDefaults(org.apache.commons.configuration.Configuration conf)
                                  throws org.apache.commons.configuration.ConfigurationException
Throws:
org.apache.commons.configuration.ConfigurationException

copy

public ClusterSpec copy()
                 throws org.apache.commons.configuration.ConfigurationException
Create a deep object copy. It's not enough to just copy the configuration because the object can also be modified using the setters and the changes are not reflected in the configuration object.

Throws:
org.apache.commons.configuration.ConfigurationException

getInstanceTemplates

public List<InstanceTemplate> getInstanceTemplates()

getInstanceTemplate

public InstanceTemplate getInstanceTemplate(Set<String> roles)

getInstanceTemplate

public InstanceTemplate getInstanceTemplate(String... roles)

getMaxStartupRetries

public int getMaxStartupRetries()

getProvider

public String getProvider()

getIdentity

public String getIdentity()

getCredential

public String getCredential()

getClusterName

public String getClusterName()

getBlobStoreProvider

public String getBlobStoreProvider()

getBlobStoreIdentity

public String getBlobStoreIdentity()

getBlobStoreCredential

public String getBlobStoreCredential()

getBlobStoreLocationId

public String getBlobStoreLocationId()

getStateStore

public String getStateStore()

getStateStoreContainer

public String getStateStoreContainer()

getStateStoreBlob

public String getStateStoreBlob()

getServiceName

public String getServiceName()

getPrivateKey

public String getPrivateKey()

getPrivateKeyFile

public File getPrivateKeyFile()

getPublicKey

public String getPublicKey()

getImageId

public String getImageId()

getHardwareId

public String getHardwareId()

getHardwareMinRam

public int getHardwareMinRam()

getLocationId

public String getLocationId()

getClientCidrs

public List<String> getClientCidrs()

getVersion

public String getVersion()

getRunUrlBase

public String getRunUrlBase()

getClusterUser

public String getClusterUser()

getLoginUser

public String getLoginUser()

setInstanceTemplates

public void setInstanceTemplates(List<InstanceTemplate> instanceTemplates)

setMaxStartupRetries

public void setMaxStartupRetries(int maxStartupRetries)

setProvider

public void setProvider(String provider)

setIdentity

public void setIdentity(String identity)

setCredential

public void setCredential(String credential)

setBlobStoreProvider

public void setBlobStoreProvider(String provider)

setBlobStoreIdentity

public void setBlobStoreIdentity(String identity)

setBlobStoreCredential

public void setBlobStoreCredential(String credential)

setBlobStoreLocationId

public void setBlobStoreLocationId(String locationId)

setStateStore

public void setStateStore(String type)

setStateStoreContainer

public void setStateStoreContainer(String container)

setStateStoreBlob

public void setStateStoreBlob(String blob)

setClusterName

public void setClusterName(String clusterName)

setServiceName

public void setServiceName(String serviceName)

setPublicKey

public void setPublicKey(String publicKey)
The rsa public key which is authorized to login to your on the cloud nodes.

Parameters:
publicKey -

setPublicKey

public void setPublicKey(File publicKey)
                  throws IOException
Throws:
IOException - if there is a problem reading the file
See Also:
setPublicKey(String)

setPrivateKey

public void setPrivateKey(String privateKey)
The rsa private key which is used as the login identity on the cloud nodes.

Parameters:
privateKey -

setPrivateKey

public void setPrivateKey(File privateKey)
                   throws IOException
Throws:
IOException - if there is a problem reading the file
See Also:
setPrivateKey(String)

setImageId

public void setImageId(String imageId)

setHardwareId

public void setHardwareId(String hardwareId)

setHardwareMinRam

public void setHardwareMinRam(int minRam)

setLocationId

public void setLocationId(String locationId)

setClientCidrs

public void setClientCidrs(List<String> clientCidrs)

setVersion

public void setVersion(String version)

setRunUrlBase

public void setRunUrlBase(String runUrlBase)

setClusterUser

public void setClusterUser(String user)

setLoginUser

public void setLoginUser(String user)

getConfiguration

public org.apache.commons.configuration.Configuration getConfiguration()

getConfigurationForKeysWithPrefix

public org.apache.commons.configuration.Configuration getConfigurationForKeysWithPrefix(String prefix)

getClusterDirectory

public File getClusterDirectory()
Returns:
the directory for storing cluster-related files

equals

public boolean equals(Object o)
Overrides:
equals in class Object

hashCode

public int hashCode()
Overrides:
hashCode in class Object

toString

public String toString()
Overrides:
toString in class Object


Copyright © 2010-2011 The Apache Software Foundation. All Rights Reserved.