1. Packages
  2. Rancher2 Provider
  3. API Docs
  4. ClusterV2
Viewing docs for Rancher 2 v11.0.1
published on Thursday, Feb 26, 2026 by Pulumi
rancher2 logo
Viewing docs for Rancher 2 v11.0.1
published on Thursday, Feb 26, 2026 by Pulumi

    Provides a Rancher v2 Cluster v2 resource. This can be used to create node-driver and custom RKE2 and K3s Clusters for Rancher v2 environments and retrieve their information.

    This resource is available in Rancher v2.6.0 and above.

    Hint: To create an imported cluster for registering a standalone Kubernetes cluster into rancher, use the Rancher v2 Cluster resource instead.

    Example Usage

    You can create a Rancher v2 cluster v2 that runs either RKE2 or K3s.

    There are some distribution-specific arguments, especially the ones under the rke_config section, that you can utilize to configure your RKE2 or K3s cluster. More details and examples can be found on this page.

    You can create two types of clusters depending on how nodes are managed:

    • a custom cluster to which your existing VM(s) can be registered
    • a node-driver cluster in which Rancher provisions and manages the VM(s) on the specified infrastructure provider

    The cluster will be created as a custom cluster if there are no machine_pools in the configuration; otherwise, it will be created as a node-driver cluster.

    All arguments, except some distribution-specific ones, are applied to both custom and node-driver clusters of both distributions.

    Create a custom cluster

    Below is the minimum configuration for creating a custom cluster:

    import * as pulumi from "@pulumi/pulumi";
    import * as rancher2 from "@pulumi/rancher2";
    
    const foo = new rancher2.ClusterV2("foo", {
        name: "foo",
        kubernetesVersion: "rke2-/k3s-version",
    });
    
    import pulumi
    import pulumi_rancher2 as rancher2
    
    foo = rancher2.ClusterV2("foo",
        name="foo",
        kubernetes_version="rke2-/k3s-version")
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-rancher2/sdk/v11/go/rancher2"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := rancher2.NewClusterV2(ctx, "foo", &rancher2.ClusterV2Args{
    			Name:              pulumi.String("foo"),
    			KubernetesVersion: pulumi.String("rke2-/k3s-version"),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Rancher2 = Pulumi.Rancher2;
    
    return await Deployment.RunAsync(() => 
    {
        var foo = new Rancher2.ClusterV2("foo", new()
        {
            Name = "foo",
            KubernetesVersion = "rke2-/k3s-version",
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.rancher2.ClusterV2;
    import com.pulumi.rancher2.ClusterV2Args;
    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 foo = new ClusterV2("foo", ClusterV2Args.builder()
                .name("foo")
                .kubernetesVersion("rke2-/k3s-version")
                .build());
    
        }
    }
    
    resources:
      foo:
        type: rancher2:ClusterV2
        properties:
          name: foo
          kubernetesVersion: rke2-/k3s-version
    

    Once the cluster is created, you get the node registration command from rancher2_cluster_v2.foo.cluster_registration_token.

    Create a node-driver cluster

    Before creating a node-driver cluster, you need to create a rancher2.MachineConfigV2 resource which will be referred to in the machine pool(s) of the cluster.

    The example below demonstrates how to create a rancher2.MachineConfigV2 resource with AmazonEC2 as the infrastructure provider:

    import * as pulumi from "@pulumi/pulumi";
    import * as rancher2 from "@pulumi/rancher2";
    
    // Create AmazonEC2 cloud credential
    const foo = new rancher2.CloudCredential("foo", {
        name: "foo",
        amazonec2CredentialConfig: {
            accessKey: "<ACCESS_KEY>",
            secretKey: "<SECRET_KEY>",
        },
    });
    // Create AmazonEC2 machine config v2
    const fooMachineConfigV2 = new rancher2.MachineConfigV2("foo", {
        generateName: "test-foo",
        amazonec2Config: {
            ami: "ami-id",
            region: "region",
            securityGroups: ["security-group"],
            subnetId: "subnet-id",
            vpcId: "vpc-id",
            zone: "zone",
        },
    });
    
    import pulumi
    import pulumi_rancher2 as rancher2
    
    # Create AmazonEC2 cloud credential
    foo = rancher2.CloudCredential("foo",
        name="foo",
        amazonec2_credential_config={
            "access_key": "<ACCESS_KEY>",
            "secret_key": "<SECRET_KEY>",
        })
    # Create AmazonEC2 machine config v2
    foo_machine_config_v2 = rancher2.MachineConfigV2("foo",
        generate_name="test-foo",
        amazonec2_config={
            "ami": "ami-id",
            "region": "region",
            "security_groups": ["security-group"],
            "subnet_id": "subnet-id",
            "vpc_id": "vpc-id",
            "zone": "zone",
        })
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-rancher2/sdk/v11/go/rancher2"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		// Create AmazonEC2 cloud credential
    		_, err := rancher2.NewCloudCredential(ctx, "foo", &rancher2.CloudCredentialArgs{
    			Name: pulumi.String("foo"),
    			Amazonec2CredentialConfig: &rancher2.CloudCredentialAmazonec2CredentialConfigArgs{
    				AccessKey: pulumi.String("<ACCESS_KEY>"),
    				SecretKey: pulumi.String("<SECRET_KEY>"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		// Create AmazonEC2 machine config v2
    		_, err = rancher2.NewMachineConfigV2(ctx, "foo", &rancher2.MachineConfigV2Args{
    			GenerateName: pulumi.String("test-foo"),
    			Amazonec2Config: &rancher2.MachineConfigV2Amazonec2ConfigArgs{
    				Ami:    pulumi.String("ami-id"),
    				Region: pulumi.String("region"),
    				SecurityGroups: pulumi.StringArray{
    					pulumi.String("security-group"),
    				},
    				SubnetId: pulumi.String("subnet-id"),
    				VpcId:    pulumi.String("vpc-id"),
    				Zone:     pulumi.String("zone"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Rancher2 = Pulumi.Rancher2;
    
    return await Deployment.RunAsync(() => 
    {
        // Create AmazonEC2 cloud credential
        var foo = new Rancher2.CloudCredential("foo", new()
        {
            Name = "foo",
            Amazonec2CredentialConfig = new Rancher2.Inputs.CloudCredentialAmazonec2CredentialConfigArgs
            {
                AccessKey = "<ACCESS_KEY>",
                SecretKey = "<SECRET_KEY>",
            },
        });
    
        // Create AmazonEC2 machine config v2
        var fooMachineConfigV2 = new Rancher2.MachineConfigV2("foo", new()
        {
            GenerateName = "test-foo",
            Amazonec2Config = new Rancher2.Inputs.MachineConfigV2Amazonec2ConfigArgs
            {
                Ami = "ami-id",
                Region = "region",
                SecurityGroups = new[]
                {
                    "security-group",
                },
                SubnetId = "subnet-id",
                VpcId = "vpc-id",
                Zone = "zone",
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.rancher2.CloudCredential;
    import com.pulumi.rancher2.CloudCredentialArgs;
    import com.pulumi.rancher2.inputs.CloudCredentialAmazonec2CredentialConfigArgs;
    import com.pulumi.rancher2.MachineConfigV2;
    import com.pulumi.rancher2.MachineConfigV2Args;
    import com.pulumi.rancher2.inputs.MachineConfigV2Amazonec2ConfigArgs;
    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) {
            // Create AmazonEC2 cloud credential
            var foo = new CloudCredential("foo", CloudCredentialArgs.builder()
                .name("foo")
                .amazonec2CredentialConfig(CloudCredentialAmazonec2CredentialConfigArgs.builder()
                    .accessKey("<ACCESS_KEY>")
                    .secretKey("<SECRET_KEY>")
                    .build())
                .build());
    
            // Create AmazonEC2 machine config v2
            var fooMachineConfigV2 = new MachineConfigV2("fooMachineConfigV2", MachineConfigV2Args.builder()
                .generateName("test-foo")
                .amazonec2Config(MachineConfigV2Amazonec2ConfigArgs.builder()
                    .ami("ami-id")
                    .region("region")
                    .securityGroups("security-group")
                    .subnetId("subnet-id")
                    .vpcId("vpc-id")
                    .zone("zone")
                    .build())
                .build());
    
        }
    }
    
    resources:
      # Create AmazonEC2 cloud credential
      foo:
        type: rancher2:CloudCredential
        properties:
          name: foo
          amazonec2CredentialConfig:
            accessKey: <ACCESS_KEY>
            secretKey: <SECRET_KEY>
      # Create AmazonEC2 machine config v2
      fooMachineConfigV2:
        type: rancher2:MachineConfigV2
        name: foo
        properties:
          generateName: test-foo
          amazonec2Config:
            ami: ami-id
            region: region
            securityGroups:
              - security-group
            subnetId: subnet-id
            vpcId: vpc-id
            zone: zone
    

    For the full list of supported infrastructure providers and their arguments, please refer to the page for the rancher2.MachineConfigV2 resource.

    Now, you can create an RKE2 or K3s node-driver cluster with one or more machine pools:

    import * as pulumi from "@pulumi/pulumi";
    import * as rancher2 from "@pulumi/rancher2";
    
    // Create a cluster with multiple machine pools
    const foo = new rancher2.ClusterV2("foo", {
        name: "foo",
        kubernetesVersion: "rke2/k3s-version",
        enableNetworkPolicy: false,
        rkeConfig: {
            machinePools: [
                {
                    name: "pool1",
                    cloudCredentialSecretName: fooRancher2CloudCredential.id,
                    controlPlaneRole: true,
                    etcdRole: true,
                    workerRole: false,
                    quantity: 1,
                    drainBeforeDelete: true,
                    machineConfig: {
                        kind: fooRancher2MachineConfigV2.kind,
                        name: fooRancher2MachineConfigV2.name,
                    },
                },
                {
                    name: "pool2",
                    cloudCredentialSecretName: fooRancher2CloudCredential.id,
                    controlPlaneRole: false,
                    etcdRole: false,
                    workerRole: true,
                    quantity: 2,
                    drainBeforeDelete: true,
                    machineConfig: {
                        kind: fooRancher2MachineConfigV2.kind,
                        name: fooRancher2MachineConfigV2.name,
                    },
                },
            ],
        },
    });
    // Create a cluster with a single machine pool
    const foo_k3s = new rancher2.ClusterV2("foo-k3s", {
        name: "foo-k3s",
        kubernetesVersion: "rke2/k3s-version",
        enableNetworkPolicy: false,
        rkeConfig: {
            machinePools: [{
                name: "pool",
                cloudCredentialSecretName: fooRancher2CloudCredential.id,
                controlPlaneRole: true,
                etcdRole: true,
                workerRole: true,
                quantity: 1,
                machineConfig: {
                    kind: fooRancher2MachineConfigV2.kind,
                    name: fooRancher2MachineConfigV2.name,
                },
            }],
        },
    });
    
    import pulumi
    import pulumi_rancher2 as rancher2
    
    # Create a cluster with multiple machine pools
    foo = rancher2.ClusterV2("foo",
        name="foo",
        kubernetes_version="rke2/k3s-version",
        enable_network_policy=False,
        rke_config={
            "machine_pools": [
                {
                    "name": "pool1",
                    "cloud_credential_secret_name": foo_rancher2_cloud_credential["id"],
                    "control_plane_role": True,
                    "etcd_role": True,
                    "worker_role": False,
                    "quantity": 1,
                    "drain_before_delete": True,
                    "machine_config": {
                        "kind": foo_rancher2_machine_config_v2["kind"],
                        "name": foo_rancher2_machine_config_v2["name"],
                    },
                },
                {
                    "name": "pool2",
                    "cloud_credential_secret_name": foo_rancher2_cloud_credential["id"],
                    "control_plane_role": False,
                    "etcd_role": False,
                    "worker_role": True,
                    "quantity": 2,
                    "drain_before_delete": True,
                    "machine_config": {
                        "kind": foo_rancher2_machine_config_v2["kind"],
                        "name": foo_rancher2_machine_config_v2["name"],
                    },
                },
            ],
        })
    # Create a cluster with a single machine pool
    foo_k3s = rancher2.ClusterV2("foo-k3s",
        name="foo-k3s",
        kubernetes_version="rke2/k3s-version",
        enable_network_policy=False,
        rke_config={
            "machine_pools": [{
                "name": "pool",
                "cloud_credential_secret_name": foo_rancher2_cloud_credential["id"],
                "control_plane_role": True,
                "etcd_role": True,
                "worker_role": True,
                "quantity": 1,
                "machine_config": {
                    "kind": foo_rancher2_machine_config_v2["kind"],
                    "name": foo_rancher2_machine_config_v2["name"],
                },
            }],
        })
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-rancher2/sdk/v11/go/rancher2"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		// Create a cluster with multiple machine pools
    		_, err := rancher2.NewClusterV2(ctx, "foo", &rancher2.ClusterV2Args{
    			Name:                pulumi.String("foo"),
    			KubernetesVersion:   pulumi.String("rke2/k3s-version"),
    			EnableNetworkPolicy: pulumi.Bool(false),
    			RkeConfig: &rancher2.ClusterV2RkeConfigArgs{
    				MachinePools: rancher2.ClusterV2RkeConfigMachinePoolArray{
    					&rancher2.ClusterV2RkeConfigMachinePoolArgs{
    						Name:                      pulumi.String("pool1"),
    						CloudCredentialSecretName: pulumi.Any(fooRancher2CloudCredential.Id),
    						ControlPlaneRole:          pulumi.Bool(true),
    						EtcdRole:                  pulumi.Bool(true),
    						WorkerRole:                pulumi.Bool(false),
    						Quantity:                  pulumi.Int(1),
    						DrainBeforeDelete:         pulumi.Bool(true),
    						MachineConfig: &rancher2.ClusterV2RkeConfigMachinePoolMachineConfigArgs{
    							Kind: pulumi.Any(fooRancher2MachineConfigV2.Kind),
    							Name: pulumi.Any(fooRancher2MachineConfigV2.Name),
    						},
    					},
    					&rancher2.ClusterV2RkeConfigMachinePoolArgs{
    						Name:                      pulumi.String("pool2"),
    						CloudCredentialSecretName: pulumi.Any(fooRancher2CloudCredential.Id),
    						ControlPlaneRole:          pulumi.Bool(false),
    						EtcdRole:                  pulumi.Bool(false),
    						WorkerRole:                pulumi.Bool(true),
    						Quantity:                  pulumi.Int(2),
    						DrainBeforeDelete:         pulumi.Bool(true),
    						MachineConfig: &rancher2.ClusterV2RkeConfigMachinePoolMachineConfigArgs{
    							Kind: pulumi.Any(fooRancher2MachineConfigV2.Kind),
    							Name: pulumi.Any(fooRancher2MachineConfigV2.Name),
    						},
    					},
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		// Create a cluster with a single machine pool
    		_, err = rancher2.NewClusterV2(ctx, "foo-k3s", &rancher2.ClusterV2Args{
    			Name:                pulumi.String("foo-k3s"),
    			KubernetesVersion:   pulumi.String("rke2/k3s-version"),
    			EnableNetworkPolicy: pulumi.Bool(false),
    			RkeConfig: &rancher2.ClusterV2RkeConfigArgs{
    				MachinePools: rancher2.ClusterV2RkeConfigMachinePoolArray{
    					&rancher2.ClusterV2RkeConfigMachinePoolArgs{
    						Name:                      pulumi.String("pool"),
    						CloudCredentialSecretName: pulumi.Any(fooRancher2CloudCredential.Id),
    						ControlPlaneRole:          pulumi.Bool(true),
    						EtcdRole:                  pulumi.Bool(true),
    						WorkerRole:                pulumi.Bool(true),
    						Quantity:                  pulumi.Int(1),
    						MachineConfig: &rancher2.ClusterV2RkeConfigMachinePoolMachineConfigArgs{
    							Kind: pulumi.Any(fooRancher2MachineConfigV2.Kind),
    							Name: pulumi.Any(fooRancher2MachineConfigV2.Name),
    						},
    					},
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Rancher2 = Pulumi.Rancher2;
    
    return await Deployment.RunAsync(() => 
    {
        // Create a cluster with multiple machine pools
        var foo = new Rancher2.ClusterV2("foo", new()
        {
            Name = "foo",
            KubernetesVersion = "rke2/k3s-version",
            EnableNetworkPolicy = false,
            RkeConfig = new Rancher2.Inputs.ClusterV2RkeConfigArgs
            {
                MachinePools = new[]
                {
                    new Rancher2.Inputs.ClusterV2RkeConfigMachinePoolArgs
                    {
                        Name = "pool1",
                        CloudCredentialSecretName = fooRancher2CloudCredential.Id,
                        ControlPlaneRole = true,
                        EtcdRole = true,
                        WorkerRole = false,
                        Quantity = 1,
                        DrainBeforeDelete = true,
                        MachineConfig = new Rancher2.Inputs.ClusterV2RkeConfigMachinePoolMachineConfigArgs
                        {
                            Kind = fooRancher2MachineConfigV2.Kind,
                            Name = fooRancher2MachineConfigV2.Name,
                        },
                    },
                    new Rancher2.Inputs.ClusterV2RkeConfigMachinePoolArgs
                    {
                        Name = "pool2",
                        CloudCredentialSecretName = fooRancher2CloudCredential.Id,
                        ControlPlaneRole = false,
                        EtcdRole = false,
                        WorkerRole = true,
                        Quantity = 2,
                        DrainBeforeDelete = true,
                        MachineConfig = new Rancher2.Inputs.ClusterV2RkeConfigMachinePoolMachineConfigArgs
                        {
                            Kind = fooRancher2MachineConfigV2.Kind,
                            Name = fooRancher2MachineConfigV2.Name,
                        },
                    },
                },
            },
        });
    
        // Create a cluster with a single machine pool
        var foo_k3s = new Rancher2.ClusterV2("foo-k3s", new()
        {
            Name = "foo-k3s",
            KubernetesVersion = "rke2/k3s-version",
            EnableNetworkPolicy = false,
            RkeConfig = new Rancher2.Inputs.ClusterV2RkeConfigArgs
            {
                MachinePools = new[]
                {
                    new Rancher2.Inputs.ClusterV2RkeConfigMachinePoolArgs
                    {
                        Name = "pool",
                        CloudCredentialSecretName = fooRancher2CloudCredential.Id,
                        ControlPlaneRole = true,
                        EtcdRole = true,
                        WorkerRole = true,
                        Quantity = 1,
                        MachineConfig = new Rancher2.Inputs.ClusterV2RkeConfigMachinePoolMachineConfigArgs
                        {
                            Kind = fooRancher2MachineConfigV2.Kind,
                            Name = fooRancher2MachineConfigV2.Name,
                        },
                    },
                },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.rancher2.ClusterV2;
    import com.pulumi.rancher2.ClusterV2Args;
    import com.pulumi.rancher2.inputs.ClusterV2RkeConfigArgs;
    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) {
            // Create a cluster with multiple machine pools
            var foo = new ClusterV2("foo", ClusterV2Args.builder()
                .name("foo")
                .kubernetesVersion("rke2/k3s-version")
                .enableNetworkPolicy(false)
                .rkeConfig(ClusterV2RkeConfigArgs.builder()
                    .machinePools(                
                        ClusterV2RkeConfigMachinePoolArgs.builder()
                            .name("pool1")
                            .cloudCredentialSecretName(fooRancher2CloudCredential.id())
                            .controlPlaneRole(true)
                            .etcdRole(true)
                            .workerRole(false)
                            .quantity(1)
                            .drainBeforeDelete(true)
                            .machineConfig(ClusterV2RkeConfigMachinePoolMachineConfigArgs.builder()
                                .kind(fooRancher2MachineConfigV2.kind())
                                .name(fooRancher2MachineConfigV2.name())
                                .build())
                            .build(),
                        ClusterV2RkeConfigMachinePoolArgs.builder()
                            .name("pool2")
                            .cloudCredentialSecretName(fooRancher2CloudCredential.id())
                            .controlPlaneRole(false)
                            .etcdRole(false)
                            .workerRole(true)
                            .quantity(2)
                            .drainBeforeDelete(true)
                            .machineConfig(ClusterV2RkeConfigMachinePoolMachineConfigArgs.builder()
                                .kind(fooRancher2MachineConfigV2.kind())
                                .name(fooRancher2MachineConfigV2.name())
                                .build())
                            .build())
                    .build())
                .build());
    
            // Create a cluster with a single machine pool
            var foo_k3s = new ClusterV2("foo-k3s", ClusterV2Args.builder()
                .name("foo-k3s")
                .kubernetesVersion("rke2/k3s-version")
                .enableNetworkPolicy(false)
                .rkeConfig(ClusterV2RkeConfigArgs.builder()
                    .machinePools(ClusterV2RkeConfigMachinePoolArgs.builder()
                        .name("pool")
                        .cloudCredentialSecretName(fooRancher2CloudCredential.id())
                        .controlPlaneRole(true)
                        .etcdRole(true)
                        .workerRole(true)
                        .quantity(1)
                        .machineConfig(ClusterV2RkeConfigMachinePoolMachineConfigArgs.builder()
                            .kind(fooRancher2MachineConfigV2.kind())
                            .name(fooRancher2MachineConfigV2.name())
                            .build())
                        .build())
                    .build())
                .build());
    
        }
    }
    
    resources:
      # Create a cluster with multiple machine pools
      foo:
        type: rancher2:ClusterV2
        properties:
          name: foo
          kubernetesVersion: rke2/k3s-version
          enableNetworkPolicy: false
          rkeConfig:
            machinePools:
              - name: pool1
                cloudCredentialSecretName: ${fooRancher2CloudCredential.id}
                controlPlaneRole: true
                etcdRole: true
                workerRole: false
                quantity: 1
                drainBeforeDelete: true
                machineConfig:
                  kind: ${fooRancher2MachineConfigV2.kind}
                  name: ${fooRancher2MachineConfigV2.name}
              - name: pool2
                cloudCredentialSecretName: ${fooRancher2CloudCredential.id}
                controlPlaneRole: false
                etcdRole: false
                workerRole: true
                quantity: 2
                drainBeforeDelete: true
                machineConfig:
                  kind: ${fooRancher2MachineConfigV2.kind}
                  name: ${fooRancher2MachineConfigV2.name}
      # Create a cluster with a single machine pool
      foo-k3s:
        type: rancher2:ClusterV2
        properties:
          name: foo-k3s
          kubernetesVersion: rke2/k3s-version
          enableNetworkPolicy: false
          rkeConfig:
            machinePools:
              - name: pool
                cloudCredentialSecretName: ${fooRancher2CloudCredential.id}
                controlPlaneRole: true
                etcdRole: true
                workerRole: true
                quantity: 1
                machineConfig:
                  kind: ${fooRancher2MachineConfigV2.kind}
                  name: ${fooRancher2MachineConfigV2.name}
    

    Create a node-driver cluster with Harvester as the infrastructure provider

    Example coming soon!
    
    Example coming soon!
    
    Example coming soon!
    
    Example coming soon!
    
    Example coming soon!
    
    resources:
      # Create a new cloud credential for an imported Harvester cluster
      foo-harvesterCloudCredential:
        type: rancher2:CloudCredential
        name: foo-harvester
        properties:
          name: foo-harvester
          harvesterCredentialConfig:
            clusterId: ${["foo-harvester"].clusterV1Id}
            clusterType: imported
            kubeconfigContent: ${["foo-harvester"].kubeConfig}
      # Create a new rancher2 machine config v2 using harvester node_driver
      foo-harvester-v2:
        type: rancher2:MachineConfigV2
        properties:
          generateName: foo-harvester-v2
          harvesterConfig:
            vmNamespace: default
            cpuCount: '2'
            memorySize: '4'
            diskInfo: |2
                  {
                      \"disks\": [{
                          \"imageName\": \"harvester-public/image-57hzg\",
                          \"size\": 40,
                          \"bootOrder\": 1
                      }]
                  }
            networkInfo: |2
                  {
                      \"interfaces\": [{
                          \"networkName\": \"harvester-public/vlan1\"
                      }]
                  }
            sshUser: ubuntu
            userData: |2
                  package_update: true
                  packages:
                    - qemu-guest-agent
                    - iptables
                  runcmd:
                    - - systemctl
                      - enable
                      - '--now'
                      - qemu-guest-agent.service
      # Create a new cluster
      foo-harvester-v2ClusterV2:
        type: rancher2:ClusterV2
        name: foo-harvester-v2
        properties:
          name: foo-harvester-v2
          kubernetesVersion: <rke2/k3s-version>
          rkeConfig:
            machinePools:
              - name: pool1
                cloudCredentialSecretName: ${["foo-harvesterCloudCredential"].id}
                controlPlaneRole: true
                etcdRole: true
                workerRole: true
                quantity: 1
                machineConfig:
                  kind: ${["foo-harvester-v2"].kind}
                  name: ${["foo-harvester-v2"].name}
            machineSelectorConfigs:
              - config:
                  cloud-provider-name: ""
            machineGlobalConfig: |
              cni: \"calico\"
              disable-kube-proxy: false
              etcd-expose-metrics: false
            upgradeStrategy:
              controlPlaneConcurrency: 10%
              workerConcurrency: 10%
            etcd:
              snapshotScheduleCron: 0 */5 * * *
              snapshotRetention: 5
    variables:
      # Get imported harvester cluster info
      foo-harvester:
        fn::invoke:
          function: rancher2:getClusterV2
          arguments:
            name: foo-harvester
    

    Create a node-driver cluster with Harvester as both the infrastructure provider and cloud provider

    The example below utilizes the arguments such as machine_selector_config, machine_global_config, and chart_values. More explanations and examples for those arguments can be found on this page.

    import * as pulumi from "@pulumi/pulumi";
    import * as rancher2 from "@pulumi/rancher2";
    
    // Get imported harvester cluster info
    const foo_harvester = rancher2.getClusterV2({
        name: "foo-harvester",
    });
    
    import pulumi
    import pulumi_rancher2 as rancher2
    
    # Get imported harvester cluster info
    foo_harvester = rancher2.get_cluster_v2(name="foo-harvester")
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-rancher2/sdk/v11/go/rancher2"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		// Get imported harvester cluster info
    		_, err := rancher2.LookupClusterV2(ctx, &rancher2.LookupClusterV2Args{
    			Name: "foo-harvester",
    		}, nil)
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Rancher2 = Pulumi.Rancher2;
    
    return await Deployment.RunAsync(() => 
    {
        // Get imported harvester cluster info
        var foo_harvester = Rancher2.GetClusterV2.Invoke(new()
        {
            Name = "foo-harvester",
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.rancher2.Rancher2Functions;
    import com.pulumi.rancher2.inputs.GetClusterV2Args;
    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) {
            // Get imported harvester cluster info
            final var foo-harvester = Rancher2Functions.getClusterV2(GetClusterV2Args.builder()
                .name("foo-harvester")
                .build());
    
        }
    }
    
    variables:
      # Get imported harvester cluster info
      foo-harvester:
        fn::invoke:
          function: rancher2:getClusterV2
          arguments:
            name: foo-harvester
    

    You need the kubeconfig file of the Harvester cluster to use it as the cloud provider for your cluster.

    # Generate harvester cloud provider kubeconfig
    RANCHER_SERVER_URL="<RANCHER_SERVER_URL>"
    RANCHER_ACCESS_KEY="<RANCHER_ACCESS_KEY>"
    RANCHER_SECRET_KEY="<RANCHER_SECRET_KEY>"
    HARVESTER_CLUSTER_ID="<HARVESTER_CLUSTER_ID>"
    CLUSTER_NAME="foo-harvester-v2-cloud-provider"
    curl -k -X POST ${RANCHER_SERVER_URL}/k8s/clusters/${HARVESTER_CLUSTER_ID}/v1/harvester/kubeconfig \
       -H 'Content-Type: application/json' \
       -u ${RANCHER_ACCESS_KEY}:${RANCHER_SECRET_KEY} \
       -d '{"clusterRoleName": "harvesterhci.io:cloudprovider", "namespace": "default", "serviceAccountName": "'${CLUSTER_NAME}'"}' | xargs | sed 's/\\n/\n/g' > ${CLUSTER_NAME}-kubeconfig
    

    Customize the agent environment variables

    The example below demonstrates how to set agent environment variables on a cluster.

    import * as pulumi from "@pulumi/pulumi";
    import * as rancher2 from "@pulumi/rancher2";
    
    const foo = new rancher2.ClusterV2("foo", {
        name: "cluster-with-agent-env-vars",
        kubernetesVersion: "rke2/k3s-version",
        agentEnvVars: [
            {
                name: "foo1",
                value: "boo1",
            },
            {
                name: "foo2",
                value: "boo2",
            },
        ],
        rkeConfig: {},
    });
    
    import pulumi
    import pulumi_rancher2 as rancher2
    
    foo = rancher2.ClusterV2("foo",
        name="cluster-with-agent-env-vars",
        kubernetes_version="rke2/k3s-version",
        agent_env_vars=[
            {
                "name": "foo1",
                "value": "boo1",
            },
            {
                "name": "foo2",
                "value": "boo2",
            },
        ],
        rke_config={})
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-rancher2/sdk/v11/go/rancher2"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := rancher2.NewClusterV2(ctx, "foo", &rancher2.ClusterV2Args{
    			Name:              pulumi.String("cluster-with-agent-env-vars"),
    			KubernetesVersion: pulumi.String("rke2/k3s-version"),
    			AgentEnvVars: rancher2.ClusterV2AgentEnvVarArray{
    				&rancher2.ClusterV2AgentEnvVarArgs{
    					Name:  pulumi.String("foo1"),
    					Value: pulumi.String("boo1"),
    				},
    				&rancher2.ClusterV2AgentEnvVarArgs{
    					Name:  pulumi.String("foo2"),
    					Value: pulumi.String("boo2"),
    				},
    			},
    			RkeConfig: &rancher2.ClusterV2RkeConfigArgs{},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Rancher2 = Pulumi.Rancher2;
    
    return await Deployment.RunAsync(() => 
    {
        var foo = new Rancher2.ClusterV2("foo", new()
        {
            Name = "cluster-with-agent-env-vars",
            KubernetesVersion = "rke2/k3s-version",
            AgentEnvVars = new[]
            {
                new Rancher2.Inputs.ClusterV2AgentEnvVarArgs
                {
                    Name = "foo1",
                    Value = "boo1",
                },
                new Rancher2.Inputs.ClusterV2AgentEnvVarArgs
                {
                    Name = "foo2",
                    Value = "boo2",
                },
            },
            RkeConfig = null,
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.rancher2.ClusterV2;
    import com.pulumi.rancher2.ClusterV2Args;
    import com.pulumi.rancher2.inputs.ClusterV2AgentEnvVarArgs;
    import com.pulumi.rancher2.inputs.ClusterV2RkeConfigArgs;
    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 foo = new ClusterV2("foo", ClusterV2Args.builder()
                .name("cluster-with-agent-env-vars")
                .kubernetesVersion("rke2/k3s-version")
                .agentEnvVars(            
                    ClusterV2AgentEnvVarArgs.builder()
                        .name("foo1")
                        .value("boo1")
                        .build(),
                    ClusterV2AgentEnvVarArgs.builder()
                        .name("foo2")
                        .value("boo2")
                        .build())
                .rkeConfig(ClusterV2RkeConfigArgs.builder()
                    .build())
                .build());
    
        }
    }
    
    resources:
      foo:
        type: rancher2:ClusterV2
        properties:
          name: cluster-with-agent-env-vars
          kubernetesVersion: rke2/k3s-version
          agentEnvVars:
            - name: foo1
              value: boo1
            - name: foo2
              value: boo2
          rkeConfig: {}
    

    Customize the cluster agent and the fleet agent

    This argument is available in Rancher v2.7.5 and above.

    You can configure the tolerations, affinity rules, and resource requirements for the cattle-cluster-agent and fleet-agent deployments.

    The example below demonstrates how to set cluster_agent_deployment_customization and fleet_agent_deployment_customization:

    import * as pulumi from "@pulumi/pulumi";
    import * as rancher2 from "@pulumi/rancher2";
    
    const foo = new rancher2.ClusterV2("foo", {
        fleetAgentDeploymentCustomizations: [{}],
        name: "foo",
        kubernetesVersion: "rke2/k3s-version",
        clusterAgentDeploymentCustomizations: [{
            appendTolerations: [
                {
                    key: "tolerate/control-plane",
                    effect: "NoSchedule",
                    value: "true",
                },
                {
                    key: "tolerate/etcd",
                    effect: "NoSchedule",
                    value: "true",
                },
            ],
            overrideAffinity: `{
      \\"nodeAffinity\\": {
        \\"requiredDuringSchedulingIgnoredDuringExecution\\": {
          \\"nodeSelectorTerms\\": [{
            \\"matchExpressions\\": [{
              \\"key\\": \\"not.this/nodepool\\",
              \\"operator\\": \\"In\\",
              \\"values\\": [
                \\"true\\"
              ]
            }]
          }]
        }
      }
    }
    `,
            overrideResourceRequirements: [{
                cpuLimit: "800m",
                cpuRequest: "500m",
                memoryLimit: "800Mi",
                memoryRequest: "500Mi",
            }],
        }],
        rkeConfig: {
            machinePools: [{}],
        },
    });
    
    import pulumi
    import pulumi_rancher2 as rancher2
    
    foo = rancher2.ClusterV2("foo",
        fleet_agent_deployment_customizations=[{}],
        name="foo",
        kubernetes_version="rke2/k3s-version",
        cluster_agent_deployment_customizations=[{
            "append_tolerations": [
                {
                    "key": "tolerate/control-plane",
                    "effect": "NoSchedule",
                    "value": "true",
                },
                {
                    "key": "tolerate/etcd",
                    "effect": "NoSchedule",
                    "value": "true",
                },
            ],
            "override_affinity": """{
      \"nodeAffinity\": {
        \"requiredDuringSchedulingIgnoredDuringExecution\": {
          \"nodeSelectorTerms\": [{
            \"matchExpressions\": [{
              \"key\": \"not.this/nodepool\",
              \"operator\": \"In\",
              \"values\": [
                \"true\"
              ]
            }]
          }]
        }
      }
    }
    """,
            "override_resource_requirements": [{
                "cpu_limit": "800m",
                "cpu_request": "500m",
                "memory_limit": "800Mi",
                "memory_request": "500Mi",
            }],
        }],
        rke_config={
            "machine_pools": [{}],
        })
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-rancher2/sdk/v11/go/rancher2"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := rancher2.NewClusterV2(ctx, "foo", &rancher2.ClusterV2Args{
    			FleetAgentDeploymentCustomizations: rancher2.ClusterV2FleetAgentDeploymentCustomizationArray{
    				&rancher2.ClusterV2FleetAgentDeploymentCustomizationArgs{},
    			},
    			Name:              pulumi.String("foo"),
    			KubernetesVersion: pulumi.String("rke2/k3s-version"),
    			ClusterAgentDeploymentCustomizations: rancher2.ClusterV2ClusterAgentDeploymentCustomizationArray{
    				&rancher2.ClusterV2ClusterAgentDeploymentCustomizationArgs{
    					AppendTolerations: rancher2.ClusterV2ClusterAgentDeploymentCustomizationAppendTolerationArray{
    						&rancher2.ClusterV2ClusterAgentDeploymentCustomizationAppendTolerationArgs{
    							Key:    pulumi.String("tolerate/control-plane"),
    							Effect: pulumi.String("NoSchedule"),
    							Value:  pulumi.String("true"),
    						},
    						&rancher2.ClusterV2ClusterAgentDeploymentCustomizationAppendTolerationArgs{
    							Key:    pulumi.String("tolerate/etcd"),
    							Effect: pulumi.String("NoSchedule"),
    							Value:  pulumi.String("true"),
    						},
    					},
    					OverrideAffinity: pulumi.String(`{
      \"nodeAffinity\": {
        \"requiredDuringSchedulingIgnoredDuringExecution\": {
          \"nodeSelectorTerms\": [{
            \"matchExpressions\": [{
              \"key\": \"not.this/nodepool\",
              \"operator\": \"In\",
              \"values\": [
                \"true\"
              ]
            }]
          }]
        }
      }
    }
    `),
    					OverrideResourceRequirements: rancher2.ClusterV2ClusterAgentDeploymentCustomizationOverrideResourceRequirementArray{
    						&rancher2.ClusterV2ClusterAgentDeploymentCustomizationOverrideResourceRequirementArgs{
    							CpuLimit:      pulumi.String("800m"),
    							CpuRequest:    pulumi.String("500m"),
    							MemoryLimit:   pulumi.String("800Mi"),
    							MemoryRequest: pulumi.String("500Mi"),
    						},
    					},
    				},
    			},
    			RkeConfig: &rancher2.ClusterV2RkeConfigArgs{
    				MachinePools: rancher2.ClusterV2RkeConfigMachinePoolArray{
    					&rancher2.ClusterV2RkeConfigMachinePoolArgs{},
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Rancher2 = Pulumi.Rancher2;
    
    return await Deployment.RunAsync(() => 
    {
        var foo = new Rancher2.ClusterV2("foo", new()
        {
            FleetAgentDeploymentCustomizations = new[]
            {
                null,
            },
            Name = "foo",
            KubernetesVersion = "rke2/k3s-version",
            ClusterAgentDeploymentCustomizations = new[]
            {
                new Rancher2.Inputs.ClusterV2ClusterAgentDeploymentCustomizationArgs
                {
                    AppendTolerations = new[]
                    {
                        new Rancher2.Inputs.ClusterV2ClusterAgentDeploymentCustomizationAppendTolerationArgs
                        {
                            Key = "tolerate/control-plane",
                            Effect = "NoSchedule",
                            Value = "true",
                        },
                        new Rancher2.Inputs.ClusterV2ClusterAgentDeploymentCustomizationAppendTolerationArgs
                        {
                            Key = "tolerate/etcd",
                            Effect = "NoSchedule",
                            Value = "true",
                        },
                    },
                    OverrideAffinity = @"{
      \""nodeAffinity\"": {
        \""requiredDuringSchedulingIgnoredDuringExecution\"": {
          \""nodeSelectorTerms\"": [{
            \""matchExpressions\"": [{
              \""key\"": \""not.this/nodepool\"",
              \""operator\"": \""In\"",
              \""values\"": [
                \""true\""
              ]
            }]
          }]
        }
      }
    }
    ",
                    OverrideResourceRequirements = new[]
                    {
                        new Rancher2.Inputs.ClusterV2ClusterAgentDeploymentCustomizationOverrideResourceRequirementArgs
                        {
                            CpuLimit = "800m",
                            CpuRequest = "500m",
                            MemoryLimit = "800Mi",
                            MemoryRequest = "500Mi",
                        },
                    },
                },
            },
            RkeConfig = new Rancher2.Inputs.ClusterV2RkeConfigArgs
            {
                MachinePools = new[]
                {
                    null,
                },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.rancher2.ClusterV2;
    import com.pulumi.rancher2.ClusterV2Args;
    import com.pulumi.rancher2.inputs.ClusterV2FleetAgentDeploymentCustomizationArgs;
    import com.pulumi.rancher2.inputs.ClusterV2ClusterAgentDeploymentCustomizationArgs;
    import com.pulumi.rancher2.inputs.ClusterV2RkeConfigArgs;
    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 foo = new ClusterV2("foo", ClusterV2Args.builder()
                .fleetAgentDeploymentCustomizations(ClusterV2FleetAgentDeploymentCustomizationArgs.builder()
                    .build())
                .name("foo")
                .kubernetesVersion("rke2/k3s-version")
                .clusterAgentDeploymentCustomizations(ClusterV2ClusterAgentDeploymentCustomizationArgs.builder()
                    .appendTolerations(                
                        ClusterV2ClusterAgentDeploymentCustomizationAppendTolerationArgs.builder()
                            .key("tolerate/control-plane")
                            .effect("NoSchedule")
                            .value("true")
                            .build(),
                        ClusterV2ClusterAgentDeploymentCustomizationAppendTolerationArgs.builder()
                            .key("tolerate/etcd")
                            .effect("NoSchedule")
                            .value("true")
                            .build())
                    .overrideAffinity("""
    {
      \"nodeAffinity\": {
        \"requiredDuringSchedulingIgnoredDuringExecution\": {
          \"nodeSelectorTerms\": [{
            \"matchExpressions\": [{
              \"key\": \"not.this/nodepool\",
              \"operator\": \"In\",
              \"values\": [
                \"true\"
              ]
            }]
          }]
        }
      }
    }
                    """)
                    .overrideResourceRequirements(ClusterV2ClusterAgentDeploymentCustomizationOverrideResourceRequirementArgs.builder()
                        .cpuLimit("800m")
                        .cpuRequest("500m")
                        .memoryLimit("800Mi")
                        .memoryRequest("500Mi")
                        .build())
                    .build())
                .rkeConfig(ClusterV2RkeConfigArgs.builder()
                    .machinePools(ClusterV2RkeConfigMachinePoolArgs.builder()
                        .build())
                    .build())
                .build());
    
        }
    }
    
    resources:
      foo:
        type: rancher2:ClusterV2
        properties:
          fleetAgentDeploymentCustomizations:
            - {}
          name: foo
          kubernetesVersion: rke2/k3s-version
          clusterAgentDeploymentCustomizations:
            - appendTolerations:
                - key: tolerate/control-plane
                  effect: NoSchedule
                  value: 'true'
                - key: tolerate/etcd
                  effect: NoSchedule
                  value: 'true'
              overrideAffinity: |
                {
                  \"nodeAffinity\": {
                    \"requiredDuringSchedulingIgnoredDuringExecution\": {
                      \"nodeSelectorTerms\": [{
                        \"matchExpressions\": [{
                          \"key\": \"not.this/nodepool\",
                          \"operator\": \"In\",
                          \"values\": [
                            \"true\"
                          ]
                        }]
                      }]
                    }
                  }
                }
              overrideResourceRequirements:
                - cpuLimit: 800m
                  cpuRequest: 500m
                  memoryLimit: 800Mi
                  memoryRequest: 500Mi
          rkeConfig:
            machinePools:
              - {}
    

    Customize scheduling for the cluster agent

    This argument is available in Rancher 2.11.0 and above.

    You can configure a Priority Class and or Pod Disruption Budget to be automatically deployed for the cattle cluster agent when provisioning or updating downstream clusters.

    In order to use this field, you must ensure that the cluster-agent-scheduling-customization feature is enabled in the Rancher server.

    The example below demonstrates how to set the scheduling_customization field to deploy a Priority Class and Pod Disruption Budget. Currently, this field is only supported for the cluster agent.

    import * as pulumi from "@pulumi/pulumi";
    import * as rancher2 from "@pulumi/rancher2";
    
    const foo = new rancher2.ClusterV2("foo", {
        name: "foo",
        kubernetesVersion: "rke2/k3s-version",
        clusterAgentDeploymentCustomizations: [{
            schedulingCustomizations: [{
                priorityClasses: [{
                    preemptionPolicy: "PreemptLowerPriority",
                    value: 1000000000,
                }],
                podDisruptionBudgets: [{
                    minAvailable: "1",
                }],
            }],
        }],
        rkeConfig: {
            machinePools: [{}],
        },
    });
    
    import pulumi
    import pulumi_rancher2 as rancher2
    
    foo = rancher2.ClusterV2("foo",
        name="foo",
        kubernetes_version="rke2/k3s-version",
        cluster_agent_deployment_customizations=[{
            "scheduling_customizations": [{
                "priority_classes": [{
                    "preemption_policy": "PreemptLowerPriority",
                    "value": 1000000000,
                }],
                "pod_disruption_budgets": [{
                    "min_available": "1",
                }],
            }],
        }],
        rke_config={
            "machine_pools": [{}],
        })
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-rancher2/sdk/v11/go/rancher2"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := rancher2.NewClusterV2(ctx, "foo", &rancher2.ClusterV2Args{
    			Name:              pulumi.String("foo"),
    			KubernetesVersion: pulumi.String("rke2/k3s-version"),
    			ClusterAgentDeploymentCustomizations: rancher2.ClusterV2ClusterAgentDeploymentCustomizationArray{
    				&rancher2.ClusterV2ClusterAgentDeploymentCustomizationArgs{
    					SchedulingCustomizations: rancher2.ClusterV2ClusterAgentDeploymentCustomizationSchedulingCustomizationArray{
    						&rancher2.ClusterV2ClusterAgentDeploymentCustomizationSchedulingCustomizationArgs{
    							PriorityClasses: rancher2.ClusterV2ClusterAgentDeploymentCustomizationSchedulingCustomizationPriorityClassArray{
    								&rancher2.ClusterV2ClusterAgentDeploymentCustomizationSchedulingCustomizationPriorityClassArgs{
    									PreemptionPolicy: pulumi.String("PreemptLowerPriority"),
    									Value:            pulumi.Int(1000000000),
    								},
    							},
    							PodDisruptionBudgets: rancher2.ClusterV2ClusterAgentDeploymentCustomizationSchedulingCustomizationPodDisruptionBudgetArray{
    								&rancher2.ClusterV2ClusterAgentDeploymentCustomizationSchedulingCustomizationPodDisruptionBudgetArgs{
    									MinAvailable: pulumi.String("1"),
    								},
    							},
    						},
    					},
    				},
    			},
    			RkeConfig: &rancher2.ClusterV2RkeConfigArgs{
    				MachinePools: rancher2.ClusterV2RkeConfigMachinePoolArray{
    					&rancher2.ClusterV2RkeConfigMachinePoolArgs{},
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Rancher2 = Pulumi.Rancher2;
    
    return await Deployment.RunAsync(() => 
    {
        var foo = new Rancher2.ClusterV2("foo", new()
        {
            Name = "foo",
            KubernetesVersion = "rke2/k3s-version",
            ClusterAgentDeploymentCustomizations = new[]
            {
                new Rancher2.Inputs.ClusterV2ClusterAgentDeploymentCustomizationArgs
                {
                    SchedulingCustomizations = new[]
                    {
                        new Rancher2.Inputs.ClusterV2ClusterAgentDeploymentCustomizationSchedulingCustomizationArgs
                        {
                            PriorityClasses = new[]
                            {
                                new Rancher2.Inputs.ClusterV2ClusterAgentDeploymentCustomizationSchedulingCustomizationPriorityClassArgs
                                {
                                    PreemptionPolicy = "PreemptLowerPriority",
                                    Value = 1000000000,
                                },
                            },
                            PodDisruptionBudgets = new[]
                            {
                                new Rancher2.Inputs.ClusterV2ClusterAgentDeploymentCustomizationSchedulingCustomizationPodDisruptionBudgetArgs
                                {
                                    MinAvailable = "1",
                                },
                            },
                        },
                    },
                },
            },
            RkeConfig = new Rancher2.Inputs.ClusterV2RkeConfigArgs
            {
                MachinePools = new[]
                {
                    null,
                },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.rancher2.ClusterV2;
    import com.pulumi.rancher2.ClusterV2Args;
    import com.pulumi.rancher2.inputs.ClusterV2ClusterAgentDeploymentCustomizationArgs;
    import com.pulumi.rancher2.inputs.ClusterV2RkeConfigArgs;
    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 foo = new ClusterV2("foo", ClusterV2Args.builder()
                .name("foo")
                .kubernetesVersion("rke2/k3s-version")
                .clusterAgentDeploymentCustomizations(ClusterV2ClusterAgentDeploymentCustomizationArgs.builder()
                    .schedulingCustomizations(ClusterV2ClusterAgentDeploymentCustomizationSchedulingCustomizationArgs.builder()
                        .priorityClasses(ClusterV2ClusterAgentDeploymentCustomizationSchedulingCustomizationPriorityClassArgs.builder()
                            .preemptionPolicy("PreemptLowerPriority")
                            .value(1000000000)
                            .build())
                        .podDisruptionBudgets(ClusterV2ClusterAgentDeploymentCustomizationSchedulingCustomizationPodDisruptionBudgetArgs.builder()
                            .minAvailable("1")
                            .build())
                        .build())
                    .build())
                .rkeConfig(ClusterV2RkeConfigArgs.builder()
                    .machinePools(ClusterV2RkeConfigMachinePoolArgs.builder()
                        .build())
                    .build())
                .build());
    
        }
    }
    
    resources:
      foo:
        type: rancher2:ClusterV2
        properties:
          name: foo
          kubernetesVersion: rke2/k3s-version
          clusterAgentDeploymentCustomizations:
            - schedulingCustomizations:
                - priorityClasses:
                    - preemptionPolicy: PreemptLowerPriority
                      value: 1e+09
                  podDisruptionBudgets:
                    - minAvailable: '1'
          rkeConfig:
            machinePools:
              - {}
    

    Create a cluster that uses a cluster-level authenticated system-default-registry

    The <auth-config-secret-name> represents a generic Kubernetes secret that contains two keys with base64 encoded values: the username and password for the specified custom registry. If the system-default-registry is not authenticated, no secret is required and the section within the rke_config can be omitted if not otherwise needed. While the below example shows how to create a registry secret, storing plain text credentials in terraform files is never a good idea. Significant care should be taken to ensure that the username and password values are not committed or otherwise leaked.

    Many registries may be specified in the rke_configs registries section, however, the system-default-registry from which core system images are pulled is always denoted via the system-default-registry key of the machine_selector_config or the machine_global_config. For more information on private registries, please refer to the Rancher documentation.

    import * as pulumi from "@pulumi/pulumi";
    import * as rancher2 from "@pulumi/rancher2";
    
    const fooClusterV2 = new rancher2.ClusterV2("foo_cluster_v2", {
        name: "cluster-with-custom-registry",
        kubernetesVersion: "rke2/k3s-version",
        rkeConfig: {
            machinePools: [{}],
            machineSelectorConfigs: [{
                config: "system-default-registry: registry_domain_name",
            }],
            registries: {
                configs: [{
                    hostname: "registry_domain_name",
                    authConfigSecretName: registrySecretName,
                    insecure: "<tls-insecure-bool>",
                    tlsSecretName: "",
                    caBundle: "",
                }],
            },
        },
    });
    // create registry auth secret
    const myRegistry = new rancher2.SecretV2("my_registry", {
        clusterId: "local",
        name: registrySecretName,
        namespace: "fleet-default",
        type: "kubernetes.io/basic-auth",
        data: {
            username: registryUsername,
            password: registryPassword,
        },
    });
    
    import pulumi
    import pulumi_rancher2 as rancher2
    
    foo_cluster_v2 = rancher2.ClusterV2("foo_cluster_v2",
        name="cluster-with-custom-registry",
        kubernetes_version="rke2/k3s-version",
        rke_config={
            "machine_pools": [{}],
            "machine_selector_configs": [{
                "config": "system-default-registry: registry_domain_name",
            }],
            "registries": {
                "configs": [{
                    "hostname": "registry_domain_name",
                    "auth_config_secret_name": registry_secret_name,
                    "insecure": "<tls-insecure-bool>",
                    "tls_secret_name": "",
                    "ca_bundle": "",
                }],
            },
        })
    # create registry auth secret
    my_registry = rancher2.SecretV2("my_registry",
        cluster_id="local",
        name=registry_secret_name,
        namespace="fleet-default",
        type="kubernetes.io/basic-auth",
        data={
            "username": registry_username,
            "password": registry_password,
        })
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-rancher2/sdk/v11/go/rancher2"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := rancher2.NewClusterV2(ctx, "foo_cluster_v2", &rancher2.ClusterV2Args{
    			Name:              pulumi.String("cluster-with-custom-registry"),
    			KubernetesVersion: pulumi.String("rke2/k3s-version"),
    			RkeConfig: &rancher2.ClusterV2RkeConfigArgs{
    				MachinePools: rancher2.ClusterV2RkeConfigMachinePoolArray{
    					&rancher2.ClusterV2RkeConfigMachinePoolArgs{},
    				},
    				MachineSelectorConfigs: rancher2.ClusterV2RkeConfigMachineSelectorConfigArray{
    					&rancher2.ClusterV2RkeConfigMachineSelectorConfigArgs{
    						Config: pulumi.String("system-default-registry: registry_domain_name"),
    					},
    				},
    				Registries: &rancher2.ClusterV2RkeConfigRegistriesArgs{
    					Configs: rancher2.ClusterV2RkeConfigRegistriesConfigArray{
    						&rancher2.ClusterV2RkeConfigRegistriesConfigArgs{
    							Hostname:             pulumi.String("registry_domain_name"),
    							AuthConfigSecretName: pulumi.Any(registrySecretName),
    							Insecure:             pulumi.Bool("<tls-insecure-bool>"),
    							TlsSecretName:        pulumi.String(""),
    							CaBundle:             pulumi.String(""),
    						},
    					},
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		// create registry auth secret
    		_, err = rancher2.NewSecretV2(ctx, "my_registry", &rancher2.SecretV2Args{
    			ClusterId: pulumi.String("local"),
    			Name:      pulumi.Any(registrySecretName),
    			Namespace: pulumi.String("fleet-default"),
    			Type:      pulumi.String("kubernetes.io/basic-auth"),
    			Data: pulumi.StringMap{
    				"username": pulumi.Any(registryUsername),
    				"password": pulumi.Any(registryPassword),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Rancher2 = Pulumi.Rancher2;
    
    return await Deployment.RunAsync(() => 
    {
        var fooClusterV2 = new Rancher2.ClusterV2("foo_cluster_v2", new()
        {
            Name = "cluster-with-custom-registry",
            KubernetesVersion = "rke2/k3s-version",
            RkeConfig = new Rancher2.Inputs.ClusterV2RkeConfigArgs
            {
                MachinePools = new[]
                {
                    null,
                },
                MachineSelectorConfigs = new[]
                {
                    new Rancher2.Inputs.ClusterV2RkeConfigMachineSelectorConfigArgs
                    {
                        Config = "system-default-registry: registry_domain_name",
                    },
                },
                Registries = new Rancher2.Inputs.ClusterV2RkeConfigRegistriesArgs
                {
                    Configs = new[]
                    {
                        new Rancher2.Inputs.ClusterV2RkeConfigRegistriesConfigArgs
                        {
                            Hostname = "registry_domain_name",
                            AuthConfigSecretName = registrySecretName,
                            Insecure = "<tls-insecure-bool>",
                            TlsSecretName = "",
                            CaBundle = "",
                        },
                    },
                },
            },
        });
    
        // create registry auth secret
        var myRegistry = new Rancher2.SecretV2("my_registry", new()
        {
            ClusterId = "local",
            Name = registrySecretName,
            Namespace = "fleet-default",
            Type = "kubernetes.io/basic-auth",
            Data = 
            {
                { "username", registryUsername },
                { "password", registryPassword },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.rancher2.ClusterV2;
    import com.pulumi.rancher2.ClusterV2Args;
    import com.pulumi.rancher2.inputs.ClusterV2RkeConfigArgs;
    import com.pulumi.rancher2.inputs.ClusterV2RkeConfigRegistriesArgs;
    import com.pulumi.rancher2.SecretV2;
    import com.pulumi.rancher2.SecretV2Args;
    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 fooClusterV2 = new ClusterV2("fooClusterV2", ClusterV2Args.builder()
                .name("cluster-with-custom-registry")
                .kubernetesVersion("rke2/k3s-version")
                .rkeConfig(ClusterV2RkeConfigArgs.builder()
                    .machinePools(ClusterV2RkeConfigMachinePoolArgs.builder()
                        .build())
                    .machineSelectorConfigs(ClusterV2RkeConfigMachineSelectorConfigArgs.builder()
                        .config("system-default-registry: registry_domain_name")
                        .build())
                    .registries(ClusterV2RkeConfigRegistriesArgs.builder()
                        .configs(ClusterV2RkeConfigRegistriesConfigArgs.builder()
                            .hostname("registry_domain_name")
                            .authConfigSecretName(registrySecretName)
                            .insecure("<tls-insecure-bool>")
                            .tlsSecretName("")
                            .caBundle("")
                            .build())
                        .build())
                    .build())
                .build());
    
            // create registry auth secret
            var myRegistry = new SecretV2("myRegistry", SecretV2Args.builder()
                .clusterId("local")
                .name(registrySecretName)
                .namespace("fleet-default")
                .type("kubernetes.io/basic-auth")
                .data(Map.ofEntries(
                    Map.entry("username", registryUsername),
                    Map.entry("password", registryPassword)
                ))
                .build());
    
        }
    }
    
    resources:
      fooClusterV2:
        type: rancher2:ClusterV2
        name: foo_cluster_v2
        properties:
          name: cluster-with-custom-registry
          kubernetesVersion: rke2/k3s-version
          rkeConfig:
            machinePools:
              - {}
            machineSelectorConfigs:
              - config: 'system-default-registry: registry_domain_name'
            registries:
              configs:
                - hostname: registry_domain_name
                  authConfigSecretName: ${registrySecretName}
                  insecure: <tls-insecure-bool>
                  tlsSecretName: ""
                  caBundle: ""
      # create registry auth secret
      myRegistry:
        type: rancher2:SecretV2
        name: my_registry
        properties:
          clusterId: local
          name: ${registrySecretName}
          namespace: fleet-default
          type: kubernetes.io/basic-auth
          data:
            username: ${registryUsername}
            password: ${registryPassword}
    

    Creating Rancher V2 Cluster with Machine Selector Files

    This argument is available in Rancher v2.7.2 and above.

    import * as pulumi from "@pulumi/pulumi";
    import * as rancher2 from "@pulumi/rancher2";
    
    const foo = new rancher2.ClusterV2("foo", {
        name: "foo",
        kubernetesVersion: "rke2/k3s-version",
        enableNetworkPolicy: false,
        rkeConfig: {
            machinePools: [{}],
            machineSelectorFiles: [{
                machineLabelSelector: {
                    matchLabels: {
                        "rke.cattle.io/control-plane-role": "true",
                        "rke.cattle.io/etcd-role": "true",
                    },
                    matchExpressions: [
                        {
                            key: "name",
                            values: [
                                "a",
                                "b",
                            ],
                            operator: "In",
                        },
                        {
                            key: "department",
                            operator: "In",
                            values: [
                                "a",
                                "b",
                            ],
                        },
                    ],
                },
                fileSources: [{
                    secret: {
                        name: "config-file-v1",
                        defaultPermissions: "644",
                        items: [{
                            key: "audit-policy",
                            path: "/etc/rancher/rke2/custom/policy-v1.yaml",
                            permissions: "666",
                        }],
                    },
                }],
            }],
        },
    });
    
    import pulumi
    import pulumi_rancher2 as rancher2
    
    foo = rancher2.ClusterV2("foo",
        name="foo",
        kubernetes_version="rke2/k3s-version",
        enable_network_policy=False,
        rke_config={
            "machine_pools": [{}],
            "machine_selector_files": [{
                "machine_label_selector": {
                    "match_labels": {
                        "rke.cattle.io/control-plane-role": "true",
                        "rke.cattle.io/etcd-role": "true",
                    },
                    "match_expressions": [
                        {
                            "key": "name",
                            "values": [
                                "a",
                                "b",
                            ],
                            "operator": "In",
                        },
                        {
                            "key": "department",
                            "operator": "In",
                            "values": [
                                "a",
                                "b",
                            ],
                        },
                    ],
                },
                "file_sources": [{
                    "secret": {
                        "name": "config-file-v1",
                        "default_permissions": "644",
                        "items": [{
                            "key": "audit-policy",
                            "path": "/etc/rancher/rke2/custom/policy-v1.yaml",
                            "permissions": "666",
                        }],
                    },
                }],
            }],
        })
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-rancher2/sdk/v11/go/rancher2"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := rancher2.NewClusterV2(ctx, "foo", &rancher2.ClusterV2Args{
    			Name:                pulumi.String("foo"),
    			KubernetesVersion:   pulumi.String("rke2/k3s-version"),
    			EnableNetworkPolicy: pulumi.Bool(false),
    			RkeConfig: &rancher2.ClusterV2RkeConfigArgs{
    				MachinePools: rancher2.ClusterV2RkeConfigMachinePoolArray{
    					&rancher2.ClusterV2RkeConfigMachinePoolArgs{},
    				},
    				MachineSelectorFiles: rancher2.ClusterV2RkeConfigMachineSelectorFileArray{
    					&rancher2.ClusterV2RkeConfigMachineSelectorFileArgs{
    						MachineLabelSelector: &rancher2.ClusterV2RkeConfigMachineSelectorFileMachineLabelSelectorArgs{
    							MatchLabels: pulumi.StringMap{
    								"rke.cattle.io/control-plane-role": pulumi.String("true"),
    								"rke.cattle.io/etcd-role":          pulumi.String("true"),
    							},
    							MatchExpressions: rancher2.ClusterV2RkeConfigMachineSelectorFileMachineLabelSelectorMatchExpressionArray{
    								&rancher2.ClusterV2RkeConfigMachineSelectorFileMachineLabelSelectorMatchExpressionArgs{
    									Key: pulumi.String("name"),
    									Values: pulumi.StringArray{
    										pulumi.String("a"),
    										pulumi.String("b"),
    									},
    									Operator: pulumi.String("In"),
    								},
    								&rancher2.ClusterV2RkeConfigMachineSelectorFileMachineLabelSelectorMatchExpressionArgs{
    									Key:      pulumi.String("department"),
    									Operator: pulumi.String("In"),
    									Values: pulumi.StringArray{
    										pulumi.String("a"),
    										pulumi.String("b"),
    									},
    								},
    							},
    						},
    						FileSources: rancher2.ClusterV2RkeConfigMachineSelectorFileFileSourceArray{
    							&rancher2.ClusterV2RkeConfigMachineSelectorFileFileSourceArgs{
    								Secret: &rancher2.ClusterV2RkeConfigMachineSelectorFileFileSourceSecretArgs{
    									Name:               pulumi.String("config-file-v1"),
    									DefaultPermissions: pulumi.String("644"),
    									Items: rancher2.ClusterV2RkeConfigMachineSelectorFileFileSourceSecretItemArray{
    										&rancher2.ClusterV2RkeConfigMachineSelectorFileFileSourceSecretItemArgs{
    											Key:         pulumi.String("audit-policy"),
    											Path:        pulumi.String("/etc/rancher/rke2/custom/policy-v1.yaml"),
    											Permissions: pulumi.String("666"),
    										},
    									},
    								},
    							},
    						},
    					},
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Rancher2 = Pulumi.Rancher2;
    
    return await Deployment.RunAsync(() => 
    {
        var foo = new Rancher2.ClusterV2("foo", new()
        {
            Name = "foo",
            KubernetesVersion = "rke2/k3s-version",
            EnableNetworkPolicy = false,
            RkeConfig = new Rancher2.Inputs.ClusterV2RkeConfigArgs
            {
                MachinePools = new[]
                {
                    null,
                },
                MachineSelectorFiles = new[]
                {
                    new Rancher2.Inputs.ClusterV2RkeConfigMachineSelectorFileArgs
                    {
                        MachineLabelSelector = new Rancher2.Inputs.ClusterV2RkeConfigMachineSelectorFileMachineLabelSelectorArgs
                        {
                            MatchLabels = 
                            {
                                { "rke.cattle.io/control-plane-role", "true" },
                                { "rke.cattle.io/etcd-role", "true" },
                            },
                            MatchExpressions = new[]
                            {
                                new Rancher2.Inputs.ClusterV2RkeConfigMachineSelectorFileMachineLabelSelectorMatchExpressionArgs
                                {
                                    Key = "name",
                                    Values = new[]
                                    {
                                        "a",
                                        "b",
                                    },
                                    Operator = "In",
                                },
                                new Rancher2.Inputs.ClusterV2RkeConfigMachineSelectorFileMachineLabelSelectorMatchExpressionArgs
                                {
                                    Key = "department",
                                    Operator = "In",
                                    Values = new[]
                                    {
                                        "a",
                                        "b",
                                    },
                                },
                            },
                        },
                        FileSources = new[]
                        {
                            new Rancher2.Inputs.ClusterV2RkeConfigMachineSelectorFileFileSourceArgs
                            {
                                Secret = new Rancher2.Inputs.ClusterV2RkeConfigMachineSelectorFileFileSourceSecretArgs
                                {
                                    Name = "config-file-v1",
                                    DefaultPermissions = "644",
                                    Items = new[]
                                    {
                                        new Rancher2.Inputs.ClusterV2RkeConfigMachineSelectorFileFileSourceSecretItemArgs
                                        {
                                            Key = "audit-policy",
                                            Path = "/etc/rancher/rke2/custom/policy-v1.yaml",
                                            Permissions = "666",
                                        },
                                    },
                                },
                            },
                        },
                    },
                },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.rancher2.ClusterV2;
    import com.pulumi.rancher2.ClusterV2Args;
    import com.pulumi.rancher2.inputs.ClusterV2RkeConfigArgs;
    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 foo = new ClusterV2("foo", ClusterV2Args.builder()
                .name("foo")
                .kubernetesVersion("rke2/k3s-version")
                .enableNetworkPolicy(false)
                .rkeConfig(ClusterV2RkeConfigArgs.builder()
                    .machinePools(ClusterV2RkeConfigMachinePoolArgs.builder()
                        .build())
                    .machineSelectorFiles(ClusterV2RkeConfigMachineSelectorFileArgs.builder()
                        .machineLabelSelector(ClusterV2RkeConfigMachineSelectorFileMachineLabelSelectorArgs.builder()
                            .matchLabels(Map.ofEntries(
                                Map.entry("rke.cattle.io/control-plane-role", "true"),
                                Map.entry("rke.cattle.io/etcd-role", "true")
                            ))
                            .matchExpressions(                        
                                ClusterV2RkeConfigMachineSelectorFileMachineLabelSelectorMatchExpressionArgs.builder()
                                    .key("name")
                                    .values(                                
                                        "a",
                                        "b")
                                    .operator("In")
                                    .build(),
                                ClusterV2RkeConfigMachineSelectorFileMachineLabelSelectorMatchExpressionArgs.builder()
                                    .key("department")
                                    .operator("In")
                                    .values(                                
                                        "a",
                                        "b")
                                    .build())
                            .build())
                        .fileSources(ClusterV2RkeConfigMachineSelectorFileFileSourceArgs.builder()
                            .secret(ClusterV2RkeConfigMachineSelectorFileFileSourceSecretArgs.builder()
                                .name("config-file-v1")
                                .defaultPermissions("644")
                                .items(ClusterV2RkeConfigMachineSelectorFileFileSourceSecretItemArgs.builder()
                                    .key("audit-policy")
                                    .path("/etc/rancher/rke2/custom/policy-v1.yaml")
                                    .permissions("666")
                                    .build())
                                .build())
                            .build())
                        .build())
                    .build())
                .build());
    
        }
    }
    
    resources:
      foo:
        type: rancher2:ClusterV2
        properties:
          name: foo
          kubernetesVersion: rke2/k3s-version
          enableNetworkPolicy: false
          rkeConfig:
            machinePools:
              - {}
            machineSelectorFiles:
              - machineLabelSelector:
                  matchLabels:
                    rke.cattle.io/control-plane-role: 'true'
                    rke.cattle.io/etcd-role: 'true'
                  matchExpressions:
                    - key: name
                      values:
                        - a
                        - b
                      operator: In
                    - key: department
                      operator: In
                      values:
                        - a
                        - b
                fileSources:
                  - secret:
                      name: config-file-v1
                      defaultPermissions: '644'
                      items:
                        - key: audit-policy
                          path: /etc/rancher/rke2/custom/policy-v1.yaml
                          permissions: '666'
    

    Create a cluster with machine global config or machine selector config

    import * as pulumi from "@pulumi/pulumi";
    import * as rancher2 from "@pulumi/rancher2";
    
    const foo = new rancher2.ClusterV2("foo", {
        name: "foo",
        kubernetesVersion: "rke2-version",
        enableNetworkPolicy: false,
        rkeConfig: {
            machinePools: [{}],
            machineSelectorConfigs: [
                {
                    machineLabelSelector: {
                        matchLabels: {
                            "rke.cattle.io/control-plane-role": "true",
                            "rke.cattle.io/etcd-role": "true",
                        },
                        matchExpressions: [
                            {
                                key: "name",
                                values: [
                                    "a",
                                    "b",
                                ],
                                operator: "In",
                            },
                            {
                                key: "department",
                                operator: "In",
                                values: [
                                    "a",
                                    "b",
                                ],
                            },
                        ],
                    },
                    config: `        kubelet-arg:
              - cloud-provider-name=external
    `,
                },
                {
                    config: `        kube-proxy-arg:
              - log_file_max_size=1800
    `,
                },
            ],
            machineGlobalConfig: `disable-kube-proxy: false
    etcd-expose-metrics: false
    kubelet-arg:
      - xxx=xxx
    kube-proxy-arg:
      - xxx=xxx
    kube-apiserver-arg:
      - xxx=xxx
    kube-scheduler-arg:
      - xxx=xxx
    kube-cloud-controller-manager-arg:
      - xxx=xxx
    `,
        },
    });
    
    import pulumi
    import pulumi_rancher2 as rancher2
    
    foo = rancher2.ClusterV2("foo",
        name="foo",
        kubernetes_version="rke2-version",
        enable_network_policy=False,
        rke_config={
            "machine_pools": [{}],
            "machine_selector_configs": [
                {
                    "machine_label_selector": {
                        "match_labels": {
                            "rke.cattle.io/control-plane-role": "true",
                            "rke.cattle.io/etcd-role": "true",
                        },
                        "match_expressions": [
                            {
                                "key": "name",
                                "values": [
                                    "a",
                                    "b",
                                ],
                                "operator": "In",
                            },
                            {
                                "key": "department",
                                "operator": "In",
                                "values": [
                                    "a",
                                    "b",
                                ],
                            },
                        ],
                    },
                    "config": """        kubelet-arg:
              - cloud-provider-name=external
    """,
                },
                {
                    "config": """        kube-proxy-arg:
              - log_file_max_size=1800
    """,
                },
            ],
            "machine_global_config": """disable-kube-proxy: false
    etcd-expose-metrics: false
    kubelet-arg:
      - xxx=xxx
    kube-proxy-arg:
      - xxx=xxx
    kube-apiserver-arg:
      - xxx=xxx
    kube-scheduler-arg:
      - xxx=xxx
    kube-cloud-controller-manager-arg:
      - xxx=xxx
    """,
        })
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-rancher2/sdk/v11/go/rancher2"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := rancher2.NewClusterV2(ctx, "foo", &rancher2.ClusterV2Args{
    			Name:                pulumi.String("foo"),
    			KubernetesVersion:   pulumi.String("rke2-version"),
    			EnableNetworkPolicy: pulumi.Bool(false),
    			RkeConfig: &rancher2.ClusterV2RkeConfigArgs{
    				MachinePools: rancher2.ClusterV2RkeConfigMachinePoolArray{
    					&rancher2.ClusterV2RkeConfigMachinePoolArgs{},
    				},
    				MachineSelectorConfigs: rancher2.ClusterV2RkeConfigMachineSelectorConfigArray{
    					&rancher2.ClusterV2RkeConfigMachineSelectorConfigArgs{
    						MachineLabelSelector: &rancher2.ClusterV2RkeConfigMachineSelectorConfigMachineLabelSelectorArgs{
    							MatchLabels: pulumi.StringMap{
    								"rke.cattle.io/control-plane-role": pulumi.String("true"),
    								"rke.cattle.io/etcd-role":          pulumi.String("true"),
    							},
    							MatchExpressions: rancher2.ClusterV2RkeConfigMachineSelectorConfigMachineLabelSelectorMatchExpressionArray{
    								&rancher2.ClusterV2RkeConfigMachineSelectorConfigMachineLabelSelectorMatchExpressionArgs{
    									Key: pulumi.String("name"),
    									Values: pulumi.StringArray{
    										pulumi.String("a"),
    										pulumi.String("b"),
    									},
    									Operator: pulumi.String("In"),
    								},
    								&rancher2.ClusterV2RkeConfigMachineSelectorConfigMachineLabelSelectorMatchExpressionArgs{
    									Key:      pulumi.String("department"),
    									Operator: pulumi.String("In"),
    									Values: pulumi.StringArray{
    										pulumi.String("a"),
    										pulumi.String("b"),
    									},
    								},
    							},
    						},
    						Config: pulumi.String("        kubelet-arg:\n          - cloud-provider-name=external\n"),
    					},
    					&rancher2.ClusterV2RkeConfigMachineSelectorConfigArgs{
    						Config: pulumi.String("        kube-proxy-arg:\n          - log_file_max_size=1800\n"),
    					},
    				},
    				MachineGlobalConfig: pulumi.String(`disable-kube-proxy: false
    etcd-expose-metrics: false
    kubelet-arg:
      - xxx=xxx
    kube-proxy-arg:
      - xxx=xxx
    kube-apiserver-arg:
      - xxx=xxx
    kube-scheduler-arg:
      - xxx=xxx
    kube-cloud-controller-manager-arg:
      - xxx=xxx
    `),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Rancher2 = Pulumi.Rancher2;
    
    return await Deployment.RunAsync(() => 
    {
        var foo = new Rancher2.ClusterV2("foo", new()
        {
            Name = "foo",
            KubernetesVersion = "rke2-version",
            EnableNetworkPolicy = false,
            RkeConfig = new Rancher2.Inputs.ClusterV2RkeConfigArgs
            {
                MachinePools = new[]
                {
                    null,
                },
                MachineSelectorConfigs = new[]
                {
                    new Rancher2.Inputs.ClusterV2RkeConfigMachineSelectorConfigArgs
                    {
                        MachineLabelSelector = new Rancher2.Inputs.ClusterV2RkeConfigMachineSelectorConfigMachineLabelSelectorArgs
                        {
                            MatchLabels = 
                            {
                                { "rke.cattle.io/control-plane-role", "true" },
                                { "rke.cattle.io/etcd-role", "true" },
                            },
                            MatchExpressions = new[]
                            {
                                new Rancher2.Inputs.ClusterV2RkeConfigMachineSelectorConfigMachineLabelSelectorMatchExpressionArgs
                                {
                                    Key = "name",
                                    Values = new[]
                                    {
                                        "a",
                                        "b",
                                    },
                                    Operator = "In",
                                },
                                new Rancher2.Inputs.ClusterV2RkeConfigMachineSelectorConfigMachineLabelSelectorMatchExpressionArgs
                                {
                                    Key = "department",
                                    Operator = "In",
                                    Values = new[]
                                    {
                                        "a",
                                        "b",
                                    },
                                },
                            },
                        },
                        Config = @"        kubelet-arg:
              - cloud-provider-name=external
    ",
                    },
                    new Rancher2.Inputs.ClusterV2RkeConfigMachineSelectorConfigArgs
                    {
                        Config = @"        kube-proxy-arg:
              - log_file_max_size=1800
    ",
                    },
                },
                MachineGlobalConfig = @"disable-kube-proxy: false
    etcd-expose-metrics: false
    kubelet-arg:
      - xxx=xxx
    kube-proxy-arg:
      - xxx=xxx
    kube-apiserver-arg:
      - xxx=xxx
    kube-scheduler-arg:
      - xxx=xxx
    kube-cloud-controller-manager-arg:
      - xxx=xxx
    ",
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.rancher2.ClusterV2;
    import com.pulumi.rancher2.ClusterV2Args;
    import com.pulumi.rancher2.inputs.ClusterV2RkeConfigArgs;
    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 foo = new ClusterV2("foo", ClusterV2Args.builder()
                .name("foo")
                .kubernetesVersion("rke2-version")
                .enableNetworkPolicy(false)
                .rkeConfig(ClusterV2RkeConfigArgs.builder()
                    .machinePools(ClusterV2RkeConfigMachinePoolArgs.builder()
                        .build())
                    .machineSelectorConfigs(                
                        ClusterV2RkeConfigMachineSelectorConfigArgs.builder()
                            .machineLabelSelector(ClusterV2RkeConfigMachineSelectorConfigMachineLabelSelectorArgs.builder()
                                .matchLabels(Map.ofEntries(
                                    Map.entry("rke.cattle.io/control-plane-role", "true"),
                                    Map.entry("rke.cattle.io/etcd-role", "true")
                                ))
                                .matchExpressions(                            
                                    ClusterV2RkeConfigMachineSelectorConfigMachineLabelSelectorMatchExpressionArgs.builder()
                                        .key("name")
                                        .values(                                    
                                            "a",
                                            "b")
                                        .operator("In")
                                        .build(),
                                    ClusterV2RkeConfigMachineSelectorConfigMachineLabelSelectorMatchExpressionArgs.builder()
                                        .key("department")
                                        .operator("In")
                                        .values(                                    
                                            "a",
                                            "b")
                                        .build())
                                .build())
                            .config("""
            kubelet-arg:
              - cloud-provider-name=external
                            """)
                            .build(),
                        ClusterV2RkeConfigMachineSelectorConfigArgs.builder()
                            .config("""
            kube-proxy-arg:
              - log_file_max_size=1800
                            """)
                            .build())
                    .machineGlobalConfig("""
    disable-kube-proxy: false
    etcd-expose-metrics: false
    kubelet-arg:
      - xxx=xxx
    kube-proxy-arg:
      - xxx=xxx
    kube-apiserver-arg:
      - xxx=xxx
    kube-scheduler-arg:
      - xxx=xxx
    kube-cloud-controller-manager-arg:
      - xxx=xxx
                    """)
                    .build())
                .build());
    
        }
    }
    
    resources:
      foo:
        type: rancher2:ClusterV2
        properties:
          name: foo
          kubernetesVersion: rke2-version
          enableNetworkPolicy: false
          rkeConfig:
            machinePools:
              - {}
            machineSelectorConfigs:
              - machineLabelSelector:
                  matchLabels:
                    rke.cattle.io/control-plane-role: 'true'
                    rke.cattle.io/etcd-role: 'true'
                  matchExpressions:
                    - key: name
                      values:
                        - a
                        - b
                      operator: In
                    - key: department
                      operator: In
                      values:
                        - a
                        - b
                config: |2
                          kubelet-arg:
                            - cloud-provider-name=external
              - config: |2
                          kube-proxy-arg:
                            - log_file_max_size=1800
            machineGlobalConfig: |
              disable-kube-proxy: false
              etcd-expose-metrics: false
              kubelet-arg:
                - xxx=xxx
              kube-proxy-arg:
                - xxx=xxx
              kube-apiserver-arg:
                - xxx=xxx
              kube-scheduler-arg:
                - xxx=xxx
              kube-cloud-controller-manager-arg:
                - xxx=xxx
    

    Create a cluster with additional manifest

    import * as pulumi from "@pulumi/pulumi";
    import * as rancher2 from "@pulumi/rancher2";
    
    const foo = new rancher2.ClusterV2("foo", {
        name: "foo",
        kubernetesVersion: "rke2/k3s-version",
        rkeConfig: {
            machinePools: [{}],
            additionalManifest: `apiVersion: v1
    kind: Namespace
    metadata:
      name: testing-namespace-1
    ---
    apiVersion: v1
    kind: Namespace
    metadata:
      name: testing-namespace-2
    `,
        },
    });
    
    import pulumi
    import pulumi_rancher2 as rancher2
    
    foo = rancher2.ClusterV2("foo",
        name="foo",
        kubernetes_version="rke2/k3s-version",
        rke_config={
            "machine_pools": [{}],
            "additional_manifest": """apiVersion: v1
    kind: Namespace
    metadata:
      name: testing-namespace-1
    ---
    apiVersion: v1
    kind: Namespace
    metadata:
      name: testing-namespace-2
    """,
        })
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-rancher2/sdk/v11/go/rancher2"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := rancher2.NewClusterV2(ctx, "foo", &rancher2.ClusterV2Args{
    			Name:              pulumi.String("foo"),
    			KubernetesVersion: pulumi.String("rke2/k3s-version"),
    			RkeConfig: &rancher2.ClusterV2RkeConfigArgs{
    				MachinePools: rancher2.ClusterV2RkeConfigMachinePoolArray{
    					&rancher2.ClusterV2RkeConfigMachinePoolArgs{},
    				},
    				AdditionalManifest: pulumi.String(`apiVersion: v1
    kind: Namespace
    metadata:
      name: testing-namespace-1
    ---
    apiVersion: v1
    kind: Namespace
    metadata:
      name: testing-namespace-2
    `),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Rancher2 = Pulumi.Rancher2;
    
    return await Deployment.RunAsync(() => 
    {
        var foo = new Rancher2.ClusterV2("foo", new()
        {
            Name = "foo",
            KubernetesVersion = "rke2/k3s-version",
            RkeConfig = new Rancher2.Inputs.ClusterV2RkeConfigArgs
            {
                MachinePools = new[]
                {
                    null,
                },
                AdditionalManifest = @"apiVersion: v1
    kind: Namespace
    metadata:
      name: testing-namespace-1
    ---
    apiVersion: v1
    kind: Namespace
    metadata:
      name: testing-namespace-2
    ",
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.rancher2.ClusterV2;
    import com.pulumi.rancher2.ClusterV2Args;
    import com.pulumi.rancher2.inputs.ClusterV2RkeConfigArgs;
    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 foo = new ClusterV2("foo", ClusterV2Args.builder()
                .name("foo")
                .kubernetesVersion("rke2/k3s-version")
                .rkeConfig(ClusterV2RkeConfigArgs.builder()
                    .machinePools(ClusterV2RkeConfigMachinePoolArgs.builder()
                        .build())
                    .additionalManifest("""
    apiVersion: v1
    kind: Namespace
    metadata:
      name: testing-namespace-1
    ---
    apiVersion: v1
    kind: Namespace
    metadata:
      name: testing-namespace-2
                    """)
                    .build())
                .build());
    
        }
    }
    
    resources:
      foo:
        type: rancher2:ClusterV2
        properties:
          name: foo
          kubernetesVersion: rke2/k3s-version
          rkeConfig:
            machinePools:
              - {}
            additionalManifest: |
              apiVersion: v1
              kind: Namespace
              metadata:
                name: testing-namespace-1
              ---
              apiVersion: v1
              kind: Namespace
              metadata:
                name: testing-namespace-2
    

    Customize the ETCD snapshot feature on the cluster

    import * as pulumi from "@pulumi/pulumi";
    import * as rancher2 from "@pulumi/rancher2";
    
    const credentials = new rancher2.CloudCredential("credentials", {
        name: "rancher-creds",
        s3CredentialConfig: {
            accessKey: "<ACCESS_KEY>",
            secretKey: "<SECRET_KEY>",
        },
    });
    const foo = new rancher2.ClusterV2("foo", {
        machinePools: [{}],
        name: "foo",
        kubernetesVersion: "rke2/k3s-version",
        rkeConfig: {
            etcd: {
                snapshotScheduleCron: "0 */12 * * *",
                snapshotRetention: 10,
                s3Config: {
                    bucket: "backups",
                    endpoint: "https://minio.host:9000",
                    cloudCredentialName: credentials.id,
                },
            },
        },
    });
    
    import pulumi
    import pulumi_rancher2 as rancher2
    
    credentials = rancher2.CloudCredential("credentials",
        name="rancher-creds",
        s3_credential_config={
            "access_key": "<ACCESS_KEY>",
            "secret_key": "<SECRET_KEY>",
        })
    foo = rancher2.ClusterV2("foo",
        machine_pools=[{}],
        name="foo",
        kubernetes_version="rke2/k3s-version",
        rke_config={
            "etcd": {
                "snapshot_schedule_cron": "0 */12 * * *",
                "snapshot_retention": 10,
                "s3_config": {
                    "bucket": "backups",
                    "endpoint": "https://minio.host:9000",
                    "cloud_credential_name": credentials.id,
                },
            },
        })
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-rancher2/sdk/v11/go/rancher2"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		credentials, err := rancher2.NewCloudCredential(ctx, "credentials", &rancher2.CloudCredentialArgs{
    			Name: pulumi.String("rancher-creds"),
    			S3CredentialConfig: &rancher2.CloudCredentialS3CredentialConfigArgs{
    				AccessKey: pulumi.String("<ACCESS_KEY>"),
    				SecretKey: pulumi.String("<SECRET_KEY>"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		_, err = rancher2.NewClusterV2(ctx, "foo", &rancher2.ClusterV2Args{
    			MachinePools: []map[string]interface{}{
    				map[string]interface{}{},
    			},
    			Name:              pulumi.String("foo"),
    			KubernetesVersion: pulumi.String("rke2/k3s-version"),
    			RkeConfig: &rancher2.ClusterV2RkeConfigArgs{
    				Etcd: &rancher2.ClusterV2RkeConfigEtcdArgs{
    					SnapshotScheduleCron: pulumi.String("0 */12 * * *"),
    					SnapshotRetention:    pulumi.Int(10),
    					S3Config: &rancher2.ClusterV2RkeConfigEtcdS3ConfigArgs{
    						Bucket:              pulumi.String("backups"),
    						Endpoint:            pulumi.String("https://minio.host:9000"),
    						CloudCredentialName: credentials.ID(),
    					},
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Rancher2 = Pulumi.Rancher2;
    
    return await Deployment.RunAsync(() => 
    {
        var credentials = new Rancher2.CloudCredential("credentials", new()
        {
            Name = "rancher-creds",
            S3CredentialConfig = new Rancher2.Inputs.CloudCredentialS3CredentialConfigArgs
            {
                AccessKey = "<ACCESS_KEY>",
                SecretKey = "<SECRET_KEY>",
            },
        });
    
        var foo = new Rancher2.ClusterV2("foo", new()
        {
            MachinePools = new[]
            {
                null,
            },
            Name = "foo",
            KubernetesVersion = "rke2/k3s-version",
            RkeConfig = new Rancher2.Inputs.ClusterV2RkeConfigArgs
            {
                Etcd = new Rancher2.Inputs.ClusterV2RkeConfigEtcdArgs
                {
                    SnapshotScheduleCron = "0 */12 * * *",
                    SnapshotRetention = 10,
                    S3Config = new Rancher2.Inputs.ClusterV2RkeConfigEtcdS3ConfigArgs
                    {
                        Bucket = "backups",
                        Endpoint = "https://minio.host:9000",
                        CloudCredentialName = credentials.Id,
                    },
                },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.rancher2.CloudCredential;
    import com.pulumi.rancher2.CloudCredentialArgs;
    import com.pulumi.rancher2.inputs.CloudCredentialS3CredentialConfigArgs;
    import com.pulumi.rancher2.ClusterV2;
    import com.pulumi.rancher2.ClusterV2Args;
    import com.pulumi.rancher2.inputs.ClusterV2RkeConfigArgs;
    import com.pulumi.rancher2.inputs.ClusterV2RkeConfigEtcdArgs;
    import com.pulumi.rancher2.inputs.ClusterV2RkeConfigEtcdS3ConfigArgs;
    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 credentials = new CloudCredential("credentials", CloudCredentialArgs.builder()
                .name("rancher-creds")
                .s3CredentialConfig(CloudCredentialS3CredentialConfigArgs.builder()
                    .accessKey("<ACCESS_KEY>")
                    .secretKey("<SECRET_KEY>")
                    .build())
                .build());
    
            var foo = new ClusterV2("foo", ClusterV2Args.builder()
                .machinePools(List.of(Map.ofEntries(
                )))
                .name("foo")
                .kubernetesVersion("rke2/k3s-version")
                .rkeConfig(ClusterV2RkeConfigArgs.builder()
                    .etcd(ClusterV2RkeConfigEtcdArgs.builder()
                        .snapshotScheduleCron("0 */12 * * *")
                        .snapshotRetention(10)
                        .s3Config(ClusterV2RkeConfigEtcdS3ConfigArgs.builder()
                            .bucket("backups")
                            .endpoint("https://minio.host:9000")
                            .cloudCredentialName(credentials.id())
                            .build())
                        .build())
                    .build())
                .build());
    
        }
    }
    
    resources:
      credentials:
        type: rancher2:CloudCredential
        properties:
          name: rancher-creds
          s3CredentialConfig:
            accessKey: <ACCESS_KEY>
            secretKey: <SECRET_KEY>
      foo:
        type: rancher2:ClusterV2
        properties:
          machinePools:
            - {}
          name: foo
          kubernetesVersion: rke2/k3s-version
          rkeConfig:
            etcd:
              snapshotScheduleCron: 0 */12 * * *
              snapshotRetention: 10
              s3Config:
                bucket: backups
                endpoint: https://minio.host:9000
                cloudCredentialName: ${credentials.id}
    

    Customize distribution-specified server configurations in a cluster

    You can customize all server configurations on the cluster by utilizing the machine_global_config argument.

    For the full list of server configurations, please refer to RKE2 server configuration and K3s server configuration.

    The example below demonstrates how to disable the system services in a K3s cluster:

    import * as pulumi from "@pulumi/pulumi";
    import * as rancher2 from "@pulumi/rancher2";
    
    const foo = new rancher2.ClusterV2("foo", {
        machinePools: [{}],
        name: "foo",
        kubernetesVersion: "k3s-version",
        rkeConfig: {
            machineGlobalConfig: `disable:
      - coredns
      - servicelb
      - traefik
      - local-storage
      - metrics-server
    `,
        },
    });
    
    import pulumi
    import pulumi_rancher2 as rancher2
    
    foo = rancher2.ClusterV2("foo",
        machine_pools=[{}],
        name="foo",
        kubernetes_version="k3s-version",
        rke_config={
            "machine_global_config": """disable:
      - coredns
      - servicelb
      - traefik
      - local-storage
      - metrics-server
    """,
        })
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-rancher2/sdk/v11/go/rancher2"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := rancher2.NewClusterV2(ctx, "foo", &rancher2.ClusterV2Args{
    			MachinePools: []map[string]interface{}{
    				map[string]interface{}{},
    			},
    			Name:              pulumi.String("foo"),
    			KubernetesVersion: pulumi.String("k3s-version"),
    			RkeConfig: &rancher2.ClusterV2RkeConfigArgs{
    				MachineGlobalConfig: pulumi.String(`disable:
      - coredns
      - servicelb
      - traefik
      - local-storage
      - metrics-server
    `),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Rancher2 = Pulumi.Rancher2;
    
    return await Deployment.RunAsync(() => 
    {
        var foo = new Rancher2.ClusterV2("foo", new()
        {
            MachinePools = new[]
            {
                null,
            },
            Name = "foo",
            KubernetesVersion = "k3s-version",
            RkeConfig = new Rancher2.Inputs.ClusterV2RkeConfigArgs
            {
                MachineGlobalConfig = @"disable:
      - coredns
      - servicelb
      - traefik
      - local-storage
      - metrics-server
    ",
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.rancher2.ClusterV2;
    import com.pulumi.rancher2.ClusterV2Args;
    import com.pulumi.rancher2.inputs.ClusterV2RkeConfigArgs;
    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 foo = new ClusterV2("foo", ClusterV2Args.builder()
                .machinePools(List.of(Map.ofEntries(
                )))
                .name("foo")
                .kubernetesVersion("k3s-version")
                .rkeConfig(ClusterV2RkeConfigArgs.builder()
                    .machineGlobalConfig("""
    disable:
      - coredns
      - servicelb
      - traefik
      - local-storage
      - metrics-server
                    """)
                    .build())
                .build());
    
        }
    }
    
    resources:
      foo:
        type: rancher2:ClusterV2
        properties:
          machinePools:
            - {}
          name: foo
          kubernetesVersion: k3s-version
          rkeConfig:
            machineGlobalConfig: |
              disable:
                - coredns
                - servicelb
                - traefik
                - local-storage
                - metrics-server
    

    The example below demonstrates how to disable the system services in an RKE2 cluster:

    import * as pulumi from "@pulumi/pulumi";
    import * as rancher2 from "@pulumi/rancher2";
    
    const foo = new rancher2.ClusterV2("foo", {
        machinePools: [{}],
        name: "foo",
        kubernetesVersion: "rke2-version",
        rkeConfig: {
            machineGlobalConfig: `disable:
      - rke2-coredns
      - rke2-ingress-nginx
      - rke2-metrics-server
      - metrics-server
    `,
        },
    });
    
    import pulumi
    import pulumi_rancher2 as rancher2
    
    foo = rancher2.ClusterV2("foo",
        machine_pools=[{}],
        name="foo",
        kubernetes_version="rke2-version",
        rke_config={
            "machine_global_config": """disable:
      - rke2-coredns
      - rke2-ingress-nginx
      - rke2-metrics-server
      - metrics-server
    """,
        })
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-rancher2/sdk/v11/go/rancher2"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := rancher2.NewClusterV2(ctx, "foo", &rancher2.ClusterV2Args{
    			MachinePools: []map[string]interface{}{
    				map[string]interface{}{},
    			},
    			Name:              pulumi.String("foo"),
    			KubernetesVersion: pulumi.String("rke2-version"),
    			RkeConfig: &rancher2.ClusterV2RkeConfigArgs{
    				MachineGlobalConfig: pulumi.String(`disable:
      - rke2-coredns
      - rke2-ingress-nginx
      - rke2-metrics-server
      - metrics-server
    `),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Rancher2 = Pulumi.Rancher2;
    
    return await Deployment.RunAsync(() => 
    {
        var foo = new Rancher2.ClusterV2("foo", new()
        {
            MachinePools = new[]
            {
                null,
            },
            Name = "foo",
            KubernetesVersion = "rke2-version",
            RkeConfig = new Rancher2.Inputs.ClusterV2RkeConfigArgs
            {
                MachineGlobalConfig = @"disable:
      - rke2-coredns
      - rke2-ingress-nginx
      - rke2-metrics-server
      - metrics-server
    ",
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.rancher2.ClusterV2;
    import com.pulumi.rancher2.ClusterV2Args;
    import com.pulumi.rancher2.inputs.ClusterV2RkeConfigArgs;
    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 foo = new ClusterV2("foo", ClusterV2Args.builder()
                .machinePools(List.of(Map.ofEntries(
                )))
                .name("foo")
                .kubernetesVersion("rke2-version")
                .rkeConfig(ClusterV2RkeConfigArgs.builder()
                    .machineGlobalConfig("""
    disable:
      - rke2-coredns
      - rke2-ingress-nginx
      - rke2-metrics-server
      - metrics-server
                    """)
                    .build())
                .build());
    
        }
    }
    
    resources:
      foo:
        type: rancher2:ClusterV2
        properties:
          machinePools:
            - {}
          name: foo
          kubernetesVersion: rke2-version
          rkeConfig:
            machineGlobalConfig: |
              disable:
                - rke2-coredns
                - rke2-ingress-nginx
                - rke2-metrics-server
                - metrics-server
    

    The example below demonstrates how to add additional hostnames or IPv4/IPv6 addresses as Subject Alternative Names on the server TLS cert in an RKE2/K3s cluster:

    import * as pulumi from "@pulumi/pulumi";
    import * as rancher2 from "@pulumi/rancher2";
    
    const foo = new rancher2.ClusterV2("foo", {
        machinePools: [{}],
        name: "foo",
        kubernetesVersion: "rke2/k3s-version",
        rkeConfig: {
            machineGlobalConfig: "tls-san: [\\\"example-website.com\\\", \\\"100.100.100.100\\\", \\\"2002:db8:3333:4444:5555:6666:7777:8888\\\"]\n",
        },
    });
    
    import pulumi
    import pulumi_rancher2 as rancher2
    
    foo = rancher2.ClusterV2("foo",
        machine_pools=[{}],
        name="foo",
        kubernetes_version="rke2/k3s-version",
        rke_config={
            "machine_global_config": "tls-san: [\\\"example-website.com\\\", \\\"100.100.100.100\\\", \\\"2002:db8:3333:4444:5555:6666:7777:8888\\\"]\n",
        })
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-rancher2/sdk/v11/go/rancher2"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := rancher2.NewClusterV2(ctx, "foo", &rancher2.ClusterV2Args{
    			MachinePools: []map[string]interface{}{
    				map[string]interface{}{},
    			},
    			Name:              pulumi.String("foo"),
    			KubernetesVersion: pulumi.String("rke2/k3s-version"),
    			RkeConfig: &rancher2.ClusterV2RkeConfigArgs{
    				MachineGlobalConfig: pulumi.String("tls-san: [\\\"example-website.com\\\", \\\"100.100.100.100\\\", \\\"2002:db8:3333:4444:5555:6666:7777:8888\\\"]\n"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Rancher2 = Pulumi.Rancher2;
    
    return await Deployment.RunAsync(() => 
    {
        var foo = new Rancher2.ClusterV2("foo", new()
        {
            MachinePools = new[]
            {
                null,
            },
            Name = "foo",
            KubernetesVersion = "rke2/k3s-version",
            RkeConfig = new Rancher2.Inputs.ClusterV2RkeConfigArgs
            {
                MachineGlobalConfig = @"tls-san: [\""example-website.com\"", \""100.100.100.100\"", \""2002:db8:3333:4444:5555:6666:7777:8888\""]
    ",
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.rancher2.ClusterV2;
    import com.pulumi.rancher2.ClusterV2Args;
    import com.pulumi.rancher2.inputs.ClusterV2RkeConfigArgs;
    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 foo = new ClusterV2("foo", ClusterV2Args.builder()
                .machinePools(List.of(Map.ofEntries(
                )))
                .name("foo")
                .kubernetesVersion("rke2/k3s-version")
                .rkeConfig(ClusterV2RkeConfigArgs.builder()
                    .machineGlobalConfig("""
    tls-san: [\"example-website.com\", \"100.100.100.100\", \"2002:db8:3333:4444:5555:6666:7777:8888\"]
                    """)
                    .build())
                .build());
    
        }
    }
    
    resources:
      foo:
        type: rancher2:ClusterV2
        properties:
          machinePools:
            - {}
          name: foo
          kubernetesVersion: rke2/k3s-version
          rkeConfig:
            machineGlobalConfig: |
              tls-san: [\"example-website.com\", \"100.100.100.100\", \"2002:db8:3333:4444:5555:6666:7777:8888\"]
    

    The example below demonstrates how to configure the IPv4/IPv6 network CIDRs to use for pod IPs and service IPs in an RKE2/K3s cluster:

    import * as pulumi from "@pulumi/pulumi";
    import * as rancher2 from "@pulumi/rancher2";
    
    const foo = new rancher2.ClusterV2("foo", {
        machinePools: [{}],
        name: "foo",
        kubernetesVersion: "rke2/k3s-version",
        rkeConfig: {
            machineGlobalConfig: `cluster-cidr: \\"0.42.0.0/16\\"
    service-cidr: \\"0.42.0.0/16\\"
    `,
        },
    });
    
    import pulumi
    import pulumi_rancher2 as rancher2
    
    foo = rancher2.ClusterV2("foo",
        machine_pools=[{}],
        name="foo",
        kubernetes_version="rke2/k3s-version",
        rke_config={
            "machine_global_config": """cluster-cidr: \"0.42.0.0/16\"
    service-cidr: \"0.42.0.0/16\"
    """,
        })
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-rancher2/sdk/v11/go/rancher2"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := rancher2.NewClusterV2(ctx, "foo", &rancher2.ClusterV2Args{
    			MachinePools: []map[string]interface{}{
    				map[string]interface{}{},
    			},
    			Name:              pulumi.String("foo"),
    			KubernetesVersion: pulumi.String("rke2/k3s-version"),
    			RkeConfig: &rancher2.ClusterV2RkeConfigArgs{
    				MachineGlobalConfig: pulumi.String("cluster-cidr: \\\"0.42.0.0/16\\\"\nservice-cidr: \\\"0.42.0.0/16\\\"\n"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Rancher2 = Pulumi.Rancher2;
    
    return await Deployment.RunAsync(() => 
    {
        var foo = new Rancher2.ClusterV2("foo", new()
        {
            MachinePools = new[]
            {
                null,
            },
            Name = "foo",
            KubernetesVersion = "rke2/k3s-version",
            RkeConfig = new Rancher2.Inputs.ClusterV2RkeConfigArgs
            {
                MachineGlobalConfig = @"cluster-cidr: \""0.42.0.0/16\""
    service-cidr: \""0.42.0.0/16\""
    ",
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.rancher2.ClusterV2;
    import com.pulumi.rancher2.ClusterV2Args;
    import com.pulumi.rancher2.inputs.ClusterV2RkeConfigArgs;
    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 foo = new ClusterV2("foo", ClusterV2Args.builder()
                .machinePools(List.of(Map.ofEntries(
                )))
                .name("foo")
                .kubernetesVersion("rke2/k3s-version")
                .rkeConfig(ClusterV2RkeConfigArgs.builder()
                    .machineGlobalConfig("""
    cluster-cidr: \"0.42.0.0/16\"
    service-cidr: \"0.42.0.0/16\"
                    """)
                    .build())
                .build());
    
        }
    }
    
    resources:
      foo:
        type: rancher2:ClusterV2
        properties:
          machinePools:
            - {}
          name: foo
          kubernetesVersion: rke2/k3s-version
          rkeConfig:
            machineGlobalConfig: |
              cluster-cidr: \"0.42.0.0/16\"
              service-cidr: \"0.42.0.0/16\"
    

    Customize chart values in a cluster

    You can specify the values for the system charts installed by RKE2 or K3s.

    For more information about how RKE2 or K3s manage packaged components, please refer to RKE2 documentation or K3s documentation.

    The example below demonstrates how to customize chart values in an RKE2 cluster:

    import * as pulumi from "@pulumi/pulumi";
    import * as rancher2 from "@pulumi/rancher2";
    
    const foo = new rancher2.ClusterV2("foo", {
        name: "foo",
        kubernetesVersion: "rke2-version",
        enableNetworkPolicy: false,
        rkeConfig: {
            machinePools: [{}],
            chartValues: `rke2-calico:
      calicoctl:
        image: rancher/mirrored-calico-ctl
        tag: v3.19.2
      certs:
        node:
          cert: null
          commonName: null
          key: null
        typha:
          caBundle: null
          cert: null
          commonName: null
          key: null
      felixConfiguration:
        featureDetectOverride: ChecksumOffloadBroken=true
      global:
        systemDefaultRegistry: \\"\\"
      imagePullSecrets: {}
      installation:
        calicoNetwork:
          bgp: Disabled
          ipPools:
          - blockSize: 24
            cidr: 10.42.0.0/16
            encapsulation: VXLAN
            natOutgoing: Enabled
        controlPlaneTolerations:
        - effect: NoSchedule
          key: node-role.kubernetes.io/control-plane
          operator: Exists
        - effect: NoExecute
          key: node-role.kubernetes.io/etcd
          operator: Exists
        enabled: true
        imagePath: rancher
        imagePrefix: mirrored-calico-
        kubernetesProvider: \\"\\"
      ipamConfig:
        autoAllocateBlocks: true
        strictAffinity: true
      tigeraOperator:
        image: rancher/mirrored-calico-operator
        registry: docker.io
        version: v1.17.6
    `,
        },
    });
    
    import pulumi
    import pulumi_rancher2 as rancher2
    
    foo = rancher2.ClusterV2("foo",
        name="foo",
        kubernetes_version="rke2-version",
        enable_network_policy=False,
        rke_config={
            "machine_pools": [{}],
            "chart_values": """rke2-calico:
      calicoctl:
        image: rancher/mirrored-calico-ctl
        tag: v3.19.2
      certs:
        node:
          cert: null
          commonName: null
          key: null
        typha:
          caBundle: null
          cert: null
          commonName: null
          key: null
      felixConfiguration:
        featureDetectOverride: ChecksumOffloadBroken=true
      global:
        systemDefaultRegistry: \"\"
      imagePullSecrets: {}
      installation:
        calicoNetwork:
          bgp: Disabled
          ipPools:
          - blockSize: 24
            cidr: 10.42.0.0/16
            encapsulation: VXLAN
            natOutgoing: Enabled
        controlPlaneTolerations:
        - effect: NoSchedule
          key: node-role.kubernetes.io/control-plane
          operator: Exists
        - effect: NoExecute
          key: node-role.kubernetes.io/etcd
          operator: Exists
        enabled: true
        imagePath: rancher
        imagePrefix: mirrored-calico-
        kubernetesProvider: \"\"
      ipamConfig:
        autoAllocateBlocks: true
        strictAffinity: true
      tigeraOperator:
        image: rancher/mirrored-calico-operator
        registry: docker.io
        version: v1.17.6
    """,
        })
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-rancher2/sdk/v11/go/rancher2"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := rancher2.NewClusterV2(ctx, "foo", &rancher2.ClusterV2Args{
    			Name:                pulumi.String("foo"),
    			KubernetesVersion:   pulumi.String("rke2-version"),
    			EnableNetworkPolicy: pulumi.Bool(false),
    			RkeConfig: &rancher2.ClusterV2RkeConfigArgs{
    				MachinePools: rancher2.ClusterV2RkeConfigMachinePoolArray{
    					&rancher2.ClusterV2RkeConfigMachinePoolArgs{},
    				},
    				ChartValues: pulumi.String(`rke2-calico:
      calicoctl:
        image: rancher/mirrored-calico-ctl
        tag: v3.19.2
      certs:
        node:
          cert: null
          commonName: null
          key: null
        typha:
          caBundle: null
          cert: null
          commonName: null
          key: null
      felixConfiguration:
        featureDetectOverride: ChecksumOffloadBroken=true
      global:
        systemDefaultRegistry: \"\"
      imagePullSecrets: {}
      installation:
        calicoNetwork:
          bgp: Disabled
          ipPools:
          - blockSize: 24
            cidr: 10.42.0.0/16
            encapsulation: VXLAN
            natOutgoing: Enabled
        controlPlaneTolerations:
        - effect: NoSchedule
          key: node-role.kubernetes.io/control-plane
          operator: Exists
        - effect: NoExecute
          key: node-role.kubernetes.io/etcd
          operator: Exists
        enabled: true
        imagePath: rancher
        imagePrefix: mirrored-calico-
        kubernetesProvider: \"\"
      ipamConfig:
        autoAllocateBlocks: true
        strictAffinity: true
      tigeraOperator:
        image: rancher/mirrored-calico-operator
        registry: docker.io
        version: v1.17.6
    `),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Rancher2 = Pulumi.Rancher2;
    
    return await Deployment.RunAsync(() => 
    {
        var foo = new Rancher2.ClusterV2("foo", new()
        {
            Name = "foo",
            KubernetesVersion = "rke2-version",
            EnableNetworkPolicy = false,
            RkeConfig = new Rancher2.Inputs.ClusterV2RkeConfigArgs
            {
                MachinePools = new[]
                {
                    null,
                },
                ChartValues = @"rke2-calico:
      calicoctl:
        image: rancher/mirrored-calico-ctl
        tag: v3.19.2
      certs:
        node:
          cert: null
          commonName: null
          key: null
        typha:
          caBundle: null
          cert: null
          commonName: null
          key: null
      felixConfiguration:
        featureDetectOverride: ChecksumOffloadBroken=true
      global:
        systemDefaultRegistry: \""\""
      imagePullSecrets: {}
      installation:
        calicoNetwork:
          bgp: Disabled
          ipPools:
          - blockSize: 24
            cidr: 10.42.0.0/16
            encapsulation: VXLAN
            natOutgoing: Enabled
        controlPlaneTolerations:
        - effect: NoSchedule
          key: node-role.kubernetes.io/control-plane
          operator: Exists
        - effect: NoExecute
          key: node-role.kubernetes.io/etcd
          operator: Exists
        enabled: true
        imagePath: rancher
        imagePrefix: mirrored-calico-
        kubernetesProvider: \""\""
      ipamConfig:
        autoAllocateBlocks: true
        strictAffinity: true
      tigeraOperator:
        image: rancher/mirrored-calico-operator
        registry: docker.io
        version: v1.17.6
    ",
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.rancher2.ClusterV2;
    import com.pulumi.rancher2.ClusterV2Args;
    import com.pulumi.rancher2.inputs.ClusterV2RkeConfigArgs;
    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 foo = new ClusterV2("foo", ClusterV2Args.builder()
                .name("foo")
                .kubernetesVersion("rke2-version")
                .enableNetworkPolicy(false)
                .rkeConfig(ClusterV2RkeConfigArgs.builder()
                    .machinePools(ClusterV2RkeConfigMachinePoolArgs.builder()
                        .build())
                    .chartValues("""
    rke2-calico:
      calicoctl:
        image: rancher/mirrored-calico-ctl
        tag: v3.19.2
      certs:
        node:
          cert: null
          commonName: null
          key: null
        typha:
          caBundle: null
          cert: null
          commonName: null
          key: null
      felixConfiguration:
        featureDetectOverride: ChecksumOffloadBroken=true
      global:
        systemDefaultRegistry: \"\"
      imagePullSecrets: {}
      installation:
        calicoNetwork:
          bgp: Disabled
          ipPools:
          - blockSize: 24
            cidr: 10.42.0.0/16
            encapsulation: VXLAN
            natOutgoing: Enabled
        controlPlaneTolerations:
        - effect: NoSchedule
          key: node-role.kubernetes.io/control-plane
          operator: Exists
        - effect: NoExecute
          key: node-role.kubernetes.io/etcd
          operator: Exists
        enabled: true
        imagePath: rancher
        imagePrefix: mirrored-calico-
        kubernetesProvider: \"\"
      ipamConfig:
        autoAllocateBlocks: true
        strictAffinity: true
      tigeraOperator:
        image: rancher/mirrored-calico-operator
        registry: docker.io
        version: v1.17.6
                    """)
                    .build())
                .build());
    
        }
    }
    
    resources:
      foo:
        type: rancher2:ClusterV2
        properties:
          name: foo
          kubernetesVersion: rke2-version
          enableNetworkPolicy: false
          rkeConfig:
            machinePools:
              - {}
            chartValues: |
              rke2-calico:
                calicoctl:
                  image: rancher/mirrored-calico-ctl
                  tag: v3.19.2
                certs:
                  node:
                    cert: null
                    commonName: null
                    key: null
                  typha:
                    caBundle: null
                    cert: null
                    commonName: null
                    key: null
                felixConfiguration:
                  featureDetectOverride: ChecksumOffloadBroken=true
                global:
                  systemDefaultRegistry: \"\"
                imagePullSecrets: {}
                installation:
                  calicoNetwork:
                    bgp: Disabled
                    ipPools:
                    - blockSize: 24
                      cidr: 10.42.0.0/16
                      encapsulation: VXLAN
                      natOutgoing: Enabled
                  controlPlaneTolerations:
                  - effect: NoSchedule
                    key: node-role.kubernetes.io/control-plane
                    operator: Exists
                  - effect: NoExecute
                    key: node-role.kubernetes.io/etcd
                    operator: Exists
                  enabled: true
                  imagePath: rancher
                  imagePrefix: mirrored-calico-
                  kubernetesProvider: \"\"
                ipamConfig:
                  autoAllocateBlocks: true
                  strictAffinity: true
                tigeraOperator:
                  image: rancher/mirrored-calico-operator
                  registry: docker.io
                  version: v1.17.6
    

    Create ClusterV2 Resource

    Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

    Constructor syntax

    new ClusterV2(name: string, args: ClusterV2Args, opts?: CustomResourceOptions);
    @overload
    def ClusterV2(resource_name: str,
                  args: ClusterV2Args,
                  opts: Optional[ResourceOptions] = None)
    
    @overload
    def ClusterV2(resource_name: str,
                  opts: Optional[ResourceOptions] = None,
                  kubernetes_version: Optional[str] = None,
                  cluster_agent_deployment_customizations: Optional[Sequence[ClusterV2ClusterAgentDeploymentCustomizationArgs]] = None,
                  cloud_credential_secret_name: Optional[str] = None,
                  agent_env_vars: Optional[Sequence[ClusterV2AgentEnvVarArgs]] = None,
                  default_cluster_role_for_project_members: Optional[str] = None,
                  default_pod_security_admission_configuration_template_name: Optional[str] = None,
                  enable_network_policy: Optional[bool] = None,
                  fleet_agent_deployment_customizations: Optional[Sequence[ClusterV2FleetAgentDeploymentCustomizationArgs]] = None,
                  fleet_namespace: Optional[str] = None,
                  annotations: Optional[Mapping[str, str]] = None,
                  labels: Optional[Mapping[str, str]] = None,
                  local_auth_endpoint: Optional[ClusterV2LocalAuthEndpointArgs] = None,
                  name: Optional[str] = None,
                  rke_config: Optional[ClusterV2RkeConfigArgs] = None)
    func NewClusterV2(ctx *Context, name string, args ClusterV2Args, opts ...ResourceOption) (*ClusterV2, error)
    public ClusterV2(string name, ClusterV2Args args, CustomResourceOptions? opts = null)
    public ClusterV2(String name, ClusterV2Args args)
    public ClusterV2(String name, ClusterV2Args args, CustomResourceOptions options)
    
    type: rancher2:ClusterV2
    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 ClusterV2Args
    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 ClusterV2Args
    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 ClusterV2Args
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args ClusterV2Args
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args ClusterV2Args
    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 clusterV2Resource = new Rancher2.ClusterV2("clusterV2Resource", new()
    {
        KubernetesVersion = "string",
        ClusterAgentDeploymentCustomizations = new[]
        {
            new Rancher2.Inputs.ClusterV2ClusterAgentDeploymentCustomizationArgs
            {
                AppendTolerations = new[]
                {
                    new Rancher2.Inputs.ClusterV2ClusterAgentDeploymentCustomizationAppendTolerationArgs
                    {
                        Key = "string",
                        Effect = "string",
                        Operator = "string",
                        Seconds = 0,
                        Value = "string",
                    },
                },
                OverrideAffinity = "string",
                OverrideResourceRequirements = new[]
                {
                    new Rancher2.Inputs.ClusterV2ClusterAgentDeploymentCustomizationOverrideResourceRequirementArgs
                    {
                        CpuLimit = "string",
                        CpuRequest = "string",
                        MemoryLimit = "string",
                        MemoryRequest = "string",
                    },
                },
                SchedulingCustomizations = new[]
                {
                    new Rancher2.Inputs.ClusterV2ClusterAgentDeploymentCustomizationSchedulingCustomizationArgs
                    {
                        PodDisruptionBudgets = new[]
                        {
                            new Rancher2.Inputs.ClusterV2ClusterAgentDeploymentCustomizationSchedulingCustomizationPodDisruptionBudgetArgs
                            {
                                MaxUnavailable = "string",
                                MinAvailable = "string",
                            },
                        },
                        PriorityClasses = new[]
                        {
                            new Rancher2.Inputs.ClusterV2ClusterAgentDeploymentCustomizationSchedulingCustomizationPriorityClassArgs
                            {
                                Value = 0,
                                PreemptionPolicy = "string",
                            },
                        },
                    },
                },
            },
        },
        CloudCredentialSecretName = "string",
        AgentEnvVars = new[]
        {
            new Rancher2.Inputs.ClusterV2AgentEnvVarArgs
            {
                Name = "string",
                Value = "string",
            },
        },
        DefaultClusterRoleForProjectMembers = "string",
        DefaultPodSecurityAdmissionConfigurationTemplateName = "string",
        EnableNetworkPolicy = false,
        FleetAgentDeploymentCustomizations = new[]
        {
            new Rancher2.Inputs.ClusterV2FleetAgentDeploymentCustomizationArgs
            {
                AppendTolerations = new[]
                {
                    new Rancher2.Inputs.ClusterV2FleetAgentDeploymentCustomizationAppendTolerationArgs
                    {
                        Key = "string",
                        Effect = "string",
                        Operator = "string",
                        Seconds = 0,
                        Value = "string",
                    },
                },
                OverrideAffinity = "string",
                OverrideResourceRequirements = new[]
                {
                    new Rancher2.Inputs.ClusterV2FleetAgentDeploymentCustomizationOverrideResourceRequirementArgs
                    {
                        CpuLimit = "string",
                        CpuRequest = "string",
                        MemoryLimit = "string",
                        MemoryRequest = "string",
                    },
                },
            },
        },
        FleetNamespace = "string",
        Annotations = 
        {
            { "string", "string" },
        },
        Labels = 
        {
            { "string", "string" },
        },
        LocalAuthEndpoint = new Rancher2.Inputs.ClusterV2LocalAuthEndpointArgs
        {
            CaCerts = "string",
            Enabled = false,
            Fqdn = "string",
        },
        Name = "string",
        RkeConfig = new Rancher2.Inputs.ClusterV2RkeConfigArgs
        {
            AdditionalManifest = "string",
            ChartValues = "string",
            DataDirectories = new[]
            {
                new Rancher2.Inputs.ClusterV2RkeConfigDataDirectoryArgs
                {
                    K8sDistro = "string",
                    Provisioning = "string",
                    SystemAgent = "string",
                },
            },
            Etcd = new Rancher2.Inputs.ClusterV2RkeConfigEtcdArgs
            {
                DisableSnapshots = false,
                S3Config = new Rancher2.Inputs.ClusterV2RkeConfigEtcdS3ConfigArgs
                {
                    Bucket = "string",
                    Endpoint = "string",
                    CloudCredentialName = "string",
                    EndpointCa = "string",
                    Folder = "string",
                    Region = "string",
                    SkipSslVerify = false,
                },
                SnapshotRetention = 0,
                SnapshotScheduleCron = "string",
            },
            EtcdSnapshotCreate = new Rancher2.Inputs.ClusterV2RkeConfigEtcdSnapshotCreateArgs
            {
                Generation = 0,
            },
            EtcdSnapshotRestore = new Rancher2.Inputs.ClusterV2RkeConfigEtcdSnapshotRestoreArgs
            {
                Generation = 0,
                Name = "string",
                RestoreRkeConfig = "string",
            },
            MachineGlobalConfig = "string",
            MachinePoolDefaults = new[]
            {
                new Rancher2.Inputs.ClusterV2RkeConfigMachinePoolDefaultArgs
                {
                    HostnameLengthLimit = 0,
                },
            },
            MachinePools = new[]
            {
                new Rancher2.Inputs.ClusterV2RkeConfigMachinePoolArgs
                {
                    MachineConfig = new Rancher2.Inputs.ClusterV2RkeConfigMachinePoolMachineConfigArgs
                    {
                        Kind = "string",
                        Name = "string",
                        ApiVersion = "string",
                    },
                    Name = "string",
                    MaxUnhealthy = "string",
                    CloudCredentialSecretName = "string",
                    EtcdRole = false,
                    HostnameLengthLimit = 0,
                    Labels = 
                    {
                        { "string", "string" },
                    },
                    ControlPlaneRole = false,
                    MachineLabels = 
                    {
                        { "string", "string" },
                    },
                    MachineOs = "string",
                    Annotations = 
                    {
                        { "string", "string" },
                    },
                    DrainBeforeDelete = false,
                    NodeDrainTimeout = 0,
                    NodeStartupTimeoutSeconds = 0,
                    Paused = false,
                    Quantity = 0,
                    RollingUpdate = new Rancher2.Inputs.ClusterV2RkeConfigMachinePoolRollingUpdateArgs
                    {
                        MaxSurge = "string",
                        MaxUnavailable = "string",
                    },
                    Taints = new[]
                    {
                        new Rancher2.Inputs.ClusterV2RkeConfigMachinePoolTaintArgs
                        {
                            Key = "string",
                            Value = "string",
                            Effect = "string",
                        },
                    },
                    UnhealthyNodeTimeoutSeconds = 0,
                    UnhealthyRange = "string",
                    WorkerRole = false,
                },
            },
            MachineSelectorConfigs = new[]
            {
                new Rancher2.Inputs.ClusterV2RkeConfigMachineSelectorConfigArgs
                {
                    Config = "string",
                    MachineLabelSelector = new Rancher2.Inputs.ClusterV2RkeConfigMachineSelectorConfigMachineLabelSelectorArgs
                    {
                        MatchExpressions = new[]
                        {
                            new Rancher2.Inputs.ClusterV2RkeConfigMachineSelectorConfigMachineLabelSelectorMatchExpressionArgs
                            {
                                Key = "string",
                                Operator = "string",
                                Values = new[]
                                {
                                    "string",
                                },
                            },
                        },
                        MatchLabels = 
                        {
                            { "string", "string" },
                        },
                    },
                },
            },
            MachineSelectorFiles = new[]
            {
                new Rancher2.Inputs.ClusterV2RkeConfigMachineSelectorFileArgs
                {
                    FileSources = new[]
                    {
                        new Rancher2.Inputs.ClusterV2RkeConfigMachineSelectorFileFileSourceArgs
                        {
                            Configmap = new Rancher2.Inputs.ClusterV2RkeConfigMachineSelectorFileFileSourceConfigmapArgs
                            {
                                Name = "string",
                                DefaultPermissions = "string",
                                Items = new[]
                                {
                                    new Rancher2.Inputs.ClusterV2RkeConfigMachineSelectorFileFileSourceConfigmapItemArgs
                                    {
                                        Key = "string",
                                        Path = "string",
                                        Dynamic = false,
                                        Hash = "string",
                                        Permissions = "string",
                                    },
                                },
                            },
                            Secret = new Rancher2.Inputs.ClusterV2RkeConfigMachineSelectorFileFileSourceSecretArgs
                            {
                                Name = "string",
                                DefaultPermissions = "string",
                                Items = new[]
                                {
                                    new Rancher2.Inputs.ClusterV2RkeConfigMachineSelectorFileFileSourceSecretItemArgs
                                    {
                                        Key = "string",
                                        Path = "string",
                                        Dynamic = false,
                                        Hash = "string",
                                        Permissions = "string",
                                    },
                                },
                            },
                        },
                    },
                    MachineLabelSelector = new Rancher2.Inputs.ClusterV2RkeConfigMachineSelectorFileMachineLabelSelectorArgs
                    {
                        MatchExpressions = new[]
                        {
                            new Rancher2.Inputs.ClusterV2RkeConfigMachineSelectorFileMachineLabelSelectorMatchExpressionArgs
                            {
                                Key = "string",
                                Operator = "string",
                                Values = new[]
                                {
                                    "string",
                                },
                            },
                        },
                        MatchLabels = 
                        {
                            { "string", "string" },
                        },
                    },
                },
            },
            Networking = new Rancher2.Inputs.ClusterV2RkeConfigNetworkingArgs
            {
                StackPreference = "string",
            },
            Registries = new Rancher2.Inputs.ClusterV2RkeConfigRegistriesArgs
            {
                Configs = new[]
                {
                    new Rancher2.Inputs.ClusterV2RkeConfigRegistriesConfigArgs
                    {
                        Hostname = "string",
                        AuthConfigSecretName = "string",
                        CaBundle = "string",
                        Insecure = false,
                        TlsSecretName = "string",
                    },
                },
                Mirrors = new[]
                {
                    new Rancher2.Inputs.ClusterV2RkeConfigRegistriesMirrorArgs
                    {
                        Hostname = "string",
                        Endpoints = new[]
                        {
                            "string",
                        },
                        Rewrites = 
                        {
                            { "string", "string" },
                        },
                    },
                },
            },
            RotateCertificates = new Rancher2.Inputs.ClusterV2RkeConfigRotateCertificatesArgs
            {
                Generation = 0,
                Services = new[]
                {
                    "string",
                },
            },
            UpgradeStrategy = new Rancher2.Inputs.ClusterV2RkeConfigUpgradeStrategyArgs
            {
                ControlPlaneConcurrency = "string",
                ControlPlaneDrainOptions = new Rancher2.Inputs.ClusterV2RkeConfigUpgradeStrategyControlPlaneDrainOptionsArgs
                {
                    DeleteEmptyDirData = false,
                    DisableEviction = false,
                    Enabled = false,
                    Force = false,
                    GracePeriod = 0,
                    IgnoreDaemonSets = false,
                    IgnoreErrors = false,
                    SkipWaitForDeleteTimeoutSeconds = 0,
                    Timeout = 0,
                },
                WorkerConcurrency = "string",
                WorkerDrainOptions = new Rancher2.Inputs.ClusterV2RkeConfigUpgradeStrategyWorkerDrainOptionsArgs
                {
                    DeleteEmptyDirData = false,
                    DisableEviction = false,
                    Enabled = false,
                    Force = false,
                    GracePeriod = 0,
                    IgnoreDaemonSets = false,
                    IgnoreErrors = false,
                    SkipWaitForDeleteTimeoutSeconds = 0,
                    Timeout = 0,
                },
            },
        },
    });
    
    example, err := rancher2.NewClusterV2(ctx, "clusterV2Resource", &rancher2.ClusterV2Args{
    	KubernetesVersion: pulumi.String("string"),
    	ClusterAgentDeploymentCustomizations: rancher2.ClusterV2ClusterAgentDeploymentCustomizationArray{
    		&rancher2.ClusterV2ClusterAgentDeploymentCustomizationArgs{
    			AppendTolerations: rancher2.ClusterV2ClusterAgentDeploymentCustomizationAppendTolerationArray{
    				&rancher2.ClusterV2ClusterAgentDeploymentCustomizationAppendTolerationArgs{
    					Key:      pulumi.String("string"),
    					Effect:   pulumi.String("string"),
    					Operator: pulumi.String("string"),
    					Seconds:  pulumi.Int(0),
    					Value:    pulumi.String("string"),
    				},
    			},
    			OverrideAffinity: pulumi.String("string"),
    			OverrideResourceRequirements: rancher2.ClusterV2ClusterAgentDeploymentCustomizationOverrideResourceRequirementArray{
    				&rancher2.ClusterV2ClusterAgentDeploymentCustomizationOverrideResourceRequirementArgs{
    					CpuLimit:      pulumi.String("string"),
    					CpuRequest:    pulumi.String("string"),
    					MemoryLimit:   pulumi.String("string"),
    					MemoryRequest: pulumi.String("string"),
    				},
    			},
    			SchedulingCustomizations: rancher2.ClusterV2ClusterAgentDeploymentCustomizationSchedulingCustomizationArray{
    				&rancher2.ClusterV2ClusterAgentDeploymentCustomizationSchedulingCustomizationArgs{
    					PodDisruptionBudgets: rancher2.ClusterV2ClusterAgentDeploymentCustomizationSchedulingCustomizationPodDisruptionBudgetArray{
    						&rancher2.ClusterV2ClusterAgentDeploymentCustomizationSchedulingCustomizationPodDisruptionBudgetArgs{
    							MaxUnavailable: pulumi.String("string"),
    							MinAvailable:   pulumi.String("string"),
    						},
    					},
    					PriorityClasses: rancher2.ClusterV2ClusterAgentDeploymentCustomizationSchedulingCustomizationPriorityClassArray{
    						&rancher2.ClusterV2ClusterAgentDeploymentCustomizationSchedulingCustomizationPriorityClassArgs{
    							Value:            pulumi.Int(0),
    							PreemptionPolicy: pulumi.String("string"),
    						},
    					},
    				},
    			},
    		},
    	},
    	CloudCredentialSecretName: pulumi.String("string"),
    	AgentEnvVars: rancher2.ClusterV2AgentEnvVarArray{
    		&rancher2.ClusterV2AgentEnvVarArgs{
    			Name:  pulumi.String("string"),
    			Value: pulumi.String("string"),
    		},
    	},
    	DefaultClusterRoleForProjectMembers:                  pulumi.String("string"),
    	DefaultPodSecurityAdmissionConfigurationTemplateName: pulumi.String("string"),
    	EnableNetworkPolicy:                                  pulumi.Bool(false),
    	FleetAgentDeploymentCustomizations: rancher2.ClusterV2FleetAgentDeploymentCustomizationArray{
    		&rancher2.ClusterV2FleetAgentDeploymentCustomizationArgs{
    			AppendTolerations: rancher2.ClusterV2FleetAgentDeploymentCustomizationAppendTolerationArray{
    				&rancher2.ClusterV2FleetAgentDeploymentCustomizationAppendTolerationArgs{
    					Key:      pulumi.String("string"),
    					Effect:   pulumi.String("string"),
    					Operator: pulumi.String("string"),
    					Seconds:  pulumi.Int(0),
    					Value:    pulumi.String("string"),
    				},
    			},
    			OverrideAffinity: pulumi.String("string"),
    			OverrideResourceRequirements: rancher2.ClusterV2FleetAgentDeploymentCustomizationOverrideResourceRequirementArray{
    				&rancher2.ClusterV2FleetAgentDeploymentCustomizationOverrideResourceRequirementArgs{
    					CpuLimit:      pulumi.String("string"),
    					CpuRequest:    pulumi.String("string"),
    					MemoryLimit:   pulumi.String("string"),
    					MemoryRequest: pulumi.String("string"),
    				},
    			},
    		},
    	},
    	FleetNamespace: pulumi.String("string"),
    	Annotations: pulumi.StringMap{
    		"string": pulumi.String("string"),
    	},
    	Labels: pulumi.StringMap{
    		"string": pulumi.String("string"),
    	},
    	LocalAuthEndpoint: &rancher2.ClusterV2LocalAuthEndpointArgs{
    		CaCerts: pulumi.String("string"),
    		Enabled: pulumi.Bool(false),
    		Fqdn:    pulumi.String("string"),
    	},
    	Name: pulumi.String("string"),
    	RkeConfig: &rancher2.ClusterV2RkeConfigArgs{
    		AdditionalManifest: pulumi.String("string"),
    		ChartValues:        pulumi.String("string"),
    		DataDirectories: rancher2.ClusterV2RkeConfigDataDirectoryArray{
    			&rancher2.ClusterV2RkeConfigDataDirectoryArgs{
    				K8sDistro:    pulumi.String("string"),
    				Provisioning: pulumi.String("string"),
    				SystemAgent:  pulumi.String("string"),
    			},
    		},
    		Etcd: &rancher2.ClusterV2RkeConfigEtcdArgs{
    			DisableSnapshots: pulumi.Bool(false),
    			S3Config: &rancher2.ClusterV2RkeConfigEtcdS3ConfigArgs{
    				Bucket:              pulumi.String("string"),
    				Endpoint:            pulumi.String("string"),
    				CloudCredentialName: pulumi.String("string"),
    				EndpointCa:          pulumi.String("string"),
    				Folder:              pulumi.String("string"),
    				Region:              pulumi.String("string"),
    				SkipSslVerify:       pulumi.Bool(false),
    			},
    			SnapshotRetention:    pulumi.Int(0),
    			SnapshotScheduleCron: pulumi.String("string"),
    		},
    		EtcdSnapshotCreate: &rancher2.ClusterV2RkeConfigEtcdSnapshotCreateArgs{
    			Generation: pulumi.Int(0),
    		},
    		EtcdSnapshotRestore: &rancher2.ClusterV2RkeConfigEtcdSnapshotRestoreArgs{
    			Generation:       pulumi.Int(0),
    			Name:             pulumi.String("string"),
    			RestoreRkeConfig: pulumi.String("string"),
    		},
    		MachineGlobalConfig: pulumi.String("string"),
    		MachinePoolDefaults: rancher2.ClusterV2RkeConfigMachinePoolDefaultArray{
    			&rancher2.ClusterV2RkeConfigMachinePoolDefaultArgs{
    				HostnameLengthLimit: pulumi.Int(0),
    			},
    		},
    		MachinePools: rancher2.ClusterV2RkeConfigMachinePoolArray{
    			&rancher2.ClusterV2RkeConfigMachinePoolArgs{
    				MachineConfig: &rancher2.ClusterV2RkeConfigMachinePoolMachineConfigArgs{
    					Kind:       pulumi.String("string"),
    					Name:       pulumi.String("string"),
    					ApiVersion: pulumi.String("string"),
    				},
    				Name:                      pulumi.String("string"),
    				MaxUnhealthy:              pulumi.String("string"),
    				CloudCredentialSecretName: pulumi.String("string"),
    				EtcdRole:                  pulumi.Bool(false),
    				HostnameLengthLimit:       pulumi.Int(0),
    				Labels: pulumi.StringMap{
    					"string": pulumi.String("string"),
    				},
    				ControlPlaneRole: pulumi.Bool(false),
    				MachineLabels: pulumi.StringMap{
    					"string": pulumi.String("string"),
    				},
    				MachineOs: pulumi.String("string"),
    				Annotations: pulumi.StringMap{
    					"string": pulumi.String("string"),
    				},
    				DrainBeforeDelete:         pulumi.Bool(false),
    				NodeDrainTimeout:          pulumi.Int(0),
    				NodeStartupTimeoutSeconds: pulumi.Int(0),
    				Paused:                    pulumi.Bool(false),
    				Quantity:                  pulumi.Int(0),
    				RollingUpdate: &rancher2.ClusterV2RkeConfigMachinePoolRollingUpdateArgs{
    					MaxSurge:       pulumi.String("string"),
    					MaxUnavailable: pulumi.String("string"),
    				},
    				Taints: rancher2.ClusterV2RkeConfigMachinePoolTaintArray{
    					&rancher2.ClusterV2RkeConfigMachinePoolTaintArgs{
    						Key:    pulumi.String("string"),
    						Value:  pulumi.String("string"),
    						Effect: pulumi.String("string"),
    					},
    				},
    				UnhealthyNodeTimeoutSeconds: pulumi.Int(0),
    				UnhealthyRange:              pulumi.String("string"),
    				WorkerRole:                  pulumi.Bool(false),
    			},
    		},
    		MachineSelectorConfigs: rancher2.ClusterV2RkeConfigMachineSelectorConfigArray{
    			&rancher2.ClusterV2RkeConfigMachineSelectorConfigArgs{
    				Config: pulumi.String("string"),
    				MachineLabelSelector: &rancher2.ClusterV2RkeConfigMachineSelectorConfigMachineLabelSelectorArgs{
    					MatchExpressions: rancher2.ClusterV2RkeConfigMachineSelectorConfigMachineLabelSelectorMatchExpressionArray{
    						&rancher2.ClusterV2RkeConfigMachineSelectorConfigMachineLabelSelectorMatchExpressionArgs{
    							Key:      pulumi.String("string"),
    							Operator: pulumi.String("string"),
    							Values: pulumi.StringArray{
    								pulumi.String("string"),
    							},
    						},
    					},
    					MatchLabels: pulumi.StringMap{
    						"string": pulumi.String("string"),
    					},
    				},
    			},
    		},
    		MachineSelectorFiles: rancher2.ClusterV2RkeConfigMachineSelectorFileArray{
    			&rancher2.ClusterV2RkeConfigMachineSelectorFileArgs{
    				FileSources: rancher2.ClusterV2RkeConfigMachineSelectorFileFileSourceArray{
    					&rancher2.ClusterV2RkeConfigMachineSelectorFileFileSourceArgs{
    						Configmap: &rancher2.ClusterV2RkeConfigMachineSelectorFileFileSourceConfigmapArgs{
    							Name:               pulumi.String("string"),
    							DefaultPermissions: pulumi.String("string"),
    							Items: rancher2.ClusterV2RkeConfigMachineSelectorFileFileSourceConfigmapItemArray{
    								&rancher2.ClusterV2RkeConfigMachineSelectorFileFileSourceConfigmapItemArgs{
    									Key:         pulumi.String("string"),
    									Path:        pulumi.String("string"),
    									Dynamic:     pulumi.Bool(false),
    									Hash:        pulumi.String("string"),
    									Permissions: pulumi.String("string"),
    								},
    							},
    						},
    						Secret: &rancher2.ClusterV2RkeConfigMachineSelectorFileFileSourceSecretArgs{
    							Name:               pulumi.String("string"),
    							DefaultPermissions: pulumi.String("string"),
    							Items: rancher2.ClusterV2RkeConfigMachineSelectorFileFileSourceSecretItemArray{
    								&rancher2.ClusterV2RkeConfigMachineSelectorFileFileSourceSecretItemArgs{
    									Key:         pulumi.String("string"),
    									Path:        pulumi.String("string"),
    									Dynamic:     pulumi.Bool(false),
    									Hash:        pulumi.String("string"),
    									Permissions: pulumi.String("string"),
    								},
    							},
    						},
    					},
    				},
    				MachineLabelSelector: &rancher2.ClusterV2RkeConfigMachineSelectorFileMachineLabelSelectorArgs{
    					MatchExpressions: rancher2.ClusterV2RkeConfigMachineSelectorFileMachineLabelSelectorMatchExpressionArray{
    						&rancher2.ClusterV2RkeConfigMachineSelectorFileMachineLabelSelectorMatchExpressionArgs{
    							Key:      pulumi.String("string"),
    							Operator: pulumi.String("string"),
    							Values: pulumi.StringArray{
    								pulumi.String("string"),
    							},
    						},
    					},
    					MatchLabels: pulumi.StringMap{
    						"string": pulumi.String("string"),
    					},
    				},
    			},
    		},
    		Networking: &rancher2.ClusterV2RkeConfigNetworkingArgs{
    			StackPreference: pulumi.String("string"),
    		},
    		Registries: &rancher2.ClusterV2RkeConfigRegistriesArgs{
    			Configs: rancher2.ClusterV2RkeConfigRegistriesConfigArray{
    				&rancher2.ClusterV2RkeConfigRegistriesConfigArgs{
    					Hostname:             pulumi.String("string"),
    					AuthConfigSecretName: pulumi.String("string"),
    					CaBundle:             pulumi.String("string"),
    					Insecure:             pulumi.Bool(false),
    					TlsSecretName:        pulumi.String("string"),
    				},
    			},
    			Mirrors: rancher2.ClusterV2RkeConfigRegistriesMirrorArray{
    				&rancher2.ClusterV2RkeConfigRegistriesMirrorArgs{
    					Hostname: pulumi.String("string"),
    					Endpoints: pulumi.StringArray{
    						pulumi.String("string"),
    					},
    					Rewrites: pulumi.StringMap{
    						"string": pulumi.String("string"),
    					},
    				},
    			},
    		},
    		RotateCertificates: &rancher2.ClusterV2RkeConfigRotateCertificatesArgs{
    			Generation: pulumi.Int(0),
    			Services: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    		},
    		UpgradeStrategy: &rancher2.ClusterV2RkeConfigUpgradeStrategyArgs{
    			ControlPlaneConcurrency: pulumi.String("string"),
    			ControlPlaneDrainOptions: &rancher2.ClusterV2RkeConfigUpgradeStrategyControlPlaneDrainOptionsArgs{
    				DeleteEmptyDirData:              pulumi.Bool(false),
    				DisableEviction:                 pulumi.Bool(false),
    				Enabled:                         pulumi.Bool(false),
    				Force:                           pulumi.Bool(false),
    				GracePeriod:                     pulumi.Int(0),
    				IgnoreDaemonSets:                pulumi.Bool(false),
    				IgnoreErrors:                    pulumi.Bool(false),
    				SkipWaitForDeleteTimeoutSeconds: pulumi.Int(0),
    				Timeout:                         pulumi.Int(0),
    			},
    			WorkerConcurrency: pulumi.String("string"),
    			WorkerDrainOptions: &rancher2.ClusterV2RkeConfigUpgradeStrategyWorkerDrainOptionsArgs{
    				DeleteEmptyDirData:              pulumi.Bool(false),
    				DisableEviction:                 pulumi.Bool(false),
    				Enabled:                         pulumi.Bool(false),
    				Force:                           pulumi.Bool(false),
    				GracePeriod:                     pulumi.Int(0),
    				IgnoreDaemonSets:                pulumi.Bool(false),
    				IgnoreErrors:                    pulumi.Bool(false),
    				SkipWaitForDeleteTimeoutSeconds: pulumi.Int(0),
    				Timeout:                         pulumi.Int(0),
    			},
    		},
    	},
    })
    
    var clusterV2Resource = new ClusterV2("clusterV2Resource", ClusterV2Args.builder()
        .kubernetesVersion("string")
        .clusterAgentDeploymentCustomizations(ClusterV2ClusterAgentDeploymentCustomizationArgs.builder()
            .appendTolerations(ClusterV2ClusterAgentDeploymentCustomizationAppendTolerationArgs.builder()
                .key("string")
                .effect("string")
                .operator("string")
                .seconds(0)
                .value("string")
                .build())
            .overrideAffinity("string")
            .overrideResourceRequirements(ClusterV2ClusterAgentDeploymentCustomizationOverrideResourceRequirementArgs.builder()
                .cpuLimit("string")
                .cpuRequest("string")
                .memoryLimit("string")
                .memoryRequest("string")
                .build())
            .schedulingCustomizations(ClusterV2ClusterAgentDeploymentCustomizationSchedulingCustomizationArgs.builder()
                .podDisruptionBudgets(ClusterV2ClusterAgentDeploymentCustomizationSchedulingCustomizationPodDisruptionBudgetArgs.builder()
                    .maxUnavailable("string")
                    .minAvailable("string")
                    .build())
                .priorityClasses(ClusterV2ClusterAgentDeploymentCustomizationSchedulingCustomizationPriorityClassArgs.builder()
                    .value(0)
                    .preemptionPolicy("string")
                    .build())
                .build())
            .build())
        .cloudCredentialSecretName("string")
        .agentEnvVars(ClusterV2AgentEnvVarArgs.builder()
            .name("string")
            .value("string")
            .build())
        .defaultClusterRoleForProjectMembers("string")
        .defaultPodSecurityAdmissionConfigurationTemplateName("string")
        .enableNetworkPolicy(false)
        .fleetAgentDeploymentCustomizations(ClusterV2FleetAgentDeploymentCustomizationArgs.builder()
            .appendTolerations(ClusterV2FleetAgentDeploymentCustomizationAppendTolerationArgs.builder()
                .key("string")
                .effect("string")
                .operator("string")
                .seconds(0)
                .value("string")
                .build())
            .overrideAffinity("string")
            .overrideResourceRequirements(ClusterV2FleetAgentDeploymentCustomizationOverrideResourceRequirementArgs.builder()
                .cpuLimit("string")
                .cpuRequest("string")
                .memoryLimit("string")
                .memoryRequest("string")
                .build())
            .build())
        .fleetNamespace("string")
        .annotations(Map.of("string", "string"))
        .labels(Map.of("string", "string"))
        .localAuthEndpoint(ClusterV2LocalAuthEndpointArgs.builder()
            .caCerts("string")
            .enabled(false)
            .fqdn("string")
            .build())
        .name("string")
        .rkeConfig(ClusterV2RkeConfigArgs.builder()
            .additionalManifest("string")
            .chartValues("string")
            .dataDirectories(ClusterV2RkeConfigDataDirectoryArgs.builder()
                .k8sDistro("string")
                .provisioning("string")
                .systemAgent("string")
                .build())
            .etcd(ClusterV2RkeConfigEtcdArgs.builder()
                .disableSnapshots(false)
                .s3Config(ClusterV2RkeConfigEtcdS3ConfigArgs.builder()
                    .bucket("string")
                    .endpoint("string")
                    .cloudCredentialName("string")
                    .endpointCa("string")
                    .folder("string")
                    .region("string")
                    .skipSslVerify(false)
                    .build())
                .snapshotRetention(0)
                .snapshotScheduleCron("string")
                .build())
            .etcdSnapshotCreate(ClusterV2RkeConfigEtcdSnapshotCreateArgs.builder()
                .generation(0)
                .build())
            .etcdSnapshotRestore(ClusterV2RkeConfigEtcdSnapshotRestoreArgs.builder()
                .generation(0)
                .name("string")
                .restoreRkeConfig("string")
                .build())
            .machineGlobalConfig("string")
            .machinePoolDefaults(ClusterV2RkeConfigMachinePoolDefaultArgs.builder()
                .hostnameLengthLimit(0)
                .build())
            .machinePools(ClusterV2RkeConfigMachinePoolArgs.builder()
                .machineConfig(ClusterV2RkeConfigMachinePoolMachineConfigArgs.builder()
                    .kind("string")
                    .name("string")
                    .apiVersion("string")
                    .build())
                .name("string")
                .maxUnhealthy("string")
                .cloudCredentialSecretName("string")
                .etcdRole(false)
                .hostnameLengthLimit(0)
                .labels(Map.of("string", "string"))
                .controlPlaneRole(false)
                .machineLabels(Map.of("string", "string"))
                .machineOs("string")
                .annotations(Map.of("string", "string"))
                .drainBeforeDelete(false)
                .nodeDrainTimeout(0)
                .nodeStartupTimeoutSeconds(0)
                .paused(false)
                .quantity(0)
                .rollingUpdate(ClusterV2RkeConfigMachinePoolRollingUpdateArgs.builder()
                    .maxSurge("string")
                    .maxUnavailable("string")
                    .build())
                .taints(ClusterV2RkeConfigMachinePoolTaintArgs.builder()
                    .key("string")
                    .value("string")
                    .effect("string")
                    .build())
                .unhealthyNodeTimeoutSeconds(0)
                .unhealthyRange("string")
                .workerRole(false)
                .build())
            .machineSelectorConfigs(ClusterV2RkeConfigMachineSelectorConfigArgs.builder()
                .config("string")
                .machineLabelSelector(ClusterV2RkeConfigMachineSelectorConfigMachineLabelSelectorArgs.builder()
                    .matchExpressions(ClusterV2RkeConfigMachineSelectorConfigMachineLabelSelectorMatchExpressionArgs.builder()
                        .key("string")
                        .operator("string")
                        .values("string")
                        .build())
                    .matchLabels(Map.of("string", "string"))
                    .build())
                .build())
            .machineSelectorFiles(ClusterV2RkeConfigMachineSelectorFileArgs.builder()
                .fileSources(ClusterV2RkeConfigMachineSelectorFileFileSourceArgs.builder()
                    .configmap(ClusterV2RkeConfigMachineSelectorFileFileSourceConfigmapArgs.builder()
                        .name("string")
                        .defaultPermissions("string")
                        .items(ClusterV2RkeConfigMachineSelectorFileFileSourceConfigmapItemArgs.builder()
                            .key("string")
                            .path("string")
                            .dynamic(false)
                            .hash("string")
                            .permissions("string")
                            .build())
                        .build())
                    .secret(ClusterV2RkeConfigMachineSelectorFileFileSourceSecretArgs.builder()
                        .name("string")
                        .defaultPermissions("string")
                        .items(ClusterV2RkeConfigMachineSelectorFileFileSourceSecretItemArgs.builder()
                            .key("string")
                            .path("string")
                            .dynamic(false)
                            .hash("string")
                            .permissions("string")
                            .build())
                        .build())
                    .build())
                .machineLabelSelector(ClusterV2RkeConfigMachineSelectorFileMachineLabelSelectorArgs.builder()
                    .matchExpressions(ClusterV2RkeConfigMachineSelectorFileMachineLabelSelectorMatchExpressionArgs.builder()
                        .key("string")
                        .operator("string")
                        .values("string")
                        .build())
                    .matchLabels(Map.of("string", "string"))
                    .build())
                .build())
            .networking(ClusterV2RkeConfigNetworkingArgs.builder()
                .stackPreference("string")
                .build())
            .registries(ClusterV2RkeConfigRegistriesArgs.builder()
                .configs(ClusterV2RkeConfigRegistriesConfigArgs.builder()
                    .hostname("string")
                    .authConfigSecretName("string")
                    .caBundle("string")
                    .insecure(false)
                    .tlsSecretName("string")
                    .build())
                .mirrors(ClusterV2RkeConfigRegistriesMirrorArgs.builder()
                    .hostname("string")
                    .endpoints("string")
                    .rewrites(Map.of("string", "string"))
                    .build())
                .build())
            .rotateCertificates(ClusterV2RkeConfigRotateCertificatesArgs.builder()
                .generation(0)
                .services("string")
                .build())
            .upgradeStrategy(ClusterV2RkeConfigUpgradeStrategyArgs.builder()
                .controlPlaneConcurrency("string")
                .controlPlaneDrainOptions(ClusterV2RkeConfigUpgradeStrategyControlPlaneDrainOptionsArgs.builder()
                    .deleteEmptyDirData(false)
                    .disableEviction(false)
                    .enabled(false)
                    .force(false)
                    .gracePeriod(0)
                    .ignoreDaemonSets(false)
                    .ignoreErrors(false)
                    .skipWaitForDeleteTimeoutSeconds(0)
                    .timeout(0)
                    .build())
                .workerConcurrency("string")
                .workerDrainOptions(ClusterV2RkeConfigUpgradeStrategyWorkerDrainOptionsArgs.builder()
                    .deleteEmptyDirData(false)
                    .disableEviction(false)
                    .enabled(false)
                    .force(false)
                    .gracePeriod(0)
                    .ignoreDaemonSets(false)
                    .ignoreErrors(false)
                    .skipWaitForDeleteTimeoutSeconds(0)
                    .timeout(0)
                    .build())
                .build())
            .build())
        .build());
    
    cluster_v2_resource = rancher2.ClusterV2("clusterV2Resource",
        kubernetes_version="string",
        cluster_agent_deployment_customizations=[{
            "append_tolerations": [{
                "key": "string",
                "effect": "string",
                "operator": "string",
                "seconds": 0,
                "value": "string",
            }],
            "override_affinity": "string",
            "override_resource_requirements": [{
                "cpu_limit": "string",
                "cpu_request": "string",
                "memory_limit": "string",
                "memory_request": "string",
            }],
            "scheduling_customizations": [{
                "pod_disruption_budgets": [{
                    "max_unavailable": "string",
                    "min_available": "string",
                }],
                "priority_classes": [{
                    "value": 0,
                    "preemption_policy": "string",
                }],
            }],
        }],
        cloud_credential_secret_name="string",
        agent_env_vars=[{
            "name": "string",
            "value": "string",
        }],
        default_cluster_role_for_project_members="string",
        default_pod_security_admission_configuration_template_name="string",
        enable_network_policy=False,
        fleet_agent_deployment_customizations=[{
            "append_tolerations": [{
                "key": "string",
                "effect": "string",
                "operator": "string",
                "seconds": 0,
                "value": "string",
            }],
            "override_affinity": "string",
            "override_resource_requirements": [{
                "cpu_limit": "string",
                "cpu_request": "string",
                "memory_limit": "string",
                "memory_request": "string",
            }],
        }],
        fleet_namespace="string",
        annotations={
            "string": "string",
        },
        labels={
            "string": "string",
        },
        local_auth_endpoint={
            "ca_certs": "string",
            "enabled": False,
            "fqdn": "string",
        },
        name="string",
        rke_config={
            "additional_manifest": "string",
            "chart_values": "string",
            "data_directories": [{
                "k8s_distro": "string",
                "provisioning": "string",
                "system_agent": "string",
            }],
            "etcd": {
                "disable_snapshots": False,
                "s3_config": {
                    "bucket": "string",
                    "endpoint": "string",
                    "cloud_credential_name": "string",
                    "endpoint_ca": "string",
                    "folder": "string",
                    "region": "string",
                    "skip_ssl_verify": False,
                },
                "snapshot_retention": 0,
                "snapshot_schedule_cron": "string",
            },
            "etcd_snapshot_create": {
                "generation": 0,
            },
            "etcd_snapshot_restore": {
                "generation": 0,
                "name": "string",
                "restore_rke_config": "string",
            },
            "machine_global_config": "string",
            "machine_pool_defaults": [{
                "hostname_length_limit": 0,
            }],
            "machine_pools": [{
                "machine_config": {
                    "kind": "string",
                    "name": "string",
                    "api_version": "string",
                },
                "name": "string",
                "max_unhealthy": "string",
                "cloud_credential_secret_name": "string",
                "etcd_role": False,
                "hostname_length_limit": 0,
                "labels": {
                    "string": "string",
                },
                "control_plane_role": False,
                "machine_labels": {
                    "string": "string",
                },
                "machine_os": "string",
                "annotations": {
                    "string": "string",
                },
                "drain_before_delete": False,
                "node_drain_timeout": 0,
                "node_startup_timeout_seconds": 0,
                "paused": False,
                "quantity": 0,
                "rolling_update": {
                    "max_surge": "string",
                    "max_unavailable": "string",
                },
                "taints": [{
                    "key": "string",
                    "value": "string",
                    "effect": "string",
                }],
                "unhealthy_node_timeout_seconds": 0,
                "unhealthy_range": "string",
                "worker_role": False,
            }],
            "machine_selector_configs": [{
                "config": "string",
                "machine_label_selector": {
                    "match_expressions": [{
                        "key": "string",
                        "operator": "string",
                        "values": ["string"],
                    }],
                    "match_labels": {
                        "string": "string",
                    },
                },
            }],
            "machine_selector_files": [{
                "file_sources": [{
                    "configmap": {
                        "name": "string",
                        "default_permissions": "string",
                        "items": [{
                            "key": "string",
                            "path": "string",
                            "dynamic": False,
                            "hash": "string",
                            "permissions": "string",
                        }],
                    },
                    "secret": {
                        "name": "string",
                        "default_permissions": "string",
                        "items": [{
                            "key": "string",
                            "path": "string",
                            "dynamic": False,
                            "hash": "string",
                            "permissions": "string",
                        }],
                    },
                }],
                "machine_label_selector": {
                    "match_expressions": [{
                        "key": "string",
                        "operator": "string",
                        "values": ["string"],
                    }],
                    "match_labels": {
                        "string": "string",
                    },
                },
            }],
            "networking": {
                "stack_preference": "string",
            },
            "registries": {
                "configs": [{
                    "hostname": "string",
                    "auth_config_secret_name": "string",
                    "ca_bundle": "string",
                    "insecure": False,
                    "tls_secret_name": "string",
                }],
                "mirrors": [{
                    "hostname": "string",
                    "endpoints": ["string"],
                    "rewrites": {
                        "string": "string",
                    },
                }],
            },
            "rotate_certificates": {
                "generation": 0,
                "services": ["string"],
            },
            "upgrade_strategy": {
                "control_plane_concurrency": "string",
                "control_plane_drain_options": {
                    "delete_empty_dir_data": False,
                    "disable_eviction": False,
                    "enabled": False,
                    "force": False,
                    "grace_period": 0,
                    "ignore_daemon_sets": False,
                    "ignore_errors": False,
                    "skip_wait_for_delete_timeout_seconds": 0,
                    "timeout": 0,
                },
                "worker_concurrency": "string",
                "worker_drain_options": {
                    "delete_empty_dir_data": False,
                    "disable_eviction": False,
                    "enabled": False,
                    "force": False,
                    "grace_period": 0,
                    "ignore_daemon_sets": False,
                    "ignore_errors": False,
                    "skip_wait_for_delete_timeout_seconds": 0,
                    "timeout": 0,
                },
            },
        })
    
    const clusterV2Resource = new rancher2.ClusterV2("clusterV2Resource", {
        kubernetesVersion: "string",
        clusterAgentDeploymentCustomizations: [{
            appendTolerations: [{
                key: "string",
                effect: "string",
                operator: "string",
                seconds: 0,
                value: "string",
            }],
            overrideAffinity: "string",
            overrideResourceRequirements: [{
                cpuLimit: "string",
                cpuRequest: "string",
                memoryLimit: "string",
                memoryRequest: "string",
            }],
            schedulingCustomizations: [{
                podDisruptionBudgets: [{
                    maxUnavailable: "string",
                    minAvailable: "string",
                }],
                priorityClasses: [{
                    value: 0,
                    preemptionPolicy: "string",
                }],
            }],
        }],
        cloudCredentialSecretName: "string",
        agentEnvVars: [{
            name: "string",
            value: "string",
        }],
        defaultClusterRoleForProjectMembers: "string",
        defaultPodSecurityAdmissionConfigurationTemplateName: "string",
        enableNetworkPolicy: false,
        fleetAgentDeploymentCustomizations: [{
            appendTolerations: [{
                key: "string",
                effect: "string",
                operator: "string",
                seconds: 0,
                value: "string",
            }],
            overrideAffinity: "string",
            overrideResourceRequirements: [{
                cpuLimit: "string",
                cpuRequest: "string",
                memoryLimit: "string",
                memoryRequest: "string",
            }],
        }],
        fleetNamespace: "string",
        annotations: {
            string: "string",
        },
        labels: {
            string: "string",
        },
        localAuthEndpoint: {
            caCerts: "string",
            enabled: false,
            fqdn: "string",
        },
        name: "string",
        rkeConfig: {
            additionalManifest: "string",
            chartValues: "string",
            dataDirectories: [{
                k8sDistro: "string",
                provisioning: "string",
                systemAgent: "string",
            }],
            etcd: {
                disableSnapshots: false,
                s3Config: {
                    bucket: "string",
                    endpoint: "string",
                    cloudCredentialName: "string",
                    endpointCa: "string",
                    folder: "string",
                    region: "string",
                    skipSslVerify: false,
                },
                snapshotRetention: 0,
                snapshotScheduleCron: "string",
            },
            etcdSnapshotCreate: {
                generation: 0,
            },
            etcdSnapshotRestore: {
                generation: 0,
                name: "string",
                restoreRkeConfig: "string",
            },
            machineGlobalConfig: "string",
            machinePoolDefaults: [{
                hostnameLengthLimit: 0,
            }],
            machinePools: [{
                machineConfig: {
                    kind: "string",
                    name: "string",
                    apiVersion: "string",
                },
                name: "string",
                maxUnhealthy: "string",
                cloudCredentialSecretName: "string",
                etcdRole: false,
                hostnameLengthLimit: 0,
                labels: {
                    string: "string",
                },
                controlPlaneRole: false,
                machineLabels: {
                    string: "string",
                },
                machineOs: "string",
                annotations: {
                    string: "string",
                },
                drainBeforeDelete: false,
                nodeDrainTimeout: 0,
                nodeStartupTimeoutSeconds: 0,
                paused: false,
                quantity: 0,
                rollingUpdate: {
                    maxSurge: "string",
                    maxUnavailable: "string",
                },
                taints: [{
                    key: "string",
                    value: "string",
                    effect: "string",
                }],
                unhealthyNodeTimeoutSeconds: 0,
                unhealthyRange: "string",
                workerRole: false,
            }],
            machineSelectorConfigs: [{
                config: "string",
                machineLabelSelector: {
                    matchExpressions: [{
                        key: "string",
                        operator: "string",
                        values: ["string"],
                    }],
                    matchLabels: {
                        string: "string",
                    },
                },
            }],
            machineSelectorFiles: [{
                fileSources: [{
                    configmap: {
                        name: "string",
                        defaultPermissions: "string",
                        items: [{
                            key: "string",
                            path: "string",
                            dynamic: false,
                            hash: "string",
                            permissions: "string",
                        }],
                    },
                    secret: {
                        name: "string",
                        defaultPermissions: "string",
                        items: [{
                            key: "string",
                            path: "string",
                            dynamic: false,
                            hash: "string",
                            permissions: "string",
                        }],
                    },
                }],
                machineLabelSelector: {
                    matchExpressions: [{
                        key: "string",
                        operator: "string",
                        values: ["string"],
                    }],
                    matchLabels: {
                        string: "string",
                    },
                },
            }],
            networking: {
                stackPreference: "string",
            },
            registries: {
                configs: [{
                    hostname: "string",
                    authConfigSecretName: "string",
                    caBundle: "string",
                    insecure: false,
                    tlsSecretName: "string",
                }],
                mirrors: [{
                    hostname: "string",
                    endpoints: ["string"],
                    rewrites: {
                        string: "string",
                    },
                }],
            },
            rotateCertificates: {
                generation: 0,
                services: ["string"],
            },
            upgradeStrategy: {
                controlPlaneConcurrency: "string",
                controlPlaneDrainOptions: {
                    deleteEmptyDirData: false,
                    disableEviction: false,
                    enabled: false,
                    force: false,
                    gracePeriod: 0,
                    ignoreDaemonSets: false,
                    ignoreErrors: false,
                    skipWaitForDeleteTimeoutSeconds: 0,
                    timeout: 0,
                },
                workerConcurrency: "string",
                workerDrainOptions: {
                    deleteEmptyDirData: false,
                    disableEviction: false,
                    enabled: false,
                    force: false,
                    gracePeriod: 0,
                    ignoreDaemonSets: false,
                    ignoreErrors: false,
                    skipWaitForDeleteTimeoutSeconds: 0,
                    timeout: 0,
                },
            },
        },
    });
    
    type: rancher2:ClusterV2
    properties:
        agentEnvVars:
            - name: string
              value: string
        annotations:
            string: string
        cloudCredentialSecretName: string
        clusterAgentDeploymentCustomizations:
            - appendTolerations:
                - effect: string
                  key: string
                  operator: string
                  seconds: 0
                  value: string
              overrideAffinity: string
              overrideResourceRequirements:
                - cpuLimit: string
                  cpuRequest: string
                  memoryLimit: string
                  memoryRequest: string
              schedulingCustomizations:
                - podDisruptionBudgets:
                    - maxUnavailable: string
                      minAvailable: string
                  priorityClasses:
                    - preemptionPolicy: string
                      value: 0
        defaultClusterRoleForProjectMembers: string
        defaultPodSecurityAdmissionConfigurationTemplateName: string
        enableNetworkPolicy: false
        fleetAgentDeploymentCustomizations:
            - appendTolerations:
                - effect: string
                  key: string
                  operator: string
                  seconds: 0
                  value: string
              overrideAffinity: string
              overrideResourceRequirements:
                - cpuLimit: string
                  cpuRequest: string
                  memoryLimit: string
                  memoryRequest: string
        fleetNamespace: string
        kubernetesVersion: string
        labels:
            string: string
        localAuthEndpoint:
            caCerts: string
            enabled: false
            fqdn: string
        name: string
        rkeConfig:
            additionalManifest: string
            chartValues: string
            dataDirectories:
                - k8sDistro: string
                  provisioning: string
                  systemAgent: string
            etcd:
                disableSnapshots: false
                s3Config:
                    bucket: string
                    cloudCredentialName: string
                    endpoint: string
                    endpointCa: string
                    folder: string
                    region: string
                    skipSslVerify: false
                snapshotRetention: 0
                snapshotScheduleCron: string
            etcdSnapshotCreate:
                generation: 0
            etcdSnapshotRestore:
                generation: 0
                name: string
                restoreRkeConfig: string
            machineGlobalConfig: string
            machinePoolDefaults:
                - hostnameLengthLimit: 0
            machinePools:
                - annotations:
                    string: string
                  cloudCredentialSecretName: string
                  controlPlaneRole: false
                  drainBeforeDelete: false
                  etcdRole: false
                  hostnameLengthLimit: 0
                  labels:
                    string: string
                  machineConfig:
                    apiVersion: string
                    kind: string
                    name: string
                  machineLabels:
                    string: string
                  machineOs: string
                  maxUnhealthy: string
                  name: string
                  nodeDrainTimeout: 0
                  nodeStartupTimeoutSeconds: 0
                  paused: false
                  quantity: 0
                  rollingUpdate:
                    maxSurge: string
                    maxUnavailable: string
                  taints:
                    - effect: string
                      key: string
                      value: string
                  unhealthyNodeTimeoutSeconds: 0
                  unhealthyRange: string
                  workerRole: false
            machineSelectorConfigs:
                - config: string
                  machineLabelSelector:
                    matchExpressions:
                        - key: string
                          operator: string
                          values:
                            - string
                    matchLabels:
                        string: string
            machineSelectorFiles:
                - fileSources:
                    - configmap:
                        defaultPermissions: string
                        items:
                            - dynamic: false
                              hash: string
                              key: string
                              path: string
                              permissions: string
                        name: string
                      secret:
                        defaultPermissions: string
                        items:
                            - dynamic: false
                              hash: string
                              key: string
                              path: string
                              permissions: string
                        name: string
                  machineLabelSelector:
                    matchExpressions:
                        - key: string
                          operator: string
                          values:
                            - string
                    matchLabels:
                        string: string
            networking:
                stackPreference: string
            registries:
                configs:
                    - authConfigSecretName: string
                      caBundle: string
                      hostname: string
                      insecure: false
                      tlsSecretName: string
                mirrors:
                    - endpoints:
                        - string
                      hostname: string
                      rewrites:
                        string: string
            rotateCertificates:
                generation: 0
                services:
                    - string
            upgradeStrategy:
                controlPlaneConcurrency: string
                controlPlaneDrainOptions:
                    deleteEmptyDirData: false
                    disableEviction: false
                    enabled: false
                    force: false
                    gracePeriod: 0
                    ignoreDaemonSets: false
                    ignoreErrors: false
                    skipWaitForDeleteTimeoutSeconds: 0
                    timeout: 0
                workerConcurrency: string
                workerDrainOptions:
                    deleteEmptyDirData: false
                    disableEviction: false
                    enabled: false
                    force: false
                    gracePeriod: 0
                    ignoreDaemonSets: false
                    ignoreErrors: false
                    skipWaitForDeleteTimeoutSeconds: 0
                    timeout: 0
    

    ClusterV2 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 ClusterV2 resource accepts the following input properties:

    KubernetesVersion string
    The RKE2 or K3s version for the cluster.
    AgentEnvVars List<ClusterV2AgentEnvVar>
    Agent env vars is a list of additional environment variables to be appended to the cattle-cluster-agent and fleet-agent deployment, and the plan for the system upgrade controller to upgrade nodes.
    Annotations Dictionary<string, string>
    Annotations for the Cluster.
    CloudCredentialSecretName string
    Cloud credential secret name is the secret to be used when a cloud credential secret name is not specified at the machine pool level.
    ClusterAgentDeploymentCustomizations List<ClusterV2ClusterAgentDeploymentCustomization>
    Cluster agent deployment customization specifies the additional tolerations, new affinity rules, and new resource requirements on the cattle-cluster-agent deployment. This argument is available in Rancher v2.7.5 and above.
    DefaultClusterRoleForProjectMembers string
    Default cluster role for project members.
    DefaultPodSecurityAdmissionConfigurationTemplateName string
    The name of the pre-defined pod security admission configuration template to be applied to the cluster. Rancher admins (or those with the right permissions) can create, manage, and edit those templates. For more information, please refer to Rancher Documentation. The argument is available in Rancher v2.7.2 and above.
    EnableNetworkPolicy bool
    Enable k8s network policy on the cluster.
    FleetAgentDeploymentCustomizations List<ClusterV2FleetAgentDeploymentCustomization>
    Fleet agent deployment customization specifies the additional tolerations, new affinity rules, and new resource requirements on the fleet-agent deployment. The argument is available in Rancher v2.7.5 and above.
    FleetNamespace string
    Fleet namespace is the namespace where the cluster is to create in the local cluster. It is recommended to leave it as the default value.
    Labels Dictionary<string, string>
    Labels for the Cluster.
    LocalAuthEndpoint ClusterV2LocalAuthEndpoint
    Local auth endpoint configures the Authorized Cluster Endpoint (ACE) which can be used to directly access the Kubernetes API server, without requiring communication through Rancher. For more information, please refer to Rancher Documentation.
    Name string
    The name of the cluster.
    RkeConfig ClusterV2RkeConfig
    The RKE configuration for the cluster.
    KubernetesVersion string
    The RKE2 or K3s version for the cluster.
    AgentEnvVars []ClusterV2AgentEnvVarArgs
    Agent env vars is a list of additional environment variables to be appended to the cattle-cluster-agent and fleet-agent deployment, and the plan for the system upgrade controller to upgrade nodes.
    Annotations map[string]string
    Annotations for the Cluster.
    CloudCredentialSecretName string
    Cloud credential secret name is the secret to be used when a cloud credential secret name is not specified at the machine pool level.
    ClusterAgentDeploymentCustomizations []ClusterV2ClusterAgentDeploymentCustomizationArgs
    Cluster agent deployment customization specifies the additional tolerations, new affinity rules, and new resource requirements on the cattle-cluster-agent deployment. This argument is available in Rancher v2.7.5 and above.
    DefaultClusterRoleForProjectMembers string
    Default cluster role for project members.
    DefaultPodSecurityAdmissionConfigurationTemplateName string
    The name of the pre-defined pod security admission configuration template to be applied to the cluster. Rancher admins (or those with the right permissions) can create, manage, and edit those templates. For more information, please refer to Rancher Documentation. The argument is available in Rancher v2.7.2 and above.
    EnableNetworkPolicy bool
    Enable k8s network policy on the cluster.
    FleetAgentDeploymentCustomizations []ClusterV2FleetAgentDeploymentCustomizationArgs
    Fleet agent deployment customization specifies the additional tolerations, new affinity rules, and new resource requirements on the fleet-agent deployment. The argument is available in Rancher v2.7.5 and above.
    FleetNamespace string
    Fleet namespace is the namespace where the cluster is to create in the local cluster. It is recommended to leave it as the default value.
    Labels map[string]string
    Labels for the Cluster.
    LocalAuthEndpoint ClusterV2LocalAuthEndpointArgs
    Local auth endpoint configures the Authorized Cluster Endpoint (ACE) which can be used to directly access the Kubernetes API server, without requiring communication through Rancher. For more information, please refer to Rancher Documentation.
    Name string
    The name of the cluster.
    RkeConfig ClusterV2RkeConfigArgs
    The RKE configuration for the cluster.
    kubernetesVersion String
    The RKE2 or K3s version for the cluster.
    agentEnvVars List<ClusterV2AgentEnvVar>
    Agent env vars is a list of additional environment variables to be appended to the cattle-cluster-agent and fleet-agent deployment, and the plan for the system upgrade controller to upgrade nodes.
    annotations Map<String,String>
    Annotations for the Cluster.
    cloudCredentialSecretName String
    Cloud credential secret name is the secret to be used when a cloud credential secret name is not specified at the machine pool level.
    clusterAgentDeploymentCustomizations List<ClusterV2ClusterAgentDeploymentCustomization>
    Cluster agent deployment customization specifies the additional tolerations, new affinity rules, and new resource requirements on the cattle-cluster-agent deployment. This argument is available in Rancher v2.7.5 and above.
    defaultClusterRoleForProjectMembers String
    Default cluster role for project members.
    defaultPodSecurityAdmissionConfigurationTemplateName String
    The name of the pre-defined pod security admission configuration template to be applied to the cluster. Rancher admins (or those with the right permissions) can create, manage, and edit those templates. For more information, please refer to Rancher Documentation. The argument is available in Rancher v2.7.2 and above.
    enableNetworkPolicy Boolean
    Enable k8s network policy on the cluster.
    fleetAgentDeploymentCustomizations List<ClusterV2FleetAgentDeploymentCustomization>
    Fleet agent deployment customization specifies the additional tolerations, new affinity rules, and new resource requirements on the fleet-agent deployment. The argument is available in Rancher v2.7.5 and above.
    fleetNamespace String
    Fleet namespace is the namespace where the cluster is to create in the local cluster. It is recommended to leave it as the default value.
    labels Map<String,String>
    Labels for the Cluster.
    localAuthEndpoint ClusterV2LocalAuthEndpoint
    Local auth endpoint configures the Authorized Cluster Endpoint (ACE) which can be used to directly access the Kubernetes API server, without requiring communication through Rancher. For more information, please refer to Rancher Documentation.
    name String
    The name of the cluster.
    rkeConfig ClusterV2RkeConfig
    The RKE configuration for the cluster.
    kubernetesVersion string
    The RKE2 or K3s version for the cluster.
    agentEnvVars ClusterV2AgentEnvVar[]
    Agent env vars is a list of additional environment variables to be appended to the cattle-cluster-agent and fleet-agent deployment, and the plan for the system upgrade controller to upgrade nodes.
    annotations {[key: string]: string}
    Annotations for the Cluster.
    cloudCredentialSecretName string
    Cloud credential secret name is the secret to be used when a cloud credential secret name is not specified at the machine pool level.
    clusterAgentDeploymentCustomizations ClusterV2ClusterAgentDeploymentCustomization[]
    Cluster agent deployment customization specifies the additional tolerations, new affinity rules, and new resource requirements on the cattle-cluster-agent deployment. This argument is available in Rancher v2.7.5 and above.
    defaultClusterRoleForProjectMembers string
    Default cluster role for project members.
    defaultPodSecurityAdmissionConfigurationTemplateName string
    The name of the pre-defined pod security admission configuration template to be applied to the cluster. Rancher admins (or those with the right permissions) can create, manage, and edit those templates. For more information, please refer to Rancher Documentation. The argument is available in Rancher v2.7.2 and above.
    enableNetworkPolicy boolean
    Enable k8s network policy on the cluster.
    fleetAgentDeploymentCustomizations ClusterV2FleetAgentDeploymentCustomization[]
    Fleet agent deployment customization specifies the additional tolerations, new affinity rules, and new resource requirements on the fleet-agent deployment. The argument is available in Rancher v2.7.5 and above.
    fleetNamespace string
    Fleet namespace is the namespace where the cluster is to create in the local cluster. It is recommended to leave it as the default value.
    labels {[key: string]: string}
    Labels for the Cluster.
    localAuthEndpoint ClusterV2LocalAuthEndpoint
    Local auth endpoint configures the Authorized Cluster Endpoint (ACE) which can be used to directly access the Kubernetes API server, without requiring communication through Rancher. For more information, please refer to Rancher Documentation.
    name string
    The name of the cluster.
    rkeConfig ClusterV2RkeConfig
    The RKE configuration for the cluster.
    kubernetes_version str
    The RKE2 or K3s version for the cluster.
    agent_env_vars Sequence[ClusterV2AgentEnvVarArgs]
    Agent env vars is a list of additional environment variables to be appended to the cattle-cluster-agent and fleet-agent deployment, and the plan for the system upgrade controller to upgrade nodes.
    annotations Mapping[str, str]
    Annotations for the Cluster.
    cloud_credential_secret_name str
    Cloud credential secret name is the secret to be used when a cloud credential secret name is not specified at the machine pool level.
    cluster_agent_deployment_customizations Sequence[ClusterV2ClusterAgentDeploymentCustomizationArgs]
    Cluster agent deployment customization specifies the additional tolerations, new affinity rules, and new resource requirements on the cattle-cluster-agent deployment. This argument is available in Rancher v2.7.5 and above.
    default_cluster_role_for_project_members str
    Default cluster role for project members.
    default_pod_security_admission_configuration_template_name str
    The name of the pre-defined pod security admission configuration template to be applied to the cluster. Rancher admins (or those with the right permissions) can create, manage, and edit those templates. For more information, please refer to Rancher Documentation. The argument is available in Rancher v2.7.2 and above.
    enable_network_policy bool
    Enable k8s network policy on the cluster.
    fleet_agent_deployment_customizations Sequence[ClusterV2FleetAgentDeploymentCustomizationArgs]
    Fleet agent deployment customization specifies the additional tolerations, new affinity rules, and new resource requirements on the fleet-agent deployment. The argument is available in Rancher v2.7.5 and above.
    fleet_namespace str
    Fleet namespace is the namespace where the cluster is to create in the local cluster. It is recommended to leave it as the default value.
    labels Mapping[str, str]
    Labels for the Cluster.
    local_auth_endpoint ClusterV2LocalAuthEndpointArgs
    Local auth endpoint configures the Authorized Cluster Endpoint (ACE) which can be used to directly access the Kubernetes API server, without requiring communication through Rancher. For more information, please refer to Rancher Documentation.
    name str
    The name of the cluster.
    rke_config ClusterV2RkeConfigArgs
    The RKE configuration for the cluster.
    kubernetesVersion String
    The RKE2 or K3s version for the cluster.
    agentEnvVars List<Property Map>
    Agent env vars is a list of additional environment variables to be appended to the cattle-cluster-agent and fleet-agent deployment, and the plan for the system upgrade controller to upgrade nodes.
    annotations Map<String>
    Annotations for the Cluster.
    cloudCredentialSecretName String
    Cloud credential secret name is the secret to be used when a cloud credential secret name is not specified at the machine pool level.
    clusterAgentDeploymentCustomizations List<Property Map>
    Cluster agent deployment customization specifies the additional tolerations, new affinity rules, and new resource requirements on the cattle-cluster-agent deployment. This argument is available in Rancher v2.7.5 and above.
    defaultClusterRoleForProjectMembers String
    Default cluster role for project members.
    defaultPodSecurityAdmissionConfigurationTemplateName String
    The name of the pre-defined pod security admission configuration template to be applied to the cluster. Rancher admins (or those with the right permissions) can create, manage, and edit those templates. For more information, please refer to Rancher Documentation. The argument is available in Rancher v2.7.2 and above.
    enableNetworkPolicy Boolean
    Enable k8s network policy on the cluster.
    fleetAgentDeploymentCustomizations List<Property Map>
    Fleet agent deployment customization specifies the additional tolerations, new affinity rules, and new resource requirements on the fleet-agent deployment. The argument is available in Rancher v2.7.5 and above.
    fleetNamespace String
    Fleet namespace is the namespace where the cluster is to create in the local cluster. It is recommended to leave it as the default value.
    labels Map<String>
    Labels for the Cluster.
    localAuthEndpoint Property Map
    Local auth endpoint configures the Authorized Cluster Endpoint (ACE) which can be used to directly access the Kubernetes API server, without requiring communication through Rancher. For more information, please refer to Rancher Documentation.
    name String
    The name of the cluster.
    rkeConfig Property Map
    The RKE configuration for the cluster.

    Outputs

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

    ClusterRegistrationToken ClusterV2ClusterRegistrationToken
    (Computed, sensitive, list, max length: 1) Cluster Registration Token generated for the cluster.
    ClusterV1Id string
    (Computed, string) Cluster v1 id for cluster v2. (e.g. to be used with rancher2_sync).
    Id string
    The provider-assigned unique ID for this managed resource.
    KubeConfig string
    (Computed/Sensitive) Kube Config generated for the cluster. Note: When the cluster has local_auth_endpoint enabled, the kube_config will not be available until the cluster is connected.
    ResourceVersion string
    (Computed, string) Cluster's k8s resource version.
    ClusterRegistrationToken ClusterV2ClusterRegistrationToken
    (Computed, sensitive, list, max length: 1) Cluster Registration Token generated for the cluster.
    ClusterV1Id string
    (Computed, string) Cluster v1 id for cluster v2. (e.g. to be used with rancher2_sync).
    Id string
    The provider-assigned unique ID for this managed resource.
    KubeConfig string
    (Computed/Sensitive) Kube Config generated for the cluster. Note: When the cluster has local_auth_endpoint enabled, the kube_config will not be available until the cluster is connected.
    ResourceVersion string
    (Computed, string) Cluster's k8s resource version.
    clusterRegistrationToken ClusterV2ClusterRegistrationToken
    (Computed, sensitive, list, max length: 1) Cluster Registration Token generated for the cluster.
    clusterV1Id String
    (Computed, string) Cluster v1 id for cluster v2. (e.g. to be used with rancher2_sync).
    id String
    The provider-assigned unique ID for this managed resource.
    kubeConfig String
    (Computed/Sensitive) Kube Config generated for the cluster. Note: When the cluster has local_auth_endpoint enabled, the kube_config will not be available until the cluster is connected.
    resourceVersion String
    (Computed, string) Cluster's k8s resource version.
    clusterRegistrationToken ClusterV2ClusterRegistrationToken
    (Computed, sensitive, list, max length: 1) Cluster Registration Token generated for the cluster.
    clusterV1Id string
    (Computed, string) Cluster v1 id for cluster v2. (e.g. to be used with rancher2_sync).
    id string
    The provider-assigned unique ID for this managed resource.
    kubeConfig string
    (Computed/Sensitive) Kube Config generated for the cluster. Note: When the cluster has local_auth_endpoint enabled, the kube_config will not be available until the cluster is connected.
    resourceVersion string
    (Computed, string) Cluster's k8s resource version.
    cluster_registration_token ClusterV2ClusterRegistrationToken
    (Computed, sensitive, list, max length: 1) Cluster Registration Token generated for the cluster.
    cluster_v1_id str
    (Computed, string) Cluster v1 id for cluster v2. (e.g. to be used with rancher2_sync).
    id str
    The provider-assigned unique ID for this managed resource.
    kube_config str
    (Computed/Sensitive) Kube Config generated for the cluster. Note: When the cluster has local_auth_endpoint enabled, the kube_config will not be available until the cluster is connected.
    resource_version str
    (Computed, string) Cluster's k8s resource version.
    clusterRegistrationToken Property Map
    (Computed, sensitive, list, max length: 1) Cluster Registration Token generated for the cluster.
    clusterV1Id String
    (Computed, string) Cluster v1 id for cluster v2. (e.g. to be used with rancher2_sync).
    id String
    The provider-assigned unique ID for this managed resource.
    kubeConfig String
    (Computed/Sensitive) Kube Config generated for the cluster. Note: When the cluster has local_auth_endpoint enabled, the kube_config will not be available until the cluster is connected.
    resourceVersion String
    (Computed, string) Cluster's k8s resource version.

    Look up Existing ClusterV2 Resource

    Get an existing ClusterV2 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?: ClusterV2State, opts?: CustomResourceOptions): ClusterV2
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            agent_env_vars: Optional[Sequence[ClusterV2AgentEnvVarArgs]] = None,
            annotations: Optional[Mapping[str, str]] = None,
            cloud_credential_secret_name: Optional[str] = None,
            cluster_agent_deployment_customizations: Optional[Sequence[ClusterV2ClusterAgentDeploymentCustomizationArgs]] = None,
            cluster_registration_token: Optional[ClusterV2ClusterRegistrationTokenArgs] = None,
            cluster_v1_id: Optional[str] = None,
            default_cluster_role_for_project_members: Optional[str] = None,
            default_pod_security_admission_configuration_template_name: Optional[str] = None,
            enable_network_policy: Optional[bool] = None,
            fleet_agent_deployment_customizations: Optional[Sequence[ClusterV2FleetAgentDeploymentCustomizationArgs]] = None,
            fleet_namespace: Optional[str] = None,
            kube_config: Optional[str] = None,
            kubernetes_version: Optional[str] = None,
            labels: Optional[Mapping[str, str]] = None,
            local_auth_endpoint: Optional[ClusterV2LocalAuthEndpointArgs] = None,
            name: Optional[str] = None,
            resource_version: Optional[str] = None,
            rke_config: Optional[ClusterV2RkeConfigArgs] = None) -> ClusterV2
    func GetClusterV2(ctx *Context, name string, id IDInput, state *ClusterV2State, opts ...ResourceOption) (*ClusterV2, error)
    public static ClusterV2 Get(string name, Input<string> id, ClusterV2State? state, CustomResourceOptions? opts = null)
    public static ClusterV2 get(String name, Output<String> id, ClusterV2State state, CustomResourceOptions options)
    resources:  _:    type: rancher2:ClusterV2    get:      id: ${id}
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    resource_name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    The following state arguments are supported:
    AgentEnvVars List<ClusterV2AgentEnvVar>
    Agent env vars is a list of additional environment variables to be appended to the cattle-cluster-agent and fleet-agent deployment, and the plan for the system upgrade controller to upgrade nodes.
    Annotations Dictionary<string, string>
    Annotations for the Cluster.
    CloudCredentialSecretName string
    Cloud credential secret name is the secret to be used when a cloud credential secret name is not specified at the machine pool level.
    ClusterAgentDeploymentCustomizations List<ClusterV2ClusterAgentDeploymentCustomization>
    Cluster agent deployment customization specifies the additional tolerations, new affinity rules, and new resource requirements on the cattle-cluster-agent deployment. This argument is available in Rancher v2.7.5 and above.
    ClusterRegistrationToken ClusterV2ClusterRegistrationToken
    (Computed, sensitive, list, max length: 1) Cluster Registration Token generated for the cluster.
    ClusterV1Id string
    (Computed, string) Cluster v1 id for cluster v2. (e.g. to be used with rancher2_sync).
    DefaultClusterRoleForProjectMembers string
    Default cluster role for project members.
    DefaultPodSecurityAdmissionConfigurationTemplateName string
    The name of the pre-defined pod security admission configuration template to be applied to the cluster. Rancher admins (or those with the right permissions) can create, manage, and edit those templates. For more information, please refer to Rancher Documentation. The argument is available in Rancher v2.7.2 and above.
    EnableNetworkPolicy bool
    Enable k8s network policy on the cluster.
    FleetAgentDeploymentCustomizations List<ClusterV2FleetAgentDeploymentCustomization>
    Fleet agent deployment customization specifies the additional tolerations, new affinity rules, and new resource requirements on the fleet-agent deployment. The argument is available in Rancher v2.7.5 and above.
    FleetNamespace string
    Fleet namespace is the namespace where the cluster is to create in the local cluster. It is recommended to leave it as the default value.
    KubeConfig string
    (Computed/Sensitive) Kube Config generated for the cluster. Note: When the cluster has local_auth_endpoint enabled, the kube_config will not be available until the cluster is connected.
    KubernetesVersion string
    The RKE2 or K3s version for the cluster.
    Labels Dictionary<string, string>
    Labels for the Cluster.
    LocalAuthEndpoint ClusterV2LocalAuthEndpoint
    Local auth endpoint configures the Authorized Cluster Endpoint (ACE) which can be used to directly access the Kubernetes API server, without requiring communication through Rancher. For more information, please refer to Rancher Documentation.
    Name string
    The name of the cluster.
    ResourceVersion string
    (Computed, string) Cluster's k8s resource version.
    RkeConfig ClusterV2RkeConfig
    The RKE configuration for the cluster.
    AgentEnvVars []ClusterV2AgentEnvVarArgs
    Agent env vars is a list of additional environment variables to be appended to the cattle-cluster-agent and fleet-agent deployment, and the plan for the system upgrade controller to upgrade nodes.
    Annotations map[string]string
    Annotations for the Cluster.
    CloudCredentialSecretName string
    Cloud credential secret name is the secret to be used when a cloud credential secret name is not specified at the machine pool level.
    ClusterAgentDeploymentCustomizations []ClusterV2ClusterAgentDeploymentCustomizationArgs
    Cluster agent deployment customization specifies the additional tolerations, new affinity rules, and new resource requirements on the cattle-cluster-agent deployment. This argument is available in Rancher v2.7.5 and above.
    ClusterRegistrationToken ClusterV2ClusterRegistrationTokenArgs
    (Computed, sensitive, list, max length: 1) Cluster Registration Token generated for the cluster.
    ClusterV1Id string
    (Computed, string) Cluster v1 id for cluster v2. (e.g. to be used with rancher2_sync).
    DefaultClusterRoleForProjectMembers string
    Default cluster role for project members.
    DefaultPodSecurityAdmissionConfigurationTemplateName string
    The name of the pre-defined pod security admission configuration template to be applied to the cluster. Rancher admins (or those with the right permissions) can create, manage, and edit those templates. For more information, please refer to Rancher Documentation. The argument is available in Rancher v2.7.2 and above.
    EnableNetworkPolicy bool
    Enable k8s network policy on the cluster.
    FleetAgentDeploymentCustomizations []ClusterV2FleetAgentDeploymentCustomizationArgs
    Fleet agent deployment customization specifies the additional tolerations, new affinity rules, and new resource requirements on the fleet-agent deployment. The argument is available in Rancher v2.7.5 and above.
    FleetNamespace string
    Fleet namespace is the namespace where the cluster is to create in the local cluster. It is recommended to leave it as the default value.
    KubeConfig string
    (Computed/Sensitive) Kube Config generated for the cluster. Note: When the cluster has local_auth_endpoint enabled, the kube_config will not be available until the cluster is connected.
    KubernetesVersion string
    The RKE2 or K3s version for the cluster.
    Labels map[string]string
    Labels for the Cluster.
    LocalAuthEndpoint ClusterV2LocalAuthEndpointArgs
    Local auth endpoint configures the Authorized Cluster Endpoint (ACE) which can be used to directly access the Kubernetes API server, without requiring communication through Rancher. For more information, please refer to Rancher Documentation.
    Name string
    The name of the cluster.
    ResourceVersion string
    (Computed, string) Cluster's k8s resource version.
    RkeConfig ClusterV2RkeConfigArgs
    The RKE configuration for the cluster.
    agentEnvVars List<ClusterV2AgentEnvVar>
    Agent env vars is a list of additional environment variables to be appended to the cattle-cluster-agent and fleet-agent deployment, and the plan for the system upgrade controller to upgrade nodes.
    annotations Map<String,String>
    Annotations for the Cluster.
    cloudCredentialSecretName String
    Cloud credential secret name is the secret to be used when a cloud credential secret name is not specified at the machine pool level.
    clusterAgentDeploymentCustomizations List<ClusterV2ClusterAgentDeploymentCustomization>
    Cluster agent deployment customization specifies the additional tolerations, new affinity rules, and new resource requirements on the cattle-cluster-agent deployment. This argument is available in Rancher v2.7.5 and above.
    clusterRegistrationToken ClusterV2ClusterRegistrationToken
    (Computed, sensitive, list, max length: 1) Cluster Registration Token generated for the cluster.
    clusterV1Id String
    (Computed, string) Cluster v1 id for cluster v2. (e.g. to be used with rancher2_sync).
    defaultClusterRoleForProjectMembers String
    Default cluster role for project members.
    defaultPodSecurityAdmissionConfigurationTemplateName String
    The name of the pre-defined pod security admission configuration template to be applied to the cluster. Rancher admins (or those with the right permissions) can create, manage, and edit those templates. For more information, please refer to Rancher Documentation. The argument is available in Rancher v2.7.2 and above.
    enableNetworkPolicy Boolean
    Enable k8s network policy on the cluster.
    fleetAgentDeploymentCustomizations List<ClusterV2FleetAgentDeploymentCustomization>
    Fleet agent deployment customization specifies the additional tolerations, new affinity rules, and new resource requirements on the fleet-agent deployment. The argument is available in Rancher v2.7.5 and above.
    fleetNamespace String
    Fleet namespace is the namespace where the cluster is to create in the local cluster. It is recommended to leave it as the default value.
    kubeConfig String
    (Computed/Sensitive) Kube Config generated for the cluster. Note: When the cluster has local_auth_endpoint enabled, the kube_config will not be available until the cluster is connected.
    kubernetesVersion String
    The RKE2 or K3s version for the cluster.
    labels Map<String,String>
    Labels for the Cluster.
    localAuthEndpoint ClusterV2LocalAuthEndpoint
    Local auth endpoint configures the Authorized Cluster Endpoint (ACE) which can be used to directly access the Kubernetes API server, without requiring communication through Rancher. For more information, please refer to Rancher Documentation.
    name String
    The name of the cluster.
    resourceVersion String
    (Computed, string) Cluster's k8s resource version.
    rkeConfig ClusterV2RkeConfig
    The RKE configuration for the cluster.
    agentEnvVars ClusterV2AgentEnvVar[]
    Agent env vars is a list of additional environment variables to be appended to the cattle-cluster-agent and fleet-agent deployment, and the plan for the system upgrade controller to upgrade nodes.
    annotations {[key: string]: string}
    Annotations for the Cluster.
    cloudCredentialSecretName string
    Cloud credential secret name is the secret to be used when a cloud credential secret name is not specified at the machine pool level.
    clusterAgentDeploymentCustomizations ClusterV2ClusterAgentDeploymentCustomization[]
    Cluster agent deployment customization specifies the additional tolerations, new affinity rules, and new resource requirements on the cattle-cluster-agent deployment. This argument is available in Rancher v2.7.5 and above.
    clusterRegistrationToken ClusterV2ClusterRegistrationToken
    (Computed, sensitive, list, max length: 1) Cluster Registration Token generated for the cluster.
    clusterV1Id string
    (Computed, string) Cluster v1 id for cluster v2. (e.g. to be used with rancher2_sync).
    defaultClusterRoleForProjectMembers string
    Default cluster role for project members.
    defaultPodSecurityAdmissionConfigurationTemplateName string
    The name of the pre-defined pod security admission configuration template to be applied to the cluster. Rancher admins (or those with the right permissions) can create, manage, and edit those templates. For more information, please refer to Rancher Documentation. The argument is available in Rancher v2.7.2 and above.
    enableNetworkPolicy boolean
    Enable k8s network policy on the cluster.
    fleetAgentDeploymentCustomizations ClusterV2FleetAgentDeploymentCustomization[]
    Fleet agent deployment customization specifies the additional tolerations, new affinity rules, and new resource requirements on the fleet-agent deployment. The argument is available in Rancher v2.7.5 and above.
    fleetNamespace string
    Fleet namespace is the namespace where the cluster is to create in the local cluster. It is recommended to leave it as the default value.
    kubeConfig string
    (Computed/Sensitive) Kube Config generated for the cluster. Note: When the cluster has local_auth_endpoint enabled, the kube_config will not be available until the cluster is connected.
    kubernetesVersion string
    The RKE2 or K3s version for the cluster.
    labels {[key: string]: string}
    Labels for the Cluster.
    localAuthEndpoint ClusterV2LocalAuthEndpoint
    Local auth endpoint configures the Authorized Cluster Endpoint (ACE) which can be used to directly access the Kubernetes API server, without requiring communication through Rancher. For more information, please refer to Rancher Documentation.
    name string
    The name of the cluster.
    resourceVersion string
    (Computed, string) Cluster's k8s resource version.
    rkeConfig ClusterV2RkeConfig
    The RKE configuration for the cluster.
    agent_env_vars Sequence[ClusterV2AgentEnvVarArgs]
    Agent env vars is a list of additional environment variables to be appended to the cattle-cluster-agent and fleet-agent deployment, and the plan for the system upgrade controller to upgrade nodes.
    annotations Mapping[str, str]
    Annotations for the Cluster.
    cloud_credential_secret_name str
    Cloud credential secret name is the secret to be used when a cloud credential secret name is not specified at the machine pool level.
    cluster_agent_deployment_customizations Sequence[ClusterV2ClusterAgentDeploymentCustomizationArgs]
    Cluster agent deployment customization specifies the additional tolerations, new affinity rules, and new resource requirements on the cattle-cluster-agent deployment. This argument is available in Rancher v2.7.5 and above.
    cluster_registration_token ClusterV2ClusterRegistrationTokenArgs
    (Computed, sensitive, list, max length: 1) Cluster Registration Token generated for the cluster.
    cluster_v1_id str
    (Computed, string) Cluster v1 id for cluster v2. (e.g. to be used with rancher2_sync).
    default_cluster_role_for_project_members str
    Default cluster role for project members.
    default_pod_security_admission_configuration_template_name str
    The name of the pre-defined pod security admission configuration template to be applied to the cluster. Rancher admins (or those with the right permissions) can create, manage, and edit those templates. For more information, please refer to Rancher Documentation. The argument is available in Rancher v2.7.2 and above.
    enable_network_policy bool
    Enable k8s network policy on the cluster.
    fleet_agent_deployment_customizations Sequence[ClusterV2FleetAgentDeploymentCustomizationArgs]
    Fleet agent deployment customization specifies the additional tolerations, new affinity rules, and new resource requirements on the fleet-agent deployment. The argument is available in Rancher v2.7.5 and above.
    fleet_namespace str
    Fleet namespace is the namespace where the cluster is to create in the local cluster. It is recommended to leave it as the default value.
    kube_config str
    (Computed/Sensitive) Kube Config generated for the cluster. Note: When the cluster has local_auth_endpoint enabled, the kube_config will not be available until the cluster is connected.
    kubernetes_version str
    The RKE2 or K3s version for the cluster.
    labels Mapping[str, str]
    Labels for the Cluster.
    local_auth_endpoint ClusterV2LocalAuthEndpointArgs
    Local auth endpoint configures the Authorized Cluster Endpoint (ACE) which can be used to directly access the Kubernetes API server, without requiring communication through Rancher. For more information, please refer to Rancher Documentation.
    name str
    The name of the cluster.
    resource_version str
    (Computed, string) Cluster's k8s resource version.
    rke_config ClusterV2RkeConfigArgs
    The RKE configuration for the cluster.
    agentEnvVars List<Property Map>
    Agent env vars is a list of additional environment variables to be appended to the cattle-cluster-agent and fleet-agent deployment, and the plan for the system upgrade controller to upgrade nodes.
    annotations Map<String>
    Annotations for the Cluster.
    cloudCredentialSecretName String
    Cloud credential secret name is the secret to be used when a cloud credential secret name is not specified at the machine pool level.
    clusterAgentDeploymentCustomizations List<Property Map>
    Cluster agent deployment customization specifies the additional tolerations, new affinity rules, and new resource requirements on the cattle-cluster-agent deployment. This argument is available in Rancher v2.7.5 and above.
    clusterRegistrationToken Property Map
    (Computed, sensitive, list, max length: 1) Cluster Registration Token generated for the cluster.
    clusterV1Id String
    (Computed, string) Cluster v1 id for cluster v2. (e.g. to be used with rancher2_sync).
    defaultClusterRoleForProjectMembers String
    Default cluster role for project members.
    defaultPodSecurityAdmissionConfigurationTemplateName String
    The name of the pre-defined pod security admission configuration template to be applied to the cluster. Rancher admins (or those with the right permissions) can create, manage, and edit those templates. For more information, please refer to Rancher Documentation. The argument is available in Rancher v2.7.2 and above.
    enableNetworkPolicy Boolean
    Enable k8s network policy on the cluster.
    fleetAgentDeploymentCustomizations List<Property Map>
    Fleet agent deployment customization specifies the additional tolerations, new affinity rules, and new resource requirements on the fleet-agent deployment. The argument is available in Rancher v2.7.5 and above.
    fleetNamespace String
    Fleet namespace is the namespace where the cluster is to create in the local cluster. It is recommended to leave it as the default value.
    kubeConfig String
    (Computed/Sensitive) Kube Config generated for the cluster. Note: When the cluster has local_auth_endpoint enabled, the kube_config will not be available until the cluster is connected.
    kubernetesVersion String
    The RKE2 or K3s version for the cluster.
    labels Map<String>
    Labels for the Cluster.
    localAuthEndpoint Property Map
    Local auth endpoint configures the Authorized Cluster Endpoint (ACE) which can be used to directly access the Kubernetes API server, without requiring communication through Rancher. For more information, please refer to Rancher Documentation.
    name String
    The name of the cluster.
    resourceVersion String
    (Computed, string) Cluster's k8s resource version.
    rkeConfig Property Map
    The RKE configuration for the cluster.

    Supporting Types

    ClusterV2AgentEnvVar, ClusterV2AgentEnvVarArgs

    Name string
    The name of the cluster.
    Value string
    The taint value.
    Name string
    The name of the cluster.
    Value string
    The taint value.
    name String
    The name of the cluster.
    value String
    The taint value.
    name string
    The name of the cluster.
    value string
    The taint value.
    name str
    The name of the cluster.
    value str
    The taint value.
    name String
    The name of the cluster.
    value String
    The taint value.

    ClusterV2ClusterAgentDeploymentCustomization, ClusterV2ClusterAgentDeploymentCustomizationArgs

    AppendTolerations List<ClusterV2ClusterAgentDeploymentCustomizationAppendToleration>
    User defined tolerations to append to agent
    OverrideAffinity string
    User defined affinity to override default agent affinity
    OverrideResourceRequirements List<ClusterV2ClusterAgentDeploymentCustomizationOverrideResourceRequirement>
    User defined resource requirements to set on the agent
    SchedulingCustomizations List<ClusterV2ClusterAgentDeploymentCustomizationSchedulingCustomization>
    User defined scheduling customization for the cattle cluster agent
    AppendTolerations []ClusterV2ClusterAgentDeploymentCustomizationAppendToleration
    User defined tolerations to append to agent
    OverrideAffinity string
    User defined affinity to override default agent affinity
    OverrideResourceRequirements []ClusterV2ClusterAgentDeploymentCustomizationOverrideResourceRequirement
    User defined resource requirements to set on the agent
    SchedulingCustomizations []ClusterV2ClusterAgentDeploymentCustomizationSchedulingCustomization
    User defined scheduling customization for the cattle cluster agent
    appendTolerations List<ClusterV2ClusterAgentDeploymentCustomizationAppendToleration>
    User defined tolerations to append to agent
    overrideAffinity String
    User defined affinity to override default agent affinity
    overrideResourceRequirements List<ClusterV2ClusterAgentDeploymentCustomizationOverrideResourceRequirement>
    User defined resource requirements to set on the agent
    schedulingCustomizations List<ClusterV2ClusterAgentDeploymentCustomizationSchedulingCustomization>
    User defined scheduling customization for the cattle cluster agent
    appendTolerations ClusterV2ClusterAgentDeploymentCustomizationAppendToleration[]
    User defined tolerations to append to agent
    overrideAffinity string
    User defined affinity to override default agent affinity
    overrideResourceRequirements ClusterV2ClusterAgentDeploymentCustomizationOverrideResourceRequirement[]
    User defined resource requirements to set on the agent
    schedulingCustomizations ClusterV2ClusterAgentDeploymentCustomizationSchedulingCustomization[]
    User defined scheduling customization for the cattle cluster agent
    append_tolerations Sequence[ClusterV2ClusterAgentDeploymentCustomizationAppendToleration]
    User defined tolerations to append to agent
    override_affinity str
    User defined affinity to override default agent affinity
    override_resource_requirements Sequence[ClusterV2ClusterAgentDeploymentCustomizationOverrideResourceRequirement]
    User defined resource requirements to set on the agent
    scheduling_customizations Sequence[ClusterV2ClusterAgentDeploymentCustomizationSchedulingCustomization]
    User defined scheduling customization for the cattle cluster agent
    appendTolerations List<Property Map>
    User defined tolerations to append to agent
    overrideAffinity String
    User defined affinity to override default agent affinity
    overrideResourceRequirements List<Property Map>
    User defined resource requirements to set on the agent
    schedulingCustomizations List<Property Map>
    User defined scheduling customization for the cattle cluster agent

    ClusterV2ClusterAgentDeploymentCustomizationAppendToleration, ClusterV2ClusterAgentDeploymentCustomizationAppendTolerationArgs

    Key string
    Key is the name of the key of the item to retrieve.
    Effect string
    The taint effect. Default: \"NoExecute\".
    Operator string
    Operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
    Seconds int
    The number of seconds a pod will stay bound to a node with a matching taint.
    Value string
    The taint value.
    Key string
    Key is the name of the key of the item to retrieve.
    Effect string
    The taint effect. Default: \"NoExecute\".
    Operator string
    Operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
    Seconds int
    The number of seconds a pod will stay bound to a node with a matching taint.
    Value string
    The taint value.
    key String
    Key is the name of the key of the item to retrieve.
    effect String
    The taint effect. Default: \"NoExecute\".
    operator String
    Operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
    seconds Integer
    The number of seconds a pod will stay bound to a node with a matching taint.
    value String
    The taint value.
    key string
    Key is the name of the key of the item to retrieve.
    effect string
    The taint effect. Default: \"NoExecute\".
    operator string
    Operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
    seconds number
    The number of seconds a pod will stay bound to a node with a matching taint.
    value string
    The taint value.
    key str
    Key is the name of the key of the item to retrieve.
    effect str
    The taint effect. Default: \"NoExecute\".
    operator str
    Operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
    seconds int
    The number of seconds a pod will stay bound to a node with a matching taint.
    value str
    The taint value.
    key String
    Key is the name of the key of the item to retrieve.
    effect String
    The taint effect. Default: \"NoExecute\".
    operator String
    Operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
    seconds Number
    The number of seconds a pod will stay bound to a node with a matching taint.
    value String
    The taint value.

    ClusterV2ClusterAgentDeploymentCustomizationOverrideResourceRequirement, ClusterV2ClusterAgentDeploymentCustomizationOverrideResourceRequirementArgs

    CpuLimit string
    The maximum CPU limit for agent
    CpuRequest string
    The minimum CPU required for agent
    MemoryLimit string
    The maximum memory limit for agent
    MemoryRequest string
    The minimum memory required for agent
    CpuLimit string
    The maximum CPU limit for agent
    CpuRequest string
    The minimum CPU required for agent
    MemoryLimit string
    The maximum memory limit for agent
    MemoryRequest string
    The minimum memory required for agent
    cpuLimit String
    The maximum CPU limit for agent
    cpuRequest String
    The minimum CPU required for agent
    memoryLimit String
    The maximum memory limit for agent
    memoryRequest String
    The minimum memory required for agent
    cpuLimit string
    The maximum CPU limit for agent
    cpuRequest string
    The minimum CPU required for agent
    memoryLimit string
    The maximum memory limit for agent
    memoryRequest string
    The minimum memory required for agent
    cpu_limit str
    The maximum CPU limit for agent
    cpu_request str
    The minimum CPU required for agent
    memory_limit str
    The maximum memory limit for agent
    memory_request str
    The minimum memory required for agent
    cpuLimit String
    The maximum CPU limit for agent
    cpuRequest String
    The minimum CPU required for agent
    memoryLimit String
    The maximum memory limit for agent
    memoryRequest String
    The minimum memory required for agent

    ClusterV2ClusterAgentDeploymentCustomizationSchedulingCustomization, ClusterV2ClusterAgentDeploymentCustomizationSchedulingCustomizationArgs

    podDisruptionBudgets List<Property Map>
    The Pod Disruption Budget created for the cattle cluster agent
    priorityClasses List<Property Map>
    The Priority Class created for the cattle cluster agent

    ClusterV2ClusterAgentDeploymentCustomizationSchedulingCustomizationPodDisruptionBudget, ClusterV2ClusterAgentDeploymentCustomizationSchedulingCustomizationPodDisruptionBudgetArgs

    MaxUnavailable string
    The maximum number of cattle cluster agent replicas that can be down at a given time.
    MinAvailable string
    The minimum number of cattle cluster agent replicas that must be running at a given time.
    MaxUnavailable string
    The maximum number of cattle cluster agent replicas that can be down at a given time.
    MinAvailable string
    The minimum number of cattle cluster agent replicas that must be running at a given time.
    maxUnavailable String
    The maximum number of cattle cluster agent replicas that can be down at a given time.
    minAvailable String
    The minimum number of cattle cluster agent replicas that must be running at a given time.
    maxUnavailable string
    The maximum number of cattle cluster agent replicas that can be down at a given time.
    minAvailable string
    The minimum number of cattle cluster agent replicas that must be running at a given time.
    max_unavailable str
    The maximum number of cattle cluster agent replicas that can be down at a given time.
    min_available str
    The minimum number of cattle cluster agent replicas that must be running at a given time.
    maxUnavailable String
    The maximum number of cattle cluster agent replicas that can be down at a given time.
    minAvailable String
    The minimum number of cattle cluster agent replicas that must be running at a given time.

    ClusterV2ClusterAgentDeploymentCustomizationSchedulingCustomizationPriorityClass, ClusterV2ClusterAgentDeploymentCustomizationSchedulingCustomizationPriorityClassArgs

    Value int
    The priority value for the cattle cluster agent. Must be between negative 1 billion and 1 billion.
    PreemptionPolicy string
    The preemption behavior for the cattle cluster agent. Must be either 'PreemptLowerPriority' or 'Never'
    Value int
    The priority value for the cattle cluster agent. Must be between negative 1 billion and 1 billion.
    PreemptionPolicy string
    The preemption behavior for the cattle cluster agent. Must be either 'PreemptLowerPriority' or 'Never'
    value Integer
    The priority value for the cattle cluster agent. Must be between negative 1 billion and 1 billion.
    preemptionPolicy String
    The preemption behavior for the cattle cluster agent. Must be either 'PreemptLowerPriority' or 'Never'
    value number
    The priority value for the cattle cluster agent. Must be between negative 1 billion and 1 billion.
    preemptionPolicy string
    The preemption behavior for the cattle cluster agent. Must be either 'PreemptLowerPriority' or 'Never'
    value int
    The priority value for the cattle cluster agent. Must be between negative 1 billion and 1 billion.
    preemption_policy str
    The preemption behavior for the cattle cluster agent. Must be either 'PreemptLowerPriority' or 'Never'
    value Number
    The priority value for the cattle cluster agent. Must be between negative 1 billion and 1 billion.
    preemptionPolicy String
    The preemption behavior for the cattle cluster agent. Must be either 'PreemptLowerPriority' or 'Never'

    ClusterV2ClusterRegistrationToken, ClusterV2ClusterRegistrationTokenArgs

    Annotations Dictionary<string, string>
    Annotations for the Cluster.
    ClusterId string
    Cluster ID.
    Command string
    Command to execute in an imported k8s cluster.
    Id string
    (Computed, string) The ID of the resource.
    InsecureCommand string
    Insecure command to execute in an imported k8s cluster.
    InsecureNodeCommand string
    Insecure node command to execute in an imported k8s cluster.
    InsecureWindowsNodeCommand string
    Insecure windows command to execute in an imported k8s cluster.
    Labels Dictionary<string, string>
    Labels for the Cluster.
    ManifestUrl string
    K8s manifest url to execute with kubectl to import an existing k8s cluster.
    Name string
    The name of the cluster.
    NodeCommand string
    Node command to execute in Linux nodes for custom k8s cluster.
    Token string
    Token for cluster registration token object.
    WindowsNodeCommand string
    Node command to execute in Windows nodes for custom k8s cluster.
    Annotations map[string]string
    Annotations for the Cluster.
    ClusterId string
    Cluster ID.
    Command string
    Command to execute in an imported k8s cluster.
    Id string
    (Computed, string) The ID of the resource.
    InsecureCommand string
    Insecure command to execute in an imported k8s cluster.
    InsecureNodeCommand string
    Insecure node command to execute in an imported k8s cluster.
    InsecureWindowsNodeCommand string
    Insecure windows command to execute in an imported k8s cluster.
    Labels map[string]string
    Labels for the Cluster.
    ManifestUrl string
    K8s manifest url to execute with kubectl to import an existing k8s cluster.
    Name string
    The name of the cluster.
    NodeCommand string
    Node command to execute in Linux nodes for custom k8s cluster.
    Token string
    Token for cluster registration token object.
    WindowsNodeCommand string
    Node command to execute in Windows nodes for custom k8s cluster.
    annotations Map<String,String>
    Annotations for the Cluster.
    clusterId String
    Cluster ID.
    command String
    Command to execute in an imported k8s cluster.
    id String
    (Computed, string) The ID of the resource.
    insecureCommand String
    Insecure command to execute in an imported k8s cluster.
    insecureNodeCommand String
    Insecure node command to execute in an imported k8s cluster.
    insecureWindowsNodeCommand String
    Insecure windows command to execute in an imported k8s cluster.
    labels Map<String,String>
    Labels for the Cluster.
    manifestUrl String
    K8s manifest url to execute with kubectl to import an existing k8s cluster.
    name String
    The name of the cluster.
    nodeCommand String
    Node command to execute in Linux nodes for custom k8s cluster.
    token String
    Token for cluster registration token object.
    windowsNodeCommand String
    Node command to execute in Windows nodes for custom k8s cluster.
    annotations {[key: string]: string}
    Annotations for the Cluster.
    clusterId string
    Cluster ID.
    command string
    Command to execute in an imported k8s cluster.
    id string
    (Computed, string) The ID of the resource.
    insecureCommand string
    Insecure command to execute in an imported k8s cluster.
    insecureNodeCommand string
    Insecure node command to execute in an imported k8s cluster.
    insecureWindowsNodeCommand string
    Insecure windows command to execute in an imported k8s cluster.
    labels {[key: string]: string}
    Labels for the Cluster.
    manifestUrl string
    K8s manifest url to execute with kubectl to import an existing k8s cluster.
    name string
    The name of the cluster.
    nodeCommand string
    Node command to execute in Linux nodes for custom k8s cluster.
    token string
    Token for cluster registration token object.
    windowsNodeCommand string
    Node command to execute in Windows nodes for custom k8s cluster.
    annotations Mapping[str, str]
    Annotations for the Cluster.
    cluster_id str
    Cluster ID.
    command str
    Command to execute in an imported k8s cluster.
    id str
    (Computed, string) The ID of the resource.
    insecure_command str
    Insecure command to execute in an imported k8s cluster.
    insecure_node_command str
    Insecure node command to execute in an imported k8s cluster.
    insecure_windows_node_command str
    Insecure windows command to execute in an imported k8s cluster.
    labels Mapping[str, str]
    Labels for the Cluster.
    manifest_url str
    K8s manifest url to execute with kubectl to import an existing k8s cluster.
    name str
    The name of the cluster.
    node_command str
    Node command to execute in Linux nodes for custom k8s cluster.
    token str
    Token for cluster registration token object.
    windows_node_command str
    Node command to execute in Windows nodes for custom k8s cluster.
    annotations Map<String>
    Annotations for the Cluster.
    clusterId String
    Cluster ID.
    command String
    Command to execute in an imported k8s cluster.
    id String
    (Computed, string) The ID of the resource.
    insecureCommand String
    Insecure command to execute in an imported k8s cluster.
    insecureNodeCommand String
    Insecure node command to execute in an imported k8s cluster.
    insecureWindowsNodeCommand String
    Insecure windows command to execute in an imported k8s cluster.
    labels Map<String>
    Labels for the Cluster.
    manifestUrl String
    K8s manifest url to execute with kubectl to import an existing k8s cluster.
    name String
    The name of the cluster.
    nodeCommand String
    Node command to execute in Linux nodes for custom k8s cluster.
    token String
    Token for cluster registration token object.
    windowsNodeCommand String
    Node command to execute in Windows nodes for custom k8s cluster.

    ClusterV2FleetAgentDeploymentCustomization, ClusterV2FleetAgentDeploymentCustomizationArgs

    AppendTolerations List<ClusterV2FleetAgentDeploymentCustomizationAppendToleration>
    User defined tolerations to append to agent
    OverrideAffinity string
    User defined affinity to override default agent affinity
    OverrideResourceRequirements List<ClusterV2FleetAgentDeploymentCustomizationOverrideResourceRequirement>
    User defined resource requirements to set on the agent
    AppendTolerations []ClusterV2FleetAgentDeploymentCustomizationAppendToleration
    User defined tolerations to append to agent
    OverrideAffinity string
    User defined affinity to override default agent affinity
    OverrideResourceRequirements []ClusterV2FleetAgentDeploymentCustomizationOverrideResourceRequirement
    User defined resource requirements to set on the agent
    appendTolerations List<ClusterV2FleetAgentDeploymentCustomizationAppendToleration>
    User defined tolerations to append to agent
    overrideAffinity String
    User defined affinity to override default agent affinity
    overrideResourceRequirements List<ClusterV2FleetAgentDeploymentCustomizationOverrideResourceRequirement>
    User defined resource requirements to set on the agent
    appendTolerations ClusterV2FleetAgentDeploymentCustomizationAppendToleration[]
    User defined tolerations to append to agent
    overrideAffinity string
    User defined affinity to override default agent affinity
    overrideResourceRequirements ClusterV2FleetAgentDeploymentCustomizationOverrideResourceRequirement[]
    User defined resource requirements to set on the agent
    append_tolerations Sequence[ClusterV2FleetAgentDeploymentCustomizationAppendToleration]
    User defined tolerations to append to agent
    override_affinity str
    User defined affinity to override default agent affinity
    override_resource_requirements Sequence[ClusterV2FleetAgentDeploymentCustomizationOverrideResourceRequirement]
    User defined resource requirements to set on the agent
    appendTolerations List<Property Map>
    User defined tolerations to append to agent
    overrideAffinity String
    User defined affinity to override default agent affinity
    overrideResourceRequirements List<Property Map>
    User defined resource requirements to set on the agent

    ClusterV2FleetAgentDeploymentCustomizationAppendToleration, ClusterV2FleetAgentDeploymentCustomizationAppendTolerationArgs

    Key string
    Key is the name of the key of the item to retrieve.
    Effect string
    The taint effect. Default: \"NoExecute\".
    Operator string
    Operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
    Seconds int
    The number of seconds a pod will stay bound to a node with a matching taint.
    Value string
    The taint value.
    Key string
    Key is the name of the key of the item to retrieve.
    Effect string
    The taint effect. Default: \"NoExecute\".
    Operator string
    Operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
    Seconds int
    The number of seconds a pod will stay bound to a node with a matching taint.
    Value string
    The taint value.
    key String
    Key is the name of the key of the item to retrieve.
    effect String
    The taint effect. Default: \"NoExecute\".
    operator String
    Operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
    seconds Integer
    The number of seconds a pod will stay bound to a node with a matching taint.
    value String
    The taint value.
    key string
    Key is the name of the key of the item to retrieve.
    effect string
    The taint effect. Default: \"NoExecute\".
    operator string
    Operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
    seconds number
    The number of seconds a pod will stay bound to a node with a matching taint.
    value string
    The taint value.
    key str
    Key is the name of the key of the item to retrieve.
    effect str
    The taint effect. Default: \"NoExecute\".
    operator str
    Operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
    seconds int
    The number of seconds a pod will stay bound to a node with a matching taint.
    value str
    The taint value.
    key String
    Key is the name of the key of the item to retrieve.
    effect String
    The taint effect. Default: \"NoExecute\".
    operator String
    Operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
    seconds Number
    The number of seconds a pod will stay bound to a node with a matching taint.
    value String
    The taint value.

    ClusterV2FleetAgentDeploymentCustomizationOverrideResourceRequirement, ClusterV2FleetAgentDeploymentCustomizationOverrideResourceRequirementArgs

    CpuLimit string
    The maximum CPU limit for agent
    CpuRequest string
    The minimum CPU required for agent
    MemoryLimit string
    The maximum memory limit for agent
    MemoryRequest string
    The minimum memory required for agent
    CpuLimit string
    The maximum CPU limit for agent
    CpuRequest string
    The minimum CPU required for agent
    MemoryLimit string
    The maximum memory limit for agent
    MemoryRequest string
    The minimum memory required for agent
    cpuLimit String
    The maximum CPU limit for agent
    cpuRequest String
    The minimum CPU required for agent
    memoryLimit String
    The maximum memory limit for agent
    memoryRequest String
    The minimum memory required for agent
    cpuLimit string
    The maximum CPU limit for agent
    cpuRequest string
    The minimum CPU required for agent
    memoryLimit string
    The maximum memory limit for agent
    memoryRequest string
    The minimum memory required for agent
    cpu_limit str
    The maximum CPU limit for agent
    cpu_request str
    The minimum CPU required for agent
    memory_limit str
    The maximum memory limit for agent
    memory_request str
    The minimum memory required for agent
    cpuLimit String
    The maximum CPU limit for agent
    cpuRequest String
    The minimum CPU required for agent
    memoryLimit String
    The maximum memory limit for agent
    memoryRequest String
    The minimum memory required for agent

    ClusterV2LocalAuthEndpoint, ClusterV2LocalAuthEndpointArgs

    CaCerts string
    CA certs for the authorized cluster endpoint. It is only needed if there is a load balancer in front of the downstream cluster that is using an untrusted certificate. If you have a valid certificate, then nothing needs to be added to the CA Certificates field.
    Enabled bool
    If enabled is set to true, nodes will be drained before upgrade.
    Fqdn string
    FQDN for the authorized cluster endpoint. If one is entered, it should point to the downstream cluster.
    CaCerts string
    CA certs for the authorized cluster endpoint. It is only needed if there is a load balancer in front of the downstream cluster that is using an untrusted certificate. If you have a valid certificate, then nothing needs to be added to the CA Certificates field.
    Enabled bool
    If enabled is set to true, nodes will be drained before upgrade.
    Fqdn string
    FQDN for the authorized cluster endpoint. If one is entered, it should point to the downstream cluster.
    caCerts String
    CA certs for the authorized cluster endpoint. It is only needed if there is a load balancer in front of the downstream cluster that is using an untrusted certificate. If you have a valid certificate, then nothing needs to be added to the CA Certificates field.
    enabled Boolean
    If enabled is set to true, nodes will be drained before upgrade.
    fqdn String
    FQDN for the authorized cluster endpoint. If one is entered, it should point to the downstream cluster.
    caCerts string
    CA certs for the authorized cluster endpoint. It is only needed if there is a load balancer in front of the downstream cluster that is using an untrusted certificate. If you have a valid certificate, then nothing needs to be added to the CA Certificates field.
    enabled boolean
    If enabled is set to true, nodes will be drained before upgrade.
    fqdn string
    FQDN for the authorized cluster endpoint. If one is entered, it should point to the downstream cluster.
    ca_certs str
    CA certs for the authorized cluster endpoint. It is only needed if there is a load balancer in front of the downstream cluster that is using an untrusted certificate. If you have a valid certificate, then nothing needs to be added to the CA Certificates field.
    enabled bool
    If enabled is set to true, nodes will be drained before upgrade.
    fqdn str
    FQDN for the authorized cluster endpoint. If one is entered, it should point to the downstream cluster.
    caCerts String
    CA certs for the authorized cluster endpoint. It is only needed if there is a load balancer in front of the downstream cluster that is using an untrusted certificate. If you have a valid certificate, then nothing needs to be added to the CA Certificates field.
    enabled Boolean
    If enabled is set to true, nodes will be drained before upgrade.
    fqdn String
    FQDN for the authorized cluster endpoint. If one is entered, it should point to the downstream cluster.

    ClusterV2RkeConfig, ClusterV2RkeConfigArgs

    AdditionalManifest string
    Cluster V2 additional manifest
    ChartValues string
    Cluster V2 chart values. It should be in YAML format
    DataDirectories List<ClusterV2RkeConfigDataDirectory>
    Cluster V2 data directories
    Etcd ClusterV2RkeConfigEtcd
    Cluster V2 etcd
    EtcdSnapshotCreate ClusterV2RkeConfigEtcdSnapshotCreate
    Cluster V2 etcd snapshot create
    EtcdSnapshotRestore ClusterV2RkeConfigEtcdSnapshotRestore
    Cluster V2 etcd snapshot restore
    LocalAuthEndpoint ClusterV2RkeConfigLocalAuthEndpoint
    Local auth endpoint configures the Authorized Cluster Endpoint (ACE) which can be used to directly access the Kubernetes API server, without requiring communication through Rancher. For more information, please refer to Rancher Documentation.

    Deprecated: Use rancher2_cluster_v2.local_auth_endpoint instead

    MachineGlobalConfig string
    Cluster V2 machine global config
    MachinePoolDefaults List<ClusterV2RkeConfigMachinePoolDefault>
    Default values for machine pool configurations if unset
    MachinePools List<ClusterV2RkeConfigMachinePool>
    Cluster V2 machine pools
    MachineSelectorConfigs List<ClusterV2RkeConfigMachineSelectorConfig>
    Cluster V2 machine selector config
    MachineSelectorFiles List<ClusterV2RkeConfigMachineSelectorFile>
    Cluster V2 machine selector files
    Networking ClusterV2RkeConfigNetworking
    Cluster V2 networking
    Registries ClusterV2RkeConfigRegistries
    Cluster V2 registries
    RotateCertificates ClusterV2RkeConfigRotateCertificates
    Cluster V2 certificate rotation
    UpgradeStrategy ClusterV2RkeConfigUpgradeStrategy
    Cluster V2 upgrade strategy
    AdditionalManifest string
    Cluster V2 additional manifest
    ChartValues string
    Cluster V2 chart values. It should be in YAML format
    DataDirectories []ClusterV2RkeConfigDataDirectory
    Cluster V2 data directories
    Etcd ClusterV2RkeConfigEtcd
    Cluster V2 etcd
    EtcdSnapshotCreate ClusterV2RkeConfigEtcdSnapshotCreate
    Cluster V2 etcd snapshot create
    EtcdSnapshotRestore ClusterV2RkeConfigEtcdSnapshotRestore
    Cluster V2 etcd snapshot restore
    LocalAuthEndpoint ClusterV2RkeConfigLocalAuthEndpoint
    Local auth endpoint configures the Authorized Cluster Endpoint (ACE) which can be used to directly access the Kubernetes API server, without requiring communication through Rancher. For more information, please refer to Rancher Documentation.

    Deprecated: Use rancher2_cluster_v2.local_auth_endpoint instead

    MachineGlobalConfig string
    Cluster V2 machine global config
    MachinePoolDefaults []ClusterV2RkeConfigMachinePoolDefault
    Default values for machine pool configurations if unset
    MachinePools []ClusterV2RkeConfigMachinePool
    Cluster V2 machine pools
    MachineSelectorConfigs []ClusterV2RkeConfigMachineSelectorConfig
    Cluster V2 machine selector config
    MachineSelectorFiles []ClusterV2RkeConfigMachineSelectorFile
    Cluster V2 machine selector files
    Networking ClusterV2RkeConfigNetworking
    Cluster V2 networking
    Registries ClusterV2RkeConfigRegistries
    Cluster V2 registries
    RotateCertificates ClusterV2RkeConfigRotateCertificates
    Cluster V2 certificate rotation
    UpgradeStrategy ClusterV2RkeConfigUpgradeStrategy
    Cluster V2 upgrade strategy
    additionalManifest String
    Cluster V2 additional manifest
    chartValues String
    Cluster V2 chart values. It should be in YAML format
    dataDirectories List<ClusterV2RkeConfigDataDirectory>
    Cluster V2 data directories
    etcd ClusterV2RkeConfigEtcd
    Cluster V2 etcd
    etcdSnapshotCreate ClusterV2RkeConfigEtcdSnapshotCreate
    Cluster V2 etcd snapshot create
    etcdSnapshotRestore ClusterV2RkeConfigEtcdSnapshotRestore
    Cluster V2 etcd snapshot restore
    localAuthEndpoint ClusterV2RkeConfigLocalAuthEndpoint
    Local auth endpoint configures the Authorized Cluster Endpoint (ACE) which can be used to directly access the Kubernetes API server, without requiring communication through Rancher. For more information, please refer to Rancher Documentation.

    Deprecated: Use rancher2_cluster_v2.local_auth_endpoint instead

    machineGlobalConfig String
    Cluster V2 machine global config
    machinePoolDefaults List<ClusterV2RkeConfigMachinePoolDefault>
    Default values for machine pool configurations if unset
    machinePools List<ClusterV2RkeConfigMachinePool>
    Cluster V2 machine pools
    machineSelectorConfigs List<ClusterV2RkeConfigMachineSelectorConfig>
    Cluster V2 machine selector config
    machineSelectorFiles List<ClusterV2RkeConfigMachineSelectorFile>
    Cluster V2 machine selector files
    networking ClusterV2RkeConfigNetworking
    Cluster V2 networking
    registries ClusterV2RkeConfigRegistries
    Cluster V2 registries
    rotateCertificates ClusterV2RkeConfigRotateCertificates
    Cluster V2 certificate rotation
    upgradeStrategy ClusterV2RkeConfigUpgradeStrategy
    Cluster V2 upgrade strategy
    additionalManifest string
    Cluster V2 additional manifest
    chartValues string
    Cluster V2 chart values. It should be in YAML format
    dataDirectories ClusterV2RkeConfigDataDirectory[]
    Cluster V2 data directories
    etcd ClusterV2RkeConfigEtcd
    Cluster V2 etcd
    etcdSnapshotCreate ClusterV2RkeConfigEtcdSnapshotCreate
    Cluster V2 etcd snapshot create
    etcdSnapshotRestore ClusterV2RkeConfigEtcdSnapshotRestore
    Cluster V2 etcd snapshot restore
    localAuthEndpoint ClusterV2RkeConfigLocalAuthEndpoint
    Local auth endpoint configures the Authorized Cluster Endpoint (ACE) which can be used to directly access the Kubernetes API server, without requiring communication through Rancher. For more information, please refer to Rancher Documentation.

    Deprecated: Use rancher2_cluster_v2.local_auth_endpoint instead

    machineGlobalConfig string
    Cluster V2 machine global config
    machinePoolDefaults ClusterV2RkeConfigMachinePoolDefault[]
    Default values for machine pool configurations if unset
    machinePools ClusterV2RkeConfigMachinePool[]
    Cluster V2 machine pools
    machineSelectorConfigs ClusterV2RkeConfigMachineSelectorConfig[]
    Cluster V2 machine selector config
    machineSelectorFiles ClusterV2RkeConfigMachineSelectorFile[]
    Cluster V2 machine selector files
    networking ClusterV2RkeConfigNetworking
    Cluster V2 networking
    registries ClusterV2RkeConfigRegistries
    Cluster V2 registries
    rotateCertificates ClusterV2RkeConfigRotateCertificates
    Cluster V2 certificate rotation
    upgradeStrategy ClusterV2RkeConfigUpgradeStrategy
    Cluster V2 upgrade strategy
    additional_manifest str
    Cluster V2 additional manifest
    chart_values str
    Cluster V2 chart values. It should be in YAML format
    data_directories Sequence[ClusterV2RkeConfigDataDirectory]
    Cluster V2 data directories
    etcd ClusterV2RkeConfigEtcd
    Cluster V2 etcd
    etcd_snapshot_create ClusterV2RkeConfigEtcdSnapshotCreate
    Cluster V2 etcd snapshot create
    etcd_snapshot_restore ClusterV2RkeConfigEtcdSnapshotRestore
    Cluster V2 etcd snapshot restore
    local_auth_endpoint ClusterV2RkeConfigLocalAuthEndpoint
    Local auth endpoint configures the Authorized Cluster Endpoint (ACE) which can be used to directly access the Kubernetes API server, without requiring communication through Rancher. For more information, please refer to Rancher Documentation.

    Deprecated: Use rancher2_cluster_v2.local_auth_endpoint instead

    machine_global_config str
    Cluster V2 machine global config
    machine_pool_defaults Sequence[ClusterV2RkeConfigMachinePoolDefault]
    Default values for machine pool configurations if unset
    machine_pools Sequence[ClusterV2RkeConfigMachinePool]
    Cluster V2 machine pools
    machine_selector_configs Sequence[ClusterV2RkeConfigMachineSelectorConfig]
    Cluster V2 machine selector config
    machine_selector_files Sequence[ClusterV2RkeConfigMachineSelectorFile]
    Cluster V2 machine selector files
    networking ClusterV2RkeConfigNetworking
    Cluster V2 networking
    registries ClusterV2RkeConfigRegistries
    Cluster V2 registries
    rotate_certificates ClusterV2RkeConfigRotateCertificates
    Cluster V2 certificate rotation
    upgrade_strategy ClusterV2RkeConfigUpgradeStrategy
    Cluster V2 upgrade strategy
    additionalManifest String
    Cluster V2 additional manifest
    chartValues String
    Cluster V2 chart values. It should be in YAML format
    dataDirectories List<Property Map>
    Cluster V2 data directories
    etcd Property Map
    Cluster V2 etcd
    etcdSnapshotCreate Property Map
    Cluster V2 etcd snapshot create
    etcdSnapshotRestore Property Map
    Cluster V2 etcd snapshot restore
    localAuthEndpoint Property Map
    Local auth endpoint configures the Authorized Cluster Endpoint (ACE) which can be used to directly access the Kubernetes API server, without requiring communication through Rancher. For more information, please refer to Rancher Documentation.

    Deprecated: Use rancher2_cluster_v2.local_auth_endpoint instead

    machineGlobalConfig String
    Cluster V2 machine global config
    machinePoolDefaults List<Property Map>
    Default values for machine pool configurations if unset
    machinePools List<Property Map>
    Cluster V2 machine pools
    machineSelectorConfigs List<Property Map>
    Cluster V2 machine selector config
    machineSelectorFiles List<Property Map>
    Cluster V2 machine selector files
    networking Property Map
    Cluster V2 networking
    registries Property Map
    Cluster V2 registries
    rotateCertificates Property Map
    Cluster V2 certificate rotation
    upgradeStrategy Property Map
    Cluster V2 upgrade strategy

    ClusterV2RkeConfigDataDirectory, ClusterV2RkeConfigDataDirectoryArgs

    K8sDistro string
    Desired k8s distro data directory.
    Provisioning string
    Desired provisioning data directory.
    SystemAgent string
    Desired System Agent data directory.
    K8sDistro string
    Desired k8s distro data directory.
    Provisioning string
    Desired provisioning data directory.
    SystemAgent string
    Desired System Agent data directory.
    k8sDistro String
    Desired k8s distro data directory.
    provisioning String
    Desired provisioning data directory.
    systemAgent String
    Desired System Agent data directory.
    k8sDistro string
    Desired k8s distro data directory.
    provisioning string
    Desired provisioning data directory.
    systemAgent string
    Desired System Agent data directory.
    k8s_distro str
    Desired k8s distro data directory.
    provisioning str
    Desired provisioning data directory.
    system_agent str
    Desired System Agent data directory.
    k8sDistro String
    Desired k8s distro data directory.
    provisioning String
    Desired provisioning data directory.
    systemAgent String
    Desired System Agent data directory.

    ClusterV2RkeConfigEtcd, ClusterV2RkeConfigEtcdArgs

    DisableSnapshots bool
    Disable ETCD snapshots
    S3Config ClusterV2RkeConfigEtcdS3Config
    ETCD snapshot S3 config
    SnapshotRetention int
    ETCD snapshot retention
    SnapshotScheduleCron string
    ETCD snapshot schedule cron (e.g "0 */5 * * *")
    DisableSnapshots bool
    Disable ETCD snapshots
    S3Config ClusterV2RkeConfigEtcdS3Config
    ETCD snapshot S3 config
    SnapshotRetention int
    ETCD snapshot retention
    SnapshotScheduleCron string
    ETCD snapshot schedule cron (e.g "0 */5 * * *")
    disableSnapshots Boolean
    Disable ETCD snapshots
    s3Config ClusterV2RkeConfigEtcdS3Config
    ETCD snapshot S3 config
    snapshotRetention Integer
    ETCD snapshot retention
    snapshotScheduleCron String
    ETCD snapshot schedule cron (e.g "0 */5 * * *")
    disableSnapshots boolean
    Disable ETCD snapshots
    s3Config ClusterV2RkeConfigEtcdS3Config
    ETCD snapshot S3 config
    snapshotRetention number
    ETCD snapshot retention
    snapshotScheduleCron string
    ETCD snapshot schedule cron (e.g "0 */5 * * *")
    disable_snapshots bool
    Disable ETCD snapshots
    s3_config ClusterV2RkeConfigEtcdS3Config
    ETCD snapshot S3 config
    snapshot_retention int
    ETCD snapshot retention
    snapshot_schedule_cron str
    ETCD snapshot schedule cron (e.g "0 */5 * * *")
    disableSnapshots Boolean
    Disable ETCD snapshots
    s3Config Property Map
    ETCD snapshot S3 config
    snapshotRetention Number
    ETCD snapshot retention
    snapshotScheduleCron String
    ETCD snapshot schedule cron (e.g "0 */5 * * *")

    ClusterV2RkeConfigEtcdS3Config, ClusterV2RkeConfigEtcdS3ConfigArgs

    Bucket string
    ETCD snapshot S3 bucket
    Endpoint string
    ETCD snapshot S3 endpoint
    CloudCredentialName string
    ETCD snapshot S3 cloud credential name
    EndpointCa string
    ETCD snapshot S3 endpoint CA
    Folder string
    ETCD snapshot S3 folder
    Region string
    ETCD snapshot S3 region
    SkipSslVerify bool
    Disable ETCD skip ssl verify
    Bucket string
    ETCD snapshot S3 bucket
    Endpoint string
    ETCD snapshot S3 endpoint
    CloudCredentialName string
    ETCD snapshot S3 cloud credential name
    EndpointCa string
    ETCD snapshot S3 endpoint CA
    Folder string
    ETCD snapshot S3 folder
    Region string
    ETCD snapshot S3 region
    SkipSslVerify bool
    Disable ETCD skip ssl verify
    bucket String
    ETCD snapshot S3 bucket
    endpoint String
    ETCD snapshot S3 endpoint
    cloudCredentialName String
    ETCD snapshot S3 cloud credential name
    endpointCa String
    ETCD snapshot S3 endpoint CA
    folder String
    ETCD snapshot S3 folder
    region String
    ETCD snapshot S3 region
    skipSslVerify Boolean
    Disable ETCD skip ssl verify
    bucket string
    ETCD snapshot S3 bucket
    endpoint string
    ETCD snapshot S3 endpoint
    cloudCredentialName string
    ETCD snapshot S3 cloud credential name
    endpointCa string
    ETCD snapshot S3 endpoint CA
    folder string
    ETCD snapshot S3 folder
    region string
    ETCD snapshot S3 region
    skipSslVerify boolean
    Disable ETCD skip ssl verify
    bucket str
    ETCD snapshot S3 bucket
    endpoint str
    ETCD snapshot S3 endpoint
    cloud_credential_name str
    ETCD snapshot S3 cloud credential name
    endpoint_ca str
    ETCD snapshot S3 endpoint CA
    folder str
    ETCD snapshot S3 folder
    region str
    ETCD snapshot S3 region
    skip_ssl_verify bool
    Disable ETCD skip ssl verify
    bucket String
    ETCD snapshot S3 bucket
    endpoint String
    ETCD snapshot S3 endpoint
    cloudCredentialName String
    ETCD snapshot S3 cloud credential name
    endpointCa String
    ETCD snapshot S3 endpoint CA
    folder String
    ETCD snapshot S3 folder
    region String
    ETCD snapshot S3 region
    skipSslVerify Boolean
    Disable ETCD skip ssl verify

    ClusterV2RkeConfigEtcdSnapshotCreate, ClusterV2RkeConfigEtcdSnapshotCreateArgs

    Generation int
    ETCD generation to initiate a snapshot
    Generation int
    ETCD generation to initiate a snapshot
    generation Integer
    ETCD generation to initiate a snapshot
    generation number
    ETCD generation to initiate a snapshot
    generation int
    ETCD generation to initiate a snapshot
    generation Number
    ETCD generation to initiate a snapshot

    ClusterV2RkeConfigEtcdSnapshotRestore, ClusterV2RkeConfigEtcdSnapshotRestoreArgs

    Generation int
    ETCD snapshot desired generation
    Name string
    The name of the cluster.
    RestoreRkeConfig string
    ETCD restore RKE config (set to none, all, or kubernetesVersion)
    Generation int
    ETCD snapshot desired generation
    Name string
    The name of the cluster.
    RestoreRkeConfig string
    ETCD restore RKE config (set to none, all, or kubernetesVersion)
    generation Integer
    ETCD snapshot desired generation
    name String
    The name of the cluster.
    restoreRkeConfig String
    ETCD restore RKE config (set to none, all, or kubernetesVersion)
    generation number
    ETCD snapshot desired generation
    name string
    The name of the cluster.
    restoreRkeConfig string
    ETCD restore RKE config (set to none, all, or kubernetesVersion)
    generation int
    ETCD snapshot desired generation
    name str
    The name of the cluster.
    restore_rke_config str
    ETCD restore RKE config (set to none, all, or kubernetesVersion)
    generation Number
    ETCD snapshot desired generation
    name String
    The name of the cluster.
    restoreRkeConfig String
    ETCD restore RKE config (set to none, all, or kubernetesVersion)

    ClusterV2RkeConfigLocalAuthEndpoint, ClusterV2RkeConfigLocalAuthEndpointArgs

    CaCerts string
    CA certs for the authorized cluster endpoint. It is only needed if there is a load balancer in front of the downstream cluster that is using an untrusted certificate. If you have a valid certificate, then nothing needs to be added to the CA Certificates field.
    Enabled bool
    If enabled is set to true, nodes will be drained before upgrade.
    Fqdn string
    FQDN for the authorized cluster endpoint. If one is entered, it should point to the downstream cluster.
    CaCerts string
    CA certs for the authorized cluster endpoint. It is only needed if there is a load balancer in front of the downstream cluster that is using an untrusted certificate. If you have a valid certificate, then nothing needs to be added to the CA Certificates field.
    Enabled bool
    If enabled is set to true, nodes will be drained before upgrade.
    Fqdn string
    FQDN for the authorized cluster endpoint. If one is entered, it should point to the downstream cluster.
    caCerts String
    CA certs for the authorized cluster endpoint. It is only needed if there is a load balancer in front of the downstream cluster that is using an untrusted certificate. If you have a valid certificate, then nothing needs to be added to the CA Certificates field.
    enabled Boolean
    If enabled is set to true, nodes will be drained before upgrade.
    fqdn String
    FQDN for the authorized cluster endpoint. If one is entered, it should point to the downstream cluster.
    caCerts string
    CA certs for the authorized cluster endpoint. It is only needed if there is a load balancer in front of the downstream cluster that is using an untrusted certificate. If you have a valid certificate, then nothing needs to be added to the CA Certificates field.
    enabled boolean
    If enabled is set to true, nodes will be drained before upgrade.
    fqdn string
    FQDN for the authorized cluster endpoint. If one is entered, it should point to the downstream cluster.
    ca_certs str
    CA certs for the authorized cluster endpoint. It is only needed if there is a load balancer in front of the downstream cluster that is using an untrusted certificate. If you have a valid certificate, then nothing needs to be added to the CA Certificates field.
    enabled bool
    If enabled is set to true, nodes will be drained before upgrade.
    fqdn str
    FQDN for the authorized cluster endpoint. If one is entered, it should point to the downstream cluster.
    caCerts String
    CA certs for the authorized cluster endpoint. It is only needed if there is a load balancer in front of the downstream cluster that is using an untrusted certificate. If you have a valid certificate, then nothing needs to be added to the CA Certificates field.
    enabled Boolean
    If enabled is set to true, nodes will be drained before upgrade.
    fqdn String
    FQDN for the authorized cluster endpoint. If one is entered, it should point to the downstream cluster.

    ClusterV2RkeConfigMachinePool, ClusterV2RkeConfigMachinePoolArgs

    MachineConfig ClusterV2RkeConfigMachinePoolMachineConfig
    Machine config data
    Name string
    The name of the cluster.
    Annotations Dictionary<string, string>
    Annotations for the Cluster.
    CloudCredentialSecretName string
    Cloud credential secret name is the secret to be used when a cloud credential secret name is not specified at the machine pool level.
    ControlPlaneRole bool
    Machine pool control plane role
    DrainBeforeDelete bool
    Machine pool drain before delete
    EtcdRole bool
    Machine pool etcd role
    HostnameLengthLimit int
    maximum length for autogenerated hostname
    Labels Dictionary<string, string>
    Labels for the Cluster.
    MachineLabels Dictionary<string, string>
    Labels for the machine pool nodes
    MachineOs string
    OS Type in machine pool
    MaxUnhealthy string
    max unhealthy nodes for automated replacement to be allowed
    NodeDrainTimeout int
    seconds to wait for machine pool drain to complete before machine deletion
    NodeStartupTimeoutSeconds int
    seconds a new node has to become active before it is replaced
    Paused bool
    Machine pool paused
    Quantity int
    Machine pool quantity
    RollingUpdate ClusterV2RkeConfigMachinePoolRollingUpdate
    Machine pool rolling update
    Taints List<ClusterV2RkeConfigMachinePoolTaint>
    Machine pool taints
    UnhealthyNodeTimeoutSeconds int
    seconds an unhealthy node has to become active before it is replaced
    UnhealthyRange string
    range of unhealthy nodes for automated replacement to be allowed
    WorkerRole bool
    Machine pool worker role
    MachineConfig ClusterV2RkeConfigMachinePoolMachineConfig
    Machine config data
    Name string
    The name of the cluster.
    Annotations map[string]string
    Annotations for the Cluster.
    CloudCredentialSecretName string
    Cloud credential secret name is the secret to be used when a cloud credential secret name is not specified at the machine pool level.
    ControlPlaneRole bool
    Machine pool control plane role
    DrainBeforeDelete bool
    Machine pool drain before delete
    EtcdRole bool
    Machine pool etcd role
    HostnameLengthLimit int
    maximum length for autogenerated hostname
    Labels map[string]string
    Labels for the Cluster.
    MachineLabels map[string]string
    Labels for the machine pool nodes
    MachineOs string
    OS Type in machine pool
    MaxUnhealthy string
    max unhealthy nodes for automated replacement to be allowed
    NodeDrainTimeout int
    seconds to wait for machine pool drain to complete before machine deletion
    NodeStartupTimeoutSeconds int
    seconds a new node has to become active before it is replaced
    Paused bool
    Machine pool paused
    Quantity int
    Machine pool quantity
    RollingUpdate ClusterV2RkeConfigMachinePoolRollingUpdate
    Machine pool rolling update
    Taints []ClusterV2RkeConfigMachinePoolTaint
    Machine pool taints
    UnhealthyNodeTimeoutSeconds int
    seconds an unhealthy node has to become active before it is replaced
    UnhealthyRange string
    range of unhealthy nodes for automated replacement to be allowed
    WorkerRole bool
    Machine pool worker role
    machineConfig ClusterV2RkeConfigMachinePoolMachineConfig
    Machine config data
    name String
    The name of the cluster.
    annotations Map<String,String>
    Annotations for the Cluster.
    cloudCredentialSecretName String
    Cloud credential secret name is the secret to be used when a cloud credential secret name is not specified at the machine pool level.
    controlPlaneRole Boolean
    Machine pool control plane role
    drainBeforeDelete Boolean
    Machine pool drain before delete
    etcdRole Boolean
    Machine pool etcd role
    hostnameLengthLimit Integer
    maximum length for autogenerated hostname
    labels Map<String,String>
    Labels for the Cluster.
    machineLabels Map<String,String>
    Labels for the machine pool nodes
    machineOs String
    OS Type in machine pool
    maxUnhealthy String
    max unhealthy nodes for automated replacement to be allowed
    nodeDrainTimeout Integer
    seconds to wait for machine pool drain to complete before machine deletion
    nodeStartupTimeoutSeconds Integer
    seconds a new node has to become active before it is replaced
    paused Boolean
    Machine pool paused
    quantity Integer
    Machine pool quantity
    rollingUpdate ClusterV2RkeConfigMachinePoolRollingUpdate
    Machine pool rolling update
    taints List<ClusterV2RkeConfigMachinePoolTaint>
    Machine pool taints
    unhealthyNodeTimeoutSeconds Integer
    seconds an unhealthy node has to become active before it is replaced
    unhealthyRange String
    range of unhealthy nodes for automated replacement to be allowed
    workerRole Boolean
    Machine pool worker role
    machineConfig ClusterV2RkeConfigMachinePoolMachineConfig
    Machine config data
    name string
    The name of the cluster.
    annotations {[key: string]: string}
    Annotations for the Cluster.
    cloudCredentialSecretName string
    Cloud credential secret name is the secret to be used when a cloud credential secret name is not specified at the machine pool level.
    controlPlaneRole boolean
    Machine pool control plane role
    drainBeforeDelete boolean
    Machine pool drain before delete
    etcdRole boolean
    Machine pool etcd role
    hostnameLengthLimit number
    maximum length for autogenerated hostname
    labels {[key: string]: string}
    Labels for the Cluster.
    machineLabels {[key: string]: string}
    Labels for the machine pool nodes
    machineOs string
    OS Type in machine pool
    maxUnhealthy string
    max unhealthy nodes for automated replacement to be allowed
    nodeDrainTimeout number
    seconds to wait for machine pool drain to complete before machine deletion
    nodeStartupTimeoutSeconds number
    seconds a new node has to become active before it is replaced
    paused boolean
    Machine pool paused
    quantity number
    Machine pool quantity
    rollingUpdate ClusterV2RkeConfigMachinePoolRollingUpdate
    Machine pool rolling update
    taints ClusterV2RkeConfigMachinePoolTaint[]
    Machine pool taints
    unhealthyNodeTimeoutSeconds number
    seconds an unhealthy node has to become active before it is replaced
    unhealthyRange string
    range of unhealthy nodes for automated replacement to be allowed
    workerRole boolean
    Machine pool worker role
    machine_config ClusterV2RkeConfigMachinePoolMachineConfig
    Machine config data
    name str
    The name of the cluster.
    annotations Mapping[str, str]
    Annotations for the Cluster.
    cloud_credential_secret_name str
    Cloud credential secret name is the secret to be used when a cloud credential secret name is not specified at the machine pool level.
    control_plane_role bool
    Machine pool control plane role
    drain_before_delete bool
    Machine pool drain before delete
    etcd_role bool
    Machine pool etcd role
    hostname_length_limit int
    maximum length for autogenerated hostname
    labels Mapping[str, str]
    Labels for the Cluster.
    machine_labels Mapping[str, str]
    Labels for the machine pool nodes
    machine_os str
    OS Type in machine pool
    max_unhealthy str
    max unhealthy nodes for automated replacement to be allowed
    node_drain_timeout int
    seconds to wait for machine pool drain to complete before machine deletion
    node_startup_timeout_seconds int
    seconds a new node has to become active before it is replaced
    paused bool
    Machine pool paused
    quantity int
    Machine pool quantity
    rolling_update ClusterV2RkeConfigMachinePoolRollingUpdate
    Machine pool rolling update
    taints Sequence[ClusterV2RkeConfigMachinePoolTaint]
    Machine pool taints
    unhealthy_node_timeout_seconds int
    seconds an unhealthy node has to become active before it is replaced
    unhealthy_range str
    range of unhealthy nodes for automated replacement to be allowed
    worker_role bool
    Machine pool worker role
    machineConfig Property Map
    Machine config data
    name String
    The name of the cluster.
    annotations Map<String>
    Annotations for the Cluster.
    cloudCredentialSecretName String
    Cloud credential secret name is the secret to be used when a cloud credential secret name is not specified at the machine pool level.
    controlPlaneRole Boolean
    Machine pool control plane role
    drainBeforeDelete Boolean
    Machine pool drain before delete
    etcdRole Boolean
    Machine pool etcd role
    hostnameLengthLimit Number
    maximum length for autogenerated hostname
    labels Map<String>
    Labels for the Cluster.
    machineLabels Map<String>
    Labels for the machine pool nodes
    machineOs String
    OS Type in machine pool
    maxUnhealthy String
    max unhealthy nodes for automated replacement to be allowed
    nodeDrainTimeout Number
    seconds to wait for machine pool drain to complete before machine deletion
    nodeStartupTimeoutSeconds Number
    seconds a new node has to become active before it is replaced
    paused Boolean
    Machine pool paused
    quantity Number
    Machine pool quantity
    rollingUpdate Property Map
    Machine pool rolling update
    taints List<Property Map>
    Machine pool taints
    unhealthyNodeTimeoutSeconds Number
    seconds an unhealthy node has to become active before it is replaced
    unhealthyRange String
    range of unhealthy nodes for automated replacement to be allowed
    workerRole Boolean
    Machine pool worker role

    ClusterV2RkeConfigMachinePoolDefault, ClusterV2RkeConfigMachinePoolDefaultArgs

    HostnameLengthLimit int
    maximum length for autogenerated hostname
    HostnameLengthLimit int
    maximum length for autogenerated hostname
    hostnameLengthLimit Integer
    maximum length for autogenerated hostname
    hostnameLengthLimit number
    maximum length for autogenerated hostname
    hostname_length_limit int
    maximum length for autogenerated hostname
    hostnameLengthLimit Number
    maximum length for autogenerated hostname

    ClusterV2RkeConfigMachinePoolMachineConfig, ClusterV2RkeConfigMachinePoolMachineConfigArgs

    Kind string
    Machine config kind
    Name string
    The name of the cluster.
    ApiVersion string
    Machine config API version
    Kind string
    Machine config kind
    Name string
    The name of the cluster.
    ApiVersion string
    Machine config API version
    kind String
    Machine config kind
    name String
    The name of the cluster.
    apiVersion String
    Machine config API version
    kind string
    Machine config kind
    name string
    The name of the cluster.
    apiVersion string
    Machine config API version
    kind str
    Machine config kind
    name str
    The name of the cluster.
    api_version str
    Machine config API version
    kind String
    Machine config kind
    name String
    The name of the cluster.
    apiVersion String
    Machine config API version

    ClusterV2RkeConfigMachinePoolRollingUpdate, ClusterV2RkeConfigMachinePoolRollingUpdateArgs

    MaxSurge string
    Rolling update max surge
    MaxUnavailable string
    Rolling update max unavailable
    MaxSurge string
    Rolling update max surge
    MaxUnavailable string
    Rolling update max unavailable
    maxSurge String
    Rolling update max surge
    maxUnavailable String
    Rolling update max unavailable
    maxSurge string
    Rolling update max surge
    maxUnavailable string
    Rolling update max unavailable
    max_surge str
    Rolling update max surge
    max_unavailable str
    Rolling update max unavailable
    maxSurge String
    Rolling update max surge
    maxUnavailable String
    Rolling update max unavailable

    ClusterV2RkeConfigMachinePoolTaint, ClusterV2RkeConfigMachinePoolTaintArgs

    Key string
    Key is the name of the key of the item to retrieve.
    Value string
    The taint value.
    Effect string
    The taint effect. Default: \"NoExecute\".
    Key string
    Key is the name of the key of the item to retrieve.
    Value string
    The taint value.
    Effect string
    The taint effect. Default: \"NoExecute\".
    key String
    Key is the name of the key of the item to retrieve.
    value String
    The taint value.
    effect String
    The taint effect. Default: \"NoExecute\".
    key string
    Key is the name of the key of the item to retrieve.
    value string
    The taint value.
    effect string
    The taint effect. Default: \"NoExecute\".
    key str
    Key is the name of the key of the item to retrieve.
    value str
    The taint value.
    effect str
    The taint effect. Default: \"NoExecute\".
    key String
    Key is the name of the key of the item to retrieve.
    value String
    The taint value.
    effect String
    The taint effect. Default: \"NoExecute\".

    ClusterV2RkeConfigMachineSelectorConfig, ClusterV2RkeConfigMachineSelectorConfigArgs

    config String
    Machine selector config
    machineLabelSelector Property Map
    Machine label selector

    ClusterV2RkeConfigMachineSelectorConfigMachineLabelSelector, ClusterV2RkeConfigMachineSelectorConfigMachineLabelSelectorArgs

    MatchExpressions List<ClusterV2RkeConfigMachineSelectorConfigMachineLabelSelectorMatchExpression>
    Label selector match expressions
    MatchLabels Dictionary<string, string>
    Label selector match labels
    MatchExpressions []ClusterV2RkeConfigMachineSelectorConfigMachineLabelSelectorMatchExpression
    Label selector match expressions
    MatchLabels map[string]string
    Label selector match labels
    matchExpressions List<ClusterV2RkeConfigMachineSelectorConfigMachineLabelSelectorMatchExpression>
    Label selector match expressions
    matchLabels Map<String,String>
    Label selector match labels
    matchExpressions ClusterV2RkeConfigMachineSelectorConfigMachineLabelSelectorMatchExpression[]
    Label selector match expressions
    matchLabels {[key: string]: string}
    Label selector match labels
    match_expressions Sequence[ClusterV2RkeConfigMachineSelectorConfigMachineLabelSelectorMatchExpression]
    Label selector match expressions
    match_labels Mapping[str, str]
    Label selector match labels
    matchExpressions List<Property Map>
    Label selector match expressions
    matchLabels Map<String>
    Label selector match labels

    ClusterV2RkeConfigMachineSelectorConfigMachineLabelSelectorMatchExpression, ClusterV2RkeConfigMachineSelectorConfigMachineLabelSelectorMatchExpressionArgs

    Key string
    Label selector requirement key
    Operator string
    Label selector operator
    Values List<string>
    Label selector requirement values
    Key string
    Label selector requirement key
    Operator string
    Label selector operator
    Values []string
    Label selector requirement values
    key String
    Label selector requirement key
    operator String
    Label selector operator
    values List<String>
    Label selector requirement values
    key string
    Label selector requirement key
    operator string
    Label selector operator
    values string[]
    Label selector requirement values
    key str
    Label selector requirement key
    operator str
    Label selector operator
    values Sequence[str]
    Label selector requirement values
    key String
    Label selector requirement key
    operator String
    Label selector operator
    values List<String>
    Label selector requirement values

    ClusterV2RkeConfigMachineSelectorFile, ClusterV2RkeConfigMachineSelectorFileArgs

    ClusterV2RkeConfigMachineSelectorFileFileSource, ClusterV2RkeConfigMachineSelectorFileFileSourceArgs

    Configmap ClusterV2RkeConfigMachineSelectorFileFileSourceConfigmap
    The configmap which is the source of files
    Secret ClusterV2RkeConfigMachineSelectorFileFileSourceSecret
    The secret which is the source of files
    Configmap ClusterV2RkeConfigMachineSelectorFileFileSourceConfigmap
    The configmap which is the source of files
    Secret ClusterV2RkeConfigMachineSelectorFileFileSourceSecret
    The secret which is the source of files
    configmap ClusterV2RkeConfigMachineSelectorFileFileSourceConfigmap
    The configmap which is the source of files
    secret ClusterV2RkeConfigMachineSelectorFileFileSourceSecret
    The secret which is the source of files
    configmap ClusterV2RkeConfigMachineSelectorFileFileSourceConfigmap
    The configmap which is the source of files
    secret ClusterV2RkeConfigMachineSelectorFileFileSourceSecret
    The secret which is the source of files
    configmap ClusterV2RkeConfigMachineSelectorFileFileSourceConfigmap
    The configmap which is the source of files
    secret ClusterV2RkeConfigMachineSelectorFileFileSourceSecret
    The secret which is the source of files
    configmap Property Map
    The configmap which is the source of files
    secret Property Map
    The secret which is the source of files

    ClusterV2RkeConfigMachineSelectorFileFileSourceConfigmap, ClusterV2RkeConfigMachineSelectorFileFileSourceConfigmapArgs

    Name string
    The name of the cluster.
    DefaultPermissions string
    The default permissions to be applied when they are not set at the item level
    Items List<ClusterV2RkeConfigMachineSelectorFileFileSourceConfigmapItem>
    Items(files) to retrieve from the K8s object
    Name string
    The name of the cluster.
    DefaultPermissions string
    The default permissions to be applied when they are not set at the item level
    Items []ClusterV2RkeConfigMachineSelectorFileFileSourceConfigmapItem
    Items(files) to retrieve from the K8s object
    name String
    The name of the cluster.
    defaultPermissions String
    The default permissions to be applied when they are not set at the item level
    items List<ClusterV2RkeConfigMachineSelectorFileFileSourceConfigmapItem>
    Items(files) to retrieve from the K8s object
    name string
    The name of the cluster.
    defaultPermissions string
    The default permissions to be applied when they are not set at the item level
    items ClusterV2RkeConfigMachineSelectorFileFileSourceConfigmapItem[]
    Items(files) to retrieve from the K8s object
    name str
    The name of the cluster.
    default_permissions str
    The default permissions to be applied when they are not set at the item level
    items Sequence[ClusterV2RkeConfigMachineSelectorFileFileSourceConfigmapItem]
    Items(files) to retrieve from the K8s object
    name String
    The name of the cluster.
    defaultPermissions String
    The default permissions to be applied when they are not set at the item level
    items List<Property Map>
    Items(files) to retrieve from the K8s object

    ClusterV2RkeConfigMachineSelectorFileFileSourceConfigmapItem, ClusterV2RkeConfigMachineSelectorFileFileSourceConfigmapItemArgs

    Key string
    The key of the item(file) to retrieve
    Path string
    The path to put the file in the target node
    Dynamic bool
    If ture, the file is ignored when determining whether the node should be drained before updating the node plan (default: true).
    Hash string
    The base64 encoded value of the SHA256 checksum of the file's content
    Permissions string
    The numeric representation of the file permissions
    Key string
    The key of the item(file) to retrieve
    Path string
    The path to put the file in the target node
    Dynamic bool
    If ture, the file is ignored when determining whether the node should be drained before updating the node plan (default: true).
    Hash string
    The base64 encoded value of the SHA256 checksum of the file's content
    Permissions string
    The numeric representation of the file permissions
    key String
    The key of the item(file) to retrieve
    path String
    The path to put the file in the target node
    dynamic Boolean
    If ture, the file is ignored when determining whether the node should be drained before updating the node plan (default: true).
    hash String
    The base64 encoded value of the SHA256 checksum of the file's content
    permissions String
    The numeric representation of the file permissions
    key string
    The key of the item(file) to retrieve
    path string
    The path to put the file in the target node
    dynamic boolean
    If ture, the file is ignored when determining whether the node should be drained before updating the node plan (default: true).
    hash string
    The base64 encoded value of the SHA256 checksum of the file's content
    permissions string
    The numeric representation of the file permissions
    key str
    The key of the item(file) to retrieve
    path str
    The path to put the file in the target node
    dynamic bool
    If ture, the file is ignored when determining whether the node should be drained before updating the node plan (default: true).
    hash str
    The base64 encoded value of the SHA256 checksum of the file's content
    permissions str
    The numeric representation of the file permissions
    key String
    The key of the item(file) to retrieve
    path String
    The path to put the file in the target node
    dynamic Boolean
    If ture, the file is ignored when determining whether the node should be drained before updating the node plan (default: true).
    hash String
    The base64 encoded value of the SHA256 checksum of the file's content
    permissions String
    The numeric representation of the file permissions

    ClusterV2RkeConfigMachineSelectorFileFileSourceSecret, ClusterV2RkeConfigMachineSelectorFileFileSourceSecretArgs

    Name string
    The name of the cluster.
    DefaultPermissions string
    The default permissions to be applied when they are not set at the item level
    Items List<ClusterV2RkeConfigMachineSelectorFileFileSourceSecretItem>
    Items(files) to retrieve from the K8s object
    Name string
    The name of the cluster.
    DefaultPermissions string
    The default permissions to be applied when they are not set at the item level
    Items []ClusterV2RkeConfigMachineSelectorFileFileSourceSecretItem
    Items(files) to retrieve from the K8s object
    name String
    The name of the cluster.
    defaultPermissions String
    The default permissions to be applied when they are not set at the item level
    items List<ClusterV2RkeConfigMachineSelectorFileFileSourceSecretItem>
    Items(files) to retrieve from the K8s object
    name string
    The name of the cluster.
    defaultPermissions string
    The default permissions to be applied when they are not set at the item level
    items ClusterV2RkeConfigMachineSelectorFileFileSourceSecretItem[]
    Items(files) to retrieve from the K8s object
    name str
    The name of the cluster.
    default_permissions str
    The default permissions to be applied when they are not set at the item level
    items Sequence[ClusterV2RkeConfigMachineSelectorFileFileSourceSecretItem]
    Items(files) to retrieve from the K8s object
    name String
    The name of the cluster.
    defaultPermissions String
    The default permissions to be applied when they are not set at the item level
    items List<Property Map>
    Items(files) to retrieve from the K8s object

    ClusterV2RkeConfigMachineSelectorFileFileSourceSecretItem, ClusterV2RkeConfigMachineSelectorFileFileSourceSecretItemArgs

    Key string
    The key of the item(file) to retrieve
    Path string
    The path to put the file in the target node
    Dynamic bool
    If ture, the file is ignored when determining whether the node should be drained before updating the node plan (default: true).
    Hash string
    The base64 encoded value of the SHA256 checksum of the file's content
    Permissions string
    The numeric representation of the file permissions
    Key string
    The key of the item(file) to retrieve
    Path string
    The path to put the file in the target node
    Dynamic bool
    If ture, the file is ignored when determining whether the node should be drained before updating the node plan (default: true).
    Hash string
    The base64 encoded value of the SHA256 checksum of the file's content
    Permissions string
    The numeric representation of the file permissions
    key String
    The key of the item(file) to retrieve
    path String
    The path to put the file in the target node
    dynamic Boolean
    If ture, the file is ignored when determining whether the node should be drained before updating the node plan (default: true).
    hash String
    The base64 encoded value of the SHA256 checksum of the file's content
    permissions String
    The numeric representation of the file permissions
    key string
    The key of the item(file) to retrieve
    path string
    The path to put the file in the target node
    dynamic boolean
    If ture, the file is ignored when determining whether the node should be drained before updating the node plan (default: true).
    hash string
    The base64 encoded value of the SHA256 checksum of the file's content
    permissions string
    The numeric representation of the file permissions
    key str
    The key of the item(file) to retrieve
    path str
    The path to put the file in the target node
    dynamic bool
    If ture, the file is ignored when determining whether the node should be drained before updating the node plan (default: true).
    hash str
    The base64 encoded value of the SHA256 checksum of the file's content
    permissions str
    The numeric representation of the file permissions
    key String
    The key of the item(file) to retrieve
    path String
    The path to put the file in the target node
    dynamic Boolean
    If ture, the file is ignored when determining whether the node should be drained before updating the node plan (default: true).
    hash String
    The base64 encoded value of the SHA256 checksum of the file's content
    permissions String
    The numeric representation of the file permissions

    ClusterV2RkeConfigMachineSelectorFileMachineLabelSelector, ClusterV2RkeConfigMachineSelectorFileMachineLabelSelectorArgs

    MatchExpressions List<ClusterV2RkeConfigMachineSelectorFileMachineLabelSelectorMatchExpression>
    Label selector match expressions
    MatchLabels Dictionary<string, string>
    Label selector match labels
    MatchExpressions []ClusterV2RkeConfigMachineSelectorFileMachineLabelSelectorMatchExpression
    Label selector match expressions
    MatchLabels map[string]string
    Label selector match labels
    matchExpressions List<ClusterV2RkeConfigMachineSelectorFileMachineLabelSelectorMatchExpression>
    Label selector match expressions
    matchLabels Map<String,String>
    Label selector match labels
    matchExpressions ClusterV2RkeConfigMachineSelectorFileMachineLabelSelectorMatchExpression[]
    Label selector match expressions
    matchLabels {[key: string]: string}
    Label selector match labels
    match_expressions Sequence[ClusterV2RkeConfigMachineSelectorFileMachineLabelSelectorMatchExpression]
    Label selector match expressions
    match_labels Mapping[str, str]
    Label selector match labels
    matchExpressions List<Property Map>
    Label selector match expressions
    matchLabels Map<String>
    Label selector match labels

    ClusterV2RkeConfigMachineSelectorFileMachineLabelSelectorMatchExpression, ClusterV2RkeConfigMachineSelectorFileMachineLabelSelectorMatchExpressionArgs

    Key string
    Label selector requirement key
    Operator string
    Label selector operator
    Values List<string>
    Label selector requirement values
    Key string
    Label selector requirement key
    Operator string
    Label selector operator
    Values []string
    Label selector requirement values
    key String
    Label selector requirement key
    operator String
    Label selector operator
    values List<String>
    Label selector requirement values
    key string
    Label selector requirement key
    operator string
    Label selector operator
    values string[]
    Label selector requirement values
    key str
    Label selector requirement key
    operator str
    Label selector operator
    values Sequence[str]
    Label selector requirement values
    key String
    Label selector requirement key
    operator String
    Label selector operator
    values List<String>
    Label selector requirement values

    ClusterV2RkeConfigNetworking, ClusterV2RkeConfigNetworkingArgs

    StackPreference string
    Specify the networking stack used by the cluster. The selected value configures the address used for health and readiness probes of calico, etcd, kube-apiserver, kube-scheduler, kube-controller-manager, and kubelet. It also defines the server URL in the authentication-token-webhook-config-file for the Authorized Cluster Endpoint and the advertise-client-urls for etcd during snapshot restore. When set to dual, the cluster uses localhost; when set to ipv6, it uses [::1]; when set to ipv4, it uses 127.0.0.1
    StackPreference string
    Specify the networking stack used by the cluster. The selected value configures the address used for health and readiness probes of calico, etcd, kube-apiserver, kube-scheduler, kube-controller-manager, and kubelet. It also defines the server URL in the authentication-token-webhook-config-file for the Authorized Cluster Endpoint and the advertise-client-urls for etcd during snapshot restore. When set to dual, the cluster uses localhost; when set to ipv6, it uses [::1]; when set to ipv4, it uses 127.0.0.1
    stackPreference String
    Specify the networking stack used by the cluster. The selected value configures the address used for health and readiness probes of calico, etcd, kube-apiserver, kube-scheduler, kube-controller-manager, and kubelet. It also defines the server URL in the authentication-token-webhook-config-file for the Authorized Cluster Endpoint and the advertise-client-urls for etcd during snapshot restore. When set to dual, the cluster uses localhost; when set to ipv6, it uses [::1]; when set to ipv4, it uses 127.0.0.1
    stackPreference string
    Specify the networking stack used by the cluster. The selected value configures the address used for health and readiness probes of calico, etcd, kube-apiserver, kube-scheduler, kube-controller-manager, and kubelet. It also defines the server URL in the authentication-token-webhook-config-file for the Authorized Cluster Endpoint and the advertise-client-urls for etcd during snapshot restore. When set to dual, the cluster uses localhost; when set to ipv6, it uses [::1]; when set to ipv4, it uses 127.0.0.1
    stack_preference str
    Specify the networking stack used by the cluster. The selected value configures the address used for health and readiness probes of calico, etcd, kube-apiserver, kube-scheduler, kube-controller-manager, and kubelet. It also defines the server URL in the authentication-token-webhook-config-file for the Authorized Cluster Endpoint and the advertise-client-urls for etcd during snapshot restore. When set to dual, the cluster uses localhost; when set to ipv6, it uses [::1]; when set to ipv4, it uses 127.0.0.1
    stackPreference String
    Specify the networking stack used by the cluster. The selected value configures the address used for health and readiness probes of calico, etcd, kube-apiserver, kube-scheduler, kube-controller-manager, and kubelet. It also defines the server URL in the authentication-token-webhook-config-file for the Authorized Cluster Endpoint and the advertise-client-urls for etcd during snapshot restore. When set to dual, the cluster uses localhost; when set to ipv6, it uses [::1]; when set to ipv4, it uses 127.0.0.1

    ClusterV2RkeConfigRegistries, ClusterV2RkeConfigRegistriesArgs

    ClusterV2RkeConfigRegistriesConfig, ClusterV2RkeConfigRegistriesConfigArgs

    Hostname string
    Registry hostname
    AuthConfigSecretName string
    Registry auth config secret name
    CaBundle string
    Registry CA bundle
    Insecure bool
    Registry insecure connectivity
    TlsSecretName string
    Registry TLS secret name. TLS is a pair of Cert/Key
    Hostname string
    Registry hostname
    AuthConfigSecretName string
    Registry auth config secret name
    CaBundle string
    Registry CA bundle
    Insecure bool
    Registry insecure connectivity
    TlsSecretName string
    Registry TLS secret name. TLS is a pair of Cert/Key
    hostname String
    Registry hostname
    authConfigSecretName String
    Registry auth config secret name
    caBundle String
    Registry CA bundle
    insecure Boolean
    Registry insecure connectivity
    tlsSecretName String
    Registry TLS secret name. TLS is a pair of Cert/Key
    hostname string
    Registry hostname
    authConfigSecretName string
    Registry auth config secret name
    caBundle string
    Registry CA bundle
    insecure boolean
    Registry insecure connectivity
    tlsSecretName string
    Registry TLS secret name. TLS is a pair of Cert/Key
    hostname str
    Registry hostname
    auth_config_secret_name str
    Registry auth config secret name
    ca_bundle str
    Registry CA bundle
    insecure bool
    Registry insecure connectivity
    tls_secret_name str
    Registry TLS secret name. TLS is a pair of Cert/Key
    hostname String
    Registry hostname
    authConfigSecretName String
    Registry auth config secret name
    caBundle String
    Registry CA bundle
    insecure Boolean
    Registry insecure connectivity
    tlsSecretName String
    Registry TLS secret name. TLS is a pair of Cert/Key

    ClusterV2RkeConfigRegistriesMirror, ClusterV2RkeConfigRegistriesMirrorArgs

    Hostname string
    Registry hostname
    Endpoints List<string>
    Registry mirror endpoints
    Rewrites Dictionary<string, string>
    Registry mirror rewrites
    Hostname string
    Registry hostname
    Endpoints []string
    Registry mirror endpoints
    Rewrites map[string]string
    Registry mirror rewrites
    hostname String
    Registry hostname
    endpoints List<String>
    Registry mirror endpoints
    rewrites Map<String,String>
    Registry mirror rewrites
    hostname string
    Registry hostname
    endpoints string[]
    Registry mirror endpoints
    rewrites {[key: string]: string}
    Registry mirror rewrites
    hostname str
    Registry hostname
    endpoints Sequence[str]
    Registry mirror endpoints
    rewrites Mapping[str, str]
    Registry mirror rewrites
    hostname String
    Registry hostname
    endpoints List<String>
    Registry mirror endpoints
    rewrites Map<String>
    Registry mirror rewrites

    ClusterV2RkeConfigRotateCertificates, ClusterV2RkeConfigRotateCertificatesArgs

    Generation int
    Desired certificate rotation generation.
    Services List<string>
    Service certificates to rotate with this generation.
    Generation int
    Desired certificate rotation generation.
    Services []string
    Service certificates to rotate with this generation.
    generation Integer
    Desired certificate rotation generation.
    services List<String>
    Service certificates to rotate with this generation.
    generation number
    Desired certificate rotation generation.
    services string[]
    Service certificates to rotate with this generation.
    generation int
    Desired certificate rotation generation.
    services Sequence[str]
    Service certificates to rotate with this generation.
    generation Number
    Desired certificate rotation generation.
    services List<String>
    Service certificates to rotate with this generation.

    ClusterV2RkeConfigUpgradeStrategy, ClusterV2RkeConfigUpgradeStrategyArgs

    ControlPlaneConcurrency string
    How many controlplane nodes should be upgrade at time, 0 is infinite. Percentages are also accepted
    ControlPlaneDrainOptions ClusterV2RkeConfigUpgradeStrategyControlPlaneDrainOptions
    Controlplane nodes drain options
    WorkerConcurrency string
    How many worker nodes should be upgrade at time
    WorkerDrainOptions ClusterV2RkeConfigUpgradeStrategyWorkerDrainOptions
    Worker nodes drain options
    ControlPlaneConcurrency string
    How many controlplane nodes should be upgrade at time, 0 is infinite. Percentages are also accepted
    ControlPlaneDrainOptions ClusterV2RkeConfigUpgradeStrategyControlPlaneDrainOptions
    Controlplane nodes drain options
    WorkerConcurrency string
    How many worker nodes should be upgrade at time
    WorkerDrainOptions ClusterV2RkeConfigUpgradeStrategyWorkerDrainOptions
    Worker nodes drain options
    controlPlaneConcurrency String
    How many controlplane nodes should be upgrade at time, 0 is infinite. Percentages are also accepted
    controlPlaneDrainOptions ClusterV2RkeConfigUpgradeStrategyControlPlaneDrainOptions
    Controlplane nodes drain options
    workerConcurrency String
    How many worker nodes should be upgrade at time
    workerDrainOptions ClusterV2RkeConfigUpgradeStrategyWorkerDrainOptions
    Worker nodes drain options
    controlPlaneConcurrency string
    How many controlplane nodes should be upgrade at time, 0 is infinite. Percentages are also accepted
    controlPlaneDrainOptions ClusterV2RkeConfigUpgradeStrategyControlPlaneDrainOptions
    Controlplane nodes drain options
    workerConcurrency string
    How many worker nodes should be upgrade at time
    workerDrainOptions ClusterV2RkeConfigUpgradeStrategyWorkerDrainOptions
    Worker nodes drain options
    control_plane_concurrency str
    How many controlplane nodes should be upgrade at time, 0 is infinite. Percentages are also accepted
    control_plane_drain_options ClusterV2RkeConfigUpgradeStrategyControlPlaneDrainOptions
    Controlplane nodes drain options
    worker_concurrency str
    How many worker nodes should be upgrade at time
    worker_drain_options ClusterV2RkeConfigUpgradeStrategyWorkerDrainOptions
    Worker nodes drain options
    controlPlaneConcurrency String
    How many controlplane nodes should be upgrade at time, 0 is infinite. Percentages are also accepted
    controlPlaneDrainOptions Property Map
    Controlplane nodes drain options
    workerConcurrency String
    How many worker nodes should be upgrade at time
    workerDrainOptions Property Map
    Worker nodes drain options

    ClusterV2RkeConfigUpgradeStrategyControlPlaneDrainOptions, ClusterV2RkeConfigUpgradeStrategyControlPlaneDrainOptionsArgs

    DeleteEmptyDirData bool
    Drain options delete empty dir data
    DisableEviction bool
    Drain options disable eviction
    Enabled bool
    Drain options enabled?
    Force bool
    Drain options force
    GracePeriod int
    Drain options grace period
    IgnoreDaemonSets bool
    Drain options ignore daemon sets
    IgnoreErrors bool
    Drain options ignore errors
    SkipWaitForDeleteTimeoutSeconds int
    Drain options skip wait for delete timeout seconds
    Timeout int
    Drain options timeout
    DeleteEmptyDirData bool
    Drain options delete empty dir data
    DisableEviction bool
    Drain options disable eviction
    Enabled bool
    Drain options enabled?
    Force bool
    Drain options force
    GracePeriod int
    Drain options grace period
    IgnoreDaemonSets bool
    Drain options ignore daemon sets
    IgnoreErrors bool
    Drain options ignore errors
    SkipWaitForDeleteTimeoutSeconds int
    Drain options skip wait for delete timeout seconds
    Timeout int
    Drain options timeout
    deleteEmptyDirData Boolean
    Drain options delete empty dir data
    disableEviction Boolean
    Drain options disable eviction
    enabled Boolean
    Drain options enabled?
    force Boolean
    Drain options force
    gracePeriod Integer
    Drain options grace period
    ignoreDaemonSets Boolean
    Drain options ignore daemon sets
    ignoreErrors Boolean
    Drain options ignore errors
    skipWaitForDeleteTimeoutSeconds Integer
    Drain options skip wait for delete timeout seconds
    timeout Integer
    Drain options timeout
    deleteEmptyDirData boolean
    Drain options delete empty dir data
    disableEviction boolean
    Drain options disable eviction
    enabled boolean
    Drain options enabled?
    force boolean
    Drain options force
    gracePeriod number
    Drain options grace period
    ignoreDaemonSets boolean
    Drain options ignore daemon sets
    ignoreErrors boolean
    Drain options ignore errors
    skipWaitForDeleteTimeoutSeconds number
    Drain options skip wait for delete timeout seconds
    timeout number
    Drain options timeout
    delete_empty_dir_data bool
    Drain options delete empty dir data
    disable_eviction bool
    Drain options disable eviction
    enabled bool
    Drain options enabled?
    force bool
    Drain options force
    grace_period int
    Drain options grace period
    ignore_daemon_sets bool
    Drain options ignore daemon sets
    ignore_errors bool
    Drain options ignore errors
    skip_wait_for_delete_timeout_seconds int
    Drain options skip wait for delete timeout seconds
    timeout int
    Drain options timeout
    deleteEmptyDirData Boolean
    Drain options delete empty dir data
    disableEviction Boolean
    Drain options disable eviction
    enabled Boolean
    Drain options enabled?
    force Boolean
    Drain options force
    gracePeriod Number
    Drain options grace period
    ignoreDaemonSets Boolean
    Drain options ignore daemon sets
    ignoreErrors Boolean
    Drain options ignore errors
    skipWaitForDeleteTimeoutSeconds Number
    Drain options skip wait for delete timeout seconds
    timeout Number
    Drain options timeout

    ClusterV2RkeConfigUpgradeStrategyWorkerDrainOptions, ClusterV2RkeConfigUpgradeStrategyWorkerDrainOptionsArgs

    DeleteEmptyDirData bool
    Drain options delete empty dir data
    DisableEviction bool
    Drain options disable eviction
    Enabled bool
    Drain options enabled?
    Force bool
    Drain options force
    GracePeriod int
    Drain options grace period
    IgnoreDaemonSets bool
    Drain options ignore daemon sets
    IgnoreErrors bool
    Drain options ignore errors
    SkipWaitForDeleteTimeoutSeconds int
    Drain options skip wait for delete timeout seconds
    Timeout int
    Drain options timeout
    DeleteEmptyDirData bool
    Drain options delete empty dir data
    DisableEviction bool
    Drain options disable eviction
    Enabled bool
    Drain options enabled?
    Force bool
    Drain options force
    GracePeriod int
    Drain options grace period
    IgnoreDaemonSets bool
    Drain options ignore daemon sets
    IgnoreErrors bool
    Drain options ignore errors
    SkipWaitForDeleteTimeoutSeconds int
    Drain options skip wait for delete timeout seconds
    Timeout int
    Drain options timeout
    deleteEmptyDirData Boolean
    Drain options delete empty dir data
    disableEviction Boolean
    Drain options disable eviction
    enabled Boolean
    Drain options enabled?
    force Boolean
    Drain options force
    gracePeriod Integer
    Drain options grace period
    ignoreDaemonSets Boolean
    Drain options ignore daemon sets
    ignoreErrors Boolean
    Drain options ignore errors
    skipWaitForDeleteTimeoutSeconds Integer
    Drain options skip wait for delete timeout seconds
    timeout Integer
    Drain options timeout
    deleteEmptyDirData boolean
    Drain options delete empty dir data
    disableEviction boolean
    Drain options disable eviction
    enabled boolean
    Drain options enabled?
    force boolean
    Drain options force
    gracePeriod number
    Drain options grace period
    ignoreDaemonSets boolean
    Drain options ignore daemon sets
    ignoreErrors boolean
    Drain options ignore errors
    skipWaitForDeleteTimeoutSeconds number
    Drain options skip wait for delete timeout seconds
    timeout number
    Drain options timeout
    delete_empty_dir_data bool
    Drain options delete empty dir data
    disable_eviction bool
    Drain options disable eviction
    enabled bool
    Drain options enabled?
    force bool
    Drain options force
    grace_period int
    Drain options grace period
    ignore_daemon_sets bool
    Drain options ignore daemon sets
    ignore_errors bool
    Drain options ignore errors
    skip_wait_for_delete_timeout_seconds int
    Drain options skip wait for delete timeout seconds
    timeout int
    Drain options timeout
    deleteEmptyDirData Boolean
    Drain options delete empty dir data
    disableEviction Boolean
    Drain options disable eviction
    enabled Boolean
    Drain options enabled?
    force Boolean
    Drain options force
    gracePeriod Number
    Drain options grace period
    ignoreDaemonSets Boolean
    Drain options ignore daemon sets
    ignoreErrors Boolean
    Drain options ignore errors
    skipWaitForDeleteTimeoutSeconds Number
    Drain options skip wait for delete timeout seconds
    timeout Number
    Drain options timeout

    Import

    Clusters v2 can be imported using the Rancher Cluster v2 ID, that is in the form <FLEET_NAMESPACE>/<CLUSTER_NAME>

    $ pulumi import rancher2:index/clusterV2:ClusterV2 foo <FLEET_NAMESPACE>/<CLUSTER_NAME>
    

    To learn more about importing existing cloud resources, see Importing resources.

    Package Details

    Repository
    Rancher2 pulumi/pulumi-rancher2
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the rancher2 Terraform Provider.
    rancher2 logo
    Viewing docs for Rancher 2 v11.0.1
    published on Thursday, Feb 26, 2026 by Pulumi
      Try Pulumi Cloud free. Your team will thank you.