From 0f2f230c07819b2b6a7dd07e76b4e3c26e916a6a Mon Sep 17 00:00:00 2001 From: John Carey Date: Sun, 23 Mar 2025 17:16:27 -0700 Subject: [PATCH] feat: add RegionConcurrencyType to CloudFormation Update StackSet Operation Preferences --- .../stacksets/JenkinsStackSetOperationPreferences.java | 6 ++++++ .../cloudformation/stacksets/CFNUpdateStackSetStepTest.java | 3 ++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/main/java/de/taimos/pipeline/aws/cloudformation/stacksets/JenkinsStackSetOperationPreferences.java b/src/main/java/de/taimos/pipeline/aws/cloudformation/stacksets/JenkinsStackSetOperationPreferences.java index a715055a..7dcd206d 100644 --- a/src/main/java/de/taimos/pipeline/aws/cloudformation/stacksets/JenkinsStackSetOperationPreferences.java +++ b/src/main/java/de/taimos/pipeline/aws/cloudformation/stacksets/JenkinsStackSetOperationPreferences.java @@ -42,4 +42,10 @@ public void setMaxConcurrentCount(Integer maxConcurrentCount) { public void setMaxConcurrentPercentage(Integer maxConcurrentPercentage) { super.setMaxConcurrentPercentage(maxConcurrentPercentage); } + + @DataBoundSetter + @Override + public void setRegionConcurrencyType(String regionConcurrencyType) { + super.setRegionConcurrencyType(regionConcurrencyType); + } } diff --git a/src/test/java/de/taimos/pipeline/aws/cloudformation/stacksets/CFNUpdateStackSetStepTest.java b/src/test/java/de/taimos/pipeline/aws/cloudformation/stacksets/CFNUpdateStackSetStepTest.java index f8ce69b5..4646f11f 100644 --- a/src/test/java/de/taimos/pipeline/aws/cloudformation/stacksets/CFNUpdateStackSetStepTest.java +++ b/src/test/java/de/taimos/pipeline/aws/cloudformation/stacksets/CFNUpdateStackSetStepTest.java @@ -121,7 +121,7 @@ public void updateExistingStackStackSetWithOperationPreferences() throws Excepti ); job.setDefinition(new CpsFlowDefinition("" + "node {\n" - + " cfnUpdateStackSet(stackSet: 'foo', operationPreferences: [failureToleranceCount: 5, regionOrder: ['us-west-2'], failureTolerancePercentage: 17, maxConcurrentCount: 18, maxConcurrentPercentage: 34])" + + " cfnUpdateStackSet(stackSet: 'foo', operationPreferences: [failureToleranceCount: 5, regionOrder: ['us-west-2'], failureTolerancePercentage: 17, maxConcurrentCount: 18, maxConcurrentPercentage: 34, regionConcurrencyType: 'SEQUENTIAL'])" + "}\n", true) ); jenkinsRule.assertBuildStatusSuccess(job.scheduleBuild2(0)); @@ -135,6 +135,7 @@ public void updateExistingStackStackSetWithOperationPreferences() throws Excepti .withFailureTolerancePercentage(17) .withMaxConcurrentCount(18) .withMaxConcurrentPercentage(34) + .withRegionConcurrencyType("SEQUENTIAL") ); Mockito.verify(stackSet).waitForOperationToComplete(operationId, Duration.ofSeconds(1));