deploylib.ec2

EC2Region

class EC2Region extends AWSConnection

Provides methods for interacting with nodes in a given ec2 region. It caches all data received from the EC2 api and updates it only when accessing a volatile field (such as instanceState) or when an update is manually requested. Additionally, it will only make an update call to EC2 no more often than every 10 seconds. This means it is safe to make many concurrent calls to the static methods or instance methods of a specific EC2Instance concurrently from many threads with out fear of overloading amazons api.

Linear Supertypes
AWSConnection, AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. Hide All
  2. Show all
  1. EC2Region
  2. AWSConnection
  3. AnyRef
  4. Any
Visibility
  1. Public
  2. All

Instance Constructors

  1. new EC2Region (endpoint: String, location: String, defaultAMI: String)

Type Members

  1. class EC2Instance extends RemoteMachine with RunitManager with Sudo with ServiceManager

    A specific RemoteMachine used to control a single Instances of this class can be obtained by instanceId from the static method getInstance

Value Members

  1. def != (arg0: AnyRef): Boolean

    Attributes
    final
    Definition Classes
    AnyRef
  2. def != (arg0: Any): Boolean

    Attributes
    final
    Definition Classes
    Any
  3. def ## (): Int

    Attributes
    final
    Definition Classes
    AnyRef → Any
  4. def == (arg0: AnyRef): Boolean

    Attributes
    final
    Definition Classes
    AnyRef
  5. def == (arg0: Any): Boolean

    Attributes
    final
    Definition Classes
    Any
  6. val accessKeyId : String

    Attributes
    protected
    Definition Classes
    AWSConnection
  7. def activeInstances : List[EC2Instance]

    Returns a list of all instances currently in the running state

  8. def asInstanceOf [T0] : T0

    Attributes
    final
    Definition Classes
    Any
  9. val client : AmazonEC2Client

  10. def clone (): AnyRef

    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws()
  11. val config : ClientConfiguration

    Attributes
    protected
    Definition Classes
    AWSConnection
  12. val credentials : BasicAWSCredentials

    Attributes
    protected
    Definition Classes
    AWSConnection
  13. val defaultAMI : String

  14. def ec2Cert : File

    Attributes
    protected
    Definition Classes
    AWSConnection
  15. def ec2PrivateKey : File

    Attributes
    protected
    Definition Classes
    AWSConnection
  16. val endpoint : String

  17. def eq (arg0: AnyRef): Boolean

    Attributes
    final
    Definition Classes
    AnyRef
  18. def equals (arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  19. def finalize (): Unit

    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws()
  20. def forceUpdate (): Unit

  21. def getClass (): java.lang.Class[_]

    Attributes
    final
    Definition Classes
    AnyRef → Any
  22. def getInstance (instanceId: String): EC2Instance

    Gets an instance object by instanceId

  23. def hashCode (): Int

    Definition Classes
    AnyRef → Any
  24. def importKeyPair : Unit

    Upload the current public key to ec2 as AWS_KEY_NAME

  25. var instanceData : Map[String, Instance]

  26. val instances : HashMap[String, EC2Instance]

    Attributes
    protected
  27. def isInstanceOf [T0] : Boolean

    Attributes
    final
    Definition Classes
    Any
  28. var keyName : String

  29. var lastUpdate : Long

    Attributes
    protected
  30. val location : String

  31. val logger : Logger

    Attributes
    protected
  32. def myInstances : List[EC2Instance]

    Returns all instances that are configured to use the key specified in keyName

  33. val name : String

  34. val nameRegEx : Regex

    Attributes
    protected
  35. def ne (arg0: AnyRef): Boolean

    Attributes
    final
    Definition Classes
    AnyRef
  36. def notify (): Unit

    Attributes
    final
    Definition Classes
    AnyRef
  37. def notifyAll (): Unit

    Attributes
    final
    Definition Classes
    AnyRef
  38. def openPorts : Unit

  39. def runInstance (): EC2Instance

    Launch a single golden image instance with default configuration.

  40. def runInstances (imageId: String, min: Int, max: Int, keyName: String, instanceType: String, location: Option[String], userData: Option[String] = None): Seq[EC2Instance]

    Launches a set of instances with the given parameters

  41. def runInstances (num: Int): Seq[EC2Instance]

    Launches the specified number of golden image instances with the default configuration.

  42. val secretAccessKey : String

    Attributes
    protected
    Definition Classes
    AWSConnection
  43. def synchronized [T0] (arg0: ⇒ T0): T0

    Attributes
    final
    Definition Classes
    AnyRef
  44. def toString (): String

    Definition Classes
    AnyRef → Any
  45. val ubuntuRepo : String

  46. def update (): Unit

    Update the metadata for all ec2 instances.

    Update the metadata for all ec2 instances. Safe to call repetedly, but will only actually update once ever 10 seconds.

  47. def userID : String

    Attributes
    protected
    Definition Classes
    AWSConnection
  48. def wait (): Unit

    Attributes
    final
    Definition Classes
    AnyRef
    Annotations
    @throws()
  49. def wait (arg0: Long, arg1: Int): Unit

    Attributes
    final
    Definition Classes
    AnyRef
    Annotations
    @throws()
  50. def wait (arg0: Long): Unit

    Attributes
    final
    Definition Classes
    AnyRef
    Annotations
    @throws()

Inherited from AWSConnection

Inherited from AnyRef

Inherited from Any