diff --git a/CHANGELOG.md b/CHANGELOG.md index 4c0acd2..4cec0eb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -23,9 +23,13 @@ Dropping a requirement of a major version of a dependency is a new contract. ## [Unreleased] [Unreleased]: https://github.com/atlassian-labs/aws-resources/compare/release-1.14.0...master +### Added +- Add `Aws.Builder.housekeeping` + ### Fixed - Tag security groups atomically when created. - Respect AWS request size limits in `TerminationBatchingEc2` and `TerminationPollingEc2`. +- Extend `ConcurrentHousekeeping` instance timeout. ## [1.14.0] - 2024-01-04 [1.14.0]: https://github.com/atlassian-labs/aws-resources/compare/release-1.13.0...release-1.14.0 diff --git a/src/main/kotlin/com/atlassian/performance/tools/aws/api/Aws.kt b/src/main/kotlin/com/atlassian/performance/tools/aws/api/Aws.kt index 6f72bf6..101ad39 100644 --- a/src/main/kotlin/com/atlassian/performance/tools/aws/api/Aws.kt +++ b/src/main/kotlin/com/atlassian/performance/tools/aws/api/Aws.kt @@ -402,13 +402,15 @@ class Aws private constructor( */ fun amiProvider(amiProvider: AmiProvider): Builder = apply { this.amiProvider = amiProvider } + fun housekeeping(housekeeping: Housekeeping): Builder = apply { this.housekeeping = housekeeping } + /** * @param [managedPolicyArns] A way to attach additional managed policies to [shortTermStorage]. */ - fun managedPolicyArns(managedPolicyArns: List): Builder = apply { this.managedPolicyArns = managedPolicyArns } + fun build(): Aws = Aws( region = region, credentialsProvider = credentialsProvider, diff --git a/src/main/kotlin/com/atlassian/performance/tools/aws/api/housekeeping/ConcurrentHousekeeping.kt b/src/main/kotlin/com/atlassian/performance/tools/aws/api/housekeeping/ConcurrentHousekeeping.kt index 646d31a..7a9b561 100644 --- a/src/main/kotlin/com/atlassian/performance/tools/aws/api/housekeeping/ConcurrentHousekeeping.kt +++ b/src/main/kotlin/com/atlassian/performance/tools/aws/api/housekeeping/ConcurrentHousekeeping.kt @@ -42,7 +42,7 @@ class ConcurrentHousekeeping( private fun waitUntilReleased( resources: List, - timeout: Duration = Duration.ofSeconds(15) + timeout: Duration ) { val deadline = now() + timeout resources @@ -65,7 +65,7 @@ class ConcurrentHousekeeping( class Builder { private var stackTimeout: Duration = Duration.ofMinutes(5) - private var instanceTimeout: Duration = Duration.ofMinutes(4) + private var instanceTimeout: Duration = Duration.ofMinutes(8) private var amiTimeout: Duration = Duration.ofMinutes(2) fun stackTimeout(stackTimeout: Duration) = apply { this.stackTimeout = stackTimeout }