getKubernetesVersions

Provides access to the available DigitalOcean Kubernetes Service versions.

Example Usage

Output a list of all available versions

import * as pulumi from "@pulumi/pulumi";
import * as digitalocean from "@pulumi/digitalocean";
export = async () => {
const example = await digitalocean.getKubernetesVersions({});
return {
"k8s-versions": example.validVersions,
};
}
import pulumi
import pulumi_digitalocean as digitalocean
example = digitalocean.get_kubernetes_versions()
pulumi.export("k8s-versions", example.valid_versions)
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using DigitalOcean = Pulumi.DigitalOcean;
return await Deployment.RunAsync(() =>
{
var example = DigitalOcean.GetKubernetesVersions.Invoke();
return new Dictionary<string, object?>
{
["k8s-versions"] = example.Apply(getKubernetesVersionsResult => getKubernetesVersionsResult.ValidVersions),
};
});
package main
import (
"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
example, err := digitalocean.GetKubernetesVersions(ctx, &digitalocean.GetKubernetesVersionsArgs{}, nil)
if err != nil {
return err
}
ctx.Export("k8s-versions", example.ValidVersions)
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.digitalocean.DigitaloceanFunctions;
import com.pulumi.digitalocean.inputs.GetKubernetesVersionsArgs;
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) {
final var example = DigitaloceanFunctions.getKubernetesVersions(GetKubernetesVersionsArgs.builder()
.build());
ctx.export("k8s-versions", example.validVersions());
}
}
variables:
example:
fn::invoke:
function: digitalocean:getKubernetesVersions
arguments: {}
outputs:
k8s-versions: ${example.validVersions}

Create a Kubernetes cluster using the most recent version available

import * as pulumi from "@pulumi/pulumi";
import * as digitalocean from "@pulumi/digitalocean";
const example = digitalocean.getKubernetesVersions({});
const example_cluster = new digitalocean.KubernetesCluster("example-cluster", {
name: "example-cluster",
region: digitalocean.Region.LON1,
version: example.then(example => example.latestVersion),
nodePool: {
name: "default",
size: "s-1vcpu-2gb",
nodeCount: 3,
},
});
import pulumi
import pulumi_digitalocean as digitalocean
example = digitalocean.get_kubernetes_versions()
example_cluster = digitalocean.KubernetesCluster("example-cluster",
name="example-cluster",
region=digitalocean.Region.LON1,
version=example.latest_version,
node_pool={
"name": "default",
"size": "s-1vcpu-2gb",
"node_count": 3,
})
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using DigitalOcean = Pulumi.DigitalOcean;
return await Deployment.RunAsync(() =>
{
var example = DigitalOcean.GetKubernetesVersions.Invoke();
var example_cluster = new DigitalOcean.KubernetesCluster("example-cluster", new()
{
Name = "example-cluster",
Region = DigitalOcean.Region.LON1,
Version = example.Apply(getKubernetesVersionsResult => getKubernetesVersionsResult.LatestVersion),
NodePool = new DigitalOcean.Inputs.KubernetesClusterNodePoolArgs
{
Name = "default",
Size = "s-1vcpu-2gb",
NodeCount = 3,
},
});
});
package main
import (
"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
example, err := digitalocean.GetKubernetesVersions(ctx, &digitalocean.GetKubernetesVersionsArgs{}, nil)
if err != nil {
return err
}
_, err = digitalocean.NewKubernetesCluster(ctx, "example-cluster", &digitalocean.KubernetesClusterArgs{
Name: pulumi.String("example-cluster"),
Region: pulumi.String(digitalocean.RegionLON1),
Version: pulumi.String(example.LatestVersion),
NodePool: &digitalocean.KubernetesClusterNodePoolArgs{
Name: pulumi.String("default"),
Size: pulumi.String("s-1vcpu-2gb"),
NodeCount: pulumi.Int(3),
},
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.digitalocean.DigitaloceanFunctions;
import com.pulumi.digitalocean.inputs.GetKubernetesVersionsArgs;
import com.pulumi.digitalocean.KubernetesCluster;
import com.pulumi.digitalocean.KubernetesClusterArgs;
import com.pulumi.digitalocean.inputs.KubernetesClusterNodePoolArgs;
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) {
final var example = DigitaloceanFunctions.getKubernetesVersions(GetKubernetesVersionsArgs.builder()
.build());
var example_cluster = new KubernetesCluster("example-cluster", KubernetesClusterArgs.builder()
.name("example-cluster")
.region("lon1")
.version(example.latestVersion())
.nodePool(KubernetesClusterNodePoolArgs.builder()
.name("default")
.size("s-1vcpu-2gb")
.nodeCount(3)
.build())
.build());
}
}
resources:
example-cluster:
type: digitalocean:KubernetesCluster
properties:
name: example-cluster
region: lon1
version: ${example.latestVersion}
nodePool:
name: default
size: s-1vcpu-2gb
nodeCount: 3
variables:
example:
fn::invoke:
function: digitalocean:getKubernetesVersions
arguments: {}

Pin a Kubernetes cluster to a specific minor version

import * as pulumi from "@pulumi/pulumi";
import * as digitalocean from "@pulumi/digitalocean";
const example = digitalocean.getKubernetesVersions({
versionPrefix: "1.22.",
});
const example_cluster = new digitalocean.KubernetesCluster("example-cluster", {
name: "example-cluster",
region: digitalocean.Region.LON1,
version: example.then(example => example.latestVersion),
nodePool: {
name: "default",
size: "s-1vcpu-2gb",
nodeCount: 3,
},
});
import pulumi
import pulumi_digitalocean as digitalocean
example = digitalocean.get_kubernetes_versions(version_prefix="1.22.")
example_cluster = digitalocean.KubernetesCluster("example-cluster",
name="example-cluster",
region=digitalocean.Region.LON1,
version=example.latest_version,
node_pool={
"name": "default",
"size": "s-1vcpu-2gb",
"node_count": 3,
})
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using DigitalOcean = Pulumi.DigitalOcean;
return await Deployment.RunAsync(() =>
{
var example = DigitalOcean.GetKubernetesVersions.Invoke(new()
{
VersionPrefix = "1.22.",
});
var example_cluster = new DigitalOcean.KubernetesCluster("example-cluster", new()
{
Name = "example-cluster",
Region = DigitalOcean.Region.LON1,
Version = example.Apply(getKubernetesVersionsResult => getKubernetesVersionsResult.LatestVersion),
NodePool = new DigitalOcean.Inputs.KubernetesClusterNodePoolArgs
{
Name = "default",
Size = "s-1vcpu-2gb",
NodeCount = 3,
},
});
});
package main
import (
"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
example, err := digitalocean.GetKubernetesVersions(ctx, &digitalocean.GetKubernetesVersionsArgs{
VersionPrefix: pulumi.StringRef("1.22."),
}, nil)
if err != nil {
return err
}
_, err = digitalocean.NewKubernetesCluster(ctx, "example-cluster", &digitalocean.KubernetesClusterArgs{
Name: pulumi.String("example-cluster"),
Region: pulumi.String(digitalocean.RegionLON1),
Version: pulumi.String(example.LatestVersion),
NodePool: &digitalocean.KubernetesClusterNodePoolArgs{
Name: pulumi.String("default"),
Size: pulumi.String("s-1vcpu-2gb"),
NodeCount: pulumi.Int(3),
},
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.digitalocean.DigitaloceanFunctions;
import com.pulumi.digitalocean.inputs.GetKubernetesVersionsArgs;
import com.pulumi.digitalocean.KubernetesCluster;
import com.pulumi.digitalocean.KubernetesClusterArgs;
import com.pulumi.digitalocean.inputs.KubernetesClusterNodePoolArgs;
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) {
final var example = DigitaloceanFunctions.getKubernetesVersions(GetKubernetesVersionsArgs.builder()
.versionPrefix("1.22.")
.build());
var example_cluster = new KubernetesCluster("example-cluster", KubernetesClusterArgs.builder()
.name("example-cluster")
.region("lon1")
.version(example.latestVersion())
.nodePool(KubernetesClusterNodePoolArgs.builder()
.name("default")
.size("s-1vcpu-2gb")
.nodeCount(3)
.build())
.build());
}
}
resources:
example-cluster:
type: digitalocean:KubernetesCluster
properties:
name: example-cluster
region: lon1
version: ${example.latestVersion}
nodePool:
name: default
size: s-1vcpu-2gb
nodeCount: 3
variables:
example:
fn::invoke:
function: digitalocean:getKubernetesVersions
arguments:
versionPrefix: 1.22.

Return

A collection of values returned by getKubernetesVersions.

Parameters

argument

A collection of arguments for invoking getKubernetesVersions.


suspend fun getKubernetesVersions(versionPrefix: String? = null): GetKubernetesVersionsResult

Return

A collection of values returned by getKubernetesVersions.

Parameters

versionPrefix

If provided, the provider will only return versions that match the string prefix. For example, 1.15. will match all 1.15.x series releases.

See also


Return

A collection of values returned by getKubernetesVersions.

Parameters

argument

Builder for com.pulumi.digitalocean.kotlin.inputs.GetKubernetesVersionsPlainArgs.

See also