public class RemoteElasticInstanceImpl extends Object implements RemoteElasticInstance
| Constructor and Description |
|---|
RemoteElasticInstanceImpl(ElasticInstanceManager manager,
ElasticAgentTunnelManager tunnelManager,
ErrorHandler errorHandler,
com.atlassian.aws.AWSAccount awsAccount,
URL baseURL,
int startupTimeoutSeconds,
RemoteElasticInstanceListener listener,
ScheduledExecutorService executor,
KeyStore keyStore,
ElasticConfiguration elasticConfiguration,
AgentManager agentManager,
ElasticImageConfiguration elasticImageConfiguration,
com.atlassian.aws.ec2.InstanceLaunchConfigurationBuilder instanceLaunchConfigurationBuilder,
SpotInstanceConfig spotInstanceConfig,
ServerFingerprint fingerprint) |
| Modifier and Type | Method and Description |
|---|---|
Collection<com.atlassian.aws.ec2.EBSVolume> |
getAttachedVolumes() |
ElasticImageConfiguration |
getConfiguration() |
com.atlassian.aws.ec2.RemoteEC2Instance |
getInstance() |
long |
getRemoteAgent() |
RemoteElasticInstanceState |
getState() |
void |
interruptDelayedTermination()
Interrupts delayed termination process.
|
boolean |
isAgentLoading() |
boolean |
isBeingTerminated() |
boolean |
isShutdownable()
Returns true if the instance is in a state that allows shutdown.
|
void |
restoreInstance(ElasticAgentDefinition elasticAgentDefinition,
com.amazonaws.services.ec2.model.Instance instance)
Restore elastic agent's state after server restart
|
void |
setAgentLoading(boolean agentLoading) |
void |
setRemoteAgent(long agentId) |
void |
setTunnelTimeoutMinutes(int tunnelTimeoutMinutes) |
void |
start() |
void |
terminate() |
void |
triggerDelayedTermination(long delaySeconds)
Triggers delayed termination of elastic instance.
|
public RemoteElasticInstanceImpl(ElasticInstanceManager manager, ElasticAgentTunnelManager tunnelManager, ErrorHandler errorHandler, com.atlassian.aws.AWSAccount awsAccount, URL baseURL, int startupTimeoutSeconds, RemoteElasticInstanceListener listener, ScheduledExecutorService executor, KeyStore keyStore, ElasticConfiguration elasticConfiguration, @NotNull AgentManager agentManager, @NotNull ElasticImageConfiguration elasticImageConfiguration, @NotNull com.atlassian.aws.ec2.InstanceLaunchConfigurationBuilder instanceLaunchConfigurationBuilder, @NotNull SpotInstanceConfig spotInstanceConfig, @NotNull ServerFingerprint fingerprint)
public long getRemoteAgent()
getRemoteAgent in interface RemoteElasticInstancepublic void setRemoteAgent(long agentId)
setRemoteAgent in interface RemoteElasticInstanceagentId - id of corresponding ElasticAgentDefinition.public boolean isShutdownable()
RemoteElasticInstanceisShutdownable in interface RemoteElasticInstancepublic boolean isBeingTerminated()
isBeingTerminated in interface RemoteElasticInstancepublic boolean isAgentLoading()
isAgentLoading in interface RemoteElasticInstancepublic void setAgentLoading(boolean agentLoading)
setAgentLoading in interface RemoteElasticInstancepublic void start()
start in interface RemoteElasticInstancepublic void terminate()
terminate in interface RemoteElasticInstancepublic RemoteElasticInstanceState getState()
getState in interface RemoteElasticInstancepublic com.atlassian.aws.ec2.RemoteEC2Instance getInstance()
getInstance in interface RemoteElasticInstance@NotNull public Collection<com.atlassian.aws.ec2.EBSVolume> getAttachedVolumes()
getAttachedVolumes in interface RemoteElasticInstance@NotNull public ElasticImageConfiguration getConfiguration()
getConfiguration in interface RemoteElasticInstancepublic void triggerDelayedTermination(long delaySeconds)
RemoteElasticInstancetriggerDelayedTermination in interface RemoteElasticInstancedelaySeconds - Number of secods to wait before terminating instance.public void interruptDelayedTermination()
RemoteElasticInstanceinterruptDelayedTermination in interface RemoteElasticInstancepublic void setTunnelTimeoutMinutes(int tunnelTimeoutMinutes)
public void restoreInstance(ElasticAgentDefinition elasticAgentDefinition, com.amazonaws.services.ec2.model.Instance instance) throws Exception
RemoteElasticInstancerestoreInstance in interface RemoteElasticInstanceExceptionCopyright © 2019 Atlassian Software Systems Pty Ltd. All rights reserved.