Package hudson.plugins.ec2
Class EC2AbstractSlave
- java.lang.Object
-
- hudson.model.AbstractModelObject
-
- hudson.model.Node
-
- hudson.model.Slave
-
- hudson.plugins.ec2.EC2AbstractSlave
-
- All Implemented Interfaces:
ExtensionPoint
,Describable<Node>
,ModelObject
,ReconfigurableDescribable<Node>
,Saveable
,SearchableModelObject
,SearchItem
,AccessControlled
,Serializable
,OnMaster
- Direct Known Subclasses:
EC2OndemandSlave
,EC2SpotSlave
public abstract class EC2AbstractSlave extends Slave
Agent running on EC2.- Author:
- Kohsuke Kawaguchi
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
EC2AbstractSlave.DescriptorImpl
-
Nested classes/interfaces inherited from class hudson.model.Slave
Slave.JnlpJar, Slave.SlaveDescriptor
-
Nested classes/interfaces inherited from class hudson.model.Node
Node.InternalComputerListener, Node.Mode
-
Nested classes/interfaces inherited from interface hudson.ExtensionPoint
ExtensionPoint.LegacyInstancesAreScopedToHudson
-
-
Field Summary
-
Fields inherited from class hudson.model.Node
holdOffLaunchUntilSave, SKIP_BUILD_CHECK_ON_FLYWEIGHTS
-
-
Constructor Summary
Constructors Constructor Description EC2AbstractSlave(String name, String instanceId, String templateDescription, String remoteFS, int numExecutors, Node.Mode mode, String labelString, ComputerLauncher launcher, RetentionStrategy<EC2Computer> retentionStrategy, String initScript, String tmpDir, List<? extends NodeProperty<?>> nodeProperties, String remoteAdmin, String jvmopts, boolean stopOnTerminate, String idleTerminationMinutes, List<EC2Tag> tags, String cloudName, boolean usePrivateDnsName, boolean useDedicatedTenancy, int launchTimeout, AMITypeData amiType)
Deprecated.EC2AbstractSlave(String name, String instanceId, String templateDescription, String remoteFS, int numExecutors, Node.Mode mode, String labelString, ComputerLauncher launcher, RetentionStrategy<EC2Computer> retentionStrategy, String initScript, String tmpDir, List<? extends NodeProperty<?>> nodeProperties, String remoteAdmin, String jvmopts, boolean stopOnTerminate, String idleTerminationMinutes, List<EC2Tag> tags, String cloudName, boolean useDedicatedTenancy, int launchTimeout, AMITypeData amiType, ConnectionStrategy connectionStrategy, int maxTotalUses)
Deprecated.EC2AbstractSlave(String name, String instanceId, String templateDescription, String remoteFS, int numExecutors, Node.Mode mode, String labelString, ComputerLauncher launcher, RetentionStrategy<EC2Computer> retentionStrategy, String initScript, String tmpDir, List<? extends NodeProperty<?>> nodeProperties, String remoteAdmin, String jvmopts, boolean stopOnTerminate, String idleTerminationMinutes, List<EC2Tag> tags, String cloudName, int launchTimeout, AMITypeData amiType, ConnectionStrategy connectionStrategy, int maxTotalUses, Tenancy tenancy)
Deprecated.EC2AbstractSlave(String name, String instanceId, String templateDescription, String remoteFS, int numExecutors, Node.Mode mode, String labelString, ComputerLauncher launcher, RetentionStrategy<EC2Computer> retentionStrategy, String initScript, String tmpDir, List<? extends NodeProperty<?>> nodeProperties, String remoteAdmin, String javaPath, String jvmopts, boolean stopOnTerminate, String idleTerminationMinutes, List<EC2Tag> tags, String cloudName, int launchTimeout, AMITypeData amiType, ConnectionStrategy connectionStrategy, int maxTotalUses, Tenancy tenancy, Boolean metadataEndpointEnabled, Boolean metadataTokensRequired, Integer metadataHopsLimit)
Deprecated.EC2AbstractSlave(String name, String instanceId, String templateDescription, String remoteFS, int numExecutors, Node.Mode mode, String labelString, ComputerLauncher launcher, RetentionStrategy<EC2Computer> retentionStrategy, String initScript, String tmpDir, List<? extends NodeProperty<?>> nodeProperties, String remoteAdmin, String javaPath, String jvmopts, boolean stopOnTerminate, String idleTerminationMinutes, List<EC2Tag> tags, String cloudName, int launchTimeout, AMITypeData amiType, ConnectionStrategy connectionStrategy, int maxTotalUses, Tenancy tenancy, Boolean metadataEndpointEnabled, Boolean metadataTokensRequired, Integer metadataHopsLimit, Boolean metadataSupported)
-
Method Summary
-
Methods inherited from class hudson.model.Slave
createLauncher, equals, getClockDifferenceCallable, getComputer, getDescriptor, getLabelString, getLauncher, getMode, getNodeDescription, getNodeName, getNodeProperties, getNumExecutors, getRemoteFS, getRetentionStrategy, getRootPath, getUserId, getWorkspaceFor, getWorkspaceRoot, hashCode, setLabelString, setLauncher, setMode, setNodeDescription, setNodeName, setNodeProperties, setNumExecutors, setRetentionStrategy, setUserId, toString
-
Methods inherited from class hudson.model.Node
canTake, canTake, createPath, getACL, getAssignedLabels, getChannel, getClockDifference, getDisplayName, getFileSystemProvisioner, getLabelCloud, getNodeProperty, getNodeProperty, getNodePropertyDescriptors, getSearchUrl, getSelfLabel, getTemporaryOfflineCause, isHoldOffLaunchUntilSave, save, toComputer
-
Methods inherited from class hudson.model.AbstractModelObject
getSearch, getSearchIndex, getSearchName, makeSearchIndex, requirePOST, sendError, sendError, sendError, sendError, sendError
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface hudson.security.AccessControlled
checkAnyPermission, checkPermission, hasAnyPermission, hasPermission, hasPermission, hasPermission2
-
-
-
-
Field Detail
-
DEFAULT_METADATA_SUPPORTED
public static final Boolean DEFAULT_METADATA_SUPPORTED
-
DEFAULT_METADATA_ENDPOINT_ENABLED
public static final Boolean DEFAULT_METADATA_ENDPOINT_ENABLED
-
DEFAULT_METADATA_TOKENS_REQUIRED
public static final Boolean DEFAULT_METADATA_TOKENS_REQUIRED
-
DEFAULT_METADATA_HOPS_LIMIT
public static final Integer DEFAULT_METADATA_HOPS_LIMIT
-
DEFAULT_JAVA_PATH
public static final String DEFAULT_JAVA_PATH
- See Also:
- Constant Field Values
-
instanceId
protected String instanceId
-
initScript
public final String initScript
Comes fromSlaveTemplate.initScript
.
-
tmpDir
public final String tmpDir
-
remoteAdmin
public final String remoteAdmin
-
templateDescription
public final String templateDescription
-
javaPath
public final String javaPath
-
jvmopts
public final String jvmopts
-
stopOnTerminate
public final boolean stopOnTerminate
-
idleTerminationMinutes
public final String idleTerminationMinutes
-
useDedicatedTenancy
@Deprecated public transient boolean useDedicatedTenancy
Deprecated.
-
isConnected
public boolean isConnected
-
cloudName
public final String cloudName
-
amiType
public AMITypeData amiType
-
maxTotalUses
public int maxTotalUses
-
tenancy
public final Tenancy tenancy
-
publicDNS
public transient String publicDNS
-
privateDNS
public transient String privateDNS
-
lastFetchInstance
protected transient com.amazonaws.services.ec2.model.Instance lastFetchInstance
-
lastFetchTime
protected transient long lastFetchTime
-
terminateScheduled
protected transient ResettableCountDownLatch terminateScheduled
Terminate was scheduled
-
MIN_FETCH_TIME
protected static final long MIN_FETCH_TIME
-
launchTimeout
protected final int launchTimeout
-
sshPort
@Deprecated protected transient int sshPort
Deprecated.
-
rootCommandPrefix
@Deprecated public transient String rootCommandPrefix
Deprecated.
-
usePrivateDnsName
@Deprecated public transient boolean usePrivateDnsName
Deprecated.
-
slaveCommandPrefix
public transient String slaveCommandPrefix
-
slaveCommandSuffix
public transient String slaveCommandSuffix
-
TEST_ZONE
public static final String TEST_ZONE
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
EC2AbstractSlave
public EC2AbstractSlave(String name, String instanceId, String templateDescription, String remoteFS, int numExecutors, Node.Mode mode, String labelString, ComputerLauncher launcher, RetentionStrategy<EC2Computer> retentionStrategy, String initScript, String tmpDir, List<? extends NodeProperty<?>> nodeProperties, String remoteAdmin, String javaPath, String jvmopts, boolean stopOnTerminate, String idleTerminationMinutes, List<EC2Tag> tags, String cloudName, int launchTimeout, AMITypeData amiType, ConnectionStrategy connectionStrategy, int maxTotalUses, Tenancy tenancy, Boolean metadataEndpointEnabled, Boolean metadataTokensRequired, Integer metadataHopsLimit, Boolean metadataSupported) throws Descriptor.FormException, IOException
- Throws:
Descriptor.FormException
IOException
-
EC2AbstractSlave
@Deprecated public EC2AbstractSlave(String name, String instanceId, String templateDescription, String remoteFS, int numExecutors, Node.Mode mode, String labelString, ComputerLauncher launcher, RetentionStrategy<EC2Computer> retentionStrategy, String initScript, String tmpDir, List<? extends NodeProperty<?>> nodeProperties, String remoteAdmin, String javaPath, String jvmopts, boolean stopOnTerminate, String idleTerminationMinutes, List<EC2Tag> tags, String cloudName, int launchTimeout, AMITypeData amiType, ConnectionStrategy connectionStrategy, int maxTotalUses, Tenancy tenancy, Boolean metadataEndpointEnabled, Boolean metadataTokensRequired, Integer metadataHopsLimit) throws Descriptor.FormException, IOException
Deprecated.- Throws:
Descriptor.FormException
IOException
-
EC2AbstractSlave
@Deprecated public EC2AbstractSlave(String name, String instanceId, String templateDescription, String remoteFS, int numExecutors, Node.Mode mode, String labelString, ComputerLauncher launcher, RetentionStrategy<EC2Computer> retentionStrategy, String initScript, String tmpDir, List<? extends NodeProperty<?>> nodeProperties, String remoteAdmin, String jvmopts, boolean stopOnTerminate, String idleTerminationMinutes, List<EC2Tag> tags, String cloudName, int launchTimeout, AMITypeData amiType, ConnectionStrategy connectionStrategy, int maxTotalUses, Tenancy tenancy) throws Descriptor.FormException, IOException
Deprecated.- Throws:
Descriptor.FormException
IOException
-
EC2AbstractSlave
@Deprecated public EC2AbstractSlave(String name, String instanceId, String templateDescription, String remoteFS, int numExecutors, Node.Mode mode, String labelString, ComputerLauncher launcher, RetentionStrategy<EC2Computer> retentionStrategy, String initScript, String tmpDir, List<? extends NodeProperty<?>> nodeProperties, String remoteAdmin, String jvmopts, boolean stopOnTerminate, String idleTerminationMinutes, List<EC2Tag> tags, String cloudName, boolean useDedicatedTenancy, int launchTimeout, AMITypeData amiType, ConnectionStrategy connectionStrategy, int maxTotalUses) throws Descriptor.FormException, IOException
Deprecated.- Throws:
Descriptor.FormException
IOException
-
EC2AbstractSlave
@Deprecated public EC2AbstractSlave(String name, String instanceId, String templateDescription, String remoteFS, int numExecutors, Node.Mode mode, String labelString, ComputerLauncher launcher, RetentionStrategy<EC2Computer> retentionStrategy, String initScript, String tmpDir, List<? extends NodeProperty<?>> nodeProperties, String remoteAdmin, String jvmopts, boolean stopOnTerminate, String idleTerminationMinutes, List<EC2Tag> tags, String cloudName, boolean usePrivateDnsName, boolean useDedicatedTenancy, int launchTimeout, AMITypeData amiType) throws Descriptor.FormException, IOException
Deprecated.- Throws:
Descriptor.FormException
IOException
-
-
Method Detail
-
readResolve
protected Object readResolve()
- Overrides:
readResolve
in classSlave
-
getCloud
public EC2Cloud getCloud()
-
getInstanceId
public String getInstanceId()
EC2 instance ID.
-
createComputer
public Computer createComputer()
- Overrides:
createComputer
in classSlave
-
getInstance
public static com.amazonaws.services.ec2.model.Instance getInstance(String instanceId, EC2Cloud cloud)
Returns view of AWS EC2 Instance.- Parameters:
instanceId
- instance id.cloud
- cloud provider (EC2Cloud compatible).- Returns:
- instance in EC2.
-
terminate
public abstract void terminate()
Terminates the instance in EC2.
-
reconfigure
public Node reconfigure(org.kohsuke.stapler.StaplerRequest req, net.sf.json.JSONObject form) throws Descriptor.FormException
- Specified by:
reconfigure
in interfaceReconfigurableDescribable<Node>
- Overrides:
reconfigure
in classNode
- Throws:
Descriptor.FormException
-
isAcceptingTasks
public boolean isAcceptingTasks()
- Overrides:
isAcceptingTasks
in classNode
-
getLaunchTimeoutInMillis
public long getLaunchTimeoutInMillis()
-
getRemoteAdmin
public String getRemoteAdmin()
-
getSshPort
public int getSshPort()
-
getStopOnTerminate
public boolean getStopOnTerminate()
-
onConnected
public void onConnected()
Called when the agent is connected to Jenkins
-
isAlive
protected boolean isAlive(boolean force)
-
clearLiveInstancedata
protected void clearLiveInstancedata() throws com.amazonaws.AmazonClientException
- Throws:
com.amazonaws.AmazonClientException
-
pushLiveInstancedata
protected void pushLiveInstancedata() throws com.amazonaws.AmazonClientException
- Throws:
com.amazonaws.AmazonClientException
-
getPublicDNS
public String getPublicDNS()
-
getPrivateDNS
public String getPrivateDNS()
-
getInstanceType
public String getInstanceType()
-
getCreatedTime
public long getCreatedTime()
-
getUsePrivateDnsName
@Deprecated public boolean getUsePrivateDnsName()
Deprecated.
-
getAdminPassword
public Secret getAdminPassword()
-
isUseHTTPS
public boolean isUseHTTPS()
-
getBootDelay
public int getBootDelay()
-
getMetadataSupported
public Boolean getMetadataSupported()
-
getMetadataEndpointEnabled
public Boolean getMetadataEndpointEnabled()
-
getMetadataTokensRequired
public Boolean getMetadataTokensRequired()
-
getMetadataHopsLimit
public Integer getMetadataHopsLimit()
-
isSpecifyPassword
public boolean isSpecifyPassword()
-
isAllowSelfSignedCertificate
public boolean isAllowSelfSignedCertificate()
-
fillZoneItems
public static ListBoxModel fillZoneItems(com.amazonaws.auth.AWSCredentialsProvider credentialsProvider, String region)
-
getEc2Type
public abstract String getEc2Type()
-
-