scaleway.kubernetes.Cluster
Explore with Pulumi AI
Creates and manages Scaleway Kubernetes clusters. For more information, see the API documentation.
Example Usage
Basic
import * as pulumi from "@pulumi/pulumi";
import * as scaleway from "@pulumiverse/scaleway";
const pn = new scaleway.network.PrivateNetwork("pn", {});
const cluster = new scaleway.kubernetes.Cluster("cluster", {
    name: "tf-cluster",
    version: "1.29.1",
    cni: "cilium",
    privateNetworkId: pn.id,
    deleteAdditionalResources: false,
});
const pool = new scaleway.kubernetes.Pool("pool", {
    clusterId: cluster.id,
    name: "tf-pool",
    nodeType: "DEV1-M",
    size: 1,
});
import pulumi
import pulumiverse_scaleway as scaleway
pn = scaleway.network.PrivateNetwork("pn")
cluster = scaleway.kubernetes.Cluster("cluster",
    name="tf-cluster",
    version="1.29.1",
    cni="cilium",
    private_network_id=pn.id,
    delete_additional_resources=False)
pool = scaleway.kubernetes.Pool("pool",
    cluster_id=cluster.id,
    name="tf-pool",
    node_type="DEV1-M",
    size=1)
package main
import (
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
	"github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway/kubernetes"
	"github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway/network"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		pn, err := network.NewPrivateNetwork(ctx, "pn", nil)
		if err != nil {
			return err
		}
		cluster, err := kubernetes.NewCluster(ctx, "cluster", &kubernetes.ClusterArgs{
			Name:                      pulumi.String("tf-cluster"),
			Version:                   pulumi.String("1.29.1"),
			Cni:                       pulumi.String("cilium"),
			PrivateNetworkId:          pn.ID(),
			DeleteAdditionalResources: pulumi.Bool(false),
		})
		if err != nil {
			return err
		}
		_, err = kubernetes.NewPool(ctx, "pool", &kubernetes.PoolArgs{
			ClusterId: cluster.ID(),
			Name:      pulumi.String("tf-pool"),
			NodeType:  pulumi.String("DEV1-M"),
			Size:      pulumi.Int(1),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Scaleway = Pulumiverse.Scaleway;
return await Deployment.RunAsync(() => 
{
    var pn = new Scaleway.Network.PrivateNetwork("pn");
    var cluster = new Scaleway.Kubernetes.Cluster("cluster", new()
    {
        Name = "tf-cluster",
        Version = "1.29.1",
        Cni = "cilium",
        PrivateNetworkId = pn.Id,
        DeleteAdditionalResources = false,
    });
    var pool = new Scaleway.Kubernetes.Pool("pool", new()
    {
        ClusterId = cluster.Id,
        Name = "tf-pool",
        NodeType = "DEV1-M",
        Size = 1,
    });
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.scaleway.network.PrivateNetwork;
import com.pulumi.scaleway.kubernetes.Cluster;
import com.pulumi.scaleway.kubernetes.ClusterArgs;
import com.pulumi.scaleway.kubernetes.Pool;
import com.pulumi.scaleway.kubernetes.PoolArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }
    public static void stack(Context ctx) {
        var pn = new PrivateNetwork("pn");
        var cluster = new Cluster("cluster", ClusterArgs.builder()
            .name("tf-cluster")
            .version("1.29.1")
            .cni("cilium")
            .privateNetworkId(pn.id())
            .deleteAdditionalResources(false)
            .build());
        var pool = new Pool("pool", PoolArgs.builder()
            .clusterId(cluster.id())
            .name("tf-pool")
            .nodeType("DEV1-M")
            .size(1)
            .build());
    }
}
resources:
  pn:
    type: scaleway:network:PrivateNetwork
  cluster:
    type: scaleway:kubernetes:Cluster
    properties:
      name: tf-cluster
      version: 1.29.1
      cni: cilium
      privateNetworkId: ${pn.id}
      deleteAdditionalResources: false
  pool:
    type: scaleway:kubernetes:Pool
    properties:
      clusterId: ${cluster.id}
      name: tf-pool
      nodeType: DEV1-M
      size: 1
Multicloud
import * as pulumi from "@pulumi/pulumi";
import * as scaleway from "@pulumiverse/scaleway";
const cluster = new scaleway.kubernetes.Cluster("cluster", {
    name: "tf-cluster",
    type: "multicloud",
    version: "1.29.1",
    cni: "kilo",
    deleteAdditionalResources: false,
});
const pool = new scaleway.kubernetes.Pool("pool", {
    clusterId: cluster.id,
    name: "tf-pool",
    nodeType: "external",
    size: 0,
    minSize: 0,
});
import pulumi
import pulumiverse_scaleway as scaleway
cluster = scaleway.kubernetes.Cluster("cluster",
    name="tf-cluster",
    type="multicloud",
    version="1.29.1",
    cni="kilo",
    delete_additional_resources=False)
pool = scaleway.kubernetes.Pool("pool",
    cluster_id=cluster.id,
    name="tf-pool",
    node_type="external",
    size=0,
    min_size=0)
package main
import (
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
	"github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway/kubernetes"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cluster, err := kubernetes.NewCluster(ctx, "cluster", &kubernetes.ClusterArgs{
			Name:                      pulumi.String("tf-cluster"),
			Type:                      pulumi.String("multicloud"),
			Version:                   pulumi.String("1.29.1"),
			Cni:                       pulumi.String("kilo"),
			DeleteAdditionalResources: pulumi.Bool(false),
		})
		if err != nil {
			return err
		}
		_, err = kubernetes.NewPool(ctx, "pool", &kubernetes.PoolArgs{
			ClusterId: cluster.ID(),
			Name:      pulumi.String("tf-pool"),
			NodeType:  pulumi.String("external"),
			Size:      pulumi.Int(0),
			MinSize:   pulumi.Int(0),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Scaleway = Pulumiverse.Scaleway;
return await Deployment.RunAsync(() => 
{
    var cluster = new Scaleway.Kubernetes.Cluster("cluster", new()
    {
        Name = "tf-cluster",
        Type = "multicloud",
        Version = "1.29.1",
        Cni = "kilo",
        DeleteAdditionalResources = false,
    });
    var pool = new Scaleway.Kubernetes.Pool("pool", new()
    {
        ClusterId = cluster.Id,
        Name = "tf-pool",
        NodeType = "external",
        Size = 0,
        MinSize = 0,
    });
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.scaleway.kubernetes.Cluster;
import com.pulumi.scaleway.kubernetes.ClusterArgs;
import com.pulumi.scaleway.kubernetes.Pool;
import com.pulumi.scaleway.kubernetes.PoolArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }
    public static void stack(Context ctx) {
        var cluster = new Cluster("cluster", ClusterArgs.builder()
            .name("tf-cluster")
            .type("multicloud")
            .version("1.29.1")
            .cni("kilo")
            .deleteAdditionalResources(false)
            .build());
        var pool = new Pool("pool", PoolArgs.builder()
            .clusterId(cluster.id())
            .name("tf-pool")
            .nodeType("external")
            .size(0)
            .minSize(0)
            .build());
    }
}
resources:
  cluster:
    type: scaleway:kubernetes:Cluster
    properties:
      name: tf-cluster
      type: multicloud
      version: 1.29.1
      cni: kilo
      deleteAdditionalResources: false
  pool:
    type: scaleway:kubernetes:Pool
    properties:
      clusterId: ${cluster.id}
      name: tf-pool
      nodeType: external
      size: 0
      minSize: 0
For a detailed example of how to add or run Elastic Metal servers instead of Instances on your cluster, please refer to this guide.
With additional configuration
import * as pulumi from "@pulumi/pulumi";
import * as scaleway from "@pulumiverse/scaleway";
const pn = new scaleway.network.PrivateNetwork("pn", {});
const cluster = new scaleway.kubernetes.Cluster("cluster", {
    name: "tf-cluster",
    description: "cluster made in terraform",
    version: "1.29.1",
    cni: "calico",
    tags: ["terraform"],
    privateNetworkId: pn.id,
    deleteAdditionalResources: false,
    autoscalerConfig: {
        disableScaleDown: false,
        scaleDownDelayAfterAdd: "5m",
        estimator: "binpacking",
        expander: "random",
        ignoreDaemonsetsUtilization: true,
        balanceSimilarNodeGroups: true,
        expendablePodsPriorityCutoff: -5,
    },
});
const pool = new scaleway.kubernetes.Pool("pool", {
    clusterId: cluster.id,
    name: "tf-pool",
    nodeType: "DEV1-M",
    size: 3,
    autoscaling: true,
    autohealing: true,
    minSize: 1,
    maxSize: 5,
});
import pulumi
import pulumiverse_scaleway as scaleway
pn = scaleway.network.PrivateNetwork("pn")
cluster = scaleway.kubernetes.Cluster("cluster",
    name="tf-cluster",
    description="cluster made in terraform",
    version="1.29.1",
    cni="calico",
    tags=["terraform"],
    private_network_id=pn.id,
    delete_additional_resources=False,
    autoscaler_config={
        "disable_scale_down": False,
        "scale_down_delay_after_add": "5m",
        "estimator": "binpacking",
        "expander": "random",
        "ignore_daemonsets_utilization": True,
        "balance_similar_node_groups": True,
        "expendable_pods_priority_cutoff": -5,
    })
pool = scaleway.kubernetes.Pool("pool",
    cluster_id=cluster.id,
    name="tf-pool",
    node_type="DEV1-M",
    size=3,
    autoscaling=True,
    autohealing=True,
    min_size=1,
    max_size=5)
package main
import (
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
	"github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway/kubernetes"
	"github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway/network"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		pn, err := network.NewPrivateNetwork(ctx, "pn", nil)
		if err != nil {
			return err
		}
		cluster, err := kubernetes.NewCluster(ctx, "cluster", &kubernetes.ClusterArgs{
			Name:        pulumi.String("tf-cluster"),
			Description: pulumi.String("cluster made in terraform"),
			Version:     pulumi.String("1.29.1"),
			Cni:         pulumi.String("calico"),
			Tags: pulumi.StringArray{
				pulumi.String("terraform"),
			},
			PrivateNetworkId:          pn.ID(),
			DeleteAdditionalResources: pulumi.Bool(false),
			AutoscalerConfig: &kubernetes.ClusterAutoscalerConfigArgs{
				DisableScaleDown:             pulumi.Bool(false),
				ScaleDownDelayAfterAdd:       pulumi.String("5m"),
				Estimator:                    pulumi.String("binpacking"),
				Expander:                     pulumi.String("random"),
				IgnoreDaemonsetsUtilization:  pulumi.Bool(true),
				BalanceSimilarNodeGroups:     pulumi.Bool(true),
				ExpendablePodsPriorityCutoff: pulumi.Int(-5),
			},
		})
		if err != nil {
			return err
		}
		_, err = kubernetes.NewPool(ctx, "pool", &kubernetes.PoolArgs{
			ClusterId:   cluster.ID(),
			Name:        pulumi.String("tf-pool"),
			NodeType:    pulumi.String("DEV1-M"),
			Size:        pulumi.Int(3),
			Autoscaling: pulumi.Bool(true),
			Autohealing: pulumi.Bool(true),
			MinSize:     pulumi.Int(1),
			MaxSize:     pulumi.Int(5),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Scaleway = Pulumiverse.Scaleway;
return await Deployment.RunAsync(() => 
{
    var pn = new Scaleway.Network.PrivateNetwork("pn");
    var cluster = new Scaleway.Kubernetes.Cluster("cluster", new()
    {
        Name = "tf-cluster",
        Description = "cluster made in terraform",
        Version = "1.29.1",
        Cni = "calico",
        Tags = new[]
        {
            "terraform",
        },
        PrivateNetworkId = pn.Id,
        DeleteAdditionalResources = false,
        AutoscalerConfig = new Scaleway.Kubernetes.Inputs.ClusterAutoscalerConfigArgs
        {
            DisableScaleDown = false,
            ScaleDownDelayAfterAdd = "5m",
            Estimator = "binpacking",
            Expander = "random",
            IgnoreDaemonsetsUtilization = true,
            BalanceSimilarNodeGroups = true,
            ExpendablePodsPriorityCutoff = -5,
        },
    });
    var pool = new Scaleway.Kubernetes.Pool("pool", new()
    {
        ClusterId = cluster.Id,
        Name = "tf-pool",
        NodeType = "DEV1-M",
        Size = 3,
        Autoscaling = true,
        Autohealing = true,
        MinSize = 1,
        MaxSize = 5,
    });
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.scaleway.network.PrivateNetwork;
import com.pulumi.scaleway.kubernetes.Cluster;
import com.pulumi.scaleway.kubernetes.ClusterArgs;
import com.pulumi.scaleway.kubernetes.inputs.ClusterAutoscalerConfigArgs;
import com.pulumi.scaleway.kubernetes.Pool;
import com.pulumi.scaleway.kubernetes.PoolArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }
    public static void stack(Context ctx) {
        var pn = new PrivateNetwork("pn");
        var cluster = new Cluster("cluster", ClusterArgs.builder()
            .name("tf-cluster")
            .description("cluster made in terraform")
            .version("1.29.1")
            .cni("calico")
            .tags("terraform")
            .privateNetworkId(pn.id())
            .deleteAdditionalResources(false)
            .autoscalerConfig(ClusterAutoscalerConfigArgs.builder()
                .disableScaleDown(false)
                .scaleDownDelayAfterAdd("5m")
                .estimator("binpacking")
                .expander("random")
                .ignoreDaemonsetsUtilization(true)
                .balanceSimilarNodeGroups(true)
                .expendablePodsPriorityCutoff(-5)
                .build())
            .build());
        var pool = new Pool("pool", PoolArgs.builder()
            .clusterId(cluster.id())
            .name("tf-pool")
            .nodeType("DEV1-M")
            .size(3)
            .autoscaling(true)
            .autohealing(true)
            .minSize(1)
            .maxSize(5)
            .build());
    }
}
resources:
  pn:
    type: scaleway:network:PrivateNetwork
  cluster:
    type: scaleway:kubernetes:Cluster
    properties:
      name: tf-cluster
      description: cluster made in terraform
      version: 1.29.1
      cni: calico
      tags:
        - terraform
      privateNetworkId: ${pn.id}
      deleteAdditionalResources: false
      autoscalerConfig:
        disableScaleDown: false
        scaleDownDelayAfterAdd: 5m
        estimator: binpacking
        expander: random
        ignoreDaemonsetsUtilization: true
        balanceSimilarNodeGroups: true
        expendablePodsPriorityCutoff: -5
  pool:
    type: scaleway:kubernetes:Pool
    properties:
      clusterId: ${cluster.id}
      name: tf-pool
      nodeType: DEV1-M
      size: 3
      autoscaling: true
      autohealing: true
      minSize: 1
      maxSize: 5
With the kubernetes provider
import * as pulumi from "@pulumi/pulumi";
import * as _null from "@pulumi/null";
import * as scaleway from "@pulumiverse/scaleway";
const pn = new scaleway.network.PrivateNetwork("pn", {});
const cluster = new scaleway.kubernetes.Cluster("cluster", {
    name: "tf-cluster",
    version: "1.29.1",
    cni: "cilium",
    privateNetworkId: pn.id,
    deleteAdditionalResources: false,
});
const pool = new scaleway.kubernetes.Pool("pool", {
    clusterId: cluster.id,
    name: "tf-pool",
    nodeType: "DEV1-M",
    size: 1,
});
const kubeconfig = new _null.Resource("kubeconfig", {triggers: {
    host: cluster.kubeconfigs.apply(kubeconfigs => kubeconfigs[0].host),
    token: cluster.kubeconfigs.apply(kubeconfigs => kubeconfigs[0].token),
    cluster_ca_certificate: cluster.kubeconfigs.apply(kubeconfigs => kubeconfigs[0].clusterCaCertificate),
}}, {
    dependsOn: [pool],
});
import pulumi
import pulumi_null as null
import pulumiverse_scaleway as scaleway
pn = scaleway.network.PrivateNetwork("pn")
cluster = scaleway.kubernetes.Cluster("cluster",
    name="tf-cluster",
    version="1.29.1",
    cni="cilium",
    private_network_id=pn.id,
    delete_additional_resources=False)
pool = scaleway.kubernetes.Pool("pool",
    cluster_id=cluster.id,
    name="tf-pool",
    node_type="DEV1-M",
    size=1)
kubeconfig = null.Resource("kubeconfig", triggers={
    "host": cluster.kubeconfigs[0].host,
    "token": cluster.kubeconfigs[0].token,
    "cluster_ca_certificate": cluster.kubeconfigs[0].cluster_ca_certificate,
},
opts = pulumi.ResourceOptions(depends_on=[pool]))
package main
import (
	"github.com/pulumi/pulumi-null/sdk/go/null"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
	"github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway/kubernetes"
	"github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway/network"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		pn, err := network.NewPrivateNetwork(ctx, "pn", nil)
		if err != nil {
			return err
		}
		cluster, err := kubernetes.NewCluster(ctx, "cluster", &kubernetes.ClusterArgs{
			Name:                      pulumi.String("tf-cluster"),
			Version:                   pulumi.String("1.29.1"),
			Cni:                       pulumi.String("cilium"),
			PrivateNetworkId:          pn.ID(),
			DeleteAdditionalResources: pulumi.Bool(false),
		})
		if err != nil {
			return err
		}
		pool, err := kubernetes.NewPool(ctx, "pool", &kubernetes.PoolArgs{
			ClusterId: cluster.ID(),
			Name:      pulumi.String("tf-pool"),
			NodeType:  pulumi.String("DEV1-M"),
			Size:      pulumi.Int(1),
		})
		if err != nil {
			return err
		}
		_, err = null.NewResource(ctx, "kubeconfig", &null.ResourceArgs{
			Triggers: pulumi.StringMap{
				"host": pulumi.String(cluster.Kubeconfigs.ApplyT(func(kubeconfigs []kubernetes.ClusterKubeconfig) (*string, error) {
					return &kubeconfigs[0].Host, nil
				}).(pulumi.StringPtrOutput)),
				"token": pulumi.String(cluster.Kubeconfigs.ApplyT(func(kubeconfigs []kubernetes.ClusterKubeconfig) (*string, error) {
					return &kubeconfigs[0].Token, nil
				}).(pulumi.StringPtrOutput)),
				"cluster_ca_certificate": pulumi.String(cluster.Kubeconfigs.ApplyT(func(kubeconfigs []kubernetes.ClusterKubeconfig) (*string, error) {
					return &kubeconfigs[0].ClusterCaCertificate, nil
				}).(pulumi.StringPtrOutput)),
			},
		}, pulumi.DependsOn([]pulumi.Resource{
			pool,
		}))
		if err != nil {
			return err
		}
		return nil
	})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Null = Pulumi.Null;
using Scaleway = Pulumiverse.Scaleway;
return await Deployment.RunAsync(() => 
{
    var pn = new Scaleway.Network.PrivateNetwork("pn");
    var cluster = new Scaleway.Kubernetes.Cluster("cluster", new()
    {
        Name = "tf-cluster",
        Version = "1.29.1",
        Cni = "cilium",
        PrivateNetworkId = pn.Id,
        DeleteAdditionalResources = false,
    });
    var pool = new Scaleway.Kubernetes.Pool("pool", new()
    {
        ClusterId = cluster.Id,
        Name = "tf-pool",
        NodeType = "DEV1-M",
        Size = 1,
    });
    var kubeconfig = new Null.Resource("kubeconfig", new()
    {
        Triggers = 
        {
            { "host", cluster.Kubeconfigs.Apply(kubeconfigs => kubeconfigs[0].Host) },
            { "token", cluster.Kubeconfigs.Apply(kubeconfigs => kubeconfigs[0].Token) },
            { "cluster_ca_certificate", cluster.Kubeconfigs.Apply(kubeconfigs => kubeconfigs[0].ClusterCaCertificate) },
        },
    }, new CustomResourceOptions
    {
        DependsOn =
        {
            pool,
        },
    });
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.scaleway.network.PrivateNetwork;
import com.pulumi.scaleway.kubernetes.Cluster;
import com.pulumi.scaleway.kubernetes.ClusterArgs;
import com.pulumi.scaleway.kubernetes.Pool;
import com.pulumi.scaleway.kubernetes.PoolArgs;
import com.pulumi.null.Resource;
import com.pulumi.null.ResourceArgs;
import com.pulumi.resources.CustomResourceOptions;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }
    public static void stack(Context ctx) {
        var pn = new PrivateNetwork("pn");
        var cluster = new Cluster("cluster", ClusterArgs.builder()
            .name("tf-cluster")
            .version("1.29.1")
            .cni("cilium")
            .privateNetworkId(pn.id())
            .deleteAdditionalResources(false)
            .build());
        var pool = new Pool("pool", PoolArgs.builder()
            .clusterId(cluster.id())
            .name("tf-pool")
            .nodeType("DEV1-M")
            .size(1)
            .build());
        var kubeconfig = new Resource("kubeconfig", ResourceArgs.builder()
            .triggers(Map.ofEntries(
                Map.entry("host", cluster.kubeconfigs().applyValue(kubeconfigs -> kubeconfigs[0].host())),
                Map.entry("token", cluster.kubeconfigs().applyValue(kubeconfigs -> kubeconfigs[0].token())),
                Map.entry("cluster_ca_certificate", cluster.kubeconfigs().applyValue(kubeconfigs -> kubeconfigs[0].clusterCaCertificate()))
            ))
            .build(), CustomResourceOptions.builder()
                .dependsOn(pool)
                .build());
    }
}
resources:
  pn:
    type: scaleway:network:PrivateNetwork
  cluster:
    type: scaleway:kubernetes:Cluster
    properties:
      name: tf-cluster
      version: 1.29.1
      cni: cilium
      privateNetworkId: ${pn.id}
      deleteAdditionalResources: false
  pool:
    type: scaleway:kubernetes:Pool
    properties:
      clusterId: ${cluster.id}
      name: tf-pool
      nodeType: DEV1-M
      size: 1
  kubeconfig:
    type: null:Resource
    properties:
      triggers:
        host: ${cluster.kubeconfigs[0].host}
        token: ${cluster.kubeconfigs[0].token}
        cluster_ca_certificate: ${cluster.kubeconfigs[0].clusterCaCertificate}
    options:
      dependsOn:
        - ${pool}
The null_resource is needed because when the cluster is created, its status is pool_required, but the kubeconfig can already be downloaded.
It leads the kubernetes provider to start creating its objects, but the DNS entry for the Kubernetes master is not yet ready, that’s why it’s needed to wait for at least a pool.
With the Helm provider
import * as pulumi from "@pulumi/pulumi";
import * as _null from "@pulumi/null";
import * as helm from "@pulumi/helm";
import * as scaleway from "@pulumiverse/scaleway";
const pn = new scaleway.network.PrivateNetwork("pn", {});
const cluster = new scaleway.kubernetes.Cluster("cluster", {
    name: "tf-cluster",
    version: "1.29.1",
    cni: "cilium",
    deleteAdditionalResources: false,
    privateNetworkId: pn.id,
});
const pool = new scaleway.kubernetes.Pool("pool", {
    clusterId: cluster.id,
    name: "tf-pool",
    nodeType: "DEV1-M",
    size: 1,
});
const kubeconfig = new _null.Resource("kubeconfig", {triggers: {
    host: cluster.kubeconfigs.apply(kubeconfigs => kubeconfigs[0].host),
    token: cluster.kubeconfigs.apply(kubeconfigs => kubeconfigs[0].token),
    cluster_ca_certificate: cluster.kubeconfigs.apply(kubeconfigs => kubeconfigs[0].clusterCaCertificate),
}}, {
    dependsOn: [pool],
});
const nginxIp = new scaleway.loadbalancers.Ip("nginx_ip", {
    zone: "fr-par-1",
    projectId: cluster.projectId,
});
const nginxIngress = new helm.index.Release("nginx_ingress", {
    name: "nginx-ingress",
    namespace: "kube-system",
    repository: "https://kubernetes.github.io/ingress-nginx",
    chart: "ingress-nginx",
    set: [
        {
            name: "controller.service.loadBalancerIP",
            value: nginxIp.ipAddress,
        },
        {
            name: "controller.config.use-proxy-protocol",
            value: "true",
        },
        {
            name: "controller.service.annotations.service\\.beta\\.kubernetes\\.io/scw-loadbalancer-proxy-protocol-v2",
            value: "true",
        },
        {
            name: "controller.service.annotations.service\\.beta\\.kubernetes\\.io/scw-loadbalancer-zone",
            value: nginxIp.zone,
        },
        {
            name: "controller.service.externalTrafficPolicy",
            value: "Local",
        },
    ],
});
import pulumi
import pulumi_helm as helm
import pulumi_null as null
import pulumiverse_scaleway as scaleway
pn = scaleway.network.PrivateNetwork("pn")
cluster = scaleway.kubernetes.Cluster("cluster",
    name="tf-cluster",
    version="1.29.1",
    cni="cilium",
    delete_additional_resources=False,
    private_network_id=pn.id)
pool = scaleway.kubernetes.Pool("pool",
    cluster_id=cluster.id,
    name="tf-pool",
    node_type="DEV1-M",
    size=1)
kubeconfig = null.Resource("kubeconfig", triggers={
    "host": cluster.kubeconfigs[0].host,
    "token": cluster.kubeconfigs[0].token,
    "cluster_ca_certificate": cluster.kubeconfigs[0].cluster_ca_certificate,
},
opts = pulumi.ResourceOptions(depends_on=[pool]))
nginx_ip = scaleway.loadbalancers.Ip("nginx_ip",
    zone="fr-par-1",
    project_id=cluster.project_id)
nginx_ingress = helm.index.Release("nginx_ingress",
    name=nginx-ingress,
    namespace=kube-system,
    repository=https://kubernetes.github.io/ingress-nginx,
    chart=ingress-nginx,
    set=[
        {
            name: controller.service.loadBalancerIP,
            value: nginx_ip.ip_address,
        },
        {
            name: controller.config.use-proxy-protocol,
            value: true,
        },
        {
            name: controller.service.annotations.service\.beta\.kubernetes\.io/scw-loadbalancer-proxy-protocol-v2,
            value: true,
        },
        {
            name: controller.service.annotations.service\.beta\.kubernetes\.io/scw-loadbalancer-zone,
            value: nginx_ip.zone,
        },
        {
            name: controller.service.externalTrafficPolicy,
            value: Local,
        },
    ])
package main
import (
	"github.com/pulumi/pulumi-helm/sdk/go/helm"
	"github.com/pulumi/pulumi-null/sdk/go/null"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
	"github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway/kubernetes"
	"github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway/loadbalancers"
	"github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway/network"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		pn, err := network.NewPrivateNetwork(ctx, "pn", nil)
		if err != nil {
			return err
		}
		cluster, err := kubernetes.NewCluster(ctx, "cluster", &kubernetes.ClusterArgs{
			Name:                      pulumi.String("tf-cluster"),
			Version:                   pulumi.String("1.29.1"),
			Cni:                       pulumi.String("cilium"),
			DeleteAdditionalResources: pulumi.Bool(false),
			PrivateNetworkId:          pn.ID(),
		})
		if err != nil {
			return err
		}
		pool, err := kubernetes.NewPool(ctx, "pool", &kubernetes.PoolArgs{
			ClusterId: cluster.ID(),
			Name:      pulumi.String("tf-pool"),
			NodeType:  pulumi.String("DEV1-M"),
			Size:      pulumi.Int(1),
		})
		if err != nil {
			return err
		}
		_, err = null.NewResource(ctx, "kubeconfig", &null.ResourceArgs{
			Triggers: pulumi.StringMap{
				"host": pulumi.String(cluster.Kubeconfigs.ApplyT(func(kubeconfigs []kubernetes.ClusterKubeconfig) (*string, error) {
					return &kubeconfigs[0].Host, nil
				}).(pulumi.StringPtrOutput)),
				"token": pulumi.String(cluster.Kubeconfigs.ApplyT(func(kubeconfigs []kubernetes.ClusterKubeconfig) (*string, error) {
					return &kubeconfigs[0].Token, nil
				}).(pulumi.StringPtrOutput)),
				"cluster_ca_certificate": pulumi.String(cluster.Kubeconfigs.ApplyT(func(kubeconfigs []kubernetes.ClusterKubeconfig) (*string, error) {
					return &kubeconfigs[0].ClusterCaCertificate, nil
				}).(pulumi.StringPtrOutput)),
			},
		}, pulumi.DependsOn([]pulumi.Resource{
			pool,
		}))
		if err != nil {
			return err
		}
		nginxIp, err := loadbalancers.NewIp(ctx, "nginx_ip", &loadbalancers.IpArgs{
			Zone:      pulumi.String("fr-par-1"),
			ProjectId: cluster.ProjectId,
		})
		if err != nil {
			return err
		}
		_, err = helm.NewRelease(ctx, "nginx_ingress", &helm.ReleaseArgs{
			Name:       "nginx-ingress",
			Namespace:  "kube-system",
			Repository: "https://kubernetes.github.io/ingress-nginx",
			Chart:      "ingress-nginx",
			Set: []map[string]interface{}{
				map[string]interface{}{
					"name":  "controller.service.loadBalancerIP",
					"value": nginxIp.IpAddress,
				},
				map[string]interface{}{
					"name":  "controller.config.use-proxy-protocol",
					"value": "true",
				},
				map[string]interface{}{
					"name":  "controller.service.annotations.service\\.beta\\.kubernetes\\.io/scw-loadbalancer-proxy-protocol-v2",
					"value": "true",
				},
				map[string]interface{}{
					"name":  "controller.service.annotations.service\\.beta\\.kubernetes\\.io/scw-loadbalancer-zone",
					"value": nginxIp.Zone,
				},
				map[string]interface{}{
					"name":  "controller.service.externalTrafficPolicy",
					"value": "Local",
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Helm = Pulumi.Helm;
using Null = Pulumi.Null;
using Scaleway = Pulumiverse.Scaleway;
return await Deployment.RunAsync(() => 
{
    var pn = new Scaleway.Network.PrivateNetwork("pn");
    var cluster = new Scaleway.Kubernetes.Cluster("cluster", new()
    {
        Name = "tf-cluster",
        Version = "1.29.1",
        Cni = "cilium",
        DeleteAdditionalResources = false,
        PrivateNetworkId = pn.Id,
    });
    var pool = new Scaleway.Kubernetes.Pool("pool", new()
    {
        ClusterId = cluster.Id,
        Name = "tf-pool",
        NodeType = "DEV1-M",
        Size = 1,
    });
    var kubeconfig = new Null.Resource("kubeconfig", new()
    {
        Triggers = 
        {
            { "host", cluster.Kubeconfigs.Apply(kubeconfigs => kubeconfigs[0].Host) },
            { "token", cluster.Kubeconfigs.Apply(kubeconfigs => kubeconfigs[0].Token) },
            { "cluster_ca_certificate", cluster.Kubeconfigs.Apply(kubeconfigs => kubeconfigs[0].ClusterCaCertificate) },
        },
    }, new CustomResourceOptions
    {
        DependsOn =
        {
            pool,
        },
    });
    var nginxIp = new Scaleway.Loadbalancers.Ip("nginx_ip", new()
    {
        Zone = "fr-par-1",
        ProjectId = cluster.ProjectId,
    });
    var nginxIngress = new Helm.Index.Release("nginx_ingress", new()
    {
        Name = "nginx-ingress",
        Namespace = "kube-system",
        Repository = "https://kubernetes.github.io/ingress-nginx",
        Chart = "ingress-nginx",
        Set = new[]
        {
            
            {
                { "name", "controller.service.loadBalancerIP" },
                { "value", nginxIp.IpAddress },
            },
            
            {
                { "name", "controller.config.use-proxy-protocol" },
                { "value", "true" },
            },
            
            {
                { "name", "controller.service.annotations.service\\.beta\\.kubernetes\\.io/scw-loadbalancer-proxy-protocol-v2" },
                { "value", "true" },
            },
            
            {
                { "name", "controller.service.annotations.service\\.beta\\.kubernetes\\.io/scw-loadbalancer-zone" },
                { "value", nginxIp.Zone },
            },
            
            {
                { "name", "controller.service.externalTrafficPolicy" },
                { "value", "Local" },
            },
        },
    });
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.scaleway.network.PrivateNetwork;
import com.pulumi.scaleway.kubernetes.Cluster;
import com.pulumi.scaleway.kubernetes.ClusterArgs;
import com.pulumi.scaleway.kubernetes.Pool;
import com.pulumi.scaleway.kubernetes.PoolArgs;
import com.pulumi.null.Resource;
import com.pulumi.null.ResourceArgs;
import com.pulumi.scaleway.loadbalancers.Ip;
import com.pulumi.scaleway.loadbalancers.IpArgs;
import com.pulumi.helm.release;
import com.pulumi.helm.ReleaseArgs;
import com.pulumi.resources.CustomResourceOptions;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }
    public static void stack(Context ctx) {
        var pn = new PrivateNetwork("pn");
        var cluster = new Cluster("cluster", ClusterArgs.builder()
            .name("tf-cluster")
            .version("1.29.1")
            .cni("cilium")
            .deleteAdditionalResources(false)
            .privateNetworkId(pn.id())
            .build());
        var pool = new Pool("pool", PoolArgs.builder()
            .clusterId(cluster.id())
            .name("tf-pool")
            .nodeType("DEV1-M")
            .size(1)
            .build());
        var kubeconfig = new Resource("kubeconfig", ResourceArgs.builder()
            .triggers(Map.ofEntries(
                Map.entry("host", cluster.kubeconfigs().applyValue(kubeconfigs -> kubeconfigs[0].host())),
                Map.entry("token", cluster.kubeconfigs().applyValue(kubeconfigs -> kubeconfigs[0].token())),
                Map.entry("cluster_ca_certificate", cluster.kubeconfigs().applyValue(kubeconfigs -> kubeconfigs[0].clusterCaCertificate()))
            ))
            .build(), CustomResourceOptions.builder()
                .dependsOn(pool)
                .build());
        var nginxIp = new Ip("nginxIp", IpArgs.builder()
            .zone("fr-par-1")
            .projectId(cluster.projectId())
            .build());
        var nginxIngress = new Release("nginxIngress", ReleaseArgs.builder()
            .name("nginx-ingress")
            .namespace("kube-system")
            .repository("https://kubernetes.github.io/ingress-nginx")
            .chart("ingress-nginx")
            .set(            
                %!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference),
                %!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference),
                %!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference),
                %!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference),
                %!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))
            .build());
    }
}
resources:
  pn:
    type: scaleway:network:PrivateNetwork
  cluster:
    type: scaleway:kubernetes:Cluster
    properties:
      name: tf-cluster
      version: 1.29.1
      cni: cilium
      deleteAdditionalResources: false
      privateNetworkId: ${pn.id}
  pool:
    type: scaleway:kubernetes:Pool
    properties:
      clusterId: ${cluster.id}
      name: tf-pool
      nodeType: DEV1-M
      size: 1
  kubeconfig:
    type: null:Resource
    properties:
      triggers:
        host: ${cluster.kubeconfigs[0].host}
        token: ${cluster.kubeconfigs[0].token}
        cluster_ca_certificate: ${cluster.kubeconfigs[0].clusterCaCertificate}
    options:
      dependsOn:
        - ${pool}
  nginxIp:
    type: scaleway:loadbalancers:Ip
    name: nginx_ip
    properties:
      zone: fr-par-1
      projectId: ${cluster.projectId}
  nginxIngress:
    type: helm:release
    name: nginx_ingress
    properties:
      name: nginx-ingress
      namespace: kube-system
      repository: https://kubernetes.github.io/ingress-nginx
      chart: ingress-nginx
      set:
        - name: controller.service.loadBalancerIP
          value: ${nginxIp.ipAddress}
        - name: controller.config.use-proxy-protocol
          value: 'true'
        - name: controller.service.annotations.service\.beta\.kubernetes\.io/scw-loadbalancer-proxy-protocol-v2
          value: 'true'
        - name: controller.service.annotations.service\.beta\.kubernetes\.io/scw-loadbalancer-zone
          value: ${nginxIp.zone}
        - name: controller.service.externalTrafficPolicy
          value: Local
Deprecation of default_pool
default_pool is deprecated in favour the scaleway.kubernetes.Pool resource. Here is a migration example.
Before:
Coming soon!
Coming soon!
Coming soon!
Coming soon!
Coming soon!
resources:
  cluster:
    type: scaleway:kubernetes:Cluster
    properties:
      name: tf-cluster
      version: 1.18.0
      cni: cilium
      defaultPool:
        - nodeType: DEV1-M
          size: 1
After:
import * as pulumi from "@pulumi/pulumi";
import * as scaleway from "@pulumiverse/scaleway";
const cluster = new scaleway.kubernetes.Cluster("cluster", {
    name: "tf-cluster",
    version: "1.18.0",
    cni: "cilium",
});
const _default = new scaleway.kubernetes.Pool("default", {
    clusterId: jack.id,
    name: "default",
    nodeType: "DEV1-M",
    size: 1,
});
import pulumi
import pulumiverse_scaleway as scaleway
cluster = scaleway.kubernetes.Cluster("cluster",
    name="tf-cluster",
    version="1.18.0",
    cni="cilium")
default = scaleway.kubernetes.Pool("default",
    cluster_id=jack["id"],
    name="default",
    node_type="DEV1-M",
    size=1)
package main
import (
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
	"github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway/kubernetes"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := kubernetes.NewCluster(ctx, "cluster", &kubernetes.ClusterArgs{
			Name:    pulumi.String("tf-cluster"),
			Version: pulumi.String("1.18.0"),
			Cni:     pulumi.String("cilium"),
		})
		if err != nil {
			return err
		}
		_, err = kubernetes.NewPool(ctx, "default", &kubernetes.PoolArgs{
			ClusterId: pulumi.Any(jack.Id),
			Name:      pulumi.String("default"),
			NodeType:  pulumi.String("DEV1-M"),
			Size:      pulumi.Int(1),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Scaleway = Pulumiverse.Scaleway;
return await Deployment.RunAsync(() => 
{
    var cluster = new Scaleway.Kubernetes.Cluster("cluster", new()
    {
        Name = "tf-cluster",
        Version = "1.18.0",
        Cni = "cilium",
    });
    var @default = new Scaleway.Kubernetes.Pool("default", new()
    {
        ClusterId = jack.Id,
        Name = "default",
        NodeType = "DEV1-M",
        Size = 1,
    });
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.scaleway.kubernetes.Cluster;
import com.pulumi.scaleway.kubernetes.ClusterArgs;
import com.pulumi.scaleway.kubernetes.Pool;
import com.pulumi.scaleway.kubernetes.PoolArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }
    public static void stack(Context ctx) {
        var cluster = new Cluster("cluster", ClusterArgs.builder()
            .name("tf-cluster")
            .version("1.18.0")
            .cni("cilium")
            .build());
        var default_ = new Pool("default", PoolArgs.builder()
            .clusterId(jack.id())
            .name("default")
            .nodeType("DEV1-M")
            .size(1)
            .build());
    }
}
resources:
  cluster:
    type: scaleway:kubernetes:Cluster
    properties:
      name: tf-cluster
      version: 1.18.0
      cni: cilium
  default:
    type: scaleway:kubernetes:Pool
    properties:
      clusterId: ${jack.id}
      name: default
      nodeType: DEV1-M
      size: 1
Once you have moved all the default_pool into their own object, you will need to import them. If your pool had the ID 11111111-1111-1111-1111-111111111111 in the fr-par region, you can import it by typing:
terraform import scaleway_k8s_pool.default fr-par/11111111-1111-1111-1111-111111111111
Then you will only need to type pulumi up to have a smooth migration.
Create Cluster Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new Cluster(name: string, args: ClusterArgs, opts?: CustomResourceOptions);@overload
def Cluster(resource_name: str,
            args: ClusterArgs,
            opts: Optional[ResourceOptions] = None)
@overload
def Cluster(resource_name: str,
            opts: Optional[ResourceOptions] = None,
            cni: Optional[str] = None,
            version: Optional[str] = None,
            delete_additional_resources: Optional[bool] = None,
            name: Optional[str] = None,
            autoscaler_config: Optional[ClusterAutoscalerConfigArgs] = None,
            auto_upgrade: Optional[ClusterAutoUpgradeArgs] = None,
            description: Optional[str] = None,
            feature_gates: Optional[Sequence[str]] = None,
            admission_plugins: Optional[Sequence[str]] = None,
            open_id_connect_config: Optional[ClusterOpenIdConnectConfigArgs] = None,
            private_network_id: Optional[str] = None,
            project_id: Optional[str] = None,
            region: Optional[str] = None,
            tags: Optional[Sequence[str]] = None,
            type: Optional[str] = None,
            apiserver_cert_sans: Optional[Sequence[str]] = None)func NewCluster(ctx *Context, name string, args ClusterArgs, opts ...ResourceOption) (*Cluster, error)public Cluster(string name, ClusterArgs args, CustomResourceOptions? opts = null)
public Cluster(String name, ClusterArgs args)
public Cluster(String name, ClusterArgs args, CustomResourceOptions options)
type: scaleway:kubernetes:Cluster
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.
Parameters
- name string
- The unique name of the resource.
- args ClusterArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- resource_name str
- The unique name of the resource.
- args ClusterArgs
- The arguments to resource properties.
- opts ResourceOptions
- Bag of options to control resource's behavior.
- ctx Context
- Context object for the current deployment.
- name string
- The unique name of the resource.
- args ClusterArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args ClusterArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args ClusterArgs
- The arguments to resource properties.
- options CustomResourceOptions
- Bag of options to control resource's behavior.
Constructor example
The following reference example uses placeholder values for all input properties.
var clusterResource = new Scaleway.Kubernetes.Cluster("clusterResource", new()
{
    Cni = "string",
    Version = "string",
    DeleteAdditionalResources = false,
    Name = "string",
    AutoscalerConfig = new Scaleway.Kubernetes.Inputs.ClusterAutoscalerConfigArgs
    {
        BalanceSimilarNodeGroups = false,
        DisableScaleDown = false,
        Estimator = "string",
        Expander = "string",
        ExpendablePodsPriorityCutoff = 0,
        IgnoreDaemonsetsUtilization = false,
        MaxGracefulTerminationSec = 0,
        ScaleDownDelayAfterAdd = "string",
        ScaleDownUnneededTime = "string",
        ScaleDownUtilizationThreshold = 0,
    },
    AutoUpgrade = new Scaleway.Kubernetes.Inputs.ClusterAutoUpgradeArgs
    {
        Enable = false,
        MaintenanceWindowDay = "string",
        MaintenanceWindowStartHour = 0,
    },
    Description = "string",
    FeatureGates = new[]
    {
        "string",
    },
    AdmissionPlugins = new[]
    {
        "string",
    },
    OpenIdConnectConfig = new Scaleway.Kubernetes.Inputs.ClusterOpenIdConnectConfigArgs
    {
        ClientId = "string",
        IssuerUrl = "string",
        GroupsClaims = new[]
        {
            "string",
        },
        GroupsPrefix = "string",
        RequiredClaims = new[]
        {
            "string",
        },
        UsernameClaim = "string",
        UsernamePrefix = "string",
    },
    PrivateNetworkId = "string",
    ProjectId = "string",
    Region = "string",
    Tags = new[]
    {
        "string",
    },
    Type = "string",
    ApiserverCertSans = new[]
    {
        "string",
    },
});
example, err := kubernetes.NewCluster(ctx, "clusterResource", &kubernetes.ClusterArgs{
	Cni:                       pulumi.String("string"),
	Version:                   pulumi.String("string"),
	DeleteAdditionalResources: pulumi.Bool(false),
	Name:                      pulumi.String("string"),
	AutoscalerConfig: &kubernetes.ClusterAutoscalerConfigArgs{
		BalanceSimilarNodeGroups:      pulumi.Bool(false),
		DisableScaleDown:              pulumi.Bool(false),
		Estimator:                     pulumi.String("string"),
		Expander:                      pulumi.String("string"),
		ExpendablePodsPriorityCutoff:  pulumi.Int(0),
		IgnoreDaemonsetsUtilization:   pulumi.Bool(false),
		MaxGracefulTerminationSec:     pulumi.Int(0),
		ScaleDownDelayAfterAdd:        pulumi.String("string"),
		ScaleDownUnneededTime:         pulumi.String("string"),
		ScaleDownUtilizationThreshold: pulumi.Float64(0),
	},
	AutoUpgrade: &kubernetes.ClusterAutoUpgradeArgs{
		Enable:                     pulumi.Bool(false),
		MaintenanceWindowDay:       pulumi.String("string"),
		MaintenanceWindowStartHour: pulumi.Int(0),
	},
	Description: pulumi.String("string"),
	FeatureGates: pulumi.StringArray{
		pulumi.String("string"),
	},
	AdmissionPlugins: pulumi.StringArray{
		pulumi.String("string"),
	},
	OpenIdConnectConfig: &kubernetes.ClusterOpenIdConnectConfigArgs{
		ClientId:  pulumi.String("string"),
		IssuerUrl: pulumi.String("string"),
		GroupsClaims: pulumi.StringArray{
			pulumi.String("string"),
		},
		GroupsPrefix: pulumi.String("string"),
		RequiredClaims: pulumi.StringArray{
			pulumi.String("string"),
		},
		UsernameClaim:  pulumi.String("string"),
		UsernamePrefix: pulumi.String("string"),
	},
	PrivateNetworkId: pulumi.String("string"),
	ProjectId:        pulumi.String("string"),
	Region:           pulumi.String("string"),
	Tags: pulumi.StringArray{
		pulumi.String("string"),
	},
	Type: pulumi.String("string"),
	ApiserverCertSans: pulumi.StringArray{
		pulumi.String("string"),
	},
})
var clusterResource = new Cluster("clusterResource", ClusterArgs.builder()
    .cni("string")
    .version("string")
    .deleteAdditionalResources(false)
    .name("string")
    .autoscalerConfig(ClusterAutoscalerConfigArgs.builder()
        .balanceSimilarNodeGroups(false)
        .disableScaleDown(false)
        .estimator("string")
        .expander("string")
        .expendablePodsPriorityCutoff(0)
        .ignoreDaemonsetsUtilization(false)
        .maxGracefulTerminationSec(0)
        .scaleDownDelayAfterAdd("string")
        .scaleDownUnneededTime("string")
        .scaleDownUtilizationThreshold(0)
        .build())
    .autoUpgrade(ClusterAutoUpgradeArgs.builder()
        .enable(false)
        .maintenanceWindowDay("string")
        .maintenanceWindowStartHour(0)
        .build())
    .description("string")
    .featureGates("string")
    .admissionPlugins("string")
    .openIdConnectConfig(ClusterOpenIdConnectConfigArgs.builder()
        .clientId("string")
        .issuerUrl("string")
        .groupsClaims("string")
        .groupsPrefix("string")
        .requiredClaims("string")
        .usernameClaim("string")
        .usernamePrefix("string")
        .build())
    .privateNetworkId("string")
    .projectId("string")
    .region("string")
    .tags("string")
    .type("string")
    .apiserverCertSans("string")
    .build());
cluster_resource = scaleway.kubernetes.Cluster("clusterResource",
    cni="string",
    version="string",
    delete_additional_resources=False,
    name="string",
    autoscaler_config={
        "balance_similar_node_groups": False,
        "disable_scale_down": False,
        "estimator": "string",
        "expander": "string",
        "expendable_pods_priority_cutoff": 0,
        "ignore_daemonsets_utilization": False,
        "max_graceful_termination_sec": 0,
        "scale_down_delay_after_add": "string",
        "scale_down_unneeded_time": "string",
        "scale_down_utilization_threshold": 0,
    },
    auto_upgrade={
        "enable": False,
        "maintenance_window_day": "string",
        "maintenance_window_start_hour": 0,
    },
    description="string",
    feature_gates=["string"],
    admission_plugins=["string"],
    open_id_connect_config={
        "client_id": "string",
        "issuer_url": "string",
        "groups_claims": ["string"],
        "groups_prefix": "string",
        "required_claims": ["string"],
        "username_claim": "string",
        "username_prefix": "string",
    },
    private_network_id="string",
    project_id="string",
    region="string",
    tags=["string"],
    type="string",
    apiserver_cert_sans=["string"])
const clusterResource = new scaleway.kubernetes.Cluster("clusterResource", {
    cni: "string",
    version: "string",
    deleteAdditionalResources: false,
    name: "string",
    autoscalerConfig: {
        balanceSimilarNodeGroups: false,
        disableScaleDown: false,
        estimator: "string",
        expander: "string",
        expendablePodsPriorityCutoff: 0,
        ignoreDaemonsetsUtilization: false,
        maxGracefulTerminationSec: 0,
        scaleDownDelayAfterAdd: "string",
        scaleDownUnneededTime: "string",
        scaleDownUtilizationThreshold: 0,
    },
    autoUpgrade: {
        enable: false,
        maintenanceWindowDay: "string",
        maintenanceWindowStartHour: 0,
    },
    description: "string",
    featureGates: ["string"],
    admissionPlugins: ["string"],
    openIdConnectConfig: {
        clientId: "string",
        issuerUrl: "string",
        groupsClaims: ["string"],
        groupsPrefix: "string",
        requiredClaims: ["string"],
        usernameClaim: "string",
        usernamePrefix: "string",
    },
    privateNetworkId: "string",
    projectId: "string",
    region: "string",
    tags: ["string"],
    type: "string",
    apiserverCertSans: ["string"],
});
type: scaleway:kubernetes:Cluster
properties:
    admissionPlugins:
        - string
    apiserverCertSans:
        - string
    autoUpgrade:
        enable: false
        maintenanceWindowDay: string
        maintenanceWindowStartHour: 0
    autoscalerConfig:
        balanceSimilarNodeGroups: false
        disableScaleDown: false
        estimator: string
        expander: string
        expendablePodsPriorityCutoff: 0
        ignoreDaemonsetsUtilization: false
        maxGracefulTerminationSec: 0
        scaleDownDelayAfterAdd: string
        scaleDownUnneededTime: string
        scaleDownUtilizationThreshold: 0
    cni: string
    deleteAdditionalResources: false
    description: string
    featureGates:
        - string
    name: string
    openIdConnectConfig:
        clientId: string
        groupsClaims:
            - string
        groupsPrefix: string
        issuerUrl: string
        requiredClaims:
            - string
        usernameClaim: string
        usernamePrefix: string
    privateNetworkId: string
    projectId: string
    region: string
    tags:
        - string
    type: string
    version: string
Cluster Resource Properties
To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.
Inputs
In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.
The Cluster resource accepts the following input properties:
- Cni string
- The Container Network Interface (CNI) for the Kubernetes cluster. - Important: Updates to this field will recreate a new resource. 
- DeleteAdditional boolResources 
- Delete additional resources like block volumes, load-balancers and the cluster's private network (if empty) that were created in Kubernetes on cluster deletion. - Important: Setting this field to - truemeans that you will lose all your cluster data and network configuration when you delete your cluster. If you prefer keeping it, you should instead set it as- false.
- Version string
- The version of the Kubernetes cluster.
- AdmissionPlugins List<string>
- The list of admission plugins to enable on the cluster.
- ApiserverCert List<string>Sans 
- Additional Subject Alternative Names for the Kubernetes API server certificate
- AutoUpgrade Pulumiverse.Scaleway. Kubernetes. Inputs. Cluster Auto Upgrade 
- The auto upgrade configuration.
- AutoscalerConfig Pulumiverse.Scaleway. Kubernetes. Inputs. Cluster Autoscaler Config 
- The configuration options for the Kubernetes cluster autoscaler.
- Description string
- A description for the Kubernetes cluster.
- FeatureGates List<string>
- The list of feature gates to enable on the cluster.
- Name string
- The name for the Kubernetes cluster.
- OpenId Pulumiverse.Connect Config Scaleway. Kubernetes. Inputs. Cluster Open Id Connect Config 
- The OpenID Connect configuration of the cluster
- PrivateNetwork stringId 
- The ID of the private network of the cluster. - Important: Changes to this field will recreate a new resource. - Important: Private Networks are now mandatory with Kapsule Clusters. If you have a legacy cluster (no - private_network_idset), you can still set it now. In this case it will not destroy and recreate your cluster but migrate it to the Private Network.
- ProjectId string
- project_id) The ID of the project the cluster is associated with.
- Region string
- region) The region in which the cluster should be created.
- List<string>
- The tags associated with the Kubernetes cluster.
- Type string
- The type of Kubernetes cluster. Possible values are: - for mutualized clusters: - kapsuleor- multicloud
- for dedicated Kapsule clusters: - kapsule-dedicated-4,- kapsule-dedicated-8or- kapsule-dedicated-16.
- for dedicated Kosmos clusters: - multicloud-dedicated-4,- multicloud-dedicated-8or- multicloud-dedicated-16.
 
- Cni string
- The Container Network Interface (CNI) for the Kubernetes cluster. - Important: Updates to this field will recreate a new resource. 
- DeleteAdditional boolResources 
- Delete additional resources like block volumes, load-balancers and the cluster's private network (if empty) that were created in Kubernetes on cluster deletion. - Important: Setting this field to - truemeans that you will lose all your cluster data and network configuration when you delete your cluster. If you prefer keeping it, you should instead set it as- false.
- Version string
- The version of the Kubernetes cluster.
- AdmissionPlugins []string
- The list of admission plugins to enable on the cluster.
- ApiserverCert []stringSans 
- Additional Subject Alternative Names for the Kubernetes API server certificate
- AutoUpgrade ClusterAuto Upgrade Args 
- The auto upgrade configuration.
- AutoscalerConfig ClusterAutoscaler Config Args 
- The configuration options for the Kubernetes cluster autoscaler.
- Description string
- A description for the Kubernetes cluster.
- FeatureGates []string
- The list of feature gates to enable on the cluster.
- Name string
- The name for the Kubernetes cluster.
- OpenId ClusterConnect Config Open Id Connect Config Args 
- The OpenID Connect configuration of the cluster
- PrivateNetwork stringId 
- The ID of the private network of the cluster. - Important: Changes to this field will recreate a new resource. - Important: Private Networks are now mandatory with Kapsule Clusters. If you have a legacy cluster (no - private_network_idset), you can still set it now. In this case it will not destroy and recreate your cluster but migrate it to the Private Network.
- ProjectId string
- project_id) The ID of the project the cluster is associated with.
- Region string
- region) The region in which the cluster should be created.
- []string
- The tags associated with the Kubernetes cluster.
- Type string
- The type of Kubernetes cluster. Possible values are: - for mutualized clusters: - kapsuleor- multicloud
- for dedicated Kapsule clusters: - kapsule-dedicated-4,- kapsule-dedicated-8or- kapsule-dedicated-16.
- for dedicated Kosmos clusters: - multicloud-dedicated-4,- multicloud-dedicated-8or- multicloud-dedicated-16.
 
- cni String
- The Container Network Interface (CNI) for the Kubernetes cluster. - Important: Updates to this field will recreate a new resource. 
- deleteAdditional BooleanResources 
- Delete additional resources like block volumes, load-balancers and the cluster's private network (if empty) that were created in Kubernetes on cluster deletion. - Important: Setting this field to - truemeans that you will lose all your cluster data and network configuration when you delete your cluster. If you prefer keeping it, you should instead set it as- false.
- version String
- The version of the Kubernetes cluster.
- admissionPlugins List<String>
- The list of admission plugins to enable on the cluster.
- apiserverCert List<String>Sans 
- Additional Subject Alternative Names for the Kubernetes API server certificate
- autoUpgrade ClusterAuto Upgrade 
- The auto upgrade configuration.
- autoscalerConfig ClusterAutoscaler Config 
- The configuration options for the Kubernetes cluster autoscaler.
- description String
- A description for the Kubernetes cluster.
- featureGates List<String>
- The list of feature gates to enable on the cluster.
- name String
- The name for the Kubernetes cluster.
- openId ClusterConnect Config Open Id Connect Config 
- The OpenID Connect configuration of the cluster
- privateNetwork StringId 
- The ID of the private network of the cluster. - Important: Changes to this field will recreate a new resource. - Important: Private Networks are now mandatory with Kapsule Clusters. If you have a legacy cluster (no - private_network_idset), you can still set it now. In this case it will not destroy and recreate your cluster but migrate it to the Private Network.
- projectId String
- project_id) The ID of the project the cluster is associated with.
- region String
- region) The region in which the cluster should be created.
- List<String>
- The tags associated with the Kubernetes cluster.
- type String
- The type of Kubernetes cluster. Possible values are: - for mutualized clusters: - kapsuleor- multicloud
- for dedicated Kapsule clusters: - kapsule-dedicated-4,- kapsule-dedicated-8or- kapsule-dedicated-16.
- for dedicated Kosmos clusters: - multicloud-dedicated-4,- multicloud-dedicated-8or- multicloud-dedicated-16.
 
- cni string
- The Container Network Interface (CNI) for the Kubernetes cluster. - Important: Updates to this field will recreate a new resource. 
- deleteAdditional booleanResources 
- Delete additional resources like block volumes, load-balancers and the cluster's private network (if empty) that were created in Kubernetes on cluster deletion. - Important: Setting this field to - truemeans that you will lose all your cluster data and network configuration when you delete your cluster. If you prefer keeping it, you should instead set it as- false.
- version string
- The version of the Kubernetes cluster.
- admissionPlugins string[]
- The list of admission plugins to enable on the cluster.
- apiserverCert string[]Sans 
- Additional Subject Alternative Names for the Kubernetes API server certificate
- autoUpgrade ClusterAuto Upgrade 
- The auto upgrade configuration.
- autoscalerConfig ClusterAutoscaler Config 
- The configuration options for the Kubernetes cluster autoscaler.
- description string
- A description for the Kubernetes cluster.
- featureGates string[]
- The list of feature gates to enable on the cluster.
- name string
- The name for the Kubernetes cluster.
- openId ClusterConnect Config Open Id Connect Config 
- The OpenID Connect configuration of the cluster
- privateNetwork stringId 
- The ID of the private network of the cluster. - Important: Changes to this field will recreate a new resource. - Important: Private Networks are now mandatory with Kapsule Clusters. If you have a legacy cluster (no - private_network_idset), you can still set it now. In this case it will not destroy and recreate your cluster but migrate it to the Private Network.
- projectId string
- project_id) The ID of the project the cluster is associated with.
- region string
- region) The region in which the cluster should be created.
- string[]
- The tags associated with the Kubernetes cluster.
- type string
- The type of Kubernetes cluster. Possible values are: - for mutualized clusters: - kapsuleor- multicloud
- for dedicated Kapsule clusters: - kapsule-dedicated-4,- kapsule-dedicated-8or- kapsule-dedicated-16.
- for dedicated Kosmos clusters: - multicloud-dedicated-4,- multicloud-dedicated-8or- multicloud-dedicated-16.
 
- cni str
- The Container Network Interface (CNI) for the Kubernetes cluster. - Important: Updates to this field will recreate a new resource. 
- delete_additional_ boolresources 
- Delete additional resources like block volumes, load-balancers and the cluster's private network (if empty) that were created in Kubernetes on cluster deletion. - Important: Setting this field to - truemeans that you will lose all your cluster data and network configuration when you delete your cluster. If you prefer keeping it, you should instead set it as- false.
- version str
- The version of the Kubernetes cluster.
- admission_plugins Sequence[str]
- The list of admission plugins to enable on the cluster.
- apiserver_cert_ Sequence[str]sans 
- Additional Subject Alternative Names for the Kubernetes API server certificate
- auto_upgrade ClusterAuto Upgrade Args 
- The auto upgrade configuration.
- autoscaler_config ClusterAutoscaler Config Args 
- The configuration options for the Kubernetes cluster autoscaler.
- description str
- A description for the Kubernetes cluster.
- feature_gates Sequence[str]
- The list of feature gates to enable on the cluster.
- name str
- The name for the Kubernetes cluster.
- open_id_ Clusterconnect_ config Open Id Connect Config Args 
- The OpenID Connect configuration of the cluster
- private_network_ strid 
- The ID of the private network of the cluster. - Important: Changes to this field will recreate a new resource. - Important: Private Networks are now mandatory with Kapsule Clusters. If you have a legacy cluster (no - private_network_idset), you can still set it now. In this case it will not destroy and recreate your cluster but migrate it to the Private Network.
- project_id str
- project_id) The ID of the project the cluster is associated with.
- region str
- region) The region in which the cluster should be created.
- Sequence[str]
- The tags associated with the Kubernetes cluster.
- type str
- The type of Kubernetes cluster. Possible values are: - for mutualized clusters: - kapsuleor- multicloud
- for dedicated Kapsule clusters: - kapsule-dedicated-4,- kapsule-dedicated-8or- kapsule-dedicated-16.
- for dedicated Kosmos clusters: - multicloud-dedicated-4,- multicloud-dedicated-8or- multicloud-dedicated-16.
 
- cni String
- The Container Network Interface (CNI) for the Kubernetes cluster. - Important: Updates to this field will recreate a new resource. 
- deleteAdditional BooleanResources 
- Delete additional resources like block volumes, load-balancers and the cluster's private network (if empty) that were created in Kubernetes on cluster deletion. - Important: Setting this field to - truemeans that you will lose all your cluster data and network configuration when you delete your cluster. If you prefer keeping it, you should instead set it as- false.
- version String
- The version of the Kubernetes cluster.
- admissionPlugins List<String>
- The list of admission plugins to enable on the cluster.
- apiserverCert List<String>Sans 
- Additional Subject Alternative Names for the Kubernetes API server certificate
- autoUpgrade Property Map
- The auto upgrade configuration.
- autoscalerConfig Property Map
- The configuration options for the Kubernetes cluster autoscaler.
- description String
- A description for the Kubernetes cluster.
- featureGates List<String>
- The list of feature gates to enable on the cluster.
- name String
- The name for the Kubernetes cluster.
- openId Property MapConnect Config 
- The OpenID Connect configuration of the cluster
- privateNetwork StringId 
- The ID of the private network of the cluster. - Important: Changes to this field will recreate a new resource. - Important: Private Networks are now mandatory with Kapsule Clusters. If you have a legacy cluster (no - private_network_idset), you can still set it now. In this case it will not destroy and recreate your cluster but migrate it to the Private Network.
- projectId String
- project_id) The ID of the project the cluster is associated with.
- region String
- region) The region in which the cluster should be created.
- List<String>
- The tags associated with the Kubernetes cluster.
- type String
- The type of Kubernetes cluster. Possible values are: - for mutualized clusters: - kapsuleor- multicloud
- for dedicated Kapsule clusters: - kapsule-dedicated-4,- kapsule-dedicated-8or- kapsule-dedicated-16.
- for dedicated Kosmos clusters: - multicloud-dedicated-4,- multicloud-dedicated-8or- multicloud-dedicated-16.
 
Outputs
All input properties are implicitly available as output properties. Additionally, the Cluster resource produces the following output properties:
- ApiserverUrl string
- The URL of the Kubernetes API server.
- CreatedAt string
- The creation date of the cluster.
- Id string
- The provider-assigned unique ID for this managed resource.
- Kubeconfigs
List<Pulumiverse.Scaleway. Kubernetes. Outputs. Cluster Kubeconfig> 
- The kubeconfig configuration file of the Kubernetes cluster
- OrganizationId string
- The organization ID the cluster is associated with.
- Status string
- The status of the Kubernetes cluster.
- UpdatedAt string
- The last update date of the cluster.
- UpgradeAvailable bool
- Set to trueif a newer Kubernetes version is available.
- WildcardDns string
- The DNS wildcard that points to all ready nodes.
- ApiserverUrl string
- The URL of the Kubernetes API server.
- CreatedAt string
- The creation date of the cluster.
- Id string
- The provider-assigned unique ID for this managed resource.
- Kubeconfigs
[]ClusterKubeconfig 
- The kubeconfig configuration file of the Kubernetes cluster
- OrganizationId string
- The organization ID the cluster is associated with.
- Status string
- The status of the Kubernetes cluster.
- UpdatedAt string
- The last update date of the cluster.
- UpgradeAvailable bool
- Set to trueif a newer Kubernetes version is available.
- WildcardDns string
- The DNS wildcard that points to all ready nodes.
- apiserverUrl String
- The URL of the Kubernetes API server.
- createdAt String
- The creation date of the cluster.
- id String
- The provider-assigned unique ID for this managed resource.
- kubeconfigs
List<ClusterKubeconfig> 
- The kubeconfig configuration file of the Kubernetes cluster
- organizationId String
- The organization ID the cluster is associated with.
- status String
- The status of the Kubernetes cluster.
- updatedAt String
- The last update date of the cluster.
- upgradeAvailable Boolean
- Set to trueif a newer Kubernetes version is available.
- wildcardDns String
- The DNS wildcard that points to all ready nodes.
- apiserverUrl string
- The URL of the Kubernetes API server.
- createdAt string
- The creation date of the cluster.
- id string
- The provider-assigned unique ID for this managed resource.
- kubeconfigs
ClusterKubeconfig[] 
- The kubeconfig configuration file of the Kubernetes cluster
- organizationId string
- The organization ID the cluster is associated with.
- status string
- The status of the Kubernetes cluster.
- updatedAt string
- The last update date of the cluster.
- upgradeAvailable boolean
- Set to trueif a newer Kubernetes version is available.
- wildcardDns string
- The DNS wildcard that points to all ready nodes.
- apiserver_url str
- The URL of the Kubernetes API server.
- created_at str
- The creation date of the cluster.
- id str
- The provider-assigned unique ID for this managed resource.
- kubeconfigs
Sequence[ClusterKubeconfig] 
- The kubeconfig configuration file of the Kubernetes cluster
- organization_id str
- The organization ID the cluster is associated with.
- status str
- The status of the Kubernetes cluster.
- updated_at str
- The last update date of the cluster.
- upgrade_available bool
- Set to trueif a newer Kubernetes version is available.
- wildcard_dns str
- The DNS wildcard that points to all ready nodes.
- apiserverUrl String
- The URL of the Kubernetes API server.
- createdAt String
- The creation date of the cluster.
- id String
- The provider-assigned unique ID for this managed resource.
- kubeconfigs List<Property Map>
- The kubeconfig configuration file of the Kubernetes cluster
- organizationId String
- The organization ID the cluster is associated with.
- status String
- The status of the Kubernetes cluster.
- updatedAt String
- The last update date of the cluster.
- upgradeAvailable Boolean
- Set to trueif a newer Kubernetes version is available.
- wildcardDns String
- The DNS wildcard that points to all ready nodes.
Look up Existing Cluster Resource
Get an existing Cluster resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
public static get(name: string, id: Input<ID>, state?: ClusterState, opts?: CustomResourceOptions): Cluster@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        admission_plugins: Optional[Sequence[str]] = None,
        apiserver_cert_sans: Optional[Sequence[str]] = None,
        apiserver_url: Optional[str] = None,
        auto_upgrade: Optional[ClusterAutoUpgradeArgs] = None,
        autoscaler_config: Optional[ClusterAutoscalerConfigArgs] = None,
        cni: Optional[str] = None,
        created_at: Optional[str] = None,
        delete_additional_resources: Optional[bool] = None,
        description: Optional[str] = None,
        feature_gates: Optional[Sequence[str]] = None,
        kubeconfigs: Optional[Sequence[ClusterKubeconfigArgs]] = None,
        name: Optional[str] = None,
        open_id_connect_config: Optional[ClusterOpenIdConnectConfigArgs] = None,
        organization_id: Optional[str] = None,
        private_network_id: Optional[str] = None,
        project_id: Optional[str] = None,
        region: Optional[str] = None,
        status: Optional[str] = None,
        tags: Optional[Sequence[str]] = None,
        type: Optional[str] = None,
        updated_at: Optional[str] = None,
        upgrade_available: Optional[bool] = None,
        version: Optional[str] = None,
        wildcard_dns: Optional[str] = None) -> Clusterfunc GetCluster(ctx *Context, name string, id IDInput, state *ClusterState, opts ...ResourceOption) (*Cluster, error)public static Cluster Get(string name, Input<string> id, ClusterState? state, CustomResourceOptions? opts = null)public static Cluster get(String name, Output<String> id, ClusterState state, CustomResourceOptions options)resources:  _:    type: scaleway:kubernetes:Cluster    get:      id: ${id}- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- resource_name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- AdmissionPlugins List<string>
- The list of admission plugins to enable on the cluster.
- ApiserverCert List<string>Sans 
- Additional Subject Alternative Names for the Kubernetes API server certificate
- ApiserverUrl string
- The URL of the Kubernetes API server.
- AutoUpgrade Pulumiverse.Scaleway. Kubernetes. Inputs. Cluster Auto Upgrade 
- The auto upgrade configuration.
- AutoscalerConfig Pulumiverse.Scaleway. Kubernetes. Inputs. Cluster Autoscaler Config 
- The configuration options for the Kubernetes cluster autoscaler.
- Cni string
- The Container Network Interface (CNI) for the Kubernetes cluster. - Important: Updates to this field will recreate a new resource. 
- CreatedAt string
- The creation date of the cluster.
- DeleteAdditional boolResources 
- Delete additional resources like block volumes, load-balancers and the cluster's private network (if empty) that were created in Kubernetes on cluster deletion. - Important: Setting this field to - truemeans that you will lose all your cluster data and network configuration when you delete your cluster. If you prefer keeping it, you should instead set it as- false.
- Description string
- A description for the Kubernetes cluster.
- FeatureGates List<string>
- The list of feature gates to enable on the cluster.
- Kubeconfigs
List<Pulumiverse.Scaleway. Kubernetes. Inputs. Cluster Kubeconfig> 
- The kubeconfig configuration file of the Kubernetes cluster
- Name string
- The name for the Kubernetes cluster.
- OpenId Pulumiverse.Connect Config Scaleway. Kubernetes. Inputs. Cluster Open Id Connect Config 
- The OpenID Connect configuration of the cluster
- OrganizationId string
- The organization ID the cluster is associated with.
- PrivateNetwork stringId 
- The ID of the private network of the cluster. - Important: Changes to this field will recreate a new resource. - Important: Private Networks are now mandatory with Kapsule Clusters. If you have a legacy cluster (no - private_network_idset), you can still set it now. In this case it will not destroy and recreate your cluster but migrate it to the Private Network.
- ProjectId string
- project_id) The ID of the project the cluster is associated with.
- Region string
- region) The region in which the cluster should be created.
- Status string
- The status of the Kubernetes cluster.
- List<string>
- The tags associated with the Kubernetes cluster.
- Type string
- The type of Kubernetes cluster. Possible values are: - for mutualized clusters: - kapsuleor- multicloud
- for dedicated Kapsule clusters: - kapsule-dedicated-4,- kapsule-dedicated-8or- kapsule-dedicated-16.
- for dedicated Kosmos clusters: - multicloud-dedicated-4,- multicloud-dedicated-8or- multicloud-dedicated-16.
 
- UpdatedAt string
- The last update date of the cluster.
- UpgradeAvailable bool
- Set to trueif a newer Kubernetes version is available.
- Version string
- The version of the Kubernetes cluster.
- WildcardDns string
- The DNS wildcard that points to all ready nodes.
- AdmissionPlugins []string
- The list of admission plugins to enable on the cluster.
- ApiserverCert []stringSans 
- Additional Subject Alternative Names for the Kubernetes API server certificate
- ApiserverUrl string
- The URL of the Kubernetes API server.
- AutoUpgrade ClusterAuto Upgrade Args 
- The auto upgrade configuration.
- AutoscalerConfig ClusterAutoscaler Config Args 
- The configuration options for the Kubernetes cluster autoscaler.
- Cni string
- The Container Network Interface (CNI) for the Kubernetes cluster. - Important: Updates to this field will recreate a new resource. 
- CreatedAt string
- The creation date of the cluster.
- DeleteAdditional boolResources 
- Delete additional resources like block volumes, load-balancers and the cluster's private network (if empty) that were created in Kubernetes on cluster deletion. - Important: Setting this field to - truemeans that you will lose all your cluster data and network configuration when you delete your cluster. If you prefer keeping it, you should instead set it as- false.
- Description string
- A description for the Kubernetes cluster.
- FeatureGates []string
- The list of feature gates to enable on the cluster.
- Kubeconfigs
[]ClusterKubeconfig Args 
- The kubeconfig configuration file of the Kubernetes cluster
- Name string
- The name for the Kubernetes cluster.
- OpenId ClusterConnect Config Open Id Connect Config Args 
- The OpenID Connect configuration of the cluster
- OrganizationId string
- The organization ID the cluster is associated with.
- PrivateNetwork stringId 
- The ID of the private network of the cluster. - Important: Changes to this field will recreate a new resource. - Important: Private Networks are now mandatory with Kapsule Clusters. If you have a legacy cluster (no - private_network_idset), you can still set it now. In this case it will not destroy and recreate your cluster but migrate it to the Private Network.
- ProjectId string
- project_id) The ID of the project the cluster is associated with.
- Region string
- region) The region in which the cluster should be created.
- Status string
- The status of the Kubernetes cluster.
- []string
- The tags associated with the Kubernetes cluster.
- Type string
- The type of Kubernetes cluster. Possible values are: - for mutualized clusters: - kapsuleor- multicloud
- for dedicated Kapsule clusters: - kapsule-dedicated-4,- kapsule-dedicated-8or- kapsule-dedicated-16.
- for dedicated Kosmos clusters: - multicloud-dedicated-4,- multicloud-dedicated-8or- multicloud-dedicated-16.
 
- UpdatedAt string
- The last update date of the cluster.
- UpgradeAvailable bool
- Set to trueif a newer Kubernetes version is available.
- Version string
- The version of the Kubernetes cluster.
- WildcardDns string
- The DNS wildcard that points to all ready nodes.
- admissionPlugins List<String>
- The list of admission plugins to enable on the cluster.
- apiserverCert List<String>Sans 
- Additional Subject Alternative Names for the Kubernetes API server certificate
- apiserverUrl String
- The URL of the Kubernetes API server.
- autoUpgrade ClusterAuto Upgrade 
- The auto upgrade configuration.
- autoscalerConfig ClusterAutoscaler Config 
- The configuration options for the Kubernetes cluster autoscaler.
- cni String
- The Container Network Interface (CNI) for the Kubernetes cluster. - Important: Updates to this field will recreate a new resource. 
- createdAt String
- The creation date of the cluster.
- deleteAdditional BooleanResources 
- Delete additional resources like block volumes, load-balancers and the cluster's private network (if empty) that were created in Kubernetes on cluster deletion. - Important: Setting this field to - truemeans that you will lose all your cluster data and network configuration when you delete your cluster. If you prefer keeping it, you should instead set it as- false.
- description String
- A description for the Kubernetes cluster.
- featureGates List<String>
- The list of feature gates to enable on the cluster.
- kubeconfigs
List<ClusterKubeconfig> 
- The kubeconfig configuration file of the Kubernetes cluster
- name String
- The name for the Kubernetes cluster.
- openId ClusterConnect Config Open Id Connect Config 
- The OpenID Connect configuration of the cluster
- organizationId String
- The organization ID the cluster is associated with.
- privateNetwork StringId 
- The ID of the private network of the cluster. - Important: Changes to this field will recreate a new resource. - Important: Private Networks are now mandatory with Kapsule Clusters. If you have a legacy cluster (no - private_network_idset), you can still set it now. In this case it will not destroy and recreate your cluster but migrate it to the Private Network.
- projectId String
- project_id) The ID of the project the cluster is associated with.
- region String
- region) The region in which the cluster should be created.
- status String
- The status of the Kubernetes cluster.
- List<String>
- The tags associated with the Kubernetes cluster.
- type String
- The type of Kubernetes cluster. Possible values are: - for mutualized clusters: - kapsuleor- multicloud
- for dedicated Kapsule clusters: - kapsule-dedicated-4,- kapsule-dedicated-8or- kapsule-dedicated-16.
- for dedicated Kosmos clusters: - multicloud-dedicated-4,- multicloud-dedicated-8or- multicloud-dedicated-16.
 
- updatedAt String
- The last update date of the cluster.
- upgradeAvailable Boolean
- Set to trueif a newer Kubernetes version is available.
- version String
- The version of the Kubernetes cluster.
- wildcardDns String
- The DNS wildcard that points to all ready nodes.
- admissionPlugins string[]
- The list of admission plugins to enable on the cluster.
- apiserverCert string[]Sans 
- Additional Subject Alternative Names for the Kubernetes API server certificate
- apiserverUrl string
- The URL of the Kubernetes API server.
- autoUpgrade ClusterAuto Upgrade 
- The auto upgrade configuration.
- autoscalerConfig ClusterAutoscaler Config 
- The configuration options for the Kubernetes cluster autoscaler.
- cni string
- The Container Network Interface (CNI) for the Kubernetes cluster. - Important: Updates to this field will recreate a new resource. 
- createdAt string
- The creation date of the cluster.
- deleteAdditional booleanResources 
- Delete additional resources like block volumes, load-balancers and the cluster's private network (if empty) that were created in Kubernetes on cluster deletion. - Important: Setting this field to - truemeans that you will lose all your cluster data and network configuration when you delete your cluster. If you prefer keeping it, you should instead set it as- false.
- description string
- A description for the Kubernetes cluster.
- featureGates string[]
- The list of feature gates to enable on the cluster.
- kubeconfigs
ClusterKubeconfig[] 
- The kubeconfig configuration file of the Kubernetes cluster
- name string
- The name for the Kubernetes cluster.
- openId ClusterConnect Config Open Id Connect Config 
- The OpenID Connect configuration of the cluster
- organizationId string
- The organization ID the cluster is associated with.
- privateNetwork stringId 
- The ID of the private network of the cluster. - Important: Changes to this field will recreate a new resource. - Important: Private Networks are now mandatory with Kapsule Clusters. If you have a legacy cluster (no - private_network_idset), you can still set it now. In this case it will not destroy and recreate your cluster but migrate it to the Private Network.
- projectId string
- project_id) The ID of the project the cluster is associated with.
- region string
- region) The region in which the cluster should be created.
- status string
- The status of the Kubernetes cluster.
- string[]
- The tags associated with the Kubernetes cluster.
- type string
- The type of Kubernetes cluster. Possible values are: - for mutualized clusters: - kapsuleor- multicloud
- for dedicated Kapsule clusters: - kapsule-dedicated-4,- kapsule-dedicated-8or- kapsule-dedicated-16.
- for dedicated Kosmos clusters: - multicloud-dedicated-4,- multicloud-dedicated-8or- multicloud-dedicated-16.
 
- updatedAt string
- The last update date of the cluster.
- upgradeAvailable boolean
- Set to trueif a newer Kubernetes version is available.
- version string
- The version of the Kubernetes cluster.
- wildcardDns string
- The DNS wildcard that points to all ready nodes.
- admission_plugins Sequence[str]
- The list of admission plugins to enable on the cluster.
- apiserver_cert_ Sequence[str]sans 
- Additional Subject Alternative Names for the Kubernetes API server certificate
- apiserver_url str
- The URL of the Kubernetes API server.
- auto_upgrade ClusterAuto Upgrade Args 
- The auto upgrade configuration.
- autoscaler_config ClusterAutoscaler Config Args 
- The configuration options for the Kubernetes cluster autoscaler.
- cni str
- The Container Network Interface (CNI) for the Kubernetes cluster. - Important: Updates to this field will recreate a new resource. 
- created_at str
- The creation date of the cluster.
- delete_additional_ boolresources 
- Delete additional resources like block volumes, load-balancers and the cluster's private network (if empty) that were created in Kubernetes on cluster deletion. - Important: Setting this field to - truemeans that you will lose all your cluster data and network configuration when you delete your cluster. If you prefer keeping it, you should instead set it as- false.
- description str
- A description for the Kubernetes cluster.
- feature_gates Sequence[str]
- The list of feature gates to enable on the cluster.
- kubeconfigs
Sequence[ClusterKubeconfig Args] 
- The kubeconfig configuration file of the Kubernetes cluster
- name str
- The name for the Kubernetes cluster.
- open_id_ Clusterconnect_ config Open Id Connect Config Args 
- The OpenID Connect configuration of the cluster
- organization_id str
- The organization ID the cluster is associated with.
- private_network_ strid 
- The ID of the private network of the cluster. - Important: Changes to this field will recreate a new resource. - Important: Private Networks are now mandatory with Kapsule Clusters. If you have a legacy cluster (no - private_network_idset), you can still set it now. In this case it will not destroy and recreate your cluster but migrate it to the Private Network.
- project_id str
- project_id) The ID of the project the cluster is associated with.
- region str
- region) The region in which the cluster should be created.
- status str
- The status of the Kubernetes cluster.
- Sequence[str]
- The tags associated with the Kubernetes cluster.
- type str
- The type of Kubernetes cluster. Possible values are: - for mutualized clusters: - kapsuleor- multicloud
- for dedicated Kapsule clusters: - kapsule-dedicated-4,- kapsule-dedicated-8or- kapsule-dedicated-16.
- for dedicated Kosmos clusters: - multicloud-dedicated-4,- multicloud-dedicated-8or- multicloud-dedicated-16.
 
- updated_at str
- The last update date of the cluster.
- upgrade_available bool
- Set to trueif a newer Kubernetes version is available.
- version str
- The version of the Kubernetes cluster.
- wildcard_dns str
- The DNS wildcard that points to all ready nodes.
- admissionPlugins List<String>
- The list of admission plugins to enable on the cluster.
- apiserverCert List<String>Sans 
- Additional Subject Alternative Names for the Kubernetes API server certificate
- apiserverUrl String
- The URL of the Kubernetes API server.
- autoUpgrade Property Map
- The auto upgrade configuration.
- autoscalerConfig Property Map
- The configuration options for the Kubernetes cluster autoscaler.
- cni String
- The Container Network Interface (CNI) for the Kubernetes cluster. - Important: Updates to this field will recreate a new resource. 
- createdAt String
- The creation date of the cluster.
- deleteAdditional BooleanResources 
- Delete additional resources like block volumes, load-balancers and the cluster's private network (if empty) that were created in Kubernetes on cluster deletion. - Important: Setting this field to - truemeans that you will lose all your cluster data and network configuration when you delete your cluster. If you prefer keeping it, you should instead set it as- false.
- description String
- A description for the Kubernetes cluster.
- featureGates List<String>
- The list of feature gates to enable on the cluster.
- kubeconfigs List<Property Map>
- The kubeconfig configuration file of the Kubernetes cluster
- name String
- The name for the Kubernetes cluster.
- openId Property MapConnect Config 
- The OpenID Connect configuration of the cluster
- organizationId String
- The organization ID the cluster is associated with.
- privateNetwork StringId 
- The ID of the private network of the cluster. - Important: Changes to this field will recreate a new resource. - Important: Private Networks are now mandatory with Kapsule Clusters. If you have a legacy cluster (no - private_network_idset), you can still set it now. In this case it will not destroy and recreate your cluster but migrate it to the Private Network.
- projectId String
- project_id) The ID of the project the cluster is associated with.
- region String
- region) The region in which the cluster should be created.
- status String
- The status of the Kubernetes cluster.
- List<String>
- The tags associated with the Kubernetes cluster.
- type String
- The type of Kubernetes cluster. Possible values are: - for mutualized clusters: - kapsuleor- multicloud
- for dedicated Kapsule clusters: - kapsule-dedicated-4,- kapsule-dedicated-8or- kapsule-dedicated-16.
- for dedicated Kosmos clusters: - multicloud-dedicated-4,- multicloud-dedicated-8or- multicloud-dedicated-16.
 
- updatedAt String
- The last update date of the cluster.
- upgradeAvailable Boolean
- Set to trueif a newer Kubernetes version is available.
- version String
- The version of the Kubernetes cluster.
- wildcardDns String
- The DNS wildcard that points to all ready nodes.
Supporting Types
ClusterAutoUpgrade, ClusterAutoUpgradeArgs      
- Enable bool
- Set to - trueto enable Kubernetes patch version auto upgrades.- Important: When enabling auto upgrades, the - versionfield take a minor version like x.y (ie 1.18).
- MaintenanceWindow stringDay 
- The day of the auto upgrade maintenance window (mondaytosunday, orany).
- MaintenanceWindow intStart Hour 
- The start hour (UTC) of the 2-hour auto upgrade maintenance window (0 to 23).
- Enable bool
- Set to - trueto enable Kubernetes patch version auto upgrades.- Important: When enabling auto upgrades, the - versionfield take a minor version like x.y (ie 1.18).
- MaintenanceWindow stringDay 
- The day of the auto upgrade maintenance window (mondaytosunday, orany).
- MaintenanceWindow intStart Hour 
- The start hour (UTC) of the 2-hour auto upgrade maintenance window (0 to 23).
- enable Boolean
- Set to - trueto enable Kubernetes patch version auto upgrades.- Important: When enabling auto upgrades, the - versionfield take a minor version like x.y (ie 1.18).
- maintenanceWindow StringDay 
- The day of the auto upgrade maintenance window (mondaytosunday, orany).
- maintenanceWindow IntegerStart Hour 
- The start hour (UTC) of the 2-hour auto upgrade maintenance window (0 to 23).
- enable boolean
- Set to - trueto enable Kubernetes patch version auto upgrades.- Important: When enabling auto upgrades, the - versionfield take a minor version like x.y (ie 1.18).
- maintenanceWindow stringDay 
- The day of the auto upgrade maintenance window (mondaytosunday, orany).
- maintenanceWindow numberStart Hour 
- The start hour (UTC) of the 2-hour auto upgrade maintenance window (0 to 23).
- enable bool
- Set to - trueto enable Kubernetes patch version auto upgrades.- Important: When enabling auto upgrades, the - versionfield take a minor version like x.y (ie 1.18).
- maintenance_window_ strday 
- The day of the auto upgrade maintenance window (mondaytosunday, orany).
- maintenance_window_ intstart_ hour 
- The start hour (UTC) of the 2-hour auto upgrade maintenance window (0 to 23).
- enable Boolean
- Set to - trueto enable Kubernetes patch version auto upgrades.- Important: When enabling auto upgrades, the - versionfield take a minor version like x.y (ie 1.18).
- maintenanceWindow StringDay 
- The day of the auto upgrade maintenance window (mondaytosunday, orany).
- maintenanceWindow NumberStart Hour 
- The start hour (UTC) of the 2-hour auto upgrade maintenance window (0 to 23).
ClusterAutoscalerConfig, ClusterAutoscalerConfigArgs      
- BalanceSimilar boolNode Groups 
- Detect similar node groups and balance the number of nodes between them.
- DisableScale boolDown 
- Disables the scale down feature of the autoscaler.
- Estimator string
- Type of resource estimator to be used in scale up.
- Expander string
- Type of node group expander to be used in scale up.
- ExpendablePods intPriority Cutoff 
- Pods with priority below cutoff will be expendable. They can be killed without any consideration during scale down and they don't cause scale up. Pods with null priority (PodPriority disabled) are non expendable.
- IgnoreDaemonsets boolUtilization 
- Ignore DaemonSet pods when calculating resource utilization for scaling down.
- MaxGraceful intTermination Sec 
- Maximum number of seconds the cluster autoscaler waits for pod termination when trying to scale down a node
- ScaleDown stringDelay After Add 
- How long after scale up that scale down evaluation resumes.
- ScaleDown stringUnneeded Time 
- How long a node should be unneeded before it is eligible for scale down.
- ScaleDown doubleUtilization Threshold 
- Node utilization level, defined as sum of requested resources divided by capacity, below which a node can be considered for scale down
- BalanceSimilar boolNode Groups 
- Detect similar node groups and balance the number of nodes between them.
- DisableScale boolDown 
- Disables the scale down feature of the autoscaler.
- Estimator string
- Type of resource estimator to be used in scale up.
- Expander string
- Type of node group expander to be used in scale up.
- ExpendablePods intPriority Cutoff 
- Pods with priority below cutoff will be expendable. They can be killed without any consideration during scale down and they don't cause scale up. Pods with null priority (PodPriority disabled) are non expendable.
- IgnoreDaemonsets boolUtilization 
- Ignore DaemonSet pods when calculating resource utilization for scaling down.
- MaxGraceful intTermination Sec 
- Maximum number of seconds the cluster autoscaler waits for pod termination when trying to scale down a node
- ScaleDown stringDelay After Add 
- How long after scale up that scale down evaluation resumes.
- ScaleDown stringUnneeded Time 
- How long a node should be unneeded before it is eligible for scale down.
- ScaleDown float64Utilization Threshold 
- Node utilization level, defined as sum of requested resources divided by capacity, below which a node can be considered for scale down
- balanceSimilar BooleanNode Groups 
- Detect similar node groups and balance the number of nodes between them.
- disableScale BooleanDown 
- Disables the scale down feature of the autoscaler.
- estimator String
- Type of resource estimator to be used in scale up.
- expander String
- Type of node group expander to be used in scale up.
- expendablePods IntegerPriority Cutoff 
- Pods with priority below cutoff will be expendable. They can be killed without any consideration during scale down and they don't cause scale up. Pods with null priority (PodPriority disabled) are non expendable.
- ignoreDaemonsets BooleanUtilization 
- Ignore DaemonSet pods when calculating resource utilization for scaling down.
- maxGraceful IntegerTermination Sec 
- Maximum number of seconds the cluster autoscaler waits for pod termination when trying to scale down a node
- scaleDown StringDelay After Add 
- How long after scale up that scale down evaluation resumes.
- scaleDown StringUnneeded Time 
- How long a node should be unneeded before it is eligible for scale down.
- scaleDown DoubleUtilization Threshold 
- Node utilization level, defined as sum of requested resources divided by capacity, below which a node can be considered for scale down
- balanceSimilar booleanNode Groups 
- Detect similar node groups and balance the number of nodes between them.
- disableScale booleanDown 
- Disables the scale down feature of the autoscaler.
- estimator string
- Type of resource estimator to be used in scale up.
- expander string
- Type of node group expander to be used in scale up.
- expendablePods numberPriority Cutoff 
- Pods with priority below cutoff will be expendable. They can be killed without any consideration during scale down and they don't cause scale up. Pods with null priority (PodPriority disabled) are non expendable.
- ignoreDaemonsets booleanUtilization 
- Ignore DaemonSet pods when calculating resource utilization for scaling down.
- maxGraceful numberTermination Sec 
- Maximum number of seconds the cluster autoscaler waits for pod termination when trying to scale down a node
- scaleDown stringDelay After Add 
- How long after scale up that scale down evaluation resumes.
- scaleDown stringUnneeded Time 
- How long a node should be unneeded before it is eligible for scale down.
- scaleDown numberUtilization Threshold 
- Node utilization level, defined as sum of requested resources divided by capacity, below which a node can be considered for scale down
- balance_similar_ boolnode_ groups 
- Detect similar node groups and balance the number of nodes between them.
- disable_scale_ booldown 
- Disables the scale down feature of the autoscaler.
- estimator str
- Type of resource estimator to be used in scale up.
- expander str
- Type of node group expander to be used in scale up.
- expendable_pods_ intpriority_ cutoff 
- Pods with priority below cutoff will be expendable. They can be killed without any consideration during scale down and they don't cause scale up. Pods with null priority (PodPriority disabled) are non expendable.
- ignore_daemonsets_ boolutilization 
- Ignore DaemonSet pods when calculating resource utilization for scaling down.
- max_graceful_ inttermination_ sec 
- Maximum number of seconds the cluster autoscaler waits for pod termination when trying to scale down a node
- scale_down_ strdelay_ after_ add 
- How long after scale up that scale down evaluation resumes.
- scale_down_ strunneeded_ time 
- How long a node should be unneeded before it is eligible for scale down.
- scale_down_ floatutilization_ threshold 
- Node utilization level, defined as sum of requested resources divided by capacity, below which a node can be considered for scale down
- balanceSimilar BooleanNode Groups 
- Detect similar node groups and balance the number of nodes between them.
- disableScale BooleanDown 
- Disables the scale down feature of the autoscaler.
- estimator String
- Type of resource estimator to be used in scale up.
- expander String
- Type of node group expander to be used in scale up.
- expendablePods NumberPriority Cutoff 
- Pods with priority below cutoff will be expendable. They can be killed without any consideration during scale down and they don't cause scale up. Pods with null priority (PodPriority disabled) are non expendable.
- ignoreDaemonsets BooleanUtilization 
- Ignore DaemonSet pods when calculating resource utilization for scaling down.
- maxGraceful NumberTermination Sec 
- Maximum number of seconds the cluster autoscaler waits for pod termination when trying to scale down a node
- scaleDown StringDelay After Add 
- How long after scale up that scale down evaluation resumes.
- scaleDown StringUnneeded Time 
- How long a node should be unneeded before it is eligible for scale down.
- scaleDown NumberUtilization Threshold 
- Node utilization level, defined as sum of requested resources divided by capacity, below which a node can be considered for scale down
ClusterKubeconfig, ClusterKubeconfigArgs    
- ClusterCa stringCertificate 
- The CA certificate of the Kubernetes API server.
- ConfigFile string
- The raw kubeconfig file.
- Host string
- The URL of the Kubernetes API server.
- Token string
- The token to connect to the Kubernetes API server.
- ClusterCa stringCertificate 
- The CA certificate of the Kubernetes API server.
- ConfigFile string
- The raw kubeconfig file.
- Host string
- The URL of the Kubernetes API server.
- Token string
- The token to connect to the Kubernetes API server.
- clusterCa StringCertificate 
- The CA certificate of the Kubernetes API server.
- configFile String
- The raw kubeconfig file.
- host String
- The URL of the Kubernetes API server.
- token String
- The token to connect to the Kubernetes API server.
- clusterCa stringCertificate 
- The CA certificate of the Kubernetes API server.
- configFile string
- The raw kubeconfig file.
- host string
- The URL of the Kubernetes API server.
- token string
- The token to connect to the Kubernetes API server.
- cluster_ca_ strcertificate 
- The CA certificate of the Kubernetes API server.
- config_file str
- The raw kubeconfig file.
- host str
- The URL of the Kubernetes API server.
- token str
- The token to connect to the Kubernetes API server.
- clusterCa StringCertificate 
- The CA certificate of the Kubernetes API server.
- configFile String
- The raw kubeconfig file.
- host String
- The URL of the Kubernetes API server.
- token String
- The token to connect to the Kubernetes API server.
ClusterOpenIdConnectConfig, ClusterOpenIdConnectConfigArgs          
- ClientId string
- A client id that all tokens must be issued for
- IssuerUrl string
- URL of the provider which allows the API server to discover public signing keys
- GroupsClaims List<string>
- JWT claim to use as the user's group
- GroupsPrefix string
- Prefix prepended to group claims
- RequiredClaims List<string>
- Multiple key=value pairs that describes a required claim in the ID Token
- UsernameClaim string
- JWT claim to use as the user name
- UsernamePrefix string
- Prefix prepended to username
- ClientId string
- A client id that all tokens must be issued for
- IssuerUrl string
- URL of the provider which allows the API server to discover public signing keys
- GroupsClaims []string
- JWT claim to use as the user's group
- GroupsPrefix string
- Prefix prepended to group claims
- RequiredClaims []string
- Multiple key=value pairs that describes a required claim in the ID Token
- UsernameClaim string
- JWT claim to use as the user name
- UsernamePrefix string
- Prefix prepended to username
- clientId String
- A client id that all tokens must be issued for
- issuerUrl String
- URL of the provider which allows the API server to discover public signing keys
- groupsClaims List<String>
- JWT claim to use as the user's group
- groupsPrefix String
- Prefix prepended to group claims
- requiredClaims List<String>
- Multiple key=value pairs that describes a required claim in the ID Token
- usernameClaim String
- JWT claim to use as the user name
- usernamePrefix String
- Prefix prepended to username
- clientId string
- A client id that all tokens must be issued for
- issuerUrl string
- URL of the provider which allows the API server to discover public signing keys
- groupsClaims string[]
- JWT claim to use as the user's group
- groupsPrefix string
- Prefix prepended to group claims
- requiredClaims string[]
- Multiple key=value pairs that describes a required claim in the ID Token
- usernameClaim string
- JWT claim to use as the user name
- usernamePrefix string
- Prefix prepended to username
- client_id str
- A client id that all tokens must be issued for
- issuer_url str
- URL of the provider which allows the API server to discover public signing keys
- groups_claims Sequence[str]
- JWT claim to use as the user's group
- groups_prefix str
- Prefix prepended to group claims
- required_claims Sequence[str]
- Multiple key=value pairs that describes a required claim in the ID Token
- username_claim str
- JWT claim to use as the user name
- username_prefix str
- Prefix prepended to username
- clientId String
- A client id that all tokens must be issued for
- issuerUrl String
- URL of the provider which allows the API server to discover public signing keys
- groupsClaims List<String>
- JWT claim to use as the user's group
- groupsPrefix String
- Prefix prepended to group claims
- requiredClaims List<String>
- Multiple key=value pairs that describes a required claim in the ID Token
- usernameClaim String
- JWT claim to use as the user name
- usernamePrefix String
- Prefix prepended to username
Import
Kubernetes clusters can be imported using the {region}/{id}, e.g.
bash
$ pulumi import scaleway:kubernetes/cluster:Cluster mycluster fr-par/11111111-1111-1111-1111-111111111111
To learn more about importing existing cloud resources, see Importing resources.
Package Details
- Repository
- scaleway pulumiverse/pulumi-scaleway
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the scalewayTerraform Provider.
