Skip to content

Commit 8b88ec0

Browse files
API Keys: Use OpenAPI client (#1223)
* API Keys: Use OpenAPI client * Oops
1 parent 341a1f4 commit 8b88ec0

File tree

1 file changed

+13
-11
lines changed

1 file changed

+13
-11
lines changed

internal/resources/grafana/resource_api_key.go

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,8 @@ import (
44
"context"
55
"strconv"
66

7-
gapi "github.com/grafana/grafana-api-golang-client"
7+
"github.com/grafana/grafana-openapi-client-go/client/api_keys"
8+
"github.com/grafana/grafana-openapi-client-go/models"
89
"github.com/grafana/terraform-provider-grafana/internal/common"
910
"github.com/hashicorp/terraform-plugin-sdk/v2/diag"
1011
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
@@ -62,29 +63,30 @@ Manages Grafana API Keys.
6263
}
6364

6465
func resourceAPIKeyCreate(ctx context.Context, d *schema.ResourceData, m interface{}) diag.Diagnostics {
65-
c, orgID := DeprecatedClientFromNewOrgResource(m, d)
66+
c, orgID := OAPIClientFromNewOrgResource(m, d)
6667

67-
request := gapi.CreateAPIKeyRequest{
68+
request := models.AddAPIKeyCommand{
6869
Name: d.Get("name").(string),
6970
Role: d.Get("role").(string),
7071
SecondsToLive: int64(d.Get("seconds_to_live").(int)),
7172
}
72-
response, err := c.CreateAPIKey(request)
73+
response, err := c.APIKeys.AddAPIkey(&request)
7374
if err != nil {
7475
return diag.FromErr(err)
7576
}
7677

77-
d.SetId(MakeOrgResourceID(orgID, response.ID))
78-
d.Set("key", response.Key)
78+
d.SetId(MakeOrgResourceID(orgID, response.Payload.ID))
79+
d.Set("key", response.Payload.Key)
7980

8081
// Fill the true resource's state after a create by performing a read
8182
return resourceAPIKeyRead(ctx, d, m)
8283
}
8384

8485
func resourceAPIKeyRead(ctx context.Context, d *schema.ResourceData, m interface{}) diag.Diagnostics {
85-
c, orgID, idStr := DeprecatedClientFromExistingOrgResource(m, d.Id())
86+
c, orgID, idStr := OAPIClientFromExistingOrgResource(m, d.Id())
8687

87-
response, err := c.GetAPIKeys(true)
88+
includeExpired := true
89+
response, err := c.APIKeys.GetAPIkeys(api_keys.NewGetAPIkeysParams().WithIncludeExpired(&includeExpired))
8890
if err, shouldReturn := common.CheckReadError("API key", d, err); shouldReturn {
8991
return err
9092
}
@@ -93,7 +95,7 @@ func resourceAPIKeyRead(ctx context.Context, d *schema.ResourceData, m interface
9395
if err != nil {
9496
return diag.FromErr(err)
9597
}
96-
for _, key := range response {
98+
for _, key := range response.Payload {
9799
if id == key.ID {
98100
d.SetId(MakeOrgResourceID(orgID, key.ID))
99101
d.Set("org_id", strconv.FormatInt(orgID, 10))
@@ -115,13 +117,13 @@ func resourceAPIKeyRead(ctx context.Context, d *schema.ResourceData, m interface
115117
}
116118

117119
func resourceAPIKeyDelete(ctx context.Context, d *schema.ResourceData, m interface{}) diag.Diagnostics {
118-
c, _, idStr := DeprecatedClientFromExistingOrgResource(m, d.Id())
120+
c, _, idStr := OAPIClientFromExistingOrgResource(m, d.Id())
119121
id, err := strconv.ParseInt(idStr, 10, 32)
120122
if err != nil {
121123
return diag.FromErr(err)
122124
}
123125

124-
_, err = c.DeleteAPIKey(id)
126+
_, err = c.APIKeys.DeleteAPIkey(id)
125127
diag, _ := common.CheckReadError("API key", d, err)
126128
return diag
127129
}

0 commit comments

Comments
 (0)