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)
           
 float getAwsEc2SpotPrice()
           
 String getBlobStoreCacheContainer()
           
 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 getConfigurationForKeysMatching(Pattern pattern)
           
 org.apache.commons.configuration.Configuration getConfigurationForKeysWithPrefix(String prefix)
           
 String getCredential()
           
 Map<String,List<String>> getFirewallRules()
           
 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()
           
 boolean isStub()
           
 boolean isTerminateAllOnLaunchFailure()
           
 void setAwsEc2SpotPrice(float value)
           
 void setBlobStoreCacheContainer(String container)
           
 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 setFirewallRules(Map<String,List<String>> firewallRules)
           
 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 setTerminateAllOnLaunchFailure(boolean terminateAllOnLaunchFailure)
           
 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()

isStub

public boolean isStub()

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()

getBlobStoreCacheContainer

public String getBlobStoreCacheContainer()

getStateStore

public String getStateStore()

getStateStoreContainer

public String getStateStoreContainer()

getStateStoreBlob

public String getStateStoreBlob()

getAwsEc2SpotPrice

public float getAwsEc2SpotPrice()

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()

getFirewallRules

public Map<String,List<String>> getFirewallRules()

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)

setBlobStoreCacheContainer

public void setBlobStoreCacheContainer(String container)

setStateStore

public void setStateStore(String type)

setStateStoreContainer

public void setStateStoreContainer(String container)

setStateStoreBlob

public void setStateStoreBlob(String blob)

setAwsEc2SpotPrice

public void setAwsEc2SpotPrice(float value)

setClusterName

public void setClusterName(String clusterName)

setServiceName

public void setServiceName(String serviceName)

isTerminateAllOnLaunchFailure

public boolean isTerminateAllOnLaunchFailure()

setTerminateAllOnLaunchFailure

public void setTerminateAllOnLaunchFailure(boolean terminateAllOnLaunchFailure)

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)

setFirewallRules

public void setFirewallRules(Map<String,List<String>> firewallRules)

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)

getConfigurationForKeysMatching

public org.apache.commons.configuration.Configuration getConfigurationForKeysMatching(Pattern pattern)

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.