public class ElasticInstanceManagerImpl extends Object implements com.atlassian.bamboo.agent.elastic.server.ElasticInstanceManager
BAMBOO_CONTROL_TAG, DEFAULT_INSTANCE_TYPE_32, DEFAULT_INSTANCE_TYPE_64, DEFAULT_PRODUCT_FOR_LINUX_PLATFORM, DEFAULT_PRODUCT_FOR_WINDOWS_PLATFORM, ELASTIC_BAMBOO_KEY_PAIR, ELASTIC_BAMBOO_KEY_PAIR_FILE, ELASTIC_BAMBOO_SECURITY_GROUP| Constructor and Description |
|---|
ElasticInstanceManagerImpl(com.atlassian.bamboo.agent.elastic.aws.AwsAccountBean awsAccountBean,
AdministrationConfigurationAccessor administrationConfigurationAccessor,
int startupTimeoutSeconds,
ScheduledExecutorService executor,
KeyStoreFactory keyStoreFactory,
SSLContextFactory sslContextFactory,
com.atlassian.bamboo.setup.BootstrapManager bootstrapManager,
com.atlassian.bamboo.logger.ErrorHandler errorHandler,
com.atlassian.bamboo.agent.elastic.server.SpotInstanceConfigurationAccessor spotInstanceConfigurationAccessor) |
public ElasticInstanceManagerImpl(com.atlassian.bamboo.agent.elastic.aws.AwsAccountBean awsAccountBean, AdministrationConfigurationAccessor administrationConfigurationAccessor, int startupTimeoutSeconds, ScheduledExecutorService executor, KeyStoreFactory keyStoreFactory, SSLContextFactory sslContextFactory, com.atlassian.bamboo.setup.BootstrapManager bootstrapManager, com.atlassian.bamboo.logger.ErrorHandler errorHandler, com.atlassian.bamboo.agent.elastic.server.SpotInstanceConfigurationAccessor spotInstanceConfigurationAccessor)
public com.atlassian.bamboo.agent.elastic.server.RemoteElasticInstance newElasticAgent(com.atlassian.bamboo.agent.elastic.server.RemoteElasticInstanceListener listener, com.atlassian.aws.AWSAccount awsAccount, @NotNull com.atlassian.bamboo.buildqueue.manager.AgentManager agentManager, @NotNull com.atlassian.bamboo.agent.elastic.server.ElasticImageConfiguration elasticImageConfiguration, @NotNull com.atlassian.aws.ec2.InstanceLaunchConfigurationBuilder instanceLaunchConfigurationBuilder) throws NoSuchAlgorithmException, KeyManagementException, IOException, CertificateException, UnrecoverableKeyException, KeyStoreException
newElasticAgent in interface com.atlassian.bamboo.agent.elastic.server.ElasticInstanceManagerNoSuchAlgorithmExceptionKeyManagementExceptionIOExceptionCertificateExceptionUnrecoverableKeyExceptionKeyStoreExceptionpublic void ensureLoginKeyPairExists(com.atlassian.aws.AWSAccount awsAccount,
String keyPair)
throws com.atlassian.aws.AWSException
ensureLoginKeyPairExists in interface com.atlassian.bamboo.agent.elastic.server.ElasticInstanceManagercom.atlassian.aws.AWSExceptionpublic boolean validateAwsCredentials(com.atlassian.aws.ec2.awssdk.AwsSupportConstants.Region region,
String awsAccessID,
String awsSecretKey,
com.atlassian.bamboo.utils.error.ErrorCollection errorCollection)
validateAwsCredentials in interface com.atlassian.bamboo.agent.elastic.server.ElasticInstanceManagerpublic boolean validateAwsCredentials(String awsAccessID, String awsSecretKey, com.atlassian.bamboo.utils.error.ErrorCollection errorCollection)
validateAwsCredentials in interface com.atlassian.bamboo.agent.elastic.server.ElasticInstanceManager@NotNull public List<com.atlassian.bamboo.agent.elastic.server.RemoteElasticInstance> getElasticRemoteAgents()
getElasticRemoteAgents in interface com.atlassian.bamboo.agent.elastic.server.ElasticInstanceManager@NotNull public List<com.atlassian.bamboo.agent.elastic.server.RemoteElasticInstance> getElasticRemoteAgentsByConfiguration(com.atlassian.bamboo.agent.elastic.server.ElasticImageConfiguration elasticImageConfiguration)
getElasticRemoteAgentsByConfiguration in interface com.atlassian.bamboo.agent.elastic.server.ElasticInstanceManager@NotNull public List<com.atlassian.bamboo.agent.elastic.server.RemoteElasticInstance> getElasticRemoteAgentsByConfiguration(long id)
getElasticRemoteAgentsByConfiguration in interface com.atlassian.bamboo.agent.elastic.server.ElasticInstanceManager@Nullable public com.atlassian.bamboo.agent.elastic.server.RemoteElasticInstance getElasticRemoteAgentByInstanceId(String instanceId)
getElasticRemoteAgentByInstanceId in interface com.atlassian.bamboo.agent.elastic.server.ElasticInstanceManager@NotNull public List<com.atlassian.bamboo.agent.elastic.server.RemoteElasticInstance> getRequestedElasticRemoteAgents()
getRequestedElasticRemoteAgents in interface com.atlassian.bamboo.agent.elastic.server.ElasticInstanceManager@NotNull public List<com.atlassian.bamboo.agent.elastic.server.RemoteElasticInstance> getStartingElasticInstances()
getStartingElasticInstances in interface com.atlassian.bamboo.agent.elastic.server.ElasticInstanceManager@NotNull public List<com.atlassian.bamboo.agent.elastic.server.RemoteElasticInstance> getInstancesWithStartingAgents()
getInstancesWithStartingAgents in interface com.atlassian.bamboo.agent.elastic.server.ElasticInstanceManagerpublic List<com.atlassian.bamboo.agent.elastic.server.RemoteElasticInstance> getAllElasticRemoteAgents()
getAllElasticRemoteAgents in interface com.atlassian.bamboo.agent.elastic.server.ElasticInstanceManagerpublic com.google.common.collect.SetMultimap<com.atlassian.bamboo.agent.elastic.server.ElasticImageConfiguration,com.atlassian.bamboo.agent.elastic.server.RemoteElasticInstance> getAllElasticAgentsAsMap()
getAllElasticAgentsAsMap in interface com.atlassian.bamboo.agent.elastic.server.ElasticInstanceManagerpublic int getTotalNumElasticRemoteAgents()
getTotalNumElasticRemoteAgents in interface com.atlassian.bamboo.agent.elastic.server.ElasticInstanceManagerpublic void onInstanceIdentified(@NotNull
com.atlassian.bamboo.agent.elastic.server.RemoteElasticInstance instance)
onInstanceIdentified in interface com.atlassian.bamboo.agent.elastic.server.ElasticInstanceManagerpublic void onInstanceRunning(@NotNull
com.atlassian.bamboo.agent.elastic.server.RemoteElasticInstance instance)
onInstanceRunning in interface com.atlassian.bamboo.agent.elastic.server.ElasticInstanceManagerpublic boolean cancelSpotRequests(@NotNull
com.atlassian.aws.AWSAccount awsAccount)
cancelSpotRequests in interface com.atlassian.bamboo.agent.elastic.server.ElasticInstanceManagerpublic void registerElasticAgentStopped(@NotNull
com.atlassian.bamboo.agent.elastic.server.RemoteElasticInstance instance)
registerElasticAgentStopped in interface com.atlassian.bamboo.agent.elastic.server.ElasticInstanceManagerpublic void addElasticLogEntry(org.apache.log4j.Logger log,
String logEntry)
addElasticLogEntry in interface com.atlassian.bamboo.agent.elastic.server.ElasticInstanceManagerpublic List<String> getElasticAgentLogs()
getElasticAgentLogs in interface com.atlassian.bamboo.agent.elastic.server.ElasticInstanceManagerpublic boolean isElasticSupportEnabled()
isElasticSupportEnabled in interface com.atlassian.bamboo.agent.elastic.server.ElasticInstanceManager@NotNull public Set<com.atlassian.aws.ec2.EC2InstanceType> getAllowedInstanceTypes()
getAllowedInstanceTypes in interface com.atlassian.bamboo.agent.elastic.server.ElasticInstanceManagerpublic int getTunnelPort()
getTunnelPort in interface ElasticAgentTunnelPortspublic int getAgentSideHttpPort()
getAgentSideHttpPort in interface ElasticAgentTunnelPortspublic int getAgentSideJmsPort()
getAgentSideJmsPort in interface ElasticAgentTunnelPortspublic void setTunnelTimeoutMinutes(int tunnelTimeoutMinutes)
@NotNull public String getInstanceLogs(@NotNull String instanceId) throws com.atlassian.aws.AWSException
getInstanceLogs in interface com.atlassian.bamboo.agent.elastic.server.ElasticInstanceManagercom.atlassian.aws.AWSExceptionpublic boolean isInstanceKnown(@NotNull
String instanceId)
isInstanceKnown in interface com.atlassian.bamboo.agent.elastic.server.ElasticInstanceManagerCopyright © 2016 Atlassian Software Systems Pty Ltd. All rights reserved.