1. Packages
  2. Rancher2
  3. API Docs
  4. ClusterTemplate
Rancher 2 v6.2.0 published on Tuesday, Jul 16, 2024 by Pulumi

rancher2.ClusterTemplate

Explore with Pulumi AI

rancher2 logo
Rancher 2 v6.2.0 published on Tuesday, Jul 16, 2024 by Pulumi

    Provides a Rancher v2 Cluster Template resource. This can be used to create Cluster Templates for Rancher v2 RKE clusters and retrieve their information.

    Cluster Templates are available from Rancher v2.3.x and above.

    Example Usage

    import * as pulumi from "@pulumi/pulumi";
    import * as rancher2 from "@pulumi/rancher2";
    
    // Create a new rancher2 Cluster Template
    const foo = new rancher2.ClusterTemplate("foo", {
        name: "foo",
        members: [{
            accessType: "owner",
            userPrincipalId: "local://user-XXXXX",
        }],
        templateRevisions: [{
            name: "V1",
            clusterConfig: {
                rkeConfig: {
                    network: {
                        plugin: "canal",
                    },
                    services: {
                        etcd: {
                            creation: "6h",
                            retention: "24h",
                        },
                    },
                },
            },
            "default": true,
        }],
        description: "Terraform cluster template foo",
    });
    
    import pulumi
    import pulumi_rancher2 as rancher2
    
    # Create a new rancher2 Cluster Template
    foo = rancher2.ClusterTemplate("foo",
        name="foo",
        members=[rancher2.ClusterTemplateMemberArgs(
            access_type="owner",
            user_principal_id="local://user-XXXXX",
        )],
        template_revisions=[rancher2.ClusterTemplateTemplateRevisionArgs(
            name="V1",
            cluster_config=rancher2.ClusterTemplateTemplateRevisionClusterConfigArgs(
                rke_config=rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigArgs(
                    network=rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigNetworkArgs(
                        plugin="canal",
                    ),
                    services=rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesArgs(
                        etcd=rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesEtcdArgs(
                            creation="6h",
                            retention="24h",
                        ),
                    ),
                ),
            ),
            default=True,
        )],
        description="Terraform cluster template foo")
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-rancher2/sdk/v6/go/rancher2"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		// Create a new rancher2 Cluster Template
    		_, err := rancher2.NewClusterTemplate(ctx, "foo", &rancher2.ClusterTemplateArgs{
    			Name: pulumi.String("foo"),
    			Members: rancher2.ClusterTemplateMemberArray{
    				&rancher2.ClusterTemplateMemberArgs{
    					AccessType:      pulumi.String("owner"),
    					UserPrincipalId: pulumi.String("local://user-XXXXX"),
    				},
    			},
    			TemplateRevisions: rancher2.ClusterTemplateTemplateRevisionArray{
    				&rancher2.ClusterTemplateTemplateRevisionArgs{
    					Name: pulumi.String("V1"),
    					ClusterConfig: &rancher2.ClusterTemplateTemplateRevisionClusterConfigArgs{
    						RkeConfig: &rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigArgs{
    							Network: &rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigNetworkArgs{
    								Plugin: pulumi.String("canal"),
    							},
    							Services: &rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesArgs{
    								Etcd: &rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesEtcdArgs{
    									Creation:  pulumi.String("6h"),
    									Retention: pulumi.String("24h"),
    								},
    							},
    						},
    					},
    					Default: pulumi.Bool(true),
    				},
    			},
    			Description: pulumi.String("Terraform cluster template foo"),
    		})
    		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 new rancher2 Cluster Template
        var foo = new Rancher2.ClusterTemplate("foo", new()
        {
            Name = "foo",
            Members = new[]
            {
                new Rancher2.Inputs.ClusterTemplateMemberArgs
                {
                    AccessType = "owner",
                    UserPrincipalId = "local://user-XXXXX",
                },
            },
            TemplateRevisions = new[]
            {
                new Rancher2.Inputs.ClusterTemplateTemplateRevisionArgs
                {
                    Name = "V1",
                    ClusterConfig = new Rancher2.Inputs.ClusterTemplateTemplateRevisionClusterConfigArgs
                    {
                        RkeConfig = new Rancher2.Inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigArgs
                        {
                            Network = new Rancher2.Inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigNetworkArgs
                            {
                                Plugin = "canal",
                            },
                            Services = new Rancher2.Inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesArgs
                            {
                                Etcd = new Rancher2.Inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesEtcdArgs
                                {
                                    Creation = "6h",
                                    Retention = "24h",
                                },
                            },
                        },
                    },
                    Default = true,
                },
            },
            Description = "Terraform cluster template foo",
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.rancher2.ClusterTemplate;
    import com.pulumi.rancher2.ClusterTemplateArgs;
    import com.pulumi.rancher2.inputs.ClusterTemplateMemberArgs;
    import com.pulumi.rancher2.inputs.ClusterTemplateTemplateRevisionArgs;
    import com.pulumi.rancher2.inputs.ClusterTemplateTemplateRevisionClusterConfigArgs;
    import com.pulumi.rancher2.inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigArgs;
    import com.pulumi.rancher2.inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigNetworkArgs;
    import com.pulumi.rancher2.inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesArgs;
    import com.pulumi.rancher2.inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesEtcdArgs;
    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 new rancher2 Cluster Template
            var foo = new ClusterTemplate("foo", ClusterTemplateArgs.builder()
                .name("foo")
                .members(ClusterTemplateMemberArgs.builder()
                    .accessType("owner")
                    .userPrincipalId("local://user-XXXXX")
                    .build())
                .templateRevisions(ClusterTemplateTemplateRevisionArgs.builder()
                    .name("V1")
                    .clusterConfig(ClusterTemplateTemplateRevisionClusterConfigArgs.builder()
                        .rkeConfig(ClusterTemplateTemplateRevisionClusterConfigRkeConfigArgs.builder()
                            .network(ClusterTemplateTemplateRevisionClusterConfigRkeConfigNetworkArgs.builder()
                                .plugin("canal")
                                .build())
                            .services(ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesArgs.builder()
                                .etcd(ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesEtcdArgs.builder()
                                    .creation("6h")
                                    .retention("24h")
                                    .build())
                                .build())
                            .build())
                        .build())
                    .default_(true)
                    .build())
                .description("Terraform cluster template foo")
                .build());
    
        }
    }
    
    resources:
      # Create a new rancher2 Cluster Template
      foo:
        type: rancher2:ClusterTemplate
        properties:
          name: foo
          members:
            - accessType: owner
              userPrincipalId: local://user-XXXXX
          templateRevisions:
            - name: V1
              clusterConfig:
                rkeConfig:
                  network:
                    plugin: canal
                  services:
                    etcd:
                      creation: 6h
                      retention: 24h
              default: true
          description: Terraform cluster template foo
    

    Creating Rancher v2 RKE cluster template with upgrade strategy. For Rancher v2.4.x and above.

    import * as pulumi from "@pulumi/pulumi";
    import * as rancher2 from "@pulumi/rancher2";
    
    // Create a new rancher2 Cluster Template
    const foo = new rancher2.ClusterTemplate("foo", {
        name: "foo",
        members: [{
            accessType: "owner",
            userPrincipalId: "local://user-XXXXX",
        }],
        templateRevisions: [{
            name: "V1",
            clusterConfig: {
                rkeConfig: {
                    network: {
                        plugin: "canal",
                    },
                    services: {
                        etcd: {
                            creation: "6h",
                            retention: "24h",
                        },
                    },
                    upgradeStrategy: {
                        drain: true,
                        maxUnavailableWorker: "20%",
                    },
                },
            },
            "default": true,
        }],
        description: "Terraform cluster template foo",
    });
    
    import pulumi
    import pulumi_rancher2 as rancher2
    
    # Create a new rancher2 Cluster Template
    foo = rancher2.ClusterTemplate("foo",
        name="foo",
        members=[rancher2.ClusterTemplateMemberArgs(
            access_type="owner",
            user_principal_id="local://user-XXXXX",
        )],
        template_revisions=[rancher2.ClusterTemplateTemplateRevisionArgs(
            name="V1",
            cluster_config=rancher2.ClusterTemplateTemplateRevisionClusterConfigArgs(
                rke_config=rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigArgs(
                    network=rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigNetworkArgs(
                        plugin="canal",
                    ),
                    services=rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesArgs(
                        etcd=rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesEtcdArgs(
                            creation="6h",
                            retention="24h",
                        ),
                    ),
                    upgrade_strategy=rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigUpgradeStrategyArgs(
                        drain=True,
                        max_unavailable_worker="20%",
                    ),
                ),
            ),
            default=True,
        )],
        description="Terraform cluster template foo")
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-rancher2/sdk/v6/go/rancher2"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		// Create a new rancher2 Cluster Template
    		_, err := rancher2.NewClusterTemplate(ctx, "foo", &rancher2.ClusterTemplateArgs{
    			Name: pulumi.String("foo"),
    			Members: rancher2.ClusterTemplateMemberArray{
    				&rancher2.ClusterTemplateMemberArgs{
    					AccessType:      pulumi.String("owner"),
    					UserPrincipalId: pulumi.String("local://user-XXXXX"),
    				},
    			},
    			TemplateRevisions: rancher2.ClusterTemplateTemplateRevisionArray{
    				&rancher2.ClusterTemplateTemplateRevisionArgs{
    					Name: pulumi.String("V1"),
    					ClusterConfig: &rancher2.ClusterTemplateTemplateRevisionClusterConfigArgs{
    						RkeConfig: &rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigArgs{
    							Network: &rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigNetworkArgs{
    								Plugin: pulumi.String("canal"),
    							},
    							Services: &rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesArgs{
    								Etcd: &rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesEtcdArgs{
    									Creation:  pulumi.String("6h"),
    									Retention: pulumi.String("24h"),
    								},
    							},
    							UpgradeStrategy: &rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigUpgradeStrategyArgs{
    								Drain:                pulumi.Bool(true),
    								MaxUnavailableWorker: pulumi.String("20%"),
    							},
    						},
    					},
    					Default: pulumi.Bool(true),
    				},
    			},
    			Description: pulumi.String("Terraform cluster template foo"),
    		})
    		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 new rancher2 Cluster Template
        var foo = new Rancher2.ClusterTemplate("foo", new()
        {
            Name = "foo",
            Members = new[]
            {
                new Rancher2.Inputs.ClusterTemplateMemberArgs
                {
                    AccessType = "owner",
                    UserPrincipalId = "local://user-XXXXX",
                },
            },
            TemplateRevisions = new[]
            {
                new Rancher2.Inputs.ClusterTemplateTemplateRevisionArgs
                {
                    Name = "V1",
                    ClusterConfig = new Rancher2.Inputs.ClusterTemplateTemplateRevisionClusterConfigArgs
                    {
                        RkeConfig = new Rancher2.Inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigArgs
                        {
                            Network = new Rancher2.Inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigNetworkArgs
                            {
                                Plugin = "canal",
                            },
                            Services = new Rancher2.Inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesArgs
                            {
                                Etcd = new Rancher2.Inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesEtcdArgs
                                {
                                    Creation = "6h",
                                    Retention = "24h",
                                },
                            },
                            UpgradeStrategy = new Rancher2.Inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigUpgradeStrategyArgs
                            {
                                Drain = true,
                                MaxUnavailableWorker = "20%",
                            },
                        },
                    },
                    Default = true,
                },
            },
            Description = "Terraform cluster template foo",
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.rancher2.ClusterTemplate;
    import com.pulumi.rancher2.ClusterTemplateArgs;
    import com.pulumi.rancher2.inputs.ClusterTemplateMemberArgs;
    import com.pulumi.rancher2.inputs.ClusterTemplateTemplateRevisionArgs;
    import com.pulumi.rancher2.inputs.ClusterTemplateTemplateRevisionClusterConfigArgs;
    import com.pulumi.rancher2.inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigArgs;
    import com.pulumi.rancher2.inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigNetworkArgs;
    import com.pulumi.rancher2.inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesArgs;
    import com.pulumi.rancher2.inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesEtcdArgs;
    import com.pulumi.rancher2.inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigUpgradeStrategyArgs;
    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 new rancher2 Cluster Template
            var foo = new ClusterTemplate("foo", ClusterTemplateArgs.builder()
                .name("foo")
                .members(ClusterTemplateMemberArgs.builder()
                    .accessType("owner")
                    .userPrincipalId("local://user-XXXXX")
                    .build())
                .templateRevisions(ClusterTemplateTemplateRevisionArgs.builder()
                    .name("V1")
                    .clusterConfig(ClusterTemplateTemplateRevisionClusterConfigArgs.builder()
                        .rkeConfig(ClusterTemplateTemplateRevisionClusterConfigRkeConfigArgs.builder()
                            .network(ClusterTemplateTemplateRevisionClusterConfigRkeConfigNetworkArgs.builder()
                                .plugin("canal")
                                .build())
                            .services(ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesArgs.builder()
                                .etcd(ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesEtcdArgs.builder()
                                    .creation("6h")
                                    .retention("24h")
                                    .build())
                                .build())
                            .upgradeStrategy(ClusterTemplateTemplateRevisionClusterConfigRkeConfigUpgradeStrategyArgs.builder()
                                .drain(true)
                                .maxUnavailableWorker("20%")
                                .build())
                            .build())
                        .build())
                    .default_(true)
                    .build())
                .description("Terraform cluster template foo")
                .build());
    
        }
    }
    
    resources:
      # Create a new rancher2 Cluster Template
      foo:
        type: rancher2:ClusterTemplate
        properties:
          name: foo
          members:
            - accessType: owner
              userPrincipalId: local://user-XXXXX
          templateRevisions:
            - name: V1
              clusterConfig:
                rkeConfig:
                  network:
                    plugin: canal
                  services:
                    etcd:
                      creation: 6h
                      retention: 24h
                  upgradeStrategy:
                    drain: true
                    maxUnavailableWorker: 20%
              default: true
          description: Terraform cluster template foo
    

    Create ClusterTemplate Resource

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

    Constructor syntax

    new ClusterTemplate(name: string, args?: ClusterTemplateArgs, opts?: CustomResourceOptions);
    @overload
    def ClusterTemplate(resource_name: str,
                        args: Optional[ClusterTemplateArgs] = None,
                        opts: Optional[ResourceOptions] = None)
    
    @overload
    def ClusterTemplate(resource_name: str,
                        opts: Optional[ResourceOptions] = None,
                        annotations: Optional[Mapping[str, Any]] = None,
                        description: Optional[str] = None,
                        labels: Optional[Mapping[str, Any]] = None,
                        members: Optional[Sequence[ClusterTemplateMemberArgs]] = None,
                        name: Optional[str] = None,
                        template_revisions: Optional[Sequence[ClusterTemplateTemplateRevisionArgs]] = None)
    func NewClusterTemplate(ctx *Context, name string, args *ClusterTemplateArgs, opts ...ResourceOption) (*ClusterTemplate, error)
    public ClusterTemplate(string name, ClusterTemplateArgs? args = null, CustomResourceOptions? opts = null)
    public ClusterTemplate(String name, ClusterTemplateArgs args)
    public ClusterTemplate(String name, ClusterTemplateArgs args, CustomResourceOptions options)
    
    type: rancher2:ClusterTemplate
    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 ClusterTemplateArgs
    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 ClusterTemplateArgs
    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 ClusterTemplateArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args ClusterTemplateArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args ClusterTemplateArgs
    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 clusterTemplateResource = new Rancher2.ClusterTemplate("clusterTemplateResource", new()
    {
        Annotations = 
        {
            { "string", "any" },
        },
        Description = "string",
        Labels = 
        {
            { "string", "any" },
        },
        Members = new[]
        {
            new Rancher2.Inputs.ClusterTemplateMemberArgs
            {
                AccessType = "string",
                GroupPrincipalId = "string",
                UserPrincipalId = "string",
            },
        },
        Name = "string",
        TemplateRevisions = new[]
        {
            new Rancher2.Inputs.ClusterTemplateTemplateRevisionArgs
            {
                ClusterConfig = new Rancher2.Inputs.ClusterTemplateTemplateRevisionClusterConfigArgs
                {
                    RkeConfig = new Rancher2.Inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigArgs
                    {
                        AddonJobTimeout = 0,
                        Addons = "string",
                        AddonsIncludes = new[]
                        {
                            "string",
                        },
                        Authentication = new Rancher2.Inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigAuthenticationArgs
                        {
                            Sans = new[]
                            {
                                "string",
                            },
                            Strategy = "string",
                        },
                        Authorization = new Rancher2.Inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigAuthorizationArgs
                        {
                            Mode = "string",
                            Options = 
                            {
                                { "string", "any" },
                            },
                        },
                        BastionHost = new Rancher2.Inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigBastionHostArgs
                        {
                            Address = "string",
                            User = "string",
                            Port = "string",
                            SshAgentAuth = false,
                            SshKey = "string",
                            SshKeyPath = "string",
                        },
                        CloudProvider = new Rancher2.Inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigCloudProviderArgs
                        {
                            AwsCloudProvider = new Rancher2.Inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigCloudProviderAwsCloudProviderArgs
                            {
                                Global = new Rancher2.Inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigCloudProviderAwsCloudProviderGlobalArgs
                                {
                                    DisableSecurityGroupIngress = false,
                                    DisableStrictZoneCheck = false,
                                    ElbSecurityGroup = "string",
                                    KubernetesClusterId = "string",
                                    KubernetesClusterTag = "string",
                                    RoleArn = "string",
                                    RouteTableId = "string",
                                    SubnetId = "string",
                                    Vpc = "string",
                                    Zone = "string",
                                },
                                ServiceOverrides = new[]
                                {
                                    new Rancher2.Inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigCloudProviderAwsCloudProviderServiceOverrideArgs
                                    {
                                        Service = "string",
                                        Region = "string",
                                        SigningMethod = "string",
                                        SigningName = "string",
                                        SigningRegion = "string",
                                        Url = "string",
                                    },
                                },
                            },
                            AzureCloudProvider = new Rancher2.Inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigCloudProviderAzureCloudProviderArgs
                            {
                                SubscriptionId = "string",
                                TenantId = "string",
                                AadClientId = "string",
                                AadClientSecret = "string",
                                Location = "string",
                                PrimaryScaleSetName = "string",
                                CloudProviderBackoffDuration = 0,
                                CloudProviderBackoffExponent = 0,
                                CloudProviderBackoffJitter = 0,
                                CloudProviderBackoffRetries = 0,
                                CloudProviderRateLimit = false,
                                CloudProviderRateLimitBucket = 0,
                                CloudProviderRateLimitQps = 0,
                                LoadBalancerSku = "string",
                                AadClientCertPassword = "string",
                                MaximumLoadBalancerRuleCount = 0,
                                PrimaryAvailabilitySetName = "string",
                                CloudProviderBackoff = false,
                                ResourceGroup = "string",
                                RouteTableName = "string",
                                SecurityGroupName = "string",
                                SubnetName = "string",
                                Cloud = "string",
                                AadClientCertPath = "string",
                                UseInstanceMetadata = false,
                                UseManagedIdentityExtension = false,
                                VmType = "string",
                                VnetName = "string",
                                VnetResourceGroup = "string",
                            },
                            CustomCloudProvider = "string",
                            Name = "string",
                            OpenstackCloudProvider = new Rancher2.Inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigCloudProviderOpenstackCloudProviderArgs
                            {
                                Global = new Rancher2.Inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigCloudProviderOpenstackCloudProviderGlobalArgs
                                {
                                    AuthUrl = "string",
                                    Password = "string",
                                    Username = "string",
                                    CaFile = "string",
                                    DomainId = "string",
                                    DomainName = "string",
                                    Region = "string",
                                    TenantId = "string",
                                    TenantName = "string",
                                    TrustId = "string",
                                },
                                BlockStorage = new Rancher2.Inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigCloudProviderOpenstackCloudProviderBlockStorageArgs
                                {
                                    BsVersion = "string",
                                    IgnoreVolumeAz = false,
                                    TrustDevicePath = false,
                                },
                                LoadBalancer = new Rancher2.Inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigCloudProviderOpenstackCloudProviderLoadBalancerArgs
                                {
                                    CreateMonitor = false,
                                    FloatingNetworkId = "string",
                                    LbMethod = "string",
                                    LbProvider = "string",
                                    LbVersion = "string",
                                    ManageSecurityGroups = false,
                                    MonitorDelay = "string",
                                    MonitorMaxRetries = 0,
                                    MonitorTimeout = "string",
                                    SubnetId = "string",
                                    UseOctavia = false,
                                },
                                Metadata = new Rancher2.Inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigCloudProviderOpenstackCloudProviderMetadataArgs
                                {
                                    RequestTimeout = 0,
                                    SearchOrder = "string",
                                },
                                Route = new Rancher2.Inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigCloudProviderOpenstackCloudProviderRouteArgs
                                {
                                    RouterId = "string",
                                },
                            },
                            VsphereCloudProvider = new Rancher2.Inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigCloudProviderVsphereCloudProviderArgs
                            {
                                VirtualCenters = new[]
                                {
                                    new Rancher2.Inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigCloudProviderVsphereCloudProviderVirtualCenterArgs
                                    {
                                        Datacenters = "string",
                                        Name = "string",
                                        Password = "string",
                                        User = "string",
                                        Port = "string",
                                        SoapRoundtripCount = 0,
                                    },
                                },
                                Workspace = new Rancher2.Inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigCloudProviderVsphereCloudProviderWorkspaceArgs
                                {
                                    Datacenter = "string",
                                    Folder = "string",
                                    Server = "string",
                                    DefaultDatastore = "string",
                                    ResourcepoolPath = "string",
                                },
                                Disk = new Rancher2.Inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigCloudProviderVsphereCloudProviderDiskArgs
                                {
                                    ScsiControllerType = "string",
                                },
                                Global = new Rancher2.Inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigCloudProviderVsphereCloudProviderGlobalArgs
                                {
                                    Datacenters = "string",
                                    GracefulShutdownTimeout = "string",
                                    InsecureFlag = false,
                                    Password = "string",
                                    Port = "string",
                                    SoapRoundtripCount = 0,
                                    User = "string",
                                },
                                Network = new Rancher2.Inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigCloudProviderVsphereCloudProviderNetworkArgs
                                {
                                    PublicNetwork = "string",
                                },
                            },
                        },
                        Dns = new Rancher2.Inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigDnsArgs
                        {
                            LinearAutoscalerParams = new Rancher2.Inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigDnsLinearAutoscalerParamsArgs
                            {
                                CoresPerReplica = 0,
                                Max = 0,
                                Min = 0,
                                NodesPerReplica = 0,
                                PreventSinglePointFailure = false,
                            },
                            NodeSelector = 
                            {
                                { "string", "any" },
                            },
                            Nodelocal = new Rancher2.Inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigDnsNodelocalArgs
                            {
                                IpAddress = "string",
                                NodeSelector = 
                                {
                                    { "string", "any" },
                                },
                            },
                            Options = 
                            {
                                { "string", "any" },
                            },
                            Provider = "string",
                            ReverseCidrs = new[]
                            {
                                "string",
                            },
                            Tolerations = new[]
                            {
                                new Rancher2.Inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigDnsTolerationArgs
                                {
                                    Key = "string",
                                    Effect = "string",
                                    Operator = "string",
                                    Seconds = 0,
                                    Value = "string",
                                },
                            },
                            UpdateStrategy = new Rancher2.Inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigDnsUpdateStrategyArgs
                            {
                                RollingUpdate = new Rancher2.Inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigDnsUpdateStrategyRollingUpdateArgs
                                {
                                    MaxSurge = 0,
                                    MaxUnavailable = 0,
                                },
                                Strategy = "string",
                            },
                            UpstreamNameservers = new[]
                            {
                                "string",
                            },
                        },
                        EnableCriDockerd = false,
                        IgnoreDockerVersion = false,
                        Ingress = new Rancher2.Inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigIngressArgs
                        {
                            DefaultBackend = false,
                            DnsPolicy = "string",
                            ExtraArgs = 
                            {
                                { "string", "any" },
                            },
                            HttpPort = 0,
                            HttpsPort = 0,
                            NetworkMode = "string",
                            NodeSelector = 
                            {
                                { "string", "any" },
                            },
                            Options = 
                            {
                                { "string", "any" },
                            },
                            Provider = "string",
                            Tolerations = new[]
                            {
                                new Rancher2.Inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigIngressTolerationArgs
                                {
                                    Key = "string",
                                    Effect = "string",
                                    Operator = "string",
                                    Seconds = 0,
                                    Value = "string",
                                },
                            },
                            UpdateStrategy = new Rancher2.Inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigIngressUpdateStrategyArgs
                            {
                                RollingUpdate = new Rancher2.Inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigIngressUpdateStrategyRollingUpdateArgs
                                {
                                    MaxUnavailable = 0,
                                },
                                Strategy = "string",
                            },
                        },
                        KubernetesVersion = "string",
                        Monitoring = new Rancher2.Inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigMonitoringArgs
                        {
                            NodeSelector = 
                            {
                                { "string", "any" },
                            },
                            Options = 
                            {
                                { "string", "any" },
                            },
                            Provider = "string",
                            Replicas = 0,
                            Tolerations = new[]
                            {
                                new Rancher2.Inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigMonitoringTolerationArgs
                                {
                                    Key = "string",
                                    Effect = "string",
                                    Operator = "string",
                                    Seconds = 0,
                                    Value = "string",
                                },
                            },
                            UpdateStrategy = new Rancher2.Inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigMonitoringUpdateStrategyArgs
                            {
                                RollingUpdate = new Rancher2.Inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigMonitoringUpdateStrategyRollingUpdateArgs
                                {
                                    MaxSurge = 0,
                                    MaxUnavailable = 0,
                                },
                                Strategy = "string",
                            },
                        },
                        Network = new Rancher2.Inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigNetworkArgs
                        {
                            AciNetworkProvider = new Rancher2.Inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigNetworkAciNetworkProviderArgs
                            {
                                KubeApiVlan = "string",
                                ApicHosts = new[]
                                {
                                    "string",
                                },
                                ApicUserCrt = "string",
                                ApicUserKey = "string",
                                ApicUserName = "string",
                                EncapType = "string",
                                ExternDynamic = "string",
                                VrfTenant = "string",
                                VrfName = "string",
                                Token = "string",
                                SystemId = "string",
                                ServiceVlan = "string",
                                NodeSvcSubnet = "string",
                                NodeSubnet = "string",
                                Aep = "string",
                                McastRangeStart = "string",
                                McastRangeEnd = "string",
                                ExternStatic = "string",
                                L3outExternalNetworks = new[]
                                {
                                    "string",
                                },
                                L3out = "string",
                                MultusDisable = "string",
                                OvsMemoryLimit = "string",
                                ImagePullSecret = "string",
                                InfraVlan = "string",
                                InstallIstio = "string",
                                IstioProfile = "string",
                                KafkaBrokers = new[]
                                {
                                    "string",
                                },
                                KafkaClientCrt = "string",
                                KafkaClientKey = "string",
                                HostAgentLogLevel = "string",
                                GbpPodSubnet = "string",
                                EpRegistry = "string",
                                MaxNodesSvcGraph = "string",
                                EnableEndpointSlice = "string",
                                DurationWaitForNetwork = "string",
                                MtuHeadRoom = "string",
                                DropLogEnable = "string",
                                NoPriorityClass = "string",
                                NodePodIfEnable = "string",
                                DisableWaitForNetwork = "string",
                                DisablePeriodicSnatGlobalInfoSync = "string",
                                OpflexClientSsl = "string",
                                OpflexDeviceDeleteTimeout = "string",
                                OpflexLogLevel = "string",
                                OpflexMode = "string",
                                OpflexServerPort = "string",
                                OverlayVrfName = "string",
                                ImagePullPolicy = "string",
                                PbrTrackingNonSnat = "string",
                                PodSubnetChunkSize = "string",
                                RunGbpContainer = "string",
                                RunOpflexServerContainer = "string",
                                ServiceMonitorInterval = "string",
                                ControllerLogLevel = "string",
                                SnatContractScope = "string",
                                SnatNamespace = "string",
                                SnatPortRangeEnd = "string",
                                SnatPortRangeStart = "string",
                                SnatPortsPerNode = "string",
                                SriovEnable = "string",
                                SubnetDomainName = "string",
                                Capic = "string",
                                Tenant = "string",
                                ApicSubscriptionDelay = "string",
                                UseAciAnywhereCrd = "string",
                                UseAciCniPriorityClass = "string",
                                UseClusterRole = "string",
                                UseHostNetnsVolume = "string",
                                UseOpflexServerVolume = "string",
                                UsePrivilegedContainer = "string",
                                VmmController = "string",
                                VmmDomain = "string",
                                ApicRefreshTime = "string",
                                ApicRefreshTickerAdjust = "string",
                            },
                            CalicoNetworkProvider = new Rancher2.Inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigNetworkCalicoNetworkProviderArgs
                            {
                                CloudProvider = "string",
                            },
                            CanalNetworkProvider = new Rancher2.Inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigNetworkCanalNetworkProviderArgs
                            {
                                Iface = "string",
                            },
                            FlannelNetworkProvider = new Rancher2.Inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigNetworkFlannelNetworkProviderArgs
                            {
                                Iface = "string",
                            },
                            Mtu = 0,
                            Options = 
                            {
                                { "string", "any" },
                            },
                            Plugin = "string",
                            Tolerations = new[]
                            {
                                new Rancher2.Inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigNetworkTolerationArgs
                                {
                                    Key = "string",
                                    Effect = "string",
                                    Operator = "string",
                                    Seconds = 0,
                                    Value = "string",
                                },
                            },
                            WeaveNetworkProvider = new Rancher2.Inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigNetworkWeaveNetworkProviderArgs
                            {
                                Password = "string",
                            },
                        },
                        Nodes = new[]
                        {
                            new Rancher2.Inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigNodeArgs
                            {
                                Address = "string",
                                Roles = new[]
                                {
                                    "string",
                                },
                                User = "string",
                                DockerSocket = "string",
                                HostnameOverride = "string",
                                InternalAddress = "string",
                                Labels = 
                                {
                                    { "string", "any" },
                                },
                                NodeId = "string",
                                Port = "string",
                                SshAgentAuth = false,
                                SshKey = "string",
                                SshKeyPath = "string",
                            },
                        },
                        PrefixPath = "string",
                        PrivateRegistries = new[]
                        {
                            new Rancher2.Inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigPrivateRegistryArgs
                            {
                                Url = "string",
                                EcrCredentialPlugin = new Rancher2.Inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigPrivateRegistryEcrCredentialPluginArgs
                                {
                                    AwsAccessKeyId = "string",
                                    AwsSecretAccessKey = "string",
                                    AwsSessionToken = "string",
                                },
                                IsDefault = false,
                                Password = "string",
                                User = "string",
                            },
                        },
                        Services = new Rancher2.Inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesArgs
                        {
                            Etcd = new Rancher2.Inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesEtcdArgs
                            {
                                BackupConfig = new Rancher2.Inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesEtcdBackupConfigArgs
                                {
                                    Enabled = false,
                                    IntervalHours = 0,
                                    Retention = 0,
                                    S3BackupConfig = new Rancher2.Inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesEtcdBackupConfigS3BackupConfigArgs
                                    {
                                        BucketName = "string",
                                        Endpoint = "string",
                                        AccessKey = "string",
                                        CustomCa = "string",
                                        Folder = "string",
                                        Region = "string",
                                        SecretKey = "string",
                                    },
                                    SafeTimestamp = false,
                                    Timeout = 0,
                                },
                                CaCert = "string",
                                Cert = "string",
                                Creation = "string",
                                ExternalUrls = new[]
                                {
                                    "string",
                                },
                                ExtraArgs = 
                                {
                                    { "string", "any" },
                                },
                                ExtraBinds = new[]
                                {
                                    "string",
                                },
                                ExtraEnvs = new[]
                                {
                                    "string",
                                },
                                Gid = 0,
                                Image = "string",
                                Key = "string",
                                Path = "string",
                                Retention = "string",
                                Snapshot = false,
                                Uid = 0,
                            },
                            KubeApi = new Rancher2.Inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesKubeApiArgs
                            {
                                AdmissionConfiguration = new Rancher2.Inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesKubeApiAdmissionConfigurationArgs
                                {
                                    ApiVersion = "string",
                                    Kind = "string",
                                    Plugins = new[]
                                    {
                                        new Rancher2.Inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesKubeApiAdmissionConfigurationPluginArgs
                                        {
                                            Configuration = "string",
                                            Name = "string",
                                            Path = "string",
                                        },
                                    },
                                },
                                AlwaysPullImages = false,
                                AuditLog = new Rancher2.Inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesKubeApiAuditLogArgs
                                {
                                    Configuration = new Rancher2.Inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesKubeApiAuditLogConfigurationArgs
                                    {
                                        Format = "string",
                                        MaxAge = 0,
                                        MaxBackup = 0,
                                        MaxSize = 0,
                                        Path = "string",
                                        Policy = "string",
                                    },
                                    Enabled = false,
                                },
                                EventRateLimit = new Rancher2.Inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesKubeApiEventRateLimitArgs
                                {
                                    Configuration = "string",
                                    Enabled = false,
                                },
                                ExtraArgs = 
                                {
                                    { "string", "any" },
                                },
                                ExtraBinds = new[]
                                {
                                    "string",
                                },
                                ExtraEnvs = new[]
                                {
                                    "string",
                                },
                                Image = "string",
                                PodSecurityPolicy = false,
                                SecretsEncryptionConfig = new Rancher2.Inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesKubeApiSecretsEncryptionConfigArgs
                                {
                                    CustomConfig = "string",
                                    Enabled = false,
                                },
                                ServiceClusterIpRange = "string",
                                ServiceNodePortRange = "string",
                            },
                            KubeController = new Rancher2.Inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesKubeControllerArgs
                            {
                                ClusterCidr = "string",
                                ExtraArgs = 
                                {
                                    { "string", "any" },
                                },
                                ExtraBinds = new[]
                                {
                                    "string",
                                },
                                ExtraEnvs = new[]
                                {
                                    "string",
                                },
                                Image = "string",
                                ServiceClusterIpRange = "string",
                            },
                            Kubelet = new Rancher2.Inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesKubeletArgs
                            {
                                ClusterDnsServer = "string",
                                ClusterDomain = "string",
                                ExtraArgs = 
                                {
                                    { "string", "any" },
                                },
                                ExtraBinds = new[]
                                {
                                    "string",
                                },
                                ExtraEnvs = new[]
                                {
                                    "string",
                                },
                                FailSwapOn = false,
                                GenerateServingCertificate = false,
                                Image = "string",
                                InfraContainerImage = "string",
                            },
                            Kubeproxy = new Rancher2.Inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesKubeproxyArgs
                            {
                                ExtraArgs = 
                                {
                                    { "string", "any" },
                                },
                                ExtraBinds = new[]
                                {
                                    "string",
                                },
                                ExtraEnvs = new[]
                                {
                                    "string",
                                },
                                Image = "string",
                            },
                            Scheduler = new Rancher2.Inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesSchedulerArgs
                            {
                                ExtraArgs = 
                                {
                                    { "string", "any" },
                                },
                                ExtraBinds = new[]
                                {
                                    "string",
                                },
                                ExtraEnvs = new[]
                                {
                                    "string",
                                },
                                Image = "string",
                            },
                        },
                        SshAgentAuth = false,
                        SshCertPath = "string",
                        SshKeyPath = "string",
                        UpgradeStrategy = new Rancher2.Inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigUpgradeStrategyArgs
                        {
                            Drain = false,
                            DrainInput = new Rancher2.Inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigUpgradeStrategyDrainInputArgs
                            {
                                DeleteLocalData = false,
                                Force = false,
                                GracePeriod = 0,
                                IgnoreDaemonSets = false,
                                Timeout = 0,
                            },
                            MaxUnavailableControlplane = "string",
                            MaxUnavailableWorker = "string",
                        },
                        WinPrefixPath = "string",
                    },
                    ClusterAuthEndpoint = new Rancher2.Inputs.ClusterTemplateTemplateRevisionClusterConfigClusterAuthEndpointArgs
                    {
                        CaCerts = "string",
                        Enabled = false,
                        Fqdn = "string",
                    },
                    DefaultClusterRoleForProjectMembers = "string",
                    DefaultPodSecurityAdmissionConfigurationTemplateName = "string",
                    DefaultPodSecurityPolicyTemplateId = "string",
                    DesiredAgentImage = "string",
                    DesiredAuthImage = "string",
                    DockerRootDir = "string",
                    EnableClusterAlerting = false,
                    EnableClusterMonitoring = false,
                    EnableNetworkPolicy = false,
                    WindowsPreferedCluster = false,
                },
                Name = "string",
                Annotations = 
                {
                    { "string", "any" },
                },
                ClusterTemplateId = "string",
                Default = false,
                Enabled = false,
                Id = "string",
                Labels = 
                {
                    { "string", "any" },
                },
                Questions = new[]
                {
                    new Rancher2.Inputs.ClusterTemplateTemplateRevisionQuestionArgs
                    {
                        Default = "string",
                        Variable = "string",
                        Required = false,
                        Type = "string",
                    },
                },
            },
        },
    });
    
    example, err := rancher2.NewClusterTemplate(ctx, "clusterTemplateResource", &rancher2.ClusterTemplateArgs{
    	Annotations: pulumi.Map{
    		"string": pulumi.Any("any"),
    	},
    	Description: pulumi.String("string"),
    	Labels: pulumi.Map{
    		"string": pulumi.Any("any"),
    	},
    	Members: rancher2.ClusterTemplateMemberArray{
    		&rancher2.ClusterTemplateMemberArgs{
    			AccessType:       pulumi.String("string"),
    			GroupPrincipalId: pulumi.String("string"),
    			UserPrincipalId:  pulumi.String("string"),
    		},
    	},
    	Name: pulumi.String("string"),
    	TemplateRevisions: rancher2.ClusterTemplateTemplateRevisionArray{
    		&rancher2.ClusterTemplateTemplateRevisionArgs{
    			ClusterConfig: &rancher2.ClusterTemplateTemplateRevisionClusterConfigArgs{
    				RkeConfig: &rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigArgs{
    					AddonJobTimeout: pulumi.Int(0),
    					Addons:          pulumi.String("string"),
    					AddonsIncludes: pulumi.StringArray{
    						pulumi.String("string"),
    					},
    					Authentication: &rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigAuthenticationArgs{
    						Sans: pulumi.StringArray{
    							pulumi.String("string"),
    						},
    						Strategy: pulumi.String("string"),
    					},
    					Authorization: &rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigAuthorizationArgs{
    						Mode: pulumi.String("string"),
    						Options: pulumi.Map{
    							"string": pulumi.Any("any"),
    						},
    					},
    					BastionHost: &rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigBastionHostArgs{
    						Address:      pulumi.String("string"),
    						User:         pulumi.String("string"),
    						Port:         pulumi.String("string"),
    						SshAgentAuth: pulumi.Bool(false),
    						SshKey:       pulumi.String("string"),
    						SshKeyPath:   pulumi.String("string"),
    					},
    					CloudProvider: &rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigCloudProviderArgs{
    						AwsCloudProvider: &rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigCloudProviderAwsCloudProviderArgs{
    							Global: &rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigCloudProviderAwsCloudProviderGlobalArgs{
    								DisableSecurityGroupIngress: pulumi.Bool(false),
    								DisableStrictZoneCheck:      pulumi.Bool(false),
    								ElbSecurityGroup:            pulumi.String("string"),
    								KubernetesClusterId:         pulumi.String("string"),
    								KubernetesClusterTag:        pulumi.String("string"),
    								RoleArn:                     pulumi.String("string"),
    								RouteTableId:                pulumi.String("string"),
    								SubnetId:                    pulumi.String("string"),
    								Vpc:                         pulumi.String("string"),
    								Zone:                        pulumi.String("string"),
    							},
    							ServiceOverrides: rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigCloudProviderAwsCloudProviderServiceOverrideArray{
    								&rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigCloudProviderAwsCloudProviderServiceOverrideArgs{
    									Service:       pulumi.String("string"),
    									Region:        pulumi.String("string"),
    									SigningMethod: pulumi.String("string"),
    									SigningName:   pulumi.String("string"),
    									SigningRegion: pulumi.String("string"),
    									Url:           pulumi.String("string"),
    								},
    							},
    						},
    						AzureCloudProvider: &rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigCloudProviderAzureCloudProviderArgs{
    							SubscriptionId:               pulumi.String("string"),
    							TenantId:                     pulumi.String("string"),
    							AadClientId:                  pulumi.String("string"),
    							AadClientSecret:              pulumi.String("string"),
    							Location:                     pulumi.String("string"),
    							PrimaryScaleSetName:          pulumi.String("string"),
    							CloudProviderBackoffDuration: pulumi.Int(0),
    							CloudProviderBackoffExponent: pulumi.Int(0),
    							CloudProviderBackoffJitter:   pulumi.Int(0),
    							CloudProviderBackoffRetries:  pulumi.Int(0),
    							CloudProviderRateLimit:       pulumi.Bool(false),
    							CloudProviderRateLimitBucket: pulumi.Int(0),
    							CloudProviderRateLimitQps:    pulumi.Int(0),
    							LoadBalancerSku:              pulumi.String("string"),
    							AadClientCertPassword:        pulumi.String("string"),
    							MaximumLoadBalancerRuleCount: pulumi.Int(0),
    							PrimaryAvailabilitySetName:   pulumi.String("string"),
    							CloudProviderBackoff:         pulumi.Bool(false),
    							ResourceGroup:                pulumi.String("string"),
    							RouteTableName:               pulumi.String("string"),
    							SecurityGroupName:            pulumi.String("string"),
    							SubnetName:                   pulumi.String("string"),
    							Cloud:                        pulumi.String("string"),
    							AadClientCertPath:            pulumi.String("string"),
    							UseInstanceMetadata:          pulumi.Bool(false),
    							UseManagedIdentityExtension:  pulumi.Bool(false),
    							VmType:                       pulumi.String("string"),
    							VnetName:                     pulumi.String("string"),
    							VnetResourceGroup:            pulumi.String("string"),
    						},
    						CustomCloudProvider: pulumi.String("string"),
    						Name:                pulumi.String("string"),
    						OpenstackCloudProvider: &rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigCloudProviderOpenstackCloudProviderArgs{
    							Global: &rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigCloudProviderOpenstackCloudProviderGlobalArgs{
    								AuthUrl:    pulumi.String("string"),
    								Password:   pulumi.String("string"),
    								Username:   pulumi.String("string"),
    								CaFile:     pulumi.String("string"),
    								DomainId:   pulumi.String("string"),
    								DomainName: pulumi.String("string"),
    								Region:     pulumi.String("string"),
    								TenantId:   pulumi.String("string"),
    								TenantName: pulumi.String("string"),
    								TrustId:    pulumi.String("string"),
    							},
    							BlockStorage: &rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigCloudProviderOpenstackCloudProviderBlockStorageArgs{
    								BsVersion:       pulumi.String("string"),
    								IgnoreVolumeAz:  pulumi.Bool(false),
    								TrustDevicePath: pulumi.Bool(false),
    							},
    							LoadBalancer: &rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigCloudProviderOpenstackCloudProviderLoadBalancerArgs{
    								CreateMonitor:        pulumi.Bool(false),
    								FloatingNetworkId:    pulumi.String("string"),
    								LbMethod:             pulumi.String("string"),
    								LbProvider:           pulumi.String("string"),
    								LbVersion:            pulumi.String("string"),
    								ManageSecurityGroups: pulumi.Bool(false),
    								MonitorDelay:         pulumi.String("string"),
    								MonitorMaxRetries:    pulumi.Int(0),
    								MonitorTimeout:       pulumi.String("string"),
    								SubnetId:             pulumi.String("string"),
    								UseOctavia:           pulumi.Bool(false),
    							},
    							Metadata: &rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigCloudProviderOpenstackCloudProviderMetadataArgs{
    								RequestTimeout: pulumi.Int(0),
    								SearchOrder:    pulumi.String("string"),
    							},
    							Route: &rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigCloudProviderOpenstackCloudProviderRouteArgs{
    								RouterId: pulumi.String("string"),
    							},
    						},
    						VsphereCloudProvider: &rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigCloudProviderVsphereCloudProviderArgs{
    							VirtualCenters: rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigCloudProviderVsphereCloudProviderVirtualCenterArray{
    								&rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigCloudProviderVsphereCloudProviderVirtualCenterArgs{
    									Datacenters:        pulumi.String("string"),
    									Name:               pulumi.String("string"),
    									Password:           pulumi.String("string"),
    									User:               pulumi.String("string"),
    									Port:               pulumi.String("string"),
    									SoapRoundtripCount: pulumi.Int(0),
    								},
    							},
    							Workspace: &rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigCloudProviderVsphereCloudProviderWorkspaceArgs{
    								Datacenter:       pulumi.String("string"),
    								Folder:           pulumi.String("string"),
    								Server:           pulumi.String("string"),
    								DefaultDatastore: pulumi.String("string"),
    								ResourcepoolPath: pulumi.String("string"),
    							},
    							Disk: &rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigCloudProviderVsphereCloudProviderDiskArgs{
    								ScsiControllerType: pulumi.String("string"),
    							},
    							Global: &rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigCloudProviderVsphereCloudProviderGlobalArgs{
    								Datacenters:             pulumi.String("string"),
    								GracefulShutdownTimeout: pulumi.String("string"),
    								InsecureFlag:            pulumi.Bool(false),
    								Password:                pulumi.String("string"),
    								Port:                    pulumi.String("string"),
    								SoapRoundtripCount:      pulumi.Int(0),
    								User:                    pulumi.String("string"),
    							},
    							Network: &rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigCloudProviderVsphereCloudProviderNetworkArgs{
    								PublicNetwork: pulumi.String("string"),
    							},
    						},
    					},
    					Dns: &rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigDnsArgs{
    						LinearAutoscalerParams: &rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigDnsLinearAutoscalerParamsArgs{
    							CoresPerReplica:           pulumi.Float64(0),
    							Max:                       pulumi.Int(0),
    							Min:                       pulumi.Int(0),
    							NodesPerReplica:           pulumi.Float64(0),
    							PreventSinglePointFailure: pulumi.Bool(false),
    						},
    						NodeSelector: pulumi.Map{
    							"string": pulumi.Any("any"),
    						},
    						Nodelocal: &rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigDnsNodelocalArgs{
    							IpAddress: pulumi.String("string"),
    							NodeSelector: pulumi.Map{
    								"string": pulumi.Any("any"),
    							},
    						},
    						Options: pulumi.Map{
    							"string": pulumi.Any("any"),
    						},
    						Provider: pulumi.String("string"),
    						ReverseCidrs: pulumi.StringArray{
    							pulumi.String("string"),
    						},
    						Tolerations: rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigDnsTolerationArray{
    							&rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigDnsTolerationArgs{
    								Key:      pulumi.String("string"),
    								Effect:   pulumi.String("string"),
    								Operator: pulumi.String("string"),
    								Seconds:  pulumi.Int(0),
    								Value:    pulumi.String("string"),
    							},
    						},
    						UpdateStrategy: &rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigDnsUpdateStrategyArgs{
    							RollingUpdate: &rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigDnsUpdateStrategyRollingUpdateArgs{
    								MaxSurge:       pulumi.Int(0),
    								MaxUnavailable: pulumi.Int(0),
    							},
    							Strategy: pulumi.String("string"),
    						},
    						UpstreamNameservers: pulumi.StringArray{
    							pulumi.String("string"),
    						},
    					},
    					EnableCriDockerd:    pulumi.Bool(false),
    					IgnoreDockerVersion: pulumi.Bool(false),
    					Ingress: &rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigIngressArgs{
    						DefaultBackend: pulumi.Bool(false),
    						DnsPolicy:      pulumi.String("string"),
    						ExtraArgs: pulumi.Map{
    							"string": pulumi.Any("any"),
    						},
    						HttpPort:    pulumi.Int(0),
    						HttpsPort:   pulumi.Int(0),
    						NetworkMode: pulumi.String("string"),
    						NodeSelector: pulumi.Map{
    							"string": pulumi.Any("any"),
    						},
    						Options: pulumi.Map{
    							"string": pulumi.Any("any"),
    						},
    						Provider: pulumi.String("string"),
    						Tolerations: rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigIngressTolerationArray{
    							&rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigIngressTolerationArgs{
    								Key:      pulumi.String("string"),
    								Effect:   pulumi.String("string"),
    								Operator: pulumi.String("string"),
    								Seconds:  pulumi.Int(0),
    								Value:    pulumi.String("string"),
    							},
    						},
    						UpdateStrategy: &rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigIngressUpdateStrategyArgs{
    							RollingUpdate: &rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigIngressUpdateStrategyRollingUpdateArgs{
    								MaxUnavailable: pulumi.Int(0),
    							},
    							Strategy: pulumi.String("string"),
    						},
    					},
    					KubernetesVersion: pulumi.String("string"),
    					Monitoring: &rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigMonitoringArgs{
    						NodeSelector: pulumi.Map{
    							"string": pulumi.Any("any"),
    						},
    						Options: pulumi.Map{
    							"string": pulumi.Any("any"),
    						},
    						Provider: pulumi.String("string"),
    						Replicas: pulumi.Int(0),
    						Tolerations: rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigMonitoringTolerationArray{
    							&rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigMonitoringTolerationArgs{
    								Key:      pulumi.String("string"),
    								Effect:   pulumi.String("string"),
    								Operator: pulumi.String("string"),
    								Seconds:  pulumi.Int(0),
    								Value:    pulumi.String("string"),
    							},
    						},
    						UpdateStrategy: &rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigMonitoringUpdateStrategyArgs{
    							RollingUpdate: &rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigMonitoringUpdateStrategyRollingUpdateArgs{
    								MaxSurge:       pulumi.Int(0),
    								MaxUnavailable: pulumi.Int(0),
    							},
    							Strategy: pulumi.String("string"),
    						},
    					},
    					Network: &rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigNetworkArgs{
    						AciNetworkProvider: &rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigNetworkAciNetworkProviderArgs{
    							KubeApiVlan: pulumi.String("string"),
    							ApicHosts: pulumi.StringArray{
    								pulumi.String("string"),
    							},
    							ApicUserCrt:     pulumi.String("string"),
    							ApicUserKey:     pulumi.String("string"),
    							ApicUserName:    pulumi.String("string"),
    							EncapType:       pulumi.String("string"),
    							ExternDynamic:   pulumi.String("string"),
    							VrfTenant:       pulumi.String("string"),
    							VrfName:         pulumi.String("string"),
    							Token:           pulumi.String("string"),
    							SystemId:        pulumi.String("string"),
    							ServiceVlan:     pulumi.String("string"),
    							NodeSvcSubnet:   pulumi.String("string"),
    							NodeSubnet:      pulumi.String("string"),
    							Aep:             pulumi.String("string"),
    							McastRangeStart: pulumi.String("string"),
    							McastRangeEnd:   pulumi.String("string"),
    							ExternStatic:    pulumi.String("string"),
    							L3outExternalNetworks: pulumi.StringArray{
    								pulumi.String("string"),
    							},
    							L3out:           pulumi.String("string"),
    							MultusDisable:   pulumi.String("string"),
    							OvsMemoryLimit:  pulumi.String("string"),
    							ImagePullSecret: pulumi.String("string"),
    							InfraVlan:       pulumi.String("string"),
    							InstallIstio:    pulumi.String("string"),
    							IstioProfile:    pulumi.String("string"),
    							KafkaBrokers: pulumi.StringArray{
    								pulumi.String("string"),
    							},
    							KafkaClientCrt:                    pulumi.String("string"),
    							KafkaClientKey:                    pulumi.String("string"),
    							HostAgentLogLevel:                 pulumi.String("string"),
    							GbpPodSubnet:                      pulumi.String("string"),
    							EpRegistry:                        pulumi.String("string"),
    							MaxNodesSvcGraph:                  pulumi.String("string"),
    							EnableEndpointSlice:               pulumi.String("string"),
    							DurationWaitForNetwork:            pulumi.String("string"),
    							MtuHeadRoom:                       pulumi.String("string"),
    							DropLogEnable:                     pulumi.String("string"),
    							NoPriorityClass:                   pulumi.String("string"),
    							NodePodIfEnable:                   pulumi.String("string"),
    							DisableWaitForNetwork:             pulumi.String("string"),
    							DisablePeriodicSnatGlobalInfoSync: pulumi.String("string"),
    							OpflexClientSsl:                   pulumi.String("string"),
    							OpflexDeviceDeleteTimeout:         pulumi.String("string"),
    							OpflexLogLevel:                    pulumi.String("string"),
    							OpflexMode:                        pulumi.String("string"),
    							OpflexServerPort:                  pulumi.String("string"),
    							OverlayVrfName:                    pulumi.String("string"),
    							ImagePullPolicy:                   pulumi.String("string"),
    							PbrTrackingNonSnat:                pulumi.String("string"),
    							PodSubnetChunkSize:                pulumi.String("string"),
    							RunGbpContainer:                   pulumi.String("string"),
    							RunOpflexServerContainer:          pulumi.String("string"),
    							ServiceMonitorInterval:            pulumi.String("string"),
    							ControllerLogLevel:                pulumi.String("string"),
    							SnatContractScope:                 pulumi.String("string"),
    							SnatNamespace:                     pulumi.String("string"),
    							SnatPortRangeEnd:                  pulumi.String("string"),
    							SnatPortRangeStart:                pulumi.String("string"),
    							SnatPortsPerNode:                  pulumi.String("string"),
    							SriovEnable:                       pulumi.String("string"),
    							SubnetDomainName:                  pulumi.String("string"),
    							Capic:                             pulumi.String("string"),
    							Tenant:                            pulumi.String("string"),
    							ApicSubscriptionDelay:             pulumi.String("string"),
    							UseAciAnywhereCrd:                 pulumi.String("string"),
    							UseAciCniPriorityClass:            pulumi.String("string"),
    							UseClusterRole:                    pulumi.String("string"),
    							UseHostNetnsVolume:                pulumi.String("string"),
    							UseOpflexServerVolume:             pulumi.String("string"),
    							UsePrivilegedContainer:            pulumi.String("string"),
    							VmmController:                     pulumi.String("string"),
    							VmmDomain:                         pulumi.String("string"),
    							ApicRefreshTime:                   pulumi.String("string"),
    							ApicRefreshTickerAdjust:           pulumi.String("string"),
    						},
    						CalicoNetworkProvider: &rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigNetworkCalicoNetworkProviderArgs{
    							CloudProvider: pulumi.String("string"),
    						},
    						CanalNetworkProvider: &rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigNetworkCanalNetworkProviderArgs{
    							Iface: pulumi.String("string"),
    						},
    						FlannelNetworkProvider: &rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigNetworkFlannelNetworkProviderArgs{
    							Iface: pulumi.String("string"),
    						},
    						Mtu: pulumi.Int(0),
    						Options: pulumi.Map{
    							"string": pulumi.Any("any"),
    						},
    						Plugin: pulumi.String("string"),
    						Tolerations: rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigNetworkTolerationArray{
    							&rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigNetworkTolerationArgs{
    								Key:      pulumi.String("string"),
    								Effect:   pulumi.String("string"),
    								Operator: pulumi.String("string"),
    								Seconds:  pulumi.Int(0),
    								Value:    pulumi.String("string"),
    							},
    						},
    						WeaveNetworkProvider: &rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigNetworkWeaveNetworkProviderArgs{
    							Password: pulumi.String("string"),
    						},
    					},
    					Nodes: rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigNodeArray{
    						&rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigNodeArgs{
    							Address: pulumi.String("string"),
    							Roles: pulumi.StringArray{
    								pulumi.String("string"),
    							},
    							User:             pulumi.String("string"),
    							DockerSocket:     pulumi.String("string"),
    							HostnameOverride: pulumi.String("string"),
    							InternalAddress:  pulumi.String("string"),
    							Labels: pulumi.Map{
    								"string": pulumi.Any("any"),
    							},
    							NodeId:       pulumi.String("string"),
    							Port:         pulumi.String("string"),
    							SshAgentAuth: pulumi.Bool(false),
    							SshKey:       pulumi.String("string"),
    							SshKeyPath:   pulumi.String("string"),
    						},
    					},
    					PrefixPath: pulumi.String("string"),
    					PrivateRegistries: rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigPrivateRegistryArray{
    						&rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigPrivateRegistryArgs{
    							Url: pulumi.String("string"),
    							EcrCredentialPlugin: &rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigPrivateRegistryEcrCredentialPluginArgs{
    								AwsAccessKeyId:     pulumi.String("string"),
    								AwsSecretAccessKey: pulumi.String("string"),
    								AwsSessionToken:    pulumi.String("string"),
    							},
    							IsDefault: pulumi.Bool(false),
    							Password:  pulumi.String("string"),
    							User:      pulumi.String("string"),
    						},
    					},
    					Services: &rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesArgs{
    						Etcd: &rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesEtcdArgs{
    							BackupConfig: &rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesEtcdBackupConfigArgs{
    								Enabled:       pulumi.Bool(false),
    								IntervalHours: pulumi.Int(0),
    								Retention:     pulumi.Int(0),
    								S3BackupConfig: &rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesEtcdBackupConfigS3BackupConfigArgs{
    									BucketName: pulumi.String("string"),
    									Endpoint:   pulumi.String("string"),
    									AccessKey:  pulumi.String("string"),
    									CustomCa:   pulumi.String("string"),
    									Folder:     pulumi.String("string"),
    									Region:     pulumi.String("string"),
    									SecretKey:  pulumi.String("string"),
    								},
    								SafeTimestamp: pulumi.Bool(false),
    								Timeout:       pulumi.Int(0),
    							},
    							CaCert:   pulumi.String("string"),
    							Cert:     pulumi.String("string"),
    							Creation: pulumi.String("string"),
    							ExternalUrls: pulumi.StringArray{
    								pulumi.String("string"),
    							},
    							ExtraArgs: pulumi.Map{
    								"string": pulumi.Any("any"),
    							},
    							ExtraBinds: pulumi.StringArray{
    								pulumi.String("string"),
    							},
    							ExtraEnvs: pulumi.StringArray{
    								pulumi.String("string"),
    							},
    							Gid:       pulumi.Int(0),
    							Image:     pulumi.String("string"),
    							Key:       pulumi.String("string"),
    							Path:      pulumi.String("string"),
    							Retention: pulumi.String("string"),
    							Snapshot:  pulumi.Bool(false),
    							Uid:       pulumi.Int(0),
    						},
    						KubeApi: &rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesKubeApiArgs{
    							AdmissionConfiguration: &rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesKubeApiAdmissionConfigurationArgs{
    								ApiVersion: pulumi.String("string"),
    								Kind:       pulumi.String("string"),
    								Plugins: rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesKubeApiAdmissionConfigurationPluginArray{
    									&rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesKubeApiAdmissionConfigurationPluginArgs{
    										Configuration: pulumi.String("string"),
    										Name:          pulumi.String("string"),
    										Path:          pulumi.String("string"),
    									},
    								},
    							},
    							AlwaysPullImages: pulumi.Bool(false),
    							AuditLog: &rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesKubeApiAuditLogArgs{
    								Configuration: &rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesKubeApiAuditLogConfigurationArgs{
    									Format:    pulumi.String("string"),
    									MaxAge:    pulumi.Int(0),
    									MaxBackup: pulumi.Int(0),
    									MaxSize:   pulumi.Int(0),
    									Path:      pulumi.String("string"),
    									Policy:    pulumi.String("string"),
    								},
    								Enabled: pulumi.Bool(false),
    							},
    							EventRateLimit: &rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesKubeApiEventRateLimitArgs{
    								Configuration: pulumi.String("string"),
    								Enabled:       pulumi.Bool(false),
    							},
    							ExtraArgs: pulumi.Map{
    								"string": pulumi.Any("any"),
    							},
    							ExtraBinds: pulumi.StringArray{
    								pulumi.String("string"),
    							},
    							ExtraEnvs: pulumi.StringArray{
    								pulumi.String("string"),
    							},
    							Image:             pulumi.String("string"),
    							PodSecurityPolicy: pulumi.Bool(false),
    							SecretsEncryptionConfig: &rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesKubeApiSecretsEncryptionConfigArgs{
    								CustomConfig: pulumi.String("string"),
    								Enabled:      pulumi.Bool(false),
    							},
    							ServiceClusterIpRange: pulumi.String("string"),
    							ServiceNodePortRange:  pulumi.String("string"),
    						},
    						KubeController: &rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesKubeControllerArgs{
    							ClusterCidr: pulumi.String("string"),
    							ExtraArgs: pulumi.Map{
    								"string": pulumi.Any("any"),
    							},
    							ExtraBinds: pulumi.StringArray{
    								pulumi.String("string"),
    							},
    							ExtraEnvs: pulumi.StringArray{
    								pulumi.String("string"),
    							},
    							Image:                 pulumi.String("string"),
    							ServiceClusterIpRange: pulumi.String("string"),
    						},
    						Kubelet: &rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesKubeletArgs{
    							ClusterDnsServer: pulumi.String("string"),
    							ClusterDomain:    pulumi.String("string"),
    							ExtraArgs: pulumi.Map{
    								"string": pulumi.Any("any"),
    							},
    							ExtraBinds: pulumi.StringArray{
    								pulumi.String("string"),
    							},
    							ExtraEnvs: pulumi.StringArray{
    								pulumi.String("string"),
    							},
    							FailSwapOn:                 pulumi.Bool(false),
    							GenerateServingCertificate: pulumi.Bool(false),
    							Image:                      pulumi.String("string"),
    							InfraContainerImage:        pulumi.String("string"),
    						},
    						Kubeproxy: &rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesKubeproxyArgs{
    							ExtraArgs: pulumi.Map{
    								"string": pulumi.Any("any"),
    							},
    							ExtraBinds: pulumi.StringArray{
    								pulumi.String("string"),
    							},
    							ExtraEnvs: pulumi.StringArray{
    								pulumi.String("string"),
    							},
    							Image: pulumi.String("string"),
    						},
    						Scheduler: &rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesSchedulerArgs{
    							ExtraArgs: pulumi.Map{
    								"string": pulumi.Any("any"),
    							},
    							ExtraBinds: pulumi.StringArray{
    								pulumi.String("string"),
    							},
    							ExtraEnvs: pulumi.StringArray{
    								pulumi.String("string"),
    							},
    							Image: pulumi.String("string"),
    						},
    					},
    					SshAgentAuth: pulumi.Bool(false),
    					SshCertPath:  pulumi.String("string"),
    					SshKeyPath:   pulumi.String("string"),
    					UpgradeStrategy: &rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigUpgradeStrategyArgs{
    						Drain: pulumi.Bool(false),
    						DrainInput: &rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigUpgradeStrategyDrainInputArgs{
    							DeleteLocalData:  pulumi.Bool(false),
    							Force:            pulumi.Bool(false),
    							GracePeriod:      pulumi.Int(0),
    							IgnoreDaemonSets: pulumi.Bool(false),
    							Timeout:          pulumi.Int(0),
    						},
    						MaxUnavailableControlplane: pulumi.String("string"),
    						MaxUnavailableWorker:       pulumi.String("string"),
    					},
    					WinPrefixPath: pulumi.String("string"),
    				},
    				ClusterAuthEndpoint: &rancher2.ClusterTemplateTemplateRevisionClusterConfigClusterAuthEndpointArgs{
    					CaCerts: pulumi.String("string"),
    					Enabled: pulumi.Bool(false),
    					Fqdn:    pulumi.String("string"),
    				},
    				DefaultClusterRoleForProjectMembers:                  pulumi.String("string"),
    				DefaultPodSecurityAdmissionConfigurationTemplateName: pulumi.String("string"),
    				DefaultPodSecurityPolicyTemplateId:                   pulumi.String("string"),
    				DesiredAgentImage:                                    pulumi.String("string"),
    				DesiredAuthImage:                                     pulumi.String("string"),
    				DockerRootDir:                                        pulumi.String("string"),
    				EnableClusterAlerting:                                pulumi.Bool(false),
    				EnableClusterMonitoring:                              pulumi.Bool(false),
    				EnableNetworkPolicy:                                  pulumi.Bool(false),
    				WindowsPreferedCluster:                               pulumi.Bool(false),
    			},
    			Name: pulumi.String("string"),
    			Annotations: pulumi.Map{
    				"string": pulumi.Any("any"),
    			},
    			ClusterTemplateId: pulumi.String("string"),
    			Default:           pulumi.Bool(false),
    			Enabled:           pulumi.Bool(false),
    			Id:                pulumi.String("string"),
    			Labels: pulumi.Map{
    				"string": pulumi.Any("any"),
    			},
    			Questions: rancher2.ClusterTemplateTemplateRevisionQuestionArray{
    				&rancher2.ClusterTemplateTemplateRevisionQuestionArgs{
    					Default:  pulumi.String("string"),
    					Variable: pulumi.String("string"),
    					Required: pulumi.Bool(false),
    					Type:     pulumi.String("string"),
    				},
    			},
    		},
    	},
    })
    
    var clusterTemplateResource = new ClusterTemplate("clusterTemplateResource", ClusterTemplateArgs.builder()
        .annotations(Map.of("string", "any"))
        .description("string")
        .labels(Map.of("string", "any"))
        .members(ClusterTemplateMemberArgs.builder()
            .accessType("string")
            .groupPrincipalId("string")
            .userPrincipalId("string")
            .build())
        .name("string")
        .templateRevisions(ClusterTemplateTemplateRevisionArgs.builder()
            .clusterConfig(ClusterTemplateTemplateRevisionClusterConfigArgs.builder()
                .rkeConfig(ClusterTemplateTemplateRevisionClusterConfigRkeConfigArgs.builder()
                    .addonJobTimeout(0)
                    .addons("string")
                    .addonsIncludes("string")
                    .authentication(ClusterTemplateTemplateRevisionClusterConfigRkeConfigAuthenticationArgs.builder()
                        .sans("string")
                        .strategy("string")
                        .build())
                    .authorization(ClusterTemplateTemplateRevisionClusterConfigRkeConfigAuthorizationArgs.builder()
                        .mode("string")
                        .options(Map.of("string", "any"))
                        .build())
                    .bastionHost(ClusterTemplateTemplateRevisionClusterConfigRkeConfigBastionHostArgs.builder()
                        .address("string")
                        .user("string")
                        .port("string")
                        .sshAgentAuth(false)
                        .sshKey("string")
                        .sshKeyPath("string")
                        .build())
                    .cloudProvider(ClusterTemplateTemplateRevisionClusterConfigRkeConfigCloudProviderArgs.builder()
                        .awsCloudProvider(ClusterTemplateTemplateRevisionClusterConfigRkeConfigCloudProviderAwsCloudProviderArgs.builder()
                            .global(ClusterTemplateTemplateRevisionClusterConfigRkeConfigCloudProviderAwsCloudProviderGlobalArgs.builder()
                                .disableSecurityGroupIngress(false)
                                .disableStrictZoneCheck(false)
                                .elbSecurityGroup("string")
                                .kubernetesClusterId("string")
                                .kubernetesClusterTag("string")
                                .roleArn("string")
                                .routeTableId("string")
                                .subnetId("string")
                                .vpc("string")
                                .zone("string")
                                .build())
                            .serviceOverrides(ClusterTemplateTemplateRevisionClusterConfigRkeConfigCloudProviderAwsCloudProviderServiceOverrideArgs.builder()
                                .service("string")
                                .region("string")
                                .signingMethod("string")
                                .signingName("string")
                                .signingRegion("string")
                                .url("string")
                                .build())
                            .build())
                        .azureCloudProvider(ClusterTemplateTemplateRevisionClusterConfigRkeConfigCloudProviderAzureCloudProviderArgs.builder()
                            .subscriptionId("string")
                            .tenantId("string")
                            .aadClientId("string")
                            .aadClientSecret("string")
                            .location("string")
                            .primaryScaleSetName("string")
                            .cloudProviderBackoffDuration(0)
                            .cloudProviderBackoffExponent(0)
                            .cloudProviderBackoffJitter(0)
                            .cloudProviderBackoffRetries(0)
                            .cloudProviderRateLimit(false)
                            .cloudProviderRateLimitBucket(0)
                            .cloudProviderRateLimitQps(0)
                            .loadBalancerSku("string")
                            .aadClientCertPassword("string")
                            .maximumLoadBalancerRuleCount(0)
                            .primaryAvailabilitySetName("string")
                            .cloudProviderBackoff(false)
                            .resourceGroup("string")
                            .routeTableName("string")
                            .securityGroupName("string")
                            .subnetName("string")
                            .cloud("string")
                            .aadClientCertPath("string")
                            .useInstanceMetadata(false)
                            .useManagedIdentityExtension(false)
                            .vmType("string")
                            .vnetName("string")
                            .vnetResourceGroup("string")
                            .build())
                        .customCloudProvider("string")
                        .name("string")
                        .openstackCloudProvider(ClusterTemplateTemplateRevisionClusterConfigRkeConfigCloudProviderOpenstackCloudProviderArgs.builder()
                            .global(ClusterTemplateTemplateRevisionClusterConfigRkeConfigCloudProviderOpenstackCloudProviderGlobalArgs.builder()
                                .authUrl("string")
                                .password("string")
                                .username("string")
                                .caFile("string")
                                .domainId("string")
                                .domainName("string")
                                .region("string")
                                .tenantId("string")
                                .tenantName("string")
                                .trustId("string")
                                .build())
                            .blockStorage(ClusterTemplateTemplateRevisionClusterConfigRkeConfigCloudProviderOpenstackCloudProviderBlockStorageArgs.builder()
                                .bsVersion("string")
                                .ignoreVolumeAz(false)
                                .trustDevicePath(false)
                                .build())
                            .loadBalancer(ClusterTemplateTemplateRevisionClusterConfigRkeConfigCloudProviderOpenstackCloudProviderLoadBalancerArgs.builder()
                                .createMonitor(false)
                                .floatingNetworkId("string")
                                .lbMethod("string")
                                .lbProvider("string")
                                .lbVersion("string")
                                .manageSecurityGroups(false)
                                .monitorDelay("string")
                                .monitorMaxRetries(0)
                                .monitorTimeout("string")
                                .subnetId("string")
                                .useOctavia(false)
                                .build())
                            .metadata(ClusterTemplateTemplateRevisionClusterConfigRkeConfigCloudProviderOpenstackCloudProviderMetadataArgs.builder()
                                .requestTimeout(0)
                                .searchOrder("string")
                                .build())
                            .route(ClusterTemplateTemplateRevisionClusterConfigRkeConfigCloudProviderOpenstackCloudProviderRouteArgs.builder()
                                .routerId("string")
                                .build())
                            .build())
                        .vsphereCloudProvider(ClusterTemplateTemplateRevisionClusterConfigRkeConfigCloudProviderVsphereCloudProviderArgs.builder()
                            .virtualCenters(ClusterTemplateTemplateRevisionClusterConfigRkeConfigCloudProviderVsphereCloudProviderVirtualCenterArgs.builder()
                                .datacenters("string")
                                .name("string")
                                .password("string")
                                .user("string")
                                .port("string")
                                .soapRoundtripCount(0)
                                .build())
                            .workspace(ClusterTemplateTemplateRevisionClusterConfigRkeConfigCloudProviderVsphereCloudProviderWorkspaceArgs.builder()
                                .datacenter("string")
                                .folder("string")
                                .server("string")
                                .defaultDatastore("string")
                                .resourcepoolPath("string")
                                .build())
                            .disk(ClusterTemplateTemplateRevisionClusterConfigRkeConfigCloudProviderVsphereCloudProviderDiskArgs.builder()
                                .scsiControllerType("string")
                                .build())
                            .global(ClusterTemplateTemplateRevisionClusterConfigRkeConfigCloudProviderVsphereCloudProviderGlobalArgs.builder()
                                .datacenters("string")
                                .gracefulShutdownTimeout("string")
                                .insecureFlag(false)
                                .password("string")
                                .port("string")
                                .soapRoundtripCount(0)
                                .user("string")
                                .build())
                            .network(ClusterTemplateTemplateRevisionClusterConfigRkeConfigCloudProviderVsphereCloudProviderNetworkArgs.builder()
                                .publicNetwork("string")
                                .build())
                            .build())
                        .build())
                    .dns(ClusterTemplateTemplateRevisionClusterConfigRkeConfigDnsArgs.builder()
                        .linearAutoscalerParams(ClusterTemplateTemplateRevisionClusterConfigRkeConfigDnsLinearAutoscalerParamsArgs.builder()
                            .coresPerReplica(0)
                            .max(0)
                            .min(0)
                            .nodesPerReplica(0)
                            .preventSinglePointFailure(false)
                            .build())
                        .nodeSelector(Map.of("string", "any"))
                        .nodelocal(ClusterTemplateTemplateRevisionClusterConfigRkeConfigDnsNodelocalArgs.builder()
                            .ipAddress("string")
                            .nodeSelector(Map.of("string", "any"))
                            .build())
                        .options(Map.of("string", "any"))
                        .provider("string")
                        .reverseCidrs("string")
                        .tolerations(ClusterTemplateTemplateRevisionClusterConfigRkeConfigDnsTolerationArgs.builder()
                            .key("string")
                            .effect("string")
                            .operator("string")
                            .seconds(0)
                            .value("string")
                            .build())
                        .updateStrategy(ClusterTemplateTemplateRevisionClusterConfigRkeConfigDnsUpdateStrategyArgs.builder()
                            .rollingUpdate(ClusterTemplateTemplateRevisionClusterConfigRkeConfigDnsUpdateStrategyRollingUpdateArgs.builder()
                                .maxSurge(0)
                                .maxUnavailable(0)
                                .build())
                            .strategy("string")
                            .build())
                        .upstreamNameservers("string")
                        .build())
                    .enableCriDockerd(false)
                    .ignoreDockerVersion(false)
                    .ingress(ClusterTemplateTemplateRevisionClusterConfigRkeConfigIngressArgs.builder()
                        .defaultBackend(false)
                        .dnsPolicy("string")
                        .extraArgs(Map.of("string", "any"))
                        .httpPort(0)
                        .httpsPort(0)
                        .networkMode("string")
                        .nodeSelector(Map.of("string", "any"))
                        .options(Map.of("string", "any"))
                        .provider("string")
                        .tolerations(ClusterTemplateTemplateRevisionClusterConfigRkeConfigIngressTolerationArgs.builder()
                            .key("string")
                            .effect("string")
                            .operator("string")
                            .seconds(0)
                            .value("string")
                            .build())
                        .updateStrategy(ClusterTemplateTemplateRevisionClusterConfigRkeConfigIngressUpdateStrategyArgs.builder()
                            .rollingUpdate(ClusterTemplateTemplateRevisionClusterConfigRkeConfigIngressUpdateStrategyRollingUpdateArgs.builder()
                                .maxUnavailable(0)
                                .build())
                            .strategy("string")
                            .build())
                        .build())
                    .kubernetesVersion("string")
                    .monitoring(ClusterTemplateTemplateRevisionClusterConfigRkeConfigMonitoringArgs.builder()
                        .nodeSelector(Map.of("string", "any"))
                        .options(Map.of("string", "any"))
                        .provider("string")
                        .replicas(0)
                        .tolerations(ClusterTemplateTemplateRevisionClusterConfigRkeConfigMonitoringTolerationArgs.builder()
                            .key("string")
                            .effect("string")
                            .operator("string")
                            .seconds(0)
                            .value("string")
                            .build())
                        .updateStrategy(ClusterTemplateTemplateRevisionClusterConfigRkeConfigMonitoringUpdateStrategyArgs.builder()
                            .rollingUpdate(ClusterTemplateTemplateRevisionClusterConfigRkeConfigMonitoringUpdateStrategyRollingUpdateArgs.builder()
                                .maxSurge(0)
                                .maxUnavailable(0)
                                .build())
                            .strategy("string")
                            .build())
                        .build())
                    .network(ClusterTemplateTemplateRevisionClusterConfigRkeConfigNetworkArgs.builder()
                        .aciNetworkProvider(ClusterTemplateTemplateRevisionClusterConfigRkeConfigNetworkAciNetworkProviderArgs.builder()
                            .kubeApiVlan("string")
                            .apicHosts("string")
                            .apicUserCrt("string")
                            .apicUserKey("string")
                            .apicUserName("string")
                            .encapType("string")
                            .externDynamic("string")
                            .vrfTenant("string")
                            .vrfName("string")
                            .token("string")
                            .systemId("string")
                            .serviceVlan("string")
                            .nodeSvcSubnet("string")
                            .nodeSubnet("string")
                            .aep("string")
                            .mcastRangeStart("string")
                            .mcastRangeEnd("string")
                            .externStatic("string")
                            .l3outExternalNetworks("string")
                            .l3out("string")
                            .multusDisable("string")
                            .ovsMemoryLimit("string")
                            .imagePullSecret("string")
                            .infraVlan("string")
                            .installIstio("string")
                            .istioProfile("string")
                            .kafkaBrokers("string")
                            .kafkaClientCrt("string")
                            .kafkaClientKey("string")
                            .hostAgentLogLevel("string")
                            .gbpPodSubnet("string")
                            .epRegistry("string")
                            .maxNodesSvcGraph("string")
                            .enableEndpointSlice("string")
                            .durationWaitForNetwork("string")
                            .mtuHeadRoom("string")
                            .dropLogEnable("string")
                            .noPriorityClass("string")
                            .nodePodIfEnable("string")
                            .disableWaitForNetwork("string")
                            .disablePeriodicSnatGlobalInfoSync("string")
                            .opflexClientSsl("string")
                            .opflexDeviceDeleteTimeout("string")
                            .opflexLogLevel("string")
                            .opflexMode("string")
                            .opflexServerPort("string")
                            .overlayVrfName("string")
                            .imagePullPolicy("string")
                            .pbrTrackingNonSnat("string")
                            .podSubnetChunkSize("string")
                            .runGbpContainer("string")
                            .runOpflexServerContainer("string")
                            .serviceMonitorInterval("string")
                            .controllerLogLevel("string")
                            .snatContractScope("string")
                            .snatNamespace("string")
                            .snatPortRangeEnd("string")
                            .snatPortRangeStart("string")
                            .snatPortsPerNode("string")
                            .sriovEnable("string")
                            .subnetDomainName("string")
                            .capic("string")
                            .tenant("string")
                            .apicSubscriptionDelay("string")
                            .useAciAnywhereCrd("string")
                            .useAciCniPriorityClass("string")
                            .useClusterRole("string")
                            .useHostNetnsVolume("string")
                            .useOpflexServerVolume("string")
                            .usePrivilegedContainer("string")
                            .vmmController("string")
                            .vmmDomain("string")
                            .apicRefreshTime("string")
                            .apicRefreshTickerAdjust("string")
                            .build())
                        .calicoNetworkProvider(ClusterTemplateTemplateRevisionClusterConfigRkeConfigNetworkCalicoNetworkProviderArgs.builder()
                            .cloudProvider("string")
                            .build())
                        .canalNetworkProvider(ClusterTemplateTemplateRevisionClusterConfigRkeConfigNetworkCanalNetworkProviderArgs.builder()
                            .iface("string")
                            .build())
                        .flannelNetworkProvider(ClusterTemplateTemplateRevisionClusterConfigRkeConfigNetworkFlannelNetworkProviderArgs.builder()
                            .iface("string")
                            .build())
                        .mtu(0)
                        .options(Map.of("string", "any"))
                        .plugin("string")
                        .tolerations(ClusterTemplateTemplateRevisionClusterConfigRkeConfigNetworkTolerationArgs.builder()
                            .key("string")
                            .effect("string")
                            .operator("string")
                            .seconds(0)
                            .value("string")
                            .build())
                        .weaveNetworkProvider(ClusterTemplateTemplateRevisionClusterConfigRkeConfigNetworkWeaveNetworkProviderArgs.builder()
                            .password("string")
                            .build())
                        .build())
                    .nodes(ClusterTemplateTemplateRevisionClusterConfigRkeConfigNodeArgs.builder()
                        .address("string")
                        .roles("string")
                        .user("string")
                        .dockerSocket("string")
                        .hostnameOverride("string")
                        .internalAddress("string")
                        .labels(Map.of("string", "any"))
                        .nodeId("string")
                        .port("string")
                        .sshAgentAuth(false)
                        .sshKey("string")
                        .sshKeyPath("string")
                        .build())
                    .prefixPath("string")
                    .privateRegistries(ClusterTemplateTemplateRevisionClusterConfigRkeConfigPrivateRegistryArgs.builder()
                        .url("string")
                        .ecrCredentialPlugin(ClusterTemplateTemplateRevisionClusterConfigRkeConfigPrivateRegistryEcrCredentialPluginArgs.builder()
                            .awsAccessKeyId("string")
                            .awsSecretAccessKey("string")
                            .awsSessionToken("string")
                            .build())
                        .isDefault(false)
                        .password("string")
                        .user("string")
                        .build())
                    .services(ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesArgs.builder()
                        .etcd(ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesEtcdArgs.builder()
                            .backupConfig(ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesEtcdBackupConfigArgs.builder()
                                .enabled(false)
                                .intervalHours(0)
                                .retention(0)
                                .s3BackupConfig(ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesEtcdBackupConfigS3BackupConfigArgs.builder()
                                    .bucketName("string")
                                    .endpoint("string")
                                    .accessKey("string")
                                    .customCa("string")
                                    .folder("string")
                                    .region("string")
                                    .secretKey("string")
                                    .build())
                                .safeTimestamp(false)
                                .timeout(0)
                                .build())
                            .caCert("string")
                            .cert("string")
                            .creation("string")
                            .externalUrls("string")
                            .extraArgs(Map.of("string", "any"))
                            .extraBinds("string")
                            .extraEnvs("string")
                            .gid(0)
                            .image("string")
                            .key("string")
                            .path("string")
                            .retention("string")
                            .snapshot(false)
                            .uid(0)
                            .build())
                        .kubeApi(ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesKubeApiArgs.builder()
                            .admissionConfiguration(ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesKubeApiAdmissionConfigurationArgs.builder()
                                .apiVersion("string")
                                .kind("string")
                                .plugins(ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesKubeApiAdmissionConfigurationPluginArgs.builder()
                                    .configuration("string")
                                    .name("string")
                                    .path("string")
                                    .build())
                                .build())
                            .alwaysPullImages(false)
                            .auditLog(ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesKubeApiAuditLogArgs.builder()
                                .configuration(ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesKubeApiAuditLogConfigurationArgs.builder()
                                    .format("string")
                                    .maxAge(0)
                                    .maxBackup(0)
                                    .maxSize(0)
                                    .path("string")
                                    .policy("string")
                                    .build())
                                .enabled(false)
                                .build())
                            .eventRateLimit(ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesKubeApiEventRateLimitArgs.builder()
                                .configuration("string")
                                .enabled(false)
                                .build())
                            .extraArgs(Map.of("string", "any"))
                            .extraBinds("string")
                            .extraEnvs("string")
                            .image("string")
                            .podSecurityPolicy(false)
                            .secretsEncryptionConfig(ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesKubeApiSecretsEncryptionConfigArgs.builder()
                                .customConfig("string")
                                .enabled(false)
                                .build())
                            .serviceClusterIpRange("string")
                            .serviceNodePortRange("string")
                            .build())
                        .kubeController(ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesKubeControllerArgs.builder()
                            .clusterCidr("string")
                            .extraArgs(Map.of("string", "any"))
                            .extraBinds("string")
                            .extraEnvs("string")
                            .image("string")
                            .serviceClusterIpRange("string")
                            .build())
                        .kubelet(ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesKubeletArgs.builder()
                            .clusterDnsServer("string")
                            .clusterDomain("string")
                            .extraArgs(Map.of("string", "any"))
                            .extraBinds("string")
                            .extraEnvs("string")
                            .failSwapOn(false)
                            .generateServingCertificate(false)
                            .image("string")
                            .infraContainerImage("string")
                            .build())
                        .kubeproxy(ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesKubeproxyArgs.builder()
                            .extraArgs(Map.of("string", "any"))
                            .extraBinds("string")
                            .extraEnvs("string")
                            .image("string")
                            .build())
                        .scheduler(ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesSchedulerArgs.builder()
                            .extraArgs(Map.of("string", "any"))
                            .extraBinds("string")
                            .extraEnvs("string")
                            .image("string")
                            .build())
                        .build())
                    .sshAgentAuth(false)
                    .sshCertPath("string")
                    .sshKeyPath("string")
                    .upgradeStrategy(ClusterTemplateTemplateRevisionClusterConfigRkeConfigUpgradeStrategyArgs.builder()
                        .drain(false)
                        .drainInput(ClusterTemplateTemplateRevisionClusterConfigRkeConfigUpgradeStrategyDrainInputArgs.builder()
                            .deleteLocalData(false)
                            .force(false)
                            .gracePeriod(0)
                            .ignoreDaemonSets(false)
                            .timeout(0)
                            .build())
                        .maxUnavailableControlplane("string")
                        .maxUnavailableWorker("string")
                        .build())
                    .winPrefixPath("string")
                    .build())
                .clusterAuthEndpoint(ClusterTemplateTemplateRevisionClusterConfigClusterAuthEndpointArgs.builder()
                    .caCerts("string")
                    .enabled(false)
                    .fqdn("string")
                    .build())
                .defaultClusterRoleForProjectMembers("string")
                .defaultPodSecurityAdmissionConfigurationTemplateName("string")
                .defaultPodSecurityPolicyTemplateId("string")
                .desiredAgentImage("string")
                .desiredAuthImage("string")
                .dockerRootDir("string")
                .enableClusterAlerting(false)
                .enableClusterMonitoring(false)
                .enableNetworkPolicy(false)
                .windowsPreferedCluster(false)
                .build())
            .name("string")
            .annotations(Map.of("string", "any"))
            .clusterTemplateId("string")
            .default_(false)
            .enabled(false)
            .id("string")
            .labels(Map.of("string", "any"))
            .questions(ClusterTemplateTemplateRevisionQuestionArgs.builder()
                .default_("string")
                .variable("string")
                .required(false)
                .type("string")
                .build())
            .build())
        .build());
    
    cluster_template_resource = rancher2.ClusterTemplate("clusterTemplateResource",
        annotations={
            "string": "any",
        },
        description="string",
        labels={
            "string": "any",
        },
        members=[rancher2.ClusterTemplateMemberArgs(
            access_type="string",
            group_principal_id="string",
            user_principal_id="string",
        )],
        name="string",
        template_revisions=[rancher2.ClusterTemplateTemplateRevisionArgs(
            cluster_config=rancher2.ClusterTemplateTemplateRevisionClusterConfigArgs(
                rke_config=rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigArgs(
                    addon_job_timeout=0,
                    addons="string",
                    addons_includes=["string"],
                    authentication=rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigAuthenticationArgs(
                        sans=["string"],
                        strategy="string",
                    ),
                    authorization=rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigAuthorizationArgs(
                        mode="string",
                        options={
                            "string": "any",
                        },
                    ),
                    bastion_host=rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigBastionHostArgs(
                        address="string",
                        user="string",
                        port="string",
                        ssh_agent_auth=False,
                        ssh_key="string",
                        ssh_key_path="string",
                    ),
                    cloud_provider=rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigCloudProviderArgs(
                        aws_cloud_provider=rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigCloudProviderAwsCloudProviderArgs(
                            global_=rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigCloudProviderAwsCloudProviderGlobalArgs(
                                disable_security_group_ingress=False,
                                disable_strict_zone_check=False,
                                elb_security_group="string",
                                kubernetes_cluster_id="string",
                                kubernetes_cluster_tag="string",
                                role_arn="string",
                                route_table_id="string",
                                subnet_id="string",
                                vpc="string",
                                zone="string",
                            ),
                            service_overrides=[rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigCloudProviderAwsCloudProviderServiceOverrideArgs(
                                service="string",
                                region="string",
                                signing_method="string",
                                signing_name="string",
                                signing_region="string",
                                url="string",
                            )],
                        ),
                        azure_cloud_provider=rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigCloudProviderAzureCloudProviderArgs(
                            subscription_id="string",
                            tenant_id="string",
                            aad_client_id="string",
                            aad_client_secret="string",
                            location="string",
                            primary_scale_set_name="string",
                            cloud_provider_backoff_duration=0,
                            cloud_provider_backoff_exponent=0,
                            cloud_provider_backoff_jitter=0,
                            cloud_provider_backoff_retries=0,
                            cloud_provider_rate_limit=False,
                            cloud_provider_rate_limit_bucket=0,
                            cloud_provider_rate_limit_qps=0,
                            load_balancer_sku="string",
                            aad_client_cert_password="string",
                            maximum_load_balancer_rule_count=0,
                            primary_availability_set_name="string",
                            cloud_provider_backoff=False,
                            resource_group="string",
                            route_table_name="string",
                            security_group_name="string",
                            subnet_name="string",
                            cloud="string",
                            aad_client_cert_path="string",
                            use_instance_metadata=False,
                            use_managed_identity_extension=False,
                            vm_type="string",
                            vnet_name="string",
                            vnet_resource_group="string",
                        ),
                        custom_cloud_provider="string",
                        name="string",
                        openstack_cloud_provider=rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigCloudProviderOpenstackCloudProviderArgs(
                            global_=rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigCloudProviderOpenstackCloudProviderGlobalArgs(
                                auth_url="string",
                                password="string",
                                username="string",
                                ca_file="string",
                                domain_id="string",
                                domain_name="string",
                                region="string",
                                tenant_id="string",
                                tenant_name="string",
                                trust_id="string",
                            ),
                            block_storage=rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigCloudProviderOpenstackCloudProviderBlockStorageArgs(
                                bs_version="string",
                                ignore_volume_az=False,
                                trust_device_path=False,
                            ),
                            load_balancer=rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigCloudProviderOpenstackCloudProviderLoadBalancerArgs(
                                create_monitor=False,
                                floating_network_id="string",
                                lb_method="string",
                                lb_provider="string",
                                lb_version="string",
                                manage_security_groups=False,
                                monitor_delay="string",
                                monitor_max_retries=0,
                                monitor_timeout="string",
                                subnet_id="string",
                                use_octavia=False,
                            ),
                            metadata=rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigCloudProviderOpenstackCloudProviderMetadataArgs(
                                request_timeout=0,
                                search_order="string",
                            ),
                            route=rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigCloudProviderOpenstackCloudProviderRouteArgs(
                                router_id="string",
                            ),
                        ),
                        vsphere_cloud_provider=rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigCloudProviderVsphereCloudProviderArgs(
                            virtual_centers=[rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigCloudProviderVsphereCloudProviderVirtualCenterArgs(
                                datacenters="string",
                                name="string",
                                password="string",
                                user="string",
                                port="string",
                                soap_roundtrip_count=0,
                            )],
                            workspace=rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigCloudProviderVsphereCloudProviderWorkspaceArgs(
                                datacenter="string",
                                folder="string",
                                server="string",
                                default_datastore="string",
                                resourcepool_path="string",
                            ),
                            disk=rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigCloudProviderVsphereCloudProviderDiskArgs(
                                scsi_controller_type="string",
                            ),
                            global_=rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigCloudProviderVsphereCloudProviderGlobalArgs(
                                datacenters="string",
                                graceful_shutdown_timeout="string",
                                insecure_flag=False,
                                password="string",
                                port="string",
                                soap_roundtrip_count=0,
                                user="string",
                            ),
                            network=rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigCloudProviderVsphereCloudProviderNetworkArgs(
                                public_network="string",
                            ),
                        ),
                    ),
                    dns=rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigDnsArgs(
                        linear_autoscaler_params=rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigDnsLinearAutoscalerParamsArgs(
                            cores_per_replica=0,
                            max=0,
                            min=0,
                            nodes_per_replica=0,
                            prevent_single_point_failure=False,
                        ),
                        node_selector={
                            "string": "any",
                        },
                        nodelocal=rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigDnsNodelocalArgs(
                            ip_address="string",
                            node_selector={
                                "string": "any",
                            },
                        ),
                        options={
                            "string": "any",
                        },
                        provider="string",
                        reverse_cidrs=["string"],
                        tolerations=[rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigDnsTolerationArgs(
                            key="string",
                            effect="string",
                            operator="string",
                            seconds=0,
                            value="string",
                        )],
                        update_strategy=rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigDnsUpdateStrategyArgs(
                            rolling_update=rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigDnsUpdateStrategyRollingUpdateArgs(
                                max_surge=0,
                                max_unavailable=0,
                            ),
                            strategy="string",
                        ),
                        upstream_nameservers=["string"],
                    ),
                    enable_cri_dockerd=False,
                    ignore_docker_version=False,
                    ingress=rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigIngressArgs(
                        default_backend=False,
                        dns_policy="string",
                        extra_args={
                            "string": "any",
                        },
                        http_port=0,
                        https_port=0,
                        network_mode="string",
                        node_selector={
                            "string": "any",
                        },
                        options={
                            "string": "any",
                        },
                        provider="string",
                        tolerations=[rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigIngressTolerationArgs(
                            key="string",
                            effect="string",
                            operator="string",
                            seconds=0,
                            value="string",
                        )],
                        update_strategy=rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigIngressUpdateStrategyArgs(
                            rolling_update=rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigIngressUpdateStrategyRollingUpdateArgs(
                                max_unavailable=0,
                            ),
                            strategy="string",
                        ),
                    ),
                    kubernetes_version="string",
                    monitoring=rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigMonitoringArgs(
                        node_selector={
                            "string": "any",
                        },
                        options={
                            "string": "any",
                        },
                        provider="string",
                        replicas=0,
                        tolerations=[rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigMonitoringTolerationArgs(
                            key="string",
                            effect="string",
                            operator="string",
                            seconds=0,
                            value="string",
                        )],
                        update_strategy=rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigMonitoringUpdateStrategyArgs(
                            rolling_update=rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigMonitoringUpdateStrategyRollingUpdateArgs(
                                max_surge=0,
                                max_unavailable=0,
                            ),
                            strategy="string",
                        ),
                    ),
                    network=rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigNetworkArgs(
                        aci_network_provider=rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigNetworkAciNetworkProviderArgs(
                            kube_api_vlan="string",
                            apic_hosts=["string"],
                            apic_user_crt="string",
                            apic_user_key="string",
                            apic_user_name="string",
                            encap_type="string",
                            extern_dynamic="string",
                            vrf_tenant="string",
                            vrf_name="string",
                            token="string",
                            system_id="string",
                            service_vlan="string",
                            node_svc_subnet="string",
                            node_subnet="string",
                            aep="string",
                            mcast_range_start="string",
                            mcast_range_end="string",
                            extern_static="string",
                            l3out_external_networks=["string"],
                            l3out="string",
                            multus_disable="string",
                            ovs_memory_limit="string",
                            image_pull_secret="string",
                            infra_vlan="string",
                            install_istio="string",
                            istio_profile="string",
                            kafka_brokers=["string"],
                            kafka_client_crt="string",
                            kafka_client_key="string",
                            host_agent_log_level="string",
                            gbp_pod_subnet="string",
                            ep_registry="string",
                            max_nodes_svc_graph="string",
                            enable_endpoint_slice="string",
                            duration_wait_for_network="string",
                            mtu_head_room="string",
                            drop_log_enable="string",
                            no_priority_class="string",
                            node_pod_if_enable="string",
                            disable_wait_for_network="string",
                            disable_periodic_snat_global_info_sync="string",
                            opflex_client_ssl="string",
                            opflex_device_delete_timeout="string",
                            opflex_log_level="string",
                            opflex_mode="string",
                            opflex_server_port="string",
                            overlay_vrf_name="string",
                            image_pull_policy="string",
                            pbr_tracking_non_snat="string",
                            pod_subnet_chunk_size="string",
                            run_gbp_container="string",
                            run_opflex_server_container="string",
                            service_monitor_interval="string",
                            controller_log_level="string",
                            snat_contract_scope="string",
                            snat_namespace="string",
                            snat_port_range_end="string",
                            snat_port_range_start="string",
                            snat_ports_per_node="string",
                            sriov_enable="string",
                            subnet_domain_name="string",
                            capic="string",
                            tenant="string",
                            apic_subscription_delay="string",
                            use_aci_anywhere_crd="string",
                            use_aci_cni_priority_class="string",
                            use_cluster_role="string",
                            use_host_netns_volume="string",
                            use_opflex_server_volume="string",
                            use_privileged_container="string",
                            vmm_controller="string",
                            vmm_domain="string",
                            apic_refresh_time="string",
                            apic_refresh_ticker_adjust="string",
                        ),
                        calico_network_provider=rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigNetworkCalicoNetworkProviderArgs(
                            cloud_provider="string",
                        ),
                        canal_network_provider=rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigNetworkCanalNetworkProviderArgs(
                            iface="string",
                        ),
                        flannel_network_provider=rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigNetworkFlannelNetworkProviderArgs(
                            iface="string",
                        ),
                        mtu=0,
                        options={
                            "string": "any",
                        },
                        plugin="string",
                        tolerations=[rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigNetworkTolerationArgs(
                            key="string",
                            effect="string",
                            operator="string",
                            seconds=0,
                            value="string",
                        )],
                        weave_network_provider=rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigNetworkWeaveNetworkProviderArgs(
                            password="string",
                        ),
                    ),
                    nodes=[rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigNodeArgs(
                        address="string",
                        roles=["string"],
                        user="string",
                        docker_socket="string",
                        hostname_override="string",
                        internal_address="string",
                        labels={
                            "string": "any",
                        },
                        node_id="string",
                        port="string",
                        ssh_agent_auth=False,
                        ssh_key="string",
                        ssh_key_path="string",
                    )],
                    prefix_path="string",
                    private_registries=[rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigPrivateRegistryArgs(
                        url="string",
                        ecr_credential_plugin=rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigPrivateRegistryEcrCredentialPluginArgs(
                            aws_access_key_id="string",
                            aws_secret_access_key="string",
                            aws_session_token="string",
                        ),
                        is_default=False,
                        password="string",
                        user="string",
                    )],
                    services=rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesArgs(
                        etcd=rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesEtcdArgs(
                            backup_config=rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesEtcdBackupConfigArgs(
                                enabled=False,
                                interval_hours=0,
                                retention=0,
                                s3_backup_config=rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesEtcdBackupConfigS3BackupConfigArgs(
                                    bucket_name="string",
                                    endpoint="string",
                                    access_key="string",
                                    custom_ca="string",
                                    folder="string",
                                    region="string",
                                    secret_key="string",
                                ),
                                safe_timestamp=False,
                                timeout=0,
                            ),
                            ca_cert="string",
                            cert="string",
                            creation="string",
                            external_urls=["string"],
                            extra_args={
                                "string": "any",
                            },
                            extra_binds=["string"],
                            extra_envs=["string"],
                            gid=0,
                            image="string",
                            key="string",
                            path="string",
                            retention="string",
                            snapshot=False,
                            uid=0,
                        ),
                        kube_api=rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesKubeApiArgs(
                            admission_configuration=rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesKubeApiAdmissionConfigurationArgs(
                                api_version="string",
                                kind="string",
                                plugins=[rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesKubeApiAdmissionConfigurationPluginArgs(
                                    configuration="string",
                                    name="string",
                                    path="string",
                                )],
                            ),
                            always_pull_images=False,
                            audit_log=rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesKubeApiAuditLogArgs(
                                configuration=rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesKubeApiAuditLogConfigurationArgs(
                                    format="string",
                                    max_age=0,
                                    max_backup=0,
                                    max_size=0,
                                    path="string",
                                    policy="string",
                                ),
                                enabled=False,
                            ),
                            event_rate_limit=rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesKubeApiEventRateLimitArgs(
                                configuration="string",
                                enabled=False,
                            ),
                            extra_args={
                                "string": "any",
                            },
                            extra_binds=["string"],
                            extra_envs=["string"],
                            image="string",
                            pod_security_policy=False,
                            secrets_encryption_config=rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesKubeApiSecretsEncryptionConfigArgs(
                                custom_config="string",
                                enabled=False,
                            ),
                            service_cluster_ip_range="string",
                            service_node_port_range="string",
                        ),
                        kube_controller=rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesKubeControllerArgs(
                            cluster_cidr="string",
                            extra_args={
                                "string": "any",
                            },
                            extra_binds=["string"],
                            extra_envs=["string"],
                            image="string",
                            service_cluster_ip_range="string",
                        ),
                        kubelet=rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesKubeletArgs(
                            cluster_dns_server="string",
                            cluster_domain="string",
                            extra_args={
                                "string": "any",
                            },
                            extra_binds=["string"],
                            extra_envs=["string"],
                            fail_swap_on=False,
                            generate_serving_certificate=False,
                            image="string",
                            infra_container_image="string",
                        ),
                        kubeproxy=rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesKubeproxyArgs(
                            extra_args={
                                "string": "any",
                            },
                            extra_binds=["string"],
                            extra_envs=["string"],
                            image="string",
                        ),
                        scheduler=rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesSchedulerArgs(
                            extra_args={
                                "string": "any",
                            },
                            extra_binds=["string"],
                            extra_envs=["string"],
                            image="string",
                        ),
                    ),
                    ssh_agent_auth=False,
                    ssh_cert_path="string",
                    ssh_key_path="string",
                    upgrade_strategy=rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigUpgradeStrategyArgs(
                        drain=False,
                        drain_input=rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigUpgradeStrategyDrainInputArgs(
                            delete_local_data=False,
                            force=False,
                            grace_period=0,
                            ignore_daemon_sets=False,
                            timeout=0,
                        ),
                        max_unavailable_controlplane="string",
                        max_unavailable_worker="string",
                    ),
                    win_prefix_path="string",
                ),
                cluster_auth_endpoint=rancher2.ClusterTemplateTemplateRevisionClusterConfigClusterAuthEndpointArgs(
                    ca_certs="string",
                    enabled=False,
                    fqdn="string",
                ),
                default_cluster_role_for_project_members="string",
                default_pod_security_admission_configuration_template_name="string",
                default_pod_security_policy_template_id="string",
                desired_agent_image="string",
                desired_auth_image="string",
                docker_root_dir="string",
                enable_cluster_alerting=False,
                enable_cluster_monitoring=False,
                enable_network_policy=False,
                windows_prefered_cluster=False,
            ),
            name="string",
            annotations={
                "string": "any",
            },
            cluster_template_id="string",
            default=False,
            enabled=False,
            id="string",
            labels={
                "string": "any",
            },
            questions=[rancher2.ClusterTemplateTemplateRevisionQuestionArgs(
                default="string",
                variable="string",
                required=False,
                type="string",
            )],
        )])
    
    const clusterTemplateResource = new rancher2.ClusterTemplate("clusterTemplateResource", {
        annotations: {
            string: "any",
        },
        description: "string",
        labels: {
            string: "any",
        },
        members: [{
            accessType: "string",
            groupPrincipalId: "string",
            userPrincipalId: "string",
        }],
        name: "string",
        templateRevisions: [{
            clusterConfig: {
                rkeConfig: {
                    addonJobTimeout: 0,
                    addons: "string",
                    addonsIncludes: ["string"],
                    authentication: {
                        sans: ["string"],
                        strategy: "string",
                    },
                    authorization: {
                        mode: "string",
                        options: {
                            string: "any",
                        },
                    },
                    bastionHost: {
                        address: "string",
                        user: "string",
                        port: "string",
                        sshAgentAuth: false,
                        sshKey: "string",
                        sshKeyPath: "string",
                    },
                    cloudProvider: {
                        awsCloudProvider: {
                            global: {
                                disableSecurityGroupIngress: false,
                                disableStrictZoneCheck: false,
                                elbSecurityGroup: "string",
                                kubernetesClusterId: "string",
                                kubernetesClusterTag: "string",
                                roleArn: "string",
                                routeTableId: "string",
                                subnetId: "string",
                                vpc: "string",
                                zone: "string",
                            },
                            serviceOverrides: [{
                                service: "string",
                                region: "string",
                                signingMethod: "string",
                                signingName: "string",
                                signingRegion: "string",
                                url: "string",
                            }],
                        },
                        azureCloudProvider: {
                            subscriptionId: "string",
                            tenantId: "string",
                            aadClientId: "string",
                            aadClientSecret: "string",
                            location: "string",
                            primaryScaleSetName: "string",
                            cloudProviderBackoffDuration: 0,
                            cloudProviderBackoffExponent: 0,
                            cloudProviderBackoffJitter: 0,
                            cloudProviderBackoffRetries: 0,
                            cloudProviderRateLimit: false,
                            cloudProviderRateLimitBucket: 0,
                            cloudProviderRateLimitQps: 0,
                            loadBalancerSku: "string",
                            aadClientCertPassword: "string",
                            maximumLoadBalancerRuleCount: 0,
                            primaryAvailabilitySetName: "string",
                            cloudProviderBackoff: false,
                            resourceGroup: "string",
                            routeTableName: "string",
                            securityGroupName: "string",
                            subnetName: "string",
                            cloud: "string",
                            aadClientCertPath: "string",
                            useInstanceMetadata: false,
                            useManagedIdentityExtension: false,
                            vmType: "string",
                            vnetName: "string",
                            vnetResourceGroup: "string",
                        },
                        customCloudProvider: "string",
                        name: "string",
                        openstackCloudProvider: {
                            global: {
                                authUrl: "string",
                                password: "string",
                                username: "string",
                                caFile: "string",
                                domainId: "string",
                                domainName: "string",
                                region: "string",
                                tenantId: "string",
                                tenantName: "string",
                                trustId: "string",
                            },
                            blockStorage: {
                                bsVersion: "string",
                                ignoreVolumeAz: false,
                                trustDevicePath: false,
                            },
                            loadBalancer: {
                                createMonitor: false,
                                floatingNetworkId: "string",
                                lbMethod: "string",
                                lbProvider: "string",
                                lbVersion: "string",
                                manageSecurityGroups: false,
                                monitorDelay: "string",
                                monitorMaxRetries: 0,
                                monitorTimeout: "string",
                                subnetId: "string",
                                useOctavia: false,
                            },
                            metadata: {
                                requestTimeout: 0,
                                searchOrder: "string",
                            },
                            route: {
                                routerId: "string",
                            },
                        },
                        vsphereCloudProvider: {
                            virtualCenters: [{
                                datacenters: "string",
                                name: "string",
                                password: "string",
                                user: "string",
                                port: "string",
                                soapRoundtripCount: 0,
                            }],
                            workspace: {
                                datacenter: "string",
                                folder: "string",
                                server: "string",
                                defaultDatastore: "string",
                                resourcepoolPath: "string",
                            },
                            disk: {
                                scsiControllerType: "string",
                            },
                            global: {
                                datacenters: "string",
                                gracefulShutdownTimeout: "string",
                                insecureFlag: false,
                                password: "string",
                                port: "string",
                                soapRoundtripCount: 0,
                                user: "string",
                            },
                            network: {
                                publicNetwork: "string",
                            },
                        },
                    },
                    dns: {
                        linearAutoscalerParams: {
                            coresPerReplica: 0,
                            max: 0,
                            min: 0,
                            nodesPerReplica: 0,
                            preventSinglePointFailure: false,
                        },
                        nodeSelector: {
                            string: "any",
                        },
                        nodelocal: {
                            ipAddress: "string",
                            nodeSelector: {
                                string: "any",
                            },
                        },
                        options: {
                            string: "any",
                        },
                        provider: "string",
                        reverseCidrs: ["string"],
                        tolerations: [{
                            key: "string",
                            effect: "string",
                            operator: "string",
                            seconds: 0,
                            value: "string",
                        }],
                        updateStrategy: {
                            rollingUpdate: {
                                maxSurge: 0,
                                maxUnavailable: 0,
                            },
                            strategy: "string",
                        },
                        upstreamNameservers: ["string"],
                    },
                    enableCriDockerd: false,
                    ignoreDockerVersion: false,
                    ingress: {
                        defaultBackend: false,
                        dnsPolicy: "string",
                        extraArgs: {
                            string: "any",
                        },
                        httpPort: 0,
                        httpsPort: 0,
                        networkMode: "string",
                        nodeSelector: {
                            string: "any",
                        },
                        options: {
                            string: "any",
                        },
                        provider: "string",
                        tolerations: [{
                            key: "string",
                            effect: "string",
                            operator: "string",
                            seconds: 0,
                            value: "string",
                        }],
                        updateStrategy: {
                            rollingUpdate: {
                                maxUnavailable: 0,
                            },
                            strategy: "string",
                        },
                    },
                    kubernetesVersion: "string",
                    monitoring: {
                        nodeSelector: {
                            string: "any",
                        },
                        options: {
                            string: "any",
                        },
                        provider: "string",
                        replicas: 0,
                        tolerations: [{
                            key: "string",
                            effect: "string",
                            operator: "string",
                            seconds: 0,
                            value: "string",
                        }],
                        updateStrategy: {
                            rollingUpdate: {
                                maxSurge: 0,
                                maxUnavailable: 0,
                            },
                            strategy: "string",
                        },
                    },
                    network: {
                        aciNetworkProvider: {
                            kubeApiVlan: "string",
                            apicHosts: ["string"],
                            apicUserCrt: "string",
                            apicUserKey: "string",
                            apicUserName: "string",
                            encapType: "string",
                            externDynamic: "string",
                            vrfTenant: "string",
                            vrfName: "string",
                            token: "string",
                            systemId: "string",
                            serviceVlan: "string",
                            nodeSvcSubnet: "string",
                            nodeSubnet: "string",
                            aep: "string",
                            mcastRangeStart: "string",
                            mcastRangeEnd: "string",
                            externStatic: "string",
                            l3outExternalNetworks: ["string"],
                            l3out: "string",
                            multusDisable: "string",
                            ovsMemoryLimit: "string",
                            imagePullSecret: "string",
                            infraVlan: "string",
                            installIstio: "string",
                            istioProfile: "string",
                            kafkaBrokers: ["string"],
                            kafkaClientCrt: "string",
                            kafkaClientKey: "string",
                            hostAgentLogLevel: "string",
                            gbpPodSubnet: "string",
                            epRegistry: "string",
                            maxNodesSvcGraph: "string",
                            enableEndpointSlice: "string",
                            durationWaitForNetwork: "string",
                            mtuHeadRoom: "string",
                            dropLogEnable: "string",
                            noPriorityClass: "string",
                            nodePodIfEnable: "string",
                            disableWaitForNetwork: "string",
                            disablePeriodicSnatGlobalInfoSync: "string",
                            opflexClientSsl: "string",
                            opflexDeviceDeleteTimeout: "string",
                            opflexLogLevel: "string",
                            opflexMode: "string",
                            opflexServerPort: "string",
                            overlayVrfName: "string",
                            imagePullPolicy: "string",
                            pbrTrackingNonSnat: "string",
                            podSubnetChunkSize: "string",
                            runGbpContainer: "string",
                            runOpflexServerContainer: "string",
                            serviceMonitorInterval: "string",
                            controllerLogLevel: "string",
                            snatContractScope: "string",
                            snatNamespace: "string",
                            snatPortRangeEnd: "string",
                            snatPortRangeStart: "string",
                            snatPortsPerNode: "string",
                            sriovEnable: "string",
                            subnetDomainName: "string",
                            capic: "string",
                            tenant: "string",
                            apicSubscriptionDelay: "string",
                            useAciAnywhereCrd: "string",
                            useAciCniPriorityClass: "string",
                            useClusterRole: "string",
                            useHostNetnsVolume: "string",
                            useOpflexServerVolume: "string",
                            usePrivilegedContainer: "string",
                            vmmController: "string",
                            vmmDomain: "string",
                            apicRefreshTime: "string",
                            apicRefreshTickerAdjust: "string",
                        },
                        calicoNetworkProvider: {
                            cloudProvider: "string",
                        },
                        canalNetworkProvider: {
                            iface: "string",
                        },
                        flannelNetworkProvider: {
                            iface: "string",
                        },
                        mtu: 0,
                        options: {
                            string: "any",
                        },
                        plugin: "string",
                        tolerations: [{
                            key: "string",
                            effect: "string",
                            operator: "string",
                            seconds: 0,
                            value: "string",
                        }],
                        weaveNetworkProvider: {
                            password: "string",
                        },
                    },
                    nodes: [{
                        address: "string",
                        roles: ["string"],
                        user: "string",
                        dockerSocket: "string",
                        hostnameOverride: "string",
                        internalAddress: "string",
                        labels: {
                            string: "any",
                        },
                        nodeId: "string",
                        port: "string",
                        sshAgentAuth: false,
                        sshKey: "string",
                        sshKeyPath: "string",
                    }],
                    prefixPath: "string",
                    privateRegistries: [{
                        url: "string",
                        ecrCredentialPlugin: {
                            awsAccessKeyId: "string",
                            awsSecretAccessKey: "string",
                            awsSessionToken: "string",
                        },
                        isDefault: false,
                        password: "string",
                        user: "string",
                    }],
                    services: {
                        etcd: {
                            backupConfig: {
                                enabled: false,
                                intervalHours: 0,
                                retention: 0,
                                s3BackupConfig: {
                                    bucketName: "string",
                                    endpoint: "string",
                                    accessKey: "string",
                                    customCa: "string",
                                    folder: "string",
                                    region: "string",
                                    secretKey: "string",
                                },
                                safeTimestamp: false,
                                timeout: 0,
                            },
                            caCert: "string",
                            cert: "string",
                            creation: "string",
                            externalUrls: ["string"],
                            extraArgs: {
                                string: "any",
                            },
                            extraBinds: ["string"],
                            extraEnvs: ["string"],
                            gid: 0,
                            image: "string",
                            key: "string",
                            path: "string",
                            retention: "string",
                            snapshot: false,
                            uid: 0,
                        },
                        kubeApi: {
                            admissionConfiguration: {
                                apiVersion: "string",
                                kind: "string",
                                plugins: [{
                                    configuration: "string",
                                    name: "string",
                                    path: "string",
                                }],
                            },
                            alwaysPullImages: false,
                            auditLog: {
                                configuration: {
                                    format: "string",
                                    maxAge: 0,
                                    maxBackup: 0,
                                    maxSize: 0,
                                    path: "string",
                                    policy: "string",
                                },
                                enabled: false,
                            },
                            eventRateLimit: {
                                configuration: "string",
                                enabled: false,
                            },
                            extraArgs: {
                                string: "any",
                            },
                            extraBinds: ["string"],
                            extraEnvs: ["string"],
                            image: "string",
                            podSecurityPolicy: false,
                            secretsEncryptionConfig: {
                                customConfig: "string",
                                enabled: false,
                            },
                            serviceClusterIpRange: "string",
                            serviceNodePortRange: "string",
                        },
                        kubeController: {
                            clusterCidr: "string",
                            extraArgs: {
                                string: "any",
                            },
                            extraBinds: ["string"],
                            extraEnvs: ["string"],
                            image: "string",
                            serviceClusterIpRange: "string",
                        },
                        kubelet: {
                            clusterDnsServer: "string",
                            clusterDomain: "string",
                            extraArgs: {
                                string: "any",
                            },
                            extraBinds: ["string"],
                            extraEnvs: ["string"],
                            failSwapOn: false,
                            generateServingCertificate: false,
                            image: "string",
                            infraContainerImage: "string",
                        },
                        kubeproxy: {
                            extraArgs: {
                                string: "any",
                            },
                            extraBinds: ["string"],
                            extraEnvs: ["string"],
                            image: "string",
                        },
                        scheduler: {
                            extraArgs: {
                                string: "any",
                            },
                            extraBinds: ["string"],
                            extraEnvs: ["string"],
                            image: "string",
                        },
                    },
                    sshAgentAuth: false,
                    sshCertPath: "string",
                    sshKeyPath: "string",
                    upgradeStrategy: {
                        drain: false,
                        drainInput: {
                            deleteLocalData: false,
                            force: false,
                            gracePeriod: 0,
                            ignoreDaemonSets: false,
                            timeout: 0,
                        },
                        maxUnavailableControlplane: "string",
                        maxUnavailableWorker: "string",
                    },
                    winPrefixPath: "string",
                },
                clusterAuthEndpoint: {
                    caCerts: "string",
                    enabled: false,
                    fqdn: "string",
                },
                defaultClusterRoleForProjectMembers: "string",
                defaultPodSecurityAdmissionConfigurationTemplateName: "string",
                defaultPodSecurityPolicyTemplateId: "string",
                desiredAgentImage: "string",
                desiredAuthImage: "string",
                dockerRootDir: "string",
                enableClusterAlerting: false,
                enableClusterMonitoring: false,
                enableNetworkPolicy: false,
                windowsPreferedCluster: false,
            },
            name: "string",
            annotations: {
                string: "any",
            },
            clusterTemplateId: "string",
            "default": false,
            enabled: false,
            id: "string",
            labels: {
                string: "any",
            },
            questions: [{
                "default": "string",
                variable: "string",
                required: false,
                type: "string",
            }],
        }],
    });
    
    type: rancher2:ClusterTemplate
    properties:
        annotations:
            string: any
        description: string
        labels:
            string: any
        members:
            - accessType: string
              groupPrincipalId: string
              userPrincipalId: string
        name: string
        templateRevisions:
            - annotations:
                string: any
              clusterConfig:
                clusterAuthEndpoint:
                    caCerts: string
                    enabled: false
                    fqdn: string
                defaultClusterRoleForProjectMembers: string
                defaultPodSecurityAdmissionConfigurationTemplateName: string
                defaultPodSecurityPolicyTemplateId: string
                desiredAgentImage: string
                desiredAuthImage: string
                dockerRootDir: string
                enableClusterAlerting: false
                enableClusterMonitoring: false
                enableNetworkPolicy: false
                rkeConfig:
                    addonJobTimeout: 0
                    addons: string
                    addonsIncludes:
                        - string
                    authentication:
                        sans:
                            - string
                        strategy: string
                    authorization:
                        mode: string
                        options:
                            string: any
                    bastionHost:
                        address: string
                        port: string
                        sshAgentAuth: false
                        sshKey: string
                        sshKeyPath: string
                        user: string
                    cloudProvider:
                        awsCloudProvider:
                            global:
                                disableSecurityGroupIngress: false
                                disableStrictZoneCheck: false
                                elbSecurityGroup: string
                                kubernetesClusterId: string
                                kubernetesClusterTag: string
                                roleArn: string
                                routeTableId: string
                                subnetId: string
                                vpc: string
                                zone: string
                            serviceOverrides:
                                - region: string
                                  service: string
                                  signingMethod: string
                                  signingName: string
                                  signingRegion: string
                                  url: string
                        azureCloudProvider:
                            aadClientCertPassword: string
                            aadClientCertPath: string
                            aadClientId: string
                            aadClientSecret: string
                            cloud: string
                            cloudProviderBackoff: false
                            cloudProviderBackoffDuration: 0
                            cloudProviderBackoffExponent: 0
                            cloudProviderBackoffJitter: 0
                            cloudProviderBackoffRetries: 0
                            cloudProviderRateLimit: false
                            cloudProviderRateLimitBucket: 0
                            cloudProviderRateLimitQps: 0
                            loadBalancerSku: string
                            location: string
                            maximumLoadBalancerRuleCount: 0
                            primaryAvailabilitySetName: string
                            primaryScaleSetName: string
                            resourceGroup: string
                            routeTableName: string
                            securityGroupName: string
                            subnetName: string
                            subscriptionId: string
                            tenantId: string
                            useInstanceMetadata: false
                            useManagedIdentityExtension: false
                            vmType: string
                            vnetName: string
                            vnetResourceGroup: string
                        customCloudProvider: string
                        name: string
                        openstackCloudProvider:
                            blockStorage:
                                bsVersion: string
                                ignoreVolumeAz: false
                                trustDevicePath: false
                            global:
                                authUrl: string
                                caFile: string
                                domainId: string
                                domainName: string
                                password: string
                                region: string
                                tenantId: string
                                tenantName: string
                                trustId: string
                                username: string
                            loadBalancer:
                                createMonitor: false
                                floatingNetworkId: string
                                lbMethod: string
                                lbProvider: string
                                lbVersion: string
                                manageSecurityGroups: false
                                monitorDelay: string
                                monitorMaxRetries: 0
                                monitorTimeout: string
                                subnetId: string
                                useOctavia: false
                            metadata:
                                requestTimeout: 0
                                searchOrder: string
                            route:
                                routerId: string
                        vsphereCloudProvider:
                            disk:
                                scsiControllerType: string
                            global:
                                datacenters: string
                                gracefulShutdownTimeout: string
                                insecureFlag: false
                                password: string
                                port: string
                                soapRoundtripCount: 0
                                user: string
                            network:
                                publicNetwork: string
                            virtualCenters:
                                - datacenters: string
                                  name: string
                                  password: string
                                  port: string
                                  soapRoundtripCount: 0
                                  user: string
                            workspace:
                                datacenter: string
                                defaultDatastore: string
                                folder: string
                                resourcepoolPath: string
                                server: string
                    dns:
                        linearAutoscalerParams:
                            coresPerReplica: 0
                            max: 0
                            min: 0
                            nodesPerReplica: 0
                            preventSinglePointFailure: false
                        nodeSelector:
                            string: any
                        nodelocal:
                            ipAddress: string
                            nodeSelector:
                                string: any
                        options:
                            string: any
                        provider: string
                        reverseCidrs:
                            - string
                        tolerations:
                            - effect: string
                              key: string
                              operator: string
                              seconds: 0
                              value: string
                        updateStrategy:
                            rollingUpdate:
                                maxSurge: 0
                                maxUnavailable: 0
                            strategy: string
                        upstreamNameservers:
                            - string
                    enableCriDockerd: false
                    ignoreDockerVersion: false
                    ingress:
                        defaultBackend: false
                        dnsPolicy: string
                        extraArgs:
                            string: any
                        httpPort: 0
                        httpsPort: 0
                        networkMode: string
                        nodeSelector:
                            string: any
                        options:
                            string: any
                        provider: string
                        tolerations:
                            - effect: string
                              key: string
                              operator: string
                              seconds: 0
                              value: string
                        updateStrategy:
                            rollingUpdate:
                                maxUnavailable: 0
                            strategy: string
                    kubernetesVersion: string
                    monitoring:
                        nodeSelector:
                            string: any
                        options:
                            string: any
                        provider: string
                        replicas: 0
                        tolerations:
                            - effect: string
                              key: string
                              operator: string
                              seconds: 0
                              value: string
                        updateStrategy:
                            rollingUpdate:
                                maxSurge: 0
                                maxUnavailable: 0
                            strategy: string
                    network:
                        aciNetworkProvider:
                            aep: string
                            apicHosts:
                                - string
                            apicRefreshTickerAdjust: string
                            apicRefreshTime: string
                            apicSubscriptionDelay: string
                            apicUserCrt: string
                            apicUserKey: string
                            apicUserName: string
                            capic: string
                            controllerLogLevel: string
                            disablePeriodicSnatGlobalInfoSync: string
                            disableWaitForNetwork: string
                            dropLogEnable: string
                            durationWaitForNetwork: string
                            enableEndpointSlice: string
                            encapType: string
                            epRegistry: string
                            externDynamic: string
                            externStatic: string
                            gbpPodSubnet: string
                            hostAgentLogLevel: string
                            imagePullPolicy: string
                            imagePullSecret: string
                            infraVlan: string
                            installIstio: string
                            istioProfile: string
                            kafkaBrokers:
                                - string
                            kafkaClientCrt: string
                            kafkaClientKey: string
                            kubeApiVlan: string
                            l3out: string
                            l3outExternalNetworks:
                                - string
                            maxNodesSvcGraph: string
                            mcastRangeEnd: string
                            mcastRangeStart: string
                            mtuHeadRoom: string
                            multusDisable: string
                            noPriorityClass: string
                            nodePodIfEnable: string
                            nodeSubnet: string
                            nodeSvcSubnet: string
                            opflexClientSsl: string
                            opflexDeviceDeleteTimeout: string
                            opflexLogLevel: string
                            opflexMode: string
                            opflexServerPort: string
                            overlayVrfName: string
                            ovsMemoryLimit: string
                            pbrTrackingNonSnat: string
                            podSubnetChunkSize: string
                            runGbpContainer: string
                            runOpflexServerContainer: string
                            serviceMonitorInterval: string
                            serviceVlan: string
                            snatContractScope: string
                            snatNamespace: string
                            snatPortRangeEnd: string
                            snatPortRangeStart: string
                            snatPortsPerNode: string
                            sriovEnable: string
                            subnetDomainName: string
                            systemId: string
                            tenant: string
                            token: string
                            useAciAnywhereCrd: string
                            useAciCniPriorityClass: string
                            useClusterRole: string
                            useHostNetnsVolume: string
                            useOpflexServerVolume: string
                            usePrivilegedContainer: string
                            vmmController: string
                            vmmDomain: string
                            vrfName: string
                            vrfTenant: string
                        calicoNetworkProvider:
                            cloudProvider: string
                        canalNetworkProvider:
                            iface: string
                        flannelNetworkProvider:
                            iface: string
                        mtu: 0
                        options:
                            string: any
                        plugin: string
                        tolerations:
                            - effect: string
                              key: string
                              operator: string
                              seconds: 0
                              value: string
                        weaveNetworkProvider:
                            password: string
                    nodes:
                        - address: string
                          dockerSocket: string
                          hostnameOverride: string
                          internalAddress: string
                          labels:
                            string: any
                          nodeId: string
                          port: string
                          roles:
                            - string
                          sshAgentAuth: false
                          sshKey: string
                          sshKeyPath: string
                          user: string
                    prefixPath: string
                    privateRegistries:
                        - ecrCredentialPlugin:
                            awsAccessKeyId: string
                            awsSecretAccessKey: string
                            awsSessionToken: string
                          isDefault: false
                          password: string
                          url: string
                          user: string
                    services:
                        etcd:
                            backupConfig:
                                enabled: false
                                intervalHours: 0
                                retention: 0
                                s3BackupConfig:
                                    accessKey: string
                                    bucketName: string
                                    customCa: string
                                    endpoint: string
                                    folder: string
                                    region: string
                                    secretKey: string
                                safeTimestamp: false
                                timeout: 0
                            caCert: string
                            cert: string
                            creation: string
                            externalUrls:
                                - string
                            extraArgs:
                                string: any
                            extraBinds:
                                - string
                            extraEnvs:
                                - string
                            gid: 0
                            image: string
                            key: string
                            path: string
                            retention: string
                            snapshot: false
                            uid: 0
                        kubeApi:
                            admissionConfiguration:
                                apiVersion: string
                                kind: string
                                plugins:
                                    - configuration: string
                                      name: string
                                      path: string
                            alwaysPullImages: false
                            auditLog:
                                configuration:
                                    format: string
                                    maxAge: 0
                                    maxBackup: 0
                                    maxSize: 0
                                    path: string
                                    policy: string
                                enabled: false
                            eventRateLimit:
                                configuration: string
                                enabled: false
                            extraArgs:
                                string: any
                            extraBinds:
                                - string
                            extraEnvs:
                                - string
                            image: string
                            podSecurityPolicy: false
                            secretsEncryptionConfig:
                                customConfig: string
                                enabled: false
                            serviceClusterIpRange: string
                            serviceNodePortRange: string
                        kubeController:
                            clusterCidr: string
                            extraArgs:
                                string: any
                            extraBinds:
                                - string
                            extraEnvs:
                                - string
                            image: string
                            serviceClusterIpRange: string
                        kubelet:
                            clusterDnsServer: string
                            clusterDomain: string
                            extraArgs:
                                string: any
                            extraBinds:
                                - string
                            extraEnvs:
                                - string
                            failSwapOn: false
                            generateServingCertificate: false
                            image: string
                            infraContainerImage: string
                        kubeproxy:
                            extraArgs:
                                string: any
                            extraBinds:
                                - string
                            extraEnvs:
                                - string
                            image: string
                        scheduler:
                            extraArgs:
                                string: any
                            extraBinds:
                                - string
                            extraEnvs:
                                - string
                            image: string
                    sshAgentAuth: false
                    sshCertPath: string
                    sshKeyPath: string
                    upgradeStrategy:
                        drain: false
                        drainInput:
                            deleteLocalData: false
                            force: false
                            gracePeriod: 0
                            ignoreDaemonSets: false
                            timeout: 0
                        maxUnavailableControlplane: string
                        maxUnavailableWorker: string
                    winPrefixPath: string
                windowsPreferedCluster: false
              clusterTemplateId: string
              default: false
              enabled: false
              id: string
              labels:
                string: any
              name: string
              questions:
                - default: string
                  required: false
                  type: string
                  variable: string
    

    ClusterTemplate Resource Properties

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

    Inputs

    The ClusterTemplate resource accepts the following input properties:

    Annotations Dictionary<string, object>
    Annotations for the cluster template (map)
    Description string
    Cluster template description
    Labels Dictionary<string, object>
    Labels for the cluster template (map)
    Members List<ClusterTemplateMember>
    Cluster template members (list)
    Name string
    The cluster template name (string)
    TemplateRevisions List<ClusterTemplateTemplateRevision>
    Cluster template revisions (list)
    Annotations map[string]interface{}
    Annotations for the cluster template (map)
    Description string
    Cluster template description
    Labels map[string]interface{}
    Labels for the cluster template (map)
    Members []ClusterTemplateMemberArgs
    Cluster template members (list)
    Name string
    The cluster template name (string)
    TemplateRevisions []ClusterTemplateTemplateRevisionArgs
    Cluster template revisions (list)
    annotations Map<String,Object>
    Annotations for the cluster template (map)
    description String
    Cluster template description
    labels Map<String,Object>
    Labels for the cluster template (map)
    members List<ClusterTemplateMember>
    Cluster template members (list)
    name String
    The cluster template name (string)
    templateRevisions List<ClusterTemplateTemplateRevision>
    Cluster template revisions (list)
    annotations {[key: string]: any}
    Annotations for the cluster template (map)
    description string
    Cluster template description
    labels {[key: string]: any}
    Labels for the cluster template (map)
    members ClusterTemplateMember[]
    Cluster template members (list)
    name string
    The cluster template name (string)
    templateRevisions ClusterTemplateTemplateRevision[]
    Cluster template revisions (list)
    annotations Mapping[str, Any]
    Annotations for the cluster template (map)
    description str
    Cluster template description
    labels Mapping[str, Any]
    Labels for the cluster template (map)
    members Sequence[ClusterTemplateMemberArgs]
    Cluster template members (list)
    name str
    The cluster template name (string)
    template_revisions Sequence[ClusterTemplateTemplateRevisionArgs]
    Cluster template revisions (list)
    annotations Map<Any>
    Annotations for the cluster template (map)
    description String
    Cluster template description
    labels Map<Any>
    Labels for the cluster template (map)
    members List<Property Map>
    Cluster template members (list)
    name String
    The cluster template name (string)
    templateRevisions List<Property Map>
    Cluster template revisions (list)

    Outputs

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

    DefaultRevisionId string
    (Computed) Default cluster template revision ID (string)
    Id string
    The provider-assigned unique ID for this managed resource.
    DefaultRevisionId string
    (Computed) Default cluster template revision ID (string)
    Id string
    The provider-assigned unique ID for this managed resource.
    defaultRevisionId String
    (Computed) Default cluster template revision ID (string)
    id String
    The provider-assigned unique ID for this managed resource.
    defaultRevisionId string
    (Computed) Default cluster template revision ID (string)
    id string
    The provider-assigned unique ID for this managed resource.
    default_revision_id str
    (Computed) Default cluster template revision ID (string)
    id str
    The provider-assigned unique ID for this managed resource.
    defaultRevisionId String
    (Computed) Default cluster template revision ID (string)
    id String
    The provider-assigned unique ID for this managed resource.

    Look up Existing ClusterTemplate Resource

    Get an existing ClusterTemplate 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?: ClusterTemplateState, opts?: CustomResourceOptions): ClusterTemplate
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            annotations: Optional[Mapping[str, Any]] = None,
            default_revision_id: Optional[str] = None,
            description: Optional[str] = None,
            labels: Optional[Mapping[str, Any]] = None,
            members: Optional[Sequence[ClusterTemplateMemberArgs]] = None,
            name: Optional[str] = None,
            template_revisions: Optional[Sequence[ClusterTemplateTemplateRevisionArgs]] = None) -> ClusterTemplate
    func GetClusterTemplate(ctx *Context, name string, id IDInput, state *ClusterTemplateState, opts ...ResourceOption) (*ClusterTemplate, error)
    public static ClusterTemplate Get(string name, Input<string> id, ClusterTemplateState? state, CustomResourceOptions? opts = null)
    public static ClusterTemplate get(String name, Output<String> id, ClusterTemplateState state, CustomResourceOptions options)
    Resource lookup is not supported in YAML
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    resource_name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    The following state arguments are supported:
    Annotations Dictionary<string, object>
    Annotations for the cluster template (map)
    DefaultRevisionId string
    (Computed) Default cluster template revision ID (string)
    Description string
    Cluster template description
    Labels Dictionary<string, object>
    Labels for the cluster template (map)
    Members List<ClusterTemplateMember>
    Cluster template members (list)
    Name string
    The cluster template name (string)
    TemplateRevisions List<ClusterTemplateTemplateRevision>
    Cluster template revisions (list)
    Annotations map[string]interface{}
    Annotations for the cluster template (map)
    DefaultRevisionId string
    (Computed) Default cluster template revision ID (string)
    Description string
    Cluster template description
    Labels map[string]interface{}
    Labels for the cluster template (map)
    Members []ClusterTemplateMemberArgs
    Cluster template members (list)
    Name string
    The cluster template name (string)
    TemplateRevisions []ClusterTemplateTemplateRevisionArgs
    Cluster template revisions (list)
    annotations Map<String,Object>
    Annotations for the cluster template (map)
    defaultRevisionId String
    (Computed) Default cluster template revision ID (string)
    description String
    Cluster template description
    labels Map<String,Object>
    Labels for the cluster template (map)
    members List<ClusterTemplateMember>
    Cluster template members (list)
    name String
    The cluster template name (string)
    templateRevisions List<ClusterTemplateTemplateRevision>
    Cluster template revisions (list)
    annotations {[key: string]: any}
    Annotations for the cluster template (map)
    defaultRevisionId string
    (Computed) Default cluster template revision ID (string)
    description string
    Cluster template description
    labels {[key: string]: any}
    Labels for the cluster template (map)
    members ClusterTemplateMember[]
    Cluster template members (list)
    name string
    The cluster template name (string)
    templateRevisions ClusterTemplateTemplateRevision[]
    Cluster template revisions (list)
    annotations Mapping[str, Any]
    Annotations for the cluster template (map)
    default_revision_id str
    (Computed) Default cluster template revision ID (string)
    description str
    Cluster template description
    labels Mapping[str, Any]
    Labels for the cluster template (map)
    members Sequence[ClusterTemplateMemberArgs]
    Cluster template members (list)
    name str
    The cluster template name (string)
    template_revisions Sequence[ClusterTemplateTemplateRevisionArgs]
    Cluster template revisions (list)
    annotations Map<Any>
    Annotations for the cluster template (map)
    defaultRevisionId String
    (Computed) Default cluster template revision ID (string)
    description String
    Cluster template description
    labels Map<Any>
    Labels for the cluster template (map)
    members List<Property Map>
    Cluster template members (list)
    name String
    The cluster template name (string)
    templateRevisions List<Property Map>
    Cluster template revisions (list)

    Supporting Types

    ClusterTemplateMember, ClusterTemplateMemberArgs

    AccessType string
    Member access type: member, owner, read-only
    GroupPrincipalId string
    Member group principal id
    UserPrincipalId string
    Member user principal id
    AccessType string
    Member access type: member, owner, read-only
    GroupPrincipalId string
    Member group principal id
    UserPrincipalId string
    Member user principal id
    accessType String
    Member access type: member, owner, read-only
    groupPrincipalId String
    Member group principal id
    userPrincipalId String
    Member user principal id
    accessType string
    Member access type: member, owner, read-only
    groupPrincipalId string
    Member group principal id
    userPrincipalId string
    Member user principal id
    access_type str
    Member access type: member, owner, read-only
    group_principal_id str
    Member group principal id
    user_principal_id str
    Member user principal id
    accessType String
    Member access type: member, owner, read-only
    groupPrincipalId String
    Member group principal id
    userPrincipalId String
    Member user principal id

    ClusterTemplateTemplateRevision, ClusterTemplateTemplateRevisionArgs

    ClusterConfig ClusterTemplateTemplateRevisionClusterConfig
    Cluster configuration
    Name string
    The cluster template name (string)
    Annotations Dictionary<string, object>
    Annotations for the cluster template (map)
    ClusterTemplateId string
    Cluster template ID
    Default bool
    Default cluster template revision
    Enabled bool
    Enable cluster template revision
    Id string
    (Computed) The ID of the resource (string)
    Labels Dictionary<string, object>
    Labels for the cluster template (map)
    Questions List<ClusterTemplateTemplateRevisionQuestion>
    Cluster template questions
    ClusterConfig ClusterTemplateTemplateRevisionClusterConfig
    Cluster configuration
    Name string
    The cluster template name (string)
    Annotations map[string]interface{}
    Annotations for the cluster template (map)
    ClusterTemplateId string
    Cluster template ID
    Default bool
    Default cluster template revision
    Enabled bool
    Enable cluster template revision
    Id string
    (Computed) The ID of the resource (string)
    Labels map[string]interface{}
    Labels for the cluster template (map)
    Questions []ClusterTemplateTemplateRevisionQuestion
    Cluster template questions
    clusterConfig ClusterTemplateTemplateRevisionClusterConfig
    Cluster configuration
    name String
    The cluster template name (string)
    annotations Map<String,Object>
    Annotations for the cluster template (map)
    clusterTemplateId String
    Cluster template ID
    default_ Boolean
    Default cluster template revision
    enabled Boolean
    Enable cluster template revision
    id String
    (Computed) The ID of the resource (string)
    labels Map<String,Object>
    Labels for the cluster template (map)
    questions List<ClusterTemplateTemplateRevisionQuestion>
    Cluster template questions
    clusterConfig ClusterTemplateTemplateRevisionClusterConfig
    Cluster configuration
    name string
    The cluster template name (string)
    annotations {[key: string]: any}
    Annotations for the cluster template (map)
    clusterTemplateId string
    Cluster template ID
    default boolean
    Default cluster template revision
    enabled boolean
    Enable cluster template revision
    id string
    (Computed) The ID of the resource (string)
    labels {[key: string]: any}
    Labels for the cluster template (map)
    questions ClusterTemplateTemplateRevisionQuestion[]
    Cluster template questions
    cluster_config ClusterTemplateTemplateRevisionClusterConfig
    Cluster configuration
    name str
    The cluster template name (string)
    annotations Mapping[str, Any]
    Annotations for the cluster template (map)
    cluster_template_id str
    Cluster template ID
    default bool
    Default cluster template revision
    enabled bool
    Enable cluster template revision
    id str
    (Computed) The ID of the resource (string)
    labels Mapping[str, Any]
    Labels for the cluster template (map)
    questions Sequence[ClusterTemplateTemplateRevisionQuestion]
    Cluster template questions
    clusterConfig Property Map
    Cluster configuration
    name String
    The cluster template name (string)
    annotations Map<Any>
    Annotations for the cluster template (map)
    clusterTemplateId String
    Cluster template ID
    default Boolean
    Default cluster template revision
    enabled Boolean
    Enable cluster template revision
    id String
    (Computed) The ID of the resource (string)
    labels Map<Any>
    Labels for the cluster template (map)
    questions List<Property Map>
    Cluster template questions

    ClusterTemplateTemplateRevisionClusterConfig, ClusterTemplateTemplateRevisionClusterConfigArgs

    RkeConfig ClusterTemplateTemplateRevisionClusterConfigRkeConfig
    Rancher Kubernetes Engine Config
    ClusterAuthEndpoint ClusterTemplateTemplateRevisionClusterConfigClusterAuthEndpoint
    Local cluster auth endpoint
    DefaultClusterRoleForProjectMembers string
    Default cluster role for project members
    DefaultPodSecurityAdmissionConfigurationTemplateName string
    Default pod security admission configuration template name
    DefaultPodSecurityPolicyTemplateId string
    Default pod security policy template ID
    DesiredAgentImage string
    Desired agent image
    DesiredAuthImage string
    Desired auth image
    DockerRootDir string
    Docker Root Dir
    EnableClusterAlerting bool
    Enable built-in cluster alerting
    EnableClusterMonitoring bool
    Enable built-in cluster monitoring
    EnableNetworkPolicy bool
    Enable project network isolation
    WindowsPreferedCluster bool
    Windows prefered cluster
    RkeConfig ClusterTemplateTemplateRevisionClusterConfigRkeConfig
    Rancher Kubernetes Engine Config
    ClusterAuthEndpoint ClusterTemplateTemplateRevisionClusterConfigClusterAuthEndpoint
    Local cluster auth endpoint
    DefaultClusterRoleForProjectMembers string
    Default cluster role for project members
    DefaultPodSecurityAdmissionConfigurationTemplateName string
    Default pod security admission configuration template name
    DefaultPodSecurityPolicyTemplateId string
    Default pod security policy template ID
    DesiredAgentImage string
    Desired agent image
    DesiredAuthImage string
    Desired auth image
    DockerRootDir string
    Docker Root Dir
    EnableClusterAlerting bool
    Enable built-in cluster alerting
    EnableClusterMonitoring bool
    Enable built-in cluster monitoring
    EnableNetworkPolicy bool
    Enable project network isolation
    WindowsPreferedCluster bool
    Windows prefered cluster
    rkeConfig ClusterTemplateTemplateRevisionClusterConfigRkeConfig
    Rancher Kubernetes Engine Config
    clusterAuthEndpoint ClusterTemplateTemplateRevisionClusterConfigClusterAuthEndpoint
    Local cluster auth endpoint
    defaultClusterRoleForProjectMembers String
    Default cluster role for project members
    defaultPodSecurityAdmissionConfigurationTemplateName String
    Default pod security admission configuration template name
    defaultPodSecurityPolicyTemplateId String
    Default pod security policy template ID
    desiredAgentImage String
    Desired agent image
    desiredAuthImage String
    Desired auth image
    dockerRootDir String
    Docker Root Dir
    enableClusterAlerting Boolean
    Enable built-in cluster alerting
    enableClusterMonitoring Boolean
    Enable built-in cluster monitoring
    enableNetworkPolicy Boolean
    Enable project network isolation
    windowsPreferedCluster Boolean
    Windows prefered cluster
    rkeConfig ClusterTemplateTemplateRevisionClusterConfigRkeConfig
    Rancher Kubernetes Engine Config
    clusterAuthEndpoint ClusterTemplateTemplateRevisionClusterConfigClusterAuthEndpoint
    Local cluster auth endpoint
    defaultClusterRoleForProjectMembers string
    Default cluster role for project members
    defaultPodSecurityAdmissionConfigurationTemplateName string
    Default pod security admission configuration template name
    defaultPodSecurityPolicyTemplateId string
    Default pod security policy template ID
    desiredAgentImage string
    Desired agent image
    desiredAuthImage string
    Desired auth image
    dockerRootDir string
    Docker Root Dir
    enableClusterAlerting boolean
    Enable built-in cluster alerting
    enableClusterMonitoring boolean
    Enable built-in cluster monitoring
    enableNetworkPolicy boolean
    Enable project network isolation
    windowsPreferedCluster boolean
    Windows prefered cluster
    rke_config ClusterTemplateTemplateRevisionClusterConfigRkeConfig
    Rancher Kubernetes Engine Config
    cluster_auth_endpoint ClusterTemplateTemplateRevisionClusterConfigClusterAuthEndpoint
    Local cluster auth endpoint
    default_cluster_role_for_project_members str
    Default cluster role for project members
    default_pod_security_admission_configuration_template_name str
    Default pod security admission configuration template name
    default_pod_security_policy_template_id str
    Default pod security policy template ID
    desired_agent_image str
    Desired agent image
    desired_auth_image str
    Desired auth image
    docker_root_dir str
    Docker Root Dir
    enable_cluster_alerting bool
    Enable built-in cluster alerting
    enable_cluster_monitoring bool
    Enable built-in cluster monitoring
    enable_network_policy bool
    Enable project network isolation
    windows_prefered_cluster bool
    Windows prefered cluster
    rkeConfig Property Map
    Rancher Kubernetes Engine Config
    clusterAuthEndpoint Property Map
    Local cluster auth endpoint
    defaultClusterRoleForProjectMembers String
    Default cluster role for project members
    defaultPodSecurityAdmissionConfigurationTemplateName String
    Default pod security admission configuration template name
    defaultPodSecurityPolicyTemplateId String
    Default pod security policy template ID
    desiredAgentImage String
    Desired agent image
    desiredAuthImage String
    Desired auth image
    dockerRootDir String
    Docker Root Dir
    enableClusterAlerting Boolean
    Enable built-in cluster alerting
    enableClusterMonitoring Boolean
    Enable built-in cluster monitoring
    enableNetworkPolicy Boolean
    Enable project network isolation
    windowsPreferedCluster Boolean
    Windows prefered cluster

    ClusterTemplateTemplateRevisionClusterConfigClusterAuthEndpoint, ClusterTemplateTemplateRevisionClusterConfigClusterAuthEndpointArgs

    CaCerts string
    Enabled bool
    Fqdn string
    CaCerts string
    Enabled bool
    Fqdn string
    caCerts String
    enabled Boolean
    fqdn String
    caCerts string
    enabled boolean
    fqdn string
    ca_certs str
    enabled bool
    fqdn str
    caCerts String
    enabled Boolean
    fqdn String

    ClusterTemplateTemplateRevisionClusterConfigRkeConfig, ClusterTemplateTemplateRevisionClusterConfigRkeConfigArgs

    AddonJobTimeout int
    Optional duration in seconds of addon job.
    Addons string
    Optional addons descripton to deploy on rke cluster.
    AddonsIncludes List<string>
    Optional addons yaml manisfest to deploy on rke cluster.
    Authentication ClusterTemplateTemplateRevisionClusterConfigRkeConfigAuthentication
    Kubernetes cluster authentication
    Authorization ClusterTemplateTemplateRevisionClusterConfigRkeConfigAuthorization
    Kubernetes cluster authorization
    BastionHost ClusterTemplateTemplateRevisionClusterConfigRkeConfigBastionHost
    RKE bastion host
    CloudProvider ClusterTemplateTemplateRevisionClusterConfigRkeConfigCloudProvider
    Dns ClusterTemplateTemplateRevisionClusterConfigRkeConfigDns
    EnableCriDockerd bool
    Enable/disable using cri-dockerd
    IgnoreDockerVersion bool
    Optional ignore docker version on nodes
    Ingress ClusterTemplateTemplateRevisionClusterConfigRkeConfigIngress
    Kubernetes ingress configuration
    KubernetesVersion string
    Optional kubernetes version to deploy
    Monitoring ClusterTemplateTemplateRevisionClusterConfigRkeConfigMonitoring
    Kubernetes cluster monitoring
    Network ClusterTemplateTemplateRevisionClusterConfigRkeConfigNetwork
    Kubernetes cluster networking
    Nodes List<ClusterTemplateTemplateRevisionClusterConfigRkeConfigNode>
    Optional RKE cluster nodes
    PrefixPath string
    Optional prefix to customize kubernetes path
    PrivateRegistries List<ClusterTemplateTemplateRevisionClusterConfigRkeConfigPrivateRegistry>
    Optional private registries for docker images
    Services ClusterTemplateTemplateRevisionClusterConfigRkeConfigServices
    Kubernetes cluster services
    SshAgentAuth bool
    Optional use ssh agent auth
    SshCertPath string
    Optional cluster level SSH certificate path
    SshKeyPath string
    Optional cluster level SSH private key path
    UpgradeStrategy ClusterTemplateTemplateRevisionClusterConfigRkeConfigUpgradeStrategy
    RKE upgrade strategy
    WinPrefixPath string
    Optional prefix to customize kubernetes path for windows
    AddonJobTimeout int
    Optional duration in seconds of addon job.
    Addons string
    Optional addons descripton to deploy on rke cluster.
    AddonsIncludes []string
    Optional addons yaml manisfest to deploy on rke cluster.
    Authentication ClusterTemplateTemplateRevisionClusterConfigRkeConfigAuthentication
    Kubernetes cluster authentication
    Authorization ClusterTemplateTemplateRevisionClusterConfigRkeConfigAuthorization
    Kubernetes cluster authorization
    BastionHost ClusterTemplateTemplateRevisionClusterConfigRkeConfigBastionHost
    RKE bastion host
    CloudProvider ClusterTemplateTemplateRevisionClusterConfigRkeConfigCloudProvider
    Dns ClusterTemplateTemplateRevisionClusterConfigRkeConfigDns
    EnableCriDockerd bool
    Enable/disable using cri-dockerd
    IgnoreDockerVersion bool
    Optional ignore docker version on nodes
    Ingress ClusterTemplateTemplateRevisionClusterConfigRkeConfigIngress
    Kubernetes ingress configuration
    KubernetesVersion string
    Optional kubernetes version to deploy
    Monitoring ClusterTemplateTemplateRevisionClusterConfigRkeConfigMonitoring
    Kubernetes cluster monitoring
    Network ClusterTemplateTemplateRevisionClusterConfigRkeConfigNetwork
    Kubernetes cluster networking
    Nodes []ClusterTemplateTemplateRevisionClusterConfigRkeConfigNode
    Optional RKE cluster nodes
    PrefixPath string
    Optional prefix to customize kubernetes path
    PrivateRegistries []ClusterTemplateTemplateRevisionClusterConfigRkeConfigPrivateRegistry
    Optional private registries for docker images
    Services ClusterTemplateTemplateRevisionClusterConfigRkeConfigServices
    Kubernetes cluster services
    SshAgentAuth bool
    Optional use ssh agent auth
    SshCertPath string
    Optional cluster level SSH certificate path
    SshKeyPath string
    Optional cluster level SSH private key path
    UpgradeStrategy ClusterTemplateTemplateRevisionClusterConfigRkeConfigUpgradeStrategy
    RKE upgrade strategy
    WinPrefixPath string
    Optional prefix to customize kubernetes path for windows
    addonJobTimeout Integer
    Optional duration in seconds of addon job.
    addons String
    Optional addons descripton to deploy on rke cluster.
    addonsIncludes List<String>
    Optional addons yaml manisfest to deploy on rke cluster.
    authentication ClusterTemplateTemplateRevisionClusterConfigRkeConfigAuthentication
    Kubernetes cluster authentication
    authorization ClusterTemplateTemplateRevisionClusterConfigRkeConfigAuthorization
    Kubernetes cluster authorization
    bastionHost ClusterTemplateTemplateRevisionClusterConfigRkeConfigBastionHost
    RKE bastion host
    cloudProvider ClusterTemplateTemplateRevisionClusterConfigRkeConfigCloudProvider
    dns ClusterTemplateTemplateRevisionClusterConfigRkeConfigDns
    enableCriDockerd Boolean
    Enable/disable using cri-dockerd
    ignoreDockerVersion Boolean
    Optional ignore docker version on nodes
    ingress ClusterTemplateTemplateRevisionClusterConfigRkeConfigIngress
    Kubernetes ingress configuration
    kubernetesVersion String
    Optional kubernetes version to deploy
    monitoring ClusterTemplateTemplateRevisionClusterConfigRkeConfigMonitoring
    Kubernetes cluster monitoring
    network ClusterTemplateTemplateRevisionClusterConfigRkeConfigNetwork
    Kubernetes cluster networking
    nodes List<ClusterTemplateTemplateRevisionClusterConfigRkeConfigNode>
    Optional RKE cluster nodes
    prefixPath String
    Optional prefix to customize kubernetes path
    privateRegistries List<ClusterTemplateTemplateRevisionClusterConfigRkeConfigPrivateRegistry>
    Optional private registries for docker images
    services ClusterTemplateTemplateRevisionClusterConfigRkeConfigServices
    Kubernetes cluster services
    sshAgentAuth Boolean
    Optional use ssh agent auth
    sshCertPath String
    Optional cluster level SSH certificate path
    sshKeyPath String
    Optional cluster level SSH private key path
    upgradeStrategy ClusterTemplateTemplateRevisionClusterConfigRkeConfigUpgradeStrategy
    RKE upgrade strategy
    winPrefixPath String
    Optional prefix to customize kubernetes path for windows
    addonJobTimeout number
    Optional duration in seconds of addon job.
    addons string
    Optional addons descripton to deploy on rke cluster.
    addonsIncludes string[]
    Optional addons yaml manisfest to deploy on rke cluster.
    authentication ClusterTemplateTemplateRevisionClusterConfigRkeConfigAuthentication
    Kubernetes cluster authentication
    authorization ClusterTemplateTemplateRevisionClusterConfigRkeConfigAuthorization
    Kubernetes cluster authorization
    bastionHost ClusterTemplateTemplateRevisionClusterConfigRkeConfigBastionHost
    RKE bastion host
    cloudProvider ClusterTemplateTemplateRevisionClusterConfigRkeConfigCloudProvider
    dns ClusterTemplateTemplateRevisionClusterConfigRkeConfigDns
    enableCriDockerd boolean
    Enable/disable using cri-dockerd
    ignoreDockerVersion boolean
    Optional ignore docker version on nodes
    ingress ClusterTemplateTemplateRevisionClusterConfigRkeConfigIngress
    Kubernetes ingress configuration
    kubernetesVersion string
    Optional kubernetes version to deploy
    monitoring ClusterTemplateTemplateRevisionClusterConfigRkeConfigMonitoring
    Kubernetes cluster monitoring
    network ClusterTemplateTemplateRevisionClusterConfigRkeConfigNetwork
    Kubernetes cluster networking
    nodes ClusterTemplateTemplateRevisionClusterConfigRkeConfigNode[]
    Optional RKE cluster nodes
    prefixPath string
    Optional prefix to customize kubernetes path
    privateRegistries ClusterTemplateTemplateRevisionClusterConfigRkeConfigPrivateRegistry[]
    Optional private registries for docker images
    services ClusterTemplateTemplateRevisionClusterConfigRkeConfigServices
    Kubernetes cluster services
    sshAgentAuth boolean
    Optional use ssh agent auth
    sshCertPath string
    Optional cluster level SSH certificate path
    sshKeyPath string
    Optional cluster level SSH private key path
    upgradeStrategy ClusterTemplateTemplateRevisionClusterConfigRkeConfigUpgradeStrategy
    RKE upgrade strategy
    winPrefixPath string
    Optional prefix to customize kubernetes path for windows
    addon_job_timeout int
    Optional duration in seconds of addon job.
    addons str
    Optional addons descripton to deploy on rke cluster.
    addons_includes Sequence[str]
    Optional addons yaml manisfest to deploy on rke cluster.
    authentication ClusterTemplateTemplateRevisionClusterConfigRkeConfigAuthentication
    Kubernetes cluster authentication
    authorization ClusterTemplateTemplateRevisionClusterConfigRkeConfigAuthorization
    Kubernetes cluster authorization
    bastion_host ClusterTemplateTemplateRevisionClusterConfigRkeConfigBastionHost
    RKE bastion host
    cloud_provider ClusterTemplateTemplateRevisionClusterConfigRkeConfigCloudProvider
    dns ClusterTemplateTemplateRevisionClusterConfigRkeConfigDns
    enable_cri_dockerd bool
    Enable/disable using cri-dockerd
    ignore_docker_version bool
    Optional ignore docker version on nodes
    ingress ClusterTemplateTemplateRevisionClusterConfigRkeConfigIngress
    Kubernetes ingress configuration
    kubernetes_version str
    Optional kubernetes version to deploy
    monitoring ClusterTemplateTemplateRevisionClusterConfigRkeConfigMonitoring
    Kubernetes cluster monitoring
    network ClusterTemplateTemplateRevisionClusterConfigRkeConfigNetwork
    Kubernetes cluster networking
    nodes Sequence[ClusterTemplateTemplateRevisionClusterConfigRkeConfigNode]
    Optional RKE cluster nodes
    prefix_path str
    Optional prefix to customize kubernetes path
    private_registries Sequence[ClusterTemplateTemplateRevisionClusterConfigRkeConfigPrivateRegistry]
    Optional private registries for docker images
    services ClusterTemplateTemplateRevisionClusterConfigRkeConfigServices
    Kubernetes cluster services
    ssh_agent_auth bool
    Optional use ssh agent auth
    ssh_cert_path str
    Optional cluster level SSH certificate path
    ssh_key_path str
    Optional cluster level SSH private key path
    upgrade_strategy ClusterTemplateTemplateRevisionClusterConfigRkeConfigUpgradeStrategy
    RKE upgrade strategy
    win_prefix_path str
    Optional prefix to customize kubernetes path for windows
    addonJobTimeout Number
    Optional duration in seconds of addon job.
    addons String
    Optional addons descripton to deploy on rke cluster.
    addonsIncludes List<String>
    Optional addons yaml manisfest to deploy on rke cluster.
    authentication Property Map
    Kubernetes cluster authentication
    authorization Property Map
    Kubernetes cluster authorization
    bastionHost Property Map
    RKE bastion host
    cloudProvider Property Map
    dns Property Map
    enableCriDockerd Boolean
    Enable/disable using cri-dockerd
    ignoreDockerVersion Boolean
    Optional ignore docker version on nodes
    ingress Property Map
    Kubernetes ingress configuration
    kubernetesVersion String
    Optional kubernetes version to deploy
    monitoring Property Map
    Kubernetes cluster monitoring
    network Property Map
    Kubernetes cluster networking
    nodes List<Property Map>
    Optional RKE cluster nodes
    prefixPath String
    Optional prefix to customize kubernetes path
    privateRegistries List<Property Map>
    Optional private registries for docker images
    services Property Map
    Kubernetes cluster services
    sshAgentAuth Boolean
    Optional use ssh agent auth
    sshCertPath String
    Optional cluster level SSH certificate path
    sshKeyPath String
    Optional cluster level SSH private key path
    upgradeStrategy Property Map
    RKE upgrade strategy
    winPrefixPath String
    Optional prefix to customize kubernetes path for windows

    ClusterTemplateTemplateRevisionClusterConfigRkeConfigAuthentication, ClusterTemplateTemplateRevisionClusterConfigRkeConfigAuthenticationArgs

    Sans List<string>
    Strategy string
    Sans []string
    Strategy string
    sans List<String>
    strategy String
    sans string[]
    strategy string
    sans Sequence[str]
    strategy str
    sans List<String>
    strategy String

    ClusterTemplateTemplateRevisionClusterConfigRkeConfigAuthorization, ClusterTemplateTemplateRevisionClusterConfigRkeConfigAuthorizationArgs

    Mode string
    Options Dictionary<string, object>
    Mode string
    Options map[string]interface{}
    mode String
    options Map<String,Object>
    mode string
    options {[key: string]: any}
    mode str
    options Mapping[str, Any]
    mode String
    options Map<Any>

    ClusterTemplateTemplateRevisionClusterConfigRkeConfigBastionHost, ClusterTemplateTemplateRevisionClusterConfigRkeConfigBastionHostArgs

    Address string
    User string
    Port string
    SshAgentAuth bool
    SshKey string
    SshKeyPath string
    Address string
    User string
    Port string
    SshAgentAuth bool
    SshKey string
    SshKeyPath string
    address String
    user String
    port String
    sshAgentAuth Boolean
    sshKey String
    sshKeyPath String
    address string
    user string
    port string
    sshAgentAuth boolean
    sshKey string
    sshKeyPath string
    address String
    user String
    port String
    sshAgentAuth Boolean
    sshKey String
    sshKeyPath String

    ClusterTemplateTemplateRevisionClusterConfigRkeConfigCloudProvider, ClusterTemplateTemplateRevisionClusterConfigRkeConfigCloudProviderArgs

    ClusterTemplateTemplateRevisionClusterConfigRkeConfigCloudProviderAwsCloudProvider, ClusterTemplateTemplateRevisionClusterConfigRkeConfigCloudProviderAwsCloudProviderArgs

    ClusterTemplateTemplateRevisionClusterConfigRkeConfigCloudProviderAwsCloudProviderGlobal, ClusterTemplateTemplateRevisionClusterConfigRkeConfigCloudProviderAwsCloudProviderGlobalArgs

    ClusterTemplateTemplateRevisionClusterConfigRkeConfigCloudProviderAwsCloudProviderServiceOverride, ClusterTemplateTemplateRevisionClusterConfigRkeConfigCloudProviderAwsCloudProviderServiceOverrideArgs

    Service string
    Region string
    SigningMethod string
    SigningName string
    SigningRegion string
    Url string
    Service string
    Region string
    SigningMethod string
    SigningName string
    SigningRegion string
    Url string
    service String
    region String
    signingMethod String
    signingName String
    signingRegion String
    url String
    service string
    region string
    signingMethod string
    signingName string
    signingRegion string
    url string
    service String
    region String
    signingMethod String
    signingName String
    signingRegion String
    url String

    ClusterTemplateTemplateRevisionClusterConfigRkeConfigCloudProviderAzureCloudProvider, ClusterTemplateTemplateRevisionClusterConfigRkeConfigCloudProviderAzureCloudProviderArgs