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.TerminationRequestNested classes/interfaces inherited from interface hudson.ExtensionPoint
ExtensionPoint.LegacyInstancesAreScopedToHudsonNested 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_VERSIONSFields 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.InstanceObtains the instance state description in EC2.org.kohsuke.stapler.HttpResponseWhen 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 commandsintgetState()Gets the current state of the instance.longNumber of milli-secs since the instance was started.Returns uptime in the human readable form.voidsoftware.amazon.awssdk.services.ec2.model.InstanceThis 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, tryReconnectMethods 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, waitUntilOnlineMethods inherited from class hudson.model.Actionable
addOrReplaceAction, doContextMenu, doContextMenu, getAction, getAction, getActions, getAllActions, getDynamic, getDynamic, removeAction, removeActions, replaceAction, replaceActionsMethods 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, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface hudson.security.AccessControlled
checkAnyPermission, checkPermission, hasAnyPermission, hasPermission, hasPermission, hasPermission2Methods inherited from interface hudson.model.DescriptorByNameOwner
getDescriptorByNameMethods inherited from interface jenkins.widgets.HasWidgets
getWidget, getWidgets
-
Constructor Details
-
EC2Computer
-
-
Method Details
-
getNode
- Overrides:
getNodein 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.SdkExceptionInterruptedException
-
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.SdkExceptionInterruptedException
-
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.SdkExceptionInterruptedException
-
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.SdkExceptionInterruptedException
-
getUptimeString
public String getUptimeString() throws software.amazon.awssdk.core.exception.SdkException, InterruptedExceptionReturns uptime in the human readable form.- Throws:
software.amazon.awssdk.core.exception.SdkExceptionInterruptedException
-
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:
doDoDeletein classComputer- Throws:
IOException
-
getRemoteAdmin
What username to use to run root-like commands- Returns:
- remote admin or
nullif the associatedNodeisnull
-
getSshPort
public int getSshPort() -
getRootCommandPrefix
-
getSlaveCommandPrefix
-
getSlaveCommandSuffix
-
onConnected
public void onConnected()
-