1. Packages
  2. Azure Classic
  3. API Docs
  4. containerservice
  5. KubernetesClusterNodePool

We recommend using Azure Native.

Azure Classic v5.72.0 published on Monday, Apr 15, 2024 by Pulumi

azure.containerservice.KubernetesClusterNodePool

Explore with Pulumi AI

azure logo

We recommend using Azure Native.

Azure Classic v5.72.0 published on Monday, Apr 15, 2024 by Pulumi

    Manages a Node Pool within a Kubernetes Cluster

    NOTE: Multiple Node Pools are only supported when the Kubernetes Cluster is using Virtual Machine Scale Sets.

    Example Usage

    This example provisions a basic Kubernetes Node Pool.

    import * as pulumi from "@pulumi/pulumi";
    import * as azure from "@pulumi/azure";
    
    const example = new azure.core.ResourceGroup("example", {
        name: "example-resources",
        location: "West Europe",
    });
    const exampleKubernetesCluster = new azure.containerservice.KubernetesCluster("example", {
        name: "example-aks1",
        location: example.location,
        resourceGroupName: example.name,
        dnsPrefix: "exampleaks1",
        defaultNodePool: {
            name: "default",
            nodeCount: 1,
            vmSize: "Standard_D2_v2",
        },
        servicePrincipal: {
            clientId: "00000000-0000-0000-0000-000000000000",
            clientSecret: "00000000000000000000000000000000",
        },
    });
    const exampleKubernetesClusterNodePool = new azure.containerservice.KubernetesClusterNodePool("example", {
        name: "internal",
        kubernetesClusterId: exampleKubernetesCluster.id,
        vmSize: "Standard_DS2_v2",
        nodeCount: 1,
        tags: {
            Environment: "Production",
        },
    });
    
    import pulumi
    import pulumi_azure as azure
    
    example = azure.core.ResourceGroup("example",
        name="example-resources",
        location="West Europe")
    example_kubernetes_cluster = azure.containerservice.KubernetesCluster("example",
        name="example-aks1",
        location=example.location,
        resource_group_name=example.name,
        dns_prefix="exampleaks1",
        default_node_pool=azure.containerservice.KubernetesClusterDefaultNodePoolArgs(
            name="default",
            node_count=1,
            vm_size="Standard_D2_v2",
        ),
        service_principal=azure.containerservice.KubernetesClusterServicePrincipalArgs(
            client_id="00000000-0000-0000-0000-000000000000",
            client_secret="00000000000000000000000000000000",
        ))
    example_kubernetes_cluster_node_pool = azure.containerservice.KubernetesClusterNodePool("example",
        name="internal",
        kubernetes_cluster_id=example_kubernetes_cluster.id,
        vm_size="Standard_DS2_v2",
        node_count=1,
        tags={
            "Environment": "Production",
        })
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/containerservice"
    	"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
    			Name:     pulumi.String("example-resources"),
    			Location: pulumi.String("West Europe"),
    		})
    		if err != nil {
    			return err
    		}
    		exampleKubernetesCluster, err := containerservice.NewKubernetesCluster(ctx, "example", &containerservice.KubernetesClusterArgs{
    			Name:              pulumi.String("example-aks1"),
    			Location:          example.Location,
    			ResourceGroupName: example.Name,
    			DnsPrefix:         pulumi.String("exampleaks1"),
    			DefaultNodePool: &containerservice.KubernetesClusterDefaultNodePoolArgs{
    				Name:      pulumi.String("default"),
    				NodeCount: pulumi.Int(1),
    				VmSize:    pulumi.String("Standard_D2_v2"),
    			},
    			ServicePrincipal: &containerservice.KubernetesClusterServicePrincipalArgs{
    				ClientId:     pulumi.String("00000000-0000-0000-0000-000000000000"),
    				ClientSecret: pulumi.String("00000000000000000000000000000000"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		_, err = containerservice.NewKubernetesClusterNodePool(ctx, "example", &containerservice.KubernetesClusterNodePoolArgs{
    			Name:                pulumi.String("internal"),
    			KubernetesClusterId: exampleKubernetesCluster.ID(),
    			VmSize:              pulumi.String("Standard_DS2_v2"),
    			NodeCount:           pulumi.Int(1),
    			Tags: pulumi.StringMap{
    				"Environment": pulumi.String("Production"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Azure = Pulumi.Azure;
    
    return await Deployment.RunAsync(() => 
    {
        var example = new Azure.Core.ResourceGroup("example", new()
        {
            Name = "example-resources",
            Location = "West Europe",
        });
    
        var exampleKubernetesCluster = new Azure.ContainerService.KubernetesCluster("example", new()
        {
            Name = "example-aks1",
            Location = example.Location,
            ResourceGroupName = example.Name,
            DnsPrefix = "exampleaks1",
            DefaultNodePool = new Azure.ContainerService.Inputs.KubernetesClusterDefaultNodePoolArgs
            {
                Name = "default",
                NodeCount = 1,
                VmSize = "Standard_D2_v2",
            },
            ServicePrincipal = new Azure.ContainerService.Inputs.KubernetesClusterServicePrincipalArgs
            {
                ClientId = "00000000-0000-0000-0000-000000000000",
                ClientSecret = "00000000000000000000000000000000",
            },
        });
    
        var exampleKubernetesClusterNodePool = new Azure.ContainerService.KubernetesClusterNodePool("example", new()
        {
            Name = "internal",
            KubernetesClusterId = exampleKubernetesCluster.Id,
            VmSize = "Standard_DS2_v2",
            NodeCount = 1,
            Tags = 
            {
                { "Environment", "Production" },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.azure.core.ResourceGroup;
    import com.pulumi.azure.core.ResourceGroupArgs;
    import com.pulumi.azure.containerservice.KubernetesCluster;
    import com.pulumi.azure.containerservice.KubernetesClusterArgs;
    import com.pulumi.azure.containerservice.inputs.KubernetesClusterDefaultNodePoolArgs;
    import com.pulumi.azure.containerservice.inputs.KubernetesClusterServicePrincipalArgs;
    import com.pulumi.azure.containerservice.KubernetesClusterNodePool;
    import com.pulumi.azure.containerservice.KubernetesClusterNodePoolArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var example = new ResourceGroup("example", ResourceGroupArgs.builder()        
                .name("example-resources")
                .location("West Europe")
                .build());
    
            var exampleKubernetesCluster = new KubernetesCluster("exampleKubernetesCluster", KubernetesClusterArgs.builder()        
                .name("example-aks1")
                .location(example.location())
                .resourceGroupName(example.name())
                .dnsPrefix("exampleaks1")
                .defaultNodePool(KubernetesClusterDefaultNodePoolArgs.builder()
                    .name("default")
                    .nodeCount(1)
                    .vmSize("Standard_D2_v2")
                    .build())
                .servicePrincipal(KubernetesClusterServicePrincipalArgs.builder()
                    .clientId("00000000-0000-0000-0000-000000000000")
                    .clientSecret("00000000000000000000000000000000")
                    .build())
                .build());
    
            var exampleKubernetesClusterNodePool = new KubernetesClusterNodePool("exampleKubernetesClusterNodePool", KubernetesClusterNodePoolArgs.builder()        
                .name("internal")
                .kubernetesClusterId(exampleKubernetesCluster.id())
                .vmSize("Standard_DS2_v2")
                .nodeCount(1)
                .tags(Map.of("Environment", "Production"))
                .build());
    
        }
    }
    
    resources:
      example:
        type: azure:core:ResourceGroup
        properties:
          name: example-resources
          location: West Europe
      exampleKubernetesCluster:
        type: azure:containerservice:KubernetesCluster
        name: example
        properties:
          name: example-aks1
          location: ${example.location}
          resourceGroupName: ${example.name}
          dnsPrefix: exampleaks1
          defaultNodePool:
            name: default
            nodeCount: 1
            vmSize: Standard_D2_v2
          servicePrincipal:
            clientId: 00000000-0000-0000-0000-000000000000
            clientSecret: '00000000000000000000000000000000'
      exampleKubernetesClusterNodePool:
        type: azure:containerservice:KubernetesClusterNodePool
        name: example
        properties:
          name: internal
          kubernetesClusterId: ${exampleKubernetesCluster.id}
          vmSize: Standard_DS2_v2
          nodeCount: 1
          tags:
            Environment: Production
    

    Create KubernetesClusterNodePool Resource

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

    Constructor syntax

    new KubernetesClusterNodePool(name: string, args: KubernetesClusterNodePoolArgs, opts?: CustomResourceOptions);
    @overload
    def KubernetesClusterNodePool(resource_name: str,
                                  args: KubernetesClusterNodePoolArgs,
                                  opts: Optional[ResourceOptions] = None)
    
    @overload
    def KubernetesClusterNodePool(resource_name: str,
                                  opts: Optional[ResourceOptions] = None,
                                  kubernetes_cluster_id: Optional[str] = None,
                                  vm_size: Optional[str] = None,
                                  node_labels: Optional[Mapping[str, str]] = None,
                                  kubelet_config: Optional[KubernetesClusterNodePoolKubeletConfigArgs] = None,
                                  enable_node_public_ip: Optional[bool] = None,
                                  node_public_ip_prefix_id: Optional[str] = None,
                                  fips_enabled: Optional[bool] = None,
                                  orchestrator_version: Optional[str] = None,
                                  host_group_id: Optional[str] = None,
                                  node_taints: Optional[Sequence[str]] = None,
                                  kubelet_disk_type: Optional[str] = None,
                                  enable_auto_scaling: Optional[bool] = None,
                                  linux_os_config: Optional[KubernetesClusterNodePoolLinuxOsConfigArgs] = None,
                                  max_count: Optional[int] = None,
                                  max_pods: Optional[int] = None,
                                  message_of_the_day: Optional[str] = None,
                                  min_count: Optional[int] = None,
                                  mode: Optional[str] = None,
                                  name: Optional[str] = None,
                                  node_count: Optional[int] = None,
                                  capacity_reservation_group_id: Optional[str] = None,
                                  node_network_profile: Optional[KubernetesClusterNodePoolNodeNetworkProfileArgs] = None,
                                  eviction_policy: Optional[str] = None,
                                  enable_host_encryption: Optional[bool] = None,
                                  gpu_instance: Optional[str] = None,
                                  os_disk_size_gb: Optional[int] = None,
                                  os_disk_type: Optional[str] = None,
                                  os_sku: Optional[str] = None,
                                  os_type: Optional[str] = None,
                                  pod_subnet_id: Optional[str] = None,
                                  priority: Optional[str] = None,
                                  proximity_placement_group_id: Optional[str] = None,
                                  scale_down_mode: Optional[str] = None,
                                  snapshot_id: Optional[str] = None,
                                  spot_max_price: Optional[float] = None,
                                  tags: Optional[Mapping[str, str]] = None,
                                  ultra_ssd_enabled: Optional[bool] = None,
                                  upgrade_settings: Optional[KubernetesClusterNodePoolUpgradeSettingsArgs] = None,
                                  custom_ca_trust_enabled: Optional[bool] = None,
                                  vnet_subnet_id: Optional[str] = None,
                                  windows_profile: Optional[KubernetesClusterNodePoolWindowsProfileArgs] = None,
                                  workload_runtime: Optional[str] = None,
                                  zones: Optional[Sequence[str]] = None)
    func NewKubernetesClusterNodePool(ctx *Context, name string, args KubernetesClusterNodePoolArgs, opts ...ResourceOption) (*KubernetesClusterNodePool, error)
    public KubernetesClusterNodePool(string name, KubernetesClusterNodePoolArgs args, CustomResourceOptions? opts = null)
    public KubernetesClusterNodePool(String name, KubernetesClusterNodePoolArgs args)
    public KubernetesClusterNodePool(String name, KubernetesClusterNodePoolArgs args, CustomResourceOptions options)
    
    type: azure:containerservice:KubernetesClusterNodePool
    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 KubernetesClusterNodePoolArgs
    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 KubernetesClusterNodePoolArgs
    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 KubernetesClusterNodePoolArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args KubernetesClusterNodePoolArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args KubernetesClusterNodePoolArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    Example

    The following reference example uses placeholder values for all input properties.

    var kubernetesClusterNodePoolResource = new Azure.ContainerService.KubernetesClusterNodePool("kubernetesClusterNodePoolResource", new()
    {
        KubernetesClusterId = "string",
        VmSize = "string",
        NodeLabels = 
        {
            { "string", "string" },
        },
        KubeletConfig = new Azure.ContainerService.Inputs.KubernetesClusterNodePoolKubeletConfigArgs
        {
            AllowedUnsafeSysctls = new[]
            {
                "string",
            },
            ContainerLogMaxLine = 0,
            ContainerLogMaxSizeMb = 0,
            CpuCfsQuotaEnabled = false,
            CpuCfsQuotaPeriod = "string",
            CpuManagerPolicy = "string",
            ImageGcHighThreshold = 0,
            ImageGcLowThreshold = 0,
            PodMaxPid = 0,
            TopologyManagerPolicy = "string",
        },
        EnableNodePublicIp = false,
        NodePublicIpPrefixId = "string",
        FipsEnabled = false,
        OrchestratorVersion = "string",
        HostGroupId = "string",
        NodeTaints = new[]
        {
            "string",
        },
        KubeletDiskType = "string",
        EnableAutoScaling = false,
        LinuxOsConfig = new Azure.ContainerService.Inputs.KubernetesClusterNodePoolLinuxOsConfigArgs
        {
            SwapFileSizeMb = 0,
            SysctlConfig = new Azure.ContainerService.Inputs.KubernetesClusterNodePoolLinuxOsConfigSysctlConfigArgs
            {
                FsAioMaxNr = 0,
                FsFileMax = 0,
                FsInotifyMaxUserWatches = 0,
                FsNrOpen = 0,
                KernelThreadsMax = 0,
                NetCoreNetdevMaxBacklog = 0,
                NetCoreOptmemMax = 0,
                NetCoreRmemDefault = 0,
                NetCoreRmemMax = 0,
                NetCoreSomaxconn = 0,
                NetCoreWmemDefault = 0,
                NetCoreWmemMax = 0,
                NetIpv4IpLocalPortRangeMax = 0,
                NetIpv4IpLocalPortRangeMin = 0,
                NetIpv4NeighDefaultGcThresh1 = 0,
                NetIpv4NeighDefaultGcThresh2 = 0,
                NetIpv4NeighDefaultGcThresh3 = 0,
                NetIpv4TcpFinTimeout = 0,
                NetIpv4TcpKeepaliveIntvl = 0,
                NetIpv4TcpKeepaliveProbes = 0,
                NetIpv4TcpKeepaliveTime = 0,
                NetIpv4TcpMaxSynBacklog = 0,
                NetIpv4TcpMaxTwBuckets = 0,
                NetIpv4TcpTwReuse = false,
                NetNetfilterNfConntrackBuckets = 0,
                NetNetfilterNfConntrackMax = 0,
                VmMaxMapCount = 0,
                VmSwappiness = 0,
                VmVfsCachePressure = 0,
            },
            TransparentHugePageDefrag = "string",
            TransparentHugePageEnabled = "string",
        },
        MaxCount = 0,
        MaxPods = 0,
        MessageOfTheDay = "string",
        MinCount = 0,
        Mode = "string",
        Name = "string",
        NodeCount = 0,
        CapacityReservationGroupId = "string",
        NodeNetworkProfile = new Azure.ContainerService.Inputs.KubernetesClusterNodePoolNodeNetworkProfileArgs
        {
            AllowedHostPorts = new[]
            {
                new Azure.ContainerService.Inputs.KubernetesClusterNodePoolNodeNetworkProfileAllowedHostPortArgs
                {
                    PortEnd = 0,
                    PortStart = 0,
                    Protocol = "string",
                },
            },
            ApplicationSecurityGroupIds = new[]
            {
                "string",
            },
            NodePublicIpTags = 
            {
                { "string", "string" },
            },
        },
        EvictionPolicy = "string",
        EnableHostEncryption = false,
        GpuInstance = "string",
        OsDiskSizeGb = 0,
        OsDiskType = "string",
        OsSku = "string",
        OsType = "string",
        PodSubnetId = "string",
        Priority = "string",
        ProximityPlacementGroupId = "string",
        ScaleDownMode = "string",
        SnapshotId = "string",
        SpotMaxPrice = 0,
        Tags = 
        {
            { "string", "string" },
        },
        UltraSsdEnabled = false,
        UpgradeSettings = new Azure.ContainerService.Inputs.KubernetesClusterNodePoolUpgradeSettingsArgs
        {
            MaxSurge = "string",
        },
        CustomCaTrustEnabled = false,
        VnetSubnetId = "string",
        WindowsProfile = new Azure.ContainerService.Inputs.KubernetesClusterNodePoolWindowsProfileArgs
        {
            OutboundNatEnabled = false,
        },
        WorkloadRuntime = "string",
        Zones = new[]
        {
            "string",
        },
    });
    
    example, err := containerservice.NewKubernetesClusterNodePool(ctx, "kubernetesClusterNodePoolResource", &containerservice.KubernetesClusterNodePoolArgs{
    	KubernetesClusterId: pulumi.String("string"),
    	VmSize:              pulumi.String("string"),
    	NodeLabels: pulumi.StringMap{
    		"string": pulumi.String("string"),
    	},
    	KubeletConfig: &containerservice.KubernetesClusterNodePoolKubeletConfigArgs{
    		AllowedUnsafeSysctls: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    		ContainerLogMaxLine:   pulumi.Int(0),
    		ContainerLogMaxSizeMb: pulumi.Int(0),
    		CpuCfsQuotaEnabled:    pulumi.Bool(false),
    		CpuCfsQuotaPeriod:     pulumi.String("string"),
    		CpuManagerPolicy:      pulumi.String("string"),
    		ImageGcHighThreshold:  pulumi.Int(0),
    		ImageGcLowThreshold:   pulumi.Int(0),
    		PodMaxPid:             pulumi.Int(0),
    		TopologyManagerPolicy: pulumi.String("string"),
    	},
    	EnableNodePublicIp:   pulumi.Bool(false),
    	NodePublicIpPrefixId: pulumi.String("string"),
    	FipsEnabled:          pulumi.Bool(false),
    	OrchestratorVersion:  pulumi.String("string"),
    	HostGroupId:          pulumi.String("string"),
    	NodeTaints: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	KubeletDiskType:   pulumi.String("string"),
    	EnableAutoScaling: pulumi.Bool(false),
    	LinuxOsConfig: &containerservice.KubernetesClusterNodePoolLinuxOsConfigArgs{
    		SwapFileSizeMb: pulumi.Int(0),
    		SysctlConfig: &containerservice.KubernetesClusterNodePoolLinuxOsConfigSysctlConfigArgs{
    			FsAioMaxNr:                     pulumi.Int(0),
    			FsFileMax:                      pulumi.Int(0),
    			FsInotifyMaxUserWatches:        pulumi.Int(0),
    			FsNrOpen:                       pulumi.Int(0),
    			KernelThreadsMax:               pulumi.Int(0),
    			NetCoreNetdevMaxBacklog:        pulumi.Int(0),
    			NetCoreOptmemMax:               pulumi.Int(0),
    			NetCoreRmemDefault:             pulumi.Int(0),
    			NetCoreRmemMax:                 pulumi.Int(0),
    			NetCoreSomaxconn:               pulumi.Int(0),
    			NetCoreWmemDefault:             pulumi.Int(0),
    			NetCoreWmemMax:                 pulumi.Int(0),
    			NetIpv4IpLocalPortRangeMax:     pulumi.Int(0),
    			NetIpv4IpLocalPortRangeMin:     pulumi.Int(0),
    			NetIpv4NeighDefaultGcThresh1:   pulumi.Int(0),
    			NetIpv4NeighDefaultGcThresh2:   pulumi.Int(0),
    			NetIpv4NeighDefaultGcThresh3:   pulumi.Int(0),
    			NetIpv4TcpFinTimeout:           pulumi.Int(0),
    			NetIpv4TcpKeepaliveIntvl:       pulumi.Int(0),
    			NetIpv4TcpKeepaliveProbes:      pulumi.Int(0),
    			NetIpv4TcpKeepaliveTime:        pulumi.Int(0),
    			NetIpv4TcpMaxSynBacklog:        pulumi.Int(0),
    			NetIpv4TcpMaxTwBuckets:         pulumi.Int(0),
    			NetIpv4TcpTwReuse:              pulumi.Bool(false),
    			NetNetfilterNfConntrackBuckets: pulumi.Int(0),
    			NetNetfilterNfConntrackMax:     pulumi.Int(0),
    			VmMaxMapCount:                  pulumi.Int(0),
    			VmSwappiness:                   pulumi.Int(0),
    			VmVfsCachePressure:             pulumi.Int(0),
    		},
    		TransparentHugePageDefrag:  pulumi.String("string"),
    		TransparentHugePageEnabled: pulumi.String("string"),
    	},
    	MaxCount:                   pulumi.Int(0),
    	MaxPods:                    pulumi.Int(0),
    	MessageOfTheDay:            pulumi.String("string"),
    	MinCount:                   pulumi.Int(0),
    	Mode:                       pulumi.String("string"),
    	Name:                       pulumi.String("string"),
    	NodeCount:                  pulumi.Int(0),
    	CapacityReservationGroupId: pulumi.String("string"),
    	NodeNetworkProfile: &containerservice.KubernetesClusterNodePoolNodeNetworkProfileArgs{
    		AllowedHostPorts: containerservice.KubernetesClusterNodePoolNodeNetworkProfileAllowedHostPortArray{
    			&containerservice.KubernetesClusterNodePoolNodeNetworkProfileAllowedHostPortArgs{
    				PortEnd:   pulumi.Int(0),
    				PortStart: pulumi.Int(0),
    				Protocol:  pulumi.String("string"),
    			},
    		},
    		ApplicationSecurityGroupIds: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    		NodePublicIpTags: pulumi.StringMap{
    			"string": pulumi.String("string"),
    		},
    	},
    	EvictionPolicy:            pulumi.String("string"),
    	EnableHostEncryption:      pulumi.Bool(false),
    	GpuInstance:               pulumi.String("string"),
    	OsDiskSizeGb:              pulumi.Int(0),
    	OsDiskType:                pulumi.String("string"),
    	OsSku:                     pulumi.String("string"),
    	OsType:                    pulumi.String("string"),
    	PodSubnetId:               pulumi.String("string"),
    	Priority:                  pulumi.String("string"),
    	ProximityPlacementGroupId: pulumi.String("string"),
    	ScaleDownMode:             pulumi.String("string"),
    	SnapshotId:                pulumi.String("string"),
    	SpotMaxPrice:              pulumi.Float64(0),
    	Tags: pulumi.StringMap{
    		"string": pulumi.String("string"),
    	},
    	UltraSsdEnabled: pulumi.Bool(false),
    	UpgradeSettings: &containerservice.KubernetesClusterNodePoolUpgradeSettingsArgs{
    		MaxSurge: pulumi.String("string"),
    	},
    	CustomCaTrustEnabled: pulumi.Bool(false),
    	VnetSubnetId:         pulumi.String("string"),
    	WindowsProfile: &containerservice.KubernetesClusterNodePoolWindowsProfileArgs{
    		OutboundNatEnabled: pulumi.Bool(false),
    	},
    	WorkloadRuntime: pulumi.String("string"),
    	Zones: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    })
    
    var kubernetesClusterNodePoolResource = new KubernetesClusterNodePool("kubernetesClusterNodePoolResource", KubernetesClusterNodePoolArgs.builder()        
        .kubernetesClusterId("string")
        .vmSize("string")
        .nodeLabels(Map.of("string", "string"))
        .kubeletConfig(KubernetesClusterNodePoolKubeletConfigArgs.builder()
            .allowedUnsafeSysctls("string")
            .containerLogMaxLine(0)
            .containerLogMaxSizeMb(0)
            .cpuCfsQuotaEnabled(false)
            .cpuCfsQuotaPeriod("string")
            .cpuManagerPolicy("string")
            .imageGcHighThreshold(0)
            .imageGcLowThreshold(0)
            .podMaxPid(0)
            .topologyManagerPolicy("string")
            .build())
        .enableNodePublicIp(false)
        .nodePublicIpPrefixId("string")
        .fipsEnabled(false)
        .orchestratorVersion("string")
        .hostGroupId("string")
        .nodeTaints("string")
        .kubeletDiskType("string")
        .enableAutoScaling(false)
        .linuxOsConfig(KubernetesClusterNodePoolLinuxOsConfigArgs.builder()
            .swapFileSizeMb(0)
            .sysctlConfig(KubernetesClusterNodePoolLinuxOsConfigSysctlConfigArgs.builder()
                .fsAioMaxNr(0)
                .fsFileMax(0)
                .fsInotifyMaxUserWatches(0)
                .fsNrOpen(0)
                .kernelThreadsMax(0)
                .netCoreNetdevMaxBacklog(0)
                .netCoreOptmemMax(0)
                .netCoreRmemDefault(0)
                .netCoreRmemMax(0)
                .netCoreSomaxconn(0)
                .netCoreWmemDefault(0)
                .netCoreWmemMax(0)
                .netIpv4IpLocalPortRangeMax(0)
                .netIpv4IpLocalPortRangeMin(0)
                .netIpv4NeighDefaultGcThresh1(0)
                .netIpv4NeighDefaultGcThresh2(0)
                .netIpv4NeighDefaultGcThresh3(0)
                .netIpv4TcpFinTimeout(0)
                .netIpv4TcpKeepaliveIntvl(0)
                .netIpv4TcpKeepaliveProbes(0)
                .netIpv4TcpKeepaliveTime(0)
                .netIpv4TcpMaxSynBacklog(0)
                .netIpv4TcpMaxTwBuckets(0)
                .netIpv4TcpTwReuse(false)
                .netNetfilterNfConntrackBuckets(0)
                .netNetfilterNfConntrackMax(0)
                .vmMaxMapCount(0)
                .vmSwappiness(0)
                .vmVfsCachePressure(0)
                .build())
            .transparentHugePageDefrag("string")
            .transparentHugePageEnabled("string")
            .build())
        .maxCount(0)
        .maxPods(0)
        .messageOfTheDay("string")
        .minCount(0)
        .mode("string")
        .name("string")
        .nodeCount(0)
        .capacityReservationGroupId("string")
        .nodeNetworkProfile(KubernetesClusterNodePoolNodeNetworkProfileArgs.builder()
            .allowedHostPorts(KubernetesClusterNodePoolNodeNetworkProfileAllowedHostPortArgs.builder()
                .portEnd(0)
                .portStart(0)
                .protocol("string")
                .build())
            .applicationSecurityGroupIds("string")
            .nodePublicIpTags(Map.of("string", "string"))
            .build())
        .evictionPolicy("string")
        .enableHostEncryption(false)
        .gpuInstance("string")
        .osDiskSizeGb(0)
        .osDiskType("string")
        .osSku("string")
        .osType("string")
        .podSubnetId("string")
        .priority("string")
        .proximityPlacementGroupId("string")
        .scaleDownMode("string")
        .snapshotId("string")
        .spotMaxPrice(0)
        .tags(Map.of("string", "string"))
        .ultraSsdEnabled(false)
        .upgradeSettings(KubernetesClusterNodePoolUpgradeSettingsArgs.builder()
            .maxSurge("string")
            .build())
        .customCaTrustEnabled(false)
        .vnetSubnetId("string")
        .windowsProfile(KubernetesClusterNodePoolWindowsProfileArgs.builder()
            .outboundNatEnabled(false)
            .build())
        .workloadRuntime("string")
        .zones("string")
        .build());
    
    kubernetes_cluster_node_pool_resource = azure.containerservice.KubernetesClusterNodePool("kubernetesClusterNodePoolResource",
        kubernetes_cluster_id="string",
        vm_size="string",
        node_labels={
            "string": "string",
        },
        kubelet_config=azure.containerservice.KubernetesClusterNodePoolKubeletConfigArgs(
            allowed_unsafe_sysctls=["string"],
            container_log_max_line=0,
            container_log_max_size_mb=0,
            cpu_cfs_quota_enabled=False,
            cpu_cfs_quota_period="string",
            cpu_manager_policy="string",
            image_gc_high_threshold=0,
            image_gc_low_threshold=0,
            pod_max_pid=0,
            topology_manager_policy="string",
        ),
        enable_node_public_ip=False,
        node_public_ip_prefix_id="string",
        fips_enabled=False,
        orchestrator_version="string",
        host_group_id="string",
        node_taints=["string"],
        kubelet_disk_type="string",
        enable_auto_scaling=False,
        linux_os_config=azure.containerservice.KubernetesClusterNodePoolLinuxOsConfigArgs(
            swap_file_size_mb=0,
            sysctl_config=azure.containerservice.KubernetesClusterNodePoolLinuxOsConfigSysctlConfigArgs(
                fs_aio_max_nr=0,
                fs_file_max=0,
                fs_inotify_max_user_watches=0,
                fs_nr_open=0,
                kernel_threads_max=0,
                net_core_netdev_max_backlog=0,
                net_core_optmem_max=0,
                net_core_rmem_default=0,
                net_core_rmem_max=0,
                net_core_somaxconn=0,
                net_core_wmem_default=0,
                net_core_wmem_max=0,
                net_ipv4_ip_local_port_range_max=0,
                net_ipv4_ip_local_port_range_min=0,
                net_ipv4_neigh_default_gc_thresh1=0,
                net_ipv4_neigh_default_gc_thresh2=0,
                net_ipv4_neigh_default_gc_thresh3=0,
                net_ipv4_tcp_fin_timeout=0,
                net_ipv4_tcp_keepalive_intvl=0,
                net_ipv4_tcp_keepalive_probes=0,
                net_ipv4_tcp_keepalive_time=0,
                net_ipv4_tcp_max_syn_backlog=0,
                net_ipv4_tcp_max_tw_buckets=0,
                net_ipv4_tcp_tw_reuse=False,
                net_netfilter_nf_conntrack_buckets=0,
                net_netfilter_nf_conntrack_max=0,
                vm_max_map_count=0,
                vm_swappiness=0,
                vm_vfs_cache_pressure=0,
            ),
            transparent_huge_page_defrag="string",
            transparent_huge_page_enabled="string",
        ),
        max_count=0,
        max_pods=0,
        message_of_the_day="string",
        min_count=0,
        mode="string",
        name="string",
        node_count=0,
        capacity_reservation_group_id="string",
        node_network_profile=azure.containerservice.KubernetesClusterNodePoolNodeNetworkProfileArgs(
            allowed_host_ports=[azure.containerservice.KubernetesClusterNodePoolNodeNetworkProfileAllowedHostPortArgs(
                port_end=0,
                port_start=0,
                protocol="string",
            )],
            application_security_group_ids=["string"],
            node_public_ip_tags={
                "string": "string",
            },
        ),
        eviction_policy="string",
        enable_host_encryption=False,
        gpu_instance="string",
        os_disk_size_gb=0,
        os_disk_type="string",
        os_sku="string",
        os_type="string",
        pod_subnet_id="string",
        priority="string",
        proximity_placement_group_id="string",
        scale_down_mode="string",
        snapshot_id="string",
        spot_max_price=0,
        tags={
            "string": "string",
        },
        ultra_ssd_enabled=False,
        upgrade_settings=azure.containerservice.KubernetesClusterNodePoolUpgradeSettingsArgs(
            max_surge="string",
        ),
        custom_ca_trust_enabled=False,
        vnet_subnet_id="string",
        windows_profile=azure.containerservice.KubernetesClusterNodePoolWindowsProfileArgs(
            outbound_nat_enabled=False,
        ),
        workload_runtime="string",
        zones=["string"])
    
    const kubernetesClusterNodePoolResource = new azure.containerservice.KubernetesClusterNodePool("kubernetesClusterNodePoolResource", {
        kubernetesClusterId: "string",
        vmSize: "string",
        nodeLabels: {
            string: "string",
        },
        kubeletConfig: {
            allowedUnsafeSysctls: ["string"],
            containerLogMaxLine: 0,
            containerLogMaxSizeMb: 0,
            cpuCfsQuotaEnabled: false,
            cpuCfsQuotaPeriod: "string",
            cpuManagerPolicy: "string",
            imageGcHighThreshold: 0,
            imageGcLowThreshold: 0,
            podMaxPid: 0,
            topologyManagerPolicy: "string",
        },
        enableNodePublicIp: false,
        nodePublicIpPrefixId: "string",
        fipsEnabled: false,
        orchestratorVersion: "string",
        hostGroupId: "string",
        nodeTaints: ["string"],
        kubeletDiskType: "string",
        enableAutoScaling: false,
        linuxOsConfig: {
            swapFileSizeMb: 0,
            sysctlConfig: {
                fsAioMaxNr: 0,
                fsFileMax: 0,
                fsInotifyMaxUserWatches: 0,
                fsNrOpen: 0,
                kernelThreadsMax: 0,
                netCoreNetdevMaxBacklog: 0,
                netCoreOptmemMax: 0,
                netCoreRmemDefault: 0,
                netCoreRmemMax: 0,
                netCoreSomaxconn: 0,
                netCoreWmemDefault: 0,
                netCoreWmemMax: 0,
                netIpv4IpLocalPortRangeMax: 0,
                netIpv4IpLocalPortRangeMin: 0,
                netIpv4NeighDefaultGcThresh1: 0,
                netIpv4NeighDefaultGcThresh2: 0,
                netIpv4NeighDefaultGcThresh3: 0,
                netIpv4TcpFinTimeout: 0,
                netIpv4TcpKeepaliveIntvl: 0,
                netIpv4TcpKeepaliveProbes: 0,
                netIpv4TcpKeepaliveTime: 0,
                netIpv4TcpMaxSynBacklog: 0,
                netIpv4TcpMaxTwBuckets: 0,
                netIpv4TcpTwReuse: false,
                netNetfilterNfConntrackBuckets: 0,
                netNetfilterNfConntrackMax: 0,
                vmMaxMapCount: 0,
                vmSwappiness: 0,
                vmVfsCachePressure: 0,
            },
            transparentHugePageDefrag: "string",
            transparentHugePageEnabled: "string",
        },
        maxCount: 0,
        maxPods: 0,
        messageOfTheDay: "string",
        minCount: 0,
        mode: "string",
        name: "string",
        nodeCount: 0,
        capacityReservationGroupId: "string",
        nodeNetworkProfile: {
            allowedHostPorts: [{
                portEnd: 0,
                portStart: 0,
                protocol: "string",
            }],
            applicationSecurityGroupIds: ["string"],
            nodePublicIpTags: {
                string: "string",
            },
        },
        evictionPolicy: "string",
        enableHostEncryption: false,
        gpuInstance: "string",
        osDiskSizeGb: 0,
        osDiskType: "string",
        osSku: "string",
        osType: "string",
        podSubnetId: "string",
        priority: "string",
        proximityPlacementGroupId: "string",
        scaleDownMode: "string",
        snapshotId: "string",
        spotMaxPrice: 0,
        tags: {
            string: "string",
        },
        ultraSsdEnabled: false,
        upgradeSettings: {
            maxSurge: "string",
        },
        customCaTrustEnabled: false,
        vnetSubnetId: "string",
        windowsProfile: {
            outboundNatEnabled: false,
        },
        workloadRuntime: "string",
        zones: ["string"],
    });
    
    type: azure:containerservice:KubernetesClusterNodePool
    properties:
        capacityReservationGroupId: string
        customCaTrustEnabled: false
        enableAutoScaling: false
        enableHostEncryption: false
        enableNodePublicIp: false
        evictionPolicy: string
        fipsEnabled: false
        gpuInstance: string
        hostGroupId: string
        kubeletConfig:
            allowedUnsafeSysctls:
                - string
            containerLogMaxLine: 0
            containerLogMaxSizeMb: 0
            cpuCfsQuotaEnabled: false
            cpuCfsQuotaPeriod: string
            cpuManagerPolicy: string
            imageGcHighThreshold: 0
            imageGcLowThreshold: 0
            podMaxPid: 0
            topologyManagerPolicy: string
        kubeletDiskType: string
        kubernetesClusterId: string
        linuxOsConfig:
            swapFileSizeMb: 0
            sysctlConfig:
                fsAioMaxNr: 0
                fsFileMax: 0
                fsInotifyMaxUserWatches: 0
                fsNrOpen: 0
                kernelThreadsMax: 0
                netCoreNetdevMaxBacklog: 0
                netCoreOptmemMax: 0
                netCoreRmemDefault: 0
                netCoreRmemMax: 0
                netCoreSomaxconn: 0
                netCoreWmemDefault: 0
                netCoreWmemMax: 0
                netIpv4IpLocalPortRangeMax: 0
                netIpv4IpLocalPortRangeMin: 0
                netIpv4NeighDefaultGcThresh1: 0
                netIpv4NeighDefaultGcThresh2: 0
                netIpv4NeighDefaultGcThresh3: 0
                netIpv4TcpFinTimeout: 0
                netIpv4TcpKeepaliveIntvl: 0
                netIpv4TcpKeepaliveProbes: 0
                netIpv4TcpKeepaliveTime: 0
                netIpv4TcpMaxSynBacklog: 0
                netIpv4TcpMaxTwBuckets: 0
                netIpv4TcpTwReuse: false
                netNetfilterNfConntrackBuckets: 0
                netNetfilterNfConntrackMax: 0
                vmMaxMapCount: 0
                vmSwappiness: 0
                vmVfsCachePressure: 0
            transparentHugePageDefrag: string
            transparentHugePageEnabled: string
        maxCount: 0
        maxPods: 0
        messageOfTheDay: string
        minCount: 0
        mode: string
        name: string
        nodeCount: 0
        nodeLabels:
            string: string
        nodeNetworkProfile:
            allowedHostPorts:
                - portEnd: 0
                  portStart: 0
                  protocol: string
            applicationSecurityGroupIds:
                - string
            nodePublicIpTags:
                string: string
        nodePublicIpPrefixId: string
        nodeTaints:
            - string
        orchestratorVersion: string
        osDiskSizeGb: 0
        osDiskType: string
        osSku: string
        osType: string
        podSubnetId: string
        priority: string
        proximityPlacementGroupId: string
        scaleDownMode: string
        snapshotId: string
        spotMaxPrice: 0
        tags:
            string: string
        ultraSsdEnabled: false
        upgradeSettings:
            maxSurge: string
        vmSize: string
        vnetSubnetId: string
        windowsProfile:
            outboundNatEnabled: false
        workloadRuntime: string
        zones:
            - string
    

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

    KubernetesClusterId string

    The ID of the Kubernetes Cluster where this Node Pool should exist. Changing this forces a new resource to be created.

    NOTE: The type of Default Node Pool for the Kubernetes Cluster must be VirtualMachineScaleSets to attach multiple node pools.

    VmSize string
    The SKU which should be used for the Virtual Machines used in this Node Pool. Changing this forces a new resource to be created.
    CapacityReservationGroupId string
    Specifies the ID of the Capacity Reservation Group where this Node Pool should exist. Changing this forces a new resource to be created.
    CustomCaTrustEnabled bool

    Specifies whether to trust a Custom CA.

    Note: This requires that the Preview Feature Microsoft.ContainerService/CustomCATrustPreview is enabled and the Resource Provider is re-registered, see the documentation for more information.

    EnableAutoScaling bool
    Whether to enable auto-scaler.
    EnableHostEncryption bool

    Should the nodes in this Node Pool have host encryption enabled? Changing this forces a new resource to be created.

    NOTE: Additional fields must be configured depending on the value of this field - see below.

    EnableNodePublicIp bool
    Should each node have a Public IP Address? Changing this forces a new resource to be created.
    EvictionPolicy string

    The Eviction Policy which should be used for Virtual Machines within the Virtual Machine Scale Set powering this Node Pool. Possible values are Deallocate and Delete. Changing this forces a new resource to be created.

    Note: An Eviction Policy can only be configured when priority is set to Spot and will default to Delete unless otherwise specified.

    FipsEnabled bool

    Should the nodes in this Node Pool have Federal Information Processing Standard enabled? Changing this forces a new resource to be created.

    Note: FIPS support is in Public Preview - more information and details on how to opt into the Preview can be found in this article.

    GpuInstance string
    Specifies the GPU MIG instance profile for supported GPU VM SKU. The allowed values are MIG1g, MIG2g, MIG3g, MIG4g and MIG7g. Changing this forces a new resource to be created.
    HostGroupId string
    The fully qualified resource ID of the Dedicated Host Group to provision virtual machines from. Changing this forces a new resource to be created.
    KubeletConfig KubernetesClusterNodePoolKubeletConfig
    A kubelet_config block as defined below. Changing this forces a new resource to be created.
    KubeletDiskType string
    The type of disk used by kubelet. Possible values are OS and Temporary.
    LinuxOsConfig KubernetesClusterNodePoolLinuxOsConfig
    A linux_os_config block as defined below. Changing this forces a new resource to be created.
    MaxCount int
    The maximum number of nodes which should exist within this Node Pool. Valid values are between 0 and 1000 and must be greater than or equal to min_count.
    MaxPods int
    The maximum number of pods that can run on each agent. Changing this forces a new resource to be created.
    MessageOfTheDay string
    A base64-encoded string which will be written to /etc/motd after decoding. This allows customization of the message of the day for Linux nodes. It cannot be specified for Windows nodes and must be a static string (i.e. will be printed raw and not executed as a script). Changing this forces a new resource to be created.
    MinCount int
    The minimum number of nodes which should exist within this Node Pool. Valid values are between 0 and 1000 and must be less than or equal to max_count.
    Mode string
    Should this Node Pool be used for System or User resources? Possible values are System and User. Defaults to User.
    Name string

    The name of the Node Pool which should be created within the Kubernetes Cluster. Changing this forces a new resource to be created.

    NOTE: A Windows Node Pool cannot have a name longer than 6 characters.

    NodeCount int
    The number of nodes which should exist within this Node Pool. Valid values are between 0 and 1000 (inclusive) for user pools and between 1 and 1000 (inclusive) for system pools.
    NodeLabels Dictionary<string, string>
    A map of Kubernetes labels which should be applied to nodes in this Node Pool.
    NodeNetworkProfile KubernetesClusterNodePoolNodeNetworkProfile
    A node_network_profile block as documented below.
    NodePublicIpPrefixId string
    Resource ID for the Public IP Addresses Prefix for the nodes in this Node Pool. enable_node_public_ip should be true. Changing this forces a new resource to be created.
    NodeTaints List<string>
    A list of Kubernetes taints which should be applied to nodes in the agent pool (e.g key=value:NoSchedule).
    OrchestratorVersion string

    Version of Kubernetes used for the Agents. If not specified, the latest recommended version will be used at provisioning time (but won't auto-upgrade). AKS does not require an exact patch version to be specified, minor version aliases such as 1.22 are also supported. - The minor version's latest GA patch is automatically chosen in that case. More details can be found in the documentation.

    Note: This version must be supported by the Kubernetes Cluster - as such the version of Kubernetes used on the Cluster/Control Plane may need to be upgraded first.

    OsDiskSizeGb int
    The Agent Operating System disk size in GB. Changing this forces a new resource to be created.
    OsDiskType string
    The type of disk which should be used for the Operating System. Possible values are Ephemeral and Managed. Defaults to Managed. Changing this forces a new resource to be created.
    OsSku string
    Specifies the OS SKU used by the agent pool. Possible values are AzureLinux, Ubuntu, Windows2019 and Windows2022. If not specified, the default is Ubuntu if OSType=Linux or Windows2019 if OSType=Windows. And the default Windows OSSKU will be changed to Windows2022 after Windows2019 is deprecated. Changing this forces a new resource to be created.
    OsType string
    The Operating System which should be used for this Node Pool. Changing this forces a new resource to be created. Possible values are Linux and Windows. Defaults to Linux.
    PodSubnetId string
    The ID of the Subnet where the pods in the Node Pool should exist. Changing this forces a new resource to be created.
    Priority string
    The Priority for Virtual Machines within the Virtual Machine Scale Set that powers this Node Pool. Possible values are Regular and Spot. Defaults to Regular. Changing this forces a new resource to be created.
    ProximityPlacementGroupId string

    The ID of the Proximity Placement Group where the Virtual Machine Scale Set that powers this Node Pool will be placed. Changing this forces a new resource to be created.

    Note: When setting priority to Spot - you must configure an eviction_policy, spot_max_price and add the applicable node_labels and node_taints as per the Azure Documentation.

    ScaleDownMode string
    Specifies how the node pool should deal with scaled-down nodes. Allowed values are Delete and Deallocate. Defaults to Delete.
    SnapshotId string
    The ID of the Snapshot which should be used to create this Node Pool. Changing this forces a new resource to be created.
    SpotMaxPrice double

    The maximum price you're willing to pay in USD per Virtual Machine. Valid values are -1 (the current on-demand price for a Virtual Machine) or a positive value with up to five decimal places. Changing this forces a new resource to be created.

    Note: This field can only be configured when priority is set to Spot.

    Tags Dictionary<string, string>

    A mapping of tags to assign to the resource.

    At this time there's a bug in the AKS API where Tags for a Node Pool are not stored in the correct case - you may wish to use ignoreChanges functionality to ignore changes to the casing until this is fixed in the AKS API.

    UltraSsdEnabled bool
    Used to specify whether the UltraSSD is enabled in the Node Pool. Defaults to false. See the documentation for more information. Changing this forces a new resource to be created.
    UpgradeSettings KubernetesClusterNodePoolUpgradeSettings
    A upgrade_settings block as documented below.
    VnetSubnetId string

    The ID of the Subnet where this Node Pool should exist. Changing this forces a new resource to be created.

    NOTE: A route table must be configured on this Subnet.

    WindowsProfile KubernetesClusterNodePoolWindowsProfile
    A windows_profile block as documented below. Changing this forces a new resource to be created.
    WorkloadRuntime string

    Used to specify the workload runtime. Allowed values are OCIContainer, WasmWasi and KataMshvVmIsolation.

    Note: WebAssembly System Interface node pools are in Public Preview - more information and details on how to opt into the preview can be found in this article

    Note: Pod Sandboxing / KataVM Isolation node pools are in Public Preview - more information and details on how to opt into the preview can be found in this article

    Zones List<string>
    Specifies a list of Availability Zones in which this Kubernetes Cluster Node Pool should be located. Changing this forces a new Kubernetes Cluster Node Pool to be created.
    KubernetesClusterId string

    The ID of the Kubernetes Cluster where this Node Pool should exist. Changing this forces a new resource to be created.

    NOTE: The type of Default Node Pool for the Kubernetes Cluster must be VirtualMachineScaleSets to attach multiple node pools.

    VmSize string
    The SKU which should be used for the Virtual Machines used in this Node Pool. Changing this forces a new resource to be created.
    CapacityReservationGroupId string
    Specifies the ID of the Capacity Reservation Group where this Node Pool should exist. Changing this forces a new resource to be created.
    CustomCaTrustEnabled bool

    Specifies whether to trust a Custom CA.

    Note: This requires that the Preview Feature Microsoft.ContainerService/CustomCATrustPreview is enabled and the Resource Provider is re-registered, see the documentation for more information.

    EnableAutoScaling bool
    Whether to enable auto-scaler.
    EnableHostEncryption bool

    Should the nodes in this Node Pool have host encryption enabled? Changing this forces a new resource to be created.

    NOTE: Additional fields must be configured depending on the value of this field - see below.

    EnableNodePublicIp bool
    Should each node have a Public IP Address? Changing this forces a new resource to be created.
    EvictionPolicy string

    The Eviction Policy which should be used for Virtual Machines within the Virtual Machine Scale Set powering this Node Pool. Possible values are Deallocate and Delete. Changing this forces a new resource to be created.

    Note: An Eviction Policy can only be configured when priority is set to Spot and will default to Delete unless otherwise specified.

    FipsEnabled bool

    Should the nodes in this Node Pool have Federal Information Processing Standard enabled? Changing this forces a new resource to be created.

    Note: FIPS support is in Public Preview - more information and details on how to opt into the Preview can be found in this article.

    GpuInstance string
    Specifies the GPU MIG instance profile for supported GPU VM SKU. The allowed values are MIG1g, MIG2g, MIG3g, MIG4g and MIG7g. Changing this forces a new resource to be created.
    HostGroupId string
    The fully qualified resource ID of the Dedicated Host Group to provision virtual machines from. Changing this forces a new resource to be created.
    KubeletConfig KubernetesClusterNodePoolKubeletConfigArgs
    A kubelet_config block as defined below. Changing this forces a new resource to be created.
    KubeletDiskType string
    The type of disk used by kubelet. Possible values are OS and Temporary.
    LinuxOsConfig KubernetesClusterNodePoolLinuxOsConfigArgs
    A linux_os_config block as defined below. Changing this forces a new resource to be created.
    MaxCount int
    The maximum number of nodes which should exist within this Node Pool. Valid values are between 0 and 1000 and must be greater than or equal to min_count.
    MaxPods int
    The maximum number of pods that can run on each agent. Changing this forces a new resource to be created.
    MessageOfTheDay string
    A base64-encoded string which will be written to /etc/motd after decoding. This allows customization of the message of the day for Linux nodes. It cannot be specified for Windows nodes and must be a static string (i.e. will be printed raw and not executed as a script). Changing this forces a new resource to be created.
    MinCount int
    The minimum number of nodes which should exist within this Node Pool. Valid values are between 0 and 1000 and must be less than or equal to max_count.
    Mode string
    Should this Node Pool be used for System or User resources? Possible values are System and User. Defaults to User.
    Name string

    The name of the Node Pool which should be created within the Kubernetes Cluster. Changing this forces a new resource to be created.

    NOTE: A Windows Node Pool cannot have a name longer than 6 characters.

    NodeCount int
    The number of nodes which should exist within this Node Pool. Valid values are between 0 and 1000 (inclusive) for user pools and between 1 and 1000 (inclusive) for system pools.
    NodeLabels map[string]string
    A map of Kubernetes labels which should be applied to nodes in this Node Pool.
    NodeNetworkProfile KubernetesClusterNodePoolNodeNetworkProfileArgs
    A node_network_profile block as documented below.
    NodePublicIpPrefixId string
    Resource ID for the Public IP Addresses Prefix for the nodes in this Node Pool. enable_node_public_ip should be true. Changing this forces a new resource to be created.
    NodeTaints []string
    A list of Kubernetes taints which should be applied to nodes in the agent pool (e.g key=value:NoSchedule).
    OrchestratorVersion string

    Version of Kubernetes used for the Agents. If not specified, the latest recommended version will be used at provisioning time (but won't auto-upgrade). AKS does not require an exact patch version to be specified, minor version aliases such as 1.22 are also supported. - The minor version's latest GA patch is automatically chosen in that case. More details can be found in the documentation.

    Note: This version must be supported by the Kubernetes Cluster - as such the version of Kubernetes used on the Cluster/Control Plane may need to be upgraded first.

    OsDiskSizeGb int
    The Agent Operating System disk size in GB. Changing this forces a new resource to be created.
    OsDiskType string
    The type of disk which should be used for the Operating System. Possible values are Ephemeral and Managed. Defaults to Managed. Changing this forces a new resource to be created.
    OsSku string
    Specifies the OS SKU used by the agent pool. Possible values are AzureLinux, Ubuntu, Windows2019 and Windows2022. If not specified, the default is Ubuntu if OSType=Linux or Windows2019 if OSType=Windows. And the default Windows OSSKU will be changed to Windows2022 after Windows2019 is deprecated. Changing this forces a new resource to be created.
    OsType string
    The Operating System which should be used for this Node Pool. Changing this forces a new resource to be created. Possible values are Linux and Windows. Defaults to Linux.
    PodSubnetId string
    The ID of the Subnet where the pods in the Node Pool should exist. Changing this forces a new resource to be created.
    Priority string
    The Priority for Virtual Machines within the Virtual Machine Scale Set that powers this Node Pool. Possible values are Regular and Spot. Defaults to Regular. Changing this forces a new resource to be created.
    ProximityPlacementGroupId string

    The ID of the Proximity Placement Group where the Virtual Machine Scale Set that powers this Node Pool will be placed. Changing this forces a new resource to be created.

    Note: When setting priority to Spot - you must configure an eviction_policy, spot_max_price and add the applicable node_labels and node_taints as per the Azure Documentation.

    ScaleDownMode string
    Specifies how the node pool should deal with scaled-down nodes. Allowed values are Delete and Deallocate. Defaults to Delete.
    SnapshotId string
    The ID of the Snapshot which should be used to create this Node Pool. Changing this forces a new resource to be created.
    SpotMaxPrice float64

    The maximum price you're willing to pay in USD per Virtual Machine. Valid values are -1 (the current on-demand price for a Virtual Machine) or a positive value with up to five decimal places. Changing this forces a new resource to be created.

    Note: This field can only be configured when priority is set to Spot.

    Tags map[string]string

    A mapping of tags to assign to the resource.

    At this time there's a bug in the AKS API where Tags for a Node Pool are not stored in the correct case - you may wish to use ignoreChanges functionality to ignore changes to the casing until this is fixed in the AKS API.

    UltraSsdEnabled bool
    Used to specify whether the UltraSSD is enabled in the Node Pool. Defaults to false. See the documentation for more information. Changing this forces a new resource to be created.
    UpgradeSettings KubernetesClusterNodePoolUpgradeSettingsArgs
    A upgrade_settings block as documented below.
    VnetSubnetId string

    The ID of the Subnet where this Node Pool should exist. Changing this forces a new resource to be created.

    NOTE: A route table must be configured on this Subnet.

    WindowsProfile KubernetesClusterNodePoolWindowsProfileArgs
    A windows_profile block as documented below. Changing this forces a new resource to be created.
    WorkloadRuntime string

    Used to specify the workload runtime. Allowed values are OCIContainer, WasmWasi and KataMshvVmIsolation.

    Note: WebAssembly System Interface node pools are in Public Preview - more information and details on how to opt into the preview can be found in this article

    Note: Pod Sandboxing / KataVM Isolation node pools are in Public Preview - more information and details on how to opt into the preview can be found in this article

    Zones []string
    Specifies a list of Availability Zones in which this Kubernetes Cluster Node Pool should be located. Changing this forces a new Kubernetes Cluster Node Pool to be created.
    kubernetesClusterId String

    The ID of the Kubernetes Cluster where this Node Pool should exist. Changing this forces a new resource to be created.

    NOTE: The type of Default Node Pool for the Kubernetes Cluster must be VirtualMachineScaleSets to attach multiple node pools.

    vmSize String
    The SKU which should be used for the Virtual Machines used in this Node Pool. Changing this forces a new resource to be created.
    capacityReservationGroupId String
    Specifies the ID of the Capacity Reservation Group where this Node Pool should exist. Changing this forces a new resource to be created.
    customCaTrustEnabled Boolean

    Specifies whether to trust a Custom CA.

    Note: This requires that the Preview Feature Microsoft.ContainerService/CustomCATrustPreview is enabled and the Resource Provider is re-registered, see the documentation for more information.

    enableAutoScaling Boolean
    Whether to enable auto-scaler.
    enableHostEncryption Boolean

    Should the nodes in this Node Pool have host encryption enabled? Changing this forces a new resource to be created.

    NOTE: Additional fields must be configured depending on the value of this field - see below.

    enableNodePublicIp Boolean
    Should each node have a Public IP Address? Changing this forces a new resource to be created.
    evictionPolicy String

    The Eviction Policy which should be used for Virtual Machines within the Virtual Machine Scale Set powering this Node Pool. Possible values are Deallocate and Delete. Changing this forces a new resource to be created.

    Note: An Eviction Policy can only be configured when priority is set to Spot and will default to Delete unless otherwise specified.

    fipsEnabled Boolean

    Should the nodes in this Node Pool have Federal Information Processing Standard enabled? Changing this forces a new resource to be created.

    Note: FIPS support is in Public Preview - more information and details on how to opt into the Preview can be found in this article.

    gpuInstance String
    Specifies the GPU MIG instance profile for supported GPU VM SKU. The allowed values are MIG1g, MIG2g, MIG3g, MIG4g and MIG7g. Changing this forces a new resource to be created.
    hostGroupId String
    The fully qualified resource ID of the Dedicated Host Group to provision virtual machines from. Changing this forces a new resource to be created.
    kubeletConfig KubernetesClusterNodePoolKubeletConfig
    A kubelet_config block as defined below. Changing this forces a new resource to be created.
    kubeletDiskType String
    The type of disk used by kubelet. Possible values are OS and Temporary.
    linuxOsConfig KubernetesClusterNodePoolLinuxOsConfig
    A linux_os_config block as defined below. Changing this forces a new resource to be created.
    maxCount Integer
    The maximum number of nodes which should exist within this Node Pool. Valid values are between 0 and 1000 and must be greater than or equal to min_count.
    maxPods Integer
    The maximum number of pods that can run on each agent. Changing this forces a new resource to be created.
    messageOfTheDay String
    A base64-encoded string which will be written to /etc/motd after decoding. This allows customization of the message of the day for Linux nodes. It cannot be specified for Windows nodes and must be a static string (i.e. will be printed raw and not executed as a script). Changing this forces a new resource to be created.
    minCount Integer
    The minimum number of nodes which should exist within this Node Pool. Valid values are between 0 and 1000 and must be less than or equal to max_count.
    mode String
    Should this Node Pool be used for System or User resources? Possible values are System and User. Defaults to User.
    name String

    The name of the Node Pool which should be created within the Kubernetes Cluster. Changing this forces a new resource to be created.

    NOTE: A Windows Node Pool cannot have a name longer than 6 characters.

    nodeCount Integer
    The number of nodes which should exist within this Node Pool. Valid values are between 0 and 1000 (inclusive) for user pools and between 1 and 1000 (inclusive) for system pools.
    nodeLabels Map<String,String>
    A map of Kubernetes labels which should be applied to nodes in this Node Pool.
    nodeNetworkProfile KubernetesClusterNodePoolNodeNetworkProfile
    A node_network_profile block as documented below.
    nodePublicIpPrefixId String
    Resource ID for the Public IP Addresses Prefix for the nodes in this Node Pool. enable_node_public_ip should be true. Changing this forces a new resource to be created.
    nodeTaints List<String>
    A list of Kubernetes taints which should be applied to nodes in the agent pool (e.g key=value:NoSchedule).
    orchestratorVersion String

    Version of Kubernetes used for the Agents. If not specified, the latest recommended version will be used at provisioning time (but won't auto-upgrade). AKS does not require an exact patch version to be specified, minor version aliases such as 1.22 are also supported. - The minor version's latest GA patch is automatically chosen in that case. More details can be found in the documentation.

    Note: This version must be supported by the Kubernetes Cluster - as such the version of Kubernetes used on the Cluster/Control Plane may need to be upgraded first.

    osDiskSizeGb Integer
    The Agent Operating System disk size in GB. Changing this forces a new resource to be created.
    osDiskType String
    The type of disk which should be used for the Operating System. Possible values are Ephemeral and Managed. Defaults to Managed. Changing this forces a new resource to be created.
    osSku String
    Specifies the OS SKU used by the agent pool. Possible values are AzureLinux, Ubuntu, Windows2019 and Windows2022. If not specified, the default is Ubuntu if OSType=Linux or Windows2019 if OSType=Windows. And the default Windows OSSKU will be changed to Windows2022 after Windows2019 is deprecated. Changing this forces a new resource to be created.
    osType String
    The Operating System which should be used for this Node Pool. Changing this forces a new resource to be created. Possible values are Linux and Windows. Defaults to Linux.
    podSubnetId String
    The ID of the Subnet where the pods in the Node Pool should exist. Changing this forces a new resource to be created.
    priority String
    The Priority for Virtual Machines within the Virtual Machine Scale Set that powers this Node Pool. Possible values are Regular and Spot. Defaults to Regular. Changing this forces a new resource to be created.
    proximityPlacementGroupId String

    The ID of the Proximity Placement Group where the Virtual Machine Scale Set that powers this Node Pool will be placed. Changing this forces a new resource to be created.

    Note: When setting priority to Spot - you must configure an eviction_policy, spot_max_price and add the applicable node_labels and node_taints as per the Azure Documentation.

    scaleDownMode String
    Specifies how the node pool should deal with scaled-down nodes. Allowed values are Delete and Deallocate. Defaults to Delete.
    snapshotId String
    The ID of the Snapshot which should be used to create this Node Pool. Changing this forces a new resource to be created.
    spotMaxPrice Double

    The maximum price you're willing to pay in USD per Virtual Machine. Valid values are -1 (the current on-demand price for a Virtual Machine) or a positive value with up to five decimal places. Changing this forces a new resource to be created.

    Note: This field can only be configured when priority is set to Spot.

    tags Map<String,String>

    A mapping of tags to assign to the resource.

    At this time there's a bug in the AKS API where Tags for a Node Pool are not stored in the correct case - you may wish to use ignoreChanges functionality to ignore changes to the casing until this is fixed in the AKS API.

    ultraSsdEnabled Boolean
    Used to specify whether the UltraSSD is enabled in the Node Pool. Defaults to false. See the documentation for more information. Changing this forces a new resource to be created.
    upgradeSettings KubernetesClusterNodePoolUpgradeSettings
    A upgrade_settings block as documented below.
    vnetSubnetId String

    The ID of the Subnet where this Node Pool should exist. Changing this forces a new resource to be created.

    NOTE: A route table must be configured on this Subnet.

    windowsProfile KubernetesClusterNodePoolWindowsProfile
    A windows_profile block as documented below. Changing this forces a new resource to be created.
    workloadRuntime String

    Used to specify the workload runtime. Allowed values are OCIContainer, WasmWasi and KataMshvVmIsolation.

    Note: WebAssembly System Interface node pools are in Public Preview - more information and details on how to opt into the preview can be found in this article

    Note: Pod Sandboxing / KataVM Isolation node pools are in Public Preview - more information and details on how to opt into the preview can be found in this article

    zones List<String>
    Specifies a list of Availability Zones in which this Kubernetes Cluster Node Pool should be located. Changing this forces a new Kubernetes Cluster Node Pool to be created.
    kubernetesClusterId string

    The ID of the Kubernetes Cluster where this Node Pool should exist. Changing this forces a new resource to be created.

    NOTE: The type of Default Node Pool for the Kubernetes Cluster must be VirtualMachineScaleSets to attach multiple node pools.

    vmSize string
    The SKU which should be used for the Virtual Machines used in this Node Pool. Changing this forces a new resource to be created.
    capacityReservationGroupId string
    Specifies the ID of the Capacity Reservation Group where this Node Pool should exist. Changing this forces a new resource to be created.
    customCaTrustEnabled boolean

    Specifies whether to trust a Custom CA.

    Note: This requires that the Preview Feature Microsoft.ContainerService/CustomCATrustPreview is enabled and the Resource Provider is re-registered, see the documentation for more information.

    enableAutoScaling boolean
    Whether to enable auto-scaler.
    enableHostEncryption boolean

    Should the nodes in this Node Pool have host encryption enabled? Changing this forces a new resource to be created.

    NOTE: Additional fields must be configured depending on the value of this field - see below.

    enableNodePublicIp boolean
    Should each node have a Public IP Address? Changing this forces a new resource to be created.
    evictionPolicy string

    The Eviction Policy which should be used for Virtual Machines within the Virtual Machine Scale Set powering this Node Pool. Possible values are Deallocate and Delete. Changing this forces a new resource to be created.

    Note: An Eviction Policy can only be configured when priority is set to Spot and will default to Delete unless otherwise specified.

    fipsEnabled boolean

    Should the nodes in this Node Pool have Federal Information Processing Standard enabled? Changing this forces a new resource to be created.

    Note: FIPS support is in Public Preview - more information and details on how to opt into the Preview can be found in this article.

    gpuInstance string
    Specifies the GPU MIG instance profile for supported GPU VM SKU. The allowed values are MIG1g, MIG2g, MIG3g, MIG4g and MIG7g. Changing this forces a new resource to be created.
    hostGroupId string
    The fully qualified resource ID of the Dedicated Host Group to provision virtual machines from. Changing this forces a new resource to be created.
    kubeletConfig KubernetesClusterNodePoolKubeletConfig
    A kubelet_config block as defined below. Changing this forces a new resource to be created.
    kubeletDiskType string
    The type of disk used by kubelet. Possible values are OS and Temporary.
    linuxOsConfig KubernetesClusterNodePoolLinuxOsConfig
    A linux_os_config block as defined below. Changing this forces a new resource to be created.
    maxCount number
    The maximum number of nodes which should exist within this Node Pool. Valid values are between 0 and 1000 and must be greater than or equal to min_count.
    maxPods number
    The maximum number of pods that can run on each agent. Changing this forces a new resource to be created.
    messageOfTheDay string
    A base64-encoded string which will be written to /etc/motd after decoding. This allows customization of the message of the day for Linux nodes. It cannot be specified for Windows nodes and must be a static string (i.e. will be printed raw and not executed as a script). Changing this forces a new resource to be created.
    minCount number
    The minimum number of nodes which should exist within this Node Pool. Valid values are between 0 and 1000 and must be less than or equal to max_count.
    mode string
    Should this Node Pool be used for System or User resources? Possible values are System and User. Defaults to User.
    name string

    The name of the Node Pool which should be created within the Kubernetes Cluster. Changing this forces a new resource to be created.

    NOTE: A Windows Node Pool cannot have a name longer than 6 characters.

    nodeCount number
    The number of nodes which should exist within this Node Pool. Valid values are between 0 and 1000 (inclusive) for user pools and between 1 and 1000 (inclusive) for system pools.
    nodeLabels {[key: string]: string}
    A map of Kubernetes labels which should be applied to nodes in this Node Pool.
    nodeNetworkProfile KubernetesClusterNodePoolNodeNetworkProfile
    A node_network_profile block as documented below.
    nodePublicIpPrefixId string
    Resource ID for the Public IP Addresses Prefix for the nodes in this Node Pool. enable_node_public_ip should be true. Changing this forces a new resource to be created.
    nodeTaints string[]
    A list of Kubernetes taints which should be applied to nodes in the agent pool (e.g key=value:NoSchedule).
    orchestratorVersion string

    Version of Kubernetes used for the Agents. If not specified, the latest recommended version will be used at provisioning time (but won't auto-upgrade). AKS does not require an exact patch version to be specified, minor version aliases such as 1.22 are also supported. - The minor version's latest GA patch is automatically chosen in that case. More details can be found in the documentation.

    Note: This version must be supported by the Kubernetes Cluster - as such the version of Kubernetes used on the Cluster/Control Plane may need to be upgraded first.

    osDiskSizeGb number
    The Agent Operating System disk size in GB. Changing this forces a new resource to be created.
    osDiskType string
    The type of disk which should be used for the Operating System. Possible values are Ephemeral and Managed. Defaults to Managed. Changing this forces a new resource to be created.
    osSku string
    Specifies the OS SKU used by the agent pool. Possible values are AzureLinux, Ubuntu, Windows2019 and Windows2022. If not specified, the default is Ubuntu if OSType=Linux or Windows2019 if OSType=Windows. And the default Windows OSSKU will be changed to Windows2022 after Windows2019 is deprecated. Changing this forces a new resource to be created.
    osType string
    The Operating System which should be used for this Node Pool. Changing this forces a new resource to be created. Possible values are Linux and Windows. Defaults to Linux.
    podSubnetId string
    The ID of the Subnet where the pods in the Node Pool should exist. Changing this forces a new resource to be created.
    priority string
    The Priority for Virtual Machines within the Virtual Machine Scale Set that powers this Node Pool. Possible values are Regular and Spot. Defaults to Regular. Changing this forces a new resource to be created.
    proximityPlacementGroupId string

    The ID of the Proximity Placement Group where the Virtual Machine Scale Set that powers this Node Pool will be placed. Changing this forces a new resource to be created.

    Note: When setting priority to Spot - you must configure an eviction_policy, spot_max_price and add the applicable node_labels and node_taints as per the Azure Documentation.

    scaleDownMode string
    Specifies how the node pool should deal with scaled-down nodes. Allowed values are Delete and Deallocate. Defaults to Delete.
    snapshotId string
    The ID of the Snapshot which should be used to create this Node Pool. Changing this forces a new resource to be created.
    spotMaxPrice number

    The maximum price you're willing to pay in USD per Virtual Machine. Valid values are -1 (the current on-demand price for a Virtual Machine) or a positive value with up to five decimal places. Changing this forces a new resource to be created.

    Note: This field can only be configured when priority is set to Spot.

    tags {[key: string]: string}

    A mapping of tags to assign to the resource.

    At this time there's a bug in the AKS API where Tags for a Node Pool are not stored in the correct case - you may wish to use ignoreChanges functionality to ignore changes to the casing until this is fixed in the AKS API.

    ultraSsdEnabled boolean
    Used to specify whether the UltraSSD is enabled in the Node Pool. Defaults to false. See the documentation for more information. Changing this forces a new resource to be created.
    upgradeSettings KubernetesClusterNodePoolUpgradeSettings
    A upgrade_settings block as documented below.
    vnetSubnetId string

    The ID of the Subnet where this Node Pool should exist. Changing this forces a new resource to be created.

    NOTE: A route table must be configured on this Subnet.

    windowsProfile KubernetesClusterNodePoolWindowsProfile
    A windows_profile block as documented below. Changing this forces a new resource to be created.
    workloadRuntime string

    Used to specify the workload runtime. Allowed values are OCIContainer, WasmWasi and KataMshvVmIsolation.

    Note: WebAssembly System Interface node pools are in Public Preview - more information and details on how to opt into the preview can be found in this article

    Note: Pod Sandboxing / KataVM Isolation node pools are in Public Preview - more information and details on how to opt into the preview can be found in this article

    zones string[]
    Specifies a list of Availability Zones in which this Kubernetes Cluster Node Pool should be located. Changing this forces a new Kubernetes Cluster Node Pool to be created.
    kubernetes_cluster_id str

    The ID of the Kubernetes Cluster where this Node Pool should exist. Changing this forces a new resource to be created.

    NOTE: The type of Default Node Pool for the Kubernetes Cluster must be VirtualMachineScaleSets to attach multiple node pools.

    vm_size str
    The SKU which should be used for the Virtual Machines used in this Node Pool. Changing this forces a new resource to be created.
    capacity_reservation_group_id str
    Specifies the ID of the Capacity Reservation Group where this Node Pool should exist. Changing this forces a new resource to be created.
    custom_ca_trust_enabled bool

    Specifies whether to trust a Custom CA.

    Note: This requires that the Preview Feature Microsoft.ContainerService/CustomCATrustPreview is enabled and the Resource Provider is re-registered, see the documentation for more information.

    enable_auto_scaling bool
    Whether to enable auto-scaler.
    enable_host_encryption bool

    Should the nodes in this Node Pool have host encryption enabled? Changing this forces a new resource to be created.

    NOTE: Additional fields must be configured depending on the value of this field - see below.

    enable_node_public_ip bool
    Should each node have a Public IP Address? Changing this forces a new resource to be created.
    eviction_policy str

    The Eviction Policy which should be used for Virtual Machines within the Virtual Machine Scale Set powering this Node Pool. Possible values are Deallocate and Delete. Changing this forces a new resource to be created.

    Note: An Eviction Policy can only be configured when priority is set to Spot and will default to Delete unless otherwise specified.

    fips_enabled bool

    Should the nodes in this Node Pool have Federal Information Processing Standard enabled? Changing this forces a new resource to be created.

    Note: FIPS support is in Public Preview - more information and details on how to opt into the Preview can be found in this article.

    gpu_instance str
    Specifies the GPU MIG instance profile for supported GPU VM SKU. The allowed values are MIG1g, MIG2g, MIG3g, MIG4g and MIG7g. Changing this forces a new resource to be created.
    host_group_id str
    The fully qualified resource ID of the Dedicated Host Group to provision virtual machines from. Changing this forces a new resource to be created.
    kubelet_config KubernetesClusterNodePoolKubeletConfigArgs
    A kubelet_config block as defined below. Changing this forces a new resource to be created.
    kubelet_disk_type str
    The type of disk used by kubelet. Possible values are OS and Temporary.
    linux_os_config KubernetesClusterNodePoolLinuxOsConfigArgs
    A linux_os_config block as defined below. Changing this forces a new resource to be created.
    max_count int
    The maximum number of nodes which should exist within this Node Pool. Valid values are between 0 and 1000 and must be greater than or equal to min_count.
    max_pods int
    The maximum number of pods that can run on each agent. Changing this forces a new resource to be created.
    message_of_the_day str
    A base64-encoded string which will be written to /etc/motd after decoding. This allows customization of the message of the day for Linux nodes. It cannot be specified for Windows nodes and must be a static string (i.e. will be printed raw and not executed as a script). Changing this forces a new resource to be created.
    min_count int
    The minimum number of nodes which should exist within this Node Pool. Valid values are between 0 and 1000 and must be less than or equal to max_count.
    mode str
    Should this Node Pool be used for System or User resources? Possible values are System and User. Defaults to User.
    name str

    The name of the Node Pool which should be created within the Kubernetes Cluster. Changing this forces a new resource to be created.

    NOTE: A Windows Node Pool cannot have a name longer than 6 characters.

    node_count int
    The number of nodes which should exist within this Node Pool. Valid values are between 0 and 1000 (inclusive) for user pools and between 1 and 1000 (inclusive) for system pools.
    node_labels Mapping[str, str]
    A map of Kubernetes labels which should be applied to nodes in this Node Pool.
    node_network_profile KubernetesClusterNodePoolNodeNetworkProfileArgs
    A node_network_profile block as documented below.
    node_public_ip_prefix_id str
    Resource ID for the Public IP Addresses Prefix for the nodes in this Node Pool. enable_node_public_ip should be true. Changing this forces a new resource to be created.
    node_taints Sequence[str]
    A list of Kubernetes taints which should be applied to nodes in the agent pool (e.g key=value:NoSchedule).
    orchestrator_version str

    Version of Kubernetes used for the Agents. If not specified, the latest recommended version will be used at provisioning time (but won't auto-upgrade). AKS does not require an exact patch version to be specified, minor version aliases such as 1.22 are also supported. - The minor version's latest GA patch is automatically chosen in that case. More details can be found in the documentation.

    Note: This version must be supported by the Kubernetes Cluster - as such the version of Kubernetes used on the Cluster/Control Plane may need to be upgraded first.

    os_disk_size_gb int
    The Agent Operating System disk size in GB. Changing this forces a new resource to be created.
    os_disk_type str
    The type of disk which should be used for the Operating System. Possible values are Ephemeral and Managed. Defaults to Managed. Changing this forces a new resource to be created.
    os_sku str
    Specifies the OS SKU used by the agent pool. Possible values are AzureLinux, Ubuntu, Windows2019 and Windows2022. If not specified, the default is Ubuntu if OSType=Linux or Windows2019 if OSType=Windows. And the default Windows OSSKU will be changed to Windows2022 after Windows2019 is deprecated. Changing this forces a new resource to be created.
    os_type str
    The Operating System which should be used for this Node Pool. Changing this forces a new resource to be created. Possible values are Linux and Windows. Defaults to Linux.
    pod_subnet_id str
    The ID of the Subnet where the pods in the Node Pool should exist. Changing this forces a new resource to be created.
    priority str
    The Priority for Virtual Machines within the Virtual Machine Scale Set that powers this Node Pool. Possible values are Regular and Spot. Defaults to Regular. Changing this forces a new resource to be created.
    proximity_placement_group_id str

    The ID of the Proximity Placement Group where the Virtual Machine Scale Set that powers this Node Pool will be placed. Changing this forces a new resource to be created.

    Note: When setting priority to Spot - you must configure an eviction_policy, spot_max_price and add the applicable node_labels and node_taints as per the Azure Documentation.

    scale_down_mode str
    Specifies how the node pool should deal with scaled-down nodes. Allowed values are Delete and Deallocate. Defaults to Delete.
    snapshot_id str
    The ID of the Snapshot which should be used to create this Node Pool. Changing this forces a new resource to be created.
    spot_max_price float

    The maximum price you're willing to pay in USD per Virtual Machine. Valid values are -1 (the current on-demand price for a Virtual Machine) or a positive value with up to five decimal places. Changing this forces a new resource to be created.

    Note: This field can only be configured when priority is set to Spot.

    tags Mapping[str, str]

    A mapping of tags to assign to the resource.

    At this time there's a bug in the AKS API where Tags for a Node Pool are not stored in the correct case - you may wish to use ignoreChanges functionality to ignore changes to the casing until this is fixed in the AKS API.

    ultra_ssd_enabled bool
    Used to specify whether the UltraSSD is enabled in the Node Pool. Defaults to false. See the documentation for more information. Changing this forces a new resource to be created.
    upgrade_settings KubernetesClusterNodePoolUpgradeSettingsArgs
    A upgrade_settings block as documented below.
    vnet_subnet_id str

    The ID of the Subnet where this Node Pool should exist. Changing this forces a new resource to be created.

    NOTE: A route table must be configured on this Subnet.

    windows_profile KubernetesClusterNodePoolWindowsProfileArgs
    A windows_profile block as documented below. Changing this forces a new resource to be created.
    workload_runtime str

    Used to specify the workload runtime. Allowed values are OCIContainer, WasmWasi and KataMshvVmIsolation.

    Note: WebAssembly System Interface node pools are in Public Preview - more information and details on how to opt into the preview can be found in this article

    Note: Pod Sandboxing / KataVM Isolation node pools are in Public Preview - more information and details on how to opt into the preview can be found in this article

    zones Sequence[str]
    Specifies a list of Availability Zones in which this Kubernetes Cluster Node Pool should be located. Changing this forces a new Kubernetes Cluster Node Pool to be created.
    kubernetesClusterId String

    The ID of the Kubernetes Cluster where this Node Pool should exist. Changing this forces a new resource to be created.

    NOTE: The type of Default Node Pool for the Kubernetes Cluster must be VirtualMachineScaleSets to attach multiple node pools.

    vmSize String
    The SKU which should be used for the Virtual Machines used in this Node Pool. Changing this forces a new resource to be created.
    capacityReservationGroupId String
    Specifies the ID of the Capacity Reservation Group where this Node Pool should exist. Changing this forces a new resource to be created.
    customCaTrustEnabled Boolean

    Specifies whether to trust a Custom CA.

    Note: This requires that the Preview Feature Microsoft.ContainerService/CustomCATrustPreview is enabled and the Resource Provider is re-registered, see the documentation for more information.

    enableAutoScaling Boolean
    Whether to enable auto-scaler.
    enableHostEncryption Boolean

    Should the nodes in this Node Pool have host encryption enabled? Changing this forces a new resource to be created.

    NOTE: Additional fields must be configured depending on the value of this field - see below.

    enableNodePublicIp Boolean
    Should each node have a Public IP Address? Changing this forces a new resource to be created.
    evictionPolicy String

    The Eviction Policy which should be used for Virtual Machines within the Virtual Machine Scale Set powering this Node Pool. Possible values are Deallocate and Delete. Changing this forces a new resource to be created.

    Note: An Eviction Policy can only be configured when priority is set to Spot and will default to Delete unless otherwise specified.

    fipsEnabled Boolean

    Should the nodes in this Node Pool have Federal Information Processing Standard enabled? Changing this forces a new resource to be created.

    Note: FIPS support is in Public Preview - more information and details on how to opt into the Preview can be found in this article.

    gpuInstance String
    Specifies the GPU MIG instance profile for supported GPU VM SKU. The allowed values are MIG1g, MIG2g, MIG3g, MIG4g and MIG7g. Changing this forces a new resource to be created.
    hostGroupId String
    The fully qualified resource ID of the Dedicated Host Group to provision virtual machines from. Changing this forces a new resource to be created.
    kubeletConfig Property Map
    A kubelet_config block as defined below. Changing this forces a new resource to be created.
    kubeletDiskType String
    The type of disk used by kubelet. Possible values are OS and Temporary.
    linuxOsConfig Property Map
    A linux_os_config block as defined below. Changing this forces a new resource to be created.
    maxCount Number
    The maximum number of nodes which should exist within this Node Pool. Valid values are between 0 and 1000 and must be greater than or equal to min_count.
    maxPods Number
    The maximum number of pods that can run on each agent. Changing this forces a new resource to be created.
    messageOfTheDay String
    A base64-encoded string which will be written to /etc/motd after decoding. This allows customization of the message of the day for Linux nodes. It cannot be specified for Windows nodes and must be a static string (i.e. will be printed raw and not executed as a script). Changing this forces a new resource to be created.
    minCount Number
    The minimum number of nodes which should exist within this Node Pool. Valid values are between 0 and 1000 and must be less than or equal to max_count.
    mode String
    Should this Node Pool be used for System or User resources? Possible values are System and User. Defaults to User.
    name String

    The name of the Node Pool which should be created within the Kubernetes Cluster. Changing this forces a new resource to be created.

    NOTE: A Windows Node Pool cannot have a name longer than 6 characters.

    nodeCount Number
    The number of nodes which should exist within this Node Pool. Valid values are between 0 and 1000 (inclusive) for user pools and between 1 and 1000 (inclusive) for system pools.
    nodeLabels Map<String>
    A map of Kubernetes labels which should be applied to nodes in this Node Pool.
    nodeNetworkProfile Property Map
    A node_network_profile block as documented below.
    nodePublicIpPrefixId String
    Resource ID for the Public IP Addresses Prefix for the nodes in this Node Pool. enable_node_public_ip should be true. Changing this forces a new resource to be created.
    nodeTaints List<String>
    A list of Kubernetes taints which should be applied to nodes in the agent pool (e.g key=value:NoSchedule).
    orchestratorVersion String

    Version of Kubernetes used for the Agents. If not specified, the latest recommended version will be used at provisioning time (but won't auto-upgrade). AKS does not require an exact patch version to be specified, minor version aliases such as 1.22 are also supported. - The minor version's latest GA patch is automatically chosen in that case. More details can be found in the documentation.

    Note: This version must be supported by the Kubernetes Cluster - as such the version of Kubernetes used on the Cluster/Control Plane may need to be upgraded first.

    osDiskSizeGb Number
    The Agent Operating System disk size in GB. Changing this forces a new resource to be created.
    osDiskType String
    The type of disk which should be used for the Operating System. Possible values are Ephemeral and Managed. Defaults to Managed. Changing this forces a new resource to be created.
    osSku String
    Specifies the OS SKU used by the agent pool. Possible values are AzureLinux, Ubuntu, Windows2019 and Windows2022. If not specified, the default is Ubuntu if OSType=Linux or Windows2019 if OSType=Windows. And the default Windows OSSKU will be changed to Windows2022 after Windows2019 is deprecated. Changing this forces a new resource to be created.
    osType String
    The Operating System which should be used for this Node Pool. Changing this forces a new resource to be created. Possible values are Linux and Windows. Defaults to Linux.
    podSubnetId String
    The ID of the Subnet where the pods in the Node Pool should exist. Changing this forces a new resource to be created.
    priority String
    The Priority for Virtual Machines within the Virtual Machine Scale Set that powers this Node Pool. Possible values are Regular and Spot. Defaults to Regular. Changing this forces a new resource to be created.
    proximityPlacementGroupId String

    The ID of the Proximity Placement Group where the Virtual Machine Scale Set that powers this Node Pool will be placed. Changing this forces a new resource to be created.

    Note: When setting priority to Spot - you must configure an eviction_policy, spot_max_price and add the applicable node_labels and node_taints as per the Azure Documentation.

    scaleDownMode String
    Specifies how the node pool should deal with scaled-down nodes. Allowed values are Delete and Deallocate. Defaults to Delete.
    snapshotId String
    The ID of the Snapshot which should be used to create this Node Pool. Changing this forces a new resource to be created.
    spotMaxPrice Number

    The maximum price you're willing to pay in USD per Virtual Machine. Valid values are -1 (the current on-demand price for a Virtual Machine) or a positive value with up to five decimal places. Changing this forces a new resource to be created.

    Note: This field can only be configured when priority is set to Spot.

    tags Map<String>

    A mapping of tags to assign to the resource.

    At this time there's a bug in the AKS API where Tags for a Node Pool are not stored in the correct case - you may wish to use ignoreChanges functionality to ignore changes to the casing until this is fixed in the AKS API.

    ultraSsdEnabled Boolean
    Used to specify whether the UltraSSD is enabled in the Node Pool. Defaults to false. See the documentation for more information. Changing this forces a new resource to be created.
    upgradeSettings Property Map
    A upgrade_settings block as documented below.
    vnetSubnetId String

    The ID of the Subnet where this Node Pool should exist. Changing this forces a new resource to be created.

    NOTE: A route table must be configured on this Subnet.

    windowsProfile Property Map
    A windows_profile block as documented below. Changing this forces a new resource to be created.
    workloadRuntime String

    Used to specify the workload runtime. Allowed values are OCIContainer, WasmWasi and KataMshvVmIsolation.

    Note: WebAssembly System Interface node pools are in Public Preview - more information and details on how to opt into the preview can be found in this article

    Note: Pod Sandboxing / KataVM Isolation node pools are in Public Preview - more information and details on how to opt into the preview can be found in this article

    zones List<String>
    Specifies a list of Availability Zones in which this Kubernetes Cluster Node Pool should be located. Changing this forces a new Kubernetes Cluster Node Pool to be created.

    Outputs

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

    Id string
    The provider-assigned unique ID for this managed resource.
    Id string
    The provider-assigned unique ID for this managed resource.
    id String
    The provider-assigned unique ID for this managed resource.
    id string
    The provider-assigned unique ID for this managed resource.
    id str
    The provider-assigned unique ID for this managed resource.
    id String
    The provider-assigned unique ID for this managed resource.

    Look up Existing KubernetesClusterNodePool Resource

    Get an existing KubernetesClusterNodePool 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?: KubernetesClusterNodePoolState, opts?: CustomResourceOptions): KubernetesClusterNodePool
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            capacity_reservation_group_id: Optional[str] = None,
            custom_ca_trust_enabled: Optional[bool] = None,
            enable_auto_scaling: Optional[bool] = None,
            enable_host_encryption: Optional[bool] = None,
            enable_node_public_ip: Optional[bool] = None,
            eviction_policy: Optional[str] = None,
            fips_enabled: Optional[bool] = None,
            gpu_instance: Optional[str] = None,
            host_group_id: Optional[str] = None,
            kubelet_config: Optional[KubernetesClusterNodePoolKubeletConfigArgs] = None,
            kubelet_disk_type: Optional[str] = None,
            kubernetes_cluster_id: Optional[str] = None,
            linux_os_config: Optional[KubernetesClusterNodePoolLinuxOsConfigArgs] = None,
            max_count: Optional[int] = None,
            max_pods: Optional[int] = None,
            message_of_the_day: Optional[str] = None,
            min_count: Optional[int] = None,
            mode: Optional[str] = None,
            name: Optional[str] = None,
            node_count: Optional[int] = None,
            node_labels: Optional[Mapping[str, str]] = None,
            node_network_profile: Optional[KubernetesClusterNodePoolNodeNetworkProfileArgs] = None,
            node_public_ip_prefix_id: Optional[str] = None,
            node_taints: Optional[Sequence[str]] = None,
            orchestrator_version: Optional[str] = None,
            os_disk_size_gb: Optional[int] = None,
            os_disk_type: Optional[str] = None,
            os_sku: Optional[str] = None,
            os_type: Optional[str] = None,
            pod_subnet_id: Optional[str] = None,
            priority: Optional[str] = None,
            proximity_placement_group_id: Optional[str] = None,
            scale_down_mode: Optional[str] = None,
            snapshot_id: Optional[str] = None,
            spot_max_price: Optional[float] = None,
            tags: Optional[Mapping[str, str]] = None,
            ultra_ssd_enabled: Optional[bool] = None,
            upgrade_settings: Optional[KubernetesClusterNodePoolUpgradeSettingsArgs] = None,
            vm_size: Optional[str] = None,
            vnet_subnet_id: Optional[str] = None,
            windows_profile: Optional[KubernetesClusterNodePoolWindowsProfileArgs] = None,
            workload_runtime: Optional[str] = None,
            zones: Optional[Sequence[str]] = None) -> KubernetesClusterNodePool
    func GetKubernetesClusterNodePool(ctx *Context, name string, id IDInput, state *KubernetesClusterNodePoolState, opts ...ResourceOption) (*KubernetesClusterNodePool, error)
    public static KubernetesClusterNodePool Get(string name, Input<string> id, KubernetesClusterNodePoolState? state, CustomResourceOptions? opts = null)
    public static KubernetesClusterNodePool get(String name, Output<String> id, KubernetesClusterNodePoolState 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:
    CapacityReservationGroupId string
    Specifies the ID of the Capacity Reservation Group where this Node Pool should exist. Changing this forces a new resource to be created.
    CustomCaTrustEnabled bool

    Specifies whether to trust a Custom CA.

    Note: This requires that the Preview Feature Microsoft.ContainerService/CustomCATrustPreview is enabled and the Resource Provider is re-registered, see the documentation for more information.

    EnableAutoScaling bool
    Whether to enable auto-scaler.
    EnableHostEncryption bool

    Should the nodes in this Node Pool have host encryption enabled? Changing this forces a new resource to be created.

    NOTE: Additional fields must be configured depending on the value of this field - see below.

    EnableNodePublicIp bool
    Should each node have a Public IP Address? Changing this forces a new resource to be created.
    EvictionPolicy string

    The Eviction Policy which should be used for Virtual Machines within the Virtual Machine Scale Set powering this Node Pool. Possible values are Deallocate and Delete. Changing this forces a new resource to be created.

    Note: An Eviction Policy can only be configured when priority is set to Spot and will default to Delete unless otherwise specified.

    FipsEnabled bool

    Should the nodes in this Node Pool have Federal Information Processing Standard enabled? Changing this forces a new resource to be created.

    Note: FIPS support is in Public Preview - more information and details on how to opt into the Preview can be found in this article.

    GpuInstance string
    Specifies the GPU MIG instance profile for supported GPU VM SKU. The allowed values are MIG1g, MIG2g, MIG3g, MIG4g and MIG7g. Changing this forces a new resource to be created.
    HostGroupId string
    The fully qualified resource ID of the Dedicated Host Group to provision virtual machines from. Changing this forces a new resource to be created.
    KubeletConfig KubernetesClusterNodePoolKubeletConfig
    A kubelet_config block as defined below. Changing this forces a new resource to be created.
    KubeletDiskType string
    The type of disk used by kubelet. Possible values are OS and Temporary.
    KubernetesClusterId string

    The ID of the Kubernetes Cluster where this Node Pool should exist. Changing this forces a new resource to be created.

    NOTE: The type of Default Node Pool for the Kubernetes Cluster must be VirtualMachineScaleSets to attach multiple node pools.

    LinuxOsConfig KubernetesClusterNodePoolLinuxOsConfig
    A linux_os_config block as defined below. Changing this forces a new resource to be created.
    MaxCount int
    The maximum number of nodes which should exist within this Node Pool. Valid values are between 0 and 1000 and must be greater than or equal to min_count.
    MaxPods int
    The maximum number of pods that can run on each agent. Changing this forces a new resource to be created.
    MessageOfTheDay string
    A base64-encoded string which will be written to /etc/motd after decoding. This allows customization of the message of the day for Linux nodes. It cannot be specified for Windows nodes and must be a static string (i.e. will be printed raw and not executed as a script). Changing this forces a new resource to be created.
    MinCount int
    The minimum number of nodes which should exist within this Node Pool. Valid values are between 0 and 1000 and must be less than or equal to max_count.
    Mode string
    Should this Node Pool be used for System or User resources? Possible values are System and User. Defaults to User.
    Name string

    The name of the Node Pool which should be created within the Kubernetes Cluster. Changing this forces a new resource to be created.

    NOTE: A Windows Node Pool cannot have a name longer than 6 characters.

    NodeCount int
    The number of nodes which should exist within this Node Pool. Valid values are between 0 and 1000 (inclusive) for user pools and between 1 and 1000 (inclusive) for system pools.
    NodeLabels Dictionary<string, string>
    A map of Kubernetes labels which should be applied to nodes in this Node Pool.
    NodeNetworkProfile KubernetesClusterNodePoolNodeNetworkProfile
    A node_network_profile block as documented below.
    NodePublicIpPrefixId string
    Resource ID for the Public IP Addresses Prefix for the nodes in this Node Pool. enable_node_public_ip should be true. Changing this forces a new resource to be created.
    NodeTaints List<string>
    A list of Kubernetes taints which should be applied to nodes in the agent pool (e.g key=value:NoSchedule).
    OrchestratorVersion string

    Version of Kubernetes used for the Agents. If not specified, the latest recommended version will be used at provisioning time (but won't auto-upgrade). AKS does not require an exact patch version to be specified, minor version aliases such as 1.22 are also supported. - The minor version's latest GA patch is automatically chosen in that case. More details can be found in the documentation.

    Note: This version must be supported by the Kubernetes Cluster - as such the version of Kubernetes used on the Cluster/Control Plane may need to be upgraded first.

    OsDiskSizeGb int
    The Agent Operating System disk size in GB. Changing this forces a new resource to be created.
    OsDiskType string
    The type of disk which should be used for the Operating System. Possible values are Ephemeral and Managed. Defaults to Managed. Changing this forces a new resource to be created.
    OsSku string
    Specifies the OS SKU used by the agent pool. Possible values are AzureLinux, Ubuntu, Windows2019 and Windows2022. If not specified, the default is Ubuntu if OSType=Linux or Windows2019 if OSType=Windows. And the default Windows OSSKU will be changed to Windows2022 after Windows2019 is deprecated. Changing this forces a new resource to be created.
    OsType string
    The Operating System which should be used for this Node Pool. Changing this forces a new resource to be created. Possible values are Linux and Windows. Defaults to Linux.
    PodSubnetId string
    The ID of the Subnet where the pods in the Node Pool should exist. Changing this forces a new resource to be created.
    Priority string
    The Priority for Virtual Machines within the Virtual Machine Scale Set that powers this Node Pool. Possible values are Regular and Spot. Defaults to Regular. Changing this forces a new resource to be created.
    ProximityPlacementGroupId string

    The ID of the Proximity Placement Group where the Virtual Machine Scale Set that powers this Node Pool will be placed. Changing this forces a new resource to be created.

    Note: When setting priority to Spot - you must configure an eviction_policy, spot_max_price and add the applicable node_labels and node_taints as per the Azure Documentation.

    ScaleDownMode string
    Specifies how the node pool should deal with scaled-down nodes. Allowed values are Delete and Deallocate. Defaults to Delete.
    SnapshotId string
    The ID of the Snapshot which should be used to create this Node Pool. Changing this forces a new resource to be created.
    SpotMaxPrice double

    The maximum price you're willing to pay in USD per Virtual Machine. Valid values are -1 (the current on-demand price for a Virtual Machine) or a positive value with up to five decimal places. Changing this forces a new resource to be created.

    Note: This field can only be configured when priority is set to Spot.

    Tags Dictionary<string, string>

    A mapping of tags to assign to the resource.

    At this time there's a bug in the AKS API where Tags for a Node Pool are not stored in the correct case - you may wish to use ignoreChanges functionality to ignore changes to the casing until this is fixed in the AKS API.

    UltraSsdEnabled bool
    Used to specify whether the UltraSSD is enabled in the Node Pool. Defaults to false. See the documentation for more information. Changing this forces a new resource to be created.
    UpgradeSettings KubernetesClusterNodePoolUpgradeSettings
    A upgrade_settings block as documented below.
    VmSize string
    The SKU which should be used for the Virtual Machines used in this Node Pool. Changing this forces a new resource to be created.
    VnetSubnetId string

    The ID of the Subnet where this Node Pool should exist. Changing this forces a new resource to be created.

    NOTE: A route table must be configured on this Subnet.

    WindowsProfile KubernetesClusterNodePoolWindowsProfile
    A windows_profile block as documented below. Changing this forces a new resource to be created.
    WorkloadRuntime string

    Used to specify the workload runtime. Allowed values are OCIContainer, WasmWasi and KataMshvVmIsolation.

    Note: WebAssembly System Interface node pools are in Public Preview - more information and details on how to opt into the preview can be found in this article

    Note: Pod Sandboxing / KataVM Isolation node pools are in Public Preview - more information and details on how to opt into the preview can be found in this article

    Zones List<string>
    Specifies a list of Availability Zones in which this Kubernetes Cluster Node Pool should be located. Changing this forces a new Kubernetes Cluster Node Pool to be created.
    CapacityReservationGroupId string
    Specifies the ID of the Capacity Reservation Group where this Node Pool should exist. Changing this forces a new resource to be created.
    CustomCaTrustEnabled bool

    Specifies whether to trust a Custom CA.

    Note: This requires that the Preview Feature Microsoft.ContainerService/CustomCATrustPreview is enabled and the Resource Provider is re-registered, see the documentation for more information.

    EnableAutoScaling bool
    Whether to enable auto-scaler.
    EnableHostEncryption bool

    Should the nodes in this Node Pool have host encryption enabled? Changing this forces a new resource to be created.

    NOTE: Additional fields must be configured depending on the value of this field - see below.

    EnableNodePublicIp bool
    Should each node have a Public IP Address? Changing this forces a new resource to be created.
    EvictionPolicy string

    The Eviction Policy which should be used for Virtual Machines within the Virtual Machine Scale Set powering this Node Pool. Possible values are Deallocate and Delete. Changing this forces a new resource to be created.

    Note: An Eviction Policy can only be configured when priority is set to Spot and will default to Delete unless otherwise specified.

    FipsEnabled bool

    Should the nodes in this Node Pool have Federal Information Processing Standard enabled? Changing this forces a new resource to be created.

    Note: FIPS support is in Public Preview - more information and details on how to opt into the Preview can be found in this article.

    GpuInstance string
    Specifies the GPU MIG instance profile for supported GPU VM SKU. The allowed values are MIG1g, MIG2g, MIG3g, MIG4g and MIG7g. Changing this forces a new resource to be created.
    HostGroupId string
    The fully qualified resource ID of the Dedicated Host Group to provision virtual machines from. Changing this forces a new resource to be created.
    KubeletConfig KubernetesClusterNodePoolKubeletConfigArgs
    A kubelet_config block as defined below. Changing this forces a new resource to be created.
    KubeletDiskType string
    The type of disk used by kubelet. Possible values are OS and Temporary.
    KubernetesClusterId string

    The ID of the Kubernetes Cluster where this Node Pool should exist. Changing this forces a new resource to be created.

    NOTE: The type of Default Node Pool for the Kubernetes Cluster must be VirtualMachineScaleSets to attach multiple node pools.

    LinuxOsConfig KubernetesClusterNodePoolLinuxOsConfigArgs
    A linux_os_config block as defined below. Changing this forces a new resource to be created.
    MaxCount int
    The maximum number of nodes which should exist within this Node Pool. Valid values are between 0 and 1000 and must be greater than or equal to min_count.
    MaxPods int
    The maximum number of pods that can run on each agent. Changing this forces a new resource to be created.
    MessageOfTheDay string
    A base64-encoded string which will be written to /etc/motd after decoding. This allows customization of the message of the day for Linux nodes. It cannot be specified for Windows nodes and must be a static string (i.e. will be printed raw and not executed as a script). Changing this forces a new resource to be created.
    MinCount int
    The minimum number of nodes which should exist within this Node Pool. Valid values are between 0 and 1000 and must be less than or equal to max_count.
    Mode string
    Should this Node Pool be used for System or User resources? Possible values are System and User. Defaults to User.
    Name string

    The name of the Node Pool which should be created within the Kubernetes Cluster. Changing this forces a new resource to be created.

    NOTE: A Windows Node Pool cannot have a name longer than 6 characters.

    NodeCount int
    The number of nodes which should exist within this Node Pool. Valid values are between 0 and 1000 (inclusive) for user pools and between 1 and 1000 (inclusive) for system pools.
    NodeLabels map[string]string
    A map of Kubernetes labels which should be applied to nodes in this Node Pool.
    NodeNetworkProfile KubernetesClusterNodePoolNodeNetworkProfileArgs
    A node_network_profile block as documented below.
    NodePublicIpPrefixId string
    Resource ID for the Public IP Addresses Prefix for the nodes in this Node Pool. enable_node_public_ip should be true. Changing this forces a new resource to be created.
    NodeTaints []string
    A list of Kubernetes taints which should be applied to nodes in the agent pool (e.g key=value:NoSchedule).
    OrchestratorVersion string

    Version of Kubernetes used for the Agents. If not specified, the latest recommended version will be used at provisioning time (but won't auto-upgrade). AKS does not require an exact patch version to be specified, minor version aliases such as 1.22 are also supported. - The minor version's latest GA patch is automatically chosen in that case. More details can be found in the documentation.

    Note: This version must be supported by the Kubernetes Cluster - as such the version of Kubernetes used on the Cluster/Control Plane may need to be upgraded first.

    OsDiskSizeGb int
    The Agent Operating System disk size in GB. Changing this forces a new resource to be created.
    OsDiskType string
    The type of disk which should be used for the Operating System. Possible values are Ephemeral and Managed. Defaults to Managed. Changing this forces a new resource to be created.
    OsSku string
    Specifies the OS SKU used by the agent pool. Possible values are AzureLinux, Ubuntu, Windows2019 and Windows2022. If not specified, the default is Ubuntu if OSType=Linux or Windows2019 if OSType=Windows. And the default Windows OSSKU will be changed to Windows2022 after Windows2019 is deprecated. Changing this forces a new resource to be created.
    OsType string
    The Operating System which should be used for this Node Pool. Changing this forces a new resource to be created. Possible values are Linux and Windows. Defaults to Linux.
    PodSubnetId string
    The ID of the Subnet where the pods in the Node Pool should exist. Changing this forces a new resource to be created.
    Priority string
    The Priority for Virtual Machines within the Virtual Machine Scale Set that powers this Node Pool. Possible values are Regular and Spot. Defaults to Regular. Changing this forces a new resource to be created.
    ProximityPlacementGroupId string

    The ID of the Proximity Placement Group where the Virtual Machine Scale Set that powers this Node Pool will be placed. Changing this forces a new resource to be created.

    Note: When setting priority to Spot - you must configure an eviction_policy, spot_max_price and add the applicable node_labels and node_taints as per the Azure Documentation.

    ScaleDownMode string
    Specifies how the node pool should deal with scaled-down nodes. Allowed values are Delete and Deallocate. Defaults to Delete.
    SnapshotId string
    The ID of the Snapshot which should be used to create this Node Pool. Changing this forces a new resource to be created.
    SpotMaxPrice float64

    The maximum price you're willing to pay in USD per Virtual Machine. Valid values are -1 (the current on-demand price for a Virtual Machine) or a positive value with up to five decimal places. Changing this forces a new resource to be created.

    Note: This field can only be configured when priority is set to Spot.

    Tags map[string]string

    A mapping of tags to assign to the resource.

    At this time there's a bug in the AKS API where Tags for a Node Pool are not stored in the correct case - you may wish to use ignoreChanges functionality to ignore changes to the casing until this is fixed in the AKS API.

    UltraSsdEnabled bool
    Used to specify whether the UltraSSD is enabled in the Node Pool. Defaults to false. See the documentation for more information. Changing this forces a new resource to be created.
    UpgradeSettings KubernetesClusterNodePoolUpgradeSettingsArgs
    A upgrade_settings block as documented below.
    VmSize string
    The SKU which should be used for the Virtual Machines used in this Node Pool. Changing this forces a new resource to be created.
    VnetSubnetId string

    The ID of the Subnet where this Node Pool should exist. Changing this forces a new resource to be created.

    NOTE: A route table must be configured on this Subnet.

    WindowsProfile KubernetesClusterNodePoolWindowsProfileArgs
    A windows_profile block as documented below. Changing this forces a new resource to be created.
    WorkloadRuntime string

    Used to specify the workload runtime. Allowed values are OCIContainer, WasmWasi and KataMshvVmIsolation.

    Note: WebAssembly System Interface node pools are in Public Preview - more information and details on how to opt into the preview can be found in this article

    Note: Pod Sandboxing / KataVM Isolation node pools are in Public Preview - more information and details on how to opt into the preview can be found in this article

    Zones []string
    Specifies a list of Availability Zones in which this Kubernetes Cluster Node Pool should be located. Changing this forces a new Kubernetes Cluster Node Pool to be created.
    capacityReservationGroupId String
    Specifies the ID of the Capacity Reservation Group where this Node Pool should exist. Changing this forces a new resource to be created.
    customCaTrustEnabled Boolean

    Specifies whether to trust a Custom CA.

    Note: This requires that the Preview Feature Microsoft.ContainerService/CustomCATrustPreview is enabled and the Resource Provider is re-registered, see the documentation for more information.

    enableAutoScaling Boolean
    Whether to enable auto-scaler.
    enableHostEncryption Boolean

    Should the nodes in this Node Pool have host encryption enabled? Changing this forces a new resource to be created.

    NOTE: Additional fields must be configured depending on the value of this field - see below.

    enableNodePublicIp Boolean
    Should each node have a Public IP Address? Changing this forces a new resource to be created.
    evictionPolicy String

    The Eviction Policy which should be used for Virtual Machines within the Virtual Machine Scale Set powering this Node Pool. Possible values are Deallocate and Delete. Changing this forces a new resource to be created.

    Note: An Eviction Policy can only be configured when priority is set to Spot and will default to Delete unless otherwise specified.

    fipsEnabled Boolean

    Should the nodes in this Node Pool have Federal Information Processing Standard enabled? Changing this forces a new resource to be created.

    Note: FIPS support is in Public Preview - more information and details on how to opt into the Preview can be found in this article.

    gpuInstance String
    Specifies the GPU MIG instance profile for supported GPU VM SKU. The allowed values are MIG1g, MIG2g, MIG3g, MIG4g and MIG7g. Changing this forces a new resource to be created.
    hostGroupId String
    The fully qualified resource ID of the Dedicated Host Group to provision virtual machines from. Changing this forces a new resource to be created.
    kubeletConfig KubernetesClusterNodePoolKubeletConfig
    A kubelet_config block as defined below. Changing this forces a new resource to be created.
    kubeletDiskType String
    The type of disk used by kubelet. Possible values are OS and Temporary.
    kubernetesClusterId String

    The ID of the Kubernetes Cluster where this Node Pool should exist. Changing this forces a new resource to be created.

    NOTE: The type of Default Node Pool for the Kubernetes Cluster must be VirtualMachineScaleSets to attach multiple node pools.

    linuxOsConfig KubernetesClusterNodePoolLinuxOsConfig
    A linux_os_config block as defined below. Changing this forces a new resource to be created.
    maxCount Integer
    The maximum number of nodes which should exist within this Node Pool. Valid values are between 0 and 1000 and must be greater than or equal to min_count.
    maxPods Integer
    The maximum number of pods that can run on each agent. Changing this forces a new resource to be created.
    messageOfTheDay String
    A base64-encoded string which will be written to /etc/motd after decoding. This allows customization of the message of the day for Linux nodes. It cannot be specified for Windows nodes and must be a static string (i.e. will be printed raw and not executed as a script). Changing this forces a new resource to be created.
    minCount Integer
    The minimum number of nodes which should exist within this Node Pool. Valid values are between 0 and 1000 and must be less than or equal to max_count.
    mode String
    Should this Node Pool be used for System or User resources? Possible values are System and User. Defaults to User.
    name String

    The name of the Node Pool which should be created within the Kubernetes Cluster. Changing this forces a new resource to be created.

    NOTE: A Windows Node Pool cannot have a name longer than 6 characters.

    nodeCount Integer
    The number of nodes which should exist within this Node Pool. Valid values are between 0 and 1000 (inclusive) for user pools and between 1 and 1000 (inclusive) for system pools.
    nodeLabels Map<String,String>
    A map of Kubernetes labels which should be applied to nodes in this Node Pool.
    nodeNetworkProfile KubernetesClusterNodePoolNodeNetworkProfile
    A node_network_profile block as documented below.
    nodePublicIpPrefixId String
    Resource ID for the Public IP Addresses Prefix for the nodes in this Node Pool. enable_node_public_ip should be true. Changing this forces a new resource to be created.
    nodeTaints List<String>
    A list of Kubernetes taints which should be applied to nodes in the agent pool (e.g key=value:NoSchedule).
    orchestratorVersion String

    Version of Kubernetes used for the Agents. If not specified, the latest recommended version will be used at provisioning time (but won't auto-upgrade). AKS does not require an exact patch version to be specified, minor version aliases such as 1.22 are also supported. - The minor version's latest GA patch is automatically chosen in that case. More details can be found in the documentation.

    Note: This version must be supported by the Kubernetes Cluster - as such the version of Kubernetes used on the Cluster/Control Plane may need to be upgraded first.

    osDiskSizeGb Integer
    The Agent Operating System disk size in GB. Changing this forces a new resource to be created.
    osDiskType String
    The type of disk which should be used for the Operating System. Possible values are Ephemeral and Managed. Defaults to Managed. Changing this forces a new resource to be created.
    osSku String
    Specifies the OS SKU used by the agent pool. Possible values are AzureLinux, Ubuntu, Windows2019 and Windows2022. If not specified, the default is Ubuntu if OSType=Linux or Windows2019 if OSType=Windows. And the default Windows OSSKU will be changed to Windows2022 after Windows2019 is deprecated. Changing this forces a new resource to be created.
    osType String
    The Operating System which should be used for this Node Pool. Changing this forces a new resource to be created. Possible values are Linux and Windows. Defaults to Linux.
    podSubnetId String
    The ID of the Subnet where the pods in the Node Pool should exist. Changing this forces a new resource to be created.
    priority String
    The Priority for Virtual Machines within the Virtual Machine Scale Set that powers this Node Pool. Possible values are Regular and Spot. Defaults to Regular. Changing this forces a new resource to be created.
    proximityPlacementGroupId String

    The ID of the Proximity Placement Group where the Virtual Machine Scale Set that powers this Node Pool will be placed. Changing this forces a new resource to be created.

    Note: When setting priority to Spot - you must configure an eviction_policy, spot_max_price and add the applicable node_labels and node_taints as per the Azure Documentation.

    scaleDownMode String
    Specifies how the node pool should deal with scaled-down nodes. Allowed values are Delete and Deallocate. Defaults to Delete.
    snapshotId String
    The ID of the Snapshot which should be used to create this Node Pool. Changing this forces a new resource to be created.
    spotMaxPrice Double

    The maximum price you're willing to pay in USD per Virtual Machine. Valid values are -1 (the current on-demand price for a Virtual Machine) or a positive value with up to five decimal places. Changing this forces a new resource to be created.

    Note: This field can only be configured when priority is set to Spot.

    tags Map<String,String>

    A mapping of tags to assign to the resource.

    At this time there's a bug in the AKS API where Tags for a Node Pool are not stored in the correct case - you may wish to use ignoreChanges functionality to ignore changes to the casing until this is fixed in the AKS API.

    ultraSsdEnabled Boolean
    Used to specify whether the UltraSSD is enabled in the Node Pool. Defaults to false. See the documentation for more information. Changing this forces a new resource to be created.
    upgradeSettings KubernetesClusterNodePoolUpgradeSettings
    A upgrade_settings block as documented below.
    vmSize String
    The SKU which should be used for the Virtual Machines used in this Node Pool. Changing this forces a new resource to be created.
    vnetSubnetId String

    The ID of the Subnet where this Node Pool should exist. Changing this forces a new resource to be created.

    NOTE: A route table must be configured on this Subnet.

    windowsProfile KubernetesClusterNodePoolWindowsProfile
    A windows_profile block as documented below. Changing this forces a new resource to be created.
    workloadRuntime String

    Used to specify the workload runtime. Allowed values are OCIContainer, WasmWasi and KataMshvVmIsolation.

    Note: WebAssembly System Interface node pools are in Public Preview - more information and details on how to opt into the preview can be found in this article

    Note: Pod Sandboxing / KataVM Isolation node pools are in Public Preview - more information and details on how to opt into the preview can be found in this article

    zones List<String>
    Specifies a list of Availability Zones in which this Kubernetes Cluster Node Pool should be located. Changing this forces a new Kubernetes Cluster Node Pool to be created.
    capacityReservationGroupId string
    Specifies the ID of the Capacity Reservation Group where this Node Pool should exist. Changing this forces a new resource to be created.
    customCaTrustEnabled boolean

    Specifies whether to trust a Custom CA.

    Note: This requires that the Preview Feature Microsoft.ContainerService/CustomCATrustPreview is enabled and the Resource Provider is re-registered, see the documentation for more information.

    enableAutoScaling boolean
    Whether to enable auto-scaler.
    enableHostEncryption boolean

    Should the nodes in this Node Pool have host encryption enabled? Changing this forces a new resource to be created.

    NOTE: Additional fields must be configured depending on the value of this field - see below.

    enableNodePublicIp boolean
    Should each node have a Public IP Address? Changing this forces a new resource to be created.
    evictionPolicy string

    The Eviction Policy which should be used for Virtual Machines within the Virtual Machine Scale Set powering this Node Pool. Possible values are Deallocate and Delete. Changing this forces a new resource to be created.

    Note: An Eviction Policy can only be configured when priority is set to Spot and will default to Delete unless otherwise specified.

    fipsEnabled boolean

    Should the nodes in this Node Pool have Federal Information Processing Standard enabled? Changing this forces a new resource to be created.

    Note: FIPS support is in Public Preview - more information and details on how to opt into the Preview can be found in this article.

    gpuInstance string
    Specifies the GPU MIG instance profile for supported GPU VM SKU. The allowed values are MIG1g, MIG2g, MIG3g, MIG4g and MIG7g. Changing this forces a new resource to be created.
    hostGroupId string
    The fully qualified resource ID of the Dedicated Host Group to provision virtual machines from. Changing this forces a new resource to be created.
    kubeletConfig KubernetesClusterNodePoolKubeletConfig
    A kubelet_config block as defined below. Changing this forces a new resource to be created.
    kubeletDiskType string
    The type of disk used by kubelet. Possible values are OS and Temporary.
    kubernetesClusterId string

    The ID of the Kubernetes Cluster where this Node Pool should exist. Changing this forces a new resource to be created.

    NOTE: The type of Default Node Pool for the Kubernetes Cluster must be VirtualMachineScaleSets to attach multiple node pools.

    linuxOsConfig KubernetesClusterNodePoolLinuxOsConfig
    A linux_os_config block as defined below. Changing this forces a new resource to be created.
    maxCount number
    The maximum number of nodes which should exist within this Node Pool. Valid values are between 0 and 1000 and must be greater than or equal to min_count.
    maxPods number
    The maximum number of pods that can run on each agent. Changing this forces a new resource to be created.
    messageOfTheDay string
    A base64-encoded string which will be written to /etc/motd after decoding. This allows customization of the message of the day for Linux nodes. It cannot be specified for Windows nodes and must be a static string (i.e. will be printed raw and not executed as a script). Changing this forces a new resource to be created.
    minCount number
    The minimum number of nodes which should exist within this Node Pool. Valid values are between 0 and 1000 and must be less than or equal to max_count.
    mode string
    Should this Node Pool be used for System or User resources? Possible values are System and User. Defaults to User.
    name string

    The name of the Node Pool which should be created within the Kubernetes Cluster. Changing this forces a new resource to be created.

    NOTE: A Windows Node Pool cannot have a name longer than 6 characters.

    nodeCount number
    The number of nodes which should exist within this Node Pool. Valid values are between 0 and 1000 (inclusive) for user pools and between 1 and 1000 (inclusive) for system pools.
    nodeLabels {[key: string]: string}
    A map of Kubernetes labels which should be applied to nodes in this Node Pool.
    nodeNetworkProfile KubernetesClusterNodePoolNodeNetworkProfile
    A node_network_profile block as documented below.
    nodePublicIpPrefixId string
    Resource ID for the Public IP Addresses Prefix for the nodes in this Node Pool. enable_node_public_ip should be true. Changing this forces a new resource to be created.
    nodeTaints string[]
    A list of Kubernetes taints which should be applied to nodes in the agent pool (e.g key=value:NoSchedule).
    orchestratorVersion string

    Version of Kubernetes used for the Agents. If not specified, the latest recommended version will be used at provisioning time (but won't auto-upgrade). AKS does not require an exact patch version to be specified, minor version aliases such as 1.22 are also supported. - The minor version's latest GA patch is automatically chosen in that case. More details can be found in the documentation.

    Note: This version must be supported by the Kubernetes Cluster - as such the version of Kubernetes used on the Cluster/Control Plane may need to be upgraded first.

    osDiskSizeGb number
    The Agent Operating System disk size in GB. Changing this forces a new resource to be created.
    osDiskType string
    The type of disk which should be used for the Operating System. Possible values are Ephemeral and Managed. Defaults to Managed. Changing this forces a new resource to be created.
    osSku string
    Specifies the OS SKU used by the agent pool. Possible values are AzureLinux, Ubuntu, Windows2019 and Windows2022. If not specified, the default is Ubuntu if OSType=Linux or Windows2019 if OSType=Windows. And the default Windows OSSKU will be changed to Windows2022 after Windows2019 is deprecated. Changing this forces a new resource to be created.
    osType string
    The Operating System which should be used for this Node Pool. Changing this forces a new resource to be created. Possible values are Linux and Windows. Defaults to Linux.
    podSubnetId string
    The ID of the Subnet where the pods in the Node Pool should exist. Changing this forces a new resource to be created.
    priority string
    The Priority for Virtual Machines within the Virtual Machine Scale Set that powers this Node Pool. Possible values are Regular and Spot. Defaults to Regular. Changing this forces a new resource to be created.
    proximityPlacementGroupId string

    The ID of the Proximity Placement Group where the Virtual Machine Scale Set that powers this Node Pool will be placed. Changing this forces a new resource to be created.

    Note: When setting priority to Spot - you must configure an eviction_policy, spot_max_price and add the applicable node_labels and node_taints as per the Azure Documentation.

    scaleDownMode string
    Specifies how the node pool should deal with scaled-down nodes. Allowed values are Delete and Deallocate. Defaults to Delete.
    snapshotId string
    The ID of the Snapshot which should be used to create this Node Pool. Changing this forces a new resource to be created.
    spotMaxPrice number

    The maximum price you're willing to pay in USD per Virtual Machine. Valid values are -1 (the current on-demand price for a Virtual Machine) or a positive value with up to five decimal places. Changing this forces a new resource to be created.

    Note: This field can only be configured when priority is set to Spot.

    tags {[key: string]: string}

    A mapping of tags to assign to the resource.

    At this time there's a bug in the AKS API where Tags for a Node Pool are not stored in the correct case - you may wish to use ignoreChanges functionality to ignore changes to the casing until this is fixed in the AKS API.

    ultraSsdEnabled boolean
    Used to specify whether the UltraSSD is enabled in the Node Pool. Defaults to false. See the documentation for more information. Changing this forces a new resource to be created.
    upgradeSettings KubernetesClusterNodePoolUpgradeSettings
    A upgrade_settings block as documented below.
    vmSize string
    The SKU which should be used for the Virtual Machines used in this Node Pool. Changing this forces a new resource to be created.
    vnetSubnetId string

    The ID of the Subnet where this Node Pool should exist. Changing this forces a new resource to be created.

    NOTE: A route table must be configured on this Subnet.

    windowsProfile KubernetesClusterNodePoolWindowsProfile
    A windows_profile block as documented below. Changing this forces a new resource to be created.
    workloadRuntime string

    Used to specify the workload runtime. Allowed values are OCIContainer, WasmWasi and KataMshvVmIsolation.

    Note: WebAssembly System Interface node pools are in Public Preview - more information and details on how to opt into the preview can be found in this article

    Note: Pod Sandboxing / KataVM Isolation node pools are in Public Preview - more information and details on how to opt into the preview can be found in this article

    zones string[]
    Specifies a list of Availability Zones in which this Kubernetes Cluster Node Pool should be located. Changing this forces a new Kubernetes Cluster Node Pool to be created.
    capacity_reservation_group_id str
    Specifies the ID of the Capacity Reservation Group where this Node Pool should exist. Changing this forces a new resource to be created.
    custom_ca_trust_enabled bool

    Specifies whether to trust a Custom CA.

    Note: This requires that the Preview Feature Microsoft.ContainerService/CustomCATrustPreview is enabled and the Resource Provider is re-registered, see the documentation for more information.

    enable_auto_scaling bool
    Whether to enable auto-scaler.
    enable_host_encryption bool

    Should the nodes in this Node Pool have host encryption enabled? Changing this forces a new resource to be created.

    NOTE: Additional fields must be configured depending on the value of this field - see below.

    enable_node_public_ip bool
    Should each node have a Public IP Address? Changing this forces a new resource to be created.
    eviction_policy str

    The Eviction Policy which should be used for Virtual Machines within the Virtual Machine Scale Set powering this Node Pool. Possible values are Deallocate and Delete. Changing this forces a new resource to be created.

    Note: An Eviction Policy can only be configured when priority is set to Spot and will default to Delete unless otherwise specified.

    fips_enabled bool

    Should the nodes in this Node Pool have Federal Information Processing Standard enabled? Changing this forces a new resource to be created.

    Note: FIPS support is in Public Preview - more information and details on how to opt into the Preview can be found in this article.

    gpu_instance str
    Specifies the GPU MIG instance profile for supported GPU VM SKU. The allowed values are MIG1g, MIG2g, MIG3g, MIG4g and MIG7g. Changing this forces a new resource to be created.
    host_group_id str
    The fully qualified resource ID of the Dedicated Host Group to provision virtual machines from. Changing this forces a new resource to be created.
    kubelet_config KubernetesClusterNodePoolKubeletConfigArgs
    A kubelet_config block as defined below. Changing this forces a new resource to be created.
    kubelet_disk_type str
    The type of disk used by kubelet. Possible values are OS and Temporary.
    kubernetes_cluster_id str

    The ID of the Kubernetes Cluster where this Node Pool should exist. Changing this forces a new resource to be created.

    NOTE: The type of Default Node Pool for the Kubernetes Cluster must be VirtualMachineScaleSets to attach multiple node pools.

    linux_os_config KubernetesClusterNodePoolLinuxOsConfigArgs
    A linux_os_config block as defined below. Changing this forces a new resource to be created.
    max_count int
    The maximum number of nodes which should exist within this Node Pool. Valid values are between 0 and 1000 and must be greater than or equal to min_count.
    max_pods int
    The maximum number of pods that can run on each agent. Changing this forces a new resource to be created.
    message_of_the_day str
    A base64-encoded string which will be written to /etc/motd after decoding. This allows customization of the message of the day for Linux nodes. It cannot be specified for Windows nodes and must be a static string (i.e. will be printed raw and not executed as a script). Changing this forces a new resource to be created.
    min_count int
    The minimum number of nodes which should exist within this Node Pool. Valid values are between 0 and 1000 and must be less than or equal to max_count.
    mode str
    Should this Node Pool be used for System or User resources? Possible values are System and User. Defaults to User.
    name str

    The name of the Node Pool which should be created within the Kubernetes Cluster. Changing this forces a new resource to be created.

    NOTE: A Windows Node Pool cannot have a name longer than 6 characters.

    node_count int
    The number of nodes which should exist within this Node Pool. Valid values are between 0 and 1000 (inclusive) for user pools and between 1 and 1000 (inclusive) for system pools.
    node_labels Mapping[str, str]
    A map of Kubernetes labels which should be applied to nodes in this Node Pool.
    node_network_profile KubernetesClusterNodePoolNodeNetworkProfileArgs
    A node_network_profile block as documented below.
    node_public_ip_prefix_id str
    Resource ID for the Public IP Addresses Prefix for the nodes in this Node Pool. enable_node_public_ip should be true. Changing this forces a new resource to be created.
    node_taints Sequence[str]
    A list of Kubernetes taints which should be applied to nodes in the agent pool (e.g key=value:NoSchedule).
    orchestrator_version str

    Version of Kubernetes used for the Agents. If not specified, the latest recommended version will be used at provisioning time (but won't auto-upgrade). AKS does not require an exact patch version to be specified, minor version aliases such as 1.22 are also supported. - The minor version's latest GA patch is automatically chosen in that case. More details can be found in the documentation.

    Note: This version must be supported by the Kubernetes Cluster - as such the version of Kubernetes used on the Cluster/Control Plane may need to be upgraded first.

    os_disk_size_gb int
    The Agent Operating System disk size in GB. Changing this forces a new resource to be created.
    os_disk_type str
    The type of disk which should be used for the Operating System. Possible values are Ephemeral and Managed. Defaults to Managed. Changing this forces a new resource to be created.
    os_sku str
    Specifies the OS SKU used by the agent pool. Possible values are AzureLinux, Ubuntu, Windows2019 and Windows2022. If not specified, the default is Ubuntu if OSType=Linux or Windows2019 if OSType=Windows. And the default Windows OSSKU will be changed to Windows2022 after Windows2019 is deprecated. Changing this forces a new resource to be created.
    os_type str
    The Operating System which should be used for this Node Pool. Changing this forces a new resource to be created. Possible values are Linux and Windows. Defaults to Linux.
    pod_subnet_id str
    The ID of the Subnet where the pods in the Node Pool should exist. Changing this forces a new resource to be created.
    priority str
    The Priority for Virtual Machines within the Virtual Machine Scale Set that powers this Node Pool. Possible values are Regular and Spot. Defaults to Regular. Changing this forces a new resource to be created.
    proximity_placement_group_id str

    The ID of the Proximity Placement Group where the Virtual Machine Scale Set that powers this Node Pool will be placed. Changing this forces a new resource to be created.

    Note: When setting priority to Spot - you must configure an eviction_policy, spot_max_price and add the applicable node_labels and node_taints as per the Azure Documentation.

    scale_down_mode str
    Specifies how the node pool should deal with scaled-down nodes. Allowed values are Delete and Deallocate. Defaults to Delete.
    snapshot_id str
    The ID of the Snapshot which should be used to create this Node Pool. Changing this forces a new resource to be created.
    spot_max_price float

    The maximum price you're willing to pay in USD per Virtual Machine. Valid values are -1 (the current on-demand price for a Virtual Machine) or a positive value with up to five decimal places. Changing this forces a new resource to be created.

    Note: This field can only be configured when priority is set to Spot.

    tags Mapping[str, str]

    A mapping of tags to assign to the resource.

    At this time there's a bug in the AKS API where Tags for a Node Pool are not stored in the correct case - you may wish to use ignoreChanges functionality to ignore changes to the casing until this is fixed in the AKS API.

    ultra_ssd_enabled bool
    Used to specify whether the UltraSSD is enabled in the Node Pool. Defaults to false. See the documentation for more information. Changing this forces a new resource to be created.
    upgrade_settings KubernetesClusterNodePoolUpgradeSettingsArgs
    A upgrade_settings block as documented below.
    vm_size str
    The SKU which should be used for the Virtual Machines used in this Node Pool. Changing this forces a new resource to be created.
    vnet_subnet_id str

    The ID of the Subnet where this Node Pool should exist. Changing this forces a new resource to be created.

    NOTE: A route table must be configured on this Subnet.

    windows_profile KubernetesClusterNodePoolWindowsProfileArgs
    A windows_profile block as documented below. Changing this forces a new resource to be created.
    workload_runtime str

    Used to specify the workload runtime. Allowed values are OCIContainer, WasmWasi and KataMshvVmIsolation.

    Note: WebAssembly System Interface node pools are in Public Preview - more information and details on how to opt into the preview can be found in this article

    Note: Pod Sandboxing / KataVM Isolation node pools are in Public Preview - more information and details on how to opt into the preview can be found in this article

    zones Sequence[str]
    Specifies a list of Availability Zones in which this Kubernetes Cluster Node Pool should be located. Changing this forces a new Kubernetes Cluster Node Pool to be created.
    capacityReservationGroupId String
    Specifies the ID of the Capacity Reservation Group where this Node Pool should exist. Changing this forces a new resource to be created.
    customCaTrustEnabled Boolean

    Specifies whether to trust a Custom CA.

    Note: This requires that the Preview Feature Microsoft.ContainerService/CustomCATrustPreview is enabled and the Resource Provider is re-registered, see the documentation for more information.

    enableAutoScaling Boolean
    Whether to enable auto-scaler.
    enableHostEncryption Boolean

    Should the nodes in this Node Pool have host encryption enabled? Changing this forces a new resource to be created.

    NOTE: Additional fields must be configured depending on the value of this field - see below.

    enableNodePublicIp Boolean
    Should each node have a Public IP Address? Changing this forces a new resource to be created.
    evictionPolicy String

    The Eviction Policy which should be used for Virtual Machines within the Virtual Machine Scale Set powering this Node Pool. Possible values are Deallocate and Delete. Changing this forces a new resource to be created.

    Note: An Eviction Policy can only be configured when priority is set to Spot and will default to Delete unless otherwise specified.

    fipsEnabled Boolean

    Should the nodes in this Node Pool have Federal Information Processing Standard enabled? Changing this forces a new resource to be created.

    Note: FIPS support is in Public Preview - more information and details on how to opt into the Preview can be found in this article.

    gpuInstance String
    Specifies the GPU MIG instance profile for supported GPU VM SKU. The allowed values are MIG1g, MIG2g, MIG3g, MIG4g and MIG7g. Changing this forces a new resource to be created.
    hostGroupId String
    The fully qualified resource ID of the Dedicated Host Group to provision virtual machines from. Changing this forces a new resource to be created.
    kubeletConfig Property Map
    A kubelet_config block as defined below. Changing this forces a new resource to be created.
    kubeletDiskType String
    The type of disk used by kubelet. Possible values are OS and Temporary.
    kubernetesClusterId String

    The ID of the Kubernetes Cluster where this Node Pool should exist. Changing this forces a new resource to be created.

    NOTE: The type of Default Node Pool for the Kubernetes Cluster must be VirtualMachineScaleSets to attach multiple node pools.

    linuxOsConfig Property Map
    A linux_os_config block as defined below. Changing this forces a new resource to be created.
    maxCount Number
    The maximum number of nodes which should exist within this Node Pool. Valid values are between 0 and 1000 and must be greater than or equal to min_count.
    maxPods Number
    The maximum number of pods that can run on each agent. Changing this forces a new resource to be created.
    messageOfTheDay String
    A base64-encoded string which will be written to /etc/motd after decoding. This allows customization of the message of the day for Linux nodes. It cannot be specified for Windows nodes and must be a static string (i.e. will be printed raw and not executed as a script). Changing this forces a new resource to be created.
    minCount Number
    The minimum number of nodes which should exist within this Node Pool. Valid values are between 0 and 1000 and must be less than or equal to max_count.
    mode String
    Should this Node Pool be used for System or User resources? Possible values are System and User. Defaults to User.
    name String

    The name of the Node Pool which should be created within the Kubernetes Cluster. Changing this forces a new resource to be created.

    NOTE: A Windows Node Pool cannot have a name longer than 6 characters.

    nodeCount Number
    The number of nodes which should exist within this Node Pool. Valid values are between 0 and 1000 (inclusive) for user pools and between 1 and 1000 (inclusive) for system pools.
    nodeLabels Map<String>
    A map of Kubernetes labels which should be applied to nodes in this Node Pool.
    nodeNetworkProfile Property Map
    A node_network_profile block as documented below.
    nodePublicIpPrefixId String
    Resource ID for the Public IP Addresses Prefix for the nodes in this Node Pool. enable_node_public_ip should be true. Changing this forces a new resource to be created.
    nodeTaints List<String>
    A list of Kubernetes taints which should be applied to nodes in the agent pool (e.g key=value:NoSchedule).
    orchestratorVersion String

    Version of Kubernetes used for the Agents. If not specified, the latest recommended version will be used at provisioning time (but won't auto-upgrade). AKS does not require an exact patch version to be specified, minor version aliases such as 1.22 are also supported. - The minor version's latest GA patch is automatically chosen in that case. More details can be found in the documentation.

    Note: This version must be supported by the Kubernetes Cluster - as such the version of Kubernetes used on the Cluster/Control Plane may need to be upgraded first.

    osDiskSizeGb Number
    The Agent Operating System disk size in GB. Changing this forces a new resource to be created.
    osDiskType String
    The type of disk which should be used for the Operating System. Possible values are Ephemeral and Managed. Defaults to Managed. Changing this forces a new resource to be created.
    osSku String
    Specifies the OS SKU used by the agent pool. Possible values are AzureLinux, Ubuntu, Windows2019 and Windows2022. If not specified, the default is Ubuntu if OSType=Linux or Windows2019 if OSType=Windows. And the default Windows OSSKU will be changed to Windows2022 after Windows2019 is deprecated. Changing this forces a new resource to be created.
    osType String
    The Operating System which should be used for this Node Pool. Changing this forces a new resource to be created. Possible values are Linux and Windows. Defaults to Linux.
    podSubnetId String
    The ID of the Subnet where the pods in the Node Pool should exist. Changing this forces a new resource to be created.
    priority String
    The Priority for Virtual Machines within the Virtual Machine Scale Set that powers this Node Pool. Possible values are Regular and Spot. Defaults to Regular. Changing this forces a new resource to be created.
    proximityPlacementGroupId String

    The ID of the Proximity Placement Group where the Virtual Machine Scale Set that powers this Node Pool will be placed. Changing this forces a new resource to be created.

    Note: When setting priority to Spot - you must configure an eviction_policy, spot_max_price and add the applicable node_labels and node_taints as per the Azure Documentation.

    scaleDownMode String
    Specifies how the node pool should deal with scaled-down nodes. Allowed values are Delete and Deallocate. Defaults to Delete.
    snapshotId String
    The ID of the Snapshot which should be used to create this Node Pool. Changing this forces a new resource to be created.
    spotMaxPrice Number

    The maximum price you're willing to pay in USD per Virtual Machine. Valid values are -1 (the current on-demand price for a Virtual Machine) or a positive value with up to five decimal places. Changing this forces a new resource to be created.

    Note: This field can only be configured when priority is set to Spot.

    tags Map<String>

    A mapping of tags to assign to the resource.

    At this time there's a bug in the AKS API where Tags for a Node Pool are not stored in the correct case - you may wish to use ignoreChanges functionality to ignore changes to the casing until this is fixed in the AKS API.

    ultraSsdEnabled Boolean
    Used to specify whether the UltraSSD is enabled in the Node Pool. Defaults to false. See the documentation for more information. Changing this forces a new resource to be created.
    upgradeSettings Property Map
    A upgrade_settings block as documented below.
    vmSize String
    The SKU which should be used for the Virtual Machines used in this Node Pool. Changing this forces a new resource to be created.
    vnetSubnetId String

    The ID of the Subnet where this Node Pool should exist. Changing this forces a new resource to be created.

    NOTE: A route table must be configured on this Subnet.

    windowsProfile Property Map
    A windows_profile block as documented below. Changing this forces a new resource to be created.
    workloadRuntime String

    Used to specify the workload runtime. Allowed values are OCIContainer, WasmWasi and KataMshvVmIsolation.

    Note: WebAssembly System Interface node pools are in Public Preview - more information and details on how to opt into the preview can be found in this article

    Note: Pod Sandboxing / KataVM Isolation node pools are in Public Preview - more information and details on how to opt into the preview can be found in this article

    zones List<String>
    Specifies a list of Availability Zones in which this Kubernetes Cluster Node Pool should be located. Changing this forces a new Kubernetes Cluster Node Pool to be created.

    Supporting Types

    KubernetesClusterNodePoolKubeletConfig, KubernetesClusterNodePoolKubeletConfigArgs

    AllowedUnsafeSysctls List<string>
    Specifies the allow list of unsafe sysctls command or patterns (ending in *). Changing this forces a new resource to be created.
    ContainerLogMaxLine int
    Specifies the maximum number of container log files that can be present for a container. must be at least 2. Changing this forces a new resource to be created.
    ContainerLogMaxSizeMb int
    Specifies the maximum size (e.g. 10MB) of container log file before it is rotated. Changing this forces a new resource to be created.
    CpuCfsQuotaEnabled bool
    Is CPU CFS quota enforcement for containers enabled? Changing this forces a new resource to be created.
    CpuCfsQuotaPeriod string
    Specifies the CPU CFS quota period value. Changing this forces a new resource to be created.
    CpuManagerPolicy string
    Specifies the CPU Manager policy to use. Possible values are none and static, Changing this forces a new resource to be created.
    ImageGcHighThreshold int
    Specifies the percent of disk usage above which image garbage collection is always run. Must be between 0 and 100. Changing this forces a new resource to be created.
    ImageGcLowThreshold int
    Specifies the percent of disk usage lower than which image garbage collection is never run. Must be between 0 and 100. Changing this forces a new resource to be created.
    PodMaxPid int
    Specifies the maximum number of processes per pod. Changing this forces a new resource to be created.
    TopologyManagerPolicy string
    Specifies the Topology Manager policy to use. Possible values are none, best-effort, restricted or single-numa-node. Changing this forces a new resource to be created.
    AllowedUnsafeSysctls []string
    Specifies the allow list of unsafe sysctls command or patterns (ending in *). Changing this forces a new resource to be created.
    ContainerLogMaxLine int
    Specifies the maximum number of container log files that can be present for a container. must be at least 2. Changing this forces a new resource to be created.
    ContainerLogMaxSizeMb int
    Specifies the maximum size (e.g. 10MB) of container log file before it is rotated. Changing this forces a new resource to be created.
    CpuCfsQuotaEnabled bool
    Is CPU CFS quota enforcement for containers enabled? Changing this forces a new resource to be created.
    CpuCfsQuotaPeriod string
    Specifies the CPU CFS quota period value. Changing this forces a new resource to be created.
    CpuManagerPolicy string
    Specifies the CPU Manager policy to use. Possible values are none and static, Changing this forces a new resource to be created.
    ImageGcHighThreshold int
    Specifies the percent of disk usage above which image garbage collection is always run. Must be between 0 and 100. Changing this forces a new resource to be created.
    ImageGcLowThreshold int
    Specifies the percent of disk usage lower than which image garbage collection is never run. Must be between 0 and 100. Changing this forces a new resource to be created.
    PodMaxPid int
    Specifies the maximum number of processes per pod. Changing this forces a new resource to be created.
    TopologyManagerPolicy string
    Specifies the Topology Manager policy to use. Possible values are none, best-effort, restricted or single-numa-node. Changing this forces a new resource to be created.
    allowedUnsafeSysctls List<String>
    Specifies the allow list of unsafe sysctls command or patterns (ending in *). Changing this forces a new resource to be created.
    containerLogMaxLine Integer
    Specifies the maximum number of container log files that can be present for a container. must be at least 2. Changing this forces a new resource to be created.
    containerLogMaxSizeMb Integer
    Specifies the maximum size (e.g. 10MB) of container log file before it is rotated. Changing this forces a new resource to be created.
    cpuCfsQuotaEnabled Boolean
    Is CPU CFS quota enforcement for containers enabled? Changing this forces a new resource to be created.
    cpuCfsQuotaPeriod String
    Specifies the CPU CFS quota period value. Changing this forces a new resource to be created.
    cpuManagerPolicy String
    Specifies the CPU Manager policy to use. Possible values are none and static, Changing this forces a new resource to be created.
    imageGcHighThreshold Integer
    Specifies the percent of disk usage above which image garbage collection is always run. Must be between 0 and 100. Changing this forces a new resource to be created.
    imageGcLowThreshold Integer
    Specifies the percent of disk usage lower than which image garbage collection is never run. Must be between 0 and 100. Changing this forces a new resource to be created.
    podMaxPid Integer
    Specifies the maximum number of processes per pod. Changing this forces a new resource to be created.
    topologyManagerPolicy String
    Specifies the Topology Manager policy to use. Possible values are none, best-effort, restricted or single-numa-node. Changing this forces a new resource to be created.
    allowedUnsafeSysctls string[]
    Specifies the allow list of unsafe sysctls command or patterns (ending in *). Changing this forces a new resource to be created.
    containerLogMaxLine number
    Specifies the maximum number of container log files that can be present for a container. must be at least 2. Changing this forces a new resource to be created.
    containerLogMaxSizeMb number
    Specifies the maximum size (e.g. 10MB) of container log file before it is rotated. Changing this forces a new resource to be created.
    cpuCfsQuotaEnabled boolean
    Is CPU CFS quota enforcement for containers enabled? Changing this forces a new resource to be created.
    cpuCfsQuotaPeriod string
    Specifies the CPU CFS quota period value. Changing this forces a new resource to be created.
    cpuManagerPolicy string
    Specifies the CPU Manager policy to use. Possible values are none and static, Changing this forces a new resource to be created.
    imageGcHighThreshold number
    Specifies the percent of disk usage above which image garbage collection is always run. Must be between 0 and 100. Changing this forces a new resource to be created.
    imageGcLowThreshold number
    Specifies the percent of disk usage lower than which image garbage collection is never run. Must be between 0 and 100. Changing this forces a new resource to be created.
    podMaxPid number
    Specifies the maximum number of processes per pod. Changing this forces a new resource to be created.
    topologyManagerPolicy string
    Specifies the Topology Manager policy to use. Possible values are none, best-effort, restricted or single-numa-node. Changing this forces a new resource to be created.
    allowed_unsafe_sysctls Sequence[str]
    Specifies the allow list of unsafe sysctls command or patterns (ending in *). Changing this forces a new resource to be created.
    container_log_max_line int
    Specifies the maximum number of container log files that can be present for a container. must be at least 2. Changing this forces a new resource to be created.
    container_log_max_size_mb int
    Specifies the maximum size (e.g. 10MB) of container log file before it is rotated. Changing this forces a new resource to be created.
    cpu_cfs_quota_enabled bool
    Is CPU CFS quota enforcement for containers enabled? Changing this forces a new resource to be created.
    cpu_cfs_quota_period str
    Specifies the CPU CFS quota period value. Changing this forces a new resource to be created.
    cpu_manager_policy str
    Specifies the CPU Manager policy to use. Possible values are none and static, Changing this forces a new resource to be created.
    image_gc_high_threshold int
    Specifies the percent of disk usage above which image garbage collection is always run. Must be between 0 and 100. Changing this forces a new resource to be created.
    image_gc_low_threshold int
    Specifies the percent of disk usage lower than which image garbage collection is never run. Must be between 0 and 100. Changing this forces a new resource to be created.
    pod_max_pid int
    Specifies the maximum number of processes per pod. Changing this forces a new resource to be created.
    topology_manager_policy str
    Specifies the Topology Manager policy to use. Possible values are none, best-effort, restricted or single-numa-node. Changing this forces a new resource to be created.
    allowedUnsafeSysctls List<String>
    Specifies the allow list of unsafe sysctls command or patterns (ending in *). Changing this forces a new resource to be created.
    containerLogMaxLine Number
    Specifies the maximum number of container log files that can be present for a container. must be at least 2. Changing this forces a new resource to be created.
    containerLogMaxSizeMb Number
    Specifies the maximum size (e.g. 10MB) of container log file before it is rotated. Changing this forces a new resource to be created.
    cpuCfsQuotaEnabled Boolean
    Is CPU CFS quota enforcement for containers enabled? Changing this forces a new resource to be created.
    cpuCfsQuotaPeriod String
    Specifies the CPU CFS quota period value. Changing this forces a new resource to be created.
    cpuManagerPolicy String
    Specifies the CPU Manager policy to use. Possible values are none and static, Changing this forces a new resource to be created.
    imageGcHighThreshold Number
    Specifies the percent of disk usage above which image garbage collection is always run. Must be between 0 and 100. Changing this forces a new resource to be created.
    imageGcLowThreshold Number
    Specifies the percent of disk usage lower than which image garbage collection is never run. Must be between 0 and 100. Changing this forces a new resource to be created.
    podMaxPid Number
    Specifies the maximum number of processes per pod. Changing this forces a new resource to be created.
    topologyManagerPolicy String
    Specifies the Topology Manager policy to use. Possible values are none, best-effort, restricted or single-numa-node. Changing this forces a new resource to be created.

    KubernetesClusterNodePoolLinuxOsConfig, KubernetesClusterNodePoolLinuxOsConfigArgs

    SwapFileSizeMb int
    Specifies the size of swap file on each node in MB. Changing this forces a new resource to be created.
    SysctlConfig KubernetesClusterNodePoolLinuxOsConfigSysctlConfig
    A sysctl_config block as defined below. Changing this forces a new resource to be created.
    TransparentHugePageDefrag string
    specifies the defrag configuration for Transparent Huge Page. Possible values are always, defer, defer+madvise, madvise and never. Changing this forces a new resource to be created.
    TransparentHugePageEnabled string
    Specifies the Transparent Huge Page enabled configuration. Possible values are always, madvise and never. Changing this forces a new resource to be created.
    SwapFileSizeMb int
    Specifies the size of swap file on each node in MB. Changing this forces a new resource to be created.
    SysctlConfig KubernetesClusterNodePoolLinuxOsConfigSysctlConfig
    A sysctl_config block as defined below. Changing this forces a new resource to be created.
    TransparentHugePageDefrag string
    specifies the defrag configuration for Transparent Huge Page. Possible values are always, defer, defer+madvise, madvise and never. Changing this forces a new resource to be created.
    TransparentHugePageEnabled string
    Specifies the Transparent Huge Page enabled configuration. Possible values are always, madvise and never. Changing this forces a new resource to be created.
    swapFileSizeMb Integer
    Specifies the size of swap file on each node in MB. Changing this forces a new resource to be created.
    sysctlConfig KubernetesClusterNodePoolLinuxOsConfigSysctlConfig
    A sysctl_config block as defined below. Changing this forces a new resource to be created.
    transparentHugePageDefrag String
    specifies the defrag configuration for Transparent Huge Page. Possible values are always, defer, defer+madvise, madvise and never. Changing this forces a new resource to be created.
    transparentHugePageEnabled String
    Specifies the Transparent Huge Page enabled configuration. Possible values are always, madvise and never. Changing this forces a new resource to be created.
    swapFileSizeMb number
    Specifies the size of swap file on each node in MB. Changing this forces a new resource to be created.
    sysctlConfig KubernetesClusterNodePoolLinuxOsConfigSysctlConfig
    A sysctl_config block as defined below. Changing this forces a new resource to be created.
    transparentHugePageDefrag string
    specifies the defrag configuration for Transparent Huge Page. Possible values are always, defer, defer+madvise, madvise and never. Changing this forces a new resource to be created.
    transparentHugePageEnabled string
    Specifies the Transparent Huge Page enabled configuration. Possible values are always, madvise and never. Changing this forces a new resource to be created.
    swap_file_size_mb int
    Specifies the size of swap file on each node in MB. Changing this forces a new resource to be created.
    sysctl_config KubernetesClusterNodePoolLinuxOsConfigSysctlConfig
    A sysctl_config block as defined below. Changing this forces a new resource to be created.
    transparent_huge_page_defrag str
    specifies the defrag configuration for Transparent Huge Page. Possible values are always, defer, defer+madvise, madvise and never. Changing this forces a new resource to be created.
    transparent_huge_page_enabled str
    Specifies the Transparent Huge Page enabled configuration. Possible values are always, madvise and never. Changing this forces a new resource to be created.
    swapFileSizeMb Number
    Specifies the size of swap file on each node in MB. Changing this forces a new resource to be created.
    sysctlConfig Property Map
    A sysctl_config block as defined below. Changing this forces a new resource to be created.
    transparentHugePageDefrag String
    specifies the defrag configuration for Transparent Huge Page. Possible values are always, defer, defer+madvise, madvise and never. Changing this forces a new resource to be created.
    transparentHugePageEnabled String
    Specifies the Transparent Huge Page enabled configuration. Possible values are always, madvise and never. Changing this forces a new resource to be created.

    KubernetesClusterNodePoolLinuxOsConfigSysctlConfig, KubernetesClusterNodePoolLinuxOsConfigSysctlConfigArgs

    FsAioMaxNr int
    The sysctl setting fs.aio-max-nr. Must be between 65536 and 6553500. Changing this forces a new resource to be created.
    FsFileMax int
    The sysctl setting fs.file-max. Must be between 8192 and 12000500. Changing this forces a new resource to be created.
    FsInotifyMaxUserWatches int
    The sysctl setting fs.inotify.max_user_watches. Must be between 781250 and 2097152. Changing this forces a new resource to be created.
    FsNrOpen int
    The sysctl setting fs.nr_open. Must be between 8192 and 20000500. Changing this forces a new resource to be created.
    KernelThreadsMax int
    The sysctl setting kernel.threads-max. Must be between 20 and 513785. Changing this forces a new resource to be created.
    NetCoreNetdevMaxBacklog int
    The sysctl setting net.core.netdev_max_backlog. Must be between 1000 and 3240000. Changing this forces a new resource to be created.
    NetCoreOptmemMax int
    The sysctl setting net.core.optmem_max. Must be between 20480 and 4194304. Changing this forces a new resource to be created.
    NetCoreRmemDefault int
    The sysctl setting net.core.rmem_default. Must be between 212992 and 134217728. Changing this forces a new resource to be created.
    NetCoreRmemMax int
    The sysctl setting net.core.rmem_max. Must be between 212992 and 134217728. Changing this forces a new resource to be created.
    NetCoreSomaxconn int
    The sysctl setting net.core.somaxconn. Must be between 4096 and 3240000. Changing this forces a new resource to be created.
    NetCoreWmemDefault int
    The sysctl setting net.core.wmem_default. Must be between 212992 and 134217728. Changing this forces a new resource to be created.
    NetCoreWmemMax int
    The sysctl setting net.core.wmem_max. Must be between 212992 and 134217728. Changing this forces a new resource to be created.
    NetIpv4IpLocalPortRangeMax int
    The sysctl setting net.ipv4.ip_local_port_range max value. Must be between 32768 and 65535. Changing this forces a new resource to be created.
    NetIpv4IpLocalPortRangeMin int
    The sysctl setting net.ipv4.ip_local_port_range min value. Must be between 1024 and 60999. Changing this forces a new resource to be created.
    NetIpv4NeighDefaultGcThresh1 int
    The sysctl setting net.ipv4.neigh.default.gc_thresh1. Must be between 128 and 80000. Changing this forces a new resource to be created.
    NetIpv4NeighDefaultGcThresh2 int
    The sysctl setting net.ipv4.neigh.default.gc_thresh2. Must be between 512 and 90000. Changing this forces a new resource to be created.
    NetIpv4NeighDefaultGcThresh3 int
    The sysctl setting net.ipv4.neigh.default.gc_thresh3. Must be between 1024 and 100000. Changing this forces a new resource to be created.
    NetIpv4TcpFinTimeout int
    The sysctl setting net.ipv4.tcp_fin_timeout. Must be between 5 and 120. Changing this forces a new resource to be created.
    NetIpv4TcpKeepaliveIntvl int
    The sysctl setting net.ipv4.tcp_keepalive_intvl. Must be between 10 and 90. Changing this forces a new resource to be created.
    NetIpv4TcpKeepaliveProbes int
    The sysctl setting net.ipv4.tcp_keepalive_probes. Must be between 1 and 15. Changing this forces a new resource to be created.
    NetIpv4TcpKeepaliveTime int
    The sysctl setting net.ipv4.tcp_keepalive_time. Must be between 30 and 432000. Changing this forces a new resource to be created.
    NetIpv4TcpMaxSynBacklog int
    The sysctl setting net.ipv4.tcp_max_syn_backlog. Must be between 128 and 3240000. Changing this forces a new resource to be created.
    NetIpv4TcpMaxTwBuckets int
    The sysctl setting net.ipv4.tcp_max_tw_buckets. Must be between 8000 and 1440000. Changing this forces a new resource to be created.
    NetIpv4TcpTwReuse bool
    Is sysctl setting net.ipv4.tcp_tw_reuse enabled? Changing this forces a new resource to be created.
    NetNetfilterNfConntrackBuckets int
    The sysctl setting net.netfilter.nf_conntrack_buckets. Must be between 65536 and 524288. Changing this forces a new resource to be created.
    NetNetfilterNfConntrackMax int
    The sysctl setting net.netfilter.nf_conntrack_max. Must be between 131072 and 2097152. Changing this forces a new resource to be created.
    VmMaxMapCount int
    The sysctl setting vm.max_map_count. Must be between 65530 and 262144. Changing this forces a new resource to be created.
    VmSwappiness int
    The sysctl setting vm.swappiness. Must be between 0 and 100. Changing this forces a new resource to be created.
    VmVfsCachePressure int
    The sysctl setting vm.vfs_cache_pressure. Must be between 0 and 100. Changing this forces a new resource to be created.
    FsAioMaxNr int
    The sysctl setting fs.aio-max-nr. Must be between 65536 and 6553500. Changing this forces a new resource to be created.
    FsFileMax int
    The sysctl setting fs.file-max. Must be between 8192 and 12000500. Changing this forces a new resource to be created.
    FsInotifyMaxUserWatches int
    The sysctl setting fs.inotify.max_user_watches. Must be between 781250 and 2097152. Changing this forces a new resource to be created.
    FsNrOpen int
    The sysctl setting fs.nr_open. Must be between 8192 and 20000500. Changing this forces a new resource to be created.
    KernelThreadsMax int
    The sysctl setting kernel.threads-max. Must be between 20 and 513785. Changing this forces a new resource to be created.
    NetCoreNetdevMaxBacklog int
    The sysctl setting net.core.netdev_max_backlog. Must be between 1000 and 3240000. Changing this forces a new resource to be created.
    NetCoreOptmemMax int
    The sysctl setting net.core.optmem_max. Must be between 20480 and 4194304. Changing this forces a new resource to be created.
    NetCoreRmemDefault int
    The sysctl setting net.core.rmem_default. Must be between 212992 and 134217728. Changing this forces a new resource to be created.
    NetCoreRmemMax int
    The sysctl setting net.core.rmem_max. Must be between 212992 and 134217728. Changing this forces a new resource to be created.
    NetCoreSomaxconn int
    The sysctl setting net.core.somaxconn. Must be between 4096 and 3240000. Changing this forces a new resource to be created.
    NetCoreWmemDefault int
    The sysctl setting net.core.wmem_default. Must be between 212992 and 134217728. Changing this forces a new resource to be created.
    NetCoreWmemMax int
    The sysctl setting net.core.wmem_max. Must be between 212992 and 134217728. Changing this forces a new resource to be created.
    NetIpv4IpLocalPortRangeMax int
    The sysctl setting net.ipv4.ip_local_port_range max value. Must be between 32768 and 65535. Changing this forces a new resource to be created.
    NetIpv4IpLocalPortRangeMin int
    The sysctl setting net.ipv4.ip_local_port_range min value. Must be between 1024 and 60999. Changing this forces a new resource to be created.
    NetIpv4NeighDefaultGcThresh1 int
    The sysctl setting net.ipv4.neigh.default.gc_thresh1. Must be between 128 and 80000. Changing this forces a new resource to be created.
    NetIpv4NeighDefaultGcThresh2 int
    The sysctl setting net.ipv4.neigh.default.gc_thresh2. Must be between 512 and 90000. Changing this forces a new resource to be created.
    NetIpv4NeighDefaultGcThresh3 int
    The sysctl setting net.ipv4.neigh.default.gc_thresh3. Must be between 1024 and 100000. Changing this forces a new resource to be created.
    NetIpv4TcpFinTimeout int
    The sysctl setting net.ipv4.tcp_fin_timeout. Must be between 5 and 120. Changing this forces a new resource to be created.
    NetIpv4TcpKeepaliveIntvl int
    The sysctl setting net.ipv4.tcp_keepalive_intvl. Must be between 10 and 90. Changing this forces a new resource to be created.
    NetIpv4TcpKeepaliveProbes int
    The sysctl setting net.ipv4.tcp_keepalive_probes. Must be between 1 and 15. Changing this forces a new resource to be created.
    NetIpv4TcpKeepaliveTime int
    The sysctl setting net.ipv4.tcp_keepalive_time. Must be between 30 and 432000. Changing this forces a new resource to be created.
    NetIpv4TcpMaxSynBacklog int
    The sysctl setting net.ipv4.tcp_max_syn_backlog. Must be between 128 and 3240000. Changing this forces a new resource to be created.
    NetIpv4TcpMaxTwBuckets int
    The sysctl setting net.ipv4.tcp_max_tw_buckets. Must be between 8000 and 1440000. Changing this forces a new resource to be created.
    NetIpv4TcpTwReuse bool
    Is sysctl setting net.ipv4.tcp_tw_reuse enabled? Changing this forces a new resource to be created.
    NetNetfilterNfConntrackBuckets int
    The sysctl setting net.netfilter.nf_conntrack_buckets. Must be between 65536 and 524288. Changing this forces a new resource to be created.
    NetNetfilterNfConntrackMax int
    The sysctl setting net.netfilter.nf_conntrack_max. Must be between 131072 and 2097152. Changing this forces a new resource to be created.
    VmMaxMapCount int
    The sysctl setting vm.max_map_count. Must be between 65530 and 262144. Changing this forces a new resource to be created.
    VmSwappiness int
    The sysctl setting vm.swappiness. Must be between 0 and 100. Changing this forces a new resource to be created.
    VmVfsCachePressure int
    The sysctl setting vm.vfs_cache_pressure. Must be between 0 and 100. Changing this forces a new resource to be created.
    fsAioMaxNr Integer
    The sysctl setting fs.aio-max-nr. Must be between 65536 and 6553500. Changing this forces a new resource to be created.
    fsFileMax Integer
    The sysctl setting fs.file-max. Must be between 8192 and 12000500. Changing this forces a new resource to be created.
    fsInotifyMaxUserWatches Integer
    The sysctl setting fs.inotify.max_user_watches. Must be between 781250 and 2097152. Changing this forces a new resource to be created.
    fsNrOpen Integer
    The sysctl setting fs.nr_open. Must be between 8192 and 20000500. Changing this forces a new resource to be created.
    kernelThreadsMax Integer
    The sysctl setting kernel.threads-max. Must be between 20 and 513785. Changing this forces a new resource to be created.
    netCoreNetdevMaxBacklog Integer
    The sysctl setting net.core.netdev_max_backlog. Must be between 1000 and 3240000. Changing this forces a new resource to be created.
    netCoreOptmemMax Integer
    The sysctl setting net.core.optmem_max. Must be between 20480 and 4194304. Changing this forces a new resource to be created.
    netCoreRmemDefault Integer
    The sysctl setting net.core.rmem_default. Must be between 212992 and 134217728. Changing this forces a new resource to be created.
    netCoreRmemMax Integer
    The sysctl setting net.core.rmem_max. Must be between 212992 and 134217728. Changing this forces a new resource to be created.
    netCoreSomaxconn Integer
    The sysctl setting net.core.somaxconn. Must be between 4096 and 3240000. Changing this forces a new resource to be created.
    netCoreWmemDefault Integer
    The sysctl setting net.core.wmem_default. Must be between 212992 and 134217728. Changing this forces a new resource to be created.
    netCoreWmemMax Integer
    The sysctl setting net.core.wmem_max. Must be between 212992 and 134217728. Changing this forces a new resource to be created.
    netIpv4IpLocalPortRangeMax Integer
    The sysctl setting net.ipv4.ip_local_port_range max value. Must be between 32768 and 65535. Changing this forces a new resource to be created.
    netIpv4IpLocalPortRangeMin Integer
    The sysctl setting net.ipv4.ip_local_port_range min value. Must be between 1024 and 60999. Changing this forces a new resource to be created.
    netIpv4NeighDefaultGcThresh1 Integer
    The sysctl setting net.ipv4.neigh.default.gc_thresh1. Must be between 128 and 80000. Changing this forces a new resource to be created.
    netIpv4NeighDefaultGcThresh2 Integer
    The sysctl setting net.ipv4.neigh.default.gc_thresh2. Must be between 512 and 90000. Changing this forces a new resource to be created.
    netIpv4NeighDefaultGcThresh3 Integer
    The sysctl setting net.ipv4.neigh.default.gc_thresh3. Must be between 1024 and 100000. Changing this forces a new resource to be created.
    netIpv4TcpFinTimeout Integer
    The sysctl setting net.ipv4.tcp_fin_timeout. Must be between 5 and 120. Changing this forces a new resource to be created.
    netIpv4TcpKeepaliveIntvl Integer
    The sysctl setting net.ipv4.tcp_keepalive_intvl. Must be between 10 and 90. Changing this forces a new resource to be created.
    netIpv4TcpKeepaliveProbes Integer
    The sysctl setting net.ipv4.tcp_keepalive_probes. Must be between 1 and 15. Changing this forces a new resource to be created.
    netIpv4TcpKeepaliveTime Integer
    The sysctl setting net.ipv4.tcp_keepalive_time. Must be between 30 and 432000. Changing this forces a new resource to be created.
    netIpv4TcpMaxSynBacklog Integer
    The sysctl setting net.ipv4.tcp_max_syn_backlog. Must be between 128 and 3240000. Changing this forces a new resource to be created.
    netIpv4TcpMaxTwBuckets Integer
    The sysctl setting net.ipv4.tcp_max_tw_buckets. Must be between 8000 and 1440000. Changing this forces a new resource to be created.
    netIpv4TcpTwReuse Boolean
    Is sysctl setting net.ipv4.tcp_tw_reuse enabled? Changing this forces a new resource to be created.
    netNetfilterNfConntrackBuckets Integer
    The sysctl setting net.netfilter.nf_conntrack_buckets. Must be between 65536 and 524288. Changing this forces a new resource to be created.
    netNetfilterNfConntrackMax Integer
    The sysctl setting net.netfilter.nf_conntrack_max. Must be between 131072 and 2097152. Changing this forces a new resource to be created.
    vmMaxMapCount Integer
    The sysctl setting vm.max_map_count. Must be between 65530 and 262144. Changing this forces a new resource to be created.
    vmSwappiness Integer
    The sysctl setting vm.swappiness. Must be between 0 and 100. Changing this forces a new resource to be created.
    vmVfsCachePressure Integer
    The sysctl setting vm.vfs_cache_pressure. Must be between 0 and 100. Changing this forces a new resource to be created.
    fsAioMaxNr number
    The sysctl setting fs.aio-max-nr. Must be between 65536 and 6553500. Changing this forces a new resource to be created.
    fsFileMax number
    The sysctl setting fs.file-max. Must be between 8192 and 12000500. Changing this forces a new resource to be created.
    fsInotifyMaxUserWatches number
    The sysctl setting fs.inotify.max_user_watches. Must be between 781250 and 2097152. Changing this forces a new resource to be created.
    fsNrOpen number
    The sysctl setting fs.nr_open. Must be between 8192 and 20000500. Changing this forces a new resource to be created.
    kernelThreadsMax number
    The sysctl setting kernel.threads-max. Must be between 20 and 513785. Changing this forces a new resource to be created.
    netCoreNetdevMaxBacklog number
    The sysctl setting net.core.netdev_max_backlog. Must be between 1000 and 3240000. Changing this forces a new resource to be created.
    netCoreOptmemMax number
    The sysctl setting net.core.optmem_max. Must be between 20480 and 4194304. Changing this forces a new resource to be created.
    netCoreRmemDefault number
    The sysctl setting net.core.rmem_default. Must be between 212992 and 134217728. Changing this forces a new resource to be created.
    netCoreRmemMax number
    The sysctl setting net.core.rmem_max. Must be between 212992 and 134217728. Changing this forces a new resource to be created.
    netCoreSomaxconn number
    The sysctl setting net.core.somaxconn. Must be between 4096 and 3240000. Changing this forces a new resource to be created.
    netCoreWmemDefault number
    The sysctl setting net.core.wmem_default. Must be between 212992 and 134217728. Changing this forces a new resource to be created.
    netCoreWmemMax number
    The sysctl setting net.core.wmem_max. Must be between 212992 and 134217728. Changing this forces a new resource to be created.
    netIpv4IpLocalPortRangeMax number
    The sysctl setting net.ipv4.ip_local_port_range max value. Must be between 32768 and 65535. Changing this forces a new resource to be created.
    netIpv4IpLocalPortRangeMin number
    The sysctl setting net.ipv4.ip_local_port_range min value. Must be between 1024 and 60999. Changing this forces a new resource to be created.
    netIpv4NeighDefaultGcThresh1 number
    The sysctl setting net.ipv4.neigh.default.gc_thresh1. Must be between 128 and 80000. Changing this forces a new resource to be created.
    netIpv4NeighDefaultGcThresh2 number
    The sysctl setting net.ipv4.neigh.default.gc_thresh2. Must be between 512 and 90000. Changing this forces a new resource to be created.
    netIpv4NeighDefaultGcThresh3 number
    The sysctl setting net.ipv4.neigh.default.gc_thresh3. Must be between 1024 and 100000. Changing this forces a new resource to be created.
    netIpv4TcpFinTimeout number
    The sysctl setting net.ipv4.tcp_fin_timeout. Must be between 5 and 120. Changing this forces a new resource to be created.
    netIpv4TcpKeepaliveIntvl number
    The sysctl setting net.ipv4.tcp_keepalive_intvl. Must be between 10 and 90. Changing this forces a new resource to be created.
    netIpv4TcpKeepaliveProbes number
    The sysctl setting net.ipv4.tcp_keepalive_probes. Must be between 1 and 15. Changing this forces a new resource to be created.
    netIpv4TcpKeepaliveTime number
    The sysctl setting net.ipv4.tcp_keepalive_time. Must be between 30 and 432000. Changing this forces a new resource to be created.
    netIpv4TcpMaxSynBacklog number
    The sysctl setting net.ipv4.tcp_max_syn_backlog. Must be between 128 and 3240000. Changing this forces a new resource to be created.
    netIpv4TcpMaxTwBuckets number
    The sysctl setting net.ipv4.tcp_max_tw_buckets. Must be between 8000 and 1440000. Changing this forces a new resource to be created.
    netIpv4TcpTwReuse boolean
    Is sysctl setting net.ipv4.tcp_tw_reuse enabled? Changing this forces a new resource to be created.
    netNetfilterNfConntrackBuckets number
    The sysctl setting net.netfilter.nf_conntrack_buckets. Must be between 65536 and 524288. Changing this forces a new resource to be created.
    netNetfilterNfConntrackMax number
    The sysctl setting net.netfilter.nf_conntrack_max. Must be between 131072 and 2097152. Changing this forces a new resource to be created.
    vmMaxMapCount number
    The sysctl setting vm.max_map_count. Must be between 65530 and 262144. Changing this forces a new resource to be created.
    vmSwappiness number
    The sysctl setting vm.swappiness. Must be between 0 and 100. Changing this forces a new resource to be created.
    vmVfsCachePressure number
    The sysctl setting vm.vfs_cache_pressure. Must be between 0 and 100. Changing this forces a new resource to be created.
    fs_aio_max_nr int
    The sysctl setting fs.aio-max-nr. Must be between 65536 and 6553500. Changing this forces a new resource to be created.
    fs_file_max int
    The sysctl setting fs.file-max. Must be between 8192 and 12000500. Changing this forces a new resource to be created.
    fs_inotify_max_user_watches int
    The sysctl setting fs.inotify.max_user_watches. Must be between 781250 and 2097152. Changing this forces a new resource to be created.
    fs_nr_open int
    The sysctl setting fs.nr_open. Must be between 8192 and 20000500. Changing this forces a new resource to be created.
    kernel_threads_max int
    The sysctl setting kernel.threads-max. Must be between 20 and 513785. Changing this forces a new resource to be created.
    net_core_netdev_max_backlog int
    The sysctl setting net.core.netdev_max_backlog. Must be between 1000 and 3240000. Changing this forces a new resource to be created.
    net_core_optmem_max int
    The sysctl setting net.core.optmem_max. Must be between 20480 and 4194304. Changing this forces a new resource to be created.
    net_core_rmem_default int
    The sysctl setting net.core.rmem_default. Must be between 212992 and 134217728. Changing this forces a new resource to be created.
    net_core_rmem_max int
    The sysctl setting net.core.rmem_max. Must be between 212992 and 134217728. Changing this forces a new resource to be created.
    net_core_somaxconn int
    The sysctl setting net.core.somaxconn. Must be between 4096 and 3240000. Changing this forces a new resource to be created.
    net_core_wmem_default int
    The sysctl setting net.core.wmem_default. Must be between 212992 and 134217728. Changing this forces a new resource to be created.
    net_core_wmem_max int
    The sysctl setting net.core.wmem_max. Must be between 212992 and 134217728. Changing this forces a new resource to be created.
    net_ipv4_ip_local_port_range_max int
    The sysctl setting net.ipv4.ip_local_port_range max value. Must be between 32768 and 65535. Changing this forces a new resource to be created.
    net_ipv4_ip_local_port_range_min int
    The sysctl setting net.ipv4.ip_local_port_range min value. Must be between 1024 and 60999. Changing this forces a new resource to be created.
    net_ipv4_neigh_default_gc_thresh1 int
    The sysctl setting net.ipv4.neigh.default.gc_thresh1. Must be between 128 and 80000. Changing this forces a new resource to be created.
    net_ipv4_neigh_default_gc_thresh2 int
    The sysctl setting net.ipv4.neigh.default.gc_thresh2. Must be between 512 and 90000. Changing this forces a new resource to be created.
    net_ipv4_neigh_default_gc_thresh3 int
    The sysctl setting net.ipv4.neigh.default.gc_thresh3. Must be between 1024 and 100000. Changing this forces a new resource to be created.
    net_ipv4_tcp_fin_timeout int
    The sysctl setting net.ipv4.tcp_fin_timeout. Must be between 5 and 120. Changing this forces a new resource to be created.
    net_ipv4_tcp_keepalive_intvl int
    The sysctl setting net.ipv4.tcp_keepalive_intvl. Must be between 10 and 90. Changing this forces a new resource to be created.
    net_ipv4_tcp_keepalive_probes int
    The sysctl setting net.ipv4.tcp_keepalive_probes. Must be between 1 and 15. Changing this forces a new resource to be created.
    net_ipv4_tcp_keepalive_time int
    The sysctl setting net.ipv4.tcp_keepalive_time. Must be between 30 and 432000. Changing this forces a new resource to be created.
    net_ipv4_tcp_max_syn_backlog int
    The sysctl setting net.ipv4.tcp_max_syn_backlog. Must be between 128 and 3240000. Changing this forces a new resource to be created.
    net_ipv4_tcp_max_tw_buckets int
    The sysctl setting net.ipv4.tcp_max_tw_buckets. Must be between 8000 and 1440000. Changing this forces a new resource to be created.
    net_ipv4_tcp_tw_reuse bool
    Is sysctl setting net.ipv4.tcp_tw_reuse enabled? Changing this forces a new resource to be created.
    net_netfilter_nf_conntrack_buckets int
    The sysctl setting net.netfilter.nf_conntrack_buckets. Must be between 65536 and 524288. Changing this forces a new resource to be created.
    net_netfilter_nf_conntrack_max int
    The sysctl setting net.netfilter.nf_conntrack_max. Must be between 131072 and 2097152. Changing this forces a new resource to be created.
    vm_max_map_count int
    The sysctl setting vm.max_map_count. Must be between 65530 and 262144. Changing this forces a new resource to be created.
    vm_swappiness int
    The sysctl setting vm.swappiness. Must be between 0 and 100. Changing this forces a new resource to be created.
    vm_vfs_cache_pressure int
    The sysctl setting vm.vfs_cache_pressure. Must be between 0 and 100. Changing this forces a new resource to be created.
    fsAioMaxNr Number
    The sysctl setting fs.aio-max-nr. Must be between 65536 and 6553500. Changing this forces a new resource to be created.
    fsFileMax Number
    The sysctl setting fs.file-max. Must be between 8192 and 12000500. Changing this forces a new resource to be created.
    fsInotifyMaxUserWatches Number
    The sysctl setting fs.inotify.max_user_watches. Must be between 781250 and 2097152. Changing this forces a new resource to be created.
    fsNrOpen Number
    The sysctl setting fs.nr_open. Must be between 8192 and 20000500. Changing this forces a new resource to be created.
    kernelThreadsMax Number
    The sysctl setting kernel.threads-max. Must be between 20 and 513785. Changing this forces a new resource to be created.
    netCoreNetdevMaxBacklog Number
    The sysctl setting net.core.netdev_max_backlog. Must be between 1000 and 3240000. Changing this forces a new resource to be created.
    netCoreOptmemMax Number
    The sysctl setting net.core.optmem_max. Must be between 20480 and 4194304. Changing this forces a new resource to be created.
    netCoreRmemDefault Number
    The sysctl setting net.core.rmem_default. Must be between 212992 and 134217728. Changing this forces a new resource to be created.
    netCoreRmemMax Number
    The sysctl setting net.core.rmem_max. Must be between 212992 and 134217728. Changing this forces a new resource to be created.
    netCoreSomaxconn Number
    The sysctl setting net.core.somaxconn. Must be between 4096 and 3240000. Changing this forces a new resource to be created.
    netCoreWmemDefault Number
    The sysctl setting net.core.wmem_default. Must be between 212992 and 134217728. Changing this forces a new resource to be created.
    netCoreWmemMax Number
    The sysctl setting net.core.wmem_max. Must be between 212992 and 134217728. Changing this forces a new resource to be created.
    netIpv4IpLocalPortRangeMax Number
    The sysctl setting net.ipv4.ip_local_port_range max value. Must be between 32768 and 65535. Changing this forces a new resource to be created.
    netIpv4IpLocalPortRangeMin Number
    The sysctl setting net.ipv4.ip_local_port_range min value. Must be between 1024 and 60999. Changing this forces a new resource to be created.
    netIpv4NeighDefaultGcThresh1 Number
    The sysctl setting net.ipv4.neigh.default.gc_thresh1. Must be between 128 and 80000. Changing this forces a new resource to be created.
    netIpv4NeighDefaultGcThresh2 Number
    The sysctl setting net.ipv4.neigh.default.gc_thresh2. Must be between 512 and 90000. Changing this forces a new resource to be created.
    netIpv4NeighDefaultGcThresh3 Number
    The sysctl setting net.ipv4.neigh.default.gc_thresh3. Must be between 1024 and 100000. Changing this forces a new resource to be created.
    netIpv4TcpFinTimeout Number
    The sysctl setting net.ipv4.tcp_fin_timeout. Must be between 5 and 120. Changing this forces a new resource to be created.
    netIpv4TcpKeepaliveIntvl Number
    The sysctl setting net.ipv4.tcp_keepalive_intvl. Must be between 10 and 90. Changing this forces a new resource to be created.
    netIpv4TcpKeepaliveProbes Number
    The sysctl setting net.ipv4.tcp_keepalive_probes. Must be between 1 and 15. Changing this forces a new resource to be created.
    netIpv4TcpKeepaliveTime Number
    The sysctl setting net.ipv4.tcp_keepalive_time. Must be between 30 and 432000. Changing this forces a new resource to be created.
    netIpv4TcpMaxSynBacklog Number
    The sysctl setting net.ipv4.tcp_max_syn_backlog. Must be between 128 and 3240000. Changing this forces a new resource to be created.
    netIpv4TcpMaxTwBuckets Number
    The sysctl setting net.ipv4.tcp_max_tw_buckets. Must be between 8000 and 1440000. Changing this forces a new resource to be created.
    netIpv4TcpTwReuse Boolean
    Is sysctl setting net.ipv4.tcp_tw_reuse enabled? Changing this forces a new resource to be created.
    netNetfilterNfConntrackBuckets Number
    The sysctl setting net.netfilter.nf_conntrack_buckets. Must be between 65536 and 524288. Changing this forces a new resource to be created.
    netNetfilterNfConntrackMax Number
    The sysctl setting net.netfilter.nf_conntrack_max. Must be between 131072 and 2097152. Changing this forces a new resource to be created.
    vmMaxMapCount Number
    The sysctl setting vm.max_map_count. Must be between 65530 and 262144. Changing this forces a new resource to be created.
    vmSwappiness Number
    The sysctl setting vm.swappiness. Must be between 0 and 100. Changing this forces a new resource to be created.
    vmVfsCachePressure Number
    The sysctl setting vm.vfs_cache_pressure. Must be between 0 and 100. Changing this forces a new resource to be created.

    KubernetesClusterNodePoolNodeNetworkProfile, KubernetesClusterNodePoolNodeNetworkProfileArgs

    AllowedHostPorts List<KubernetesClusterNodePoolNodeNetworkProfileAllowedHostPort>
    One or more allowed_host_ports blocks as defined below.
    ApplicationSecurityGroupIds List<string>
    A list of Application Security Group IDs which should be associated with this Node Pool.
    NodePublicIpTags Dictionary<string, string>

    Specifies a mapping of tags to the instance-level public IPs. Changing this forces a new resource to be created.

    Note: This requires that the Preview Feature Microsoft.ContainerService/NodePublicIPTagsPreview is enabled and the Resource Provider is re-registered, see the documentation for more information.

    AllowedHostPorts []KubernetesClusterNodePoolNodeNetworkProfileAllowedHostPort
    One or more allowed_host_ports blocks as defined below.
    ApplicationSecurityGroupIds []string
    A list of Application Security Group IDs which should be associated with this Node Pool.
    NodePublicIpTags map[string]string

    Specifies a mapping of tags to the instance-level public IPs. Changing this forces a new resource to be created.

    Note: This requires that the Preview Feature Microsoft.ContainerService/NodePublicIPTagsPreview is enabled and the Resource Provider is re-registered, see the documentation for more information.

    allowedHostPorts List<KubernetesClusterNodePoolNodeNetworkProfileAllowedHostPort>
    One or more allowed_host_ports blocks as defined below.
    applicationSecurityGroupIds List<String>
    A list of Application Security Group IDs which should be associated with this Node Pool.
    nodePublicIpTags Map<String,String>

    Specifies a mapping of tags to the instance-level public IPs. Changing this forces a new resource to be created.

    Note: This requires that the Preview Feature Microsoft.ContainerService/NodePublicIPTagsPreview is enabled and the Resource Provider is re-registered, see the documentation for more information.

    allowedHostPorts KubernetesClusterNodePoolNodeNetworkProfileAllowedHostPort[]
    One or more allowed_host_ports blocks as defined below.
    applicationSecurityGroupIds string[]
    A list of Application Security Group IDs which should be associated with this Node Pool.
    nodePublicIpTags {[key: string]: string}

    Specifies a mapping of tags to the instance-level public IPs. Changing this forces a new resource to be created.

    Note: This requires that the Preview Feature Microsoft.ContainerService/NodePublicIPTagsPreview is enabled and the Resource Provider is re-registered, see the documentation for more information.

    allowed_host_ports Sequence[KubernetesClusterNodePoolNodeNetworkProfileAllowedHostPort]
    One or more allowed_host_ports blocks as defined below.
    application_security_group_ids Sequence[str]
    A list of Application Security Group IDs which should be associated with this Node Pool.
    node_public_ip_tags Mapping[str, str]

    Specifies a mapping of tags to the instance-level public IPs. Changing this forces a new resource to be created.

    Note: This requires that the Preview Feature Microsoft.ContainerService/NodePublicIPTagsPreview is enabled and the Resource Provider is re-registered, see the documentation for more information.

    allowedHostPorts List<Property Map>
    One or more allowed_host_ports blocks as defined below.
    applicationSecurityGroupIds List<String>
    A list of Application Security Group IDs which should be associated with this Node Pool.
    nodePublicIpTags Map<String>

    Specifies a mapping of tags to the instance-level public IPs. Changing this forces a new resource to be created.

    Note: This requires that the Preview Feature Microsoft.ContainerService/NodePublicIPTagsPreview is enabled and the Resource Provider is re-registered, see the documentation for more information.

    KubernetesClusterNodePoolNodeNetworkProfileAllowedHostPort, KubernetesClusterNodePoolNodeNetworkProfileAllowedHostPortArgs

    PortEnd int
    Specifies the end of the port range.
    PortStart int
    Specifies the start of the port range.
    Protocol string
    Specifies the protocol of the port range. Possible values are TCP and UDP.
    PortEnd int
    Specifies the end of the port range.
    PortStart int
    Specifies the start of the port range.
    Protocol string
    Specifies the protocol of the port range. Possible values are TCP and UDP.
    portEnd Integer
    Specifies the end of the port range.
    portStart Integer
    Specifies the start of the port range.
    protocol String
    Specifies the protocol of the port range. Possible values are TCP and UDP.
    portEnd number
    Specifies the end of the port range.
    portStart number
    Specifies the start of the port range.
    protocol string
    Specifies the protocol of the port range. Possible values are TCP and UDP.
    port_end int
    Specifies the end of the port range.
    port_start int
    Specifies the start of the port range.
    protocol str
    Specifies the protocol of the port range. Possible values are TCP and UDP.
    portEnd Number
    Specifies the end of the port range.
    portStart Number
    Specifies the start of the port range.
    protocol String
    Specifies the protocol of the port range. Possible values are TCP and UDP.

    KubernetesClusterNodePoolUpgradeSettings, KubernetesClusterNodePoolUpgradeSettingsArgs

    MaxSurge string
    The maximum number or percentage of nodes which will be added to the Node Pool size during an upgrade.
    MaxSurge string
    The maximum number or percentage of nodes which will be added to the Node Pool size during an upgrade.
    maxSurge String
    The maximum number or percentage of nodes which will be added to the Node Pool size during an upgrade.
    maxSurge string
    The maximum number or percentage of nodes which will be added to the Node Pool size during an upgrade.
    max_surge str
    The maximum number or percentage of nodes which will be added to the Node Pool size during an upgrade.
    maxSurge String
    The maximum number or percentage of nodes which will be added to the Node Pool size during an upgrade.

    KubernetesClusterNodePoolWindowsProfile, KubernetesClusterNodePoolWindowsProfileArgs

    OutboundNatEnabled bool

    Should the Windows nodes in this Node Pool have outbound NAT enabled? Defaults to true. Changing this forces a new resource to be created.

    Note: If a percentage is provided, the number of surge nodes is calculated from the current node count on the cluster. Node surge can allow a cluster to have more nodes than max_count during an upgrade. Ensure that your cluster has enough IP space during an upgrade.

    OutboundNatEnabled bool

    Should the Windows nodes in this Node Pool have outbound NAT enabled? Defaults to true. Changing this forces a new resource to be created.

    Note: If a percentage is provided, the number of surge nodes is calculated from the current node count on the cluster. Node surge can allow a cluster to have more nodes than max_count during an upgrade. Ensure that your cluster has enough IP space during an upgrade.

    outboundNatEnabled Boolean

    Should the Windows nodes in this Node Pool have outbound NAT enabled? Defaults to true. Changing this forces a new resource to be created.

    Note: If a percentage is provided, the number of surge nodes is calculated from the current node count on the cluster. Node surge can allow a cluster to have more nodes than max_count during an upgrade. Ensure that your cluster has enough IP space during an upgrade.

    outboundNatEnabled boolean

    Should the Windows nodes in this Node Pool have outbound NAT enabled? Defaults to true. Changing this forces a new resource to be created.

    Note: If a percentage is provided, the number of surge nodes is calculated from the current node count on the cluster. Node surge can allow a cluster to have more nodes than max_count during an upgrade. Ensure that your cluster has enough IP space during an upgrade.

    outbound_nat_enabled bool

    Should the Windows nodes in this Node Pool have outbound NAT enabled? Defaults to true. Changing this forces a new resource to be created.

    Note: If a percentage is provided, the number of surge nodes is calculated from the current node count on the cluster. Node surge can allow a cluster to have more nodes than max_count during an upgrade. Ensure that your cluster has enough IP space during an upgrade.

    outboundNatEnabled Boolean

    Should the Windows nodes in this Node Pool have outbound NAT enabled? Defaults to true. Changing this forces a new resource to be created.

    Note: If a percentage is provided, the number of surge nodes is calculated from the current node count on the cluster. Node surge can allow a cluster to have more nodes than max_count during an upgrade. Ensure that your cluster has enough IP space during an upgrade.

    Import

    Kubernetes Cluster Node Pools can be imported using the resource id, e.g.

    $ pulumi import azure:containerservice/kubernetesClusterNodePool:KubernetesClusterNodePool pool1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.ContainerService/managedClusters/cluster1/agentPools/pool1
    

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

    Package Details

    Repository
    Azure Classic pulumi/pulumi-azure
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the azurerm Terraform Provider.
    azure logo

    We recommend using Azure Native.

    Azure Classic v5.72.0 published on Monday, Apr 15, 2024 by Pulumi