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
6465func 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
8485func 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
117119func 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