Skip to content

Commit

Permalink
Fix deleting non-existing stack dependency references (#538)
Browse files Browse the repository at this point in the history
  • Loading branch information
marcinwyszynski authored Apr 29, 2024
1 parent 8ec5b0c commit 4765ad4
Showing 1 changed file with 17 additions and 6 deletions.
23 changes: 17 additions & 6 deletions spacelift/resource_stack_dependency_reference.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ package spacelift

import (
"context"
"fmt"
"path"
"strings"

Expand Down Expand Up @@ -102,19 +103,29 @@ func resourceStackDependencyReferenceRead(ctx context.Context, d *schema.Resourc
return diag.Errorf("could not query for stack dependency reference: %s", err)
}

var nonExistenceWarning string

if query.Stack == nil {
return diag.Errorf("could not find stack (%s), maybe it was deleted manually", stackID)
}
if query.Stack.Dependency == nil {
return diag.Errorf("could not find stack dependency (%s), maybe it was deleted manually", depID)
nonExistenceWarning = fmt.Sprintf("could not find stack (%s), maybe it was deleted manually", stackID)
} else if query.Stack.Dependency == nil {
nonExistenceWarning = fmt.Sprintf("could not find stack dependency (%s), maybe it was deleted manually", depID)
} else if query.Stack.Dependency.Reference == nil {
nonExistenceWarning = fmt.Sprintf("could not find stack dependency reference (%s), maybe it was deleted manually", refID)
}
if query.Stack.Dependency.Reference == nil {
return diag.Errorf("could not find stack dependency reference (%s), maybe it was deleted manually", refID)

if nonExistenceWarning != "" {
d.SetId("")

return diag.Diagnostics{{
Severity: diag.Warning,
Summary: nonExistenceWarning,
}}
}

d.Set("stack_dependency_id", path.Join(stackID, depID))
d.Set("output_name", query.Stack.Dependency.Reference.OutputName)
d.Set("input_name", query.Stack.Dependency.Reference.InputName)

return nil
}

Expand Down

0 comments on commit 4765ad4

Please sign in to comment.