LkeCluster

Manages an LKE cluster.

Example Usage

using Pulumi;
using Linode = Pulumi.Linode;

class MyStack : Stack
{
    public MyStack()
    {
        var my_cluster = new Linode.LkeCluster("my-cluster", new Linode.LkeClusterArgs
        {
            K8sVersion = "1.20",
            Label = "my-cluster",
            Pools = 
            {
                new Linode.Inputs.LkeClusterPoolArgs
                {
                    Count = 3,
                    Type = "g6-standard-2",
                },
            },
            Region = "us-central",
            Tags = 
            {
                "prod",
            },
        });
    }

}
package main

import (
	"github.com/pulumi/pulumi-linode/sdk/v3/go/linode"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := linode.NewLkeCluster(ctx, "my_cluster", &linode.LkeClusterArgs{
			K8sVersion: pulumi.String("1.20"),
			Label:      pulumi.String("my-cluster"),
			Pools: linode.LkeClusterPoolArray{
				&linode.LkeClusterPoolArgs{
					Count: pulumi.Int(3),
					Type:  pulumi.String("g6-standard-2"),
				},
			},
			Region: pulumi.String("us-central"),
			Tags: pulumi.StringArray{
				pulumi.String("prod"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
import pulumi
import pulumi_linode as linode

my_cluster = linode.LkeCluster("my-cluster",
    k8s_version="1.20",
    label="my-cluster",
    pools=[linode.LkeClusterPoolArgs(
        count=3,
        type="g6-standard-2",
    )],
    region="us-central",
    tags=["prod"])
import * as pulumi from "@pulumi/pulumi";
import * as linode from "@pulumi/linode";

const my_cluster = new linode.LkeCluster("my-cluster", {
    k8sVersion: "1.20",
    label: "my-cluster",
    pools: [{
        count: 3,
        type: "g6-standard-2",
    }],
    region: "us-central",
    tags: ["prod"],
});

Create a LkeCluster Resource

new LkeCluster(name: string, args: LkeClusterArgs, opts?: CustomResourceOptions);
@overload
def LkeCluster(resource_name: str,
               opts: Optional[ResourceOptions] = None,
               k8s_version: Optional[str] = None,
               label: Optional[str] = None,
               pools: Optional[Sequence[LkeClusterPoolArgs]] = None,
               region: Optional[str] = None,
               tags: Optional[Sequence[str]] = None)
@overload
def LkeCluster(resource_name: str,
               args: LkeClusterArgs,
               opts: Optional[ResourceOptions] = None)
func NewLkeCluster(ctx *Context, name string, args LkeClusterArgs, opts ...ResourceOption) (*LkeCluster, error)
public LkeCluster(string name, LkeClusterArgs args, CustomResourceOptions? opts = null)
name string
The unique name of the resource.
args LkeClusterArgs
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 LkeClusterArgs
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 LkeClusterArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name string
The unique name of the resource.
args LkeClusterArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.

LkeCluster Resource Properties

To learn more about resource properties and how to use them, see Inputs and Outputs in the Programming Model docs.

Inputs

The LkeCluster resource accepts the following input properties:

K8sVersion string
The desired Kubernetes version for this Kubernetes cluster in the format of major.minor (e.g. 1.17), and the latest supported patch version will be deployed.
Label string
This Kubernetes cluster’s unique label.
Pools List<LkeClusterPoolArgs>
Additional nested attributes:
Region string
This Kubernetes cluster’s location.
Tags List<string>
An array of tags applied to the Kubernetes cluster. Tags are for organizational purposes only.
K8sVersion string
The desired Kubernetes version for this Kubernetes cluster in the format of major.minor (e.g. 1.17), and the latest supported patch version will be deployed.
Label string
This Kubernetes cluster’s unique label.
Pools []LkeClusterPoolArgs
Additional nested attributes:
Region string
This Kubernetes cluster’s location.
Tags []string
An array of tags applied to the Kubernetes cluster. Tags are for organizational purposes only.
k8sVersion string
The desired Kubernetes version for this Kubernetes cluster in the format of major.minor (e.g. 1.17), and the latest supported patch version will be deployed.
label string
This Kubernetes cluster’s unique label.
pools LkeClusterPoolArgs[]
Additional nested attributes:
region string
This Kubernetes cluster’s location.
tags string[]
An array of tags applied to the Kubernetes cluster. Tags are for organizational purposes only.
k8s_version str
The desired Kubernetes version for this Kubernetes cluster in the format of major.minor (e.g. 1.17), and the latest supported patch version will be deployed.
label str
This Kubernetes cluster’s unique label.
pools Sequence[LkeClusterPoolArgs]
Additional nested attributes:
region str
This Kubernetes cluster’s location.
tags Sequence[str]
An array of tags applied to the Kubernetes cluster. Tags are for organizational purposes only.

Outputs

All input properties are implicitly available as output properties. Additionally, the LkeCluster resource produces the following output properties:

ApiEndpoints List<string>
The endpoints for the Kubernetes API server.
Id string
The provider-assigned unique ID for this managed resource.
Kubeconfig string
The base64 encoded kubeconfig for the Kubernetes cluster.
Status string
The status of the node. (ready, not_ready)
ApiEndpoints []string
The endpoints for the Kubernetes API server.
Id string
The provider-assigned unique ID for this managed resource.
Kubeconfig string
The base64 encoded kubeconfig for the Kubernetes cluster.
Status string
The status of the node. (ready, not_ready)
apiEndpoints string[]
The endpoints for the Kubernetes API server.
id string
The provider-assigned unique ID for this managed resource.
kubeconfig string
The base64 encoded kubeconfig for the Kubernetes cluster.
status string
The status of the node. (ready, not_ready)
api_endpoints Sequence[str]
The endpoints for the Kubernetes API server.
id str
The provider-assigned unique ID for this managed resource.
kubeconfig str
The base64 encoded kubeconfig for the Kubernetes cluster.
status str
The status of the node. (ready, not_ready)

Look up an Existing LkeCluster Resource

Get an existing LkeCluster 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?: LkeClusterState, opts?: CustomResourceOptions): LkeCluster
@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        api_endpoints: Optional[Sequence[str]] = None,
        k8s_version: Optional[str] = None,
        kubeconfig: Optional[str] = None,
        label: Optional[str] = None,
        pools: Optional[Sequence[LkeClusterPoolArgs]] = None,
        region: Optional[str] = None,
        status: Optional[str] = None,
        tags: Optional[Sequence[str]] = None) -> LkeCluster
func GetLkeCluster(ctx *Context, name string, id IDInput, state *LkeClusterState, opts ...ResourceOption) (*LkeCluster, error)
public static LkeCluster Get(string name, Input<string> id, LkeClusterState? state, CustomResourceOptions? opts = null)
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.

The following state arguments are supported:

ApiEndpoints List<string>
The endpoints for the Kubernetes API server.
K8sVersion string
The desired Kubernetes version for this Kubernetes cluster in the format of major.minor (e.g. 1.17), and the latest supported patch version will be deployed.
Kubeconfig string
The base64 encoded kubeconfig for the Kubernetes cluster.
Label string
This Kubernetes cluster’s unique label.
Pools List<LkeClusterPoolArgs>
Additional nested attributes:
Region string
This Kubernetes cluster’s location.
Status string
The status of the node. (ready, not_ready)
Tags List<string>
An array of tags applied to the Kubernetes cluster. Tags are for organizational purposes only.
ApiEndpoints []string
The endpoints for the Kubernetes API server.
K8sVersion string
The desired Kubernetes version for this Kubernetes cluster in the format of major.minor (e.g. 1.17), and the latest supported patch version will be deployed.
Kubeconfig string
The base64 encoded kubeconfig for the Kubernetes cluster.
Label string
This Kubernetes cluster’s unique label.
Pools []LkeClusterPoolArgs
Additional nested attributes:
Region string
This Kubernetes cluster’s location.
Status string
The status of the node. (ready, not_ready)
Tags []string
An array of tags applied to the Kubernetes cluster. Tags are for organizational purposes only.
apiEndpoints string[]
The endpoints for the Kubernetes API server.
k8sVersion string
The desired Kubernetes version for this Kubernetes cluster in the format of major.minor (e.g. 1.17), and the latest supported patch version will be deployed.
kubeconfig string
The base64 encoded kubeconfig for the Kubernetes cluster.
label string
This Kubernetes cluster’s unique label.
pools LkeClusterPoolArgs[]
Additional nested attributes:
region string
This Kubernetes cluster’s location.
status string
The status of the node. (ready, not_ready)
tags string[]
An array of tags applied to the Kubernetes cluster. Tags are for organizational purposes only.
api_endpoints Sequence[str]
The endpoints for the Kubernetes API server.
k8s_version str
The desired Kubernetes version for this Kubernetes cluster in the format of major.minor (e.g. 1.17), and the latest supported patch version will be deployed.
kubeconfig str
The base64 encoded kubeconfig for the Kubernetes cluster.
label str
This Kubernetes cluster’s unique label.
pools Sequence[LkeClusterPoolArgs]
Additional nested attributes:
region str
This Kubernetes cluster’s location.
status str
The status of the node. (ready, not_ready)
tags Sequence[str]
An array of tags applied to the Kubernetes cluster. Tags are for organizational purposes only.

Supporting Types

LkeClusterPool

Count int
The number of nodes in the Node Pool.
Type string
A Linode Type for all of the nodes in the Node Pool. See all node types here.
Id int
The ID of the node.
Nodes List<LkeClusterPoolNode>
Count int
The number of nodes in the Node Pool.
Type string
A Linode Type for all of the nodes in the Node Pool. See all node types here.
Id int
The ID of the node.
Nodes []LkeClusterPoolNode
count number
The number of nodes in the Node Pool.
type string
A Linode Type for all of the nodes in the Node Pool. See all node types here.
id number
The ID of the node.
nodes LkeClusterPoolNode[]
count int
The number of nodes in the Node Pool.
type str
A Linode Type for all of the nodes in the Node Pool. See all node types here.
id int
The ID of the node.
nodes Sequence[LkeClusterPoolNode]

LkeClusterPoolNode

Id string
The ID of the node.
InstanceId int
The ID of the underlying Linode instance.
Status string
The status of the node. (ready, not_ready)
Id string
The ID of the node.
InstanceId int
The ID of the underlying Linode instance.
Status string
The status of the node. (ready, not_ready)
id string
The ID of the node.
instanceId number
The ID of the underlying Linode instance.
status string
The status of the node. (ready, not_ready)
id str
The ID of the node.
instance_id int
The ID of the underlying Linode instance.
status str
The status of the node. (ready, not_ready)

Import

LKE Clusters can be imported using the id, e.g.

 $ pulumi import linode:index/lkeCluster:LkeCluster my_cluster 12345

Package Details

Repository
https://github.com/pulumi/pulumi-linode
License
Apache-2.0
Notes
This Pulumi package is based on the linode Terraform Provider.