Skip to content

Commit d99380e

Browse files
authored
Merge pull request #924 from timofurrer/feature/handle-404
Correctly handle deletion outside of terraform
2 parents b40c946 + 9717c13 commit d99380e

File tree

3 files changed

+16
-1
lines changed

3 files changed

+16
-1
lines changed

internal/provider/resource_gitlab_group_badge.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,11 @@ func resourceGitlabGroupBadgeRead(ctx context.Context, d *schema.ResourceData, m
9090

9191
badge, _, err := client.GroupBadges.GetGroupBadge(groupID, badgeID, gitlab.WithContext(ctx))
9292
if err != nil {
93+
if is404(err) {
94+
log.Printf("[DEBUG] group badge %d in group %s doesn't exist anymore, removing from state", badgeID, groupID)
95+
d.SetId("")
96+
return nil
97+
}
9398
return diag.FromErr(err)
9499
}
95100

internal/provider/resource_gitlab_project.go

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -748,10 +748,15 @@ func resourceGitlabProjectRead(ctx context.Context, d *schema.ResourceData, meta
748748

749749
project, _, err := client.Projects.GetProject(d.Id(), nil, gitlab.WithContext(ctx))
750750
if err != nil {
751+
if is404(err) {
752+
log.Printf("[DEBUG] gitlab project %s has already been deleted, removing from state", d.Id())
753+
d.SetId("")
754+
return nil
755+
}
751756
return diag.FromErr(err)
752757
}
753758
if project.MarkedForDeletionAt != nil {
754-
log.Printf("[DEBUG] gitlab project %s is marked for deletion", d.Id())
759+
log.Printf("[DEBUG] gitlab project %s is marked for deletion, removing from state", d.Id())
755760
d.SetId("")
756761
return nil
757762
}

internal/provider/resource_gitlab_project_badge.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,11 @@ func resourceGitlabProjectBadgeRead(ctx context.Context, d *schema.ResourceData,
9090

9191
badge, _, err := client.ProjectBadges.GetProjectBadge(projectID, badgeID, gitlab.WithContext(ctx))
9292
if err != nil {
93+
if is404(err) {
94+
log.Printf("[DEBUG] project badge %d in project %s doesn't exist anymore, removing from state", badgeID, projectID)
95+
d.SetId("")
96+
return nil
97+
}
9398
return diag.FromErr(err)
9499
}
95100

0 commit comments

Comments
 (0)