public class ElasticFunctionalityFacadeImpl extends Object implements ElasticFunctionalityFacade
ElasticFunctionalityFacade.Ec2PrivateKeyValidationStatusDEFAULT_ALLOWED_AGENTS| Constructor and Description |
|---|
ElasticFunctionalityFacadeImpl() |
| Modifier and Type | Method and Description |
|---|---|
void |
addElasticLogEntry(org.apache.log4j.Logger log,
String logEntry) |
void |
adjustElasticInstanceNumbers(ElasticInstanceSchedule instanceSchedule)
Given the
ElasticInstanceSchedule startup or bring down the correct number of agents |
protected void |
attemptShutdownInstances(Collection<RemoteElasticInstance> instances,
int agentsToShutdown,
ElasticImageConfiguration elasticImageConfiguration) |
String |
getKeyPairName() |
int |
getMaxConcurrentInstances() |
com.atlassian.fugue.Either<ElasticFunctionalityFacade.Ec2PrivateKeyValidationStatus,com.atlassian.fugue.Option<String>> |
getPassword(RemoteElasticInstance instance) |
String |
getPkFileLocation() |
com.atlassian.fugue.Either<ElasticFunctionalityFacade.Ec2PrivateKeyValidationStatus,File> |
getPrivateKeyLocation()
Returns the location of the AWS private key
|
boolean |
isElasticSupportEnabled() |
boolean |
isElasticSupportPossible(ErrorCollection errorCollection) |
void |
postConstruct() |
void |
recheckElasticSupportEnabledFlag() |
void |
restoreAgent(ElasticAgentDefinition elasticAgentDefinition,
com.amazonaws.services.ec2.model.Instance instance,
com.atlassian.aws.AWSAccount awsAccount) |
void |
setElasticSupportEnabled(boolean elasticSupportEnabled)
Enable/disable Elastic Bamboo functionality
|
void |
shutdownAllInstances() |
void |
shutdownInstance(RemoteElasticInstance elasticInstance) |
void |
shutdownInstance(String instanceId) |
void |
startupAgents(Collection<ElasticImageConfiguration> elasticImageConfigurations)
Starts the given number of agents
|
void |
updateAgentPendingStatus(String instanceId)
Set the agent pending status to true for the given instance id
|
boolean |
validateAgentCreation(int numAgentsRequired,
ErrorCollection errorCollection)
Validates whether the requested number of agents can be created and adds any errors to the
error collection.
|
@PostConstruct public void postConstruct()
public void recheckElasticSupportEnabledFlag()
recheckElasticSupportEnabledFlag in interface ElasticFunctionalityFacadepublic void shutdownInstance(@NotNull
RemoteElasticInstance elasticInstance)
shutdownInstance in interface ElasticFunctionalityFacadepublic void shutdownInstance(String instanceId) throws com.atlassian.aws.AWSException
shutdownInstance in interface ElasticFunctionalityFacadecom.atlassian.aws.AWSExceptionpublic void shutdownAllInstances()
shutdownAllInstances in interface ElasticFunctionalityFacadepublic void startupAgents(Collection<ElasticImageConfiguration> elasticImageConfigurations) throws com.atlassian.aws.AWSException
startupAgents in interface ElasticFunctionalityFacadecom.atlassian.aws.AWSExceptionpublic void restoreAgent(@NotNull
ElasticAgentDefinition elasticAgentDefinition,
@NotNull
com.amazonaws.services.ec2.model.Instance instance,
@NotNull
com.atlassian.aws.AWSAccount awsAccount)
restoreAgent in interface ElasticFunctionalityFacadepublic boolean isElasticSupportEnabled()
isElasticSupportEnabled in interface ElasticFunctionalityFacadepublic boolean isElasticSupportPossible(@NotNull
ErrorCollection errorCollection)
isElasticSupportPossible in interface ElasticFunctionalityFacadepublic void setElasticSupportEnabled(boolean elasticSupportEnabled)
ElasticFunctionalityFacadesetElasticSupportEnabled in interface ElasticFunctionalityFacadeelasticSupportEnabled - Specifies if Elastc Baboo shall be enabled or disabled.public boolean validateAgentCreation(int numAgentsRequired,
ErrorCollection errorCollection)
ElasticFunctionalityFacadevalidateAgentCreation in interface ElasticFunctionalityFacadenumAgentsRequired - - number of agents to be createderrorCollection - - error collection to add any validation errors to.public void updateAgentPendingStatus(@NotNull
String instanceId)
ElasticFunctionalityFacadeupdateAgentPendingStatus in interface ElasticFunctionalityFacadepublic void addElasticLogEntry(org.apache.log4j.Logger log,
String logEntry)
addElasticLogEntry in interface ElasticFunctionalityFacadepublic void adjustElasticInstanceNumbers(@NotNull
ElasticInstanceSchedule instanceSchedule)
throws com.atlassian.aws.AWSException
ElasticFunctionalityFacadeElasticInstanceSchedule startup or bring down the correct number of agentsadjustElasticInstanceNumbers in interface ElasticFunctionalityFacadecom.atlassian.aws.AWSExceptionprotected void attemptShutdownInstances(Collection<RemoteElasticInstance> instances, int agentsToShutdown, ElasticImageConfiguration elasticImageConfiguration)
public int getMaxConcurrentInstances()
getMaxConcurrentInstances in interface ElasticFunctionalityFacade@NotNull public String getPkFileLocation()
getPkFileLocation in interface ElasticFunctionalityFacade@NotNull public com.atlassian.fugue.Either<ElasticFunctionalityFacade.Ec2PrivateKeyValidationStatus,File> getPrivateKeyLocation()
ElasticFunctionalityFacadegetPrivateKeyLocation in interface ElasticFunctionalityFacade@NotNull public com.atlassian.fugue.Either<ElasticFunctionalityFacade.Ec2PrivateKeyValidationStatus,com.atlassian.fugue.Option<String>> getPassword(RemoteElasticInstance instance)
getPassword in interface ElasticFunctionalityFacade@NotNull public String getKeyPairName()
getKeyPairName in interface ElasticFunctionalityFacadeCopyright © 2017 Atlassian Software Systems Pty Ltd. All rights reserved.