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,PersistenceRoot,ReconfigurableDescribable<Node>,Saveable,SearchableModelObject,SearchItem,AccessControlled,Serializable,OnMaster
- Direct Known Subclasses:
EC2OndemandSlave,EC2SpotSlave
Agent running on EC2.
- Author:
- Kohsuke Kawaguchi
- See Also:
-
Nested Class Summary
Nested ClassesNested classes/interfaces inherited from class hudson.model.Slave
Slave.JnlpJar, Slave.SlaveDescriptorNested classes/interfaces inherited from class hudson.model.Node
Node.InternalComputerListener, Node.ModeNested classes/interfaces inherited from interface hudson.ExtensionPoint
ExtensionPoint.LegacyInstancesAreScopedToHudson -
Field Summary
FieldsModifier and TypeFieldDescriptionfinal Stringstatic final Booleanstatic final Stringstatic final Booleanstatic final Integerstatic final Booleanstatic final Booleanfinal Stringfinal StringComes fromSlaveTemplate.initScript.protected Stringbooleanfinal Stringfinal Stringprotected software.amazon.awssdk.services.ec2.model.Instanceprotected longprotected final intintprotected static final longfinal StringDeprecated.protected intDeprecated.final booleanfinal Stringfinal Tenancyprotected ResettableCountDownLatchTerminate was scheduledstatic final Stringfinal StringbooleanDeprecated.booleanDeprecated.Fields inherited from class hudson.model.Node
holdOffLaunchUntilSave, SKIP_BUILD_CHECK_ON_FLYWEIGHTS -
Constructor Summary
ConstructorsConstructorDescriptionEC2AbstractSlave(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) 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, Boolean enclaveEnabled) -
Method Summary
Modifier and TypeMethodDescriptionprotected voidstatic ListBoxModelfillZoneItems(software.amazon.awssdk.auth.credentials.AwsCredentialsProvider credentialsProvider, String region) intgetCloud()abstract Stringstatic software.amazon.awssdk.services.ec2.model.InstancegetInstance(String instanceId, EC2Cloud cloud) Returns view of AWS EC2 Instance.EC2 instance ID.longintbooleangetTags()booleanDeprecated.booleanprotected booleanisAlive(boolean force) booleanbooleanbooleanvoidCalled when the agent is connected to Jenkinsprotected voidprotected Objectreconfigure(org.kohsuke.stapler.StaplerRequest2 req, net.sf.json.JSONObject form) abstract Future<?>Terminates the instance in EC2.Methods inherited from class hudson.model.Slave
createLauncher, equals, getClockDifferenceCallable, getComputer, getDescriptor, getLabelAtomSet, getLabelString, getLauncher, getMode, getNodeDescription, getNodeName, getNodeProperties, getNumExecutors, getRemoteFS, getRetentionStrategy, getRootPath, getUserId, getWorkspaceFor, getWorkspaceRoot, hashCode, setLabelString, setLauncher, setMode, setNodeDescription, setNodeName, setNodeProperties, setNumExecutors, setRetentionStrategy, setUserId, toStringMethods inherited from class hudson.model.Node
canTake, canTake, createPath, getACL, getAssignedLabels, getChannel, getClockDifference, getConfigFile, getDisplayName, getFileSystemProvisioner, getLabelCloud, getNodeProperty, getNodeProperty, getNodePropertyDescriptors, getRootDir, getSearchUrl, getSelfLabel, getTemporaryOfflineCause, isHoldOffLaunchUntilSave, onLoad, reconfigure, save, toComputerMethods inherited from class hudson.model.AbstractModelObject
getSearch, getSearchIndex, getSearchName, makeSearchIndex, requirePOST, sendError, sendError, sendError, sendError, sendError, sendError, sendError, sendErrorMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface hudson.security.AccessControlled
checkAnyPermission, checkPermission, hasAnyPermission, hasPermission, hasPermission, hasPermission2
-
Field Details
-
DEFAULT_METADATA_SUPPORTED
-
DEFAULT_METADATA_ENDPOINT_ENABLED
-
DEFAULT_METADATA_TOKENS_REQUIRED
-
DEFAULT_ENCLAVE_ENABLED
-
DEFAULT_METADATA_HOPS_LIMIT
-
DEFAULT_JAVA_PATH
- See Also:
-
instanceId
-
initScript
Comes fromSlaveTemplate.initScript. -
tmpDir
-
remoteAdmin
-
templateDescription
-
javaPath
-
jvmopts
-
stopOnTerminate
public final boolean stopOnTerminate -
idleTerminationMinutes
-
useDedicatedTenancy
Deprecated. -
isConnected
public boolean isConnected -
tags
-
cloudName
-
amiType
-
maxTotalUses
public int maxTotalUses -
tenancy
-
publicDNS
-
privateDNS
-
lastFetchInstance
protected transient software.amazon.awssdk.services.ec2.model.Instance lastFetchInstance -
lastFetchTime
protected transient long lastFetchTime -
terminateScheduled
Terminate was scheduled -
MIN_FETCH_TIME
protected static final long MIN_FETCH_TIME -
launchTimeout
protected final int launchTimeout -
sshPort
Deprecated. -
rootCommandPrefix
Deprecated. -
usePrivateDnsName
Deprecated. -
slaveCommandPrefix
-
slaveCommandSuffix
-
TEST_ZONE
- See Also:
-
-
Constructor Details
-
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, Boolean enclaveEnabled) throws Descriptor.FormException, IOException - Throws:
Descriptor.FormExceptionIOException
-
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, Boolean metadataSupported) throws Descriptor.FormException, IOException Deprecated.- Throws:
Descriptor.FormExceptionIOException
-
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.FormExceptionIOException
-
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.FormExceptionIOException
-
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.FormExceptionIOException
-
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.FormExceptionIOException
-
-
Method Details
-
readResolve
- Overrides:
readResolvein classSlave
-
getCloud
-
getInstanceId
EC2 instance ID. -
createComputer
- Overrides:
createComputerin classSlave
-
getInstance
public static software.amazon.awssdk.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
Terminates the instance in EC2. -
reconfigure
public Node reconfigure(org.kohsuke.stapler.StaplerRequest2 req, net.sf.json.JSONObject form) throws Descriptor.FormException - Specified by:
reconfigurein interfaceReconfigurableDescribable<Node>- Overrides:
reconfigurein classNode- Throws:
Descriptor.FormException
-
isAcceptingTasks
public boolean isAcceptingTasks()- Overrides:
isAcceptingTasksin classNode
-
getLaunchTimeoutInMillis
public long getLaunchTimeoutInMillis() -
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 software.amazon.awssdk.core.exception.SdkException- Throws:
software.amazon.awssdk.core.exception.SdkException
-
pushLiveInstancedata
protected void pushLiveInstancedata() throws software.amazon.awssdk.core.exception.SdkException- Throws:
software.amazon.awssdk.core.exception.SdkException
-
getPublicDNS
-
getPrivateDNS
-
getInstanceType
-
getTags
-
getCreatedTime
-
getUsePrivateDnsName
Deprecated. -
getAdminPassword
-
isUseHTTPS
public boolean isUseHTTPS() -
getBootDelay
public int getBootDelay() -
getMetadataSupported
-
getMetadataEndpointEnabled
-
getMetadataTokensRequired
-
getMetadataHopsLimit
-
getEnclaveEnabled
-
isSpecifyPassword
public boolean isSpecifyPassword() -
isAllowSelfSignedCertificate
public boolean isAllowSelfSignedCertificate() -
fillZoneItems
public static ListBoxModel fillZoneItems(software.amazon.awssdk.auth.credentials.AwsCredentialsProvider credentialsProvider, String region) -
getEc2Type
-