Skip to content

Commit 8f42926

Browse files
committed
fix: re-create risk if it was removed from the UI
1 parent bc56bfc commit 8f42926

File tree

2 files changed

+27
-25
lines changed

2 files changed

+27
-25
lines changed

sysdig/internal/client/v2/vulnerability_accept_risk.go

Lines changed: 20 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,10 @@ import (
99
type PostureVulnerabilityAcceptRiskInterface interface {
1010
Base
1111

12-
SaveAcceptVulnerabilityRisk(ctx context.Context, p *AcceptVulnerabilityRiskRequest) (*AcceptVulnerabilityRisk, string, error)
13-
GetAcceptanceVulnerabilityRisk(ctx context.Context, id string) (*AcceptVulnerabilityRisk, string, error)
12+
SaveAcceptVulnerabilityRisk(ctx context.Context, p *AcceptVulnerabilityRiskRequest) (*AcceptVulnerabilityRisk, int, error)
13+
GetAcceptanceVulnerabilityRisk(ctx context.Context, id string) (*AcceptVulnerabilityRisk, int, error)
1414
DeleteAcceptanceVulnerabilityRisk(ctx context.Context, id string) error
15-
UpdateAcceptanceVulnerabilityRisk(ctx context.Context, p *UpdateAcceptVulnerabilityRiskRequest) (*AcceptVulnerabilityRisk, string, error)
15+
UpdateAcceptanceVulnerabilityRisk(ctx context.Context, p *UpdateAcceptVulnerabilityRiskRequest) (*AcceptVulnerabilityRisk, int, error)
1616
}
1717

1818
const (
@@ -22,49 +22,47 @@ const (
2222
AcceptVulnerabilityRiskUpdatePath = "%s/secure/vulnerability/v1beta1/accepted-risks/%s"
2323
)
2424

25-
func (c *Client) SaveAcceptVulnerabilityRisk(ctx context.Context, p *AcceptVulnerabilityRiskRequest) (*AcceptVulnerabilityRisk, string, error) {
25+
func (c *Client) SaveAcceptVulnerabilityRisk(ctx context.Context, p *AcceptVulnerabilityRiskRequest) (*AcceptVulnerabilityRisk, int, error) {
2626
payload, err := Marshal(p)
2727
if err != nil {
28-
return nil, "", err
28+
return nil, 0, err
2929
}
3030

3131
response, err := c.requester.Request(ctx, http.MethodPost, fmt.Sprintf(AcceptVulnerabilityRiskCreatePath, c.config.url), payload)
3232
if err != nil {
33-
return nil, "", err
33+
return nil, 0, err
3434
}
3535
defer response.Body.Close()
3636

3737
if response.StatusCode != http.StatusCreated {
38-
errStatus, err := c.ErrorAndStatusFromResponse(response)
39-
return nil, errStatus, err
38+
return nil, response.StatusCode, c.ErrorFromResponse(response)
4039
}
4140

4241
resp, err := Unmarshal[AcceptVulnerabilityRisk](response.Body)
4342
if err != nil {
44-
return nil, "", err
43+
return nil, 0, err
4544
}
4645

47-
return &resp, "", nil
46+
return &resp, 0, nil
4847
}
4948

50-
func (c *Client) GetAcceptanceVulnerabilityRisk(ctx context.Context, id string) (*AcceptVulnerabilityRisk, string, error) {
49+
func (c *Client) GetAcceptanceVulnerabilityRisk(ctx context.Context, id string) (*AcceptVulnerabilityRisk, int, error) {
5150
response, err := c.requester.Request(ctx, http.MethodGet, fmt.Sprintf(AcceptVulnerabilityRiskGetPath, c.config.url, id), nil)
5251
if err != nil {
53-
return nil, "", err
52+
return nil, 0, err
5453
}
5554
defer response.Body.Close()
5655

5756
if response.StatusCode != http.StatusOK {
58-
errStatus, err := c.ErrorAndStatusFromResponse(response)
59-
return nil, errStatus, err
57+
return nil, response.StatusCode, c.ErrorFromResponse(response)
6058
}
6159

6260
resp, err := Unmarshal[AcceptVulnerabilityRisk](response.Body)
6361
if err != nil {
64-
return nil, "", err
62+
return nil, 0, err
6563
}
6664

67-
return &resp, "", nil
65+
return &resp, 0, nil
6866
}
6967

7068
func (c *Client) DeleteAcceptanceVulnerabilityRisk(ctx context.Context, id string) error {
@@ -81,27 +79,26 @@ func (c *Client) DeleteAcceptanceVulnerabilityRisk(ctx context.Context, id strin
8179
return nil
8280
}
8381

84-
func (c *Client) UpdateAcceptanceVulnerabilityRisk(ctx context.Context, p *UpdateAcceptVulnerabilityRiskRequest) (*AcceptVulnerabilityRisk, string, error) {
82+
func (c *Client) UpdateAcceptanceVulnerabilityRisk(ctx context.Context, p *UpdateAcceptVulnerabilityRiskRequest) (*AcceptVulnerabilityRisk, int, error) {
8583
payload, err := Marshal(p)
8684
if err != nil {
87-
return nil, "", err
85+
return nil, 0, err
8886
}
8987

9088
response, err := c.requester.Request(ctx, http.MethodPut, fmt.Sprintf(AcceptVulnerabilityRiskUpdatePath, c.config.url, p.ID), payload)
9189
if err != nil {
92-
return nil, "", err
90+
return nil, 0, err
9391
}
9492
defer response.Body.Close()
9593

9694
if response.StatusCode != http.StatusOK {
97-
errStatus, err := c.ErrorAndStatusFromResponse(response)
98-
return nil, errStatus, err
95+
return nil, response.StatusCode, c.ErrorFromResponse(response)
9996
}
10097

10198
resp, err := Unmarshal[AcceptVulnerabilityRisk](response.Body)
10299
if err != nil {
103-
return nil, "", err
100+
return nil, 0, err
104101
}
105102

106-
return &resp, "", nil
103+
return &resp, 0, nil
107104
}

sysdig/resource_sysdig_secure_accept_vulnerability_risk.go

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ package sysdig
33
import (
44
"context"
55
"fmt"
6+
"net/http"
67
"regexp"
78
"strings"
89

@@ -251,9 +252,13 @@ func resourceSysdigSecureVulnerabilityAcceptRiskRead(ctx context.Context, d *sch
251252
}
252253

253254
id := d.Id()
254-
result, _, err := client.GetAcceptanceVulnerabilityRisk(ctx, id)
255+
result, statusCode, err := client.GetAcceptanceVulnerabilityRisk(ctx, id)
255256
if err != nil {
256-
return diag.FromErr(err)
257+
if statusCode == http.StatusNotFound {
258+
d.SetId("")
259+
} else {
260+
return diag.FromErr(err)
261+
}
257262
}
258263
_ = d.Set("reason", result.Reason)
259264
_ = d.Set("description", result.Description)

0 commit comments

Comments
 (0)