@@ -3,6 +3,7 @@ package cloud
33import (
44 "context"
55 "fmt"
6+ "strings"
67
78 "github.com/grafana/grafana-com-public-clients/go/gcom"
89 "github.com/grafana/terraform-provider-grafana/v2/internal/common"
@@ -115,13 +116,12 @@ func resourceAPIKeyCreate(ctx context.Context, d *schema.ResourceData, c *gcom.A
115116}
116117
117118func resourceAPIKeyRead (ctx context.Context , d * schema.ResourceData , c * gcom.APIClient ) diag.Diagnostics {
118- split , err := resourceAPIKeyID . Split (d .Id ())
119+ org , name , err := resourceAPIKeySplitID (d .Id ())
119120 if err != nil {
120121 return diag .FromErr (err )
121122 }
122- org , name := split [0 ], split [1 ]
123123
124- resp , _ , err := c .OrgsAPI .GetApiKey (ctx , name .( string ) , org .( string ) ).Execute ()
124+ resp , _ , err := c .OrgsAPI .GetApiKey (ctx , name , org ).Execute ()
125125 if err != nil {
126126 return apiError (err )
127127 }
@@ -135,13 +135,27 @@ func resourceAPIKeyRead(ctx context.Context, d *schema.ResourceData, c *gcom.API
135135}
136136
137137func resourceAPIKeyDelete (ctx context.Context , d * schema.ResourceData , c * gcom.APIClient ) diag.Diagnostics {
138- split , err := resourceAPIKeyID . Split (d .Id ())
138+ org , name , err := resourceAPIKeySplitID (d .Id ())
139139 if err != nil {
140140 return diag .FromErr (err )
141141 }
142- org , name := split [0 ], split [1 ]
143142
144- _ , err = c .OrgsAPI .DelApiKey (ctx , name .( string ) , org .( string ) ).XRequestId (ClientRequestID ()).Execute ()
143+ _ , err = c .OrgsAPI .DelApiKey (ctx , name , org ).XRequestId (ClientRequestID ()).Execute ()
145144 d .SetId ("" )
146145 return apiError (err )
147146}
147+
148+ func resourceAPIKeySplitID (id string ) (string , string , error ) {
149+ var org , name string
150+ if strings .Contains (id , common .ResourceIDSeparator ) {
151+ split , err := resourceAPIKeyID .Split (id )
152+ if err != nil {
153+ return "" , "" , err
154+ }
155+ org , name = split [0 ].(string ), split [1 ].(string )
156+ } else {
157+ splitID := strings .SplitN (id , "-" , 2 )
158+ org , name = splitID [0 ], splitID [1 ]
159+ }
160+ return org , name , nil
161+ }
0 commit comments