Package hudson.plugins.ec2
Class EC2Computer
java.lang.Object
hudson.model.AbstractModelObject
hudson.model.Actionable
hudson.model.Computer
hudson.slaves.SlaveComputer
hudson.plugins.ec2.EC2Computer
- All Implemented Interfaces:
ExtensionPoint
,DescriptorByNameOwner
,ExecutorListener
,ModelObject
,SearchableModelObject
,SearchItem
,AccessControlled
,ModelObjectWithContextMenu
,HasWidgets
,org.kohsuke.stapler.StaplerProxy
- Author:
- Kohsuke Kawaguchi
-
Nested Class Summary
Nested classes/interfaces inherited from class hudson.model.Computer
Computer.DisplayExecutor, Computer.TerminationRequest
Nested classes/interfaces inherited from interface hudson.ExtensionPoint
ExtensionPoint.LegacyInstancesAreScopedToHudson
Nested classes/interfaces inherited from interface jenkins.model.ModelObjectWithContextMenu
ModelObjectWithContextMenu.ContextMenu, ModelObjectWithContextMenu.ContextMenuVisibility, ModelObjectWithContextMenu.MenuItem, ModelObjectWithContextMenu.MenuItemType
-
Field Summary
Fields inherited from class hudson.slaves.SlaveComputer
ALLOW_UNSUPPORTED_REMOTING_VERSIONS
Fields inherited from class hudson.model.Computer
BUILD, CONFIGURE, CONNECT, CREATE, DELETE, DISCONNECT, EXTENDED_READ, EXTENDED_READ_AND_CONNECT, nodeName, offlineCause, PERMISSIONS, SKIP_PERMISSION_CHECK, statusChangeLock, threadPoolForRemoting, transientActions
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionsoftware.amazon.awssdk.services.ec2.model.Instance
Obtains the instance state description in EC2.org.kohsuke.stapler.HttpResponse
When the agent is deleted, terminate the instance.getCloud()
Gets the EC2 console output.Gets the EC2 decoded console output.Return the Instant this instance was launchedgetNode()
What username to use to run root-like commandsint
getState()
Gets the current state of the instance.long
Number of milli-secs since the instance was started.Returns uptime in the human readable form.void
software.amazon.awssdk.services.ec2.model.Instance
This will flush any cached description held bydescribeInstance()
.Methods inherited from class hudson.slaves.SlaveComputer
_connect, disconnect, doDoDisconnect, doJenkinsAgentJnlp, doLaunchSlaveAgent, doSlaveAgentJnlp, doSubmitDescription, getAbsoluteRemoteFs, getAbsoluteRemotePath, getChannel, getChannelToMaster, getClassLoadingCount, getClassLoadingPrefetchCacheCount, getClassLoadingTime, getDefaultCharset, getDelegatedLauncher, getEnvVarsFull, getIconClassName, getJnlpJars, getJnlpMac, getLauncher, getListener, getLogRecords, getOSDescription, getResourceLoadingCount, getResourceLoadingTime, getRetentionStrategy, getSlaveVersion, getSystemInfoExtensions, getTarget, grabLauncher, isAcceptingTasks, isConnecting, isJnlpAgent, isLaunchSupported, isUnix, kill, openLogFile, setAcceptingTasks, setChannel, setChannel, setChannel, setChannel, setNode, taskAccepted, taskCompleted, taskCompletedWithProblems, taskStarted, tryReconnect
Methods inherited from class hudson.model.Computer
_doScript, addAction, buildEnvironment, cliConnect, cliDisconnect, cliOffline, cliOnline, connect, countBusy, countExecutors, countIdle, currentComputer, disconnect, doChangeOfflineCause, doConfigDotXml, doConfigSubmit, doDumpExportTable, doProgressiveLog, doRssAll, doRssFailed, doRssLatest, doScript, doScriptText, doToggleOffline, getACL, getActions, getAllExecutors, getApi, getAssignedLabels, getBuilds, getCaption, getComputerPanelBoxs, getConnectTime, getDemandStartMilliseconds, getDescription, getDisplayExecutors, getDisplayName, getEnvironment, getEnvVars, getExecutors, getHeapDump, getHostName, getIcon, getIconAltText, getIdleStartMilliseconds, getLoadStatistics, getLog, getLogDir, getLogFile, getLogText, getMonitorData, getMonitoringData, getName, getNumExecutors, getOfflineCause, getOfflineCauseReason, getOneOffExecutors, getSearchUrl, getSystemProperties, getTerminatedBy, getThreadDump, getTiedJobs, getTimeline, getUrl, getWorkspaceList, interrupt, isAlive, isIdle, isManualLaunchAllowed, isOffline, isOnline, isPartiallyIdle, isTemporarilyOffline, launch, onRemoved, recordTermination, relocateOldLogs, removeExecutor, resolveForCLI, setTemporarilyOffline, setTemporarilyOffline, updateByXml, waitUntilOffline, waitUntilOnline
Methods inherited from class hudson.model.Actionable
addOrReplaceAction, doContextMenu, doContextMenu, getAction, getAction, getActions, getAllActions, getDynamic, getDynamic, removeAction, removeActions, replaceAction, replaceActions
Methods inherited from class hudson.model.AbstractModelObject
getSearch, getSearchIndex, getSearchName, makeSearchIndex, requirePOST, sendError, sendError, sendError, sendError, sendError, sendError, sendError, sendError
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface hudson.security.AccessControlled
checkAnyPermission, checkPermission, hasAnyPermission, hasPermission, hasPermission, hasPermission2
Methods inherited from interface hudson.model.DescriptorByNameOwner
getDescriptorByName
Methods inherited from interface jenkins.widgets.HasWidgets
getWidget, getWidgets
-
Constructor Details
-
EC2Computer
-
-
Method Details
-
getNode
- Overrides:
getNode
in classSlaveComputer
-
getInstanceId
-
getEc2Type
-
getSpotInstanceRequestId
-
getCloud
-
getSlaveTemplate
-
getConsoleOutput
Gets the EC2 console output.- Throws:
software.amazon.awssdk.core.exception.SdkException
-
getDecodedConsoleOutput
Gets the EC2 decoded console output.- Throws:
software.amazon.awssdk.core.exception.SdkException
- Since:
- TODO
-
describeInstance
public software.amazon.awssdk.services.ec2.model.Instance describeInstance() throws software.amazon.awssdk.core.exception.SdkException, InterruptedExceptionObtains the instance state description in EC2.This method returns a cached state, so it's not suitable to check
Instance.state()
from the returned instance (but all the other fields are valid as it won't change.)The cache can be flushed using
updateInstanceDescription()
- Throws:
software.amazon.awssdk.core.exception.SdkException
InterruptedException
-
updateInstanceDescription
public software.amazon.awssdk.services.ec2.model.Instance updateInstanceDescription() throws software.amazon.awssdk.core.exception.SdkException, InterruptedExceptionThis will flush any cached description held bydescribeInstance()
.- Throws:
software.amazon.awssdk.core.exception.SdkException
InterruptedException
-
getState
public InstanceState getState() throws software.amazon.awssdk.core.exception.SdkException, InterruptedExceptionGets the current state of the instance.Unlike
describeInstance()
, this method always return the current status by calling EC2.- Throws:
software.amazon.awssdk.core.exception.SdkException
InterruptedException
-
getUptime
public long getUptime() throws software.amazon.awssdk.core.exception.SdkException, InterruptedExceptionNumber of milli-secs since the instance was started.- Throws:
software.amazon.awssdk.core.exception.SdkException
InterruptedException
-
getUptimeString
public String getUptimeString() throws software.amazon.awssdk.core.exception.SdkException, InterruptedExceptionReturns uptime in the human readable form.- Throws:
software.amazon.awssdk.core.exception.SdkException
InterruptedException
-
getLaunchTime
Return the Instant this instance was launched- Returns:
- Instant this instance was launched
- Throws:
InterruptedException
-
doDoDelete
When the agent is deleted, terminate the instance.- Overrides:
doDoDelete
in classComputer
- Throws:
IOException
-
getRemoteAdmin
What username to use to run root-like commands- Returns:
- remote admin or
null
if the associatedNode
isnull
-
getSshPort
public int getSshPort() -
getRootCommandPrefix
-
getSlaveCommandPrefix
-
getSlaveCommandSuffix
-
onConnected
public void onConnected()
-