Skip to content

Commit 72f7077

Browse files
committed
Fix failing ServiceAccount tests
1 parent 0cc3ea7 commit 72f7077

File tree

1 file changed

+22
-4
lines changed

1 file changed

+22
-4
lines changed

kubernetes/resource_kubernetes_service_account_v1.go

Lines changed: 22 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ func resourceKubernetesServiceAccountV1() *schema.Resource {
3030
UpdateContext: resourceKubernetesServiceAccountV1Update,
3131
DeleteContext: resourceKubernetesServiceAccountV1Delete,
3232
Importer: &schema.ResourceImporter{
33-
StateContext: resourceIdentityImportNamespaced,
33+
StateContext: resourceKubernetesServiceAccountV1ImportState,
3434
},
3535
Identity: resourceIdentitySchemaNamespaced(),
3636
Timeouts: &schema.ResourceTimeout{
@@ -418,9 +418,27 @@ func resourceKubernetesServiceAccountV1ImportState(ctx context.Context, d *schem
418418
return nil, err
419419
}
420420

421-
namespace, name, err := idParts(d.Id())
422-
if err != nil {
423-
return nil, fmt.Errorf("Unable to parse identifier %s: %s", d.Id(), err)
421+
var namespace, name string
422+
if d.Id() != "" {
423+
namespace, name, err = idParts(d.Id())
424+
if err != nil {
425+
return nil, fmt.Errorf("Unable to parse identifier %s: %s", d.Id(), err)
426+
}
427+
} else {
428+
rid, err := d.Identity()
429+
if err != nil {
430+
return nil, err
431+
}
432+
var ok bool
433+
namespace, ok = rid.Get("namespace").(string)
434+
if !ok {
435+
return nil, fmt.Errorf("could not get namespace from resource identity")
436+
}
437+
name, ok = rid.Get("name").(string)
438+
if !ok {
439+
return nil, fmt.Errorf("could not get name from resource identity")
440+
}
441+
424442
}
425443

426444
sa, err := conn.CoreV1().ServiceAccounts(namespace).Get(ctx, name, metav1.GetOptions{})

0 commit comments

Comments
 (0)