scaleway.KubernetesCluster
Explore with Pulumi AI
Creates and manages Scaleway Kubernetes clusters. For more information, see the documentation.
Example Usage
Basic
import * as pulumi from "@pulumi/pulumi";
import * as scaleway from "@pulumiverse/scaleway";
const pn = new scaleway.VpcPrivateNetwork("pn", {});
const cluster = new scaleway.KubernetesCluster("cluster", {
name: "tf-cluster",
version: "1.29.1",
cni: "cilium",
privateNetworkId: pn.id,
deleteAdditionalResources: false,
});
const pool = new scaleway.KubernetesNodePool("pool", {
clusterId: cluster.id,
name: "tf-pool",
nodeType: "DEV1-M",
size: 1,
});
import pulumi
import pulumiverse_scaleway as scaleway
pn = scaleway.VpcPrivateNetwork("pn")
cluster = scaleway.KubernetesCluster("cluster",
name="tf-cluster",
version="1.29.1",
cni="cilium",
private_network_id=pn.id,
delete_additional_resources=False)
pool = scaleway.KubernetesNodePool("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"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
pn, err := scaleway.NewVpcPrivateNetwork(ctx, "pn", nil)
if err != nil {
return err
}
cluster, err := scaleway.NewKubernetesCluster(ctx, "cluster", &scaleway.KubernetesClusterArgs{
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 = scaleway.NewKubernetesNodePool(ctx, "pool", &scaleway.KubernetesNodePoolArgs{
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.VpcPrivateNetwork("pn");
var cluster = new Scaleway.KubernetesCluster("cluster", new()
{
Name = "tf-cluster",
Version = "1.29.1",
Cni = "cilium",
PrivateNetworkId = pn.Id,
DeleteAdditionalResources = false,
});
var pool = new Scaleway.KubernetesNodePool("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.VpcPrivateNetwork;
import com.pulumi.scaleway.KubernetesCluster;
import com.pulumi.scaleway.KubernetesClusterArgs;
import com.pulumi.scaleway.KubernetesNodePool;
import com.pulumi.scaleway.KubernetesNodePoolArgs;
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 VpcPrivateNetwork("pn");
var cluster = new KubernetesCluster("cluster", KubernetesClusterArgs.builder()
.name("tf-cluster")
.version("1.29.1")
.cni("cilium")
.privateNetworkId(pn.id())
.deleteAdditionalResources(false)
.build());
var pool = new KubernetesNodePool("pool", KubernetesNodePoolArgs.builder()
.clusterId(cluster.id())
.name("tf-pool")
.nodeType("DEV1-M")
.size(1)
.build());
}
}
resources:
pn:
type: scaleway:VpcPrivateNetwork
cluster:
type: scaleway:KubernetesCluster
properties:
name: tf-cluster
version: 1.29.1
cni: cilium
privateNetworkId: ${pn.id}
deleteAdditionalResources: false
pool:
type: scaleway:KubernetesNodePool
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.KubernetesCluster("cluster", {
name: "tf-cluster",
type: "multicloud",
version: "1.29.1",
cni: "kilo",
deleteAdditionalResources: false,
});
const pool = new scaleway.KubernetesNodePool("pool", {
clusterId: cluster.id,
name: "tf-pool",
nodeType: "external",
size: 0,
minSize: 0,
});
import pulumi
import pulumiverse_scaleway as scaleway
cluster = scaleway.KubernetesCluster("cluster",
name="tf-cluster",
type="multicloud",
version="1.29.1",
cni="kilo",
delete_additional_resources=False)
pool = scaleway.KubernetesNodePool("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"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
cluster, err := scaleway.NewKubernetesCluster(ctx, "cluster", &scaleway.KubernetesClusterArgs{
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 = scaleway.NewKubernetesNodePool(ctx, "pool", &scaleway.KubernetesNodePoolArgs{
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.KubernetesCluster("cluster", new()
{
Name = "tf-cluster",
Type = "multicloud",
Version = "1.29.1",
Cni = "kilo",
DeleteAdditionalResources = false,
});
var pool = new Scaleway.KubernetesNodePool("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.KubernetesCluster;
import com.pulumi.scaleway.KubernetesClusterArgs;
import com.pulumi.scaleway.KubernetesNodePool;
import com.pulumi.scaleway.KubernetesNodePoolArgs;
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 KubernetesCluster("cluster", KubernetesClusterArgs.builder()
.name("tf-cluster")
.type("multicloud")
.version("1.29.1")
.cni("kilo")
.deleteAdditionalResources(false)
.build());
var pool = new KubernetesNodePool("pool", KubernetesNodePoolArgs.builder()
.clusterId(cluster.id())
.name("tf-pool")
.nodeType("external")
.size(0)
.minSize(0)
.build());
}
}
resources:
cluster:
type: scaleway:KubernetesCluster
properties:
name: tf-cluster
type: multicloud
version: 1.29.1
cni: kilo
deleteAdditionalResources: false
pool:
type: scaleway:KubernetesNodePool
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.VpcPrivateNetwork("pn", {});
const cluster = new scaleway.KubernetesCluster("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.KubernetesNodePool("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.VpcPrivateNetwork("pn")
cluster = scaleway.KubernetesCluster("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.KubernetesNodePool("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"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
pn, err := scaleway.NewVpcPrivateNetwork(ctx, "pn", nil)
if err != nil {
return err
}
cluster, err := scaleway.NewKubernetesCluster(ctx, "cluster", &scaleway.KubernetesClusterArgs{
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: &scaleway.KubernetesClusterAutoscalerConfigArgs{
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 = scaleway.NewKubernetesNodePool(ctx, "pool", &scaleway.KubernetesNodePoolArgs{
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.VpcPrivateNetwork("pn");
var cluster = new Scaleway.KubernetesCluster("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.Inputs.KubernetesClusterAutoscalerConfigArgs
{
DisableScaleDown = false,
ScaleDownDelayAfterAdd = "5m",
Estimator = "binpacking",
Expander = "random",
IgnoreDaemonsetsUtilization = true,
BalanceSimilarNodeGroups = true,
ExpendablePodsPriorityCutoff = -5,
},
});
var pool = new Scaleway.KubernetesNodePool("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.VpcPrivateNetwork;
import com.pulumi.scaleway.KubernetesCluster;
import com.pulumi.scaleway.KubernetesClusterArgs;
import com.pulumi.scaleway.inputs.KubernetesClusterAutoscalerConfigArgs;
import com.pulumi.scaleway.KubernetesNodePool;
import com.pulumi.scaleway.KubernetesNodePoolArgs;
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 VpcPrivateNetwork("pn");
var cluster = new KubernetesCluster("cluster", KubernetesClusterArgs.builder()
.name("tf-cluster")
.description("cluster made in terraform")
.version("1.29.1")
.cni("calico")
.tags("terraform")
.privateNetworkId(pn.id())
.deleteAdditionalResources(false)
.autoscalerConfig(KubernetesClusterAutoscalerConfigArgs.builder()
.disableScaleDown(false)
.scaleDownDelayAfterAdd("5m")
.estimator("binpacking")
.expander("random")
.ignoreDaemonsetsUtilization(true)
.balanceSimilarNodeGroups(true)
.expendablePodsPriorityCutoff(-5)
.build())
.build());
var pool = new KubernetesNodePool("pool", KubernetesNodePoolArgs.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:VpcPrivateNetwork
cluster:
type: scaleway:KubernetesCluster
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:KubernetesNodePool
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.VpcPrivateNetwork("pn", {});
const cluster = new scaleway.KubernetesCluster("cluster", {
name: "tf-cluster",
version: "1.29.1",
cni: "cilium",
privateNetworkId: pn.id,
deleteAdditionalResources: false,
});
const pool = new scaleway.KubernetesNodePool("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.VpcPrivateNetwork("pn")
cluster = scaleway.KubernetesCluster("cluster",
name="tf-cluster",
version="1.29.1",
cni="cilium",
private_network_id=pn.id,
delete_additional_resources=False)
pool = scaleway.KubernetesNodePool("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"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
pn, err := scaleway.NewVpcPrivateNetwork(ctx, "pn", nil)
if err != nil {
return err
}
cluster, err := scaleway.NewKubernetesCluster(ctx, "cluster", &scaleway.KubernetesClusterArgs{
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 := scaleway.NewKubernetesNodePool(ctx, "pool", &scaleway.KubernetesNodePoolArgs{
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 []scaleway.KubernetesClusterKubeconfig) (*string, error) {
return &kubeconfigs[0].Host, nil
}).(pulumi.StringPtrOutput)),
"token": pulumi.String(cluster.Kubeconfigs.ApplyT(func(kubeconfigs []scaleway.KubernetesClusterKubeconfig) (*string, error) {
return &kubeconfigs[0].Token, nil
}).(pulumi.StringPtrOutput)),
"cluster_ca_certificate": pulumi.String(cluster.Kubeconfigs.ApplyT(func(kubeconfigs []scaleway.KubernetesClusterKubeconfig) (*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.VpcPrivateNetwork("pn");
var cluster = new Scaleway.KubernetesCluster("cluster", new()
{
Name = "tf-cluster",
Version = "1.29.1",
Cni = "cilium",
PrivateNetworkId = pn.Id,
DeleteAdditionalResources = false,
});
var pool = new Scaleway.KubernetesNodePool("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.VpcPrivateNetwork;
import com.pulumi.scaleway.KubernetesCluster;
import com.pulumi.scaleway.KubernetesClusterArgs;
import com.pulumi.scaleway.KubernetesNodePool;
import com.pulumi.scaleway.KubernetesNodePoolArgs;
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 VpcPrivateNetwork("pn");
var cluster = new KubernetesCluster("cluster", KubernetesClusterArgs.builder()
.name("tf-cluster")
.version("1.29.1")
.cni("cilium")
.privateNetworkId(pn.id())
.deleteAdditionalResources(false)
.build());
var pool = new KubernetesNodePool("pool", KubernetesNodePoolArgs.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:VpcPrivateNetwork
cluster:
type: scaleway:KubernetesCluster
properties:
name: tf-cluster
version: 1.29.1
cni: cilium
privateNetworkId: ${pn.id}
deleteAdditionalResources: false
pool:
type: scaleway:KubernetesNodePool
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, it’s 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.VpcPrivateNetwork("pn", {});
const cluster = new scaleway.KubernetesCluster("cluster", {
name: "tf-cluster",
version: "1.29.1",
cni: "cilium",
deleteAdditionalResources: false,
privateNetworkId: pn.id,
});
const pool = new scaleway.KubernetesNodePool("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.LoadbalancerIp("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.VpcPrivateNetwork("pn")
cluster = scaleway.KubernetesCluster("cluster",
name="tf-cluster",
version="1.29.1",
cni="cilium",
delete_additional_resources=False,
private_network_id=pn.id)
pool = scaleway.KubernetesNodePool("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.LoadbalancerIp("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"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
pn, err := scaleway.NewVpcPrivateNetwork(ctx, "pn", nil)
if err != nil {
return err
}
cluster, err := scaleway.NewKubernetesCluster(ctx, "cluster", &scaleway.KubernetesClusterArgs{
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 := scaleway.NewKubernetesNodePool(ctx, "pool", &scaleway.KubernetesNodePoolArgs{
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 []scaleway.KubernetesClusterKubeconfig) (*string, error) {
return &kubeconfigs[0].Host, nil
}).(pulumi.StringPtrOutput)),
"token": pulumi.String(cluster.Kubeconfigs.ApplyT(func(kubeconfigs []scaleway.KubernetesClusterKubeconfig) (*string, error) {
return &kubeconfigs[0].Token, nil
}).(pulumi.StringPtrOutput)),
"cluster_ca_certificate": pulumi.String(cluster.Kubeconfigs.ApplyT(func(kubeconfigs []scaleway.KubernetesClusterKubeconfig) (*string, error) {
return &kubeconfigs[0].ClusterCaCertificate, nil
}).(pulumi.StringPtrOutput)),
},
}, pulumi.DependsOn([]pulumi.Resource{
pool,
}))
if err != nil {
return err
}
nginxIp, err := scaleway.NewLoadbalancerIp(ctx, "nginx_ip", &scaleway.LoadbalancerIpArgs{
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.VpcPrivateNetwork("pn");
var cluster = new Scaleway.KubernetesCluster("cluster", new()
{
Name = "tf-cluster",
Version = "1.29.1",
Cni = "cilium",
DeleteAdditionalResources = false,
PrivateNetworkId = pn.Id,
});
var pool = new Scaleway.KubernetesNodePool("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.LoadbalancerIp("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.VpcPrivateNetwork;
import com.pulumi.scaleway.KubernetesCluster;
import com.pulumi.scaleway.KubernetesClusterArgs;
import com.pulumi.scaleway.KubernetesNodePool;
import com.pulumi.scaleway.KubernetesNodePoolArgs;
import com.pulumi.null.Resource;
import com.pulumi.null.ResourceArgs;
import com.pulumi.scaleway.LoadbalancerIp;
import com.pulumi.scaleway.LoadbalancerIpArgs;
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 VpcPrivateNetwork("pn");
var cluster = new KubernetesCluster("cluster", KubernetesClusterArgs.builder()
.name("tf-cluster")
.version("1.29.1")
.cni("cilium")
.deleteAdditionalResources(false)
.privateNetworkId(pn.id())
.build());
var pool = new KubernetesNodePool("pool", KubernetesNodePoolArgs.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 LoadbalancerIp("nginxIp", LoadbalancerIpArgs.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:VpcPrivateNetwork
cluster:
type: scaleway:KubernetesCluster
properties:
name: tf-cluster
version: 1.29.1
cni: cilium
deleteAdditionalResources: false
privateNetworkId: ${pn.id}
pool:
type: scaleway:KubernetesNodePool
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:LoadbalancerIp
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.KubernetesNodePool
resource. Here is a migration example.
Before:
Coming soon!
Coming soon!
Coming soon!
Coming soon!
Coming soon!
resources:
cluster:
type: scaleway:KubernetesCluster
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.KubernetesCluster("cluster", {
name: "tf-cluster",
version: "1.18.0",
cni: "cilium",
});
const _default = new scaleway.KubernetesNodePool("default", {
clusterId: jack.id,
name: "default",
nodeType: "DEV1-M",
size: 1,
});
import pulumi
import pulumiverse_scaleway as scaleway
cluster = scaleway.KubernetesCluster("cluster",
name="tf-cluster",
version="1.18.0",
cni="cilium")
default = scaleway.KubernetesNodePool("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"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := scaleway.NewKubernetesCluster(ctx, "cluster", &scaleway.KubernetesClusterArgs{
Name: pulumi.String("tf-cluster"),
Version: pulumi.String("1.18.0"),
Cni: pulumi.String("cilium"),
})
if err != nil {
return err
}
_, err = scaleway.NewKubernetesNodePool(ctx, "default", &scaleway.KubernetesNodePoolArgs{
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.KubernetesCluster("cluster", new()
{
Name = "tf-cluster",
Version = "1.18.0",
Cni = "cilium",
});
var @default = new Scaleway.KubernetesNodePool("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.KubernetesCluster;
import com.pulumi.scaleway.KubernetesClusterArgs;
import com.pulumi.scaleway.KubernetesNodePool;
import com.pulumi.scaleway.KubernetesNodePoolArgs;
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 KubernetesCluster("cluster", KubernetesClusterArgs.builder()
.name("tf-cluster")
.version("1.18.0")
.cni("cilium")
.build());
var default_ = new KubernetesNodePool("default", KubernetesNodePoolArgs.builder()
.clusterId(jack.id())
.name("default")
.nodeType("DEV1-M")
.size(1)
.build());
}
}
resources:
cluster:
type: scaleway:KubernetesCluster
properties:
name: tf-cluster
version: 1.18.0
cni: cilium
default:
type: scaleway:KubernetesNodePool
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 KubernetesCluster Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new KubernetesCluster(name: string, args: KubernetesClusterArgs, opts?: CustomResourceOptions);
@overload
def KubernetesCluster(resource_name: str,
args: KubernetesClusterArgs,
opts: Optional[ResourceOptions] = None)
@overload
def KubernetesCluster(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[KubernetesClusterAutoscalerConfigArgs] = None,
auto_upgrade: Optional[KubernetesClusterAutoUpgradeArgs] = None,
description: Optional[str] = None,
feature_gates: Optional[Sequence[str]] = None,
admission_plugins: Optional[Sequence[str]] = None,
open_id_connect_config: Optional[KubernetesClusterOpenIdConnectConfigArgs] = 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 NewKubernetesCluster(ctx *Context, name string, args KubernetesClusterArgs, opts ...ResourceOption) (*KubernetesCluster, error)
public KubernetesCluster(string name, KubernetesClusterArgs args, CustomResourceOptions? opts = null)
public KubernetesCluster(String name, KubernetesClusterArgs args)
public KubernetesCluster(String name, KubernetesClusterArgs args, CustomResourceOptions options)
type: scaleway:KubernetesCluster
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 KubernetesClusterArgs
- 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 KubernetesClusterArgs
- 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 KubernetesClusterArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args KubernetesClusterArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args KubernetesClusterArgs
- 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 kubernetesClusterResource = new Scaleway.KubernetesCluster("kubernetesClusterResource", new()
{
Cni = "string",
Version = "string",
DeleteAdditionalResources = false,
Name = "string",
AutoscalerConfig = new Scaleway.Inputs.KubernetesClusterAutoscalerConfigArgs
{
BalanceSimilarNodeGroups = false,
DisableScaleDown = false,
Estimator = "string",
Expander = "string",
ExpendablePodsPriorityCutoff = 0,
IgnoreDaemonsetsUtilization = false,
MaxGracefulTerminationSec = 0,
ScaleDownDelayAfterAdd = "string",
ScaleDownUnneededTime = "string",
ScaleDownUtilizationThreshold = 0,
},
AutoUpgrade = new Scaleway.Inputs.KubernetesClusterAutoUpgradeArgs
{
Enable = false,
MaintenanceWindowDay = "string",
MaintenanceWindowStartHour = 0,
},
Description = "string",
FeatureGates = new[]
{
"string",
},
AdmissionPlugins = new[]
{
"string",
},
OpenIdConnectConfig = new Scaleway.Inputs.KubernetesClusterOpenIdConnectConfigArgs
{
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 := scaleway.NewKubernetesCluster(ctx, "kubernetesClusterResource", &scaleway.KubernetesClusterArgs{
Cni: pulumi.String("string"),
Version: pulumi.String("string"),
DeleteAdditionalResources: pulumi.Bool(false),
Name: pulumi.String("string"),
AutoscalerConfig: &scaleway.KubernetesClusterAutoscalerConfigArgs{
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: &scaleway.KubernetesClusterAutoUpgradeArgs{
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: &scaleway.KubernetesClusterOpenIdConnectConfigArgs{
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 kubernetesClusterResource = new KubernetesCluster("kubernetesClusterResource", KubernetesClusterArgs.builder()
.cni("string")
.version("string")
.deleteAdditionalResources(false)
.name("string")
.autoscalerConfig(KubernetesClusterAutoscalerConfigArgs.builder()
.balanceSimilarNodeGroups(false)
.disableScaleDown(false)
.estimator("string")
.expander("string")
.expendablePodsPriorityCutoff(0)
.ignoreDaemonsetsUtilization(false)
.maxGracefulTerminationSec(0)
.scaleDownDelayAfterAdd("string")
.scaleDownUnneededTime("string")
.scaleDownUtilizationThreshold(0)
.build())
.autoUpgrade(KubernetesClusterAutoUpgradeArgs.builder()
.enable(false)
.maintenanceWindowDay("string")
.maintenanceWindowStartHour(0)
.build())
.description("string")
.featureGates("string")
.admissionPlugins("string")
.openIdConnectConfig(KubernetesClusterOpenIdConnectConfigArgs.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());
kubernetes_cluster_resource = scaleway.KubernetesCluster("kubernetesClusterResource",
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 kubernetesClusterResource = new scaleway.KubernetesCluster("kubernetesClusterResource", {
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:KubernetesCluster
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
KubernetesCluster 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 KubernetesCluster 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.
- 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
true
means 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 asfalse
.- Version string
- The version of the Kubernetes cluster.
- Admission
Plugins List<string> - The list of admission plugins to enable on the cluster.
- Apiserver
Cert List<string>Sans - Additional Subject Alternative Names for the Kubernetes API server certificate
- Auto
Upgrade Pulumiverse.Scaleway. Inputs. Kubernetes Cluster Auto Upgrade - The auto upgrade configuration.
- Autoscaler
Config Pulumiverse.Scaleway. Inputs. Kubernetes Cluster Autoscaler Config - The configuration options for the Kubernetes cluster autoscaler.
- Description string
- A description for the Kubernetes cluster.
- Feature
Gates List<string> - The list of feature gates to enable on the cluster.
- Name string
- The name for the Kubernetes cluster.
- Open
Id Pulumiverse.Connect Config Scaleway. Inputs. Kubernetes Cluster Open Id Connect Config - The OpenID Connect configuration of the cluster
- Private
Network 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_id
set), 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 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:
kapsule
ormulticloud
for dedicated Kapsule clusters:
kapsule-dedicated-4
,kapsule-dedicated-8
orkapsule-dedicated-16
.for dedicated Kosmos clusters:
multicloud-dedicated-4
,multicloud-dedicated-8
ormulticloud-dedicated-16
.
- Cni string
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
true
means 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 asfalse
.- Version string
- The version of the Kubernetes cluster.
- Admission
Plugins []string - The list of admission plugins to enable on the cluster.
- Apiserver
Cert []stringSans - Additional Subject Alternative Names for the Kubernetes API server certificate
- Auto
Upgrade KubernetesCluster Auto Upgrade Args - The auto upgrade configuration.
- Autoscaler
Config KubernetesCluster Autoscaler Config Args - The configuration options for the Kubernetes cluster autoscaler.
- Description string
- A description for the Kubernetes cluster.
- Feature
Gates []string - The list of feature gates to enable on the cluster.
- Name string
- The name for the Kubernetes cluster.
- Open
Id KubernetesConnect Config Cluster Open Id Connect Config Args - The OpenID Connect configuration of the cluster
- Private
Network 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_id
set), 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 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:
kapsule
ormulticloud
for dedicated Kapsule clusters:
kapsule-dedicated-4
,kapsule-dedicated-8
orkapsule-dedicated-16
.for dedicated Kosmos clusters:
multicloud-dedicated-4
,multicloud-dedicated-8
ormulticloud-dedicated-16
.
- cni String
The Container Network Interface (CNI) for the Kubernetes cluster.
Important: Updates to this field will recreate a new resource.
- delete
Additional 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
true
means 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 asfalse
.- version String
- The version of the Kubernetes cluster.
- admission
Plugins List<String> - The list of admission plugins to enable on the cluster.
- apiserver
Cert List<String>Sans - Additional Subject Alternative Names for the Kubernetes API server certificate
- auto
Upgrade KubernetesCluster Auto Upgrade - The auto upgrade configuration.
- autoscaler
Config KubernetesCluster Autoscaler Config - The configuration options for the Kubernetes cluster autoscaler.
- description String
- A description for the Kubernetes cluster.
- feature
Gates List<String> - The list of feature gates to enable on the cluster.
- name String
- The name for the Kubernetes cluster.
- open
Id KubernetesConnect Config Cluster Open Id Connect Config - The OpenID Connect configuration of the cluster
- private
Network 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_id
set), 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 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:
kapsule
ormulticloud
for dedicated Kapsule clusters:
kapsule-dedicated-4
,kapsule-dedicated-8
orkapsule-dedicated-16
.for dedicated Kosmos clusters:
multicloud-dedicated-4
,multicloud-dedicated-8
ormulticloud-dedicated-16
.
- cni string
The Container Network Interface (CNI) for the Kubernetes cluster.
Important: Updates to this field will recreate a new resource.
- delete
Additional 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
true
means 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 asfalse
.- version string
- The version of the Kubernetes cluster.
- admission
Plugins string[] - The list of admission plugins to enable on the cluster.
- apiserver
Cert string[]Sans - Additional Subject Alternative Names for the Kubernetes API server certificate
- auto
Upgrade KubernetesCluster Auto Upgrade - The auto upgrade configuration.
- autoscaler
Config KubernetesCluster Autoscaler Config - The configuration options for the Kubernetes cluster autoscaler.
- description string
- A description for the Kubernetes cluster.
- feature
Gates string[] - The list of feature gates to enable on the cluster.
- name string
- The name for the Kubernetes cluster.
- open
Id KubernetesConnect Config Cluster Open Id Connect Config - The OpenID Connect configuration of the cluster
- private
Network 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_id
set), 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 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:
kapsule
ormulticloud
for dedicated Kapsule clusters:
kapsule-dedicated-4
,kapsule-dedicated-8
orkapsule-dedicated-16
.for dedicated Kosmos clusters:
multicloud-dedicated-4
,multicloud-dedicated-8
ormulticloud-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
true
means 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 asfalse
.- 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 KubernetesCluster Auto Upgrade Args - The auto upgrade configuration.
- autoscaler_
config KubernetesCluster Autoscaler 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_ Kubernetesconnect_ config Cluster 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_id
set), 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:
kapsule
ormulticloud
for dedicated Kapsule clusters:
kapsule-dedicated-4
,kapsule-dedicated-8
orkapsule-dedicated-16
.for dedicated Kosmos clusters:
multicloud-dedicated-4
,multicloud-dedicated-8
ormulticloud-dedicated-16
.
- cni String
The Container Network Interface (CNI) for the Kubernetes cluster.
Important: Updates to this field will recreate a new resource.
- delete
Additional 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
true
means 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 asfalse
.- version String
- The version of the Kubernetes cluster.
- admission
Plugins List<String> - The list of admission plugins to enable on the cluster.
- apiserver
Cert List<String>Sans - Additional Subject Alternative Names for the Kubernetes API server certificate
- auto
Upgrade Property Map - The auto upgrade configuration.
- autoscaler
Config Property Map - The configuration options for the Kubernetes cluster autoscaler.
- description String
- A description for the Kubernetes cluster.
- feature
Gates List<String> - The list of feature gates to enable on the cluster.
- name String
- The name for the Kubernetes cluster.
- open
Id Property MapConnect Config - The OpenID Connect configuration of the cluster
- private
Network 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_id
set), 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 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:
kapsule
ormulticloud
for dedicated Kapsule clusters:
kapsule-dedicated-4
,kapsule-dedicated-8
orkapsule-dedicated-16
.for dedicated Kosmos clusters:
multicloud-dedicated-4
,multicloud-dedicated-8
ormulticloud-dedicated-16
.
Outputs
All input properties are implicitly available as output properties. Additionally, the KubernetesCluster resource produces the following output properties:
- Apiserver
Url string - The URL of the Kubernetes API server.
- Created
At string - The creation date of the cluster.
- Id string
- The provider-assigned unique ID for this managed resource.
- Kubeconfigs
List<Pulumiverse.
Scaleway. Outputs. Kubernetes Cluster Kubeconfig> - The kubeconfig configuration file of the Kubernetes cluster
- Organization
Id string - The organization ID the cluster is associated with.
- Status string
- The status of the Kubernetes cluster.
- Updated
At string - The last update date of the cluster.
- Upgrade
Available bool - Set to
true
if a newer Kubernetes version is available. - Wildcard
Dns string - The DNS wildcard that points to all ready nodes.
- Apiserver
Url string - The URL of the Kubernetes API server.
- Created
At string - The creation date of the cluster.
- Id string
- The provider-assigned unique ID for this managed resource.
- Kubeconfigs
[]Kubernetes
Cluster Kubeconfig - The kubeconfig configuration file of the Kubernetes cluster
- Organization
Id string - The organization ID the cluster is associated with.
- Status string
- The status of the Kubernetes cluster.
- Updated
At string - The last update date of the cluster.
- Upgrade
Available bool - Set to
true
if a newer Kubernetes version is available. - Wildcard
Dns string - The DNS wildcard that points to all ready nodes.
- apiserver
Url String - The URL of the Kubernetes API server.
- created
At String - The creation date of the cluster.
- id String
- The provider-assigned unique ID for this managed resource.
- kubeconfigs
List<Kubernetes
Cluster Kubeconfig> - The kubeconfig configuration file of the Kubernetes cluster
- organization
Id String - The organization ID the cluster is associated with.
- status String
- The status of the Kubernetes cluster.
- updated
At String - The last update date of the cluster.
- upgrade
Available Boolean - Set to
true
if a newer Kubernetes version is available. - wildcard
Dns String - The DNS wildcard that points to all ready nodes.
- apiserver
Url string - The URL of the Kubernetes API server.
- created
At string - The creation date of the cluster.
- id string
- The provider-assigned unique ID for this managed resource.
- kubeconfigs
Kubernetes
Cluster Kubeconfig[] - The kubeconfig configuration file of the Kubernetes cluster
- organization
Id string - The organization ID the cluster is associated with.
- status string
- The status of the Kubernetes cluster.
- updated
At string - The last update date of the cluster.
- upgrade
Available boolean - Set to
true
if a newer Kubernetes version is available. - wildcard
Dns 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[Kubernetes
Cluster Kubeconfig] - 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
true
if a newer Kubernetes version is available. - wildcard_
dns str - The DNS wildcard that points to all ready nodes.
- apiserver
Url String - The URL of the Kubernetes API server.
- created
At 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
- organization
Id String - The organization ID the cluster is associated with.
- status String
- The status of the Kubernetes cluster.
- updated
At String - The last update date of the cluster.
- upgrade
Available Boolean - Set to
true
if a newer Kubernetes version is available. - wildcard
Dns String - The DNS wildcard that points to all ready nodes.
Look up Existing KubernetesCluster Resource
Get an existing KubernetesCluster 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?: KubernetesClusterState, opts?: CustomResourceOptions): KubernetesCluster
@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[KubernetesClusterAutoUpgradeArgs] = None,
autoscaler_config: Optional[KubernetesClusterAutoscalerConfigArgs] = 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[KubernetesClusterKubeconfigArgs]] = None,
name: Optional[str] = None,
open_id_connect_config: Optional[KubernetesClusterOpenIdConnectConfigArgs] = 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) -> KubernetesCluster
func GetKubernetesCluster(ctx *Context, name string, id IDInput, state *KubernetesClusterState, opts ...ResourceOption) (*KubernetesCluster, error)
public static KubernetesCluster Get(string name, Input<string> id, KubernetesClusterState? state, CustomResourceOptions? opts = null)
public static KubernetesCluster get(String name, Output<String> id, KubernetesClusterState state, CustomResourceOptions options)
Resource lookup is not supported in YAML
- 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.
- Admission
Plugins List<string> - The list of admission plugins to enable on the cluster.
- Apiserver
Cert List<string>Sans - Additional Subject Alternative Names for the Kubernetes API server certificate
- Apiserver
Url string - The URL of the Kubernetes API server.
- Auto
Upgrade Pulumiverse.Scaleway. Inputs. Kubernetes Cluster Auto Upgrade - The auto upgrade configuration.
- Autoscaler
Config Pulumiverse.Scaleway. Inputs. Kubernetes 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.
- Created
At string - 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
true
means 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 asfalse
.- Description string
- A description for the Kubernetes cluster.
- Feature
Gates List<string> - The list of feature gates to enable on the cluster.
- Kubeconfigs
List<Pulumiverse.
Scaleway. Inputs. Kubernetes Cluster Kubeconfig> - The kubeconfig configuration file of the Kubernetes cluster
- Name string
- The name for the Kubernetes cluster.
- Open
Id Pulumiverse.Connect Config Scaleway. Inputs. Kubernetes Cluster Open Id Connect Config - The OpenID Connect configuration of the cluster
- Organization
Id string - The organization ID the cluster is associated with.
- Private
Network 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_id
set), 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 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:
kapsule
ormulticloud
for dedicated Kapsule clusters:
kapsule-dedicated-4
,kapsule-dedicated-8
orkapsule-dedicated-16
.for dedicated Kosmos clusters:
multicloud-dedicated-4
,multicloud-dedicated-8
ormulticloud-dedicated-16
.
- Updated
At string - The last update date of the cluster.
- Upgrade
Available bool - Set to
true
if a newer Kubernetes version is available. - Version string
- The version of the Kubernetes cluster.
- Wildcard
Dns string - The DNS wildcard that points to all ready nodes.
- Admission
Plugins []string - The list of admission plugins to enable on the cluster.
- Apiserver
Cert []stringSans - Additional Subject Alternative Names for the Kubernetes API server certificate
- Apiserver
Url string - The URL of the Kubernetes API server.
- Auto
Upgrade KubernetesCluster Auto Upgrade Args - The auto upgrade configuration.
- Autoscaler
Config KubernetesCluster Autoscaler 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.
- Created
At string - 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
true
means 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 asfalse
.- Description string
- A description for the Kubernetes cluster.
- Feature
Gates []string - The list of feature gates to enable on the cluster.
- Kubeconfigs
[]Kubernetes
Cluster Kubeconfig Args - The kubeconfig configuration file of the Kubernetes cluster
- Name string
- The name for the Kubernetes cluster.
- Open
Id KubernetesConnect Config Cluster Open Id Connect Config Args - The OpenID Connect configuration of the cluster
- Organization
Id string - The organization ID the cluster is associated with.
- Private
Network 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_id
set), 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 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:
kapsule
ormulticloud
for dedicated Kapsule clusters:
kapsule-dedicated-4
,kapsule-dedicated-8
orkapsule-dedicated-16
.for dedicated Kosmos clusters:
multicloud-dedicated-4
,multicloud-dedicated-8
ormulticloud-dedicated-16
.
- Updated
At string - The last update date of the cluster.
- Upgrade
Available bool - Set to
true
if a newer Kubernetes version is available. - Version string
- The version of the Kubernetes cluster.
- Wildcard
Dns string - The DNS wildcard that points to all ready nodes.
- admission
Plugins List<String> - The list of admission plugins to enable on the cluster.
- apiserver
Cert List<String>Sans - Additional Subject Alternative Names for the Kubernetes API server certificate
- apiserver
Url String - The URL of the Kubernetes API server.
- auto
Upgrade KubernetesCluster Auto Upgrade - The auto upgrade configuration.
- autoscaler
Config KubernetesCluster 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.
- created
At String - The creation date of the cluster.
- delete
Additional 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
true
means 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 asfalse
.- description String
- A description for the Kubernetes cluster.
- feature
Gates List<String> - The list of feature gates to enable on the cluster.
- kubeconfigs
List<Kubernetes
Cluster Kubeconfig> - The kubeconfig configuration file of the Kubernetes cluster
- name String
- The name for the Kubernetes cluster.
- open
Id KubernetesConnect Config Cluster Open Id Connect Config - The OpenID Connect configuration of the cluster
- organization
Id String - The organization ID the cluster is associated with.
- private
Network 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_id
set), 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 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:
kapsule
ormulticloud
for dedicated Kapsule clusters:
kapsule-dedicated-4
,kapsule-dedicated-8
orkapsule-dedicated-16
.for dedicated Kosmos clusters:
multicloud-dedicated-4
,multicloud-dedicated-8
ormulticloud-dedicated-16
.
- updated
At String - The last update date of the cluster.
- upgrade
Available Boolean - Set to
true
if a newer Kubernetes version is available. - version String
- The version of the Kubernetes cluster.
- wildcard
Dns String - The DNS wildcard that points to all ready nodes.
- admission
Plugins string[] - The list of admission plugins to enable on the cluster.
- apiserver
Cert string[]Sans - Additional Subject Alternative Names for the Kubernetes API server certificate
- apiserver
Url string - The URL of the Kubernetes API server.
- auto
Upgrade KubernetesCluster Auto Upgrade - The auto upgrade configuration.
- autoscaler
Config KubernetesCluster 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.
- created
At string - The creation date of the cluster.
- delete
Additional 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
true
means 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 asfalse
.- description string
- A description for the Kubernetes cluster.
- feature
Gates string[] - The list of feature gates to enable on the cluster.
- kubeconfigs
Kubernetes
Cluster Kubeconfig[] - The kubeconfig configuration file of the Kubernetes cluster
- name string
- The name for the Kubernetes cluster.
- open
Id KubernetesConnect Config Cluster Open Id Connect Config - The OpenID Connect configuration of the cluster
- organization
Id string - The organization ID the cluster is associated with.
- private
Network 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_id
set), 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 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:
kapsule
ormulticloud
for dedicated Kapsule clusters:
kapsule-dedicated-4
,kapsule-dedicated-8
orkapsule-dedicated-16
.for dedicated Kosmos clusters:
multicloud-dedicated-4
,multicloud-dedicated-8
ormulticloud-dedicated-16
.
- updated
At string - The last update date of the cluster.
- upgrade
Available boolean - Set to
true
if a newer Kubernetes version is available. - version string
- The version of the Kubernetes cluster.
- wildcard
Dns 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 KubernetesCluster Auto Upgrade Args - The auto upgrade configuration.
- autoscaler_
config KubernetesCluster Autoscaler 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
true
means 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 asfalse
.- description str
- A description for the Kubernetes cluster.
- feature_
gates Sequence[str] - The list of feature gates to enable on the cluster.
- kubeconfigs
Sequence[Kubernetes
Cluster Kubeconfig Args] - The kubeconfig configuration file of the Kubernetes cluster
- name str
- The name for the Kubernetes cluster.
- open_
id_ Kubernetesconnect_ config Cluster 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_id
set), 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:
kapsule
ormulticloud
for dedicated Kapsule clusters:
kapsule-dedicated-4
,kapsule-dedicated-8
orkapsule-dedicated-16
.for dedicated Kosmos clusters:
multicloud-dedicated-4
,multicloud-dedicated-8
ormulticloud-dedicated-16
.
- updated_
at str - The last update date of the cluster.
- upgrade_
available bool - Set to
true
if 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.
- admission
Plugins List<String> - The list of admission plugins to enable on the cluster.
- apiserver
Cert List<String>Sans - Additional Subject Alternative Names for the Kubernetes API server certificate
- apiserver
Url String - The URL of the Kubernetes API server.
- auto
Upgrade Property Map - The auto upgrade configuration.
- autoscaler
Config 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.
- created
At String - The creation date of the cluster.
- delete
Additional 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
true
means 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 asfalse
.- description String
- A description for the Kubernetes cluster.
- feature
Gates 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.
- open
Id Property MapConnect Config - The OpenID Connect configuration of the cluster
- organization
Id String - The organization ID the cluster is associated with.
- private
Network 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_id
set), 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 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:
kapsule
ormulticloud
for dedicated Kapsule clusters:
kapsule-dedicated-4
,kapsule-dedicated-8
orkapsule-dedicated-16
.for dedicated Kosmos clusters:
multicloud-dedicated-4
,multicloud-dedicated-8
ormulticloud-dedicated-16
.
- updated
At String - The last update date of the cluster.
- upgrade
Available Boolean - Set to
true
if a newer Kubernetes version is available. - version String
- The version of the Kubernetes cluster.
- wildcard
Dns String - The DNS wildcard that points to all ready nodes.
Supporting Types
KubernetesClusterAutoUpgrade, KubernetesClusterAutoUpgradeArgs
- Enable bool
Set to
true
to enable Kubernetes patch version auto upgrades.Important: When enabling auto upgrades, the
version
field take a minor version like x.y (ie 1.18).- Maintenance
Window stringDay - The day of the auto upgrade maintenance window (
monday
tosunday
, orany
). - Maintenance
Window intStart Hour - The start hour (UTC) of the 2-hour auto upgrade maintenance window (0 to 23).
- Enable bool
Set to
true
to enable Kubernetes patch version auto upgrades.Important: When enabling auto upgrades, the
version
field take a minor version like x.y (ie 1.18).- Maintenance
Window stringDay - The day of the auto upgrade maintenance window (
monday
tosunday
, orany
). - Maintenance
Window intStart Hour - The start hour (UTC) of the 2-hour auto upgrade maintenance window (0 to 23).
- enable Boolean
Set to
true
to enable Kubernetes patch version auto upgrades.Important: When enabling auto upgrades, the
version
field take a minor version like x.y (ie 1.18).- maintenance
Window StringDay - The day of the auto upgrade maintenance window (
monday
tosunday
, orany
). - maintenance
Window IntegerStart Hour - The start hour (UTC) of the 2-hour auto upgrade maintenance window (0 to 23).
- enable boolean
Set to
true
to enable Kubernetes patch version auto upgrades.Important: When enabling auto upgrades, the
version
field take a minor version like x.y (ie 1.18).- maintenance
Window stringDay - The day of the auto upgrade maintenance window (
monday
tosunday
, orany
). - maintenance
Window numberStart Hour - The start hour (UTC) of the 2-hour auto upgrade maintenance window (0 to 23).
- enable bool
Set to
true
to enable Kubernetes patch version auto upgrades.Important: When enabling auto upgrades, the
version
field take a minor version like x.y (ie 1.18).- maintenance_
window_ strday - The day of the auto upgrade maintenance window (
monday
tosunday
, orany
). - maintenance_
window_ intstart_ hour - The start hour (UTC) of the 2-hour auto upgrade maintenance window (0 to 23).
- enable Boolean
Set to
true
to enable Kubernetes patch version auto upgrades.Important: When enabling auto upgrades, the
version
field take a minor version like x.y (ie 1.18).- maintenance
Window StringDay - The day of the auto upgrade maintenance window (
monday
tosunday
, orany
). - maintenance
Window NumberStart Hour - The start hour (UTC) of the 2-hour auto upgrade maintenance window (0 to 23).
KubernetesClusterAutoscalerConfig, KubernetesClusterAutoscalerConfigArgs
- 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 string
- Type of resource estimator to be used in scale up.
- Expander string
- 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 stringDelay After Add - How long after scale up that scale down evaluation resumes.
- Scale
Down stringUnneeded Time - How long a node should be unneeded before it is eligible for scale down.
- Scale
Down doubleUtilization 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 string
- Type of resource estimator to be used in scale up.
- Expander string
- 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 stringDelay After Add - How long after scale up that scale down evaluation resumes.
- Scale
Down stringUnneeded Time - How long a node should be unneeded before it is eligible for scale down.
- Scale
Down float64Utilization 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 BooleanNode Groups - Detect similar node groups and balance the number of nodes between them.
- disable
Scale 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.
- expendable
Pods 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.
- ignore
Daemonsets BooleanUtilization - Ignore DaemonSet pods when calculating resource utilization for scaling down.
- max
Graceful IntegerTermination Sec - Maximum number of seconds the cluster autoscaler waits for pod termination when trying to scale down a node
- scale
Down StringDelay After Add - How long after scale up that scale down evaluation resumes.
- scale
Down StringUnneeded Time - How long a node should be unneeded before it is eligible for scale down.
- scale
Down DoubleUtilization 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 booleanNode Groups - Detect similar node groups and balance the number of nodes between them.
- disable
Scale 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.
- expendable
Pods 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.
- ignore
Daemonsets booleanUtilization - Ignore DaemonSet pods when calculating resource utilization for scaling down.
- max
Graceful numberTermination Sec - Maximum number of seconds the cluster autoscaler waits for pod termination when trying to scale down a node
- scale
Down stringDelay After Add - How long after scale up that scale down evaluation resumes.
- scale
Down stringUnneeded Time - How long a node should be unneeded before it is eligible for scale down.
- scale
Down 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
- balance
Similar BooleanNode Groups - Detect similar node groups and balance the number of nodes between them.
- disable
Scale 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.
- expendable
Pods 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.
- ignore
Daemonsets BooleanUtilization - Ignore DaemonSet pods when calculating resource utilization for scaling down.
- max
Graceful NumberTermination Sec - Maximum number of seconds the cluster autoscaler waits for pod termination when trying to scale down a node
- scale
Down StringDelay After Add - How long after scale up that scale down evaluation resumes.
- scale
Down StringUnneeded Time - How long a node should be unneeded before it is eligible for scale down.
- scale
Down NumberUtilization Threshold - Node utilization level, defined as sum of requested resources divided by capacity, below which a node can be considered for scale down
KubernetesClusterKubeconfig, KubernetesClusterKubeconfigArgs
- Cluster
Ca stringCertificate - The CA certificate of the Kubernetes API server.
- Config
File 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 stringCertificate - The CA certificate of the Kubernetes API server.
- Config
File 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 StringCertificate - The CA certificate of the Kubernetes API server.
- config
File 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 stringCertificate - The CA certificate of the Kubernetes API server.
- config
File 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.
- cluster
Ca StringCertificate - The CA certificate of the Kubernetes API server.
- config
File 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.
KubernetesClusterOpenIdConnectConfig, KubernetesClusterOpenIdConnectConfigArgs
- Client
Id string - A client id that all tokens must be issued for
- Issuer
Url string - URL of the provider which allows the API server to discover public signing keys
- Groups
Claims List<string> - JWT claim to use as the user's group
- Groups
Prefix string - Prefix prepended to group claims
- Required
Claims List<string> - Multiple key=value pairs that describes a required claim in the ID Token
- Username
Claim string - JWT claim to use as the user name
- Username
Prefix string - Prefix prepended to username
- Client
Id string - A client id that all tokens must be issued for
- Issuer
Url string - URL of the provider which allows the API server to discover public signing keys
- Groups
Claims []string - JWT claim to use as the user's group
- Groups
Prefix string - Prefix prepended to group claims
- Required
Claims []string - Multiple key=value pairs that describes a required claim in the ID Token
- Username
Claim string - JWT claim to use as the user name
- Username
Prefix string - Prefix prepended to username
- client
Id String - A client id that all tokens must be issued for
- issuer
Url String - URL of the provider which allows the API server to discover public signing keys
- groups
Claims List<String> - JWT claim to use as the user's group
- groups
Prefix String - Prefix prepended to group claims
- required
Claims List<String> - Multiple key=value pairs that describes a required claim in the ID Token
- username
Claim String - JWT claim to use as the user name
- username
Prefix String - Prefix prepended to username
- client
Id string - A client id that all tokens must be issued for
- issuer
Url string - URL of the provider which allows the API server to discover public signing keys
- groups
Claims string[] - JWT claim to use as the user's group
- groups
Prefix string - Prefix prepended to group claims
- required
Claims string[] - Multiple key=value pairs that describes a required claim in the ID Token
- username
Claim string - JWT claim to use as the user name
- username
Prefix 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
- client
Id String - A client id that all tokens must be issued for
- issuer
Url String - URL of the provider which allows the API server to discover public signing keys
- groups
Claims List<String> - JWT claim to use as the user's group
- groups
Prefix String - Prefix prepended to group claims
- required
Claims List<String> - Multiple key=value pairs that describes a required claim in the ID Token
- username
Claim String - JWT claim to use as the user name
- username
Prefix String - Prefix prepended to username
Import
Kubernetes clusters can be imported using the {region}/{id}
, e.g.
bash
$ pulumi import scaleway:index/kubernetesCluster:KubernetesCluster 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
scaleway
Terraform Provider.