From 6a423fc7fa4d8aad8b824b860b75d5d1ce8f5dc0 Mon Sep 17 00:00:00 2001 From: Robert Rollins Date: Wed, 2 Sep 2026 15:55:59 -0700 Subject: [PATCH] It's now possible to delete a service that is not connected to a Load Balancer Previously, the `deploy service delete` command would crash with an IndexError if the user tried to delete a service that had already been disconnected from its load balancer. Now, the delete command will get past that, correctly report that there is no listener rule connected to the service's target group, and successfully delete the ECS service. --- deployfish/core/models/elbv2.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/deployfish/core/models/elbv2.py b/deployfish/core/models/elbv2.py index 83d1c27..8ae3057 100644 --- a/deployfish/core/models/elbv2.py +++ b/deployfish/core/models/elbv2.py @@ -302,7 +302,11 @@ def __get_rules_for_target_group( """ tg = TargetGroup.objects.get(target_group_arn) - load_balancer_pk = tg.data["LoadBalancerArns"][0] + try: + load_balancer_pk = tg.data["LoadBalancerArns"][0] + except IndexError: + # This target group is not attached to any load balancers. + return [] rule_objects = self.__get_rules_for_load_balancer(load_balancer_pk) matched_rules = [] for obj in rule_objects: