Skip to content

Commit

Permalink
Honouring write_kubeconfig post cluster creation (#325)
Browse files Browse the repository at this point in the history
  • Loading branch information
uzaxirr authored Aug 16, 2024
1 parent da54fcd commit af6a857
Showing 1 changed file with 18 additions and 1 deletion.
19 changes: 18 additions & 1 deletion civo/kubernetes/resource_kubernetes_cluster.go
Original file line number Diff line number Diff line change
Expand Up @@ -355,7 +355,7 @@ func resourceKubernetesClusterRead(_ context.Context, d *schema.ResourceData, m
if writeKubeconfig {
d.Set("kubeconfig", resp.KubeConfig)
} else {
d.Set("kubeconfig", "")
d.Set("kubeconfig", nil)
}

if err := d.Set("pools", flattenNodePool(resp)); err != nil {
Expand Down Expand Up @@ -445,6 +445,16 @@ func resourceKubernetesClusterUpdate(ctx context.Context, d *schema.ResourceData
if d.HasChange("write_kubeconfig") {
// setting atleast one field inside the KubernetesClusterConfig, just to ensure we are not sending an empty config
config.FirewallID = d.Get("firewall_id").(string)
writeKubeconfig := d.Get("write_kubeconfig").(bool)
if writeKubeconfig {
resp, err := apiClient.GetKubernetesCluster(d.Id())
if err != nil {
return diag.Errorf("[ERR] failed to get kubernetes cluster: %s", err)
}
d.Set("kubeconfig", resp.KubeConfig)
} else {
d.Set("kubeconfig", nil)
}
}

log.Printf("[INFO] updating the kubernetes cluster %s", d.Id())
Expand Down Expand Up @@ -505,6 +515,13 @@ func resourceKubernetesClusterDelete(ctx context.Context, d *schema.ResourceData

func customizeDiffKubernetesCluster(ctx context.Context, d *schema.ResourceDiff, meta interface{}) error {
if d.Id() != "" {
if d.HasChange("write_kubeconfig") {
err := d.SetNewComputed("kubeconfig")
if err != nil {
return err
}
}

if d.HasChange("applications") {
return fmt.Errorf("the 'applications' field is immutable")
}
Expand Down

0 comments on commit af6a857

Please sign in to comment.