|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectppe.ec2.Ec2Wrangler
public class Ec2Wrangler
All operations that require sending requests to AWS re ec2 are implemented in this class.
Field Summary | |
---|---|
com.amazonaws.services.ec2.AmazonEC2Client |
ec2Client
|
Constructor Summary | |
---|---|
Ec2Wrangler(ParamsEc2 params)
|
Method Summary | |
---|---|
static java.lang.String |
chooseNetworkName(ParamsEc2 params)
|
java.lang.String |
createNetwork(NetworkSpec spec)
Blocks until all requested ec2 instances are up and running. |
java.util.List<java.lang.String> |
getActiveNetworkNames()
Gets the networkNames of all ec2-mpi networks owned by the user that are active. |
static java.util.List<java.lang.String> |
getInstanceIDs(com.amazonaws.services.ec2.model.RequestSpotInstancesResult rir)
|
static java.util.List<java.lang.String> |
getInstanceIDs(com.amazonaws.services.ec2.model.RunInstancesResult rir)
|
java.util.List<InstanceStatus> |
getInstances(NetworkInfo ni)
|
static java.util.List<InstanceStatus> |
getInstances(com.amazonaws.services.ec2.model.RunInstancesResult rir)
Returns status objects for instances listed in rir that are 'active', i.e. |
java.util.List<InstanceStatus> |
getInstancesActive()
Gets InstanceStatus s for all instances owned by the
user. |
java.util.List<InstanceStatus> |
getInstancesAllListed()
Gets InstanceStatus s for all instances owned by the
user, including any that are not active. |
java.util.List<java.lang.String> |
getKeypairNames()
|
InstanceStatus |
getMaster(NetworkInfo ni)
|
java.lang.String |
getMasterPublicDns(NetworkInfo ni)
|
ParamsEc2 |
getParams()
|
java.util.List<java.lang.String> |
getPublicDns(NetworkInfo ni)
|
static java.util.List<InstanceStatus> |
getRunningInstances(com.amazonaws.services.ec2.model.RunInstancesResult rir)
Returns status objects for instances listed in rir that have ec2 status 'running'. |
java.util.List<InstanceStatus> |
getSlaves(NetworkInfo ni)
|
java.util.List<java.lang.String> |
getSlavesPublicDns(NetworkInfo ni)
|
boolean |
isHVM(java.lang.String imageID)
|
java.lang.String |
launchInstances(com.amazonaws.services.ec2.model.InstanceType instanceType,
java.lang.String imageID,
java.lang.String availabilityZone,
int minInstances,
int maxInstances,
java.lang.String keyName,
java.lang.String securityGroupName,
java.lang.String networkName)
This version of launchInstances() gets all parameters from method arguments. |
java.lang.String |
launchInstances(NetworkSpec spec)
If NetworkSpec.securityGroupName is null,
a one time default security group is created. |
java.lang.String |
launchSpotInstances(com.amazonaws.services.ec2.model.InstanceType instanceType,
java.lang.String imageID,
java.lang.String availabilityZone,
int nInstances,
java.lang.String keyName,
java.lang.String securityGroupName,
java.lang.String networkName,
double spotPrice)
Note that spot price instances are not available for cluster instances. |
java.lang.String |
launchSpotInstances(NetworkSpec spec)
If NetworkSpec.securityGroupName is null,
a one time default security group is created. |
void |
rebootInstances(java.util.List<java.lang.String> instanceIDs)
|
void |
rebootInstances(NetworkInfo ni)
Blocks with NetworkInfo.pingAllInstances()
until all networks are available (or ping times out). |
void |
setParams(ParamsEc2 params)
|
void |
setTags(java.lang.String instanceID,
java.lang.String networkID,
java.lang.String networkName,
NodeType nodeType)
Used by other classes to change an instance's tags. |
com.amazonaws.services.ec2.model.TerminateInstancesResult |
terminateInstances(java.util.List<java.lang.String> instanceIDs)
Terminates the instances with the specified instance IDs. |
com.amazonaws.services.ec2.model.TerminateInstancesResult |
terminateInstances(NetworkInfo ni)
Terminates the instances in the specified network and deletes the one time security group that they were members of. |
void |
waitForInstances(NetworkInfo ni,
int nInstancesExpected)
Waits until all expected instances have status 'running'. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public com.amazonaws.services.ec2.AmazonEC2Client ec2Client
Constructor Detail |
---|
public Ec2Wrangler(ParamsEc2 params) throws ParamMissingException
ParamMissingException
Method Detail |
---|
public ParamsEc2 getParams()
public void setParams(ParamsEc2 params)
public java.lang.String createNetwork(NetworkSpec spec) throws java.io.IOException, ParamMissingException, ImproperParamException, IncompatibleInstanceImageException, NoSuchAmiException, NoSuchInstanceException, IncompleteNetworkSpecException, NoSuchNetworkException
java.io.IOException
ParamMissingException
ImproperParamException
IncompatibleInstanceImageException
NoSuchAmiException
NoSuchInstanceException
IncompleteNetworkSpecException
NoSuchNetworkException
public java.lang.String launchInstances(com.amazonaws.services.ec2.model.InstanceType instanceType, java.lang.String imageID, java.lang.String availabilityZone, int minInstances, int maxInstances, java.lang.String keyName, java.lang.String securityGroupName, java.lang.String networkName) throws ParamMissingException, ImproperParamException
instanceType
- imageID
- minCountInstances
- maxCountInstances
- keyName
- securityGroupName
- networkName
-
ParamMissingException
ImproperParamException
public java.lang.String launchInstances(NetworkSpec spec) throws ParamMissingException, ImproperParamException
NetworkSpec.securityGroupName
is null,
a one time default security group is created.
min and max n instances are set to
NetworkSpec.nInstances
.
spec
-
ParamMissingException
ImproperParamException
public java.lang.String launchSpotInstances(com.amazonaws.services.ec2.model.InstanceType instanceType, java.lang.String imageID, java.lang.String availabilityZone, int nInstances, java.lang.String keyName, java.lang.String securityGroupName, java.lang.String networkName, double spotPrice) throws ParamMissingException, ImproperParamException
This method blocks until the spot order has been filled. This is necessary so that we can tag the instances. Note when this method returns the instances may not be fully booted.
instanceType
- imageID
- nInstances
- keyName
- securityGroupName
- networkName,
- spotPrice
-
ParamMissingException
ImproperParamException
public java.lang.String launchSpotInstances(NetworkSpec spec) throws ParamMissingException, ImproperParamException
NetworkSpec.securityGroupName
is null,
a one time default security group is created.
spec
-
ParamMissingException
ImproperParamException
public void waitForInstances(NetworkInfo ni, int nInstancesExpected)
networkName
- n
- number of instances expectedpublic java.util.List<InstanceStatus> getInstancesActive()
InstanceStatus
s for all instances owned by the
user. This list includes instances that are running or
pending, but not those that have been shutdown.
public java.util.List<InstanceStatus> getInstancesAllListed()
InstanceStatus
s for all instances owned by the
user, including any that are not active.
public static java.util.List<InstanceStatus> getInstances(com.amazonaws.services.ec2.model.RunInstancesResult rir)
rir
-
public static java.util.List<InstanceStatus> getRunningInstances(com.amazonaws.services.ec2.model.RunInstancesResult rir)
rir
-
public static java.util.List<java.lang.String> getInstanceIDs(com.amazonaws.services.ec2.model.RequestSpotInstancesResult rir)
public static java.util.List<java.lang.String> getInstanceIDs(com.amazonaws.services.ec2.model.RunInstancesResult rir)
public InstanceStatus getMaster(NetworkInfo ni)
public java.util.List<InstanceStatus> getInstances(NetworkInfo ni)
public java.util.List<InstanceStatus> getSlaves(NetworkInfo ni)
public java.util.List<java.lang.String> getActiveNetworkNames()
public java.lang.String getMasterPublicDns(NetworkInfo ni)
public java.util.List<java.lang.String> getSlavesPublicDns(NetworkInfo ni)
public java.util.List<java.lang.String> getPublicDns(NetworkInfo ni)
public com.amazonaws.services.ec2.model.TerminateInstancesResult terminateInstances(java.util.List<java.lang.String> instanceIDs)
instanceIDs
-
public com.amazonaws.services.ec2.model.TerminateInstancesResult terminateInstances(NetworkInfo ni)
networkID
-
public java.util.List<java.lang.String> getKeypairNames()
public void rebootInstances(NetworkInfo ni) throws java.lang.Exception
NetworkInfo.pingAllInstances()
until all networks are available (or ping times out).
ni
-
java.lang.Exception
public void rebootInstances(java.util.List<java.lang.String> instanceIDs)
public static java.lang.String chooseNetworkName(ParamsEc2 params)
public void setTags(java.lang.String instanceID, java.lang.String networkID, java.lang.String networkName, NodeType nodeType)
instanceID
- public boolean isHVM(java.lang.String imageID)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |