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,
@NotNull AgentManager agentManager,
@NotNull ElasticImageConfiguration elasticImageConfiguration,
@NotNull com.atlassian.aws.ec2.InstanceLaunchConfigurationBuilder instanceLaunchConfigurationBuilder,
@NotNull SpotInstanceConfig spotInstanceConfig,
@NotNull ServerFingerprint fingerprint,
@NotNull com.atlassian.event.api.EventPublisher eventPublisher,
@NotNull SecretEncryptionService secretEncryptionService) |
Modifier and Type | Method and Description |
---|---|
@NotNull Collection<com.atlassian.aws.ec2.EBSVolume> |
getAttachedVolumes() |
@NotNull ElasticImageConfiguration |
getConfiguration() |
com.atlassian.aws.ec2.RemoteEC2Instance |
getInstance() |
KeyStore |
getKeyStore() |
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 @NotNull AgentManager agentManager, @NotNull @NotNull ElasticImageConfiguration elasticImageConfiguration, @NotNull @NotNull com.atlassian.aws.ec2.InstanceLaunchConfigurationBuilder instanceLaunchConfigurationBuilder, @NotNull @NotNull SpotInstanceConfig spotInstanceConfig, @NotNull @NotNull ServerFingerprint fingerprint, @NotNull @NotNull com.atlassian.event.api.EventPublisher eventPublisher, @NotNull @NotNull SecretEncryptionService secretEncryptionService)
public long getRemoteAgent()
getRemoteAgent
in interface RemoteElasticInstance
public void setRemoteAgent(long agentId)
setRemoteAgent
in interface RemoteElasticInstance
agentId
- id of corresponding ElasticAgentDefinition
.public boolean isShutdownable()
RemoteElasticInstance
isShutdownable
in interface RemoteElasticInstance
public boolean isBeingTerminated()
isBeingTerminated
in interface RemoteElasticInstance
public boolean isAgentLoading()
isAgentLoading
in interface RemoteElasticInstance
public void setAgentLoading(boolean agentLoading)
setAgentLoading
in interface RemoteElasticInstance
public void start()
start
in interface RemoteElasticInstance
public void terminate()
terminate
in interface RemoteElasticInstance
public RemoteElasticInstanceState getState()
getState
in interface RemoteElasticInstance
public com.atlassian.aws.ec2.RemoteEC2Instance getInstance()
getInstance
in interface RemoteElasticInstance
@NotNull public @NotNull Collection<com.atlassian.aws.ec2.EBSVolume> getAttachedVolumes()
getAttachedVolumes
in interface RemoteElasticInstance
@NotNull public @NotNull ElasticImageConfiguration getConfiguration()
getConfiguration
in interface RemoteElasticInstance
public void triggerDelayedTermination(long delaySeconds)
RemoteElasticInstance
triggerDelayedTermination
in interface RemoteElasticInstance
delaySeconds
- Number of secods to wait before terminating instance.public void interruptDelayedTermination()
RemoteElasticInstance
interruptDelayedTermination
in interface RemoteElasticInstance
public void setTunnelTimeoutMinutes(int tunnelTimeoutMinutes)
public void restoreInstance(ElasticAgentDefinition elasticAgentDefinition, com.amazonaws.services.ec2.model.Instance instance) throws Exception
RemoteElasticInstance
restoreInstance
in interface RemoteElasticInstance
Exception
public KeyStore getKeyStore()
getKeyStore
in interface RemoteElasticInstance
Copyright © 2022 Atlassian Software Systems Pty Ltd. All rights reserved.