@@ -30,7 +30,7 @@ func resourceKubernetesServiceAccountV1() *schema.Resource {
30
30
UpdateContext : resourceKubernetesServiceAccountV1Update ,
31
31
DeleteContext : resourceKubernetesServiceAccountV1Delete ,
32
32
Importer : & schema.ResourceImporter {
33
- StateContext : resourceIdentityImportNamespaced ,
33
+ StateContext : resourceKubernetesServiceAccountV1ImportState ,
34
34
},
35
35
Identity : resourceIdentitySchemaNamespaced (),
36
36
Timeouts : & schema.ResourceTimeout {
@@ -418,9 +418,27 @@ func resourceKubernetesServiceAccountV1ImportState(ctx context.Context, d *schem
418
418
return nil , err
419
419
}
420
420
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
+
424
442
}
425
443
426
444
sa , err := conn .CoreV1 ().ServiceAccounts (namespace ).Get (ctx , name , metav1.GetOptions {})
0 commit comments