From 97df074ffa2053a31cf1887e6fb8d019128cc86a Mon Sep 17 00:00:00 2001 From: Rohan Weeden Date: Mon, 21 Sep 2026 17:27:16 -0400 Subject: [PATCH 1/3] Add EventBridgePipe resource --- destroy-cumulus/destroy_cumulus.py | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/destroy-cumulus/destroy_cumulus.py b/destroy-cumulus/destroy_cumulus.py index 216f933..77778b8 100644 --- a/destroy-cumulus/destroy_cumulus.py +++ b/destroy-cumulus/destroy_cumulus.py @@ -1258,6 +1258,34 @@ def delete(self, get_client): client.delete_target_group(TargetGroupArn=str(self.arn)) +class EventBridgePipe(StateResource): + TYPE_FILTER = "pipes:pipe" + + @classmethod + def gather(cls, get_client, name_matcher, _options): + client = get_client("pipes") + paginator = client.get_paginator("list_pipes") + + kwargs = ( + dict( + NamePrefix=name_matcher.prefix, + ) + if name_matcher.prefix + else {} + ) + + return [ + cls.from_arn(Arn(entry["Arn"]), state=entry["CurrentState"]) + for response in paginator.paginate(**kwargs) + for entry in response.get("Pipes", ()) + if name_matcher.matches(entry["Name"]) + ] + + def delete(self, get_client): + client = get_client("pipes") + client.delete_pipe(Name=self.name) + + class EventSourceMapping(Resource): TYPE_FILTER = "lambda:event-source-mapping" @@ -2100,6 +2128,7 @@ class CumulusDestroyer: StepFunction, Activity, EventSourceMapping, + EventBridgePipe, CloudWatchDashboard, CloudWatchAlarm, CloudWatchEventRule, From 0dd4bfb45f6776c644865dbbf20a26dd247a6a8d Mon Sep 17 00:00:00 2001 From: Rohan Weeden Date: Wed, 23 Sep 2026 17:49:01 -0400 Subject: [PATCH 2/3] Update resource destruction order --- destroy-cumulus/destroy_cumulus.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/destroy-cumulus/destroy_cumulus.py b/destroy-cumulus/destroy_cumulus.py index 77778b8..3b1677e 100644 --- a/destroy-cumulus/destroy_cumulus.py +++ b/destroy-cumulus/destroy_cumulus.py @@ -2122,10 +2122,9 @@ class CumulusDestroyer: RESOURCE_DESTRUCTION_ORDER = [ CloudFormationStack, ApiGateway, - Certificate, + StepFunction, LambdaFunction, LambdaLayerVersion, - StepFunction, Activity, EventSourceMapping, EventBridgePipe, @@ -2148,6 +2147,7 @@ class CumulusDestroyer: EFSFileSystem, ELBLoadBalancer, ELBTargetGroup, + Certificate, RDSCluster, RDSClusterParameterGroup, RDSSubnetGroup, From 30e20d21cd2f7ec19652c4edbdcc0da3ba42573b Mon Sep 17 00:00:00 2001 From: Rohan Weeden Date: Wed, 23 Sep 2026 18:21:26 -0400 Subject: [PATCH 3/3] Bump version number --- destroy-cumulus/pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/destroy-cumulus/pyproject.toml b/destroy-cumulus/pyproject.toml index bcb1f9f..ddcc1fc 100644 --- a/destroy-cumulus/pyproject.toml +++ b/destroy-cumulus/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "poetry.core.masonry.api" [project] name = "destroy-cumulus" -version = "0.5.0" +version = "0.5.1" description = "" license = "Apache-2.0" authors = [