Skip to content

Commit c1d19e2

Browse files
authored
CFNV2: fix delete change set (#12977)
1 parent 809d971 commit c1d19e2

File tree

2 files changed

+5
-13
lines changed

2 files changed

+5
-13
lines changed

localstack-core/localstack/services/cloudformation/v2/provider.py

Lines changed: 5 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -175,7 +175,7 @@ def find_change_set_v2(
175175
state: CloudFormationStore, change_set_name: str, stack_name: str | None = None
176176
) -> ChangeSet | None:
177177
if is_changeset_arn(change_set_name):
178-
return state.change_sets[change_set_name]
178+
return state.change_sets.get(change_set_name)
179179
else:
180180
if stack_name is not None:
181181
stack = find_stack_v2(state, stack_name)
@@ -187,7 +187,9 @@ def find_change_set_v2(
187187
if change_set_candidate.change_set_name == change_set_name:
188188
return change_set_candidate
189189
else:
190-
raise ValueError("No stack name specified when finding change set")
190+
raise ValidationError(
191+
"StackName must be specified if ChangeSetName is not specified as an ARN."
192+
)
191193

192194

193195
def find_stack_set_v2(state: CloudFormationStore, stack_set_name: str) -> StackSet | None:
@@ -627,16 +629,7 @@ def delete_change_set(
627629
**kwargs,
628630
) -> DeleteChangeSetOutput:
629631
state = get_cloudformation_store(context.account_id, context.region)
630-
631-
if is_changeset_arn(change_set_name):
632-
change_set = state.change_sets.get(change_set_name)
633-
elif not is_changeset_arn(change_set_name) and stack_name:
634-
change_set = find_change_set_v2(state, change_set_name, stack_name)
635-
else:
636-
raise ValidationError(
637-
"StackName must be specified if ChangeSetName is not specified as an ARN."
638-
)
639-
632+
change_set = find_change_set_v2(state, change_set_name, stack_name)
640633
if not change_set:
641634
return DeleteChangeSetOutput()
642635

tests/aws/services/cloudformation/api/test_changesets.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -848,7 +848,6 @@ def _check_changeset_success():
848848
snapshot.match("error_execute_failed", e.value)
849849

850850

851-
@skip_if_v2_provider(reason="CFNV2:DeleteChangeSet")
852851
@markers.aws.validated
853852
def test_deleted_changeset(snapshot, cleanups, aws_client):
854853
"""simple case verifying that proper exception is thrown when trying to get a deleted changeset"""

0 commit comments

Comments
 (0)