Skip to content

Commit c484239

Browse files
RBAC: Fix role assignment destruction (#667)
* fix role assignment destruction
1 parent f487ec3 commit c484239

File tree

1 file changed

+19
-6
lines changed

1 file changed

+19
-6
lines changed

grafana/resource_role_assignment.go

Lines changed: 19 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ func ResourceRoleAssignment() *schema.Resource {
1919
CreateContext: UpdateRoleAssignments,
2020
UpdateContext: UpdateRoleAssignments,
2121
ReadContext: ReadRoleAssignments,
22-
DeleteContext: UpdateRoleAssignments,
22+
DeleteContext: DeleteRoleAssignments,
2323
Importer: &schema.ResourceImporter{
2424
StateContext: schema.ImportStatePassthroughContext,
2525
},
@@ -102,16 +102,29 @@ func UpdateRoleAssignments(ctx context.Context, d *schema.ResourceData, meta int
102102
Teams: teams,
103103
ServiceAccounts: serviceAccounts,
104104
}
105-
assignments, err := client.UpdateRoleAssignments(ra)
106-
if err != nil {
105+
if _, err := client.UpdateRoleAssignments(ra); err != nil {
107106
return diag.FromErr(err)
108107
}
109108

110-
if err := setRoleAssignments(assignments, d); err != nil {
111-
return diag.FromErr(err)
109+
d.SetId(uid)
110+
return ReadRoleAssignments(ctx, d, meta)
111+
}
112+
113+
func DeleteRoleAssignments(ctx context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics {
114+
client := meta.(*client).gapi
115+
116+
uid := d.Get("role_uid").(string)
117+
ra := &gapi.RoleAssignments{
118+
RoleUID: uid,
119+
Users: []int{},
120+
Teams: []int{},
121+
ServiceAccounts: []int{},
112122
}
113123

114-
return ReadRoleAssignments(ctx, d, meta)
124+
if _, err := client.UpdateRoleAssignments(ra); err != nil {
125+
return diag.FromErr(err)
126+
}
127+
return nil
115128
}
116129

117130
func setRoleAssignments(assignments *gapi.RoleAssignments, d *schema.ResourceData) error {

0 commit comments

Comments
 (0)