Skip to content

Commit 0b6ede0

Browse files
authored
handle absent resources upon deletion, argocd_repository: force refresh repo connection cache upon reads (#33)
1 parent 9a69a0f commit 0b6ede0

File tree

4 files changed

+20
-6
lines changed

4 files changed

+20
-6
lines changed

argocd/resource_argocd_application.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -150,7 +150,7 @@ func resourceArgoCDApplicationDelete(d *schema.ResourceData, meta interface{}) e
150150
c := *server.ApplicationClient
151151
appName := d.Id()
152152
_, err := c.Delete(context.Background(), &applicationClient.ApplicationDeleteRequest{Name: &appName})
153-
if err != nil {
153+
if err != nil && !strings.Contains(err.Error(), "NotFound") {
154154
return err
155155
}
156156
d.SetId("")

argocd/resource_argocd_project.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -174,7 +174,7 @@ func resourceArgoCDProjectDelete(d *schema.ResourceData, meta interface{}) error
174174
_, err := c.Delete(context.Background(), &projectClient.ProjectQuery{Name: projectName})
175175
tokenMutexProjectMap[projectName].Unlock()
176176

177-
if err != nil {
177+
if err != nil && !strings.Contains(err.Error(), "NotFound") {
178178
return err
179179
}
180180
d.SetId("")

argocd/resource_argocd_repository.go

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ func resourceArgoCDRepositoryRead(d *schema.ResourceData, meta interface{}) erro
7171
tokenMutexConfiguration.RLock()
7272
r, err = c.Get(context.Background(), &repository.RepoQuery{
7373
Repo: d.Id(),
74-
ForceRefresh: false,
74+
ForceRefresh: true,
7575
})
7676
tokenMutexConfiguration.RUnlock()
7777

@@ -89,7 +89,7 @@ func resourceArgoCDRepositoryRead(d *schema.ResourceData, meta interface{}) erro
8989
tokenMutexConfiguration.RLock()
9090
rl, err := c.ListRepositories(context.Background(), &repository.RepoQuery{
9191
Repo: d.Id(),
92-
ForceRefresh: false,
92+
ForceRefresh: true,
9393
})
9494
tokenMutexConfiguration.RUnlock()
9595

@@ -165,7 +165,14 @@ func resourceArgoCDRepositoryDelete(d *schema.ResourceData, meta interface{}) er
165165
tokenMutexConfiguration.Unlock()
166166

167167
if err != nil {
168-
return err
168+
switch strings.Contains(err.Error(), "NotFound") {
169+
// Repository has already been deleted in an out-of-band fashion
170+
case true:
171+
d.SetId("")
172+
return nil
173+
default:
174+
return err
175+
}
169176
}
170177
d.SetId("")
171178
return nil

argocd/resource_argocd_repository_credentials.go

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,14 @@ func resourceArgoCDRepositoryCredentialsDelete(d *schema.ResourceData, meta inte
117117
tokenMutexConfiguration.Unlock()
118118

119119
if err != nil {
120-
return err
120+
switch strings.Contains(err.Error(), "NotFound") {
121+
// Repository credentials have already been deleted in an out-of-band fashion
122+
case true:
123+
d.SetId("")
124+
return nil
125+
default:
126+
return err
127+
}
121128
}
122129
d.SetId("")
123130
return nil

0 commit comments

Comments
 (0)