Skip to content

Commit 184378c

Browse files
committed
Add import
1 parent d55486f commit 184378c

File tree

1 file changed

+32
-0
lines changed

1 file changed

+32
-0
lines changed

internal/resources/cloudprovider/resource_azure_credential.go

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@ package cloudprovider
22

33
import (
44
"context"
5+
"fmt"
6+
"strings"
57

68
"github.com/grafana/terraform-provider-grafana/v3/internal/common"
79
"github.com/grafana/terraform-provider-grafana/v3/internal/common/cloudproviderapi"
@@ -109,6 +111,36 @@ func (r *resourceAzureCredential) Schema(ctx context.Context, req resource.Schem
109111
}
110112
}
111113

114+
func (r *resourceAzureCredential) ImportState(ctx context.Context, req resource.ImportStateRequest, resp *resource.ImportStateResponse) {
115+
parts := strings.SplitN(req.ID, ":", 2)
116+
if len(parts) != 2 || parts[0] == "" || parts[1] == "" {
117+
resp.Diagnostics.AddError("Invalid ID", fmt.Sprintf("Invalid ID: %s", req.ID))
118+
return
119+
}
120+
stackID := parts[0]
121+
resourceID := parts[1]
122+
123+
credentials, err := r.client.GetAzureCredential(
124+
ctx,
125+
stackID,
126+
resourceID,
127+
)
128+
if err != nil {
129+
resp.Diagnostics.AddError("Failed to get Azure credential", err.Error())
130+
return
131+
}
132+
133+
resp.State.Set(ctx, &resourceAzureCredentialModel{
134+
ID: types.StringValue(req.ID),
135+
Name: types.StringValue(credentials.Name),
136+
TenantID: types.StringValue(credentials.TenantID),
137+
ClientID: types.StringValue(credentials.ClientID),
138+
StackID: types.StringValue(stackID),
139+
ResourceID: types.StringValue(resourceID),
140+
ClientSecret: types.StringValue(""), // We don't import the client secret
141+
})
142+
}
143+
112144
func (r *resourceAzureCredential) Create(ctx context.Context, req resource.CreateRequest, resp *resource.CreateResponse) {
113145
var data resourceAzureCredentialModel
114146
diags := req.Plan.Get(ctx, &data)

0 commit comments

Comments
 (0)