|
6 | 6 | "strings"
|
7 | 7 | "time"
|
8 | 8 |
|
| 9 | + "github.com/hashicorp/go-cty/cty" |
9 | 10 | "github.com/hashicorp/terraform-plugin-sdk/v2/diag"
|
10 | 11 | "github.com/hashicorp/terraform-plugin-sdk/v2/helper/customdiff"
|
11 | 12 | "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
|
@@ -526,36 +527,21 @@ func resourceScalewayK8SClusterRead(ctx context.Context, d *schema.ResourceData,
|
526 | 527 | ////
|
527 | 528 | // Read kubeconfig
|
528 | 529 | ////
|
529 |
| - kubeconfig, err := k8sAPI.GetClusterKubeConfig(&k8s.GetClusterKubeConfigRequest{ |
530 |
| - Region: region, |
531 |
| - ClusterID: clusterID, |
532 |
| - }, scw.WithContext(ctx)) |
533 |
| - if err != nil { |
534 |
| - return diag.FromErr(err) |
535 |
| - } |
536 |
| - |
537 |
| - kubeconfigServer, err := kubeconfig.GetServer() |
538 |
| - if err != nil { |
539 |
| - return diag.FromErr(err) |
540 |
| - } |
541 |
| - |
542 |
| - kubeconfigCa, err := kubeconfig.GetCertificateAuthorityData() |
543 |
| - if err != nil { |
544 |
| - return diag.FromErr(err) |
545 |
| - } |
546 |
| - |
547 |
| - kubeconfigToken, err := kubeconfig.GetToken() |
| 530 | + kubeconfig, err := flattenKubeconfig(ctx, k8sAPI, region, clusterID) |
548 | 531 | if err != nil {
|
| 532 | + if is403Error(err) { |
| 533 | + return diag.Diagnostics{ |
| 534 | + diag.Diagnostic{ |
| 535 | + Severity: diag.Warning, |
| 536 | + Summary: "Cannot read kubeconfig: unauthorized", |
| 537 | + Detail: "Got 403 while reading kubeconfig, please check your permissions", |
| 538 | + AttributePath: cty.GetAttrPath("kubeconfig"), |
| 539 | + }, |
| 540 | + } |
| 541 | + } |
549 | 542 | return diag.FromErr(err)
|
550 | 543 | }
|
551 |
| - |
552 |
| - kubeconf := map[string]interface{}{} |
553 |
| - kubeconf["config_file"] = string(kubeconfig.GetRaw()) |
554 |
| - kubeconf["host"] = kubeconfigServer |
555 |
| - kubeconf["cluster_ca_certificate"] = kubeconfigCa |
556 |
| - kubeconf["token"] = kubeconfigToken |
557 |
| - |
558 |
| - _ = d.Set("kubeconfig", []map[string]interface{}{kubeconf}) |
| 544 | + _ = d.Set("kubeconfig", []map[string]interface{}{kubeconfig}) |
559 | 545 |
|
560 | 546 | return nil
|
561 | 547 | }
|
|
0 commit comments