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

We recommend using Azure Native.

Azure v6.22.0 published on Tuesday, Apr 1, 2025 by Pulumi

azure.containerservice.KubernetesClusterNodePool

Explore with Pulumi AI

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.

Note: Changing certain properties is done by cycling the node pool. When cycling it, it doesn’t perform cordon and drain, and it will disrupt rescheduling pods currently running on the previous node pool. temporary_name_for_rotation must be specified when changing any of the following properties: fips_enabled, host_encryption_enabled, kubelet_config, kubelet_disk_type, linux_os_config, max_pods, node_public_ip_enabled, os_disk_size_gb, os_disk_type, pod_subnet_id, snapshot_id, ultra_ssd_enabled, vm_size, vnet_subnet_id, zones.

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",
    },
});
Copy
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={
        "name": "default",
        "node_count": 1,
        "vm_size": "Standard_D2_v2",
    },
    service_principal={
        "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",
    })
Copy
package main

import (
	"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/containerservice"
	"github.com/pulumi/pulumi-azure/sdk/v6/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
	})
}
Copy
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" },
        },
    });

});
Copy
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());

    }
}
Copy
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
Copy

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_public_ip_prefix_id: Optional[str] = None,
                              node_count: Optional[int] = None,
                              gpu_instance: Optional[str] = None,
                              host_encryption_enabled: Optional[bool] = None,
                              host_group_id: Optional[str] = None,
                              kubelet_config: Optional[KubernetesClusterNodePoolKubeletConfigArgs] = None,
                              kubelet_disk_type: Optional[str] = None,
                              eviction_policy: Optional[str] = None,
                              linux_os_config: Optional[KubernetesClusterNodePoolLinuxOsConfigArgs] = None,
                              max_count: Optional[int] = None,
                              max_pods: Optional[int] = None,
                              min_count: Optional[int] = None,
                              mode: Optional[str] = None,
                              name: Optional[str] = None,
                              node_taints: Optional[Sequence[str]] = None,
                              node_labels: Optional[Mapping[str, str]] = None,
                              node_network_profile: Optional[KubernetesClusterNodePoolNodeNetworkProfileArgs] = None,
                              node_public_ip_enabled: Optional[bool] = None,
                              fips_enabled: Optional[bool] = None,
                              auto_scaling_enabled: Optional[bool] = None,
                              pod_subnet_id: 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,
                              orchestrator_version: 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,
                              temporary_name_for_rotation: Optional[str] = None,
                              ultra_ssd_enabled: Optional[bool] = None,
                              upgrade_settings: Optional[KubernetesClusterNodePoolUpgradeSettingsArgs] = None,
                              capacity_reservation_group_id: Optional[str] = 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 This property is required. string
The unique name of the resource.
args This property is required. KubernetesClusterNodePoolArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
resource_name This property is required. str
The unique name of the resource.
args This property is required. 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 This property is required. string
The unique name of the resource.
args This property is required. KubernetesClusterNodePoolArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name This property is required. string
The unique name of the resource.
args This property is required. KubernetesClusterNodePoolArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
name This property is required. String
The unique name of the resource.
args This property is required. KubernetesClusterNodePoolArgs
The arguments to resource properties.
options CustomResourceOptions
Bag of options to control resource's behavior.

Constructor example

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

var kubernetesClusterNodePoolResource = new Azure.ContainerService.KubernetesClusterNodePool("kubernetesClusterNodePoolResource", new()
{
    KubernetesClusterId = "string",
    VmSize = "string",
    NodePublicIpPrefixId = "string",
    NodeCount = 0,
    GpuInstance = "string",
    HostEncryptionEnabled = false,
    HostGroupId = "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",
    },
    KubeletDiskType = "string",
    EvictionPolicy = "string",
    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,
    MinCount = 0,
    Mode = "string",
    Name = "string",
    NodeTaints = new[]
    {
        "string",
    },
    NodeLabels = 
    {
        { "string", "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" },
        },
    },
    NodePublicIpEnabled = false,
    FipsEnabled = false,
    AutoScalingEnabled = false,
    PodSubnetId = "string",
    OsDiskSizeGb = 0,
    OsDiskType = "string",
    OsSku = "string",
    OsType = "string",
    OrchestratorVersion = "string",
    Priority = "string",
    ProximityPlacementGroupId = "string",
    ScaleDownMode = "string",
    SnapshotId = "string",
    SpotMaxPrice = 0,
    Tags = 
    {
        { "string", "string" },
    },
    TemporaryNameForRotation = "string",
    UltraSsdEnabled = false,
    UpgradeSettings = new Azure.ContainerService.Inputs.KubernetesClusterNodePoolUpgradeSettingsArgs
    {
        MaxSurge = "string",
        DrainTimeoutInMinutes = 0,
        NodeSoakDurationInMinutes = 0,
    },
    CapacityReservationGroupId = "string",
    VnetSubnetId = "string",
    WindowsProfile = new Azure.ContainerService.Inputs.KubernetesClusterNodePoolWindowsProfileArgs
    {
        OutboundNatEnabled = false,
    },
    WorkloadRuntime = "string",
    Zones = new[]
    {
        "string",
    },
});
Copy
example, err := containerservice.NewKubernetesClusterNodePool(ctx, "kubernetesClusterNodePoolResource", &containerservice.KubernetesClusterNodePoolArgs{
	KubernetesClusterId:   pulumi.String("string"),
	VmSize:                pulumi.String("string"),
	NodePublicIpPrefixId:  pulumi.String("string"),
	NodeCount:             pulumi.Int(0),
	GpuInstance:           pulumi.String("string"),
	HostEncryptionEnabled: pulumi.Bool(false),
	HostGroupId:           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"),
	},
	KubeletDiskType: pulumi.String("string"),
	EvictionPolicy:  pulumi.String("string"),
	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),
	MinCount: pulumi.Int(0),
	Mode:     pulumi.String("string"),
	Name:     pulumi.String("string"),
	NodeTaints: pulumi.StringArray{
		pulumi.String("string"),
	},
	NodeLabels: pulumi.StringMap{
		"string": 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"),
		},
	},
	NodePublicIpEnabled:       pulumi.Bool(false),
	FipsEnabled:               pulumi.Bool(false),
	AutoScalingEnabled:        pulumi.Bool(false),
	PodSubnetId:               pulumi.String("string"),
	OsDiskSizeGb:              pulumi.Int(0),
	OsDiskType:                pulumi.String("string"),
	OsSku:                     pulumi.String("string"),
	OsType:                    pulumi.String("string"),
	OrchestratorVersion:       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"),
	},
	TemporaryNameForRotation: pulumi.String("string"),
	UltraSsdEnabled:          pulumi.Bool(false),
	UpgradeSettings: &containerservice.KubernetesClusterNodePoolUpgradeSettingsArgs{
		MaxSurge:                  pulumi.String("string"),
		DrainTimeoutInMinutes:     pulumi.Int(0),
		NodeSoakDurationInMinutes: pulumi.Int(0),
	},
	CapacityReservationGroupId: pulumi.String("string"),
	VnetSubnetId:               pulumi.String("string"),
	WindowsProfile: &containerservice.KubernetesClusterNodePoolWindowsProfileArgs{
		OutboundNatEnabled: pulumi.Bool(false),
	},
	WorkloadRuntime: pulumi.String("string"),
	Zones: pulumi.StringArray{
		pulumi.String("string"),
	},
})
Copy
var kubernetesClusterNodePoolResource = new KubernetesClusterNodePool("kubernetesClusterNodePoolResource", KubernetesClusterNodePoolArgs.builder()
    .kubernetesClusterId("string")
    .vmSize("string")
    .nodePublicIpPrefixId("string")
    .nodeCount(0)
    .gpuInstance("string")
    .hostEncryptionEnabled(false)
    .hostGroupId("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())
    .kubeletDiskType("string")
    .evictionPolicy("string")
    .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)
    .minCount(0)
    .mode("string")
    .name("string")
    .nodeTaints("string")
    .nodeLabels(Map.of("string", "string"))
    .nodeNetworkProfile(KubernetesClusterNodePoolNodeNetworkProfileArgs.builder()
        .allowedHostPorts(KubernetesClusterNodePoolNodeNetworkProfileAllowedHostPortArgs.builder()
            .portEnd(0)
            .portStart(0)
            .protocol("string")
            .build())
        .applicationSecurityGroupIds("string")
        .nodePublicIpTags(Map.of("string", "string"))
        .build())
    .nodePublicIpEnabled(false)
    .fipsEnabled(false)
    .autoScalingEnabled(false)
    .podSubnetId("string")
    .osDiskSizeGb(0)
    .osDiskType("string")
    .osSku("string")
    .osType("string")
    .orchestratorVersion("string")
    .priority("string")
    .proximityPlacementGroupId("string")
    .scaleDownMode("string")
    .snapshotId("string")
    .spotMaxPrice(0)
    .tags(Map.of("string", "string"))
    .temporaryNameForRotation("string")
    .ultraSsdEnabled(false)
    .upgradeSettings(KubernetesClusterNodePoolUpgradeSettingsArgs.builder()
        .maxSurge("string")
        .drainTimeoutInMinutes(0)
        .nodeSoakDurationInMinutes(0)
        .build())
    .capacityReservationGroupId("string")
    .vnetSubnetId("string")
    .windowsProfile(KubernetesClusterNodePoolWindowsProfileArgs.builder()
        .outboundNatEnabled(false)
        .build())
    .workloadRuntime("string")
    .zones("string")
    .build());
Copy
kubernetes_cluster_node_pool_resource = azure.containerservice.KubernetesClusterNodePool("kubernetesClusterNodePoolResource",
    kubernetes_cluster_id="string",
    vm_size="string",
    node_public_ip_prefix_id="string",
    node_count=0,
    gpu_instance="string",
    host_encryption_enabled=False,
    host_group_id="string",
    kubelet_config={
        "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",
    },
    kubelet_disk_type="string",
    eviction_policy="string",
    linux_os_config={
        "swap_file_size_mb": 0,
        "sysctl_config": {
            "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,
    min_count=0,
    mode="string",
    name="string",
    node_taints=["string"],
    node_labels={
        "string": "string",
    },
    node_network_profile={
        "allowed_host_ports": [{
            "port_end": 0,
            "port_start": 0,
            "protocol": "string",
        }],
        "application_security_group_ids": ["string"],
        "node_public_ip_tags": {
            "string": "string",
        },
    },
    node_public_ip_enabled=False,
    fips_enabled=False,
    auto_scaling_enabled=False,
    pod_subnet_id="string",
    os_disk_size_gb=0,
    os_disk_type="string",
    os_sku="string",
    os_type="string",
    orchestrator_version="string",
    priority="string",
    proximity_placement_group_id="string",
    scale_down_mode="string",
    snapshot_id="string",
    spot_max_price=0,
    tags={
        "string": "string",
    },
    temporary_name_for_rotation="string",
    ultra_ssd_enabled=False,
    upgrade_settings={
        "max_surge": "string",
        "drain_timeout_in_minutes": 0,
        "node_soak_duration_in_minutes": 0,
    },
    capacity_reservation_group_id="string",
    vnet_subnet_id="string",
    windows_profile={
        "outbound_nat_enabled": False,
    },
    workload_runtime="string",
    zones=["string"])
Copy
const kubernetesClusterNodePoolResource = new azure.containerservice.KubernetesClusterNodePool("kubernetesClusterNodePoolResource", {
    kubernetesClusterId: "string",
    vmSize: "string",
    nodePublicIpPrefixId: "string",
    nodeCount: 0,
    gpuInstance: "string",
    hostEncryptionEnabled: false,
    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",
    evictionPolicy: "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,
    minCount: 0,
    mode: "string",
    name: "string",
    nodeTaints: ["string"],
    nodeLabels: {
        string: "string",
    },
    nodeNetworkProfile: {
        allowedHostPorts: [{
            portEnd: 0,
            portStart: 0,
            protocol: "string",
        }],
        applicationSecurityGroupIds: ["string"],
        nodePublicIpTags: {
            string: "string",
        },
    },
    nodePublicIpEnabled: false,
    fipsEnabled: false,
    autoScalingEnabled: false,
    podSubnetId: "string",
    osDiskSizeGb: 0,
    osDiskType: "string",
    osSku: "string",
    osType: "string",
    orchestratorVersion: "string",
    priority: "string",
    proximityPlacementGroupId: "string",
    scaleDownMode: "string",
    snapshotId: "string",
    spotMaxPrice: 0,
    tags: {
        string: "string",
    },
    temporaryNameForRotation: "string",
    ultraSsdEnabled: false,
    upgradeSettings: {
        maxSurge: "string",
        drainTimeoutInMinutes: 0,
        nodeSoakDurationInMinutes: 0,
    },
    capacityReservationGroupId: "string",
    vnetSubnetId: "string",
    windowsProfile: {
        outboundNatEnabled: false,
    },
    workloadRuntime: "string",
    zones: ["string"],
});
Copy
type: azure:containerservice:KubernetesClusterNodePool
properties:
    autoScalingEnabled: false
    capacityReservationGroupId: string
    evictionPolicy: string
    fipsEnabled: false
    gpuInstance: string
    hostEncryptionEnabled: false
    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
    minCount: 0
    mode: string
    name: string
    nodeCount: 0
    nodeLabels:
        string: string
    nodeNetworkProfile:
        allowedHostPorts:
            - portEnd: 0
              portStart: 0
              protocol: string
        applicationSecurityGroupIds:
            - string
        nodePublicIpTags:
            string: string
    nodePublicIpEnabled: false
    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
    temporaryNameForRotation: string
    ultraSsdEnabled: false
    upgradeSettings:
        drainTimeoutInMinutes: 0
        maxSurge: string
        nodeSoakDurationInMinutes: 0
    vmSize: string
    vnetSubnetId: string
    windowsProfile:
        outboundNatEnabled: false
    workloadRuntime: string
    zones:
        - string
Copy

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

In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.

The KubernetesClusterNodePool resource accepts the following input properties:

KubernetesClusterId
This property is required.
Changes to this property will trigger replacement.
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 This property is required. string
The SKU which should be used for the Virtual Machines used in this Node Pool. Changing this property requires specifying temporary_name_for_rotation.
AutoScalingEnabled bool
Whether to enable auto-scaler.
CapacityReservationGroupId Changes to this property will trigger replacement. string
Specifies the ID of the Capacity Reservation Group where this Node Pool should exist. Changing this forces a new resource to be created.
EvictionPolicy Changes to this property will trigger replacement. 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 property requires specifying temporary_name_for_rotation.

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 Changes to this property will trigger replacement. 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.
HostEncryptionEnabled bool

Should the nodes in this Node Pool have host encryption enabled? Changing this property requires specifying temporary_name_for_rotation.

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

HostGroupId Changes to this property will trigger replacement. 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 requires specifying temporary_name_for_rotation.
KubeletDiskType string
The type of disk used by kubelet. Possible values are OS and Temporary. Changing this property requires specifying temporary_name_for_rotation.
LinuxOsConfig KubernetesClusterNodePoolLinuxOsConfig
A linux_os_config block as defined below. Changing this requires specifying temporary_name_for_rotation.
MaxCount int
MaxPods int
The maximum number of pods that can run on each agent. Changing this property requires specifying temporary_name_for_rotation.
MinCount int
Mode string
Should this Node Pool be used for System or User resources? Possible values are System and User. Defaults to User.
Name Changes to this property will trigger replacement. 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
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.
NodePublicIpEnabled bool
Should each node have a Public IP Address? Changing this property requires specifying temporary_name_for_rotation.
NodePublicIpPrefixId Changes to this property will trigger replacement. string
Resource ID for the Public IP Addresses Prefix for the nodes in this Node Pool. node_public_ip_enabled 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 property requires specifying temporary_name_for_rotation.
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 property requires specifying temporary_name_for_rotation.
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 from AzureLinux or Ubuntu to AzureLinux or Ubuntu will not replace the resource, otherwise it forces a new resource to be created.
OsType Changes to this property will trigger replacement. 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 property requires specifying temporary_name_for_rotation.
Priority Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. 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 property requires specifying temporary_name_for_rotation.
SpotMaxPrice Changes to this property will trigger replacement. 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.

TemporaryNameForRotation string
Specifies the name of the temporary node pool used to cycle the node pool when one of the relevant properties are updated.
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 property requires specifying temporary_name_for_rotation.
UpgradeSettings KubernetesClusterNodePoolUpgradeSettings
A upgrade_settings block as documented below.
VnetSubnetId string

The ID of the Subnet where this Node Pool should exist. Changing this property requires specifying temporary_name_for_rotation.

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

WindowsProfile Changes to this property will trigger replacement. 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 and WasmWasi.

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

Zones List<string>
Specifies a list of Availability Zones in which this Kubernetes Cluster Node Pool should be located. Changing this property requires specifying temporary_name_for_rotation.
KubernetesClusterId
This property is required.
Changes to this property will trigger replacement.
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 This property is required. string
The SKU which should be used for the Virtual Machines used in this Node Pool. Changing this property requires specifying temporary_name_for_rotation.
AutoScalingEnabled bool
Whether to enable auto-scaler.
CapacityReservationGroupId Changes to this property will trigger replacement. string
Specifies the ID of the Capacity Reservation Group where this Node Pool should exist. Changing this forces a new resource to be created.
EvictionPolicy Changes to this property will trigger replacement. 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 property requires specifying temporary_name_for_rotation.

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 Changes to this property will trigger replacement. 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.
HostEncryptionEnabled bool

Should the nodes in this Node Pool have host encryption enabled? Changing this property requires specifying temporary_name_for_rotation.

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

HostGroupId Changes to this property will trigger replacement. 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 requires specifying temporary_name_for_rotation.
KubeletDiskType string
The type of disk used by kubelet. Possible values are OS and Temporary. Changing this property requires specifying temporary_name_for_rotation.
LinuxOsConfig KubernetesClusterNodePoolLinuxOsConfigArgs
A linux_os_config block as defined below. Changing this requires specifying temporary_name_for_rotation.
MaxCount int
MaxPods int
The maximum number of pods that can run on each agent. Changing this property requires specifying temporary_name_for_rotation.
MinCount int
Mode string
Should this Node Pool be used for System or User resources? Possible values are System and User. Defaults to User.
Name Changes to this property will trigger replacement. 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
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.
NodePublicIpEnabled bool
Should each node have a Public IP Address? Changing this property requires specifying temporary_name_for_rotation.
NodePublicIpPrefixId Changes to this property will trigger replacement. string
Resource ID for the Public IP Addresses Prefix for the nodes in this Node Pool. node_public_ip_enabled 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 property requires specifying temporary_name_for_rotation.
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 property requires specifying temporary_name_for_rotation.
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 from AzureLinux or Ubuntu to AzureLinux or Ubuntu will not replace the resource, otherwise it forces a new resource to be created.
OsType Changes to this property will trigger replacement. 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 property requires specifying temporary_name_for_rotation.
Priority Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. 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 property requires specifying temporary_name_for_rotation.
SpotMaxPrice Changes to this property will trigger replacement. 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.

TemporaryNameForRotation string
Specifies the name of the temporary node pool used to cycle the node pool when one of the relevant properties are updated.
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 property requires specifying temporary_name_for_rotation.
UpgradeSettings KubernetesClusterNodePoolUpgradeSettingsArgs
A upgrade_settings block as documented below.
VnetSubnetId string

The ID of the Subnet where this Node Pool should exist. Changing this property requires specifying temporary_name_for_rotation.

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

WindowsProfile Changes to this property will trigger replacement. 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 and WasmWasi.

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

Zones []string
Specifies a list of Availability Zones in which this Kubernetes Cluster Node Pool should be located. Changing this property requires specifying temporary_name_for_rotation.
kubernetesClusterId
This property is required.
Changes to this property will trigger replacement.
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 This property is required. String
The SKU which should be used for the Virtual Machines used in this Node Pool. Changing this property requires specifying temporary_name_for_rotation.
autoScalingEnabled Boolean
Whether to enable auto-scaler.
capacityReservationGroupId Changes to this property will trigger replacement. String
Specifies the ID of the Capacity Reservation Group where this Node Pool should exist. Changing this forces a new resource to be created.
evictionPolicy Changes to this property will trigger replacement. 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 property requires specifying temporary_name_for_rotation.

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 Changes to this property will trigger replacement. 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.
hostEncryptionEnabled Boolean

Should the nodes in this Node Pool have host encryption enabled? Changing this property requires specifying temporary_name_for_rotation.

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

hostGroupId Changes to this property will trigger replacement. 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 requires specifying temporary_name_for_rotation.
kubeletDiskType String
The type of disk used by kubelet. Possible values are OS and Temporary. Changing this property requires specifying temporary_name_for_rotation.
linuxOsConfig KubernetesClusterNodePoolLinuxOsConfig
A linux_os_config block as defined below. Changing this requires specifying temporary_name_for_rotation.
maxCount Integer
maxPods Integer
The maximum number of pods that can run on each agent. Changing this property requires specifying temporary_name_for_rotation.
minCount Integer
mode String
Should this Node Pool be used for System or User resources? Possible values are System and User. Defaults to User.
name Changes to this property will trigger replacement. 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
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.
nodePublicIpEnabled Boolean
Should each node have a Public IP Address? Changing this property requires specifying temporary_name_for_rotation.
nodePublicIpPrefixId Changes to this property will trigger replacement. String
Resource ID for the Public IP Addresses Prefix for the nodes in this Node Pool. node_public_ip_enabled 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 property requires specifying temporary_name_for_rotation.
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 property requires specifying temporary_name_for_rotation.
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 from AzureLinux or Ubuntu to AzureLinux or Ubuntu will not replace the resource, otherwise it forces a new resource to be created.
osType Changes to this property will trigger replacement. 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 property requires specifying temporary_name_for_rotation.
priority Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. 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 property requires specifying temporary_name_for_rotation.
spotMaxPrice Changes to this property will trigger replacement. 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.

temporaryNameForRotation String
Specifies the name of the temporary node pool used to cycle the node pool when one of the relevant properties are updated.
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 property requires specifying temporary_name_for_rotation.
upgradeSettings KubernetesClusterNodePoolUpgradeSettings
A upgrade_settings block as documented below.
vnetSubnetId String

The ID of the Subnet where this Node Pool should exist. Changing this property requires specifying temporary_name_for_rotation.

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

windowsProfile Changes to this property will trigger replacement. 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 and WasmWasi.

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

zones List<String>
Specifies a list of Availability Zones in which this Kubernetes Cluster Node Pool should be located. Changing this property requires specifying temporary_name_for_rotation.
kubernetesClusterId
This property is required.
Changes to this property will trigger replacement.
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 This property is required. string
The SKU which should be used for the Virtual Machines used in this Node Pool. Changing this property requires specifying temporary_name_for_rotation.
autoScalingEnabled boolean
Whether to enable auto-scaler.
capacityReservationGroupId Changes to this property will trigger replacement. string
Specifies the ID of the Capacity Reservation Group where this Node Pool should exist. Changing this forces a new resource to be created.
evictionPolicy Changes to this property will trigger replacement. 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 property requires specifying temporary_name_for_rotation.

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 Changes to this property will trigger replacement. 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.
hostEncryptionEnabled boolean

Should the nodes in this Node Pool have host encryption enabled? Changing this property requires specifying temporary_name_for_rotation.

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

hostGroupId Changes to this property will trigger replacement. 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 requires specifying temporary_name_for_rotation.
kubeletDiskType string
The type of disk used by kubelet. Possible values are OS and Temporary. Changing this property requires specifying temporary_name_for_rotation.
linuxOsConfig KubernetesClusterNodePoolLinuxOsConfig
A linux_os_config block as defined below. Changing this requires specifying temporary_name_for_rotation.
maxCount number
maxPods number
The maximum number of pods that can run on each agent. Changing this property requires specifying temporary_name_for_rotation.
minCount number
mode string
Should this Node Pool be used for System or User resources? Possible values are System and User. Defaults to User.
name Changes to this property will trigger replacement. 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
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.
nodePublicIpEnabled boolean
Should each node have a Public IP Address? Changing this property requires specifying temporary_name_for_rotation.
nodePublicIpPrefixId Changes to this property will trigger replacement. string
Resource ID for the Public IP Addresses Prefix for the nodes in this Node Pool. node_public_ip_enabled 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 property requires specifying temporary_name_for_rotation.
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 property requires specifying temporary_name_for_rotation.
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 from AzureLinux or Ubuntu to AzureLinux or Ubuntu will not replace the resource, otherwise it forces a new resource to be created.
osType Changes to this property will trigger replacement. 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 property requires specifying temporary_name_for_rotation.
priority Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. 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 property requires specifying temporary_name_for_rotation.
spotMaxPrice Changes to this property will trigger replacement. 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.

temporaryNameForRotation string
Specifies the name of the temporary node pool used to cycle the node pool when one of the relevant properties are updated.
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 property requires specifying temporary_name_for_rotation.
upgradeSettings KubernetesClusterNodePoolUpgradeSettings
A upgrade_settings block as documented below.
vnetSubnetId string

The ID of the Subnet where this Node Pool should exist. Changing this property requires specifying temporary_name_for_rotation.

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

windowsProfile Changes to this property will trigger replacement. 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 and WasmWasi.

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

zones string[]
Specifies a list of Availability Zones in which this Kubernetes Cluster Node Pool should be located. Changing this property requires specifying temporary_name_for_rotation.
kubernetes_cluster_id
This property is required.
Changes to this property will trigger replacement.
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 This property is required. str
The SKU which should be used for the Virtual Machines used in this Node Pool. Changing this property requires specifying temporary_name_for_rotation.
auto_scaling_enabled bool
Whether to enable auto-scaler.
capacity_reservation_group_id Changes to this property will trigger replacement. str
Specifies the ID of the Capacity Reservation Group where this Node Pool should exist. Changing this forces a new resource to be created.
eviction_policy Changes to this property will trigger replacement. 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 property requires specifying temporary_name_for_rotation.

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 Changes to this property will trigger replacement. 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_encryption_enabled bool

Should the nodes in this Node Pool have host encryption enabled? Changing this property requires specifying temporary_name_for_rotation.

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

host_group_id Changes to this property will trigger replacement. 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 requires specifying temporary_name_for_rotation.
kubelet_disk_type str
The type of disk used by kubelet. Possible values are OS and Temporary. Changing this property requires specifying temporary_name_for_rotation.
linux_os_config KubernetesClusterNodePoolLinuxOsConfigArgs
A linux_os_config block as defined below. Changing this requires specifying temporary_name_for_rotation.
max_count int
max_pods int
The maximum number of pods that can run on each agent. Changing this property requires specifying temporary_name_for_rotation.
min_count int
mode str
Should this Node Pool be used for System or User resources? Possible values are System and User. Defaults to User.
name Changes to this property will trigger replacement. 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
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_enabled bool
Should each node have a Public IP Address? Changing this property requires specifying temporary_name_for_rotation.
node_public_ip_prefix_id Changes to this property will trigger replacement. str
Resource ID for the Public IP Addresses Prefix for the nodes in this Node Pool. node_public_ip_enabled 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 property requires specifying temporary_name_for_rotation.
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 property requires specifying temporary_name_for_rotation.
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 from AzureLinux or Ubuntu to AzureLinux or Ubuntu will not replace the resource, otherwise it forces a new resource to be created.
os_type Changes to this property will trigger replacement. 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 property requires specifying temporary_name_for_rotation.
priority Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. 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 property requires specifying temporary_name_for_rotation.
spot_max_price Changes to this property will trigger replacement. 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.

temporary_name_for_rotation str
Specifies the name of the temporary node pool used to cycle the node pool when one of the relevant properties are updated.
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 property requires specifying temporary_name_for_rotation.
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 property requires specifying temporary_name_for_rotation.

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

windows_profile Changes to this property will trigger replacement. 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 and WasmWasi.

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

zones Sequence[str]
Specifies a list of Availability Zones in which this Kubernetes Cluster Node Pool should be located. Changing this property requires specifying temporary_name_for_rotation.
kubernetesClusterId
This property is required.
Changes to this property will trigger replacement.
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 This property is required. String
The SKU which should be used for the Virtual Machines used in this Node Pool. Changing this property requires specifying temporary_name_for_rotation.
autoScalingEnabled Boolean
Whether to enable auto-scaler.
capacityReservationGroupId Changes to this property will trigger replacement. String
Specifies the ID of the Capacity Reservation Group where this Node Pool should exist. Changing this forces a new resource to be created.
evictionPolicy Changes to this property will trigger replacement. 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 property requires specifying temporary_name_for_rotation.

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 Changes to this property will trigger replacement. 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.
hostEncryptionEnabled Boolean

Should the nodes in this Node Pool have host encryption enabled? Changing this property requires specifying temporary_name_for_rotation.

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

hostGroupId Changes to this property will trigger replacement. 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 requires specifying temporary_name_for_rotation.
kubeletDiskType String
The type of disk used by kubelet. Possible values are OS and Temporary. Changing this property requires specifying temporary_name_for_rotation.
linuxOsConfig Property Map
A linux_os_config block as defined below. Changing this requires specifying temporary_name_for_rotation.
maxCount Number
maxPods Number
The maximum number of pods that can run on each agent. Changing this property requires specifying temporary_name_for_rotation.
minCount Number
mode String
Should this Node Pool be used for System or User resources? Possible values are System and User. Defaults to User.
name Changes to this property will trigger replacement. 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
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.
nodePublicIpEnabled Boolean
Should each node have a Public IP Address? Changing this property requires specifying temporary_name_for_rotation.
nodePublicIpPrefixId Changes to this property will trigger replacement. String
Resource ID for the Public IP Addresses Prefix for the nodes in this Node Pool. node_public_ip_enabled 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 property requires specifying temporary_name_for_rotation.
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 property requires specifying temporary_name_for_rotation.
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 from AzureLinux or Ubuntu to AzureLinux or Ubuntu will not replace the resource, otherwise it forces a new resource to be created.
osType Changes to this property will trigger replacement. 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 property requires specifying temporary_name_for_rotation.
priority Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. 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 property requires specifying temporary_name_for_rotation.
spotMaxPrice Changes to this property will trigger replacement. 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.

temporaryNameForRotation String
Specifies the name of the temporary node pool used to cycle the node pool when one of the relevant properties are updated.
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 property requires specifying temporary_name_for_rotation.
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 property requires specifying temporary_name_for_rotation.

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

windowsProfile Changes to this property will trigger replacement. 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 and WasmWasi.

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

zones List<String>
Specifies a list of Availability Zones in which this Kubernetes Cluster Node Pool should be located. Changing this property requires specifying temporary_name_for_rotation.

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,
        auto_scaling_enabled: Optional[bool] = None,
        capacity_reservation_group_id: Optional[str] = None,
        eviction_policy: Optional[str] = None,
        fips_enabled: Optional[bool] = None,
        gpu_instance: Optional[str] = None,
        host_encryption_enabled: Optional[bool] = 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,
        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_enabled: Optional[bool] = 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,
        temporary_name_for_rotation: Optional[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)
resources:  _:    type: azure:containerservice:KubernetesClusterNodePool    get:      id: ${id}
name This property is required.
The unique name of the resulting resource.
id This property is required.
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 This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
name This property is required.
The unique name of the resulting resource.
id This property is required.
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 This property is required.
The unique name of the resulting resource.
id This property is required.
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 This property is required.
The unique name of the resulting resource.
id This property is required.
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:
AutoScalingEnabled bool
Whether to enable auto-scaler.
CapacityReservationGroupId Changes to this property will trigger replacement. string
Specifies the ID of the Capacity Reservation Group where this Node Pool should exist. Changing this forces a new resource to be created.
EvictionPolicy Changes to this property will trigger replacement. 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 property requires specifying temporary_name_for_rotation.

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 Changes to this property will trigger replacement. 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.
HostEncryptionEnabled bool

Should the nodes in this Node Pool have host encryption enabled? Changing this property requires specifying temporary_name_for_rotation.

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

HostGroupId Changes to this property will trigger replacement. 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 requires specifying temporary_name_for_rotation.
KubeletDiskType string
The type of disk used by kubelet. Possible values are OS and Temporary. Changing this property requires specifying temporary_name_for_rotation.
KubernetesClusterId Changes to this property will trigger replacement. 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 requires specifying temporary_name_for_rotation.
MaxCount int
MaxPods int
The maximum number of pods that can run on each agent. Changing this property requires specifying temporary_name_for_rotation.
MinCount int
Mode string
Should this Node Pool be used for System or User resources? Possible values are System and User. Defaults to User.
Name Changes to this property will trigger replacement. 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
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.
NodePublicIpEnabled bool
Should each node have a Public IP Address? Changing this property requires specifying temporary_name_for_rotation.
NodePublicIpPrefixId Changes to this property will trigger replacement. string
Resource ID for the Public IP Addresses Prefix for the nodes in this Node Pool. node_public_ip_enabled 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 property requires specifying temporary_name_for_rotation.
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 property requires specifying temporary_name_for_rotation.
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 from AzureLinux or Ubuntu to AzureLinux or Ubuntu will not replace the resource, otherwise it forces a new resource to be created.
OsType Changes to this property will trigger replacement. 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 property requires specifying temporary_name_for_rotation.
Priority Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. 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 property requires specifying temporary_name_for_rotation.
SpotMaxPrice Changes to this property will trigger replacement. 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.

TemporaryNameForRotation string
Specifies the name of the temporary node pool used to cycle the node pool when one of the relevant properties are updated.
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 property requires specifying temporary_name_for_rotation.
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 property requires specifying temporary_name_for_rotation.
VnetSubnetId string

The ID of the Subnet where this Node Pool should exist. Changing this property requires specifying temporary_name_for_rotation.

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

WindowsProfile Changes to this property will trigger replacement. 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 and WasmWasi.

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

Zones List<string>
Specifies a list of Availability Zones in which this Kubernetes Cluster Node Pool should be located. Changing this property requires specifying temporary_name_for_rotation.
AutoScalingEnabled bool
Whether to enable auto-scaler.
CapacityReservationGroupId Changes to this property will trigger replacement. string
Specifies the ID of the Capacity Reservation Group where this Node Pool should exist. Changing this forces a new resource to be created.
EvictionPolicy Changes to this property will trigger replacement. 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 property requires specifying temporary_name_for_rotation.

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 Changes to this property will trigger replacement. 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.
HostEncryptionEnabled bool

Should the nodes in this Node Pool have host encryption enabled? Changing this property requires specifying temporary_name_for_rotation.

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

HostGroupId Changes to this property will trigger replacement. 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 requires specifying temporary_name_for_rotation.
KubeletDiskType string
The type of disk used by kubelet. Possible values are OS and Temporary. Changing this property requires specifying temporary_name_for_rotation.
KubernetesClusterId Changes to this property will trigger replacement. 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 requires specifying temporary_name_for_rotation.
MaxCount int
MaxPods int
The maximum number of pods that can run on each agent. Changing this property requires specifying temporary_name_for_rotation.
MinCount int
Mode string
Should this Node Pool be used for System or User resources? Possible values are System and User. Defaults to User.
Name Changes to this property will trigger replacement. 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
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.
NodePublicIpEnabled bool
Should each node have a Public IP Address? Changing this property requires specifying temporary_name_for_rotation.
NodePublicIpPrefixId Changes to this property will trigger replacement. string
Resource ID for the Public IP Addresses Prefix for the nodes in this Node Pool. node_public_ip_enabled 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 property requires specifying temporary_name_for_rotation.
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 property requires specifying temporary_name_for_rotation.
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 from AzureLinux or Ubuntu to AzureLinux or Ubuntu will not replace the resource, otherwise it forces a new resource to be created.
OsType Changes to this property will trigger replacement. 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 property requires specifying temporary_name_for_rotation.
Priority Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. 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 property requires specifying temporary_name_for_rotation.
SpotMaxPrice Changes to this property will trigger replacement. 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.

TemporaryNameForRotation string
Specifies the name of the temporary node pool used to cycle the node pool when one of the relevant properties are updated.
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 property requires specifying temporary_name_for_rotation.
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 property requires specifying temporary_name_for_rotation.
VnetSubnetId string

The ID of the Subnet where this Node Pool should exist. Changing this property requires specifying temporary_name_for_rotation.

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

WindowsProfile Changes to this property will trigger replacement. 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 and WasmWasi.

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

Zones []string
Specifies a list of Availability Zones in which this Kubernetes Cluster Node Pool should be located. Changing this property requires specifying temporary_name_for_rotation.
autoScalingEnabled Boolean
Whether to enable auto-scaler.
capacityReservationGroupId Changes to this property will trigger replacement. String
Specifies the ID of the Capacity Reservation Group where this Node Pool should exist. Changing this forces a new resource to be created.
evictionPolicy Changes to this property will trigger replacement. 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 property requires specifying temporary_name_for_rotation.

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 Changes to this property will trigger replacement. 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.
hostEncryptionEnabled Boolean

Should the nodes in this Node Pool have host encryption enabled? Changing this property requires specifying temporary_name_for_rotation.

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

hostGroupId Changes to this property will trigger replacement. 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 requires specifying temporary_name_for_rotation.
kubeletDiskType String
The type of disk used by kubelet. Possible values are OS and Temporary. Changing this property requires specifying temporary_name_for_rotation.
kubernetesClusterId Changes to this property will trigger replacement. 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 requires specifying temporary_name_for_rotation.
maxCount Integer
maxPods Integer
The maximum number of pods that can run on each agent. Changing this property requires specifying temporary_name_for_rotation.
minCount Integer
mode String
Should this Node Pool be used for System or User resources? Possible values are System and User. Defaults to User.
name Changes to this property will trigger replacement. 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
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.
nodePublicIpEnabled Boolean
Should each node have a Public IP Address? Changing this property requires specifying temporary_name_for_rotation.
nodePublicIpPrefixId Changes to this property will trigger replacement. String
Resource ID for the Public IP Addresses Prefix for the nodes in this Node Pool. node_public_ip_enabled 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 property requires specifying temporary_name_for_rotation.
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 property requires specifying temporary_name_for_rotation.
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 from AzureLinux or Ubuntu to AzureLinux or Ubuntu will not replace the resource, otherwise it forces a new resource to be created.
osType Changes to this property will trigger replacement. 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 property requires specifying temporary_name_for_rotation.
priority Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. 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 property requires specifying temporary_name_for_rotation.
spotMaxPrice Changes to this property will trigger replacement. 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.

temporaryNameForRotation String
Specifies the name of the temporary node pool used to cycle the node pool when one of the relevant properties are updated.
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 property requires specifying temporary_name_for_rotation.
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 property requires specifying temporary_name_for_rotation.
vnetSubnetId String

The ID of the Subnet where this Node Pool should exist. Changing this property requires specifying temporary_name_for_rotation.

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

windowsProfile Changes to this property will trigger replacement. 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 and WasmWasi.

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

zones List<String>
Specifies a list of Availability Zones in which this Kubernetes Cluster Node Pool should be located. Changing this property requires specifying temporary_name_for_rotation.
autoScalingEnabled boolean
Whether to enable auto-scaler.
capacityReservationGroupId Changes to this property will trigger replacement. string
Specifies the ID of the Capacity Reservation Group where this Node Pool should exist. Changing this forces a new resource to be created.
evictionPolicy Changes to this property will trigger replacement. 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 property requires specifying temporary_name_for_rotation.

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 Changes to this property will trigger replacement. 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.
hostEncryptionEnabled boolean

Should the nodes in this Node Pool have host encryption enabled? Changing this property requires specifying temporary_name_for_rotation.

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

hostGroupId Changes to this property will trigger replacement. 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 requires specifying temporary_name_for_rotation.
kubeletDiskType string
The type of disk used by kubelet. Possible values are OS and Temporary. Changing this property requires specifying temporary_name_for_rotation.
kubernetesClusterId Changes to this property will trigger replacement. 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 requires specifying temporary_name_for_rotation.
maxCount number
maxPods number
The maximum number of pods that can run on each agent. Changing this property requires specifying temporary_name_for_rotation.
minCount number
mode string
Should this Node Pool be used for System or User resources? Possible values are System and User. Defaults to User.
name Changes to this property will trigger replacement. 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
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.
nodePublicIpEnabled boolean
Should each node have a Public IP Address? Changing this property requires specifying temporary_name_for_rotation.
nodePublicIpPrefixId Changes to this property will trigger replacement. string
Resource ID for the Public IP Addresses Prefix for the nodes in this Node Pool. node_public_ip_enabled 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 property requires specifying temporary_name_for_rotation.
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 property requires specifying temporary_name_for_rotation.
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 from AzureLinux or Ubuntu to AzureLinux or Ubuntu will not replace the resource, otherwise it forces a new resource to be created.
osType Changes to this property will trigger replacement. 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 property requires specifying temporary_name_for_rotation.
priority Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. 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 property requires specifying temporary_name_for_rotation.
spotMaxPrice Changes to this property will trigger replacement. 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.

temporaryNameForRotation string
Specifies the name of the temporary node pool used to cycle the node pool when one of the relevant properties are updated.
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 property requires specifying temporary_name_for_rotation.
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 property requires specifying temporary_name_for_rotation.
vnetSubnetId string

The ID of the Subnet where this Node Pool should exist. Changing this property requires specifying temporary_name_for_rotation.

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

windowsProfile Changes to this property will trigger replacement. 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 and WasmWasi.

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

zones string[]
Specifies a list of Availability Zones in which this Kubernetes Cluster Node Pool should be located. Changing this property requires specifying temporary_name_for_rotation.
auto_scaling_enabled bool
Whether to enable auto-scaler.
capacity_reservation_group_id Changes to this property will trigger replacement. str
Specifies the ID of the Capacity Reservation Group where this Node Pool should exist. Changing this forces a new resource to be created.
eviction_policy Changes to this property will trigger replacement. 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 property requires specifying temporary_name_for_rotation.

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 Changes to this property will trigger replacement. 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_encryption_enabled bool

Should the nodes in this Node Pool have host encryption enabled? Changing this property requires specifying temporary_name_for_rotation.

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

host_group_id Changes to this property will trigger replacement. 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 requires specifying temporary_name_for_rotation.
kubelet_disk_type str
The type of disk used by kubelet. Possible values are OS and Temporary. Changing this property requires specifying temporary_name_for_rotation.
kubernetes_cluster_id Changes to this property will trigger replacement. 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 requires specifying temporary_name_for_rotation.
max_count int
max_pods int
The maximum number of pods that can run on each agent. Changing this property requires specifying temporary_name_for_rotation.
min_count int
mode str
Should this Node Pool be used for System or User resources? Possible values are System and User. Defaults to User.
name Changes to this property will trigger replacement. 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
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_enabled bool
Should each node have a Public IP Address? Changing this property requires specifying temporary_name_for_rotation.
node_public_ip_prefix_id Changes to this property will trigger replacement. str
Resource ID for the Public IP Addresses Prefix for the nodes in this Node Pool. node_public_ip_enabled 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 property requires specifying temporary_name_for_rotation.
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 property requires specifying temporary_name_for_rotation.
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 from AzureLinux or Ubuntu to AzureLinux or Ubuntu will not replace the resource, otherwise it forces a new resource to be created.
os_type Changes to this property will trigger replacement. 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 property requires specifying temporary_name_for_rotation.
priority Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. 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 property requires specifying temporary_name_for_rotation.
spot_max_price Changes to this property will trigger replacement. 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.

temporary_name_for_rotation str
Specifies the name of the temporary node pool used to cycle the node pool when one of the relevant properties are updated.
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 property requires specifying temporary_name_for_rotation.
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 property requires specifying temporary_name_for_rotation.
vnet_subnet_id str

The ID of the Subnet where this Node Pool should exist. Changing this property requires specifying temporary_name_for_rotation.

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

windows_profile Changes to this property will trigger replacement. 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 and WasmWasi.

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

zones Sequence[str]
Specifies a list of Availability Zones in which this Kubernetes Cluster Node Pool should be located. Changing this property requires specifying temporary_name_for_rotation.
autoScalingEnabled Boolean
Whether to enable auto-scaler.
capacityReservationGroupId Changes to this property will trigger replacement. String
Specifies the ID of the Capacity Reservation Group where this Node Pool should exist. Changing this forces a new resource to be created.
evictionPolicy Changes to this property will trigger replacement. 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 property requires specifying temporary_name_for_rotation.

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 Changes to this property will trigger replacement. 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.
hostEncryptionEnabled Boolean

Should the nodes in this Node Pool have host encryption enabled? Changing this property requires specifying temporary_name_for_rotation.

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

hostGroupId Changes to this property will trigger replacement. 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 requires specifying temporary_name_for_rotation.
kubeletDiskType String
The type of disk used by kubelet. Possible values are OS and Temporary. Changing this property requires specifying temporary_name_for_rotation.
kubernetesClusterId Changes to this property will trigger replacement. 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 requires specifying temporary_name_for_rotation.
maxCount Number
maxPods Number
The maximum number of pods that can run on each agent. Changing this property requires specifying temporary_name_for_rotation.
minCount Number
mode String
Should this Node Pool be used for System or User resources? Possible values are System and User. Defaults to User.
name Changes to this property will trigger replacement. 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
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.
nodePublicIpEnabled Boolean
Should each node have a Public IP Address? Changing this property requires specifying temporary_name_for_rotation.
nodePublicIpPrefixId Changes to this property will trigger replacement. String
Resource ID for the Public IP Addresses Prefix for the nodes in this Node Pool. node_public_ip_enabled 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 property requires specifying temporary_name_for_rotation.
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 property requires specifying temporary_name_for_rotation.
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 from AzureLinux or Ubuntu to AzureLinux or Ubuntu will not replace the resource, otherwise it forces a new resource to be created.
osType Changes to this property will trigger replacement. 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 property requires specifying temporary_name_for_rotation.
priority Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. 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 property requires specifying temporary_name_for_rotation.
spotMaxPrice Changes to this property will trigger replacement. 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.

temporaryNameForRotation String
Specifies the name of the temporary node pool used to cycle the node pool when one of the relevant properties are updated.
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 property requires specifying temporary_name_for_rotation.
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 property requires specifying temporary_name_for_rotation.
vnetSubnetId String

The ID of the Subnet where this Node Pool should exist. Changing this property requires specifying temporary_name_for_rotation.

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

windowsProfile Changes to this property will trigger replacement. 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 and WasmWasi.

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

zones List<String>
Specifies a list of Availability Zones in which this Kubernetes Cluster Node Pool should be located. Changing this property requires specifying temporary_name_for_rotation.

Supporting Types

KubernetesClusterNodePoolKubeletConfig
, KubernetesClusterNodePoolKubeletConfigArgs

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

KubernetesClusterNodePoolLinuxOsConfig
, KubernetesClusterNodePoolLinuxOsConfigArgs

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

KubernetesClusterNodePoolLinuxOsConfigSysctlConfig
, KubernetesClusterNodePoolLinuxOsConfigSysctlConfigArgs

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

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 Changes to this property will trigger replacement. Dictionary<string, string>

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

Note: To set the application security group, you must allow at least one host port. Without this, the configuration will fail silently. Learn More.

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 Changes to this property will trigger replacement. map[string]string

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

Note: To set the application security group, you must allow at least one host port. Without this, the configuration will fail silently. Learn More.

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 Changes to this property will trigger replacement. Map<String,String>

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

Note: To set the application security group, you must allow at least one host port. Without this, the configuration will fail silently. Learn More.

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 Changes to this property will trigger replacement. {[key: string]: string}

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

Note: To set the application security group, you must allow at least one host port. Without this, the configuration will fail silently. Learn More.

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 Changes to this property will trigger replacement. Mapping[str, str]

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

Note: To set the application security group, you must allow at least one host port. Without this, the configuration will fail silently. Learn More.

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 Changes to this property will trigger replacement. Map<String>

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

Note: To set the application security group, you must allow at least one host port. Without this, the configuration will fail silently. Learn More.

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 This property is required. string
The maximum number or percentage of nodes which will be added to the Node Pool size during an upgrade.
DrainTimeoutInMinutes int
The amount of time in minutes to wait on eviction of pods and graceful termination per node. This eviction wait time honors waiting on pod disruption budgets. If this time is exceeded, the upgrade fails. Unsetting this after configuring it will force a new resource to be created.
NodeSoakDurationInMinutes int
The amount of time in minutes to wait after draining a node and before reimaging and moving on to next node.
MaxSurge This property is required. string
The maximum number or percentage of nodes which will be added to the Node Pool size during an upgrade.
DrainTimeoutInMinutes int
The amount of time in minutes to wait on eviction of pods and graceful termination per node. This eviction wait time honors waiting on pod disruption budgets. If this time is exceeded, the upgrade fails. Unsetting this after configuring it will force a new resource to be created.
NodeSoakDurationInMinutes int
The amount of time in minutes to wait after draining a node and before reimaging and moving on to next node.
maxSurge This property is required. String
The maximum number or percentage of nodes which will be added to the Node Pool size during an upgrade.
drainTimeoutInMinutes Integer
The amount of time in minutes to wait on eviction of pods and graceful termination per node. This eviction wait time honors waiting on pod disruption budgets. If this time is exceeded, the upgrade fails. Unsetting this after configuring it will force a new resource to be created.
nodeSoakDurationInMinutes Integer
The amount of time in minutes to wait after draining a node and before reimaging and moving on to next node.
maxSurge This property is required. string
The maximum number or percentage of nodes which will be added to the Node Pool size during an upgrade.
drainTimeoutInMinutes number
The amount of time in minutes to wait on eviction of pods and graceful termination per node. This eviction wait time honors waiting on pod disruption budgets. If this time is exceeded, the upgrade fails. Unsetting this after configuring it will force a new resource to be created.
nodeSoakDurationInMinutes number
The amount of time in minutes to wait after draining a node and before reimaging and moving on to next node.
max_surge This property is required. str
The maximum number or percentage of nodes which will be added to the Node Pool size during an upgrade.
drain_timeout_in_minutes int
The amount of time in minutes to wait on eviction of pods and graceful termination per node. This eviction wait time honors waiting on pod disruption budgets. If this time is exceeded, the upgrade fails. Unsetting this after configuring it will force a new resource to be created.
node_soak_duration_in_minutes int
The amount of time in minutes to wait after draining a node and before reimaging and moving on to next node.
maxSurge This property is required. String
The maximum number or percentage of nodes which will be added to the Node Pool size during an upgrade.
drainTimeoutInMinutes Number
The amount of time in minutes to wait on eviction of pods and graceful termination per node. This eviction wait time honors waiting on pod disruption budgets. If this time is exceeded, the upgrade fails. Unsetting this after configuring it will force a new resource to be created.
nodeSoakDurationInMinutes Number
The amount of time in minutes to wait after draining a node and before reimaging and moving on to next node.

KubernetesClusterNodePoolWindowsProfile
, KubernetesClusterNodePoolWindowsProfileArgs

OutboundNatEnabled Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. 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
Copy

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.