Class ElasticImageConfigurationManagerImpl
java.lang.Object
com.atlassian.bamboo.agent.elastic.server.ElasticImageConfigurationManagerImpl
- All Implemented Interfaces:
ElasticImageConfigurationAccessor,ElasticImageConfigurationManager
public class ElasticImageConfigurationManagerImpl
extends Object
implements ElasticImageConfigurationManager
-
Field Summary
Fields inherited from interface com.atlassian.bamboo.agent.elastic.server.ElasticImageConfigurationManager
DEFAULT_AVAILABILITY_ZONE, IMAGE_CAPABILITIES_FILE, WINDOWS_IMAGE_CAPABILITIES_FILE -
Constructor Summary
ConstructorsConstructorDescriptionElasticImageConfigurationManagerImpl(ElasticImageConfigurationDao elasticImageConfigurationDao, ResourceResolver resourceResolver, ElasticImageConfigurationAccessor elasticImageConfigurationAccessor, ElasticInstanceScheduleManager elasticInstanceScheduleManager, AgentAssignmentService agentAssignmentService, com.atlassian.event.api.EventPublisher eventPublisher, AwsAccountBean awsAccountBean) -
Method Summary
Modifier and TypeMethodDescriptionvoiddisableElasticImageSchedules(@NotNull ElasticImageConfiguration elasticImageConfiguration) Disable all enabled Elastic Image Schedules associated with the Elastic Image Configuration@NotNull List<ElasticImageConfiguration>Retrieves all elastic images that are stored in database@NotNull List<ElasticImageConfiguration>intgetBuildsCountForImageConfiguration(long id) Returns how many builds have been built against the given build configuration.intHow many elastic agents are associated with a specific image configuration.@Nullable ElasticImageConfigurationgetElasticImageConfigurationById(long configurationId) Retrieve an elastic image.@NotNull List<ElasticImageConfiguration>getElasticImageConfigurationsByName(@NotNull String configurationName, com.atlassian.aws.ec2.awssdk.AwsSupportConstants.Region region) Retrieve an elastic image by name in a given region.@NotNull List<ElasticImageConfiguration>voidonInstanceFailedToStartEvent(@NotNull ElasticImageFailedToStartEvent event) voidpopulateDefaultCapabilitySet(CapabilitySet capabilitySet, ElasticImageConfiguration imageConfiguration) Populates capability set with default capabilities from fromElasticImageConfigurationManager.IMAGE_CAPABILITIES_FILE.voidremoveElasticImageConfiguration(@NotNull ElasticImageConfiguration elasticImageConfiguration) Delete an elastic image configuration.voidsaveElasticImageConfiguration(@NotNull ElasticImageConfiguration elasticImageConfiguration) Save an elastic image configuration.voidPerforms startup operations for setting up an elastic image, including retrieving capability information.
-
Constructor Details
-
ElasticImageConfigurationManagerImpl
public ElasticImageConfigurationManagerImpl(ElasticImageConfigurationDao elasticImageConfigurationDao, ResourceResolver resourceResolver, ElasticImageConfigurationAccessor elasticImageConfigurationAccessor, ElasticInstanceScheduleManager elasticInstanceScheduleManager, AgentAssignmentService agentAssignmentService, com.atlassian.event.api.EventPublisher eventPublisher, AwsAccountBean awsAccountBean)
-
-
Method Details
-
getElasticImageConfigurationById
@Nullable public @Nullable ElasticImageConfiguration getElasticImageConfigurationById(long configurationId) Description copied from interface:ElasticImageConfigurationAccessorRetrieve an elastic image.- Specified by:
getElasticImageConfigurationByIdin interfaceElasticImageConfigurationAccessor- Parameters:
configurationId- - id of the ElasticImageConfiguration to find- Returns:
- ElasticImageConfiguration if exists null otherwise.
-
getElasticImageConfigurationsByName
@NotNull public @NotNull List<ElasticImageConfiguration> getElasticImageConfigurationsByName(@NotNull @NotNull String configurationName, @NotNull com.atlassian.aws.ec2.awssdk.AwsSupportConstants.Region region) Description copied from interface:ElasticImageConfigurationAccessorRetrieve an elastic image by name in a given region.- Specified by:
getElasticImageConfigurationsByNamein interfaceElasticImageConfigurationAccessor- Parameters:
configurationName- - name of the ElasticImageConfiguration to findregion- the region to check- Returns:
- ElasticImageConfiguration if exists null otherwise.
-
getElasticImageConfigurationsShippedWithBamboo
@NotNull public @NotNull List<ElasticImageConfiguration> getElasticImageConfigurationsShippedWithBamboo()- Specified by:
getElasticImageConfigurationsShippedWithBambooin interfaceElasticImageConfigurationAccessor
-
getAllElasticImageConfigurations
Description copied from interface:ElasticImageConfigurationAccessorRetrieves all elastic images that are stored in database- Specified by:
getAllElasticImageConfigurationsin interfaceElasticImageConfigurationAccessor
-
getAllElasticImageConfigurationsForCurrentRegion
@NotNull public @NotNull List<ElasticImageConfiguration> getAllElasticImageConfigurationsForCurrentRegion()- Specified by:
getAllElasticImageConfigurationsForCurrentRegionin interfaceElasticImageConfigurationAccessor
-
saveElasticImageConfiguration
public void saveElasticImageConfiguration(@NotNull @NotNull ElasticImageConfiguration elasticImageConfiguration) Description copied from interface:ElasticImageConfigurationManagerSave an elastic image configuration.- Specified by:
saveElasticImageConfigurationin interfaceElasticImageConfigurationManager- Parameters:
elasticImageConfiguration- Elastic Image Configuration to be saved.
-
getElasticAgentCountForImageConfiguration
public int getElasticAgentCountForImageConfiguration(long id) Description copied from interface:ElasticImageConfigurationManagerHow many elastic agents are associated with a specific image configuration.- Specified by:
getElasticAgentCountForImageConfigurationin interfaceElasticImageConfigurationManager- Parameters:
id- of the image configuration- Returns:
- count of the elastic agents.
-
getBuildsCountForImageConfiguration
public int getBuildsCountForImageConfiguration(long id) Description copied from interface:ElasticImageConfigurationManagerReturns how many builds have been built against the given build configuration.- Specified by:
getBuildsCountForImageConfigurationin interfaceElasticImageConfigurationManager- Parameters:
id- of the elastic image configuration- Returns:
- count of build results.
-
removeElasticImageConfiguration
public void removeElasticImageConfiguration(@NotNull @NotNull ElasticImageConfiguration elasticImageConfiguration) throws com.atlassian.aws.AWSException Description copied from interface:ElasticImageConfigurationManagerDelete an elastic image configuration. That includes unscheduling and deleting relatedElasticInstanceScheduleobjects- Specified by:
removeElasticImageConfigurationin interfaceElasticImageConfigurationManager- Parameters:
elasticImageConfiguration- Elastic Image Configuration to be deleted.- Throws:
com.atlassian.aws.AWSException
-
disableElasticImageSchedules
public void disableElasticImageSchedules(@NotNull @NotNull ElasticImageConfiguration elasticImageConfiguration) Description copied from interface:ElasticImageConfigurationManagerDisable all enabled Elastic Image Schedules associated with the Elastic Image Configuration- Specified by:
disableElasticImageSchedulesin interfaceElasticImageConfigurationManager
-
updateDefaultElasticImageConfiguration
Description copied from interface:ElasticImageConfigurationManagerPerforms startup operations for setting up an elastic image, including retrieving capability information.- Specified by:
updateDefaultElasticImageConfigurationin interfaceElasticImageConfigurationManager- Throws:
Exception- if it can not find the default image information to setup
-
onInstanceFailedToStartEvent
@EventListener public void onInstanceFailedToStartEvent(@NotNull @NotNull ElasticImageFailedToStartEvent event) -
populateDefaultCapabilitySet
public void populateDefaultCapabilitySet(CapabilitySet capabilitySet, ElasticImageConfiguration imageConfiguration) Description copied from interface:ElasticImageConfigurationManagerPopulates capability set with default capabilities from fromElasticImageConfigurationManager.IMAGE_CAPABILITIES_FILE. Will overwrite any existing capabilities.- Specified by:
populateDefaultCapabilitySetin interfaceElasticImageConfigurationManager- Parameters:
capabilitySet- to populate with the defaults.
-