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

We recommend using Azure Native.

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

azure.containerservice.getClusterNodePool

Explore with Pulumi AI

We recommend using Azure Native.

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

Use this data source to access information about an existing Kubernetes Cluster Node Pool.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";

const example = azure.containerservice.getClusterNodePool({
    name: "existing",
    kubernetesClusterName: "existing-cluster",
    resourceGroupName: "existing-resource-group",
});
export const id = example.then(example => example.id);
Copy
import pulumi
import pulumi_azure as azure

example = azure.containerservice.get_cluster_node_pool(name="existing",
    kubernetes_cluster_name="existing-cluster",
    resource_group_name="existing-resource-group")
pulumi.export("id", example.id)
Copy
package main

import (
	"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/containerservice"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := containerservice.GetClusterNodePool(ctx, &containerservice.GetClusterNodePoolArgs{
			Name:                  "existing",
			KubernetesClusterName: "existing-cluster",
			ResourceGroupName:     "existing-resource-group",
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("id", example.Id)
		return nil
	})
}
Copy
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Azure = Pulumi.Azure;

return await Deployment.RunAsync(() => 
{
    var example = Azure.ContainerService.GetClusterNodePool.Invoke(new()
    {
        Name = "existing",
        KubernetesClusterName = "existing-cluster",
        ResourceGroupName = "existing-resource-group",
    });

    return new Dictionary<string, object?>
    {
        ["id"] = example.Apply(getClusterNodePoolResult => getClusterNodePoolResult.Id),
    };
});
Copy
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azure.containerservice.ContainerserviceFunctions;
import com.pulumi.azure.containerservice.inputs.GetClusterNodePoolArgs;
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) {
        final var example = ContainerserviceFunctions.getClusterNodePool(GetClusterNodePoolArgs.builder()
            .name("existing")
            .kubernetesClusterName("existing-cluster")
            .resourceGroupName("existing-resource-group")
            .build());

        ctx.export("id", example.applyValue(getClusterNodePoolResult -> getClusterNodePoolResult.id()));
    }
}
Copy
variables:
  example:
    fn::invoke:
      function: azure:containerservice:getClusterNodePool
      arguments:
        name: existing
        kubernetesClusterName: existing-cluster
        resourceGroupName: existing-resource-group
outputs:
  id: ${example.id}
Copy

Using getClusterNodePool

Two invocation forms are available. The direct form accepts plain arguments and either blocks until the result value is available, or returns a Promise-wrapped result. The output form accepts Input-wrapped arguments and returns an Output-wrapped result.

function getClusterNodePool(args: GetClusterNodePoolArgs, opts?: InvokeOptions): Promise<GetClusterNodePoolResult>
function getClusterNodePoolOutput(args: GetClusterNodePoolOutputArgs, opts?: InvokeOptions): Output<GetClusterNodePoolResult>
Copy
def get_cluster_node_pool(kubernetes_cluster_name: Optional[str] = None,
                          name: Optional[str] = None,
                          resource_group_name: Optional[str] = None,
                          opts: Optional[InvokeOptions] = None) -> GetClusterNodePoolResult
def get_cluster_node_pool_output(kubernetes_cluster_name: Optional[pulumi.Input[str]] = None,
                          name: Optional[pulumi.Input[str]] = None,
                          resource_group_name: Optional[pulumi.Input[str]] = None,
                          opts: Optional[InvokeOptions] = None) -> Output[GetClusterNodePoolResult]
Copy
func GetClusterNodePool(ctx *Context, args *GetClusterNodePoolArgs, opts ...InvokeOption) (*GetClusterNodePoolResult, error)
func GetClusterNodePoolOutput(ctx *Context, args *GetClusterNodePoolOutputArgs, opts ...InvokeOption) GetClusterNodePoolResultOutput
Copy

> Note: This function is named GetClusterNodePool in the Go SDK.

public static class GetClusterNodePool 
{
    public static Task<GetClusterNodePoolResult> InvokeAsync(GetClusterNodePoolArgs args, InvokeOptions? opts = null)
    public static Output<GetClusterNodePoolResult> Invoke(GetClusterNodePoolInvokeArgs args, InvokeOptions? opts = null)
}
Copy
public static CompletableFuture<GetClusterNodePoolResult> getClusterNodePool(GetClusterNodePoolArgs args, InvokeOptions options)
public static Output<GetClusterNodePoolResult> getClusterNodePool(GetClusterNodePoolArgs args, InvokeOptions options)
Copy
fn::invoke:
  function: azure:containerservice/getClusterNodePool:getClusterNodePool
  arguments:
    # arguments dictionary
Copy

The following arguments are supported:

KubernetesClusterName This property is required. string
The Name of the Kubernetes Cluster where this Node Pool is located.
Name This property is required. string
The name of this Kubernetes Cluster Node Pool.
ResourceGroupName This property is required. string
The name of the Resource Group where the Kubernetes Cluster exists.
KubernetesClusterName This property is required. string
The Name of the Kubernetes Cluster where this Node Pool is located.
Name This property is required. string
The name of this Kubernetes Cluster Node Pool.
ResourceGroupName This property is required. string
The name of the Resource Group where the Kubernetes Cluster exists.
kubernetesClusterName This property is required. String
The Name of the Kubernetes Cluster where this Node Pool is located.
name This property is required. String
The name of this Kubernetes Cluster Node Pool.
resourceGroupName This property is required. String
The name of the Resource Group where the Kubernetes Cluster exists.
kubernetesClusterName This property is required. string
The Name of the Kubernetes Cluster where this Node Pool is located.
name This property is required. string
The name of this Kubernetes Cluster Node Pool.
resourceGroupName This property is required. string
The name of the Resource Group where the Kubernetes Cluster exists.
kubernetes_cluster_name This property is required. str
The Name of the Kubernetes Cluster where this Node Pool is located.
name This property is required. str
The name of this Kubernetes Cluster Node Pool.
resource_group_name This property is required. str
The name of the Resource Group where the Kubernetes Cluster exists.
kubernetesClusterName This property is required. String
The Name of the Kubernetes Cluster where this Node Pool is located.
name This property is required. String
The name of this Kubernetes Cluster Node Pool.
resourceGroupName This property is required. String
The name of the Resource Group where the Kubernetes Cluster exists.

getClusterNodePool Result

The following output properties are available:

AutoScalingEnabled bool
Does this Node Pool have Auto-Scaling enabled?
EvictionPolicy string
The eviction policy used for Virtual Machines in the Virtual Machine Scale Set, when priority is set to Spot.
Id string
The provider-assigned unique ID for this managed resource.
KubernetesClusterName string
MaxCount int
The maximum number of Nodes allowed when auto-scaling is enabled.
MaxPods int
The maximum number of Pods allowed on each Node in this Node Pool.
MinCount int
The minimum number of Nodes allowed when auto-scaling is enabled.
Mode string
The Mode for this Node Pool, specifying how these Nodes should be used (for either System or User resources).
Name string
NodeCount int
The current number of Nodes in the Node Pool.
NodeLabels Dictionary<string, string>
A map of Kubernetes Labels applied to each Node in this Node Pool.
NodePublicIpEnabled bool
Do nodes in this Node Pool have a Public IP Address?
NodePublicIpPrefixId string
Resource ID for the Public IP Addresses Prefix for the nodes in this Agent Pool.
NodeTaints List<string>
A map of Kubernetes Taints applied to each Node in this Node Pool.
OrchestratorVersion string
The version of Kubernetes configured on each Node in this Node Pool.
OsDiskSizeGb int
The size of the OS Disk on each Node in this Node Pool.
OsDiskType string
The type of the OS Disk on each Node in this Node Pool.
OsType string
The operating system used on each Node in this Node Pool.
Priority string
The priority of the Virtual Machines in the Virtual Machine Scale Set backing this Node Pool.
ProximityPlacementGroupId string
The ID of the Proximity Placement Group where the Virtual Machine Scale Set backing this Node Pool will be placed.
ResourceGroupName string
SpotMaxPrice double
The maximum price being paid for Virtual Machines in this Scale Set. -1 means the current on-demand price for a Virtual Machine.
Tags Dictionary<string, string>
A mapping of tags assigned to the Kubernetes Cluster Node Pool.
UpgradeSettings List<GetClusterNodePoolUpgradeSetting>
A upgrade_settings block as documented below.
VmSize string
The size of the Virtual Machines used in the Virtual Machine Scale Set backing this Node Pool.
VnetSubnetId string
The ID of the Subnet in which this Node Pool exists.
Zones List<string>
A list of the Availability Zones where the Nodes in this Node Pool exist.
AutoScalingEnabled bool
Does this Node Pool have Auto-Scaling enabled?
EvictionPolicy string
The eviction policy used for Virtual Machines in the Virtual Machine Scale Set, when priority is set to Spot.
Id string
The provider-assigned unique ID for this managed resource.
KubernetesClusterName string
MaxCount int
The maximum number of Nodes allowed when auto-scaling is enabled.
MaxPods int
The maximum number of Pods allowed on each Node in this Node Pool.
MinCount int
The minimum number of Nodes allowed when auto-scaling is enabled.
Mode string
The Mode for this Node Pool, specifying how these Nodes should be used (for either System or User resources).
Name string
NodeCount int
The current number of Nodes in the Node Pool.
NodeLabels map[string]string
A map of Kubernetes Labels applied to each Node in this Node Pool.
NodePublicIpEnabled bool
Do nodes in this Node Pool have a Public IP Address?
NodePublicIpPrefixId string
Resource ID for the Public IP Addresses Prefix for the nodes in this Agent Pool.
NodeTaints []string
A map of Kubernetes Taints applied to each Node in this Node Pool.
OrchestratorVersion string
The version of Kubernetes configured on each Node in this Node Pool.
OsDiskSizeGb int
The size of the OS Disk on each Node in this Node Pool.
OsDiskType string
The type of the OS Disk on each Node in this Node Pool.
OsType string
The operating system used on each Node in this Node Pool.
Priority string
The priority of the Virtual Machines in the Virtual Machine Scale Set backing this Node Pool.
ProximityPlacementGroupId string
The ID of the Proximity Placement Group where the Virtual Machine Scale Set backing this Node Pool will be placed.
ResourceGroupName string
SpotMaxPrice float64
The maximum price being paid for Virtual Machines in this Scale Set. -1 means the current on-demand price for a Virtual Machine.
Tags map[string]string
A mapping of tags assigned to the Kubernetes Cluster Node Pool.
UpgradeSettings []GetClusterNodePoolUpgradeSetting
A upgrade_settings block as documented below.
VmSize string
The size of the Virtual Machines used in the Virtual Machine Scale Set backing this Node Pool.
VnetSubnetId string
The ID of the Subnet in which this Node Pool exists.
Zones []string
A list of the Availability Zones where the Nodes in this Node Pool exist.
autoScalingEnabled Boolean
Does this Node Pool have Auto-Scaling enabled?
evictionPolicy String
The eviction policy used for Virtual Machines in the Virtual Machine Scale Set, when priority is set to Spot.
id String
The provider-assigned unique ID for this managed resource.
kubernetesClusterName String
maxCount Integer
The maximum number of Nodes allowed when auto-scaling is enabled.
maxPods Integer
The maximum number of Pods allowed on each Node in this Node Pool.
minCount Integer
The minimum number of Nodes allowed when auto-scaling is enabled.
mode String
The Mode for this Node Pool, specifying how these Nodes should be used (for either System or User resources).
name String
nodeCount Integer
The current number of Nodes in the Node Pool.
nodeLabels Map<String,String>
A map of Kubernetes Labels applied to each Node in this Node Pool.
nodePublicIpEnabled Boolean
Do nodes in this Node Pool have a Public IP Address?
nodePublicIpPrefixId String
Resource ID for the Public IP Addresses Prefix for the nodes in this Agent Pool.
nodeTaints List<String>
A map of Kubernetes Taints applied to each Node in this Node Pool.
orchestratorVersion String
The version of Kubernetes configured on each Node in this Node Pool.
osDiskSizeGb Integer
The size of the OS Disk on each Node in this Node Pool.
osDiskType String
The type of the OS Disk on each Node in this Node Pool.
osType String
The operating system used on each Node in this Node Pool.
priority String
The priority of the Virtual Machines in the Virtual Machine Scale Set backing this Node Pool.
proximityPlacementGroupId String
The ID of the Proximity Placement Group where the Virtual Machine Scale Set backing this Node Pool will be placed.
resourceGroupName String
spotMaxPrice Double
The maximum price being paid for Virtual Machines in this Scale Set. -1 means the current on-demand price for a Virtual Machine.
tags Map<String,String>
A mapping of tags assigned to the Kubernetes Cluster Node Pool.
upgradeSettings List<GetClusterNodePoolUpgradeSetting>
A upgrade_settings block as documented below.
vmSize String
The size of the Virtual Machines used in the Virtual Machine Scale Set backing this Node Pool.
vnetSubnetId String
The ID of the Subnet in which this Node Pool exists.
zones List<String>
A list of the Availability Zones where the Nodes in this Node Pool exist.
autoScalingEnabled boolean
Does this Node Pool have Auto-Scaling enabled?
evictionPolicy string
The eviction policy used for Virtual Machines in the Virtual Machine Scale Set, when priority is set to Spot.
id string
The provider-assigned unique ID for this managed resource.
kubernetesClusterName string
maxCount number
The maximum number of Nodes allowed when auto-scaling is enabled.
maxPods number
The maximum number of Pods allowed on each Node in this Node Pool.
minCount number
The minimum number of Nodes allowed when auto-scaling is enabled.
mode string
The Mode for this Node Pool, specifying how these Nodes should be used (for either System or User resources).
name string
nodeCount number
The current number of Nodes in the Node Pool.
nodeLabels {[key: string]: string}
A map of Kubernetes Labels applied to each Node in this Node Pool.
nodePublicIpEnabled boolean
Do nodes in this Node Pool have a Public IP Address?
nodePublicIpPrefixId string
Resource ID for the Public IP Addresses Prefix for the nodes in this Agent Pool.
nodeTaints string[]
A map of Kubernetes Taints applied to each Node in this Node Pool.
orchestratorVersion string
The version of Kubernetes configured on each Node in this Node Pool.
osDiskSizeGb number
The size of the OS Disk on each Node in this Node Pool.
osDiskType string
The type of the OS Disk on each Node in this Node Pool.
osType string
The operating system used on each Node in this Node Pool.
priority string
The priority of the Virtual Machines in the Virtual Machine Scale Set backing this Node Pool.
proximityPlacementGroupId string
The ID of the Proximity Placement Group where the Virtual Machine Scale Set backing this Node Pool will be placed.
resourceGroupName string
spotMaxPrice number
The maximum price being paid for Virtual Machines in this Scale Set. -1 means the current on-demand price for a Virtual Machine.
tags {[key: string]: string}
A mapping of tags assigned to the Kubernetes Cluster Node Pool.
upgradeSettings GetClusterNodePoolUpgradeSetting[]
A upgrade_settings block as documented below.
vmSize string
The size of the Virtual Machines used in the Virtual Machine Scale Set backing this Node Pool.
vnetSubnetId string
The ID of the Subnet in which this Node Pool exists.
zones string[]
A list of the Availability Zones where the Nodes in this Node Pool exist.
auto_scaling_enabled bool
Does this Node Pool have Auto-Scaling enabled?
eviction_policy str
The eviction policy used for Virtual Machines in the Virtual Machine Scale Set, when priority is set to Spot.
id str
The provider-assigned unique ID for this managed resource.
kubernetes_cluster_name str
max_count int
The maximum number of Nodes allowed when auto-scaling is enabled.
max_pods int
The maximum number of Pods allowed on each Node in this Node Pool.
min_count int
The minimum number of Nodes allowed when auto-scaling is enabled.
mode str
The Mode for this Node Pool, specifying how these Nodes should be used (for either System or User resources).
name str
node_count int
The current number of Nodes in the Node Pool.
node_labels Mapping[str, str]
A map of Kubernetes Labels applied to each Node in this Node Pool.
node_public_ip_enabled bool
Do nodes in this Node Pool have a Public IP Address?
node_public_ip_prefix_id str
Resource ID for the Public IP Addresses Prefix for the nodes in this Agent Pool.
node_taints Sequence[str]
A map of Kubernetes Taints applied to each Node in this Node Pool.
orchestrator_version str
The version of Kubernetes configured on each Node in this Node Pool.
os_disk_size_gb int
The size of the OS Disk on each Node in this Node Pool.
os_disk_type str
The type of the OS Disk on each Node in this Node Pool.
os_type str
The operating system used on each Node in this Node Pool.
priority str
The priority of the Virtual Machines in the Virtual Machine Scale Set backing this Node Pool.
proximity_placement_group_id str
The ID of the Proximity Placement Group where the Virtual Machine Scale Set backing this Node Pool will be placed.
resource_group_name str
spot_max_price float
The maximum price being paid for Virtual Machines in this Scale Set. -1 means the current on-demand price for a Virtual Machine.
tags Mapping[str, str]
A mapping of tags assigned to the Kubernetes Cluster Node Pool.
upgrade_settings Sequence[GetClusterNodePoolUpgradeSetting]
A upgrade_settings block as documented below.
vm_size str
The size of the Virtual Machines used in the Virtual Machine Scale Set backing this Node Pool.
vnet_subnet_id str
The ID of the Subnet in which this Node Pool exists.
zones Sequence[str]
A list of the Availability Zones where the Nodes in this Node Pool exist.
autoScalingEnabled Boolean
Does this Node Pool have Auto-Scaling enabled?
evictionPolicy String
The eviction policy used for Virtual Machines in the Virtual Machine Scale Set, when priority is set to Spot.
id String
The provider-assigned unique ID for this managed resource.
kubernetesClusterName String
maxCount Number
The maximum number of Nodes allowed when auto-scaling is enabled.
maxPods Number
The maximum number of Pods allowed on each Node in this Node Pool.
minCount Number
The minimum number of Nodes allowed when auto-scaling is enabled.
mode String
The Mode for this Node Pool, specifying how these Nodes should be used (for either System or User resources).
name String
nodeCount Number
The current number of Nodes in the Node Pool.
nodeLabels Map<String>
A map of Kubernetes Labels applied to each Node in this Node Pool.
nodePublicIpEnabled Boolean
Do nodes in this Node Pool have a Public IP Address?
nodePublicIpPrefixId String
Resource ID for the Public IP Addresses Prefix for the nodes in this Agent Pool.
nodeTaints List<String>
A map of Kubernetes Taints applied to each Node in this Node Pool.
orchestratorVersion String
The version of Kubernetes configured on each Node in this Node Pool.
osDiskSizeGb Number
The size of the OS Disk on each Node in this Node Pool.
osDiskType String
The type of the OS Disk on each Node in this Node Pool.
osType String
The operating system used on each Node in this Node Pool.
priority String
The priority of the Virtual Machines in the Virtual Machine Scale Set backing this Node Pool.
proximityPlacementGroupId String
The ID of the Proximity Placement Group where the Virtual Machine Scale Set backing this Node Pool will be placed.
resourceGroupName String
spotMaxPrice Number
The maximum price being paid for Virtual Machines in this Scale Set. -1 means the current on-demand price for a Virtual Machine.
tags Map<String>
A mapping of tags assigned to the Kubernetes Cluster Node Pool.
upgradeSettings List<Property Map>
A upgrade_settings block as documented below.
vmSize String
The size of the Virtual Machines used in the Virtual Machine Scale Set backing this Node Pool.
vnetSubnetId String
The ID of the Subnet in which this Node Pool exists.
zones List<String>
A list of the Availability Zones where the Nodes in this Node Pool exist.

Supporting Types

GetClusterNodePoolUpgradeSetting

DrainTimeoutInMinutes This property is required. 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.
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.
NodeSoakDurationInMinutes This property is required. int
The amount of time in minutes to wait after draining a node and before reimaging it and moving on to next node.
DrainTimeoutInMinutes This property is required. 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.
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.
NodeSoakDurationInMinutes This property is required. int
The amount of time in minutes to wait after draining a node and before reimaging it and moving on to next node.
drainTimeoutInMinutes This property is required. 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.
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.
nodeSoakDurationInMinutes This property is required. Integer
The amount of time in minutes to wait after draining a node and before reimaging it and moving on to next node.
drainTimeoutInMinutes This property is required. 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.
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.
nodeSoakDurationInMinutes This property is required. number
The amount of time in minutes to wait after draining a node and before reimaging it and moving on to next node.
drain_timeout_in_minutes This property is required. 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.
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.
node_soak_duration_in_minutes This property is required. int
The amount of time in minutes to wait after draining a node and before reimaging it and moving on to next node.
drainTimeoutInMinutes This property is required. 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.
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.
nodeSoakDurationInMinutes This property is required. Number
The amount of time in minutes to wait after draining a node and before reimaging it and moving on to next node.

Package Details

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

We recommend using Azure Native.

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