hudson.plugins.ec2
Class SlaveTemplate

java.lang.Object
  extended by hudson.plugins.ec2.SlaveTemplate
All Implemented Interfaces:
hudson.model.Describable<SlaveTemplate>

public class SlaveTemplate
extends Object
implements hudson.model.Describable<SlaveTemplate>

Template of EC2Slave to launch.

Author:
Kohsuke Kawaguchi

Nested Class Summary
static class SlaveTemplate.DescriptorImpl
           
 
Field Summary
 String ami
           
 String description
           
 String idleTerminationMinutes
           
 String initScript
           
 String jvmopts
           
 String labels
           
 String numExecutors
           
protected  EC2Cloud parent
           
 String remoteAdmin
           
 String remoteFS
           
 String rootCommandPrefix
           
 String securityGroups
           
 String sshPort
           
 boolean stopOnTerminate
           
 String subnetId
           
 com.amazonaws.services.ec2.model.InstanceType type
           
 boolean usePrivateDnsName
           
 String userData
           
 String zone
           
 
Constructor Summary
SlaveTemplate(String ami, String zone, String securityGroups, String remoteFS, String sshPort, com.amazonaws.services.ec2.model.InstanceType type, String labelString, String description, String initScript, String userData, String numExecutors, String remoteAdmin, String rootCommandPrefix, String jvmopts, boolean stopOnTerminate, String subnetId, List<EC2Tag> tags, String idleTerminationMinutes, boolean usePrivateDnsName)
           
 
Method Summary
 EC2Slave attach(String instanceId, hudson.model.TaskListener listener)
          Provisions a new EC2 slave based on the currently running instance on EC2, instead of starting a new one.
 boolean containsLabel(hudson.model.Label l)
          Does this contain the given label?
 hudson.model.Descriptor<SlaveTemplate> getDescriptor()
           
 String getDisplayName()
           
 String getidleTerminationMinutes()
           
 Set getLabelSet()
           
 String getLabelString()
           
 int getNumExecutors()
           
 EC2Cloud getParent()
           
 String getRemoteAdmin()
           
 String getRootCommandPrefix()
           
 Set<String> getSecurityGroupSet()
           
 String getSecurityGroupString()
           
 int getSshPort()
           
 String getSubnetId()
           
 List<EC2Tag> getTags()
           
 Set<String> parseSecurityGroups()
           
 EC2Slave provision(hudson.model.TaskListener listener)
          Provisions a new EC2 slave.
protected  Object readResolve()
          Initializes data structure that we don't persist.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ami

public final String ami

description

public final String description

zone

public final String zone

securityGroups

public final String securityGroups

remoteFS

public final String remoteFS

sshPort

public final String sshPort

type

public final com.amazonaws.services.ec2.model.InstanceType type

labels

public final String labels

initScript

public final String initScript

userData

public final String userData

numExecutors

public final String numExecutors

remoteAdmin

public final String remoteAdmin

rootCommandPrefix

public final String rootCommandPrefix

jvmopts

public final String jvmopts

subnetId

public final String subnetId

idleTerminationMinutes

public final String idleTerminationMinutes

stopOnTerminate

public final boolean stopOnTerminate

usePrivateDnsName

public final boolean usePrivateDnsName

parent

protected transient EC2Cloud parent
Constructor Detail

SlaveTemplate

@DataBoundConstructor
public SlaveTemplate(String ami,
                                          String zone,
                                          String securityGroups,
                                          String remoteFS,
                                          String sshPort,
                                          com.amazonaws.services.ec2.model.InstanceType type,
                                          String labelString,
                                          String description,
                                          String initScript,
                                          String userData,
                                          String numExecutors,
                                          String remoteAdmin,
                                          String rootCommandPrefix,
                                          String jvmopts,
                                          boolean stopOnTerminate,
                                          String subnetId,
                                          List<EC2Tag> tags,
                                          String idleTerminationMinutes,
                                          boolean usePrivateDnsName)
Method Detail

getParent

public EC2Cloud getParent()

getLabelString

public String getLabelString()

getDisplayName

public String getDisplayName()

getSecurityGroupString

public String getSecurityGroupString()

getSecurityGroupSet

public Set<String> getSecurityGroupSet()

parseSecurityGroups

public Set<String> parseSecurityGroups()

getNumExecutors

public int getNumExecutors()

getSshPort

public int getSshPort()

getRemoteAdmin

public String getRemoteAdmin()

getRootCommandPrefix

public String getRootCommandPrefix()

getSubnetId

public String getSubnetId()

getTags

public List<EC2Tag> getTags()

getidleTerminationMinutes

public String getidleTerminationMinutes()

getLabelSet

public Set getLabelSet()

containsLabel

public boolean containsLabel(hudson.model.Label l)
Does this contain the given label?

Parameters:
l - can be null to indicate "don't care".

provision

public EC2Slave provision(hudson.model.TaskListener listener)
                   throws com.amazonaws.AmazonClientException,
                          IOException
Provisions a new EC2 slave.

Returns:
always non-null. This needs to be then added to Hudson.addNode(Node).
Throws:
com.amazonaws.AmazonClientException
IOException

attach

public EC2Slave attach(String instanceId,
                       hudson.model.TaskListener listener)
                throws com.amazonaws.AmazonClientException,
                       IOException
Provisions a new EC2 slave based on the currently running instance on EC2, instead of starting a new one.

Throws:
com.amazonaws.AmazonClientException
IOException

readResolve

protected Object readResolve()
Initializes data structure that we don't persist.


getDescriptor

public hudson.model.Descriptor<SlaveTemplate> getDescriptor()
Specified by:
getDescriptor in interface hudson.model.Describable<SlaveTemplate>


Copyright © 2004-2012 Hudson. All Rights Reserved.